From 70949aa0c6de95ed7814e97061a81aa1e27bcf80 Mon Sep 17 00:00:00 2001 From: Timur Doumler Date: Wed, 6 Apr 2016 18:31:24 +0100 Subject: [PATCH] Added several new features: support for AudioUnit v3, new simplified JUCE module format, deleted the Introjucer and replaced it by the Projucer, various improvements for exporting of iOS and Android projects. --- .gitignore | 1 + ChangeList.txt | 26 +- README.txt | 32 +- examples/AUv3Synth/AUv3Synth.jucer | 93 + .../Builds/MacOSX/AUv3Synth.entitlements | 1 + .../AUv3Synth.xcodeproj/project.pbxproj | 2642 ++++++++ .../MacOSX/Info-AUv3_AppExtension.plist | 64 + .../Builds/MacOSX/Info-AUv3_Standalone.plist | 29 + .../Builds/MacOSX/Info-Shared_Code.plist | 29 + .../AUv3Synth/Builds/MacOSX/Info-VST.plist | 29 + .../AUv3Synth/Builds/MacOSX/Info-VST3.plist | 29 + .../Builds/MacOSX/RecentFilesMenuTemplate.nib | Bin .../iOS/AUv3Synth.xcodeproj/project.pbxproj | 2412 +++++++ .../AppIcon.appiconset/Contents.json | 128 + .../LaunchImage.launchimage/Contents.json | 57 + .../LaunchImage-ipad-landscape-1x.png | Bin 0 -> 4904 bytes .../LaunchImage-ipad-landscape-2x.png | Bin 0 -> 15969 bytes .../LaunchImage-ipad-portrait-1x.png | Bin 0 -> 5350 bytes .../LaunchImage-ipad-portrait-2x.png | Bin 0 -> 16897 bytes .../LaunchImage-iphone-2x.png | Bin 0 -> 4542 bytes .../LaunchImage-iphone-retina4.png | Bin 0 -> 5356 bytes .../Builds/iOS/Info-AUv3_AppExtension.plist | 64 + .../Builds/iOS/Info-AUv3_Standalone.plist | 43 + .../Builds/iOS/Info-Shared_Code.plist | 43 + .../JuceLibraryCode/AppConfig.h | 94 +- .../AUv3Synth/JuceLibraryCode/BinaryData.cpp | 315 + .../AUv3Synth/JuceLibraryCode/BinaryData.h | 29 + .../AUv3Synth/JuceLibraryCode/JuceHeader.h | 48 + .../JuceLibraryCode/ReadMe.txt | 6 +- .../JuceLibraryCode/juce_audio_basics.cpp | 9 + .../JuceLibraryCode/juce_audio_basics.mm | 9 + .../JuceLibraryCode/juce_audio_devices.cpp | 9 + .../JuceLibraryCode/juce_audio_devices.mm | 9 + .../JuceLibraryCode/juce_audio_formats.cpp | 9 + .../JuceLibraryCode/juce_audio_formats.mm | 9 + .../juce_audio_plugin_client_AAX.cpp | 9 + .../juce_audio_plugin_client_AAX.mm | 9 + .../juce_audio_plugin_client_AU_1.mm | 9 + .../juce_audio_plugin_client_AU_2.mm | 9 + .../juce_audio_plugin_client_AUv3.mm | 9 + .../juce_audio_plugin_client_RTAS_1.cpp | 9 + .../juce_audio_plugin_client_RTAS_2.cpp | 9 + .../juce_audio_plugin_client_RTAS_3.cpp | 9 + .../juce_audio_plugin_client_RTAS_4.cpp | 9 + .../juce_audio_plugin_client_RTAS_utils.cpp | 9 + .../juce_audio_plugin_client_RTAS_utils.mm | 9 + .../juce_audio_plugin_client_Standalone.cpp | 9 + .../juce_audio_plugin_client_VST2.cpp | 9 + .../juce_audio_plugin_client_VST3.cpp | 9 + .../juce_audio_plugin_client_VST_utils.mm | 9 + .../juce_audio_plugin_client_utils.cpp | 9 + .../JuceLibraryCode/juce_audio_processors.cpp | 9 + .../JuceLibraryCode/juce_audio_processors.mm | 9 + .../JuceLibraryCode/juce_audio_utils.cpp | 9 + .../JuceLibraryCode/juce_audio_utils.mm | 9 + .../AUv3Synth/JuceLibraryCode/juce_core.cpp | 9 + .../AUv3Synth/JuceLibraryCode/juce_core.mm | 9 + .../JuceLibraryCode/juce_data_structures.cpp | 9 + .../JuceLibraryCode/juce_data_structures.mm | 9 + .../AUv3Synth/JuceLibraryCode/juce_events.cpp | 9 + .../AUv3Synth/JuceLibraryCode/juce_events.mm | 9 + .../JuceLibraryCode/juce_graphics.cpp | 9 + .../JuceLibraryCode/juce_graphics.mm | 9 + .../JuceLibraryCode/juce_gui_basics.cpp | 9 + .../JuceLibraryCode/juce_gui_basics.mm | 9 + .../JuceLibraryCode/juce_gui_extra.cpp | 9 + .../JuceLibraryCode/juce_gui_extra.mm | 9 + examples/AUv3Synth/Source/AUv3SynthEditor.h | 142 + .../AUv3Synth/Source/AUv3SynthProcessor.cpp | 172 + .../AUv3Synth/Source/BinaryData/power.png | Bin 0 -> 27122 bytes .../AUv3Synth/Source/BinaryData/proaudio.path | Bin 0 -> 452 bytes .../AUv3Synth/Source/BinaryData/singing.ogg | Bin 0 -> 19215 bytes .../AUv3Synth/Source/MaterialLookAndFeel.h | 133 + .../AnimationAppExample.jucer | 4 +- .../project.pbxproj | 1264 ++-- .../MacOSX/{Info.plist => Info-App.plist} | 2 + .../AnimationAppExample.vcxproj | 1413 +++-- .../AnimationAppExample.vcxproj.filters | 2515 ++++---- .../project.pbxproj | 1244 ++-- .../Builds/iOS/{Info.plist => Info-App.plist} | 7 +- .../JuceLibraryCode/AppConfig.h | 14 +- .../JuceLibraryCode/JuceHeader.h | 28 +- .../JuceLibraryCode/ReadMe.txt | 6 +- .../JuceLibraryCode/juce_audio_basics.cpp | 9 + .../JuceLibraryCode/juce_audio_basics.mm | 9 + .../JuceLibraryCode/juce_audio_devices.cpp | 9 + .../JuceLibraryCode/juce_audio_devices.mm | 9 + .../JuceLibraryCode/juce_audio_formats.cpp | 9 + .../JuceLibraryCode/juce_audio_formats.mm | 9 + .../JuceLibraryCode/juce_audio_processors.cpp | 9 + .../JuceLibraryCode/juce_audio_processors.mm | 9 + .../JuceLibraryCode/juce_core.cpp | 9 + .../JuceLibraryCode/juce_core.mm | 9 + .../JuceLibraryCode/juce_cryptography.cpp | 9 + .../JuceLibraryCode/juce_cryptography.mm | 9 + .../JuceLibraryCode/juce_data_structures.cpp | 9 + .../JuceLibraryCode/juce_data_structures.mm | 9 + .../JuceLibraryCode/juce_events.cpp | 9 + .../JuceLibraryCode/juce_events.mm | 9 + .../JuceLibraryCode/juce_graphics.cpp | 9 + .../JuceLibraryCode/juce_graphics.mm | 9 + .../JuceLibraryCode/juce_gui_basics.cpp | 9 + .../JuceLibraryCode/juce_gui_basics.mm | 9 + .../JuceLibraryCode/juce_gui_extra.cpp | 9 + .../JuceLibraryCode/juce_gui_extra.mm | 9 + .../JuceLibraryCode/juce_opengl.cpp | 9 + .../JuceLibraryCode/juce_opengl.mm | 9 + .../JuceLibraryCode/juce_video.cpp | 9 + .../JuceLibraryCode/juce_video.mm | 9 + .../juce_audio_basics/juce_audio_basics.h | 4 - .../juce_audio_devices/juce_audio_devices.h | 4 - .../juce_audio_formats/juce_audio_formats.h | 4 - .../juce_audio_processors.h | 4 - .../modules/juce_core/juce_core.h | 4 - .../juce_cryptography/juce_cryptography.h | 4 - .../juce_data_structures.h | 4 - .../modules/juce_events/juce_events.h | 4 - .../modules/juce_graphics/juce_graphics.h | 4 - .../modules/juce_gui_basics/juce_gui_basics.h | 4 - .../modules/juce_gui_extra/juce_gui_extra.h | 4 - .../modules/juce_opengl/juce_opengl.h | 4 - .../modules/juce_video/juce_video.h | 4 - examples/AnimationAppExample/Source/Main.cpp | 2 +- .../AudioAppExample/AudioAppExample.jucer | 4 +- .../AudioAppExample.xcodeproj/project.pbxproj | 1236 ++-- .../MacOSX/{Info.plist => Info-App.plist} | 2 + .../VisualStudio2010/AudioAppExample.vcxproj | 1418 +++-- .../AudioAppExample.vcxproj.filters | 2530 ++++---- .../AudioAppExample.xcodeproj/project.pbxproj | 1252 ++-- .../Builds/iOS/{Info.plist => Info-App.plist} | 7 +- .../JuceLibraryCode/AppConfig.h | 14 +- .../JuceLibraryCode/JuceHeader.h | 30 +- .../JuceLibraryCode/ReadMe.txt | 6 +- .../JuceLibraryCode/juce_audio_basics.cpp | 9 + .../JuceLibraryCode/juce_audio_basics.mm | 9 + .../JuceLibraryCode/juce_audio_devices.cpp | 9 + .../JuceLibraryCode/juce_audio_devices.mm | 9 + .../JuceLibraryCode/juce_audio_formats.cpp | 9 + .../JuceLibraryCode/juce_audio_formats.mm | 9 + .../JuceLibraryCode/juce_audio_processors.cpp | 9 + .../JuceLibraryCode/juce_audio_processors.mm | 9 + .../JuceLibraryCode/juce_audio_utils.cpp | 9 + .../JuceLibraryCode/juce_audio_utils.mm | 9 + .../JuceLibraryCode/juce_core.cpp | 9 + .../JuceLibraryCode/juce_core.mm | 9 + .../JuceLibraryCode/juce_cryptography.cpp | 9 + .../JuceLibraryCode/juce_cryptography.mm | 9 + .../JuceLibraryCode/juce_data_structures.cpp | 9 + .../JuceLibraryCode/juce_data_structures.mm | 9 + .../JuceLibraryCode/juce_events.cpp | 9 + .../JuceLibraryCode/juce_events.mm | 9 + .../JuceLibraryCode/juce_graphics.cpp | 9 + .../JuceLibraryCode/juce_graphics.mm | 9 + .../JuceLibraryCode/juce_gui_basics.cpp | 9 + .../JuceLibraryCode/juce_gui_basics.mm | 9 + .../JuceLibraryCode/juce_gui_extra.cpp | 9 + .../JuceLibraryCode/juce_gui_extra.mm | 9 + .../JuceLibraryCode/juce_opengl.cpp | 9 + .../JuceLibraryCode/juce_opengl.mm | 9 + .../JuceLibraryCode/juce_video.cpp | 9 + .../JuceLibraryCode/juce_video.mm | 9 + .../juce_audio_basics/juce_audio_basics.h | 4 - .../juce_audio_devices/juce_audio_devices.h | 4 - .../juce_audio_formats/juce_audio_formats.h | 4 - .../juce_audio_processors.h | 4 - .../juce_audio_utils/juce_audio_utils.h | 4 - .../modules/juce_core/juce_core.h | 4 - .../juce_cryptography/juce_cryptography.h | 4 - .../juce_data_structures.h | 4 - .../modules/juce_events/juce_events.h | 4 - .../modules/juce_graphics/juce_graphics.h | 4 - .../modules/juce_gui_basics/juce_gui_basics.h | 4 - .../modules/juce_gui_extra/juce_gui_extra.h | 4 - .../modules/juce_opengl/juce_opengl.h | 4 - .../modules/juce_video/juce_video.h | 4 - examples/AudioAppExample/Source/Main.cpp | 2 +- .../AudioAppExample/Source/MainComponent.cpp | 4 +- .../BouncingBallWavetableDemo.jucer | 2 +- .../Builds/Linux/Makefile | 56 +- .../project.pbxproj | 1208 ++-- .../MacOSX/{Info.plist => Info-App.plist} | 2 + .../BouncingBallWavetableDemo.vcxproj | 1393 ++--- .../BouncingBallWavetableDemo.vcxproj.filters | 2447 ++++---- .../JuceLibraryCode/AppConfig.h | 14 +- .../JuceLibraryCode/JuceHeader.h | 28 +- .../JuceLibraryCode/ReadMe.txt | 6 +- .../JuceLibraryCode/juce_audio_basics.cpp | 9 + .../JuceLibraryCode/juce_audio_basics.mm | 9 + .../JuceLibraryCode/juce_audio_devices.cpp | 9 + .../JuceLibraryCode/juce_audio_devices.mm | 9 + .../JuceLibraryCode/juce_audio_formats.cpp | 9 + .../JuceLibraryCode/juce_audio_formats.mm | 9 + .../JuceLibraryCode/juce_audio_processors.cpp | 9 + .../JuceLibraryCode/juce_audio_processors.mm | 9 + .../JuceLibraryCode/juce_audio_utils.cpp | 9 + .../JuceLibraryCode/juce_audio_utils.mm | 9 + .../JuceLibraryCode/juce_core.cpp | 9 + .../JuceLibraryCode/juce_core.mm | 9 + .../JuceLibraryCode/juce_cryptography.cpp | 9 + .../JuceLibraryCode/juce_cryptography.mm | 9 + .../JuceLibraryCode/juce_data_structures.cpp | 9 + .../JuceLibraryCode/juce_data_structures.mm | 9 + .../JuceLibraryCode/juce_events.cpp | 9 + .../JuceLibraryCode/juce_events.mm | 9 + .../JuceLibraryCode/juce_graphics.cpp | 9 + .../JuceLibraryCode/juce_graphics.mm | 9 + .../JuceLibraryCode/juce_gui_basics.cpp | 9 + .../JuceLibraryCode/juce_gui_basics.mm | 9 + .../JuceLibraryCode/juce_gui_extra.cpp | 9 + .../JuceLibraryCode/juce_gui_extra.mm | 9 + .../JuceLibraryCode/juce_video.cpp | 9 + .../JuceLibraryCode/juce_video.mm | 9 + .../juce_audio_basics/juce_audio_basics.h | 4 - .../juce_audio_devices/juce_audio_devices.h | 4 - .../juce_audio_formats/juce_audio_formats.h | 4 - .../juce_audio_processors.h | 4 - .../juce_audio_utils/juce_audio_utils.h | 4 - .../modules/juce_core/juce_core.h | 4 - .../juce_cryptography/juce_cryptography.h | 4 - .../juce_data_structures.h | 4 - .../modules/juce_events/juce_events.h | 4 - .../modules/juce_graphics/juce_graphics.h | 4 - .../modules/juce_gui_basics/juce_gui_basics.h | 4 - .../modules/juce_gui_extra/juce_gui_extra.h | 4 - .../modules/juce_video/juce_video.h | 4 - .../BouncingBallWavetableDemo/Source/Main.cpp | 2 +- .../Source/MainComponent.cpp | 4 +- .../project.pbxproj | 992 ++- .../MacOSX/{Info.plist => Info-App.plist} | 2 + .../ComponentTutorialExample.vcxproj | 1220 ++-- .../ComponentTutorialExample.vcxproj.filters | 2154 ++++--- .../ComponentTutorialExample.vcxproj | 1220 ++-- .../ComponentTutorialExample.vcxproj.filters | 2154 ++++--- .../ComponentTutorialExample.jucer | 2 +- .../JuceLibraryCode/AppConfig.h | 14 +- .../JuceLibraryCode/JuceHeader.h | 14 +- .../JuceLibraryCode/ReadMe.txt | 6 +- .../JuceLibraryCode/juce_core.cpp | 9 + .../JuceLibraryCode/juce_core.mm | 9 + .../JuceLibraryCode/juce_data_structures.cpp | 9 + .../JuceLibraryCode/juce_data_structures.mm | 9 + .../JuceLibraryCode/juce_events.cpp | 9 + .../JuceLibraryCode/juce_events.mm | 9 + .../JuceLibraryCode/juce_graphics.cpp | 9 + .../JuceLibraryCode/juce_graphics.mm | 9 + .../JuceLibraryCode/juce_gui_basics.cpp | 9 + .../JuceLibraryCode/juce_gui_basics.mm | 9 + .../JuceLibraryCode/juce_gui_extra.cpp | 9 + .../JuceLibraryCode/juce_gui_extra.mm | 9 + .../modules/juce_core/juce_core.h | 4 - .../juce_data_structures.h | 4 - .../modules/juce_events/juce_events.h | 4 - .../modules/juce_graphics/juce_graphics.h | 4 - .../modules/juce_gui_basics/juce_gui_basics.h | 4 - .../modules/juce_gui_extra/juce_gui_extra.h | 4 - .../ComponentTutorialExample/Source/Main.cpp | 2 +- examples/Demo/Builds/Android/jni/Android.mk | 42 +- .../Demo/Builds/Android/jni/Application.mk | 6 +- examples/Demo/Builds/Android/local.properties | 2 +- .../Builds/Android/res/drawable-mdpi/icon.png | Bin 44820 -> 44823 bytes examples/Demo/Builds/Linux/Makefile | 64 +- examples/Demo/Builds/MacOSX/Icon.icns | Bin 44836 -> 44839 bytes .../MacOSX/{Info.plist => Info-App.plist} | 2 + .../MacOSX/JuceDemo.xcodeproj/project.pbxproj | 1264 ++-- .../Builds/VisualStudio2010/JuceDemo.vcxproj | 1423 +++-- .../VisualStudio2010/JuceDemo.vcxproj.filters | 2535 ++++---- .../Demo/Builds/VisualStudio2010/icon.ico | Bin 33550 -> 33530 bytes .../Builds/VisualStudio2012/JuceDemo.vcxproj | 1423 +++-- .../VisualStudio2012/JuceDemo.vcxproj.filters | 2535 ++++---- .../Demo/Builds/VisualStudio2012/icon.ico | Bin 33550 -> 33530 bytes .../Builds/VisualStudio2013/JuceDemo.vcxproj | 1423 +++-- .../VisualStudio2013/JuceDemo.vcxproj.filters | 2535 ++++---- .../Demo/Builds/VisualStudio2013/icon.ico | Bin 33550 -> 33530 bytes .../Builds/VisualStudio2015/JuceDemo.vcxproj | 1423 +++-- .../VisualStudio2015/JuceDemo.vcxproj.filters | 2535 ++++---- .../Demo/Builds/VisualStudio2015/icon.ico | Bin 33550 -> 33530 bytes examples/Demo/Builds/iOS/Icon.icns | Bin 44836 -> 44839 bytes .../Builds/iOS/{Info.plist => Info-App.plist} | 7 +- .../iOS/JuceDemo.xcodeproj/project.pbxproj | 1256 ++-- .../AppIcon.appiconset/Icon-29.png | Bin 1896 -> 1896 bytes .../AppIcon.appiconset/Icon-29@2x.png | Bin 4596 -> 4599 bytes .../AppIcon.appiconset/Icon-29@3x.png | Bin 6999 -> 7006 bytes .../AppIcon.appiconset/Icon-60@2x.png | Bin 10980 -> 10946 bytes .../AppIcon.appiconset/Icon-72.png | Bin 4864 -> 4859 bytes .../AppIcon.appiconset/Icon-72@2x.png | Bin 10311 -> 10302 bytes .../AppIcon.appiconset/Icon-76.png | Bin 5558 -> 5556 bytes .../AppIcon.appiconset/Icon-76@2x.png | Bin 11395 -> 11373 bytes .../AppIcon.appiconset/Icon-83.5@2x.png | Bin 13512 -> 13506 bytes .../AppIcon.appiconset/Icon-@3x.png | Bin 15442 -> 15434 bytes .../AppIcon.appiconset/Icon-Small-1.png | Bin 1896 -> 1896 bytes .../AppIcon.appiconset/Icon-Small-50.png | Bin 3628 -> 3630 bytes .../AppIcon.appiconset/Icon-Small-50@2x.png | Bin 8693 -> 8685 bytes .../AppIcon.appiconset/Icon-Small@2x-1.png | Bin 4596 -> 4599 bytes .../AppIcon.appiconset/Icon-Spotlight-40.png | Bin 2453 -> 2452 bytes .../Icon-Spotlight-40@2x-1.png | Bin 5454 -> 5453 bytes .../Icon-Spotlight-40@2x.png | Bin 5454 -> 5453 bytes .../Icon-Spotlight-40@3x.png | Bin 10980 -> 10946 bytes .../AppIcon.appiconset/Icon.png | Bin 4434 -> 4433 bytes .../AppIcon.appiconset/Icon@2x.png | Bin 10319 -> 10317 bytes examples/Demo/JuceDemo.jucer | 16 +- examples/Demo/JuceLibraryCode/AppConfig.h | 18 +- examples/Demo/JuceLibraryCode/JuceHeader.h | 32 +- examples/Demo/JuceLibraryCode/ReadMe.txt | 6 +- .../JuceLibraryCode/juce_audio_basics.cpp | 9 + .../Demo/JuceLibraryCode/juce_audio_basics.mm | 9 + .../JuceLibraryCode/juce_audio_devices.cpp | 9 + .../JuceLibraryCode/juce_audio_devices.mm | 9 + .../JuceLibraryCode/juce_audio_formats.cpp | 9 + .../JuceLibraryCode/juce_audio_formats.mm | 9 + .../JuceLibraryCode/juce_audio_processors.cpp | 9 + .../JuceLibraryCode/juce_audio_processors.mm | 9 + .../Demo/JuceLibraryCode/juce_audio_utils.cpp | 9 + .../Demo/JuceLibraryCode/juce_audio_utils.mm | 9 + examples/Demo/JuceLibraryCode/juce_box2d.cpp | 9 + examples/Demo/JuceLibraryCode/juce_core.cpp | 9 + examples/Demo/JuceLibraryCode/juce_core.mm | 9 + .../JuceLibraryCode/juce_cryptography.cpp | 9 + .../Demo/JuceLibraryCode/juce_cryptography.mm | 9 + .../JuceLibraryCode/juce_data_structures.cpp | 9 + .../JuceLibraryCode/juce_data_structures.mm | 9 + examples/Demo/JuceLibraryCode/juce_events.cpp | 9 + examples/Demo/JuceLibraryCode/juce_events.mm | 9 + .../Demo/JuceLibraryCode/juce_graphics.cpp | 9 + .../Demo/JuceLibraryCode/juce_graphics.mm | 9 + .../Demo/JuceLibraryCode/juce_gui_basics.cpp | 9 + .../Demo/JuceLibraryCode/juce_gui_basics.mm | 9 + .../Demo/JuceLibraryCode/juce_gui_extra.cpp | 9 + .../Demo/JuceLibraryCode/juce_gui_extra.mm | 9 + examples/Demo/JuceLibraryCode/juce_opengl.cpp | 9 + examples/Demo/JuceLibraryCode/juce_opengl.mm | 9 + examples/Demo/JuceLibraryCode/juce_video.cpp | 9 + examples/Demo/JuceLibraryCode/juce_video.mm | 9 + .../juce_audio_basics/juce_audio_basics.h | 4 - .../juce_audio_devices/juce_audio_devices.h | 4 - .../juce_audio_formats/juce_audio_formats.h | 4 - .../juce_audio_processors.h | 4 - .../juce_audio_utils/juce_audio_utils.h | 4 - .../modules/juce_box2d/juce_box2d.h | 4 - .../modules/juce_core/juce_core.h | 4 - .../juce_cryptography/juce_cryptography.h | 4 - .../juce_data_structures.h | 4 - .../modules/juce_events/juce_events.h | 4 - .../modules/juce_graphics/juce_graphics.h | 4 - .../modules/juce_gui_basics/juce_gui_basics.h | 4 - .../modules/juce_gui_extra/juce_gui_extra.h | 4 - .../modules/juce_opengl/juce_opengl.h | 4 - .../modules/juce_video/juce_video.h | 4 - examples/Demo/Source/Demos/CodeEditorDemo.cpp | 2 +- examples/Demo/Source/Demos/MidiDemo.cpp | 2 +- examples/HelloWorld/Builds/Linux/Makefile | 28 +- .../HelloWorld.xcodeproj/project.pbxproj | 980 ++- .../MacOSX/{Info.plist => Info-App.plist} | 2 + .../VisualStudio2010/HelloWorld.vcxproj | 1220 ++-- .../HelloWorld.vcxproj.filters | 2154 ++++--- .../VisualStudio2015/HelloWorld.vcxproj | 1220 ++-- .../HelloWorld.vcxproj.filters | 2154 ++++--- .../iOS/HelloWorld.xcodeproj/project.pbxproj | 976 ++- .../Builds/iOS/{Info.plist => Info-App.plist} | 7 +- examples/HelloWorld/HelloWorld.jucer | 14 +- .../HelloWorld/JuceLibraryCode/AppConfig.h | 14 +- .../HelloWorld/JuceLibraryCode/JuceHeader.h | 14 +- .../HelloWorld/JuceLibraryCode/ReadMe.txt | 6 +- .../HelloWorld/JuceLibraryCode/juce_core.cpp | 9 + .../HelloWorld/JuceLibraryCode/juce_core.mm | 9 + .../JuceLibraryCode/juce_data_structures.cpp | 9 + .../JuceLibraryCode/juce_data_structures.mm | 9 + .../JuceLibraryCode/juce_events.cpp | 9 + .../HelloWorld/JuceLibraryCode/juce_events.mm | 9 + .../JuceLibraryCode/juce_graphics.cpp | 9 + .../JuceLibraryCode/juce_graphics.mm | 9 + .../JuceLibraryCode/juce_gui_basics.cpp | 9 + .../JuceLibraryCode/juce_gui_basics.mm | 9 + .../JuceLibraryCode/juce_gui_extra.cpp | 9 + .../JuceLibraryCode/juce_gui_extra.mm | 9 + .../modules/juce_core/juce_core.h | 4 - .../juce_data_structures.h | 4 - .../modules/juce_events/juce_events.h | 4 - .../modules/juce_graphics/juce_graphics.h | 4 - .../modules/juce_gui_basics/juce_gui_basics.h | 4 - .../modules/juce_gui_extra/juce_gui_extra.h | 4 - examples/HelloWorld/Source/MainComponent.cpp | 10 +- examples/HelloWorld/Source/MainComponent.h | 6 +- examples/HelloWorld/readme.txt | 5 - .../MPETest/Builds/LinuxMakefile/Makefile | 60 +- examples/MPETest/Builds/MacOSX/Info-App.plist | 29 + .../MacOSX/MPETest.xcodeproj/project.pbxproj | 1244 ++-- .../Builds/VisualStudio2015/MPETest.vcxproj | 1418 +++-- .../VisualStudio2015/MPETest.vcxproj.filters | 2530 ++++---- examples/MPETest/JuceLibraryCode/AppConfig.h | 14 +- examples/MPETest/JuceLibraryCode/JuceHeader.h | 30 +- examples/MPETest/JuceLibraryCode/ReadMe.txt | 6 +- .../JuceLibraryCode/juce_audio_basics.cpp | 9 + .../JuceLibraryCode/juce_audio_basics.mm | 9 + .../JuceLibraryCode/juce_audio_devices.cpp | 9 + .../JuceLibraryCode/juce_audio_devices.mm | 9 + .../JuceLibraryCode/juce_audio_formats.cpp | 9 + .../JuceLibraryCode/juce_audio_formats.mm | 9 + .../JuceLibraryCode/juce_audio_processors.cpp | 9 + .../JuceLibraryCode/juce_audio_processors.mm | 9 + .../JuceLibraryCode/juce_audio_utils.cpp | 9 + .../JuceLibraryCode/juce_audio_utils.mm | 9 + .../MPETest/JuceLibraryCode/juce_core.cpp | 9 + examples/MPETest/JuceLibraryCode/juce_core.mm | 9 + .../JuceLibraryCode/juce_cryptography.cpp | 9 + .../JuceLibraryCode/juce_cryptography.mm | 9 + .../JuceLibraryCode/juce_data_structures.cpp | 9 + .../JuceLibraryCode/juce_data_structures.mm | 9 + .../MPETest/JuceLibraryCode/juce_events.cpp | 9 + .../MPETest/JuceLibraryCode/juce_events.mm | 9 + .../MPETest/JuceLibraryCode/juce_graphics.cpp | 9 + .../MPETest/JuceLibraryCode/juce_graphics.mm | 9 + .../JuceLibraryCode/juce_gui_basics.cpp | 9 + .../JuceLibraryCode/juce_gui_basics.mm | 9 + .../JuceLibraryCode/juce_gui_extra.cpp | 9 + .../MPETest/JuceLibraryCode/juce_gui_extra.mm | 9 + .../MPETest/JuceLibraryCode/juce_opengl.cpp | 9 + .../MPETest/JuceLibraryCode/juce_opengl.mm | 9 + .../MPETest/JuceLibraryCode/juce_video.cpp | 9 + .../MPETest/JuceLibraryCode/juce_video.mm | 9 + .../juce_audio_basics/juce_audio_basics.h | 4 - .../juce_audio_devices/juce_audio_devices.h | 4 - .../juce_audio_formats/juce_audio_formats.h | 4 - .../juce_audio_processors.h | 4 - .../juce_audio_utils/juce_audio_utils.h | 4 - .../modules/juce_core/juce_core.h | 4 - .../juce_cryptography/juce_cryptography.h | 4 - .../juce_data_structures.h | 4 - .../modules/juce_events/juce_events.h | 4 - .../modules/juce_graphics/juce_graphics.h | 4 - .../modules/juce_gui_basics/juce_gui_basics.h | 4 - .../modules/juce_gui_extra/juce_gui_extra.h | 4 - .../modules/juce_opengl/juce_opengl.h | 4 - .../modules/juce_video/juce_video.h | 4 - examples/MPETest/MPETest.jucer | 2 +- examples/MPETest/Source/MPEDemoSynthVoice.h | 12 +- examples/MPETest/Source/MPESetupComponent.h | 30 +- examples/MPETest/Source/Main.cpp | 8 +- examples/MPETest/Source/MainComponent.h | 12 +- examples/MPETest/Source/Visualiser.h | 28 +- examples/MPETest/Source/ZoneColourPicker.h | 10 +- examples/MPETest/Source/ZoneLayoutComponent.h | 20 +- .../MidiTest/Builds/LinuxMakefile/Makefile | 48 +- .../MacOSX/{Info.plist => Info-App.plist} | 2 + .../MacOSX/MidiTest.xcodeproj/project.pbxproj | 1180 ++-- .../Builds/VisualStudio2013/MidiTest.sln | 19 - .../Builds/VisualStudio2013/MidiTest.vcxproj | 1666 ----- .../VisualStudio2013/MidiTest.vcxproj.filters | 2801 --------- .../Builds/VisualStudio2013/resources.rc | 29 - .../Builds/VisualStudio2015/MidiTest.vcxproj | 1359 ++-- .../VisualStudio2015/MidiTest.vcxproj.filters | 2425 ++++--- .../Builds/iOS/{Info.plist => Info-App.plist} | 7 +- .../iOS/MidiTest.xcodeproj/project.pbxproj | 1172 ++-- examples/MidiTest/JuceLibraryCode/AppConfig.h | 14 +- .../MidiTest/JuceLibraryCode/JuceHeader.h | 24 +- examples/MidiTest/JuceLibraryCode/ReadMe.txt | 6 +- .../JuceLibraryCode/juce_audio_basics.cpp | 9 + .../JuceLibraryCode/juce_audio_basics.mm | 9 + .../JuceLibraryCode/juce_audio_devices.cpp | 9 + .../JuceLibraryCode/juce_audio_devices.mm | 9 + .../JuceLibraryCode/juce_audio_formats.cpp | 9 + .../JuceLibraryCode/juce_audio_formats.mm | 9 + .../JuceLibraryCode/juce_audio_processors.cpp | 9 + .../JuceLibraryCode/juce_audio_processors.mm | 9 + .../JuceLibraryCode/juce_audio_utils.cpp | 9 + .../JuceLibraryCode/juce_audio_utils.mm | 9 + .../MidiTest/JuceLibraryCode/juce_core.cpp | 9 + .../MidiTest/JuceLibraryCode/juce_core.mm | 9 + .../JuceLibraryCode/juce_data_structures.cpp | 9 + .../JuceLibraryCode/juce_data_structures.mm | 9 + .../MidiTest/JuceLibraryCode/juce_events.cpp | 9 + .../MidiTest/JuceLibraryCode/juce_events.mm | 9 + .../JuceLibraryCode/juce_graphics.cpp | 9 + .../MidiTest/JuceLibraryCode/juce_graphics.mm | 9 + .../JuceLibraryCode/juce_gui_basics.cpp | 9 + .../JuceLibraryCode/juce_gui_basics.mm | 9 + .../JuceLibraryCode/juce_gui_extra.cpp | 9 + .../JuceLibraryCode/juce_gui_extra.mm | 9 + .../juce_audio_basics/juce_audio_basics.h | 4 - .../juce_audio_devices/juce_audio_devices.h | 4 - .../juce_audio_formats/juce_audio_formats.h | 4 - .../juce_audio_processors.h | 4 - .../juce_audio_utils/juce_audio_utils.h | 4 - .../modules/juce_core/juce_core.h | 4 - .../juce_data_structures.h | 4 - .../modules/juce_events/juce_events.h | 4 - .../modules/juce_graphics/juce_graphics.h | 4 - .../modules/juce_gui_basics/juce_gui_basics.h | 4 - .../modules/juce_gui_extra/juce_gui_extra.h | 4 - examples/MidiTest/MidiTest.jucer | 8 +- examples/MidiTest/Source/Main.cpp | 8 +- examples/MidiTest/Source/MainComponent.cpp | 12 +- examples/MidiTest/Source/MainComponent.h | 14 +- .../Builds/LinuxMakefile/Makefile | 60 +- .../Builds/MacOSX/Icon.icns | Bin 44836 -> 44839 bytes .../MacOSX/{Info.plist => Info-App.plist} | 2 + .../project.pbxproj | 1244 ++-- .../JUCE Network Graphics Demo.vcxproj | 1414 +++-- ...JUCE Network Graphics Demo.vcxproj.filters | 2516 ++++---- .../Builds/VisualStudio2013/icon.ico | Bin 33550 -> 33530 bytes .../NetworkGraphicsDemo/Builds/iOS/Icon.icns | Bin 44836 -> 44839 bytes .../Builds/iOS/{Info.plist => Info-App.plist} | 7 +- .../project.pbxproj | 1226 ++-- .../AppIcon.appiconset/Icon-29.png | Bin 1896 -> 1896 bytes .../AppIcon.appiconset/Icon-29@2x.png | Bin 4596 -> 4599 bytes .../AppIcon.appiconset/Icon-29@3x.png | Bin 6999 -> 7006 bytes .../AppIcon.appiconset/Icon-60@2x.png | Bin 10980 -> 10946 bytes .../AppIcon.appiconset/Icon-72.png | Bin 4864 -> 4859 bytes .../AppIcon.appiconset/Icon-72@2x.png | Bin 10311 -> 10302 bytes .../AppIcon.appiconset/Icon-76.png | Bin 5558 -> 5556 bytes .../AppIcon.appiconset/Icon-76@2x.png | Bin 11395 -> 11373 bytes .../AppIcon.appiconset/Icon-83.5@2x.png | Bin 13512 -> 13506 bytes .../AppIcon.appiconset/Icon-@3x.png | Bin 15442 -> 15434 bytes .../AppIcon.appiconset/Icon-Small-1.png | Bin 1896 -> 1896 bytes .../AppIcon.appiconset/Icon-Small-50.png | Bin 3628 -> 3630 bytes .../AppIcon.appiconset/Icon-Small-50@2x.png | Bin 8693 -> 8685 bytes .../AppIcon.appiconset/Icon-Small.png | Bin 1896 -> 0 bytes .../AppIcon.appiconset/Icon-Small@2x-1.png | Bin 4596 -> 4599 bytes .../AppIcon.appiconset/Icon-Small@2x.png | Bin 4596 -> 0 bytes .../AppIcon.appiconset/Icon-Small@3x.png | Bin 6999 -> 0 bytes .../AppIcon.appiconset/Icon-Spotlight-40.png | Bin 2453 -> 2452 bytes .../Icon-Spotlight-40@2x-1.png | Bin 5454 -> 5453 bytes .../Icon-Spotlight-40@2x.png | Bin 5454 -> 5453 bytes .../Icon-Spotlight-40@3x.png | Bin 10980 -> 10946 bytes .../AppIcon.appiconset/Icon.png | Bin 4434 -> 4433 bytes .../AppIcon.appiconset/Icon@2x.png | Bin 10319 -> 10317 bytes .../JuceLibraryCode/AppConfig.h | 14 +- .../JuceLibraryCode/JuceHeader.h | 30 +- .../JuceLibraryCode/ReadMe.txt | 6 +- .../JuceLibraryCode/juce_audio_basics.cpp | 9 + .../JuceLibraryCode/juce_audio_basics.mm | 9 + .../JuceLibraryCode/juce_audio_devices.cpp | 9 + .../JuceLibraryCode/juce_audio_devices.mm | 9 + .../JuceLibraryCode/juce_audio_formats.cpp | 9 + .../JuceLibraryCode/juce_audio_formats.mm | 9 + .../JuceLibraryCode/juce_audio_processors.cpp | 9 + .../JuceLibraryCode/juce_audio_processors.mm | 9 + .../JuceLibraryCode/juce_audio_utils.cpp | 9 + .../JuceLibraryCode/juce_audio_utils.mm | 9 + .../JuceLibraryCode/juce_core.cpp | 9 + .../JuceLibraryCode/juce_core.mm | 9 + .../JuceLibraryCode/juce_cryptography.cpp | 9 + .../JuceLibraryCode/juce_cryptography.mm | 9 + .../JuceLibraryCode/juce_data_structures.cpp | 9 + .../JuceLibraryCode/juce_data_structures.mm | 9 + .../JuceLibraryCode/juce_events.cpp | 9 + .../JuceLibraryCode/juce_events.mm | 9 + .../JuceLibraryCode/juce_graphics.cpp | 9 + .../JuceLibraryCode/juce_graphics.mm | 9 + .../JuceLibraryCode/juce_gui_basics.cpp | 9 + .../JuceLibraryCode/juce_gui_basics.mm | 9 + .../JuceLibraryCode/juce_gui_extra.cpp | 9 + .../JuceLibraryCode/juce_gui_extra.mm | 9 + .../JuceLibraryCode/juce_opengl.cpp | 9 + .../JuceLibraryCode/juce_opengl.mm | 9 + .../JuceLibraryCode/juce_osc.cpp | 9 + .../juce_audio_basics/juce_audio_basics.h | 4 - .../juce_audio_devices/juce_audio_devices.h | 4 - .../juce_audio_formats/juce_audio_formats.h | 4 - .../juce_audio_processors.h | 4 - .../juce_audio_utils/juce_audio_utils.h | 4 - .../modules/juce_core/juce_core.h | 4 - .../juce_cryptography/juce_cryptography.h | 4 - .../juce_data_structures.h | 4 - .../modules/juce_events/juce_events.h | 4 - .../modules/juce_graphics/juce_graphics.h | 4 - .../modules/juce_gui_basics/juce_gui_basics.h | 4 - .../modules/juce_gui_extra/juce_gui_extra.h | 4 - .../modules/juce_opengl/juce_opengl.h | 4 - .../modules/juce_osc/juce_osc.h | 4 - .../NetworkGraphicsDemo.jucer | 8 +- .../Source/MasterComponent.h | 10 +- .../Source/SlaveComponent.h | 4 +- .../OSCMonitor/Builds/LinuxMakefile/Makefile | 60 +- .../MacOSX/{Info.plist => Info-App.plist} | 2 + .../OSCMonitor.xcodeproj/project.pbxproj | 1236 ++-- .../VisualStudio2015/OSCMonitor.vcxproj | 1416 +++-- .../OSCMonitor.vcxproj.filters | 2520 ++++---- .../OSCMonitor/JuceLibraryCode/AppConfig.h | 14 +- .../OSCMonitor/JuceLibraryCode/JuceHeader.h | 30 +- .../OSCMonitor/JuceLibraryCode/ReadMe.txt | 6 +- .../JuceLibraryCode/juce_audio_basics.cpp | 9 + .../JuceLibraryCode/juce_audio_basics.mm | 9 + .../JuceLibraryCode/juce_audio_devices.cpp | 9 + .../JuceLibraryCode/juce_audio_devices.mm | 9 + .../JuceLibraryCode/juce_audio_formats.cpp | 9 + .../JuceLibraryCode/juce_audio_formats.mm | 9 + .../JuceLibraryCode/juce_audio_processors.cpp | 9 + .../JuceLibraryCode/juce_audio_processors.mm | 9 + .../OSCMonitor/JuceLibraryCode/juce_core.cpp | 9 + .../OSCMonitor/JuceLibraryCode/juce_core.mm | 9 + .../JuceLibraryCode/juce_cryptography.cpp | 9 + .../JuceLibraryCode/juce_cryptography.mm | 9 + .../JuceLibraryCode/juce_data_structures.cpp | 9 + .../JuceLibraryCode/juce_data_structures.mm | 9 + .../JuceLibraryCode/juce_events.cpp | 9 + .../OSCMonitor/JuceLibraryCode/juce_events.mm | 9 + .../JuceLibraryCode/juce_graphics.cpp | 9 + .../JuceLibraryCode/juce_graphics.mm | 9 + .../JuceLibraryCode/juce_gui_basics.cpp | 9 + .../JuceLibraryCode/juce_gui_basics.mm | 9 + .../JuceLibraryCode/juce_gui_extra.cpp | 9 + .../JuceLibraryCode/juce_gui_extra.mm | 9 + .../JuceLibraryCode/juce_opengl.cpp | 9 + .../OSCMonitor/JuceLibraryCode/juce_opengl.mm | 9 + .../OSCMonitor/JuceLibraryCode/juce_osc.cpp | 9 + .../OSCMonitor/JuceLibraryCode/juce_video.cpp | 9 + .../OSCMonitor/JuceLibraryCode/juce_video.mm | 9 + .../juce_audio_basics/juce_audio_basics.h | 4 - .../juce_audio_devices/juce_audio_devices.h | 4 - .../juce_audio_formats/juce_audio_formats.h | 4 - .../juce_audio_processors.h | 4 - .../modules/juce_core/juce_core.h | 4 - .../juce_cryptography/juce_cryptography.h | 4 - .../juce_data_structures.h | 4 - .../modules/juce_events/juce_events.h | 4 - .../modules/juce_graphics/juce_graphics.h | 4 - .../modules/juce_gui_basics/juce_gui_basics.h | 4 - .../modules/juce_gui_extra/juce_gui_extra.h | 4 - .../modules/juce_opengl/juce_opengl.h | 4 - .../modules/juce_osc/juce_osc.h | 4 - .../modules/juce_video/juce_video.h | 4 - examples/OSCMonitor/OSCMonitor.jucer | 2 +- examples/OSCMonitor/Source/Main.cpp | 2 +- examples/OSCMonitor/Source/MainComponent.h | 28 +- .../OSCReceiver/Builds/LinuxMakefile/Makefile | 36 +- .../MacOSX/{Info.plist => Info-App.plist} | 2 + .../OSCReceiver.xcodeproj/project.pbxproj | 1042 ++- .../VisualStudio2015/OSCReceiver.vcxproj | 1252 ++-- .../OSCReceiver.vcxproj.filters | 2164 ++++--- .../Builds/iOS/{Info.plist => Info-App.plist} | 7 +- .../iOS/OSCReceiver.xcodeproj/project.pbxproj | 1012 ++- .../OSCReceiver/JuceLibraryCode/AppConfig.h | 14 +- .../OSCReceiver/JuceLibraryCode/JuceHeader.h | 18 +- .../OSCReceiver/JuceLibraryCode/ReadMe.txt | 6 +- .../OSCReceiver/JuceLibraryCode/juce_core.cpp | 9 + .../OSCReceiver/JuceLibraryCode/juce_core.mm | 9 + .../JuceLibraryCode/juce_cryptography.cpp | 9 + .../JuceLibraryCode/juce_cryptography.mm | 9 + .../JuceLibraryCode/juce_data_structures.cpp | 9 + .../JuceLibraryCode/juce_data_structures.mm | 9 + .../JuceLibraryCode/juce_events.cpp | 9 + .../JuceLibraryCode/juce_events.mm | 9 + .../JuceLibraryCode/juce_graphics.cpp | 9 + .../JuceLibraryCode/juce_graphics.mm | 9 + .../JuceLibraryCode/juce_gui_basics.cpp | 9 + .../JuceLibraryCode/juce_gui_basics.mm | 9 + .../JuceLibraryCode/juce_gui_extra.cpp | 9 + .../JuceLibraryCode/juce_gui_extra.mm | 9 + .../OSCReceiver/JuceLibraryCode/juce_osc.cpp | 9 + .../modules/juce_core/juce_core.h | 4 - .../juce_cryptography/juce_cryptography.h | 4 - .../juce_data_structures.h | 4 - .../modules/juce_events/juce_events.h | 4 - .../modules/juce_graphics/juce_graphics.h | 4 - .../modules/juce_gui_basics/juce_gui_basics.h | 4 - .../modules/juce_gui_extra/juce_gui_extra.h | 4 - .../modules/juce_osc/juce_osc.h | 4 - examples/OSCReceiver/OSCReceiver.jucer | 8 +- examples/OSCReceiver/Source/Main.cpp | 2 +- examples/OSCReceiver/Source/MainComponent.h | 6 +- .../OSCSender/Builds/LinuxMakefile/Makefile | 28 +- .../MacOSX/{Info.plist => Info-App.plist} | 2 + .../OSCSender.xcodeproj/project.pbxproj | 978 ++- .../Builds/VisualStudio2015/OSCSender.vcxproj | 1220 ++-- .../OSCSender.vcxproj.filters | 2154 ++++--- .../Builds/iOS/{Info.plist => Info-App.plist} | 7 +- .../iOS/OSCSender.xcodeproj/project.pbxproj | 976 ++- .../OSCSender/JuceLibraryCode/AppConfig.h | 14 +- .../OSCSender/JuceLibraryCode/JuceHeader.h | 14 +- examples/OSCSender/JuceLibraryCode/ReadMe.txt | 6 +- .../OSCSender/JuceLibraryCode/juce_core.cpp | 9 + .../OSCSender/JuceLibraryCode/juce_core.mm | 9 + .../JuceLibraryCode/juce_data_structures.cpp | 9 + .../JuceLibraryCode/juce_data_structures.mm | 9 + .../OSCSender/JuceLibraryCode/juce_events.cpp | 9 + .../OSCSender/JuceLibraryCode/juce_events.mm | 9 + .../JuceLibraryCode/juce_graphics.cpp | 9 + .../JuceLibraryCode/juce_graphics.mm | 9 + .../JuceLibraryCode/juce_gui_basics.cpp | 9 + .../JuceLibraryCode/juce_gui_basics.mm | 9 + .../OSCSender/JuceLibraryCode/juce_osc.cpp | 9 + .../modules/juce_core/juce_core.h | 4 - .../juce_data_structures.h | 4 - .../modules/juce_events/juce_events.h | 4 - .../modules/juce_graphics/juce_graphics.h | 4 - .../modules/juce_gui_basics/juce_gui_basics.h | 4 - .../modules/juce_osc/juce_osc.h | 4 - examples/OSCSender/OSCSender.jucer | 8 +- examples/OSCSender/Source/Main.cpp | 2 +- examples/OSCSender/Source/MainComponent.h | 6 +- .../MacOSX/{Info.plist => Info-App.plist} | 2 + .../project.pbxproj | 1252 ++-- .../VisualStudio2010/OpenGLAppExample.vcxproj | 1411 +++-- .../OpenGLAppExample.vcxproj.filters | 2513 ++++---- .../Builds/iOS/{Info.plist => Info-App.plist} | 7 +- .../project.pbxproj | 1276 ++-- .../JuceLibraryCode/AppConfig.h | 14 +- .../JuceLibraryCode/JuceHeader.h | 28 +- .../JuceLibraryCode/ReadMe.txt | 6 +- .../JuceLibraryCode/juce_audio_basics.cpp | 9 + .../JuceLibraryCode/juce_audio_basics.mm | 9 + .../JuceLibraryCode/juce_audio_devices.cpp | 9 + .../JuceLibraryCode/juce_audio_devices.mm | 9 + .../JuceLibraryCode/juce_audio_formats.cpp | 9 + .../JuceLibraryCode/juce_audio_formats.mm | 9 + .../JuceLibraryCode/juce_audio_processors.cpp | 9 + .../JuceLibraryCode/juce_audio_processors.mm | 9 + .../JuceLibraryCode/juce_core.cpp | 9 + .../JuceLibraryCode/juce_core.mm | 9 + .../JuceLibraryCode/juce_cryptography.cpp | 9 + .../JuceLibraryCode/juce_cryptography.mm | 9 + .../JuceLibraryCode/juce_data_structures.cpp | 9 + .../JuceLibraryCode/juce_data_structures.mm | 9 + .../JuceLibraryCode/juce_events.cpp | 9 + .../JuceLibraryCode/juce_events.mm | 9 + .../JuceLibraryCode/juce_graphics.cpp | 9 + .../JuceLibraryCode/juce_graphics.mm | 9 + .../JuceLibraryCode/juce_gui_basics.cpp | 9 + .../JuceLibraryCode/juce_gui_basics.mm | 9 + .../JuceLibraryCode/juce_gui_extra.cpp | 9 + .../JuceLibraryCode/juce_gui_extra.mm | 9 + .../JuceLibraryCode/juce_opengl.cpp | 9 + .../JuceLibraryCode/juce_opengl.mm | 9 + .../JuceLibraryCode/juce_video.cpp | 9 + .../JuceLibraryCode/juce_video.mm | 9 + .../juce_audio_basics/juce_audio_basics.h | 4 - .../juce_audio_devices/juce_audio_devices.h | 4 - .../juce_audio_formats/juce_audio_formats.h | 4 - .../juce_audio_processors.h | 4 - .../modules/juce_core/juce_core.h | 4 - .../juce_cryptography/juce_cryptography.h | 4 - .../juce_data_structures.h | 4 - .../modules/juce_events/juce_events.h | 4 - .../modules/juce_graphics/juce_graphics.h | 4 - .../modules/juce_gui_basics/juce_gui_basics.h | 4 - .../modules/juce_gui_extra/juce_gui_extra.h | 4 - .../modules/juce_opengl/juce_opengl.h | 4 - .../modules/juce_video/juce_video.h | 4 - .../OpenGLAppExample/OpenGLAppExample.jucer | 4 +- examples/OpenGLAppExample/Source/Main.cpp | 2 +- .../MacOSX/{Info.plist => Info-App.plist} | 2 + .../project.pbxproj | 1174 ++-- .../PluckedStringsDemo.vcxproj | 1359 ++-- .../PluckedStringsDemo.vcxproj.filters | 2425 ++++--- .../JuceLibraryCode/AppConfig.h | 14 +- .../JuceLibraryCode/JuceHeader.h | 24 +- .../JuceLibraryCode/ReadMe.txt | 6 +- .../JuceLibraryCode/juce_audio_basics.cpp | 9 + .../JuceLibraryCode/juce_audio_basics.mm | 9 + .../JuceLibraryCode/juce_audio_devices.cpp | 9 + .../JuceLibraryCode/juce_audio_devices.mm | 9 + .../JuceLibraryCode/juce_audio_formats.cpp | 9 + .../JuceLibraryCode/juce_audio_formats.mm | 9 + .../JuceLibraryCode/juce_audio_processors.cpp | 9 + .../JuceLibraryCode/juce_audio_processors.mm | 9 + .../JuceLibraryCode/juce_audio_utils.cpp | 9 + .../JuceLibraryCode/juce_audio_utils.mm | 9 + .../JuceLibraryCode/juce_core.cpp | 9 + .../JuceLibraryCode/juce_core.mm | 9 + .../JuceLibraryCode/juce_data_structures.cpp | 9 + .../JuceLibraryCode/juce_data_structures.mm | 9 + .../JuceLibraryCode/juce_events.cpp | 9 + .../JuceLibraryCode/juce_events.mm | 9 + .../JuceLibraryCode/juce_graphics.cpp | 9 + .../JuceLibraryCode/juce_graphics.mm | 9 + .../JuceLibraryCode/juce_gui_basics.cpp | 9 + .../JuceLibraryCode/juce_gui_basics.mm | 9 + .../JuceLibraryCode/juce_gui_extra.cpp | 9 + .../JuceLibraryCode/juce_gui_extra.mm | 9 + .../juce_audio_basics/juce_audio_basics.h | 4 - .../juce_audio_devices/juce_audio_devices.h | 4 - .../juce_audio_formats/juce_audio_formats.h | 4 - .../juce_audio_processors.h | 4 - .../juce_audio_utils/juce_audio_utils.h | 4 - .../modules/juce_core/juce_core.h | 4 - .../juce_data_structures.h | 4 - .../modules/juce_events/juce_events.h | 4 - .../modules/juce_graphics/juce_graphics.h | 4 - .../modules/juce_gui_basics/juce_gui_basics.h | 4 - .../modules/juce_gui_extra/juce_gui_extra.h | 4 - .../PluckedStringsDemo.jucer | 2 +- .../Source/StringComponent.h | 6 +- .../Source/StringDemoComponent.h | 8 +- .../Source/StringSynthesiser.h | 10 +- .../Arpeggiator/Arpeggiator.jucer | 4 +- .../Builds/MacOSX/Arpeggiator.entitlements | 1 + .../Arpeggiator.xcodeproj/project.pbxproj | 1952 +++--- .../Arpeggiator/Builds/MacOSX/Info-AAX.plist | 29 + .../MacOSX/{Info.plist => Info-AU.plist} | 6 +- .../Builds/MacOSX/Info-Shared_Code.plist | 29 + .../Arpeggiator/Builds/MacOSX/Info-VST.plist | 29 + .../Arpeggiator/Builds/MacOSX/Info-VST3.plist | 29 + .../VisualStudio2015/Arpeggiator.vcxproj | 1472 ++--- .../Arpeggiator.vcxproj.filters | 2601 ++++---- .../Arpeggiator/JuceLibraryCode/AppConfig.h | 20 +- .../Arpeggiator/JuceLibraryCode/JuceHeader.h | 30 +- .../Arpeggiator/JuceLibraryCode/ReadMe.txt | 6 +- .../JuceLibraryCode/juce_audio_basics.cpp | 9 + .../JuceLibraryCode/juce_audio_basics.mm | 9 + .../JuceLibraryCode/juce_audio_devices.cpp | 9 + .../JuceLibraryCode/juce_audio_devices.mm | 9 + .../JuceLibraryCode/juce_audio_formats.cpp | 9 + .../JuceLibraryCode/juce_audio_formats.mm | 9 + .../juce_audio_plugin_client_AAX.cpp | 9 + .../juce_audio_plugin_client_AAX.mm | 9 + .../juce_audio_plugin_client_AU_1.mm | 9 + .../juce_audio_plugin_client_AU_2.mm | 9 + .../juce_audio_plugin_client_AUv3.mm | 9 + .../juce_audio_plugin_client_RTAS_1.cpp | 9 + .../juce_audio_plugin_client_RTAS_2.cpp | 9 + .../juce_audio_plugin_client_RTAS_3.cpp | 9 + .../juce_audio_plugin_client_RTAS_4.cpp | 9 + .../juce_audio_plugin_client_RTAS_utils.cpp | 9 + .../juce_audio_plugin_client_RTAS_utils.mm | 9 + .../juce_audio_plugin_client_Standalone.cpp | 9 + .../juce_audio_plugin_client_VST2.cpp | 9 + .../juce_audio_plugin_client_VST3.cpp | 9 + .../juce_audio_plugin_client_VST_utils.mm | 9 + .../juce_audio_plugin_client_utils.cpp | 9 + .../JuceLibraryCode/juce_audio_processors.cpp | 9 + .../JuceLibraryCode/juce_audio_processors.mm | 9 + .../Arpeggiator/JuceLibraryCode/juce_core.cpp | 9 + .../Arpeggiator/JuceLibraryCode/juce_core.mm | 9 + .../JuceLibraryCode/juce_cryptography.cpp | 9 + .../JuceLibraryCode/juce_cryptography.mm | 9 + .../JuceLibraryCode/juce_data_structures.cpp | 9 + .../JuceLibraryCode/juce_data_structures.mm | 9 + .../JuceLibraryCode/juce_events.cpp | 9 + .../JuceLibraryCode/juce_events.mm | 9 + .../JuceLibraryCode/juce_graphics.cpp | 9 + .../JuceLibraryCode/juce_graphics.mm | 9 + .../JuceLibraryCode/juce_gui_basics.cpp | 9 + .../JuceLibraryCode/juce_gui_basics.mm | 9 + .../JuceLibraryCode/juce_gui_extra.cpp | 9 + .../JuceLibraryCode/juce_gui_extra.mm | 9 + .../JuceLibraryCode/juce_opengl.cpp | 9 + .../JuceLibraryCode/juce_opengl.mm | 9 + .../JuceLibraryCode/juce_video.cpp | 9 + .../Arpeggiator/JuceLibraryCode/juce_video.mm | 9 + .../juce_audio_basics/juce_audio_basics.h | 4 - .../juce_audio_devices/juce_audio_devices.h | 4 - .../juce_audio_formats/juce_audio_formats.h | 4 - .../juce_audio_plugin_client.h | 4 - .../juce_audio_processors.h | 4 - .../modules/juce_core/juce_core.h | 4 - .../juce_cryptography/juce_cryptography.h | 4 - .../juce_data_structures.h | 4 - .../modules/juce_events/juce_events.h | 4 - .../modules/juce_graphics/juce_graphics.h | 4 - .../modules/juce_gui_basics/juce_gui_basics.h | 4 - .../modules/juce_gui_extra/juce_gui_extra.h | 4 - .../modules/juce_opengl/juce_opengl.h | 4 - .../modules/juce_video/juce_video.h | 4 - .../Builds/MacOSX/GainPlugIn.entitlements | 1 + .../GainPlugIn.xcodeproj/project.pbxproj | 1922 +++--- .../GainPlugIn/Builds/MacOSX/Info-AAX.plist | 29 + .../MacOSX/{Info.plist => Info-AU.plist} | 6 +- .../Builds/MacOSX/Info-Shared_Code.plist | 29 + .../GainPlugIn/Builds/MacOSX/Info-VST.plist | 29 + .../GainPlugIn/Builds/MacOSX/Info-VST3.plist | 29 + .../VisualStudio2015/GainPlugIn.vcxproj | 1472 ++--- .../GainPlugIn.vcxproj.filters | 2601 ++++---- .../PlugInSamples/GainPlugIn/GainPlugIn.jucer | 8 +- .../GainPlugIn/JuceLibraryCode/AppConfig.h | 20 +- .../GainPlugIn/JuceLibraryCode/JuceHeader.h | 30 +- .../GainPlugIn/JuceLibraryCode/ReadMe.txt | 6 +- .../JuceLibraryCode/juce_audio_basics.cpp | 9 + .../JuceLibraryCode/juce_audio_basics.mm | 9 + .../JuceLibraryCode/juce_audio_devices.cpp | 9 + .../JuceLibraryCode/juce_audio_devices.mm | 9 + .../JuceLibraryCode/juce_audio_formats.cpp | 9 + .../JuceLibraryCode/juce_audio_formats.mm | 9 + .../juce_audio_plugin_client_AAX.cpp | 9 + .../juce_audio_plugin_client_AAX.mm | 9 + .../juce_audio_plugin_client_AU_1.mm | 9 + .../juce_audio_plugin_client_AU_2.mm | 9 + .../juce_audio_plugin_client_AUv3.mm | 9 + .../juce_audio_plugin_client_RTAS_1.cpp | 9 + .../juce_audio_plugin_client_RTAS_2.cpp | 9 + .../juce_audio_plugin_client_RTAS_3.cpp | 9 + .../juce_audio_plugin_client_RTAS_4.cpp | 9 + .../juce_audio_plugin_client_RTAS_utils.cpp | 9 + .../juce_audio_plugin_client_RTAS_utils.mm | 9 + .../juce_audio_plugin_client_Standalone.cpp | 9 + .../juce_audio_plugin_client_VST2.cpp | 9 + .../juce_audio_plugin_client_VST3.cpp | 9 + .../juce_audio_plugin_client_VST_utils.mm | 9 + .../juce_audio_plugin_client_utils.cpp | 9 + .../JuceLibraryCode/juce_audio_processors.cpp | 9 + .../JuceLibraryCode/juce_audio_processors.mm | 9 + .../GainPlugIn/JuceLibraryCode/juce_core.cpp | 9 + .../GainPlugIn/JuceLibraryCode/juce_core.mm | 9 + .../JuceLibraryCode/juce_cryptography.cpp | 9 + .../JuceLibraryCode/juce_cryptography.mm | 9 + .../JuceLibraryCode/juce_data_structures.cpp | 9 + .../JuceLibraryCode/juce_data_structures.mm | 9 + .../JuceLibraryCode/juce_events.cpp | 9 + .../GainPlugIn/JuceLibraryCode/juce_events.mm | 9 + .../JuceLibraryCode/juce_graphics.cpp | 9 + .../JuceLibraryCode/juce_graphics.mm | 9 + .../JuceLibraryCode/juce_gui_basics.cpp | 9 + .../JuceLibraryCode/juce_gui_basics.mm | 9 + .../JuceLibraryCode/juce_gui_extra.cpp | 9 + .../JuceLibraryCode/juce_gui_extra.mm | 9 + .../JuceLibraryCode/juce_opengl.cpp | 9 + .../GainPlugIn/JuceLibraryCode/juce_opengl.mm | 9 + .../GainPlugIn/JuceLibraryCode/juce_video.cpp | 9 + .../GainPlugIn/JuceLibraryCode/juce_video.mm | 9 + .../juce_audio_basics/juce_audio_basics.h | 4 - .../juce_audio_devices/juce_audio_devices.h | 4 - .../juce_audio_formats/juce_audio_formats.h | 4 - .../juce_audio_plugin_client.h | 4 - .../juce_audio_processors.h | 4 - .../modules/juce_core/juce_core.h | 4 - .../juce_cryptography/juce_cryptography.h | 4 - .../juce_data_structures.h | 4 - .../modules/juce_events/juce_events.h | 4 - .../modules/juce_graphics/juce_graphics.h | 4 - .../modules/juce_gui_basics/juce_gui_basics.h | 4 - .../modules/juce_gui_extra/juce_gui_extra.h | 4 - .../modules/juce_opengl/juce_opengl.h | 4 - .../modules/juce_video/juce_video.h | 4 - .../GainPlugIn/Source/GainProcessor.cpp | 20 +- .../Builds/MacOSX/Info-AAX.plist | 29 + .../MacOSX/{Info.plist => Info-AU.plist} | 6 +- .../Builds/MacOSX/Info-Shared_Code.plist | 29 + .../Builds/MacOSX/Info-VST.plist | 29 + .../Builds/MacOSX/Info-VST3.plist | 29 + .../Builds/MacOSX/MultiOutSynth.entitlements | 1 + .../MultiOutSynth.xcodeproj/project.pbxproj | 1928 +++--- .../VisualStudio2015/MultiOutSynth.vcxproj | 1472 ++--- .../MultiOutSynth.vcxproj.filters | 2601 ++++---- .../MultiOutSynth/JuceLibraryCode/AppConfig.h | 20 +- .../JuceLibraryCode/JuceHeader.h | 30 +- .../MultiOutSynth/JuceLibraryCode/ReadMe.txt | 6 +- .../JuceLibraryCode/juce_audio_basics.cpp | 9 + .../JuceLibraryCode/juce_audio_basics.mm | 9 + .../JuceLibraryCode/juce_audio_devices.cpp | 9 + .../JuceLibraryCode/juce_audio_devices.mm | 9 + .../JuceLibraryCode/juce_audio_formats.cpp | 9 + .../JuceLibraryCode/juce_audio_formats.mm | 9 + .../juce_audio_plugin_client_AAX.cpp | 9 + .../juce_audio_plugin_client_AAX.mm | 9 + .../juce_audio_plugin_client_AU_1.mm | 9 + .../juce_audio_plugin_client_AU_2.mm | 9 + .../juce_audio_plugin_client_AUv3.mm | 9 + .../juce_audio_plugin_client_RTAS_1.cpp | 9 + .../juce_audio_plugin_client_RTAS_2.cpp | 9 + .../juce_audio_plugin_client_RTAS_3.cpp | 9 + .../juce_audio_plugin_client_RTAS_4.cpp | 9 + .../juce_audio_plugin_client_RTAS_utils.cpp | 9 + .../juce_audio_plugin_client_RTAS_utils.mm | 9 + .../juce_audio_plugin_client_Standalone.cpp | 9 + .../juce_audio_plugin_client_VST2.cpp | 9 + .../juce_audio_plugin_client_VST3.cpp | 9 + .../juce_audio_plugin_client_VST_utils.mm | 9 + .../juce_audio_plugin_client_utils.cpp | 9 + .../JuceLibraryCode/juce_audio_processors.cpp | 9 + .../JuceLibraryCode/juce_audio_processors.mm | 9 + .../JuceLibraryCode/juce_core.cpp | 9 + .../JuceLibraryCode/juce_core.mm | 9 + .../JuceLibraryCode/juce_cryptography.cpp | 9 + .../JuceLibraryCode/juce_cryptography.mm | 9 + .../JuceLibraryCode/juce_data_structures.cpp | 9 + .../JuceLibraryCode/juce_data_structures.mm | 9 + .../JuceLibraryCode/juce_events.cpp | 9 + .../JuceLibraryCode/juce_events.mm | 9 + .../JuceLibraryCode/juce_graphics.cpp | 9 + .../JuceLibraryCode/juce_graphics.mm | 9 + .../JuceLibraryCode/juce_gui_basics.cpp | 9 + .../JuceLibraryCode/juce_gui_basics.mm | 9 + .../JuceLibraryCode/juce_gui_extra.cpp | 9 + .../JuceLibraryCode/juce_gui_extra.mm | 9 + .../JuceLibraryCode/juce_opengl.cpp | 9 + .../JuceLibraryCode/juce_opengl.mm | 9 + .../JuceLibraryCode/juce_video.cpp | 9 + .../JuceLibraryCode/juce_video.mm | 9 + .../juce_audio_basics/juce_audio_basics.h | 4 - .../juce_audio_devices/juce_audio_devices.h | 4 - .../juce_audio_formats/juce_audio_formats.h | 4 - .../juce_audio_plugin_client.h | 4 - .../juce_audio_processors.h | 4 - .../modules/juce_core/juce_core.h | 4 - .../juce_cryptography/juce_cryptography.h | 4 - .../juce_data_structures.h | 4 - .../modules/juce_events/juce_events.h | 4 - .../modules/juce_graphics/juce_graphics.h | 4 - .../modules/juce_gui_basics/juce_gui_basics.h | 4 - .../modules/juce_gui_extra/juce_gui_extra.h | 4 - .../modules/juce_opengl/juce_opengl.h | 4 - .../modules/juce_video/juce_video.h | 4 - .../MultiOutSynth/MultiOutSynth.jucer | 9 +- .../MultiOutSynth/Source/MultiOutSynth.cpp | 7 +- .../NoiseGate/Builds/MacOSX/Info-AAX.plist | 29 + .../MacOSX/{Info.plist => Info-AU.plist} | 6 +- .../Builds/MacOSX/Info-Shared_Code.plist | 29 + .../NoiseGate/Builds/MacOSX/Info-VST.plist | 29 + .../NoiseGate/Builds/MacOSX/Info-VST3.plist | 29 + .../Builds/MacOSX/NoiseGate.entitlements | 1 + .../NoiseGate.xcodeproj/project.pbxproj | 1940 +++--- .../Builds/VisualStudio2015/NoiseGate.vcxproj | 1472 ++--- .../NoiseGate.vcxproj.filters | 2601 ++++---- .../NoiseGate/JuceLibraryCode/AppConfig.h | 20 +- .../NoiseGate/JuceLibraryCode/JuceHeader.h | 30 +- .../NoiseGate/JuceLibraryCode/ReadMe.txt | 6 +- .../JuceLibraryCode/juce_audio_basics.cpp | 9 + .../JuceLibraryCode/juce_audio_basics.mm | 9 + .../JuceLibraryCode/juce_audio_devices.cpp | 9 + .../JuceLibraryCode/juce_audio_devices.mm | 9 + .../JuceLibraryCode/juce_audio_formats.cpp | 9 + .../JuceLibraryCode/juce_audio_formats.mm | 9 + .../juce_audio_plugin_client_AAX.cpp | 9 + .../juce_audio_plugin_client_AAX.mm | 9 + .../juce_audio_plugin_client_AU_1.mm | 9 + .../juce_audio_plugin_client_AU_2.mm | 9 + .../juce_audio_plugin_client_AUv3.mm | 9 + .../juce_audio_plugin_client_RTAS_1.cpp | 9 + .../juce_audio_plugin_client_RTAS_2.cpp | 9 + .../juce_audio_plugin_client_RTAS_3.cpp | 9 + .../juce_audio_plugin_client_RTAS_4.cpp | 9 + .../juce_audio_plugin_client_RTAS_utils.cpp | 9 + .../juce_audio_plugin_client_RTAS_utils.mm | 9 + .../juce_audio_plugin_client_Standalone.cpp | 9 + .../juce_audio_plugin_client_VST2.cpp | 9 + .../juce_audio_plugin_client_VST3.cpp | 9 + .../juce_audio_plugin_client_VST_utils.mm | 9 + .../juce_audio_plugin_client_utils.cpp | 9 + .../JuceLibraryCode/juce_audio_processors.cpp | 9 + .../JuceLibraryCode/juce_audio_processors.mm | 9 + .../NoiseGate/JuceLibraryCode/juce_core.cpp | 9 + .../NoiseGate/JuceLibraryCode/juce_core.mm | 9 + .../JuceLibraryCode/juce_cryptography.cpp | 9 + .../JuceLibraryCode/juce_cryptography.mm | 9 + .../JuceLibraryCode/juce_data_structures.cpp | 9 + .../JuceLibraryCode/juce_data_structures.mm | 9 + .../NoiseGate/JuceLibraryCode/juce_events.cpp | 9 + .../NoiseGate/JuceLibraryCode/juce_events.mm | 9 + .../JuceLibraryCode/juce_graphics.cpp | 9 + .../JuceLibraryCode/juce_graphics.mm | 9 + .../JuceLibraryCode/juce_gui_basics.cpp | 9 + .../JuceLibraryCode/juce_gui_basics.mm | 9 + .../JuceLibraryCode/juce_gui_extra.cpp | 9 + .../JuceLibraryCode/juce_gui_extra.mm | 9 + .../NoiseGate/JuceLibraryCode/juce_opengl.cpp | 9 + .../NoiseGate/JuceLibraryCode/juce_opengl.mm | 9 + .../NoiseGate/JuceLibraryCode/juce_video.cpp | 9 + .../NoiseGate/JuceLibraryCode/juce_video.mm | 9 + .../juce_audio_basics/juce_audio_basics.h | 4 - .../juce_audio_devices/juce_audio_devices.h | 4 - .../juce_audio_formats/juce_audio_formats.h | 4 - .../juce_audio_plugin_client.h | 4 - .../juce_audio_processors.h | 4 - .../modules/juce_core/juce_core.h | 4 - .../juce_cryptography/juce_cryptography.h | 4 - .../juce_data_structures.h | 4 - .../modules/juce_events/juce_events.h | 4 - .../modules/juce_graphics/juce_graphics.h | 4 - .../modules/juce_gui_basics/juce_gui_basics.h | 4 - .../modules/juce_gui_extra/juce_gui_extra.h | 4 - .../modules/juce_opengl/juce_opengl.h | 4 - .../modules/juce_video/juce_video.h | 4 - .../PlugInSamples/NoiseGate/NoiseGate.jucer | 7 +- .../NoiseGate/Source/NoiseGate.cpp | 41 +- .../Spatializer/Builds/MacOSX/Info.plist | 46 - .../Spatializer.xcodeproj/project.pbxproj | 2405 ------- .../Builds/VisualStudio2015/Spatializer.sln | 19 - .../VisualStudio2015/Spatializer.vcxproj | 1823 ------ .../Spatializer.vcxproj.filters | 3128 --------- .../Builds/VisualStudio2015/resources.rc | 30 - .../Spatializer/JuceLibraryCode/JuceHeader.h | 47 - .../juce_audio_basics/juce_audio_basics.h | 4 - .../juce_audio_devices/juce_audio_devices.h | 4 - .../juce_audio_formats/juce_audio_formats.h | 4 - .../juce_audio_plugin_client.h | 4 - .../juce_audio_processors.h | 4 - .../modules/juce_core/juce_core.h | 4 - .../juce_cryptography/juce_cryptography.h | 4 - .../juce_data_structures.h | 4 - .../modules/juce_events/juce_events.h | 4 - .../modules/juce_graphics/juce_graphics.h | 4 - .../modules/juce_gui_basics/juce_gui_basics.h | 4 - .../modules/juce_gui_extra/juce_gui_extra.h | 4 - .../modules/juce_opengl/juce_opengl.h | 4 - .../modules/juce_video/juce_video.h | 4 - .../Spatializer/Source/Spatializer.cpp | 190 - .../Spatializer/Spatializer.jucer | 86 - .../Surround/Builds/LinuxMakefile/Makefile | 86 +- .../Surround/Builds/MacOSX/Info-AAX.plist | 29 + .../MacOSX/{Info.plist => Info-AU.plist} | 8 +- .../Builds/MacOSX/Info-Shared_Code.plist | 29 + .../Surround/Builds/MacOSX/Info-VST.plist | 29 + .../Surround/Builds/MacOSX/Info-VST3.plist | 29 + .../Builds/MacOSX/Surround.entitlements | 1 + .../MacOSX/Surround.xcodeproj/project.pbxproj | 1954 +++--- .../Builds/VisualStudio2015/Surround.vcxproj | 1472 ++--- .../VisualStudio2015/Surround.vcxproj.filters | 2601 ++++---- .../Surround/JuceLibraryCode/AppConfig.h | 28 +- .../Surround/JuceLibraryCode/JuceHeader.h | 30 +- .../Surround/JuceLibraryCode/ReadMe.txt | 6 +- .../JuceLibraryCode/juce_audio_basics.cpp | 9 + .../JuceLibraryCode/juce_audio_basics.mm | 9 + .../JuceLibraryCode/juce_audio_devices.cpp | 9 + .../JuceLibraryCode/juce_audio_devices.mm | 9 + .../JuceLibraryCode/juce_audio_formats.cpp | 9 + .../JuceLibraryCode/juce_audio_formats.mm | 9 + .../juce_audio_plugin_client_AAX.cpp | 9 + .../juce_audio_plugin_client_AAX.mm | 9 + .../juce_audio_plugin_client_AU_1.mm | 9 + .../juce_audio_plugin_client_AU_2.mm | 9 + .../juce_audio_plugin_client_AUv3.mm | 9 + .../juce_audio_plugin_client_RTAS_1.cpp | 9 + .../juce_audio_plugin_client_RTAS_2.cpp | 9 + .../juce_audio_plugin_client_RTAS_3.cpp | 9 + .../juce_audio_plugin_client_RTAS_4.cpp | 9 + .../juce_audio_plugin_client_RTAS_utils.cpp | 9 + .../juce_audio_plugin_client_RTAS_utils.mm | 9 + .../juce_audio_plugin_client_Standalone.cpp | 9 + .../juce_audio_plugin_client_VST2.cpp | 9 + .../juce_audio_plugin_client_VST3.cpp | 9 + .../juce_audio_plugin_client_VST_utils.mm | 9 + .../juce_audio_plugin_client_utils.cpp | 9 + .../JuceLibraryCode/juce_audio_processors.cpp | 9 + .../JuceLibraryCode/juce_audio_processors.mm | 9 + .../Surround/JuceLibraryCode/juce_core.cpp | 9 + .../Surround/JuceLibraryCode/juce_core.mm | 9 + .../JuceLibraryCode/juce_cryptography.cpp | 9 + .../JuceLibraryCode/juce_cryptography.mm | 9 + .../JuceLibraryCode/juce_data_structures.cpp | 9 + .../JuceLibraryCode/juce_data_structures.mm | 9 + .../Surround/JuceLibraryCode/juce_events.cpp | 9 + .../Surround/JuceLibraryCode/juce_events.mm | 9 + .../JuceLibraryCode/juce_graphics.cpp | 9 + .../Surround/JuceLibraryCode/juce_graphics.mm | 9 + .../JuceLibraryCode/juce_gui_basics.cpp | 9 + .../JuceLibraryCode/juce_gui_basics.mm | 9 + .../JuceLibraryCode/juce_gui_extra.cpp | 9 + .../JuceLibraryCode/juce_gui_extra.mm | 9 + .../Surround/JuceLibraryCode/juce_opengl.cpp | 9 + .../Surround/JuceLibraryCode/juce_opengl.mm | 9 + .../Surround/JuceLibraryCode/juce_video.cpp | 9 + .../Surround/JuceLibraryCode/juce_video.mm | 9 + .../juce_audio_basics/juce_audio_basics.h | 4 - .../juce_audio_devices/juce_audio_devices.h | 4 - .../juce_audio_formats/juce_audio_formats.h | 4 - .../juce_audio_plugin_client.h | 4 - .../juce_audio_processors.h | 4 - .../modules/juce_core/juce_core.h | 4 - .../juce_cryptography/juce_cryptography.h | 4 - .../juce_data_structures.h | 4 - .../modules/juce_events/juce_events.h | 4 - .../modules/juce_graphics/juce_graphics.h | 4 - .../modules/juce_gui_basics/juce_gui_basics.h | 4 - .../modules/juce_gui_extra/juce_gui_extra.h | 4 - .../modules/juce_opengl/juce_opengl.h | 4 - .../modules/juce_video/juce_video.h | 4 - .../Surround/Source/SurroundEditor.h | 101 +- .../Surround/Source/SurroundProcessor.cpp | 62 +- .../PlugInSamples/Surround/Surround.jucer | 12 +- .../MacOSX/{Info.plist => Info-App.plist} | 2 + .../project.pbxproj | 1166 ++-- .../VisualStudio2013/SimpleFFTExample.vcxproj | 1359 ++-- .../SimpleFFTExample.vcxproj.filters | 2425 ++++--- .../JuceLibraryCode/AppConfig.h | 14 +- .../JuceLibraryCode/JuceHeader.h | 24 +- .../JuceLibraryCode/ReadMe.txt | 6 +- .../JuceLibraryCode/juce_audio_basics.cpp | 9 + .../JuceLibraryCode/juce_audio_basics.mm | 9 + .../JuceLibraryCode/juce_audio_devices.cpp | 9 + .../JuceLibraryCode/juce_audio_devices.mm | 9 + .../JuceLibraryCode/juce_audio_formats.cpp | 9 + .../JuceLibraryCode/juce_audio_formats.mm | 9 + .../JuceLibraryCode/juce_audio_processors.cpp | 9 + .../JuceLibraryCode/juce_audio_processors.mm | 9 + .../JuceLibraryCode/juce_audio_utils.cpp | 9 + .../JuceLibraryCode/juce_audio_utils.mm | 9 + .../JuceLibraryCode/juce_core.cpp | 9 + .../JuceLibraryCode/juce_core.mm | 9 + .../JuceLibraryCode/juce_data_structures.cpp | 9 + .../JuceLibraryCode/juce_data_structures.mm | 9 + .../JuceLibraryCode/juce_events.cpp | 9 + .../JuceLibraryCode/juce_events.mm | 9 + .../JuceLibraryCode/juce_graphics.cpp | 9 + .../JuceLibraryCode/juce_graphics.mm | 9 + .../JuceLibraryCode/juce_gui_basics.cpp | 9 + .../JuceLibraryCode/juce_gui_basics.mm | 9 + .../JuceLibraryCode/juce_gui_extra.cpp | 9 + .../JuceLibraryCode/juce_gui_extra.mm | 9 + .../juce_audio_basics/juce_audio_basics.h | 4 - .../juce_audio_devices/juce_audio_devices.h | 4 - .../juce_audio_formats/juce_audio_formats.h | 4 - .../juce_audio_processors.h | 4 - .../juce_audio_utils/juce_audio_utils.h | 4 - .../modules/juce_core/juce_core.h | 4 - .../juce_data_structures.h | 4 - .../modules/juce_events/juce_events.h | 4 - .../modules/juce_graphics/juce_graphics.h | 4 - .../modules/juce_gui_basics/juce_gui_basics.h | 4 - .../modules/juce_gui_extra/juce_gui_extra.h | 4 - .../SimpleFFTExample/SimpleFFTExample.jucer | 2 +- .../Source/SpectrogramComponent.h | 4 +- .../audio plugin demo/Builds/Linux/Makefile | 78 +- .../MacOSX/{Info.plist => Info-AU.plist} | 6 +- .../Builds/MacOSX/Info-Shared_Code.plist | 29 + .../Builds/MacOSX/Info-VST.plist | 29 + .../Builds/MacOSX/Info-VST3.plist | 29 + .../Builds/MacOSX/JuceDemoPlugin.entitlements | 1 + .../JuceDemoPlugin.xcodeproj/project.pbxproj | 1769 +++--- .../VisualStudio2015/JuceDemoPlugin.vcxproj | 1413 ++--- .../JuceDemoPlugin.vcxproj.filters | 2512 ++++---- .../How to use this framework.txt | 339 - .../audio plugin demo/JuceDemoPlugin.jucer | 7 +- .../JuceLibraryCode/AppConfig.h | 20 +- .../JuceLibraryCode/JuceHeader.h | 26 +- .../JuceLibraryCode/ReadMe.txt | 6 +- .../JuceLibraryCode/juce_audio_basics.cpp | 9 + .../JuceLibraryCode/juce_audio_basics.mm | 9 + .../JuceLibraryCode/juce_audio_devices.cpp | 9 + .../JuceLibraryCode/juce_audio_devices.mm | 9 + .../JuceLibraryCode/juce_audio_formats.cpp | 9 + .../JuceLibraryCode/juce_audio_formats.mm | 9 + .../juce_audio_plugin_client_AAX.cpp | 9 + .../juce_audio_plugin_client_AAX.mm | 9 + .../juce_audio_plugin_client_AU_1.mm | 9 + .../juce_audio_plugin_client_AU_2.mm | 9 + .../juce_audio_plugin_client_AUv3.mm | 9 + .../juce_audio_plugin_client_RTAS_1.cpp | 9 + .../juce_audio_plugin_client_RTAS_2.cpp | 9 + .../juce_audio_plugin_client_RTAS_3.cpp | 9 + .../juce_audio_plugin_client_RTAS_4.cpp | 9 + .../juce_audio_plugin_client_RTAS_utils.cpp | 9 + .../juce_audio_plugin_client_RTAS_utils.mm | 9 + .../juce_audio_plugin_client_Standalone.cpp | 9 + .../juce_audio_plugin_client_VST2.cpp | 9 + .../juce_audio_plugin_client_VST3.cpp | 9 + .../juce_audio_plugin_client_VST_utils.mm | 9 + .../juce_audio_plugin_client_utils.cpp | 9 + .../JuceLibraryCode/juce_audio_processors.cpp | 9 + .../JuceLibraryCode/juce_audio_processors.mm | 9 + .../JuceLibraryCode/juce_audio_utils.cpp | 9 + .../JuceLibraryCode/juce_audio_utils.mm | 9 + .../JuceLibraryCode/juce_core.cpp | 9 + .../JuceLibraryCode/juce_core.mm | 9 + .../JuceLibraryCode/juce_data_structures.cpp | 9 + .../JuceLibraryCode/juce_data_structures.mm | 9 + .../JuceLibraryCode/juce_events.cpp | 9 + .../JuceLibraryCode/juce_events.mm | 9 + .../JuceLibraryCode/juce_graphics.cpp | 9 + .../JuceLibraryCode/juce_graphics.mm | 9 + .../JuceLibraryCode/juce_gui_basics.cpp | 9 + .../JuceLibraryCode/juce_gui_basics.mm | 9 + .../JuceLibraryCode/juce_gui_extra.cpp | 9 + .../JuceLibraryCode/juce_gui_extra.mm | 9 + .../juce_audio_basics/juce_audio_basics.h | 4 - .../juce_audio_devices/juce_audio_devices.h | 4 - .../juce_audio_formats/juce_audio_formats.h | 4 - .../juce_audio_plugin_client.h | 4 - .../juce_audio_processors.h | 4 - .../juce_audio_utils/juce_audio_utils.h | 4 - .../modules/juce_core/juce_core.h | 4 - .../juce_data_structures.h | 4 - .../modules/juce_events/juce_events.h | 4 - .../modules/juce_graphics/juce_graphics.h | 4 - .../modules/juce_gui_basics/juce_gui_basics.h | 4 - .../modules/juce_gui_extra/juce_gui_extra.h | 4 - .../audio plugin host/Builds/Linux/Makefile | 64 +- .../MacOSX/{Info.plist => Info-App.plist} | 2 + .../Plugin Host.xcodeproj/project.pbxproj | 1242 ++-- .../VisualStudio2010/Plugin Host.vcxproj | 1418 +++-- .../Plugin Host.vcxproj.filters | 2530 ++++---- .../VisualStudio2013/Plugin Host.vcxproj | 1418 +++-- .../Plugin Host.vcxproj.filters | 2530 ++++---- .../VisualStudio2015/Plugin Host.vcxproj | 1418 +++-- .../Plugin Host.vcxproj.filters | 2530 ++++---- .../JuceLibraryCode/AppConfig.h | 14 +- .../JuceLibraryCode/JuceHeader.h | 30 +- .../JuceLibraryCode/ReadMe.txt | 6 +- .../JuceLibraryCode/juce_audio_basics.cpp | 9 + .../JuceLibraryCode/juce_audio_basics.mm | 9 + .../JuceLibraryCode/juce_audio_devices.cpp | 9 + .../JuceLibraryCode/juce_audio_devices.mm | 9 + .../JuceLibraryCode/juce_audio_formats.cpp | 9 + .../JuceLibraryCode/juce_audio_formats.mm | 9 + .../JuceLibraryCode/juce_audio_processors.cpp | 9 + .../JuceLibraryCode/juce_audio_processors.mm | 9 + .../JuceLibraryCode/juce_audio_utils.cpp | 9 + .../JuceLibraryCode/juce_audio_utils.mm | 9 + .../JuceLibraryCode/juce_core.cpp | 9 + .../JuceLibraryCode/juce_core.mm | 9 + .../JuceLibraryCode/juce_cryptography.cpp | 9 + .../JuceLibraryCode/juce_cryptography.mm | 9 + .../JuceLibraryCode/juce_data_structures.cpp | 9 + .../JuceLibraryCode/juce_data_structures.mm | 9 + .../JuceLibraryCode/juce_events.cpp | 9 + .../JuceLibraryCode/juce_events.mm | 9 + .../JuceLibraryCode/juce_graphics.cpp | 9 + .../JuceLibraryCode/juce_graphics.mm | 9 + .../JuceLibraryCode/juce_gui_basics.cpp | 9 + .../JuceLibraryCode/juce_gui_basics.mm | 9 + .../JuceLibraryCode/juce_gui_extra.cpp | 9 + .../JuceLibraryCode/juce_gui_extra.mm | 9 + .../JuceLibraryCode/juce_opengl.cpp | 9 + .../JuceLibraryCode/juce_opengl.mm | 9 + .../JuceLibraryCode/juce_video.cpp | 9 + .../JuceLibraryCode/juce_video.mm | 9 + .../juce_audio_basics/juce_audio_basics.h | 4 - .../juce_audio_devices/juce_audio_devices.h | 4 - .../juce_audio_formats/juce_audio_formats.h | 4 - .../juce_audio_processors.h | 4 - .../juce_audio_utils/juce_audio_utils.h | 4 - .../modules/juce_core/juce_core.h | 4 - .../juce_cryptography/juce_cryptography.h | 4 - .../juce_data_structures.h | 4 - .../modules/juce_events/juce_events.h | 4 - .../modules/juce_graphics/juce_graphics.h | 4 - .../modules/juce_gui_basics/juce_gui_basics.h | 4 - .../modules/juce_gui_extra/juce_gui_extra.h | 4 - .../modules/juce_opengl/juce_opengl.h | 4 - .../modules/juce_video/juce_video.h | 4 - examples/audio plugin host/Plugin Host.jucer | 13 +- .../audio plugin host/Source/FilterGraph.cpp | 39 +- .../audio plugin host/Source/FilterGraph.h | 2 + .../Source/InternalFilters.cpp | 21 +- .../Source/InternalFilters.h | 13 +- .../Source/MainHostWindow.cpp | 2 +- .../AudioPerformanceTest.jucer | 8 +- .../Builds/LinuxMakefile/Makefile | 48 +- .../project.pbxproj | 1162 ++-- .../MacOSX/{Info.plist => Info-App.plist} | 2 + .../AudioPerformanceTest.vcxproj | 1359 ++-- .../AudioPerformanceTest.vcxproj.filters | 2425 ++++--- .../project.pbxproj | 1152 ++-- .../Builds/iOS/{Info.plist => Info-App.plist} | 7 +- .../JuceLibraryCode/AppConfig.h | 14 +- .../JuceLibraryCode/JuceHeader.h | 24 +- .../JuceLibraryCode/ReadMe.txt | 6 +- .../JuceLibraryCode/juce_audio_basics.cpp | 9 + .../JuceLibraryCode/juce_audio_basics.mm | 9 + .../JuceLibraryCode/juce_audio_devices.cpp | 9 + .../JuceLibraryCode/juce_audio_devices.mm | 9 + .../JuceLibraryCode/juce_audio_formats.cpp | 9 + .../JuceLibraryCode/juce_audio_formats.mm | 9 + .../JuceLibraryCode/juce_audio_processors.cpp | 9 + .../JuceLibraryCode/juce_audio_processors.mm | 9 + .../JuceLibraryCode/juce_audio_utils.cpp | 9 + .../JuceLibraryCode/juce_audio_utils.mm | 9 + .../JuceLibraryCode/juce_core.cpp | 9 + .../JuceLibraryCode/juce_core.mm | 9 + .../JuceLibraryCode/juce_data_structures.cpp | 9 + .../JuceLibraryCode/juce_data_structures.mm | 9 + .../JuceLibraryCode/juce_events.cpp | 9 + .../JuceLibraryCode/juce_events.mm | 9 + .../JuceLibraryCode/juce_graphics.cpp | 9 + .../JuceLibraryCode/juce_graphics.mm | 9 + .../JuceLibraryCode/juce_gui_basics.cpp | 9 + .../JuceLibraryCode/juce_gui_basics.mm | 9 + .../JuceLibraryCode/juce_gui_extra.cpp | 9 + .../JuceLibraryCode/juce_gui_extra.mm | 9 + .../juce_audio_basics/juce_audio_basics.h | 4 - .../juce_audio_devices/juce_audio_devices.h | 4 - .../juce_audio_formats/juce_audio_formats.h | 4 - .../juce_audio_processors.h | 4 - .../juce_audio_utils/juce_audio_utils.h | 4 - .../modules/juce_core/juce_core.h | 4 - .../juce_data_structures.h | 4 - .../modules/juce_events/juce_events.h | 4 - .../modules/juce_graphics/juce_graphics.h | 4 - .../modules/juce_gui_basics/juce_gui_basics.h | 4 - .../modules/juce_gui_extra/juce_gui_extra.h | 4 - .../Source/MainComponent.h | 40 +- .../Builds/CodeBlocks/The Introjucer.cbp | 3498 ----------- extras/Introjucer/Builds/MacOSX/Icon.icns | Bin 42142 -> 0 bytes .../VisualStudio2010/The Introjucer.sln | 19 - .../VisualStudio2010/The Introjucer.vcxproj | 1598 ----- .../The Introjucer.vcxproj.filters | 2939 --------- .../Builds/VisualStudio2010/icon.ico | Bin 32719 -> 0 bytes .../Builds/VisualStudio2010/resources.rc | 33 - .../VisualStudio2012/The Introjucer.sln | 19 - .../VisualStudio2012/The Introjucer.vcxproj | 1604 ----- .../The Introjucer.vcxproj.filters | 2939 --------- .../Builds/VisualStudio2012/icon.ico | Bin 32719 -> 0 bytes .../VisualStudio2013/The Introjucer.sln | 19 - .../Builds/VisualStudio2013/icon.ico | Bin 32719 -> 0 bytes .../Builds/VisualStudio2013/resources.rc | 33 - .../VisualStudio2015/The Introjucer.sln | 19 - .../Builds/VisualStudio2015/icon.ico | Bin 32719 -> 0 bytes extras/Introjucer/Introjucer.jucer | 629 -- .../Introjucer/JuceLibraryCode/BinaryData.cpp | 3908 ------------ .../modules/juce_core/juce_core.h | 4 - .../juce_cryptography/juce_cryptography.h | 4 - .../juce_data_structures.h | 4 - .../modules/juce_events/juce_events.h | 4 - .../modules/juce_graphics/juce_graphics.h | 4 - .../modules/juce_gui_basics/juce_gui_basics.h | 4 - .../modules/juce_gui_extra/juce_gui_extra.h | 4 - .../Source/Application/jucer_Application.h | 651 -- .../Source/Application/jucer_CommandIDs.h | 74 - .../BinaryData/AudioPluginXCodeScript.txt | 91 - .../Source/BinaryData/juce_icon.png | Bin 40749 -> 0 bytes .../jucer_ProjectExport_XCode.h | 1723 ----- .../Source/Project/jucer_AudioPluginModule.h | 570 -- .../Source/Project/jucer_ModulesPanel.h | 540 -- .../Source/Project/jucer_ProjectType.cpp | 379 -- .../Source/Project/jucer_ProjectType.h | 74 - .../Where has the Introjucer gone.txt | 20 + .../Builds/LinuxMakefile}/Makefile | 108 +- extras/Projucer/Builds/MacOSX/Icon.icns | Bin 0 -> 44839 bytes extras/Projucer/Builds/MacOSX/Info-App.plist | 61 + .../Builds/MacOSX/Info.plist | 19 +- .../Projucer.xcodeproj}/project.pbxproj | 1235 ++-- .../Builds/MacOSX/RecentFilesMenuTemplate.nib | Bin .../Builds/VisualStudio2013/Projucer.sln | 19 + .../Builds/VisualStudio2013/Projucer.vcxproj} | 1378 ++-- .../Projucer.vcxproj.filters} | 2826 +++++---- .../Projucer/Builds/VisualStudio2013/icon.ico | Bin 0 -> 33530 bytes .../Builds/VisualStudio2013}/resources.rc | 11 +- .../Builds/VisualStudio2015/Projucer.sln | 19 + .../Builds/VisualStudio2015/Projucer.vcxproj} | 1378 ++-- .../Projucer.vcxproj.filters} | 2826 +++++---- .../Projucer/Builds/VisualStudio2015/icon.ico | Bin 0 -> 33530 bytes .../Builds/VisualStudio2015}/resources.rc | 11 +- .../JuceLibraryCode/AppConfig.h | 16 +- .../Projucer/JuceLibraryCode/BinaryData.cpp | 5562 +++++++++++++++++ .../JuceLibraryCode/BinaryData.h | 48 +- .../JuceLibraryCode/JuceHeader.h | 22 +- .../JuceLibraryCode/ReadMe.txt | 6 +- extras/Projucer/JuceLibraryCode/juce_core.cpp | 9 + extras/Projucer/JuceLibraryCode/juce_core.mm | 9 + .../JuceLibraryCode/juce_cryptography.cpp | 9 + .../JuceLibraryCode/juce_cryptography.mm | 9 + .../JuceLibraryCode/juce_data_structures.cpp | 9 + .../JuceLibraryCode/juce_data_structures.mm | 9 + .../Projucer/JuceLibraryCode/juce_events.cpp | 9 + .../Projucer/JuceLibraryCode/juce_events.mm | 9 + .../JuceLibraryCode/juce_graphics.cpp | 9 + .../Projucer/JuceLibraryCode/juce_graphics.mm | 9 + .../JuceLibraryCode/juce_gui_basics.cpp | 9 + .../JuceLibraryCode/juce_gui_basics.mm | 9 + .../JuceLibraryCode/juce_gui_extra.cpp | 9 + .../JuceLibraryCode/juce_gui_extra.mm | 9 + extras/Projucer/Projucer.jucer | 639 ++ .../Application/jucer_AppearanceSettings.cpp | 8 +- .../Application/jucer_AppearanceSettings.h | 0 .../Source/Application/jucer_Application.cpp | 828 +++ .../Source/Application/jucer_Application.h | 141 + .../Source/Application/jucer_AutoUpdater.cpp | 31 +- .../Source/Application/jucer_AutoUpdater.h | 8 +- .../Source/Application/jucer_CommandIDs.h | 98 + .../Source/Application/jucer_CommandLine.cpp | 21 +- .../Source/Application/jucer_CommandLine.h | 0 .../Source/Application/jucer_CommonHeaders.h | 0 .../jucer_DocumentEditorComponent.cpp | 4 +- .../jucer_DocumentEditorComponent.h | 0 .../Source/Application/jucer_EulaDialogue.h | 79 + .../Application/jucer_FilePreviewComponent.h | 4 +- .../Application/jucer_GlobalPreferences.cpp | 0 .../Application/jucer_GlobalPreferences.h | 0 .../Source/Application/jucer_LoginForm.h | 301 + .../Source/Application/jucer_Main.cpp | 67 + .../Source/Application/jucer_MainWindow.cpp | 58 +- .../Source/Application/jucer_MainWindow.h | 0 .../Application/jucer_OpenDocumentManager.cpp | 23 +- .../Application/jucer_OpenDocumentManager.h | 2 + .../Application/jucer_ProjucerLicenses.h | 115 + .../Source/BinaryData/ContaxPro45Lig.otf | Bin 0 -> 24660 bytes .../Source/BinaryData/ContaxPro55Rm.otf | Bin 0 -> 30772 bytes .../Source/BinaryData/ContaxPro55RmSC.otf | Bin 0 -> 25312 bytes .../Source/BinaryData/ContaxPro65Med.otf | Bin 0 -> 24964 bytes .../BinaryData/RecentFilesMenuTemplate.nib | Bin .../Source/BinaryData/background_logo.svg | 0 .../Source/BinaryData/background_tile.png | Bin .../Source/BinaryData/colourscheme_dark.xml | 0 .../Source/BinaryData/colourscheme_light.xml | 0 .../Source/BinaryData}/juce_AU_Resources.r | 182 +- .../Projucer/Source/BinaryData/juce_icon.png | Bin 0 -> 45854 bytes .../jucer_AnimatedComponentTemplate.cpp | 0 .../jucer_AudioComponentTemplate.cpp | 4 +- .../jucer_AudioPluginEditorTemplate.cpp | 2 +- .../jucer_AudioPluginEditorTemplate.h | 2 +- .../jucer_AudioPluginFilterTemplate.cpp | 2 +- .../jucer_AudioPluginFilterTemplate.h | 2 +- .../BinaryData/jucer_ComponentTemplate.cpp | 10 +- .../BinaryData/jucer_ComponentTemplate.h | 10 +- .../BinaryData/jucer_ContentCompTemplate.cpp | 0 .../BinaryData/jucer_ContentCompTemplate.h | 0 .../jucer_InlineComponentTemplate.h | 0 .../jucer_MainConsoleAppTemplate.cpp | 0 .../jucer_MainTemplate_NoWindow.cpp | 2 +- .../jucer_MainTemplate_SimpleWindow.cpp | 2 +- .../BinaryData/jucer_MainTemplate_Window.cpp | 2 +- .../BinaryData/jucer_NewComponentTemplate.cpp | 0 .../BinaryData/jucer_NewComponentTemplate.h | 0 .../BinaryData/jucer_NewCppFileTemplate.cpp | 0 .../BinaryData/jucer_NewCppFileTemplate.h | 0 .../jucer_NewInlineComponentTemplate.h | 0 .../jucer_OpenGLComponentTemplate.cpp | 0 .../Source/BinaryData/projectIconAndroid.png | Bin .../BinaryData/projectIconCodeblocks.png | Bin .../BinaryData/projectIconLinuxMakefile.png | Bin .../BinaryData/projectIconVisualStudio.png | Bin .../Source/BinaryData/projectIconXcode.png | Bin .../Source/BinaryData/projectIconXcodeIOS.png | Bin .../Source/BinaryData/projucer_EULA.txt | 105 + .../Source/BinaryData/projucer_login_bg.svg | 62 + .../Source/BinaryData/wizard_AnimatedApp.svg | 0 .../Source/BinaryData/wizard_AudioApp.svg | 0 .../Source/BinaryData/wizard_AudioPlugin.svg | 0 .../Source/BinaryData/wizard_ConsoleApp.svg | 0 .../Source/BinaryData/wizard_DLL.svg | 0 .../Source/BinaryData/wizard_GUI.svg | 0 .../Source/BinaryData/wizard_Highlight.svg | 0 .../Source/BinaryData/wizard_OpenGL.svg | 0 .../Source/BinaryData/wizard_Openfile.svg | 0 .../BinaryData/wizard_StaticLibrary.svg | 0 .../Code Editor/jucer_LiveBuildCodeEditor.h | 734 +++ .../Code Editor/jucer_SourceCodeEditor.cpp | 6 +- .../Code Editor/jucer_SourceCodeEditor.h | 4 +- .../components/jucer_ButtonHandler.h | 0 .../components/jucer_ComboBoxHandler.h | 0 .../components/jucer_ComponentNameProperty.h | 0 .../components/jucer_ComponentTypeHandler.cpp | 2 +- .../components/jucer_ComponentTypeHandler.h | 0 .../jucer_ComponentUndoableAction.h | 0 .../jucer_GenericComponentHandler.h | 0 .../components/jucer_GroupComponentHandler.h | 0 .../components/jucer_HyperlinkButtonHandler.h | 0 .../components/jucer_ImageButtonHandler.h | 0 .../components/jucer_JucerComponentHandler.h | 4 +- .../components/jucer_LabelHandler.h | 0 .../components/jucer_SliderHandler.h | 0 .../components/jucer_TabbedComponentHandler.h | 0 .../components/jucer_TextButtonHandler.h | 0 .../components/jucer_TextEditorHandler.h | 0 .../components/jucer_ToggleButtonHandler.h | 0 .../components/jucer_TreeViewHandler.h | 0 .../components/jucer_ViewportHandler.h | 2 +- .../documents/jucer_ButtonDocument.cpp | 0 .../documents/jucer_ButtonDocument.h | 0 .../documents/jucer_ComponentDocument.cpp | 0 .../documents/jucer_ComponentDocument.h | 0 .../ComponentEditor/jucer_BinaryResources.cpp | 0 .../ComponentEditor/jucer_BinaryResources.h | 0 .../ComponentEditor/jucer_ComponentLayout.cpp | 0 .../ComponentEditor/jucer_ComponentLayout.h | 0 .../ComponentEditor/jucer_GeneratedCode.cpp | 0 .../ComponentEditor/jucer_GeneratedCode.h | 0 .../ComponentEditor/jucer_JucerDocument.cpp | 18 +- .../ComponentEditor/jucer_JucerDocument.h | 0 .../ComponentEditor/jucer_ObjectTypes.cpp | 0 .../ComponentEditor/jucer_ObjectTypes.h | 0 .../ComponentEditor/jucer_PaintRoutine.cpp | 0 .../ComponentEditor/jucer_PaintRoutine.h | 0 .../ComponentEditor/jucer_UtilityFunctions.h | 0 .../paintelements/jucer_ColouredElement.cpp | 0 .../paintelements/jucer_ColouredElement.h | 0 .../jucer_ElementSiblingComponent.h | 0 .../paintelements/jucer_FillType.h | 0 .../jucer_GradientPointComponent.h | 0 .../jucer_ImageResourceProperty.h | 0 .../paintelements/jucer_PaintElement.cpp | 2 +- .../paintelements/jucer_PaintElement.h | 0 .../paintelements/jucer_PaintElementEllipse.h | 0 .../paintelements/jucer_PaintElementGroup.h | 0 .../paintelements/jucer_PaintElementImage.h | 0 .../paintelements/jucer_PaintElementPath.cpp | 0 .../paintelements/jucer_PaintElementPath.h | 0 .../jucer_PaintElementRectangle.h | 0 .../jucer_PaintElementRoundedRectangle.h | 0 .../paintelements/jucer_PaintElementText.h | 0 .../jucer_PaintElementUndoableAction.h | 0 .../paintelements/jucer_PointComponent.h | 0 .../paintelements/jucer_StrokeType.h | 0 .../jucer_ColourPropertyComponent.h | 2 - .../jucer_ComponentBooleanProperty.h | 0 .../jucer_ComponentChoiceProperty.h | 0 .../jucer_ComponentColourProperty.h | 0 .../properties/jucer_ComponentTextProperty.h | 0 .../properties/jucer_FilePropertyComponent.h | 0 .../properties/jucer_FontPropertyComponent.h | 0 .../properties/jucer_JustificationProperty.h | 0 .../properties/jucer_PositionPropertyBase.h | 0 .../ui/jucer_ComponentLayoutEditor.cpp | 2 +- .../ui/jucer_ComponentLayoutEditor.h | 0 .../ui/jucer_ComponentLayoutPanel.h | 0 .../ui/jucer_ComponentOverlayComponent.cpp | 0 .../ui/jucer_ComponentOverlayComponent.h | 0 .../ui/jucer_EditingPanelBase.cpp | 0 .../ui/jucer_EditingPanelBase.h | 0 .../ui/jucer_JucerCommandIDs.h | 0 .../ui/jucer_JucerDocumentEditor.cpp | 10 +- .../ui/jucer_JucerDocumentEditor.h | 0 .../ui/jucer_PaintRoutineEditor.cpp | 2 +- .../ui/jucer_PaintRoutineEditor.h | 0 .../ui/jucer_PaintRoutinePanel.cpp | 0 .../ui/jucer_PaintRoutinePanel.h | 0 .../ui/jucer_RelativePositionedRectangle.h | 0 .../ui/jucer_ResourceEditorPanel.cpp | 0 .../ui/jucer_ResourceEditorPanel.h | 0 .../ui/jucer_SnapGridPainter.h | 0 .../ui/jucer_TestComponent.cpp | 2 +- .../ComponentEditor/ui/jucer_TestComponent.h | 0 .../LiveBuildEngine/projucer_ActivityList.h | 106 + .../projucer_ActivityListComponent.h | 101 + .../projucer_BuildTabStatusComp.h | 136 + .../LiveBuildEngine/projucer_ClassDatabase.h | 712 +++ .../projucer_ClientServerMessages.h | 293 + .../projucer_CompileEngineClient.cpp | 899 +++ .../projucer_CompileEngineClient.h | 171 + .../projucer_CompileEngineDLL.h | 186 + .../projucer_CompileEngineServer.cpp | 308 + .../projucer_CompileEngineServer.h | 37 + .../projucer_ComponentListComp.h | 253 + .../LiveBuildEngine/projucer_CppHelpers.h | 278 + .../projucer_DiagnosticMessage.h | 163 + .../LiveBuildEngine/projucer_ErrorList.h | 115 + .../projucer_ErrorListComponent.h | 350 ++ .../projucer_LiveCodeBuilderDLL.h | 60 + .../LiveBuildEngine/projucer_MessageIDs.h | 59 + .../projucer_ProjectBuildInfo.h | 93 + .../projucer_SourceCodeRange.h | 100 + .../jucer_ProjectExport_AndroidAnt.h | 38 +- .../jucer_ProjectExport_AndroidBase.h | 50 +- .../jucer_ProjectExport_AndroidStudio.h | 47 +- .../jucer_ProjectExport_CodeBlocks.h | 39 +- .../Project Saving/jucer_ProjectExport_MSVC.h | 254 +- .../Project Saving/jucer_ProjectExport_Make.h | 41 +- .../jucer_ProjectExport_XCode.h | 2738 ++++++++ .../Project Saving/jucer_ProjectExporter.cpp | 156 +- .../Project Saving/jucer_ProjectExporter.h | 60 +- .../Project Saving/jucer_ProjectSaver.cpp | 135 + .../Project Saving/jucer_ProjectSaver.h | 90 +- .../Project Saving/jucer_ResourceFile.cpp | 0 .../Project Saving/jucer_ResourceFile.h | 0 .../Source/Project/jucer_ConfigTree_Base.h | 4 +- .../Project/jucer_ConfigTree_Exporter.h | 0 .../Source/Project/jucer_ConfigTree_Modules.h | 22 +- .../jucer_DependencyPathPropertyComponent.cpp | 0 .../jucer_DependencyPathPropertyComponent.h | 2 +- .../Project/jucer_GroupInformationComponent.h | 2 +- .../Source/Project/jucer_Module.cpp | 557 +- .../Source/Project/jucer_Module.h | 47 +- .../Source/Project/jucer_ModulesPanel.h | 222 + .../Source/Project/jucer_Project.cpp | 252 +- .../Source/Project/jucer_Project.h | 55 +- .../Project/jucer_ProjectContentComponent.cpp | 515 +- .../Project/jucer_ProjectContentComponent.h | 64 +- .../Source/Project/jucer_ProjectTree_Base.h | 4 +- .../Source/Project/jucer_ProjectTree_File.h | 0 .../Source/Project/jucer_ProjectTree_Group.h | 0 .../Source/Project/jucer_ProjectType.h | 139 + .../Source/Project/jucer_TreeItemTypes.h | 0 .../Source/Utility/jucer_CodeHelpers.cpp | 0 .../Source/Utility/jucer_CodeHelpers.h | 0 .../Utility/jucer_ColourPropertyComponent.h | 0 .../Source/Utility/jucer_Colours.h | 0 .../Source/Utility/jucer_DialogLookAndFeel.h | 142 + .../Source/Utility/jucer_FileHelpers.cpp | 0 .../Source/Utility/jucer_FileHelpers.h | 0 .../Utility/jucer_FilePathPropertyComponent.h | 0 .../Source/Utility/jucer_FloatingToolWindow.h | 0 .../Source/Utility/jucer_Icons.cpp | 41 +- .../Source/Utility/jucer_Icons.h | 3 +- .../Utility/jucer_JucerTreeViewBase.cpp | 0 .../Source/Utility/jucer_JucerTreeViewBase.h | 0 .../Source/Utility/jucer_MiscUtilities.cpp | 0 .../Source/Utility/jucer_MiscUtilities.h | 0 .../Source/Utility/jucer_PresetIDs.h | 37 +- .../Utility/jucer_ProjucerLookAndFeel.cpp} | 22 +- .../Utility/jucer_ProjucerLookAndFeel.h} | 10 +- .../Source/Utility/jucer_RelativePath.h | 0 .../Utility/jucer_SVGPathDataComponent.h | 1 - .../Utility/jucer_SlidingPanelComponent.cpp | 0 .../Utility/jucer_SlidingPanelComponent.h | 0 .../Source/Utility/jucer_StoredSettings.cpp | 12 +- .../Source/Utility/jucer_StoredSettings.h | 0 .../Source/Utility/jucer_TranslationTool.h | 6 +- .../Source/Utility/jucer_UTF8Component.h | 1 - .../Source/Utility/jucer_ValueSourceHelpers.h | 0 .../Source/Wizards/jucer_NewFileWizard.cpp | 10 +- .../Source/Wizards/jucer_NewFileWizard.h | 0 .../Source/Wizards/jucer_NewProjectWizard.h | 2 +- .../Wizards/jucer_NewProjectWizardClasses.cpp | 1 - .../Wizards/jucer_NewProjectWizardClasses.h | 0 .../Wizards/jucer_NewProjectWizardComponent.h | 0 .../Wizards/jucer_ProjectWizard_Animated.h | 2 +- .../Wizards/jucer_ProjectWizard_AudioApp.h | 2 +- .../Wizards/jucer_ProjectWizard_AudioPlugin.h | 2 +- .../Wizards/jucer_ProjectWizard_Blank.h | 2 +- .../Wizards/jucer_ProjectWizard_Console.h | 2 +- .../Source/Wizards/jucer_ProjectWizard_DLL.h | 2 +- .../Wizards/jucer_ProjectWizard_GUIApp.h | 2 +- .../jucer_ProjectWizard_StaticLibrary.h | 2 +- .../Wizards/jucer_ProjectWizard_openGL.h | 2 +- .../Source/Wizards/jucer_StartPageComponent.h | 2 +- .../jucer_TemplateThumbnailsComponent.h | 8 +- .../Source/jucer_Headers.h | 17 +- .../Builds/LinuxMakefile/Makefile | 60 +- .../UnitTestRunner.xcodeproj/project.pbxproj | 1220 ++-- .../VisualStudio2015/UnitTestRunner.vcxproj | 1420 +++-- .../UnitTestRunner.vcxproj.filters | 2520 ++++---- .../JuceLibraryCode/AppConfig.h | 14 +- .../JuceLibraryCode/JuceHeader.h | 30 +- .../UnitTestRunner/JuceLibraryCode/ReadMe.txt | 6 +- .../JuceLibraryCode/juce_audio_basics.cpp | 9 + .../JuceLibraryCode/juce_audio_basics.mm | 9 + .../JuceLibraryCode/juce_audio_devices.cpp | 9 + .../JuceLibraryCode/juce_audio_devices.mm | 9 + .../JuceLibraryCode/juce_audio_formats.cpp | 9 + .../JuceLibraryCode/juce_audio_formats.mm | 9 + .../JuceLibraryCode/juce_audio_processors.cpp | 9 + .../JuceLibraryCode/juce_audio_processors.mm | 9 + .../JuceLibraryCode/juce_core.cpp | 9 + .../JuceLibraryCode/juce_core.mm | 9 + .../JuceLibraryCode/juce_cryptography.cpp | 9 + .../JuceLibraryCode/juce_cryptography.mm | 9 + .../JuceLibraryCode/juce_data_structures.cpp | 9 + .../JuceLibraryCode/juce_data_structures.mm | 9 + .../JuceLibraryCode/juce_events.cpp | 9 + .../JuceLibraryCode/juce_events.mm | 9 + .../JuceLibraryCode/juce_graphics.cpp | 9 + .../JuceLibraryCode/juce_graphics.mm | 9 + .../JuceLibraryCode/juce_gui_basics.cpp | 9 + .../JuceLibraryCode/juce_gui_basics.mm | 9 + .../JuceLibraryCode/juce_gui_extra.cpp | 9 + .../JuceLibraryCode/juce_gui_extra.mm | 9 + .../JuceLibraryCode/juce_opengl.cpp | 9 + .../JuceLibraryCode/juce_opengl.mm | 9 + .../JuceLibraryCode/juce_osc.cpp | 9 + .../JuceLibraryCode/juce_video.cpp | 9 + .../JuceLibraryCode/juce_video.mm | 9 + .../juce_audio_basics/juce_audio_basics.h | 4 - .../juce_audio_devices/juce_audio_devices.h | 4 - .../juce_audio_formats/juce_audio_formats.h | 4 - .../juce_audio_processors.h | 4 - .../modules/juce_core/juce_core.h | 4 - .../juce_cryptography/juce_cryptography.h | 4 - .../juce_data_structures.h | 4 - .../modules/juce_events/juce_events.h | 4 - .../modules/juce_graphics/juce_graphics.h | 4 - .../modules/juce_gui_basics/juce_gui_basics.h | 4 - .../modules/juce_gui_extra/juce_gui_extra.h | 4 - .../modules/juce_opengl/juce_opengl.h | 4 - .../modules/juce_osc/juce_osc.h | 4 - .../modules/juce_video/juce_video.h | 4 - extras/UnitTestRunner/UnitTestRunner.jucer | 2 +- extras/binarybuilder/BinaryBuilder.jucer | 10 +- extras/binarybuilder/Builds/Linux/Makefile | 8 +- .../BinaryBuilder.xcodeproj/project.pbxproj | 356 +- .../VisualStudio2010/BinaryBuilder.vcxproj | 389 +- .../BinaryBuilder.vcxproj.filters | 677 +- .../binarybuilder/JuceLibraryCode/AppConfig.h | 14 +- .../JuceLibraryCode/JuceHeader.h | 4 +- .../binarybuilder/JuceLibraryCode/ReadMe.txt | 6 +- .../JuceLibraryCode/juce_core.cpp | 9 + .../JuceLibraryCode/juce_core.mm | 9 + .../modules/juce_core/juce_core.h | 4 - .../Builds/VisualStudio2010/juce_dll.vcxproj | 1422 +++-- .../VisualStudio2010/juce_dll.vcxproj.filters | 2530 ++++---- .../windows dll/JuceLibraryCode/AppConfig.h | 14 +- .../windows dll/JuceLibraryCode/JuceHeader.h | 30 +- extras/windows dll/JuceLibraryCode/ReadMe.txt | 6 +- .../JuceLibraryCode/juce_audio_basics.cpp | 9 + .../JuceLibraryCode/juce_audio_basics.mm | 9 + .../JuceLibraryCode/juce_audio_devices.cpp | 9 + .../JuceLibraryCode/juce_audio_devices.mm | 9 + .../JuceLibraryCode/juce_audio_formats.cpp | 9 + .../JuceLibraryCode/juce_audio_formats.mm | 9 + .../JuceLibraryCode/juce_audio_processors.cpp | 9 + .../JuceLibraryCode/juce_audio_processors.mm | 9 + .../JuceLibraryCode/juce_audio_utils.cpp | 9 + .../JuceLibraryCode/juce_audio_utils.mm | 9 + .../windows dll/JuceLibraryCode/juce_core.cpp | 9 + .../windows dll/JuceLibraryCode/juce_core.mm | 9 + .../JuceLibraryCode/juce_cryptography.cpp | 9 + .../JuceLibraryCode/juce_cryptography.mm | 9 + .../JuceLibraryCode/juce_data_structures.cpp | 9 + .../JuceLibraryCode/juce_data_structures.mm | 9 + .../JuceLibraryCode/juce_events.cpp | 9 + .../JuceLibraryCode/juce_events.mm | 9 + .../JuceLibraryCode/juce_graphics.cpp | 9 + .../JuceLibraryCode/juce_graphics.mm | 9 + .../JuceLibraryCode/juce_gui_basics.cpp | 9 + .../JuceLibraryCode/juce_gui_basics.mm | 9 + .../JuceLibraryCode/juce_gui_extra.cpp | 9 + .../JuceLibraryCode/juce_gui_extra.mm | 9 + .../JuceLibraryCode/juce_opengl.cpp | 9 + .../JuceLibraryCode/juce_opengl.mm | 9 + .../JuceLibraryCode/juce_video.cpp | 9 + .../windows dll/JuceLibraryCode/juce_video.mm | 9 + .../juce_audio_basics/juce_audio_basics.h | 4 - .../juce_audio_devices/juce_audio_devices.h | 4 - .../juce_audio_formats/juce_audio_formats.h | 4 - .../juce_audio_processors.h | 4 - .../juce_audio_utils/juce_audio_utils.h | 4 - .../modules/juce_core/juce_core.h | 4 - .../juce_cryptography/juce_cryptography.h | 4 - .../juce_data_structures.h | 4 - .../modules/juce_events/juce_events.h | 4 - .../modules/juce_graphics/juce_graphics.h | 4 - .../modules/juce_gui_basics/juce_gui_basics.h | 4 - .../modules/juce_gui_extra/juce_gui_extra.h | 4 - .../modules/juce_opengl/juce_opengl.h | 4 - .../modules/juce_video/juce_video.h | 4 - extras/windows dll/jucedll.jucer | 2 +- modules/JUCE Module Format.txt | 160 + .../effects/juce_CatmullRomInterpolator.cpp | 1 - .../effects/juce_CatmullRomInterpolator.h | 1 - .../effects/juce_LagrangeInterpolator.h | 1 - .../juce_audio_basics/juce_audio_basics.cpp | 7 + modules/juce_audio_basics/juce_audio_basics.h | 29 +- modules/juce_audio_basics/juce_module_info | 25 - .../juce_audio_basics/midi/juce_MidiRPN.cpp | 3 +- .../mpe/juce_MPEMessages.cpp | 1 - .../juce_audio_devices/juce_audio_devices.h | 34 +- modules/juce_audio_devices/juce_module_info | 28 - .../native/juce_android_Midi.cpp | 2 +- .../native/juce_android_OpenSL.cpp | 4 +- .../native/juce_ios_Audio.cpp | 10 + .../native/juce_linux_JackAudio.cpp | 2 +- .../codecs/juce_QuickTimeAudioFormat.cpp | 2 +- .../juce_audio_formats/juce_audio_formats.h | 28 +- modules/juce_audio_formats/juce_module_info | 22 - .../AAX/juce_AAX_Wrapper.cpp | 158 +- .../juce_audio_plugin_client/AU/AUResources.r | 140 - .../AU/juce_AU_Shared.h | 778 +++ .../AU/juce_AU_Wrapper.mm | 897 +-- .../AU/juce_AUv3_Wrapper.mm | 1265 ++++ .../RTAS/juce_RTAS_DigiCode1.cpp | 14 + .../RTAS/juce_RTAS_DigiCode2.cpp | 13 + .../RTAS/juce_RTAS_DigiCode3.cpp | 16 +- .../RTAS/juce_RTAS_DigiCode_Header.h | 3 +- .../RTAS/juce_RTAS_MacResources.r | 6 - .../RTAS/juce_RTAS_Wrapper.cpp | 27 +- .../Standalone/juce_StandaloneFilterApp.cpp | 95 + .../Standalone/juce_StandaloneFilterWindow.h | 9 +- .../VST/juce_VST_Wrapper.cpp | 459 +- .../VST/juce_VST_Wrapper.mm | 14 +- .../VST3/juce_VST3_Wrapper.cpp | 26 +- .../juce_audio_plugin_client.h | 30 +- .../juce_audio_plugin_client_AAX.cpp | 5 +- .../juce_audio_plugin_client_AAX.mm | 25 + .../juce_audio_plugin_client_AU_1.mm | 25 + .../juce_audio_plugin_client_AU_2.mm | 66 + .../juce_audio_plugin_client_AUv3.mm | 25 + .../juce_audio_plugin_client_RTAS_1.cpp | 25 + .../juce_audio_plugin_client_RTAS_2.cpp | 25 + .../juce_audio_plugin_client_RTAS_3.cpp | 25 + .../juce_audio_plugin_client_RTAS_4.cpp | 25 + .../juce_audio_plugin_client_RTAS_utils.cpp | 25 + .../juce_audio_plugin_client_RTAS_utils.mm | 25 + .../juce_audio_plugin_client_Standalone.cpp | 29 + .../juce_audio_plugin_client_VST2.cpp | 25 + .../juce_audio_plugin_client_VST3.cpp | 25 + .../juce_audio_plugin_client_VST_utils.mm | 25 + .../juce_audio_plugin_client_utils.cpp | 25 + .../juce_audio_plugin_client/juce_module_info | 63 - .../utility/juce_CheckSettingMacros.h | 3 +- .../utility/juce_IncludeModuleHeaders.h | 2 +- .../utility/juce_IncludeSystemHeaders.h | 10 +- .../utility/juce_PluginBusUtilities.h | 478 +- .../utility/juce_PluginHostType.h | 31 +- .../utility/juce_PluginUtilities.cpp | 7 +- .../format/juce_AudioPluginFormat.cpp | 178 + .../format/juce_AudioPluginFormat.h | 70 +- .../format/juce_AudioPluginFormatManager.cpp | 90 +- .../format/juce_AudioPluginFormatManager.h | 42 + .../format_types/juce_AudioUnitPluginFormat.h | 14 +- .../juce_AudioUnitPluginFormat.mm | 380 +- .../format_types/juce_LADSPAPluginFormat.cpp | 19 +- .../format_types/juce_LADSPAPluginFormat.h | 10 +- .../format_types/juce_VST3Common.h | 32 +- .../format_types/juce_VST3Headers.h | 2 +- .../format_types/juce_VST3PluginFormat.cpp | 22 +- .../format_types/juce_VST3PluginFormat.h | 23 +- .../format_types/juce_VSTPluginFormat.cpp | 23 +- .../format_types/juce_VSTPluginFormat.h | 11 +- .../juce_audio_processors.cpp | 27 +- .../juce_audio_processors.h | 30 +- .../juce_audio_processors/juce_module_info | 26 - .../processors/juce_AudioChannelSet.cpp | 178 +- .../processors/juce_AudioChannelSet.h | 77 +- .../processors/juce_AudioProcessor.cpp | 34 +- .../processors/juce_AudioProcessor.h | 5 +- .../scanning/juce_PluginDirectoryScanner.cpp | 8 +- .../scanning/juce_PluginDirectoryScanner.h | 7 +- .../scanning/juce_PluginListComponent.cpp | 63 +- .../scanning/juce_PluginListComponent.h | 10 +- .../utilities/juce_AudioParameterBool.h | 3 +- .../utilities/juce_AudioParameterChoice.h | 3 +- .../utilities/juce_AudioParameterFloat.h | 3 +- .../utilities/juce_AudioParameterInt.h | 3 +- .../juce_AudioProcessorParameterWithID.h | 3 +- .../juce_AudioProcessorParameters.cpp | 2 +- .../juce_AudioProcessorValueTreeState.cpp | 3 +- .../juce_AudioProcessorValueTreeState.h | 2 +- modules/juce_audio_utils/juce_audio_utils.cpp | 8 +- modules/juce_audio_utils/juce_audio_utils.h | 33 +- modules/juce_audio_utils/juce_module_info | 24 - ...oid_BluetoothMidiDevicePairingDialogue.cpp | 1 - ..._ios_BluetoothMidiDevicePairingDialogue.mm | 2 +- .../players/juce_AudioProcessorPlayer.cpp | 34 +- modules/juce_box2d/juce_box2d.h | 26 +- modules/juce_box2d/juce_module_info | 16 - modules/juce_core/juce_core.cpp | 3 +- modules/juce_core/juce_core.h | 34 + modules/juce_core/juce_module_info | 38 - .../memory/juce_ReferenceCountedObject.h | 12 +- .../juce_core/misc/juce_RuntimePermissions.h | 6 +- .../native/java/JuceAppActivity.java | 6 +- .../juce_android_RuntimePermissions.cpp | 2 +- modules/juce_core/native/juce_mac_Files.mm | 4 + modules/juce_core/native/juce_mac_Threads.mm | 9 +- .../juce_core/native/juce_osx_ObjCHelpers.h | 52 +- .../juce_core/native/juce_posix_SharedCode.h | 15 +- modules/juce_core/network/juce_Socket.cpp | 1487 ++--- .../juce_core/system/juce_StandardHeader.h | 29 +- modules/juce_core/system/juce_SystemStats.cpp | 18 + modules/juce_core/system/juce_SystemStats.h | 6 + .../juce_core/system/juce_TargetPlatform.h | 14 +- modules/juce_core/text/juce_String.cpp | 4 +- modules/juce_core/threads/juce_Thread.cpp | 8 + modules/juce_core/threads/juce_Thread.h | 12 +- modules/juce_core/time/juce_Time.cpp | 11 +- modules/juce_core/xml/juce_XmlElement.cpp | 5 + modules/juce_cryptography/juce_cryptography.h | 26 +- modules/juce_cryptography/juce_module_info | 18 - .../juce_data_structures.h | 26 +- modules/juce_data_structures/juce_module_info | 20 - modules/juce_events/juce_events.h | 27 +- modules/juce_events/juce_module_info | 23 - .../native/juce_ios_MessageManager.mm | 4 +- .../native/juce_linux_Messaging.cpp | 1 - modules/juce_events/timers/juce_Timer.h | 8 +- .../juce_graphics/fonts/juce_CustomTypeface.h | 2 +- .../image_formats/juce_JPEGLoader.cpp | 2 +- modules/juce_graphics/juce_graphics.h | 31 +- modules/juce_graphics/juce_module_info | 30 - .../native/juce_mac_CoreGraphicsContext.mm | 2 +- .../juce_win32_DirectWriteTypeLayout.cpp | 1 - .../buttons/juce_HyperlinkButton.cpp | 2 +- modules/juce_gui_basics/juce_gui_basics.h | 31 +- modules/juce_gui_basics/juce_module_info | 40 - .../lookandfeel/juce_LookAndFeel_V3.cpp | 1 + .../juce_gui_basics/menus/juce_PopupMenu.cpp | 1 - .../native/juce_ios_UIViewComponentPeer.mm | 24 +- .../native/juce_ios_Windowing.mm | 14 +- .../native/juce_linux_Windowing.cpp | 2 +- .../native/juce_mac_NSViewComponentPeer.mm | 18 +- .../juce_CPlusPlusCodeTokeniserFunctions.h | 34 +- modules/juce_gui_extra/juce_gui_extra.h | 28 +- modules/juce_gui_extra/juce_module_info | 24 - modules/juce_opengl/juce_module_info | 25 - modules/juce_opengl/juce_opengl.h | 38 +- modules/juce_osc/juce_module_info | 16 - modules/juce_osc/juce_osc.cpp | 2 +- modules/juce_osc/juce_osc.h | 30 +- modules/juce_osc/osc/juce_OSCAddress.cpp | 2 +- modules/juce_osc/osc/juce_OSCAddress.h | 2 +- modules/juce_osc/osc/juce_OSCArgument.cpp | 3 +- modules/juce_osc/osc/juce_OSCArgument.h | 2 +- modules/juce_osc/osc/juce_OSCBundle.cpp | 2 +- modules/juce_osc/osc/juce_OSCBundle.h | 2 +- modules/juce_osc/osc/juce_OSCMessage.cpp | 2 +- modules/juce_osc/osc/juce_OSCMessage.h | 4 +- modules/juce_osc/osc/juce_OSCReceiver.cpp | 2 +- modules/juce_osc/osc/juce_OSCReceiver.h | 2 +- modules/juce_osc/osc/juce_OSCSender.cpp | 2 +- modules/juce_osc/osc/juce_OSCSender.h | 4 +- modules/juce_osc/osc/juce_OSCTimeTag.cpp | 2 +- modules/juce_osc/osc/juce_OSCTimeTag.h | 4 +- modules/juce_osc/osc/juce_OSCTypes.cpp | 2 +- modules/juce_osc/osc/juce_OSCTypes.h | 2 +- .../juce_module_info | 18 - .../juce_tracktion_marketplace.h | 30 +- .../marketplace/juce_OnlineUnlockStatus.cpp | 10 +- .../marketplace/juce_OnlineUnlockStatus.h | 35 +- .../juce_TracktionMarketplaceStatus.h | 1 - modules/juce_video/juce_module_info | 21 - modules/juce_video/juce_video.cpp | 1 - modules/juce_video/juce_video.h | 28 +- 1979 files changed, 130149 insertions(+), 129257 deletions(-) create mode 100644 examples/AUv3Synth/AUv3Synth.jucer create mode 100644 examples/AUv3Synth/Builds/MacOSX/AUv3Synth.entitlements create mode 100644 examples/AUv3Synth/Builds/MacOSX/AUv3Synth.xcodeproj/project.pbxproj create mode 100644 examples/AUv3Synth/Builds/MacOSX/Info-AUv3_AppExtension.plist create mode 100644 examples/AUv3Synth/Builds/MacOSX/Info-AUv3_Standalone.plist create mode 100644 examples/AUv3Synth/Builds/MacOSX/Info-Shared_Code.plist create mode 100644 examples/AUv3Synth/Builds/MacOSX/Info-VST.plist create mode 100644 examples/AUv3Synth/Builds/MacOSX/Info-VST3.plist rename examples/{PlugInSamples/Spatializer => AUv3Synth}/Builds/MacOSX/RecentFilesMenuTemplate.nib (100%) create mode 100644 examples/AUv3Synth/Builds/iOS/AUv3Synth.xcodeproj/project.pbxproj create mode 100644 examples/AUv3Synth/Builds/iOS/AUv3Synth/Images.xcassets/AppIcon.appiconset/Contents.json create mode 100644 examples/AUv3Synth/Builds/iOS/AUv3Synth/Images.xcassets/LaunchImage.launchimage/Contents.json create mode 100644 examples/AUv3Synth/Builds/iOS/AUv3Synth/Images.xcassets/LaunchImage.launchimage/LaunchImage-ipad-landscape-1x.png create mode 100644 examples/AUv3Synth/Builds/iOS/AUv3Synth/Images.xcassets/LaunchImage.launchimage/LaunchImage-ipad-landscape-2x.png create mode 100644 examples/AUv3Synth/Builds/iOS/AUv3Synth/Images.xcassets/LaunchImage.launchimage/LaunchImage-ipad-portrait-1x.png create mode 100644 examples/AUv3Synth/Builds/iOS/AUv3Synth/Images.xcassets/LaunchImage.launchimage/LaunchImage-ipad-portrait-2x.png create mode 100644 examples/AUv3Synth/Builds/iOS/AUv3Synth/Images.xcassets/LaunchImage.launchimage/LaunchImage-iphone-2x.png create mode 100644 examples/AUv3Synth/Builds/iOS/AUv3Synth/Images.xcassets/LaunchImage.launchimage/LaunchImage-iphone-retina4.png create mode 100644 examples/AUv3Synth/Builds/iOS/Info-AUv3_AppExtension.plist create mode 100644 examples/AUv3Synth/Builds/iOS/Info-AUv3_Standalone.plist create mode 100644 examples/AUv3Synth/Builds/iOS/Info-Shared_Code.plist rename examples/{PlugInSamples/Spatializer => AUv3Synth}/JuceLibraryCode/AppConfig.h (74%) create mode 100644 examples/AUv3Synth/JuceLibraryCode/BinaryData.cpp create mode 100644 examples/AUv3Synth/JuceLibraryCode/BinaryData.h create mode 100644 examples/AUv3Synth/JuceLibraryCode/JuceHeader.h rename examples/{PlugInSamples/Spatializer => AUv3Synth}/JuceLibraryCode/ReadMe.txt (77%) create mode 100644 examples/AUv3Synth/JuceLibraryCode/juce_audio_basics.cpp create mode 100644 examples/AUv3Synth/JuceLibraryCode/juce_audio_basics.mm create mode 100644 examples/AUv3Synth/JuceLibraryCode/juce_audio_devices.cpp create mode 100644 examples/AUv3Synth/JuceLibraryCode/juce_audio_devices.mm create mode 100644 examples/AUv3Synth/JuceLibraryCode/juce_audio_formats.cpp create mode 100644 examples/AUv3Synth/JuceLibraryCode/juce_audio_formats.mm create mode 100644 examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_AAX.cpp create mode 100644 examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_AAX.mm create mode 100644 examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_AU_1.mm create mode 100644 examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_AU_2.mm create mode 100644 examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_AUv3.mm create mode 100644 examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_RTAS_1.cpp create mode 100644 examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_RTAS_2.cpp create mode 100644 examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_RTAS_3.cpp create mode 100644 examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_RTAS_4.cpp create mode 100644 examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.cpp create mode 100644 examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.mm create mode 100644 examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_Standalone.cpp create mode 100644 examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_VST2.cpp create mode 100644 examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_VST3.cpp create mode 100644 examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_VST_utils.mm create mode 100644 examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_utils.cpp create mode 100644 examples/AUv3Synth/JuceLibraryCode/juce_audio_processors.cpp create mode 100644 examples/AUv3Synth/JuceLibraryCode/juce_audio_processors.mm create mode 100644 examples/AUv3Synth/JuceLibraryCode/juce_audio_utils.cpp create mode 100644 examples/AUv3Synth/JuceLibraryCode/juce_audio_utils.mm create mode 100644 examples/AUv3Synth/JuceLibraryCode/juce_core.cpp create mode 100644 examples/AUv3Synth/JuceLibraryCode/juce_core.mm create mode 100644 examples/AUv3Synth/JuceLibraryCode/juce_data_structures.cpp create mode 100644 examples/AUv3Synth/JuceLibraryCode/juce_data_structures.mm create mode 100644 examples/AUv3Synth/JuceLibraryCode/juce_events.cpp create mode 100644 examples/AUv3Synth/JuceLibraryCode/juce_events.mm create mode 100644 examples/AUv3Synth/JuceLibraryCode/juce_graphics.cpp create mode 100644 examples/AUv3Synth/JuceLibraryCode/juce_graphics.mm create mode 100644 examples/AUv3Synth/JuceLibraryCode/juce_gui_basics.cpp create mode 100644 examples/AUv3Synth/JuceLibraryCode/juce_gui_basics.mm create mode 100644 examples/AUv3Synth/JuceLibraryCode/juce_gui_extra.cpp create mode 100644 examples/AUv3Synth/JuceLibraryCode/juce_gui_extra.mm create mode 100644 examples/AUv3Synth/Source/AUv3SynthEditor.h create mode 100644 examples/AUv3Synth/Source/AUv3SynthProcessor.cpp create mode 100644 examples/AUv3Synth/Source/BinaryData/power.png create mode 100644 examples/AUv3Synth/Source/BinaryData/proaudio.path create mode 100644 examples/AUv3Synth/Source/BinaryData/singing.ogg create mode 100644 examples/AUv3Synth/Source/MaterialLookAndFeel.h rename examples/AnimationAppExample/Builds/MacOSX/{Info.plist => Info-App.plist} (88%) rename examples/AnimationAppExample/Builds/iOS/{Info.plist => Info-App.plist} (84%) create mode 100644 examples/AnimationAppExample/JuceLibraryCode/juce_audio_basics.cpp create mode 100644 examples/AnimationAppExample/JuceLibraryCode/juce_audio_basics.mm create mode 100644 examples/AnimationAppExample/JuceLibraryCode/juce_audio_devices.cpp create mode 100644 examples/AnimationAppExample/JuceLibraryCode/juce_audio_devices.mm create mode 100644 examples/AnimationAppExample/JuceLibraryCode/juce_audio_formats.cpp create mode 100644 examples/AnimationAppExample/JuceLibraryCode/juce_audio_formats.mm create mode 100644 examples/AnimationAppExample/JuceLibraryCode/juce_audio_processors.cpp create mode 100644 examples/AnimationAppExample/JuceLibraryCode/juce_audio_processors.mm create mode 100644 examples/AnimationAppExample/JuceLibraryCode/juce_core.cpp create mode 100644 examples/AnimationAppExample/JuceLibraryCode/juce_core.mm create mode 100644 examples/AnimationAppExample/JuceLibraryCode/juce_cryptography.cpp create mode 100644 examples/AnimationAppExample/JuceLibraryCode/juce_cryptography.mm create mode 100644 examples/AnimationAppExample/JuceLibraryCode/juce_data_structures.cpp create mode 100644 examples/AnimationAppExample/JuceLibraryCode/juce_data_structures.mm create mode 100644 examples/AnimationAppExample/JuceLibraryCode/juce_events.cpp create mode 100644 examples/AnimationAppExample/JuceLibraryCode/juce_events.mm create mode 100644 examples/AnimationAppExample/JuceLibraryCode/juce_graphics.cpp create mode 100644 examples/AnimationAppExample/JuceLibraryCode/juce_graphics.mm create mode 100644 examples/AnimationAppExample/JuceLibraryCode/juce_gui_basics.cpp create mode 100644 examples/AnimationAppExample/JuceLibraryCode/juce_gui_basics.mm create mode 100644 examples/AnimationAppExample/JuceLibraryCode/juce_gui_extra.cpp create mode 100644 examples/AnimationAppExample/JuceLibraryCode/juce_gui_extra.mm create mode 100644 examples/AnimationAppExample/JuceLibraryCode/juce_opengl.cpp create mode 100644 examples/AnimationAppExample/JuceLibraryCode/juce_opengl.mm create mode 100644 examples/AnimationAppExample/JuceLibraryCode/juce_video.cpp create mode 100644 examples/AnimationAppExample/JuceLibraryCode/juce_video.mm delete mode 100644 examples/AnimationAppExample/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h delete mode 100644 examples/AnimationAppExample/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h delete mode 100644 examples/AnimationAppExample/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h delete mode 100644 examples/AnimationAppExample/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h delete mode 100644 examples/AnimationAppExample/JuceLibraryCode/modules/juce_core/juce_core.h delete mode 100644 examples/AnimationAppExample/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h delete mode 100644 examples/AnimationAppExample/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h delete mode 100644 examples/AnimationAppExample/JuceLibraryCode/modules/juce_events/juce_events.h delete mode 100644 examples/AnimationAppExample/JuceLibraryCode/modules/juce_graphics/juce_graphics.h delete mode 100644 examples/AnimationAppExample/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h delete mode 100644 examples/AnimationAppExample/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h delete mode 100644 examples/AnimationAppExample/JuceLibraryCode/modules/juce_opengl/juce_opengl.h delete mode 100644 examples/AnimationAppExample/JuceLibraryCode/modules/juce_video/juce_video.h rename examples/AudioAppExample/Builds/MacOSX/{Info.plist => Info-App.plist} (88%) rename examples/AudioAppExample/Builds/iOS/{Info.plist => Info-App.plist} (85%) create mode 100644 examples/AudioAppExample/JuceLibraryCode/juce_audio_basics.cpp create mode 100644 examples/AudioAppExample/JuceLibraryCode/juce_audio_basics.mm create mode 100644 examples/AudioAppExample/JuceLibraryCode/juce_audio_devices.cpp create mode 100644 examples/AudioAppExample/JuceLibraryCode/juce_audio_devices.mm create mode 100644 examples/AudioAppExample/JuceLibraryCode/juce_audio_formats.cpp create mode 100644 examples/AudioAppExample/JuceLibraryCode/juce_audio_formats.mm create mode 100644 examples/AudioAppExample/JuceLibraryCode/juce_audio_processors.cpp create mode 100644 examples/AudioAppExample/JuceLibraryCode/juce_audio_processors.mm create mode 100644 examples/AudioAppExample/JuceLibraryCode/juce_audio_utils.cpp create mode 100644 examples/AudioAppExample/JuceLibraryCode/juce_audio_utils.mm create mode 100644 examples/AudioAppExample/JuceLibraryCode/juce_core.cpp create mode 100644 examples/AudioAppExample/JuceLibraryCode/juce_core.mm create mode 100644 examples/AudioAppExample/JuceLibraryCode/juce_cryptography.cpp create mode 100644 examples/AudioAppExample/JuceLibraryCode/juce_cryptography.mm create mode 100644 examples/AudioAppExample/JuceLibraryCode/juce_data_structures.cpp create mode 100644 examples/AudioAppExample/JuceLibraryCode/juce_data_structures.mm create mode 100644 examples/AudioAppExample/JuceLibraryCode/juce_events.cpp create mode 100644 examples/AudioAppExample/JuceLibraryCode/juce_events.mm create mode 100644 examples/AudioAppExample/JuceLibraryCode/juce_graphics.cpp create mode 100644 examples/AudioAppExample/JuceLibraryCode/juce_graphics.mm create mode 100644 examples/AudioAppExample/JuceLibraryCode/juce_gui_basics.cpp create mode 100644 examples/AudioAppExample/JuceLibraryCode/juce_gui_basics.mm create mode 100644 examples/AudioAppExample/JuceLibraryCode/juce_gui_extra.cpp create mode 100644 examples/AudioAppExample/JuceLibraryCode/juce_gui_extra.mm create mode 100644 examples/AudioAppExample/JuceLibraryCode/juce_opengl.cpp create mode 100644 examples/AudioAppExample/JuceLibraryCode/juce_opengl.mm create mode 100644 examples/AudioAppExample/JuceLibraryCode/juce_video.cpp create mode 100644 examples/AudioAppExample/JuceLibraryCode/juce_video.mm delete mode 100644 examples/AudioAppExample/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h delete mode 100644 examples/AudioAppExample/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h delete mode 100644 examples/AudioAppExample/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h delete mode 100644 examples/AudioAppExample/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h delete mode 100644 examples/AudioAppExample/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h delete mode 100644 examples/AudioAppExample/JuceLibraryCode/modules/juce_core/juce_core.h delete mode 100644 examples/AudioAppExample/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h delete mode 100644 examples/AudioAppExample/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h delete mode 100644 examples/AudioAppExample/JuceLibraryCode/modules/juce_events/juce_events.h delete mode 100644 examples/AudioAppExample/JuceLibraryCode/modules/juce_graphics/juce_graphics.h delete mode 100644 examples/AudioAppExample/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h delete mode 100644 examples/AudioAppExample/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h delete mode 100644 examples/AudioAppExample/JuceLibraryCode/modules/juce_opengl/juce_opengl.h delete mode 100644 examples/AudioAppExample/JuceLibraryCode/modules/juce_video/juce_video.h rename examples/BouncingBallWavetableDemo/Builds/MacOSX/{Info.plist => Info-App.plist} (88%) create mode 100644 examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_audio_basics.cpp create mode 100644 examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_audio_basics.mm create mode 100644 examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_audio_devices.cpp create mode 100644 examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_audio_devices.mm create mode 100644 examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_audio_formats.cpp create mode 100644 examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_audio_formats.mm create mode 100644 examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_audio_processors.cpp create mode 100644 examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_audio_processors.mm create mode 100644 examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_audio_utils.cpp create mode 100644 examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_audio_utils.mm create mode 100644 examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_core.cpp create mode 100644 examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_core.mm create mode 100644 examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_cryptography.cpp create mode 100644 examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_cryptography.mm create mode 100644 examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_data_structures.cpp create mode 100644 examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_data_structures.mm create mode 100644 examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_events.cpp create mode 100644 examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_events.mm create mode 100644 examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_graphics.cpp create mode 100644 examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_graphics.mm create mode 100644 examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_gui_basics.cpp create mode 100644 examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_gui_basics.mm create mode 100644 examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_gui_extra.cpp create mode 100644 examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_gui_extra.mm create mode 100644 examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_video.cpp create mode 100644 examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_video.mm delete mode 100644 examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h delete mode 100644 examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h delete mode 100644 examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h delete mode 100644 examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h delete mode 100644 examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h delete mode 100644 examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_core/juce_core.h delete mode 100644 examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h delete mode 100644 examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h delete mode 100644 examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_events/juce_events.h delete mode 100644 examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_graphics/juce_graphics.h delete mode 100644 examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h delete mode 100644 examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h delete mode 100644 examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_video/juce_video.h rename examples/ComponentTutorialExample/Builds/MacOSX/{Info.plist => Info-App.plist} (88%) create mode 100644 examples/ComponentTutorialExample/JuceLibraryCode/juce_core.cpp create mode 100644 examples/ComponentTutorialExample/JuceLibraryCode/juce_core.mm create mode 100644 examples/ComponentTutorialExample/JuceLibraryCode/juce_data_structures.cpp create mode 100644 examples/ComponentTutorialExample/JuceLibraryCode/juce_data_structures.mm create mode 100644 examples/ComponentTutorialExample/JuceLibraryCode/juce_events.cpp create mode 100644 examples/ComponentTutorialExample/JuceLibraryCode/juce_events.mm create mode 100644 examples/ComponentTutorialExample/JuceLibraryCode/juce_graphics.cpp create mode 100644 examples/ComponentTutorialExample/JuceLibraryCode/juce_graphics.mm create mode 100644 examples/ComponentTutorialExample/JuceLibraryCode/juce_gui_basics.cpp create mode 100644 examples/ComponentTutorialExample/JuceLibraryCode/juce_gui_basics.mm create mode 100644 examples/ComponentTutorialExample/JuceLibraryCode/juce_gui_extra.cpp create mode 100644 examples/ComponentTutorialExample/JuceLibraryCode/juce_gui_extra.mm delete mode 100644 examples/ComponentTutorialExample/JuceLibraryCode/modules/juce_core/juce_core.h delete mode 100644 examples/ComponentTutorialExample/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h delete mode 100644 examples/ComponentTutorialExample/JuceLibraryCode/modules/juce_events/juce_events.h delete mode 100644 examples/ComponentTutorialExample/JuceLibraryCode/modules/juce_graphics/juce_graphics.h delete mode 100644 examples/ComponentTutorialExample/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h delete mode 100644 examples/ComponentTutorialExample/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h rename examples/Demo/Builds/MacOSX/{Info.plist => Info-App.plist} (89%) rename examples/Demo/Builds/iOS/{Info.plist => Info-App.plist} (85%) create mode 100644 examples/Demo/JuceLibraryCode/juce_audio_basics.cpp create mode 100644 examples/Demo/JuceLibraryCode/juce_audio_basics.mm create mode 100644 examples/Demo/JuceLibraryCode/juce_audio_devices.cpp create mode 100644 examples/Demo/JuceLibraryCode/juce_audio_devices.mm create mode 100644 examples/Demo/JuceLibraryCode/juce_audio_formats.cpp create mode 100644 examples/Demo/JuceLibraryCode/juce_audio_formats.mm create mode 100644 examples/Demo/JuceLibraryCode/juce_audio_processors.cpp create mode 100644 examples/Demo/JuceLibraryCode/juce_audio_processors.mm create mode 100644 examples/Demo/JuceLibraryCode/juce_audio_utils.cpp create mode 100644 examples/Demo/JuceLibraryCode/juce_audio_utils.mm create mode 100644 examples/Demo/JuceLibraryCode/juce_box2d.cpp create mode 100644 examples/Demo/JuceLibraryCode/juce_core.cpp create mode 100644 examples/Demo/JuceLibraryCode/juce_core.mm create mode 100644 examples/Demo/JuceLibraryCode/juce_cryptography.cpp create mode 100644 examples/Demo/JuceLibraryCode/juce_cryptography.mm create mode 100644 examples/Demo/JuceLibraryCode/juce_data_structures.cpp create mode 100644 examples/Demo/JuceLibraryCode/juce_data_structures.mm create mode 100644 examples/Demo/JuceLibraryCode/juce_events.cpp create mode 100644 examples/Demo/JuceLibraryCode/juce_events.mm create mode 100644 examples/Demo/JuceLibraryCode/juce_graphics.cpp create mode 100644 examples/Demo/JuceLibraryCode/juce_graphics.mm create mode 100644 examples/Demo/JuceLibraryCode/juce_gui_basics.cpp create mode 100644 examples/Demo/JuceLibraryCode/juce_gui_basics.mm create mode 100644 examples/Demo/JuceLibraryCode/juce_gui_extra.cpp create mode 100644 examples/Demo/JuceLibraryCode/juce_gui_extra.mm create mode 100644 examples/Demo/JuceLibraryCode/juce_opengl.cpp create mode 100644 examples/Demo/JuceLibraryCode/juce_opengl.mm create mode 100644 examples/Demo/JuceLibraryCode/juce_video.cpp create mode 100644 examples/Demo/JuceLibraryCode/juce_video.mm delete mode 100644 examples/Demo/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h delete mode 100644 examples/Demo/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h delete mode 100644 examples/Demo/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h delete mode 100644 examples/Demo/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h delete mode 100644 examples/Demo/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h delete mode 100644 examples/Demo/JuceLibraryCode/modules/juce_box2d/juce_box2d.h delete mode 100644 examples/Demo/JuceLibraryCode/modules/juce_core/juce_core.h delete mode 100644 examples/Demo/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h delete mode 100644 examples/Demo/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h delete mode 100644 examples/Demo/JuceLibraryCode/modules/juce_events/juce_events.h delete mode 100644 examples/Demo/JuceLibraryCode/modules/juce_graphics/juce_graphics.h delete mode 100644 examples/Demo/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h delete mode 100644 examples/Demo/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h delete mode 100644 examples/Demo/JuceLibraryCode/modules/juce_opengl/juce_opengl.h delete mode 100644 examples/Demo/JuceLibraryCode/modules/juce_video/juce_video.h rename examples/HelloWorld/Builds/MacOSX/{Info.plist => Info-App.plist} (89%) rename examples/HelloWorld/Builds/iOS/{Info.plist => Info-App.plist} (85%) create mode 100644 examples/HelloWorld/JuceLibraryCode/juce_core.cpp create mode 100644 examples/HelloWorld/JuceLibraryCode/juce_core.mm create mode 100644 examples/HelloWorld/JuceLibraryCode/juce_data_structures.cpp create mode 100644 examples/HelloWorld/JuceLibraryCode/juce_data_structures.mm create mode 100644 examples/HelloWorld/JuceLibraryCode/juce_events.cpp create mode 100644 examples/HelloWorld/JuceLibraryCode/juce_events.mm create mode 100644 examples/HelloWorld/JuceLibraryCode/juce_graphics.cpp create mode 100644 examples/HelloWorld/JuceLibraryCode/juce_graphics.mm create mode 100644 examples/HelloWorld/JuceLibraryCode/juce_gui_basics.cpp create mode 100644 examples/HelloWorld/JuceLibraryCode/juce_gui_basics.mm create mode 100644 examples/HelloWorld/JuceLibraryCode/juce_gui_extra.cpp create mode 100644 examples/HelloWorld/JuceLibraryCode/juce_gui_extra.mm delete mode 100644 examples/HelloWorld/JuceLibraryCode/modules/juce_core/juce_core.h delete mode 100644 examples/HelloWorld/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h delete mode 100644 examples/HelloWorld/JuceLibraryCode/modules/juce_events/juce_events.h delete mode 100644 examples/HelloWorld/JuceLibraryCode/modules/juce_graphics/juce_graphics.h delete mode 100644 examples/HelloWorld/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h delete mode 100644 examples/HelloWorld/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h delete mode 100644 examples/HelloWorld/readme.txt create mode 100644 examples/MPETest/Builds/MacOSX/Info-App.plist create mode 100644 examples/MPETest/JuceLibraryCode/juce_audio_basics.cpp create mode 100644 examples/MPETest/JuceLibraryCode/juce_audio_basics.mm create mode 100644 examples/MPETest/JuceLibraryCode/juce_audio_devices.cpp create mode 100644 examples/MPETest/JuceLibraryCode/juce_audio_devices.mm create mode 100644 examples/MPETest/JuceLibraryCode/juce_audio_formats.cpp create mode 100644 examples/MPETest/JuceLibraryCode/juce_audio_formats.mm create mode 100644 examples/MPETest/JuceLibraryCode/juce_audio_processors.cpp create mode 100644 examples/MPETest/JuceLibraryCode/juce_audio_processors.mm create mode 100644 examples/MPETest/JuceLibraryCode/juce_audio_utils.cpp create mode 100644 examples/MPETest/JuceLibraryCode/juce_audio_utils.mm create mode 100644 examples/MPETest/JuceLibraryCode/juce_core.cpp create mode 100644 examples/MPETest/JuceLibraryCode/juce_core.mm create mode 100644 examples/MPETest/JuceLibraryCode/juce_cryptography.cpp create mode 100644 examples/MPETest/JuceLibraryCode/juce_cryptography.mm create mode 100644 examples/MPETest/JuceLibraryCode/juce_data_structures.cpp create mode 100644 examples/MPETest/JuceLibraryCode/juce_data_structures.mm create mode 100644 examples/MPETest/JuceLibraryCode/juce_events.cpp create mode 100644 examples/MPETest/JuceLibraryCode/juce_events.mm create mode 100644 examples/MPETest/JuceLibraryCode/juce_graphics.cpp create mode 100644 examples/MPETest/JuceLibraryCode/juce_graphics.mm create mode 100644 examples/MPETest/JuceLibraryCode/juce_gui_basics.cpp create mode 100644 examples/MPETest/JuceLibraryCode/juce_gui_basics.mm create mode 100644 examples/MPETest/JuceLibraryCode/juce_gui_extra.cpp create mode 100644 examples/MPETest/JuceLibraryCode/juce_gui_extra.mm create mode 100644 examples/MPETest/JuceLibraryCode/juce_opengl.cpp create mode 100644 examples/MPETest/JuceLibraryCode/juce_opengl.mm create mode 100644 examples/MPETest/JuceLibraryCode/juce_video.cpp create mode 100644 examples/MPETest/JuceLibraryCode/juce_video.mm delete mode 100644 examples/MPETest/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h delete mode 100644 examples/MPETest/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h delete mode 100644 examples/MPETest/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h delete mode 100644 examples/MPETest/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h delete mode 100644 examples/MPETest/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h delete mode 100644 examples/MPETest/JuceLibraryCode/modules/juce_core/juce_core.h delete mode 100644 examples/MPETest/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h delete mode 100644 examples/MPETest/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h delete mode 100644 examples/MPETest/JuceLibraryCode/modules/juce_events/juce_events.h delete mode 100644 examples/MPETest/JuceLibraryCode/modules/juce_graphics/juce_graphics.h delete mode 100644 examples/MPETest/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h delete mode 100644 examples/MPETest/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h delete mode 100644 examples/MPETest/JuceLibraryCode/modules/juce_opengl/juce_opengl.h delete mode 100644 examples/MPETest/JuceLibraryCode/modules/juce_video/juce_video.h rename examples/MidiTest/Builds/MacOSX/{Info.plist => Info-App.plist} (89%) delete mode 100644 examples/MidiTest/Builds/VisualStudio2013/MidiTest.sln delete mode 100644 examples/MidiTest/Builds/VisualStudio2013/MidiTest.vcxproj delete mode 100644 examples/MidiTest/Builds/VisualStudio2013/MidiTest.vcxproj.filters delete mode 100644 examples/MidiTest/Builds/VisualStudio2013/resources.rc rename examples/MidiTest/Builds/iOS/{Info.plist => Info-App.plist} (85%) create mode 100644 examples/MidiTest/JuceLibraryCode/juce_audio_basics.cpp create mode 100644 examples/MidiTest/JuceLibraryCode/juce_audio_basics.mm create mode 100644 examples/MidiTest/JuceLibraryCode/juce_audio_devices.cpp create mode 100644 examples/MidiTest/JuceLibraryCode/juce_audio_devices.mm create mode 100644 examples/MidiTest/JuceLibraryCode/juce_audio_formats.cpp create mode 100644 examples/MidiTest/JuceLibraryCode/juce_audio_formats.mm create mode 100644 examples/MidiTest/JuceLibraryCode/juce_audio_processors.cpp create mode 100644 examples/MidiTest/JuceLibraryCode/juce_audio_processors.mm create mode 100644 examples/MidiTest/JuceLibraryCode/juce_audio_utils.cpp create mode 100644 examples/MidiTest/JuceLibraryCode/juce_audio_utils.mm create mode 100644 examples/MidiTest/JuceLibraryCode/juce_core.cpp create mode 100644 examples/MidiTest/JuceLibraryCode/juce_core.mm create mode 100644 examples/MidiTest/JuceLibraryCode/juce_data_structures.cpp create mode 100644 examples/MidiTest/JuceLibraryCode/juce_data_structures.mm create mode 100644 examples/MidiTest/JuceLibraryCode/juce_events.cpp create mode 100644 examples/MidiTest/JuceLibraryCode/juce_events.mm create mode 100644 examples/MidiTest/JuceLibraryCode/juce_graphics.cpp create mode 100644 examples/MidiTest/JuceLibraryCode/juce_graphics.mm create mode 100644 examples/MidiTest/JuceLibraryCode/juce_gui_basics.cpp create mode 100644 examples/MidiTest/JuceLibraryCode/juce_gui_basics.mm create mode 100644 examples/MidiTest/JuceLibraryCode/juce_gui_extra.cpp create mode 100644 examples/MidiTest/JuceLibraryCode/juce_gui_extra.mm delete mode 100644 examples/MidiTest/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h delete mode 100644 examples/MidiTest/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h delete mode 100644 examples/MidiTest/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h delete mode 100644 examples/MidiTest/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h delete mode 100644 examples/MidiTest/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h delete mode 100644 examples/MidiTest/JuceLibraryCode/modules/juce_core/juce_core.h delete mode 100644 examples/MidiTest/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h delete mode 100644 examples/MidiTest/JuceLibraryCode/modules/juce_events/juce_events.h delete mode 100644 examples/MidiTest/JuceLibraryCode/modules/juce_graphics/juce_graphics.h delete mode 100644 examples/MidiTest/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h delete mode 100644 examples/MidiTest/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h mode change 100755 => 100644 examples/MidiTest/Source/MainComponent.cpp rename examples/NetworkGraphicsDemo/Builds/MacOSX/{Info.plist => Info-App.plist} (88%) rename examples/NetworkGraphicsDemo/Builds/iOS/{Info.plist => Info-App.plist} (84%) delete mode 100644 examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-Small.png delete mode 100644 examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-Small@2x.png delete mode 100644 examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-Small@3x.png create mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/juce_audio_basics.cpp create mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/juce_audio_basics.mm create mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/juce_audio_devices.cpp create mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/juce_audio_devices.mm create mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/juce_audio_formats.cpp create mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/juce_audio_formats.mm create mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/juce_audio_processors.cpp create mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/juce_audio_processors.mm create mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/juce_audio_utils.cpp create mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/juce_audio_utils.mm create mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/juce_core.cpp create mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/juce_core.mm create mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/juce_cryptography.cpp create mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/juce_cryptography.mm create mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/juce_data_structures.cpp create mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/juce_data_structures.mm create mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/juce_events.cpp create mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/juce_events.mm create mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/juce_graphics.cpp create mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/juce_graphics.mm create mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/juce_gui_basics.cpp create mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/juce_gui_basics.mm create mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/juce_gui_extra.cpp create mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/juce_gui_extra.mm create mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/juce_opengl.cpp create mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/juce_opengl.mm create mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/juce_osc.cpp delete mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h delete mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h delete mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h delete mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h delete mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h delete mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_core/juce_core.h delete mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h delete mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h delete mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_events/juce_events.h delete mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_graphics/juce_graphics.h delete mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h delete mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h delete mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_opengl/juce_opengl.h delete mode 100644 examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_osc/juce_osc.h rename examples/OSCMonitor/Builds/MacOSX/{Info.plist => Info-App.plist} (89%) create mode 100644 examples/OSCMonitor/JuceLibraryCode/juce_audio_basics.cpp create mode 100644 examples/OSCMonitor/JuceLibraryCode/juce_audio_basics.mm create mode 100644 examples/OSCMonitor/JuceLibraryCode/juce_audio_devices.cpp create mode 100644 examples/OSCMonitor/JuceLibraryCode/juce_audio_devices.mm create mode 100644 examples/OSCMonitor/JuceLibraryCode/juce_audio_formats.cpp create mode 100644 examples/OSCMonitor/JuceLibraryCode/juce_audio_formats.mm create mode 100644 examples/OSCMonitor/JuceLibraryCode/juce_audio_processors.cpp create mode 100644 examples/OSCMonitor/JuceLibraryCode/juce_audio_processors.mm create mode 100644 examples/OSCMonitor/JuceLibraryCode/juce_core.cpp create mode 100644 examples/OSCMonitor/JuceLibraryCode/juce_core.mm create mode 100644 examples/OSCMonitor/JuceLibraryCode/juce_cryptography.cpp create mode 100644 examples/OSCMonitor/JuceLibraryCode/juce_cryptography.mm create mode 100644 examples/OSCMonitor/JuceLibraryCode/juce_data_structures.cpp create mode 100644 examples/OSCMonitor/JuceLibraryCode/juce_data_structures.mm create mode 100644 examples/OSCMonitor/JuceLibraryCode/juce_events.cpp create mode 100644 examples/OSCMonitor/JuceLibraryCode/juce_events.mm create mode 100644 examples/OSCMonitor/JuceLibraryCode/juce_graphics.cpp create mode 100644 examples/OSCMonitor/JuceLibraryCode/juce_graphics.mm create mode 100644 examples/OSCMonitor/JuceLibraryCode/juce_gui_basics.cpp create mode 100644 examples/OSCMonitor/JuceLibraryCode/juce_gui_basics.mm create mode 100644 examples/OSCMonitor/JuceLibraryCode/juce_gui_extra.cpp create mode 100644 examples/OSCMonitor/JuceLibraryCode/juce_gui_extra.mm create mode 100644 examples/OSCMonitor/JuceLibraryCode/juce_opengl.cpp create mode 100644 examples/OSCMonitor/JuceLibraryCode/juce_opengl.mm create mode 100644 examples/OSCMonitor/JuceLibraryCode/juce_osc.cpp create mode 100644 examples/OSCMonitor/JuceLibraryCode/juce_video.cpp create mode 100644 examples/OSCMonitor/JuceLibraryCode/juce_video.mm delete mode 100644 examples/OSCMonitor/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h delete mode 100644 examples/OSCMonitor/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h delete mode 100644 examples/OSCMonitor/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h delete mode 100644 examples/OSCMonitor/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h delete mode 100644 examples/OSCMonitor/JuceLibraryCode/modules/juce_core/juce_core.h delete mode 100644 examples/OSCMonitor/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h delete mode 100644 examples/OSCMonitor/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h delete mode 100644 examples/OSCMonitor/JuceLibraryCode/modules/juce_events/juce_events.h delete mode 100644 examples/OSCMonitor/JuceLibraryCode/modules/juce_graphics/juce_graphics.h delete mode 100644 examples/OSCMonitor/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h delete mode 100644 examples/OSCMonitor/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h delete mode 100644 examples/OSCMonitor/JuceLibraryCode/modules/juce_opengl/juce_opengl.h delete mode 100644 examples/OSCMonitor/JuceLibraryCode/modules/juce_osc/juce_osc.h delete mode 100644 examples/OSCMonitor/JuceLibraryCode/modules/juce_video/juce_video.h rename examples/OSCReceiver/Builds/MacOSX/{Info.plist => Info-App.plist} (89%) rename examples/OSCReceiver/Builds/iOS/{Info.plist => Info-App.plist} (85%) create mode 100644 examples/OSCReceiver/JuceLibraryCode/juce_core.cpp create mode 100644 examples/OSCReceiver/JuceLibraryCode/juce_core.mm create mode 100644 examples/OSCReceiver/JuceLibraryCode/juce_cryptography.cpp create mode 100644 examples/OSCReceiver/JuceLibraryCode/juce_cryptography.mm create mode 100644 examples/OSCReceiver/JuceLibraryCode/juce_data_structures.cpp create mode 100644 examples/OSCReceiver/JuceLibraryCode/juce_data_structures.mm create mode 100644 examples/OSCReceiver/JuceLibraryCode/juce_events.cpp create mode 100644 examples/OSCReceiver/JuceLibraryCode/juce_events.mm create mode 100644 examples/OSCReceiver/JuceLibraryCode/juce_graphics.cpp create mode 100644 examples/OSCReceiver/JuceLibraryCode/juce_graphics.mm create mode 100644 examples/OSCReceiver/JuceLibraryCode/juce_gui_basics.cpp create mode 100644 examples/OSCReceiver/JuceLibraryCode/juce_gui_basics.mm create mode 100644 examples/OSCReceiver/JuceLibraryCode/juce_gui_extra.cpp create mode 100644 examples/OSCReceiver/JuceLibraryCode/juce_gui_extra.mm create mode 100644 examples/OSCReceiver/JuceLibraryCode/juce_osc.cpp delete mode 100644 examples/OSCReceiver/JuceLibraryCode/modules/juce_core/juce_core.h delete mode 100644 examples/OSCReceiver/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h delete mode 100644 examples/OSCReceiver/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h delete mode 100644 examples/OSCReceiver/JuceLibraryCode/modules/juce_events/juce_events.h delete mode 100644 examples/OSCReceiver/JuceLibraryCode/modules/juce_graphics/juce_graphics.h delete mode 100644 examples/OSCReceiver/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h delete mode 100644 examples/OSCReceiver/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h delete mode 100644 examples/OSCReceiver/JuceLibraryCode/modules/juce_osc/juce_osc.h rename examples/OSCSender/Builds/MacOSX/{Info.plist => Info-App.plist} (89%) rename examples/OSCSender/Builds/iOS/{Info.plist => Info-App.plist} (85%) create mode 100644 examples/OSCSender/JuceLibraryCode/juce_core.cpp create mode 100644 examples/OSCSender/JuceLibraryCode/juce_core.mm create mode 100644 examples/OSCSender/JuceLibraryCode/juce_data_structures.cpp create mode 100644 examples/OSCSender/JuceLibraryCode/juce_data_structures.mm create mode 100644 examples/OSCSender/JuceLibraryCode/juce_events.cpp create mode 100644 examples/OSCSender/JuceLibraryCode/juce_events.mm create mode 100644 examples/OSCSender/JuceLibraryCode/juce_graphics.cpp create mode 100644 examples/OSCSender/JuceLibraryCode/juce_graphics.mm create mode 100644 examples/OSCSender/JuceLibraryCode/juce_gui_basics.cpp create mode 100644 examples/OSCSender/JuceLibraryCode/juce_gui_basics.mm create mode 100644 examples/OSCSender/JuceLibraryCode/juce_osc.cpp delete mode 100644 examples/OSCSender/JuceLibraryCode/modules/juce_core/juce_core.h delete mode 100644 examples/OSCSender/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h delete mode 100644 examples/OSCSender/JuceLibraryCode/modules/juce_events/juce_events.h delete mode 100644 examples/OSCSender/JuceLibraryCode/modules/juce_graphics/juce_graphics.h delete mode 100644 examples/OSCSender/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h delete mode 100644 examples/OSCSender/JuceLibraryCode/modules/juce_osc/juce_osc.h rename examples/OpenGLAppExample/Builds/MacOSX/{Info.plist => Info-App.plist} (88%) rename examples/OpenGLAppExample/Builds/iOS/{Info.plist => Info-App.plist} (84%) create mode 100644 examples/OpenGLAppExample/JuceLibraryCode/juce_audio_basics.cpp create mode 100644 examples/OpenGLAppExample/JuceLibraryCode/juce_audio_basics.mm create mode 100644 examples/OpenGLAppExample/JuceLibraryCode/juce_audio_devices.cpp create mode 100644 examples/OpenGLAppExample/JuceLibraryCode/juce_audio_devices.mm create mode 100644 examples/OpenGLAppExample/JuceLibraryCode/juce_audio_formats.cpp create mode 100644 examples/OpenGLAppExample/JuceLibraryCode/juce_audio_formats.mm create mode 100644 examples/OpenGLAppExample/JuceLibraryCode/juce_audio_processors.cpp create mode 100644 examples/OpenGLAppExample/JuceLibraryCode/juce_audio_processors.mm create mode 100644 examples/OpenGLAppExample/JuceLibraryCode/juce_core.cpp create mode 100644 examples/OpenGLAppExample/JuceLibraryCode/juce_core.mm create mode 100644 examples/OpenGLAppExample/JuceLibraryCode/juce_cryptography.cpp create mode 100644 examples/OpenGLAppExample/JuceLibraryCode/juce_cryptography.mm create mode 100644 examples/OpenGLAppExample/JuceLibraryCode/juce_data_structures.cpp create mode 100644 examples/OpenGLAppExample/JuceLibraryCode/juce_data_structures.mm create mode 100644 examples/OpenGLAppExample/JuceLibraryCode/juce_events.cpp create mode 100644 examples/OpenGLAppExample/JuceLibraryCode/juce_events.mm create mode 100644 examples/OpenGLAppExample/JuceLibraryCode/juce_graphics.cpp create mode 100644 examples/OpenGLAppExample/JuceLibraryCode/juce_graphics.mm create mode 100644 examples/OpenGLAppExample/JuceLibraryCode/juce_gui_basics.cpp create mode 100644 examples/OpenGLAppExample/JuceLibraryCode/juce_gui_basics.mm create mode 100644 examples/OpenGLAppExample/JuceLibraryCode/juce_gui_extra.cpp create mode 100644 examples/OpenGLAppExample/JuceLibraryCode/juce_gui_extra.mm create mode 100644 examples/OpenGLAppExample/JuceLibraryCode/juce_opengl.cpp create mode 100644 examples/OpenGLAppExample/JuceLibraryCode/juce_opengl.mm create mode 100644 examples/OpenGLAppExample/JuceLibraryCode/juce_video.cpp create mode 100644 examples/OpenGLAppExample/JuceLibraryCode/juce_video.mm delete mode 100644 examples/OpenGLAppExample/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h delete mode 100644 examples/OpenGLAppExample/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h delete mode 100644 examples/OpenGLAppExample/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h delete mode 100644 examples/OpenGLAppExample/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h delete mode 100644 examples/OpenGLAppExample/JuceLibraryCode/modules/juce_core/juce_core.h delete mode 100644 examples/OpenGLAppExample/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h delete mode 100644 examples/OpenGLAppExample/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h delete mode 100644 examples/OpenGLAppExample/JuceLibraryCode/modules/juce_events/juce_events.h delete mode 100644 examples/OpenGLAppExample/JuceLibraryCode/modules/juce_graphics/juce_graphics.h delete mode 100644 examples/OpenGLAppExample/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h delete mode 100644 examples/OpenGLAppExample/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h delete mode 100644 examples/OpenGLAppExample/JuceLibraryCode/modules/juce_opengl/juce_opengl.h delete mode 100644 examples/OpenGLAppExample/JuceLibraryCode/modules/juce_video/juce_video.h rename examples/PluckedStringsDemo/Builds/MacOSX/{Info.plist => Info-App.plist} (88%) create mode 100644 examples/PluckedStringsDemo/JuceLibraryCode/juce_audio_basics.cpp create mode 100644 examples/PluckedStringsDemo/JuceLibraryCode/juce_audio_basics.mm create mode 100644 examples/PluckedStringsDemo/JuceLibraryCode/juce_audio_devices.cpp create mode 100644 examples/PluckedStringsDemo/JuceLibraryCode/juce_audio_devices.mm create mode 100644 examples/PluckedStringsDemo/JuceLibraryCode/juce_audio_formats.cpp create mode 100644 examples/PluckedStringsDemo/JuceLibraryCode/juce_audio_formats.mm create mode 100644 examples/PluckedStringsDemo/JuceLibraryCode/juce_audio_processors.cpp create mode 100644 examples/PluckedStringsDemo/JuceLibraryCode/juce_audio_processors.mm create mode 100644 examples/PluckedStringsDemo/JuceLibraryCode/juce_audio_utils.cpp create mode 100644 examples/PluckedStringsDemo/JuceLibraryCode/juce_audio_utils.mm create mode 100644 examples/PluckedStringsDemo/JuceLibraryCode/juce_core.cpp create mode 100644 examples/PluckedStringsDemo/JuceLibraryCode/juce_core.mm create mode 100644 examples/PluckedStringsDemo/JuceLibraryCode/juce_data_structures.cpp create mode 100644 examples/PluckedStringsDemo/JuceLibraryCode/juce_data_structures.mm create mode 100644 examples/PluckedStringsDemo/JuceLibraryCode/juce_events.cpp create mode 100644 examples/PluckedStringsDemo/JuceLibraryCode/juce_events.mm create mode 100644 examples/PluckedStringsDemo/JuceLibraryCode/juce_graphics.cpp create mode 100644 examples/PluckedStringsDemo/JuceLibraryCode/juce_graphics.mm create mode 100644 examples/PluckedStringsDemo/JuceLibraryCode/juce_gui_basics.cpp create mode 100644 examples/PluckedStringsDemo/JuceLibraryCode/juce_gui_basics.mm create mode 100644 examples/PluckedStringsDemo/JuceLibraryCode/juce_gui_extra.cpp create mode 100644 examples/PluckedStringsDemo/JuceLibraryCode/juce_gui_extra.mm delete mode 100644 examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h delete mode 100644 examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h delete mode 100644 examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h delete mode 100644 examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h delete mode 100644 examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h delete mode 100644 examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_core/juce_core.h delete mode 100644 examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h delete mode 100644 examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_events/juce_events.h delete mode 100644 examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_graphics/juce_graphics.h delete mode 100644 examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h delete mode 100644 examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h create mode 100644 examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Arpeggiator.entitlements create mode 100644 examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Info-AAX.plist rename examples/PlugInSamples/Arpeggiator/Builds/MacOSX/{Info.plist => Info-AU.plist} (88%) create mode 100644 examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Info-Shared_Code.plist create mode 100644 examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Info-VST.plist create mode 100644 examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Info-VST3.plist create mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_basics.cpp create mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_basics.mm create mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_devices.cpp create mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_devices.mm create mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_formats.cpp create mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_formats.mm create mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_AAX.cpp create mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_AAX.mm create mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_AU_1.mm create mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_AU_2.mm create mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_AUv3.mm create mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_RTAS_1.cpp create mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_RTAS_2.cpp create mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_RTAS_3.cpp create mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_RTAS_4.cpp create mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.cpp create mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.mm create mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_Standalone.cpp create mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_VST2.cpp create mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_VST3.cpp create mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_VST_utils.mm create mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_utils.cpp create mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_processors.cpp create mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_processors.mm create mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_core.cpp create mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_core.mm create mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_cryptography.cpp create mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_cryptography.mm create mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_data_structures.cpp create mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_data_structures.mm create mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_events.cpp create mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_events.mm create mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_graphics.cpp create mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_graphics.mm create mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_gui_basics.cpp create mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_gui_basics.mm create mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_gui_extra.cpp create mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_gui_extra.mm create mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_opengl.cpp create mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_opengl.mm create mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_video.cpp create mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_video.mm delete mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h delete mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h delete mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h delete mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_audio_plugin_client/juce_audio_plugin_client.h delete mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h delete mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_core/juce_core.h delete mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h delete mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h delete mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_events/juce_events.h delete mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_graphics/juce_graphics.h delete mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h delete mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h delete mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_opengl/juce_opengl.h delete mode 100644 examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_video/juce_video.h create mode 100644 examples/PlugInSamples/GainPlugIn/Builds/MacOSX/GainPlugIn.entitlements create mode 100644 examples/PlugInSamples/GainPlugIn/Builds/MacOSX/Info-AAX.plist rename examples/PlugInSamples/GainPlugIn/Builds/MacOSX/{Info.plist => Info-AU.plist} (88%) create mode 100644 examples/PlugInSamples/GainPlugIn/Builds/MacOSX/Info-Shared_Code.plist create mode 100644 examples/PlugInSamples/GainPlugIn/Builds/MacOSX/Info-VST.plist create mode 100644 examples/PlugInSamples/GainPlugIn/Builds/MacOSX/Info-VST3.plist create mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_basics.cpp create mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_basics.mm create mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_devices.cpp create mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_devices.mm create mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_formats.cpp create mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_formats.mm create mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_AAX.cpp create mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_AAX.mm create mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_AU_1.mm create mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_AU_2.mm create mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_AUv3.mm create mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_RTAS_1.cpp create mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_RTAS_2.cpp create mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_RTAS_3.cpp create mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_RTAS_4.cpp create mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.cpp create mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.mm create mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_Standalone.cpp create mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_VST2.cpp create mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_VST3.cpp create mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_VST_utils.mm create mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_utils.cpp create mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_processors.cpp create mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_processors.mm create mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_core.cpp create mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_core.mm create mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_cryptography.cpp create mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_cryptography.mm create mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_data_structures.cpp create mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_data_structures.mm create mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_events.cpp create mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_events.mm create mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_graphics.cpp create mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_graphics.mm create mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_gui_basics.cpp create mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_gui_basics.mm create mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_gui_extra.cpp create mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_gui_extra.mm create mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_opengl.cpp create mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_opengl.mm create mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_video.cpp create mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_video.mm delete mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h delete mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h delete mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h delete mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_audio_plugin_client/juce_audio_plugin_client.h delete mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h delete mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_core/juce_core.h delete mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h delete mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h delete mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_events/juce_events.h delete mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_graphics/juce_graphics.h delete mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h delete mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h delete mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_opengl/juce_opengl.h delete mode 100644 examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_video/juce_video.h create mode 100644 examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/Info-AAX.plist rename examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/{Info.plist => Info-AU.plist} (88%) create mode 100644 examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/Info-Shared_Code.plist create mode 100644 examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/Info-VST.plist create mode 100644 examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/Info-VST3.plist create mode 100644 examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/MultiOutSynth.entitlements create mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_basics.cpp create mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_basics.mm create mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_devices.cpp create mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_devices.mm create mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_formats.cpp create mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_formats.mm create mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_AAX.cpp create mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_AAX.mm create mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_AU_1.mm create mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_AU_2.mm create mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_AUv3.mm create mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_RTAS_1.cpp create mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_RTAS_2.cpp create mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_RTAS_3.cpp create mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_RTAS_4.cpp create mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.cpp create mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.mm create mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_Standalone.cpp create mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_VST2.cpp create mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_VST3.cpp create mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_VST_utils.mm create mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_utils.cpp create mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_processors.cpp create mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_processors.mm create mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_core.cpp create mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_core.mm create mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_cryptography.cpp create mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_cryptography.mm create mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_data_structures.cpp create mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_data_structures.mm create mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_events.cpp create mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_events.mm create mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_graphics.cpp create mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_graphics.mm create mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_gui_basics.cpp create mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_gui_basics.mm create mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_gui_extra.cpp create mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_gui_extra.mm create mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_opengl.cpp create mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_opengl.mm create mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_video.cpp create mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_video.mm delete mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h delete mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h delete mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h delete mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_audio_plugin_client/juce_audio_plugin_client.h delete mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h delete mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_core/juce_core.h delete mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h delete mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h delete mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_events/juce_events.h delete mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_graphics/juce_graphics.h delete mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h delete mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h delete mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_opengl/juce_opengl.h delete mode 100644 examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_video/juce_video.h create mode 100644 examples/PlugInSamples/NoiseGate/Builds/MacOSX/Info-AAX.plist rename examples/PlugInSamples/NoiseGate/Builds/MacOSX/{Info.plist => Info-AU.plist} (88%) create mode 100644 examples/PlugInSamples/NoiseGate/Builds/MacOSX/Info-Shared_Code.plist create mode 100644 examples/PlugInSamples/NoiseGate/Builds/MacOSX/Info-VST.plist create mode 100644 examples/PlugInSamples/NoiseGate/Builds/MacOSX/Info-VST3.plist create mode 100644 examples/PlugInSamples/NoiseGate/Builds/MacOSX/NoiseGate.entitlements create mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_basics.cpp create mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_basics.mm create mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_devices.cpp create mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_devices.mm create mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_formats.cpp create mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_formats.mm create mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_AAX.cpp create mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_AAX.mm create mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_AU_1.mm create mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_AU_2.mm create mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_AUv3.mm create mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_RTAS_1.cpp create mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_RTAS_2.cpp create mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_RTAS_3.cpp create mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_RTAS_4.cpp create mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.cpp create mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.mm create mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_Standalone.cpp create mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_VST2.cpp create mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_VST3.cpp create mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_VST_utils.mm create mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_utils.cpp create mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_processors.cpp create mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_processors.mm create mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_core.cpp create mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_core.mm create mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_cryptography.cpp create mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_cryptography.mm create mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_data_structures.cpp create mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_data_structures.mm create mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_events.cpp create mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_events.mm create mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_graphics.cpp create mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_graphics.mm create mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_gui_basics.cpp create mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_gui_basics.mm create mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_gui_extra.cpp create mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_gui_extra.mm create mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_opengl.cpp create mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_opengl.mm create mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_video.cpp create mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_video.mm delete mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h delete mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h delete mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h delete mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_audio_plugin_client/juce_audio_plugin_client.h delete mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h delete mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_core/juce_core.h delete mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h delete mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h delete mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_events/juce_events.h delete mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_graphics/juce_graphics.h delete mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h delete mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h delete mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_opengl/juce_opengl.h delete mode 100644 examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_video/juce_video.h delete mode 100644 examples/PlugInSamples/Spatializer/Builds/MacOSX/Info.plist delete mode 100644 examples/PlugInSamples/Spatializer/Builds/MacOSX/Spatializer.xcodeproj/project.pbxproj delete mode 100644 examples/PlugInSamples/Spatializer/Builds/VisualStudio2015/Spatializer.sln delete mode 100644 examples/PlugInSamples/Spatializer/Builds/VisualStudio2015/Spatializer.vcxproj delete mode 100644 examples/PlugInSamples/Spatializer/Builds/VisualStudio2015/Spatializer.vcxproj.filters delete mode 100644 examples/PlugInSamples/Spatializer/Builds/VisualStudio2015/resources.rc delete mode 100644 examples/PlugInSamples/Spatializer/JuceLibraryCode/JuceHeader.h delete mode 100644 examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h delete mode 100644 examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h delete mode 100644 examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h delete mode 100644 examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_audio_plugin_client/juce_audio_plugin_client.h delete mode 100644 examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h delete mode 100644 examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_core/juce_core.h delete mode 100644 examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h delete mode 100644 examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h delete mode 100644 examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_events/juce_events.h delete mode 100644 examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_graphics/juce_graphics.h delete mode 100644 examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h delete mode 100644 examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h delete mode 100644 examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_opengl/juce_opengl.h delete mode 100644 examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_video/juce_video.h delete mode 100644 examples/PlugInSamples/Spatializer/Source/Spatializer.cpp delete mode 100644 examples/PlugInSamples/Spatializer/Spatializer.jucer create mode 100644 examples/PlugInSamples/Surround/Builds/MacOSX/Info-AAX.plist rename examples/PlugInSamples/Surround/Builds/MacOSX/{Info.plist => Info-AU.plist} (86%) create mode 100644 examples/PlugInSamples/Surround/Builds/MacOSX/Info-Shared_Code.plist create mode 100644 examples/PlugInSamples/Surround/Builds/MacOSX/Info-VST.plist create mode 100644 examples/PlugInSamples/Surround/Builds/MacOSX/Info-VST3.plist create mode 100644 examples/PlugInSamples/Surround/Builds/MacOSX/Surround.entitlements create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_basics.cpp create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_basics.mm create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_devices.cpp create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_devices.mm create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_formats.cpp create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_formats.mm create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_AAX.cpp create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_AAX.mm create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_AU_1.mm create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_AU_2.mm create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_AUv3.mm create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_RTAS_1.cpp create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_RTAS_2.cpp create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_RTAS_3.cpp create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_RTAS_4.cpp create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.cpp create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.mm create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_Standalone.cpp create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_VST2.cpp create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_VST3.cpp create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_VST_utils.mm create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_utils.cpp create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_processors.cpp create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_processors.mm create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/juce_core.cpp create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/juce_core.mm create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/juce_cryptography.cpp create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/juce_cryptography.mm create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/juce_data_structures.cpp create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/juce_data_structures.mm create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/juce_events.cpp create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/juce_events.mm create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/juce_graphics.cpp create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/juce_graphics.mm create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/juce_gui_basics.cpp create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/juce_gui_basics.mm create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/juce_gui_extra.cpp create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/juce_gui_extra.mm create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/juce_opengl.cpp create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/juce_opengl.mm create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/juce_video.cpp create mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/juce_video.mm delete mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h delete mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h delete mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h delete mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_audio_plugin_client/juce_audio_plugin_client.h delete mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h delete mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_core/juce_core.h delete mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h delete mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h delete mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_events/juce_events.h delete mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_graphics/juce_graphics.h delete mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h delete mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h delete mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_opengl/juce_opengl.h delete mode 100644 examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_video/juce_video.h rename examples/SimpleFFTExample/Builds/MacOSX/{Info.plist => Info-App.plist} (88%) create mode 100644 examples/SimpleFFTExample/JuceLibraryCode/juce_audio_basics.cpp create mode 100644 examples/SimpleFFTExample/JuceLibraryCode/juce_audio_basics.mm create mode 100644 examples/SimpleFFTExample/JuceLibraryCode/juce_audio_devices.cpp create mode 100644 examples/SimpleFFTExample/JuceLibraryCode/juce_audio_devices.mm create mode 100644 examples/SimpleFFTExample/JuceLibraryCode/juce_audio_formats.cpp create mode 100644 examples/SimpleFFTExample/JuceLibraryCode/juce_audio_formats.mm create mode 100644 examples/SimpleFFTExample/JuceLibraryCode/juce_audio_processors.cpp create mode 100644 examples/SimpleFFTExample/JuceLibraryCode/juce_audio_processors.mm create mode 100644 examples/SimpleFFTExample/JuceLibraryCode/juce_audio_utils.cpp create mode 100644 examples/SimpleFFTExample/JuceLibraryCode/juce_audio_utils.mm create mode 100644 examples/SimpleFFTExample/JuceLibraryCode/juce_core.cpp create mode 100644 examples/SimpleFFTExample/JuceLibraryCode/juce_core.mm create mode 100644 examples/SimpleFFTExample/JuceLibraryCode/juce_data_structures.cpp create mode 100644 examples/SimpleFFTExample/JuceLibraryCode/juce_data_structures.mm create mode 100644 examples/SimpleFFTExample/JuceLibraryCode/juce_events.cpp create mode 100644 examples/SimpleFFTExample/JuceLibraryCode/juce_events.mm create mode 100644 examples/SimpleFFTExample/JuceLibraryCode/juce_graphics.cpp create mode 100644 examples/SimpleFFTExample/JuceLibraryCode/juce_graphics.mm create mode 100644 examples/SimpleFFTExample/JuceLibraryCode/juce_gui_basics.cpp create mode 100644 examples/SimpleFFTExample/JuceLibraryCode/juce_gui_basics.mm create mode 100644 examples/SimpleFFTExample/JuceLibraryCode/juce_gui_extra.cpp create mode 100644 examples/SimpleFFTExample/JuceLibraryCode/juce_gui_extra.mm delete mode 100644 examples/SimpleFFTExample/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h delete mode 100644 examples/SimpleFFTExample/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h delete mode 100644 examples/SimpleFFTExample/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h delete mode 100644 examples/SimpleFFTExample/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h delete mode 100644 examples/SimpleFFTExample/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h delete mode 100644 examples/SimpleFFTExample/JuceLibraryCode/modules/juce_core/juce_core.h delete mode 100644 examples/SimpleFFTExample/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h delete mode 100644 examples/SimpleFFTExample/JuceLibraryCode/modules/juce_events/juce_events.h delete mode 100644 examples/SimpleFFTExample/JuceLibraryCode/modules/juce_graphics/juce_graphics.h delete mode 100644 examples/SimpleFFTExample/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h delete mode 100644 examples/SimpleFFTExample/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h rename examples/audio plugin demo/Builds/MacOSX/{Info.plist => Info-AU.plist} (88%) create mode 100644 examples/audio plugin demo/Builds/MacOSX/Info-Shared_Code.plist create mode 100644 examples/audio plugin demo/Builds/MacOSX/Info-VST.plist create mode 100644 examples/audio plugin demo/Builds/MacOSX/Info-VST3.plist create mode 100644 examples/audio plugin demo/Builds/MacOSX/JuceDemoPlugin.entitlements delete mode 100644 examples/audio plugin demo/How to use this framework.txt create mode 100644 examples/audio plugin demo/JuceLibraryCode/juce_audio_basics.cpp create mode 100644 examples/audio plugin demo/JuceLibraryCode/juce_audio_basics.mm create mode 100644 examples/audio plugin demo/JuceLibraryCode/juce_audio_devices.cpp create mode 100644 examples/audio plugin demo/JuceLibraryCode/juce_audio_devices.mm create mode 100644 examples/audio plugin demo/JuceLibraryCode/juce_audio_formats.cpp create mode 100644 examples/audio plugin demo/JuceLibraryCode/juce_audio_formats.mm create mode 100644 examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_AAX.cpp create mode 100644 examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_AAX.mm create mode 100644 examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_AU_1.mm create mode 100644 examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_AU_2.mm create mode 100644 examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_AUv3.mm create mode 100644 examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_RTAS_1.cpp create mode 100644 examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_RTAS_2.cpp create mode 100644 examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_RTAS_3.cpp create mode 100644 examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_RTAS_4.cpp create mode 100644 examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.cpp create mode 100644 examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.mm create mode 100644 examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_Standalone.cpp create mode 100644 examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_VST2.cpp create mode 100644 examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_VST3.cpp create mode 100644 examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_VST_utils.mm create mode 100644 examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_utils.cpp create mode 100644 examples/audio plugin demo/JuceLibraryCode/juce_audio_processors.cpp create mode 100644 examples/audio plugin demo/JuceLibraryCode/juce_audio_processors.mm create mode 100644 examples/audio plugin demo/JuceLibraryCode/juce_audio_utils.cpp create mode 100644 examples/audio plugin demo/JuceLibraryCode/juce_audio_utils.mm create mode 100644 examples/audio plugin demo/JuceLibraryCode/juce_core.cpp create mode 100644 examples/audio plugin demo/JuceLibraryCode/juce_core.mm create mode 100644 examples/audio plugin demo/JuceLibraryCode/juce_data_structures.cpp create mode 100644 examples/audio plugin demo/JuceLibraryCode/juce_data_structures.mm create mode 100644 examples/audio plugin demo/JuceLibraryCode/juce_events.cpp create mode 100644 examples/audio plugin demo/JuceLibraryCode/juce_events.mm create mode 100644 examples/audio plugin demo/JuceLibraryCode/juce_graphics.cpp create mode 100644 examples/audio plugin demo/JuceLibraryCode/juce_graphics.mm create mode 100644 examples/audio plugin demo/JuceLibraryCode/juce_gui_basics.cpp create mode 100644 examples/audio plugin demo/JuceLibraryCode/juce_gui_basics.mm create mode 100644 examples/audio plugin demo/JuceLibraryCode/juce_gui_extra.cpp create mode 100644 examples/audio plugin demo/JuceLibraryCode/juce_gui_extra.mm delete mode 100644 examples/audio plugin demo/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h delete mode 100644 examples/audio plugin demo/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h delete mode 100644 examples/audio plugin demo/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h delete mode 100644 examples/audio plugin demo/JuceLibraryCode/modules/juce_audio_plugin_client/juce_audio_plugin_client.h delete mode 100644 examples/audio plugin demo/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h delete mode 100644 examples/audio plugin demo/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h delete mode 100644 examples/audio plugin demo/JuceLibraryCode/modules/juce_core/juce_core.h delete mode 100644 examples/audio plugin demo/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h delete mode 100644 examples/audio plugin demo/JuceLibraryCode/modules/juce_events/juce_events.h delete mode 100644 examples/audio plugin demo/JuceLibraryCode/modules/juce_graphics/juce_graphics.h delete mode 100644 examples/audio plugin demo/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h delete mode 100644 examples/audio plugin demo/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h rename examples/audio plugin host/Builds/MacOSX/{Info.plist => Info-App.plist} (89%) create mode 100644 examples/audio plugin host/JuceLibraryCode/juce_audio_basics.cpp create mode 100644 examples/audio plugin host/JuceLibraryCode/juce_audio_basics.mm create mode 100644 examples/audio plugin host/JuceLibraryCode/juce_audio_devices.cpp create mode 100644 examples/audio plugin host/JuceLibraryCode/juce_audio_devices.mm create mode 100644 examples/audio plugin host/JuceLibraryCode/juce_audio_formats.cpp create mode 100644 examples/audio plugin host/JuceLibraryCode/juce_audio_formats.mm create mode 100644 examples/audio plugin host/JuceLibraryCode/juce_audio_processors.cpp create mode 100644 examples/audio plugin host/JuceLibraryCode/juce_audio_processors.mm create mode 100644 examples/audio plugin host/JuceLibraryCode/juce_audio_utils.cpp create mode 100644 examples/audio plugin host/JuceLibraryCode/juce_audio_utils.mm create mode 100644 examples/audio plugin host/JuceLibraryCode/juce_core.cpp create mode 100644 examples/audio plugin host/JuceLibraryCode/juce_core.mm create mode 100644 examples/audio plugin host/JuceLibraryCode/juce_cryptography.cpp create mode 100644 examples/audio plugin host/JuceLibraryCode/juce_cryptography.mm create mode 100644 examples/audio plugin host/JuceLibraryCode/juce_data_structures.cpp create mode 100644 examples/audio plugin host/JuceLibraryCode/juce_data_structures.mm create mode 100644 examples/audio plugin host/JuceLibraryCode/juce_events.cpp create mode 100644 examples/audio plugin host/JuceLibraryCode/juce_events.mm create mode 100644 examples/audio plugin host/JuceLibraryCode/juce_graphics.cpp create mode 100644 examples/audio plugin host/JuceLibraryCode/juce_graphics.mm create mode 100644 examples/audio plugin host/JuceLibraryCode/juce_gui_basics.cpp create mode 100644 examples/audio plugin host/JuceLibraryCode/juce_gui_basics.mm create mode 100644 examples/audio plugin host/JuceLibraryCode/juce_gui_extra.cpp create mode 100644 examples/audio plugin host/JuceLibraryCode/juce_gui_extra.mm create mode 100644 examples/audio plugin host/JuceLibraryCode/juce_opengl.cpp create mode 100644 examples/audio plugin host/JuceLibraryCode/juce_opengl.mm create mode 100644 examples/audio plugin host/JuceLibraryCode/juce_video.cpp create mode 100644 examples/audio plugin host/JuceLibraryCode/juce_video.mm delete mode 100644 examples/audio plugin host/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h delete mode 100644 examples/audio plugin host/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h delete mode 100644 examples/audio plugin host/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h delete mode 100644 examples/audio plugin host/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h delete mode 100644 examples/audio plugin host/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h delete mode 100644 examples/audio plugin host/JuceLibraryCode/modules/juce_core/juce_core.h delete mode 100644 examples/audio plugin host/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h delete mode 100644 examples/audio plugin host/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h delete mode 100644 examples/audio plugin host/JuceLibraryCode/modules/juce_events/juce_events.h delete mode 100644 examples/audio plugin host/JuceLibraryCode/modules/juce_graphics/juce_graphics.h delete mode 100644 examples/audio plugin host/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h delete mode 100644 examples/audio plugin host/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h delete mode 100644 examples/audio plugin host/JuceLibraryCode/modules/juce_opengl/juce_opengl.h delete mode 100644 examples/audio plugin host/JuceLibraryCode/modules/juce_video/juce_video.h rename extras/AudioPerformanceTest/Builds/MacOSX/{Info.plist => Info-App.plist} (88%) rename extras/AudioPerformanceTest/Builds/iOS/{Info.plist => Info-App.plist} (84%) create mode 100644 extras/AudioPerformanceTest/JuceLibraryCode/juce_audio_basics.cpp create mode 100644 extras/AudioPerformanceTest/JuceLibraryCode/juce_audio_basics.mm create mode 100644 extras/AudioPerformanceTest/JuceLibraryCode/juce_audio_devices.cpp create mode 100644 extras/AudioPerformanceTest/JuceLibraryCode/juce_audio_devices.mm create mode 100644 extras/AudioPerformanceTest/JuceLibraryCode/juce_audio_formats.cpp create mode 100644 extras/AudioPerformanceTest/JuceLibraryCode/juce_audio_formats.mm create mode 100644 extras/AudioPerformanceTest/JuceLibraryCode/juce_audio_processors.cpp create mode 100644 extras/AudioPerformanceTest/JuceLibraryCode/juce_audio_processors.mm create mode 100644 extras/AudioPerformanceTest/JuceLibraryCode/juce_audio_utils.cpp create mode 100644 extras/AudioPerformanceTest/JuceLibraryCode/juce_audio_utils.mm create mode 100644 extras/AudioPerformanceTest/JuceLibraryCode/juce_core.cpp create mode 100644 extras/AudioPerformanceTest/JuceLibraryCode/juce_core.mm create mode 100644 extras/AudioPerformanceTest/JuceLibraryCode/juce_data_structures.cpp create mode 100644 extras/AudioPerformanceTest/JuceLibraryCode/juce_data_structures.mm create mode 100644 extras/AudioPerformanceTest/JuceLibraryCode/juce_events.cpp create mode 100644 extras/AudioPerformanceTest/JuceLibraryCode/juce_events.mm create mode 100644 extras/AudioPerformanceTest/JuceLibraryCode/juce_graphics.cpp create mode 100644 extras/AudioPerformanceTest/JuceLibraryCode/juce_graphics.mm create mode 100644 extras/AudioPerformanceTest/JuceLibraryCode/juce_gui_basics.cpp create mode 100644 extras/AudioPerformanceTest/JuceLibraryCode/juce_gui_basics.mm create mode 100644 extras/AudioPerformanceTest/JuceLibraryCode/juce_gui_extra.cpp create mode 100644 extras/AudioPerformanceTest/JuceLibraryCode/juce_gui_extra.mm delete mode 100644 extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h delete mode 100644 extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h delete mode 100644 extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h delete mode 100644 extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h delete mode 100644 extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h delete mode 100644 extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_core/juce_core.h delete mode 100644 extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h delete mode 100644 extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_events/juce_events.h delete mode 100644 extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_graphics/juce_graphics.h delete mode 100644 extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h delete mode 100644 extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h delete mode 100644 extras/Introjucer/Builds/CodeBlocks/The Introjucer.cbp delete mode 100644 extras/Introjucer/Builds/MacOSX/Icon.icns delete mode 100644 extras/Introjucer/Builds/VisualStudio2010/The Introjucer.sln delete mode 100644 extras/Introjucer/Builds/VisualStudio2010/The Introjucer.vcxproj delete mode 100644 extras/Introjucer/Builds/VisualStudio2010/The Introjucer.vcxproj.filters delete mode 100644 extras/Introjucer/Builds/VisualStudio2010/icon.ico delete mode 100644 extras/Introjucer/Builds/VisualStudio2010/resources.rc delete mode 100644 extras/Introjucer/Builds/VisualStudio2012/The Introjucer.sln delete mode 100644 extras/Introjucer/Builds/VisualStudio2012/The Introjucer.vcxproj delete mode 100644 extras/Introjucer/Builds/VisualStudio2012/The Introjucer.vcxproj.filters delete mode 100644 extras/Introjucer/Builds/VisualStudio2012/icon.ico delete mode 100644 extras/Introjucer/Builds/VisualStudio2013/The Introjucer.sln delete mode 100644 extras/Introjucer/Builds/VisualStudio2013/icon.ico delete mode 100644 extras/Introjucer/Builds/VisualStudio2013/resources.rc delete mode 100644 extras/Introjucer/Builds/VisualStudio2015/The Introjucer.sln delete mode 100644 extras/Introjucer/Builds/VisualStudio2015/icon.ico delete mode 100644 extras/Introjucer/Introjucer.jucer delete mode 100644 extras/Introjucer/JuceLibraryCode/BinaryData.cpp delete mode 100644 extras/Introjucer/JuceLibraryCode/modules/juce_core/juce_core.h delete mode 100644 extras/Introjucer/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h delete mode 100644 extras/Introjucer/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h delete mode 100644 extras/Introjucer/JuceLibraryCode/modules/juce_events/juce_events.h delete mode 100644 extras/Introjucer/JuceLibraryCode/modules/juce_graphics/juce_graphics.h delete mode 100644 extras/Introjucer/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h delete mode 100644 extras/Introjucer/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h delete mode 100644 extras/Introjucer/Source/Application/jucer_Application.h delete mode 100644 extras/Introjucer/Source/Application/jucer_CommandIDs.h delete mode 100644 extras/Introjucer/Source/BinaryData/AudioPluginXCodeScript.txt delete mode 100644 extras/Introjucer/Source/BinaryData/juce_icon.png delete mode 100644 extras/Introjucer/Source/Project Saving/jucer_ProjectExport_XCode.h delete mode 100644 extras/Introjucer/Source/Project/jucer_AudioPluginModule.h delete mode 100644 extras/Introjucer/Source/Project/jucer_ModulesPanel.h delete mode 100644 extras/Introjucer/Source/Project/jucer_ProjectType.cpp delete mode 100644 extras/Introjucer/Source/Project/jucer_ProjectType.h create mode 100644 extras/Introjucer/Where has the Introjucer gone.txt rename extras/{Introjucer/Builds/Linux => Projucer/Builds/LinuxMakefile}/Makefile (83%) create mode 100644 extras/Projucer/Builds/MacOSX/Icon.icns create mode 100644 extras/Projucer/Builds/MacOSX/Info-App.plist rename extras/{Introjucer => Projucer}/Builds/MacOSX/Info.plist (71%) rename extras/{Introjucer/Builds/MacOSX/The Introjucer.xcodeproj => Projucer/Builds/MacOSX/Projucer.xcodeproj}/project.pbxproj (92%) rename extras/{Introjucer => Projucer}/Builds/MacOSX/RecentFilesMenuTemplate.nib (100%) create mode 100644 extras/Projucer/Builds/VisualStudio2013/Projucer.sln rename extras/{Introjucer/Builds/VisualStudio2013/The Introjucer.vcxproj => Projucer/Builds/VisualStudio2013/Projucer.vcxproj} (93%) rename extras/{Introjucer/Builds/VisualStudio2013/The Introjucer.vcxproj.filters => Projucer/Builds/VisualStudio2013/Projucer.vcxproj.filters} (87%) create mode 100644 extras/Projucer/Builds/VisualStudio2013/icon.ico rename extras/{Introjucer/Builds/VisualStudio2015 => Projucer/Builds/VisualStudio2013}/resources.rc (55%) create mode 100644 extras/Projucer/Builds/VisualStudio2015/Projucer.sln rename extras/{Introjucer/Builds/VisualStudio2015/The Introjucer.vcxproj => Projucer/Builds/VisualStudio2015/Projucer.vcxproj} (93%) rename extras/{Introjucer/Builds/VisualStudio2015/The Introjucer.vcxproj.filters => Projucer/Builds/VisualStudio2015/Projucer.vcxproj.filters} (87%) create mode 100644 extras/Projucer/Builds/VisualStudio2015/icon.ico rename extras/{Introjucer/Builds/VisualStudio2012 => Projucer/Builds/VisualStudio2015}/resources.rc (55%) rename extras/{Introjucer => Projucer}/JuceLibraryCode/AppConfig.h (81%) create mode 100644 extras/Projucer/JuceLibraryCode/BinaryData.cpp rename extras/{Introjucer => Projucer}/JuceLibraryCode/BinaryData.h (80%) rename extras/{Introjucer => Projucer}/JuceLibraryCode/JuceHeader.h (61%) rename extras/{Introjucer => Projucer}/JuceLibraryCode/ReadMe.txt (77%) create mode 100644 extras/Projucer/JuceLibraryCode/juce_core.cpp create mode 100644 extras/Projucer/JuceLibraryCode/juce_core.mm create mode 100644 extras/Projucer/JuceLibraryCode/juce_cryptography.cpp create mode 100644 extras/Projucer/JuceLibraryCode/juce_cryptography.mm create mode 100644 extras/Projucer/JuceLibraryCode/juce_data_structures.cpp create mode 100644 extras/Projucer/JuceLibraryCode/juce_data_structures.mm create mode 100644 extras/Projucer/JuceLibraryCode/juce_events.cpp create mode 100644 extras/Projucer/JuceLibraryCode/juce_events.mm create mode 100644 extras/Projucer/JuceLibraryCode/juce_graphics.cpp create mode 100644 extras/Projucer/JuceLibraryCode/juce_graphics.mm create mode 100644 extras/Projucer/JuceLibraryCode/juce_gui_basics.cpp create mode 100644 extras/Projucer/JuceLibraryCode/juce_gui_basics.mm create mode 100644 extras/Projucer/JuceLibraryCode/juce_gui_extra.cpp create mode 100644 extras/Projucer/JuceLibraryCode/juce_gui_extra.mm create mode 100644 extras/Projucer/Projucer.jucer rename extras/{Introjucer => Projucer}/Source/Application/jucer_AppearanceSettings.cpp (94%) rename extras/{Introjucer => Projucer}/Source/Application/jucer_AppearanceSettings.h (100%) create mode 100644 extras/Projucer/Source/Application/jucer_Application.cpp create mode 100644 extras/Projucer/Source/Application/jucer_Application.h rename extras/{Introjucer => Projucer}/Source/Application/jucer_AutoUpdater.cpp (94%) rename extras/{Introjucer => Projucer}/Source/Application/jucer_AutoUpdater.h (91%) create mode 100644 extras/Projucer/Source/Application/jucer_CommandIDs.h rename extras/{Introjucer => Projucer}/Source/Application/jucer_CommandLine.cpp (94%) rename extras/{Introjucer => Projucer}/Source/Application/jucer_CommandLine.h (100%) rename extras/{Introjucer => Projucer}/Source/Application/jucer_CommonHeaders.h (100%) rename extras/{Introjucer => Projucer}/Source/Application/jucer_DocumentEditorComponent.cpp (89%) rename extras/{Introjucer => Projucer}/Source/Application/jucer_DocumentEditorComponent.h (100%) create mode 100644 extras/Projucer/Source/Application/jucer_EulaDialogue.h rename extras/{Introjucer => Projucer}/Source/Application/jucer_FilePreviewComponent.h (94%) rename extras/{Introjucer => Projucer}/Source/Application/jucer_GlobalPreferences.cpp (100%) rename extras/{Introjucer => Projucer}/Source/Application/jucer_GlobalPreferences.h (100%) create mode 100644 extras/Projucer/Source/Application/jucer_LoginForm.h create mode 100644 extras/Projucer/Source/Application/jucer_Main.cpp rename extras/{Introjucer => Projucer}/Source/Application/jucer_MainWindow.cpp (85%) rename extras/{Introjucer => Projucer}/Source/Application/jucer_MainWindow.h (100%) rename extras/{Introjucer => Projucer}/Source/Application/jucer_OpenDocumentManager.cpp (91%) rename extras/{Introjucer => Projucer}/Source/Application/jucer_OpenDocumentManager.h (96%) create mode 100644 extras/Projucer/Source/Application/jucer_ProjucerLicenses.h create mode 100755 extras/Projucer/Source/BinaryData/ContaxPro45Lig.otf create mode 100755 extras/Projucer/Source/BinaryData/ContaxPro55Rm.otf create mode 100755 extras/Projucer/Source/BinaryData/ContaxPro55RmSC.otf create mode 100755 extras/Projucer/Source/BinaryData/ContaxPro65Med.otf rename extras/{Introjucer => Projucer}/Source/BinaryData/RecentFilesMenuTemplate.nib (100%) rename extras/{Introjucer => Projucer}/Source/BinaryData/background_logo.svg (100%) rename extras/{Introjucer => Projucer}/Source/BinaryData/background_tile.png (100%) rename extras/{Introjucer => Projucer}/Source/BinaryData/colourscheme_dark.xml (100%) rename extras/{Introjucer => Projucer}/Source/BinaryData/colourscheme_light.xml (100%) rename {modules/juce_audio_plugin_client/AU => extras/Projucer/Source/BinaryData}/juce_AU_Resources.r (52%) create mode 100644 extras/Projucer/Source/BinaryData/juce_icon.png rename extras/{Introjucer => Projucer}/Source/BinaryData/jucer_AnimatedComponentTemplate.cpp (100%) rename extras/{Introjucer => Projucer}/Source/BinaryData/jucer_AudioComponentTemplate.cpp (95%) rename extras/{Introjucer => Projucer}/Source/BinaryData/jucer_AudioPluginEditorTemplate.cpp (92%) rename extras/{Introjucer => Projucer}/Source/BinaryData/jucer_AudioPluginEditorTemplate.h (91%) rename extras/{Introjucer => Projucer}/Source/BinaryData/jucer_AudioPluginFilterTemplate.cpp (95%) rename extras/{Introjucer => Projucer}/Source/BinaryData/jucer_AudioPluginFilterTemplate.h (94%) rename extras/{Introjucer => Projucer}/Source/BinaryData/jucer_ComponentTemplate.cpp (81%) rename extras/{Introjucer => Projucer}/Source/BinaryData/jucer_ComponentTemplate.h (83%) rename extras/{Introjucer => Projucer}/Source/BinaryData/jucer_ContentCompTemplate.cpp (100%) rename extras/{Introjucer => Projucer}/Source/BinaryData/jucer_ContentCompTemplate.h (100%) rename extras/{Introjucer => Projucer}/Source/BinaryData/jucer_InlineComponentTemplate.h (100%) rename extras/{Introjucer => Projucer}/Source/BinaryData/jucer_MainConsoleAppTemplate.cpp (100%) rename extras/{Introjucer => Projucer}/Source/BinaryData/jucer_MainTemplate_NoWindow.cpp (94%) rename extras/{Introjucer => Projucer}/Source/BinaryData/jucer_MainTemplate_SimpleWindow.cpp (96%) rename extras/{Introjucer => Projucer}/Source/BinaryData/jucer_MainTemplate_Window.cpp (96%) rename extras/{Introjucer => Projucer}/Source/BinaryData/jucer_NewComponentTemplate.cpp (100%) rename extras/{Introjucer => Projucer}/Source/BinaryData/jucer_NewComponentTemplate.h (100%) rename extras/{Introjucer => Projucer}/Source/BinaryData/jucer_NewCppFileTemplate.cpp (100%) rename extras/{Introjucer => Projucer}/Source/BinaryData/jucer_NewCppFileTemplate.h (100%) rename extras/{Introjucer => Projucer}/Source/BinaryData/jucer_NewInlineComponentTemplate.h (100%) rename extras/{Introjucer => Projucer}/Source/BinaryData/jucer_OpenGLComponentTemplate.cpp (100%) rename extras/{Introjucer => Projucer}/Source/BinaryData/projectIconAndroid.png (100%) rename extras/{Introjucer => Projucer}/Source/BinaryData/projectIconCodeblocks.png (100%) rename extras/{Introjucer => Projucer}/Source/BinaryData/projectIconLinuxMakefile.png (100%) rename extras/{Introjucer => Projucer}/Source/BinaryData/projectIconVisualStudio.png (100%) rename extras/{Introjucer => Projucer}/Source/BinaryData/projectIconXcode.png (100%) rename extras/{Introjucer => Projucer}/Source/BinaryData/projectIconXcodeIOS.png (100%) create mode 100644 extras/Projucer/Source/BinaryData/projucer_EULA.txt create mode 100644 extras/Projucer/Source/BinaryData/projucer_login_bg.svg rename extras/{Introjucer => Projucer}/Source/BinaryData/wizard_AnimatedApp.svg (100%) rename extras/{Introjucer => Projucer}/Source/BinaryData/wizard_AudioApp.svg (100%) rename extras/{Introjucer => Projucer}/Source/BinaryData/wizard_AudioPlugin.svg (100%) rename extras/{Introjucer => Projucer}/Source/BinaryData/wizard_ConsoleApp.svg (100%) rename extras/{Introjucer => Projucer}/Source/BinaryData/wizard_DLL.svg (100%) rename extras/{Introjucer => Projucer}/Source/BinaryData/wizard_GUI.svg (100%) rename extras/{Introjucer => Projucer}/Source/BinaryData/wizard_Highlight.svg (100%) rename extras/{Introjucer => Projucer}/Source/BinaryData/wizard_OpenGL.svg (100%) rename extras/{Introjucer => Projucer}/Source/BinaryData/wizard_Openfile.svg (100%) rename extras/{Introjucer => Projucer}/Source/BinaryData/wizard_StaticLibrary.svg (100%) create mode 100644 extras/Projucer/Source/Code Editor/jucer_LiveBuildCodeEditor.h rename extras/{Introjucer => Projucer}/Source/Code Editor/jucer_SourceCodeEditor.cpp (95%) rename extras/{Introjucer => Projucer}/Source/Code Editor/jucer_SourceCodeEditor.h (96%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/components/jucer_ButtonHandler.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/components/jucer_ComboBoxHandler.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/components/jucer_ComponentNameProperty.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/components/jucer_ComponentTypeHandler.cpp (96%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/components/jucer_ComponentTypeHandler.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/components/jucer_ComponentUndoableAction.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/components/jucer_GenericComponentHandler.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/components/jucer_GroupComponentHandler.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/components/jucer_HyperlinkButtonHandler.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/components/jucer_ImageButtonHandler.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/components/jucer_JucerComponentHandler.h (95%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/components/jucer_LabelHandler.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/components/jucer_SliderHandler.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/components/jucer_TabbedComponentHandler.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/components/jucer_TextButtonHandler.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/components/jucer_TextEditorHandler.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/components/jucer_ToggleButtonHandler.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/components/jucer_TreeViewHandler.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/components/jucer_ViewportHandler.h (96%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/documents/jucer_ButtonDocument.cpp (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/documents/jucer_ButtonDocument.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/documents/jucer_ComponentDocument.cpp (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/documents/jucer_ComponentDocument.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/jucer_BinaryResources.cpp (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/jucer_BinaryResources.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/jucer_ComponentLayout.cpp (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/jucer_ComponentLayout.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/jucer_GeneratedCode.cpp (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/jucer_GeneratedCode.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/jucer_JucerDocument.cpp (94%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/jucer_JucerDocument.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/jucer_ObjectTypes.cpp (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/jucer_ObjectTypes.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/jucer_PaintRoutine.cpp (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/jucer_PaintRoutine.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/jucer_UtilityFunctions.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/paintelements/jucer_ColouredElement.cpp (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/paintelements/jucer_ColouredElement.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/paintelements/jucer_ElementSiblingComponent.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/paintelements/jucer_FillType.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/paintelements/jucer_GradientPointComponent.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/paintelements/jucer_ImageResourceProperty.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/paintelements/jucer_PaintElement.cpp (96%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/paintelements/jucer_PaintElement.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/paintelements/jucer_PaintElementEllipse.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/paintelements/jucer_PaintElementGroup.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/paintelements/jucer_PaintElementImage.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/paintelements/jucer_PaintElementPath.cpp (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/paintelements/jucer_PaintElementPath.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/paintelements/jucer_PaintElementRectangle.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/paintelements/jucer_PaintElementRoundedRectangle.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/paintelements/jucer_PaintElementText.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/paintelements/jucer_PaintElementUndoableAction.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/paintelements/jucer_PointComponent.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/paintelements/jucer_StrokeType.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/properties/jucer_ColourPropertyComponent.h (96%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/properties/jucer_ComponentBooleanProperty.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/properties/jucer_ComponentChoiceProperty.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/properties/jucer_ComponentColourProperty.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/properties/jucer_ComponentTextProperty.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/properties/jucer_FilePropertyComponent.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/properties/jucer_FontPropertyComponent.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/properties/jucer_JustificationProperty.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/properties/jucer_PositionPropertyBase.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/ui/jucer_ComponentLayoutEditor.cpp (96%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/ui/jucer_ComponentLayoutEditor.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/ui/jucer_ComponentLayoutPanel.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/ui/jucer_ComponentOverlayComponent.cpp (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/ui/jucer_ComponentOverlayComponent.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/ui/jucer_EditingPanelBase.cpp (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/ui/jucer_EditingPanelBase.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/ui/jucer_JucerCommandIDs.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/ui/jucer_JucerDocumentEditor.cpp (96%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/ui/jucer_JucerDocumentEditor.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/ui/jucer_PaintRoutineEditor.cpp (95%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/ui/jucer_PaintRoutineEditor.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/ui/jucer_PaintRoutinePanel.cpp (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/ui/jucer_PaintRoutinePanel.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/ui/jucer_RelativePositionedRectangle.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/ui/jucer_ResourceEditorPanel.cpp (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/ui/jucer_ResourceEditorPanel.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/ui/jucer_SnapGridPainter.h (100%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/ui/jucer_TestComponent.cpp (95%) rename extras/{Introjucer => Projucer}/Source/ComponentEditor/ui/jucer_TestComponent.h (100%) create mode 100644 extras/Projucer/Source/LiveBuildEngine/projucer_ActivityList.h create mode 100644 extras/Projucer/Source/LiveBuildEngine/projucer_ActivityListComponent.h create mode 100644 extras/Projucer/Source/LiveBuildEngine/projucer_BuildTabStatusComp.h create mode 100644 extras/Projucer/Source/LiveBuildEngine/projucer_ClassDatabase.h create mode 100644 extras/Projucer/Source/LiveBuildEngine/projucer_ClientServerMessages.h create mode 100644 extras/Projucer/Source/LiveBuildEngine/projucer_CompileEngineClient.cpp create mode 100644 extras/Projucer/Source/LiveBuildEngine/projucer_CompileEngineClient.h create mode 100644 extras/Projucer/Source/LiveBuildEngine/projucer_CompileEngineDLL.h create mode 100644 extras/Projucer/Source/LiveBuildEngine/projucer_CompileEngineServer.cpp create mode 100644 extras/Projucer/Source/LiveBuildEngine/projucer_CompileEngineServer.h create mode 100644 extras/Projucer/Source/LiveBuildEngine/projucer_ComponentListComp.h create mode 100644 extras/Projucer/Source/LiveBuildEngine/projucer_CppHelpers.h create mode 100644 extras/Projucer/Source/LiveBuildEngine/projucer_DiagnosticMessage.h create mode 100644 extras/Projucer/Source/LiveBuildEngine/projucer_ErrorList.h create mode 100644 extras/Projucer/Source/LiveBuildEngine/projucer_ErrorListComponent.h create mode 100644 extras/Projucer/Source/LiveBuildEngine/projucer_LiveCodeBuilderDLL.h create mode 100644 extras/Projucer/Source/LiveBuildEngine/projucer_MessageIDs.h create mode 100644 extras/Projucer/Source/LiveBuildEngine/projucer_ProjectBuildInfo.h create mode 100644 extras/Projucer/Source/LiveBuildEngine/projucer_SourceCodeRange.h rename extras/{Introjucer => Projucer}/Source/Project Saving/jucer_ProjectExport_AndroidAnt.h (91%) rename extras/{Introjucer => Projucer}/Source/Project Saving/jucer_ProjectExport_AndroidBase.h (91%) rename extras/{Introjucer => Projucer}/Source/Project Saving/jucer_ProjectExport_AndroidStudio.h (95%) rename extras/{Introjucer => Projucer}/Source/Project Saving/jucer_ProjectExport_CodeBlocks.h (87%) rename extras/{Introjucer => Projucer}/Source/Project Saving/jucer_ProjectExport_MSVC.h (84%) rename extras/{Introjucer => Projucer}/Source/Project Saving/jucer_ProjectExport_Make.h (87%) create mode 100644 extras/Projucer/Source/Project Saving/jucer_ProjectExport_XCode.h rename extras/{Introjucer => Projucer}/Source/Project Saving/jucer_ProjectExporter.cpp (84%) rename extras/{Introjucer => Projucer}/Source/Project Saving/jucer_ProjectExporter.h (87%) create mode 100644 extras/Projucer/Source/Project Saving/jucer_ProjectSaver.cpp rename extras/{Introjucer => Projucer}/Source/Project Saving/jucer_ProjectSaver.h (84%) rename extras/{Introjucer => Projucer}/Source/Project Saving/jucer_ResourceFile.cpp (100%) rename extras/{Introjucer => Projucer}/Source/Project Saving/jucer_ResourceFile.h (100%) rename extras/{Introjucer => Projucer}/Source/Project/jucer_ConfigTree_Base.h (95%) rename extras/{Introjucer => Projucer}/Source/Project/jucer_ConfigTree_Exporter.h (100%) rename extras/{Introjucer => Projucer}/Source/Project/jucer_ConfigTree_Modules.h (91%) rename extras/{Introjucer => Projucer}/Source/Project/jucer_DependencyPathPropertyComponent.cpp (100%) rename extras/{Introjucer => Projucer}/Source/Project/jucer_DependencyPathPropertyComponent.h (95%) rename extras/{Introjucer => Projucer}/Source/Project/jucer_GroupInformationComponent.h (96%) rename extras/{Introjucer => Projucer}/Source/Project/jucer_Module.cpp (53%) rename extras/{Introjucer => Projucer}/Source/Project/jucer_Module.h (78%) create mode 100644 extras/Projucer/Source/Project/jucer_ModulesPanel.h rename extras/{Introjucer => Projucer}/Source/Project/jucer_Project.cpp (69%) rename extras/{Introjucer => Projucer}/Source/Project/jucer_Project.h (76%) rename extras/{Introjucer => Projucer}/Source/Project/jucer_ProjectContentComponent.cpp (60%) rename extras/{Introjucer => Projucer}/Source/Project/jucer_ProjectContentComponent.h (65%) rename extras/{Introjucer => Projucer}/Source/Project/jucer_ProjectTree_Base.h (96%) rename extras/{Introjucer => Projucer}/Source/Project/jucer_ProjectTree_File.h (100%) rename extras/{Introjucer => Projucer}/Source/Project/jucer_ProjectTree_Group.h (100%) create mode 100644 extras/Projucer/Source/Project/jucer_ProjectType.h rename extras/{Introjucer => Projucer}/Source/Project/jucer_TreeItemTypes.h (100%) rename extras/{Introjucer => Projucer}/Source/Utility/jucer_CodeHelpers.cpp (100%) rename extras/{Introjucer => Projucer}/Source/Utility/jucer_CodeHelpers.h (100%) rename extras/{Introjucer => Projucer}/Source/Utility/jucer_ColourPropertyComponent.h (100%) rename extras/{Introjucer => Projucer}/Source/Utility/jucer_Colours.h (100%) create mode 100644 extras/Projucer/Source/Utility/jucer_DialogLookAndFeel.h rename extras/{Introjucer => Projucer}/Source/Utility/jucer_FileHelpers.cpp (100%) rename extras/{Introjucer => Projucer}/Source/Utility/jucer_FileHelpers.h (100%) rename extras/{Introjucer => Projucer}/Source/Utility/jucer_FilePathPropertyComponent.h (100%) rename extras/{Introjucer => Projucer}/Source/Utility/jucer_FloatingToolWindow.h (100%) rename extras/{Introjucer => Projucer}/Source/Utility/jucer_Icons.cpp (98%) rename extras/{Introjucer => Projucer}/Source/Utility/jucer_Icons.h (94%) rename extras/{Introjucer => Projucer}/Source/Utility/jucer_JucerTreeViewBase.cpp (100%) rename extras/{Introjucer => Projucer}/Source/Utility/jucer_JucerTreeViewBase.h (100%) rename extras/{Introjucer => Projucer}/Source/Utility/jucer_MiscUtilities.cpp (100%) rename extras/{Introjucer => Projucer}/Source/Utility/jucer_MiscUtilities.h (100%) rename extras/{Introjucer => Projucer}/Source/Utility/jucer_PresetIDs.h (83%) rename extras/{Introjucer/Source/Utility/jucer_IntrojucerLookAndFeel.cpp => Projucer/Source/Utility/jucer_ProjucerLookAndFeel.cpp} (81%) rename extras/{Introjucer/Source/Utility/jucer_IntrojucerLookAndFeel.h => Projucer/Source/Utility/jucer_ProjucerLookAndFeel.h} (85%) rename extras/{Introjucer => Projucer}/Source/Utility/jucer_RelativePath.h (100%) rename extras/{Introjucer => Projucer}/Source/Utility/jucer_SVGPathDataComponent.h (96%) rename extras/{Introjucer => Projucer}/Source/Utility/jucer_SlidingPanelComponent.cpp (100%) rename extras/{Introjucer => Projucer}/Source/Utility/jucer_SlidingPanelComponent.h (100%) rename extras/{Introjucer => Projucer}/Source/Utility/jucer_StoredSettings.cpp (93%) rename extras/{Introjucer => Projucer}/Source/Utility/jucer_StoredSettings.h (100%) rename extras/{Introjucer => Projucer}/Source/Utility/jucer_TranslationTool.h (95%) rename extras/{Introjucer => Projucer}/Source/Utility/jucer_UTF8Component.h (96%) rename extras/{Introjucer => Projucer}/Source/Utility/jucer_ValueSourceHelpers.h (100%) rename extras/{Introjucer => Projucer}/Source/Wizards/jucer_NewFileWizard.cpp (95%) rename extras/{Introjucer => Projucer}/Source/Wizards/jucer_NewFileWizard.h (100%) rename extras/{Introjucer => Projucer}/Source/Wizards/jucer_NewProjectWizard.h (96%) rename extras/{Introjucer => Projucer}/Source/Wizards/jucer_NewProjectWizardClasses.cpp (95%) rename extras/{Introjucer => Projucer}/Source/Wizards/jucer_NewProjectWizardClasses.h (100%) rename extras/{Introjucer => Projucer}/Source/Wizards/jucer_NewProjectWizardComponent.h (100%) rename extras/{Introjucer => Projucer}/Source/Wizards/jucer_ProjectWizard_Animated.h (95%) rename extras/{Introjucer => Projucer}/Source/Wizards/jucer_ProjectWizard_AudioApp.h (95%) rename extras/{Introjucer => Projucer}/Source/Wizards/jucer_ProjectWizard_AudioPlugin.h (96%) rename extras/{Introjucer => Projucer}/Source/Wizards/jucer_ProjectWizard_Blank.h (93%) rename extras/{Introjucer => Projucer}/Source/Wizards/jucer_ProjectWizard_Console.h (94%) rename extras/{Introjucer => Projucer}/Source/Wizards/jucer_ProjectWizard_DLL.h (92%) rename extras/{Introjucer => Projucer}/Source/Wizards/jucer_ProjectWizard_GUIApp.h (96%) rename extras/{Introjucer => Projucer}/Source/Wizards/jucer_ProjectWizard_StaticLibrary.h (92%) rename extras/{Introjucer => Projucer}/Source/Wizards/jucer_ProjectWizard_openGL.h (95%) rename extras/{Introjucer => Projucer}/Source/Wizards/jucer_StartPageComponent.h (92%) rename extras/{Introjucer => Projucer}/Source/Wizards/jucer_TemplateThumbnailsComponent.h (95%) rename extras/{Introjucer => Projucer}/Source/jucer_Headers.h (78%) create mode 100644 extras/UnitTestRunner/JuceLibraryCode/juce_audio_basics.cpp create mode 100644 extras/UnitTestRunner/JuceLibraryCode/juce_audio_basics.mm create mode 100644 extras/UnitTestRunner/JuceLibraryCode/juce_audio_devices.cpp create mode 100644 extras/UnitTestRunner/JuceLibraryCode/juce_audio_devices.mm create mode 100644 extras/UnitTestRunner/JuceLibraryCode/juce_audio_formats.cpp create mode 100644 extras/UnitTestRunner/JuceLibraryCode/juce_audio_formats.mm create mode 100644 extras/UnitTestRunner/JuceLibraryCode/juce_audio_processors.cpp create mode 100644 extras/UnitTestRunner/JuceLibraryCode/juce_audio_processors.mm create mode 100644 extras/UnitTestRunner/JuceLibraryCode/juce_core.cpp create mode 100644 extras/UnitTestRunner/JuceLibraryCode/juce_core.mm create mode 100644 extras/UnitTestRunner/JuceLibraryCode/juce_cryptography.cpp create mode 100644 extras/UnitTestRunner/JuceLibraryCode/juce_cryptography.mm create mode 100644 extras/UnitTestRunner/JuceLibraryCode/juce_data_structures.cpp create mode 100644 extras/UnitTestRunner/JuceLibraryCode/juce_data_structures.mm create mode 100644 extras/UnitTestRunner/JuceLibraryCode/juce_events.cpp create mode 100644 extras/UnitTestRunner/JuceLibraryCode/juce_events.mm create mode 100644 extras/UnitTestRunner/JuceLibraryCode/juce_graphics.cpp create mode 100644 extras/UnitTestRunner/JuceLibraryCode/juce_graphics.mm create mode 100644 extras/UnitTestRunner/JuceLibraryCode/juce_gui_basics.cpp create mode 100644 extras/UnitTestRunner/JuceLibraryCode/juce_gui_basics.mm create mode 100644 extras/UnitTestRunner/JuceLibraryCode/juce_gui_extra.cpp create mode 100644 extras/UnitTestRunner/JuceLibraryCode/juce_gui_extra.mm create mode 100644 extras/UnitTestRunner/JuceLibraryCode/juce_opengl.cpp create mode 100644 extras/UnitTestRunner/JuceLibraryCode/juce_opengl.mm create mode 100644 extras/UnitTestRunner/JuceLibraryCode/juce_osc.cpp create mode 100644 extras/UnitTestRunner/JuceLibraryCode/juce_video.cpp create mode 100644 extras/UnitTestRunner/JuceLibraryCode/juce_video.mm delete mode 100644 extras/UnitTestRunner/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h delete mode 100644 extras/UnitTestRunner/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h delete mode 100644 extras/UnitTestRunner/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h delete mode 100644 extras/UnitTestRunner/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h delete mode 100644 extras/UnitTestRunner/JuceLibraryCode/modules/juce_core/juce_core.h delete mode 100644 extras/UnitTestRunner/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h delete mode 100644 extras/UnitTestRunner/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h delete mode 100644 extras/UnitTestRunner/JuceLibraryCode/modules/juce_events/juce_events.h delete mode 100644 extras/UnitTestRunner/JuceLibraryCode/modules/juce_graphics/juce_graphics.h delete mode 100644 extras/UnitTestRunner/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h delete mode 100644 extras/UnitTestRunner/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h delete mode 100644 extras/UnitTestRunner/JuceLibraryCode/modules/juce_opengl/juce_opengl.h delete mode 100644 extras/UnitTestRunner/JuceLibraryCode/modules/juce_osc/juce_osc.h delete mode 100644 extras/UnitTestRunner/JuceLibraryCode/modules/juce_video/juce_video.h create mode 100644 extras/binarybuilder/JuceLibraryCode/juce_core.cpp create mode 100644 extras/binarybuilder/JuceLibraryCode/juce_core.mm delete mode 100644 extras/binarybuilder/JuceLibraryCode/modules/juce_core/juce_core.h create mode 100644 extras/windows dll/JuceLibraryCode/juce_audio_basics.cpp create mode 100644 extras/windows dll/JuceLibraryCode/juce_audio_basics.mm create mode 100644 extras/windows dll/JuceLibraryCode/juce_audio_devices.cpp create mode 100644 extras/windows dll/JuceLibraryCode/juce_audio_devices.mm create mode 100644 extras/windows dll/JuceLibraryCode/juce_audio_formats.cpp create mode 100644 extras/windows dll/JuceLibraryCode/juce_audio_formats.mm create mode 100644 extras/windows dll/JuceLibraryCode/juce_audio_processors.cpp create mode 100644 extras/windows dll/JuceLibraryCode/juce_audio_processors.mm create mode 100644 extras/windows dll/JuceLibraryCode/juce_audio_utils.cpp create mode 100644 extras/windows dll/JuceLibraryCode/juce_audio_utils.mm create mode 100644 extras/windows dll/JuceLibraryCode/juce_core.cpp create mode 100644 extras/windows dll/JuceLibraryCode/juce_core.mm create mode 100644 extras/windows dll/JuceLibraryCode/juce_cryptography.cpp create mode 100644 extras/windows dll/JuceLibraryCode/juce_cryptography.mm create mode 100644 extras/windows dll/JuceLibraryCode/juce_data_structures.cpp create mode 100644 extras/windows dll/JuceLibraryCode/juce_data_structures.mm create mode 100644 extras/windows dll/JuceLibraryCode/juce_events.cpp create mode 100644 extras/windows dll/JuceLibraryCode/juce_events.mm create mode 100644 extras/windows dll/JuceLibraryCode/juce_graphics.cpp create mode 100644 extras/windows dll/JuceLibraryCode/juce_graphics.mm create mode 100644 extras/windows dll/JuceLibraryCode/juce_gui_basics.cpp create mode 100644 extras/windows dll/JuceLibraryCode/juce_gui_basics.mm create mode 100644 extras/windows dll/JuceLibraryCode/juce_gui_extra.cpp create mode 100644 extras/windows dll/JuceLibraryCode/juce_gui_extra.mm create mode 100644 extras/windows dll/JuceLibraryCode/juce_opengl.cpp create mode 100644 extras/windows dll/JuceLibraryCode/juce_opengl.mm create mode 100644 extras/windows dll/JuceLibraryCode/juce_video.cpp create mode 100644 extras/windows dll/JuceLibraryCode/juce_video.mm delete mode 100644 extras/windows dll/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h delete mode 100644 extras/windows dll/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h delete mode 100644 extras/windows dll/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h delete mode 100644 extras/windows dll/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h delete mode 100644 extras/windows dll/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h delete mode 100644 extras/windows dll/JuceLibraryCode/modules/juce_core/juce_core.h delete mode 100644 extras/windows dll/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h delete mode 100644 extras/windows dll/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h delete mode 100644 extras/windows dll/JuceLibraryCode/modules/juce_events/juce_events.h delete mode 100644 extras/windows dll/JuceLibraryCode/modules/juce_graphics/juce_graphics.h delete mode 100644 extras/windows dll/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h delete mode 100644 extras/windows dll/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h delete mode 100644 extras/windows dll/JuceLibraryCode/modules/juce_opengl/juce_opengl.h delete mode 100644 extras/windows dll/JuceLibraryCode/modules/juce_video/juce_video.h create mode 100644 modules/JUCE Module Format.txt delete mode 100644 modules/juce_audio_basics/juce_module_info delete mode 100644 modules/juce_audio_devices/juce_module_info delete mode 100644 modules/juce_audio_formats/juce_module_info delete mode 100644 modules/juce_audio_plugin_client/AU/AUResources.r create mode 100644 modules/juce_audio_plugin_client/AU/juce_AU_Shared.h create mode 100644 modules/juce_audio_plugin_client/AU/juce_AUv3_Wrapper.mm delete mode 100644 modules/juce_audio_plugin_client/RTAS/juce_RTAS_MacResources.r create mode 100644 modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterApp.cpp rename extras/Introjucer/Source/Application/jucer_Main.cpp => modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.cpp (87%) create mode 100644 modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.mm create mode 100644 modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_1.mm create mode 100644 modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_2.mm create mode 100644 modules/juce_audio_plugin_client/juce_audio_plugin_client_AUv3.mm create mode 100644 modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_1.cpp create mode 100644 modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_2.cpp create mode 100644 modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_3.cpp create mode 100644 modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_4.cpp create mode 100644 modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_utils.cpp create mode 100644 modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_utils.mm create mode 100644 modules/juce_audio_plugin_client/juce_audio_plugin_client_Standalone.cpp create mode 100644 modules/juce_audio_plugin_client/juce_audio_plugin_client_VST2.cpp create mode 100644 modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.cpp create mode 100644 modules/juce_audio_plugin_client/juce_audio_plugin_client_VST_utils.mm create mode 100644 modules/juce_audio_plugin_client/juce_audio_plugin_client_utils.cpp delete mode 100644 modules/juce_audio_plugin_client/juce_module_info delete mode 100644 modules/juce_audio_processors/juce_module_info delete mode 100644 modules/juce_audio_utils/juce_module_info delete mode 100644 modules/juce_box2d/juce_module_info delete mode 100644 modules/juce_core/juce_module_info delete mode 100644 modules/juce_cryptography/juce_module_info delete mode 100644 modules/juce_data_structures/juce_module_info delete mode 100644 modules/juce_events/juce_module_info delete mode 100644 modules/juce_graphics/juce_module_info delete mode 100644 modules/juce_gui_basics/juce_module_info delete mode 100644 modules/juce_gui_extra/juce_module_info delete mode 100644 modules/juce_opengl/juce_module_info delete mode 100644 modules/juce_osc/juce_module_info delete mode 100644 modules/juce_tracktion_marketplace/juce_module_info delete mode 100644 modules/juce_video/juce_module_info diff --git a/.gitignore b/.gitignore index d192e26aef..b9a9f61605 100644 --- a/.gitignore +++ b/.gitignore @@ -16,6 +16,7 @@ *.d *.sdf *.opensdf +*.VC.opendb xcuserdata *.xccheckout contents.xcworkspacedata diff --git a/ChangeList.txt b/ChangeList.txt index 376b00f230..a37dad2a41 100644 --- a/ChangeList.txt +++ b/ChangeList.txt @@ -1,9 +1,23 @@ == Major JUCE features and updates == -This file just lists the more notable headline features. For more detailed info about minor changes and bugfixes, please see the git log. +This file just lists the more notable headline features. For more detailed info +about minor changes and bugfixes, please see the git log! -Version 4.1 +Version 4.2 + - Added support for AudioUnit v3 on OS X and iOS + - Simplified the JUCE module format. Removed the json module definition files, and made + it easier to manually add modules to projects. The format is fully described in the + document juce/modules/JUCE Module Format.txt + - iOS project support: added custom resource folders, custom xcassets, app capabilities, + and screen orientation settings. + - Deleted the Introjucer.. But don't panic! All of its functionality is now supplied by a + more open-source version of the Projucer. By refactoring the closed-source LLVM compilation + code into a DLL, we've been able to unify the Introjucer and Projucer into a single + open-source project. This will allow everyone to compile the Projucer's IDE themselves, and + having just one app instead of two will make things a lot less confusing! + +Version 4.1 - Added multi-bus support for audio plug-in clients - Added support for MIDI effect plug-ins (AU and AAX). - Added new example: Network Graphics Demo @@ -23,18 +37,18 @@ Version 4.0.1 - Android Studio exporting from the Introjucer - Android-M pro-audio low-latency i/o support - Bluetooth MIDI device support on iOS and Android - - AudioSampleBuffer refactored into a templated class AudioBuffer, to allow 32 or 64 bit float support + - AudioSampleBuffer refactored into a templated class AudioBuffer, to allow + 32 or 64 bit float support - Audio plugin and hosting now supports 64-bit data - Support for force-touch and pen pressure on iOS and Windows - Added easy sound-file playing methods to AudioDeviceManager - Many updates to Introjucer - Many new tutorials and examples - Version 3.3.0 - New functions for Base64 conversion - - New command-line options in the introjucer for trimming whitespace and replacing tabs in source files - + - New command-line options in the introjucer for trimming whitespace and + replacing tabs in source files Version 3.2.0 - Major OpenGL performance/stability improvements diff --git a/README.txt b/README.txt index 8e92f858f8..dec6d6a3e3 100644 --- a/README.txt +++ b/README.txt @@ -1,17 +1,17 @@ -# The JUCE Library - -JUCE (Jules' Utility Class Extensions) is an all-encompassing -C++ framework for developing cross-platform software. - -It contains pretty much everything you're likely to need to create -most applications, and is particularly well-suited for building -highly-customised GUIs, and for handling graphics and sound. - -Most JUCE modules are shared under the GNU Public Licence -(GPLv2, v3, and the AGPLv3). This means that the code can -be freely copied and distributed, and costs nothing to use -in other GPL applications. One module (the juce_core module) -is permissively licensed under the ISC. - -For more information, visit the website: +# The JUCE Library + +JUCE (Jules' Utility Class Extensions) is an all-encompassing +C++ framework for developing cross-platform software. + +It contains pretty much everything you're likely to need to create +most applications, and is particularly well-suited for building +highly-customised GUIs, and for handling graphics and sound. + +Most JUCE modules are shared under the GNU Public Licence +(GPLv2, v3, and the AGPLv3). This means that the code can +be freely copied and distributed, and costs nothing to use +in other GPL applications. One module (the juce_core module) +is permissively licensed under the ISC. + +For more information, visit the website: http://www.juce.com \ No newline at end of file diff --git a/examples/AUv3Synth/AUv3Synth.jucer b/examples/AUv3Synth/AUv3Synth.jucer new file mode 100644 index 0000000000..df4adf911b --- /dev/null +++ b/examples/AUv3Synth/AUv3Synth.jucer @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/AUv3Synth/Builds/MacOSX/AUv3Synth.entitlements b/examples/AUv3Synth/Builds/MacOSX/AUv3Synth.entitlements new file mode 100644 index 0000000000..22194a6d2d --- /dev/null +++ b/examples/AUv3Synth/Builds/MacOSX/AUv3Synth.entitlements @@ -0,0 +1 @@ + com.apple.security.app-sandbox \ No newline at end of file diff --git a/examples/AUv3Synth/Builds/MacOSX/AUv3Synth.xcodeproj/project.pbxproj b/examples/AUv3Synth/Builds/MacOSX/AUv3Synth.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..1bb4bd2273 --- /dev/null +++ b/examples/AUv3Synth/Builds/MacOSX/AUv3Synth.xcodeproj/project.pbxproj @@ -0,0 +1,2642 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + + 55B4C2F046533A9C139516FF = {isa = PBXBuildFile; fileRef = F5E81FD99EFCB226D2486603; }; + 0439152237E9CBF5542476FD = {isa = PBXBuildFile; fileRef = E4AB099F3E7A853F90FBFEEB; }; + EE8DCBA5DC0EE7CAD6FF2F39 = {isa = PBXBuildFile; fileRef = 746B19364297E7D489749B70; }; + 3F1630B6EF37313AADD6EAB8 = {isa = PBXBuildFile; fileRef = EC3DE1F504C76EEDDA7F2216; }; + 77FA445D27C21FBA66A46BF2 = {isa = PBXBuildFile; fileRef = 9536B5A780A03F6BACB24144; }; + FAD4DF17110D52B8ED8D9F93 = {isa = PBXBuildFile; fileRef = 7CBEB55B80E78C9DE16A713A; }; + 737E06660F37BFFCABD89643 = {isa = PBXBuildFile; fileRef = AC3356631ED2AC043BC67B79; }; + 99CFCAE766AF81C0E6E2F8DE = {isa = PBXBuildFile; fileRef = C4FED4C2640C8615AB415884; }; + D53302896621B8A3E8BDD606 = {isa = PBXBuildFile; fileRef = 60F11ABAC12D373D4BFEA447; }; + 627FF2EB32E4F649D046D7D6 = {isa = PBXBuildFile; fileRef = 8C9C38D32DB4D8BD543CA892; }; + FBC502C5DB95D7A5E3768F1D = {isa = PBXBuildFile; fileRef = 675310EF6D0A3DDE3A35363D; }; + 669F51FA55E939D010EA279D = {isa = PBXBuildFile; fileRef = 5AD0B0347A511D96D2880A06; }; + EDC8ABA2EC0A2D7A2147E896 = {isa = PBXBuildFile; fileRef = 296CD54575ED27C23A2F13F3; }; + 1DF18B2507A574FBA9C49DE1 = {isa = PBXBuildFile; fileRef = 872D05BD56490FD7B375C11B; }; + 958BB20BE932FAE6C05590A9 = {isa = PBXBuildFile; fileRef = C5B66A2F03D08FC9CF0B9678; }; + 862AE8BF24611A84E8FCAF4D = {isa = PBXBuildFile; fileRef = 0B88D848C15EF6915FB62EE7; }; + F452B8399A32BE4F1074F596 = {isa = PBXBuildFile; fileRef = 29982493607128FD6DB6A284; }; + 69856794EB88963828DDECC6 = {isa = PBXBuildFile; fileRef = 5DAB08505A14E46FF7BF3B1D; }; + F56A47BDEEC76681EE80A15E = {isa = PBXBuildFile; fileRef = F003DFE998431203650E2E3F; }; + 26AB69B22ED0C3D7288D1175 = {isa = PBXBuildFile; fileRef = FF08B80860BB393314DC49EA; }; + 78704983DFEA5408FC5767D8 = {isa = PBXBuildFile; fileRef = D06C2B85E02F13F9B57DB1A9; }; + DE7F04372E0068FDBB51B63D = {isa = PBXBuildFile; fileRef = 9C7C3A15A9D747596DDE40AA; }; + EB5DBEF68B987F85D1977CE6 = {isa = PBXBuildFile; fileRef = 5063E96C5D8860003810C70E; }; + A9ED010F8EE28A1E880009F6 = {isa = PBXBuildFile; fileRef = 18ADDCF1C2123777FA507D82; }; + 5EE52C46C67C9D298B76A8EF = {isa = PBXBuildFile; fileRef = 4D8CF31D3C9F2A91C42CF8FF; }; + 00634FB8FE591A7C252FF899 = {isa = PBXBuildFile; fileRef = EC9D06705CCAD94B653A6E82; }; + 0942F20A9A312E80B2EE65E5 = {isa = PBXBuildFile; fileRef = CC14A34F66FDF9E12523CABF; }; + 0E0B50F4A042E48B9631A42A = {isa = PBXBuildFile; fileRef = CF02DA80A8A515CE41B0C8F6; }; + 72733104CA9C62BE856879C9 = {isa = PBXBuildFile; fileRef = 63AFF514CAE6FB89A3503CEF; }; + A00624D77FD68669DD6234D0 = {isa = PBXBuildFile; fileRef = A8315F08B794D9C87328F17F; }; + E94BB952CDD544FA3A0A4DBB = {isa = PBXBuildFile; fileRef = 853D9A89FE96C6DD6730CEC7; }; + 2D137C5E337024E492FA14D4 = {isa = PBXBuildFile; fileRef = ABEAE8C8B69A71C532DF770B; }; + 8EBD1E279B7E4B420F310D12 = {isa = PBXBuildFile; fileRef = D9ED0926381D40DA1A66C26D; }; + 045E9D3412FD38BFE3071254 = {isa = PBXBuildFile; fileRef = 9965CB9ED8D2B26CACA9C44A; }; + 4066B5EF83133035C3579D0D = {isa = PBXBuildFile; fileRef = 58E254BD072595F6E3F6D5F5; }; + 494508643A4F4A0D1BCED1E8 = {isa = PBXBuildFile; fileRef = ED8140AF46A706EDAA040283; }; + 00422A568EFE5C77545FD0A7 = {isa = PBXBuildFile; fileRef = 894DE965F10168F149FBE8F9; }; + 5E0C694827A6C5CB4E44262A = {isa = PBXBuildFile; fileRef = 64B7CFC6CE9B929135A4ACA3; }; + E75CEEF234B6E886AFFB169E = {isa = PBXBuildFile; fileRef = 820B1466E6B31A80C699D084; }; + 4D9D92DD454BB03746241196 = {isa = PBXBuildFile; fileRef = E553E188A17BDF4E832F0A01; }; + 003AD91863D1E07BEFDCDB46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; }; + 003B0A5337B7EB6AB6906625 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0040A971F52DDCF3BD1AA6A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInputSource.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 00500DE183D3A54A2DA74DE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEInstrument.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp"; sourceTree = "SOURCE_ROOT"; }; + 005F4C7FE38D54E7FDFC3F9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 007ADE418EFF0B13796D2992 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUv3SynthEditor.h; path = ../../Source/AUv3SynthEditor.h; sourceTree = "SOURCE_ROOT"; }; + 00A950F33C21C6688103E667 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FakeMouseMoveGenerator.h"; path = "../../../../modules/juce_audio_plugin_client/utility/juce_FakeMouseMoveGenerator.h"; sourceTree = "SOURCE_ROOT"; }; + 015DB8D668A1F85370D5BFAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 01647762E74B323EFFC6F09F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; + 020FE683177165C897C9E5A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; + 028400FDADB7732D2CA25667 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; }; + 0317FC7737CA599686725C64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + 042C7366A26A18DFA13B2512 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 0470F8A85B927F530A374CDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; }; + 04AD581DA72D441C50F4D53D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 04CDFCB4FF06CA7E1B0CC260 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; }; + 05206E536544288B1DFC3EC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; }; + 0527F8D9C84F850B9E2F794C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorListener.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h"; sourceTree = "SOURCE_ROOT"; }; + 0589532FD9A73AE783AEAFF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; }; + 05C14DEEE0E3BDC4049484B5 = {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"; }; + 066F37651C7F3792917C2F8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; }; + 068109EA4981DB342942D174 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginBusUtilities.h"; path = "../../../../modules/juce_audio_plugin_client/utility/juce_PluginBusUtilities.h"; sourceTree = "SOURCE_ROOT"; }; + 0737F61AF723FA62458B92BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0762DCD2200EC064A17AC77F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FloatVectorOperations.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h"; sourceTree = "SOURCE_ROOT"; }; + 07731AE3B779E9D7B560C394 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 08D38FFAFF41735F36FD4BF9 = {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"; }; + 0A063D0E9CDBCFBA3B31B8A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FFT.h"; path = "../../../../modules/juce_audio_basics/effects/juce_FFT.h"; sourceTree = "SOURCE_ROOT"; }; + 0A2F6E47C38E8433AA318B2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; }; + 0A6388AE7A6D842C59BE4BB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; }; + 0B29952E2F0758E5C07D21DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0B557BFDEF2C0249EC732AD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 0B56ACE2E7A2CC5B75550C6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; }; + 0B842061D62F68F42428E33A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0B88D848C15EF6915FB62EE7 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; + 0B8A751E656BC4B5E4CC4421 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0BF3EE970460415F16F823FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; }; + 0C57D75820A254EFD312E57E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSubsectionReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h"; sourceTree = "SOURCE_ROOT"; }; + 0C5C43B5677B8F335F364B14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 0CA2C16285A53550FF3BFF4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; }; + 0CAE7725A1DB51AA7D3CE2ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0CAE94701F33517C1CD31C63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0DDFA4ECA18ADDF430BFEA7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; + 0E429E673C3066089538F4FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0EF4BF328799608AE16E7596 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0F0BF502E0417422010480ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; + 0F423E99E9C1741395CC5CF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; }; + 0F74F021243AF898305447F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0FB29BBC0B65633627478BA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 0FBF33EFF911E926019DA013 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 0FD0A1A31985ABBBF0ABACA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0FDE79162C42D29429F29BF2 = {isa = PBXFileReference; lastKnownFileType = file.ogg; name = singing.ogg; path = ../../Source/BinaryData/singing.ogg; sourceTree = "SOURCE_ROOT"; }; + 0FEDE49FDC29C3ED222D6170 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiser.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h"; sourceTree = "SOURCE_ROOT"; }; + 103120277880D41F8696B2A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; }; + 10467B840ADE953EC282EF36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; }; + 11178723AF569693785A066F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; + 11C585D0BE28AEB6941E0E8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; }; + 120DA52B14963529AF23E4D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; }; + 121DD39EAA6066F411B049A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1238631934643787E27DDC66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailCache.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h"; sourceTree = "SOURCE_ROOT"; }; + 12395B6A3CDDE856FC5BFD75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1267F1B5D02A74861F4F135C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessage.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp"; sourceTree = "SOURCE_ROOT"; }; + 128D7FD70FE164060807E29F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; }; + 12B0DB43F1E76431C35A4958 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; + 12C25C7C2E883F374E8B3D36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 12D76B0BA7A16AB10A052E19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; }; + 12E82F17788C076C81627268 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp"; sourceTree = "SOURCE_ROOT"; }; + 12F04ADB729E5DAB771C50C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + 135D3D0727C92A67F71E4254 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 13B17EB9291B9E5C95408C47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ASIO.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp"; sourceTree = "SOURCE_ROOT"; }; + 13C5BDE7720A7963AC736BC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; }; + 13DD37B2F314596BBC25A47D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; sourceTree = "SOURCE_ROOT"; }; + 142ADBE2098D59ECB95443D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; }; + 14A852037C298A105BA716F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 14B4ECA05D8D48728F6E0DAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; + 14E1CF05D80EA4E2CCFD1EB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; }; + 14EEC624D1628BE3DE7AAB0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; }; + 14F4349930D298E952EE54E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnection.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp"; sourceTree = "SOURCE_ROOT"; }; + 15687E3C898914FCE458C1B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 156F6F1A0F64BAC3E8416D01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 15AA6B90FEE89B0D3C1F06CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; }; + 15C8A0E89E2A3DFAC733FCD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; }; + 15D7465655AABF4F6BBA81CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; }; + 16F4A8C0228D84216A33B9B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 170409D99808EC4EADC66EFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; + 17968A543385166D4392F171 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; }; + 17D44D834820845D7F4BCB79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; }; + 17EE88F0A67B5FD24182345A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; }; + 185A5E99EFDAB0E1ED5467F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; + 1882040AC74DD8A41D05F06E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScrollBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h"; sourceTree = "SOURCE_ROOT"; }; + 18A0299049ABE5D250CB0FD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; + 18ADDCF1C2123777FA507D82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../JuceLibraryCode/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; + 18E2A37DF0A882E058663C17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; }; + 1923954B491DDBBEF5694ACA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; }; + 192ABDFEDF4C082BB8DF0492 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AiffAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 194765A55D6C02B43A1F334A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZone.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.cpp"; sourceTree = "SOURCE_ROOT"; }; + 19631764DB948B287771C41E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1969DCD38A5D738B1C411BB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; + 19E72A5209E3A31D442AF7F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 19E96BA421072EFF69CA0A33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1A0498CEB99BA9719C85F11E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectSound.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1A3355000573E6A083028E9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IncludeSystemHeaders.h"; path = "../../../../modules/juce_audio_plugin_client/utility/juce_IncludeSystemHeaders.h"; sourceTree = "SOURCE_ROOT"; }; + 1A470B745FCC0020078807C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceManager.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1A5F13EEFA6BFCC120C57869 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; }; + 1A74067A82DFA16E4E302BDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1A86C86BA6589DF87E2953F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; }; + 1AF82B1F138DE2C506FBBDAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_BluetoothMidiDevicePairingDialogue.mm"; path = "../../../../modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm"; sourceTree = "SOURCE_ROOT"; }; + 1B794C1F7E3459B014C75197 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1BD4D7258F644BC3B343432E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1C45C50E54A57400FF9E6EEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnail.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1CBE1E675953EF2172FAD79E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1CCCE32D36FB57FBFA6B8BAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1CE2727544D8067E9DB2F503 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; }; + 1D0B59F0A6F76ED5272E08C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1D38916035F0926B751035DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1DE41A53AABA7D76432B567F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1E13310D81E44B4523CA8DC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; }; + 1E81FFB8798BCB6C6E8C82C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1EAB166798F43125DDCE0BC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1EBC98B1315EA748EAE0BE86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; }; + 1F460579410D4B352F2A85E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiRPN.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h"; sourceTree = "SOURCE_ROOT"; }; + 1F9C82CD04D63753C7B56FCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; }; + 1F9CAB8660B3BA12C6147B6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; }; + 1FAFD9FD13BC47F3BEE7E4E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + 1FFE418941303981E432039E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LeakedObjectDetector.h"; path = "../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h"; sourceTree = "SOURCE_ROOT"; }; + 2010BCF7EE1A761168968EEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioUnitPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 2024F0516E5DB6817D115CE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 2060810FA782E4FA6282BFFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MaterialLookAndFeel.h; path = ../../Source/MaterialLookAndFeel.h; sourceTree = "SOURCE_ROOT"; }; + 2086A70D734172718BED5B1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; }; + 2097DD131081E241DA8558B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 20A8452F14F1433B1C3D0FED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 20E2B3CE619294FF62DF5D54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; + 212425D8E8CD86B224E3CC5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormatManager.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2149AA5B4890E2E05119749B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 221B409DBCBD063B4C7A8253 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2220D1078A2681D8AAF3563E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AUv3_Wrapper.mm"; path = "../../../../modules/juce_audio_plugin_client/AU/juce_AUv3_Wrapper.mm"; sourceTree = "SOURCE_ROOT"; }; + 222404E72D12376641634275 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2284A4597CF7AA4D2EFA7AC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_devices.h"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.h"; sourceTree = "SOURCE_ROOT"; }; + 2290343F8EDF842707A28B00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; }; + 22A85B46C8EED46FA81F61B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 22B34EE13C714FA916E10747 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 230BC07FD9E7883390F5E3E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 233959140E5D6C2348DEDFC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; }; + 2393C709A9A39322250847A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 245B820181308A0B46FE2C2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsRegistry.h"; path = "../../../../modules/juce_core/misc/juce_WindowsRegistry.h"; sourceTree = "SOURCE_ROOT"; }; + 248A66F8517F19A7F12433D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CPlusPlusCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 249C42CD1086AFA592455970 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; + 24BFE051E896A8229AF3656B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LuaCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 25154F5BC74A1019F714FB73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; }; + 25315D0BDE24260A1B11F088 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2578F2F3741CC61B95E7E6C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnailCache.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp"; sourceTree = "SOURCE_ROOT"; }; + 257C168A2D450218B158E7BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; + 257F4247EC175CCBFE996E55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 26119533942D8F97DB48987C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 26B4B1368466BAEBED7B910C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 26EAEF94B819C919C890B885 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MixerAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 27E7DE365A996907F2381740 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; }; + 281075EA1C6C7E6F6C26F5A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; + 28309CD49B2260C187FED2DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + 289018CF30BEAFA4668549AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginListComponent.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 296CD54575ED27C23A2F13F3 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudioKit.framework; path = System/Library/Frameworks/CoreAudioKit.framework; sourceTree = SDKROOT; }; + 297BC989416D63FB30AE4C6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; }; + 29982493607128FD6DB6A284 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; + 2A59FFB4A0420DA1E24EF14C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2ACD8B4F8D47934FD31769B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; }; + 2B0EA3DFEC956DB0BA40F07A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2B859BB12EB83F32108F3497 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailBase.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailBase.h"; sourceTree = "SOURCE_ROOT"; }; + 2B907016FF0A2E4074343127 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; }; + 2BDB229F700B0070C788CFFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; + 2C2C2A5006ABCED2CD5E2AC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2C41A29ECB3200FF97E83F4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; + 2C717D503694EB59927B7E6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; }; + 2C76770E17F0C15163E376B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2CA6385ADA2663622F29174F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2CC92DEE105B69921A4BD036 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_formats.h"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.h"; sourceTree = "SOURCE_ROOT"; }; + 2CDBB1BAB84A2A5CC8E11755 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AAX_Wrapper.mm"; path = "../../../../modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.mm"; sourceTree = "SOURCE_ROOT"; }; + 2D2B97D629EFA3920314D5DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LAMEEncoderAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 2D436395B51B7242A5B9E701 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WavAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 2D4E5D168D18704BCB317DD8 = {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"; }; + 2DC4F5D10A019196E3AFDFBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 2E1FA635BB813DE9FAB4D639 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; }; + 2EC9EB88F772C8A6DBA65C2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2F9011C34B50B11B6FFEDA7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginUtilities.cpp"; path = "../../../../modules/juce_audio_plugin_client/utility/juce_PluginUtilities.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2FA12F7EBB9AC99A08FC1025 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RTAS_DigiCode2.cpp"; path = "../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode2.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2FE196E99D5ACD17E1EC061A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3058A92D575A389A0D1920B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; + 3077EEC44352AF040A0D33A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; }; + 30CDFDC04232575AE7A491F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CarbonVisibility.h"; path = "../../../../modules/juce_audio_plugin_client/utility/juce_CarbonVisibility.h"; sourceTree = "SOURCE_ROOT"; }; + 3109815D5D597AE3707A13EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PositionableAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 317A2F549752C6765A3675CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; + 31A18092A539E3763FBAEC65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; }; + 323F56F4C398D57CA7910CE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WebBrowserComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 323F74EB62215117B808371B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3254D1D2BAE05393E5DAB1FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3289934D2B14EEF7D64D7225 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; }; + 329FEF79D3987D0FB1C164CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LADSPAPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 33A72C52C238DB7638CA9F9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 33B2FD7C625F65B132945522 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StandaloneFilterApp.cpp"; path = "../../../../modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterApp.cpp"; sourceTree = "SOURCE_ROOT"; }; + 33B9A7EA67B0D01E3416E123 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 33D05902E14966A2708B7F61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 340A18A11EA701353DB28503 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3412F9A8DCE29D1B62BC1145 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 344B210DB54B8B4AFEC3D689 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 3487F440B9FE19B84EDB6C05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 350B404A9275F5AF7A70DE9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3511451EE5878DFFC682095C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KnownPluginList.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp"; sourceTree = "SOURCE_ROOT"; }; + 35331E7E5F8892DF428E5E14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 35B09493554CBE82B89CABA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; }; + 36356C9C1249E63C966CC058 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 363B23811BE5271789D355B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + 36D0D18E4170C7A1D25D0704 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + 37799802B9635A4BB98E8C0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEInstrument.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h"; sourceTree = "SOURCE_ROOT"; }; + 37D87B4F2E6E4C7EC11F12CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 37D8B8B49EB8AD563A85429A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; }; + 37E2E5903AB98FFA27584CB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; }; + 382821702E599201DD249FC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 387D55482BBDCBC351F2BECE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST3PluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 387EFF395C9CEF73E0EDEE68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 38DEF9E87D9BE2944553DE14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreMidi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 391E6DF4FA840F23B402D97D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; }; + 39B377C2D00BF8A2E9626DAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3A0EF9079729C5C6FC1AACDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZone.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.h"; sourceTree = "SOURCE_ROOT"; }; + 3A53F5D6A8D1C20349358EE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3AC15B910C91D22E71A7A687 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 3AF5346037CEDB521C15327A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3AFE3B9417789706ECAE236F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 3B9F47F546584BB9EFE098BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3BC1A61883750CA66661C604 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BooleanPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 3BD48100798B29CFBB31E240 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3C8B6C80EE83439D2D94B58F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiser.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3CCBF30007C57491CF649D39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; }; + 3CF1BFA42E09BA635804012C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3D850D7C81C79515EA35D833 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LADSPAPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3DAF5957533C9C8011332F42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3E76A3788CAAB12560CB4517 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../modules/juce_audio_plugin_client/AU/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; }; + 3EBDB41A4AA8C71BB089DD65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3F5066569AA0BCAFF9F6AD87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Common.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h"; sourceTree = "SOURCE_ROOT"; }; + 401DA5B6718906FD022A986E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + 407594E170D93B59D103C9F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 41160F46936DACC3CE2384BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; }; + 42398E999B0A850DFF901952 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; }; + 42EB20660BAF846855D9EF4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4350481545B0B7094C507415 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceManager.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h"; sourceTree = "SOURCE_ROOT"; }; + 43913D411C0ACFCA2E8B8CFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MACAddress.h"; path = "../../../../modules/juce_core/network/juce_MACAddress.h"; sourceTree = "SOURCE_ROOT"; }; + 44E613EE8E541E69E6B8A449 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandaloneFilterWindow.h"; path = "../../../../modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 44FBD4EA8F39E0239C077CD7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; + 45827A9ADCD3F3218A3C6973 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; }; + 46B1734D356C650334F8C547 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserBase.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp"; sourceTree = "SOURCE_ROOT"; }; + 46E7ECB316210C98F0A1C885 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatWriter.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h"; sourceTree = "SOURCE_ROOT"; }; + 472DDAB1CE4DD81D3F48576C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; }; + 4751E292EFC458EEC5C6B609 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; }; + 47C4B1BBEA18BBA732830B23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 47C5EAA4FDB09A919047097B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4832A1539FCE4D132EDE2BF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; }; + 48CA224BFA100226BC71AC64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 48D2A0F85F1782956EE482C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4968C8C2A41316C78C23E9E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODevice.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h"; sourceTree = "SOURCE_ROOT"; }; + 497EF0535E967594AA839D78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + 499F3B4B44522D984B26A263 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 49F8A0C7FAC57117BD2F9BAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 4A0809E1FE4E9A9DFCCE969A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4A61AD8C4D46D2448FAF51E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDescription.h"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h"; sourceTree = "SOURCE_ROOT"; }; + 4A9B4448F56A2C6BB87A2237 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4AE945ACA404BF885EBFB4B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; }; + 4B4C75787794A7A56E55731F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4B8AC6E7C0E4C3A9075AC874 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; }; + 4BCC956571543FE3E8426F11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4C20818454A1D46DBDB379D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; + 4CCA15F86C8EC799F1EA64E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Desktop.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4D128877C59FFBAC8AD8879C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; + 4D4252EF0D8D9BD4AFBB830A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDataConverters.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h"; sourceTree = "SOURCE_ROOT"; }; + 4D543A42A648740D1AB564A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; }; + 4D8CF31D3C9F2A91C42CF8FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../JuceLibraryCode/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; + 4E22B7FBB34DE120CD03968D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + 4E7035D318D7951EA416F253 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ElementComparator.h"; path = "../../../../modules/juce_core/containers/juce_ElementComparator.h"; sourceTree = "SOURCE_ROOT"; }; + 4EA72ED51C1590F4AFDF7E5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemTrayIconComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4EECB41B6EC0EA710254BD82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4EFA2DD6FA97904E17A543A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTreeSynchroniser.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4F2C691556C568CB650E4CB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BinaryData.h; path = ../../JuceLibraryCode/BinaryData.h; sourceTree = "SOURCE_ROOT"; }; + 4F2E1758A33E5E88780F68AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; }; + 4FED8E1456B36F86FFE8E9B8 = {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"; }; + 5019F297F4FE95D4F264E95D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_BluetoothMidiDevicePairingDialogue.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_BluetoothMidiDevicePairingDialogue.mm"; sourceTree = "SOURCE_ROOT"; }; + 5063E96C5D8860003810C70E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = BinaryData.cpp; path = ../../JuceLibraryCode/BinaryData.cpp; sourceTree = "SOURCE_ROOT"; }; + 508924D8D38224F7A1CC2F14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 5141CBD939C11BC2AD2A4B2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5176BF663257661A5DAC4EF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; }; + 519C21EFEDB8ADE2ACD6249F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; }; + 51D0A454D79EB99241AA1FE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; + 52496AD37C0932219701798C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageSequence.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h"; sourceTree = "SOURCE_ROOT"; }; + 524CB59E51CF8B42EFF88129 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; }; + 524DD2A93F8DFF53CC87023F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; }; + 52DD40CDD91CC8C61DB8FB21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; }; + 53BEB5C2536814DD97FA6286 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; }; + 53C30AAD14A7899AB7D9584C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + 54B4AF19CEFECF9097905D10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; }; + 54B65048DE0ED0FE799D317F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; }; + 54D3C5E5AE4C1384F4220D71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ActiveXComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 55CD90E2FB8F3B5AF567AB8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEMessages.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h"; sourceTree = "SOURCE_ROOT"; }; + 55DBC30F1FE74C23DFB58E50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; }; + 55F91724EE6A48D2093E49C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; }; + 569603444940609CACE2AD7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BluetoothMidiDevicePairingDialogue.h"; path = "../../../../modules/juce_audio_utils/gui/juce_BluetoothMidiDevicePairingDialogue.h"; sourceTree = "SOURCE_ROOT"; }; + 56DD0F008972969CD0020468 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 576D7CB51E9C4EA9303D1D21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5776A5993098A57A7A1E6A27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; + 57A49E91A5755065F47070FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 57A9C38789F8516A695E65E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DeletedAtShutdown.h"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h"; sourceTree = "SOURCE_ROOT"; }; + 57D07B6F700F94E8E704DC49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinearSmoothedValue.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h"; sourceTree = "SOURCE_ROOT"; }; + 57D814738C5CB6D994984F98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; }; + 58461A95ADF95E35EE92161D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 58797A7F2D9F46830E4B7893 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; }; + 58E254BD072595F6E3F6D5F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; + 58E2885768EF7366025F4A23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + 58FA5F36261FAE89B748BA8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5936F657A3A28132D6D27A93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 596DAF8986D6982B928C689C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; }; + 5982DB12F71224C609600E4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; + 59878D9EFD00EAC6CD0A85E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReaderSource.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 59CB0A6453076CC874C72F59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; }; + 5A15B2AC96B76F7CF212B83D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsPostScriptRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5AC5CDBCB084BA289BDCF7B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_CommonFile.cpp"; path = "../../../../modules/juce_core/native/juce_linux_CommonFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5AD0B0347A511D96D2880A06 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; + 5AE75DB19C06961041078603 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; + 5B20D0F05D7F4E9BC268C313 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; }; + 5B219BDFFD121A57DB1623B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; }; + 5B41FCC4B5B5CE4FB5282954 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LagrangeInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; + 5B4ABB694D98DB81D8977876 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterFloat.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h"; sourceTree = "SOURCE_ROOT"; }; + 5B56147E8E94C3969471E21F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemAudioVolume.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h"; sourceTree = "SOURCE_ROOT"; }; + 5BCD28B01336D9D88606E3F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyMappingEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5BEC401034FECC5A84CF911C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReaderSource.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h"; sourceTree = "SOURCE_ROOT"; }; + 5CD7B7469B5384EA47491D9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 5CE9D568B99FBD7774D02709 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; }; + 5D27245879F65DC9C3DB15FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorGraph.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h"; sourceTree = "SOURCE_ROOT"; }; + 5D4C79A914D3D6297D605D14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5DAB08505A14E46FF7BF3B1D = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; + 5E0894E38188345B5643E7A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5E6903988ADA7D101E926BCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KnownPluginList.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h"; sourceTree = "SOURCE_ROOT"; }; + 5EDCECF062EB01976634221B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5F2D06669F5AADE87DDC34B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; }; + 5F6BB197FA13DEB1F2260CC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Headers.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h"; sourceTree = "SOURCE_ROOT"; }; + 5F894362C162E5468B51333A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5FC18CC5CC7BB4A01EEA2B7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5FE4811A1F224B9DC3F0751D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + 600E363997E4D34382349626 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; }; + 602803D62DD249B1F47FC0DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; }; + 60F11ABAC12D373D4BFEA447 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; + 614288645B28D868DD5CEC71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 620C6E08CB86054EDC64784F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; }; + 6217C41B2DFADAD8767255BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; }; + 6278B64C03341B5EC57B2BAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 6289A5E0AC3E2AEE01BEA5F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6318A339AECAF501129080C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; }; + 6319F4BF677E067041B5467C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; }; + 631CF9C6700114D898AEC1AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; }; + 63626AB59BC4BD66A0A6482B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_utils.h"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.h"; sourceTree = "SOURCE_ROOT"; }; + 63AAC659ED6461E93DE1C15D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; }; + 63AFF514CAE6FB89A3503CEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_utils.cpp"; path = "../../JuceLibraryCode/juce_audio_plugin_client_utils.cpp"; sourceTree = "SOURCE_ROOT"; }; + 63CC74AACD754A2EDB1F27BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + 63F79641EFA884B962CDF093 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatManager.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 64006FEB76C8189A341F77D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 6404A39C88F8BCDDBB5D885D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 64106F0CE5505E7976249672 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; }; + 643F0D51DA8A1B56EB1C8B61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6450DF3ACDBE5D00F8E33195 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + 648071EE7F5AB0EFA06D0A6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageCache.h"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.h"; sourceTree = "SOURCE_ROOT"; }; + 64B7CFC6CE9B929135A4ACA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../JuceLibraryCode/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; + 65980EFA3678AD71581BE381 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginInstance.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h"; sourceTree = "SOURCE_ROOT"; }; + 659F144091C614884492E5DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; }; + 65EC75BD541EA5DFC79BAF8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooserDialogBox.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h"; sourceTree = "SOURCE_ROOT"; }; + 66C2579562E185E38E43C121 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; + 67198AF7663A53BFB0F523B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; }; + 6738C919984D53FF07CDD5A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; }; + 675310EF6D0A3DDE3A35363D = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; + 676EBCF8F03E1FA1DD0694B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IncludeModuleHeaders.h"; path = "../../../../modules/juce_audio_plugin_client/utility/juce_IncludeModuleHeaders.h"; sourceTree = "SOURCE_ROOT"; }; + 67B79757C8BD5E9CA565C041 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 67BBCC92EDF01164A374A824 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; }; + 67C820D7305BFD5D8C084603 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableObjectResizer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 681883990694067C832FF46C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; }; + 689C5CEA66D05F6AAB2AD543 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; }; + 69223FF1DDF41E1860A3DE72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; }; + 6A01CD302B95FCC3F057090D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CatmullRomInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; + 6A2FBCEABDB265609CB49A9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MP3AudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 6A9B5161889E1B22B04BA223 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CatmullRomInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6ADB01DA39E433CDC3CE9257 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; }; + 6AE2054E0D3A9C05964CB1A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; }; + 6AFB9EB642850186B551DB33 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-AUv3_Standalone.plist"; path = "Info-AUv3_Standalone.plist"; sourceTree = "SOURCE_ROOT"; }; + 6B6303E5AA18CCB271E1140C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V1.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h"; sourceTree = "SOURCE_ROOT"; }; + 6BD961F96723E92BFC0263D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioAppComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6BF1D1384D3492C251CB00D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorGraph.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6BF55D993FE51EDD08D0E426 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInactivityDetector.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h"; sourceTree = "SOURCE_ROOT"; }; + 6BFD44A17AD9EBB6C686BBD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 6C5C4F38A006227C77FCBAD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; + 6DA4597568FFE5B6D1F5B68A = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-VST.plist"; path = "Info-VST.plist"; sourceTree = "SOURCE_ROOT"; }; + 6DED13EB49FCE393E16D59FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; }; + 6DF4FA55C69B25537DCD88C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6DFDBE298AD93DD1B3F067B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6DFFC8543FE2A02FC551F397 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 6E10B741CB11E590041A27E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleMessageComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6E186DF6706228F3F1F1A17E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPENote.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6F12413CE2BF3B7B0E8FD50B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6F544061B6526DCC4430F539 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemStats.cpp"; path = "../../../../modules/juce_core/system/juce_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6F63C882BEEED7B36540EA05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilter.h"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h"; sourceTree = "SOURCE_ROOT"; }; + 6F9936B4FC6CC4947CE18F41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; }; + 6FA729EAB8A64447D81B36E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_VST_Wrapper.mm"; path = "../../../../modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.mm"; sourceTree = "SOURCE_ROOT"; }; + 6FC0CB280CE56AB22E3997B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameter.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h"; sourceTree = "SOURCE_ROOT"; }; + 7023A03BF8EE3F09E00C3B58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; }; + 70C59918BAE3E3379AA1A53C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; }; + 7195EEB1FB735453359D1893 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; }; + 71A5014C5547E43A0EE58252 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 71D1D8E256A7FD110F7EAC6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h"; sourceTree = "SOURCE_ROOT"; }; + 72A7E928C55FCB1C1B373135 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7315E85A6C1E714922CBE587 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; }; + 732AAC0FCBADB4A676F564F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; }; + 73452324A4B3A16EFC98F31A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; + 738FC67C7D9A53148C0A21AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 745B58030382C3D0DB6E7815 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; }; + 750DF21E43BED98CE4F53DE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; + 75304DD6E88CB19FD0C74956 = {isa = PBXFileReference; lastKnownFileType = file.rsr; name = "juce_RTAS_WinResources.rsr"; path = "../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_WinResources.rsr"; sourceTree = "SOURCE_ROOT"; }; + 76272B6E0F4FB6D7225653CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CoreAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 76783B8486B095C370EB5FCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; }; + 76D5C2782B00C3FFE0F594FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; }; + 77036A3D63B6A78CEECF50A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilterAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 777E62C96ACF5A0FF45950AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 77BA5733C3FA0C1CEC8FE131 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; }; + 781F73EF2934742C97B305D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; }; + 786D0A06690AC040E7D8E525 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; }; + 78B49436D33E43AC3A956818 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; }; + 78DD966E73DF076A83FC1F2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST_Wrapper.cpp"; path = "../../../../modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp"; sourceTree = "SOURCE_ROOT"; }; + 78F63AA848D74E5E555EB802 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; }; + 791714395C654D0B51DE22F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_OpenSL.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp"; sourceTree = "SOURCE_ROOT"; }; + 796340DEE820CAFEABEC077B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserBase.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h"; sourceTree = "SOURCE_ROOT"; }; + 7A172478B945BDF97AFFBA0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GenericAudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 7A3E22B63496806947FC10A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MP3AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7A772485103B4848CD67493D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; }; + 7A7DC1C99D232DAD43C01146 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceSelectorComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 7ABF11ED9BB6CD5850ABF47A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODeviceType.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7B215A260ADCE367FD8F3420 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; + 7B351E0CEB9BE04BE1F04AF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 7B8DE2413EDC4BEB83168903 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; + 7BAB8DD68B7A25B281233969 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MarkerList.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h"; sourceTree = "SOURCE_ROOT"; }; + 7C3E7364953EF9D78C71B866 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Files.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7CA84F62BB5AC492B1EB49A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; }; + 7CE0FEFCEC64DF0ADA0B2DF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; }; + 7D0417B22EF55BE16E7C5061 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 7D1E28BE09A85EEBA041558C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; }; + 7D1F7E9BADEA63755327DAE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; + 7D2FEE652DDC90049F523828 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_android_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7D67149A7BE6BBB85FCB2CCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7DAEE56A9F7ABD354CABEAF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; }; + 7E53C9E87A3F9EBE4D454BA8 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-VST3.plist"; path = "Info-VST3.plist"; sourceTree = "SOURCE_ROOT"; }; + 7E838C96F00848B2EE6E2F72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + 7F1746052D09CD80BDB28BF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7F8A5B07954F9F0562831FDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDirectoryScanner.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h"; sourceTree = "SOURCE_ROOT"; }; + 7FE887D76DBB520BBC48CDAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; + 804448A2E110E3D84021289F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlacAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 80868CF2327E15F76AD68CF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NewLine.h"; path = "../../../../modules/juce_core/text/juce_NewLine.h"; sourceTree = "SOURCE_ROOT"; }; + 80970DB9418D27DD52879D1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 809E47902CCE60747026EC3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; }; + 8174AFC02C04E98EB5C1B21E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 81A3BCB415FA7114FC07367D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; + 820B1466E6B31A80C699D084 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; + 823EFD7B765AD6D20D4053BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; }; + 82918021090B19A27046FC03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTreeSynchroniser.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h"; sourceTree = "SOURCE_ROOT"; }; + 82CED5C8E1B7A2C068BC48B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; + 830D7621CB3CFC3DE53EF4C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; }; + 831580A17E75CC89E86A3E12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WavAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 832122C272B009AC7E73AF6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; }; + 837CD80BA7098F85EE20B621 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Identifier.h"; path = "../../../../modules/juce_core/text/juce_Identifier.h"; sourceTree = "SOURCE_ROOT"; }; + 8409701863AC240D5D560213 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; }; + 8429B2EA7B0E269D738BD27E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 84940A6A61CEE24A159139E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameterWithID.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h"; sourceTree = "SOURCE_ROOT"; }; + 84ABD4F5D068289F4D43E7CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; }; + 84D3302B18B67B725905AF7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LAMEEncoderAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8524CF106D2B7B1E08D312C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioAppComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 853D9A89FE96C6DD6730CEC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_VST2.cpp"; path = "../../JuceLibraryCode/juce_audio_plugin_client_VST2.cpp"; sourceTree = "SOURCE_ROOT"; }; + 854757FAD81F978667CAA43C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; }; + 856618203AAE94C7B806F9EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; + 857827E178BB7D6DD2C02906 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; }; + 85B72CF204A61261388DC9A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + 85DE0813E0EC15BF1435C132 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h"; sourceTree = "SOURCE_ROOT"; }; + 8693349823D718B2BE254101 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + 86AC66980898843AE721BD08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; }; + 86E1396EB5DB7C3F8D42AF19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; }; + 87181526B9C99144CBE4F8A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiInput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h"; sourceTree = "SOURCE_ROOT"; }; + 874FADD694BB58E2E736FC20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 87FC5378F4B65DBD11E62015 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTMidiEventList.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h"; sourceTree = "SOURCE_ROOT"; }; + 8837DB2881391365428BE228 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 883986B1E4E324BDC35B025E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8885CE0EEED160D96843F584 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8905DE78626372768938A4C0 = {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"; }; + 89291F4775B82AD585F02515 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODeviceType.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h"; sourceTree = "SOURCE_ROOT"; }; + 894DE965F10168F149FBE8F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; + 8956FF8EFD34579BBCFD9B88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 896386672033108CFE54FC64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; + 89B0332A462BFD5984B97302 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; + 89B73E1F52531A1A8A1C3E9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; }; + 89CC639E5B1CDE71BDBC02D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 89E00773FE73394C30642A4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; }; + 8AA012F95CDEE0ECAC1D698E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZoneLayout.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"; sourceTree = "SOURCE_ROOT"; }; + 8ACD82D09483797E1A7A65B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8AEA9D5BBBC4CB214F18FCE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 8AED766CFA1A37B45BC2DE98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; + 8B2480D9DD76CFCAB0323099 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8B41FABCC567F034274522B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8BA61007D7B69D122B666B43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; + 8BE052A2AAFF109DC2A21423 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + 8BE57B5119CAEC5B32929064 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 8C097DF0606C8FF6B60BEA38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8C401B7DC61CF17EFD2F05D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; }; + 8D6D7548957FA154DA777E17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 8D753ADD4B2F1CB0C974A522 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + 8DCEAA37D9F7AAD98A244B49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8E1318FA20D468AD45C7A20F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; }; + 8E29909B5886662F2EC3F5CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8E61D5E0D6068F247E70219C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8F3941CB0EBB70B37B7DB6DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 8F3FC2A8E965AA4E83259DB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8FAE0E215D1E95E6CA7C58E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; + 8FC88FE9250C7A25AC724BEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; }; + 90064DDC086AD775FA7D5FFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; + 903B9CD04DF181894AC76EF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Identifier.cpp"; path = "../../../../modules/juce_core/text/juce_Identifier.cpp"; sourceTree = "SOURCE_ROOT"; }; + 90C18AF3CAC0E59C88732904 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; }; + 90D3112151AC631747E60670 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Base64.h"; path = "../../../../modules/juce_core/text/juce_Base64.h"; sourceTree = "SOURCE_ROOT"; }; + 9146F18918C954121E932A8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9198593E2E34D16752B90CD1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; + 92529B06E070A28F0C3C4914 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemFactory.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h"; sourceTree = "SOURCE_ROOT"; }; + 92BFAF31B51618764234C779 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9312B68ACDD2A4EAA31CAA73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChoicePropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 933DE5C4D4002BA9203F65A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9376596E6EC0707DFEE00ADB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; }; + 947776740572A5A07C2500EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; }; + 94EA45AA948C996F231D6946 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 955635CD2D6A1C5BACA519CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 95D4FB306A367AE3A6D28173 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 96102E98CC639030FAD7EA68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + 968EC4E33A1D1949AA4A9F87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; }; + 96DCCD578FF29CD7D381E8BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; }; + 96F6E7AE69A06FEE69CCA3C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; }; + 97C74E9A0E8A5576FC301241 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserVoice.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h"; sourceTree = "SOURCE_ROOT"; }; + 97DDC460BD01030B91158218 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; }; + 98305AA6513DCC298E322C0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + 984C35577FE047A66ACC892C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; }; + 9965CB9ED8D2B26CACA9C44A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../JuceLibraryCode/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; }; + 997766E6B5491A51A5242F68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; + 99AC2D0C2304F21B912FEC5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginHostType.h"; path = "../../../../modules/juce_audio_plugin_client/utility/juce_PluginHostType.h"; sourceTree = "SOURCE_ROOT"; }; + 9A3351689C885961A9BD3F2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; }; + 9A392FBECB732FAC0AA04262 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9A69DDED5C8357717BAD57DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; }; + 9ACE3BF6D0E54A5ACA1D73F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioVisualiserComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9AD8EF3FD4D40465CD2804EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; }; + 9B17FF5755D8E809D2DDAC2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + 9B6B98866C77A743FDBA7C40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_File.h"; path = "../../../../modules/juce_core/files/juce_File.h"; sourceTree = "SOURCE_ROOT"; }; + 9B995FF1F1FD413ECBEA5F2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODevice.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9BBEDDA8AED51B9B4BA52B2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; + 9C1E95CA7727BBD44E34D79D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; }; + 9C455929E7890E382F55BD19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDirectoryScanner.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9C7C3A15A9D747596DDE40AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUv3SynthProcessor.cpp; path = ../../Source/AUv3SynthProcessor.cpp; sourceTree = "SOURCE_ROOT"; }; + 9C8EE354D6D44D9DF4782101 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; }; + 9C9AF92C7A254CC7A2AA72F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + 9CD2B54DC3EF0B1710DBC904 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; }; + 9D36B3B7E8ACCD8C7176A2FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; }; + 9D3AF29ECBD2A58B146619A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceSelectorComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9D7CC03B14BBAFA3DB901A22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9D9015BC9941D5D5CFF99DA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; + 9E2454FACF592AE472873A44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; }; + 9EDB40D557C3BBB1CC63CF65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_plugin_client.h"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client.h"; sourceTree = "SOURCE_ROOT"; }; + 9F11AD979B19EC01749DF1A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9F142652D1037C744443A4E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; }; + 9F1DFEFDC78EC139C4089DEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9F91E161DF777F050B61B6BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioTransportSource.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9FB1AAC5EC1146B5FC0EFCD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Synthesiser.cpp"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; + A11CF361C0253B499324D31E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + A12A4C86AE4FA12C99334932 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + A148CC41BDB41EDC8E88DC7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + A1595E748092878FDAEA5A30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; + A15E68C337279B15ED933BE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; }; + A1CFD76549B8E9EB1C360ED5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + A1FA95A0AA37CD773ACBCE8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; }; + A2129507609CE7130FBA1340 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colours.h"; path = "../../../../modules/juce_graphics/colour/juce_Colours.h"; sourceTree = "SOURCE_ROOT"; }; + A236B01D70F55D3570330B44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; + A29CEAB6F2F844C410B2F014 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PixelFormats.h"; path = "../../../../modules/juce_graphics/colour/juce_PixelFormats.h"; sourceTree = "SOURCE_ROOT"; }; + A35BCEE1A423BE734BB3EC80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; }; + A43962FBC6E823AFAD6EC673 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToneGeneratorAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + A440AA225DF048215509E577 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; }; + A452E5BB6D20DB6842646EE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableEdgeComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h"; sourceTree = "SOURCE_ROOT"; }; + A4E1FFE9E94A28D434C2E4BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; + A53855C517AD1588DBF87CA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; }; + A58103D78876730190F3BC4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; + A666509292D7F4C3B7F5B0DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; }; + A7399999B1C3CE46C66268C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + A74FEFA1532B6951A0309828 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + A79BB852E29F1BDE96AF613A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + A7D9A07B7B44888CF960B9B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + A8315F08B794D9C87328F17F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_VST_utils.mm"; path = "../../JuceLibraryCode/juce_audio_plugin_client_VST_utils.mm"; sourceTree = "SOURCE_ROOT"; }; + A85FEFF5F978F3B76D9829C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; }; + A8E3160D8F76BE5B55B9846E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEValue.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp"; sourceTree = "SOURCE_ROOT"; }; + A9DD0C9B00D83CBB77EDBFA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; }; + AA382FBAEDD76245D686042F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + AA458482B1358EE4262D7E8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; }; + AA4C96BD17FAFE995F8BF86D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; }; + AA823F169302BCFE583969CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; + AAA19AA6801AFA1AF07C8E2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; + AAB7E87C600B13349477C51C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; }; + AACAB54751155F5AE9CFCE61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + AB183DB7B4E55E8A378D1640 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; }; + AB1F943DA9131BF5694FBABD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + AB29C711385848DAC5DD867F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + AB49C15CDC9E08D39EAC2B72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChannelRemappingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + AB53B5594316451CAC90BD8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; + AB64E9DDECC08374FB9EA75D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; }; + AB6D1876CB16F76A98CE0B89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; + ABA6244EC74C888920DEB016 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + ABEAE8C8B69A71C532DF770B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_VST3.cpp"; path = "../../JuceLibraryCode/juce_audio_plugin_client_VST3.cpp"; sourceTree = "SOURCE_ROOT"; }; + ABF137A60BDB5810DCDD1E22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioVisualiserComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.h"; sourceTree = "SOURCE_ROOT"; }; + AC223785E50A0284BAC9C879 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; + AC3D1C939D60CBB9F06E5195 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorPlayer.h"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.h"; sourceTree = "SOURCE_ROOT"; }; + ACDA8668B39A102D419BD481 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; }; + AD49758CCCDB81F781160518 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterInt.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h"; sourceTree = "SOURCE_ROOT"; }; + ADA10B57D3CACBF7CA3E7058 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + AE0F66472A7765041DD5F722 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; }; + AE1DD722E80713D6A2C820C9 = {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"; }; + AE8270C49E4D0C9109CF8499 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + AF02093447674A2DBEFB7B2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextInputTarget.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h"; sourceTree = "SOURCE_ROOT"; }; + AF575F9303D3AA5E410C274A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; }; + B0015C46815CEB6E15236944 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPlayHead.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPlayHead.h"; sourceTree = "SOURCE_ROOT"; }; + B05EC8A81DA162236663A8AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; + B0B4FAE3EA49CE2AE0074204 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + B0E5392688FD05700AFA0569 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; }; + B19103A5C4E54D5ABB50F27F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + B1972B63AC71C03527E02534 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; }; + B2CF7DCAD1C8871201A6CE26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + B2F8C1DFA6A765EDB034399D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; }; + B33097C6BA7E4793E7536BBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + B33E3A1B455B48F251A4EFEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + B3425236EBB43087A2C4AA71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; + B3AED660CB964056A7063CE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; }; + B3CA6447C345EE05F8B98195 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; }; + B442A76A84E1800D10EE5954 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; }; + B5029BFA56B6E1BB5FB43BFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + B58CC7A93DBB3706A60E9E76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; }; + B5CD08BC33A8414D48F4CD67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; }; + B6ABAD2ACC048C4DAB31CA27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; }; + B6B3AF7688EF55A4FC61D5D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; + B6EA3B412C6E73478C4D36AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; + B774AC9A00BFF63E24EA0646 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3PluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + B77C48286D446F5C7BD4B76F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; + B77F4A6EA1005BE4683A0DAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserVoice.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp"; sourceTree = "SOURCE_ROOT"; }; + B801E3F5A1C2992F592A0FBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnail.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h"; sourceTree = "SOURCE_ROOT"; }; + B8133580F67C0B95E1F36D4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; }; + BAA373F740C171EB1219D9B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; }; + BB1D6E0B0982D0590E8EC99F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + BB8432AE150D5AEB38808FA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; }; + BCC48160464BC0DFCAD33792 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; }; + BD58CC09BA9FED0E9CACC97B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + BDEE5F6548D2980373C45F5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; }; + BED2D02D5F333084E058D678 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + C002FF4D43F9C779CB5B2B5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; }; + C14EFFF60594E0BC2421DC0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + C50B7EF31D44D3B5E03CB4A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; }; + D06C2B85E02F13F9B57DB1A9 = {isa = PBXFileReference; lastKnownFileType = image.png; name = power.png; path = ../../Source/BinaryData/power.png; sourceTree = "SOURCE_ROOT"; }; + DC3450D131A4D1B1EAA04B30 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-Shared_Code.plist"; path = "Info-Shared_Code.plist"; sourceTree = "SOURCE_ROOT"; }; + F003DFE998431203650E2E3F = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; sourceTree = "SOURCE_ROOT"; }; + F5E81FD99EFCB226D2486603 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = AUv3Synth.vst; sourceTree = "BUILT_PRODUCTS_DIR"; }; + E4AB099F3E7A853F90FBFEEB = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = AUv3Synth.vst3; sourceTree = "BUILT_PRODUCTS_DIR"; }; + 746B19364297E7D489749B70 = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = AUv3Synth.appex; sourceTree = "BUILT_PRODUCTS_DIR"; }; + 7CBEB55B80E78C9DE16A713A = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; + 872D05BD56490FD7B375C11B = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; + 8C9C38D32DB4D8BD543CA892 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; + AC3356631ED2AC043BC67B79 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; + ACDCFB7C5CE966089DF7665E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + B2A30D3171F293ECE50DC06B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; + B2C885D79DF233E10656633A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; + B5C3356C447E60F512C5E8CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; + B85C9F9BF94FA8926EB9ACB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; }; + B98F443DC0CE94BC13CC3D44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; }; + BABAE6EE994D5EBDC4013AAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; }; + BB525259297D31B45CC624C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DeletedAtShutdown.cpp"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp"; sourceTree = "SOURCE_ROOT"; }; + BBB323B5DE53878F445064D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Files.cpp"; path = "../../../../modules/juce_core/native/juce_android_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + BBD06432CC4155521050CD2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; }; + BD283419247CBA6C6DD2ADD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; }; + BF764E314E4F6DD434BA711A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + C0B3C8CFE6B70EE5C8C483F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + C0DA8A117300F721DAE1C6E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; + C11E39E7C9D18AC810369A50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; + C12C3BDF0D24260675D88C04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiBuffer.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; + C1983ED4284CBEF3B5A427E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + C1E4A7F5418639D70CB51F0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; + C1EFF2064480889DAC74D2D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; }; + C25203A01A84B7032A7774CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; }; + C2DF4936EF95E5A32E71B755 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; + C3006C283C6F75269CE6295D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; + C383A0AB2662F2FCB802D61D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; }; + C3ADBEBC9062404FEB0FB411 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; }; + C3EBFABAA335572EFEC2F535 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + C3FF9B9008D2A03F2BB23F1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; }; + C478ECA66D2FDB2303FDC140 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NotificationType.h"; path = "../../../../modules/juce_events/messages/juce_NotificationType.h"; sourceTree = "SOURCE_ROOT"; }; + C4BBB0A36D8C8E7D180247DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; }; + C4FED4C2640C8615AB415884 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = System/Library/Frameworks/AudioUnit.framework; sourceTree = SDKROOT; }; + C5A11A2A1F932F48A0D23E91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterBool.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h"; sourceTree = "SOURCE_ROOT"; }; + C5B66A2F03D08FC9CF0B9678 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; }; + C61D176AAECFBC9A277EF2E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FFT.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_FFT.cpp"; sourceTree = "SOURCE_ROOT"; }; + C63541C14D518046922DF60B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilter.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + C639338DD5AF077DF5BF8361 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + C6846316837E7D4578428945 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; }; + C80FFBB5F1E2674B9DBC054B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + C9407CAAB91ABCB83CD3F80D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; }; + C9494DFECDCD27C0815A6F17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; }; + CA633B8B756E9E7826C8D173 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + CB23F9E24266013856B53BBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + CC14A34F66FDF9E12523CABF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AUv3.mm"; path = "../../JuceLibraryCode/juce_audio_plugin_client_AUv3.mm"; sourceTree = "SOURCE_ROOT"; }; + CC155101953B89262C8B633C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + CD3ABE20AE524B92B9B6A6FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; + CDE81ADB14F09742FBBA28E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + CF02DA80A8A515CE41B0C8F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_Standalone.cpp"; path = "../../JuceLibraryCode/juce_audio_plugin_client_Standalone.cpp"; sourceTree = "SOURCE_ROOT"; }; + CF2F576CE0F6A185597C8D40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; + CF344C62ABCBA9BAAB6ACFA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + CF51659EBB00003E6CB20B66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RTAS_Wrapper.cpp"; path = "../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_Wrapper.cpp"; sourceTree = "SOURCE_ROOT"; }; + CF6FA9D2F39F03FE2858F11B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + CF7ECFB4AA9A00E103525840 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; }; + CF9EEC4A087AA9010D5D21A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + CFAFC86F4D25AB5A31DF3BE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; + CFFC609186B1EE226ACEBD2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + D03583C1CA01284B5781955E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h"; sourceTree = "SOURCE_ROOT"; }; + D0A4E2C5F2B21172DE13DE0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; + D1683E32F1EB634904CD7DE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiDataConcatenator.h"; path = "../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h"; sourceTree = "SOURCE_ROOT"; }; + D19E20CCCD4790B2347D5B80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + D2436FFFE291F08409B1EEE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; }; + D264387115074C98CF251072 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; }; + D34BDE3AF93D8CCE91C331AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; }; + D36CD153A79988DA706EC9A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; }; + D43BFA7F052E625E90F77C89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_processors.h"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.h"; sourceTree = "SOURCE_ROOT"; }; + D43C762F1355546820373F14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; }; + D48932C6554B443ECB71DC87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; }; + D4C0852C1C54EDA5D4F82EB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; }; + D515546E71BD92C742D67905 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; }; + D557AAD12557BF1706441B19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + D5797410CEE0E8D2E03D98F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + D636983E7D4B5897EF493708 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; }; + D6670F0F52C7A439715B706F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; }; + D6979B0DD8E310EA2512B147 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + D72A2819C390689ED5A58197 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; }; + D776C107490A52D250B8327B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + D7AD93F3A8FAFDBFDF1B5DF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; + D7CDE24FD157D0DF359E9D8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; }; + D8377F0256B80E157C3A6563 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; + D87ED789DA527A749E7310E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; }; + D8A47626236CCECFA27BA813 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; }; + D8DFA74AB1A9041035F68326 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; + D8E68D83ACE5DBEA2B7BC876 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + D908038BAE155E55517AB2FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; }; + D98FE007073170879B3453CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; }; + D99FD2C65027F0D06BCB437F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEValue.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h"; sourceTree = "SOURCE_ROOT"; }; + D9D057AE4FE642513602611B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; }; + D9D833D2912CC83006BD9FA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZoneLayout.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + DA42AACD549E6C214EE09CF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + DA4E0EA3EB80BE34F9047E72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; }; + DACA6E5A3CE684EC649F31B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; }; + DAEE812EF95F96E7D65D875F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; + DB216D8107F0BBBBD3F2B0E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; }; + DB3A7C49C8444BD2F57B6689 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; }; + DB43ED26DBABD0BC17385E6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; }; + DBA0B8703ED6A2CFF6E952A8 = {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"; }; + DBC04DFB6E9667DCA1BC83E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + DC12C0A592BCA7A9FCE348BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterChoice.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h"; sourceTree = "SOURCE_ROOT"; }; + DC18200A3CD14E988426420C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; }; + DC1C558103B4D458A6CA037C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiFile.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.h"; sourceTree = "SOURCE_ROOT"; }; + DC60BA9AC2BA5D2C3B5C3001 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Sampler.h"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.h"; sourceTree = "SOURCE_ROOT"; }; + DC6A702F738F41B34B329097 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorValueTreeState.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp"; sourceTree = "SOURCE_ROOT"; }; + DC6E859FF89B5A3C9BAFE19F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; }; + DC8F10CCAC55F7216F0304F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AAX_Wrapper.cpp"; path = "../../../../modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp"; sourceTree = "SOURCE_ROOT"; }; + DCAE9F130E3E70FA100BEE16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; }; + DCF51EBC4D12F196EEB28FB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; + DD9FC19B24786726D89345A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; }; + DE4E9ED582AC16303C8C72EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; }; + DE76DD99A5E06C01C57957A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h"; sourceTree = "SOURCE_ROOT"; }; + DEAD87726738781A25EBCFFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + DEC3BDE099A6E8517815F464 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; + DEC63BC653D0F918D0721CF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; }; + DF2A14735E2EC0F986E3ED6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; + DF42DB861DD40B3EA519F49F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; + DF851414C38482D7EF5C63D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; }; + DFA88B30E3041E9BC8150FCD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GenericAudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + DFE5FACFB131FF766CE6DEEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; }; + DFF6A93D460B71379FE3EAA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageCollector.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"; sourceTree = "SOURCE_ROOT"; }; + E0260479B3C2CAF8477026FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorParameters.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp"; sourceTree = "SOURCE_ROOT"; }; + E03AA585A375A39A9BFF3DD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Component.cpp"; sourceTree = "SOURCE_ROOT"; }; + E04216439C3A2AD69B69B520 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + E0484E5F0994D64013F4EEA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + E09404F45899AA1E82CFC21C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + E0FD3183237BAB53F14A4B92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VSTPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + E222D865360AA81EE8004879 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + E24A784226CD7F6A9A3313F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + E284D421936862F4333C9F50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + E2893CF05E01B66FC69E2E93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathIterator.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; + E2A39DE02AF9ED3035EC5F9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; }; + E2B251D85649A9A43CB428C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + E2FE1E6598C038AFAFA1881A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; }; + E31219AD074DCBB8C6A9F816 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; + E320A8161071D0D1B9261E2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; }; + E32E43F0CC33ED95FD0A9DE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + E4D985BB229FC31731681790 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + E4F233200895BB6C4A31A816 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; }; + E558CF08264E559967E2F538 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; + E564C68E481471618F91FD8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + E795FC063102CA8BAB722C58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + EC3DE1F504C76EEDDA7F2216 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AUv3Synth.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; + 9536B5A780A03F6BACB24144 = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = AUv3Synth.framework; sourceTree = "BUILT_PRODUCTS_DIR"; }; + D7F0DF2B23660D1E12432C36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; }; + D9ED0926381D40DA1A66C26D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../JuceLibraryCode/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; + E104DAB2F8C8F885C393011A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; + E2941ABF420491F119166C29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; }; + E2D3D295ECC0BCE28B24FC66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; }; + E2E958362263925141558B05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + E433734FC5466D7E26FC11D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; }; + E553E188A17BDF4E832F0A01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; + E577F5E5E99420C920063AA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEMessages.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp"; sourceTree = "SOURCE_ROOT"; }; + E59314439566CDF7981F7D9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; }; + E750DA71CBCC6CB2236D7277 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; }; + E755606E63BE2C5558FFB353 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_linux_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; + E79A4F024D4890B61628C42C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputStream.h"; path = "../../../../modules/juce_core/streams/juce_InputStream.h"; sourceTree = "SOURCE_ROOT"; }; + E7E45873BE802DD8D676E9CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GroupComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h"; sourceTree = "SOURCE_ROOT"; }; + E8EB40396974468FBD0EE15B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; }; + E9617DEC7E639354C2AF66A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; }; + E9745B8F0DE747F94EAF65A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; + E9C1C03509E00C37AAA45727 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_QuickTimeAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + EA4345362FE80828317BB860 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Base64.cpp"; path = "../../../../modules/juce_core/text/juce_Base64.cpp"; sourceTree = "SOURCE_ROOT"; }; + EA8B1437F945AFED7BDF11DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsHooks.h"; path = "../../../../modules/juce_audio_plugin_client/utility/juce_WindowsHooks.h"; sourceTree = "SOURCE_ROOT"; }; + EAD2501B6373C4B871F5E94E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; }; + EAEB4425352054C49C4D73B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; + EC2144EBA3C2FDA0D14F4894 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDescription.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp"; sourceTree = "SOURCE_ROOT"; }; + EC47F3AE085DBD9355D975CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + EC6A15B698E61AC4BE82260E = {isa = PBXFileReference; lastKnownFileType = file.def; name = "juce_RTAS_WinExports.def"; path = "../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_WinExports.def"; sourceTree = "SOURCE_ROOT"; }; + EC6AE147E0DC1DABD86AD10D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; + EC6F9C909D0523DFC5E0823A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; }; + EC84A74DD90F06D14E1CDA60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; }; + EC9D06705CCAD94B653A6E82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../JuceLibraryCode/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; + ECD1DB349CD1744D2345D45A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; + ECE0E7CC17846F150AF6C901 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; + ED8140AF46A706EDAA040283 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; + EDC5CAD8CAA7E5DAD49F18B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; }; + EDF2F0703F358E4FEA85725A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_ClangBugWorkaround.h"; path = "../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h"; sourceTree = "SOURCE_ROOT"; }; + EE4D4EE1F1A9A83289EE361F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPress.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h"; sourceTree = "SOURCE_ROOT"; }; + EE9BA42E3D0FBC1D7E118E5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Sampler.cpp"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp"; sourceTree = "SOURCE_ROOT"; }; + EEE67087AEC296875FA1D934 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; }; + EF275E21BADD0F3268F10BD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPENote.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.h"; sourceTree = "SOURCE_ROOT"; }; + EFAFEF5DCA8F8E4C087545C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; }; + EFD7896047F56FCAE30F61D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; + EFE3827E3EDA9642D99BE504 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginListComponent.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + EFE5A21A4334CFA45BFB6CB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; }; + EFF4EFA57D166DDAC54C3041 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + F02FEB2715C4468E892C4D81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Slider.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp"; sourceTree = "SOURCE_ROOT"; }; + F04800D7F1A1E012E9A4AD15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormatManager.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; + F05602C3C1F38396A47F3981 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; }; + F091E35001480A9D35B6C007 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + F0B93DF7A7FDD7B7267F09E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; }; + F0C9E98414EDC0CD943FF8AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; }; + F0D642DE6E92CC8F5D5A1A47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; }; + F108BD4F2087E0C08DD27DC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; }; + F138CA63A1127DA0DB69B127 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; + F1471268FFDBD435129D3F98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResamplingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + F1B548156993F8F8A27A254E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; + F241556BC3C500D0280204D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; }; + F2614FF63DFD0C39EBDE092D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; }; + F2748B621652974B80EA33C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; }; + F27FD37C4F6D16400014F5F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; + F28150FA7A2231FCA46CD0F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiFile.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + F345082D5BB9954FE5EC6D2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentPeer.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h"; sourceTree = "SOURCE_ROOT"; }; + F3498E82A2D4ACBED68A7F43 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-AUv3_AppExtension.plist"; path = "Info-AUv3_AppExtension.plist"; sourceTree = "SOURCE_ROOT"; }; + F349F9D2750331FD075E75A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + F37501AA1865957279DBF820 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Font.h"; path = "../../../../modules/juce_graphics/fonts/juce_Font.h"; sourceTree = "SOURCE_ROOT"; }; + F3B96CA7271488A73B3FB156 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + F3CC6690E03667917B1F463B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; + F3D09A0EE7D17AC66B30155A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; + F49713E132B21A9445D9457C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + F49DAF0F225F071A4CCAC866 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; }; + F511F1E8F0B3F64C850321F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + F5688A2E7B25BD837236AFA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; + F568A91391DB3F0F2412E8D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; }; + F5DC35A024D665725204B375 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; }; + F5E8E9C083E0933E6FB6CC13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; }; + F60276DF99D86FCE8A565BE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; }; + F66119B180E2027EA08FDCAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; }; + F68409D2238C16D94715445E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; }; + F693DD5B1313923D940D6C3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; }; + F6E320B598D5271551AF8743 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarComponent.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h"; sourceTree = "SOURCE_ROOT"; }; + F720563676D4C9E4DE103144 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; + F7676EB62802B31B15689B14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + F77C93B319FB7E23D69C8371 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; }; + F7B0BEEDF640444239AE37A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + F7B8C6AA3AEF025B6BFE5678 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + F7D4D9D0A26940676AE3FC61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + F7DD5C27835C2B5ECA00A7D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorValueTreeState.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h"; sourceTree = "SOURCE_ROOT"; }; + F7E0F072B76ECD5DCD102B88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + F818FCE8EF2FE661E5BC0EFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReverbAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + F835920197570C22DACE2186 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiOutput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h"; sourceTree = "SOURCE_ROOT"; }; + F8662ECB8187DDFDB200B2A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorPlayer.cpp"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; + F873CF6ECA029B94F7F4084F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + F895132C805C3C8187536E4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + F8A0BED0C8B7DAF962431C39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; }; + F8A93B8EDF908B6E3AD2C2D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModifierKeys.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h"; sourceTree = "SOURCE_ROOT"; }; + F935D6E0CA994CBFD870BF65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardState.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h"; sourceTree = "SOURCE_ROOT"; }; + F96C31890AED2B62C4E0E20A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CheckSettingMacros.h"; path = "../../../../modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h"; sourceTree = "SOURCE_ROOT"; }; + FA2294BEBE10309C12F214C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + FA853017FA621FC683E872ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableEdgeComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + FA8D4A5190F11697BFFD2DFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; }; + FABFCFC950C53D57CC971516 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + FB1EE60A865765771EA250C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyListener.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h"; sourceTree = "SOURCE_ROOT"; }; + FB3E0328E0F2BF7633B7F4C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + FBDA8B5BE5FCBEFB590920D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; }; + FC1D343CACA27BD4C8314F0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; + FCCBE4511F7E02F7B995E179 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; }; + FD29E556C20B0A84586BFB09 = {isa = PBXFileReference; lastKnownFileType = file.path; name = proaudio.path; path = ../../Source/BinaryData/proaudio.path; sourceTree = "SOURCE_ROOT"; }; + FD355E2891D05684F5AB3FB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + FD60B5D096AA5B3AB840278C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + FD9D2DD3D3C7F14F07505EE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; }; + FDBC4DF16A90252E242CF668 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; }; + FDE9E6BF5EBC3001D0F08BD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; }; + FE34F4ABFE740FFEEACB468E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V1.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp"; sourceTree = "SOURCE_ROOT"; }; + FE57CDE96F42D240BC5BF9B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; }; + FE76EBBA1B01CCFB9341F30F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; + FEA74F5391F10765ABED4024 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + FECF8B067AC43A560B50217D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; }; + FF08B80860BB393314DC49EA = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = AUv3Synth.entitlements; path = AUv3Synth.entitlements; sourceTree = "SOURCE_ROOT"; }; + FF776D8E2733ED1C20E75B58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + FFA3E864C97EFB93C649CE18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; }; + FFBC99113C3CF37BD6C3C100 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleComponent.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 666FF5330A7D71738A02C789 = {isa = PBXGroup; children = ( + D06C2B85E02F13F9B57DB1A9, + FD29E556C20B0A84586BFB09, + 0FDE79162C42D29429F29BF2, ); name = BinaryData; sourceTree = ""; }; + DB89B006F28EC7A4ADDFE800 = {isa = PBXGroup; children = ( + 666FF5330A7D71738A02C789, + 2060810FA782E4FA6282BFFF, + 007ADE418EFF0B13796D2992, + 9C7C3A15A9D747596DDE40AA, ); name = Source; sourceTree = ""; }; + 8E3C833F5CCC3BD43C061796 = {isa = PBXGroup; children = ( + DB89B006F28EC7A4ADDFE800, ); name = AUv3Synth; sourceTree = ""; }; + BC017D8DC1C2F55B388501A0 = {isa = PBXGroup; children = ( + 13DD37B2F314596BBC25A47D, + 4D4252EF0D8D9BD4AFBB830A, + E04216439C3A2AD69B69B520, + A15E68C337279B15ED933BE3, + 0762DCD2200EC064A17AC77F, ); name = buffers; sourceTree = ""; }; + 4E848E110B0B6F63BC9CE354 = {isa = PBXGroup; children = ( + 6A9B5161889E1B22B04BA223, + 6A01CD302B95FCC3F057090D, + 84ABD4F5D068289F4D43E7CC, + C61D176AAECFBC9A277EF2E5, + 0A063D0E9CDBCFBA3B31B8A3, + C63541C14D518046922DF60B, + 6F63C882BEEED7B36540EA05, + 15687E3C898914FCE458C1B1, + 5B41FCC4B5B5CE4FB5282954, + 57D07B6F700F94E8E704DC49, + DB43ED26DBABD0BC17385E6E, ); name = effects; sourceTree = ""; }; + 960A24295EC2A4FDC15E019A = {isa = PBXGroup; children = ( + C12C3BDF0D24260675D88C04, + 8D753ADD4B2F1CB0C974A522, + F28150FA7A2231FCA46CD0F5, + DC1C558103B4D458A6CA037C, + 142ADBE2098D59ECB95443D8, + F935D6E0CA994CBFD870BF65, + 1267F1B5D02A74861F4F135C, + BAA373F740C171EB1219D9B0, + AB183DB7B4E55E8A378D1640, + 52496AD37C0932219701798C, + D34BDE3AF93D8CCE91C331AF, + 1F460579410D4B352F2A85E6, ); name = midi; sourceTree = ""; }; + 2B5CB18BC2AC334FCDCD5F73 = {isa = PBXGroup; children = ( + 00500DE183D3A54A2DA74DE9, + 37799802B9635A4BB98E8C0D, + E577F5E5E99420C920063AA4, + 55CD90E2FB8F3B5AF567AB8D, + 6E186DF6706228F3F1F1A17E, + EF275E21BADD0F3268F10BD5, + 3C8B6C80EE83439D2D94B58F, + 0FEDE49FDC29C3ED222D6170, + 46B1734D356C650334F8C547, + 796340DEE820CAFEABEC077B, + B77F4A6EA1005BE4683A0DAC, + 97C74E9A0E8A5576FC301241, + A8E3160D8F76BE5B55B9846E, + D99FD2C65027F0D06BCB437F, + 194765A55D6C02B43A1F334A, + 3A0EF9079729C5C6FC1AACDD, + D9D833D2912CC83006BD9FA4, + 8AA012F95CDEE0ECAC1D698E, ); name = mpe; sourceTree = ""; }; + 39BF5DEBF7889C52ECA9D522 = {isa = PBXGroup; children = ( + CF344C62ABCBA9BAAB6ACFA2, + A148CC41BDB41EDC8E88DC7D, + 8D6D7548957FA154DA777E17, + AB49C15CDC9E08D39EAC2B72, + D6979B0DD8E310EA2512B147, + E24A784226CD7F6A9A3313F3, + 77036A3D63B6A78CEECF50A9, + 874FADD694BB58E2E736FC20, + 26EAEF94B819C919C890B885, + 3109815D5D597AE3707A13EC, + F1471268FFDBD435129D3F98, + CA633B8B756E9E7826C8D173, + 72A7E928C55FCB1C1B373135, + F818FCE8EF2FE661E5BC0EFC, + 1D38916035F0926B751035DF, + A43962FBC6E823AFAD6EC673, ); name = sources; sourceTree = ""; }; + 2F4731DCB9230EE619916954 = {isa = PBXGroup; children = ( + 9FB1AAC5EC1146B5FC0EFCD2, + E4F233200895BB6C4A31A816, ); name = synthesisers; sourceTree = ""; }; + 5E2CF82B2790DC31C2A42EDA = {isa = PBXGroup; children = ( + BC017D8DC1C2F55B388501A0, + 4E848E110B0B6F63BC9CE354, + 960A24295EC2A4FDC15E019A, + 2B5CB18BC2AC334FCDCD5F73, + 39BF5DEBF7889C52ECA9D522, + 2F4731DCB9230EE619916954, + 7023A03BF8EE3F09E00C3B58, ); name = "juce_audio_basics"; sourceTree = ""; }; + 0AF2104722DB9B5CCED4C94B = {isa = PBXGroup; children = ( + C50B7EF31D44D3B5E03CB4A8, + 42EB20660BAF846855D9EF4F, + 7195EEB1FB735453359D1893, ); name = "audio_cd"; sourceTree = ""; }; + 47AB8B1903DABC656DF21D88 = {isa = PBXGroup; children = ( + 1A470B745FCC0020078807C0, + 4350481545B0B7094C507415, + 9B995FF1F1FD413ECBEA5F2C, + 4968C8C2A41316C78C23E9E3, + 7ABF11ED9BB6CD5850ABF47A, + 89291F4775B82AD585F02515, + 5B56147E8E94C3969471E21F, ); name = "audio_io"; sourceTree = ""; }; + 7B2FEED71EA55EF1A6482473 = {isa = PBXGroup; children = ( + 87181526B9C99144CBE4F8A8, + DFF6A93D460B71379FE3EAA2, + 596DAF8986D6982B928C689C, + 12E82F17788C076C81627268, + F835920197570C22DACE2186, ); name = "midi_io"; sourceTree = ""; }; + C08F6552B8A8E298555C2AC9 = {isa = PBXGroup; children = ( + 3AF5346037CEDB521C15327A, + 4EECB41B6EC0EA710254BD82, + 791714395C654D0B51DE22F8, + DF42DB861DD40B3EA519F49F, + FCCBE4511F7E02F7B995E179, + 8956FF8EFD34579BBCFD9B88, + DEC3BDE099A6E8517815F464, + 39B377C2D00BF8A2E9626DAA, + 5CE9D568B99FBD7774D02709, + 7DAEE56A9F7ABD354CABEAF1, + FE76EBBA1B01CCFB9341F30F, + 38DEF9E87D9BE2944553DE14, + D1683E32F1EB634904CD7DE1, + 13B17EB9291B9E5C95408C47, + 12395B6A3CDDE856FC5BFD75, + F7676EB62802B31B15689B14, + 1A0498CEB99BA9719C85F11E, + A74FEFA1532B6951A0309828, + 340A18A11EA701353DB28503, ); name = native; sourceTree = ""; }; + 40C53674C64F3E0211ECAAB5 = {isa = PBXGroup; children = ( + 33D05902E14966A2708B7F61, + 71D1D8E256A7FD110F7EAC6C, + 9F91E161DF777F050B61B6BE, + D515546E71BD92C742D67905, ); name = sources; sourceTree = ""; }; + 596BD0AE10AA6B1E7AC01F15 = {isa = PBXGroup; children = ( + 0AF2104722DB9B5CCED4C94B, + 47AB8B1903DABC656DF21D88, + 7B2FEED71EA55EF1A6482473, + C08F6552B8A8E298555C2AC9, + 40C53674C64F3E0211ECAAB5, + 2284A4597CF7AA4D2EFA7AC4, ); name = "juce_audio_devices"; sourceTree = ""; }; + F25E7403D44D5B0ABC68A8DE = {isa = PBXGroup; children = ( + 3B9F47F546584BB9EFE098BE, + 192ABDFEDF4C082BB8DF0492, + 76272B6E0F4FB6D7225653CF, + 2DC4F5D10A019196E3AFDFBD, + 33B9A7EA67B0D01E3416E123, + 804448A2E110E3D84021289F, + 84D3302B18B67B725905AF7C, + 2D2B97D629EFA3920314D5DD, + 7A3E22B63496806947FC10A5, + 6A2FBCEABDB265609CB49A9C, + 3487F440B9FE19B84EDB6C05, + F7D4D9D0A26940676AE3FC61, + E9C1C03509E00C37AAA45727, + 12C25C7C2E883F374E8B3D36, + 831580A17E75CC89E86A3E12, + 2D436395B51B7242A5B9E701, + BD58CC09BA9FED0E9CACC97B, + E32E43F0CC33ED95FD0A9DE2, ); name = codecs; sourceTree = ""; }; + 2EB6086419C861B8A8744532 = {isa = PBXGroup; children = ( + 0B29952E2F0758E5C07D21DC, + 56DD0F008972969CD0020468, + 63F79641EFA884B962CDF093, + A236B01D70F55D3570330B44, + 71A5014C5547E43A0EE58252, + C1E4A7F5418639D70CB51F0A, + 59878D9EFD00EAC6CD0A85E8, + 5BEC401034FECC5A84CF911C, + D264387115074C98CF251072, + 46E7ECB316210C98F0A1C885, + D19E20CCCD4790B2347D5B80, + 0C57D75820A254EFD312E57E, + DEAD87726738781A25EBCFFB, + 5AE75DB19C06961041078603, + 89B0332A462BFD5984B97302, ); name = format; sourceTree = ""; }; + 97AF985BD136FA4227E4B631 = {isa = PBXGroup; children = ( + EE9BA42E3D0FBC1D7E118E5D, + DC60BA9AC2BA5D2C3B5C3001, ); name = sampler; sourceTree = ""; }; + 3B848EB4797469286E5DC42F = {isa = PBXGroup; children = ( + F25E7403D44D5B0ABC68A8DE, + 2EB6086419C861B8A8744532, + 97AF985BD136FA4227E4B631, + 2CC92DEE105B69921A4BD036, ); name = "juce_audio_formats"; sourceTree = ""; }; + 2E422AE2D18F560DF8B30CDA = {isa = PBXGroup; children = ( + DC8F10CCAC55F7216F0304F9, + 2CDBB1BAB84A2A5CC8E11755, ); name = AAX; sourceTree = ""; }; + 06A8F713C3EEAB440A8F2811 = {isa = PBXGroup; children = ( + 3E76A3788CAAB12560CB4517, + AE1DD722E80713D6A2C820C9, + 2220D1078A2681D8AAF3563E, ); name = AU; sourceTree = ""; }; + 1941EE898A77AEBE254C7BF6 = {isa = PBXGroup; children = ( + 8905DE78626372768938A4C0, + 05C14DEEE0E3BDC4049484B5, + 2FA12F7EBB9AC99A08FC1025, + 4FED8E1456B36F86FFE8E9B8, + DBA0B8703ED6A2CFF6E952A8, + EC6A15B698E61AC4BE82260E, + 75304DD6E88CB19FD0C74956, + 2D4E5D168D18704BCB317DD8, + CF51659EBB00003E6CB20B66, ); name = RTAS; sourceTree = ""; }; + 17A79693BC3D8AAAD379E1F4 = {isa = PBXGroup; children = ( + 33B2FD7C625F65B132945522, + 44E613EE8E541E69E6B8A449, ); name = Standalone; sourceTree = ""; }; + 6CF0F9372945E034EF277092 = {isa = PBXGroup; children = ( + 30CDFDC04232575AE7A491F3, + F96C31890AED2B62C4E0E20A, + 00A950F33C21C6688103E667, + 676EBCF8F03E1FA1DD0694B0, + 1A3355000573E6A083028E9A, + 068109EA4981DB342942D174, + 99AC2D0C2304F21B912FEC5B, + 2F9011C34B50B11B6FFEDA7F, + EA8B1437F945AFED7BDF11DB, ); name = utility; sourceTree = ""; }; + 46B9BF698C6F16241A8111B9 = {isa = PBXGroup; children = ( + 78DD966E73DF076A83FC1F2C, + 6FA729EAB8A64447D81B36E9, ); name = VST; sourceTree = ""; }; + A7A386D479F1A418585317DF = {isa = PBXGroup; children = ( + 08D38FFAFF41735F36FD4BF9, ); name = VST3; sourceTree = ""; }; + E4D31720EE240DC9A75C9459 = {isa = PBXGroup; children = ( + 2E422AE2D18F560DF8B30CDA, + 06A8F713C3EEAB440A8F2811, + 1941EE898A77AEBE254C7BF6, + 17A79693BC3D8AAAD379E1F4, + 6CF0F9372945E034EF277092, + 46B9BF698C6F16241A8111B9, + A7A386D479F1A418585317DF, + 9EDB40D557C3BBB1CC63CF65, ); name = "juce_audio_plugin_client"; sourceTree = ""; }; + 288CAA056ED45266C7FB3AF1 = {isa = PBXGroup; children = ( + 257F4247EC175CCBFE996E55, + CF9EEC4A087AA9010D5D21A5, + 212425D8E8CD86B224E3CC5A, + F04800D7F1A1E012E9A4AD15, ); name = format; sourceTree = ""; }; + BB2918B00365876F1FA2F3F6 = {isa = PBXGroup; children = ( + 2010BCF7EE1A761168968EEF, + F5DC35A024D665725204B375, + 3D850D7C81C79515EA35D833, + 329FEF79D3987D0FB1C164CD, + 3F5066569AA0BCAFF9F6AD87, + 5F6BB197FA13DEB1F2260CC0, + 387D55482BBDCBC351F2BECE, + B774AC9A00BFF63E24EA0646, + 87FC5378F4B65DBD11E62015, + E0FD3183237BAB53F14A4B92, + 58461A95ADF95E35EE92161D, ); name = "format_types"; sourceTree = ""; }; + CAAB2A5A6B46AF53B7E43E33 = {isa = PBXGroup; children = ( + 17968A543385166D4392F171, + 05206E536544288B1DFC3EC7, + B0015C46815CEB6E15236944, + 65980EFA3678AD71581BE381, + 1BD4D7258F644BC3B343432E, + DE76DD99A5E06C01C57957A1, + E564C68E481471618F91FD8B, + 8429B2EA7B0E269D738BD27E, + 6BF1D1384D3492C251CB00D2, + 5D27245879F65DC9C3DB15FF, + 0527F8D9C84F850B9E2F794C, + 6FC0CB280CE56AB22E3997B5, + DFA88B30E3041E9BC8150FCD, + 7A172478B945BDF97AFFBA0A, + EC2144EBA3C2FDA0D14F4894, + 4A61AD8C4D46D2448FAF51E8, ); name = processors; sourceTree = ""; }; + 2994A58EDAAEF6AF67B9398E = {isa = PBXGroup; children = ( + 3511451EE5878DFFC682095C, + 5E6903988ADA7D101E926BCE, + 9C455929E7890E382F55BD19, + 7F8A5B07954F9F0562831FDA, + EFE3827E3EDA9642D99BE504, + 289018CF30BEAFA4668549AB, ); name = scanning; sourceTree = ""; }; + 93E4D725A79B28831619716C = {isa = PBXGroup; children = ( + C5A11A2A1F932F48A0D23E91, + DC12C0A592BCA7A9FCE348BE, + 5B4ABB694D98DB81D8977876, + AD49758CCCDB81F781160518, + E0260479B3C2CAF8477026FC, + 84940A6A61CEE24A159139E5, + DC6A702F738F41B34B329097, + F7DD5C27835C2B5ECA00A7D2, ); name = utilities; sourceTree = ""; }; + 0117D11B67D779E61A4F5529 = {isa = PBXGroup; children = ( + 288CAA056ED45266C7FB3AF1, + BB2918B00365876F1FA2F3F6, + CAAB2A5A6B46AF53B7E43E33, + 2994A58EDAAEF6AF67B9398E, + 93E4D725A79B28831619716C, + D43BFA7F052E625E90F77C89, ); name = "juce_audio_processors"; sourceTree = ""; }; + 0530BD4CA73FE53A5C053A1C = {isa = PBXGroup; children = ( + 6BD961F96723E92BFC0263D3, + 8524CF106D2B7B1E08D312C8, + 9D3AF29ECBD2A58B146619A2, + 7A7DC1C99D232DAD43C01146, + 1C45C50E54A57400FF9E6EEE, + B801E3F5A1C2992F592A0FBE, + 2B859BB12EB83F32108F3497, + 2578F2F3741CC61B95E7E6C3, + 1238631934643787E27DDC66, + 9ACE3BF6D0E54A5ACA1D73F6, + ABF137A60BDB5810DCDD1E22, + 569603444940609CACE2AD7B, + 33A72C52C238DB7638CA9F9A, + D03583C1CA01284B5781955E, ); name = gui; sourceTree = ""; }; + 7946B862EC632E3C66EAFFD0 = {isa = PBXGroup; children = ( + 7D2FEE652DDC90049F523828, + 1AF82B1F138DE2C506FBBDAC, + E755606E63BE2C5558FFB353, + 5019F297F4FE95D4F264E95D, + B6EA3B412C6E73478C4D36AD, ); name = native; sourceTree = ""; }; + C05C5759710B1FC952797E1A = {isa = PBXGroup; children = ( + F8662ECB8187DDFDB200B2A2, + AC3D1C939D60CBB9F06E5195, ); name = players; sourceTree = ""; }; + FBF7568E0A1FB934691CFB9B = {isa = PBXGroup; children = ( + 0530BD4CA73FE53A5C053A1C, + 7946B862EC632E3C66EAFFD0, + C05C5759710B1FC952797E1A, + 63626AB59BC4BD66A0A6482B, ); name = "juce_audio_utils"; sourceTree = ""; }; + BC9691E8BFCD753AF6103FBF = {isa = PBXGroup; children = ( + 8B2480D9DD76CFCAB0323099, + 6DED13EB49FCE393E16D59FB, + 9A69DDED5C8357717BAD57DD, + AA458482B1358EE4262D7E8C, + 8FC88FE9250C7A25AC724BEF, + 1E13310D81E44B4523CA8DC1, + 4E7035D318D7951EA416F253, + E59314439566CDF7981F7D9F, + 6738C919984D53FF07CDD5A6, + B3425236EBB43087A2C4AA71, + C002FF4D43F9C779CB5B2B5C, + 997766E6B5491A51A5242F68, + 103120277880D41F8696B2A8, + 2B0EA3DFEC956DB0BA40F07A, + A85FEFF5F978F3B76D9829C1, + B2C885D79DF233E10656633A, + 9CD2B54DC3EF0B1710DBC904, + 524DD2A93F8DFF53CC87023F, + 3058A92D575A389A0D1920B9, + B2A30D3171F293ECE50DC06B, + F3CC6690E03667917B1F463B, ); name = containers; sourceTree = ""; }; + A8E340AAEE23D4BD850A1A7B = {isa = PBXGroup; children = ( + 57A49E91A5755065F47070FC, + 631CF9C6700114D898AEC1AD, + AA4C96BD17FAFE995F8BF86D, + 9B6B98866C77A743FDBA7C40, + ACDCFB7C5CE966089DF7665E, + FA8D4A5190F11697BFFD2DFD, + FB3E0328E0F2BF7633B7F4C0, + 0FB29BBC0B65633627478BA0, + 499F3B4B44522D984B26A263, + 3AC15B910C91D22E71A7A687, + 25154F5BC74A1019F714FB73, + 1A5F13EEFA6BFCC120C57869, + CF7ECFB4AA9A00E103525840, + 7D67149A7BE6BBB85FCB2CCF, + 128D7FD70FE164060807E29F, + 003B0A5337B7EB6AB6906625, + DF2A14735E2EC0F986E3ED6F, ); name = files; sourceTree = ""; }; + AD224AC6003310CD05E651E1 = {isa = PBXGroup; children = ( + 1EAB166798F43125DDCE0BC0, + C3FF9B9008D2A03F2BB23F1B, + 1D0B59F0A6F76ED5272E08C4, + 7B215A260ADCE367FD8F3420, ); name = javascript; sourceTree = ""; }; + 6C9970947FAA819784344F82 = {isa = PBXGroup; children = ( + 2EC9EB88F772C8A6DBA65C2A, + FBDA8B5BE5FCBEFB590920D9, + 37D87B4F2E6E4C7EC11F12CB, + DF851414C38482D7EF5C63D1, ); name = logging; sourceTree = ""; }; + E697A170E52474A85AC3F0B8 = {isa = PBXGroup; children = ( + EFD7896047F56FCAE30F61D3, + 82CED5C8E1B7A2C068BC48B2, + C3006C283C6F75269CE6295D, + D6670F0F52C7A439715B706F, + 363B23811BE5271789D355B6, + 69223FF1DDF41E1860A3DE72, + 67BBCC92EDF01164A374A824, + 14E1CF05D80EA4E2CCFD1EB0, + 78B49436D33E43AC3A956818, + 10467B840ADE953EC282EF36, ); name = maths; sourceTree = ""; }; + 87DBD332C7D88B9FB84BA57D = {isa = PBXGroup; children = ( + 9A3351689C885961A9BD3F2F, + ECD1DB349CD1744D2345D45A, + D72A2819C390689ED5A58197, + F241556BC3C500D0280204D2, + 1FFE418941303981E432039E, + 297BC989416D63FB30AE4C6F, + 92BFAF31B51618764234C779, + 5B219BDFFD121A57DB1623B0, + 90064DDC086AD775FA7D5FFB, + 750DF21E43BED98CE4F53DE7, + 81A3BCB415FA7114FC07367D, + EAEB4425352054C49C4D73B2, + 20E2B3CE619294FF62DF5D54, + 42398E999B0A850DFF901952, ); name = memory; sourceTree = ""; }; + A65AFFDD60F15A30D0C411B7 = {isa = PBXGroup; children = ( + 2CA6385ADA2663622F29174F, + F2614FF63DFD0C39EBDE092D, + 9F1DFEFDC78EC139C4089DEC, + 6217C41B2DFADAD8767255BE, + 6DFDBE298AD93DD1B3F067B6, + 12B0DB43F1E76431C35A4958, + 245B820181308A0B46FE2C2F, ); name = misc; sourceTree = ""; }; + BF6529E0C56336520D8B27E8 = {isa = PBXGroup; children = ( + BBB323B5DE53878F445064D9, + 508924D8D38224F7A1CC2F14, + 0B8A751E656BC4B5E4CC4421, + CC155101953B89262C8B633C, + 48D2A0F85F1782956EE482C1, + C3EBFABAA335572EFEC2F535, + 85B72CF204A61261388DC9A7, + 2C717D503694EB59927B7E6C, + 350B404A9275F5AF7A70DE9C, + 5AC5CDBCB084BA289BDCF7B2, + B33E3A1B455B48F251A4EFEB, + FF776D8E2733ED1C20E75B58, + BB1D6E0B0982D0590E8EC99F, + 401DA5B6718906FD022A986E, + EDF2F0703F358E4FEA85725A, + 52DD40CDD91CC8C61DB8FB21, + 830D7621CB3CFC3DE53EF4C9, + AB53B5594316451CAC90BD8C, + 2E1FA635BB813DE9FAB4D639, + 76D5C2782B00C3FFE0F594FE, + 8F3941CB0EBB70B37B7DB6DD, + C0B3C8CFE6B70EE5C8C483F4, + 020FE683177165C897C9E5A6, + 18E2A37DF0A882E058663C17, + 7C3E7364953EF9D78C71B866, + CFFC609186B1EE226ACEBD2D, + DE4E9ED582AC16303C8C72EC, + 323F74EB62215117B808371B, + 6450DF3ACDBE5D00F8E33195, ); name = native; sourceTree = ""; }; + 034C560F9D796FDB00D1D282 = {isa = PBXGroup; children = ( + B05EC8A81DA162236663A8AF, + 0B56ACE2E7A2CC5B75550C6C, + F5688A2E7B25BD837236AFA2, + 43913D411C0ACFCA2E8B8CFE, + 58FA5F36261FAE89B748BA8B, + 54B65048DE0ED0FE799D317F, + 823EFD7B765AD6D20D4053BF, + 5776A5993098A57A7A1E6A27, + 0E429E673C3066089538F4FF, + 003AD91863D1E07BEFDCDB46, ); name = network; sourceTree = ""; }; + 5EC35DF1B73567BBCFD31E1C = {isa = PBXGroup; children = ( + 3BD48100798B29CFBB31E240, + D776C107490A52D250B8327B, + 19631764DB948B287771C41E, + 14EEC624D1628BE3DE7AAB0B, + 89E00773FE73394C30642A4E, + B0B4FAE3EA49CE2AE0074204, + E79A4F024D4890B61628C42C, + AB1F943DA9131BF5694FBABD, + B19103A5C4E54D5ABB50F27F, + 933DE5C4D4002BA9203F65A6, + C639338DD5AF077DF5BF8361, + 8837DB2881391365428BE228, + FABFCFC950C53D57CC971516, + C1983ED4284CBEF3B5A427E5, + 4F2E1758A33E5E88780F68AC, ); name = streams; sourceTree = ""; }; + E564598461FB08F015431F78 = {isa = PBXGroup; children = ( + 96F6E7AE69A06FEE69CCA3C9, + F108BD4F2087E0C08DD27DC2, + 59CB0A6453076CC874C72F59, + 6F544061B6526DCC4430F539, + 1EBC98B1315EA748EAE0BE86, + FDE9E6BF5EBC3001D0F08BD9, ); name = system; sourceTree = ""; }; + D2805307F50E34D3E5AB5DF1 = {isa = PBXGroup; children = ( + EA4345362FE80828317BB860, + 90D3112151AC631747E60670, + D8A47626236CCECFA27BA813, + FD355E2891D05684F5AB3FB5, + 63AAC659ED6461E93DE1C15D, + 6AE2054E0D3A9C05964CB1A5, + 8409701863AC240D5D560213, + 6C5C4F38A006227C77FCBAD3, + 903B9CD04DF181894AC76EF9, + 837CD80BA7098F85EE20B621, + AA823F169302BCFE583969CC, + F693DD5B1313923D940D6C3F, + 80868CF2327E15F76AD68CF6, + 25315D0BDE24260A1B11F088, + 6ADB01DA39E433CDC3CE9257, + 1969DCD38A5D738B1C411BB5, + EC84A74DD90F06D14E1CDA60, + 857827E178BB7D6DD2C02906, + 9D36B3B7E8ACCD8C7176A2FB, + 6289A5E0AC3E2AEE01BEA5F7, + 70C59918BAE3E3379AA1A53C, + 1A86C86BA6589DF87E2953F5, + 9F11AD979B19EC01749DF1A7, + F0C9E98414EDC0CD943FF8AC, ); name = text; sourceTree = ""; }; + B77D1287C7BC35EE2981D651 = {isa = PBXGroup; children = ( + AB6D1876CB16F76A98CE0B89, + 2C41A29ECB3200FF97E83F4B, + 44FBD4EA8F39E0239C077CD7, + 0F0BF502E0417422010480ED, + 8885CE0EEED160D96843F584, + DCAE9F130E3E70FA100BEE16, + D8377F0256B80E157C3A6563, + BCC48160464BC0DFCAD33792, + 9376596E6EC0707DFEE00ADB, + 9BBEDDA8AED51B9B4BA52B2A, + 86E1396EB5DB7C3F8D42AF19, + 659F144091C614884492E5DC, + 4C20818454A1D46DBDB379D7, + F66119B180E2027EA08FDCAC, + DB216D8107F0BBBBD3F2B0E6, + 620C6E08CB86054EDC64784F, + F0D642DE6E92CC8F5D5A1A47, + DC18200A3CD14E988426420C, + 4D128877C59FFBAC8AD8879C, + EFAFEF5DCA8F8E4C087545C4, + 04CDFCB4FF06CA7E1B0CC260, + B8133580F67C0B95E1F36D4E, ); name = threads; sourceTree = ""; }; + 21253472C4ED62EEB042BD0C = {isa = PBXGroup; children = ( + 20A8452F14F1433B1C3D0FED, + 7315E85A6C1E714922CBE587, + E31219AD074DCBB8C6A9F816, + 66C2579562E185E38E43C121, + EC6F9C909D0523DFC5E0823A, + 391E6DF4FA840F23B402D97D, ); name = time; sourceTree = ""; }; + EECAAA79EC4A1A2F5AE30263 = {isa = PBXGroup; children = ( + 6319F4BF677E067041B5467C, + 028400FDADB7732D2CA25667, ); name = "unit_tests"; sourceTree = ""; }; + 5CD2C4E505BAEC1D6FC5ACBB = {isa = PBXGroup; children = ( + 5FE4811A1F224B9DC3F0751D, + 3412F9A8DCE29D1B62BC1145, + A53855C517AD1588DBF87CA0, + 519C21EFEDB8ADE2ACD6249F, ); name = xml; sourceTree = ""; }; + 9B4D2517DBA2A76C58D7B685 = {isa = PBXGroup; children = ( + 22A85B46C8EED46FA81F61B2, + 2149AA5B4890E2E05119749B, + 777E62C96ACF5A0FF45950AA, + E2B251D85649A9A43CB428C5, + 95D4FB306A367AE3A6D28173, + 4AE945ACA404BF885EBFB4B7, ); name = zip; sourceTree = ""; }; + 0B5C4CA2D787EC3780C7CBE8 = {isa = PBXGroup; children = ( + BC9691E8BFCD753AF6103FBF, + A8E340AAEE23D4BD850A1A7B, + AD224AC6003310CD05E651E1, + 6C9970947FAA819784344F82, + E697A170E52474A85AC3F0B8, + 87DBD332C7D88B9FB84BA57D, + A65AFFDD60F15A30D0C411B7, + BF6529E0C56336520D8B27E8, + 034C560F9D796FDB00D1D282, + 5EC35DF1B73567BBCFD31E1C, + E564598461FB08F015431F78, + D2805307F50E34D3E5AB5DF1, + B77D1287C7BC35EE2981D651, + 21253472C4ED62EEB042BD0C, + EECAAA79EC4A1A2F5AE30263, + 5CD2C4E505BAEC1D6FC5ACBB, + 9B4D2517DBA2A76C58D7B685, + 317A2F549752C6765A3675CD, ); name = "juce_core"; sourceTree = ""; }; + 5AEFD006F5B97D797E36C81E = {isa = PBXGroup; children = ( + FDBC4DF16A90252E242CF668, + EDC5CAD8CAA7E5DAD49F18B3, + 9146F18918C954121E932A8B, + 185A5E99EFDAB0E1ED5467F9, ); name = "app_properties"; sourceTree = ""; }; + 578ADE7B02B1C66138BDF12D = {isa = PBXGroup; children = ( + 9D9015BC9941D5D5CFF99DA9, + 883986B1E4E324BDC35B025E, + 2B907016FF0A2E4074343127, ); name = undomanager; sourceTree = ""; }; + D77502F66C4A7EF6AD993708 = {isa = PBXGroup; children = ( + E9617DEC7E639354C2AF66A8, + F8A0BED0C8B7DAF962431C39, + 14B4ECA05D8D48728F6E0DAC, + C383A0AB2662F2FCB802D61D, + 4EFA2DD6FA97904E17A543A8, + 82918021090B19A27046FC03, ); name = values; sourceTree = ""; }; + A90E4C4C435E8AE44C245413 = {isa = PBXGroup; children = ( + 5AEFD006F5B97D797E36C81E, + 578ADE7B02B1C66138BDF12D, + D77502F66C4A7EF6AD993708, + 8FAE0E215D1E95E6CA7C58E8, ); name = "juce_data_structures"; sourceTree = ""; }; + D3714BC58B555CDE49329AAA = {isa = PBXGroup; children = ( + 3EBDB41A4AA8C71BB089DD65, + EC6AE147E0DC1DABD86AD10D, + 0589532FD9A73AE783AEAFF9, + B6B3AF7688EF55A4FC61D5D6, + A1FA95A0AA37CD773ACBCE8A, + 2FE196E99D5ACD17E1EC061A, + 170409D99808EC4EADC66EFF, + 1CE2727544D8067E9DB2F503, ); name = broadcasters; sourceTree = ""; }; + 5B1CA393BF45A00D3092111B = {isa = PBXGroup; children = ( + A4E1FFE9E94A28D434C2E4BD, + 7B8DE2413EDC4BEB83168903, + 14F4349930D298E952EE54E6, + 2086A70D734172718BED5B1A, + 9A392FBECB732FAC0AA04262, + 0A6388AE7A6D842C59BE4BB0, ); name = interprocess; sourceTree = ""; }; + 8859D9872008A7577B7C8205 = {isa = PBXGroup; children = ( + B0E5392688FD05700AFA0569, + 2BDB229F700B0070C788CFFE, + 6F9936B4FC6CC4947CE18F41, + BB525259297D31B45CC624C8, + 57A9C38789F8516A695E65E6, + C0DA8A117300F721DAE1C6E5, + C6846316837E7D4578428945, + 015DB8D668A1F85370D5BFAA, + 7CE0FEFCEC64DF0ADA0B2DF8, + 26B4B1368466BAEBED7B910C, + 8C401B7DC61CF17EFD2F05D7, + 832122C272B009AC7E73AF6C, + C478ECA66D2FDB2303FDC140, ); name = messages; sourceTree = ""; }; + 78CA8917C0A908C4F9850B40 = {isa = PBXGroup; children = ( + 2A59FFB4A0420DA1E24EF14C, + FC1D343CACA27BD4C8314F0D, + 36D0D18E4170C7A1D25D0704, + B77C48286D446F5C7BD4B76F, + 7CA84F62BB5AC492B1EB49A0, + 896386672033108CFE54FC64, + 64006FEB76C8189A341F77D6, + 12F04ADB729E5DAB771C50C9, ); name = native; sourceTree = ""; }; + 0FD45928AC4B4234A14E0A34 = {isa = PBXGroup; children = ( + B5C3356C447E60F512C5E8CD, + C9407CAAB91ABCB83CD3F80D, + B98F443DC0CE94BC13CC3D44, + 809E47902CCE60747026EC3B, ); name = timers; sourceTree = ""; }; + B5521BD970390A393CE16042 = {isa = PBXGroup; children = ( + D3714BC58B555CDE49329AAA, + 5B1CA393BF45A00D3092111B, + 8859D9872008A7577B7C8205, + 78CA8917C0A908C4F9850B40, + 0FD45928AC4B4234A14E0A34, + E2FE1E6598C038AFAFA1881A, ); name = "juce_events"; sourceTree = ""; }; + 66D0D5BF4AA53118AD82D8A5 = {isa = PBXGroup; children = ( + 4A9B4448F56A2C6BB87A2237, + 54B4AF19CEFECF9097905D10, + 643F0D51DA8A1B56EB1C8B61, + B3AED660CB964056A7063CE6, + D2436FFFE291F08409B1EEE2, + A2129507609CE7130FBA1340, + 96DCCD578FF29CD7D381E8BC, + 0F423E99E9C1741395CC5CF6, + A29CEAB6F2F844C410B2F014, ); name = colour; sourceTree = ""; }; + A2C06250C4A67B53ABC5E404 = {isa = PBXGroup; children = ( + FD60B5D096AA5B3AB840278C, + 9C9AF92C7A254CC7A2AA72F0, + F091E35001480A9D35B6C007, + 5A15B2AC96B76F7CF212B83D, + E750DA71CBCC6CB2236D7277, + 8DCEAA37D9F7AAD98A244B49, + 3289934D2B14EEF7D64D7225, ); name = contexts; sourceTree = ""; }; + A2BA71807965ACAD8DFB2901 = {isa = PBXGroup; children = ( + 01647762E74B323EFFC6F09F, + 5176BF663257661A5DAC4EF5, + D8DFA74AB1A9041035F68326, + 066F37651C7F3792917C2F8E, + C1EFF2064480889DAC74D2D3, ); name = effects; sourceTree = ""; }; + 963A45A2A5EA3700518FCFF1 = {isa = PBXGroup; children = ( + 9198593E2E34D16752B90CD1, + 257C168A2D450218B158E7BC, + C2DF4936EF95E5A32E71B755, + 8AED766CFA1A37B45BC2DE98, + 0CAE7725A1DB51AA7D3CE2ED, + F37501AA1865957279DBF820, + E9745B8F0DE747F94EAF65A4, + D7AD93F3A8FAFDBFDF1B5DF5, + A79BB852E29F1BDE96AF613A, + C11E39E7C9D18AC810369A50, + DACA6E5A3CE684EC649F31B7, + 51D0A454D79EB99241AA1FE1, ); name = fonts; sourceTree = ""; }; + CF9684A9343C50494F51B800 = {isa = PBXGroup; children = ( + 6F12413CE2BF3B7B0E8FD50B, + 57D814738C5CB6D994984F98, + E2A39DE02AF9ED3035EC5F9E, + 947776740572A5A07C2500EE, + 35B09493554CBE82B89CABA2, + 524CB59E51CF8B42EFF88129, + E8EB40396974468FBD0EE15B, + E558CF08264E559967E2F538, + E2893CF05E01B66FC69E2E93, + 233959140E5D6C2348DEDFC0, + B1972B63AC71C03527E02534, + 1F9C82CD04D63753C7B56FCA, + AE0F66472A7765041DD5F722, + A35BCEE1A423BE734BB3EC80, + 41160F46936DACC3CE2384BC, ); name = geometry; sourceTree = ""; }; + ABB482AD92C0AA5461E2EBCC = {isa = PBXGroup; children = ( + 47C5EAA4FDB09A919047097B, + A7D9A07B7B44888CF960B9B4, + 4BCC956571543FE3E8426F11, ); name = "image_formats"; sourceTree = ""; }; + 9F48F8FF0DC290C4685E8736 = {isa = PBXGroup; children = ( + 600E363997E4D34382349626, + D908038BAE155E55517AB2FC, + AF575F9303D3AA5E410C274A, + 648071EE7F5AB0EFA06D0A6C, + D36CD153A79988DA706EC9A6, + AAA19AA6801AFA1AF07C8E2D, + DA42AACD549E6C214EE09CF0, + 0B557BFDEF2C0249EC732AD3, ); name = images; sourceTree = ""; }; + D9601C69B5DC0B2C2DE34F12 = {isa = PBXGroup; children = ( + 4B4C75787794A7A56E55731F, + 96102E98CC639030FAD7EA68, + DBC04DFB6E9667DCA1BC83E8, + 8693349823D718B2BE254101, + B33097C6BA7E4793E7536BBC, + 53BEB5C2536814DD97FA6286, + D5797410CEE0E8D2E03D98F2, + 17EE88F0A67B5FD24182345A, + 042C7366A26A18DFA13B2512, + CF6FA9D2F39F03FE2858F11B, + F3D09A0EE7D17AC66B30155A, + 58E2885768EF7366025F4A23, + 28309CD49B2260C187FED2DF, ); name = native; sourceTree = ""; }; + F75A851FF72ECF54F3AE4F33 = {isa = PBXGroup; children = ( + F68409D2238C16D94715445E, + DEC63BC653D0F918D0721CF4, + 86AC66980898843AE721BD08, ); name = placement; sourceTree = ""; }; + A0F34AB1DA27212F06E72572 = {isa = PBXGroup; children = ( + 66D0D5BF4AA53118AD82D8A5, + A2C06250C4A67B53ABC5E404, + A2BA71807965ACAD8DFB2901, + 963A45A2A5EA3700518FCFF1, + CF9684A9343C50494F51B800, + ABB482AD92C0AA5461E2EBCC, + 9F48F8FF0DC290C4685E8736, + D9601C69B5DC0B2C2DE34F12, + F75A851FF72ECF54F3AE4F33, + 11C585D0BE28AEB6941E0E8E, ); name = "juce_graphics"; sourceTree = ""; }; + 114C01CACCCB00FE90FB0F41 = {isa = PBXGroup; children = ( + BB8432AE150D5AEB38808FA9, + A1595E748092878FDAEA5A30, ); name = application; sourceTree = ""; }; + 3DD6095E89D1D660DB29B8E2 = {isa = PBXGroup; children = ( + 7F1746052D09CD80BDB28BF8, + C4BBB0A36D8C8E7D180247DA, + 8E61D5E0D6068F247E70219C, + 31A18092A539E3763FBAEC65, + F873CF6ECA029B94F7F4084F, + DAEE812EF95F96E7D65D875F, + C80FFBB5F1E2674B9DBC054B, + F27FD37C4F6D16400014F5F7, + A11CF361C0253B499324D31E, + B3CA6447C345EE05F8B98195, + AACAB54751155F5AE9CFCE61, + D4C0852C1C54EDA5D4F82EB1, + 221B409DBCBD063B4C7A8253, + ACDA8668B39A102D419BD481, + 1E81FFB8798BCB6C6E8C82C7, + 58797A7F2D9F46830E4B7893, + 5E0894E38188345B5643E7A3, + 2290343F8EDF842707A28B00, ); name = buttons; sourceTree = ""; }; + 25BAA027904C4BD277CFFEA8 = {isa = PBXGroup; children = ( + 781F73EF2934742C97B305D3, + 6DF4FA55C69B25537DCD88C8, + 89B73E1F52531A1A8A1C3E9E, + 738FC67C7D9A53148C0A21AC, + EEE67087AEC296875FA1D934, + 0737F61AF723FA62458B92BF, + 5982DB12F71224C609600E4C, + 602803D62DD249B1F47FC0DE, + DFE5FACFB131FF766CE6DEEF, ); name = commands; sourceTree = ""; }; + AE4E0824E040DF41FA3AF50C = {isa = PBXGroup; children = ( + D87ED789DA527A749E7310E4, + E03AA585A375A39A9BFF3DD4, + F5E8E9C083E0933E6FB6CC13, + 5D4C79A914D3D6297D605D14, + DC6E859FF89B5A3C9BAFE19F, + 4CCA15F86C8EC799F1EA64E9, + CFAFC86F4D25AB5A31DF3BE5, + 387EFF395C9CEF73E0EDEE68, + B6ABAD2ACC048C4DAB31CA27, ); name = components; sourceTree = ""; }; + CEB67F0959F29DA5368B896B = {isa = PBXGroup; children = ( + FE57CDE96F42D240BC5BF9B5, + D7CDE24FD157D0DF359E9D8D, + A9DD0C9B00D83CBB77EDBFA6, + BD283419247CBA6C6DD2ADD6, + 3A53F5D6A8D1C20349358EE3, + 4832A1539FCE4D132EDE2BF4, + 8ACD82D09483797E1A7A65B2, + 9F142652D1037C744443A4E3, + 856618203AAE94C7B806F9EF, + DB3A7C49C8444BD2F57B6689, + B85C9F9BF94FA8926EB9ACB8, + 1F9CAB8660B3BA12C6147B6F, + AAB7E87C600B13349477C51C, + 15C8A0E89E2A3DFAC733FCD9, + DCF51EBC4D12F196EEB28FB1, ); name = drawables; sourceTree = ""; }; + DC48D48A970972B5C36954CB = {isa = PBXGroup; children = ( + A12A4C86AE4FA12C99334932, + 2097DD131081E241DA8558B4, + 12D76B0BA7A16AB10A052E19, + C9494DFECDCD27C0815A6F17, + 2393C709A9A39322250847A4, + 344B210DB54B8B4AFEC3D689, + 67198AF7663A53BFB0F523B4, + AE8270C49E4D0C9109CF8499, + 9AD8EF3FD4D40465CD2804EB, + 8174AFC02C04E98EB5C1B21E, + 65EC75BD541EA5DFC79BAF8D, + BED2D02D5F333084E058D678, + 7D0417B22EF55BE16E7C5061, + 005F4C7FE38D54E7FDFC3F9D, + F0B93DF7A7FDD7B7267F09E2, + 135D3D0727C92A67F71E4254, + C14EFFF60594E0BC2421DC0F, + 382821702E599201DD249FC5, + CDE81ADB14F09742FBBA28E6, + EAD2501B6373C4B871F5E94E, + 2C2C2A5006ABCED2CD5E2AC1, + 6BFD44A17AD9EBB6C686BBD9, ); name = filebrowser; sourceTree = ""; }; + D8BE544655B03B674D727999 = {isa = PBXGroup; children = ( + F7E0F072B76ECD5DCD102B88, + D9D057AE4FE642513602611B, + 14A852037C298A105BA716F5, + 5F2D06669F5AADE87DDC34B3, + 1CCCE32D36FB57FBFA6B8BAD, + FB1EE60A865765771EA250C4, + 11178723AF569693785A066F, + EE4D4EE1F1A9A83289EE361F, + 281075EA1C6C7E6F6C26F5A8, + F8A93B8EDF908B6E3AD2C2D3, + 0BF3EE970460415F16F823FF, + 1923954B491DDBBEF5694ACA, + AF02093447674A2DBEFB7B2B, ); name = keyboard; sourceTree = ""; }; + B053FA86A1D971CA40F1061C = {isa = PBXGroup; children = ( + 7D1F7E9BADEA63755327DAE8, + 8BA61007D7B69D122B666B43, + 36356C9C1249E63C966CC058, + F05602C3C1F38396A47F3981, + 5FC18CC5CC7BB4A01EEA2B7E, + A58103D78876730190F3BC4A, + BDEE5F6548D2980373C45F5B, + DA4E0EA3EB80BE34F9047E72, + 5141CBD939C11BC2AD2A4B2A, + F77C93B319FB7E23D69C8371, + F7B8C6AA3AEF025B6BFE5678, + 3CCBF30007C57491CF649D39, + 0B842061D62F68F42428E33A, + E7E45873BE802DD8D676E9CD, + F511F1E8F0B3F64C850321F2, + 76783B8486B095C370EB5FCF, + 1B794C1F7E3459B014C75197, + D48932C6554B443ECB71DC87, + E284D421936862F4333C9F50, + 614288645B28D868DD5CEC71, + FA853017FA621FC683E872ED, + A452E5BB6D20DB6842646EE0, + F3B96CA7271488A73B3FB156, + 1882040AC74DD8A41D05F06E, + AB29C711385848DAC5DD867F, + 18A0299049ABE5D250CB0FD4, + 576D7CB51E9C4EA9303D1D21, + F60276DF99D86FCE8A565BE6, + 67C820D7305BFD5D8C084603, + 3077EEC44352AF040A0D33A5, + F349F9D2750331FD075E75A9, + 5B20D0F05D7F4E9BC268C313, + 1A74067A82DFA16E4E302BDF, + B58CC7A93DBB3706A60E9E76, + 3254D1D2BAE05393E5DAB1FB, + B442A76A84E1800D10EE5954, ); name = layout; sourceTree = ""; }; + B485204A0AE63B05D46A59D8 = {isa = PBXGroup; children = ( + ECE0E7CC17846F150AF6C901, + 85DE0813E0EC15BF1435C132, + FE34F4ABFE740FFEEACB468E, + 6B6303E5AA18CCB271E1140C, + 222404E72D12376641634275, + F49DAF0F225F071A4CCAC866, + 689C5CEA66D05F6AAB2AD543, + BBD06432CC4155521050CD2A, ); name = lookandfeel; sourceTree = ""; }; + FBF1248E3983D9BDFF37FF37 = {isa = PBXGroup; children = ( + 19E72A5209E3A31D442AF7F8, + F6E320B598D5271551AF8743, + 1CBE1E675953EF2172FAD79E, + 4B8AC6E7C0E4C3A9075AC874, + FECF8B067AC43A560B50217D, + 55DBC30F1FE74C23DFB58E50, ); name = menus; sourceTree = ""; }; + 1674B664BC68F967459239DC = {isa = PBXGroup; children = ( + FFBC99113C3CF37BD6C3C100, + 04AD581DA72D441C50F4D53D, + E433734FC5466D7E26FC11D8, + 4751E292EFC458EEC5C6B609, ); name = misc; sourceTree = ""; }; + 2EC5F136D33B29FC7CA4DE09 = {isa = PBXGroup; children = ( + 9D7CC03B14BBAFA3DB901A22, + 681883990694067C832FF46C, + 2C76770E17F0C15163E376B8, + 0470F8A85B927F530A374CDB, + B2CF7DCAD1C8871201A6CE26, + 497EF0535E967594AA839D78, + 22B34EE13C714FA916E10747, + AC223785E50A0284BAC9C879, + B5CD08BC33A8414D48F4CD67, + 07731AE3B779E9D7B560C394, + 0A2F6E47C38E8433AA318B2E, + 27E7DE365A996907F2381740, + 6BF55D993FE51EDD08D0E426, + 0040A971F52DDCF3BD1AA6A6, + D98FE007073170879B3453CD, + 0FD0A1A31985ABBBF0ABACA7, + 120DA52B14963529AF23E4D0, + 55F91724EE6A48D2093E49C5, + E0484E5F0994D64013F4EEA9, + 0CA2C16285A53550FF3BFF4B, ); name = mouse; sourceTree = ""; }; + EFECF9EB8DF4192F2C0BB9CF = {isa = PBXGroup; children = ( + 3CF1BFA42E09BA635804012C, + F720563676D4C9E4DE103144, + 73452324A4B3A16EFC98F31A, + D0A4E2C5F2B21172DE13DE0C, + 13C5BDE7720A7963AC736BC1, + 8B41FABCC567F034274522B0, + 249C42CD1086AFA592455970, + CD3ABE20AE524B92B9B6A6FA, + F2748B621652974B80EA33C0, + FD9D2DD3D3C7F14F07505EE1, + E104DAB2F8C8F885C393011A, + 0DDFA4ECA18ADDF430BFEA7E, + A440AA225DF048215509E577, + 5EDCECF062EB01976634221B, + 0EF4BF328799608AE16E7596, + 7FE887D76DBB520BBC48CDAF, ); name = native; sourceTree = ""; }; + D9D570FC62B1FD78005B49E9 = {isa = PBXGroup; children = ( + 78F63AA848D74E5E555EB802, + 7BAB8DD68B7A25B281233969, + 745B58030382C3D0DB6E7815, + 984C35577FE047A66ACC892C, + 8F3FC2A8E965AA4E83259DB3, + C25203A01A84B7032A7774CF, + 786D0A06690AC040E7D8E525, + 90C18AF3CAC0E59C88732904, + 8C097DF0606C8FF6B60BEA38, + 9E2454FACF592AE472873A44, + 0F74F021243AF898305447F1, + 7A772485103B4848CD67493D, + F1B548156993F8F8A27A254E, + 854757FAD81F978667CAA43C, ); name = positioning; sourceTree = ""; }; + 4BFFEEB3AC472C4FAACF36E9 = {isa = PBXGroup; children = ( + 8E29909B5886662F2EC3F5CF, + 3BC1A61883750CA66661C604, + D8E68D83ACE5DBEA2B7BC876, + 26119533942D8F97DB48987C, + 48CA224BFA100226BC71AC64, + 9312B68ACDD2A4EAA31CAA73, + 0CAE94701F33517C1CD31C63, + E4D985BB229FC31731681790, + F49713E132B21A9445D9457C, + 2ACD8B4F8D47934FD31769B3, + D557AAD12557BF1706441B19, + E795FC063102CA8BAB722C58, + A7399999B1C3CE46C66268C1, + 5CD7B7469B5384EA47491D9E, ); name = properties; sourceTree = ""; }; + E479A9FE3A50D7B6BD85270C = {isa = PBXGroup; children = ( + 94EA45AA948C996F231D6946, + 9C1E95CA7727BBD44E34D79D, + ABA6244EC74C888920DEB016, + 6278B64C03341B5EC57B2BAF, + 19E96BA421072EFF69CA0A33, + CF2F576CE0F6A185597C8D40, + 955635CD2D6A1C5BACA519CF, + 732AAC0FCBADB4A676F564F8, + F7B0BEEDF640444239AE37A1, + A666509292D7F4C3B7F5B0DC, + F02FEB2715C4468E892C4D81, + 7D1E28BE09A85EEBA041558C, + B5029BFA56B6E1BB5FB43BFD, + C3ADBEBC9062404FEB0FB411, + E09404F45899AA1E82CFC21C, + 17D44D834820845D7F4BCB79, + ADA10B57D3CACBF7CA3E7058, + B2F8C1DFA6A765EDB034399D, + 89CC639E5B1CDE71BDBC02D9, + 77BA5733C3FA0C1CEC8FE131, + 5936F657A3A28132D6D27A93, + 80970DB9418D27DD52879D1C, + 92529B06E070A28F0C3C4914, + 37D8B8B49EB8AD563A85429A, + 45827A9ADCD3F3218A3C6973, + 4A0809E1FE4E9A9DFCCE969A, + FFA3E864C97EFB93C649CE18, ); name = widgets; sourceTree = ""; }; + 3DB1D38F9A3EC7233CFD8EC1 = {isa = PBXGroup; children = ( + E222D865360AA81EE8004879, + E320A8161071D0D1B9261E2B, + FA2294BEBE10309C12F214C4, + 8E1318FA20D468AD45C7A20F, + EFE5A21A4334CFA45BFB6CB0, + F345082D5BB9954FE5EC6D2C, + 156F6F1A0F64BAC3E8416D01, + D636983E7D4B5897EF493708, + 230BC07FD9E7883390F5E3E2, + D7F0DF2B23660D1E12432C36, + E2D3D295ECC0BCE28B24FC66, + 67B79757C8BD5E9CA565C041, + E2941ABF420491F119166C29, + BF764E314E4F6DD434BA711A, + DD9FC19B24786726D89345A2, + 47C4B1BBEA18BBA732830B23, + 0FBF33EFF911E926019DA013, + FEA74F5391F10765ABED4024, + 6DFFC8543FE2A02FC551F397, ); name = windows; sourceTree = ""; }; + 8BAF33F08F3F3B821F1421C2 = {isa = PBXGroup; children = ( + 114C01CACCCB00FE90FB0F41, + 3DD6095E89D1D660DB29B8E2, + 25BAA027904C4BD277CFFEA8, + AE4E0824E040DF41FA3AF50C, + CEB67F0959F29DA5368B896B, + DC48D48A970972B5C36954CB, + D8BE544655B03B674D727999, + B053FA86A1D971CA40F1061C, + B485204A0AE63B05D46A59D8, + FBF1248E3983D9BDFF37FF37, + 1674B664BC68F967459239DC, + 2EC5F136D33B29FC7CA4DE09, + EFECF9EB8DF4192F2C0BB9CF, + D9D570FC62B1FD78005B49E9, + 4BFFEEB3AC472C4FAACF36E9, + E479A9FE3A50D7B6BD85270C, + 3DB1D38F9A3EC7233CFD8EC1, + 6318A339AECAF501129080C1, ); name = "juce_gui_basics"; sourceTree = ""; }; + AA5BAAD6DCF5F182AAD650C3 = {isa = PBXGroup; children = ( + A1CFD76549B8E9EB1C360ED5, + 8AEA9D5BBBC4CB214F18FCE3, + 407594E170D93B59D103C9F9, + 8BE57B5119CAEC5B32929064, + 63CC74AACD754A2EDB1F27BC, + 248A66F8517F19A7F12433D2, + CB23F9E24266013856B53BBE, + 1FAFD9FD13BC47F3BEE7E4E8, + 24BFE051E896A8229AF3656B, + 8BE052A2AAFF109DC2A21423, + EC47F3AE085DBD9355D975CE, + 4E22B7FBB34DE120CD03968D, ); name = "code_editor"; sourceTree = ""; }; + D57420D7124340D871991FF8 = {isa = PBXGroup; children = ( + 1DE41A53AABA7D76432B567F, + 16F4A8C0228D84216A33B9B4, ); name = documents; sourceTree = ""; }; + DBA0F82E3877BFFD0D5F7DAE = {isa = PBXGroup; children = ( + D43C762F1355546820373F14, + 7B351E0CEB9BE04BE1F04AF5, + 35331E7E5F8892DF428E5E14, ); name = embedding; sourceTree = ""; }; + 98A4B9C6C58A3E2293C90704 = {isa = PBXGroup; children = ( + F895132C805C3C8187536E4C, + 2024F0516E5DB6817D115CE3, + 968EC4E33A1D1949AA4A9F87, + 6E10B741CB11E590041A27E5, + BABAE6EE994D5EBDC4013AAB, + 5F894362C162E5468B51333A, + 97DDC460BD01030B91158218, + 5BCD28B01336D9D88606E3F9, + 3AFE3B9417789706ECAE236F, + 3DAF5957533C9C8011332F42, + F568A91391DB3F0F2412E8D1, + 6404A39C88F8BCDDBB5D885D, + 4D543A42A648740D1AB564A1, + AB64E9DDECC08374FB9EA75D, + 37E2E5903AB98FFA27584CB7, + 15AA6B90FEE89B0D3C1F06CA, + 9C8EE354D6D44D9DF4782101, + 4EA72ED51C1590F4AFDF7E5F, + 49F8A0C7FAC57117BD2F9BAF, + 323F56F4C398D57CA7910CE7, ); name = misc; sourceTree = ""; }; + 750431D788358575DAFE4E8A = {isa = PBXGroup; children = ( + AA382FBAEDD76245D686042F, + 7E838C96F00848B2EE6E2F72, + 53C30AAD14A7899AB7D9584C, + EFF4EFA57D166DDAC54C3041, + 15D7465655AABF4F6BBA81CF, + 0C5C43B5677B8F335F364B14, + 98305AA6513DCC298E322C0B, + 0317FC7737CA599686725C64, + 9B17FF5755D8E809D2DDAC2A, + 54D3C5E5AE4C1384F4220D71, + E2E958362263925141558B05, + 121DD39EAA6066F411B049A1, ); name = native; sourceTree = ""; }; + FADEF5D8552166D43B12A23E = {isa = PBXGroup; children = ( + AA5BAAD6DCF5F182AAD650C3, + D57420D7124340D871991FF8, + DBA0F82E3877BFFD0D5F7DAE, + 98A4B9C6C58A3E2293C90704, + 750431D788358575DAFE4E8A, + 64106F0CE5505E7976249672, ); name = "juce_gui_extra"; sourceTree = ""; }; + 733241AB9631FD8308362F80 = {isa = PBXGroup; children = ( + 5E2CF82B2790DC31C2A42EDA, + 596BD0AE10AA6B1E7AC01F15, + 3B848EB4797469286E5DC42F, + E4D31720EE240DC9A75C9459, + 0117D11B67D779E61A4F5529, + FBF7568E0A1FB934691CFB9B, + 0B5C4CA2D787EC3780C7CBE8, + A90E4C4C435E8AE44C245413, + B5521BD970390A393CE16042, + A0F34AB1DA27212F06E72572, + 8BAF33F08F3F3B821F1421C2, + FADEF5D8552166D43B12A23E, ); name = "Juce Modules"; sourceTree = ""; }; + 63A38F38F86544DC7AFC43CC = {isa = PBXGroup; children = ( + 472DDAB1CE4DD81D3F48576C, + 5063E96C5D8860003810C70E, + 4F2C691556C568CB650E4CB8, + 18ADDCF1C2123777FA507D82, + 4D8CF31D3C9F2A91C42CF8FF, + EC9D06705CCAD94B653A6E82, + CC14A34F66FDF9E12523CABF, + CF02DA80A8A515CE41B0C8F6, + 63AFF514CAE6FB89A3503CEF, + A8315F08B794D9C87328F17F, + 853D9A89FE96C6DD6730CEC7, + ABEAE8C8B69A71C532DF770B, + D9ED0926381D40DA1A66C26D, + 9965CB9ED8D2B26CACA9C44A, + 58E254BD072595F6E3F6D5F5, + ED8140AF46A706EDAA040283, + 894DE965F10168F149FBE8F9, + 64B7CFC6CE9B929135A4ACA3, + 820B1466E6B31A80C699D084, + E553E188A17BDF4E832F0A01, + F138CA63A1127DA0DB69B127, ); name = "Juce Library Code"; sourceTree = ""; }; + A727F6B063FCDB816462D213 = {isa = PBXGroup; children = ( + 6DA4597568FFE5B6D1F5B68A, + 7E53C9E87A3F9EBE4D454BA8, + F3498E82A2D4ACBED68A7F43, + 6AFB9EB642850186B551DB33, + DC3450D131A4D1B1EAA04B30, + F003DFE998431203650E2E3F, + FF08B80860BB393314DC49EA, + D06C2B85E02F13F9B57DB1A9, ); name = Resources; sourceTree = ""; }; + ED86208188082DE5EA9381E4 = {isa = PBXGroup; children = ( + 7CBEB55B80E78C9DE16A713A, + AC3356631ED2AC043BC67B79, + C4FED4C2640C8615AB415884, + 60F11ABAC12D373D4BFEA447, + 8C9C38D32DB4D8BD543CA892, + 675310EF6D0A3DDE3A35363D, + 5AD0B0347A511D96D2880A06, + 296CD54575ED27C23A2F13F3, + 872D05BD56490FD7B375C11B, + C5B66A2F03D08FC9CF0B9678, + 0B88D848C15EF6915FB62EE7, + 29982493607128FD6DB6A284, + 5DAB08505A14E46FF7BF3B1D, ); name = Frameworks; sourceTree = ""; }; + E793574695108F202603BAA5 = {isa = PBXGroup; children = ( + F5E81FD99EFCB226D2486603, + E4AB099F3E7A853F90FBFEEB, + 746B19364297E7D489749B70, + EC3DE1F504C76EEDDA7F2216, + 9536B5A780A03F6BACB24144, ); name = Products; sourceTree = ""; }; + 4BFA153CE4E8A774C67EC642 = {isa = PBXGroup; children = ( + FF08B80860BB393314DC49EA, + 8E3C833F5CCC3BD43C061796, + 733241AB9631FD8308362F80, + 63A38F38F86544DC7AFC43CC, + A727F6B063FCDB816462D213, + ED86208188082DE5EA9381E4, + E793574695108F202603BAA5, ); name = Source; sourceTree = ""; }; + 7007C784A0219490DFD18C27 = {isa = XCBuildConfiguration; buildSettings = { }; name = Debug; }; + 0ADE306E346FE4F925722F86 = {isa = XCBuildConfiguration; buildSettings = { }; name = Release; }; + 653C6C73C56BA201AB6F094C = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + COPY_PHASE_STRIP = NO; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_DEBUG=1", + "DEBUG=1", + "JucePlugin_Build_VST=1", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-VST.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + LIBRARY_STYLE = Bundle; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + OTHER_LDFLAGS = "-bundle"; + PRODUCT_BUNDLE_IDENTIFIER = com.roli.development.AUv3Synth; + SDKROOT_ppc = macosx10.5; + WRAPPER_EXTENSION = vst; }; name = Debug; }; + 19D80348287645B624E0C6B8 = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + DEAD_CODE_STRIPPING = YES; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_NDEBUG=1", + "NDEBUG=1", + "JucePlugin_Build_VST=1", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-VST.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + LIBRARY_STYLE = Bundle; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + OTHER_LDFLAGS = "-bundle"; + PRODUCT_BUNDLE_IDENTIFIER = com.roli.development.AUv3Synth; + SDKROOT_ppc = macosx10.5; + WRAPPER_EXTENSION = vst; }; name = Release; }; + D36AB79B01E390C59B2BBE9E = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + COPY_PHASE_STRIP = NO; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_DEBUG=1", + "DEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=1", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-VST3.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST3/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + LIBRARY_STYLE = Bundle; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + OTHER_LDFLAGS = "-bundle"; + PRODUCT_BUNDLE_IDENTIFIER = com.roli.development.AUv3Synth; + SDKROOT_ppc = macosx10.5; + WRAPPER_EXTENSION = vst3; }; name = Debug; }; + 11C129F26625007CE9DFD618 = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + DEAD_CODE_STRIPPING = YES; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_NDEBUG=1", + "NDEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=1", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-VST3.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST3/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + LIBRARY_STYLE = Bundle; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + OTHER_LDFLAGS = "-bundle"; + PRODUCT_BUNDLE_IDENTIFIER = com.roli.development.AUv3Synth; + SDKROOT_ppc = macosx10.5; + WRAPPER_EXTENSION = vst3; }; name = Release; }; + DC95EAEBECC74A55CADCD887 = {isa = XCBuildConfiguration; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + CODE_SIGN_ENTITLEMENTS = "AUv3Synth.entitlements"; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_DEBUG=1", + "DEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=1", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-AUv3_AppExtension.plist; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../../../../Frameworks"; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + PRODUCT_BUNDLE_IDENTIFIER = com.roli.development.AUv3Synth.AUv3SynthAUv3; + SDKROOT_ppc = macosx10.5; }; name = Debug; }; + 5FAC649347835B831BAE3C41 = {isa = XCBuildConfiguration; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + CODE_SIGN_ENTITLEMENTS = "AUv3Synth.entitlements"; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + DEAD_CODE_STRIPPING = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_NDEBUG=1", + "NDEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=1", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-AUv3_AppExtension.plist; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../../../../Frameworks"; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + PRODUCT_BUNDLE_IDENTIFIER = com.roli.development.AUv3Synth.AUv3SynthAUv3; + SDKROOT_ppc = macosx10.5; }; name = Release; }; + 39D3FD9D3D06BC306F9E323C = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_DEBUG=1", + "DEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=1", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-AUv3_Standalone.plist; + INSTALL_PATH = "$(HOME)/Applications"; + LD_RUNPATH_SEARCH_PATHS = "@executable_path/../Frameworks"; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + PRODUCT_BUNDLE_IDENTIFIER = com.roli.development.AUv3Synth; + SDKROOT_ppc = macosx10.5; }; name = Debug; }; + AE95330B72116D75608B9C68 = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + DEAD_CODE_STRIPPING = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_NDEBUG=1", + "NDEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=1", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-AUv3_Standalone.plist; + INSTALL_PATH = "$(HOME)/Applications"; + LD_RUNPATH_SEARCH_PATHS = "@executable_path/../Frameworks"; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + PRODUCT_BUNDLE_IDENTIFIER = com.roli.development.AUv3Synth; + SDKROOT_ppc = macosx10.5; }; name = Release; }; + DBCA8A687AB8CE4F0FDE4C3D = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + COPY_PHASE_STRIP = NO; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_DEBUG=1", + "DEBUG=1", + "JUCE_SHARED_CODE=1", + "JucePlugin_Build_VST=1", + "JucePlugin_Build_VST3=1", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=1", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=1", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-Shared_Code.plist; + INSTALL_PATH = "@executable_path/../Frameworks"; + LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)"; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + PRODUCT_BUNDLE_IDENTIFIER = com.roli.development.AUv3Synth.AUv3SynthFramework; + SDKROOT_ppc = macosx10.5; }; name = Debug; }; + 5DA389BE0C844A1A9E20FD7C = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + DEAD_CODE_STRIPPING = YES; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_NDEBUG=1", + "NDEBUG=1", + "JUCE_SHARED_CODE=1", + "JucePlugin_Build_VST=1", + "JucePlugin_Build_VST3=1", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=1", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=1", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-Shared_Code.plist; + INSTALL_PATH = "@executable_path/../Frameworks"; + LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)"; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + PRODUCT_BUNDLE_IDENTIFIER = com.roli.development.AUv3Synth.AUv3SynthFramework; + SDKROOT_ppc = macosx10.5; }; name = Release; }; + D32671708EF2662A51A6335A = {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; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; + GCC_WARN_MISSING_PARENTHESES = YES; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_NAME = "AUv3Synth"; + WARNING_CFLAGS = -Wreorder; + ZERO_LINK = NO; }; name = Debug; }; + 7C9E7C9B2C1D5310B9194C27 = {isa = XCBuildConfiguration; buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + DEBUG_INFORMATION_FORMAT = "dwarf"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_INLINES_ARE_PRIVATE_EXTERN = YES; + GCC_MODEL_TUNING = G5; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; + GCC_WARN_MISSING_PARENTHESES = YES; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + PRODUCT_NAME = "AUv3Synth"; + WARNING_CFLAGS = -Wreorder; + ZERO_LINK = NO; }; name = Release; }; + 811D9E9CC2221100847306C9 = {isa = PBXTargetDependency; target = 73F4C13CDCAC7EE5914F2E61; }; + 1316EADEF579F0DB90CF349C = {isa = PBXTargetDependency; target = 386D3CCDC878EC299C56FB39; }; + 8F5816EA1D519B78C3345C1B = {isa = PBXTargetDependency; target = 7A046597FDDDB82B78C64AAC; }; + E06C8C12CD5FDD7FB372E602 = {isa = PBXTargetDependency; target = E600EF631F7AFA8F3A723E29; }; + 017B214D817BF0DF53051BB2 = {isa = PBXTargetDependency; target = CD6892FED0DB19C0DDD9AD37; }; + 444EA74CE26BF416566E542C = {isa = XCConfigurationList; buildConfigurations = ( + D32671708EF2662A51A6335A, + 7C9E7C9B2C1D5310B9194C27, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + F550A01E8A9468C64A914B97 = {isa = XCConfigurationList; buildConfigurations = ( + 7007C784A0219490DFD18C27, + 0ADE306E346FE4F925722F86, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + EF49DCC88B5FC3C6E67ED2A4 = {isa = PBXAggregateTarget; buildConfigurationList = F550A01E8A9468C64A914B97; dependencies = ( + 811D9E9CC2221100847306C9, + 1316EADEF579F0DB90CF349C, + 8F5816EA1D519B78C3345C1B, + E06C8C12CD5FDD7FB372E602, + 017B214D817BF0DF53051BB2, ); name = "AUv3Synth (All)"; productName = AUv3Synth; }; + 32113A068DE980F098C3A7FA = {isa = XCConfigurationList; buildConfigurations = ( + 653C6C73C56BA201AB6F094C, + 19D80348287645B624E0C6B8, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 2094EE2ED994CDD1B1C905BB = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + F56A47BDEEC76681EE80A15E, + 26AB69B22ED0C3D7288D1175, + 78704983DFEA5408FC5767D8, ); runOnlyForDeploymentPostprocessing = 0; }; + 9BB7128D1AAAE420672EB879 = {isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; files = ( + 77FA445D27C21FBA66A46BF2, ); runOnlyForDeploymentPostprocessing = 0; name = "Embed Frameworks"; dstPath = ""; dstSubfolderSpec = 10; }; + 074C299F37078964C5476AC0 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + E94BB952CDD544FA3A0A4DBB, ); runOnlyForDeploymentPostprocessing = 0; }; + 88CA07DBC6CAFF5FF3E65E3E = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + FAD4DF17110D52B8ED8D9F93, + 737E06660F37BFFCABD89643, + 627FF2EB32E4F649D046D7D6, + FBC502C5DB95D7A5E3768F1D, + 669F51FA55E939D010EA279D, + 1DF18B2507A574FBA9C49DE1, + 958BB20BE932FAE6C05590A9, + 862AE8BF24611A84E8FCAF4D, + F452B8399A32BE4F1074F596, + 69856794EB88963828DDECC6, + 77FA445D27C21FBA66A46BF2, ); runOnlyForDeploymentPostprocessing = 0; }; + 73F4C13CDCAC7EE5914F2E61 = {isa = PBXNativeTarget; buildConfigurationList = 32113A068DE980F098C3A7FA; buildPhases = ( + 2094EE2ED994CDD1B1C905BB, + 9BB7128D1AAAE420672EB879, + 074C299F37078964C5476AC0, + 88CA07DBC6CAFF5FF3E65E3E, ); buildRules = ( ); dependencies = ( + 017B214D817BF0DF53051BB2, ); name = "AUv3Synth (VST)"; productName = AUv3Synth; productReference = F5E81FD99EFCB226D2486603; productInstallPath = "$(HOME)/Library/Audio/Plug-Ins/VST/"; productType = "com.apple.product-type.bundle"; }; + FF042435632D904FCC8646B3 = {isa = XCConfigurationList; buildConfigurations = ( + D36AB79B01E390C59B2BBE9E, + 11C129F26625007CE9DFD618, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + C123969EE00E891FAC7CEF45 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + F56A47BDEEC76681EE80A15E, + 26AB69B22ED0C3D7288D1175, + 78704983DFEA5408FC5767D8, ); runOnlyForDeploymentPostprocessing = 0; }; + DDCAFB6E75F2FD95EEAA549B = {isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; files = ( + 77FA445D27C21FBA66A46BF2, ); runOnlyForDeploymentPostprocessing = 0; name = "Embed Frameworks"; dstPath = ""; dstSubfolderSpec = 10; }; + 795D24AC6934948AE4F8FDE2 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 2D137C5E337024E492FA14D4, ); runOnlyForDeploymentPostprocessing = 0; }; + DA9D03D52A1175C7328DC9D4 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + FAD4DF17110D52B8ED8D9F93, + 737E06660F37BFFCABD89643, + 627FF2EB32E4F649D046D7D6, + FBC502C5DB95D7A5E3768F1D, + 669F51FA55E939D010EA279D, + 1DF18B2507A574FBA9C49DE1, + 958BB20BE932FAE6C05590A9, + 862AE8BF24611A84E8FCAF4D, + F452B8399A32BE4F1074F596, + 69856794EB88963828DDECC6, + 77FA445D27C21FBA66A46BF2, ); runOnlyForDeploymentPostprocessing = 0; }; + 386D3CCDC878EC299C56FB39 = {isa = PBXNativeTarget; buildConfigurationList = FF042435632D904FCC8646B3; buildPhases = ( + C123969EE00E891FAC7CEF45, + DDCAFB6E75F2FD95EEAA549B, + 795D24AC6934948AE4F8FDE2, + DA9D03D52A1175C7328DC9D4, ); buildRules = ( ); dependencies = ( + 017B214D817BF0DF53051BB2, ); name = "AUv3Synth (VST3)"; productName = AUv3Synth; productReference = E4AB099F3E7A853F90FBFEEB; productInstallPath = "$(HOME)/Library/Audio/Plug-Ins/VST3/"; productType = "com.apple.product-type.bundle"; }; + 3A7896DB2C11717D9046CE5B = {isa = XCConfigurationList; buildConfigurations = ( + DC95EAEBECC74A55CADCD887, + 5FAC649347835B831BAE3C41, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 0306890051760AEBAFEA2099 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + F56A47BDEEC76681EE80A15E, + 26AB69B22ED0C3D7288D1175, + 78704983DFEA5408FC5767D8, ); runOnlyForDeploymentPostprocessing = 0; }; + E60CDCD59C66D98FB19938F1 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 0942F20A9A312E80B2EE65E5, ); runOnlyForDeploymentPostprocessing = 0; }; + 671E50F4F02FC98293270CFC = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + FAD4DF17110D52B8ED8D9F93, + 737E06660F37BFFCABD89643, + 99CFCAE766AF81C0E6E2F8DE, + D53302896621B8A3E8BDD606, + 627FF2EB32E4F649D046D7D6, + FBC502C5DB95D7A5E3768F1D, + 669F51FA55E939D010EA279D, + EDC8ABA2EC0A2D7A2147E896, + 1DF18B2507A574FBA9C49DE1, + 958BB20BE932FAE6C05590A9, + 862AE8BF24611A84E8FCAF4D, + F452B8399A32BE4F1074F596, + 69856794EB88963828DDECC6, + 77FA445D27C21FBA66A46BF2, ); runOnlyForDeploymentPostprocessing = 0; }; + 7A046597FDDDB82B78C64AAC = {isa = PBXNativeTarget; buildConfigurationList = 3A7896DB2C11717D9046CE5B; buildPhases = ( + 0306890051760AEBAFEA2099, + E60CDCD59C66D98FB19938F1, + 671E50F4F02FC98293270CFC, ); buildRules = ( ); dependencies = ( + 017B214D817BF0DF53051BB2, ); name = "AUv3Synth (AUv3 AppExtension)"; productName = AUv3Synth; productReference = 746B19364297E7D489749B70; productType = "com.apple.product-type.app-extension"; }; + 8F1BF8EDA79F1FBE486B7666 = {isa = XCConfigurationList; buildConfigurations = ( + 39D3FD9D3D06BC306F9E323C, + AE95330B72116D75608B9C68, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 4E507FDDF2C5DF3FE77D60E4 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + F56A47BDEEC76681EE80A15E, + 26AB69B22ED0C3D7288D1175, + 78704983DFEA5408FC5767D8, ); runOnlyForDeploymentPostprocessing = 0; }; + A812A60164A58387AB98CBC1 = {isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; files = ( + 77FA445D27C21FBA66A46BF2, ); runOnlyForDeploymentPostprocessing = 0; name = "Embed Frameworks"; dstPath = ""; dstSubfolderSpec = 10; }; + 7B44C01FD5EBA7864D985AC2 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 0E0B50F4A042E48B9631A42A, ); runOnlyForDeploymentPostprocessing = 0; }; + 07033B8316DF6C9CC2B31737 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + FAD4DF17110D52B8ED8D9F93, + 737E06660F37BFFCABD89643, + 627FF2EB32E4F649D046D7D6, + FBC502C5DB95D7A5E3768F1D, + 669F51FA55E939D010EA279D, + 1DF18B2507A574FBA9C49DE1, + 958BB20BE932FAE6C05590A9, + 862AE8BF24611A84E8FCAF4D, + F452B8399A32BE4F1074F596, + 69856794EB88963828DDECC6, + 77FA445D27C21FBA66A46BF2, ); runOnlyForDeploymentPostprocessing = 0; }; + 9D91842D2BFCA3D239EE3E53 = {isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; files = ( + EE8DCBA5DC0EE7CAD6FF2F39, ); runOnlyForDeploymentPostprocessing = 0; name = "Embed App Extensions"; dstPath = ""; dstSubfolderSpec = 13; }; + E600EF631F7AFA8F3A723E29 = {isa = PBXNativeTarget; buildConfigurationList = 8F1BF8EDA79F1FBE486B7666; buildPhases = ( + 4E507FDDF2C5DF3FE77D60E4, + A812A60164A58387AB98CBC1, + 7B44C01FD5EBA7864D985AC2, + 07033B8316DF6C9CC2B31737, + 9D91842D2BFCA3D239EE3E53, ); buildRules = ( ); dependencies = ( + 8F5816EA1D519B78C3345C1B, + 017B214D817BF0DF53051BB2, ); name = "AUv3Synth (AUv3 Standalone)"; productName = AUv3Synth; productReference = EC3DE1F504C76EEDDA7F2216; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; + AF907C78A0D17B741F5F8944 = {isa = XCConfigurationList; buildConfigurations = ( + DBCA8A687AB8CE4F0FDE4C3D, + 5DA389BE0C844A1A9E20FD7C, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 1F4A8812AAE49E02F3215F48 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + DE7F04372E0068FDBB51B63D, + EB5DBEF68B987F85D1977CE6, + A9ED010F8EE28A1E880009F6, + 5EE52C46C67C9D298B76A8EF, + 00634FB8FE591A7C252FF899, + 72733104CA9C62BE856879C9, + A00624D77FD68669DD6234D0, + 8EBD1E279B7E4B420F310D12, + 045E9D3412FD38BFE3071254, + 4066B5EF83133035C3579D0D, + 494508643A4F4A0D1BCED1E8, + 00422A568EFE5C77545FD0A7, + 5E0C694827A6C5CB4E44262A, + E75CEEF234B6E886AFFB169E, + 4D9D92DD454BB03746241196, ); runOnlyForDeploymentPostprocessing = 0; }; + DD8174BEFC02C154F131A674 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + FAD4DF17110D52B8ED8D9F93, + 737E06660F37BFFCABD89643, + 627FF2EB32E4F649D046D7D6, + FBC502C5DB95D7A5E3768F1D, + 669F51FA55E939D010EA279D, + 1DF18B2507A574FBA9C49DE1, + 958BB20BE932FAE6C05590A9, + 862AE8BF24611A84E8FCAF4D, + F452B8399A32BE4F1074F596, + 69856794EB88963828DDECC6, ); runOnlyForDeploymentPostprocessing = 0; }; + CD6892FED0DB19C0DDD9AD37 = {isa = PBXNativeTarget; buildConfigurationList = AF907C78A0D17B741F5F8944; buildPhases = ( + 1F4A8812AAE49E02F3215F48, + DD8174BEFC02C154F131A674, ); buildRules = ( ); dependencies = ( ); name = "AUv3Synth (Shared Code)"; productName = AUv3Synth; productReference = 9536B5A780A03F6BACB24144; productInstallPath = "@executable_path/../Frameworks"; productType = "com.apple.product-type.framework"; }; + D0E003364F0BE3205BD9243E = {isa = PBXProject; buildConfigurationList = 444EA74CE26BF416566E542C; attributes = { LastUpgradeCheck = 0440; TargetAttributes = { EF49DCC88B5FC3C6E67ED2A4 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };73F4C13CDCAC7EE5914F2E61 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };386D3CCDC878EC299C56FB39 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };7A046597FDDDB82B78C64AAC = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 1; }; }; };E600EF631F7AFA8F3A723E29 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };CD6892FED0DB19C0DDD9AD37 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 4BFA153CE4E8A774C67EC642; projectDirPath = ""; projectRoot = ""; targets = (EF49DCC88B5FC3C6E67ED2A4, 73F4C13CDCAC7EE5914F2E61, 386D3CCDC878EC299C56FB39, 7A046597FDDDB82B78C64AAC, E600EF631F7AFA8F3A723E29, CD6892FED0DB19C0DDD9AD37); }; + }; + rootObject = D0E003364F0BE3205BD9243E; +} diff --git a/examples/AUv3Synth/Builds/MacOSX/Info-AUv3_AppExtension.plist b/examples/AUv3Synth/Builds/MacOSX/Info-AUv3_AppExtension.plist new file mode 100644 index 0000000000..dc25966f47 --- /dev/null +++ b/examples/AUv3Synth/Builds/MacOSX/Info-AUv3_AppExtension.plist @@ -0,0 +1,64 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + AUv3Synth + CFBundleDisplayName + AUv3Synth + CFBundlePackageType + XPC! + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + NSExtension + + NSExtensionPrincipalClass + AUv3SynthAUFactoryAUv3 + NSExtensionPointIdentifier + com.apple.AudioUnit-UI + NSExtensionAttributes + + AudioComponents + + + name + ROLI Ltd.: AUv3 Synth + description + AUv3 Synth + factoryFunction + AUv3SynthAUFactoryAUv3 + manufacturer + ROLI + type + aumu + subtype + AUv3 + version + 65536 + sandboxSafe + + tags + + Synth + + + + + + + diff --git a/examples/AUv3Synth/Builds/MacOSX/Info-AUv3_Standalone.plist b/examples/AUv3Synth/Builds/MacOSX/Info-AUv3_Standalone.plist new file mode 100644 index 0000000000..7f39c1c3df --- /dev/null +++ b/examples/AUv3Synth/Builds/MacOSX/Info-AUv3_Standalone.plist @@ -0,0 +1,29 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + AUv3Synth + CFBundleDisplayName + AUv3Synth + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + + diff --git a/examples/AUv3Synth/Builds/MacOSX/Info-Shared_Code.plist b/examples/AUv3Synth/Builds/MacOSX/Info-Shared_Code.plist new file mode 100644 index 0000000000..9bd2f8404e --- /dev/null +++ b/examples/AUv3Synth/Builds/MacOSX/Info-Shared_Code.plist @@ -0,0 +1,29 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + AUv3Synth + CFBundleDisplayName + AUv3Synth + CFBundlePackageType + FMWK + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + + diff --git a/examples/AUv3Synth/Builds/MacOSX/Info-VST.plist b/examples/AUv3Synth/Builds/MacOSX/Info-VST.plist new file mode 100644 index 0000000000..51f4992186 --- /dev/null +++ b/examples/AUv3Synth/Builds/MacOSX/Info-VST.plist @@ -0,0 +1,29 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + AUv3Synth + CFBundleDisplayName + AUv3Synth + CFBundlePackageType + BNDL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + + diff --git a/examples/AUv3Synth/Builds/MacOSX/Info-VST3.plist b/examples/AUv3Synth/Builds/MacOSX/Info-VST3.plist new file mode 100644 index 0000000000..51f4992186 --- /dev/null +++ b/examples/AUv3Synth/Builds/MacOSX/Info-VST3.plist @@ -0,0 +1,29 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + AUv3Synth + CFBundleDisplayName + AUv3Synth + CFBundlePackageType + BNDL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + + diff --git a/examples/PlugInSamples/Spatializer/Builds/MacOSX/RecentFilesMenuTemplate.nib b/examples/AUv3Synth/Builds/MacOSX/RecentFilesMenuTemplate.nib similarity index 100% rename from examples/PlugInSamples/Spatializer/Builds/MacOSX/RecentFilesMenuTemplate.nib rename to examples/AUv3Synth/Builds/MacOSX/RecentFilesMenuTemplate.nib diff --git a/examples/AUv3Synth/Builds/iOS/AUv3Synth.xcodeproj/project.pbxproj b/examples/AUv3Synth/Builds/iOS/AUv3Synth.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..79a410e173 --- /dev/null +++ b/examples/AUv3Synth/Builds/iOS/AUv3Synth.xcodeproj/project.pbxproj @@ -0,0 +1,2412 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + + EE8DCBA5DC0EE7CAD6FF2F39 = {isa = PBXBuildFile; fileRef = 746B19364297E7D489749B70; }; + 3F1630B6EF37313AADD6EAB8 = {isa = PBXBuildFile; fileRef = EC3DE1F504C76EEDDA7F2216; }; + 77FA445D27C21FBA66A46BF2 = {isa = PBXBuildFile; fileRef = 9536B5A780A03F6BACB24144; }; + FAD4DF17110D52B8ED8D9F93 = {isa = PBXBuildFile; fileRef = 7CBEB55B80E78C9DE16A713A; }; + 737E06660F37BFFCABD89643 = {isa = PBXBuildFile; fileRef = AC3356631ED2AC043BC67B79; }; + D53302896621B8A3E8BDD606 = {isa = PBXBuildFile; fileRef = 60F11ABAC12D373D4BFEA447; }; + 669F51FA55E939D010EA279D = {isa = PBXBuildFile; fileRef = 5AD0B0347A511D96D2880A06; }; + EDC8ABA2EC0A2D7A2147E896 = {isa = PBXBuildFile; fileRef = 296CD54575ED27C23A2F13F3; }; + 7DEC97493F97160DE6622DBC = {isa = PBXBuildFile; fileRef = 4B06F0FD512A72015EA72B0B; }; + 1DF18B2507A574FBA9C49DE1 = {isa = PBXBuildFile; fileRef = 872D05BD56490FD7B375C11B; }; + 71F62F07CBC67FB4FB010583 = {isa = PBXBuildFile; fileRef = F563EF4F5BE16082D5E612C9; }; + 6B818B8342839FB008124DEA = {isa = PBXBuildFile; fileRef = DAF78E342ACF24B5A83E0605; }; + F452B8399A32BE4F1074F596 = {isa = PBXBuildFile; fileRef = 29982493607128FD6DB6A284; }; + E4236DCEE707C3855C2E3B22 = {isa = PBXBuildFile; fileRef = 5EF6762AB1C5CE4C2DCD59ED; }; + 6F585AC4628EC14C9F757022 = {isa = PBXBuildFile; fileRef = 9A419F28D68BDEB200F29603; }; + 78704983DFEA5408FC5767D8 = {isa = PBXBuildFile; fileRef = D06C2B85E02F13F9B57DB1A9; }; + DE7F04372E0068FDBB51B63D = {isa = PBXBuildFile; fileRef = 9C7C3A15A9D747596DDE40AA; }; + EB5DBEF68B987F85D1977CE6 = {isa = PBXBuildFile; fileRef = 5063E96C5D8860003810C70E; }; + A9ED010F8EE28A1E880009F6 = {isa = PBXBuildFile; fileRef = 18ADDCF1C2123777FA507D82; }; + 5EE52C46C67C9D298B76A8EF = {isa = PBXBuildFile; fileRef = 4D8CF31D3C9F2A91C42CF8FF; }; + 00634FB8FE591A7C252FF899 = {isa = PBXBuildFile; fileRef = EC9D06705CCAD94B653A6E82; }; + 0942F20A9A312E80B2EE65E5 = {isa = PBXBuildFile; fileRef = CC14A34F66FDF9E12523CABF; }; + 0E0B50F4A042E48B9631A42A = {isa = PBXBuildFile; fileRef = CF02DA80A8A515CE41B0C8F6; }; + 72733104CA9C62BE856879C9 = {isa = PBXBuildFile; fileRef = 63AFF514CAE6FB89A3503CEF; }; + A00624D77FD68669DD6234D0 = {isa = PBXBuildFile; fileRef = A8315F08B794D9C87328F17F; }; + 8EBD1E279B7E4B420F310D12 = {isa = PBXBuildFile; fileRef = D9ED0926381D40DA1A66C26D; }; + 045E9D3412FD38BFE3071254 = {isa = PBXBuildFile; fileRef = 9965CB9ED8D2B26CACA9C44A; }; + 4066B5EF83133035C3579D0D = {isa = PBXBuildFile; fileRef = 58E254BD072595F6E3F6D5F5; }; + 494508643A4F4A0D1BCED1E8 = {isa = PBXBuildFile; fileRef = ED8140AF46A706EDAA040283; }; + 00422A568EFE5C77545FD0A7 = {isa = PBXBuildFile; fileRef = 894DE965F10168F149FBE8F9; }; + 5E0C694827A6C5CB4E44262A = {isa = PBXBuildFile; fileRef = 64B7CFC6CE9B929135A4ACA3; }; + E75CEEF234B6E886AFFB169E = {isa = PBXBuildFile; fileRef = 820B1466E6B31A80C699D084; }; + 4D9D92DD454BB03746241196 = {isa = PBXBuildFile; fileRef = E553E188A17BDF4E832F0A01; }; + 003AD91863D1E07BEFDCDB46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; }; + 003B0A5337B7EB6AB6906625 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0040A971F52DDCF3BD1AA6A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInputSource.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 00500DE183D3A54A2DA74DE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEInstrument.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp"; sourceTree = "SOURCE_ROOT"; }; + 005F4C7FE38D54E7FDFC3F9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 007ADE418EFF0B13796D2992 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUv3SynthEditor.h; path = ../../Source/AUv3SynthEditor.h; sourceTree = "SOURCE_ROOT"; }; + 00A950F33C21C6688103E667 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FakeMouseMoveGenerator.h"; path = "../../../../modules/juce_audio_plugin_client/utility/juce_FakeMouseMoveGenerator.h"; sourceTree = "SOURCE_ROOT"; }; + 015DB8D668A1F85370D5BFAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 01647762E74B323EFFC6F09F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; + 020FE683177165C897C9E5A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; + 028400FDADB7732D2CA25667 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; }; + 0317FC7737CA599686725C64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + 042C7366A26A18DFA13B2512 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 0470F8A85B927F530A374CDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; }; + 04AD581DA72D441C50F4D53D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 04CDFCB4FF06CA7E1B0CC260 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; }; + 05206E536544288B1DFC3EC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; }; + 0527F8D9C84F850B9E2F794C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorListener.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h"; sourceTree = "SOURCE_ROOT"; }; + 0589532FD9A73AE783AEAFF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; }; + 05C14DEEE0E3BDC4049484B5 = {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"; }; + 066F37651C7F3792917C2F8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; }; + 068109EA4981DB342942D174 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginBusUtilities.h"; path = "../../../../modules/juce_audio_plugin_client/utility/juce_PluginBusUtilities.h"; sourceTree = "SOURCE_ROOT"; }; + 0737F61AF723FA62458B92BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0762DCD2200EC064A17AC77F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FloatVectorOperations.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h"; sourceTree = "SOURCE_ROOT"; }; + 07731AE3B779E9D7B560C394 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 08D38FFAFF41735F36FD4BF9 = {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"; }; + 0A063D0E9CDBCFBA3B31B8A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FFT.h"; path = "../../../../modules/juce_audio_basics/effects/juce_FFT.h"; sourceTree = "SOURCE_ROOT"; }; + 0A2F6E47C38E8433AA318B2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; }; + 0A6388AE7A6D842C59BE4BB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; }; + 0B29952E2F0758E5C07D21DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0B557BFDEF2C0249EC732AD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 0B56ACE2E7A2CC5B75550C6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; }; + 0B842061D62F68F42428E33A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0B8A751E656BC4B5E4CC4421 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0BF3EE970460415F16F823FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; }; + 0C57D75820A254EFD312E57E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSubsectionReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h"; sourceTree = "SOURCE_ROOT"; }; + 0C5C43B5677B8F335F364B14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 0CA2C16285A53550FF3BFF4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; }; + 0CAE7725A1DB51AA7D3CE2ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0CAE94701F33517C1CD31C63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0DDFA4ECA18ADDF430BFEA7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; + 0E429E673C3066089538F4FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0EF4BF328799608AE16E7596 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0F0BF502E0417422010480ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; + 0F423E99E9C1741395CC5CF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; }; + 0F74F021243AF898305447F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0FB29BBC0B65633627478BA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 0FBF33EFF911E926019DA013 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 0FD0A1A31985ABBBF0ABACA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0FDE79162C42D29429F29BF2 = {isa = PBXFileReference; lastKnownFileType = file.ogg; name = singing.ogg; path = ../../Source/BinaryData/singing.ogg; sourceTree = "SOURCE_ROOT"; }; + 0FEDE49FDC29C3ED222D6170 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiser.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h"; sourceTree = "SOURCE_ROOT"; }; + 103120277880D41F8696B2A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; }; + 10467B840ADE953EC282EF36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; }; + 11178723AF569693785A066F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; + 11C585D0BE28AEB6941E0E8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; }; + 120DA52B14963529AF23E4D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; }; + 121DD39EAA6066F411B049A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1238631934643787E27DDC66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailCache.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h"; sourceTree = "SOURCE_ROOT"; }; + 12395B6A3CDDE856FC5BFD75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1267F1B5D02A74861F4F135C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessage.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp"; sourceTree = "SOURCE_ROOT"; }; + 128D7FD70FE164060807E29F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; }; + 12B0DB43F1E76431C35A4958 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; + 12C25C7C2E883F374E8B3D36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 12D76B0BA7A16AB10A052E19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; }; + 12E82F17788C076C81627268 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp"; sourceTree = "SOURCE_ROOT"; }; + 12F04ADB729E5DAB771C50C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + 135D3D0727C92A67F71E4254 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 13B17EB9291B9E5C95408C47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ASIO.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp"; sourceTree = "SOURCE_ROOT"; }; + 13C5BDE7720A7963AC736BC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; }; + 13DD37B2F314596BBC25A47D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; sourceTree = "SOURCE_ROOT"; }; + 142ADBE2098D59ECB95443D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; }; + 14A852037C298A105BA716F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 14B4ECA05D8D48728F6E0DAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; + 14E1CF05D80EA4E2CCFD1EB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; }; + 14EEC624D1628BE3DE7AAB0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; }; + 14F4349930D298E952EE54E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnection.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp"; sourceTree = "SOURCE_ROOT"; }; + 15687E3C898914FCE458C1B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 156F6F1A0F64BAC3E8416D01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 15AA6B90FEE89B0D3C1F06CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; }; + 15C8A0E89E2A3DFAC733FCD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; }; + 15D7465655AABF4F6BBA81CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; }; + 16F4A8C0228D84216A33B9B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 170409D99808EC4EADC66EFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; + 17968A543385166D4392F171 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; }; + 17D44D834820845D7F4BCB79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; }; + 17EE88F0A67B5FD24182345A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; }; + 185A5E99EFDAB0E1ED5467F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; + 1882040AC74DD8A41D05F06E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScrollBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h"; sourceTree = "SOURCE_ROOT"; }; + 18A0299049ABE5D250CB0FD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; + 18ADDCF1C2123777FA507D82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../JuceLibraryCode/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; + 18E2A37DF0A882E058663C17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; }; + 1923954B491DDBBEF5694ACA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; }; + 192ABDFEDF4C082BB8DF0492 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AiffAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 194765A55D6C02B43A1F334A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZone.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.cpp"; sourceTree = "SOURCE_ROOT"; }; + 19631764DB948B287771C41E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1969DCD38A5D738B1C411BB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; + 19E72A5209E3A31D442AF7F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 19E96BA421072EFF69CA0A33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1A0498CEB99BA9719C85F11E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectSound.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1A3355000573E6A083028E9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IncludeSystemHeaders.h"; path = "../../../../modules/juce_audio_plugin_client/utility/juce_IncludeSystemHeaders.h"; sourceTree = "SOURCE_ROOT"; }; + 1A470B745FCC0020078807C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceManager.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1A5F13EEFA6BFCC120C57869 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; }; + 1A74067A82DFA16E4E302BDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1A86C86BA6589DF87E2953F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; }; + 1AF82B1F138DE2C506FBBDAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_BluetoothMidiDevicePairingDialogue.mm"; path = "../../../../modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm"; sourceTree = "SOURCE_ROOT"; }; + 1B794C1F7E3459B014C75197 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1BD4D7258F644BC3B343432E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1C45C50E54A57400FF9E6EEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnail.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1CBE1E675953EF2172FAD79E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1CCCE32D36FB57FBFA6B8BAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1CE2727544D8067E9DB2F503 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; }; + 1D0B59F0A6F76ED5272E08C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1D38916035F0926B751035DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1DE41A53AABA7D76432B567F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1E13310D81E44B4523CA8DC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; }; + 1E81FFB8798BCB6C6E8C82C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1EAB166798F43125DDCE0BC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1EBC98B1315EA748EAE0BE86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; }; + 1F460579410D4B352F2A85E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiRPN.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h"; sourceTree = "SOURCE_ROOT"; }; + 1F9C82CD04D63753C7B56FCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; }; + 1F9CAB8660B3BA12C6147B6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; }; + 1FAFD9FD13BC47F3BEE7E4E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + 1FFE418941303981E432039E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LeakedObjectDetector.h"; path = "../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h"; sourceTree = "SOURCE_ROOT"; }; + 2010BCF7EE1A761168968EEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioUnitPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 2024F0516E5DB6817D115CE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 2060810FA782E4FA6282BFFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MaterialLookAndFeel.h; path = ../../Source/MaterialLookAndFeel.h; sourceTree = "SOURCE_ROOT"; }; + 2086A70D734172718BED5B1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; }; + 2097DD131081E241DA8558B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 20A8452F14F1433B1C3D0FED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 20E2B3CE619294FF62DF5D54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; + 212425D8E8CD86B224E3CC5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormatManager.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2149AA5B4890E2E05119749B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 221B409DBCBD063B4C7A8253 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2220D1078A2681D8AAF3563E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AUv3_Wrapper.mm"; path = "../../../../modules/juce_audio_plugin_client/AU/juce_AUv3_Wrapper.mm"; sourceTree = "SOURCE_ROOT"; }; + 222404E72D12376641634275 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2284A4597CF7AA4D2EFA7AC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_devices.h"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.h"; sourceTree = "SOURCE_ROOT"; }; + 2290343F8EDF842707A28B00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; }; + 22A85B46C8EED46FA81F61B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 22B34EE13C714FA916E10747 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 230BC07FD9E7883390F5E3E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 233959140E5D6C2348DEDFC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; }; + 2393C709A9A39322250847A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 245B820181308A0B46FE2C2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsRegistry.h"; path = "../../../../modules/juce_core/misc/juce_WindowsRegistry.h"; sourceTree = "SOURCE_ROOT"; }; + 248A66F8517F19A7F12433D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CPlusPlusCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 249C42CD1086AFA592455970 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; + 24BFE051E896A8229AF3656B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LuaCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 25154F5BC74A1019F714FB73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; }; + 25315D0BDE24260A1B11F088 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2578F2F3741CC61B95E7E6C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnailCache.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp"; sourceTree = "SOURCE_ROOT"; }; + 257C168A2D450218B158E7BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; + 257F4247EC175CCBFE996E55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 26119533942D8F97DB48987C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 26B4B1368466BAEBED7B910C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 26EAEF94B819C919C890B885 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MixerAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 27E7DE365A996907F2381740 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; }; + 281075EA1C6C7E6F6C26F5A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; + 28309CD49B2260C187FED2DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + 289018CF30BEAFA4668549AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginListComponent.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 296CD54575ED27C23A2F13F3 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudioKit.framework; path = System/Library/Frameworks/CoreAudioKit.framework; sourceTree = SDKROOT; }; + 297BC989416D63FB30AE4C6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; }; + 29982493607128FD6DB6A284 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; + 2A59FFB4A0420DA1E24EF14C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2ACD8B4F8D47934FD31769B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; }; + 2B0EA3DFEC956DB0BA40F07A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2B859BB12EB83F32108F3497 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailBase.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailBase.h"; sourceTree = "SOURCE_ROOT"; }; + 2B907016FF0A2E4074343127 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; }; + 2BDB229F700B0070C788CFFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; + 2C2C2A5006ABCED2CD5E2AC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2C41A29ECB3200FF97E83F4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; + 2C717D503694EB59927B7E6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; }; + 2C76770E17F0C15163E376B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2CA6385ADA2663622F29174F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2CC92DEE105B69921A4BD036 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_formats.h"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.h"; sourceTree = "SOURCE_ROOT"; }; + 2CDBB1BAB84A2A5CC8E11755 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AAX_Wrapper.mm"; path = "../../../../modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.mm"; sourceTree = "SOURCE_ROOT"; }; + 2D2B97D629EFA3920314D5DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LAMEEncoderAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 2D436395B51B7242A5B9E701 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WavAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 2D4E5D168D18704BCB317DD8 = {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"; }; + 2DC4F5D10A019196E3AFDFBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 2E1FA635BB813DE9FAB4D639 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; }; + 2EC9EB88F772C8A6DBA65C2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2F9011C34B50B11B6FFEDA7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginUtilities.cpp"; path = "../../../../modules/juce_audio_plugin_client/utility/juce_PluginUtilities.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2FA12F7EBB9AC99A08FC1025 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RTAS_DigiCode2.cpp"; path = "../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode2.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2FE196E99D5ACD17E1EC061A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3058A92D575A389A0D1920B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; + 3077EEC44352AF040A0D33A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; }; + 30CDFDC04232575AE7A491F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CarbonVisibility.h"; path = "../../../../modules/juce_audio_plugin_client/utility/juce_CarbonVisibility.h"; sourceTree = "SOURCE_ROOT"; }; + 3109815D5D597AE3707A13EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PositionableAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 317A2F549752C6765A3675CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; + 31A18092A539E3763FBAEC65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; }; + 323F56F4C398D57CA7910CE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WebBrowserComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 323F74EB62215117B808371B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3254D1D2BAE05393E5DAB1FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3289934D2B14EEF7D64D7225 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; }; + 329FEF79D3987D0FB1C164CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LADSPAPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 33A72C52C238DB7638CA9F9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 33B2FD7C625F65B132945522 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StandaloneFilterApp.cpp"; path = "../../../../modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterApp.cpp"; sourceTree = "SOURCE_ROOT"; }; + 33B9A7EA67B0D01E3416E123 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 33D05902E14966A2708B7F61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 340A18A11EA701353DB28503 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3412F9A8DCE29D1B62BC1145 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 344B210DB54B8B4AFEC3D689 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 3487F440B9FE19B84EDB6C05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 350B404A9275F5AF7A70DE9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3511451EE5878DFFC682095C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KnownPluginList.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp"; sourceTree = "SOURCE_ROOT"; }; + 35331E7E5F8892DF428E5E14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 35B09493554CBE82B89CABA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; }; + 36356C9C1249E63C966CC058 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 363B23811BE5271789D355B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + 36D0D18E4170C7A1D25D0704 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + 37799802B9635A4BB98E8C0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEInstrument.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h"; sourceTree = "SOURCE_ROOT"; }; + 37D87B4F2E6E4C7EC11F12CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 37D8B8B49EB8AD563A85429A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; }; + 37E2E5903AB98FFA27584CB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; }; + 382821702E599201DD249FC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 387D55482BBDCBC351F2BECE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST3PluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 387EFF395C9CEF73E0EDEE68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 38DEF9E87D9BE2944553DE14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreMidi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 391E6DF4FA840F23B402D97D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; }; + 39B377C2D00BF8A2E9626DAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3A0EF9079729C5C6FC1AACDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZone.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.h"; sourceTree = "SOURCE_ROOT"; }; + 3A53F5D6A8D1C20349358EE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3AC15B910C91D22E71A7A687 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 3AF5346037CEDB521C15327A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3AFE3B9417789706ECAE236F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 3B9F47F546584BB9EFE098BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3BC1A61883750CA66661C604 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BooleanPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 3BD48100798B29CFBB31E240 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3C8B6C80EE83439D2D94B58F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiser.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3CCBF30007C57491CF649D39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; }; + 3CF1BFA42E09BA635804012C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3D850D7C81C79515EA35D833 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LADSPAPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3DAF5957533C9C8011332F42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3E76A3788CAAB12560CB4517 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../modules/juce_audio_plugin_client/AU/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; }; + 3EBDB41A4AA8C71BB089DD65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3F5066569AA0BCAFF9F6AD87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Common.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h"; sourceTree = "SOURCE_ROOT"; }; + 401DA5B6718906FD022A986E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + 407594E170D93B59D103C9F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 41160F46936DACC3CE2384BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; }; + 42398E999B0A850DFF901952 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; }; + 42EB20660BAF846855D9EF4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4350481545B0B7094C507415 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceManager.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h"; sourceTree = "SOURCE_ROOT"; }; + 43913D411C0ACFCA2E8B8CFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MACAddress.h"; path = "../../../../modules/juce_core/network/juce_MACAddress.h"; sourceTree = "SOURCE_ROOT"; }; + 44E613EE8E541E69E6B8A449 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandaloneFilterWindow.h"; path = "../../../../modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 44FBD4EA8F39E0239C077CD7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; + 45827A9ADCD3F3218A3C6973 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; }; + 46B1734D356C650334F8C547 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserBase.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp"; sourceTree = "SOURCE_ROOT"; }; + 46E7ECB316210C98F0A1C885 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatWriter.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h"; sourceTree = "SOURCE_ROOT"; }; + 472DDAB1CE4DD81D3F48576C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; }; + 4751E292EFC458EEC5C6B609 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; }; + 47C4B1BBEA18BBA732830B23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 47C5EAA4FDB09A919047097B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4832A1539FCE4D132EDE2BF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; }; + 48CA224BFA100226BC71AC64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 48D2A0F85F1782956EE482C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4968C8C2A41316C78C23E9E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODevice.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h"; sourceTree = "SOURCE_ROOT"; }; + 497EF0535E967594AA839D78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + 499F3B4B44522D984B26A263 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 49F8A0C7FAC57117BD2F9BAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 4A0809E1FE4E9A9DFCCE969A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4A61AD8C4D46D2448FAF51E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDescription.h"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h"; sourceTree = "SOURCE_ROOT"; }; + 4A9B4448F56A2C6BB87A2237 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4AE945ACA404BF885EBFB4B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; }; + 4B06F0FD512A72015EA72B0B = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + 4B4C75787794A7A56E55731F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4B8AC6E7C0E4C3A9075AC874 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; }; + 4BCC956571543FE3E8426F11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4C20818454A1D46DBDB379D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; + 4CCA15F86C8EC799F1EA64E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Desktop.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4D128877C59FFBAC8AD8879C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; + 4D4252EF0D8D9BD4AFBB830A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDataConverters.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h"; sourceTree = "SOURCE_ROOT"; }; + 4D543A42A648740D1AB564A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; }; + 4D8CF31D3C9F2A91C42CF8FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../JuceLibraryCode/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; + 4E22B7FBB34DE120CD03968D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + 4E7035D318D7951EA416F253 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ElementComparator.h"; path = "../../../../modules/juce_core/containers/juce_ElementComparator.h"; sourceTree = "SOURCE_ROOT"; }; + 4EA72ED51C1590F4AFDF7E5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemTrayIconComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4EECB41B6EC0EA710254BD82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4EFA2DD6FA97904E17A543A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTreeSynchroniser.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4F2C691556C568CB650E4CB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BinaryData.h; path = ../../JuceLibraryCode/BinaryData.h; sourceTree = "SOURCE_ROOT"; }; + 4F2E1758A33E5E88780F68AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; }; + 4FED8E1456B36F86FFE8E9B8 = {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"; }; + 5019F297F4FE95D4F264E95D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_BluetoothMidiDevicePairingDialogue.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_BluetoothMidiDevicePairingDialogue.mm"; sourceTree = "SOURCE_ROOT"; }; + 5063E96C5D8860003810C70E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = BinaryData.cpp; path = ../../JuceLibraryCode/BinaryData.cpp; sourceTree = "SOURCE_ROOT"; }; + 508924D8D38224F7A1CC2F14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 5141CBD939C11BC2AD2A4B2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5176BF663257661A5DAC4EF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; }; + 519C21EFEDB8ADE2ACD6249F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; }; + 51D0A454D79EB99241AA1FE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; + 52496AD37C0932219701798C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageSequence.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h"; sourceTree = "SOURCE_ROOT"; }; + 524CB59E51CF8B42EFF88129 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; }; + 524DD2A93F8DFF53CC87023F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; }; + 52DD40CDD91CC8C61DB8FB21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; }; + 53BEB5C2536814DD97FA6286 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; }; + 53C30AAD14A7899AB7D9584C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + 54B4AF19CEFECF9097905D10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; }; + 54B65048DE0ED0FE799D317F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; }; + 54D3C5E5AE4C1384F4220D71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ActiveXComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 55CD90E2FB8F3B5AF567AB8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEMessages.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h"; sourceTree = "SOURCE_ROOT"; }; + 55DBC30F1FE74C23DFB58E50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; }; + 55F91724EE6A48D2093E49C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; }; + 569603444940609CACE2AD7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BluetoothMidiDevicePairingDialogue.h"; path = "../../../../modules/juce_audio_utils/gui/juce_BluetoothMidiDevicePairingDialogue.h"; sourceTree = "SOURCE_ROOT"; }; + 56DD0F008972969CD0020468 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 576D7CB51E9C4EA9303D1D21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5776A5993098A57A7A1E6A27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; + 57A49E91A5755065F47070FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 57A9C38789F8516A695E65E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DeletedAtShutdown.h"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h"; sourceTree = "SOURCE_ROOT"; }; + 57D07B6F700F94E8E704DC49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinearSmoothedValue.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h"; sourceTree = "SOURCE_ROOT"; }; + 57D814738C5CB6D994984F98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; }; + 58461A95ADF95E35EE92161D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 58797A7F2D9F46830E4B7893 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; }; + 58E254BD072595F6E3F6D5F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; + 58E2885768EF7366025F4A23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + 58FA5F36261FAE89B748BA8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5936F657A3A28132D6D27A93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 596DAF8986D6982B928C689C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; }; + 5982DB12F71224C609600E4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; + 59878D9EFD00EAC6CD0A85E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReaderSource.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 59CB0A6453076CC874C72F59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; }; + 5A15B2AC96B76F7CF212B83D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsPostScriptRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5AC5CDBCB084BA289BDCF7B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_CommonFile.cpp"; path = "../../../../modules/juce_core/native/juce_linux_CommonFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5AD0B0347A511D96D2880A06 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; + 5AE75DB19C06961041078603 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; + 5B20D0F05D7F4E9BC268C313 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; }; + 5B219BDFFD121A57DB1623B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; }; + 5B41FCC4B5B5CE4FB5282954 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LagrangeInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; + 5B4ABB694D98DB81D8977876 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterFloat.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h"; sourceTree = "SOURCE_ROOT"; }; + 5B56147E8E94C3969471E21F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemAudioVolume.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h"; sourceTree = "SOURCE_ROOT"; }; + 5BCD28B01336D9D88606E3F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyMappingEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5BEC401034FECC5A84CF911C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReaderSource.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h"; sourceTree = "SOURCE_ROOT"; }; + 5CD7B7469B5384EA47491D9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 5CE9D568B99FBD7774D02709 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; }; + 5D27245879F65DC9C3DB15FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorGraph.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h"; sourceTree = "SOURCE_ROOT"; }; + 5D4C79A914D3D6297D605D14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5E0894E38188345B5643E7A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5E6903988ADA7D101E926BCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KnownPluginList.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h"; sourceTree = "SOURCE_ROOT"; }; + 5EDCECF062EB01976634221B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5EF6762AB1C5CE4C2DCD59ED = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + 5F2D06669F5AADE87DDC34B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; }; + 5F6BB197FA13DEB1F2260CC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Headers.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h"; sourceTree = "SOURCE_ROOT"; }; + 5F894362C162E5468B51333A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5FC18CC5CC7BB4A01EEA2B7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5FE4811A1F224B9DC3F0751D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + 600E363997E4D34382349626 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; }; + 602803D62DD249B1F47FC0DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; }; + 60F11ABAC12D373D4BFEA447 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; + 614288645B28D868DD5CEC71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 620C6E08CB86054EDC64784F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; }; + 6217C41B2DFADAD8767255BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; }; + 6278B64C03341B5EC57B2BAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 6289A5E0AC3E2AEE01BEA5F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6318A339AECAF501129080C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; }; + 6319F4BF677E067041B5467C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; }; + 631CF9C6700114D898AEC1AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; }; + 63626AB59BC4BD66A0A6482B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_utils.h"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.h"; sourceTree = "SOURCE_ROOT"; }; + 63AAC659ED6461E93DE1C15D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; }; + 63AFF514CAE6FB89A3503CEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_utils.cpp"; path = "../../JuceLibraryCode/juce_audio_plugin_client_utils.cpp"; sourceTree = "SOURCE_ROOT"; }; + 63CC74AACD754A2EDB1F27BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + 63F79641EFA884B962CDF093 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatManager.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 64006FEB76C8189A341F77D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 6404A39C88F8BCDDBB5D885D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 64106F0CE5505E7976249672 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; }; + 643F0D51DA8A1B56EB1C8B61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6450DF3ACDBE5D00F8E33195 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + 648071EE7F5AB0EFA06D0A6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageCache.h"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.h"; sourceTree = "SOURCE_ROOT"; }; + 64B7CFC6CE9B929135A4ACA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../JuceLibraryCode/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; + 65980EFA3678AD71581BE381 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginInstance.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h"; sourceTree = "SOURCE_ROOT"; }; + 659F144091C614884492E5DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; }; + 65EC75BD541EA5DFC79BAF8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooserDialogBox.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h"; sourceTree = "SOURCE_ROOT"; }; + 66C2579562E185E38E43C121 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; + 67198AF7663A53BFB0F523B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; }; + 6738C919984D53FF07CDD5A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; }; + 676EBCF8F03E1FA1DD0694B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IncludeModuleHeaders.h"; path = "../../../../modules/juce_audio_plugin_client/utility/juce_IncludeModuleHeaders.h"; sourceTree = "SOURCE_ROOT"; }; + 67B79757C8BD5E9CA565C041 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 67BBCC92EDF01164A374A824 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; }; + 67C820D7305BFD5D8C084603 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableObjectResizer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 681883990694067C832FF46C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; }; + 689C5CEA66D05F6AAB2AD543 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; }; + 69223FF1DDF41E1860A3DE72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; }; + 6A01CD302B95FCC3F057090D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CatmullRomInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; + 6A2FBCEABDB265609CB49A9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MP3AudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 6A9B5161889E1B22B04BA223 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CatmullRomInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6ADB01DA39E433CDC3CE9257 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; }; + 6AE2054E0D3A9C05964CB1A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; }; + 6AFB9EB642850186B551DB33 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-AUv3_Standalone.plist"; path = "Info-AUv3_Standalone.plist"; sourceTree = "SOURCE_ROOT"; }; + 6B6303E5AA18CCB271E1140C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V1.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h"; sourceTree = "SOURCE_ROOT"; }; + 6BD961F96723E92BFC0263D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioAppComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6BF1D1384D3492C251CB00D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorGraph.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6BF55D993FE51EDD08D0E426 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInactivityDetector.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h"; sourceTree = "SOURCE_ROOT"; }; + 6BFD44A17AD9EBB6C686BBD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 6C5C4F38A006227C77FCBAD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; + 6DED13EB49FCE393E16D59FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; }; + 6DF4FA55C69B25537DCD88C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6DFDBE298AD93DD1B3F067B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6DFFC8543FE2A02FC551F397 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 6E10B741CB11E590041A27E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleMessageComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6E186DF6706228F3F1F1A17E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPENote.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6F12413CE2BF3B7B0E8FD50B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6F544061B6526DCC4430F539 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemStats.cpp"; path = "../../../../modules/juce_core/system/juce_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6F63C882BEEED7B36540EA05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilter.h"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h"; sourceTree = "SOURCE_ROOT"; }; + 6F9936B4FC6CC4947CE18F41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; }; + 6FA729EAB8A64447D81B36E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_VST_Wrapper.mm"; path = "../../../../modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.mm"; sourceTree = "SOURCE_ROOT"; }; + 6FC0CB280CE56AB22E3997B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameter.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h"; sourceTree = "SOURCE_ROOT"; }; + 7023A03BF8EE3F09E00C3B58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; }; + 70C59918BAE3E3379AA1A53C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; }; + 7195EEB1FB735453359D1893 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; }; + 71A5014C5547E43A0EE58252 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 71D1D8E256A7FD110F7EAC6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h"; sourceTree = "SOURCE_ROOT"; }; + 72A7E928C55FCB1C1B373135 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7315E85A6C1E714922CBE587 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; }; + 732AAC0FCBADB4A676F564F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; }; + 73452324A4B3A16EFC98F31A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; + 738FC67C7D9A53148C0A21AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 745B58030382C3D0DB6E7815 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; }; + 746B19364297E7D489749B70 = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = AUv3Synth.appex; sourceTree = "BUILT_PRODUCTS_DIR"; }; + 750DF21E43BED98CE4F53DE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; + 75304DD6E88CB19FD0C74956 = {isa = PBXFileReference; lastKnownFileType = file.rsr; name = "juce_RTAS_WinResources.rsr"; path = "../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_WinResources.rsr"; sourceTree = "SOURCE_ROOT"; }; + 76272B6E0F4FB6D7225653CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CoreAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 76783B8486B095C370EB5FCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; }; + 76D5C2782B00C3FFE0F594FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; }; + 77036A3D63B6A78CEECF50A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilterAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 777E62C96ACF5A0FF45950AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 77BA5733C3FA0C1CEC8FE131 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; }; + 781F73EF2934742C97B305D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; }; + 786D0A06690AC040E7D8E525 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; }; + 78B49436D33E43AC3A956818 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; }; + 78DD966E73DF076A83FC1F2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST_Wrapper.cpp"; path = "../../../../modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp"; sourceTree = "SOURCE_ROOT"; }; + 78F63AA848D74E5E555EB802 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; }; + 791714395C654D0B51DE22F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_OpenSL.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp"; sourceTree = "SOURCE_ROOT"; }; + 796340DEE820CAFEABEC077B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserBase.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h"; sourceTree = "SOURCE_ROOT"; }; + 7A172478B945BDF97AFFBA0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GenericAudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 7A3E22B63496806947FC10A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MP3AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7A772485103B4848CD67493D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; }; + 7A7DC1C99D232DAD43C01146 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceSelectorComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 7ABF11ED9BB6CD5850ABF47A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODeviceType.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7B215A260ADCE367FD8F3420 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; + 7B351E0CEB9BE04BE1F04AF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 7B8DE2413EDC4BEB83168903 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; + 7BAB8DD68B7A25B281233969 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MarkerList.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h"; sourceTree = "SOURCE_ROOT"; }; + 7C3E7364953EF9D78C71B866 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Files.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7CA84F62BB5AC492B1EB49A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; }; + 7CBEB55B80E78C9DE16A713A = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; + 7CE0FEFCEC64DF0ADA0B2DF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; }; + 7D0417B22EF55BE16E7C5061 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 7D1E28BE09A85EEBA041558C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; }; + 7D1F7E9BADEA63755327DAE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; + 7D2FEE652DDC90049F523828 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_android_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7D67149A7BE6BBB85FCB2CCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7DAEE56A9F7ABD354CABEAF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; }; + 7E838C96F00848B2EE6E2F72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + 7F1746052D09CD80BDB28BF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7F8A5B07954F9F0562831FDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDirectoryScanner.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h"; sourceTree = "SOURCE_ROOT"; }; + 7FE887D76DBB520BBC48CDAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; + 804448A2E110E3D84021289F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlacAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 80868CF2327E15F76AD68CF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NewLine.h"; path = "../../../../modules/juce_core/text/juce_NewLine.h"; sourceTree = "SOURCE_ROOT"; }; + 80970DB9418D27DD52879D1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 809E47902CCE60747026EC3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; }; + 8174AFC02C04E98EB5C1B21E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 81A3BCB415FA7114FC07367D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; + 820B1466E6B31A80C699D084 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; + 823EFD7B765AD6D20D4053BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; }; + 82918021090B19A27046FC03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTreeSynchroniser.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h"; sourceTree = "SOURCE_ROOT"; }; + 82CED5C8E1B7A2C068BC48B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; + 830D7621CB3CFC3DE53EF4C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; }; + 831580A17E75CC89E86A3E12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WavAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 832122C272B009AC7E73AF6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; }; + 837CD80BA7098F85EE20B621 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Identifier.h"; path = "../../../../modules/juce_core/text/juce_Identifier.h"; sourceTree = "SOURCE_ROOT"; }; + 8409701863AC240D5D560213 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; }; + 8429B2EA7B0E269D738BD27E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 84940A6A61CEE24A159139E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameterWithID.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h"; sourceTree = "SOURCE_ROOT"; }; + 84ABD4F5D068289F4D43E7CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; }; + 84D3302B18B67B725905AF7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LAMEEncoderAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8524CF106D2B7B1E08D312C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioAppComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 854757FAD81F978667CAA43C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; }; + 856618203AAE94C7B806F9EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; + 857827E178BB7D6DD2C02906 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; }; + 85B72CF204A61261388DC9A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + 85DE0813E0EC15BF1435C132 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h"; sourceTree = "SOURCE_ROOT"; }; + 8693349823D718B2BE254101 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + 86AC66980898843AE721BD08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; }; + 86E1396EB5DB7C3F8D42AF19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; }; + 87181526B9C99144CBE4F8A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiInput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h"; sourceTree = "SOURCE_ROOT"; }; + 872D05BD56490FD7B375C11B = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; + 874FADD694BB58E2E736FC20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 87FC5378F4B65DBD11E62015 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTMidiEventList.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h"; sourceTree = "SOURCE_ROOT"; }; + 8837DB2881391365428BE228 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 883986B1E4E324BDC35B025E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8885CE0EEED160D96843F584 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8905DE78626372768938A4C0 = {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"; }; + 89291F4775B82AD585F02515 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODeviceType.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h"; sourceTree = "SOURCE_ROOT"; }; + 894DE965F10168F149FBE8F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; + 8956FF8EFD34579BBCFD9B88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 896386672033108CFE54FC64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; + 89B0332A462BFD5984B97302 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; + 89B73E1F52531A1A8A1C3E9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; }; + 89CC639E5B1CDE71BDBC02D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 89E00773FE73394C30642A4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; }; + 8AA012F95CDEE0ECAC1D698E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZoneLayout.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"; sourceTree = "SOURCE_ROOT"; }; + 8ACD82D09483797E1A7A65B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8AEA9D5BBBC4CB214F18FCE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 8AED766CFA1A37B45BC2DE98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; + 8B2480D9DD76CFCAB0323099 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8B41FABCC567F034274522B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8BA61007D7B69D122B666B43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; + 8BE052A2AAFF109DC2A21423 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + 8BE57B5119CAEC5B32929064 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 8C097DF0606C8FF6B60BEA38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8C401B7DC61CF17EFD2F05D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; }; + 8D6D7548957FA154DA777E17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 8D753ADD4B2F1CB0C974A522 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + 8DCEAA37D9F7AAD98A244B49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8E1318FA20D468AD45C7A20F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; }; + 8E29909B5886662F2EC3F5CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8E61D5E0D6068F247E70219C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8F3941CB0EBB70B37B7DB6DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 8F3FC2A8E965AA4E83259DB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8FAE0E215D1E95E6CA7C58E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; + 8FC88FE9250C7A25AC724BEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; }; + 90064DDC086AD775FA7D5FFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; + 903B9CD04DF181894AC76EF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Identifier.cpp"; path = "../../../../modules/juce_core/text/juce_Identifier.cpp"; sourceTree = "SOURCE_ROOT"; }; + 90C18AF3CAC0E59C88732904 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; }; + 90D3112151AC631747E60670 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Base64.h"; path = "../../../../modules/juce_core/text/juce_Base64.h"; sourceTree = "SOURCE_ROOT"; }; + 9146F18918C954121E932A8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9198593E2E34D16752B90CD1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; + 92529B06E070A28F0C3C4914 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemFactory.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h"; sourceTree = "SOURCE_ROOT"; }; + 92BFAF31B51618764234C779 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9312B68ACDD2A4EAA31CAA73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChoicePropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 933DE5C4D4002BA9203F65A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9376596E6EC0707DFEE00ADB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; }; + 947776740572A5A07C2500EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; }; + 94EA45AA948C996F231D6946 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 955635CD2D6A1C5BACA519CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 95D4FB306A367AE3A6D28173 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 96102E98CC639030FAD7EA68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + 968EC4E33A1D1949AA4A9F87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; }; + 96DCCD578FF29CD7D381E8BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; }; + 96F6E7AE69A06FEE69CCA3C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; }; + 97C74E9A0E8A5576FC301241 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserVoice.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h"; sourceTree = "SOURCE_ROOT"; }; + 97DDC460BD01030B91158218 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; }; + 98305AA6513DCC298E322C0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + 984C35577FE047A66ACC892C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; }; + 9965CB9ED8D2B26CACA9C44A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../JuceLibraryCode/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; }; + 997766E6B5491A51A5242F68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; + 99AC2D0C2304F21B912FEC5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginHostType.h"; path = "../../../../modules/juce_audio_plugin_client/utility/juce_PluginHostType.h"; sourceTree = "SOURCE_ROOT"; }; + 9A3351689C885961A9BD3F2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; }; + 9A392FBECB732FAC0AA04262 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9A419F28D68BDEB200F29603 = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = AUv3Synth/Images.xcassets; sourceTree = "SOURCE_ROOT"; }; + 9A69DDED5C8357717BAD57DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; }; + 9ACE3BF6D0E54A5ACA1D73F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioVisualiserComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9AD8EF3FD4D40465CD2804EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; }; + 9B17FF5755D8E809D2DDAC2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + 9B6B98866C77A743FDBA7C40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_File.h"; path = "../../../../modules/juce_core/files/juce_File.h"; sourceTree = "SOURCE_ROOT"; }; + 9B995FF1F1FD413ECBEA5F2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODevice.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9BBEDDA8AED51B9B4BA52B2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; + 9C1E95CA7727BBD44E34D79D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; }; + 9C455929E7890E382F55BD19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDirectoryScanner.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9C7C3A15A9D747596DDE40AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUv3SynthProcessor.cpp; path = ../../Source/AUv3SynthProcessor.cpp; sourceTree = "SOURCE_ROOT"; }; + 9C8EE354D6D44D9DF4782101 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; }; + 9C9AF92C7A254CC7A2AA72F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + 9CD2B54DC3EF0B1710DBC904 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; }; + 9D36B3B7E8ACCD8C7176A2FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; }; + 9D3AF29ECBD2A58B146619A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceSelectorComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9D7CC03B14BBAFA3DB901A22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9D9015BC9941D5D5CFF99DA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; + 9E2454FACF592AE472873A44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; }; + 9EDB40D557C3BBB1CC63CF65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_plugin_client.h"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client.h"; sourceTree = "SOURCE_ROOT"; }; + 9F11AD979B19EC01749DF1A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9F142652D1037C744443A4E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; }; + 9F1DFEFDC78EC139C4089DEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9F91E161DF777F050B61B6BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioTransportSource.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9FB1AAC5EC1146B5FC0EFCD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Synthesiser.cpp"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; + A11CF361C0253B499324D31E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + A12A4C86AE4FA12C99334932 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + A148CC41BDB41EDC8E88DC7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + A1595E748092878FDAEA5A30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; + A15E68C337279B15ED933BE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; }; + A1CFD76549B8E9EB1C360ED5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + A1FA95A0AA37CD773ACBCE8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; }; + A2129507609CE7130FBA1340 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colours.h"; path = "../../../../modules/juce_graphics/colour/juce_Colours.h"; sourceTree = "SOURCE_ROOT"; }; + A236B01D70F55D3570330B44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; + A29CEAB6F2F844C410B2F014 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PixelFormats.h"; path = "../../../../modules/juce_graphics/colour/juce_PixelFormats.h"; sourceTree = "SOURCE_ROOT"; }; + A35BCEE1A423BE734BB3EC80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; }; + A43962FBC6E823AFAD6EC673 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToneGeneratorAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + A440AA225DF048215509E577 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; }; + A452E5BB6D20DB6842646EE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableEdgeComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h"; sourceTree = "SOURCE_ROOT"; }; + A4E1FFE9E94A28D434C2E4BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; + A53855C517AD1588DBF87CA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; }; + A58103D78876730190F3BC4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; + A666509292D7F4C3B7F5B0DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; }; + A7399999B1C3CE46C66268C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + A74FEFA1532B6951A0309828 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + A79BB852E29F1BDE96AF613A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + A7D9A07B7B44888CF960B9B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + A8315F08B794D9C87328F17F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_VST_utils.mm"; path = "../../JuceLibraryCode/juce_audio_plugin_client_VST_utils.mm"; sourceTree = "SOURCE_ROOT"; }; + A85FEFF5F978F3B76D9829C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; }; + A8E3160D8F76BE5B55B9846E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEValue.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp"; sourceTree = "SOURCE_ROOT"; }; + A9DD0C9B00D83CBB77EDBFA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; }; + AA382FBAEDD76245D686042F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + AA458482B1358EE4262D7E8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; }; + AA4C96BD17FAFE995F8BF86D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; }; + AA823F169302BCFE583969CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; + AAA19AA6801AFA1AF07C8E2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; + AAB7E87C600B13349477C51C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; }; + AACAB54751155F5AE9CFCE61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + AB183DB7B4E55E8A378D1640 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; }; + AB1F943DA9131BF5694FBABD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + AB29C711385848DAC5DD867F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + AB49C15CDC9E08D39EAC2B72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChannelRemappingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + AB53B5594316451CAC90BD8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; + AB64E9DDECC08374FB9EA75D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; }; + AB6D1876CB16F76A98CE0B89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; + ABA6244EC74C888920DEB016 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + ABF137A60BDB5810DCDD1E22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioVisualiserComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.h"; sourceTree = "SOURCE_ROOT"; }; + AC223785E50A0284BAC9C879 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; + AC3356631ED2AC043BC67B79 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; + AC3D1C939D60CBB9F06E5195 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorPlayer.h"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.h"; sourceTree = "SOURCE_ROOT"; }; + ACDA8668B39A102D419BD481 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; }; + ACDCFB7C5CE966089DF7665E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + AD49758CCCDB81F781160518 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterInt.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h"; sourceTree = "SOURCE_ROOT"; }; + ADA10B57D3CACBF7CA3E7058 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + AE0F66472A7765041DD5F722 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; }; + AE1DD722E80713D6A2C820C9 = {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"; }; + AE8270C49E4D0C9109CF8499 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + AF02093447674A2DBEFB7B2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextInputTarget.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h"; sourceTree = "SOURCE_ROOT"; }; + AF575F9303D3AA5E410C274A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; }; + B0015C46815CEB6E15236944 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPlayHead.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPlayHead.h"; sourceTree = "SOURCE_ROOT"; }; + B05EC8A81DA162236663A8AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; + B0B4FAE3EA49CE2AE0074204 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + B0E5392688FD05700AFA0569 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; }; + B19103A5C4E54D5ABB50F27F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + B1972B63AC71C03527E02534 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; }; + B2A30D3171F293ECE50DC06B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; + B2C885D79DF233E10656633A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; + B2CF7DCAD1C8871201A6CE26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + B2F8C1DFA6A765EDB034399D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; }; + B33097C6BA7E4793E7536BBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + B33E3A1B455B48F251A4EFEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + B3425236EBB43087A2C4AA71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; + B3AED660CB964056A7063CE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; }; + B3CA6447C345EE05F8B98195 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; }; + B442A76A84E1800D10EE5954 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; }; + B5029BFA56B6E1BB5FB43BFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + B58CC7A93DBB3706A60E9E76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; }; + B5C3356C447E60F512C5E8CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; + B5CD08BC33A8414D48F4CD67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; }; + B6ABAD2ACC048C4DAB31CA27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; }; + B6B3AF7688EF55A4FC61D5D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; + B6EA3B412C6E73478C4D36AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; + B774AC9A00BFF63E24EA0646 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3PluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + B77C48286D446F5C7BD4B76F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; + B77F4A6EA1005BE4683A0DAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserVoice.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp"; sourceTree = "SOURCE_ROOT"; }; + B801E3F5A1C2992F592A0FBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnail.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h"; sourceTree = "SOURCE_ROOT"; }; + B8133580F67C0B95E1F36D4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; }; + B85C9F9BF94FA8926EB9ACB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; }; + B98F443DC0CE94BC13CC3D44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; }; + BAA373F740C171EB1219D9B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; }; + BABAE6EE994D5EBDC4013AAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; }; + BB1D6E0B0982D0590E8EC99F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + BB525259297D31B45CC624C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DeletedAtShutdown.cpp"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp"; sourceTree = "SOURCE_ROOT"; }; + BB8432AE150D5AEB38808FA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; }; + BBB323B5DE53878F445064D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Files.cpp"; path = "../../../../modules/juce_core/native/juce_android_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + BBD06432CC4155521050CD2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; }; + BCC48160464BC0DFCAD33792 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; }; + BD283419247CBA6C6DD2ADD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; }; + BD58CC09BA9FED0E9CACC97B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + BDEE5F6548D2980373C45F5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; }; + BED2D02D5F333084E058D678 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + BF764E314E4F6DD434BA711A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + C002FF4D43F9C779CB5B2B5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; }; + C0B3C8CFE6B70EE5C8C483F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + C0DA8A117300F721DAE1C6E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; + C11E39E7C9D18AC810369A50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; + C12C3BDF0D24260675D88C04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiBuffer.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; + C14EFFF60594E0BC2421DC0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + C1983ED4284CBEF3B5A427E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + C1E4A7F5418639D70CB51F0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; + C1EFF2064480889DAC74D2D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; }; + C25203A01A84B7032A7774CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; }; + C2DF4936EF95E5A32E71B755 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; + C3006C283C6F75269CE6295D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; + C383A0AB2662F2FCB802D61D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; }; + C3ADBEBC9062404FEB0FB411 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; }; + C3EBFABAA335572EFEC2F535 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + C3FF9B9008D2A03F2BB23F1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; }; + C478ECA66D2FDB2303FDC140 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NotificationType.h"; path = "../../../../modules/juce_events/messages/juce_NotificationType.h"; sourceTree = "SOURCE_ROOT"; }; + C4BBB0A36D8C8E7D180247DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; }; + C50B7EF31D44D3B5E03CB4A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; }; + C5A11A2A1F932F48A0D23E91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterBool.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h"; sourceTree = "SOURCE_ROOT"; }; + C61D176AAECFBC9A277EF2E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FFT.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_FFT.cpp"; sourceTree = "SOURCE_ROOT"; }; + C63541C14D518046922DF60B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilter.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + C639338DD5AF077DF5BF8361 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + C6846316837E7D4578428945 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; }; + C80FFBB5F1E2674B9DBC054B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + C9407CAAB91ABCB83CD3F80D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; }; + C9494DFECDCD27C0815A6F17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; }; + CA633B8B756E9E7826C8D173 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + CB23F9E24266013856B53BBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + CC14A34F66FDF9E12523CABF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AUv3.mm"; path = "../../JuceLibraryCode/juce_audio_plugin_client_AUv3.mm"; sourceTree = "SOURCE_ROOT"; }; + CC155101953B89262C8B633C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + CD3ABE20AE524B92B9B6A6FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; + CDE81ADB14F09742FBBA28E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + CF02DA80A8A515CE41B0C8F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_Standalone.cpp"; path = "../../JuceLibraryCode/juce_audio_plugin_client_Standalone.cpp"; sourceTree = "SOURCE_ROOT"; }; + CF2F576CE0F6A185597C8D40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; + CF344C62ABCBA9BAAB6ACFA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + CF51659EBB00003E6CB20B66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RTAS_Wrapper.cpp"; path = "../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_Wrapper.cpp"; sourceTree = "SOURCE_ROOT"; }; + CF6FA9D2F39F03FE2858F11B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + CF7ECFB4AA9A00E103525840 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; }; + CF9EEC4A087AA9010D5D21A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + CFAFC86F4D25AB5A31DF3BE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; + CFFC609186B1EE226ACEBD2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + D03583C1CA01284B5781955E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h"; sourceTree = "SOURCE_ROOT"; }; + D06C2B85E02F13F9B57DB1A9 = {isa = PBXFileReference; lastKnownFileType = image.png; name = power.png; path = ../../Source/BinaryData/power.png; sourceTree = "SOURCE_ROOT"; }; + D0A4E2C5F2B21172DE13DE0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; + D1683E32F1EB634904CD7DE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiDataConcatenator.h"; path = "../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h"; sourceTree = "SOURCE_ROOT"; }; + D19E20CCCD4790B2347D5B80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + D2436FFFE291F08409B1EEE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; }; + D264387115074C98CF251072 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; }; + D34BDE3AF93D8CCE91C331AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; }; + D36CD153A79988DA706EC9A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; }; + D43BFA7F052E625E90F77C89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_processors.h"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.h"; sourceTree = "SOURCE_ROOT"; }; + D43C762F1355546820373F14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; }; + D48932C6554B443ECB71DC87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; }; + D4C0852C1C54EDA5D4F82EB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; }; + D515546E71BD92C742D67905 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; }; + D557AAD12557BF1706441B19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + D5797410CEE0E8D2E03D98F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + D636983E7D4B5897EF493708 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; }; + D6670F0F52C7A439715B706F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; }; + D6979B0DD8E310EA2512B147 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + D72A2819C390689ED5A58197 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; }; + D776C107490A52D250B8327B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + D7AD93F3A8FAFDBFDF1B5DF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; + D7CDE24FD157D0DF359E9D8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; }; + D7F0DF2B23660D1E12432C36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; }; + D8377F0256B80E157C3A6563 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; + D87ED789DA527A749E7310E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; }; + D8A47626236CCECFA27BA813 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; }; + D8DFA74AB1A9041035F68326 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; + D8E68D83ACE5DBEA2B7BC876 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + D908038BAE155E55517AB2FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; }; + D98FE007073170879B3453CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; }; + D99FD2C65027F0D06BCB437F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEValue.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h"; sourceTree = "SOURCE_ROOT"; }; + D9D057AE4FE642513602611B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; }; + D9D833D2912CC83006BD9FA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZoneLayout.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + D9ED0926381D40DA1A66C26D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../JuceLibraryCode/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; + DA42AACD549E6C214EE09CF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + DA4E0EA3EB80BE34F9047E72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; }; + DACA6E5A3CE684EC649F31B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; }; + DAEE812EF95F96E7D65D875F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; + DAF78E342ACF24B5A83E0605 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + DB216D8107F0BBBBD3F2B0E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; }; + DB3A7C49C8444BD2F57B6689 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; }; + DBA0B8703ED6A2CFF6E952A8 = {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"; }; + DBC04DFB6E9667DCA1BC83E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + DC12C0A592BCA7A9FCE348BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterChoice.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h"; sourceTree = "SOURCE_ROOT"; }; + DC18200A3CD14E988426420C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; }; + DC3450D131A4D1B1EAA04B30 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-Shared_Code.plist"; path = "Info-Shared_Code.plist"; sourceTree = "SOURCE_ROOT"; }; + DC60BA9AC2BA5D2C3B5C3001 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Sampler.h"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.h"; sourceTree = "SOURCE_ROOT"; }; + DC6A702F738F41B34B329097 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorValueTreeState.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp"; sourceTree = "SOURCE_ROOT"; }; + DC6E859FF89B5A3C9BAFE19F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; }; + DC8F10CCAC55F7216F0304F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AAX_Wrapper.cpp"; path = "../../../../modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp"; sourceTree = "SOURCE_ROOT"; }; + DCAE9F130E3E70FA100BEE16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; }; + DCF51EBC4D12F196EEB28FB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; + DE76DD99A5E06C01C57957A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h"; sourceTree = "SOURCE_ROOT"; }; + DEAD87726738781A25EBCFFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + DF42DB861DD40B3EA519F49F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; + EC3DE1F504C76EEDDA7F2216 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AUv3Synth.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; + 9536B5A780A03F6BACB24144 = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = AUv3Synth.framework; sourceTree = "BUILT_PRODUCTS_DIR"; }; + DB43ED26DBABD0BC17385E6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; }; + DC1C558103B4D458A6CA037C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiFile.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.h"; sourceTree = "SOURCE_ROOT"; }; + DD9FC19B24786726D89345A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; }; + DE4E9ED582AC16303C8C72EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; }; + DEC3BDE099A6E8517815F464 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; + DEC63BC653D0F918D0721CF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; }; + DF2A14735E2EC0F986E3ED6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; + DF851414C38482D7EF5C63D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; }; + DFA88B30E3041E9BC8150FCD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GenericAudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + DFE5FACFB131FF766CE6DEEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; }; + DFF6A93D460B71379FE3EAA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageCollector.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"; sourceTree = "SOURCE_ROOT"; }; + E0260479B3C2CAF8477026FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorParameters.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp"; sourceTree = "SOURCE_ROOT"; }; + E03AA585A375A39A9BFF3DD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Component.cpp"; sourceTree = "SOURCE_ROOT"; }; + E04216439C3A2AD69B69B520 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + E0484E5F0994D64013F4EEA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + E09404F45899AA1E82CFC21C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + E0FD3183237BAB53F14A4B92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VSTPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + E104DAB2F8C8F885C393011A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; + E222D865360AA81EE8004879 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + E24A784226CD7F6A9A3313F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + E284D421936862F4333C9F50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + E2893CF05E01B66FC69E2E93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathIterator.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; + E2941ABF420491F119166C29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; }; + E2A39DE02AF9ED3035EC5F9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; }; + E2B251D85649A9A43CB428C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + E2D3D295ECC0BCE28B24FC66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; }; + E2E958362263925141558B05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + E2FE1E6598C038AFAFA1881A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; }; + E31219AD074DCBB8C6A9F816 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; + E320A8161071D0D1B9261E2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; }; + E32E43F0CC33ED95FD0A9DE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + E433734FC5466D7E26FC11D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; }; + E4D985BB229FC31731681790 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + E4F233200895BB6C4A31A816 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; }; + E553E188A17BDF4E832F0A01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; + E558CF08264E559967E2F538 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; + E564C68E481471618F91FD8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + E577F5E5E99420C920063AA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEMessages.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp"; sourceTree = "SOURCE_ROOT"; }; + E59314439566CDF7981F7D9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; }; + E750DA71CBCC6CB2236D7277 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; }; + E755606E63BE2C5558FFB353 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_linux_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; + E795FC063102CA8BAB722C58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + E79A4F024D4890B61628C42C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputStream.h"; path = "../../../../modules/juce_core/streams/juce_InputStream.h"; sourceTree = "SOURCE_ROOT"; }; + E7E45873BE802DD8D676E9CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GroupComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h"; sourceTree = "SOURCE_ROOT"; }; + E8EB40396974468FBD0EE15B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; }; + E9617DEC7E639354C2AF66A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; }; + E9745B8F0DE747F94EAF65A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; + E9C1C03509E00C37AAA45727 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_QuickTimeAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + EA4345362FE80828317BB860 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Base64.cpp"; path = "../../../../modules/juce_core/text/juce_Base64.cpp"; sourceTree = "SOURCE_ROOT"; }; + EA8B1437F945AFED7BDF11DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsHooks.h"; path = "../../../../modules/juce_audio_plugin_client/utility/juce_WindowsHooks.h"; sourceTree = "SOURCE_ROOT"; }; + EAD2501B6373C4B871F5E94E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; }; + EAEB4425352054C49C4D73B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; + EC2144EBA3C2FDA0D14F4894 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDescription.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp"; sourceTree = "SOURCE_ROOT"; }; + EC47F3AE085DBD9355D975CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + EC6A15B698E61AC4BE82260E = {isa = PBXFileReference; lastKnownFileType = file.def; name = "juce_RTAS_WinExports.def"; path = "../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_WinExports.def"; sourceTree = "SOURCE_ROOT"; }; + EC6AE147E0DC1DABD86AD10D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; + EC6F9C909D0523DFC5E0823A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; }; + EC84A74DD90F06D14E1CDA60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; }; + EC9D06705CCAD94B653A6E82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../JuceLibraryCode/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; + ECD1DB349CD1744D2345D45A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; + ECE0E7CC17846F150AF6C901 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; + ED8140AF46A706EDAA040283 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; + EDC5CAD8CAA7E5DAD49F18B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; }; + EDF2F0703F358E4FEA85725A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_ClangBugWorkaround.h"; path = "../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h"; sourceTree = "SOURCE_ROOT"; }; + EE4D4EE1F1A9A83289EE361F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPress.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h"; sourceTree = "SOURCE_ROOT"; }; + EE9BA42E3D0FBC1D7E118E5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Sampler.cpp"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp"; sourceTree = "SOURCE_ROOT"; }; + EEE67087AEC296875FA1D934 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; }; + EF275E21BADD0F3268F10BD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPENote.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.h"; sourceTree = "SOURCE_ROOT"; }; + EFAFEF5DCA8F8E4C087545C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; }; + EFD7896047F56FCAE30F61D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; + EFE3827E3EDA9642D99BE504 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginListComponent.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + EFE5A21A4334CFA45BFB6CB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; }; + EFF4EFA57D166DDAC54C3041 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + F02FEB2715C4468E892C4D81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Slider.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp"; sourceTree = "SOURCE_ROOT"; }; + F04800D7F1A1E012E9A4AD15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormatManager.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; + F05602C3C1F38396A47F3981 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; }; + F091E35001480A9D35B6C007 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + F0B93DF7A7FDD7B7267F09E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; }; + F0C9E98414EDC0CD943FF8AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; }; + F0D642DE6E92CC8F5D5A1A47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; }; + F108BD4F2087E0C08DD27DC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; }; + F138CA63A1127DA0DB69B127 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; + F1471268FFDBD435129D3F98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResamplingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + F1B548156993F8F8A27A254E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; + F241556BC3C500D0280204D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; }; + F2614FF63DFD0C39EBDE092D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; }; + F2748B621652974B80EA33C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; }; + F27FD37C4F6D16400014F5F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; + F28150FA7A2231FCA46CD0F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiFile.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + F345082D5BB9954FE5EC6D2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentPeer.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h"; sourceTree = "SOURCE_ROOT"; }; + F3498E82A2D4ACBED68A7F43 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-AUv3_AppExtension.plist"; path = "Info-AUv3_AppExtension.plist"; sourceTree = "SOURCE_ROOT"; }; + F349F9D2750331FD075E75A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + F37501AA1865957279DBF820 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Font.h"; path = "../../../../modules/juce_graphics/fonts/juce_Font.h"; sourceTree = "SOURCE_ROOT"; }; + F3B96CA7271488A73B3FB156 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + F3CC6690E03667917B1F463B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; + F3D09A0EE7D17AC66B30155A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; + F49713E132B21A9445D9457C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + F49DAF0F225F071A4CCAC866 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; }; + F511F1E8F0B3F64C850321F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + F563EF4F5BE16082D5E612C9 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; }; + F5688A2E7B25BD837236AFA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; + F568A91391DB3F0F2412E8D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; }; + F5DC35A024D665725204B375 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; }; + F5E8E9C083E0933E6FB6CC13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; }; + F60276DF99D86FCE8A565BE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; }; + F66119B180E2027EA08FDCAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; }; + F68409D2238C16D94715445E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; }; + F693DD5B1313923D940D6C3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; }; + F6E320B598D5271551AF8743 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarComponent.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h"; sourceTree = "SOURCE_ROOT"; }; + F720563676D4C9E4DE103144 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; + F7676EB62802B31B15689B14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + F77C93B319FB7E23D69C8371 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; }; + F7B0BEEDF640444239AE37A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + F7B8C6AA3AEF025B6BFE5678 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + F7D4D9D0A26940676AE3FC61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + F7DD5C27835C2B5ECA00A7D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorValueTreeState.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h"; sourceTree = "SOURCE_ROOT"; }; + F7E0F072B76ECD5DCD102B88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + F818FCE8EF2FE661E5BC0EFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReverbAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + F835920197570C22DACE2186 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiOutput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h"; sourceTree = "SOURCE_ROOT"; }; + F8662ECB8187DDFDB200B2A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorPlayer.cpp"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; + F873CF6ECA029B94F7F4084F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + F895132C805C3C8187536E4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + F8A0BED0C8B7DAF962431C39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; }; + F8A93B8EDF908B6E3AD2C2D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModifierKeys.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h"; sourceTree = "SOURCE_ROOT"; }; + F935D6E0CA994CBFD870BF65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardState.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h"; sourceTree = "SOURCE_ROOT"; }; + F96C31890AED2B62C4E0E20A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CheckSettingMacros.h"; path = "../../../../modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h"; sourceTree = "SOURCE_ROOT"; }; + FA2294BEBE10309C12F214C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + FA853017FA621FC683E872ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableEdgeComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + FA8D4A5190F11697BFFD2DFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; }; + FABFCFC950C53D57CC971516 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + FB1EE60A865765771EA250C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyListener.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h"; sourceTree = "SOURCE_ROOT"; }; + FB3E0328E0F2BF7633B7F4C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + FBDA8B5BE5FCBEFB590920D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; }; + FC1D343CACA27BD4C8314F0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; + FCCBE4511F7E02F7B995E179 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; }; + FD29E556C20B0A84586BFB09 = {isa = PBXFileReference; lastKnownFileType = file.path; name = proaudio.path; path = ../../Source/BinaryData/proaudio.path; sourceTree = "SOURCE_ROOT"; }; + FD355E2891D05684F5AB3FB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + FD60B5D096AA5B3AB840278C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + FD9D2DD3D3C7F14F07505EE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; }; + FDBC4DF16A90252E242CF668 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; }; + FDE9E6BF5EBC3001D0F08BD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; }; + FE34F4ABFE740FFEEACB468E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V1.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp"; sourceTree = "SOURCE_ROOT"; }; + FE57CDE96F42D240BC5BF9B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; }; + FE76EBBA1B01CCFB9341F30F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; + FEA74F5391F10765ABED4024 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + FECF8B067AC43A560B50217D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; }; + FF776D8E2733ED1C20E75B58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + FFA3E864C97EFB93C649CE18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; }; + FFBC99113C3CF37BD6C3C100 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleComponent.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 666FF5330A7D71738A02C789 = {isa = PBXGroup; children = ( + D06C2B85E02F13F9B57DB1A9, + FD29E556C20B0A84586BFB09, + 0FDE79162C42D29429F29BF2, ); name = BinaryData; sourceTree = ""; }; + DB89B006F28EC7A4ADDFE800 = {isa = PBXGroup; children = ( + 666FF5330A7D71738A02C789, + 2060810FA782E4FA6282BFFF, + 007ADE418EFF0B13796D2992, + 9C7C3A15A9D747596DDE40AA, ); name = Source; sourceTree = ""; }; + 8E3C833F5CCC3BD43C061796 = {isa = PBXGroup; children = ( + DB89B006F28EC7A4ADDFE800, ); name = AUv3Synth; sourceTree = ""; }; + BC017D8DC1C2F55B388501A0 = {isa = PBXGroup; children = ( + 13DD37B2F314596BBC25A47D, + 4D4252EF0D8D9BD4AFBB830A, + E04216439C3A2AD69B69B520, + A15E68C337279B15ED933BE3, + 0762DCD2200EC064A17AC77F, ); name = buffers; sourceTree = ""; }; + 4E848E110B0B6F63BC9CE354 = {isa = PBXGroup; children = ( + 6A9B5161889E1B22B04BA223, + 6A01CD302B95FCC3F057090D, + 84ABD4F5D068289F4D43E7CC, + C61D176AAECFBC9A277EF2E5, + 0A063D0E9CDBCFBA3B31B8A3, + C63541C14D518046922DF60B, + 6F63C882BEEED7B36540EA05, + 15687E3C898914FCE458C1B1, + 5B41FCC4B5B5CE4FB5282954, + 57D07B6F700F94E8E704DC49, + DB43ED26DBABD0BC17385E6E, ); name = effects; sourceTree = ""; }; + 960A24295EC2A4FDC15E019A = {isa = PBXGroup; children = ( + C12C3BDF0D24260675D88C04, + 8D753ADD4B2F1CB0C974A522, + F28150FA7A2231FCA46CD0F5, + DC1C558103B4D458A6CA037C, + 142ADBE2098D59ECB95443D8, + F935D6E0CA994CBFD870BF65, + 1267F1B5D02A74861F4F135C, + BAA373F740C171EB1219D9B0, + AB183DB7B4E55E8A378D1640, + 52496AD37C0932219701798C, + D34BDE3AF93D8CCE91C331AF, + 1F460579410D4B352F2A85E6, ); name = midi; sourceTree = ""; }; + 2B5CB18BC2AC334FCDCD5F73 = {isa = PBXGroup; children = ( + 00500DE183D3A54A2DA74DE9, + 37799802B9635A4BB98E8C0D, + E577F5E5E99420C920063AA4, + 55CD90E2FB8F3B5AF567AB8D, + 6E186DF6706228F3F1F1A17E, + EF275E21BADD0F3268F10BD5, + 3C8B6C80EE83439D2D94B58F, + 0FEDE49FDC29C3ED222D6170, + 46B1734D356C650334F8C547, + 796340DEE820CAFEABEC077B, + B77F4A6EA1005BE4683A0DAC, + 97C74E9A0E8A5576FC301241, + A8E3160D8F76BE5B55B9846E, + D99FD2C65027F0D06BCB437F, + 194765A55D6C02B43A1F334A, + 3A0EF9079729C5C6FC1AACDD, + D9D833D2912CC83006BD9FA4, + 8AA012F95CDEE0ECAC1D698E, ); name = mpe; sourceTree = ""; }; + 39BF5DEBF7889C52ECA9D522 = {isa = PBXGroup; children = ( + CF344C62ABCBA9BAAB6ACFA2, + A148CC41BDB41EDC8E88DC7D, + 8D6D7548957FA154DA777E17, + AB49C15CDC9E08D39EAC2B72, + D6979B0DD8E310EA2512B147, + E24A784226CD7F6A9A3313F3, + 77036A3D63B6A78CEECF50A9, + 874FADD694BB58E2E736FC20, + 26EAEF94B819C919C890B885, + 3109815D5D597AE3707A13EC, + F1471268FFDBD435129D3F98, + CA633B8B756E9E7826C8D173, + 72A7E928C55FCB1C1B373135, + F818FCE8EF2FE661E5BC0EFC, + 1D38916035F0926B751035DF, + A43962FBC6E823AFAD6EC673, ); name = sources; sourceTree = ""; }; + 2F4731DCB9230EE619916954 = {isa = PBXGroup; children = ( + 9FB1AAC5EC1146B5FC0EFCD2, + E4F233200895BB6C4A31A816, ); name = synthesisers; sourceTree = ""; }; + 5E2CF82B2790DC31C2A42EDA = {isa = PBXGroup; children = ( + BC017D8DC1C2F55B388501A0, + 4E848E110B0B6F63BC9CE354, + 960A24295EC2A4FDC15E019A, + 2B5CB18BC2AC334FCDCD5F73, + 39BF5DEBF7889C52ECA9D522, + 2F4731DCB9230EE619916954, + 7023A03BF8EE3F09E00C3B58, ); name = "juce_audio_basics"; sourceTree = ""; }; + 0AF2104722DB9B5CCED4C94B = {isa = PBXGroup; children = ( + C50B7EF31D44D3B5E03CB4A8, + 42EB20660BAF846855D9EF4F, + 7195EEB1FB735453359D1893, ); name = "audio_cd"; sourceTree = ""; }; + 47AB8B1903DABC656DF21D88 = {isa = PBXGroup; children = ( + 1A470B745FCC0020078807C0, + 4350481545B0B7094C507415, + 9B995FF1F1FD413ECBEA5F2C, + 4968C8C2A41316C78C23E9E3, + 7ABF11ED9BB6CD5850ABF47A, + 89291F4775B82AD585F02515, + 5B56147E8E94C3969471E21F, ); name = "audio_io"; sourceTree = ""; }; + 7B2FEED71EA55EF1A6482473 = {isa = PBXGroup; children = ( + 87181526B9C99144CBE4F8A8, + DFF6A93D460B71379FE3EAA2, + 596DAF8986D6982B928C689C, + 12E82F17788C076C81627268, + F835920197570C22DACE2186, ); name = "midi_io"; sourceTree = ""; }; + C08F6552B8A8E298555C2AC9 = {isa = PBXGroup; children = ( + 3AF5346037CEDB521C15327A, + 4EECB41B6EC0EA710254BD82, + 791714395C654D0B51DE22F8, + DF42DB861DD40B3EA519F49F, + FCCBE4511F7E02F7B995E179, + 8956FF8EFD34579BBCFD9B88, + DEC3BDE099A6E8517815F464, + 39B377C2D00BF8A2E9626DAA, + 5CE9D568B99FBD7774D02709, + 7DAEE56A9F7ABD354CABEAF1, + FE76EBBA1B01CCFB9341F30F, + 38DEF9E87D9BE2944553DE14, + D1683E32F1EB634904CD7DE1, + 13B17EB9291B9E5C95408C47, + 12395B6A3CDDE856FC5BFD75, + F7676EB62802B31B15689B14, + 1A0498CEB99BA9719C85F11E, + A74FEFA1532B6951A0309828, + 340A18A11EA701353DB28503, ); name = native; sourceTree = ""; }; + 40C53674C64F3E0211ECAAB5 = {isa = PBXGroup; children = ( + 33D05902E14966A2708B7F61, + 71D1D8E256A7FD110F7EAC6C, + 9F91E161DF777F050B61B6BE, + D515546E71BD92C742D67905, ); name = sources; sourceTree = ""; }; + 596BD0AE10AA6B1E7AC01F15 = {isa = PBXGroup; children = ( + 0AF2104722DB9B5CCED4C94B, + 47AB8B1903DABC656DF21D88, + 7B2FEED71EA55EF1A6482473, + C08F6552B8A8E298555C2AC9, + 40C53674C64F3E0211ECAAB5, + 2284A4597CF7AA4D2EFA7AC4, ); name = "juce_audio_devices"; sourceTree = ""; }; + F25E7403D44D5B0ABC68A8DE = {isa = PBXGroup; children = ( + 3B9F47F546584BB9EFE098BE, + 192ABDFEDF4C082BB8DF0492, + 76272B6E0F4FB6D7225653CF, + 2DC4F5D10A019196E3AFDFBD, + 33B9A7EA67B0D01E3416E123, + 804448A2E110E3D84021289F, + 84D3302B18B67B725905AF7C, + 2D2B97D629EFA3920314D5DD, + 7A3E22B63496806947FC10A5, + 6A2FBCEABDB265609CB49A9C, + 3487F440B9FE19B84EDB6C05, + F7D4D9D0A26940676AE3FC61, + E9C1C03509E00C37AAA45727, + 12C25C7C2E883F374E8B3D36, + 831580A17E75CC89E86A3E12, + 2D436395B51B7242A5B9E701, + BD58CC09BA9FED0E9CACC97B, + E32E43F0CC33ED95FD0A9DE2, ); name = codecs; sourceTree = ""; }; + 2EB6086419C861B8A8744532 = {isa = PBXGroup; children = ( + 0B29952E2F0758E5C07D21DC, + 56DD0F008972969CD0020468, + 63F79641EFA884B962CDF093, + A236B01D70F55D3570330B44, + 71A5014C5547E43A0EE58252, + C1E4A7F5418639D70CB51F0A, + 59878D9EFD00EAC6CD0A85E8, + 5BEC401034FECC5A84CF911C, + D264387115074C98CF251072, + 46E7ECB316210C98F0A1C885, + D19E20CCCD4790B2347D5B80, + 0C57D75820A254EFD312E57E, + DEAD87726738781A25EBCFFB, + 5AE75DB19C06961041078603, + 89B0332A462BFD5984B97302, ); name = format; sourceTree = ""; }; + 97AF985BD136FA4227E4B631 = {isa = PBXGroup; children = ( + EE9BA42E3D0FBC1D7E118E5D, + DC60BA9AC2BA5D2C3B5C3001, ); name = sampler; sourceTree = ""; }; + 3B848EB4797469286E5DC42F = {isa = PBXGroup; children = ( + F25E7403D44D5B0ABC68A8DE, + 2EB6086419C861B8A8744532, + 97AF985BD136FA4227E4B631, + 2CC92DEE105B69921A4BD036, ); name = "juce_audio_formats"; sourceTree = ""; }; + 2E422AE2D18F560DF8B30CDA = {isa = PBXGroup; children = ( + DC8F10CCAC55F7216F0304F9, + 2CDBB1BAB84A2A5CC8E11755, ); name = AAX; sourceTree = ""; }; + 06A8F713C3EEAB440A8F2811 = {isa = PBXGroup; children = ( + 3E76A3788CAAB12560CB4517, + AE1DD722E80713D6A2C820C9, + 2220D1078A2681D8AAF3563E, ); name = AU; sourceTree = ""; }; + 1941EE898A77AEBE254C7BF6 = {isa = PBXGroup; children = ( + 8905DE78626372768938A4C0, + 05C14DEEE0E3BDC4049484B5, + 2FA12F7EBB9AC99A08FC1025, + 4FED8E1456B36F86FFE8E9B8, + DBA0B8703ED6A2CFF6E952A8, + EC6A15B698E61AC4BE82260E, + 75304DD6E88CB19FD0C74956, + 2D4E5D168D18704BCB317DD8, + CF51659EBB00003E6CB20B66, ); name = RTAS; sourceTree = ""; }; + 17A79693BC3D8AAAD379E1F4 = {isa = PBXGroup; children = ( + 33B2FD7C625F65B132945522, + 44E613EE8E541E69E6B8A449, ); name = Standalone; sourceTree = ""; }; + 6CF0F9372945E034EF277092 = {isa = PBXGroup; children = ( + 30CDFDC04232575AE7A491F3, + F96C31890AED2B62C4E0E20A, + 00A950F33C21C6688103E667, + 676EBCF8F03E1FA1DD0694B0, + 1A3355000573E6A083028E9A, + 068109EA4981DB342942D174, + 99AC2D0C2304F21B912FEC5B, + 2F9011C34B50B11B6FFEDA7F, + EA8B1437F945AFED7BDF11DB, ); name = utility; sourceTree = ""; }; + 46B9BF698C6F16241A8111B9 = {isa = PBXGroup; children = ( + 78DD966E73DF076A83FC1F2C, + 6FA729EAB8A64447D81B36E9, ); name = VST; sourceTree = ""; }; + A7A386D479F1A418585317DF = {isa = PBXGroup; children = ( + 08D38FFAFF41735F36FD4BF9, ); name = VST3; sourceTree = ""; }; + E4D31720EE240DC9A75C9459 = {isa = PBXGroup; children = ( + 2E422AE2D18F560DF8B30CDA, + 06A8F713C3EEAB440A8F2811, + 1941EE898A77AEBE254C7BF6, + 17A79693BC3D8AAAD379E1F4, + 6CF0F9372945E034EF277092, + 46B9BF698C6F16241A8111B9, + A7A386D479F1A418585317DF, + 9EDB40D557C3BBB1CC63CF65, ); name = "juce_audio_plugin_client"; sourceTree = ""; }; + 288CAA056ED45266C7FB3AF1 = {isa = PBXGroup; children = ( + 257F4247EC175CCBFE996E55, + CF9EEC4A087AA9010D5D21A5, + 212425D8E8CD86B224E3CC5A, + F04800D7F1A1E012E9A4AD15, ); name = format; sourceTree = ""; }; + BB2918B00365876F1FA2F3F6 = {isa = PBXGroup; children = ( + 2010BCF7EE1A761168968EEF, + F5DC35A024D665725204B375, + 3D850D7C81C79515EA35D833, + 329FEF79D3987D0FB1C164CD, + 3F5066569AA0BCAFF9F6AD87, + 5F6BB197FA13DEB1F2260CC0, + 387D55482BBDCBC351F2BECE, + B774AC9A00BFF63E24EA0646, + 87FC5378F4B65DBD11E62015, + E0FD3183237BAB53F14A4B92, + 58461A95ADF95E35EE92161D, ); name = "format_types"; sourceTree = ""; }; + CAAB2A5A6B46AF53B7E43E33 = {isa = PBXGroup; children = ( + 17968A543385166D4392F171, + 05206E536544288B1DFC3EC7, + B0015C46815CEB6E15236944, + 65980EFA3678AD71581BE381, + 1BD4D7258F644BC3B343432E, + DE76DD99A5E06C01C57957A1, + E564C68E481471618F91FD8B, + 8429B2EA7B0E269D738BD27E, + 6BF1D1384D3492C251CB00D2, + 5D27245879F65DC9C3DB15FF, + 0527F8D9C84F850B9E2F794C, + 6FC0CB280CE56AB22E3997B5, + DFA88B30E3041E9BC8150FCD, + 7A172478B945BDF97AFFBA0A, + EC2144EBA3C2FDA0D14F4894, + 4A61AD8C4D46D2448FAF51E8, ); name = processors; sourceTree = ""; }; + 2994A58EDAAEF6AF67B9398E = {isa = PBXGroup; children = ( + 3511451EE5878DFFC682095C, + 5E6903988ADA7D101E926BCE, + 9C455929E7890E382F55BD19, + 7F8A5B07954F9F0562831FDA, + EFE3827E3EDA9642D99BE504, + 289018CF30BEAFA4668549AB, ); name = scanning; sourceTree = ""; }; + 93E4D725A79B28831619716C = {isa = PBXGroup; children = ( + C5A11A2A1F932F48A0D23E91, + DC12C0A592BCA7A9FCE348BE, + 5B4ABB694D98DB81D8977876, + AD49758CCCDB81F781160518, + E0260479B3C2CAF8477026FC, + 84940A6A61CEE24A159139E5, + DC6A702F738F41B34B329097, + F7DD5C27835C2B5ECA00A7D2, ); name = utilities; sourceTree = ""; }; + 0117D11B67D779E61A4F5529 = {isa = PBXGroup; children = ( + 288CAA056ED45266C7FB3AF1, + BB2918B00365876F1FA2F3F6, + CAAB2A5A6B46AF53B7E43E33, + 2994A58EDAAEF6AF67B9398E, + 93E4D725A79B28831619716C, + D43BFA7F052E625E90F77C89, ); name = "juce_audio_processors"; sourceTree = ""; }; + 0530BD4CA73FE53A5C053A1C = {isa = PBXGroup; children = ( + 6BD961F96723E92BFC0263D3, + 8524CF106D2B7B1E08D312C8, + 9D3AF29ECBD2A58B146619A2, + 7A7DC1C99D232DAD43C01146, + 1C45C50E54A57400FF9E6EEE, + B801E3F5A1C2992F592A0FBE, + 2B859BB12EB83F32108F3497, + 2578F2F3741CC61B95E7E6C3, + 1238631934643787E27DDC66, + 9ACE3BF6D0E54A5ACA1D73F6, + ABF137A60BDB5810DCDD1E22, + 569603444940609CACE2AD7B, + 33A72C52C238DB7638CA9F9A, + D03583C1CA01284B5781955E, ); name = gui; sourceTree = ""; }; + 7946B862EC632E3C66EAFFD0 = {isa = PBXGroup; children = ( + 7D2FEE652DDC90049F523828, + 1AF82B1F138DE2C506FBBDAC, + E755606E63BE2C5558FFB353, + 5019F297F4FE95D4F264E95D, + B6EA3B412C6E73478C4D36AD, ); name = native; sourceTree = ""; }; + C05C5759710B1FC952797E1A = {isa = PBXGroup; children = ( + F8662ECB8187DDFDB200B2A2, + AC3D1C939D60CBB9F06E5195, ); name = players; sourceTree = ""; }; + FBF7568E0A1FB934691CFB9B = {isa = PBXGroup; children = ( + 0530BD4CA73FE53A5C053A1C, + 7946B862EC632E3C66EAFFD0, + C05C5759710B1FC952797E1A, + 63626AB59BC4BD66A0A6482B, ); name = "juce_audio_utils"; sourceTree = ""; }; + BC9691E8BFCD753AF6103FBF = {isa = PBXGroup; children = ( + 8B2480D9DD76CFCAB0323099, + 6DED13EB49FCE393E16D59FB, + 9A69DDED5C8357717BAD57DD, + AA458482B1358EE4262D7E8C, + 8FC88FE9250C7A25AC724BEF, + 1E13310D81E44B4523CA8DC1, + 4E7035D318D7951EA416F253, + E59314439566CDF7981F7D9F, + 6738C919984D53FF07CDD5A6, + B3425236EBB43087A2C4AA71, + C002FF4D43F9C779CB5B2B5C, + 997766E6B5491A51A5242F68, + 103120277880D41F8696B2A8, + 2B0EA3DFEC956DB0BA40F07A, + A85FEFF5F978F3B76D9829C1, + B2C885D79DF233E10656633A, + 9CD2B54DC3EF0B1710DBC904, + 524DD2A93F8DFF53CC87023F, + 3058A92D575A389A0D1920B9, + B2A30D3171F293ECE50DC06B, + F3CC6690E03667917B1F463B, ); name = containers; sourceTree = ""; }; + A8E340AAEE23D4BD850A1A7B = {isa = PBXGroup; children = ( + 57A49E91A5755065F47070FC, + 631CF9C6700114D898AEC1AD, + AA4C96BD17FAFE995F8BF86D, + 9B6B98866C77A743FDBA7C40, + ACDCFB7C5CE966089DF7665E, + FA8D4A5190F11697BFFD2DFD, + FB3E0328E0F2BF7633B7F4C0, + 0FB29BBC0B65633627478BA0, + 499F3B4B44522D984B26A263, + 3AC15B910C91D22E71A7A687, + 25154F5BC74A1019F714FB73, + 1A5F13EEFA6BFCC120C57869, + CF7ECFB4AA9A00E103525840, + 7D67149A7BE6BBB85FCB2CCF, + 128D7FD70FE164060807E29F, + 003B0A5337B7EB6AB6906625, + DF2A14735E2EC0F986E3ED6F, ); name = files; sourceTree = ""; }; + AD224AC6003310CD05E651E1 = {isa = PBXGroup; children = ( + 1EAB166798F43125DDCE0BC0, + C3FF9B9008D2A03F2BB23F1B, + 1D0B59F0A6F76ED5272E08C4, + 7B215A260ADCE367FD8F3420, ); name = javascript; sourceTree = ""; }; + 6C9970947FAA819784344F82 = {isa = PBXGroup; children = ( + 2EC9EB88F772C8A6DBA65C2A, + FBDA8B5BE5FCBEFB590920D9, + 37D87B4F2E6E4C7EC11F12CB, + DF851414C38482D7EF5C63D1, ); name = logging; sourceTree = ""; }; + E697A170E52474A85AC3F0B8 = {isa = PBXGroup; children = ( + EFD7896047F56FCAE30F61D3, + 82CED5C8E1B7A2C068BC48B2, + C3006C283C6F75269CE6295D, + D6670F0F52C7A439715B706F, + 363B23811BE5271789D355B6, + 69223FF1DDF41E1860A3DE72, + 67BBCC92EDF01164A374A824, + 14E1CF05D80EA4E2CCFD1EB0, + 78B49436D33E43AC3A956818, + 10467B840ADE953EC282EF36, ); name = maths; sourceTree = ""; }; + 87DBD332C7D88B9FB84BA57D = {isa = PBXGroup; children = ( + 9A3351689C885961A9BD3F2F, + ECD1DB349CD1744D2345D45A, + D72A2819C390689ED5A58197, + F241556BC3C500D0280204D2, + 1FFE418941303981E432039E, + 297BC989416D63FB30AE4C6F, + 92BFAF31B51618764234C779, + 5B219BDFFD121A57DB1623B0, + 90064DDC086AD775FA7D5FFB, + 750DF21E43BED98CE4F53DE7, + 81A3BCB415FA7114FC07367D, + EAEB4425352054C49C4D73B2, + 20E2B3CE619294FF62DF5D54, + 42398E999B0A850DFF901952, ); name = memory; sourceTree = ""; }; + A65AFFDD60F15A30D0C411B7 = {isa = PBXGroup; children = ( + 2CA6385ADA2663622F29174F, + F2614FF63DFD0C39EBDE092D, + 9F1DFEFDC78EC139C4089DEC, + 6217C41B2DFADAD8767255BE, + 6DFDBE298AD93DD1B3F067B6, + 12B0DB43F1E76431C35A4958, + 245B820181308A0B46FE2C2F, ); name = misc; sourceTree = ""; }; + BF6529E0C56336520D8B27E8 = {isa = PBXGroup; children = ( + BBB323B5DE53878F445064D9, + 508924D8D38224F7A1CC2F14, + 0B8A751E656BC4B5E4CC4421, + CC155101953B89262C8B633C, + 48D2A0F85F1782956EE482C1, + C3EBFABAA335572EFEC2F535, + 85B72CF204A61261388DC9A7, + 2C717D503694EB59927B7E6C, + 350B404A9275F5AF7A70DE9C, + 5AC5CDBCB084BA289BDCF7B2, + B33E3A1B455B48F251A4EFEB, + FF776D8E2733ED1C20E75B58, + BB1D6E0B0982D0590E8EC99F, + 401DA5B6718906FD022A986E, + EDF2F0703F358E4FEA85725A, + 52DD40CDD91CC8C61DB8FB21, + 830D7621CB3CFC3DE53EF4C9, + AB53B5594316451CAC90BD8C, + 2E1FA635BB813DE9FAB4D639, + 76D5C2782B00C3FFE0F594FE, + 8F3941CB0EBB70B37B7DB6DD, + C0B3C8CFE6B70EE5C8C483F4, + 020FE683177165C897C9E5A6, + 18E2A37DF0A882E058663C17, + 7C3E7364953EF9D78C71B866, + CFFC609186B1EE226ACEBD2D, + DE4E9ED582AC16303C8C72EC, + 323F74EB62215117B808371B, + 6450DF3ACDBE5D00F8E33195, ); name = native; sourceTree = ""; }; + 034C560F9D796FDB00D1D282 = {isa = PBXGroup; children = ( + B05EC8A81DA162236663A8AF, + 0B56ACE2E7A2CC5B75550C6C, + F5688A2E7B25BD837236AFA2, + 43913D411C0ACFCA2E8B8CFE, + 58FA5F36261FAE89B748BA8B, + 54B65048DE0ED0FE799D317F, + 823EFD7B765AD6D20D4053BF, + 5776A5993098A57A7A1E6A27, + 0E429E673C3066089538F4FF, + 003AD91863D1E07BEFDCDB46, ); name = network; sourceTree = ""; }; + 5EC35DF1B73567BBCFD31E1C = {isa = PBXGroup; children = ( + 3BD48100798B29CFBB31E240, + D776C107490A52D250B8327B, + 19631764DB948B287771C41E, + 14EEC624D1628BE3DE7AAB0B, + 89E00773FE73394C30642A4E, + B0B4FAE3EA49CE2AE0074204, + E79A4F024D4890B61628C42C, + AB1F943DA9131BF5694FBABD, + B19103A5C4E54D5ABB50F27F, + 933DE5C4D4002BA9203F65A6, + C639338DD5AF077DF5BF8361, + 8837DB2881391365428BE228, + FABFCFC950C53D57CC971516, + C1983ED4284CBEF3B5A427E5, + 4F2E1758A33E5E88780F68AC, ); name = streams; sourceTree = ""; }; + E564598461FB08F015431F78 = {isa = PBXGroup; children = ( + 96F6E7AE69A06FEE69CCA3C9, + F108BD4F2087E0C08DD27DC2, + 59CB0A6453076CC874C72F59, + 6F544061B6526DCC4430F539, + 1EBC98B1315EA748EAE0BE86, + FDE9E6BF5EBC3001D0F08BD9, ); name = system; sourceTree = ""; }; + D2805307F50E34D3E5AB5DF1 = {isa = PBXGroup; children = ( + EA4345362FE80828317BB860, + 90D3112151AC631747E60670, + D8A47626236CCECFA27BA813, + FD355E2891D05684F5AB3FB5, + 63AAC659ED6461E93DE1C15D, + 6AE2054E0D3A9C05964CB1A5, + 8409701863AC240D5D560213, + 6C5C4F38A006227C77FCBAD3, + 903B9CD04DF181894AC76EF9, + 837CD80BA7098F85EE20B621, + AA823F169302BCFE583969CC, + F693DD5B1313923D940D6C3F, + 80868CF2327E15F76AD68CF6, + 25315D0BDE24260A1B11F088, + 6ADB01DA39E433CDC3CE9257, + 1969DCD38A5D738B1C411BB5, + EC84A74DD90F06D14E1CDA60, + 857827E178BB7D6DD2C02906, + 9D36B3B7E8ACCD8C7176A2FB, + 6289A5E0AC3E2AEE01BEA5F7, + 70C59918BAE3E3379AA1A53C, + 1A86C86BA6589DF87E2953F5, + 9F11AD979B19EC01749DF1A7, + F0C9E98414EDC0CD943FF8AC, ); name = text; sourceTree = ""; }; + B77D1287C7BC35EE2981D651 = {isa = PBXGroup; children = ( + AB6D1876CB16F76A98CE0B89, + 2C41A29ECB3200FF97E83F4B, + 44FBD4EA8F39E0239C077CD7, + 0F0BF502E0417422010480ED, + 8885CE0EEED160D96843F584, + DCAE9F130E3E70FA100BEE16, + D8377F0256B80E157C3A6563, + BCC48160464BC0DFCAD33792, + 9376596E6EC0707DFEE00ADB, + 9BBEDDA8AED51B9B4BA52B2A, + 86E1396EB5DB7C3F8D42AF19, + 659F144091C614884492E5DC, + 4C20818454A1D46DBDB379D7, + F66119B180E2027EA08FDCAC, + DB216D8107F0BBBBD3F2B0E6, + 620C6E08CB86054EDC64784F, + F0D642DE6E92CC8F5D5A1A47, + DC18200A3CD14E988426420C, + 4D128877C59FFBAC8AD8879C, + EFAFEF5DCA8F8E4C087545C4, + 04CDFCB4FF06CA7E1B0CC260, + B8133580F67C0B95E1F36D4E, ); name = threads; sourceTree = ""; }; + 21253472C4ED62EEB042BD0C = {isa = PBXGroup; children = ( + 20A8452F14F1433B1C3D0FED, + 7315E85A6C1E714922CBE587, + E31219AD074DCBB8C6A9F816, + 66C2579562E185E38E43C121, + EC6F9C909D0523DFC5E0823A, + 391E6DF4FA840F23B402D97D, ); name = time; sourceTree = ""; }; + EECAAA79EC4A1A2F5AE30263 = {isa = PBXGroup; children = ( + 6319F4BF677E067041B5467C, + 028400FDADB7732D2CA25667, ); name = "unit_tests"; sourceTree = ""; }; + 5CD2C4E505BAEC1D6FC5ACBB = {isa = PBXGroup; children = ( + 5FE4811A1F224B9DC3F0751D, + 3412F9A8DCE29D1B62BC1145, + A53855C517AD1588DBF87CA0, + 519C21EFEDB8ADE2ACD6249F, ); name = xml; sourceTree = ""; }; + 9B4D2517DBA2A76C58D7B685 = {isa = PBXGroup; children = ( + 22A85B46C8EED46FA81F61B2, + 2149AA5B4890E2E05119749B, + 777E62C96ACF5A0FF45950AA, + E2B251D85649A9A43CB428C5, + 95D4FB306A367AE3A6D28173, + 4AE945ACA404BF885EBFB4B7, ); name = zip; sourceTree = ""; }; + 0B5C4CA2D787EC3780C7CBE8 = {isa = PBXGroup; children = ( + BC9691E8BFCD753AF6103FBF, + A8E340AAEE23D4BD850A1A7B, + AD224AC6003310CD05E651E1, + 6C9970947FAA819784344F82, + E697A170E52474A85AC3F0B8, + 87DBD332C7D88B9FB84BA57D, + A65AFFDD60F15A30D0C411B7, + BF6529E0C56336520D8B27E8, + 034C560F9D796FDB00D1D282, + 5EC35DF1B73567BBCFD31E1C, + E564598461FB08F015431F78, + D2805307F50E34D3E5AB5DF1, + B77D1287C7BC35EE2981D651, + 21253472C4ED62EEB042BD0C, + EECAAA79EC4A1A2F5AE30263, + 5CD2C4E505BAEC1D6FC5ACBB, + 9B4D2517DBA2A76C58D7B685, + 317A2F549752C6765A3675CD, ); name = "juce_core"; sourceTree = ""; }; + 5AEFD006F5B97D797E36C81E = {isa = PBXGroup; children = ( + FDBC4DF16A90252E242CF668, + EDC5CAD8CAA7E5DAD49F18B3, + 9146F18918C954121E932A8B, + 185A5E99EFDAB0E1ED5467F9, ); name = "app_properties"; sourceTree = ""; }; + 578ADE7B02B1C66138BDF12D = {isa = PBXGroup; children = ( + 9D9015BC9941D5D5CFF99DA9, + 883986B1E4E324BDC35B025E, + 2B907016FF0A2E4074343127, ); name = undomanager; sourceTree = ""; }; + D77502F66C4A7EF6AD993708 = {isa = PBXGroup; children = ( + E9617DEC7E639354C2AF66A8, + F8A0BED0C8B7DAF962431C39, + 14B4ECA05D8D48728F6E0DAC, + C383A0AB2662F2FCB802D61D, + 4EFA2DD6FA97904E17A543A8, + 82918021090B19A27046FC03, ); name = values; sourceTree = ""; }; + A90E4C4C435E8AE44C245413 = {isa = PBXGroup; children = ( + 5AEFD006F5B97D797E36C81E, + 578ADE7B02B1C66138BDF12D, + D77502F66C4A7EF6AD993708, + 8FAE0E215D1E95E6CA7C58E8, ); name = "juce_data_structures"; sourceTree = ""; }; + D3714BC58B555CDE49329AAA = {isa = PBXGroup; children = ( + 3EBDB41A4AA8C71BB089DD65, + EC6AE147E0DC1DABD86AD10D, + 0589532FD9A73AE783AEAFF9, + B6B3AF7688EF55A4FC61D5D6, + A1FA95A0AA37CD773ACBCE8A, + 2FE196E99D5ACD17E1EC061A, + 170409D99808EC4EADC66EFF, + 1CE2727544D8067E9DB2F503, ); name = broadcasters; sourceTree = ""; }; + 5B1CA393BF45A00D3092111B = {isa = PBXGroup; children = ( + A4E1FFE9E94A28D434C2E4BD, + 7B8DE2413EDC4BEB83168903, + 14F4349930D298E952EE54E6, + 2086A70D734172718BED5B1A, + 9A392FBECB732FAC0AA04262, + 0A6388AE7A6D842C59BE4BB0, ); name = interprocess; sourceTree = ""; }; + 8859D9872008A7577B7C8205 = {isa = PBXGroup; children = ( + B0E5392688FD05700AFA0569, + 2BDB229F700B0070C788CFFE, + 6F9936B4FC6CC4947CE18F41, + BB525259297D31B45CC624C8, + 57A9C38789F8516A695E65E6, + C0DA8A117300F721DAE1C6E5, + C6846316837E7D4578428945, + 015DB8D668A1F85370D5BFAA, + 7CE0FEFCEC64DF0ADA0B2DF8, + 26B4B1368466BAEBED7B910C, + 8C401B7DC61CF17EFD2F05D7, + 832122C272B009AC7E73AF6C, + C478ECA66D2FDB2303FDC140, ); name = messages; sourceTree = ""; }; + 78CA8917C0A908C4F9850B40 = {isa = PBXGroup; children = ( + 2A59FFB4A0420DA1E24EF14C, + FC1D343CACA27BD4C8314F0D, + 36D0D18E4170C7A1D25D0704, + B77C48286D446F5C7BD4B76F, + 7CA84F62BB5AC492B1EB49A0, + 896386672033108CFE54FC64, + 64006FEB76C8189A341F77D6, + 12F04ADB729E5DAB771C50C9, ); name = native; sourceTree = ""; }; + 0FD45928AC4B4234A14E0A34 = {isa = PBXGroup; children = ( + B5C3356C447E60F512C5E8CD, + C9407CAAB91ABCB83CD3F80D, + B98F443DC0CE94BC13CC3D44, + 809E47902CCE60747026EC3B, ); name = timers; sourceTree = ""; }; + B5521BD970390A393CE16042 = {isa = PBXGroup; children = ( + D3714BC58B555CDE49329AAA, + 5B1CA393BF45A00D3092111B, + 8859D9872008A7577B7C8205, + 78CA8917C0A908C4F9850B40, + 0FD45928AC4B4234A14E0A34, + E2FE1E6598C038AFAFA1881A, ); name = "juce_events"; sourceTree = ""; }; + 66D0D5BF4AA53118AD82D8A5 = {isa = PBXGroup; children = ( + 4A9B4448F56A2C6BB87A2237, + 54B4AF19CEFECF9097905D10, + 643F0D51DA8A1B56EB1C8B61, + B3AED660CB964056A7063CE6, + D2436FFFE291F08409B1EEE2, + A2129507609CE7130FBA1340, + 96DCCD578FF29CD7D381E8BC, + 0F423E99E9C1741395CC5CF6, + A29CEAB6F2F844C410B2F014, ); name = colour; sourceTree = ""; }; + A2C06250C4A67B53ABC5E404 = {isa = PBXGroup; children = ( + FD60B5D096AA5B3AB840278C, + 9C9AF92C7A254CC7A2AA72F0, + F091E35001480A9D35B6C007, + 5A15B2AC96B76F7CF212B83D, + E750DA71CBCC6CB2236D7277, + 8DCEAA37D9F7AAD98A244B49, + 3289934D2B14EEF7D64D7225, ); name = contexts; sourceTree = ""; }; + A2BA71807965ACAD8DFB2901 = {isa = PBXGroup; children = ( + 01647762E74B323EFFC6F09F, + 5176BF663257661A5DAC4EF5, + D8DFA74AB1A9041035F68326, + 066F37651C7F3792917C2F8E, + C1EFF2064480889DAC74D2D3, ); name = effects; sourceTree = ""; }; + 963A45A2A5EA3700518FCFF1 = {isa = PBXGroup; children = ( + 9198593E2E34D16752B90CD1, + 257C168A2D450218B158E7BC, + C2DF4936EF95E5A32E71B755, + 8AED766CFA1A37B45BC2DE98, + 0CAE7725A1DB51AA7D3CE2ED, + F37501AA1865957279DBF820, + E9745B8F0DE747F94EAF65A4, + D7AD93F3A8FAFDBFDF1B5DF5, + A79BB852E29F1BDE96AF613A, + C11E39E7C9D18AC810369A50, + DACA6E5A3CE684EC649F31B7, + 51D0A454D79EB99241AA1FE1, ); name = fonts; sourceTree = ""; }; + CF9684A9343C50494F51B800 = {isa = PBXGroup; children = ( + 6F12413CE2BF3B7B0E8FD50B, + 57D814738C5CB6D994984F98, + E2A39DE02AF9ED3035EC5F9E, + 947776740572A5A07C2500EE, + 35B09493554CBE82B89CABA2, + 524CB59E51CF8B42EFF88129, + E8EB40396974468FBD0EE15B, + E558CF08264E559967E2F538, + E2893CF05E01B66FC69E2E93, + 233959140E5D6C2348DEDFC0, + B1972B63AC71C03527E02534, + 1F9C82CD04D63753C7B56FCA, + AE0F66472A7765041DD5F722, + A35BCEE1A423BE734BB3EC80, + 41160F46936DACC3CE2384BC, ); name = geometry; sourceTree = ""; }; + ABB482AD92C0AA5461E2EBCC = {isa = PBXGroup; children = ( + 47C5EAA4FDB09A919047097B, + A7D9A07B7B44888CF960B9B4, + 4BCC956571543FE3E8426F11, ); name = "image_formats"; sourceTree = ""; }; + 9F48F8FF0DC290C4685E8736 = {isa = PBXGroup; children = ( + 600E363997E4D34382349626, + D908038BAE155E55517AB2FC, + AF575F9303D3AA5E410C274A, + 648071EE7F5AB0EFA06D0A6C, + D36CD153A79988DA706EC9A6, + AAA19AA6801AFA1AF07C8E2D, + DA42AACD549E6C214EE09CF0, + 0B557BFDEF2C0249EC732AD3, ); name = images; sourceTree = ""; }; + D9601C69B5DC0B2C2DE34F12 = {isa = PBXGroup; children = ( + 4B4C75787794A7A56E55731F, + 96102E98CC639030FAD7EA68, + DBC04DFB6E9667DCA1BC83E8, + 8693349823D718B2BE254101, + B33097C6BA7E4793E7536BBC, + 53BEB5C2536814DD97FA6286, + D5797410CEE0E8D2E03D98F2, + 17EE88F0A67B5FD24182345A, + 042C7366A26A18DFA13B2512, + CF6FA9D2F39F03FE2858F11B, + F3D09A0EE7D17AC66B30155A, + 58E2885768EF7366025F4A23, + 28309CD49B2260C187FED2DF, ); name = native; sourceTree = ""; }; + F75A851FF72ECF54F3AE4F33 = {isa = PBXGroup; children = ( + F68409D2238C16D94715445E, + DEC63BC653D0F918D0721CF4, + 86AC66980898843AE721BD08, ); name = placement; sourceTree = ""; }; + A0F34AB1DA27212F06E72572 = {isa = PBXGroup; children = ( + 66D0D5BF4AA53118AD82D8A5, + A2C06250C4A67B53ABC5E404, + A2BA71807965ACAD8DFB2901, + 963A45A2A5EA3700518FCFF1, + CF9684A9343C50494F51B800, + ABB482AD92C0AA5461E2EBCC, + 9F48F8FF0DC290C4685E8736, + D9601C69B5DC0B2C2DE34F12, + F75A851FF72ECF54F3AE4F33, + 11C585D0BE28AEB6941E0E8E, ); name = "juce_graphics"; sourceTree = ""; }; + 114C01CACCCB00FE90FB0F41 = {isa = PBXGroup; children = ( + BB8432AE150D5AEB38808FA9, + A1595E748092878FDAEA5A30, ); name = application; sourceTree = ""; }; + 3DD6095E89D1D660DB29B8E2 = {isa = PBXGroup; children = ( + 7F1746052D09CD80BDB28BF8, + C4BBB0A36D8C8E7D180247DA, + 8E61D5E0D6068F247E70219C, + 31A18092A539E3763FBAEC65, + F873CF6ECA029B94F7F4084F, + DAEE812EF95F96E7D65D875F, + C80FFBB5F1E2674B9DBC054B, + F27FD37C4F6D16400014F5F7, + A11CF361C0253B499324D31E, + B3CA6447C345EE05F8B98195, + AACAB54751155F5AE9CFCE61, + D4C0852C1C54EDA5D4F82EB1, + 221B409DBCBD063B4C7A8253, + ACDA8668B39A102D419BD481, + 1E81FFB8798BCB6C6E8C82C7, + 58797A7F2D9F46830E4B7893, + 5E0894E38188345B5643E7A3, + 2290343F8EDF842707A28B00, ); name = buttons; sourceTree = ""; }; + 25BAA027904C4BD277CFFEA8 = {isa = PBXGroup; children = ( + 781F73EF2934742C97B305D3, + 6DF4FA55C69B25537DCD88C8, + 89B73E1F52531A1A8A1C3E9E, + 738FC67C7D9A53148C0A21AC, + EEE67087AEC296875FA1D934, + 0737F61AF723FA62458B92BF, + 5982DB12F71224C609600E4C, + 602803D62DD249B1F47FC0DE, + DFE5FACFB131FF766CE6DEEF, ); name = commands; sourceTree = ""; }; + AE4E0824E040DF41FA3AF50C = {isa = PBXGroup; children = ( + D87ED789DA527A749E7310E4, + E03AA585A375A39A9BFF3DD4, + F5E8E9C083E0933E6FB6CC13, + 5D4C79A914D3D6297D605D14, + DC6E859FF89B5A3C9BAFE19F, + 4CCA15F86C8EC799F1EA64E9, + CFAFC86F4D25AB5A31DF3BE5, + 387EFF395C9CEF73E0EDEE68, + B6ABAD2ACC048C4DAB31CA27, ); name = components; sourceTree = ""; }; + CEB67F0959F29DA5368B896B = {isa = PBXGroup; children = ( + FE57CDE96F42D240BC5BF9B5, + D7CDE24FD157D0DF359E9D8D, + A9DD0C9B00D83CBB77EDBFA6, + BD283419247CBA6C6DD2ADD6, + 3A53F5D6A8D1C20349358EE3, + 4832A1539FCE4D132EDE2BF4, + 8ACD82D09483797E1A7A65B2, + 9F142652D1037C744443A4E3, + 856618203AAE94C7B806F9EF, + DB3A7C49C8444BD2F57B6689, + B85C9F9BF94FA8926EB9ACB8, + 1F9CAB8660B3BA12C6147B6F, + AAB7E87C600B13349477C51C, + 15C8A0E89E2A3DFAC733FCD9, + DCF51EBC4D12F196EEB28FB1, ); name = drawables; sourceTree = ""; }; + DC48D48A970972B5C36954CB = {isa = PBXGroup; children = ( + A12A4C86AE4FA12C99334932, + 2097DD131081E241DA8558B4, + 12D76B0BA7A16AB10A052E19, + C9494DFECDCD27C0815A6F17, + 2393C709A9A39322250847A4, + 344B210DB54B8B4AFEC3D689, + 67198AF7663A53BFB0F523B4, + AE8270C49E4D0C9109CF8499, + 9AD8EF3FD4D40465CD2804EB, + 8174AFC02C04E98EB5C1B21E, + 65EC75BD541EA5DFC79BAF8D, + BED2D02D5F333084E058D678, + 7D0417B22EF55BE16E7C5061, + 005F4C7FE38D54E7FDFC3F9D, + F0B93DF7A7FDD7B7267F09E2, + 135D3D0727C92A67F71E4254, + C14EFFF60594E0BC2421DC0F, + 382821702E599201DD249FC5, + CDE81ADB14F09742FBBA28E6, + EAD2501B6373C4B871F5E94E, + 2C2C2A5006ABCED2CD5E2AC1, + 6BFD44A17AD9EBB6C686BBD9, ); name = filebrowser; sourceTree = ""; }; + D8BE544655B03B674D727999 = {isa = PBXGroup; children = ( + F7E0F072B76ECD5DCD102B88, + D9D057AE4FE642513602611B, + 14A852037C298A105BA716F5, + 5F2D06669F5AADE87DDC34B3, + 1CCCE32D36FB57FBFA6B8BAD, + FB1EE60A865765771EA250C4, + 11178723AF569693785A066F, + EE4D4EE1F1A9A83289EE361F, + 281075EA1C6C7E6F6C26F5A8, + F8A93B8EDF908B6E3AD2C2D3, + 0BF3EE970460415F16F823FF, + 1923954B491DDBBEF5694ACA, + AF02093447674A2DBEFB7B2B, ); name = keyboard; sourceTree = ""; }; + B053FA86A1D971CA40F1061C = {isa = PBXGroup; children = ( + 7D1F7E9BADEA63755327DAE8, + 8BA61007D7B69D122B666B43, + 36356C9C1249E63C966CC058, + F05602C3C1F38396A47F3981, + 5FC18CC5CC7BB4A01EEA2B7E, + A58103D78876730190F3BC4A, + BDEE5F6548D2980373C45F5B, + DA4E0EA3EB80BE34F9047E72, + 5141CBD939C11BC2AD2A4B2A, + F77C93B319FB7E23D69C8371, + F7B8C6AA3AEF025B6BFE5678, + 3CCBF30007C57491CF649D39, + 0B842061D62F68F42428E33A, + E7E45873BE802DD8D676E9CD, + F511F1E8F0B3F64C850321F2, + 76783B8486B095C370EB5FCF, + 1B794C1F7E3459B014C75197, + D48932C6554B443ECB71DC87, + E284D421936862F4333C9F50, + 614288645B28D868DD5CEC71, + FA853017FA621FC683E872ED, + A452E5BB6D20DB6842646EE0, + F3B96CA7271488A73B3FB156, + 1882040AC74DD8A41D05F06E, + AB29C711385848DAC5DD867F, + 18A0299049ABE5D250CB0FD4, + 576D7CB51E9C4EA9303D1D21, + F60276DF99D86FCE8A565BE6, + 67C820D7305BFD5D8C084603, + 3077EEC44352AF040A0D33A5, + F349F9D2750331FD075E75A9, + 5B20D0F05D7F4E9BC268C313, + 1A74067A82DFA16E4E302BDF, + B58CC7A93DBB3706A60E9E76, + 3254D1D2BAE05393E5DAB1FB, + B442A76A84E1800D10EE5954, ); name = layout; sourceTree = ""; }; + B485204A0AE63B05D46A59D8 = {isa = PBXGroup; children = ( + ECE0E7CC17846F150AF6C901, + 85DE0813E0EC15BF1435C132, + FE34F4ABFE740FFEEACB468E, + 6B6303E5AA18CCB271E1140C, + 222404E72D12376641634275, + F49DAF0F225F071A4CCAC866, + 689C5CEA66D05F6AAB2AD543, + BBD06432CC4155521050CD2A, ); name = lookandfeel; sourceTree = ""; }; + FBF1248E3983D9BDFF37FF37 = {isa = PBXGroup; children = ( + 19E72A5209E3A31D442AF7F8, + F6E320B598D5271551AF8743, + 1CBE1E675953EF2172FAD79E, + 4B8AC6E7C0E4C3A9075AC874, + FECF8B067AC43A560B50217D, + 55DBC30F1FE74C23DFB58E50, ); name = menus; sourceTree = ""; }; + 1674B664BC68F967459239DC = {isa = PBXGroup; children = ( + FFBC99113C3CF37BD6C3C100, + 04AD581DA72D441C50F4D53D, + E433734FC5466D7E26FC11D8, + 4751E292EFC458EEC5C6B609, ); name = misc; sourceTree = ""; }; + 2EC5F136D33B29FC7CA4DE09 = {isa = PBXGroup; children = ( + 9D7CC03B14BBAFA3DB901A22, + 681883990694067C832FF46C, + 2C76770E17F0C15163E376B8, + 0470F8A85B927F530A374CDB, + B2CF7DCAD1C8871201A6CE26, + 497EF0535E967594AA839D78, + 22B34EE13C714FA916E10747, + AC223785E50A0284BAC9C879, + B5CD08BC33A8414D48F4CD67, + 07731AE3B779E9D7B560C394, + 0A2F6E47C38E8433AA318B2E, + 27E7DE365A996907F2381740, + 6BF55D993FE51EDD08D0E426, + 0040A971F52DDCF3BD1AA6A6, + D98FE007073170879B3453CD, + 0FD0A1A31985ABBBF0ABACA7, + 120DA52B14963529AF23E4D0, + 55F91724EE6A48D2093E49C5, + E0484E5F0994D64013F4EEA9, + 0CA2C16285A53550FF3BFF4B, ); name = mouse; sourceTree = ""; }; + EFECF9EB8DF4192F2C0BB9CF = {isa = PBXGroup; children = ( + 3CF1BFA42E09BA635804012C, + F720563676D4C9E4DE103144, + 73452324A4B3A16EFC98F31A, + D0A4E2C5F2B21172DE13DE0C, + 13C5BDE7720A7963AC736BC1, + 8B41FABCC567F034274522B0, + 249C42CD1086AFA592455970, + CD3ABE20AE524B92B9B6A6FA, + F2748B621652974B80EA33C0, + FD9D2DD3D3C7F14F07505EE1, + E104DAB2F8C8F885C393011A, + 0DDFA4ECA18ADDF430BFEA7E, + A440AA225DF048215509E577, + 5EDCECF062EB01976634221B, + 0EF4BF328799608AE16E7596, + 7FE887D76DBB520BBC48CDAF, ); name = native; sourceTree = ""; }; + D9D570FC62B1FD78005B49E9 = {isa = PBXGroup; children = ( + 78F63AA848D74E5E555EB802, + 7BAB8DD68B7A25B281233969, + 745B58030382C3D0DB6E7815, + 984C35577FE047A66ACC892C, + 8F3FC2A8E965AA4E83259DB3, + C25203A01A84B7032A7774CF, + 786D0A06690AC040E7D8E525, + 90C18AF3CAC0E59C88732904, + 8C097DF0606C8FF6B60BEA38, + 9E2454FACF592AE472873A44, + 0F74F021243AF898305447F1, + 7A772485103B4848CD67493D, + F1B548156993F8F8A27A254E, + 854757FAD81F978667CAA43C, ); name = positioning; sourceTree = ""; }; + 4BFFEEB3AC472C4FAACF36E9 = {isa = PBXGroup; children = ( + 8E29909B5886662F2EC3F5CF, + 3BC1A61883750CA66661C604, + D8E68D83ACE5DBEA2B7BC876, + 26119533942D8F97DB48987C, + 48CA224BFA100226BC71AC64, + 9312B68ACDD2A4EAA31CAA73, + 0CAE94701F33517C1CD31C63, + E4D985BB229FC31731681790, + F49713E132B21A9445D9457C, + 2ACD8B4F8D47934FD31769B3, + D557AAD12557BF1706441B19, + E795FC063102CA8BAB722C58, + A7399999B1C3CE46C66268C1, + 5CD7B7469B5384EA47491D9E, ); name = properties; sourceTree = ""; }; + E479A9FE3A50D7B6BD85270C = {isa = PBXGroup; children = ( + 94EA45AA948C996F231D6946, + 9C1E95CA7727BBD44E34D79D, + ABA6244EC74C888920DEB016, + 6278B64C03341B5EC57B2BAF, + 19E96BA421072EFF69CA0A33, + CF2F576CE0F6A185597C8D40, + 955635CD2D6A1C5BACA519CF, + 732AAC0FCBADB4A676F564F8, + F7B0BEEDF640444239AE37A1, + A666509292D7F4C3B7F5B0DC, + F02FEB2715C4468E892C4D81, + 7D1E28BE09A85EEBA041558C, + B5029BFA56B6E1BB5FB43BFD, + C3ADBEBC9062404FEB0FB411, + E09404F45899AA1E82CFC21C, + 17D44D834820845D7F4BCB79, + ADA10B57D3CACBF7CA3E7058, + B2F8C1DFA6A765EDB034399D, + 89CC639E5B1CDE71BDBC02D9, + 77BA5733C3FA0C1CEC8FE131, + 5936F657A3A28132D6D27A93, + 80970DB9418D27DD52879D1C, + 92529B06E070A28F0C3C4914, + 37D8B8B49EB8AD563A85429A, + 45827A9ADCD3F3218A3C6973, + 4A0809E1FE4E9A9DFCCE969A, + FFA3E864C97EFB93C649CE18, ); name = widgets; sourceTree = ""; }; + 3DB1D38F9A3EC7233CFD8EC1 = {isa = PBXGroup; children = ( + E222D865360AA81EE8004879, + E320A8161071D0D1B9261E2B, + FA2294BEBE10309C12F214C4, + 8E1318FA20D468AD45C7A20F, + EFE5A21A4334CFA45BFB6CB0, + F345082D5BB9954FE5EC6D2C, + 156F6F1A0F64BAC3E8416D01, + D636983E7D4B5897EF493708, + 230BC07FD9E7883390F5E3E2, + D7F0DF2B23660D1E12432C36, + E2D3D295ECC0BCE28B24FC66, + 67B79757C8BD5E9CA565C041, + E2941ABF420491F119166C29, + BF764E314E4F6DD434BA711A, + DD9FC19B24786726D89345A2, + 47C4B1BBEA18BBA732830B23, + 0FBF33EFF911E926019DA013, + FEA74F5391F10765ABED4024, + 6DFFC8543FE2A02FC551F397, ); name = windows; sourceTree = ""; }; + 8BAF33F08F3F3B821F1421C2 = {isa = PBXGroup; children = ( + 114C01CACCCB00FE90FB0F41, + 3DD6095E89D1D660DB29B8E2, + 25BAA027904C4BD277CFFEA8, + AE4E0824E040DF41FA3AF50C, + CEB67F0959F29DA5368B896B, + DC48D48A970972B5C36954CB, + D8BE544655B03B674D727999, + B053FA86A1D971CA40F1061C, + B485204A0AE63B05D46A59D8, + FBF1248E3983D9BDFF37FF37, + 1674B664BC68F967459239DC, + 2EC5F136D33B29FC7CA4DE09, + EFECF9EB8DF4192F2C0BB9CF, + D9D570FC62B1FD78005B49E9, + 4BFFEEB3AC472C4FAACF36E9, + E479A9FE3A50D7B6BD85270C, + 3DB1D38F9A3EC7233CFD8EC1, + 6318A339AECAF501129080C1, ); name = "juce_gui_basics"; sourceTree = ""; }; + AA5BAAD6DCF5F182AAD650C3 = {isa = PBXGroup; children = ( + A1CFD76549B8E9EB1C360ED5, + 8AEA9D5BBBC4CB214F18FCE3, + 407594E170D93B59D103C9F9, + 8BE57B5119CAEC5B32929064, + 63CC74AACD754A2EDB1F27BC, + 248A66F8517F19A7F12433D2, + CB23F9E24266013856B53BBE, + 1FAFD9FD13BC47F3BEE7E4E8, + 24BFE051E896A8229AF3656B, + 8BE052A2AAFF109DC2A21423, + EC47F3AE085DBD9355D975CE, + 4E22B7FBB34DE120CD03968D, ); name = "code_editor"; sourceTree = ""; }; + D57420D7124340D871991FF8 = {isa = PBXGroup; children = ( + 1DE41A53AABA7D76432B567F, + 16F4A8C0228D84216A33B9B4, ); name = documents; sourceTree = ""; }; + DBA0F82E3877BFFD0D5F7DAE = {isa = PBXGroup; children = ( + D43C762F1355546820373F14, + 7B351E0CEB9BE04BE1F04AF5, + 35331E7E5F8892DF428E5E14, ); name = embedding; sourceTree = ""; }; + 98A4B9C6C58A3E2293C90704 = {isa = PBXGroup; children = ( + F895132C805C3C8187536E4C, + 2024F0516E5DB6817D115CE3, + 968EC4E33A1D1949AA4A9F87, + 6E10B741CB11E590041A27E5, + BABAE6EE994D5EBDC4013AAB, + 5F894362C162E5468B51333A, + 97DDC460BD01030B91158218, + 5BCD28B01336D9D88606E3F9, + 3AFE3B9417789706ECAE236F, + 3DAF5957533C9C8011332F42, + F568A91391DB3F0F2412E8D1, + 6404A39C88F8BCDDBB5D885D, + 4D543A42A648740D1AB564A1, + AB64E9DDECC08374FB9EA75D, + 37E2E5903AB98FFA27584CB7, + 15AA6B90FEE89B0D3C1F06CA, + 9C8EE354D6D44D9DF4782101, + 4EA72ED51C1590F4AFDF7E5F, + 49F8A0C7FAC57117BD2F9BAF, + 323F56F4C398D57CA7910CE7, ); name = misc; sourceTree = ""; }; + 750431D788358575DAFE4E8A = {isa = PBXGroup; children = ( + AA382FBAEDD76245D686042F, + 7E838C96F00848B2EE6E2F72, + 53C30AAD14A7899AB7D9584C, + EFF4EFA57D166DDAC54C3041, + 15D7465655AABF4F6BBA81CF, + 0C5C43B5677B8F335F364B14, + 98305AA6513DCC298E322C0B, + 0317FC7737CA599686725C64, + 9B17FF5755D8E809D2DDAC2A, + 54D3C5E5AE4C1384F4220D71, + E2E958362263925141558B05, + 121DD39EAA6066F411B049A1, ); name = native; sourceTree = ""; }; + FADEF5D8552166D43B12A23E = {isa = PBXGroup; children = ( + AA5BAAD6DCF5F182AAD650C3, + D57420D7124340D871991FF8, + DBA0F82E3877BFFD0D5F7DAE, + 98A4B9C6C58A3E2293C90704, + 750431D788358575DAFE4E8A, + 64106F0CE5505E7976249672, ); name = "juce_gui_extra"; sourceTree = ""; }; + 733241AB9631FD8308362F80 = {isa = PBXGroup; children = ( + 5E2CF82B2790DC31C2A42EDA, + 596BD0AE10AA6B1E7AC01F15, + 3B848EB4797469286E5DC42F, + E4D31720EE240DC9A75C9459, + 0117D11B67D779E61A4F5529, + FBF7568E0A1FB934691CFB9B, + 0B5C4CA2D787EC3780C7CBE8, + A90E4C4C435E8AE44C245413, + B5521BD970390A393CE16042, + A0F34AB1DA27212F06E72572, + 8BAF33F08F3F3B821F1421C2, + FADEF5D8552166D43B12A23E, ); name = "Juce Modules"; sourceTree = ""; }; + 63A38F38F86544DC7AFC43CC = {isa = PBXGroup; children = ( + 472DDAB1CE4DD81D3F48576C, + 5063E96C5D8860003810C70E, + 4F2C691556C568CB650E4CB8, + 18ADDCF1C2123777FA507D82, + 4D8CF31D3C9F2A91C42CF8FF, + EC9D06705CCAD94B653A6E82, + CC14A34F66FDF9E12523CABF, + CF02DA80A8A515CE41B0C8F6, + 63AFF514CAE6FB89A3503CEF, + A8315F08B794D9C87328F17F, + D9ED0926381D40DA1A66C26D, + 9965CB9ED8D2B26CACA9C44A, + 58E254BD072595F6E3F6D5F5, + ED8140AF46A706EDAA040283, + 894DE965F10168F149FBE8F9, + 64B7CFC6CE9B929135A4ACA3, + 820B1466E6B31A80C699D084, + E553E188A17BDF4E832F0A01, + F138CA63A1127DA0DB69B127, ); name = "Juce Library Code"; sourceTree = ""; }; + A727F6B063FCDB816462D213 = {isa = PBXGroup; children = ( + F3498E82A2D4ACBED68A7F43, + 6AFB9EB642850186B551DB33, + DC3450D131A4D1B1EAA04B30, + 9A419F28D68BDEB200F29603, + D06C2B85E02F13F9B57DB1A9, ); name = Resources; sourceTree = ""; }; + ED86208188082DE5EA9381E4 = {isa = PBXGroup; children = ( + 7CBEB55B80E78C9DE16A713A, + AC3356631ED2AC043BC67B79, + 60F11ABAC12D373D4BFEA447, + 5AD0B0347A511D96D2880A06, + 296CD54575ED27C23A2F13F3, + 4B06F0FD512A72015EA72B0B, + 872D05BD56490FD7B375C11B, + F563EF4F5BE16082D5E612C9, + DAF78E342ACF24B5A83E0605, + 29982493607128FD6DB6A284, + 5EF6762AB1C5CE4C2DCD59ED, ); name = Frameworks; sourceTree = ""; }; + E793574695108F202603BAA5 = {isa = PBXGroup; children = ( + 746B19364297E7D489749B70, + EC3DE1F504C76EEDDA7F2216, + 9536B5A780A03F6BACB24144, ); name = Products; sourceTree = ""; }; + 4BFA153CE4E8A774C67EC642 = {isa = PBXGroup; children = ( + 8E3C833F5CCC3BD43C061796, + 733241AB9631FD8308362F80, + 63A38F38F86544DC7AFC43CC, + A727F6B063FCDB816462D213, + ED86208188082DE5EA9381E4, + E793574695108F202603BAA5, ); name = Source; sourceTree = ""; }; + 7007C784A0219490DFD18C27 = {isa = XCBuildConfiguration; buildSettings = { }; name = Debug; }; + 0ADE306E346FE4F925722F86 = {isa = XCBuildConfiguration; buildSettings = { }; name = Release; }; + DC95EAEBECC74A55CADCD887 = {isa = XCBuildConfiguration; buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_DEBUG=1", + "DEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=1", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_IPHONE_5BC26AE3=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-AUv3_AppExtension.plist; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../../Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.roli.development.AUv3Synth.AUv3SynthAUv3; }; name = Debug; }; + 5FAC649347835B831BAE3C41 = {isa = XCBuildConfiguration; buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + DEAD_CODE_STRIPPING = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_NDEBUG=1", + "NDEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=1", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_IPHONE_5BC26AE3=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-AUv3_AppExtension.plist; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../../Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.roli.development.AUv3Synth.AUv3SynthAUv3; }; name = Release; }; + 39D3FD9D3D06BC306F9E323C = {isa = XCBuildConfiguration; buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_DEBUG=1", + "DEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=1", + "JUCER_XCODE_IPHONE_5BC26AE3=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-AUv3_Standalone.plist; + INSTALL_PATH = "$(HOME)/Applications"; + LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.roli.development.AUv3Synth; }; name = Debug; }; + AE95330B72116D75608B9C68 = {isa = XCBuildConfiguration; buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + DEAD_CODE_STRIPPING = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_NDEBUG=1", + "NDEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=1", + "JUCER_XCODE_IPHONE_5BC26AE3=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-AUv3_Standalone.plist; + INSTALL_PATH = "$(HOME)/Applications"; + LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.roli.development.AUv3Synth; }; name = Release; }; + DBCA8A687AB8CE4F0FDE4C3D = {isa = XCBuildConfiguration; buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + COPY_PHASE_STRIP = NO; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_DEBUG=1", + "DEBUG=1", + "JUCE_SHARED_CODE=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=1", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=1", + "JUCER_XCODE_IPHONE_5BC26AE3=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-Shared_Code.plist; + INSTALL_PATH = "@executable_path/Frameworks"; + LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)"; + PRODUCT_BUNDLE_IDENTIFIER = com.roli.development.AUv3Synth.AUv3SynthFramework; }; name = Debug; }; + 5DA389BE0C844A1A9E20FD7C = {isa = XCBuildConfiguration; buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + DEAD_CODE_STRIPPING = YES; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_NDEBUG=1", + "NDEBUG=1", + "JUCE_SHARED_CODE=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=1", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=1", + "JUCER_XCODE_IPHONE_5BC26AE3=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-Shared_Code.plist; + INSTALL_PATH = "@executable_path/Frameworks"; + LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)"; + PRODUCT_BUNDLE_IDENTIFIER = com.roli.development.AUv3Synth.AUv3SynthFramework; }; name = Release; }; + D32671708EF2662A51A6335A = {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; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; + GCC_WARN_MISSING_PARENTHESES = YES; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_NAME = "AUv3Synth"; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + WARNING_CFLAGS = -Wreorder; + ZERO_LINK = NO; }; name = Debug; }; + 7C9E7C9B2C1D5310B9194C27 = {isa = XCBuildConfiguration; buildSettings = { + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + ALWAYS_SEARCH_USER_PATHS = NO; + DEBUG_INFORMATION_FORMAT = "dwarf"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_INLINES_ARE_PRIVATE_EXTERN = YES; + GCC_MODEL_TUNING = G5; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; + GCC_WARN_MISSING_PARENTHESES = YES; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + PRODUCT_NAME = "AUv3Synth"; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + WARNING_CFLAGS = -Wreorder; + ZERO_LINK = NO; }; name = Release; }; + 8F5816EA1D519B78C3345C1B = {isa = PBXTargetDependency; target = 7A046597FDDDB82B78C64AAC; }; + E06C8C12CD5FDD7FB372E602 = {isa = PBXTargetDependency; target = E600EF631F7AFA8F3A723E29; }; + 017B214D817BF0DF53051BB2 = {isa = PBXTargetDependency; target = CD6892FED0DB19C0DDD9AD37; }; + 444EA74CE26BF416566E542C = {isa = XCConfigurationList; buildConfigurations = ( + D32671708EF2662A51A6335A, + 7C9E7C9B2C1D5310B9194C27, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + F550A01E8A9468C64A914B97 = {isa = XCConfigurationList; buildConfigurations = ( + 7007C784A0219490DFD18C27, + 0ADE306E346FE4F925722F86, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + EF49DCC88B5FC3C6E67ED2A4 = {isa = PBXAggregateTarget; buildConfigurationList = F550A01E8A9468C64A914B97; dependencies = ( + 8F5816EA1D519B78C3345C1B, + E06C8C12CD5FDD7FB372E602, + 017B214D817BF0DF53051BB2, ); name = "AUv3Synth (All)"; productName = AUv3Synth; }; + 3A7896DB2C11717D9046CE5B = {isa = XCConfigurationList; buildConfigurations = ( + DC95EAEBECC74A55CADCD887, + 5FAC649347835B831BAE3C41, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 0306890051760AEBAFEA2099 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 6F585AC4628EC14C9F757022, + 78704983DFEA5408FC5767D8, ); runOnlyForDeploymentPostprocessing = 0; }; + E60CDCD59C66D98FB19938F1 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 0942F20A9A312E80B2EE65E5, ); runOnlyForDeploymentPostprocessing = 0; }; + 671E50F4F02FC98293270CFC = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + FAD4DF17110D52B8ED8D9F93, + 737E06660F37BFFCABD89643, + D53302896621B8A3E8BDD606, + 669F51FA55E939D010EA279D, + EDC8ABA2EC0A2D7A2147E896, + 7DEC97493F97160DE6622DBC, + 1DF18B2507A574FBA9C49DE1, + 71F62F07CBC67FB4FB010583, + 6B818B8342839FB008124DEA, + F452B8399A32BE4F1074F596, + E4236DCEE707C3855C2E3B22, + 77FA445D27C21FBA66A46BF2, ); runOnlyForDeploymentPostprocessing = 0; }; + 7A046597FDDDB82B78C64AAC = {isa = PBXNativeTarget; buildConfigurationList = 3A7896DB2C11717D9046CE5B; buildPhases = ( + 0306890051760AEBAFEA2099, + E60CDCD59C66D98FB19938F1, + 671E50F4F02FC98293270CFC, ); buildRules = ( ); dependencies = ( + 017B214D817BF0DF53051BB2, ); name = "AUv3Synth (AUv3 AppExtension)"; productName = AUv3Synth; productReference = 746B19364297E7D489749B70; productType = "com.apple.product-type.app-extension"; }; + 8F1BF8EDA79F1FBE486B7666 = {isa = XCConfigurationList; buildConfigurations = ( + 39D3FD9D3D06BC306F9E323C, + AE95330B72116D75608B9C68, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 4E507FDDF2C5DF3FE77D60E4 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 6F585AC4628EC14C9F757022, + 78704983DFEA5408FC5767D8, ); runOnlyForDeploymentPostprocessing = 0; }; + A812A60164A58387AB98CBC1 = {isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; files = ( + 77FA445D27C21FBA66A46BF2, ); runOnlyForDeploymentPostprocessing = 0; name = "Embed Frameworks"; dstPath = ""; dstSubfolderSpec = 10; }; + 7B44C01FD5EBA7864D985AC2 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 0E0B50F4A042E48B9631A42A, ); runOnlyForDeploymentPostprocessing = 0; }; + 07033B8316DF6C9CC2B31737 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + FAD4DF17110D52B8ED8D9F93, + 737E06660F37BFFCABD89643, + D53302896621B8A3E8BDD606, + 669F51FA55E939D010EA279D, + EDC8ABA2EC0A2D7A2147E896, + 7DEC97493F97160DE6622DBC, + 1DF18B2507A574FBA9C49DE1, + 71F62F07CBC67FB4FB010583, + 6B818B8342839FB008124DEA, + F452B8399A32BE4F1074F596, + E4236DCEE707C3855C2E3B22, + 77FA445D27C21FBA66A46BF2, ); runOnlyForDeploymentPostprocessing = 0; }; + 9D91842D2BFCA3D239EE3E53 = {isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; files = ( + EE8DCBA5DC0EE7CAD6FF2F39, ); runOnlyForDeploymentPostprocessing = 0; name = "Embed App Extensions"; dstPath = ""; dstSubfolderSpec = 13; }; + E600EF631F7AFA8F3A723E29 = {isa = PBXNativeTarget; buildConfigurationList = 8F1BF8EDA79F1FBE486B7666; buildPhases = ( + 4E507FDDF2C5DF3FE77D60E4, + A812A60164A58387AB98CBC1, + 7B44C01FD5EBA7864D985AC2, + 07033B8316DF6C9CC2B31737, + 9D91842D2BFCA3D239EE3E53, ); buildRules = ( ); dependencies = ( + 8F5816EA1D519B78C3345C1B, + 017B214D817BF0DF53051BB2, ); name = "AUv3Synth (AUv3 Standalone)"; productName = AUv3Synth; productReference = EC3DE1F504C76EEDDA7F2216; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; + AF907C78A0D17B741F5F8944 = {isa = XCConfigurationList; buildConfigurations = ( + DBCA8A687AB8CE4F0FDE4C3D, + 5DA389BE0C844A1A9E20FD7C, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 1F4A8812AAE49E02F3215F48 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + DE7F04372E0068FDBB51B63D, + EB5DBEF68B987F85D1977CE6, + A9ED010F8EE28A1E880009F6, + 5EE52C46C67C9D298B76A8EF, + 00634FB8FE591A7C252FF899, + 72733104CA9C62BE856879C9, + A00624D77FD68669DD6234D0, + 8EBD1E279B7E4B420F310D12, + 045E9D3412FD38BFE3071254, + 4066B5EF83133035C3579D0D, + 494508643A4F4A0D1BCED1E8, + 00422A568EFE5C77545FD0A7, + 5E0C694827A6C5CB4E44262A, + E75CEEF234B6E886AFFB169E, + 4D9D92DD454BB03746241196, ); runOnlyForDeploymentPostprocessing = 0; }; + DD8174BEFC02C154F131A674 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + FAD4DF17110D52B8ED8D9F93, + 737E06660F37BFFCABD89643, + D53302896621B8A3E8BDD606, + 669F51FA55E939D010EA279D, + EDC8ABA2EC0A2D7A2147E896, + 7DEC97493F97160DE6622DBC, + 1DF18B2507A574FBA9C49DE1, + 71F62F07CBC67FB4FB010583, + 6B818B8342839FB008124DEA, + F452B8399A32BE4F1074F596, + E4236DCEE707C3855C2E3B22, ); runOnlyForDeploymentPostprocessing = 0; }; + CD6892FED0DB19C0DDD9AD37 = {isa = PBXNativeTarget; buildConfigurationList = AF907C78A0D17B741F5F8944; buildPhases = ( + 1F4A8812AAE49E02F3215F48, + DD8174BEFC02C154F131A674, ); buildRules = ( ); dependencies = ( ); name = "AUv3Synth (Shared Code)"; productName = AUv3Synth; productReference = 9536B5A780A03F6BACB24144; productInstallPath = "@executable_path/Frameworks"; productType = "com.apple.product-type.framework"; }; + D0E003364F0BE3205BD9243E = {isa = PBXProject; buildConfigurationList = 444EA74CE26BF416566E542C; attributes = { LastUpgradeCheck = 0440; TargetAttributes = { EF49DCC88B5FC3C6E67ED2A4 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };7A046597FDDDB82B78C64AAC = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 1; }; }; };E600EF631F7AFA8F3A723E29 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };CD6892FED0DB19C0DDD9AD37 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 4BFA153CE4E8A774C67EC642; projectDirPath = ""; projectRoot = ""; targets = (EF49DCC88B5FC3C6E67ED2A4, 7A046597FDDDB82B78C64AAC, E600EF631F7AFA8F3A723E29, CD6892FED0DB19C0DDD9AD37); }; + }; + rootObject = D0E003364F0BE3205BD9243E; +} diff --git a/examples/AUv3Synth/Builds/iOS/AUv3Synth/Images.xcassets/AppIcon.appiconset/Contents.json b/examples/AUv3Synth/Builds/iOS/AUv3Synth/Images.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000000..c0af172f62 --- /dev/null +++ b/examples/AUv3Synth/Builds/iOS/AUv3Synth/Images.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,128 @@ +{ + "images": [ + { + "idiom": "iphone", + "size": "29x29", + "filename": "Icon-29.png", + "scale": "1x" + }, + { + "idiom": "iphone", + "size": "29x29", + "filename": "Icon-29@2x.png", + "scale": "2x" + }, + { + "idiom": "iphone", + "size": "29x29", + "filename": "Icon-29@3x.png", + "scale": "3x" + }, + { + "idiom": "iphone", + "size": "40x40", + "filename": "Icon-Spotlight-40@2x.png", + "scale": "2x" + }, + { + "idiom": "iphone", + "size": "40x40", + "filename": "Icon-Spotlight-40@3x.png", + "scale": "3x" + }, + { + "idiom": "iphone", + "size": "57x57", + "filename": "Icon.png", + "scale": "1x" + }, + { + "idiom": "iphone", + "size": "57x57", + "filename": "Icon@2x.png", + "scale": "2x" + }, + { + "idiom": "iphone", + "size": "60x60", + "filename": "Icon-60@2x.png", + "scale": "2x" + }, + { + "idiom": "iphone", + "size": "60x60", + "filename": "Icon-@3x.png", + "scale": "3x" + }, + { + "idiom": "ipad", + "size": "29x29", + "filename": "Icon-Small-1.png", + "scale": "1x" + }, + { + "idiom": "ipad", + "size": "29x29", + "filename": "Icon-Small@2x-1.png", + "scale": "2x" + }, + { + "idiom": "ipad", + "size": "40x40", + "filename": "Icon-Spotlight-40.png", + "scale": "1x" + }, + { + "idiom": "ipad", + "size": "40x40", + "filename": "Icon-Spotlight-40@2x-1.png", + "scale": "2x" + }, + { + "idiom": "ipad", + "size": "50x50", + "filename": "Icon-Small-50.png", + "scale": "1x" + }, + { + "idiom": "ipad", + "size": "50x50", + "filename": "Icon-Small-50@2x.png", + "scale": "2x" + }, + { + "idiom": "ipad", + "size": "72x72", + "filename": "Icon-72.png", + "scale": "1x" + }, + { + "idiom": "ipad", + "size": "72x72", + "filename": "Icon-72@2x.png", + "scale": "2x" + }, + { + "idiom": "ipad", + "size": "76x76", + "filename": "Icon-76.png", + "scale": "1x" + }, + { + "idiom": "ipad", + "size": "76x76", + "filename": "Icon-76@2x.png", + "scale": "2x" + }, + { + "idiom": "ipad", + "size": "83.5x83.5", + "filename": "Icon-83.5@2x.png", + "scale": "2x" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} \ No newline at end of file diff --git a/examples/AUv3Synth/Builds/iOS/AUv3Synth/Images.xcassets/LaunchImage.launchimage/Contents.json b/examples/AUv3Synth/Builds/iOS/AUv3Synth/Images.xcassets/LaunchImage.launchimage/Contents.json new file mode 100644 index 0000000000..235448f31e --- /dev/null +++ b/examples/AUv3Synth/Builds/iOS/AUv3Synth/Images.xcassets/LaunchImage.launchimage/Contents.json @@ -0,0 +1,57 @@ +{ + "images": [ + { + "orientation": "portrait", + "idiom": "iphone", + "extent": "full-screen", + "minimum-system-version": "7.0", + "scale": "2x", + "filename": "LaunchImage-iphone-2x.png" + }, + { + "orientation": "portrait", + "idiom": "iphone", + "extent": "full-screen", + "minimum-system-version": "7.0", + "scale": "2x", + "filename": "LaunchImage-iphone-retina4.png", + "subtype": "retina4" + }, + { + "orientation": "portrait", + "idiom": "ipad", + "extent": "full-screen", + "minimum-system-version": "7.0", + "scale": "1x", + "filename": "LaunchImage-ipad-portrait-1x.png" + }, + { + "orientation": "landscape", + "idiom": "ipad", + "extent": "full-screen", + "minimum-system-version": "7.0", + "scale": "1x", + "filename": "LaunchImage-ipad-landscape-1x.png" + }, + { + "orientation": "portrait", + "idiom": "ipad", + "extent": "full-screen", + "minimum-system-version": "7.0", + "scale": "2x", + "filename": "LaunchImage-ipad-portrait-2x.png" + }, + { + "orientation": "landscape", + "idiom": "ipad", + "extent": "full-screen", + "minimum-system-version": "7.0", + "scale": "2x", + "filename": "LaunchImage-ipad-landscape-2x.png" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} \ No newline at end of file diff --git a/examples/AUv3Synth/Builds/iOS/AUv3Synth/Images.xcassets/LaunchImage.launchimage/LaunchImage-ipad-landscape-1x.png b/examples/AUv3Synth/Builds/iOS/AUv3Synth/Images.xcassets/LaunchImage.launchimage/LaunchImage-ipad-landscape-1x.png new file mode 100644 index 0000000000000000000000000000000000000000..b8a0025f63fcf33f41e91f88b733f42f29eea0a5 GIT binary patch literal 4904 zcmeAS@N?(olHy`uVBq!ia0y~yU;#3j893O0)UI8kyg-Vj*vT`50|;t3QaTtIgzkH~ zIEGZrd3)m^?*RpY0~;3qe$NxU!0X67h4*V_-ed;quzCC28b~qhI1eHlfaU=K6Ay^w zFaVJX2SDVg#AuL=CWg^$Fj_KzO2g4IakQEMCWFxm5|kN6n+BszgV8c^G#iXI4M3&g vXwzV{X#h+HqfG-)W*BW6j5ZBuStjz?#bP0l+XkK2(({! literal 0 HcmV?d00001 diff --git a/examples/AUv3Synth/Builds/iOS/AUv3Synth/Images.xcassets/LaunchImage.launchimage/LaunchImage-ipad-landscape-2x.png b/examples/AUv3Synth/Builds/iOS/AUv3Synth/Images.xcassets/LaunchImage.launchimage/LaunchImage-ipad-landscape-2x.png new file mode 100644 index 0000000000000000000000000000000000000000..817cdf80576586c17f9ff786be3295e5fda14dd6 GIT binary patch literal 15969 zcmeI2Jxc>Y7=+)Lcpl**Nf$-rf>u_R76y|L(QBee!1fBU5k(M1(BiaGD@zLt%T%I; ztp@xLB9;NcLamI7O5*P2*544}*=DE62h7dP&c58?d}St;988Kx%9|}Oh}a5RVq0o! zoYYp;me?qHRa>oHd+9*L6|Y>ZZl69s6f=@b*DoG_cC5_g+S6!q>}+NEU40{5bKk9g zgI@;>a_a_3O#er?>~Vt%LCnA&$Dp)tP#|#w6Ip}!Nr6ixTttL>M2HO`FNK3bo!gv{ zR0FDks)-Sf2J*y0gt-FuUqY(*W ze*;M?q1nMzVDn;1a|oDDuL;O*YbuG$YMI2CzaGS;5_UDd;yQ{o|Wv{<>i^nna#mBu_On zXH;&U2V+0O1ft+Z5NUxM0b{>N3gjdC7%@PJGg2TQ$w%@rWB@B*1+0J-6a!o!yYm8B j%TKsEq|$Hg&8bqa1bcGpIPIb4VoU4Ro3514OaA^ZRUk+h literal 0 HcmV?d00001 diff --git a/examples/AUv3Synth/Builds/iOS/AUv3Synth/Images.xcassets/LaunchImage.launchimage/LaunchImage-ipad-portrait-1x.png b/examples/AUv3Synth/Builds/iOS/AUv3Synth/Images.xcassets/LaunchImage.launchimage/LaunchImage-ipad-portrait-1x.png new file mode 100644 index 0000000000000000000000000000000000000000..f3685597a1db3978e4081a1ff5b538679b85f0cb GIT binary patch literal 5350 zcmeAS@N?(olHy`uVBq!ia0y~yUBhlnw?4k-45O zjv*Cu-d;CkWKiHau%WU3`~#*wHLhP}XU|A7FeoJc=L71xX9y$&l7NK55g_5v!N|bS zAOJF55oER#50Ge)01_Od3P*!yG*OIZh0&5?w0s<`6-Fz~(Wb&^18KBbINE9+?JJD- ykVZR@quu7w!Gh5t65u$|XtQv%SxC59sK>{|@qgLJC=pn#1V;TDOc2iDSdVQAuB@ZY8IN*a4U|pC8aDamnV81XA-~b0lfIiAJfCC(q0By5* z00%fI0orEs01j|a0<_KM0UY4q2>fu{9A53VN9Vbzx8swGxwe@5$yCC~w>De$WG&|l zmZw{mVTV5LuJJm{^|&Qp07Nwb4`6@?)I|0L5g5QgE5WaMFxzzPh6ZdFfR4?*3A$Do z=!(Px7~p{tzylaW8c-8i3y}!yjensgo_{~X?d7~yII|WQxDtj3FwmV04`6@?N&pXF z5NSY7WGzG@us2c@sfpA?=DkE<00XTA|J#GT$I6RHY+wHuAgX(ea=J;|Umj;Y7#Z?) hpf>aVxjdR{kgzI~-I>p(bmykNqhO+#Kg`XSzW|b=YWn~H literal 0 HcmV?d00001 diff --git a/examples/AUv3Synth/Builds/iOS/AUv3Synth/Images.xcassets/LaunchImage.launchimage/LaunchImage-iphone-2x.png b/examples/AUv3Synth/Builds/iOS/AUv3Synth/Images.xcassets/LaunchImage.launchimage/LaunchImage-iphone-2x.png new file mode 100644 index 0000000000000000000000000000000000000000..efe9e82a3257662a9e069038e1cc7cbcb64e0f90 GIT binary patch literal 4542 zcmeAS@N?(olHy`uVBq!ia0y~yU}|7sU_QXX1{7KP=)`Xz#Zv6#8NvYsH5@4&3=D#$ zo-U3d6?5KRGh}2?;5o3NvHtu6ram>UsMUNa9goaOh!VVdyX%RWup|qp4stBaD^>qs8H9jWAj%j5-}9PKQRju(s$nT(DajSifVICiM#G==lNaOBfjz>!D>Pgg&ebxsLQ E006gcSO5S3 literal 0 HcmV?d00001 diff --git a/examples/AUv3Synth/Builds/iOS/Info-AUv3_AppExtension.plist b/examples/AUv3Synth/Builds/iOS/Info-AUv3_AppExtension.plist new file mode 100644 index 0000000000..a496d4ac98 --- /dev/null +++ b/examples/AUv3Synth/Builds/iOS/Info-AUv3_AppExtension.plist @@ -0,0 +1,64 @@ + + + + + + LSRequiresIPhoneOS + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + AUv3Synth + CFBundleDisplayName + AUv3Synth + CFBundlePackageType + XPC! + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + NSExtension + + NSExtensionPrincipalClass + AUv3SynthAUFactoryAUv3 + NSExtensionPointIdentifier + com.apple.AudioUnit-UI + NSExtensionAttributes + + AudioComponents + + + name + ROLI Ltd.: AUv3 Synth + description + AUv3 Synth + factoryFunction + AUv3SynthAUFactoryAUv3 + manufacturer + ROLI + type + aumu + subtype + AUv3 + version + 65536 + sandboxSafe + + tags + + Synth + + + + + + + diff --git a/examples/AUv3Synth/Builds/iOS/Info-AUv3_Standalone.plist b/examples/AUv3Synth/Builds/iOS/Info-AUv3_Standalone.plist new file mode 100644 index 0000000000..e42f1683ce --- /dev/null +++ b/examples/AUv3Synth/Builds/iOS/Info-AUv3_Standalone.plist @@ -0,0 +1,43 @@ + + + + + + LSRequiresIPhoneOS + + UIViewControllerBasedStatusBarAppearance + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + AUv3Synth + CFBundleDisplayName + AUv3Synth + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + UIRequiresFullScreen + + UIStatusBarHidden + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIBackgroundModes + + + diff --git a/examples/AUv3Synth/Builds/iOS/Info-Shared_Code.plist b/examples/AUv3Synth/Builds/iOS/Info-Shared_Code.plist new file mode 100644 index 0000000000..a63dfa20c6 --- /dev/null +++ b/examples/AUv3Synth/Builds/iOS/Info-Shared_Code.plist @@ -0,0 +1,43 @@ + + + + + + LSRequiresIPhoneOS + + UIViewControllerBasedStatusBarAppearance + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + AUv3Synth + CFBundleDisplayName + AUv3Synth + CFBundlePackageType + FMWK + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + UIRequiresFullScreen + + UIStatusBarHidden + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIBackgroundModes + + + diff --git a/examples/PlugInSamples/Spatializer/JuceLibraryCode/AppConfig.h b/examples/AUv3Synth/JuceLibraryCode/AppConfig.h similarity index 74% rename from examples/PlugInSamples/Spatializer/JuceLibraryCode/AppConfig.h rename to examples/AUv3Synth/JuceLibraryCode/AppConfig.h index 879946071e..8ca835fbef 100644 --- a/examples/PlugInSamples/Spatializer/JuceLibraryCode/AppConfig.h +++ b/examples/AUv3Synth/JuceLibraryCode/AppConfig.h @@ -4,20 +4,20 @@ project - if you alter its contents, your changes may be overwritten! There's a section below where you can add your own custom code safely, and the - Introjucer will preserve the contents of that block, but the best way to change - any of these definitions is by using the Introjucer's project settings. + Projucer will preserve the contents of that block, but the best way to change + any of these definitions is by using the Projucer's project settings. Any commented-out settings will assume their default values. */ -#ifndef __JUCE_APPCONFIG_AX3KPE__ -#define __JUCE_APPCONFIG_AX3KPE__ +#ifndef __JUCE_APPCONFIG_NAPIAV__ +#define __JUCE_APPCONFIG_NAPIAV__ //============================================================================== // [BEGIN_USER_CODE_SECTION] -// (You can add your own code in this section, and the Introjucer will not overwrite it) +// (You can add your own code in this section, and the Projucer will not overwrite it) // [END_USER_CODE_SECTION] @@ -27,21 +27,25 @@ #define JUCE_MODULE_AVAILABLE_juce_audio_formats 1 #define JUCE_MODULE_AVAILABLE_juce_audio_plugin_client 1 #define JUCE_MODULE_AVAILABLE_juce_audio_processors 1 +#define JUCE_MODULE_AVAILABLE_juce_audio_utils 1 #define JUCE_MODULE_AVAILABLE_juce_core 1 -#define JUCE_MODULE_AVAILABLE_juce_cryptography 1 #define JUCE_MODULE_AVAILABLE_juce_data_structures 1 #define JUCE_MODULE_AVAILABLE_juce_events 1 #define JUCE_MODULE_AVAILABLE_juce_graphics 1 #define JUCE_MODULE_AVAILABLE_juce_gui_basics 1 #define JUCE_MODULE_AVAILABLE_juce_gui_extra 1 -#define JUCE_MODULE_AVAILABLE_juce_opengl 1 -#define JUCE_MODULE_AVAILABLE_juce_video 1 //============================================================================== #ifndef JUCE_STANDALONE_APPLICATION - #define JUCE_STANDALONE_APPLICATION 0 + #ifdef JucePlugin_Build_Standalone + #define JUCE_STANDALONE_APPLICATION JucePlugin_Build_Standalone + #else + #define JUCE_STANDALONE_APPLICATION 0 + #endif #endif +#define JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED 1 + //============================================================================== // juce_audio_devices flags: @@ -187,70 +191,57 @@ //#define JUCE_ENABLE_LIVE_CONSTANT_EDITOR #endif -//============================================================================== -// juce_video flags: - -#ifndef JUCE_DIRECTSHOW - //#define JUCE_DIRECTSHOW -#endif - -#ifndef JUCE_MEDIAFOUNDATION - //#define JUCE_MEDIAFOUNDATION -#endif - -#ifndef JUCE_QUICKTIME - #define JUCE_QUICKTIME 0 -#endif - -#ifndef JUCE_USE_CAMERA - //#define JUCE_USE_CAMERA -#endif - //============================================================================== // Audio plugin settings.. #ifndef JucePlugin_Build_VST - #define JucePlugin_Build_VST 0 + #define JucePlugin_Build_VST 1 #endif #ifndef JucePlugin_Build_VST3 #define JucePlugin_Build_VST3 1 #endif #ifndef JucePlugin_Build_AU - #define JucePlugin_Build_AU 1 + #define JucePlugin_Build_AU 0 +#endif +#ifndef JucePlugin_Build_AUv3 + #define JucePlugin_Build_AUv3 1 #endif #ifndef JucePlugin_Build_RTAS #define JucePlugin_Build_RTAS 0 #endif #ifndef JucePlugin_Build_AAX - #define JucePlugin_Build_AAX 1 + #define JucePlugin_Build_AAX 0 +#endif +#ifndef JucePlugin_Build_STANDALONE + #define JucePlugin_Build_STANDALONE 1 #endif #ifndef JucePlugin_Name - #define JucePlugin_Name "Spatializer" + #define JucePlugin_Name "AUv3 Synth" #endif #ifndef JucePlugin_Desc - #define JucePlugin_Desc "Spatializer" + #define JucePlugin_Desc "AUv3 Synth" #endif #ifndef JucePlugin_Manufacturer #define JucePlugin_Manufacturer "ROLI Ltd." #endif #ifndef JucePlugin_ManufacturerWebsite - #define JucePlugin_ManufacturerWebsite "www.juce.com" + #define JucePlugin_ManufacturerWebsite "" #endif #ifndef JucePlugin_ManufacturerEmail - #define JucePlugin_ManufacturerEmail "info@juce.com" + #define JucePlugin_ManufacturerEmail "" #endif #ifndef JucePlugin_ManufacturerCode #define JucePlugin_ManufacturerCode 'ROLI' #endif #ifndef JucePlugin_PluginCode - #define JucePlugin_PluginCode 'Spce' + #define JucePlugin_PluginCode 'AUv3' #endif #ifndef JucePlugin_IsSynth - #define JucePlugin_IsSynth 0 + #define JucePlugin_IsSynth 1 #endif #ifndef JucePlugin_WantsMidiInput - #define JucePlugin_WantsMidiInput 0 + #define JucePlugin_WantsMidiInput 1 #endif #ifndef JucePlugin_ProducesMidiOutput #define JucePlugin_ProducesMidiOutput 0 @@ -274,28 +265,28 @@ #define JucePlugin_VSTUniqueID JucePlugin_PluginCode #endif #ifndef JucePlugin_VSTCategory - #define JucePlugin_VSTCategory kPlugCategEffect + #define JucePlugin_VSTCategory kPlugCategSynth #endif #ifndef JucePlugin_AUMainType - #define JucePlugin_AUMainType kAudioUnitType_Effect + #define JucePlugin_AUMainType kAudioUnitType_MusicDevice #endif #ifndef JucePlugin_AUSubType #define JucePlugin_AUSubType JucePlugin_PluginCode #endif #ifndef JucePlugin_AUExportPrefix - #define JucePlugin_AUExportPrefix SpatializerAU + #define JucePlugin_AUExportPrefix AUv3SynthAU #endif #ifndef JucePlugin_AUExportPrefixQuoted - #define JucePlugin_AUExportPrefixQuoted "SpatializerAU" + #define JucePlugin_AUExportPrefixQuoted "AUv3SynthAU" #endif #ifndef JucePlugin_AUManufacturerCode #define JucePlugin_AUManufacturerCode JucePlugin_ManufacturerCode #endif #ifndef JucePlugin_CFBundleIdentifier - #define JucePlugin_CFBundleIdentifier com.ROLI.Spatializer + #define JucePlugin_CFBundleIdentifier com.roli.development.AUv3Synth #endif #ifndef JucePlugin_RTASCategory - #define JucePlugin_RTASCategory ePlugInCategory_None + #define JucePlugin_RTASCategory ePlugInCategory_SWGenerators #endif #ifndef JucePlugin_RTASManufacturerCode #define JucePlugin_RTASManufacturerCode JucePlugin_ManufacturerCode @@ -310,7 +301,7 @@ #define JucePlugin_RTASDisableMultiMono 0 #endif #ifndef JucePlugin_AAXIdentifier - #define JucePlugin_AAXIdentifier com.ROLI.Spatializer + #define JucePlugin_AAXIdentifier com.roli.development.AUv3Synth #endif #ifndef JucePlugin_AAXManufacturerCode #define JucePlugin_AAXManufacturerCode JucePlugin_ManufacturerCode @@ -319,7 +310,7 @@ #define JucePlugin_AAXProductId JucePlugin_PluginCode #endif #ifndef JucePlugin_AAXCategory - #define JucePlugin_AAXCategory AAX_ePlugInCategory_SoundField + #define JucePlugin_AAXCategory AAX_ePlugInCategory_Dynamics #endif #ifndef JucePlugin_AAXDisableBypass #define JucePlugin_AAXDisableBypass 0 @@ -327,5 +318,14 @@ #ifndef JucePlugin_AAXDisableMultiMono #define JucePlugin_AAXDisableMultiMono 0 #endif +#ifndef JucePlugin_MaxNumInputChannels + #define JucePlugin_MaxNumInputChannels 0 +#endif +#ifndef JucePlugin_MaxNumOutputChannels + #define JucePlugin_MaxNumOutputChannels 2 +#endif +#ifndef JucePlugin_PreferredChannelConfigurations + #define JucePlugin_PreferredChannelConfigurations {0,2} +#endif -#endif // __JUCE_APPCONFIG_AX3KPE__ +#endif // __JUCE_APPCONFIG_NAPIAV__ diff --git a/examples/AUv3Synth/JuceLibraryCode/BinaryData.cpp b/examples/AUv3Synth/JuceLibraryCode/BinaryData.cpp new file mode 100644 index 0000000000..55a0de6225 --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/BinaryData.cpp @@ -0,0 +1,315 @@ +/* ==================================== JUCER_BINARY_RESOURCE ==================================== + + This is an auto-generated file: Any edits you make may be overwritten! + +*/ + +namespace BinaryData +{ + +//================== proaudio.path ================== +static const unsigned char temp_binary_data_0[] = +{ 110,109,94,122,189,65,86,174,63,67,108,152,230,10,67,178,93,132,66,108,242,130,195,66,178,93,132,66,108,152,230,10,67,0,0,0,0,108,22,94,178,66,0,0,0,0,108,210,215,29,66,68,75,189,66,108,172,33,146,66,68,75,189,66,99,109,0,64,144,66,137,57,121,65,98,65, +235,252,65,200,166,160,65,0,0,0,0,30,34,90,66,0,0,0,0,49,117,192,66,98,0,0,0,0,164,28,244,66,146,92,66,65,123,22,17,67,0,24,248,65,24,246,31,67,108,0,20,19,66,152,165,20,67,98,144,78,175,65,77,16,8,67,0,216,71,65,181,140,234,66,0,216,71,65,49,117,192, +66,98,0,216,71,65,217,128,127,66,69,240,10,66,47,102,19,66,0,150,129,66,196,64,236,65,108,0,64,144,66,137,57,121,65,99,109,0,10,1,67,196,28,246,65,108,0,237,244,66,98,92,37,66,98,112,181,0,67,130,44,56,66,101,29,6,67,18,42,79,66,128,112,10,67,98,76,105, +66,108,128,225,24,67,98,76,105,66,98,8,26,19,67,116,188,61,66,81,235,10,67,112,11,24,66,0,10,1,67,197,28,246,65,99,109,128,72,26,67,98,60,116,66,108,0,18,17,67,49,49,142,66,98,122,31,20,67,138,193,157,66,0,209,21,67,138,178,174,66,0,209,21,67,49,117, +192,66,98,0,209,21,67,193,55,6,67,176,74,238,66,152,227,36,67,255,76,162,66,152,227,36,67,98,152,174,148,66,152,227,36,67,199,139,135,66,181,227,35,67,254,69,118,66,152,13,34,67,108,254,113,81,66,24,21,44,67,98,230,66,117,66,56,126,47,67,144,7,142,66, +24,97,49,67,255,76,162,66,24,97,49,67,98,54,203,251,66,24,97,49,67,0,79,34,67,81,248,12,67,0,79,34,67,48,117,192,66,98,0,79,34,67,4,70,167,66,172,108,31,67,253,104,143,66,128,72,26,67,96,60,116,66,99,101,0,0,0,0 }; + +const char* proaudio_path = (const char*) temp_binary_data_0; + +//================== singing.ogg ================== +static const unsigned char temp_binary_data_1[] = +{ 79,103,103,83,0,2,0,0,0,0,0,0,0,0,153,3,97,43,0,0,0,0,80,169,198,253,1,30,1,118,111,114,98,105,115,0,0,0,0,1,68,172,0,0,0,0,0,0,0,119,1,0,0,0,0,0,184,1,79,103,103,83,0,0,0,0,0,0,0,0,0,0,153,3,97,43,1,0,0,0,7,4,119,201,16,63,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,201,3,118,111,114,98,105,115,47,0,0,0,88,105,112,104,46,79,114,103,32,108,105,98,86,111,114,98,105,115,32,73,32,50,48,49,52,48,49,50,50,32,40,84,117,114,112,97,107,195,164,114,195,164,106,105,105,110,41,0,0,0,0,1,5,118,111, +114,98,105,115,41,66,67,86,1,0,8,0,0,0,49,76,32,197,128,208,144,85,0,0,16,0,0,96,36,41,14,147,102,73,41,165,148,161,40,121,152,148,72,73,41,165,148,197,48,137,152,148,137,197,24,99,140,49,198,24,99,140,49,198,24,99,140,32,52,100,21,0,0,4,0,128,40,9,142, +163,230,73,106,206,57,103,24,39,142,114,160,57,105,78,56,167,32,7,138,81,224,57,9,194,245,38,99,110,166,180,166,107,110,206,41,37,8,13,89,5,0,0,2,0,64,72,33,133,20,82,72,33,133,20,98,136,33,134,24,98,136,33,135,28,114,200,33,167,156,114,10,42,168,160, +130,10,50,200,32,131,76,50,233,164,147,78,58,233,168,163,142,58,234,40,180,208,66,11,45,180,210,74,76,49,213,86,99,174,189,6,93,124,115,206,57,231,156,115,206,57,231,156,115,206,9,66,67,86,1,0,32,0,0,4,66,6,25,100,16,66,8,33,133,20,82,136,41,166,152, +114,10,50,200,128,208,144,85,0,0,32,0,128,0,0,0,0,71,145,20,73,177,20,203,177,28,205,209,36,79,242,44,81,19,53,209,51,69,83,84,77,85,85,85,85,117,93,87,118,101,215,118,117,215,118,125,89,152,133,91,184,125,89,184,133,91,216,133,93,247,133,97,24,134,97, +24,134,97,24,134,97,248,125,223,247,125,223,247,125,32,52,100,21,0,32,1,0,160,35,57,150,227,41,162,34,26,162,226,57,162,3,132,134,172,2,0,100,0,0,4,0,32,9,146,34,41,146,163,73,166,102,106,174,105,155,182,104,171,182,109,203,178,44,203,178,12,132,134, +172,2,0,0,1,0,4,0,0,0,0,0,160,105,154,166,105,154,166,105,154,166,105,154,166,105,154,166,105,154,166,105,154,102,89,150,101,89,150,101,89,150,101,89,150,101,89,150,101,89,150,101,89,150,101,89,150,101,89,150,101,89,150,101,89,150,101,89,150,101,89,64, +104,200,42,0,64,2,0,64,199,113,28,199,113,36,69,82,36,199,114,44,7,8,13,89,5,0,200,0,0,8,0,64,82,44,197,114,52,71,115,52,199,115,60,199,115,60,71,116,68,201,148,76,205,244,76,15,8,13,89,5,0,0,2,0,8,0,0,0,0,0,64,49,28,197,113,28,201,209,36,79,82,45,211, +114,53,87,115,61,215,115,77,215,117,93,87,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,129,208,144,85,0,0,4,0,0,33,157,102,150,106,128,8,51,144,97,32,52,100,21,0,128,0,0,0,24,161,8,67,12,8,13,89, +5,0,0,4,0,0,136,161,228,32,154,208,154,243,205,57,14,154,229,160,169,20,155,211,193,137,84,155,39,185,169,152,155,115,206,57,231,156,108,206,25,227,156,115,206,41,202,153,197,160,153,208,154,115,206,73,12,154,165,160,153,208,154,115,206,121,18,155,7, +173,169,210,154,115,206,25,231,156,14,198,25,97,156,115,206,105,210,154,7,169,217,88,155,115,206,89,208,154,230,168,185,20,155,115,206,137,148,155,39,181,185,84,155,115,206,57,231,156,115,206,57,231,156,115,206,169,94,156,206,193,57,225,156,115,206,137, +218,155,107,185,9,93,156,115,206,249,100,156,238,205,9,225,156,115,206,57,231,156,115,206,57,231,156,115,206,9,66,67,86,1,0,64,0,0,4,97,216,24,198,157,130,32,125,142,6,98,20,33,166,33,147,30,116,143,14,147,160,49,200,41,164,30,141,142,70,74,169,131,80, +82,25,39,165,116,130,208,144,85,0,0,32,0,0,132,16,82,72,33,133,20,82,72,33,133,20,82,72,33,134,24,98,136,33,167,156,114,10,42,168,164,146,138,42,202,40,179,204,50,203,44,179,204,50,203,172,195,206,58,235,176,195,16,67,12,49,180,210,74,44,53,213,86,99, +141,181,230,158,115,174,57,72,107,165,181,214,90,43,165,148,82,74,41,165,32,52,100,21,0,0,2,0,64,32,100,144,65,6,25,133,20,82,72,33,134,152,114,202,41,167,160,130,10,8,13,89,5,0,0,2,0,8,0,0,0,240,36,207,17,29,209,17,29,209,17,29,209,17,29,209,17,29,207, +241,28,81,18,37,81,18,37,209,50,45,83,51,61,85,84,85,87,118,109,89,151,117,219,183,133,93,216,117,223,215,125,223,215,141,95,23,134,101,89,150,101,89,150,101,89,150,101,89,150,101,89,150,101,9,66,67,86,1,0,32,0,0,0,66,8,33,132,20,82,72,33,133,148,98, +140,49,199,156,131,78,66,9,129,208,144,85,0,0,32,0,128,0,0,0,0,71,113,20,199,145,28,201,145,36,75,178,36,77,210,44,205,242,52,79,243,52,209,19,69,81,52,77,83,21,93,209,21,117,211,22,101,83,54,93,211,53,101,211,85,101,213,118,101,217,182,101,91,183,125, +89,182,125,223,247,125,223,247,125,223,247,125,223,247,125,223,215,117,32,52,100,21,0,32,1,0,160,35,57,146,34,41,146,34,57,142,227,72,146,4,132,134,172,2,0,100,0,0,4,0,160,40,142,226,56,142,35,73,146,36,89,146,38,121,150,103,137,154,169,153,158,233,169, +162,10,132,134,172,2,0,0,1,0,4,0,0,0,0,0,160,104,138,167,152,138,167,136,138,231,136,142,40,137,150,105,137,154,170,185,162,108,202,174,235,186,174,235,186,174,235,186,174,235,186,174,235,186,174,235,186,174,235,186,174,235,186,174,235,186,174,235,186, +174,235,186,174,235,186,64,104,200,42,0,64,2,0,64,71,114,36,71,114,36,69,82,36,69,114,36,7,8,13,89,5,0,200,0,0,8,0,192,49,28,67,82,36,199,178,44,77,243,52,79,243,52,209,19,61,209,51,61,85,116,69,23,8,13,89,5,0,0,2,0,8,0,0,0,0,0,192,144,12,75,177,28,205, +209,36,81,82,45,213,82,53,213,82,45,85,84,61,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,213,52,77,211,52,129,208,144,149,0,0,25,0,0,35,65,6,25,132,16,138,114,144,66,110,61,88,8,49,230,36,5,161,57, +6,161,196,24,132,167,16,51,12,57,13,34,116,144,65,39,61,184,146,57,195,12,243,224,82,40,21,68,76,131,141,37,55,142,32,13,194,166,92,73,229,56,8,66,67,86,4,0,81,0,0,128,49,200,49,196,24,114,206,73,201,160,68,206,49,9,157,148,200,57,39,165,147,210,73,41, +45,150,24,51,41,37,166,18,99,227,156,163,210,73,201,164,148,24,75,138,157,164,18,99,137,173,0,0,128,0,7,0,128,0,11,161,208,144,21,1,64,20,0,0,98,12,82,10,41,133,148,82,206,41,230,144,82,202,49,229,28,82,74,57,167,156,83,206,57,8,29,132,202,49,6,157,131, +16,41,165,28,83,206,41,199,28,132,204,65,229,156,131,208,65,40,0,0,32,192,1,0,32,192,66,40,52,100,69,0,16,39,0,224,112,36,207,147,52,75,20,37,75,19,69,207,20,101,215,19,77,215,149,52,205,52,53,81,84,85,203,19,85,213,84,85,219,22,77,85,182,37,77,19,77, +77,244,84,85,19,69,85,21,85,211,150,77,85,181,109,207,52,101,217,84,85,221,22,85,213,182,101,219,22,126,87,150,117,223,51,77,89,22,85,213,214,77,85,181,117,215,150,125,95,214,109,93,152,52,205,52,53,81,84,85,77,20,85,213,84,85,219,54,85,215,182,53,81, +116,85,81,85,101,89,84,85,89,118,101,89,247,85,87,214,125,75,20,85,213,83,77,217,21,85,85,182,85,217,245,109,85,150,125,225,116,85,93,87,101,217,247,85,89,22,126,91,215,133,225,246,125,225,24,85,213,214,77,215,213,117,85,150,125,97,214,101,97,183,117, +223,40,105,154,105,106,162,168,170,154,40,170,170,169,170,182,109,170,174,173,91,162,232,170,162,170,202,178,103,170,174,172,202,178,175,171,174,108,235,154,40,170,174,168,170,178,44,170,170,44,171,178,172,251,170,44,235,182,168,170,186,173,202,178,176, +155,174,171,235,182,239,11,195,44,235,186,112,170,174,174,171,178,236,251,170,44,235,186,173,235,198,113,235,186,48,124,166,41,203,166,171,234,186,169,186,186,110,235,186,113,204,182,109,28,163,170,234,190,42,203,194,176,202,178,239,235,186,47,180,117, +33,81,85,117,221,148,93,227,87,101,89,247,109,95,119,158,91,247,133,178,109,59,191,173,251,202,113,235,186,210,248,57,207,111,28,185,182,109,28,179,110,27,191,173,251,198,243,43,63,97,56,142,165,103,154,182,109,170,170,173,155,170,171,235,178,110,43, +195,172,235,66,81,85,125,93,149,101,223,55,93,89,23,110,223,55,142,91,215,141,162,170,234,186,42,203,190,176,202,178,49,220,198,111,28,187,48,28,93,219,54,142,91,215,157,178,173,11,125,99,200,247,9,207,107,219,198,113,251,58,227,246,117,163,175,12,9, +199,143,0,0,128,1,7,0,128,0,19,202,64,161,33,43,2,128,56,1,0,6,33,231,20,83,16,42,197,32,116,16,82,234,32,164,84,49,6,33,115,78,74,197,28,148,80,74,106,33,148,212,42,198,32,84,142,73,200,156,147,18,74,104,41,148,210,82,7,161,165,80,74,107,161,148,214, +82,107,177,166,212,98,237,32,164,22,74,105,45,148,210,90,106,169,198,212,90,140,17,99,16,50,231,164,100,206,73,9,165,180,22,74,105,45,115,78,74,231,160,164,14,66,74,165,164,20,75,74,45,86,204,73,201,160,163,210,65,72,169,164,18,83,73,169,181,80,74,107, +165,164,22,75,74,49,182,20,91,110,49,214,28,74,105,45,164,18,91,73,41,198,20,83,109,45,198,154,35,198,32,100,206,73,201,156,147,18,74,105,45,148,210,90,229,152,148,14,66,74,153,131,146,74,74,173,149,146,82,204,156,147,210,65,72,169,131,142,74,73,41,182, +146,74,76,161,148,214,74,74,177,133,82,90,108,49,214,156,82,108,53,148,210,90,73,41,198,146,74,108,45,198,90,91,76,181,117,16,90,11,165,180,22,74,105,173,181,86,107,106,173,198,80,74,107,37,165,24,75,74,177,181,22,107,110,49,230,26,74,105,173,164,18, +91,73,169,197,22,91,142,45,198,154,83,107,53,166,214,106,110,49,230,26,91,109,61,214,154,115,74,173,214,212,82,141,45,198,154,99,109,189,213,154,123,239,32,164,22,74,105,45,148,210,98,106,45,198,214,98,173,161,148,214,74,42,177,149,146,90,108,49,230, +218,90,140,57,148,210,98,73,169,197,146,82,140,45,198,154,91,108,185,166,150,106,108,49,230,154,82,139,181,230,218,115,108,53,246,212,90,172,45,198,154,83,75,181,214,90,115,143,185,245,86,0,0,192,128,3,0,64,128,9,101,160,208,144,149,0,64,20,0,0,65,136, +82,206,73,105,16,114,204,57,42,9,66,204,57,39,169,114,76,66,41,41,85,204,65,8,37,181,206,57,41,41,197,214,57,8,37,165,22,75,42,45,197,86,107,41,41,181,22,107,45,0,0,160,192,1,0,32,192,6,77,137,197,1,10,13,89,9,0,68,1,0,32,198,32,196,24,132,6,25,165,24, +131,208,24,164,20,99,16,34,165,24,115,78,74,165,20,99,206,73,201,24,115,14,66,42,25,99,206,65,40,41,132,80,74,42,41,133,16,74,73,37,165,2,0,0,10,28,0,0,2,108,208,148,88,28,160,208,144,21,1,64,20,0,0,96,12,98,12,49,134,32,116,84,50,42,17,132,76,74,39, +169,129,16,90,11,173,117,214,82,107,165,197,204,90,106,173,180,216,64,8,173,133,214,50,75,37,198,212,90,102,173,196,152,90,43,0,0,236,192,1,0,236,192,66,40,52,100,37,0,144,7,0,64,24,163,20,99,206,57,103,16,98,204,57,232,28,52,8,49,230,28,132,14,42,198, +156,131,14,66,8,21,99,206,65,8,33,132,204,57,8,33,132,16,66,230,28,132,16,66,8,161,131,16,66,8,165,148,210,65,8,33,132,82,74,233,32,132,16,66,41,165,116,16,66,8,161,148,82,10,0,0,42,112,0,0,8,176,81,100,115,130,145,160,66,67,86,2,0,121,0,0,128,49,74, +57,7,161,148,70,41,198,32,148,146,82,163,20,99,16,74,73,169,114,12,66,41,41,197,86,57,7,161,148,148,90,236,32,148,210,90,108,53,118,16,74,105,45,198,90,67,74,173,197,88,107,174,33,165,214,98,172,53,215,212,90,140,181,230,154,107,74,45,198,90,107,205, +185,0,0,220,5,7,0,176,3,27,69,54,39,24,9,42,52,100,37,0,144,7,0,128,32,164,20,99,140,49,134,20,98,138,49,231,156,67,8,41,197,152,115,206,41,166,24,115,206,57,231,148,98,140,57,231,156,115,140,49,231,156,115,206,57,198,152,115,206,57,231,28,115,206,57, +231,156,115,142,57,231,156,115,206,57,231,156,115,206,57,231,156,115,206,57,231,156,115,206,9,0,0,42,112,0,0,8,176,81,100,115,130,145,160,66,67,86,2,0,169,0,0,0,17,86,98,140,49,198,24,27,8,49,198,24,99,140,49,70,18,98,140,49,198,24,99,108,49,198,24,99, +140,49,198,152,98,140,49,198,24,99,140,49,198,24,99,140,49,198,24,99,140,49,198,24,99,140,49,198,24,99,140,49,198,24,99,140,49,198,24,99,140,49,198,24,99,140,49,198,24,99,140,49,198,24,99,140,49,198,24,91,107,173,181,214,90,107,173,181,214,90,107,173, +181,214,90,107,173,0,64,191,10,7,0,255,7,27,86,71,56,41,26,11,44,52,100,37,0,16,14,0,0,24,195,152,115,142,57,6,29,132,134,41,232,164,132,14,66,8,161,67,74,57,40,37,132,80,74,41,41,115,78,74,74,165,164,148,90,74,153,115,82,82,42,37,165,150,82,234,32,164, +212,90,74,45,181,214,90,7,37,165,214,82,106,173,181,214,58,8,165,180,212,90,107,173,181,216,65,72,41,165,214,90,139,45,198,80,74,74,173,181,216,98,140,53,134,82,82,106,173,197,216,98,172,49,164,210,82,108,45,198,24,99,172,161,148,214,90,107,49,198,24, +107,45,41,181,214,98,140,181,198,90,107,73,169,181,214,98,139,53,214,90,11,0,224,110,112,0,128,72,176,113,134,149,164,179,194,209,224,66,67,86,2,0,33,1,0,4,66,140,57,231,156,115,16,66,8,33,82,138,49,231,160,131,16,66,8,33,68,74,49,230,28,116,16,66,8, +33,132,140,49,231,160,131,16,66,8,33,132,144,49,230,28,116,16,66,8,33,132,16,58,231,28,132,16,66,8,161,132,82,74,231,28,116,16,66,8,33,148,80,66,233,32,132,16,66,8,161,132,82,74,41,29,132,16,66,40,161,132,82,74,41,37,132,16,66,9,165,148,82,74,41,165, +132,16,66,8,161,132,18,74,41,165,148,16,66,8,165,148,82,74,41,165,148,18,66,8,33,148,82,74,41,165,148,82,66,8,161,148,80,74,41,165,148,82,74,8,33,132,82,74,41,165,148,82,74,9,33,132,80,74,41,165,148,82,74,41,33,132,18,74,41,165,148,82,74,41,165,0,0,128, +3,7,0,128,0,35,232,36,163,202,34,108,52,225,194,3,80,104,200,74,0,128,12,0,0,113,216,106,235,41,214,200,32,197,156,132,150,75,132,144,114,16,98,46,17,82,138,57,71,177,101,72,25,197,24,213,148,49,165,20,83,82,107,232,156,98,140,81,79,157,99,74,49,195, +172,148,86,74,40,145,130,210,114,172,181,118,204,1,0,0,32,8,0,48,16,33,51,129,64,1,20,24,200,0,128,3,132,4,41,0,160,176,192,208,49,92,4,4,228,18,50,10,12,10,199,132,115,210,105,3,0,16,132,200,12,145,136,88,12,18,19,170,129,162,98,58,0,88,92,96,200,7, +128,12,141,141,180,139,11,232,50,192,5,93,220,117,32,132,32,4,33,136,197,1,20,144,128,131,19,110,120,226,13,79,184,193,9,58,69,165,14,2,0,0,0,0,0,1,0,30,0,0,146,13,32,34,34,154,57,142,14,143,15,144,16,145,17,146,18,147,19,148,0,0,0,0,0,224,1,128,15,0, +128,36,5,136,136,136,102,142,163,195,227,3,36,68,100,132,164,196,228,4,37,0,0,0,0,0,0,0,0,0,8,8,8,0,0,0,0,0,4,0,0,0,8,8,79,103,103,83,0,0,192,59,0,0,0,0,0,0,153,3,97,43,2,0,0,0,169,58,23,146,32,54,52,54,58,246,252,255,12,255,7,255,14,255,15,255,12,255, +20,255,5,255,19,255,6,255,2,255,10,255,6,255,15,108,10,93,103,243,86,237,103,242,178,237,171,132,106,161,21,240,144,229,148,39,23,205,161,7,170,63,255,218,246,159,99,9,186,194,98,255,239,156,233,243,100,152,234,139,235,28,253,245,165,3,176,44,0,204,62, +187,180,111,251,214,188,164,74,125,21,168,22,74,3,51,87,217,141,56,149,115,45,74,200,214,241,10,132,158,211,211,255,207,149,250,56,248,192,225,63,83,149,77,7,219,103,135,3,149,13,196,82,131,12,176,111,197,183,144,68,125,21,232,76,106,54,192,207,101,206, +112,195,58,181,36,122,13,23,27,91,61,248,234,122,101,102,71,239,206,215,38,90,47,156,4,254,252,101,50,168,20,34,254,3,196,94,101,245,140,93,13,223,79,8,81,179,79,107,168,64,80,177,49,152,47,119,116,28,60,191,65,202,172,65,150,112,96,199,151,199,38,46, +18,228,146,91,59,181,144,236,238,193,229,102,13,0,252,178,46,175,76,0,58,201,69,86,220,237,117,135,187,251,132,250,44,51,160,130,178,255,128,10,16,224,199,1,132,3,10,6,193,249,4,0,97,49,41,75,48,3,200,91,10,172,132,126,185,93,193,235,193,121,53,231,164, +186,222,170,51,149,116,63,185,140,0,251,47,69,128,184,253,82,14,160,54,127,57,5,176,186,153,242,232,81,63,253,179,89,65,47,140,83,2,190,216,252,189,170,176,202,52,167,12,168,170,185,102,110,172,13,25,157,166,99,141,223,124,249,188,162,222,98,45,181,250, +13,40,46,203,73,9,163,118,65,187,222,133,248,223,158,250,104,198,110,47,95,144,89,2,118,252,90,133,59,96,126,124,153,79,108,170,50,214,29,170,79,205,241,172,138,190,202,245,232,57,26,24,160,15,201,112,37,54,131,48,80,196,233,242,124,233,245,39,127,213, +245,232,127,139,187,112,192,217,31,61,17,240,173,37,56,53,207,246,229,28,183,13,240,9,215,231,75,250,131,12,44,69,193,219,241,161,81,244,209,126,53,61,155,179,187,252,121,190,181,209,25,87,5,62,217,133,89,221,234,54,205,89,238,30,119,132,143,62,42,87, +16,240,31,208,0,39,240,253,171,0,29,135,134,42,215,16,59,86,146,7,74,96,113,224,26,0,242,192,3,208,38,60,118,134,2,57,128,190,103,61,240,15,75,5,192,14,29,115,43,232,68,245,90,0,206,182,12,2,240,187,79,210,0,248,223,152,7,64,156,45,14,245,143,237,15, +83,64,38,154,95,41,36,189,58,129,149,112,46,231,86,3,160,110,214,42,248,228,223,244,36,21,116,53,255,110,176,215,202,105,0,113,146,247,64,128,214,206,190,122,112,163,18,113,250,243,159,237,185,8,160,0,188,52,193,7,50,83,93,46,128,158,122,155,100,228, +254,124,198,130,250,229,255,58,144,235,100,166,239,145,192,154,83,181,181,254,197,182,168,104,103,185,115,253,224,42,49,120,181,43,36,195,6,230,47,65,7,153,160,176,125,173,74,236,180,27,235,46,167,1,254,39,46,211,186,26,133,195,149,39,82,10,74,234,165, +136,4,62,158,238,185,146,125,0,242,39,198,36,104,14,167,173,2,119,160,3,62,185,101,161,111,244,82,148,83,238,206,142,68,55,57,85,19,82,65,209,191,128,6,52,0,192,97,3,140,48,70,62,224,46,160,198,87,16,199,97,151,60,8,28,80,101,87,192,204,3,29,193,0,48, +53,20,232,25,250,127,202,65,199,9,240,89,192,214,1,248,158,10,0,237,214,17,3,192,141,181,2,184,93,6,129,4,205,50,67,0,128,163,186,136,8,101,217,148,2,66,253,25,5,128,245,102,170,170,46,88,237,114,64,77,190,54,160,66,7,64,100,178,57,77,17,122,37,222,205, +33,88,102,244,193,205,83,238,2,37,0,196,15,130,59,112,120,42,180,160,211,89,36,71,147,55,69,163,247,249,231,41,32,148,182,221,165,6,216,189,15,159,19,2,66,142,19,94,73,33,225,202,229,123,191,148,224,247,102,0,62,59,0,237,255,78,0,72,235,201,6,240,235, +127,189,112,85,176,159,143,232,203,141,61,9,192,243,125,166,132,202,58,192,23,208,192,164,160,126,253,214,130,92,186,20,12,162,92,225,175,210,138,18,14,70,136,208,47,213,154,106,98,8,192,41,105,34,15,160,157,117,92,78,212,1,45,18,0,30,185,101,97,156, +98,163,218,108,119,53,35,188,111,160,77,192,57,251,23,0,0,208,0,15,80,1,116,129,49,218,7,124,7,112,0,190,1,235,144,124,242,32,112,116,12,162,131,25,1,130,61,192,93,152,148,14,24,20,193,217,106,2,147,107,0,255,54,208,93,2,0,230,2,14,0,224,109,218,0,240, +213,86,5,168,164,29,145,128,28,11,139,4,0,240,30,101,1,106,219,59,35,88,0,87,222,2,197,62,166,67,147,204,137,6,74,73,168,65,20,10,0,133,171,162,37,214,229,252,108,62,189,165,49,231,55,236,69,1,0,135,22,174,86,107,160,227,166,4,138,113,150,126,193,218, +75,77,79,160,240,192,51,33,208,179,123,73,11,64,182,182,182,10,192,100,190,234,150,6,105,117,31,134,26,30,82,184,2,32,199,3,30,59,3,128,0,54,5,116,172,31,183,32,170,62,140,141,34,16,30,224,170,105,29,64,78,44,28,199,5,141,27,183,218,81,251,236,2,67,9, +202,206,98,83,203,90,46,52,133,47,83,245,154,236,138,189,59,195,218,162,215,253,83,62,206,155,54,50,152,30,4,0,30,185,213,25,63,113,169,202,189,239,250,142,176,155,20,102,3,228,236,95,64,5,84,0,128,15,232,87,224,90,64,9,172,15,120,73,96,78,224,3,48,216, +128,151,30,80,208,192,1,5,9,178,196,147,0,16,77,48,124,160,24,216,70,88,63,148,128,117,185,0,95,155,129,203,68,1,64,253,142,2,128,124,141,6,0,208,21,71,1,160,60,36,0,40,83,190,54,2,0,80,16,5,16,43,203,195,54,5,32,39,144,0,156,14,2,21,123,187,83,128,238, +46,214,168,132,212,243,1,153,233,87,39,253,221,64,0,0,0,224,70,74,212,233,255,90,86,161,83,102,147,238,66,183,110,15,165,52,94,175,69,193,115,229,68,222,17,128,170,91,18,45,14,86,253,184,125,21,114,19,185,180,129,18,72,93,118,169,39,152,80,122,87,13, +16,170,170,190,18,1,33,83,31,194,146,255,57,129,129,216,4,31,193,110,72,70,7,160,192,64,237,229,13,64,125,127,145,0,82,32,219,158,169,159,49,226,219,32,0,2,108,94,226,192,93,169,80,199,139,33,46,180,51,150,200,87,59,128,54,189,220,63,25,43,46,110,171, +1,76,0,30,185,101,153,212,232,198,148,123,220,101,139,25,238,134,65,49,17,206,65,127,1,21,0,0,224,3,118,12,40,1,37,176,62,224,60,129,11,240,13,40,60,32,128,29,225,65,224,152,40,66,3,7,52,4,56,0,159,128,236,50,52,162,130,41,176,5,172,103,69,224,180,117, +128,83,18,232,56,0,224,102,136,2,0,82,203,2,0,14,153,16,0,108,197,7,32,66,126,26,40,0,200,108,134,66,130,38,15,37,0,64,60,4,1,0,167,19,72,66,32,95,53,0,245,102,45,161,35,75,69,0,108,202,79,141,144,56,121,94,58,21,143,38,186,40,80,0,2,23,69,165,90,201, +172,212,22,133,90,221,215,0,194,249,93,160,220,39,246,0,0,160,83,97,125,246,224,99,30,130,118,139,11,228,108,79,15,222,157,28,217,15,75,154,255,207,49,239,156,103,131,9,185,127,86,1,100,109,159,108,3,232,182,201,78,11,99,81,41,160,243,31,224,219,1,115, +76,52,72,162,52,174,132,9,31,89,1,3,144,2,16,207,57,175,129,202,191,27,161,39,25,32,144,237,123,103,162,132,222,85,189,212,153,101,167,97,246,182,180,207,0,30,185,21,153,56,137,11,83,206,184,239,98,171,243,97,108,128,245,15,0,232,115,224,143,42,128,151, +7,168,0,182,177,1,22,63,224,2,28,1,156,39,144,54,64,45,112,192,148,58,56,96,12,96,160,10,184,205,120,45,225,49,197,96,3,159,173,147,208,87,140,3,128,254,223,30,198,82,64,114,71,0,64,57,135,22,0,100,59,27,128,82,255,13,64,133,57,18,0,186,253,92,11,0,242, +22,26,157,2,238,216,196,19,2,36,93,163,6,192,115,40,169,30,110,10,160,190,160,134,161,199,155,252,205,200,183,253,64,226,201,65,81,1,202,1,224,204,29,161,226,147,45,27,61,118,151,188,140,80,8,252,232,132,100,26,227,247,166,67,167,190,243,90,18,128,161, +103,95,27,211,31,242,61,48,252,119,175,218,140,166,27,99,192,163,212,60,29,34,64,180,156,102,242,254,118,174,14,200,17,190,123,64,1,24,255,118,112,138,104,123,130,119,0,192,224,4,233,112,49,6,32,1,128,29,11,209,255,100,123,69,245,233,48,64,44,88,213, +144,145,186,65,110,135,35,70,170,179,242,14,54,103,138,55,98,99,66,3,0,254,184,21,153,212,138,11,215,206,184,118,17,222,239,144,76,160,211,47,192,0,0,128,7,56,3,40,176,42,218,7,92,128,111,192,45,128,217,3,0,74,8,8,28,208,1,28,48,70,3,210,131,2,0,36,97, +210,204,100,11,154,129,194,8,30,183,38,176,79,77,224,231,5,116,74,1,32,55,165,20,0,226,95,6,0,103,79,4,160,206,38,32,16,105,178,201,3,64,81,222,196,72,64,84,244,221,0,0,32,161,7,96,225,114,20,218,53,144,220,132,82,238,161,236,3,189,156,106,0,30,183,215, +69,113,101,62,77,120,40,121,50,198,219,223,94,0,8,0,44,22,161,201,18,159,89,82,131,123,108,31,69,52,86,215,68,7,46,229,108,54,58,151,178,210,201,0,128,222,12,211,216,77,79,119,125,146,253,32,213,107,230,145,13,28,120,58,167,118,1,118,52,63,161,10,16, +122,214,184,77,1,136,168,203,117,255,23,146,186,33,45,182,29,66,6,212,47,160,95,247,116,96,177,87,208,237,246,79,17,21,64,215,89,33,9,255,72,15,115,2,86,178,8,236,167,177,159,179,212,90,93,175,2,126,137,32,251,79,130,89,219,169,43,128,61,1,30,185,101, +65,45,197,96,194,115,94,83,196,247,123,172,77,84,215,95,64,3,42,0,192,7,184,3,56,1,42,128,181,195,32,22,129,39,128,203,6,168,4,3,28,48,49,193,1,99,0,146,168,3,150,8,70,3,69,129,21,208,63,87,192,58,191,0,239,79,96,158,5,0,28,125,75,0,64,214,136,5,5,192, +112,121,0,96,145,39,148,51,188,107,5,96,189,109,158,130,88,235,27,99,69,0,82,30,167,29,40,76,169,232,103,198,242,28,80,244,205,20,192,235,41,208,112,236,162,116,197,240,211,185,26,243,99,92,221,75,245,8,120,1,64,89,90,73,73,220,152,183,222,118,167,126, +40,104,53,185,221,138,245,97,140,125,109,150,154,33,228,34,85,46,163,222,125,63,123,235,222,82,45,181,115,171,173,26,132,176,195,180,46,0,221,218,155,188,2,104,186,232,40,164,8,210,170,63,168,187,189,25,177,148,53,49,253,36,53,40,21,85,198,144,55,42, +145,246,53,1,29,6,251,221,92,230,105,146,146,90,4,141,78,77,251,160,41,53,192,201,166,136,80,162,216,245,25,202,106,153,0,254,168,197,97,47,231,160,210,46,71,23,211,238,134,130,19,153,167,95,64,3,12,0,120,128,87,96,27,155,209,63,160,3,80,2,47,9,28,54, +64,11,6,56,14,29,59,240,0,64,9,64,240,37,192,65,51,39,45,71,49,144,23,232,45,128,179,215,4,234,148,1,199,14,0,216,85,141,3,0,168,109,7,160,66,83,128,31,129,56,192,37,87,33,1,0,52,113,60,149,86,86,249,69,75,37,96,119,98,20,20,230,33,52,183,149,131,37, +229,196,119,128,131,158,43,14,50,62,85,178,81,100,254,223,217,125,227,129,48,169,7,21,2,16,1,0,164,7,113,178,4,98,88,172,232,245,237,0,152,19,3,77,243,228,74,222,189,87,159,214,221,247,149,243,2,55,87,255,164,154,153,191,23,110,94,75,117,147,171,185, +128,191,239,191,227,178,0,186,11,204,211,4,112,170,151,28,1,134,61,189,222,51,207,171,203,26,9,123,196,247,216,17,31,184,185,120,192,46,79,233,216,81,210,82,191,93,65,203,240,247,144,214,8,53,89,73,57,154,13,27,100,201,181,32,164,207,194,123,132,76,36, +101,100,143,145,177,122,4,183,194,108,122,98,131,2,30,169,101,153,30,31,69,56,227,88,33,166,147,7,27,72,150,252,11,0,104,0,128,15,216,11,80,1,116,9,136,29,6,49,52,112,14,8,43,240,101,0,56,96,98,130,3,26,26,24,46,134,3,82,150,204,76,97,132,254,81,13,208, +111,70,224,29,11,184,148,0,5,174,12,9,0,138,128,203,1,0,188,22,185,0,128,137,192,0,24,126,54,17,192,211,206,146,176,80,146,12,3,0,196,35,223,64,32,233,184,27,245,246,75,160,169,121,60,11,82,112,64,4,7,254,55,215,216,180,113,157,205,153,67,185,224,86, +180,20,64,0,0,5,21,78,41,131,198,82,9,188,129,150,75,229,53,244,201,223,207,171,153,215,146,22,227,162,57,140,5,123,186,50,192,195,59,215,118,15,112,178,223,87,14,128,242,162,175,176,66,9,251,35,117,185,141,106,124,136,120,145,162,71,164,201,101,98,167, +8,1,128,66,251,158,136,208,45,9,141,12,37,224,104,189,226,63,162,208,232,196,67,199,25,95,225,66,182,214,74,102,92,118,171,116,249,69,152,27,18,210,237,170,30,36,183,170,242,184,3,116,0,222,168,197,97,139,216,48,179,108,134,240,123,15,131,129,36,240, +47,0,0,0,192,14,91,99,51,176,9,40,14,131,40,24,18,213,21,16,210,120,112,28,14,192,6,76,193,20,192,65,3,180,128,100,64,93,176,107,77,224,46,229,192,71,128,142,0,92,249,89,0,212,69,43,1,224,166,144,18,10,0,66,201,9,234,47,13,81,96,252,104,144,116,193,159, +39,67,23,208,249,4,133,128,1,173,183,152,102,83,235,80,122,3,141,138,88,1,113,169,39,49,154,97,176,81,103,129,248,222,179,79,62,37,80,5,12,0,112,69,64,252,146,146,152,94,182,231,220,119,19,195,165,155,192,105,114,238,33,236,239,125,120,112,251,171,121, +221,57,121,214,19,164,247,118,53,109,145,16,140,121,245,48,93,9,140,124,114,15,49,33,141,200,65,106,182,107,74,145,133,9,201,110,157,90,245,66,141,18,223,33,235,126,234,232,235,41,192,37,65,239,162,15,36,9,142,74,157,239,45,1,150,128,91,250,224,46,126, +116,192,153,97,16,105,198,147,14,146,97,11,156,239,98,11,13,128,7,18,0,254,168,5,185,177,141,76,148,51,78,165,171,237,174,192,213,128,235,31,80,1,117,50,240,75,10,224,245,3,84,2,74,224,105,64,177,67,199,64,224,27,48,91,0,50,112,60,58,58,216,0,6,37,0, +39,3,40,48,3,245,51,172,191,41,7,235,249,23,1,128,198,237,198,212,117,0,186,83,73,0,136,190,167,4,0,173,15,80,0,176,55,19,80,0,232,198,138,2,245,191,157,80,120,25,10,75,64,15,26,38,34,0,74,142,61,128,98,66,77,77,134,183,159,160,130,250,91,136,151,51, +39,169,183,254,245,233,69,162,25,54,187,3,184,20,0,174,80,168,63,112,124,221,98,154,139,198,252,158,237,50,236,218,21,132,93,75,138,77,237,95,204,251,175,86,211,65,182,108,168,2,140,188,125,33,13,128,204,116,190,175,173,43,171,185,12,95,252,214,72,115, +31,130,59,111,162,76,96,188,50,247,132,63,147,217,203,15,104,248,126,116,2,0,176,160,160,58,89,220,213,1,148,4,105,120,164,255,23,16,0,51,156,233,53,102,76,15,91,84,187,5,185,138,58,145,104,59,44,119,63,151,129,195,146,188,0,30,169,197,234,56,201,129, +181,81,78,37,194,222,195,82,94,127,1,21,0,0,224,1,70,192,214,24,161,127,192,6,240,0,206,19,104,43,32,131,57,176,113,152,54,128,161,104,128,7,208,25,0,72,6,198,34,92,22,176,222,99,31,224,204,4,6,9,145,0,78,38,32,0,112,29,73,128,195,135,15,6,0,187,132, +180,0,220,184,77,0,160,10,36,65,98,157,203,173,1,0,146,124,13,5,212,1,64,151,108,124,40,128,200,238,175,33,49,148,19,179,5,69,252,107,156,212,212,253,201,153,68,20,215,174,148,217,110,191,205,49,205,31,191,222,183,91,214,24,91,106,131,130,166,40,0,198, +242,240,128,44,184,79,186,111,76,135,220,229,39,25,6,134,92,154,142,192,188,81,59,91,22,192,187,248,235,17,64,241,157,59,253,96,5,154,18,46,54,147,2,159,132,152,185,73,49,186,177,229,38,115,253,84,0,0,174,121,79,52,34,165,127,75,167,111,139,232,0,144, +235,0,74,69,54,144,227,199,118,121,41,187,54,74,115,158,159,104,192,108,25,208,187,63,219,203,200,132,92,45,224,14,0,30,169,165,217,222,204,196,218,200,151,210,149,157,123,14,145,1,247,47,160,2,26,0,224,1,78,128,197,14,155,63,64,1,60,128,15,128,88,0, +90,122,8,62,57,176,1,83,176,54,1,119,7,0,5,36,3,113,8,235,163,90,208,255,56,12,250,79,192,102,6,0,208,24,51,0,160,115,81,56,112,43,93,0,88,14,194,194,83,178,151,12,8,104,217,78,45,149,41,226,148,64,74,11,210,204,5,165,244,160,165,156,132,182,119,90,56, +210,15,147,80,214,237,1,155,188,93,34,167,122,82,0,24,1,128,17,170,71,157,217,150,88,204,3,159,230,47,218,217,212,168,81,17,69,218,250,123,216,187,171,82,145,10,75,7,235,221,75,167,245,173,233,103,146,80,189,252,172,4,51,230,238,225,137,1,122,210,255, +57,0,190,125,116,173,2,96,95,201,139,88,114,46,60,33,167,207,98,107,35,128,154,172,169,235,27,72,50,15,206,210,214,94,1,64,139,240,93,236,218,43,192,89,202,148,204,209,21,73,3,232,148,238,218,135,35,179,74,137,128,132,83,63,79,193,135,90,131,125,55,102, +24,182,50,51,205,169,13,67,193,76,0,79,103,103,83,0,0,192,123,0,0,0,0,0,0,153,3,97,43,3,0,0,0,53,123,117,14,27,255,20,253,255,7,255,7,255,3,255,15,255,3,255,0,246,255,3,253,250,255,3,248,255,1,255,2,254,168,133,193,60,139,140,205,25,46,41,194,124,152, +152,8,39,228,95,128,129,6,0,248,0,35,64,2,74,64,238,208,209,128,91,0,107,5,148,1,224,120,28,128,13,104,50,44,3,54,3,38,167,3,176,6,201,192,188,3,222,163,6,232,175,13,5,30,41,128,2,31,148,0,85,174,2,0,28,62,233,0,128,52,96,1,64,94,9,205,82,132,253,124, +134,3,235,179,28,60,13,168,120,164,28,33,210,210,145,19,4,252,199,154,22,97,254,133,41,120,241,110,12,148,139,40,78,211,192,219,42,210,207,206,158,188,54,90,90,98,156,236,182,211,1,28,0,112,40,193,235,253,192,234,102,231,25,252,249,89,183,70,233,32,32, +0,0,156,95,90,175,189,119,18,121,153,123,120,164,84,241,160,43,153,142,167,188,245,166,127,46,110,75,180,160,169,91,0,167,117,170,232,4,204,195,11,180,42,0,250,58,217,3,12,40,60,136,13,131,112,194,137,2,187,181,118,197,115,37,5,76,76,45,255,12,179,105, +116,164,114,219,148,187,150,0,80,124,66,148,131,37,111,27,128,148,135,122,41,118,226,75,126,125,216,140,55,180,215,65,195,121,163,5,36,0,30,153,165,246,216,198,128,202,24,167,46,226,110,114,56,202,251,23,0,0,0,224,1,253,10,168,177,1,230,14,29,195,128, +7,208,250,210,13,120,93,48,0,7,133,137,20,200,169,224,253,117,128,175,219,11,156,49,129,34,7,0,240,10,75,1,224,96,65,0,216,253,84,64,20,123,117,202,52,46,218,72,137,52,94,23,16,42,117,242,187,64,1,16,219,164,23,8,31,38,190,136,105,170,245,145,23,15,29, +153,202,62,141,120,194,81,132,252,219,212,65,188,45,216,94,43,18,115,58,241,45,5,16,250,157,208,35,48,66,42,35,2,129,219,15,129,214,142,13,255,24,99,240,44,237,197,116,160,63,39,108,61,61,12,163,222,162,40,158,209,157,250,231,209,129,95,127,175,64,130, +1,128,238,92,147,255,185,38,213,249,237,43,151,29,61,109,153,228,176,106,6,142,60,148,166,73,160,236,112,95,180,109,33,49,12,208,142,86,253,53,158,177,250,159,87,81,148,193,67,38,184,240,220,126,233,237,118,80,38,88,93,155,64,15,166,152,70,28,244,141, +175,30,147,29,30,153,101,65,111,42,39,105,134,185,152,212,125,5,57,162,238,95,64,3,42,0,192,151,192,57,96,1,5,160,63,64,0,74,224,73,160,99,1,40,129,13,144,147,96,38,224,110,128,6,166,128,122,232,159,43,96,125,180,1,31,3,102,51,0,128,108,167,0,149,72, +190,45,0,137,218,174,4,0,188,206,43,42,173,195,202,130,3,0,20,25,157,82,107,235,181,29,41,165,68,252,48,26,64,121,106,195,50,175,83,41,157,98,84,222,55,77,244,53,201,147,239,141,143,147,180,201,148,249,230,40,0,238,212,254,46,202,199,199,237,155,239, +120,133,220,206,14,160,178,90,215,197,15,200,101,183,38,72,192,186,62,237,77,8,137,94,209,24,13,60,89,117,59,12,247,66,214,239,8,14,151,86,245,166,1,141,197,184,187,52,253,23,21,3,0,16,0,155,129,52,217,125,252,175,11,159,81,106,100,160,2,125,114,121, +226,242,2,218,95,111,28,189,205,13,0,126,98,145,75,2,118,136,245,150,36,9,34,252,251,189,216,13,29,206,187,104,204,166,193,185,254,96,222,118,155,213,114,89,173,92,76,0,30,153,213,106,47,99,100,74,61,103,142,248,190,199,100,128,132,244,23,208,0,0,0,15, +240,10,184,176,71,223,161,96,17,120,0,29,43,26,4,35,225,144,124,118,15,54,224,4,211,1,207,0,122,4,132,3,81,128,254,2,184,199,90,96,215,2,112,140,43,2,128,62,152,1,0,37,137,160,176,159,0,128,196,37,9,52,194,217,75,7,117,157,12,182,150,144,192,207,174, +16,194,0,56,228,10,10,245,209,240,104,88,133,105,67,74,20,181,3,196,169,89,120,87,151,155,109,235,213,161,150,120,114,96,255,176,207,13,210,223,82,68,41,92,212,21,32,162,134,154,234,63,48,147,251,249,159,242,185,171,170,9,13,80,1,28,95,57,159,146,176, +144,148,16,204,10,247,182,32,176,113,233,218,46,0,149,126,69,131,49,193,55,63,165,146,66,249,26,3,193,28,202,245,214,204,232,112,71,240,239,224,130,221,200,189,231,62,112,238,155,105,55,110,0,0,160,142,138,97,182,88,89,31,101,103,215,255,185,48,196,17, +3,236,169,192,132,213,135,234,119,31,51,98,61,78,107,174,124,114,92,26,15,0,254,168,165,97,111,90,206,210,116,42,17,223,111,80,155,208,137,252,11,0,104,0,128,29,86,197,32,176,37,208,177,67,65,128,158,2,214,6,136,218,152,104,86,128,193,5,224,112,39,164, +3,214,5,250,111,202,64,127,182,30,120,7,96,205,3,112,51,42,0,207,94,11,0,88,92,13,41,0,64,25,171,180,168,254,85,170,162,197,248,170,149,56,113,90,190,22,178,14,132,186,100,51,80,20,42,5,88,150,132,63,75,40,94,231,15,105,23,50,115,7,63,108,222,0,40,1, +66,246,148,54,179,187,197,111,94,188,250,221,214,177,52,85,128,198,17,5,176,201,179,81,5,48,103,102,143,81,2,232,15,91,66,224,155,144,121,142,52,251,160,133,120,76,20,142,60,118,56,144,100,144,140,127,12,5,186,55,196,252,60,62,250,103,48,0,18,8,190,148, +122,226,147,138,238,37,37,143,135,1,96,2,218,213,121,3,64,107,97,201,170,118,22,13,56,216,192,134,99,94,205,130,96,209,250,173,198,62,162,147,165,13,32,192,244,206,239,138,133,6,96,135,75,92,140,209,52,97,43,3,254,152,101,86,111,35,23,237,88,138,48,31, +174,77,64,243,47,64,128,1,0,30,160,0,58,48,12,245,29,234,72,224,12,32,205,3,31,25,128,35,16,40,96,5,79,176,14,240,10,130,169,132,244,1,99,17,92,91,7,168,89,3,120,17,48,74,10,0,215,103,28,0,144,171,141,226,0,105,243,43,10,28,179,161,80,213,143,54,0,244, +143,80,120,136,119,143,172,167,0,16,161,168,43,143,134,72,244,40,15,166,123,5,212,179,2,213,253,13,170,19,228,168,53,120,196,226,7,15,27,227,91,223,118,254,199,5,7,4,0,170,11,148,231,238,109,207,231,53,142,173,217,153,75,186,175,159,34,20,0,94,67,55, +99,122,136,79,166,194,5,243,37,48,115,65,66,45,18,164,171,183,29,124,192,204,190,251,168,8,140,220,236,218,52,202,226,49,101,40,15,91,185,84,235,206,136,146,145,63,16,190,154,190,227,182,254,103,115,192,179,178,142,125,206,126,208,72,143,143,157,89,165, +197,22,24,147,94,62,220,200,56,1,152,239,104,166,49,218,217,70,230,184,70,65,0,242,78,125,154,163,251,141,67,196,14,165,158,147,27,48,3,222,168,149,97,155,181,81,181,145,207,37,194,123,30,182,1,246,47,160,2,42,0,192,3,250,0,46,24,163,237,80,67,128,189, +1,210,2,120,221,81,144,104,96,5,210,224,1,62,0,128,84,34,7,244,0,214,243,18,176,222,191,1,63,3,118,28,8,0,37,160,32,128,156,188,1,148,7,211,140,64,89,114,8,208,110,229,239,2,180,149,122,2,47,51,127,41,40,37,216,183,1,80,39,17,212,205,108,102,119,96,92, +31,81,44,102,40,187,67,226,247,250,122,234,94,1,0,0,80,17,160,135,31,54,45,10,103,123,159,246,170,247,200,34,56,128,74,64,233,135,255,20,190,178,122,19,58,29,136,166,188,149,214,201,43,128,224,234,87,5,192,193,167,23,217,2,104,156,121,96,132,129,244, +93,5,132,66,69,46,53,79,45,18,186,68,230,81,181,224,18,128,243,207,56,8,147,177,93,116,52,47,126,73,253,53,25,64,0,191,109,200,179,120,66,70,243,117,57,83,68,7,178,152,146,196,86,191,86,199,228,72,0,171,231,232,73,246,245,239,124,204,153,136,67,208,55, +3,116,54,222,152,101,217,222,174,156,149,237,226,98,50,157,187,53,224,253,5,84,0,0,128,7,168,4,58,49,198,252,128,11,144,128,10,96,89,0,50,61,58,26,10,88,1,6,19,32,187,18,22,40,204,176,190,181,43,240,183,67,2,127,105,160,72,1,0,245,30,46,0,72,122,160, +0,254,134,2,240,144,5,144,68,74,211,13,2,11,40,10,98,57,170,136,111,70,138,10,100,101,7,0,44,105,196,231,11,126,12,32,49,200,134,253,144,102,146,24,184,218,173,134,87,123,158,144,114,0,128,8,9,1,199,127,165,22,78,231,129,241,130,154,201,174,54,6,112, +223,54,21,96,116,234,123,226,1,179,60,81,60,32,76,57,254,145,15,208,106,199,115,204,107,24,170,104,196,166,32,53,7,20,196,200,53,239,64,129,91,68,177,232,66,85,14,151,246,210,138,248,167,210,64,98,0,26,42,21,32,3,200,64,235,97,84,187,106,13,51,131,2, +192,59,100,30,130,109,137,79,35,135,117,0,243,187,10,118,239,68,84,211,1,137,38,78,208,146,249,175,87,105,79,133,9,180,27,36,222,168,149,97,75,141,170,12,147,168,156,110,24,70,6,114,127,1,6,0,0,60,96,107,64,137,49,198,135,142,134,33,209,154,192,209,1, +192,6,52,193,30,224,182,37,25,88,69,240,168,154,192,183,15,5,222,29,192,64,89,0,184,30,16,1,0,84,55,1,252,231,121,14,128,71,195,68,34,12,10,66,20,234,200,230,242,197,53,94,157,11,94,229,199,114,244,194,175,66,5,29,219,195,235,150,106,53,170,236,68,11, +64,160,128,24,92,81,78,95,109,95,139,98,12,247,52,111,173,82,73,139,160,57,154,148,192,236,123,70,208,46,128,183,106,67,235,2,68,127,93,32,1,89,94,8,0,222,116,31,137,250,235,203,168,221,186,20,26,230,61,30,63,2,167,130,122,37,63,181,10,148,255,63,153, +204,37,72,204,201,85,230,126,33,181,24,4,136,96,1,10,224,4,18,32,247,238,222,38,0,211,7,255,201,61,233,77,58,112,191,59,30,192,230,130,230,80,70,139,90,168,206,217,151,22,32,169,32,210,189,114,205,136,141,214,4,0,222,168,21,225,56,245,65,180,221,14,83, +236,119,23,2,44,37,81,218,191,0,3,0,0,94,0,63,0,53,214,152,31,160,0,36,240,4,208,22,40,104,201,198,225,109,192,145,68,3,60,237,72,11,212,55,248,182,154,9,126,103,47,176,187,8,76,5,5,128,228,177,8,10,96,76,28,128,167,231,17,128,158,150,130,128,58,199, +33,146,82,139,49,23,32,204,210,89,226,74,192,130,112,113,69,253,103,168,144,53,77,115,211,214,162,225,231,221,131,199,69,87,231,10,82,172,123,41,113,184,250,14,138,134,249,155,89,33,153,200,235,162,134,176,115,29,5,240,246,129,113,11,240,224,149,207, +213,0,122,94,232,3,129,144,159,22,148,30,118,219,183,164,106,251,119,50,21,18,81,96,31,197,2,252,86,215,253,119,61,171,209,90,2,64,1,242,41,128,120,57,71,212,31,146,192,161,151,217,58,128,220,86,17,204,144,77,100,87,118,24,140,145,214,176,255,104,172, +223,169,60,76,253,84,34,101,108,131,106,107,165,36,253,111,18,24,103,147,8,217,101,86,181,245,60,84,15,192,82,2,254,168,53,86,157,245,81,149,17,167,16,97,247,39,56,74,251,23,208,128,10,104,128,47,129,115,192,43,160,0,182,119,216,26,139,192,19,64,91,0, +138,212,198,37,111,3,158,36,70,128,39,37,24,24,20,160,63,175,128,117,184,129,254,213,192,220,64,0,192,221,102,1,72,180,119,28,0,139,192,18,0,176,203,15,19,103,28,235,83,10,208,234,109,12,1,132,163,122,52,87,130,202,68,50,161,128,202,89,232,197,134,191, +146,94,160,227,106,32,154,93,19,23,184,95,0,36,146,0,83,195,104,17,180,243,49,149,132,80,116,139,240,204,253,6,168,52,181,118,2,140,217,93,123,4,176,241,224,19,16,24,197,28,27,221,171,225,234,81,128,44,254,95,83,34,248,104,153,197,218,191,133,48,46,186, +162,83,16,192,128,65,191,129,145,248,85,142,214,0,202,146,241,138,115,13,98,2,140,126,199,220,40,54,235,190,188,2,33,0,146,246,207,216,215,136,238,175,227,189,185,90,71,72,144,46,83,218,21,105,13,59,133,6,211,184,85,192,213,226,124,32,76,108,0,190,152, +213,65,154,124,80,74,62,184,166,234,190,99,50,144,245,23,208,0,0,0,15,240,10,184,176,71,223,97,59,44,2,15,64,44,0,25,216,184,68,174,192,145,68,7,220,249,164,116,192,156,208,255,6,112,143,117,128,93,11,192,113,11,0,172,234,214,40,0,177,44,238,1,176,111, +116,128,146,124,130,251,201,243,134,170,34,90,239,143,81,81,178,114,188,246,76,1,9,245,192,2,80,143,85,210,12,171,222,75,19,171,137,252,252,39,103,17,145,167,63,22,0,152,136,208,233,250,74,234,136,232,188,109,126,146,102,166,148,26,206,180,15,226,32, +116,183,43,100,129,100,99,193,221,18,2,200,77,158,2,176,82,59,29,104,135,249,252,89,187,142,17,175,128,70,29,88,205,19,147,228,250,57,58,38,24,223,2,0,204,150,233,243,160,48,248,84,27,29,119,123,192,231,162,245,205,155,24,118,170,179,217,159,71,72,24, +3,172,95,252,206,136,160,22,76,182,122,51,235,30,177,251,142,164,237,63,18,83,57,132,220,12,56,222,234,97,232,121,2,0,222,152,53,118,153,106,99,74,235,142,20,126,247,39,40,145,121,253,5,52,0,160,2,188,0,70,9,60,56,204,15,216,49,32,128,45,128,142,121, +192,168,93,0,202,10,28,105,76,192,109,128,21,176,141,208,95,149,131,254,227,42,88,223,19,216,34,0,0,141,53,1,0,168,180,1,112,246,1,0,157,252,0,188,133,120,247,69,45,96,237,235,186,163,206,91,47,183,107,148,88,168,215,16,64,244,27,52,177,140,211,15,219, +86,84,66,61,104,4,73,168,172,126,76,1,232,152,173,210,182,154,190,150,235,148,14,22,75,152,84,43,211,187,80,191,61,16,252,11,52,157,1,60,186,233,43,55,0,203,210,191,1,38,84,18,108,17,228,242,100,127,169,40,182,246,113,51,2,142,100,64,58,23,4,8,183,254, +158,217,62,197,178,83,90,245,164,89,195,173,158,127,200,1,52,166,216,218,97,111,186,190,117,9,121,133,144,156,27,220,107,2,0,216,173,125,197,160,74,171,143,162,110,56,104,228,181,181,203,83,139,188,223,81,45,118,150,238,20,186,185,104,255,147,92,161, +10,201,199,4,190,152,21,118,109,24,84,154,105,41,194,110,50,16,19,208,254,3,0,250,14,240,165,149,64,241,0,149,192,14,24,196,226,7,60,0,1,188,6,144,230,129,171,165,27,192,10,76,65,28,32,73,6,50,192,227,107,130,126,251,7,0,88,123,223,165,128,149,98,141, +43,1,216,200,44,0,88,172,54,152,160,240,227,31,3,128,183,193,84,66,162,222,47,18,145,2,246,59,214,57,133,240,176,83,39,32,160,197,134,40,64,241,52,158,44,137,227,143,47,12,33,203,222,47,195,181,136,195,111,187,125,64,188,53,199,169,89,105,114,114,110, +106,9,114,127,254,72,155,4,102,14,192,180,40,172,139,177,61,66,194,85,136,56,55,124,44,119,250,45,13,64,127,83,137,186,31,81,90,73,0,18,196,230,66,169,117,160,108,168,72,10,148,130,201,22,95,254,241,255,209,5,218,20,32,128,67,13,76,64,181,47,204,226, +117,0,26,88,165,255,252,142,43,235,115,160,245,250,166,90,52,235,7,44,101,165,70,199,5,120,161,196,121,96,184,185,103,81,0,222,136,213,217,222,214,134,181,29,14,18,126,62,45,29,217,251,23,0,0,0,224,1,79,13,108,96,16,30,80,36,16,248,10,111,79,0,112,133, +192,1,5,9,86,128,96,19,176,93,158,72,129,222,192,215,149,3,223,96,23,224,52,1,20,67,10,0,87,195,18,0,80,38,82,128,216,138,0,96,103,47,18,192,38,211,81,4,32,54,62,134,162,137,122,127,111,170,59,240,113,142,80,0,88,13,8,160,52,193,167,105,82,1,222,69,51, +46,234,198,159,153,153,233,71,146,216,1,128,2,0,35,161,211,196,111,29,159,234,251,48,180,73,214,193,81,152,108,17,148,234,167,84,129,111,117,22,169,17,8,125,53,215,16,0,53,29,157,72,128,236,45,50,255,42,180,151,202,33,235,173,80,106,212,214,27,146,223, +146,130,145,167,136,244,43,18,65,113,85,195,67,242,197,27,8,14,3,160,141,120,235,57,11,185,14,192,108,37,50,184,64,13,58,96,116,157,28,169,224,157,225,21,234,203,123,0,130,246,134,97,172,119,92,237,241,214,5,240,243,161,232,224,230,93,91,80,10,222,136, +53,153,222,198,168,198,142,71,137,253,233,38,28,181,1,215,95,64,5,0,0,120,128,2,80,160,163,124,192,13,144,128,23,64,216,0,145,118,75,32,5,26,63,47,20,16,245,176,122,6,126,119,87,224,61,18,24,164,0,0,205,28,3,10,224,205,216,16,128,187,249,68,4,28,19,128, +68,58,80,96,1,128,174,137,214,194,219,149,85,43,1,2,91,73,7,252,166,193,36,106,221,95,92,170,176,117,138,149,122,70,106,230,226,182,191,3,204,204,29,251,3,16,30,47,57,70,2,193,211,222,2,210,208,181,106,192,28,145,163,186,84,225,153,170,7,17,105,243,162, +143,235,112,138,48,148,140,88,183,201,119,42,36,87,236,156,240,253,239,237,172,254,47,4,128,1,180,230,69,31,88,102,242,133,96,141,47,51,10,86,27,40,230,175,62,169,59,127,21,140,96,35,89,242,253,252,49,232,17,112,53,192,38,40,67,210,2,208,205,205,244, +39,78,119,61,237,115,182,175,228,61,162,0,86,224,248,57,194,101,172,206,59,135,208,63,49,80,37,10,122,176,66,6,60,54,0,79,103,103,83,0,0,192,191,0,0,0,0,0,0,153,3,97,43,4,0,0,0,79,236,212,107,20,255,9,255,1,254,250,255,2,249,242,242,240,250,248,249,240, +233,249,235,246,158,136,213,185,54,139,76,180,147,196,127,98,50,221,228,112,53,28,251,23,0,208,0,0,15,184,14,64,129,14,31,240,10,8,192,24,104,14,248,0,72,15,128,2,6,128,182,105,178,5,3,243,0,214,63,238,3,124,182,30,248,228,6,46,123,0,192,123,141,2,0, +186,177,70,41,96,107,39,68,240,7,45,212,74,2,100,102,28,177,176,226,41,17,189,148,98,241,200,192,74,226,233,126,79,4,47,125,15,16,36,119,119,93,10,248,119,137,119,58,43,4,135,72,195,39,205,191,55,200,209,179,171,159,67,5,192,197,145,214,62,91,176,10, +29,171,3,214,139,2,184,186,237,109,66,128,107,199,127,110,0,170,15,251,69,18,16,87,63,73,144,204,71,206,196,237,214,85,249,84,65,189,83,65,192,55,80,230,251,219,81,163,79,184,190,59,12,0,0,230,35,203,244,210,245,195,112,26,1,148,151,83,223,79,127,142, +211,153,27,3,119,0,140,68,92,171,134,12,252,188,226,215,237,166,53,111,164,91,215,186,244,132,237,242,75,50,118,217,199,198,169,206,85,84,128,171,147,162,193,170,43,162,49,241,0,222,136,117,118,175,190,97,101,16,254,139,222,114,191,199,219,112,236,95, +128,1,128,10,240,0,99,192,162,163,31,22,81,176,32,202,6,136,234,6,128,192,6,224,77,44,3,227,57,24,162,6,112,167,19,128,63,23,112,220,0,0,248,60,13,0,138,43,210,29,138,240,180,185,2,152,77,137,109,217,98,78,26,226,158,75,148,227,181,154,189,37,22,37,254, +106,138,20,16,115,80,222,253,252,98,146,145,182,28,19,69,232,43,69,90,116,138,8,64,240,250,251,223,106,61,32,143,74,236,65,96,194,138,196,127,169,1,225,193,7,199,218,96,172,48,16,33,246,73,131,172,68,105,13,226,187,182,65,255,123,22,242,222,205,206,220, +61,76,71,60,63,94,35,9,222,206,18,31,255,228,207,195,36,15,1,176,123,52,246,50,223,207,247,12,131,144,113,48,178,67,75,212,190,128,189,71,71,35,102,18,48,176,105,189,211,230,212,50,32,233,217,48,183,20,79,53,0,202,253,159,239,26,212,150,159,59,18,74, +86,162,219,204,119,44,90,84,159,240,195,136,185,212,115,152,78,60,0,222,136,245,65,111,201,85,104,137,63,97,239,55,197,6,186,254,2,0,0,0,188,0,30,192,5,248,195,10,246,56,252,6,152,113,3,244,37,64,5,236,196,50,160,8,158,85,129,183,229,192,78,5,88,70,14, +0,198,103,205,128,5,146,215,40,66,196,31,206,104,14,229,95,103,5,47,126,134,233,156,20,220,190,213,130,122,12,198,151,105,4,26,122,36,167,2,213,142,1,248,120,240,185,104,112,65,182,118,67,197,205,93,58,13,224,49,225,170,94,188,235,55,253,233,4,28,200, +179,183,59,1,225,212,249,215,181,72,96,198,195,165,170,128,64,107,38,32,222,212,64,217,33,154,174,222,83,22,71,131,173,29,165,37,221,59,139,168,6,54,121,194,50,59,168,67,144,186,253,113,77,0,23,14,133,200,131,143,69,54,48,55,220,214,123,244,162,245,106, +8,50,121,44,138,18,183,20,105,132,33,13,183,28,128,136,39,195,181,20,73,34,129,45,51,169,86,125,222,212,73,164,203,245,132,67,235,207,85,184,70,148,119,142,75,90,236,190,132,237,152,216,208,83,81,0,190,136,53,217,86,125,16,97,39,233,191,174,140,186,225, +177,54,81,221,191,0,0,0,0,15,48,151,64,7,143,63,172,131,199,62,184,3,116,128,184,1,230,196,4,116,171,24,136,27,232,111,213,73,88,255,41,7,110,85,128,139,64,4,0,27,173,101,1,64,234,246,32,94,125,198,174,0,42,97,165,23,243,250,144,181,80,200,30,179,247, +62,101,248,70,198,160,70,105,13,47,89,1,20,219,172,132,145,226,167,173,41,94,34,31,125,133,70,98,57,224,144,80,81,167,185,141,124,160,128,240,200,101,122,183,128,217,239,109,151,0,96,204,215,46,234,128,233,30,167,18,91,49,74,152,68,134,157,241,94,230, +206,79,115,196,175,155,87,140,97,11,1,13,163,233,49,37,115,241,177,98,77,25,228,155,70,165,227,10,123,205,60,21,0,219,225,47,85,154,72,48,32,222,125,215,182,96,12,24,6,0,150,182,204,175,34,208,40,88,191,10,6,220,140,220,206,206,243,50,151,233,143,17, +116,172,226,188,149,12,196,40,187,12,76,21,153,155,2,61,9,0,190,136,213,225,212,146,177,116,39,233,71,239,71,175,194,49,26,142,253,11,104,64,5,0,120,9,156,3,14,116,220,97,135,53,86,96,3,76,127,9,136,13,9,93,64,108,192,164,20,160,4,250,159,85,176,142, +51,240,81,2,179,3,0,200,72,33,96,1,31,179,9,4,15,63,20,192,219,133,164,42,230,249,205,191,89,1,225,233,19,197,61,202,233,74,129,54,110,253,5,8,90,249,188,41,57,110,137,22,69,229,25,49,102,149,248,121,26,64,52,131,214,220,101,153,3,16,68,84,169,34,111, +27,222,186,136,6,176,113,160,54,15,0,165,43,174,251,0,87,107,239,147,66,4,44,15,76,101,112,10,89,179,168,141,118,127,20,106,181,91,15,201,146,230,76,3,118,6,227,85,228,12,46,34,50,51,18,200,91,31,31,191,26,3,161,121,213,169,200,91,1,49,97,216,58,30,220, +99,71,199,60,56,208,118,1,149,8,189,137,242,214,13,12,0,47,232,206,173,162,178,229,1,25,87,212,61,59,181,88,112,246,190,94,226,67,135,118,0,27,242,71,245,76,179,3,138,81,9,158,120,117,65,139,216,178,114,194,65,98,70,186,233,177,53,28,251,23,208,128,10, +0,240,18,56,1,106,76,244,7,40,129,133,129,40,11,64,73,198,174,51,42,144,99,192,3,180,17,248,59,181,192,93,10,192,113,199,82,0,94,111,144,0,240,57,155,68,28,31,211,93,180,224,214,117,7,72,34,159,119,40,64,108,41,140,2,85,253,121,233,178,40,238,126,41, +21,0,214,13,247,170,245,146,62,213,149,62,132,253,55,253,149,6,66,207,26,26,74,128,254,179,106,27,144,4,125,118,31,18,111,235,85,78,79,87,175,192,108,77,92,98,143,174,204,27,86,239,65,73,193,142,4,178,109,63,133,94,61,70,84,72,231,170,13,94,28,164,65, +252,205,243,42,19,151,246,69,60,11,4,18,202,44,135,79,3,195,0,96,128,68,189,125,159,138,182,12,64,119,203,215,245,224,166,109,238,171,207,51,18,22,206,107,63,179,76,195,60,130,93,145,238,111,172,53,86,242,187,116,175,70,95,39,167,86,166,193,104,12,197, +89,191,43,223,99,112,23,192,4,158,104,117,97,155,233,136,202,201,252,137,253,206,39,215,6,114,127,1,0,13,0,112,216,0,35,20,56,84,249,10,31,136,13,120,109,187,129,103,14,160,227,10,49,176,211,224,71,229,192,253,19,224,61,0,115,22,160,126,94,52,1,152,110, +134,186,40,155,166,113,128,127,11,208,250,123,124,38,22,222,111,254,5,165,150,231,123,173,9,218,109,43,0,196,91,177,144,66,82,86,162,194,147,222,170,66,113,148,165,58,154,176,79,118,113,162,0,78,234,43,1,188,246,112,221,57,192,114,197,230,0,112,243,254, +89,34,0,215,38,225,209,34,115,32,83,104,205,148,207,82,43,61,243,73,180,130,33,87,116,206,15,72,98,28,25,98,216,183,232,180,247,104,144,194,173,141,21,139,82,6,99,9,178,109,181,47,57,181,138,83,152,25,246,115,78,70,57,1,165,0,9,58,183,83,169,29,224,80, +49,247,83,59,150,18,97,181,187,227,141,15,2,20,201,211,253,247,190,242,213,58,204,32,240,69,244,190,29,60,98,235,216,0,158,104,117,65,155,116,203,198,38,253,137,174,211,77,30,110,19,241,250,11,0,0,0,112,88,21,35,128,15,40,0,1,108,1,8,27,112,82,63,198, +128,200,231,24,56,47,128,223,171,1,252,193,93,128,187,0,138,166,2,204,47,6,64,133,137,1,224,159,231,8,224,53,43,7,66,165,29,31,135,0,165,30,83,20,64,150,46,239,140,8,133,196,62,151,17,32,76,39,112,113,250,241,125,218,127,16,128,147,30,122,60,2,33,251, +221,167,18,32,207,234,227,164,1,209,106,72,146,236,109,229,4,69,117,200,103,21,247,170,44,72,170,224,140,137,116,44,226,12,193,76,246,165,209,58,61,62,119,226,98,183,9,87,234,103,103,193,149,251,135,87,71,166,188,248,208,125,16,87,205,66,4,90,10,10,226, +162,36,143,206,66,145,27,199,119,103,30,45,147,110,88,230,176,210,92,25,183,116,165,76,107,127,100,63,177,11,36,125,135,83,55,243,181,188,40,10,47,34,232,221,61,1,202,96,54,53,81,69,100,193,91,130,0,94,120,213,97,107,117,203,82,139,103,133,80,127,222, +33,218,16,68,22,254,5,84,64,5,0,120,9,60,128,197,195,97,140,137,79,228,39,110,9,72,107,91,21,98,96,42,88,31,74,192,250,75,17,172,95,128,248,165,0,224,78,230,65,1,56,115,14,84,25,239,11,128,79,142,166,8,180,248,187,167,132,2,62,255,234,94,234,225,115, +154,107,38,64,223,230,21,136,49,125,42,69,130,196,233,43,137,145,191,196,192,206,154,116,148,167,13,230,224,210,79,226,0,222,253,179,81,41,77,160,244,239,17,96,242,233,163,101,201,227,76,213,92,103,122,216,137,146,221,186,195,110,45,75,239,58,97,232, +73,73,164,255,187,106,255,187,193,158,252,43,78,195,71,193,81,21,184,153,63,59,192,192,222,28,62,45,42,221,160,140,101,67,149,188,200,30,230,227,82,174,105,80,162,25,24,185,48,191,99,252,158,164,17,61,125,131,194,63,147,78,204,203,84,226,191,150,63,90, +58,37,206,91,127,52,87,166,186,244,108,2,19,158,120,53,65,159,116,16,225,14,194,191,16,187,238,220,124,3,205,81,127,1,0,0,0,222,24,216,11,80,16,216,53,212,16,128,11,112,5,0,144,174,29,48,0,56,178,167,67,12,76,77,240,235,224,1,254,125,17,120,56,4,252, +82,0,0,243,163,149,0,48,222,20,0,218,217,45,0,148,89,121,53,164,214,171,169,237,21,69,57,11,23,65,69,43,211,162,17,0,34,166,151,19,148,138,243,150,235,5,226,31,21,0,208,234,84,168,150,26,61,150,119,18,148,54,124,211,182,235,166,68,170,57,148,179,190, +227,51,37,240,125,219,18,201,1,78,254,17,31,0,186,255,235,81,195,152,136,170,58,44,135,37,87,26,99,147,59,131,26,50,142,161,166,235,115,100,18,97,31,241,10,159,3,0,255,107,86,239,139,59,234,250,136,101,128,2,190,165,21,167,84,226,28,253,147,195,40,217, +56,1,48,29,196,103,232,235,190,226,104,59,216,137,1,43,213,16,66,67,116,104,219,37,64,13,78,95,200,200,102,23,68,253,212,162,122,193,176,224,19,193,4,158,120,77,97,41,196,64,226,12,186,191,20,215,220,247,27,28,195,149,67,127,1,2,8,0,224,141,0,47,128, +134,196,21,20,140,49,136,13,38,106,254,0,25,5,176,154,48,163,153,98,13,192,235,196,0,15,103,8,16,53,0,70,0,0,116,198,22,0,96,255,95,9,184,243,144,1,34,132,75,169,68,17,115,60,146,218,75,92,71,177,235,229,227,56,190,187,10,26,156,119,153,160,224,187,124, +174,186,81,190,75,16,115,29,24,54,186,66,152,127,101,231,218,100,34,67,1,178,159,232,99,192,44,133,78,223,128,9,5,59,104,5,96,221,31,137,140,4,230,56,74,200,100,158,19,128,9,214,198,236,6,54,156,180,61,140,232,65,216,86,119,200,174,151,205,209,155,194, +32,127,206,27,93,172,11,21,46,57,180,35,228,152,217,78,83,33,21,135,243,5,86,171,45,8,61,173,88,29,146,236,172,79,50,73,38,243,145,140,58,8,128,219,92,188,63,53,21,40,137,89,218,8,253,8,80,146,65,65,213,128,210,183,73,43,221,0,81,20,0,158,104,117,74, +43,76,70,226,193,159,184,45,208,123,120,77,20,237,95,128,0,2,0,120,51,160,4,182,32,240,37,160,4,36,160,4,108,9,168,69,1,164,142,137,169,102,32,174,192,165,18,224,120,86,128,167,5,244,29,3,0,152,190,215,1,192,174,255,111,2,72,184,32,0,186,171,193,122, +69,245,198,146,99,1,208,211,39,88,17,132,78,206,204,0,96,167,83,164,112,106,189,75,122,232,165,250,189,17,60,14,101,29,203,20,145,230,87,239,22,64,207,125,191,11,35,192,218,120,135,23,96,244,159,75,213,140,133,48,253,226,66,96,36,173,86,90,219,64,45, +34,186,55,178,210,164,97,163,109,125,22,70,31,171,28,58,1,56,206,18,240,203,63,65,32,116,174,159,99,98,169,229,171,66,130,132,153,163,53,212,9,56,41,135,139,17,177,82,233,247,147,123,128,245,237,240,124,207,15,101,78,170,110,89,41,79,45,26,8,34,9,180, +118,129,103,126,125,78,184,86,196,6,194,255,31,15,165,20,86,187,121,44,46,8,83,190,10,54,204,117,158,88,141,97,157,235,5,106,39,92,37,118,115,191,199,171,1,239,47,0,0,0,192,5,43,73,199,195,97,97,209,176,1,52,213,215,134,44,89,33,166,24,139,224,17,251, +7,56,219,190,192,199,128,209,30,112,246,86,115,186,32,28,48,0,41,110,238,90,64,169,231,95,39,1,78,118,235,185,26,96,57,122,203,236,226,213,167,255,75,5,138,167,211,110,30,168,3,39,159,61,70,43,192,143,158,106,231,0,35,15,155,54,35,77,160,251,121,3,236, +245,65,192,22,255,166,56,174,73,50,83,39,12,29,79,58,145,247,110,206,8,34,185,172,239,194,38,239,171,169,123,51,81,109,16,109,36,157,158,47,172,73,1,115,127,125,12,80,24,66,248,76,69,61,216,29,54,103,138,17,150,104,16,196,43,135,55,53,242,123,60,236, +182,237,213,54,41,97,125,235,222,254,88,238,38,23,118,207,101,167,6,114,141,147,181,177,39,197,36,195,24,148,107,220,165,166,24,132,109,195,254,248,204,139,134,194,63,202,0,217,1,126,56,245,65,33,147,219,207,184,139,252,95,216,230,173,226,255,7,84,128, +5,215,159,2,168,56,12,34,1,142,15,30,61,33,223,204,3,180,214,138,64,194,20,59,3,88,207,103,208,255,103,207,80,0,95,233,177,84,138,96,63,159,73,129,191,191,42,64,157,14,229,3,208,243,175,85,149,226,124,150,10,202,98,191,169,44,174,202,183,20,234,76,221, +58,146,4,170,238,165,234,40,195,223,150,149,83,193,149,5,178,223,235,1,83,180,179,2,144,127,124,192,216,75,49,128,251,27,52,8,207,24,154,183,155,99,195,206,92,251,230,149,154,6,92,92,155,11,173,183,66,197,233,26,74,115,87,255,127,87,29,112,27,107,127, +68,90,152,128,155,151,222,237,92,221,49,238,220,142,150,15,234,200,156,2,63,62,226,43,38,74,209,60,58,43,203,165,112,128,171,115,70,166,184,74,253,8,142,100,194,89,9,164,41,16,119,117,37,215,0,251,201,124,32,5,186,186,229,238,216,118,64,147,0,222,56, +109,106,37,247,236,115,239,40,126,197,198,221,228,72,166,131,255,95,0,0,0,128,7,28,128,2,143,247,64,1,72,24,18,205,74,128,236,121,128,188,48,100,207,50,99,136,29,176,127,21,184,135,4,93,5,86,16,5,88,57,51,67,64,0,103,26,128,84,237,167,136,56,202,184, +2,32,68,86,13,150,16,208,183,132,37,229,42,215,172,98,117,240,89,217,64,65,165,21,192,253,59,127,12,30,223,205,164,122,119,164,131,182,234,139,125,36,128,162,35,145,2,248,255,131,207,149,128,105,149,235,193,1,126,184,85,27,238,100,106,17,98,68,67,94, +92,123,92,54,22,109,179,35,231,189,70,140,232,11,205,147,139,118,83,208,132,199,16,32,159,3,202,190,84,198,1,139,109,36,203,190,140,91,87,41,43,109,113,87,244,88,165,193,62,186,91,179,12,166,235,78,68,56,254,67,60,240,248,3,166,65,18,187,245,194,126, +57,225,252,24,95,63,98,66,60,39,52,39,12,226,81,159,211,44,100,103,221,214,121,66,232,235,108,204,47,152,116,0,190,39,149,153,66,22,155,159,93,197,47,93,32,144,129,228,176,63,160,1,206,2,251,31,5,216,122,137,137,126,92,0,128,171,236,210,78,164,138,25, +197,13,250,183,1,88,143,57,39,1,72,28,37,176,20,182,239,35,5,160,94,252,204,57,224,127,143,131,203,237,255,247,202,40,103,117,224,85,83,17,218,127,91,215,0,19,107,16,173,30,36,80,181,193,158,122,132,32,145,19,1,104,187,138,174,1,200,124,84,157,205,152, +198,126,50,101,24,106,88,222,110,99,215,159,73,165,125,232,120,1,217,7,196,31,20,27,158,134,251,78,113,72,36,3,77,147,181,174,79,195,34,147,122,208,73,12,255,235,90,146,137,219,244,146,68,34,166,84,148,148,138,2,47,185,207,213,50,104,254,31,9,184,66, +47,61,192,105,99,137,253,237,66,174,75,95,98,208,34,67,162,154,245,217,84,184,190,76,64,91,28,121,131,76,140,245,187,37,27,149,90,98,126,55,138,176,49,51,157,89,209,244,31,65,2,0,126,72,245,118,159,201,17,42,119,147,127,132,244,14,181,1,238,47,0,0,0, +192,27,1,74,64,32,113,88,93,160,142,68,82,49,53,86,170,20,83,148,214,67,255,181,28,120,186,110,130,75,93,192,129,22,0,236,201,95,8,0,238,227,203,4,5,186,251,39,7,20,203,49,17,103,242,243,69,158,137,227,126,251,129,60,13,48,159,221,4,64,107,199,236,166, +2,225,219,165,47,56,71,96,198,252,191,112,2,128,174,9,114,93,43,131,68,204,84,11,249,146,221,238,230,230,138,104,168,80,179,125,97,160,42,149,218,147,220,71,238,228,20,249,1,128,31,230,40,21,245,69,12,162,20,232,255,227,192,228,77,84,231,30,172,187,138, +25,181,174,247,15,75,37,17,203,236,121,92,158,158,147,36,110,207,138,82,6,1,198,7,249,254,242,156,203,251,114,123,54,152,225,188,240,221,21,149,32,144,219,88,155,17,116,67,234,133,134,36,98,186,225,156,242,89,146,100,242,86,90,154,127,188,180,44,103, +21,116,184,96,209,101,233,187,235,19,0,79,103,103,83,0,4,86,233,0,0,0,0,0,0,153,3,97,43,5,0,0,0,169,30,118,253,11,242,245,243,234,245,243,240,234,242,223,194,30,72,213,86,157,9,67,180,34,220,70,247,43,104,77,212,247,23,0,96,0,192,123,5,140,18,24,97,17, +87,48,198,161,99,155,128,90,0,116,172,3,61,195,20,99,1,124,191,0,87,167,77,48,56,93,192,127,0,80,0,209,38,0,96,203,175,237,1,100,249,96,3,2,190,26,168,49,102,141,92,63,105,57,202,143,109,1,119,194,11,139,130,47,244,87,4,0,189,165,61,56,196,122,45,21, +237,8,49,33,16,143,188,93,33,224,234,178,199,2,2,97,211,38,29,0,28,169,5,32,66,242,175,178,64,174,175,52,185,62,149,148,14,66,52,230,71,253,128,181,240,249,196,3,173,28,23,98,246,136,194,227,148,121,130,159,115,60,224,158,95,139,206,216,145,11,27,156, +212,219,14,189,85,116,238,71,93,228,142,172,200,171,203,231,161,176,145,197,60,50,46,94,218,231,190,33,143,210,166,10,104,16,113,129,68,108,62,161,170,238,246,47,59,101,129,221,10,255,45,242,240,118,248,243,74,115,21,160,219,208,41,224,1,30,72,53,153, +58,33,73,184,11,71,54,238,92,137,225,126,127,1,0,0,0,94,3,74,64,160,224,18,21,52,20,172,13,80,249,137,136,196,84,51,69,221,25,124,223,47,193,175,59,1,122,31,96,173,24,0,9,212,155,1,0,136,159,9,208,88,175,82,1,120,62,22,72,197,189,205,51,160,212,50,247, +154,212,48,112,218,16,124,1,223,155,104,17,149,177,161,174,212,185,53,61,2,251,206,169,116,1,176,113,221,251,34,0,14,119,235,64,74,25,14,196,133,169,78,142,15,227,67,125,180,202,35,152,50,34,78,236,195,43,241,202,205,239,81,31,121,15,165,13,100,210,76, +56,103,64,163,55,205,96,163,67,121,182,23,50,139,42,225,75,4,253,136,137,229,118,22,101,93,194,198,238,137,188,61,64,223,106,195,230,172,163,222,180,14,4,73,94,98,64,79,109,147,213,46,233,181,94,3,228,149,60,188,86,95,241,203,177,195,187,135,123,99,202, +75,50,92,138,28,38,75,140,214,237,26,189,244,67,26,93,47,171,230,54,85,2,126,56,45,65,154,49,160,121,39,190,162,83,238,247,16,152,208,247,23,0,0,0,224,130,79,14,15,135,197,160,227,161,77,107,84,164,239,9,67,113,86,66,255,165,10,214,127,118,3,131,97,96, +157,12,0,159,179,31,1,234,234,22,192,169,7,243,9,192,240,53,19,64,238,154,79,178,20,126,192,54,221,68,91,173,237,55,53,192,57,48,211,74,21,120,112,181,209,13,192,245,45,31,38,1,24,181,46,212,106,1,97,81,60,160,209,27,27,58,123,181,193,97,65,108,118,245, +15,150,159,234,221,79,137,91,111,180,21,106,159,7,229,236,155,231,39,80,100,53,29,66,90,19,51,90,226,57,112,117,103,248,123,174,152,27,107,176,118,207,108,217,169,19,119,2,140,89,174,128,111,168,56,66,195,249,247,61,118,200,210,40,158,12,69,153,172,177, +93,202,117,109,160,205,175,157,49,109,151,69,30,220,241,165,223,104,235,159,175,149,168,226,93,12,140,233,147,9,61,119,79,222,247,56,192,202,10,11,77,7,152,99,47,8,0,62,24,117,106,197,218,225,227,158,186,31,97,187,2,111,132,126,127,0,128,3,236,31,12, +64,197,134,53,250,161,134,228,65,69,111,100,35,124,99,41,182,35,244,159,13,124,195,172,25,0,30,30,142,117,9,96,156,95,8,194,233,223,84,40,250,203,173,128,143,159,242,174,53,133,225,84,66,29,154,222,255,60,27,96,137,243,50,121,172,18,216,116,248,11,14, +35,9,71,85,4,144,111,234,192,123,249,162,130,183,27,158,196,212,8,154,212,135,247,209,214,143,212,176,132,193,106,111,163,183,62,142,218,87,137,14,187,186,38,99,179,77,199,183,229,63,38,180,7,83,127,112,174,144,205,120,177,30,149,160,38,8,164,196,233, +14,235,185,90,147,179,213,71,251,104,186,13,116,61,200,48,170,138,234,143,16,63,161,16,151,148,245,200,122,67,83,110,37,167,155,8,69,233,46,37,175,117,114,71,49,176,77,16,86,61,107,212,150,250,104,77,125,159,110,154,128,248,183,255,225,3,177,113,238, +27,30,248,172,182,39,151,230,181,15,253,20,220,140,13,248,253,2,0,0,0,60,160,6,20,144,188,7,18,80,194,68,179,2,84,181,90,203,130,100,198,129,51,216,175,12,120,121,13,86,25,32,8,0,200,254,92,9,9,235,162,25,7,226,91,190,136,83,181,215,1,40,165,205,144, +214,74,20,57,92,24,132,177,38,170,134,11,119,54,90,68,145,252,84,135,170,180,244,152,192,93,12,80,157,46,137,5,176,68,214,207,8,9,55,87,116,80,52,10,44,230,237,182,225,229,25,88,173,254,203,121,128,243,87,227,47,174,252,16,18,93,142,157,22,58,189,182, +138,86,186,151,13,134,29,60,125,161,153,68,127,62,191,104,60,254,35,29,94,160,79,148,13,174,198,77,170,213,18,31,230,36,44,147,175,53,144,198,8,171,100,154,94,178,224,92,199,45,16,243,34,227,245,138,108,45,174,133,193,91,148,179,173,54,173,189,190,190, +108,233,90,179,197,50,230,202,220,38,124,207,73,21,92,96,13,151,89,210,214,102,88,177,12,232,169,216,0,158,248,108,170,39,119,249,59,55,117,139,237,228,65,6,250,253,1,21,224,12,184,254,148,96,71,75,12,34,143,79,224,64,83,53,234,72,148,98,197,216,41,194, +122,182,1,239,17,37,2,192,103,94,147,179,82,36,183,95,22,128,241,245,157,20,48,217,150,66,193,217,182,249,28,33,234,217,23,215,21,85,225,242,44,74,96,76,23,249,99,191,38,152,209,219,130,4,248,229,184,36,34,182,71,5,136,129,215,138,182,120,90,100,147, +123,62,10,33,101,81,156,62,199,244,207,192,204,118,132,191,234,96,81,46,24,168,63,65,9,91,76,85,113,47,44,158,72,190,163,16,184,65,214,91,52,123,75,94,87,54,162,14,230,96,131,227,129,218,160,216,53,59,50,14,4,31,124,200,185,21,150,11,64,73,23,211,168, +220,69,133,168,136,192,49,83,111,183,185,6,179,234,161,72,83,51,194,243,40,86,173,193,189,132,199,17,33,164,241,96,172,79,69,156,85,110,218,242,10,227,40,213,41,193,156,237,136,185,233,169,170,64,209,1,158,7,213,65,34,19,230,229,73,190,105,142,12,244, +255,5,0,52,0,192,3,60,128,0,56,44,12,160,67,51,86,182,49,34,85,138,112,108,35,120,83,5,253,165,8,60,5,176,56,20,160,72,30,26,41,0,84,151,121,72,85,171,75,27,0,181,154,3,5,151,108,183,206,1,98,252,252,127,78,197,113,61,238,13,104,243,241,159,239,18,193, +131,182,155,19,19,4,243,87,36,77,137,0,7,14,63,86,45,8,72,13,37,128,166,19,44,224,214,119,90,165,118,37,67,145,83,154,249,11,41,41,39,71,169,88,248,82,118,176,129,145,49,42,40,177,174,6,13,225,155,253,242,138,222,120,53,37,62,212,98,142,59,50,176,177, +70,88,91,96,180,214,120,111,43,192,232,181,75,137,30,179,180,189,190,179,137,18,202,23,128,180,107,193,100,211,223,217,92,158,21,86,15,7,114,60,98,68,155,20,78,135,125,211,126,56,3,76,130,112,171,123,166,1,156,13,80,186,224,209,186,203,37,209,149,192, +0,225,112,17,41,94,8,173,138,39,89,251,107,147,252,163,227,161,102,100,192,247,11,48,0,0,224,42,124,65,2,14,22,68,1,84,85,195,62,27,197,140,250,25,188,214,76,240,116,45,112,92,192,90,37,0,184,99,36,64,212,125,47,129,66,140,199,83,0,124,255,58,5,94,63, +142,93,139,170,129,85,75,56,168,31,188,158,34,0,181,238,122,74,96,182,179,47,147,0,172,208,57,47,57,64,42,126,199,154,70,175,48,254,77,7,193,208,78,167,24,52,14,229,12,249,179,136,51,175,133,215,85,77,106,204,150,206,116,120,161,35,252,149,9,218,135, +7,139,210,241,36,222,226,231,125,205,220,125,196,34,122,111,228,136,149,177,148,184,224,99,93,187,169,223,202,117,121,179,237,105,95,51,3,165,187,226,209,161,31,127,224,153,3,116,18,32,212,132,61,150,123,42,189,13,105,254,61,23,176,83,140,253,250,132, +120,50,141,165,118,40,41,3,171,33,242,98,164,54,163,146,185,63,217,48,208,10,157,0,0,62,248,108,156,155,140,132,76,186,105,208,140,77,112,247,23,0,0,0,224,26,70,104,128,131,213,1,160,250,146,214,6,100,39,4,195,84,240,122,16,224,238,18,244,193,0,153,3, +133,83,98,217,112,41,149,118,199,226,32,212,147,77,142,66,152,23,173,194,28,191,95,116,133,234,135,211,218,104,65,251,190,212,10,113,169,206,141,7,54,159,74,105,6,136,82,235,142,43,236,3,38,225,201,84,58,109,133,82,4,84,228,246,76,89,94,67,7,207,161, +229,191,78,34,206,19,27,53,53,107,7,45,183,196,200,156,119,18,171,38,184,50,17,93,8,110,121,87,114,129,46,10,169,122,251,2,117,132,86,14,158,220,18,169,5,98,218,110,188,201,207,92,116,116,135,244,240,29,183,212,172,226,28,232,184,111,74,92,102,107,150, +88,22,198,103,5,95,8,22,235,194,153,219,228,65,131,113,7,233,103,73,208,188,117,95,33,206,176,150,75,217,50,27,127,80,37,127,179,214,215,63,169,89,6,86,240,85,11,101,245,196,4,0,254,71,92,32,37,151,188,188,171,181,89,119,41,69,134,235,189,30,39,246,31, +189,19,176,83,92,162,58,191,116,144,150,133,18,81,225,231,186,128,18,48,187,43,177,170,148,119,239,187,9,133,73,50,110,61,116,33,147,62,63,191,73,69,6,44,102,150,9,245,87,207,248,183,8,140,123,253,84,80,125,34,62,35,15,201,196,126,139,81,99,21,118,63, +164,191,146,125,158,60,67,207,251,105,81,145,1,80,9,83,34,178,134,20,178,221,14,178,154,83,199,88,227,57,55,83,182,119,231,173,192,243,72,225,150,155,253,2,109,98,71,25,0,227,164,144,238,143,175,108,35,1,118,99,211,240,172,1,249,60,9,80,230,133,187,229, +173,133,21,245,23,198,51,22,53,139,218,245,194,155,154,226,121,139,13,45,89,116,184,161,102,30,155,122,186,49,116,243,6,133,225,46,83,166,169,69,5,39,171,254,225,150,7,216,67,66,200,101,188,136,110,11,76,11,190,101,252,26,235,105,114,115,44,62,55,251, +112,24,99,7,48,142,149,198,210,172,4,3,248,152,255,53,158,13,95,77,121,237,99,46,196,47,127,127,188,73,69,227,250,149,189,227,167,204,131,102,203,138,99,150,31,241,28,2,73,206,107,155,179,120,172,31,229,203,98,2,152,219,227,224,97,91,147,163,108,103, +102,81,253,210,18,121,170,117,172,56,213,146,169,168,46,116,179,51,168,117,66,83,118,98,75,78,88,148,189,12,239,170,0,181,191,185,98,204,4,45,187,162,119,247,211,196,243,183,240,61,249,115,215,71,125,113,63,162,254,236,204,136,194,2,184,65,138,1,48,126, +247,228,53,121,141,240,61,220,139,86,173,97,52,252,15,72,24,94,185,252,60,242,192,233,6,127,186,6,180,170,6,32,120,243,150,75,106,85,48,42,118,6,0,0 }; + +const char* singing_ogg = (const char*) temp_binary_data_1; + + +const char* getNamedResource (const char*, int&) throw(); +const char* getNamedResource (const char* resourceNameUTF8, int& numBytes) throw() +{ + unsigned int hash = 0; + if (resourceNameUTF8 != 0) + while (*resourceNameUTF8 != 0) + hash = 31 * hash + (unsigned int) *resourceNameUTF8++; + + switch (hash) + { + case 0xb1ef755b: numBytes = 452; return proaudio_path; + case 0x09d82643: numBytes = 19215; return singing_ogg; + default: break; + } + + numBytes = 0; + return 0; +} + +const char* namedResourceList[] = +{ + "proaudio_path", + "singing_ogg" +}; + +} diff --git a/examples/AUv3Synth/JuceLibraryCode/BinaryData.h b/examples/AUv3Synth/JuceLibraryCode/BinaryData.h new file mode 100644 index 0000000000..0e1dcfe624 --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/BinaryData.h @@ -0,0 +1,29 @@ +/* ========================================================================================= + + This is an auto-generated file: Any edits you make may be overwritten! + +*/ + +#ifndef BINARYDATA_H_43410497_INCLUDED +#define BINARYDATA_H_43410497_INCLUDED + +namespace BinaryData +{ + extern const char* proaudio_path; + const int proaudio_pathSize = 452; + + extern const char* singing_ogg; + const int singing_oggSize = 19215; + + // Points to the start of a list of resource names. + extern const char* namedResourceList[]; + + // Number of elements in the namedResourceList array. + const int namedResourceListSize = 2; + + // If you provide the name of one of the binary resource variables above, this function will + // return the corresponding data and its size (or a null pointer if the name isn't found). + const char* getNamedResource (const char* resourceNameUTF8, int& dataSizeInBytes) throw(); +} + +#endif diff --git a/examples/AUv3Synth/JuceLibraryCode/JuceHeader.h b/examples/AUv3Synth/JuceLibraryCode/JuceHeader.h new file mode 100644 index 0000000000..a77a04177a --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/JuceHeader.h @@ -0,0 +1,48 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + + This is the header file that your files should include in order to get all the + JUCE library headers. You should avoid including the JUCE headers directly in + your own source files, because that wouldn't pick up the correct configuration + options for your app. + +*/ + +#ifndef __APPHEADERFILE_NAPIAV__ +#define __APPHEADERFILE_NAPIAV__ + +#include "AppConfig.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "BinaryData.h" + +#if ! DONT_SET_USING_JUCE_NAMESPACE + // If your code uses a lot of JUCE classes, then this will obviously save you + // a lot of typing, but can be disabled by setting DONT_SET_USING_JUCE_NAMESPACE. + using namespace juce; +#endif + +#if ! JUCE_DONT_DECLARE_PROJECTINFO +namespace ProjectInfo +{ + const char* const projectName = "AUv3Synth"; + const char* const versionString = "1.0.0"; + const int versionNumber = 0x10000; +} +#endif + +#endif // __APPHEADERFILE_NAPIAV__ diff --git a/examples/PlugInSamples/Spatializer/JuceLibraryCode/ReadMe.txt b/examples/AUv3Synth/JuceLibraryCode/ReadMe.txt similarity index 77% rename from examples/PlugInSamples/Spatializer/JuceLibraryCode/ReadMe.txt rename to examples/AUv3Synth/JuceLibraryCode/ReadMe.txt index f6c3564e99..091a5aa6eb 100644 --- a/examples/PlugInSamples/Spatializer/JuceLibraryCode/ReadMe.txt +++ b/examples/AUv3Synth/JuceLibraryCode/ReadMe.txt @@ -2,11 +2,11 @@ Important Note!! ================ -The purpose of this folder is to contain files that are auto-generated by the Introjucer, +The purpose of this folder is to contain files that are auto-generated by the Projucer, and ALL files in this folder will be mercilessly DELETED and completely re-written whenever -the Introjucer saves your project. +the Projucer saves your project. Therefore, it's a bad idea to make any manual changes to the files in here, or to put any of your own files in here if you don't want to lose them. (Of course you may choose to add the folder's contents to your version-control system so that you can re-merge your own -modifications after the Introjucer has saved its changes). +modifications after the Projucer has saved its changes). diff --git a/examples/AUv3Synth/JuceLibraryCode/juce_audio_basics.cpp b/examples/AUv3Synth/JuceLibraryCode/juce_audio_basics.cpp new file mode 100644 index 0000000000..418694873c --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/juce_audio_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AUv3Synth/JuceLibraryCode/juce_audio_basics.mm b/examples/AUv3Synth/JuceLibraryCode/juce_audio_basics.mm new file mode 100644 index 0000000000..e0e6c577cc --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/juce_audio_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AUv3Synth/JuceLibraryCode/juce_audio_devices.cpp b/examples/AUv3Synth/JuceLibraryCode/juce_audio_devices.cpp new file mode 100644 index 0000000000..fb5c2219d7 --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/juce_audio_devices.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AUv3Synth/JuceLibraryCode/juce_audio_devices.mm b/examples/AUv3Synth/JuceLibraryCode/juce_audio_devices.mm new file mode 100644 index 0000000000..e58b67ea49 --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/juce_audio_devices.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AUv3Synth/JuceLibraryCode/juce_audio_formats.cpp b/examples/AUv3Synth/JuceLibraryCode/juce_audio_formats.cpp new file mode 100644 index 0000000000..a3c61170eb --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/juce_audio_formats.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AUv3Synth/JuceLibraryCode/juce_audio_formats.mm b/examples/AUv3Synth/JuceLibraryCode/juce_audio_formats.mm new file mode 100644 index 0000000000..f325b8fb67 --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/juce_audio_formats.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_AAX.cpp b/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_AAX.cpp new file mode 100644 index 0000000000..c599b8759f --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_AAX.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_AAX.mm b/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_AAX.mm new file mode 100644 index 0000000000..d4b8c31117 --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_AAX.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_AU_1.mm b/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_AU_1.mm new file mode 100644 index 0000000000..a4fdf7f366 --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_AU_1.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_AU_2.mm b/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_AU_2.mm new file mode 100644 index 0000000000..175b30047f --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_AU_2.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_AUv3.mm b/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_AUv3.mm new file mode 100644 index 0000000000..0ac2b2f599 --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_AUv3.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_RTAS_1.cpp b/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_RTAS_1.cpp new file mode 100644 index 0000000000..29d48f3faa --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_RTAS_1.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_RTAS_2.cpp b/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_RTAS_2.cpp new file mode 100644 index 0000000000..2da08c6dc3 --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_RTAS_2.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_RTAS_3.cpp b/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_RTAS_3.cpp new file mode 100644 index 0000000000..72a8426cbe --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_RTAS_3.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_RTAS_4.cpp b/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_RTAS_4.cpp new file mode 100644 index 0000000000..6064f99d28 --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_RTAS_4.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.cpp b/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.cpp new file mode 100644 index 0000000000..5c5509abde --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.mm b/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.mm new file mode 100644 index 0000000000..56af9aebab --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_Standalone.cpp b/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_Standalone.cpp new file mode 100644 index 0000000000..d3b6529a80 --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_Standalone.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_VST2.cpp b/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_VST2.cpp new file mode 100644 index 0000000000..c35394b418 --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_VST2.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_VST3.cpp b/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_VST3.cpp new file mode 100644 index 0000000000..8e2e5cde2e --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_VST3.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_VST_utils.mm b/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_VST_utils.mm new file mode 100644 index 0000000000..ee2f414e66 --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_VST_utils.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_utils.cpp b/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_utils.cpp new file mode 100644 index 0000000000..183f61b238 --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/juce_audio_plugin_client_utils.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AUv3Synth/JuceLibraryCode/juce_audio_processors.cpp b/examples/AUv3Synth/JuceLibraryCode/juce_audio_processors.cpp new file mode 100644 index 0000000000..bfe172edd0 --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/juce_audio_processors.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AUv3Synth/JuceLibraryCode/juce_audio_processors.mm b/examples/AUv3Synth/JuceLibraryCode/juce_audio_processors.mm new file mode 100644 index 0000000000..b80ae9017f --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/juce_audio_processors.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AUv3Synth/JuceLibraryCode/juce_audio_utils.cpp b/examples/AUv3Synth/JuceLibraryCode/juce_audio_utils.cpp new file mode 100644 index 0000000000..97bd2c568c --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/juce_audio_utils.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AUv3Synth/JuceLibraryCode/juce_audio_utils.mm b/examples/AUv3Synth/JuceLibraryCode/juce_audio_utils.mm new file mode 100644 index 0000000000..8eae7c6e2f --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/juce_audio_utils.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AUv3Synth/JuceLibraryCode/juce_core.cpp b/examples/AUv3Synth/JuceLibraryCode/juce_core.cpp new file mode 100644 index 0000000000..d0ce1636f0 --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/juce_core.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AUv3Synth/JuceLibraryCode/juce_core.mm b/examples/AUv3Synth/JuceLibraryCode/juce_core.mm new file mode 100644 index 0000000000..72b10bf817 --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/juce_core.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AUv3Synth/JuceLibraryCode/juce_data_structures.cpp b/examples/AUv3Synth/JuceLibraryCode/juce_data_structures.cpp new file mode 100644 index 0000000000..9315aa1686 --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/juce_data_structures.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AUv3Synth/JuceLibraryCode/juce_data_structures.mm b/examples/AUv3Synth/JuceLibraryCode/juce_data_structures.mm new file mode 100644 index 0000000000..695ec43925 --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/juce_data_structures.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AUv3Synth/JuceLibraryCode/juce_events.cpp b/examples/AUv3Synth/JuceLibraryCode/juce_events.cpp new file mode 100644 index 0000000000..1bba110a97 --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/juce_events.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AUv3Synth/JuceLibraryCode/juce_events.mm b/examples/AUv3Synth/JuceLibraryCode/juce_events.mm new file mode 100644 index 0000000000..4cc34fc401 --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/juce_events.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AUv3Synth/JuceLibraryCode/juce_graphics.cpp b/examples/AUv3Synth/JuceLibraryCode/juce_graphics.cpp new file mode 100644 index 0000000000..319c76de0e --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/juce_graphics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AUv3Synth/JuceLibraryCode/juce_graphics.mm b/examples/AUv3Synth/JuceLibraryCode/juce_graphics.mm new file mode 100644 index 0000000000..b28e6dd056 --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/juce_graphics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AUv3Synth/JuceLibraryCode/juce_gui_basics.cpp b/examples/AUv3Synth/JuceLibraryCode/juce_gui_basics.cpp new file mode 100644 index 0000000000..216c76bb05 --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/juce_gui_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AUv3Synth/JuceLibraryCode/juce_gui_basics.mm b/examples/AUv3Synth/JuceLibraryCode/juce_gui_basics.mm new file mode 100644 index 0000000000..6a9726fa5f --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/juce_gui_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AUv3Synth/JuceLibraryCode/juce_gui_extra.cpp b/examples/AUv3Synth/JuceLibraryCode/juce_gui_extra.cpp new file mode 100644 index 0000000000..7226e19833 --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/juce_gui_extra.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AUv3Synth/JuceLibraryCode/juce_gui_extra.mm b/examples/AUv3Synth/JuceLibraryCode/juce_gui_extra.mm new file mode 100644 index 0000000000..c9b6c3bfc6 --- /dev/null +++ b/examples/AUv3Synth/JuceLibraryCode/juce_gui_extra.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AUv3Synth/Source/AUv3SynthEditor.h b/examples/AUv3Synth/Source/AUv3SynthEditor.h new file mode 100644 index 0000000000..e70271bcc0 --- /dev/null +++ b/examples/AUv3Synth/Source/AUv3SynthEditor.h @@ -0,0 +1,142 @@ +/* + ============================================================================== + + Copyright (c) 2015 - ROLI Ltd. + + ============================================================================== +*/ +#include "MaterialLookAndFeel.h" + +//============================================================================== +class AUv3SynthEditor : public AudioProcessorEditor, + public ButtonListener, + public Slider::Listener, + private Timer +{ +public: + //============================================================================== + AUv3SynthEditor (AudioProcessor& processor) + : AudioProcessorEditor (processor), + recordButton ("Record"), + roomSizeSlider (Slider::LinearHorizontal, Slider::NoTextBox) + { + LookAndFeel::setDefaultLookAndFeel (&materialLookAndFeel); + + roomSizeSlider.setValue (getParameterValue ("roomSize"), NotificationType::dontSendNotification); + + recordButton.addListener (this); + addAndMakeVisible (recordButton); + + roomSizeSlider.addListener (this); + roomSizeSlider.setRange (0.0, 1.0); + addAndMakeVisible (roomSizeSlider); + + Path proAudioPath; + proAudioPath.loadPathFromData (BinaryData::proaudio_path, BinaryData::proaudio_pathSize); + proAudioIcon.setPath (proAudioPath); + addAndMakeVisible (proAudioIcon); + + Colour proAudioIconColour = findColour (TextButton::buttonOnColourId); + proAudioIcon.setFill (FillType (proAudioIconColour)); + + setSize (600, 400); + startTimer (100); + } + + //============================================================================== + void paint (Graphics& g) override + { + g.fillAll (findColour (ResizableWindow::backgroundColourId)); + } + + void resized() override + { + Rectangle r = getLocalBounds(); + + int guiElementAreaHeight = r.getHeight() / 3; + + proAudioIcon.setTransformToFit (r.removeFromLeft (proportionOfWidth (0.25)) + .withSizeKeepingCentre (guiElementAreaHeight, guiElementAreaHeight) + .toFloat(), + RectanglePlacement::fillDestination); + + int margin = guiElementAreaHeight / 4; + r.reduce (margin, margin); + + int buttonHeight = guiElementAreaHeight - margin; + + recordButton.setBounds (r.removeFromTop (guiElementAreaHeight).withSizeKeepingCentre (r.getWidth(), buttonHeight)); + roomSizeSlider.setBounds (r.removeFromTop (guiElementAreaHeight).withSizeKeepingCentre (r.getWidth(), buttonHeight)); + } + + //============================================================================== + void buttonClicked (Button* button) override + { + if (button == &recordButton) + { + recordButton.setEnabled (false); + setParameterValue ("isRecording", 1.0f); + } + } + + void sliderValueChanged (Slider*) override + { + setParameterValue ("roomSize", roomSizeSlider.getValue()); + } + +private: + //============================================================================== + void timerCallback() override + { + bool isRecordingNow = (getParameterValue ("isRecording") >= 0.5f); + + recordButton.setEnabled (! isRecordingNow); + roomSizeSlider.setValue (getParameterValue ("roomSize"), NotificationType::dontSendNotification); + } + + //============================================================================== + AudioProcessorParameter* getParameter (const String& paramId) + { + if (AudioProcessor* processor = getAudioProcessor()) + { + const OwnedArray& params = processor->getParameters(); + + for (int i = 0; i < params.size(); ++i) + { + if (AudioProcessorParameterWithID* param = dynamic_cast (params[i])) + { + if (param->paramID == paramId) + return param; + } + } + } + + return nullptr; + } + + //============================================================================== + float getParameterValue (const String& paramId) + { + if (AudioProcessorParameter* param = getParameter (paramId)) + return param->getValue(); + + return 0.0f; + } + + void setParameterValue (const String& paramId, float value) + { + if (AudioProcessorParameter* param = getParameter (paramId)) + param->setValueNotifyingHost (value); + } + + //============================================================================== + MaterialLookAndFeel materialLookAndFeel; + + //============================================================================== + TextButton recordButton; + Slider roomSizeSlider; + DrawablePath proAudioIcon; + + //============================================================================== + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AUv3SynthEditor) +}; diff --git a/examples/AUv3Synth/Source/AUv3SynthProcessor.cpp b/examples/AUv3Synth/Source/AUv3SynthProcessor.cpp new file mode 100644 index 0000000000..438dbc17f9 --- /dev/null +++ b/examples/AUv3Synth/Source/AUv3SynthProcessor.cpp @@ -0,0 +1,172 @@ +/* + ============================================================================== + + Copyright (c) 2015 - ROLI Ltd. + + ============================================================================== +*/ +#include "../JuceLibraryCode/JuceHeader.h" +#include "AUv3SynthEditor.h" + +class AUv3SynthProcessor : public AudioProcessor +{ +public: + AUv3SynthProcessor () + : currentRecording (1, 1), currentProgram (0) + { + // initialize parameters + addParameter (isRecordingParam = new AudioParameterBool ("isRecording", "Is Recording", false)); + addParameter (roomSizeParam = new AudioParameterFloat ("roomSize", "Room Size", 0.0f, 1.0f, 0.5f)); + + formatManager.registerBasicFormats(); + + for (int i = 0; i < maxNumVoices; ++i) + synth.addVoice (new SamplerVoice()); + + loadNewSample (BinaryData::singing_ogg, BinaryData::singing_oggSize, "ogg"); + } + + //============================================================================== + void prepareToPlay (double sampleRate, int estimatedMaxSizeOfBuffer) override + { + ignoreUnused (estimatedMaxSizeOfBuffer); + + lastSampleRate = sampleRate; + + currentRecording.setSize (1, static_cast (std::ceil (kMaxDurationOfRecording * lastSampleRate))); + samplesRecorded = 0; + + synth.setCurrentPlaybackSampleRate (lastSampleRate); + reverb.setSampleRate (lastSampleRate); + } + + void processBlock (AudioBuffer& buffer, MidiBuffer& midiMessages) override + { + Reverb::Parameters reverbParameters; + reverbParameters.roomSize = roomSizeParam->get(); + + reverb.setParameters (reverbParameters); + synth.renderNextBlock (buffer, midiMessages, 0, buffer.getNumSamples()); + + if (getMainBusNumOutputChannels() == 1) + reverb.processMono (buffer.getWritePointer (0), buffer.getNumSamples()); + else if (getMainBusNumOutputChannels() == 2) + reverb.processStereo (buffer.getWritePointer (0), buffer.getWritePointer (1), buffer.getNumSamples()); + } + + //============================================================================== + void releaseResources() override { currentRecording.setSize (1, 1); } + + //============================================================================== + bool acceptsMidi() const override { return true; } + bool producesMidi() const override { return false; } + bool silenceInProducesSilenceOut() const override { return false; } + double getTailLengthSeconds() const override { return 0.0; } + + //============================================================================== + AudioProcessorEditor* createEditor() override { return new AUv3SynthEditor (*this); } + bool hasEditor() const override { return true; } + + //============================================================================== + const String getName() const override { return "AUv3 Synth"; } + int getNumPrograms() override { return 4; } + int getCurrentProgram() override { return currentProgram; } + void setCurrentProgram (int index) override { currentProgram = index; } + const String getProgramName (int index) override + { + switch (index) + { + case 0: + return "Piano"; + case 1: + return "Singing"; + case 2: + return "Pinched Balloon"; + case 3: + return "Gazeebo"; + } + + return ""; + } + + //============================================================================== + void changeProgramName (int /*index*/, const String& /*name*/) override {} + + //============================================================================== + void getStateInformation (MemoryBlock& destData) override + { + MemoryOutputStream stream (destData, true); + + stream.writeFloat (*isRecordingParam); + stream.writeFloat (*roomSizeParam); + } + + void setStateInformation (const void* data, int sizeInBytes) override + { + MemoryInputStream stream (data, static_cast (sizeInBytes), false); + + isRecordingParam->setValueNotifyingHost (stream.readFloat()); + roomSizeParam->setValueNotifyingHost (stream.readFloat()); + + } +private: + //============================================================================== + void loadNewSample (const void* data, int dataSize, const char* format) + { + MemoryInputStream* soundBuffer = new MemoryInputStream (data, static_cast (dataSize), false); + ScopedPointer formatReader (formatManager.findFormatForFileExtension (format)->createReaderFor (soundBuffer, true)); + + BigInteger midiNotes; + midiNotes.setRange (0, 126, true); + SynthesiserSound::Ptr newSound = new SamplerSound ("Voice", *formatReader, midiNotes, 0x40, 0.0, 0.0, 10.0); + synth.removeSound (0); + sound = newSound; + synth.addSound (sound); + } + + void swapSamples() + { + MemoryBlock mb; + MemoryOutputStream* stream = new MemoryOutputStream (mb, true); + + { + ScopedPointer writer (formatManager.findFormatForFileExtension ("wav")->createWriterFor (stream, lastSampleRate, 1, 16, + StringPairArray(), 0)); + writer->writeFromAudioSampleBuffer (currentRecording, 0, currentRecording.getNumSamples()); + writer->flush(); + stream->flush(); + } + + loadNewSample (mb.getData(), static_cast (mb.getSize()), "wav"); + } + + //============================================================================== + static constexpr int maxNumVoices = 5; + static constexpr double kMaxDurationOfRecording = 1.0; + + //============================================================================== + AudioFormatManager formatManager; + + int samplesRecorded; + double lastSampleRate; + AudioBuffer currentRecording; + + Reverb reverb; + Synthesiser synth; + SynthesiserSound::Ptr sound; + + AudioParameterBool* isRecordingParam; + AudioParameterFloat* roomSizeParam; + + int currentProgram; + + //============================================================================== + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AUv3SynthProcessor) +}; + +//============================================================================== +// This creates new instances of the plugin.. +AudioProcessor* JUCE_CALLTYPE createPluginFilter() +{ + return new AUv3SynthProcessor(); +} diff --git a/examples/AUv3Synth/Source/BinaryData/power.png b/examples/AUv3Synth/Source/BinaryData/power.png new file mode 100644 index 0000000000000000000000000000000000000000..ae22dfc13d7fdb4f2514af4caf3fc539b38915df GIT binary patch literal 27122 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

PRe5Ug>ugTqxd^zq{yYl7S=BPuIL85* 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 literal 0 HcmV?d00001 diff --git a/examples/AUv3Synth/Source/BinaryData/proaudio.path b/examples/AUv3Synth/Source/BinaryData/proaudio.path new file mode 100644 index 0000000000000000000000000000000000000000..efe2b0d29e7334232493668f553412562c93cbc3 GIT binary patch literal 452 zcmd1HjjP)07`D#dIcLT*F6T|LElxR~nhraG86Xh`AjlDm+vEghT)Hmn8DQAu1 zBrqd6m%(9zQ>SI6W0K?RKaMAsEpP-Wlv9cVYcMQ5;FJUsSR(VqX;O@nW3`x|GlRqr zM~QFp&N&Ps!cH@miZ~}t@LTWbE5PB*aKqhkYtJhu5Dn1^WZZ11cXIu}<)oh`?8Gpw z(dmf88^;`&tw8&^7@d#Ed;GuBN3Gmdw+J8gZe?EKHQ z%xMO%l5@_#!ayepQ61-`XHKO~7Ipg06WIHlBoYn5T0wM@+3DY40S131=fEF4&LG+V e9ELy!i`#OiH97Lme>3`>K<-Qcx-&VIfdK$45ua`V literal 0 HcmV?d00001 diff --git a/examples/AUv3Synth/Source/BinaryData/singing.ogg b/examples/AUv3Synth/Source/BinaryData/singing.ogg new file mode 100644 index 0000000000000000000000000000000000000000..2e004306b54a0016408c5d778160cee72f4ce40c GIT binary patch literal 19215 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 z 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 buttonRect (0, 0, width, height); + buttonRect.reduce (haloRadius, 0.0f); + + if (isButtonDown) + g.setColour (brightButtonColour.withAlpha (0.7f)); + else if (! button.isEnabled()) + g.setColour (disabledButtonColour); + else + g.setColour (brightButtonColour); + + g.fillRoundedRectangle (buttonRect, 5.0f); + } + + //============================================================================== + void drawButtonText (Graphics& g, TextButton& button, bool isMouseOverButton, bool isButtonDown) override + { + ignoreUnused (isMouseOverButton, isButtonDown); + + Font font (getTextButtonFont (button, button.getHeight())); + g.setFont (font); + + if (button.isEnabled()) + g.setColour (Colours::white); + else + g.setColour (backgroundColour); + + g.drawFittedText (button.getButtonText(), 0, 1, + button.getWidth(), + button.getHeight(), + Justification::centred, 2); + } + + //============================================================================== + void drawLinearSlider (Graphics& g, int x, int y, int width, int height, + float sliderPos, float minSliderPos, float maxSliderPos, + const Slider::SliderStyle style, Slider& slider) override + { + ignoreUnused (style, minSliderPos, maxSliderPos); + + Rectangle r = Rectangle (x + haloRadius, y, width - (haloRadius * 2), height); + Rectangle backgroundBar = r.withSizeKeepingCentre(r.getWidth(), 2); + + sliderPos = (sliderPos - minSliderPos) / static_cast (width); + + int knobPos = static_cast (sliderPos * r.getWidth()); + + g.setColour (sliderActivePart); + g.fillRect (backgroundBar.removeFromLeft (knobPos)); + + g.setColour (sliderInactivePart); + g.fillRect (backgroundBar); + + if (slider.isMouseOverOrDragging()) + { + Rectangle haloBounds = r.withTrimmedLeft (knobPos - haloRadius) + .withWidth (haloRadius*2) + .withSizeKeepingCentre(haloRadius*2, haloRadius*2); + + g.setColour (sliderActivePart.withAlpha (0.5f)); + g.fillEllipse (haloBounds.toFloat()); + } + + const int knobRadius = slider.isMouseOverOrDragging() ? knobActiveRadius : knobInActiveRadius; + Rectangle knobBounds = r.withTrimmedLeft (knobPos - knobRadius) + .withWidth (knobRadius*2) + .withSizeKeepingCentre(knobRadius*2, knobRadius*2); + + g.setColour (sliderActivePart); + g.fillEllipse (knobBounds.toFloat()); + } + + //============================================================================== + Font getTextButtonFont (TextButton& button, int buttonHeight) override + { + return LookAndFeel_V3::getTextButtonFont (button, buttonHeight).withHeight (buttonFontSize); + } + + Font getLabelFont (Label& label) override + { + return LookAndFeel_V3::getLabelFont (label).withHeight (labelFontSize); + } + + //============================================================================== + const int labelFontSize = 12; + const int buttonFontSize = 15; + + //============================================================================== + const int knobActiveRadius = 12; + const int knobInActiveRadius = 8; + const int haloRadius = 18; + + //============================================================================== + const Colour windowBackgroundColour = Colour (0xff262328); + const Colour backgroundColour = Colour (0xff4d4d4d); + const Colour brightButtonColour = Colour (0xff80cbc4); + const Colour disabledButtonColour = Colour (0xffe4e4e4); + const Colour sliderInactivePart = Colour (0xff545d62); + const Colour sliderActivePart = Colour (0xff80cbc4); +}; diff --git a/examples/AnimationAppExample/AnimationAppExample.jucer b/examples/AnimationAppExample/AnimationAppExample.jucer index 64033b3c71..6509616d3d 100644 --- a/examples/AnimationAppExample/AnimationAppExample.jucer +++ b/examples/AnimationAppExample/AnimationAppExample.jucer @@ -2,7 +2,7 @@ + jucerVersion="4.2.0"> - + diff --git a/examples/AnimationAppExample/Builds/MacOSX/AnimationAppExample.xcodeproj/project.pbxproj b/examples/AnimationAppExample/Builds/MacOSX/AnimationAppExample.xcodeproj/project.pbxproj index 3f1b458035..56294720f7 100644 --- a/examples/AnimationAppExample/Builds/MacOSX/AnimationAppExample.xcodeproj/project.pbxproj +++ b/examples/AnimationAppExample/Builds/MacOSX/AnimationAppExample.xcodeproj/project.pbxproj @@ -6,6 +6,7 @@ objectVersion = 46; objects = { + A954E808E316BFB9537574CE = {isa = PBXBuildFile; fileRef = CBF69B3CBCD089CD7DC8343C; }; E3498B080326636A372B74AE = {isa = PBXBuildFile; fileRef = 859E13C66F2193112084D1B9; }; 828D4B32ECB7ECE234A5A1A9 = {isa = PBXBuildFile; fileRef = 66DE43B56D8670C78DD3998D; }; 97CBB80DA6775AEF4872168B = {isa = PBXBuildFile; fileRef = 8F7B1F20EA4F07C9D37D5260; }; @@ -22,19 +23,19 @@ 6B6DC7D7A606A7D832929888 = {isa = PBXBuildFile; fileRef = 7E8B563CE147A7C733E6EFB1; }; 328BFAEA24EDCBF7B69F4960 = {isa = PBXBuildFile; fileRef = B766DBADE0BD743FAC004870; }; 84E6553798838003062A7791 = {isa = PBXBuildFile; fileRef = F7B6DBDC7439C90B4E01752E; }; - 9B303E67BC0058053878030C = {isa = PBXBuildFile; fileRef = C1070E62B763F1CCE0BB18F0; }; - ACA92239BEB4C05C418642E2 = {isa = PBXBuildFile; fileRef = DD19124F0A7FD43F31BDEB87; }; - 1EFD155B1968AEC88851F831 = {isa = PBXBuildFile; fileRef = 987AD2821B6419D5FEDCBD7A; }; - 0C7388B5872921063FF273B8 = {isa = PBXBuildFile; fileRef = AD405DDE86D07F955E27EBF8; }; - 9EE1754A8E5230FA1C50713F = {isa = PBXBuildFile; fileRef = B7DD84C8B05ABA4A6915E77E; }; - 1852E56533842FDFBE9A6EE3 = {isa = PBXBuildFile; fileRef = 33E449DEA1FC0CD4CAA3A829; }; - CB79C1D77F4FBF0C64B69E1D = {isa = PBXBuildFile; fileRef = 14BB261A450674034E6080F2; }; - 5E9EFF0130B8CBBEAA0D321B = {isa = PBXBuildFile; fileRef = CC0B7738BD544B955D81BF1E; }; - EF8AB3F393E946FE4A21AA17 = {isa = PBXBuildFile; fileRef = 4B27A11ADAC0D9957BBBCD3E; }; - B70DDF51EDD940F5EF96B96D = {isa = PBXBuildFile; fileRef = 27B720A5E8CF81ABF9E50848; }; - E28816D62DAA38A2794ED6D2 = {isa = PBXBuildFile; fileRef = D8BAA82AC820CEF315BD9DCB; }; - A911433D03B3314558DB8850 = {isa = PBXBuildFile; fileRef = 21CF5364CD4910E49D19F8E2; }; - 590ABC7E64B05F4814FA919E = {isa = PBXBuildFile; fileRef = 6018A3A37F34AE52B39A14D5; }; + E09031EF64FB032EC2F1AB9E = {isa = PBXBuildFile; fileRef = 05CF05C4A0B41E4E3B505016; }; + 1A1655F70589F62EC500776A = {isa = PBXBuildFile; fileRef = DC5C7E82429CF94928EC055A; }; + F3DF870E97A695B88F07E2ED = {isa = PBXBuildFile; fileRef = 7B08326361CAD0A8C35218C0; }; + 802E52893A13DF94D2452203 = {isa = PBXBuildFile; fileRef = DCCC723F8E6D3F6445318CB4; }; + A0D9E078F9FDA8474A231E23 = {isa = PBXBuildFile; fileRef = 73A1A4EC47BB161DAF61D31C; }; + BCE821392C314CE44C96ECFF = {isa = PBXBuildFile; fileRef = 2AF1C1B6A582BD96CCE01452; }; + B9BFADFF0ECB778690FDF59C = {isa = PBXBuildFile; fileRef = EAE15C1AC2F25A7EB7A2F2C4; }; + 4E411795F0E724FD92C98030 = {isa = PBXBuildFile; fileRef = FF283714432D1C916EC19072; }; + 3E1ADD84FBF4F072F0B53EA5 = {isa = PBXBuildFile; fileRef = 56FB775B9F539EA13D18C32C; }; + 2C000BF550222EC17FA5EA12 = {isa = PBXBuildFile; fileRef = 71710A47E019BA95D2DB86FF; }; + 4EBEDE852357A716C1A58D32 = {isa = PBXBuildFile; fileRef = 42CDCB2F2DB39A7822A8ED11; }; + 17598D74EBFD5692223DAA36 = {isa = PBXBuildFile; fileRef = 222D7B201FE37D4B96BF571E; }; + 727C6C11ADFD9FB9FABAD8AE = {isa = PBXBuildFile; fileRef = DC6550969FBDB187169D124B; }; 0054E026B84A3A87020CCE48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarComponent.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h"; sourceTree = "SOURCE_ROOT"; }; 0060F61BFBCEF4E9EF8B3CC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 02AC998E808CAF5C148CFFC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Files.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -49,6 +50,7 @@ 040A31152B3C4BF51493F937 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEInstrument.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp"; sourceTree = "SOURCE_ROOT"; }; 04C105672DA409FE8593DB04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemAudioVolume.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h"; sourceTree = "SOURCE_ROOT"; }; 0511F904BECB48A221DFB2C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Base64.cpp"; path = "../../../../modules/juce_core/text/juce_Base64.cpp"; sourceTree = "SOURCE_ROOT"; }; + 05CF05C4A0B41E4E3B505016 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../JuceLibraryCode/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 0700C7069E1CF3FF8966C0E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; 07342D914D2A5AF6075CDB2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; }; 0790EC941834B64EA1AC8D5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -80,7 +82,6 @@ 0DB1323191C133E48F07C062 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; }; 0E70A4BFB2F7D1AB6188E72C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 0E894AC7229948568720E294 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 0E8D536FEBD11AEA3C90B5A8 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 0ECA7867513EFA30BEA0BE78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 0EF8E3646F6099E89A743D99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; }; 0F16DEEC2C4B95E3A9F28CE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; @@ -97,7 +98,6 @@ 142D03BC875BD387BD10C51F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; 1450CD0879661355CD52DD8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; }; 14AB997C7EB22777C1EF533C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; }; - 14BB261A450674034E6080F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; 15029C3F041B27DD7191482F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorGraph.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp"; sourceTree = "SOURCE_ROOT"; }; 1538DFDAE4C093F8ACA7C4F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserBase.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h"; sourceTree = "SOURCE_ROOT"; }; 15D92586D187B0D8758C6F18 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; @@ -112,7 +112,6 @@ 17B2789DEC279EE7DB8D9BE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; }; 19045B1A4A9E79DB5A44927C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; 191B98765219765CD56CCFED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 19DC6BDBA978DC67B9783340 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_cryptography/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 19E9997C0FE3E36156141D64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInputSource.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 1A667A0FBCC8FC7EBBD15B20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; }; 1A7002B936C11924FDC07023 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -134,10 +133,10 @@ 20E10FBD8694E185CA551EDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 2168310E25BD55C9A46499C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; }; 2188A5670214696EFCF6810F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLHelpers.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp"; sourceTree = "SOURCE_ROOT"; }; - 21CF5364CD4910E49D19F8E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../../../modules/juce_opengl/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; 21D0A71ADD004B35B90F0D1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; }; 21D31B64BAD35C6C8E8E8FC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; }; 221FD10838A8CE36672FABC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; }; + 222D7B201FE37D4B96BF571E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../JuceLibraryCode/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; 2254F8D031DD15BDB278DE3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; }; 22C4F82B505995F81CD682B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Identifier.h"; path = "../../../../modules/juce_core/text/juce_Identifier.h"; sourceTree = "SOURCE_ROOT"; }; 2328C66A446079EDDCC8B14E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -145,11 +144,9 @@ 236F239E035044438B7CDFCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; }; 23724FEF549E05851817B4BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Slider.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp"; sourceTree = "SOURCE_ROOT"; }; 23936BBF807CCF5B1EEB9F00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - 241453DBDECBE0CCD5C096DE = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_graphics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 24363F41974FD7A3B634B78B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; }; 244B9B4B8307A8C51207D457 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; 24AFC6C8D9388F5AB913250F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserVoice.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h"; sourceTree = "SOURCE_ROOT"; }; - 254D157C0CCE3C7EA022F4CE = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_video/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 25869F2A5B90C64E857606D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; 25B41C0851C004C9D410B7C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; 25E6B62A5BF19A0D1E085E10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GroupComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -160,7 +157,6 @@ 274569E245BFB279247B4ECC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; 27676EBA6012198993C2CBA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; }; 27A9B065352AE36635780373 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 27B720A5E8CF81ABF9E50848 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 27DC413550834C828252B003 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 2807A00AE6C4539CD935F56D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageCache.h"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.h"; sourceTree = "SOURCE_ROOT"; }; 2819AE973B501D15AAB8C937 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -176,6 +172,7 @@ 2A59F5E28F97A435592E0B58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; }; 2A771B60F7C360A111F75AC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; 2AB2B4CC891E77E2DD062BE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2AF1C1B6A582BD96CCE01452 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../JuceLibraryCode/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; 2B02634F8DA8660ED42B0AEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Headers.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h"; sourceTree = "SOURCE_ROOT"; }; 2B1494112273ADF380C99FD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; 2B4FA0E8FB46CBC71A059FE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -205,7 +202,6 @@ 32C683CBA18109949D53149A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; 3324210159E5C546DC5C2065 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DeletedAtShutdown.h"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h"; sourceTree = "SOURCE_ROOT"; }; 3391FA30F4D45A4A77DC2CE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; }; - 33E449DEA1FC0CD4CAA3A829 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../../../modules/juce_cryptography/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; 34227B39C3D697D0DBAC7017 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; 34A6FFC298D12BF9E4D55AA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; }; 35A7FD6EFDE29D2EBD7DFCB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -244,7 +240,6 @@ 3E8E31BB97A86349790D6CC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; }; 3EF0B8611060C8AB86395920 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; 3EF6F363BA4F6B10207C0E23 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = System/Library/Frameworks/QuickTime.framework; sourceTree = SDKROOT; }; - 3F0388309395C138AA68FAD7 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_processors/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 3FAA5384DA8B28DEB5E57A5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 3FECAB20E9C0834676E2D9EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; }; 403453363C4785FD451A9BA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LagrangeInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; @@ -257,12 +252,12 @@ 4228B8952E3FBCDA69C1948B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SHA256.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp"; sourceTree = "SOURCE_ROOT"; }; 426283CFD858F482E87F530B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; }; 42BC8303198293E30AC0B21A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; + 42CDCB2F2DB39A7822A8ED11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; 435858CCF38F47E9AAE1B08F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; }; 439FC260CD869E30210D98BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; }; 4408766B366713F55707B7A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; }; 440A182A9068A8FBD011BE1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 44185DE135E354DD4758B3EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; }; - 442199479D1499B6A44BD150 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_devices/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 44443DA5B0FDA2480DFBDFC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; 44ADFB25768FA3BF27762EBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLAppComponent.cpp"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 44B3428E8BB4B70104CD76CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; @@ -285,7 +280,6 @@ 4A86B4371AE4FC58D879962C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; }; 4ABF36D87D2BBEDA4DE28A4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooserDialogBox.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h"; sourceTree = "SOURCE_ROOT"; }; 4ADE9EFB6C41DE44D40C9837 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4B27A11ADAC0D9957BBBCD3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; 4B27C30CF5AC7BFE0AF537AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_QuickTimeAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 4B8102606812A7964CF8D9CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 4B8342C50F962C3F0AEE9830 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; }; @@ -328,6 +322,7 @@ 56545F3F893C3D8CC9215051 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreMidi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp"; sourceTree = "SOURCE_ROOT"; }; 567D63D778B7A22C5D97F1C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BlowFish.h"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.h"; sourceTree = "SOURCE_ROOT"; }; 56985D9599D0D1D00B42F95B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V1.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp"; sourceTree = "SOURCE_ROOT"; }; + 56FB775B9F539EA13D18C32C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../JuceLibraryCode/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; 5703889367170F80CAC76898 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; }; 570C35930202882A634FC029 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResamplingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 5710CADD28060D8E949D96D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -354,7 +349,6 @@ 5D43D909CB26D4A07A62A4F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; }; 5D4A62D4893C16D7B17C6A43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; }; 5EB144BD6AC4D4DE96ABFCA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; }; - 6018A3A37F34AE52B39A14D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../../../modules/juce_video/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; 605EA4B27D057BCB9263BCFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; }; 60D8280577C14A7D3F67563D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; }; 610F820C21D914E9794A36EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; }; @@ -419,11 +413,13 @@ 7022B01ECEE7000DE6008C0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; }; 70B18C93C5696330A877B330 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; }; 7141B07690C1A022A2BFFBBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; }; + 71710A47E019BA95D2DB86FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 71881F8A6973AACD78ABA719 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_QuickTimeMovieComponent.cpp"; path = "../../../../modules/juce_video/native/juce_win32_QuickTimeMovieComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 71B0F66C20CF48F49B3152AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; 71DF518DE7A248B97C8E1C2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 72696E2F6E8EB43A8E604390 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; }; 732EEC584A4CE3ED07C5BEFB = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; + 73A1A4EC47BB161DAF61D31C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; 73CA6BCA313B0239842F298C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; }; 73FF82BCB568578396E88C92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; }; 74302B51B991EA1775AEFC67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; @@ -435,7 +431,6 @@ 7627F01C1E5383207D2C0BFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; 7639526FBF7A4F41961483ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; }; 766EE2CCD4E86729C6CE8112 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; }; - 768754211363FED3D2188C9D = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_formats/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 76F1A69F15F53D17C632A644 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; }; 7743414F79908801328D9F03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; }; 77AE8FD7436387126D3BBBAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyMappingEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -449,9 +444,9 @@ 7A6E1CBA343C07AC187A3EE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; }; 7AC4D7A22EE9E1F4FBD407C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiDataConcatenator.h"; path = "../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h"; sourceTree = "SOURCE_ROOT"; }; 7AC8C094442A603DE6257BB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; }; + 7B08326361CAD0A8C35218C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../JuceLibraryCode/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; 7BA2EA5655704E5358ABAA9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; }; 7BC8F7015F35BAFF4AEDA0E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; }; - 7C7B6D8D155687966F681F5B = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_events/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 7D8D285B8414388FDB083AFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; }; 7DCF49E37B27971A7E597555 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; }; 7DF561FC0400DD7E678CD690 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; @@ -517,10 +512,8 @@ 8C9EC3F9C24081ECEF3FCEFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 8CA01F9530AC5512C6B74325 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessage.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp"; sourceTree = "SOURCE_ROOT"; }; 8CEADF0BFEE8F08A0EB42CD1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; }; - 8D3FB0417A39CAEC03D44D73 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_opengl/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 8DC827CCF543708CF729FED6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiFile.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 8DE969191661B557B4222D50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInactivityDetector.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h"; sourceTree = "SOURCE_ROOT"; }; - 8DEFACA6858D254B4202AF12 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 8E407C1CF739A93FD2B3B38C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; }; 8E95A3B7C194244B92D5D65A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; }; 8EA18CA66CABC9B5087DBDD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -558,7 +551,7 @@ 96E4B48CF055ED116E5CB3AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; }; 979A030D4807A573FAA18318 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MixerAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 97EDCA2A04EF5ADAAD9DC594 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; - 987AD2821B6419D5FEDCBD7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; + 98474FB10BB003823EEC8759 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-App.plist"; path = "Info-App.plist"; sourceTree = "SOURCE_ROOT"; }; 98C77B9D95141EBC60E6AE67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; }; 98D247A4824D969367AFD0FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; 996A274720539E8497291E85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; @@ -622,6 +615,7 @@ A8CAB6FAB9BC1CC96FDE7BC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; }; A917646C0153D2A57E3C5677 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiFile.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.h"; sourceTree = "SOURCE_ROOT"; }; A95D718F031CB8883DFDE915 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + A9608756E1A18BAFCC48A064 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; }; A98EED399E310BF85EBBCE12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLGraphicsContext.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; AA5CDD430B68BBE10A9026C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Desktop.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.cpp"; sourceTree = "SOURCE_ROOT"; }; AAA3ED492FF78DBBF86DC612 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; }; @@ -636,13 +630,13 @@ AC56A48CC01AABBE45F51970 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; }; AC725293BD38E8C66E35EED3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; }; ACAC59A1C54DC52E8E2438CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_CameraDevice.cpp"; path = "../../../../modules/juce_video/native/juce_win32_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; - AD405DDE86D07F955E27EBF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; AD41400898312123119E987A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; AD54DAEAB7840FC18DA65503 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; AD8417869D43ED72319C283C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; ADCA2F92E2C17964A4AD750E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; }; AE381B9D6E2A4DA363C7DD3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; }; AF59758C300E586A7A6338D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; + AF885F6112CEA5C2D7934AA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; }; AFEC177C21FC9D36695F4750 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinearSmoothedValue.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h"; sourceTree = "SOURCE_ROOT"; }; B004D25E0DC1AA2C4CD3788A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; }; B0286AC6D04C5D080A299A1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -655,11 +649,13 @@ B1C799A152189A282E6CAC76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; B28F34DD7CABFD48B1EE3CCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; }; B2D42B884600CE62E3253DA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectSound.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp"; sourceTree = "SOURCE_ROOT"; }; + B305ACE053406FF288E500F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; }; B316291E570F37785C40FE88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; }; B3261106892038D4F954E6F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; }; B32716A0B0702E6861726529 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; B3FBDBEBC38720E957C15BE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; }; B401E96340B8AB5DE8CBF5C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + B409D881BE39C4704C94996C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; B45C079D88C3CAA3D5D565E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZoneLayout.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"; sourceTree = "SOURCE_ROOT"; }; B462D25B3F8AA3F7BD76DBD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; B471C2AB67E7C68D1C7D729D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathIterator.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -671,6 +667,7 @@ B5871062E8509DE7873FD083 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEInstrument.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h"; sourceTree = "SOURCE_ROOT"; }; B5C3814B2174E5127F42D721 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; }; B60524021E6FC59416222870 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLRenderer.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h"; sourceTree = "SOURCE_ROOT"; }; + B6173E37D15602163B7C0441 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODeviceType.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp"; sourceTree = "SOURCE_ROOT"; }; B6405B0269ECF4D4DF66996A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPENote.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.h"; sourceTree = "SOURCE_ROOT"; }; B6411B03A6D0185B11DBDA15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h"; sourceTree = "SOURCE_ROOT"; }; B6ABBE7782ECD38631EB11BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDescription.h"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h"; sourceTree = "SOURCE_ROOT"; }; @@ -681,7 +678,6 @@ B70E52FF75D44F0F1F0B31D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; }; B766DBADE0BD743FAC004870 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MainComponent.cpp; path = ../../Source/MainComponent.cpp; sourceTree = "SOURCE_ROOT"; }; B7855FA22C92F7EE272A866E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KnownPluginList.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h"; sourceTree = "SOURCE_ROOT"; }; - B7DD84C8B05ABA4A6915E77E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; B83DDFEEA66888E9616BCE82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectShowComponent.h"; path = "../../../../modules/juce_video/playback/juce_DirectShowComponent.h"; sourceTree = "SOURCE_ROOT"; }; B88950266CC4244E1B5394F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; }; BA7FDBE53073F3261D962FF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -690,53 +686,38 @@ BAE06A3352E39521CE5D94EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; BAE67F224C7BE2FB0B21BEE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTreeSynchroniser.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h"; sourceTree = "SOURCE_ROOT"; }; BB144FF841A99B08D5479777 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VSTPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + BC02503FFF515269351DF89B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiInput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h"; sourceTree = "SOURCE_ROOT"; }; BC0ED0B33BB83E19D9609152 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; }; BC1DBF05964D3B9130CD8CB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; }; BCFE159BD9F2DA5515E028A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; }; BD588F8D5FD1E6FE88E9D3E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; - BDE0C2D342D03C389560501F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; }; - BFB12FD84F14C9B31249FC04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; - C0BA74AF0382D87B0E7BCEB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LeakedObjectDetector.h"; path = "../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h"; sourceTree = "SOURCE_ROOT"; }; - C0FDDD3106A13770B141E5F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; }; - C21701DD3A4A2628C63CB70A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; - C29492501499BAD8E94958DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPENote.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp"; sourceTree = "SOURCE_ROOT"; }; - C3DEEC17595B1AB020ADA47F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - C45AB95F4CDF31A41199E6D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; - C52FB75A0A93BB1397D1F962 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - C7547C898C418E3AB53A2038 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiser.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; - C7581A35068A3FB43786F4BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; }; - C9F7ABDA09635BC3FAB0B008 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; - CA025D4369C240E6FA30CE2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; }; - CBECD9165897602A506BC41E = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = System/Library/Frameworks/QTKit.framework; sourceTree = SDKROOT; }; - CD4803D5DD14A33CF5AA9FDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; - CD7181BCA81219BAF2B182BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterInt.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h"; sourceTree = "SOURCE_ROOT"; }; - D1000A39817E9B771A4FB856 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatWriter.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h"; sourceTree = "SOURCE_ROOT"; }; - D108D5FFE66F80627621DCA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - D32C3176FB914F189E0139AF = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; - A748C987924800FDBA2E2184 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AnimationAppExample.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; - A9608756E1A18BAFCC48A064 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; }; - AF885F6112CEA5C2D7934AA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; }; - B305ACE053406FF288E500F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - B409D881BE39C4704C94996C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; - B6173E37D15602163B7C0441 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODeviceType.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp"; sourceTree = "SOURCE_ROOT"; }; - BC02503FFF515269351DF89B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiInput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h"; sourceTree = "SOURCE_ROOT"; }; BD7B0136829554046A511588 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; }; BDA5B0C014F6DCC188465060 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + BDE0C2D342D03C389560501F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; }; BE61994F6993AE76CBBF1EAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; }; BE64EDA4F7260D2D5B7E0410 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; }; BEC8EC4C23F9AA5C8DFEA15A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; }; BF40FF2E0FA609212C849FBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + BFB12FD84F14C9B31249FC04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; BFBF32B0E491C9D4527DF9A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; }; C088D98E527C1DA17B55A9D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; }; - C1070E62B763F1CCE0BB18F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; + C0BA74AF0382D87B0E7BCEB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LeakedObjectDetector.h"; path = "../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h"; sourceTree = "SOURCE_ROOT"; }; + C0FDDD3106A13770B141E5F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; }; C186342C3FFB4DE250556D70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + C21701DD3A4A2628C63CB70A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; + C29492501499BAD8E94958DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPENote.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp"; sourceTree = "SOURCE_ROOT"; }; C296F214D5B65857DC3DA585 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; + C3DEEC17595B1AB020ADA47F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + C45AB95F4CDF31A41199E6D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; C51A754A0E65CA141A2C3310 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; C52E8074125FEED4DB727EDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; }; + C52FB75A0A93BB1397D1F962 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; C551CC8801B93AC70F6E4F76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; }; C5C3838D0FDC65F44C9D1A9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; }; C6CD42F1DA2F444A59CD4AF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; C73B4B312C3A4CE4F8E742C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; + C7547C898C418E3AB53A2038 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiser.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; + C7581A35068A3FB43786F4BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; }; C776DAD938AD7E1207DBCEEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colours.h"; path = "../../../../modules/juce_graphics/colour/juce_Colours.h"; sourceTree = "SOURCE_ROOT"; }; C7D5A8B28D0B7DE58629AA04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; }; C884444C380A4B053DB70D12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -744,9 +725,12 @@ C8F82FBA1E0EF7EEA5BD02B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; C9A25E2EF32224159B617D5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; C9BA40AFF2AD427CE4D480D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; }; + C9F7ABDA09635BC3FAB0B008 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; + CA025D4369C240E6FA30CE2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; }; CB4D4DA89BA649D3F1B2A645 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; }; CB5874E2A70E8A6A01FE8C9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; - CC0B7738BD544B955D81BF1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; + CBECD9165897602A506BC41E = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = System/Library/Frameworks/QTKit.framework; sourceTree = SDKROOT; }; + CBF69B3CBCD089CD7DC8343C = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AnimationAppExample.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; CC3F295E9D9E5863779F9ACD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; }; CC4B3BCEE612C95F27680EA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CPlusPlusCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; CC8F24C4E5FC5C12AA30F6CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; @@ -757,6 +741,8 @@ CCF94157A15DD29B6C5DA939 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; }; CD3A68C29B7A733E5954BDA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MarkerList.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h"; sourceTree = "SOURCE_ROOT"; }; CD405182963BEB73FB9E368D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; }; + CD4803D5DD14A33CF5AA9FDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + CD7181BCA81219BAF2B182BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterInt.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h"; sourceTree = "SOURCE_ROOT"; }; CD965406DB7511EB187919E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NotificationType.h"; path = "../../../../modules/juce_events/messages/juce_NotificationType.h"; sourceTree = "SOURCE_ROOT"; }; CDFAC8C57A364EEE32CE125E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLContext.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h"; sourceTree = "SOURCE_ROOT"; }; CE0CE24264C96E86062E0250 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -773,8 +759,10 @@ D0A5B1AE7B7B56633AF2D5E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsPostScriptRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; D0AFF0790D81DB8F66173737 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; }; D0B5B79546163A6DE73D0E2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + D1000A39817E9B771A4FB856 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatWriter.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h"; sourceTree = "SOURCE_ROOT"; }; D10497F87C560FA833756730 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; }; D104C8636576DFE8A2D11430 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; }; + D108D5FFE66F80627621DCA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; D11D931DAED4F636E8A60264 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; D12F8398C3EA9BA0FA88B5CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; }; D19705FE67C941DA74C31A9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; @@ -783,13 +771,13 @@ D26821159E190113FEBF99BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; D298D1DE4D2FE281CA30910C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp"; sourceTree = "SOURCE_ROOT"; }; D2A5F78D0EF37F1E45DF39D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + D32C3176FB914F189E0139AF = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; D38FAFE2A9C48C4914A61F03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FFT.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_FFT.cpp"; sourceTree = "SOURCE_ROOT"; }; D3B4D56DE3F90D9A445A47A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; D3C1097E92146B596194A067 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; }; D40C36493501EA97A8D1EB50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; }; D4BA573C125944E2773D747F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; }; D52EB7F089EF359EDCB199AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; }; - D57735149DD4975283A0C754 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_extra/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; D5C10F9CC5ADFC1B63AD1DB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; D5EC3B41088855C3D481A73E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; }; D64B71F992FF01CB0EE89641 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; }; @@ -801,10 +789,8 @@ D80EEBBDEC364958AE05AFFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; D8256B8AA794F43A2259638A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; }; D886106C60A496E47C48AFB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; }; - D8BAA82AC820CEF315BD9DCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; D949A0753DEE4B4AACDDA3AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; D9FAC914CA572410C055D109 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; }; - DA353BCF838D64BA343AC0E1 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_core/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; DA9671908F37549C583C61E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; DA98B32DCA0DEF0113C22F9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; }; DAB059DA13868A81301513F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; }; @@ -815,11 +801,13 @@ DBDED1D6237A21D03E68D323 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; DBFBBC58ED4A18EA9FE04D1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; }; DC3B995E7B51FC0B76826C86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; }; + DC5C7E82429CF94928EC055A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../JuceLibraryCode/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; DC6461EF11D5745DF8C00E16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; }; + DC6550969FBDB187169D124B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../JuceLibraryCode/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; DC66DC84909A3802527414C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; }; DC94270BB4A70056907C3CDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Quaternion.h"; path = "../../../../modules/juce_opengl/geometry/juce_Quaternion.h"; sourceTree = "SOURCE_ROOT"; }; + DCCC723F8E6D3F6445318CB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../JuceLibraryCode/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; DD03B6CE6F750A9CECA7EDEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CameraDevice.cpp"; path = "../../../../modules/juce_video/capture/juce_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; - DD19124F0A7FD43F31BDEB87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; DD2007C851B70E2C71171145 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; }; DD73087B002B1DB6B90B666E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; }; DE1943CA08D7FAB2E3EC0A14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; }; @@ -869,6 +857,7 @@ EA749A33B0E635F691A42C64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Sampler.h"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.h"; sourceTree = "SOURCE_ROOT"; }; EA779F8A580E3D22A7CBD51E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; EAAFB86397B191FF3713155B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; }; + EAE15C1AC2F25A7EB7A2F2C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; EBC4E11E36D206EDF01E6EB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; EBD6F8CE3122B2AA015A62BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDirectoryScanner.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h"; sourceTree = "SOURCE_ROOT"; }; EBDC0E12D4ED20F5DB90BC26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -937,7 +926,6 @@ FAF4C6D8D1D59932F12DF6A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; }; FB3BE7E3D0A04791487E9E0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; FB459E95101C8A92E5B39A67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; }; - FB81D25CF4825A9A186B6790 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_data_structures/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; FBC55E440EF1EA83FC0DAA5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; }; FBDBD56614E38BB5A5592D32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; FCA9526394A63B33405F8E58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -954,7 +942,7 @@ FEA645D52C593ECCEA779BAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; }; FF1CEE8501CA0F081EE0E3AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; FF1F4F1262BB429E80492B13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; }; - FF3D4768BC96B79F49B10894 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = "SOURCE_ROOT"; }; + FF283714432D1C916EC19072 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; FF70C4AB4F37D7C7E1668660 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; }; FF7A26DADF1579C43D80454F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; 9F41B5C4D3F9CE9C17373AB3 = {isa = PBXGroup; children = ( @@ -1039,9 +1027,12 @@ D16FCF8AF82902B7A98E0FFB, 1F2A9A2A9B959DC1DF903064, 43FFCEB9A2A3784C7EEF5460, - 8DEFACA6858D254B4202AF12, 3B9903B0A0252D106C92CAA9, ); name = "juce_audio_basics"; sourceTree = ""; }; - 3B35E0DA3DB0B1509311FBDF = {isa = PBXGroup; children = ( + 4D1875BC9BD97BB0F90096C5 = {isa = PBXGroup; children = ( + 41C74B59D9B392117441DA2D, + 35A7FD6EFDE29D2EBD7DFCB8, + BDE0C2D342D03C389560501F, ); name = "audio_cd"; sourceTree = ""; }; + ED5718E80F3979D00C658CA3 = {isa = PBXGroup; children = ( 884AA1209A726AEAF76E31B0, 3D24784AEA7726A64A340625, 4A1671B78E589A865FEA3CB1, @@ -1049,22 +1040,13 @@ B6173E37D15602163B7C0441, 4BF9949E0C30EA64B16004BE, 04C105672DA409FE8593DB04, ); name = "audio_io"; sourceTree = ""; }; - D487CFDA56FA408A04203A20 = {isa = PBXGroup; children = ( + EB0DE9EE67452CF5A10FD857 = {isa = PBXGroup; children = ( BC02503FFF515269351DF89B, A789D75FEFFFB7E8E835FBAB, B004D25E0DC1AA2C4CD3788A, D298D1DE4D2FE281CA30910C, CE75A83F0AA70025C36151B1, ); name = "midi_io"; sourceTree = ""; }; - C3D887B6F1284C2394FD72D3 = {isa = PBXGroup; children = ( - 814E0D982BC2A18B9BAF3E38, - B6411B03A6D0185B11DBDA15, - 911B308D5222BDFD954DBB32, - DFC58448ADEA2B5D2FF5F8D3, ); name = sources; sourceTree = ""; }; - 09D6686EACFD43021C0E69F3 = {isa = PBXGroup; children = ( - 41C74B59D9B392117441DA2D, - 35A7FD6EFDE29D2EBD7DFCB8, - BDE0C2D342D03C389560501F, ); name = "audio_cd"; sourceTree = ""; }; - A62DE30F63767AFA483DE8C6 = {isa = PBXGroup; children = ( + 12AE495BFE46F0D287769584 = {isa = PBXGroup; children = ( FCA9526394A63B33405F8E58, B1C799A152189A282E6CAC76, 2A098563977566E9A9E8CD7E, @@ -1084,31 +1066,19 @@ B2D42B884600CE62E3253DA3, 5719A93B0F6AFE95FC49B673, 73FF82BCB568578396E88C92, ); name = native; sourceTree = ""; }; + B350B65FE9E419D397C6E234 = {isa = PBXGroup; children = ( + 814E0D982BC2A18B9BAF3E38, + B6411B03A6D0185B11DBDA15, + 911B308D5222BDFD954DBB32, + DFC58448ADEA2B5D2FF5F8D3, ); name = sources; sourceTree = ""; }; 270A86F6A3CE512F0B3EA8DC = {isa = PBXGroup; children = ( - 3B35E0DA3DB0B1509311FBDF, - D487CFDA56FA408A04203A20, - C3D887B6F1284C2394FD72D3, - 09D6686EACFD43021C0E69F3, - A62DE30F63767AFA483DE8C6, - 442199479D1499B6A44BD150, + 4D1875BC9BD97BB0F90096C5, + ED5718E80F3979D00C658CA3, + EB0DE9EE67452CF5A10FD857, + 12AE495BFE46F0D287769584, + B350B65FE9E419D397C6E234, B1A41C6141726A390E2182A2, ); name = "juce_audio_devices"; sourceTree = ""; }; - 72D396CB5861C9C441B3E360 = {isa = PBXGroup; children = ( - A76D6B94991D6E028EE8D1AA, - 0E70A4BFB2F7D1AB6188E72C, - CCF8FB3EA0246D83E3D2E760, - FF1CEE8501CA0F081EE0E3AE, - E1A153E1CA08E918F65C2B4D, - E5AF1F5B3F7F2B30606FBF24, - 853D2D1ADD05C320052DD5FC, - FE55A1DFB90A1A5EF37B1741, - B5C3814B2174E5127F42D721, - D1000A39817E9B771A4FB856, - 71DF518DE7A248B97C8E1C2E, - 6E6672E4055AC4F6D8688310, - 63E66F6D161941FE12465C29, - AD8417869D43ED72319C283C, - 9CC22BDB1B3FF427D6525D21, ); name = format; sourceTree = ""; }; - 23741F076745FB046C07FB1D = {isa = PBXGroup; children = ( + 61796396A6A12B8949C2B98C = {isa = PBXGroup; children = ( AB3C130E565756182528752D, 7F162E198ECF41AA895DB94B, 0BC32F0BB0B5393D25E09D00, @@ -1127,16 +1097,48 @@ 46885692CC5FDE30FC3649F6, C52FB75A0A93BB1397D1F962, 4B8102606812A7964CF8D9CE, ); name = codecs; sourceTree = ""; }; + E01CB5081E94C46B4D655CA6 = {isa = PBXGroup; children = ( + A76D6B94991D6E028EE8D1AA, + 0E70A4BFB2F7D1AB6188E72C, + CCF8FB3EA0246D83E3D2E760, + FF1CEE8501CA0F081EE0E3AE, + E1A153E1CA08E918F65C2B4D, + E5AF1F5B3F7F2B30606FBF24, + 853D2D1ADD05C320052DD5FC, + FE55A1DFB90A1A5EF37B1741, + B5C3814B2174E5127F42D721, + D1000A39817E9B771A4FB856, + 71DF518DE7A248B97C8E1C2E, + 6E6672E4055AC4F6D8688310, + 63E66F6D161941FE12465C29, + AD8417869D43ED72319C283C, + 9CC22BDB1B3FF427D6525D21, ); name = format; sourceTree = ""; }; EA0CB9DC4E43539FB25FBC68 = {isa = PBXGroup; children = ( 5774E190A351EDF7B7AAB188, EA749A33B0E635F691A42C64, ); name = sampler; sourceTree = ""; }; D8CF14F51DEE1EA3625BFE6E = {isa = PBXGroup; children = ( - 72D396CB5861C9C441B3E360, - 23741F076745FB046C07FB1D, + 61796396A6A12B8949C2B98C, + E01CB5081E94C46B4D655CA6, EA0CB9DC4E43539FB25FBC68, - 768754211363FED3D2188C9D, 62B6E8B6269ADEF23D85FA3E, ); name = "juce_audio_formats"; sourceTree = ""; }; - 2127B046D500ADBA07220814 = {isa = PBXGroup; children = ( + B778BD1F9FFCBF8A88C28D20 = {isa = PBXGroup; children = ( + 8741126A9694372E46E3FD32, + 381B8B8A9D5203E73FED79E9, + 83325A69170997E33D73770A, + F3C52FC514B9B3A2DFD7E3F6, ); name = format; sourceTree = ""; }; + 18957440584D5A93E7519BB5 = {isa = PBXGroup; children = ( + A50AF1519D78428A8DCD91BF, + E587838C598E06E7959F2A31, + E6E99E6E9BB715D12B35AB4A, + 38EDF1EAB12A05CEE439AF23, + 36B8F6CFEEA3C1E2A0D09E56, + 2B02634F8DA8660ED42B0AEF, + F79ADEBA7B305354085FFB8D, + 66E854431C2BBDEE56EA43C8, + 0F67C59CB48583941B8656EF, + BB144FF841A99B08D5479777, + E652F16998FA1CBF2068C6FC, ); name = "format_types"; sourceTree = ""; }; + 93BF1F4372B441625EDA8193 = {isa = PBXGroup; children = ( EC0DC30DBDE17808F8F213DD, F84B68CA477E76A5C737EEB7, A61AD5378601F9DDEB8DED03, @@ -1153,23 +1155,6 @@ FAC04A1B47255DA7A6397737, EC11D53A4118E15738CC70BB, B6ABBE7782ECD38631EB11BC, ); name = processors; sourceTree = ""; }; - DB8C9872311AD82A6BE28BCE = {isa = PBXGroup; children = ( - 8741126A9694372E46E3FD32, - 381B8B8A9D5203E73FED79E9, - 83325A69170997E33D73770A, - F3C52FC514B9B3A2DFD7E3F6, ); name = format; sourceTree = ""; }; - CD61E634B4D011ABCFA7E39F = {isa = PBXGroup; children = ( - A50AF1519D78428A8DCD91BF, - E587838C598E06E7959F2A31, - E6E99E6E9BB715D12B35AB4A, - 38EDF1EAB12A05CEE439AF23, - 36B8F6CFEEA3C1E2A0D09E56, - 2B02634F8DA8660ED42B0AEF, - F79ADEBA7B305354085FFB8D, - 66E854431C2BBDEE56EA43C8, - 0F67C59CB48583941B8656EF, - BB144FF841A99B08D5479777, - E652F16998FA1CBF2068C6FC, ); name = "format_types"; sourceTree = ""; }; 6C9E51DC570947CDBD246B3E = {isa = PBXGroup; children = ( 0B933FCCF82100D67C0B7D34, B7855FA22C92F7EE272A866E, @@ -1187,65 +1172,13 @@ 8096923FA40246283C31519E, 2C06A730EBB9E2A7F0F2AA14, ); name = utilities; sourceTree = ""; }; BA9B6357DA1BF8D6E3120176 = {isa = PBXGroup; children = ( - 2127B046D500ADBA07220814, - DB8C9872311AD82A6BE28BCE, - CD61E634B4D011ABCFA7E39F, + B778BD1F9FFCBF8A88C28D20, + 18957440584D5A93E7519BB5, + 93BF1F4372B441625EDA8193, 6C9E51DC570947CDBD246B3E, 202EE05322E0C4E9476F8135, - 3F0388309395C138AA68FAD7, 6E841DAA09FE06910D94447D, ); name = "juce_audio_processors"; sourceTree = ""; }; - 8C7AB91AFCAF2F99D0E906B0 = {isa = PBXGroup; children = ( - 0511F904BECB48A221DFB2C6, - 8771F275A606BD89BF1401EA, - 5A854859042F6CD761688B25, - A42A97232CE0593D8D989FC1, - 8E407C1CF739A93FD2B3B38C, - 7AC8C094442A603DE6257BB1, - 4A86B4371AE4FC58D879962C, - D6ECAF8B2A4E8B6C97B89FFE, - 1AB9713046E08B68A6F672CF, - 22C4F82B505995F81CD682B5, - FF7A26DADF1579C43D80454F, - 916001804771DF943551AAEF, - 61797A8C01DC08E83AFA4540, - 935BCEB2593A51E53187ABC2, - D9FAC914CA572410C055D109, - 17B07A06764A6A7759804033, - 14245CED80854EC5291657FA, - 926063234BAFA6D29366E43E, - F4454839EB930FC98D63AED3, - 389B4E4055A779D0F6B22C5F, - 1450CD0879661355CD52DD8D, - F2A1FCAC1825462CD568D442, - F49471EE0681DBD1115D927B, - C0FDDD3106A13770B141E5F2, ); name = text; sourceTree = ""; }; - 6898E6C42CC9520DC26F9FBF = {isa = PBXGroup; children = ( - BAE06A3352E39521CE5D94EB, - AD41400898312123119E987A, - A3D0C263C912566AECB57679, - AC42B6006776E1CE3A3A94A0, - 1B3CC8F665F23CB86253EBCE, - 4B8342C50F962C3F0AEE9830, - 8B7C0F839098C534A7B4C725, - B28F34DD7CABFD48B1EE3CCE, - CA025D4369C240E6FA30CE2B, - F16D0AF6B7D272E5E562CAA7, ); name = maths; sourceTree = ""; }; - 01A8BF73C8C9D282E9E58D7A = {isa = PBXGroup; children = ( - E1AC4AB03052A8F3FF90FBA4, - 4BDEC9A0A09EEDC9D7BDB826, - 08EC867C77B028C336B79752, - 68097881EEDDE0FD03100CC5, - C0BA74AF0382D87B0E7BCEB3, - FAF4C6D8D1D59932F12DF6A7, - 8C6A342773288620A8CC2598, - ED5E6273C8910BF1F8CBDB9B, - 097237CCE04B9020343CB28D, - 61F0D5937E23A6A9EE8D479C, - F22781915698D59D4CBE984D, - 289C3977B67C1898AC3B974D, - 4A36826C3F710B92F0347A16, - ED7E17722B60B7D89188CE60, ); name = memory; sourceTree = ""; }; - DD57AFE6D9A0218912B3DD93 = {isa = PBXGroup; children = ( + 2A5C18F834AA6F3E36C144F9 = {isa = PBXGroup; children = ( 6EEECDA2EB328FB597208954, C7581A35068A3FB43786F4BE, 0C89377A44F26612524DA129, @@ -1267,37 +1200,7 @@ 55CEFA60FA0CBA0E6CB71F5D, 4570554FB8438C0692EEDC55, 1C71768A34644733E39EEF4F, ); name = containers; sourceTree = ""; }; - 7A970EF4CD9FEB460B82CAB2 = {isa = PBXGroup; children = ( - 381AE52C082AE08E724CB954, - D11D931DAED4F636E8A60264, - EA5874F225E76DED69BD7132, - E7EC04A96E1CBFA9428A4B80, - 3AE89D0904EE985359A73B91, - A292587AA4633141BA378473, - F9609B0A0387932B86A6FABE, - 9F522CA5A8E82BF69E7403BF, - F5091F49E07C6DF8F644BAF0, - B409D881BE39C4704C94996C, - 69A2DA87D304FD486A872C1B, - 0AD4B355DBB0AED4C90E5657, - 91D09C7242A24405FB364449, - A9608756E1A18BAFCC48A064, - 44185DE135E354DD4758B3EA, - 426283CFD858F482E87F530B, - 6F6F888BFFA4BB40DD71285E, - 390351E336C2CF20C38ADB59, - 897B10399D1CA882B5B98D0F, - 7743414F79908801328D9F03, - DE4C0926D2EFA7649BD3AAA5, - 3E19A71C4A345EB5C1BA466D, ); name = threads; sourceTree = ""; }; - A7DDE84C6BDC340DFEAC5C86 = {isa = PBXGroup; children = ( - 24363F41974FD7A3B634B78B, - E21A45155C6954C6E50CCAF6, - 4ADE9EFB6C41DE44D40C9837, - CE19308F9CD1B8F05E6EF6C5, - ED8032A884A03337DAA1D453, - 5CDC0F220B1EAE847D38D1DE, ); name = time; sourceTree = ""; }; - 0B90B115C693F54D5DF8E732 = {isa = PBXGroup; children = ( + 308CA93871070CA129C6449C = {isa = PBXGroup; children = ( 9D50B3000D941FDCB620068F, AF885F6112CEA5C2D7934AA3, 3FECAB20E9C0834676E2D9EB, @@ -1315,66 +1218,43 @@ 176B18B9B61FDA6EC4357EB6, 07C83735435D264F28158F79, AC018F2C47CF57EB4A87AC36, ); name = files; sourceTree = ""; }; - 9E9C1F84B44CA85F5F472594 = {isa = PBXGroup; children = ( - 90B6C81CFB0DE386C673F62E, - 7639526FBF7A4F41961483ED, - 84ABA9491A70313AD6BF6F9A, - 6A22C06C6FE2B6B494B4878D, - A4F394FB62E70E3A3A02E4C7, - 8C3A6351780E678334FA1406, - 9E44079E499D4F4ECE55354A, - 2B57EB41D3962E3518B79FD8, - D6D37626671B0FB1CE8505C9, - DBFBBC58ED4A18EA9FE04D1D, ); name = network; sourceTree = ""; }; - B87CA56B966A881DBF190AE7 = {isa = PBXGroup; children = ( - 23936BBF807CCF5B1EEB9F00, - BDA5B0C014F6DCC188465060, - 6C502DF33FB5C14B8A67B25D, - 7E0DD06926DAC8EE93BD4F08, - 6421EA349C5D558114D36717, - 440A182A9068A8FBD011BE1A, - E5918150BDBDBCC3060C9FB3, - 47E70AF805B1C5C57566C4CB, - 52062790A5E737C8846A23A2, - ECD7A374DADD305C66141AF4, - 8945894D17A9407EEEE3B8BD, - 07E19FB806980020A47AA47D, - 803480FD5E7181E0D64FFC53, - B305ACE053406FF288E500F8, - D0AFF0790D81DB8F66173737, ); name = streams; sourceTree = ""; }; - C0BC501BDABAB02545D8CED7 = {isa = PBXGroup; children = ( - DEEA654926310D5B37A191C9, - 234D4927B398ED6E9B7B0E6B, - 5D43D909CB26D4A07A62A4F7, - D52EB7F089EF359EDCB199AF, ); name = logging; sourceTree = ""; }; - 314A7534CB4D49F809F0BF86 = {isa = PBXGroup; children = ( - 7141B07690C1A022A2BFFBBB, - DAB059DA13868A81301513F7, - 07342D914D2A5AF6075CDB2D, - 3CD47BA1CFEFB637DDEAC313, - 03B79DBA48F6C4122DABEE90, - 67895BDE8FA4B2A01E3B8B12, ); name = system; sourceTree = ""; }; - 61DC39E8E45840C4E9876585 = {isa = PBXGroup; children = ( - 03E91AE23ECCF51E3AF9FC90, - D19705FE67C941DA74C31A9D, - EAAFB86397B191FF3713155B, - E40FB3B047D27337B9A9CACA, ); name = xml; sourceTree = ""; }; - 044DA355DFC10789F7E2671A = {isa = PBXGroup; children = ( + 1F0D0EB1B4050C12D853EE7A = {isa = PBXGroup; children = ( BD7B0136829554046A511588, 9DCDB2CA1444618C4054A114, 1737596EB7F40322C0A5DE20, 5C58E6217AF57BD2A33ED617, ); name = javascript; sourceTree = ""; }; - 9EE7BD032D2E50758043A0FF = {isa = PBXGroup; children = ( - DB1C6393173661404927B4B7, - 6C03031AAE5A7C3372D4F1CF, - FBDBD56614E38BB5A5592D32, - 9F7AC745AA0588C821A014D0, - 3FAA5384DA8B28DEB5E57A5D, - DFAD61F886BEAAAE535BBF81, ); name = zip; sourceTree = ""; }; - 6BA585E8E2F21352228FF71C = {isa = PBXGroup; children = ( - 5878CA91071620345AB5B3C4, - 1E6EF8035485237EA92A1310, ); name = "unit_tests"; sourceTree = ""; }; - 246C87B7ECF29ACA118F0242 = {isa = PBXGroup; children = ( + 9D9E88B1E7B26F12DFABB224 = {isa = PBXGroup; children = ( + DEEA654926310D5B37A191C9, + 234D4927B398ED6E9B7B0E6B, + 5D43D909CB26D4A07A62A4F7, + D52EB7F089EF359EDCB199AF, ); name = logging; sourceTree = ""; }; + 9FF44145AC7186165B096D9B = {isa = PBXGroup; children = ( + BAE06A3352E39521CE5D94EB, + AD41400898312123119E987A, + A3D0C263C912566AECB57679, + AC42B6006776E1CE3A3A94A0, + 1B3CC8F665F23CB86253EBCE, + 4B8342C50F962C3F0AEE9830, + 8B7C0F839098C534A7B4C725, + B28F34DD7CABFD48B1EE3CCE, + CA025D4369C240E6FA30CE2B, + F16D0AF6B7D272E5E562CAA7, ); name = maths; sourceTree = ""; }; + 21694E74A96685CAAEF121A1 = {isa = PBXGroup; children = ( + E1AC4AB03052A8F3FF90FBA4, + 4BDEC9A0A09EEDC9D7BDB826, + 08EC867C77B028C336B79752, + 68097881EEDDE0FD03100CC5, + C0BA74AF0382D87B0E7BCEB3, + FAF4C6D8D1D59932F12DF6A7, + 8C6A342773288620A8CC2598, + ED5E6273C8910BF1F8CBDB9B, + 097237CCE04B9020343CB28D, + 61F0D5937E23A6A9EE8D479C, + F22781915698D59D4CBE984D, + 289C3977B67C1898AC3B974D, + 4A36826C3F710B92F0347A16, + ED7E17722B60B7D89188CE60, ); name = memory; sourceTree = ""; }; + F6346B11B8E1A04BC5D5D56F = {isa = PBXGroup; children = ( 9C17E6FC9A4D7C8734800649, 941219816EB5D7A2231019FA, D263FE9723F526617E111337, @@ -1382,7 +1262,7 @@ BACA17304411EED8B219D2AC, 98D247A4824D969367AFD0FB, F73B6D934AEC9887D9EBB5E2, ); name = misc; sourceTree = ""; }; - A37D31A95DAA40A87611411B = {isa = PBXGroup; children = ( + B74377D7C53A359BCE221589 = {isa = PBXGroup; children = ( 6238740697CA1F0746776243, A782FF0CD79464F3E015647E, DC3B995E7B51FC0B76826C86, @@ -1412,25 +1292,128 @@ 7DCF49E37B27971A7E597555, 843BE36A2285F73A3FBB5660, 40F0E944D041D96F2DA4C6A2, ); name = native; sourceTree = ""; }; + BF63DAE70123BCAFC477257A = {isa = PBXGroup; children = ( + 90B6C81CFB0DE386C673F62E, + 7639526FBF7A4F41961483ED, + 84ABA9491A70313AD6BF6F9A, + 6A22C06C6FE2B6B494B4878D, + A4F394FB62E70E3A3A02E4C7, + 8C3A6351780E678334FA1406, + 9E44079E499D4F4ECE55354A, + 2B57EB41D3962E3518B79FD8, + D6D37626671B0FB1CE8505C9, + DBFBBC58ED4A18EA9FE04D1D, ); name = network; sourceTree = ""; }; + FD5A6D60D0915F1970C5997B = {isa = PBXGroup; children = ( + 23936BBF807CCF5B1EEB9F00, + BDA5B0C014F6DCC188465060, + 6C502DF33FB5C14B8A67B25D, + 7E0DD06926DAC8EE93BD4F08, + 6421EA349C5D558114D36717, + 440A182A9068A8FBD011BE1A, + E5918150BDBDBCC3060C9FB3, + 47E70AF805B1C5C57566C4CB, + 52062790A5E737C8846A23A2, + ECD7A374DADD305C66141AF4, + 8945894D17A9407EEEE3B8BD, + 07E19FB806980020A47AA47D, + 803480FD5E7181E0D64FFC53, + B305ACE053406FF288E500F8, + D0AFF0790D81DB8F66173737, ); name = streams; sourceTree = ""; }; + 314A7534CB4D49F809F0BF86 = {isa = PBXGroup; children = ( + 7141B07690C1A022A2BFFBBB, + DAB059DA13868A81301513F7, + 07342D914D2A5AF6075CDB2D, + 3CD47BA1CFEFB637DDEAC313, + 03B79DBA48F6C4122DABEE90, + 67895BDE8FA4B2A01E3B8B12, ); name = system; sourceTree = ""; }; + 91164D440B0373CA535B7083 = {isa = PBXGroup; children = ( + 0511F904BECB48A221DFB2C6, + 8771F275A606BD89BF1401EA, + 5A854859042F6CD761688B25, + A42A97232CE0593D8D989FC1, + 8E407C1CF739A93FD2B3B38C, + 7AC8C094442A603DE6257BB1, + 4A86B4371AE4FC58D879962C, + D6ECAF8B2A4E8B6C97B89FFE, + 1AB9713046E08B68A6F672CF, + 22C4F82B505995F81CD682B5, + FF7A26DADF1579C43D80454F, + 916001804771DF943551AAEF, + 61797A8C01DC08E83AFA4540, + 935BCEB2593A51E53187ABC2, + D9FAC914CA572410C055D109, + 17B07A06764A6A7759804033, + 14245CED80854EC5291657FA, + 926063234BAFA6D29366E43E, + F4454839EB930FC98D63AED3, + 389B4E4055A779D0F6B22C5F, + 1450CD0879661355CD52DD8D, + F2A1FCAC1825462CD568D442, + F49471EE0681DBD1115D927B, + C0FDDD3106A13770B141E5F2, ); name = text; sourceTree = ""; }; + 688708DC79BD28776EA823B8 = {isa = PBXGroup; children = ( + 381AE52C082AE08E724CB954, + D11D931DAED4F636E8A60264, + EA5874F225E76DED69BD7132, + E7EC04A96E1CBFA9428A4B80, + 3AE89D0904EE985359A73B91, + A292587AA4633141BA378473, + F9609B0A0387932B86A6FABE, + 9F522CA5A8E82BF69E7403BF, + F5091F49E07C6DF8F644BAF0, + B409D881BE39C4704C94996C, + 69A2DA87D304FD486A872C1B, + 0AD4B355DBB0AED4C90E5657, + 91D09C7242A24405FB364449, + A9608756E1A18BAFCC48A064, + 44185DE135E354DD4758B3EA, + 426283CFD858F482E87F530B, + 6F6F888BFFA4BB40DD71285E, + 390351E336C2CF20C38ADB59, + 897B10399D1CA882B5B98D0F, + 7743414F79908801328D9F03, + DE4C0926D2EFA7649BD3AAA5, + 3E19A71C4A345EB5C1BA466D, ); name = threads; sourceTree = ""; }; + D09864D6DDED477C852879A6 = {isa = PBXGroup; children = ( + 24363F41974FD7A3B634B78B, + E21A45155C6954C6E50CCAF6, + 4ADE9EFB6C41DE44D40C9837, + CE19308F9CD1B8F05E6EF6C5, + ED8032A884A03337DAA1D453, + 5CDC0F220B1EAE847D38D1DE, ); name = time; sourceTree = ""; }; + 6BA585E8E2F21352228FF71C = {isa = PBXGroup; children = ( + 5878CA91071620345AB5B3C4, + 1E6EF8035485237EA92A1310, ); name = "unit_tests"; sourceTree = ""; }; + 39298D0127BDCAE2E3144D12 = {isa = PBXGroup; children = ( + 03E91AE23ECCF51E3AF9FC90, + D19705FE67C941DA74C31A9D, + EAAFB86397B191FF3713155B, + E40FB3B047D27337B9A9CACA, ); name = xml; sourceTree = ""; }; + 05EE727CE3A1D784FB93C1E5 = {isa = PBXGroup; children = ( + DB1C6393173661404927B4B7, + 6C03031AAE5A7C3372D4F1CF, + FBDBD56614E38BB5A5592D32, + 9F7AC745AA0588C821A014D0, + 3FAA5384DA8B28DEB5E57A5D, + DFAD61F886BEAAAE535BBF81, ); name = zip; sourceTree = ""; }; 5CF56D8EDFCB4673E75EB0E4 = {isa = PBXGroup; children = ( - 8C7AB91AFCAF2F99D0E906B0, - 6898E6C42CC9520DC26F9FBF, - 01A8BF73C8C9D282E9E58D7A, - DD57AFE6D9A0218912B3DD93, - 7A970EF4CD9FEB460B82CAB2, - A7DDE84C6BDC340DFEAC5C86, - 0B90B115C693F54D5DF8E732, - 9E9C1F84B44CA85F5F472594, - B87CA56B966A881DBF190AE7, - C0BC501BDABAB02545D8CED7, + 2A5C18F834AA6F3E36C144F9, + 308CA93871070CA129C6449C, + 1F0D0EB1B4050C12D853EE7A, + 9D9E88B1E7B26F12DFABB224, + 9FF44145AC7186165B096D9B, + 21694E74A96685CAAEF121A1, + F6346B11B8E1A04BC5D5D56F, + B74377D7C53A359BCE221589, + BF63DAE70123BCAFC477257A, + FD5A6D60D0915F1970C5997B, 314A7534CB4D49F809F0BF86, - 61DC39E8E45840C4E9876585, - 044DA355DFC10789F7E2671A, - 9EE7BD032D2E50758043A0FF, + 91164D440B0373CA535B7083, + 688708DC79BD28776EA823B8, + D09864D6DDED477C852879A6, 6BA585E8E2F21352228FF71C, - 246C87B7ECF29ACA118F0242, - A37D31A95DAA40A87611411B, - DA353BCF838D64BA343AC0E1, + 39298D0127BDCAE2E3144D12, + 05EE727CE3A1D784FB93C1E5, 74302B51B991EA1775AEFC67, ); name = "juce_core"; sourceTree = ""; }; A24377A329F782F1DF1A9E92 = {isa = PBXGroup; children = ( 9C05D3A33B0D7B6B2EA43C7A, @@ -1449,31 +1432,45 @@ 752AB8D433735A877FC90255 = {isa = PBXGroup; children = ( A24377A329F782F1DF1A9E92, D05EA809F9DB6CFD6B0BFEC0, - 19DC6BDBA978DC67B9783340, E109BFE0F2475C97F17CA5AF, ); name = "juce_cryptography"; sourceTree = ""; }; - 569E6262B6ED4B4C394F150B = {isa = PBXGroup; children = ( + B44515142E8B789A4E84B877 = {isa = PBXGroup; children = ( + 09846FF5D2FFB83242A02FF4, + B4769129853D2822D3DB38D1, + FBC55E440EF1EA83FC0DAA5A, + AF59758C300E586A7A6338D1, ); name = "app_properties"; sourceTree = ""; }; + F3B535506E5F093EB8206BDA = {isa = PBXGroup; children = ( + 616493921A733162495E7553, + 369C06F1DC7B3B7EB497D062, + F7E781AFAA34B511C812896A, ); name = undomanager; sourceTree = ""; }; + 8D4A79EA8498A5DEE3174813 = {isa = PBXGroup; children = ( 2E96848340E1C1B1095AC1F3, 9A4FCF66FF42906A7A2187A5, 2B1494112273ADF380C99FD3, 73CA6BCA313B0239842F298C, 7620FF4A73742FD6AC1579C2, BAE67F224C7BE2FB0B21BEE2, ); name = values; sourceTree = ""; }; - F3B535506E5F093EB8206BDA = {isa = PBXGroup; children = ( - 616493921A733162495E7553, - 369C06F1DC7B3B7EB497D062, - F7E781AFAA34B511C812896A, ); name = undomanager; sourceTree = ""; }; - E4B1CF3D54E0B5547CDF9A87 = {isa = PBXGroup; children = ( - 09846FF5D2FFB83242A02FF4, - B4769129853D2822D3DB38D1, - FBC55E440EF1EA83FC0DAA5A, - AF59758C300E586A7A6338D1, ); name = "app_properties"; sourceTree = ""; }; 670AA26A4F8D5CF111CE304F = {isa = PBXGroup; children = ( - 569E6262B6ED4B4C394F150B, + B44515142E8B789A4E84B877, F3B535506E5F093EB8206BDA, - E4B1CF3D54E0B5547CDF9A87, - FB81D25CF4825A9A186B6790, + 8D4A79EA8498A5DEE3174813, D3B4D56DE3F90D9A445A47A6, ); name = "juce_data_structures"; sourceTree = ""; }; - A9C383106F234D341DE730BA = {isa = PBXGroup; children = ( + 6C72C7479EA3F242A5BA33A0 = {isa = PBXGroup; children = ( + B32716A0B0702E6861726529, + 2DCAC1795F1B47C592E65D4E, + D7C8F6360C455C0F76E35978, + 59CAB9E5A0CBBC51342FC065, + E70034BF5EF1721B245C3079, + 142D03BC875BD387BD10C51F, + 5C62F423D8469A02E55BF59D, + 435858CCF38F47E9AAE1B08F, ); name = broadcasters; sourceTree = ""; }; + 8529362D0C77348A75BF0E23 = {isa = PBXGroup; children = ( + 6D3F3D0139FAC58B2BAA6047, + 9DC4092F746AB0F5A73D929D, + A587862CF3C96C6C648216A3, + DD73087B002B1DB6B90B666E, + 4F5DED2313FC69EA518E5679, + 1E020B9E032C076071700CEC, ); name = interprocess; sourceTree = ""; }; + 5B2171EA19BD6CA5F51EE315 = {isa = PBXGroup; children = ( EEBBCD11005AE9AD87B36F32, 868955327EBBD0C2C2447DB3, C5C3838D0FDC65F44C9D1A9A, @@ -1487,28 +1484,7 @@ A54AED02A4929ED6EB693CB9, AB856191A15A8C9016D974D5, CD965406DB7511EB187919E7, ); name = messages; sourceTree = ""; }; - F197372050DC8782B9089C8A = {isa = PBXGroup; children = ( - 7A029D97E723C7F1BDDCAA49, - F3A0B8ADF39FA8F15A6D8E23, - B6D9BF4B75784D01B7CDE1AF, - 7F2BBAF79EB32BB9904A76FF, ); name = timers; sourceTree = ""; }; - 59EA583396C9C41EDC94D5F6 = {isa = PBXGroup; children = ( - B32716A0B0702E6861726529, - 2DCAC1795F1B47C592E65D4E, - D7C8F6360C455C0F76E35978, - 59CAB9E5A0CBBC51342FC065, - E70034BF5EF1721B245C3079, - 142D03BC875BD387BD10C51F, - 5C62F423D8469A02E55BF59D, - 435858CCF38F47E9AAE1B08F, ); name = broadcasters; sourceTree = ""; }; - B90F0A1A63C3408C288F6D8C = {isa = PBXGroup; children = ( - 6D3F3D0139FAC58B2BAA6047, - 9DC4092F746AB0F5A73D929D, - A587862CF3C96C6C648216A3, - DD73087B002B1DB6B90B666E, - 4F5DED2313FC69EA518E5679, - 1E020B9E032C076071700CEC, ); name = interprocess; sourceTree = ""; }; - C271DA3D9CE655C433BB4DD3 = {isa = PBXGroup; children = ( + 9A526AB036E0D6BF6ABE16BE = {isa = PBXGroup; children = ( 88CC8BC2EA8CDB378A03FADA, 3C89D04328C83D2FDD4E5116, 89CBCB2D4660B56C1A939011, @@ -1517,13 +1493,17 @@ 93667813A711750790201F8D, AAA3ED492FF78DBBF86DC612, D219A10E7C41110A1AA4FBB9, ); name = native; sourceTree = ""; }; + E712420B9934AE1FB3D7D769 = {isa = PBXGroup; children = ( + 7A029D97E723C7F1BDDCAA49, + F3A0B8ADF39FA8F15A6D8E23, + B6D9BF4B75784D01B7CDE1AF, + 7F2BBAF79EB32BB9904A76FF, ); name = timers; sourceTree = ""; }; 4F8A65DC4E47B7CB0DB88369 = {isa = PBXGroup; children = ( - A9C383106F234D341DE730BA, - F197372050DC8782B9089C8A, - 59EA583396C9C41EDC94D5F6, - B90F0A1A63C3408C288F6D8C, - C271DA3D9CE655C433BB4DD3, - 7C7B6D8D155687966F681F5B, + 6C72C7479EA3F242A5BA33A0, + 8529362D0C77348A75BF0E23, + 5B2171EA19BD6CA5F51EE315, + 9A526AB036E0D6BF6ABE16BE, + E712420B9934AE1FB3D7D769, 63B031ABCF8DE5C94889823B, ); name = "juce_events"; sourceTree = ""; }; BA53DF8ABDA9DAD0F963BC8B = {isa = PBXGroup; children = ( C7D5A8B28D0B7DE58629AA04, @@ -1543,19 +1523,25 @@ 64807B3EFFBDC3348512901E, 123B63088FA1C4D1AD225CDB, 2FDA8843C89E2D7DFBE3FBFD, ); name = contexts; sourceTree = ""; }; - D5CDF20FB8932DEA5810EEE1 = {isa = PBXGroup; children = ( - BE61994F6993AE76CBBF1EAB, - 6911E01E967839199E4C9822, - F994D2E0DF00D0A7765068EF, - 2807A00AE6C4539CD935F56D, - 94FAC7EB87C8EBE67F68AD60, - 9FC1BB191F1EB657A181866D, - 3966D734450E72F5682D2F06, - DE4DC23FAE4C420D489ABD17, ); name = images; sourceTree = ""; }; - 2C9A23E9808933102222B6EB = {isa = PBXGroup; children = ( - 55D04DC4EA2F037CCD5DF9A6, - 244B9B4B8307A8C51207D457, - 4FB8B3386156F5702A20F7D8, ); name = "image_formats"; sourceTree = ""; }; + D8C9E3778A19A33D01667178 = {isa = PBXGroup; children = ( + 1B7AFDD8FCA13757D08B8B3E, + F0E4B5B18AAB82215F5C6AE1, + C296F214D5B65857DC3DA585, + E7488E12D0F3300AE33E0B9E, + 63EE49826BF4CFBD9D546DAC, ); name = effects; sourceTree = ""; }; + 5E39CF9549F3CB3A1194256C = {isa = PBXGroup; children = ( + A010D6D997B85A393165DAB3, + 44443DA5B0FDA2480DFBDFC7, + C6CD42F1DA2F444A59CD4AF0, + 2A771B60F7C360A111F75AC6, + 1A667A0FBCC8FC7EBBD15B20, + 6E0713769EA84EE0471D9811, + C73B4B312C3A4CE4F8E742C2, + 42BC8303198293E30AC0B21A, + 393D0CA8D89217F1F2504768, + F64C6AC0DC0376A80A74A82A, + EBDC0E12D4ED20F5DB90BC26, + A8A277CAF10A3FEB258174C2, ); name = fonts; sourceTree = ""; }; A0E5437DC111A1AAB63CCD16 = {isa = PBXGroup; children = ( CF4DDBE1126E8C8C3A37DC78, 2CFEB3BEABF88B0C41D94E94, @@ -1572,30 +1558,20 @@ A54B5504235B3324635B1DB3, 3AF114AC45249CDA77EF940E, B6BE7EF02190070336E63E89, ); name = geometry; sourceTree = ""; }; - FD44264B8C9437DCF22CE602 = {isa = PBXGroup; children = ( - 610F820C21D914E9794A36EE, - 7BA2EA5655704E5358ABAA9D, - 62EA5E33A940F30BBB56E293, ); name = placement; sourceTree = ""; }; - 5BFD15FEDAA57F0C3DA99850 = {isa = PBXGroup; children = ( - A010D6D997B85A393165DAB3, - 44443DA5B0FDA2480DFBDFC7, - C6CD42F1DA2F444A59CD4AF0, - 2A771B60F7C360A111F75AC6, - 1A667A0FBCC8FC7EBBD15B20, - 6E0713769EA84EE0471D9811, - C73B4B312C3A4CE4F8E742C2, - 42BC8303198293E30AC0B21A, - 393D0CA8D89217F1F2504768, - F64C6AC0DC0376A80A74A82A, - EBDC0E12D4ED20F5DB90BC26, - A8A277CAF10A3FEB258174C2, ); name = fonts; sourceTree = ""; }; - 2925596DB97C0571478FCE48 = {isa = PBXGroup; children = ( - 1B7AFDD8FCA13757D08B8B3E, - F0E4B5B18AAB82215F5C6AE1, - C296F214D5B65857DC3DA585, - E7488E12D0F3300AE33E0B9E, - 63EE49826BF4CFBD9D546DAC, ); name = effects; sourceTree = ""; }; - E62D8A1F0BDD00ABB882F291 = {isa = PBXGroup; children = ( + 79A5219374E6756FF971664D = {isa = PBXGroup; children = ( + 55D04DC4EA2F037CCD5DF9A6, + 244B9B4B8307A8C51207D457, + 4FB8B3386156F5702A20F7D8, ); name = "image_formats"; sourceTree = ""; }; + F40A8E7A89BD0741CD421D14 = {isa = PBXGroup; children = ( + BE61994F6993AE76CBBF1EAB, + 6911E01E967839199E4C9822, + F994D2E0DF00D0A7765068EF, + 2807A00AE6C4539CD935F56D, + 94FAC7EB87C8EBE67F68AD60, + 9FC1BB191F1EB657A181866D, + 3966D734450E72F5682D2F06, + DE4DC23FAE4C420D489ABD17, ); name = images; sourceTree = ""; }; + 8AF78E75B080A1A3AEDC11BC = {isa = PBXGroup; children = ( 9D61877D2691EB78B2ED69EA, E9C249D9F38B0DFAF0823653, 8EA18CA66CABC9B5087DBDD2, @@ -1609,19 +1585,54 @@ C884444C380A4B053DB70D12, F36959B167E88B220CF9D8FE, F2040E4B76F8783B471CECED, ); name = native; sourceTree = ""; }; + B5AAB8015CFAE87E76463E28 = {isa = PBXGroup; children = ( + 610F820C21D914E9794A36EE, + 7BA2EA5655704E5358ABAA9D, + 62EA5E33A940F30BBB56E293, ); name = placement; sourceTree = ""; }; B78A49A94757B1530E3E282B = {isa = PBXGroup; children = ( BA53DF8ABDA9DAD0F963BC8B, 88878CC1561F13CF681027E9, - D5CDF20FB8932DEA5810EEE1, - 2C9A23E9808933102222B6EB, + D8C9E3778A19A33D01667178, + 5E39CF9549F3CB3A1194256C, A0E5437DC111A1AAB63CCD16, - FD44264B8C9437DCF22CE602, - 5BFD15FEDAA57F0C3DA99850, - 2925596DB97C0571478FCE48, - E62D8A1F0BDD00ABB882F291, - 241453DBDECBE0CCD5C096DE, + 79A5219374E6756FF971664D, + F40A8E7A89BD0741CD421D14, + 8AF78E75B080A1A3AEDC11BC, + B5AAB8015CFAE87E76463E28, 7022B01ECEE7000DE6008C0A, ); name = "juce_graphics"; sourceTree = ""; }; - 978A5EA7C209E97691DF1580 = {isa = PBXGroup; children = ( + F3F914B378BE070342BC4E19 = {isa = PBXGroup; children = ( + B189762C440B38635351E0A3, + 47E5FB5735D2EC8B039D2691, ); name = application; sourceTree = ""; }; + 6E8C672055A488EC80EB407D = {isa = PBXGroup; children = ( + 782E3434FEA190A986EAC816, + E6BA3A4991987C4AB55F5948, + 93CC262389F622F8AB79CA60, + 02C14E49091F42750CD72F00, + 35E6F6325AF8463C076BA594, + 92DF4A828DC5CE370E36044C, + 0B7E069D09A7E46448EAE230, + F16734BCF880A8180C06018D, + D0B5B79546163A6DE73D0E2E, + F4A977844BD67D5C2BEFCDDC, + 5AAE605D230E253D4EAC195E, + 4408766B366713F55707B7A8, + 6BE6A3A14057591A3B4EF2C4, + CB4D4DA89BA649D3F1B2A645, + F2DDCDF62D2587FB565A442A, + B88950266CC4244E1B5394F2, + C088D98E527C1DA17B55A9D9, + B70E52FF75D44F0F1F0B31D2, ); name = buttons; sourceTree = ""; }; + A8BDF1FB3C6C3984A61F51B1 = {isa = PBXGroup; children = ( + 4F5D668DCEF2B622FD46073D, + 791ADFB0FFAEE65058B6FC8A, + 0DB1323191C133E48F07C062, + D26821159E190113FEBF99BA, + A0F2EAF085969426AC73C85D, + D4BA573C125944E2773D747F, + 0D265DF78A9FE5E669F76FC3, + 9211B175E63E325D4FF6B789, + 3C825AE2479611DA559164B5, ); name = commands; sourceTree = ""; }; + 002D74DFAC7CD3DFD4223AA7 = {isa = PBXGroup; children = ( 2A59F5E28F97A435592E0B58, 4A31DFDB7AC330488B8BBEA3, FEA645D52C593ECCEA779BAF, @@ -1631,28 +1642,46 @@ 5384C065CDEB3032907ECCAF, 8001506F637B2516AAC5C0D8, 0B7637C0030C06BE612E41E8, ); name = components; sourceTree = ""; }; - 0A15D9E1577644179886B0D6 = {isa = PBXGroup; children = ( - 89F5A5C12916F02E579D6394, - 1D9FABE954892C169D874E35, - A5DEEB6DADAA5AB2CF41A880, - 8102EBF90140E78193692AEB, - CC8F24C4E5FC5C12AA30F6CF, - 36A0FF58D355147F40981C39, - 38404F97E5118017DFDCDEC4, - 5A5749D0A878955C964DD2C5, - B3261106892038D4F954E6F9, - 833CD270A139A70FF4E60D35, - F38F8132499ADBD3344E8449, - 61473E0A6AF9B900406695B8, - 8DE969191661B557B4222D50, - 19E9997C0FE3E36156141D64, - 57A0BF533D7A7B57321A8174, - 2819AE973B501D15AAB8C937, - C8A5AD5503F33596C4147ACB, - 72696E2F6E8EB43A8E604390, - ABA2E1FE9912D5C28F177E56, - 8B539DB72CC92EEC7F96C8E6, ); name = mouse; sourceTree = ""; }; - FE8E15A77FCDCB00FBF381DC = {isa = PBXGroup; children = ( + 7A2AC3DF7ED7BF002216E665 = {isa = PBXGroup; children = ( + CEC05A60A0E19B07F6A3CE6B, + 5BBC57B395B553CE08AC4BD7, + 94BFC3162953A5E7E192276A, + 2168310E25BD55C9A46499C6, + 92BB22C929A3A76CE6F29C7A, + CE4F0A27AAADFD53316A17BC, + D00157FA3D14BFECB7FE7232, + FD5E948C1A89B11770A20704, + B54A14A497368A580B7D9AEB, + 16ECB71D0D2C5C8BEFF4B4C6, + 8BE44C96A60C5D9B9F503409, + 6E9C1F4D69A9C99433DC67C6, + EE577E6ABD70D104CD83186C, + F0D54DDE8C2AD1D018A61FDB, + C21701DD3A4A2628C63CB70A, ); name = drawables; sourceTree = ""; }; + E430567984978C23136C9EB8 = {isa = PBXGroup; children = ( + D7E612935BA192BF5D24B9A3, + F382E14FAFF5CDEBFEA81B00, + 98C77B9D95141EBC60E6AE67, + F3154C77D5DFCE8D71084F23, + 27A9B065352AE36635780373, + B57640F7EDADCFE17719EE68, + D8256B8AA794F43A2259638A, + 0D35F0A502484A40B09F3EBF, + C52E8074125FEED4DB727EDF, + 90BE189372A13866896CE817, + 4ABF36D87D2BBEDA4DE28A4E, + 1FD6FD7218AB240D23DF4BAD, + 2D8FC1F116F882698F5CFEB9, + C51A754A0E65CA141A2C3310, + C551CC8801B93AC70F6E4F76, + 830ADB6740EF70992E71895F, + 3BF23F0B71FB8E526E895905, + FD05E73E3F022E08D70B9569, + 27DC413550834C828252B003, + BC1DBF05964D3B9130CD8CB6, + C3DEEC17595B1AB020ADA47F, + 67771057800F9416E9777625, ); name = filebrowser; sourceTree = ""; }; + 6436AA3E0ADF60193371CE2E = {isa = PBXGroup; children = ( 46D8BC7303C892ED3F90E4DA, 29710D5E6C3372E4480BF746, 38D15A30D4658272F910A7AB, @@ -1666,62 +1695,7 @@ 74B477DE4CFC95E20DBB0D91, B0626D2C611D9E3DF1408BEA, 90FEA7DB5EFC4E9B2E933056, ); name = keyboard; sourceTree = ""; }; - 5D48FC8B43CBDC08DB9531D9 = {isa = PBXGroup; children = ( - 0C9B04C3B7D8E1CE4FAC6FF6, - 5383E87DC6DC1D251C271A50, - EA779F8A580E3D22A7CBD51E, - E958ECCACCCE70690FAE58B9, - 5D4A62D4893C16D7B17C6A43, - 0F16DEEC2C4B95E3A9F28CE5, - 32A667DB98BC4EB30C51F20B, - 60D8280577C14A7D3F67563D, - A95D718F031CB8883DFDE915, - 7D8D285B8414388FDB083AFF, - 23724FEF549E05851817B4BB, - 65DF385E92A4A65760DC3BD0, - 3D16FF3C64D4248C0C6FF504, - 27676EBA6012198993C2CBA0, - 68743DE3AA833D6F02F754D7, - 9F70142818A7806830EEBD7C, - 44FC8BD37CFE8C0D851C46F9, - 842433A42308565BF3C1542A, - 74AB51B6E97964B27B1CD019, - 7BC8F7015F35BAFF4AEDA0E6, - E5B84D5F7CF2B74715EEF3B3, - 66CEE40E51335F661B5C5C66, - 260A5BDC20C7B4029DB418E4, - 44C6568EC00F1682FBCD3B69, - F26953C1E056357A3DFDF35C, - A826C1C083678A4E9279C118, - 6DE6751E6A4F0DDE9C7F24B3, ); name = widgets; sourceTree = ""; }; - F4827EC22DDE876BA01A1012 = {isa = PBXGroup; children = ( - 8314FE695F91DA2FAB51920E, - DC6461EF11D5745DF8C00E16, - 464424DDD6A6678B94CE667F, - 2B9BAEF9C46C224088F5BB25, - 4BAF7C54867DA3C275C2F59D, - 6A8AC5E55EE51EE0476D852F, - FDA36D1F836D00DE705CD06F, - FF1F4F1262BB429E80492B13, - BF40FF2E0FA609212C849FBC, - 766EE2CCD4E86729C6CE8112, - 8E95A3B7C194244B92D5D65A, - D5C10F9CC5ADFC1B63AD1DB9, - 166BDAF3B9896BCB3771A061, - 0346DBE09BEC27EA93676FEB, - E9A4C91E94B6D096BD8217D7, - 8683CDE5FD2DFCB2CFC8F410, - EA13B2FC256C7BCF0900369E, - 27240E9968C04288887BFDC7, - 25869F2A5B90C64E857606D8, ); name = windows; sourceTree = ""; }; - EC71C6DC0803DBC6F5B71C8B = {isa = PBXGroup; children = ( - C9A25E2EF32224159B617D5E, - 0054E026B84A3A87020CCE48, - DA98B32DCA0DEF0113C22F9A, - 500F7CB9F45B62E46F4BBA57, - 595A9929C0E873C30AC9AA87, - 439FC260CD869E30210D98BF, ); name = menus; sourceTree = ""; }; - E30E1398A3CACDD90FC9C219 = {isa = PBXGroup; children = ( + 4C2716CC50A182F2A17A9E08 = {isa = PBXGroup; children = ( F4F618373A81FDC73AB27A91, 799472026100D7BAE015F6A6, 34A6FFC298D12BF9E4D55AA1, @@ -1758,72 +1732,7 @@ 4658E12862C546A62E05E4D3, D886106C60A496E47C48AFB4, 374277A96D9830E45684FDD8, ); name = layout; sourceTree = ""; }; - 3826467DFB859364DD1392F0 = {isa = PBXGroup; children = ( - 782E3434FEA190A986EAC816, - E6BA3A4991987C4AB55F5948, - 93CC262389F622F8AB79CA60, - 02C14E49091F42750CD72F00, - 35E6F6325AF8463C076BA594, - 92DF4A828DC5CE370E36044C, - 0B7E069D09A7E46448EAE230, - F16734BCF880A8180C06018D, - D0B5B79546163A6DE73D0E2E, - F4A977844BD67D5C2BEFCDDC, - 5AAE605D230E253D4EAC195E, - 4408766B366713F55707B7A8, - 6BE6A3A14057591A3B4EF2C4, - CB4D4DA89BA649D3F1B2A645, - F2DDCDF62D2587FB565A442A, - B88950266CC4244E1B5394F2, - C088D98E527C1DA17B55A9D9, - B70E52FF75D44F0F1F0B31D2, ); name = buttons; sourceTree = ""; }; - B2943EF1FA5DBD81A406374F = {isa = PBXGroup; children = ( - D5EC3B41088855C3D481A73E, - CD3A68C29B7A733E5954BDA3, - 76F1A69F15F53D17C632A644, - 14AB997C7EB22777C1EF533C, - 51026A3BE98FD70FD916CF45, - D3C1097E92146B596194A067, - B316291E570F37785C40FE88, - FA2DB83279928FFB76A4BC6E, - 4E3C26EE8C6F996F207F0C32, - 1DE0CF80B807A4A702DC68BD, - 21D31B64BAD35C6C8E8E8FC0, - 29215FCE04DC4D267FF25E6C, - 412D5D6AA4018C8DF59AB741, - 807E7971CB75C806D7DB5DF2, ); name = positioning; sourceTree = ""; }; - B2AAEBDCA5147C75A44D4791 = {isa = PBXGroup; children = ( - CEC05A60A0E19B07F6A3CE6B, - 5BBC57B395B553CE08AC4BD7, - 94BFC3162953A5E7E192276A, - 2168310E25BD55C9A46499C6, - 92BB22C929A3A76CE6F29C7A, - CE4F0A27AAADFD53316A17BC, - D00157FA3D14BFECB7FE7232, - FD5E948C1A89B11770A20704, - B54A14A497368A580B7D9AEB, - 16ECB71D0D2C5C8BEFF4B4C6, - 8BE44C96A60C5D9B9F503409, - 6E9C1F4D69A9C99433DC67C6, - EE577E6ABD70D104CD83186C, - F0D54DDE8C2AD1D018A61FDB, - C21701DD3A4A2628C63CB70A, ); name = drawables; sourceTree = ""; }; - 0EADBF64826A3D243FB6E1DD = {isa = PBXGroup; children = ( - F20F182CBEF008AA1B1BB52A, - 0C61EC70BD4EA59AEEBB6669, - A1A621FDC626245B1B3C1C4D, - 9424FDB8C564B73250B7B20A, - 0ECA7867513EFA30BEA0BE78, - 4F2D3BD9697AAFA060EAAA59, - 20E10FBD8694E185CA551EDE, - 109C128BB4A7A05127A0C485, - 6B103C0FB5E6E3618ECD3B48, - EF8B8FB4B02133457562E1F4, - 7FC89C1EEB42DE3C9628591C, - FB3BE7E3D0A04791487E9E0C, - 1A788BE93E528FDAA62EA02B, - DAC4442F8C2F142270E92349, ); name = properties; sourceTree = ""; }; - 1E19112B929FF59057A4B030 = {isa = PBXGroup; children = ( + D5A000FD67F2096CB3496C58 = {isa = PBXGroup; children = ( 0700C7069E1CF3FF8966C0E3, 4CF92825BE7B97AC268C2AA5, 56985D9599D0D1D00B42F95B, @@ -1832,48 +1741,40 @@ 31AE430D2372CF6283185033, B3FBDBEBC38720E957C15BE9, 69449AB58A9C0AB552F754F4, ); name = lookandfeel; sourceTree = ""; }; - 1206D5C335340736A3A574B9 = {isa = PBXGroup; children = ( - D7E612935BA192BF5D24B9A3, - F382E14FAFF5CDEBFEA81B00, - 98C77B9D95141EBC60E6AE67, - F3154C77D5DFCE8D71084F23, - 27A9B065352AE36635780373, - B57640F7EDADCFE17719EE68, - D8256B8AA794F43A2259638A, - 0D35F0A502484A40B09F3EBF, - C52E8074125FEED4DB727EDF, - 90BE189372A13866896CE817, - 4ABF36D87D2BBEDA4DE28A4E, - 1FD6FD7218AB240D23DF4BAD, - 2D8FC1F116F882698F5CFEB9, - C51A754A0E65CA141A2C3310, - C551CC8801B93AC70F6E4F76, - 830ADB6740EF70992E71895F, - 3BF23F0B71FB8E526E895905, - FD05E73E3F022E08D70B9569, - 27DC413550834C828252B003, - BC1DBF05964D3B9130CD8CB6, - C3DEEC17595B1AB020ADA47F, - 67771057800F9416E9777625, ); name = filebrowser; sourceTree = ""; }; - 53440A90525AC832090A35F2 = {isa = PBXGroup; children = ( - 4F5D668DCEF2B622FD46073D, - 791ADFB0FFAEE65058B6FC8A, - 0DB1323191C133E48F07C062, - D26821159E190113FEBF99BA, - A0F2EAF085969426AC73C85D, - D4BA573C125944E2773D747F, - 0D265DF78A9FE5E669F76FC3, - 9211B175E63E325D4FF6B789, - 3C825AE2479611DA559164B5, ); name = commands; sourceTree = ""; }; - 815FFA61CB68244C4BFA9A78 = {isa = PBXGroup; children = ( + 108FC35010457F8E1988F87B = {isa = PBXGroup; children = ( + C9A25E2EF32224159B617D5E, + 0054E026B84A3A87020CCE48, + DA98B32DCA0DEF0113C22F9A, + 500F7CB9F45B62E46F4BBA57, + 595A9929C0E873C30AC9AA87, + 439FC260CD869E30210D98BF, ); name = menus; sourceTree = ""; }; + 0579A19D6E12C48842045E07 = {isa = PBXGroup; children = ( E6D8902FFF0C8CDBB3E4BEA3, F0B46A9181B1707349A20399, FAB998A70437EE4D89CABE2F, 96E4B48CF055ED116E5CB3AB, ); name = misc; sourceTree = ""; }; - 8B10235D6698BCD336ECB195 = {isa = PBXGroup; children = ( - B189762C440B38635351E0A3, - 47E5FB5735D2EC8B039D2691, ); name = application; sourceTree = ""; }; - 3900F1137E25F9A2DEDF4119 = {isa = PBXGroup; children = ( + 7FF4DF540742C1E718D1F469 = {isa = PBXGroup; children = ( + 89F5A5C12916F02E579D6394, + 1D9FABE954892C169D874E35, + A5DEEB6DADAA5AB2CF41A880, + 8102EBF90140E78193692AEB, + CC8F24C4E5FC5C12AA30F6CF, + 36A0FF58D355147F40981C39, + 38404F97E5118017DFDCDEC4, + 5A5749D0A878955C964DD2C5, + B3261106892038D4F954E6F9, + 833CD270A139A70FF4E60D35, + F38F8132499ADBD3344E8449, + 61473E0A6AF9B900406695B8, + 8DE969191661B557B4222D50, + 19E9997C0FE3E36156141D64, + 57A0BF533D7A7B57321A8174, + 2819AE973B501D15AAB8C937, + C8A5AD5503F33596C4147ACB, + 72696E2F6E8EB43A8E604390, + ABA2E1FE9912D5C28F177E56, + 8B539DB72CC92EEC7F96C8E6, ); name = mouse; sourceTree = ""; }; + 8D32104A13F2A95938ABCC1C = {isa = PBXGroup; children = ( 61E1C2246CBD45C5A1F40102, 8866CF798E9F84C49B9D7DCC, E1868998BA7B20DF7ED0B5E1, @@ -1890,25 +1791,102 @@ 562E99EE1A4B733B7F751955, 90841E3B0B2548A5BD66F15E, F95533D725E548643CA584D7, ); name = native; sourceTree = ""; }; + 46739B12FAE8D2D2040ACFD1 = {isa = PBXGroup; children = ( + D5EC3B41088855C3D481A73E, + CD3A68C29B7A733E5954BDA3, + 76F1A69F15F53D17C632A644, + 14AB997C7EB22777C1EF533C, + 51026A3BE98FD70FD916CF45, + D3C1097E92146B596194A067, + B316291E570F37785C40FE88, + FA2DB83279928FFB76A4BC6E, + 4E3C26EE8C6F996F207F0C32, + 1DE0CF80B807A4A702DC68BD, + 21D31B64BAD35C6C8E8E8FC0, + 29215FCE04DC4D267FF25E6C, + 412D5D6AA4018C8DF59AB741, + 807E7971CB75C806D7DB5DF2, ); name = positioning; sourceTree = ""; }; + 61D32B34996FF01EA0714CCD = {isa = PBXGroup; children = ( + F20F182CBEF008AA1B1BB52A, + 0C61EC70BD4EA59AEEBB6669, + A1A621FDC626245B1B3C1C4D, + 9424FDB8C564B73250B7B20A, + 0ECA7867513EFA30BEA0BE78, + 4F2D3BD9697AAFA060EAAA59, + 20E10FBD8694E185CA551EDE, + 109C128BB4A7A05127A0C485, + 6B103C0FB5E6E3618ECD3B48, + EF8B8FB4B02133457562E1F4, + 7FC89C1EEB42DE3C9628591C, + FB3BE7E3D0A04791487E9E0C, + 1A788BE93E528FDAA62EA02B, + DAC4442F8C2F142270E92349, ); name = properties; sourceTree = ""; }; + 3861FCBE4237CD3AE8EB7418 = {isa = PBXGroup; children = ( + 0C9B04C3B7D8E1CE4FAC6FF6, + 5383E87DC6DC1D251C271A50, + EA779F8A580E3D22A7CBD51E, + E958ECCACCCE70690FAE58B9, + 5D4A62D4893C16D7B17C6A43, + 0F16DEEC2C4B95E3A9F28CE5, + 32A667DB98BC4EB30C51F20B, + 60D8280577C14A7D3F67563D, + A95D718F031CB8883DFDE915, + 7D8D285B8414388FDB083AFF, + 23724FEF549E05851817B4BB, + 65DF385E92A4A65760DC3BD0, + 3D16FF3C64D4248C0C6FF504, + 27676EBA6012198993C2CBA0, + 68743DE3AA833D6F02F754D7, + 9F70142818A7806830EEBD7C, + 44FC8BD37CFE8C0D851C46F9, + 842433A42308565BF3C1542A, + 74AB51B6E97964B27B1CD019, + 7BC8F7015F35BAFF4AEDA0E6, + E5B84D5F7CF2B74715EEF3B3, + 66CEE40E51335F661B5C5C66, + 260A5BDC20C7B4029DB418E4, + 44C6568EC00F1682FBCD3B69, + F26953C1E056357A3DFDF35C, + A826C1C083678A4E9279C118, + 6DE6751E6A4F0DDE9C7F24B3, ); name = widgets; sourceTree = ""; }; + 9686865DA3BD68964F43A435 = {isa = PBXGroup; children = ( + 8314FE695F91DA2FAB51920E, + DC6461EF11D5745DF8C00E16, + 464424DDD6A6678B94CE667F, + 2B9BAEF9C46C224088F5BB25, + 4BAF7C54867DA3C275C2F59D, + 6A8AC5E55EE51EE0476D852F, + FDA36D1F836D00DE705CD06F, + FF1F4F1262BB429E80492B13, + BF40FF2E0FA609212C849FBC, + 766EE2CCD4E86729C6CE8112, + 8E95A3B7C194244B92D5D65A, + D5C10F9CC5ADFC1B63AD1DB9, + 166BDAF3B9896BCB3771A061, + 0346DBE09BEC27EA93676FEB, + E9A4C91E94B6D096BD8217D7, + 8683CDE5FD2DFCB2CFC8F410, + EA13B2FC256C7BCF0900369E, + 27240E9968C04288887BFDC7, + 25869F2A5B90C64E857606D8, ); name = windows; sourceTree = ""; }; 9A76685D3735D1F1DB8E4DB3 = {isa = PBXGroup; children = ( - 978A5EA7C209E97691DF1580, - 0A15D9E1577644179886B0D6, - FE8E15A77FCDCB00FBF381DC, - 5D48FC8B43CBDC08DB9531D9, - F4827EC22DDE876BA01A1012, - EC71C6DC0803DBC6F5B71C8B, - E30E1398A3CACDD90FC9C219, - 3826467DFB859364DD1392F0, - B2943EF1FA5DBD81A406374F, - B2AAEBDCA5147C75A44D4791, - 0EADBF64826A3D243FB6E1DD, - 1E19112B929FF59057A4B030, - 1206D5C335340736A3A574B9, - 53440A90525AC832090A35F2, - 815FFA61CB68244C4BFA9A78, - 8B10235D6698BCD336ECB195, - 3900F1137E25F9A2DEDF4119, - 0E8D536FEBD11AEA3C90B5A8, + F3F914B378BE070342BC4E19, + 6E8C672055A488EC80EB407D, + A8BDF1FB3C6C3984A61F51B1, + 002D74DFAC7CD3DFD4223AA7, + 7A2AC3DF7ED7BF002216E665, + E430567984978C23136C9EB8, + 6436AA3E0ADF60193371CE2E, + 4C2716CC50A182F2A17A9E08, + D5A000FD67F2096CB3496C58, + 108FC35010457F8E1988F87B, + 0579A19D6E12C48842045E07, + 7FF4DF540742C1E718D1F469, + 8D32104A13F2A95938ABCC1C, + 46739B12FAE8D2D2040ACFD1, + 61D32B34996FF01EA0714CCD, + 3861FCBE4237CD3AE8EB7418, + 9686865DA3BD68964F43A435, D104C8636576DFE8A2D11430, ); name = "juce_gui_basics"; sourceTree = ""; }; 45216CE44016DA606FE98125 = {isa = PBXGroup; children = ( A7B28AD8606992FBE04C527C, @@ -1970,9 +1948,21 @@ 5BF35BC9897465D83C81C086, 2E8513968E4CDE8852D85EFA, 626453A346165A7A0C138828, - D57735149DD4975283A0C754, 37381332DDDE8F2B3C66CBDE, ); name = "juce_gui_extra"; sourceTree = ""; }; - A33BC9FA8A99B01DC485E60D = {isa = PBXGroup; children = ( + 340948834A1BFAA214D45C6D = {isa = PBXGroup; children = ( + 5B5180DAAB935CB6D1DE9AA6, + 2C246301EE0EC4A9B4058F01, + DC94270BB4A70056907C3CDD, + 75D038033B2083D5EFE620A8, ); name = geometry; sourceTree = ""; }; + 602D8125D43350E1F160E440 = {isa = PBXGroup; children = ( + 11D8AE26FA8880E7E8F3B4EB, + 518E9E553CD9F7D215B75B88, + EC9898734E8AFE5215705476, + 9DC79DF0A43DA6B06B7B1F44, + CF4E3CDCC9837C7E52197686, + 495EAFDB9DE4E8E7DBA562D4, + 877ED7656241F46291022910, ); name = native; sourceTree = ""; }; + 3BDAD3F8CFBFF524A098B150 = {isa = PBXGroup; children = ( A09CB6FA9736BD45103AFF46, CDFAC8C57A364EEE32CE125E, 166C141D440846E85F91747E, @@ -1990,47 +1980,32 @@ 08C7B33308A32555A7CA21B5, 5C0E42BCF4ED32E1381E7A23, 9CC0E3267A9D1EF3C8E37601, ); name = opengl; sourceTree = ""; }; - 07ADD7BA5A96F719EDBCA037 = {isa = PBXGroup; children = ( - 5B5180DAAB935CB6D1DE9AA6, - 2C246301EE0EC4A9B4058F01, - DC94270BB4A70056907C3CDD, - 75D038033B2083D5EFE620A8, ); name = geometry; sourceTree = ""; }; - 03621233E269E436B447C841 = {isa = PBXGroup; children = ( + 2D8E3CBFBCE94F83A9D9C810 = {isa = PBXGroup; children = ( 44ADFB25768FA3BF27762EBF, A058E50779879A7D9A813A4C, ); name = utils; sourceTree = ""; }; - FC95F4C8E60C31B039992722 = {isa = PBXGroup; children = ( - 11D8AE26FA8880E7E8F3B4EB, - 518E9E553CD9F7D215B75B88, - EC9898734E8AFE5215705476, - 9DC79DF0A43DA6B06B7B1F44, - CF4E3CDCC9837C7E52197686, - 495EAFDB9DE4E8E7DBA562D4, - 877ED7656241F46291022910, ); name = native; sourceTree = ""; }; 0707779F272B825E3DF1560B = {isa = PBXGroup; children = ( - A33BC9FA8A99B01DC485E60D, - 07ADD7BA5A96F719EDBCA037, - 03621233E269E436B447C841, - FC95F4C8E60C31B039992722, - 8D3FB0417A39CAEC03D44D73, + 340948834A1BFAA214D45C6D, + 602D8125D43350E1F160E440, + 3BDAD3F8CFBFF524A098B150, + 2D8E3CBFBCE94F83A9D9C810, 4F96BFF5D1D40B81C861F92F, ); name = "juce_opengl"; sourceTree = ""; }; - 62479F93E90EEE65EEC01FDA = {isa = PBXGroup; children = ( - B83DDFEEA66888E9616BCE82, - F113DFEACAF2D8230F0DF5E7, ); name = playback; sourceTree = ""; }; - 616C504727E4806B3BB3980F = {isa = PBXGroup; children = ( + 4B719AF01FFBE4CA2FD14F9F = {isa = PBXGroup; children = ( DD03B6CE6F750A9CECA7EDEA, 611A0824757D50610BB03562, ); name = capture; sourceTree = ""; }; - E545E915D753CB44657CFE99 = {isa = PBXGroup; children = ( + 8493C7022F377FEC07CFF040 = {isa = PBXGroup; children = ( 87E61959D8EA529461A0D257, E0FCA8F19A081CE941B273FA, 11ACB77A3D91503A3DF673C8, ACAC59A1C54DC52E8E2438CC, A281FFA1C7E3AFB8246FD577, 71881F8A6973AACD78ABA719, ); name = native; sourceTree = ""; }; + 802AB2803D9F6242DC1B0A16 = {isa = PBXGroup; children = ( + B83DDFEEA66888E9616BCE82, + F113DFEACAF2D8230F0DF5E7, ); name = playback; sourceTree = ""; }; 397907CF13C78C70801F14D4 = {isa = PBXGroup; children = ( - 62479F93E90EEE65EEC01FDA, - 616C504727E4806B3BB3980F, - E545E915D753CB44657CFE99, - 254D157C0CCE3C7EA022F4CE, + 4B719AF01FFBE4CA2FD14F9F, + 8493C7022F377FEC07CFF040, + 802AB2803D9F6242DC1B0A16, 693B6DC20214C1ED9C1E89F7, ); name = "juce_video"; sourceTree = ""; }; 7E2ABB7F81888EB9DF84E4C1 = {isa = PBXGroup; children = ( AF12826F0B38E7FC1176C648, @@ -2048,22 +2023,22 @@ 397907CF13C78C70801F14D4, ); name = "Juce Modules"; sourceTree = ""; }; 5B8C542DD6E060115171CF66 = {isa = PBXGroup; children = ( A67C5701B28E64F889A92422, - C1070E62B763F1CCE0BB18F0, - DD19124F0A7FD43F31BDEB87, - 987AD2821B6419D5FEDCBD7A, - AD405DDE86D07F955E27EBF8, - B7DD84C8B05ABA4A6915E77E, - 33E449DEA1FC0CD4CAA3A829, - 14BB261A450674034E6080F2, - CC0B7738BD544B955D81BF1E, - 4B27A11ADAC0D9957BBBCD3E, - 27B720A5E8CF81ABF9E50848, - D8BAA82AC820CEF315BD9DCB, - 21CF5364CD4910E49D19F8E2, - 6018A3A37F34AE52B39A14D5, + 05CF05C4A0B41E4E3B505016, + DC5C7E82429CF94928EC055A, + 7B08326361CAD0A8C35218C0, + DCCC723F8E6D3F6445318CB4, + 73A1A4EC47BB161DAF61D31C, + 2AF1C1B6A582BD96CCE01452, + EAE15C1AC2F25A7EB7A2F2C4, + FF283714432D1C916EC19072, + 56FB775B9F539EA13D18C32C, + 71710A47E019BA95D2DB86FF, + 42CDCB2F2DB39A7822A8ED11, + 222D7B201FE37D4B96BF571E, + DC6550969FBDB187169D124B, 274569E245BFB279247B4ECC, ); name = "Juce Library Code"; sourceTree = ""; }; 9AF618BFAFEABB193C0E7D1A = {isa = PBXGroup; children = ( - FF3D4768BC96B79F49B10894, + 98474FB10BB003823EEC8759, 7E8B563CE147A7C733E6EFB1, ); name = Resources; sourceTree = ""; }; 31F4A77234EA04C6F3F431E7 = {isa = PBXGroup; children = ( 859E13C66F2193112084D1B9, @@ -2080,7 +2055,7 @@ 3EF6F363BA4F6B10207C0E23, 15D92586D187B0D8758C6F18, ); name = Frameworks; sourceTree = ""; }; 7CA50BE1660DF7427A2CAFE2 = {isa = PBXGroup; children = ( - A748C987924800FDBA2E2184, ); name = Products; sourceTree = ""; }; + CBF69B3CBCD089CD7DC8343C, ); name = Products; sourceTree = ""; }; E2839CF91E2C633A933666F4 = {isa = PBXGroup; children = ( C69760E59D600CF000D468E8, 7E2ABB7F81888EB9DF84E4C1, @@ -2088,7 +2063,7 @@ 9AF618BFAFEABB193C0E7D1A, 31F4A77234EA04C6F3F431E7, 7CA50BE1660DF7427A2CAFE2, ); name = Source; sourceTree = ""; }; - 275286E869A1C88FFD2E3A50 = {isa = XCBuildConfiguration; buildSettings = { + E6AD24AAB15D880592BFDD57 = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; @@ -2104,12 +2079,12 @@ "JUCE_APP_VERSION_HEX=0x10000", ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.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 = { + 58ED5763719C81C95B744A5B = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; @@ -2126,7 +2101,7 @@ GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.plist; INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.AnimationAppExample; @@ -2163,31 +2138,32 @@ PRODUCT_NAME = "AnimationAppExample"; WARNING_CFLAGS = -Wreorder; ZERO_LINK = NO; }; name = Release; }; + 151F69657264CD949EEB77A9 = {isa = PBXTargetDependency; target = 80F5D4DB72CAE33FF7BE0E28; }; 576D6DACFB71E339D0AD373A = {isa = XCConfigurationList; buildConfigurations = ( 8FB477F7B77D68FD93DC1D16, 7977431F7194644B49C15E21, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 4A8B3F76828634749BBFC686 = {isa = XCConfigurationList; buildConfigurations = ( - 275286E869A1C88FFD2E3A50, - F361F998F590FCC72F2DE949, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 11FD561488F1EFCE578F9225 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + CA4D2206213720EC7DE41E1A = {isa = XCConfigurationList; buildConfigurations = ( + E6AD24AAB15D880592BFDD57, + 58ED5763719C81C95B744A5B, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 6DD59723DA58F112C3C6F427 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( 6B6DC7D7A606A7D832929888, ); runOnlyForDeploymentPostprocessing = 0; }; - BD6EB403A891DBC353F7D06C = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 2CCE82C7290D2D226DD34C0B = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 328BFAEA24EDCBF7B69F4960, 84E6553798838003062A7791, - 9B303E67BC0058053878030C, - ACA92239BEB4C05C418642E2, - 1EFD155B1968AEC88851F831, - 0C7388B5872921063FF273B8, - 9EE1754A8E5230FA1C50713F, - 1852E56533842FDFBE9A6EE3, - CB79C1D77F4FBF0C64B69E1D, - 5E9EFF0130B8CBBEAA0D321B, - EF8AB3F393E946FE4A21AA17, - B70DDF51EDD940F5EF96B96D, - E28816D62DAA38A2794ED6D2, - A911433D03B3314558DB8850, - 590ABC7E64B05F4814FA919E, ); runOnlyForDeploymentPostprocessing = 0; }; - F38385A81FAC837FA1743686 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + E09031EF64FB032EC2F1AB9E, + 1A1655F70589F62EC500776A, + F3DF870E97A695B88F07E2ED, + 802E52893A13DF94D2452203, + A0D9E078F9FDA8474A231E23, + BCE821392C314CE44C96ECFF, + B9BFADFF0ECB778690FDF59C, + 4E411795F0E724FD92C98030, + 3E1ADD84FBF4F072F0B53EA5, + 2C000BF550222EC17FA5EA12, + 4EBEDE852357A716C1A58D32, + 17598D74EBFD5692223DAA36, + 727C6C11ADFD9FB9FABAD8AE, ); runOnlyForDeploymentPostprocessing = 0; }; + 4516F5A575174EF76FEAD8B3 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( E3498B080326636A372B74AE, 828D4B32ECB7ECE234A5A1A9, 97CBB80DA6775AEF4872168B, @@ -2201,11 +2177,11 @@ CA82C00B49701B9ECEB91AE1, E20A03BD895CA5A0D7913F4E, 73C67130F15814333F4D613B, ); runOnlyForDeploymentPostprocessing = 0; }; - C5FEE75C4BFEF0A6EE96FF81 = {isa = PBXNativeTarget; buildConfigurationList = 4A8B3F76828634749BBFC686; buildPhases = ( - 11FD561488F1EFCE578F9225, - BD6EB403A891DBC353F7D06C, - F38385A81FAC837FA1743686, ); buildRules = ( ); dependencies = ( ); name = AnimationAppExample; productName = AnimationAppExample; productReference = A748C987924800FDBA2E2184; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; - AEF97977FF56185DB5E0C493 = {isa = PBXProject; buildConfigurationList = 576D6DACFB71E339D0AD373A; attributes = { LastUpgradeCheck = 0440; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = E2839CF91E2C633A933666F4; projectDirPath = ""; projectRoot = ""; targets = ( C5FEE75C4BFEF0A6EE96FF81 ); }; + 80F5D4DB72CAE33FF7BE0E28 = {isa = PBXNativeTarget; buildConfigurationList = CA4D2206213720EC7DE41E1A; buildPhases = ( + 6DD59723DA58F112C3C6F427, + 2CCE82C7290D2D226DD34C0B, + 4516F5A575174EF76FEAD8B3, ); buildRules = ( ); dependencies = ( ); name = "AnimationAppExample (App)"; productName = AnimationAppExample; productReference = CBF69B3CBCD089CD7DC8343C; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; + AEF97977FF56185DB5E0C493 = {isa = PBXProject; buildConfigurationList = 576D6DACFB71E339D0AD373A; attributes = { LastUpgradeCheck = 0440; TargetAttributes = { 80F5D4DB72CAE33FF7BE0E28 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = E2839CF91E2C633A933666F4; projectDirPath = ""; projectRoot = ""; targets = (80F5D4DB72CAE33FF7BE0E28); }; }; rootObject = AEF97977FF56185DB5E0C493; } diff --git a/examples/AnimationAppExample/Builds/MacOSX/Info.plist b/examples/AnimationAppExample/Builds/MacOSX/Info-App.plist similarity index 88% rename from examples/AnimationAppExample/Builds/MacOSX/Info.plist rename to examples/AnimationAppExample/Builds/MacOSX/Info-App.plist index 634843891b..93255082dc 100644 --- a/examples/AnimationAppExample/Builds/MacOSX/Info.plist +++ b/examples/AnimationAppExample/Builds/MacOSX/Info-App.plist @@ -11,6 +11,8 @@ $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName AnimationAppExample + CFBundleDisplayName + AnimationAppExample CFBundlePackageType APPL CFBundleSignature diff --git a/examples/AnimationAppExample/Builds/VisualStudio2010/AnimationAppExample.vcxproj b/examples/AnimationAppExample/Builds/VisualStudio2010/AnimationAppExample.vcxproj index 5416235f49..300aec03b5 100644 --- a/examples/AnimationAppExample/Builds/VisualStudio2010/AnimationAppExample.vcxproj +++ b/examples/AnimationAppExample/Builds/VisualStudio2010/AnimationAppExample.vcxproj @@ -212,6 +212,9 @@ true + + true + true @@ -227,15 +230,6 @@ true - - true - - - true - - - true - true @@ -284,25 +278,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -332,9 +311,45 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + true + + true + + + true + + + true + + + true + + + true + true @@ -353,21 +368,6 @@ true - - true - - - true - - - true - - - true - - - true - true @@ -383,45 +383,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -437,33 +398,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -488,40 +422,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -530,31 +434,16 @@ true - + true - + true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -620,6 +509,117 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -638,6 +638,15 @@ true + + true + + + true + + + true + true @@ -647,33 +656,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -692,6 +674,18 @@ true + + true + + + true + + + true + + + true + true @@ -701,6 +695,12 @@ true + + true + + + true + true @@ -722,43 +722,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -779,10 +746,40 @@ true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -809,6 +806,51 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -821,6 +863,153 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -842,19 +1031,70 @@ true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -923,246 +1163,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -1271,19 +1271,19 @@ true - - - - - - - - - - - - - + + + + + + + + + + + + + @@ -1322,6 +1322,8 @@ + + @@ -1329,20 +1331,10 @@ + - - - - - - - - - - - @@ -1352,8 +1344,25 @@ + + + + + + + + + + + + + + + + + @@ -1364,15 +1373,6 @@ - - - - - - - - - @@ -1383,21 +1383,35 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1418,22 +1432,49 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1453,53 +1494,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - @@ -1508,14 +1508,22 @@ + + + + - - - - + + + + + + + + @@ -1525,19 +1533,11 @@ - - - - - - - - - - + + @@ -1548,10 +1548,15 @@ - - - - + + + + + + + + + @@ -1562,26 +1567,91 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1595,14 +1665,21 @@ - - - - - - - - + + + + + + + + + + + + + + + @@ -1627,83 +1704,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1729,6 +1729,17 @@ + + + + + + + + + + + @@ -1738,41 +1749,15 @@ - - - - - - - - - - - + - - - - - - - - - - - - - - - - diff --git a/examples/AnimationAppExample/Builds/VisualStudio2010/AnimationAppExample.vcxproj.filters b/examples/AnimationAppExample/Builds/VisualStudio2010/AnimationAppExample.vcxproj.filters index c1fb87e898..dce0a95179 100644 --- a/examples/AnimationAppExample/Builds/VisualStudio2010/AnimationAppExample.vcxproj.filters +++ b/examples/AnimationAppExample/Builds/VisualStudio2010/AnimationAppExample.vcxproj.filters @@ -35,45 +35,45 @@ {CACD7B50-4DB3-76AF-A6E8-90DF94F8F594} + + {45C2CE26-EC4B-BA52-58F3-297C408E1483} + {9D270B31-2425-8FDB-84A4-6A2288FF5B2F} {0F766DD4-A277-CB86-5647-42498C8B41E1} - - {D64942B4-6984-3623-3347-45D472AE1C61} - - - {45C2CE26-EC4B-BA52-58F3-297C408E1483} - {01603E05-423B-5FC3-1BEE-E15ED33B5688} + + {D64942B4-6984-3623-3347-45D472AE1C61} + {65CB28F8-0422-A8F3-9A17-959E12A1F8E2} - - {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} - {0CD9E281-DDD0-91EC-6F77-EA9D9D5E0E1A} + + {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} + {40C5CA7C-AEBB-05B1-11CE-AE41D87B5CCB} {0B0E7392-324B-088C-FBEB-5FE999D61782} - - {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} - {20254EFE-6CBD-31A7-2119-92B1E0E0E311} {70796D73-6D30-8A1B-4732-7C021E47C05A} + + {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} + {EB8DD942-E2CB-869F-D381-E02A65BA790B} @@ -83,8 +83,17 @@ {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} - - {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + + {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + + {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + + {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} {476C69CE-0B67-6B85-E888-45D91E37A29E} @@ -92,17 +101,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} - - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -110,29 +113,26 @@ {91929C6F-7902-B87D-5260-2F6CBF8ACD93} - - {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} - {4634FFAE-9586-A970-364C-4FDDA635F99F} - - {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} - - {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - {F03654BC-34D8-F975-BEA3-750CC2783D23} + + {C9F6D785-BF78-5AA1-B479-111C65397864} {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} - - {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} - - {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + {F03654BC-34D8-F975-BEA3-750CC2783D23} {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} @@ -146,33 +146,33 @@ {928D8FCC-5E00-174B-6538-93E8D75AB396} - - {1988E68A-A964-64CA-0E0C-26FF9BC5176C} + + {358AEA11-3F96-36AE-7B32-71373B5C5396} {3DF036EA-3B80-553B-2494-3AAC835CAE75} - - {358AEA11-3F96-36AE-7B32-71373B5C5396} + + {1988E68A-A964-64CA-0E0C-26FF9BC5176C} {F2A38F45-6E55-E147-2E52-64A89FDD9D59} - - {6172822C-01A5-E824-12DA-FA43FA934D35} - - - {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} - {B098BC87-3298-7E6B-12DC-D26C09CDCAED} {6322B88F-984A-C3CD-6263-38D7AA49B6EC} + + {6172822C-01A5-E824-12DA-FA43FA934D35} + {73C1E759-AD90-59A3-942E-2D10FAA29107} + + {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} + {EE1AE8C3-0908-8F53-A4E5-D930C7C97C26} @@ -182,81 +182,81 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} - - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - - {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {E37D25CD-4350-4614-055B-7ABC55E67895} {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {C1A1A236-AB01-173E-96C3-0706BFF93B1E} + + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + + {413F481F-075C-2958-115C-D8268682FCB7} {FFC6E1CC-C772-75E6-5087-FB5D4E016799} + + {1182303F-ECA3-166D-AC0C-92C5E762CB93} + {8E43579F-C185-266D-DD67-F8B95BD80F2F} + + {61712B09-5783-ADFA-2001-5A0C3D7764EB} + + + {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + + {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} + {2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D} - - {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + {5A0AA36E-3957-E413-14C6-31CBE15271DF} + + + {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} {A92719C7-70BE-57C4-CE9E-A9BC9DFEB757} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} + + + {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} + + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} + + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + + {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} + + + {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} + {75F1F352-251A-75E0-D941-8431588F5C1E} {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} - - {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} - - - {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} - - - {5A0AA36E-3957-E413-14C6-31CBE15271DF} - - - {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} - - - {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} - - - {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} - - - {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} - - - {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - - {61712B09-5783-ADFA-2001-5A0C3D7764EB} - - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} - {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -278,30 +278,30 @@ {639E16C5-DA8B-ADBA-6E24-7B596378EAB2} - - {2D8D0E19-E676-83EB-38D9-F73500DD6B79} - {B3141847-8F13-F67D-45B2-E3ECF6E09088} - - {9E586194-C056-101C-5311-F2AF5191AC80} - {151B49D8-6102-F802-1C07-D59931BC0574} + + {2D8D0E19-E676-83EB-38D9-F73500DD6B79} + + + {9E586194-C056-101C-5311-F2AF5191AC80} + {72A923E2-C729-DB92-D7BF-A9D4AFAE5896} - - {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} - {7F11E7D2-54C0-2A36-5F15-BEC0A5374A08} {EE985DEA-CD83-8132-7219-542BB1DAD560} + + {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} + {8B4D1BAA-6DB4-CAEC-A0FA-271F354D5C61} @@ -400,6 +400,9 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -415,15 +418,6 @@ Juce Modules\juce_audio_devices\midi_io - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\audio_cd - Juce Modules\juce_audio_devices\native @@ -478,26 +472,11 @@ Juce Modules\juce_audio_devices\native - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_formats\codecs @@ -526,27 +505,30 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - Juce Modules\juce_audio_processors\format @@ -565,6 +547,24 @@ Juce Modules\juce_audio_processors\format_types + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + Juce Modules\juce_audio_processors\scanning @@ -580,45 +580,6 @@ Juce Modules\juce_audio_processors\utilities - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\memory - Juce Modules\juce_core\containers @@ -634,33 +595,6 @@ Juce Modules\juce_core\containers - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - Juce Modules\juce_core\files @@ -685,41 +619,11 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -727,32 +631,17 @@ Juce Modules\juce_core\logging - - Juce Modules\juce_core\system + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc @@ -832,6 +721,117 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + Juce Modules\juce_cryptography\encryption @@ -850,6 +850,15 @@ Juce Modules\juce_cryptography\hashing + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -859,33 +868,6 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - Juce Modules\juce_events\broadcasters @@ -904,6 +886,18 @@ Juce Modules\juce_events\interprocess + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + Juce Modules\juce_events\native @@ -919,6 +913,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_graphics\colour @@ -940,44 +940,11 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\effects Juce Modules\juce_graphics\fonts @@ -997,11 +964,41 @@ Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -1033,6 +1030,51 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -1045,6 +1087,153 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -1066,20 +1255,92 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -1147,267 +1408,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_extra\code_editor @@ -1534,43 +1534,43 @@ Juce Modules\juce_video\native - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code @@ -1683,6 +1683,12 @@ Juce Modules\juce_audio_basics + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -1704,48 +1710,18 @@ Juce Modules\juce_audio_devices\midi_io + + Juce Modules\juce_audio_devices\native + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\native - Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - Juce Modules\juce_audio_formats\codecs @@ -1773,12 +1749,63 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + Juce Modules\juce_audio_processors\processors @@ -1809,33 +1836,6 @@ Juce Modules\juce_audio_processors\processors - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - Juce Modules\juce_audio_processors\scanning @@ -1866,50 +1866,92 @@ Juce Modules\juce_audio_processors - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -1971,53 +2013,134 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text Juce Modules\juce_core\threads @@ -2076,92 +2199,8 @@ Juce Modules\juce_core\time - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -2169,12 +2208,6 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - Juce Modules\juce_core\zip @@ -2184,39 +2217,6 @@ Juce Modules\juce_core\zip - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - Juce Modules\juce_core @@ -2241,6 +2241,18 @@ Juce Modules\juce_cryptography + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -2250,21 +2262,33 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - Juce Modules\juce_data_structures + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + Juce Modules\juce_events\messages @@ -2292,36 +2316,6 @@ Juce Modules\juce_events\messages - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - Juce Modules\juce_events\native @@ -2331,6 +2325,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_events @@ -2361,17 +2361,32 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -2403,38 +2418,17 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -2445,9 +2439,60 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + Juce Modules\juce_graphics + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -2463,6 +2508,171 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -2502,29 +2712,50 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -2598,237 +2829,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_basics @@ -2904,6 +2904,39 @@ Juce Modules\juce_gui_extra + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + Juce Modules\juce_opengl\opengl @@ -2931,54 +2964,21 @@ Juce Modules\juce_opengl\opengl - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - Juce Modules\juce_opengl\utils - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - Juce Modules\juce_opengl + + Juce Modules\juce_video\capture + Juce Modules\juce_video\playback Juce Modules\juce_video\playback - - Juce Modules\juce_video\capture - Juce Modules\juce_video @@ -2989,47 +2989,6 @@ Juce Library Code - - - Juce Modules\juce_audio_basics - - - Juce Modules\juce_audio_devices - - - Juce Modules\juce_audio_formats - - - Juce Modules\juce_audio_processors - - - Juce Modules\juce_core - - - Juce Modules\juce_cryptography - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_gui_extra - - - Juce Modules\juce_opengl - - - Juce Modules\juce_video - - Juce Library Code diff --git a/examples/AnimationAppExample/Builds/iOS/AnimationAppExample.xcodeproj/project.pbxproj b/examples/AnimationAppExample/Builds/iOS/AnimationAppExample.xcodeproj/project.pbxproj index 95ed78fb04..51c99404a7 100644 --- a/examples/AnimationAppExample/Builds/iOS/AnimationAppExample.xcodeproj/project.pbxproj +++ b/examples/AnimationAppExample/Builds/iOS/AnimationAppExample.xcodeproj/project.pbxproj @@ -6,6 +6,7 @@ objectVersion = 46; objects = { + A954E808E316BFB9537574CE = {isa = PBXBuildFile; fileRef = CBF69B3CBCD089CD7DC8343C; }; E3498B080326636A372B74AE = {isa = PBXBuildFile; fileRef = 859E13C66F2193112084D1B9; }; 828D4B32ECB7ECE234A5A1A9 = {isa = PBXBuildFile; fileRef = 66DE43B56D8670C78DD3998D; }; ACC6D859315761144D4178A0 = {isa = PBXBuildFile; fileRef = 717FA33AC0AA2629302F0314; }; @@ -20,19 +21,19 @@ AA420D06B14C6AF978603FB7 = {isa = PBXBuildFile; fileRef = 4F582012EC867318FB3781BB; }; 328BFAEA24EDCBF7B69F4960 = {isa = PBXBuildFile; fileRef = B766DBADE0BD743FAC004870; }; 84E6553798838003062A7791 = {isa = PBXBuildFile; fileRef = F7B6DBDC7439C90B4E01752E; }; - 9B303E67BC0058053878030C = {isa = PBXBuildFile; fileRef = C1070E62B763F1CCE0BB18F0; }; - ACA92239BEB4C05C418642E2 = {isa = PBXBuildFile; fileRef = DD19124F0A7FD43F31BDEB87; }; - 1EFD155B1968AEC88851F831 = {isa = PBXBuildFile; fileRef = 987AD2821B6419D5FEDCBD7A; }; - 0C7388B5872921063FF273B8 = {isa = PBXBuildFile; fileRef = AD405DDE86D07F955E27EBF8; }; - 9EE1754A8E5230FA1C50713F = {isa = PBXBuildFile; fileRef = B7DD84C8B05ABA4A6915E77E; }; - 1852E56533842FDFBE9A6EE3 = {isa = PBXBuildFile; fileRef = 33E449DEA1FC0CD4CAA3A829; }; - CB79C1D77F4FBF0C64B69E1D = {isa = PBXBuildFile; fileRef = 14BB261A450674034E6080F2; }; - 5E9EFF0130B8CBBEAA0D321B = {isa = PBXBuildFile; fileRef = CC0B7738BD544B955D81BF1E; }; - EF8AB3F393E946FE4A21AA17 = {isa = PBXBuildFile; fileRef = 4B27A11ADAC0D9957BBBCD3E; }; - B70DDF51EDD940F5EF96B96D = {isa = PBXBuildFile; fileRef = 27B720A5E8CF81ABF9E50848; }; - E28816D62DAA38A2794ED6D2 = {isa = PBXBuildFile; fileRef = D8BAA82AC820CEF315BD9DCB; }; - A911433D03B3314558DB8850 = {isa = PBXBuildFile; fileRef = 21CF5364CD4910E49D19F8E2; }; - 590ABC7E64B05F4814FA919E = {isa = PBXBuildFile; fileRef = 6018A3A37F34AE52B39A14D5; }; + E09031EF64FB032EC2F1AB9E = {isa = PBXBuildFile; fileRef = 05CF05C4A0B41E4E3B505016; }; + 1A1655F70589F62EC500776A = {isa = PBXBuildFile; fileRef = DC5C7E82429CF94928EC055A; }; + F3DF870E97A695B88F07E2ED = {isa = PBXBuildFile; fileRef = 7B08326361CAD0A8C35218C0; }; + 802E52893A13DF94D2452203 = {isa = PBXBuildFile; fileRef = DCCC723F8E6D3F6445318CB4; }; + A0D9E078F9FDA8474A231E23 = {isa = PBXBuildFile; fileRef = 73A1A4EC47BB161DAF61D31C; }; + BCE821392C314CE44C96ECFF = {isa = PBXBuildFile; fileRef = 2AF1C1B6A582BD96CCE01452; }; + B9BFADFF0ECB778690FDF59C = {isa = PBXBuildFile; fileRef = EAE15C1AC2F25A7EB7A2F2C4; }; + 4E411795F0E724FD92C98030 = {isa = PBXBuildFile; fileRef = FF283714432D1C916EC19072; }; + 3E1ADD84FBF4F072F0B53EA5 = {isa = PBXBuildFile; fileRef = 56FB775B9F539EA13D18C32C; }; + 2C000BF550222EC17FA5EA12 = {isa = PBXBuildFile; fileRef = 71710A47E019BA95D2DB86FF; }; + 4EBEDE852357A716C1A58D32 = {isa = PBXBuildFile; fileRef = 42CDCB2F2DB39A7822A8ED11; }; + 17598D74EBFD5692223DAA36 = {isa = PBXBuildFile; fileRef = 222D7B201FE37D4B96BF571E; }; + 727C6C11ADFD9FB9FABAD8AE = {isa = PBXBuildFile; fileRef = DC6550969FBDB187169D124B; }; 0054E026B84A3A87020CCE48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarComponent.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h"; sourceTree = "SOURCE_ROOT"; }; 0060F61BFBCEF4E9EF8B3CC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 012CB8E6966875E4AE099E8C = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; }; @@ -48,6 +49,7 @@ 040A31152B3C4BF51493F937 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEInstrument.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp"; sourceTree = "SOURCE_ROOT"; }; 04C105672DA409FE8593DB04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemAudioVolume.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h"; sourceTree = "SOURCE_ROOT"; }; 0511F904BECB48A221DFB2C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Base64.cpp"; path = "../../../../modules/juce_core/text/juce_Base64.cpp"; sourceTree = "SOURCE_ROOT"; }; + 05CF05C4A0B41E4E3B505016 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../JuceLibraryCode/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 0700C7069E1CF3FF8966C0E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; 07342D914D2A5AF6075CDB2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; }; 0790EC941834B64EA1AC8D5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -79,7 +81,6 @@ 0DB1323191C133E48F07C062 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; }; 0E70A4BFB2F7D1AB6188E72C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 0E894AC7229948568720E294 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 0E8D536FEBD11AEA3C90B5A8 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 0ECA7867513EFA30BEA0BE78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 0EF8E3646F6099E89A743D99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; }; 0F16DEEC2C4B95E3A9F28CE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; @@ -96,7 +97,6 @@ 142D03BC875BD387BD10C51F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; 1450CD0879661355CD52DD8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; }; 14AB997C7EB22777C1EF533C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; }; - 14BB261A450674034E6080F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; 15029C3F041B27DD7191482F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorGraph.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp"; sourceTree = "SOURCE_ROOT"; }; 1538DFDAE4C093F8ACA7C4F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserBase.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h"; sourceTree = "SOURCE_ROOT"; }; 161F35FA23347F495704C26A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_CommonFile.cpp"; path = "../../../../modules/juce_core/native/juce_linux_CommonFile.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -110,7 +110,6 @@ 17B2789DEC279EE7DB8D9BE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; }; 19045B1A4A9E79DB5A44927C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; 191B98765219765CD56CCFED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 19DC6BDBA978DC67B9783340 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_cryptography/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 19E9997C0FE3E36156141D64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInputSource.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 1A667A0FBCC8FC7EBBD15B20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; }; 1A7002B936C11924FDC07023 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -132,10 +131,10 @@ 20E10FBD8694E185CA551EDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 2168310E25BD55C9A46499C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; }; 2188A5670214696EFCF6810F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLHelpers.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp"; sourceTree = "SOURCE_ROOT"; }; - 21CF5364CD4910E49D19F8E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../../../modules/juce_opengl/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; 21D0A71ADD004B35B90F0D1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; }; 21D31B64BAD35C6C8E8E8FC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; }; 221FD10838A8CE36672FABC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; }; + 222D7B201FE37D4B96BF571E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../JuceLibraryCode/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; 2254F8D031DD15BDB278DE3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; }; 22C4F82B505995F81CD682B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Identifier.h"; path = "../../../../modules/juce_core/text/juce_Identifier.h"; sourceTree = "SOURCE_ROOT"; }; 2328C66A446079EDDCC8B14E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -143,11 +142,9 @@ 236F239E035044438B7CDFCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; }; 23724FEF549E05851817B4BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Slider.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp"; sourceTree = "SOURCE_ROOT"; }; 23936BBF807CCF5B1EEB9F00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - 241453DBDECBE0CCD5C096DE = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_graphics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 24363F41974FD7A3B634B78B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; }; 244B9B4B8307A8C51207D457 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; 24AFC6C8D9388F5AB913250F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserVoice.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h"; sourceTree = "SOURCE_ROOT"; }; - 254D157C0CCE3C7EA022F4CE = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_video/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 25869F2A5B90C64E857606D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; 25B41C0851C004C9D410B7C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; 25E6B62A5BF19A0D1E085E10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GroupComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -158,7 +155,6 @@ 274569E245BFB279247B4ECC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; 27676EBA6012198993C2CBA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; }; 27A9B065352AE36635780373 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 27B720A5E8CF81ABF9E50848 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 27DC413550834C828252B003 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 2807A00AE6C4539CD935F56D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageCache.h"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.h"; sourceTree = "SOURCE_ROOT"; }; 2819AE973B501D15AAB8C937 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -175,6 +171,7 @@ 2A59F5E28F97A435592E0B58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; }; 2A771B60F7C360A111F75AC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; 2AB2B4CC891E77E2DD062BE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2AF1C1B6A582BD96CCE01452 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../JuceLibraryCode/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; 2B02634F8DA8660ED42B0AEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Headers.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h"; sourceTree = "SOURCE_ROOT"; }; 2B1494112273ADF380C99FD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; 2B4FA0E8FB46CBC71A059FE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -205,7 +202,6 @@ 32C683CBA18109949D53149A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; 3324210159E5C546DC5C2065 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DeletedAtShutdown.h"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h"; sourceTree = "SOURCE_ROOT"; }; 3391FA30F4D45A4A77DC2CE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; }; - 33E449DEA1FC0CD4CAA3A829 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../../../modules/juce_cryptography/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; 34A6FFC298D12BF9E4D55AA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; }; 35A7FD6EFDE29D2EBD7DFCB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 35AAFB158E16D03C4D977713 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; }; @@ -242,7 +238,6 @@ 3E19A71C4A345EB5C1BA466D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; }; 3E8E31BB97A86349790D6CC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; }; 3EF0B8611060C8AB86395920 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; - 3F0388309395C138AA68FAD7 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_processors/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 3FAA5384DA8B28DEB5E57A5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 3FECAB20E9C0834676E2D9EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; }; 403453363C4785FD451A9BA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LagrangeInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; @@ -255,12 +250,12 @@ 4228B8952E3FBCDA69C1948B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SHA256.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp"; sourceTree = "SOURCE_ROOT"; }; 426283CFD858F482E87F530B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; }; 42BC8303198293E30AC0B21A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; + 42CDCB2F2DB39A7822A8ED11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; 435858CCF38F47E9AAE1B08F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; }; 439FC260CD869E30210D98BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; }; 4408766B366713F55707B7A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; }; 440A182A9068A8FBD011BE1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 44185DE135E354DD4758B3EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; }; - 442199479D1499B6A44BD150 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_devices/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 44443DA5B0FDA2480DFBDFC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; 44ADFB25768FA3BF27762EBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLAppComponent.cpp"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 44B3428E8BB4B70104CD76CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; @@ -283,7 +278,6 @@ 4A86B4371AE4FC58D879962C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; }; 4ABF36D87D2BBEDA4DE28A4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooserDialogBox.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h"; sourceTree = "SOURCE_ROOT"; }; 4ADE9EFB6C41DE44D40C9837 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4B27A11ADAC0D9957BBBCD3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; 4B27C30CF5AC7BFE0AF537AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_QuickTimeAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 4B8102606812A7964CF8D9CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 4B8342C50F962C3F0AEE9830 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; }; @@ -326,6 +320,7 @@ 56545F3F893C3D8CC9215051 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreMidi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp"; sourceTree = "SOURCE_ROOT"; }; 567D63D778B7A22C5D97F1C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BlowFish.h"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.h"; sourceTree = "SOURCE_ROOT"; }; 56985D9599D0D1D00B42F95B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V1.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp"; sourceTree = "SOURCE_ROOT"; }; + 56FB775B9F539EA13D18C32C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../JuceLibraryCode/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; 5703889367170F80CAC76898 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; }; 570C35930202882A634FC029 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResamplingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 5710CADD28060D8E949D96D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -352,7 +347,6 @@ 5D43D909CB26D4A07A62A4F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; }; 5D4A62D4893C16D7B17C6A43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; }; 5EB144BD6AC4D4DE96ABFCA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; }; - 6018A3A37F34AE52B39A14D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../../../modules/juce_video/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; 605EA4B27D057BCB9263BCFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; }; 60D8280577C14A7D3F67563D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; }; 610F820C21D914E9794A36EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; }; @@ -417,12 +411,14 @@ 7022B01ECEE7000DE6008C0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; }; 70B18C93C5696330A877B330 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; }; 7141B07690C1A022A2BFFBBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; }; + 71710A47E019BA95D2DB86FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 717FA33AC0AA2629302F0314 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; 71881F8A6973AACD78ABA719 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_QuickTimeMovieComponent.cpp"; path = "../../../../modules/juce_video/native/juce_win32_QuickTimeMovieComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 71B0F66C20CF48F49B3152AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; 71DF518DE7A248B97C8E1C2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 72696E2F6E8EB43A8E604390 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; }; 732EEC584A4CE3ED07C5BEFB = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; + 73A1A4EC47BB161DAF61D31C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; 73CA6BCA313B0239842F298C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; }; 73FF82BCB568578396E88C92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; }; 74302B51B991EA1775AEFC67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; @@ -434,7 +430,6 @@ 7627F01C1E5383207D2C0BFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; 7639526FBF7A4F41961483ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; }; 766EE2CCD4E86729C6CE8112 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; }; - 768754211363FED3D2188C9D = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_formats/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 76F1A69F15F53D17C632A644 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; }; 7743414F79908801328D9F03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; }; 77AE8FD7436387126D3BBBAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyMappingEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -448,9 +443,9 @@ 7A6E1CBA343C07AC187A3EE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; }; 7AC4D7A22EE9E1F4FBD407C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiDataConcatenator.h"; path = "../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h"; sourceTree = "SOURCE_ROOT"; }; 7AC8C094442A603DE6257BB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; }; + 7B08326361CAD0A8C35218C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../JuceLibraryCode/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; 7BA2EA5655704E5358ABAA9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; }; 7BC8F7015F35BAFF4AEDA0E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; }; - 7C7B6D8D155687966F681F5B = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_events/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 7D8D285B8414388FDB083AFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; }; 7DCF49E37B27971A7E597555 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; }; 7E0DD06926DAC8EE93BD4F08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; }; @@ -515,10 +510,8 @@ 8C9EC3F9C24081ECEF3FCEFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 8CA01F9530AC5512C6B74325 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessage.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp"; sourceTree = "SOURCE_ROOT"; }; 8CEADF0BFEE8F08A0EB42CD1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; }; - 8D3FB0417A39CAEC03D44D73 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_opengl/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 8DC827CCF543708CF729FED6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiFile.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 8DE969191661B557B4222D50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInactivityDetector.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h"; sourceTree = "SOURCE_ROOT"; }; - 8DEFACA6858D254B4202AF12 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 8E407C1CF739A93FD2B3B38C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; }; 8E95A3B7C194244B92D5D65A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; }; 8EA18CA66CABC9B5087DBDD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -555,7 +548,7 @@ 96E4B48CF055ED116E5CB3AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; }; 979A030D4807A573FAA18318 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MixerAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 97EDCA2A04EF5ADAAD9DC594 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; - 987AD2821B6419D5FEDCBD7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; + 98474FB10BB003823EEC8759 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-App.plist"; path = "Info-App.plist"; sourceTree = "SOURCE_ROOT"; }; 98C77B9D95141EBC60E6AE67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; }; 98D247A4824D969367AFD0FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; 996A274720539E8497291E85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; @@ -618,45 +611,40 @@ A8C570DF829A8B8581B4E8CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorGraph.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h"; sourceTree = "SOURCE_ROOT"; }; A8CAB6FAB9BC1CC96FDE7BC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; }; A917646C0153D2A57E3C5677 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiFile.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.h"; sourceTree = "SOURCE_ROOT"; }; + A95D718F031CB8883DFDE915 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + A9608756E1A18BAFCC48A064 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; }; A98EED399E310BF85EBBCE12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLGraphicsContext.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; AA5CDD430B68BBE10A9026C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Desktop.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.cpp"; sourceTree = "SOURCE_ROOT"; }; AAA3ED492FF78DBBF86DC612 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; }; AB03D2BE2D83E937C336070C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FFT.h"; path = "../../../../modules/juce_audio_basics/effects/juce_FFT.h"; sourceTree = "SOURCE_ROOT"; }; - AB856191A15A8C9016D974D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; }; - AC018F2C47CF57EB4A87AC36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; - AC3184BE8D8804394FCCDCB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; }; - AC725293BD38E8C66E35EED3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; }; - ADCA2F92E2C17964A4AD750E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; }; - AE381B9D6E2A4DA363C7DD3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; }; - AF885F6112CEA5C2D7934AA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; }; - AF947B0E188B6EA57EB0109B = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; - B0286AC6D04C5D080A299A1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; - B1C799A152189A282E6CAC76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; - B45C079D88C3CAA3D5D565E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZoneLayout.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"; sourceTree = "SOURCE_ROOT"; }; - B462D25B3F8AA3F7BD76DBD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; - C9F7ABDA09635BC3FAB0B008 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; - A748C987924800FDBA2E2184 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AnimationAppExample.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; - A95D718F031CB8883DFDE915 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; }; - A9608756E1A18BAFCC48A064 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; }; AB3C130E565756182528752D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + AB856191A15A8C9016D974D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; }; ABA2E1FE9912D5C28F177E56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + AC018F2C47CF57EB4A87AC36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; AC2AE970951E20A199938AFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; sourceTree = "SOURCE_ROOT"; }; + AC3184BE8D8804394FCCDCB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; }; AC42B6006776E1CE3A3A94A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; }; AC56A48CC01AABBE45F51970 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; }; + AC725293BD38E8C66E35EED3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; }; ACAC59A1C54DC52E8E2438CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_CameraDevice.cpp"; path = "../../../../modules/juce_video/native/juce_win32_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; - AD405DDE86D07F955E27EBF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; AD41400898312123119E987A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; AD54DAEAB7840FC18DA65503 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; AD8417869D43ED72319C283C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; + ADCA2F92E2C17964A4AD750E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; }; + AE381B9D6E2A4DA363C7DD3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; }; AF59758C300E586A7A6338D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; + AF885F6112CEA5C2D7934AA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; }; + AF947B0E188B6EA57EB0109B = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; AFEC177C21FC9D36695F4750 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinearSmoothedValue.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h"; sourceTree = "SOURCE_ROOT"; }; B004D25E0DC1AA2C4CD3788A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; }; + B0286AC6D04C5D080A299A1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; B0589203065E4CF2C002B0D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLHelpers.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h"; sourceTree = "SOURCE_ROOT"; }; B0626D2C611D9E3DF1408BEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; }; B15DC22CA1E52983F4F57A9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; B189762C440B38635351E0A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; }; B1A41C6141726A390E2182A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_devices.h"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.h"; sourceTree = "SOURCE_ROOT"; }; B1B7C62CA04ACBAC6CD1C2AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPress.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h"; sourceTree = "SOURCE_ROOT"; }; + B1C799A152189A282E6CAC76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; B28F34DD7CABFD48B1EE3CCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; }; B2D42B884600CE62E3253DA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectSound.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp"; sourceTree = "SOURCE_ROOT"; }; B305ACE053406FF288E500F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -666,6 +654,8 @@ B3FBDBEBC38720E957C15BE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; }; B401E96340B8AB5DE8CBF5C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; B409D881BE39C4704C94996C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; + B45C079D88C3CAA3D5D565E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZoneLayout.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"; sourceTree = "SOURCE_ROOT"; }; + B462D25B3F8AA3F7BD76DBD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; B471C2AB67E7C68D1C7D729D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathIterator.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; B4769129853D2822D3DB38D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; }; B5142BDA7EBA15F2DB1BB3FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -686,7 +676,6 @@ B70E52FF75D44F0F1F0B31D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; }; B766DBADE0BD743FAC004870 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MainComponent.cpp; path = ../../Source/MainComponent.cpp; sourceTree = "SOURCE_ROOT"; }; B7855FA22C92F7EE272A866E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KnownPluginList.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h"; sourceTree = "SOURCE_ROOT"; }; - B7DD84C8B05ABA4A6915E77E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; B83DDFEEA66888E9616BCE82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectShowComponent.h"; path = "../../../../modules/juce_video/playback/juce_DirectShowComponent.h"; sourceTree = "SOURCE_ROOT"; }; B88950266CC4244E1B5394F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; }; BA7FDBE53073F3261D962FF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -712,7 +701,6 @@ C088D98E527C1DA17B55A9D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; }; C0BA74AF0382D87B0E7BCEB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LeakedObjectDetector.h"; path = "../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h"; sourceTree = "SOURCE_ROOT"; }; C0FDDD3106A13770B141E5F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; }; - C1070E62B763F1CCE0BB18F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; C186342C3FFB4DE250556D70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; C21701DD3A4A2628C63CB70A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; C29492501499BAD8E94958DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPENote.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -735,10 +723,11 @@ C8F82FBA1E0EF7EEA5BD02B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; C9A25E2EF32224159B617D5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; C9BA40AFF2AD427CE4D480D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; }; + C9F7ABDA09635BC3FAB0B008 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; CA025D4369C240E6FA30CE2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; }; CB4D4DA89BA649D3F1B2A645 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; }; CB5874E2A70E8A6A01FE8C9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; - CC0B7738BD544B955D81BF1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; + CBF69B3CBCD089CD7DC8343C = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AnimationAppExample.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; CC3F295E9D9E5863779F9ACD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; }; CC4B3BCEE612C95F27680EA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CPlusPlusCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; CC8F24C4E5FC5C12AA30F6CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; @@ -785,7 +774,6 @@ D40C36493501EA97A8D1EB50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; }; D4BA573C125944E2773D747F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; }; D52EB7F089EF359EDCB199AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; }; - D57735149DD4975283A0C754 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_extra/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; D5C10F9CC5ADFC1B63AD1DB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; D5EC3B41088855C3D481A73E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; }; D64B71F992FF01CB0EE89641 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; }; @@ -797,10 +785,8 @@ D80EEBBDEC364958AE05AFFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; D8256B8AA794F43A2259638A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; }; D886106C60A496E47C48AFB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; }; - D8BAA82AC820CEF315BD9DCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; D949A0753DEE4B4AACDDA3AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; D9FAC914CA572410C055D109 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; }; - DA353BCF838D64BA343AC0E1 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_core/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; DA9671908F37549C583C61E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; DA98B32DCA0DEF0113C22F9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; }; DAB059DA13868A81301513F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; }; @@ -811,11 +797,13 @@ DBDED1D6237A21D03E68D323 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; DBFBBC58ED4A18EA9FE04D1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; }; DC3B995E7B51FC0B76826C86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; }; + DC5C7E82429CF94928EC055A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../JuceLibraryCode/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; DC6461EF11D5745DF8C00E16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; }; + DC6550969FBDB187169D124B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../JuceLibraryCode/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; DC66DC84909A3802527414C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; }; DC94270BB4A70056907C3CDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Quaternion.h"; path = "../../../../modules/juce_opengl/geometry/juce_Quaternion.h"; sourceTree = "SOURCE_ROOT"; }; + DCCC723F8E6D3F6445318CB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../JuceLibraryCode/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; DD03B6CE6F750A9CECA7EDEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CameraDevice.cpp"; path = "../../../../modules/juce_video/capture/juce_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; - DD19124F0A7FD43F31BDEB87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; DD2007C851B70E2C71171145 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; }; DD73087B002B1DB6B90B666E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; }; DE1943CA08D7FAB2E3EC0A14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; }; @@ -865,6 +853,7 @@ EA749A33B0E635F691A42C64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Sampler.h"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.h"; sourceTree = "SOURCE_ROOT"; }; EA779F8A580E3D22A7CBD51E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; EAAFB86397B191FF3713155B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; }; + EAE15C1AC2F25A7EB7A2F2C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; EBC4E11E36D206EDF01E6EB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; EBD6F8CE3122B2AA015A62BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDirectoryScanner.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h"; sourceTree = "SOURCE_ROOT"; }; EBDC0E12D4ED20F5DB90BC26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -933,7 +922,6 @@ FAF4C6D8D1D59932F12DF6A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; }; FB3BE7E3D0A04791487E9E0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; FB459E95101C8A92E5B39A67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; }; - FB81D25CF4825A9A186B6790 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_data_structures/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; FBC55E440EF1EA83FC0DAA5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; }; FBDBD56614E38BB5A5592D32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; FCA9526394A63B33405F8E58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -950,7 +938,7 @@ FEA645D52C593ECCEA779BAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; }; FF1CEE8501CA0F081EE0E3AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; FF1F4F1262BB429E80492B13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; }; - FF3D4768BC96B79F49B10894 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = "SOURCE_ROOT"; }; + FF283714432D1C916EC19072 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; FF70C4AB4F37D7C7E1668660 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; }; FF7A26DADF1579C43D80454F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; 9F41B5C4D3F9CE9C17373AB3 = {isa = PBXGroup; children = ( @@ -1035,9 +1023,12 @@ D16FCF8AF82902B7A98E0FFB, 1F2A9A2A9B959DC1DF903064, 43FFCEB9A2A3784C7EEF5460, - 8DEFACA6858D254B4202AF12, 3B9903B0A0252D106C92CAA9, ); name = "juce_audio_basics"; sourceTree = ""; }; - 3B35E0DA3DB0B1509311FBDF = {isa = PBXGroup; children = ( + 4D1875BC9BD97BB0F90096C5 = {isa = PBXGroup; children = ( + 41C74B59D9B392117441DA2D, + 35A7FD6EFDE29D2EBD7DFCB8, + BDE0C2D342D03C389560501F, ); name = "audio_cd"; sourceTree = ""; }; + ED5718E80F3979D00C658CA3 = {isa = PBXGroup; children = ( 884AA1209A726AEAF76E31B0, 3D24784AEA7726A64A340625, 4A1671B78E589A865FEA3CB1, @@ -1045,22 +1036,13 @@ B6173E37D15602163B7C0441, 4BF9949E0C30EA64B16004BE, 04C105672DA409FE8593DB04, ); name = "audio_io"; sourceTree = ""; }; - D487CFDA56FA408A04203A20 = {isa = PBXGroup; children = ( + EB0DE9EE67452CF5A10FD857 = {isa = PBXGroup; children = ( BC02503FFF515269351DF89B, A789D75FEFFFB7E8E835FBAB, B004D25E0DC1AA2C4CD3788A, D298D1DE4D2FE281CA30910C, CE75A83F0AA70025C36151B1, ); name = "midi_io"; sourceTree = ""; }; - C3D887B6F1284C2394FD72D3 = {isa = PBXGroup; children = ( - 814E0D982BC2A18B9BAF3E38, - B6411B03A6D0185B11DBDA15, - 911B308D5222BDFD954DBB32, - DFC58448ADEA2B5D2FF5F8D3, ); name = sources; sourceTree = ""; }; - 09D6686EACFD43021C0E69F3 = {isa = PBXGroup; children = ( - 41C74B59D9B392117441DA2D, - 35A7FD6EFDE29D2EBD7DFCB8, - BDE0C2D342D03C389560501F, ); name = "audio_cd"; sourceTree = ""; }; - A62DE30F63767AFA483DE8C6 = {isa = PBXGroup; children = ( + 12AE495BFE46F0D287769584 = {isa = PBXGroup; children = ( FCA9526394A63B33405F8E58, B1C799A152189A282E6CAC76, 2A098563977566E9A9E8CD7E, @@ -1080,31 +1062,19 @@ B2D42B884600CE62E3253DA3, 5719A93B0F6AFE95FC49B673, 73FF82BCB568578396E88C92, ); name = native; sourceTree = ""; }; + B350B65FE9E419D397C6E234 = {isa = PBXGroup; children = ( + 814E0D982BC2A18B9BAF3E38, + B6411B03A6D0185B11DBDA15, + 911B308D5222BDFD954DBB32, + DFC58448ADEA2B5D2FF5F8D3, ); name = sources; sourceTree = ""; }; 270A86F6A3CE512F0B3EA8DC = {isa = PBXGroup; children = ( - 3B35E0DA3DB0B1509311FBDF, - D487CFDA56FA408A04203A20, - C3D887B6F1284C2394FD72D3, - 09D6686EACFD43021C0E69F3, - A62DE30F63767AFA483DE8C6, - 442199479D1499B6A44BD150, + 4D1875BC9BD97BB0F90096C5, + ED5718E80F3979D00C658CA3, + EB0DE9EE67452CF5A10FD857, + 12AE495BFE46F0D287769584, + B350B65FE9E419D397C6E234, B1A41C6141726A390E2182A2, ); name = "juce_audio_devices"; sourceTree = ""; }; - 72D396CB5861C9C441B3E360 = {isa = PBXGroup; children = ( - A76D6B94991D6E028EE8D1AA, - 0E70A4BFB2F7D1AB6188E72C, - CCF8FB3EA0246D83E3D2E760, - FF1CEE8501CA0F081EE0E3AE, - E1A153E1CA08E918F65C2B4D, - E5AF1F5B3F7F2B30606FBF24, - 853D2D1ADD05C320052DD5FC, - FE55A1DFB90A1A5EF37B1741, - B5C3814B2174E5127F42D721, - D1000A39817E9B771A4FB856, - 71DF518DE7A248B97C8E1C2E, - 6E6672E4055AC4F6D8688310, - 63E66F6D161941FE12465C29, - AD8417869D43ED72319C283C, - 9CC22BDB1B3FF427D6525D21, ); name = format; sourceTree = ""; }; - 23741F076745FB046C07FB1D = {isa = PBXGroup; children = ( + 61796396A6A12B8949C2B98C = {isa = PBXGroup; children = ( AB3C130E565756182528752D, 7F162E198ECF41AA895DB94B, 0BC32F0BB0B5393D25E09D00, @@ -1123,16 +1093,48 @@ 46885692CC5FDE30FC3649F6, C52FB75A0A93BB1397D1F962, 4B8102606812A7964CF8D9CE, ); name = codecs; sourceTree = ""; }; + E01CB5081E94C46B4D655CA6 = {isa = PBXGroup; children = ( + A76D6B94991D6E028EE8D1AA, + 0E70A4BFB2F7D1AB6188E72C, + CCF8FB3EA0246D83E3D2E760, + FF1CEE8501CA0F081EE0E3AE, + E1A153E1CA08E918F65C2B4D, + E5AF1F5B3F7F2B30606FBF24, + 853D2D1ADD05C320052DD5FC, + FE55A1DFB90A1A5EF37B1741, + B5C3814B2174E5127F42D721, + D1000A39817E9B771A4FB856, + 71DF518DE7A248B97C8E1C2E, + 6E6672E4055AC4F6D8688310, + 63E66F6D161941FE12465C29, + AD8417869D43ED72319C283C, + 9CC22BDB1B3FF427D6525D21, ); name = format; sourceTree = ""; }; EA0CB9DC4E43539FB25FBC68 = {isa = PBXGroup; children = ( 5774E190A351EDF7B7AAB188, EA749A33B0E635F691A42C64, ); name = sampler; sourceTree = ""; }; D8CF14F51DEE1EA3625BFE6E = {isa = PBXGroup; children = ( - 72D396CB5861C9C441B3E360, - 23741F076745FB046C07FB1D, + 61796396A6A12B8949C2B98C, + E01CB5081E94C46B4D655CA6, EA0CB9DC4E43539FB25FBC68, - 768754211363FED3D2188C9D, 62B6E8B6269ADEF23D85FA3E, ); name = "juce_audio_formats"; sourceTree = ""; }; - 2127B046D500ADBA07220814 = {isa = PBXGroup; children = ( + B778BD1F9FFCBF8A88C28D20 = {isa = PBXGroup; children = ( + 8741126A9694372E46E3FD32, + 381B8B8A9D5203E73FED79E9, + 83325A69170997E33D73770A, + F3C52FC514B9B3A2DFD7E3F6, ); name = format; sourceTree = ""; }; + 18957440584D5A93E7519BB5 = {isa = PBXGroup; children = ( + A50AF1519D78428A8DCD91BF, + E587838C598E06E7959F2A31, + E6E99E6E9BB715D12B35AB4A, + 38EDF1EAB12A05CEE439AF23, + 36B8F6CFEEA3C1E2A0D09E56, + 2B02634F8DA8660ED42B0AEF, + F79ADEBA7B305354085FFB8D, + 66E854431C2BBDEE56EA43C8, + 0F67C59CB48583941B8656EF, + BB144FF841A99B08D5479777, + E652F16998FA1CBF2068C6FC, ); name = "format_types"; sourceTree = ""; }; + 93BF1F4372B441625EDA8193 = {isa = PBXGroup; children = ( EC0DC30DBDE17808F8F213DD, F84B68CA477E76A5C737EEB7, A61AD5378601F9DDEB8DED03, @@ -1149,23 +1151,6 @@ FAC04A1B47255DA7A6397737, EC11D53A4118E15738CC70BB, B6ABBE7782ECD38631EB11BC, ); name = processors; sourceTree = ""; }; - DB8C9872311AD82A6BE28BCE = {isa = PBXGroup; children = ( - 8741126A9694372E46E3FD32, - 381B8B8A9D5203E73FED79E9, - 83325A69170997E33D73770A, - F3C52FC514B9B3A2DFD7E3F6, ); name = format; sourceTree = ""; }; - CD61E634B4D011ABCFA7E39F = {isa = PBXGroup; children = ( - A50AF1519D78428A8DCD91BF, - E587838C598E06E7959F2A31, - E6E99E6E9BB715D12B35AB4A, - 38EDF1EAB12A05CEE439AF23, - 36B8F6CFEEA3C1E2A0D09E56, - 2B02634F8DA8660ED42B0AEF, - F79ADEBA7B305354085FFB8D, - 66E854431C2BBDEE56EA43C8, - 0F67C59CB48583941B8656EF, - BB144FF841A99B08D5479777, - E652F16998FA1CBF2068C6FC, ); name = "format_types"; sourceTree = ""; }; 6C9E51DC570947CDBD246B3E = {isa = PBXGroup; children = ( 0B933FCCF82100D67C0B7D34, B7855FA22C92F7EE272A866E, @@ -1183,65 +1168,13 @@ 8096923FA40246283C31519E, 2C06A730EBB9E2A7F0F2AA14, ); name = utilities; sourceTree = ""; }; BA9B6357DA1BF8D6E3120176 = {isa = PBXGroup; children = ( - 2127B046D500ADBA07220814, - DB8C9872311AD82A6BE28BCE, - CD61E634B4D011ABCFA7E39F, + B778BD1F9FFCBF8A88C28D20, + 18957440584D5A93E7519BB5, + 93BF1F4372B441625EDA8193, 6C9E51DC570947CDBD246B3E, 202EE05322E0C4E9476F8135, - 3F0388309395C138AA68FAD7, 6E841DAA09FE06910D94447D, ); name = "juce_audio_processors"; sourceTree = ""; }; - 8C7AB91AFCAF2F99D0E906B0 = {isa = PBXGroup; children = ( - 0511F904BECB48A221DFB2C6, - 8771F275A606BD89BF1401EA, - 5A854859042F6CD761688B25, - A42A97232CE0593D8D989FC1, - 8E407C1CF739A93FD2B3B38C, - 7AC8C094442A603DE6257BB1, - 4A86B4371AE4FC58D879962C, - D6ECAF8B2A4E8B6C97B89FFE, - 1AB9713046E08B68A6F672CF, - 22C4F82B505995F81CD682B5, - FF7A26DADF1579C43D80454F, - 916001804771DF943551AAEF, - 61797A8C01DC08E83AFA4540, - 935BCEB2593A51E53187ABC2, - D9FAC914CA572410C055D109, - 17B07A06764A6A7759804033, - 14245CED80854EC5291657FA, - 926063234BAFA6D29366E43E, - F4454839EB930FC98D63AED3, - 389B4E4055A779D0F6B22C5F, - 1450CD0879661355CD52DD8D, - F2A1FCAC1825462CD568D442, - F49471EE0681DBD1115D927B, - C0FDDD3106A13770B141E5F2, ); name = text; sourceTree = ""; }; - 6898E6C42CC9520DC26F9FBF = {isa = PBXGroup; children = ( - BAE06A3352E39521CE5D94EB, - AD41400898312123119E987A, - A3D0C263C912566AECB57679, - AC42B6006776E1CE3A3A94A0, - 1B3CC8F665F23CB86253EBCE, - 4B8342C50F962C3F0AEE9830, - 8B7C0F839098C534A7B4C725, - B28F34DD7CABFD48B1EE3CCE, - CA025D4369C240E6FA30CE2B, - F16D0AF6B7D272E5E562CAA7, ); name = maths; sourceTree = ""; }; - 01A8BF73C8C9D282E9E58D7A = {isa = PBXGroup; children = ( - E1AC4AB03052A8F3FF90FBA4, - 4BDEC9A0A09EEDC9D7BDB826, - 08EC867C77B028C336B79752, - 68097881EEDDE0FD03100CC5, - C0BA74AF0382D87B0E7BCEB3, - FAF4C6D8D1D59932F12DF6A7, - 8C6A342773288620A8CC2598, - ED5E6273C8910BF1F8CBDB9B, - 097237CCE04B9020343CB28D, - 61F0D5937E23A6A9EE8D479C, - F22781915698D59D4CBE984D, - 289C3977B67C1898AC3B974D, - 4A36826C3F710B92F0347A16, - ED7E17722B60B7D89188CE60, ); name = memory; sourceTree = ""; }; - DD57AFE6D9A0218912B3DD93 = {isa = PBXGroup; children = ( + 2A5C18F834AA6F3E36C144F9 = {isa = PBXGroup; children = ( 6EEECDA2EB328FB597208954, C7581A35068A3FB43786F4BE, 0C89377A44F26612524DA129, @@ -1263,37 +1196,7 @@ 55CEFA60FA0CBA0E6CB71F5D, 4570554FB8438C0692EEDC55, 1C71768A34644733E39EEF4F, ); name = containers; sourceTree = ""; }; - 7A970EF4CD9FEB460B82CAB2 = {isa = PBXGroup; children = ( - 381AE52C082AE08E724CB954, - D11D931DAED4F636E8A60264, - EA5874F225E76DED69BD7132, - E7EC04A96E1CBFA9428A4B80, - 3AE89D0904EE985359A73B91, - A292587AA4633141BA378473, - F9609B0A0387932B86A6FABE, - 9F522CA5A8E82BF69E7403BF, - F5091F49E07C6DF8F644BAF0, - B409D881BE39C4704C94996C, - 69A2DA87D304FD486A872C1B, - 0AD4B355DBB0AED4C90E5657, - 91D09C7242A24405FB364449, - A9608756E1A18BAFCC48A064, - 44185DE135E354DD4758B3EA, - 426283CFD858F482E87F530B, - 6F6F888BFFA4BB40DD71285E, - 390351E336C2CF20C38ADB59, - 897B10399D1CA882B5B98D0F, - 7743414F79908801328D9F03, - DE4C0926D2EFA7649BD3AAA5, - 3E19A71C4A345EB5C1BA466D, ); name = threads; sourceTree = ""; }; - A7DDE84C6BDC340DFEAC5C86 = {isa = PBXGroup; children = ( - 24363F41974FD7A3B634B78B, - E21A45155C6954C6E50CCAF6, - 4ADE9EFB6C41DE44D40C9837, - CE19308F9CD1B8F05E6EF6C5, - ED8032A884A03337DAA1D453, - 5CDC0F220B1EAE847D38D1DE, ); name = time; sourceTree = ""; }; - 0B90B115C693F54D5DF8E732 = {isa = PBXGroup; children = ( + 308CA93871070CA129C6449C = {isa = PBXGroup; children = ( 9D50B3000D941FDCB620068F, AF885F6112CEA5C2D7934AA3, 3FECAB20E9C0834676E2D9EB, @@ -1311,66 +1214,43 @@ 176B18B9B61FDA6EC4357EB6, 07C83735435D264F28158F79, AC018F2C47CF57EB4A87AC36, ); name = files; sourceTree = ""; }; - 9E9C1F84B44CA85F5F472594 = {isa = PBXGroup; children = ( - 90B6C81CFB0DE386C673F62E, - 7639526FBF7A4F41961483ED, - 84ABA9491A70313AD6BF6F9A, - 6A22C06C6FE2B6B494B4878D, - A4F394FB62E70E3A3A02E4C7, - 8C3A6351780E678334FA1406, - 9E44079E499D4F4ECE55354A, - 2B57EB41D3962E3518B79FD8, - D6D37626671B0FB1CE8505C9, - DBFBBC58ED4A18EA9FE04D1D, ); name = network; sourceTree = ""; }; - B87CA56B966A881DBF190AE7 = {isa = PBXGroup; children = ( - 23936BBF807CCF5B1EEB9F00, - BDA5B0C014F6DCC188465060, - 6C502DF33FB5C14B8A67B25D, - 7E0DD06926DAC8EE93BD4F08, - 6421EA349C5D558114D36717, - 440A182A9068A8FBD011BE1A, - E5918150BDBDBCC3060C9FB3, - 47E70AF805B1C5C57566C4CB, - 52062790A5E737C8846A23A2, - ECD7A374DADD305C66141AF4, - 8945894D17A9407EEEE3B8BD, - 07E19FB806980020A47AA47D, - 803480FD5E7181E0D64FFC53, - B305ACE053406FF288E500F8, - D0AFF0790D81DB8F66173737, ); name = streams; sourceTree = ""; }; - C0BC501BDABAB02545D8CED7 = {isa = PBXGroup; children = ( - DEEA654926310D5B37A191C9, - 234D4927B398ED6E9B7B0E6B, - 5D43D909CB26D4A07A62A4F7, - D52EB7F089EF359EDCB199AF, ); name = logging; sourceTree = ""; }; - 314A7534CB4D49F809F0BF86 = {isa = PBXGroup; children = ( - 7141B07690C1A022A2BFFBBB, - DAB059DA13868A81301513F7, - 07342D914D2A5AF6075CDB2D, - 3CD47BA1CFEFB637DDEAC313, - 03B79DBA48F6C4122DABEE90, - 67895BDE8FA4B2A01E3B8B12, ); name = system; sourceTree = ""; }; - 61DC39E8E45840C4E9876585 = {isa = PBXGroup; children = ( - 03E91AE23ECCF51E3AF9FC90, - D19705FE67C941DA74C31A9D, - EAAFB86397B191FF3713155B, - E40FB3B047D27337B9A9CACA, ); name = xml; sourceTree = ""; }; - 044DA355DFC10789F7E2671A = {isa = PBXGroup; children = ( + 1F0D0EB1B4050C12D853EE7A = {isa = PBXGroup; children = ( BD7B0136829554046A511588, 9DCDB2CA1444618C4054A114, 1737596EB7F40322C0A5DE20, 5C58E6217AF57BD2A33ED617, ); name = javascript; sourceTree = ""; }; - 9EE7BD032D2E50758043A0FF = {isa = PBXGroup; children = ( - DB1C6393173661404927B4B7, - 6C03031AAE5A7C3372D4F1CF, - FBDBD56614E38BB5A5592D32, - 9F7AC745AA0588C821A014D0, - 3FAA5384DA8B28DEB5E57A5D, - DFAD61F886BEAAAE535BBF81, ); name = zip; sourceTree = ""; }; - 6BA585E8E2F21352228FF71C = {isa = PBXGroup; children = ( - 5878CA91071620345AB5B3C4, - 1E6EF8035485237EA92A1310, ); name = "unit_tests"; sourceTree = ""; }; - 246C87B7ECF29ACA118F0242 = {isa = PBXGroup; children = ( + 9D9E88B1E7B26F12DFABB224 = {isa = PBXGroup; children = ( + DEEA654926310D5B37A191C9, + 234D4927B398ED6E9B7B0E6B, + 5D43D909CB26D4A07A62A4F7, + D52EB7F089EF359EDCB199AF, ); name = logging; sourceTree = ""; }; + 9FF44145AC7186165B096D9B = {isa = PBXGroup; children = ( + BAE06A3352E39521CE5D94EB, + AD41400898312123119E987A, + A3D0C263C912566AECB57679, + AC42B6006776E1CE3A3A94A0, + 1B3CC8F665F23CB86253EBCE, + 4B8342C50F962C3F0AEE9830, + 8B7C0F839098C534A7B4C725, + B28F34DD7CABFD48B1EE3CCE, + CA025D4369C240E6FA30CE2B, + F16D0AF6B7D272E5E562CAA7, ); name = maths; sourceTree = ""; }; + 21694E74A96685CAAEF121A1 = {isa = PBXGroup; children = ( + E1AC4AB03052A8F3FF90FBA4, + 4BDEC9A0A09EEDC9D7BDB826, + 08EC867C77B028C336B79752, + 68097881EEDDE0FD03100CC5, + C0BA74AF0382D87B0E7BCEB3, + FAF4C6D8D1D59932F12DF6A7, + 8C6A342773288620A8CC2598, + ED5E6273C8910BF1F8CBDB9B, + 097237CCE04B9020343CB28D, + 61F0D5937E23A6A9EE8D479C, + F22781915698D59D4CBE984D, + 289C3977B67C1898AC3B974D, + 4A36826C3F710B92F0347A16, + ED7E17722B60B7D89188CE60, ); name = memory; sourceTree = ""; }; + F6346B11B8E1A04BC5D5D56F = {isa = PBXGroup; children = ( 9C17E6FC9A4D7C8734800649, 941219816EB5D7A2231019FA, D263FE9723F526617E111337, @@ -1378,7 +1258,7 @@ BACA17304411EED8B219D2AC, 98D247A4824D969367AFD0FB, F73B6D934AEC9887D9EBB5E2, ); name = misc; sourceTree = ""; }; - A37D31A95DAA40A87611411B = {isa = PBXGroup; children = ( + B74377D7C53A359BCE221589 = {isa = PBXGroup; children = ( 6238740697CA1F0746776243, A782FF0CD79464F3E015647E, DC3B995E7B51FC0B76826C86, @@ -1408,25 +1288,128 @@ 7DCF49E37B27971A7E597555, 843BE36A2285F73A3FBB5660, 40F0E944D041D96F2DA4C6A2, ); name = native; sourceTree = ""; }; + BF63DAE70123BCAFC477257A = {isa = PBXGroup; children = ( + 90B6C81CFB0DE386C673F62E, + 7639526FBF7A4F41961483ED, + 84ABA9491A70313AD6BF6F9A, + 6A22C06C6FE2B6B494B4878D, + A4F394FB62E70E3A3A02E4C7, + 8C3A6351780E678334FA1406, + 9E44079E499D4F4ECE55354A, + 2B57EB41D3962E3518B79FD8, + D6D37626671B0FB1CE8505C9, + DBFBBC58ED4A18EA9FE04D1D, ); name = network; sourceTree = ""; }; + FD5A6D60D0915F1970C5997B = {isa = PBXGroup; children = ( + 23936BBF807CCF5B1EEB9F00, + BDA5B0C014F6DCC188465060, + 6C502DF33FB5C14B8A67B25D, + 7E0DD06926DAC8EE93BD4F08, + 6421EA349C5D558114D36717, + 440A182A9068A8FBD011BE1A, + E5918150BDBDBCC3060C9FB3, + 47E70AF805B1C5C57566C4CB, + 52062790A5E737C8846A23A2, + ECD7A374DADD305C66141AF4, + 8945894D17A9407EEEE3B8BD, + 07E19FB806980020A47AA47D, + 803480FD5E7181E0D64FFC53, + B305ACE053406FF288E500F8, + D0AFF0790D81DB8F66173737, ); name = streams; sourceTree = ""; }; + 314A7534CB4D49F809F0BF86 = {isa = PBXGroup; children = ( + 7141B07690C1A022A2BFFBBB, + DAB059DA13868A81301513F7, + 07342D914D2A5AF6075CDB2D, + 3CD47BA1CFEFB637DDEAC313, + 03B79DBA48F6C4122DABEE90, + 67895BDE8FA4B2A01E3B8B12, ); name = system; sourceTree = ""; }; + 91164D440B0373CA535B7083 = {isa = PBXGroup; children = ( + 0511F904BECB48A221DFB2C6, + 8771F275A606BD89BF1401EA, + 5A854859042F6CD761688B25, + A42A97232CE0593D8D989FC1, + 8E407C1CF739A93FD2B3B38C, + 7AC8C094442A603DE6257BB1, + 4A86B4371AE4FC58D879962C, + D6ECAF8B2A4E8B6C97B89FFE, + 1AB9713046E08B68A6F672CF, + 22C4F82B505995F81CD682B5, + FF7A26DADF1579C43D80454F, + 916001804771DF943551AAEF, + 61797A8C01DC08E83AFA4540, + 935BCEB2593A51E53187ABC2, + D9FAC914CA572410C055D109, + 17B07A06764A6A7759804033, + 14245CED80854EC5291657FA, + 926063234BAFA6D29366E43E, + F4454839EB930FC98D63AED3, + 389B4E4055A779D0F6B22C5F, + 1450CD0879661355CD52DD8D, + F2A1FCAC1825462CD568D442, + F49471EE0681DBD1115D927B, + C0FDDD3106A13770B141E5F2, ); name = text; sourceTree = ""; }; + 688708DC79BD28776EA823B8 = {isa = PBXGroup; children = ( + 381AE52C082AE08E724CB954, + D11D931DAED4F636E8A60264, + EA5874F225E76DED69BD7132, + E7EC04A96E1CBFA9428A4B80, + 3AE89D0904EE985359A73B91, + A292587AA4633141BA378473, + F9609B0A0387932B86A6FABE, + 9F522CA5A8E82BF69E7403BF, + F5091F49E07C6DF8F644BAF0, + B409D881BE39C4704C94996C, + 69A2DA87D304FD486A872C1B, + 0AD4B355DBB0AED4C90E5657, + 91D09C7242A24405FB364449, + A9608756E1A18BAFCC48A064, + 44185DE135E354DD4758B3EA, + 426283CFD858F482E87F530B, + 6F6F888BFFA4BB40DD71285E, + 390351E336C2CF20C38ADB59, + 897B10399D1CA882B5B98D0F, + 7743414F79908801328D9F03, + DE4C0926D2EFA7649BD3AAA5, + 3E19A71C4A345EB5C1BA466D, ); name = threads; sourceTree = ""; }; + D09864D6DDED477C852879A6 = {isa = PBXGroup; children = ( + 24363F41974FD7A3B634B78B, + E21A45155C6954C6E50CCAF6, + 4ADE9EFB6C41DE44D40C9837, + CE19308F9CD1B8F05E6EF6C5, + ED8032A884A03337DAA1D453, + 5CDC0F220B1EAE847D38D1DE, ); name = time; sourceTree = ""; }; + 6BA585E8E2F21352228FF71C = {isa = PBXGroup; children = ( + 5878CA91071620345AB5B3C4, + 1E6EF8035485237EA92A1310, ); name = "unit_tests"; sourceTree = ""; }; + 39298D0127BDCAE2E3144D12 = {isa = PBXGroup; children = ( + 03E91AE23ECCF51E3AF9FC90, + D19705FE67C941DA74C31A9D, + EAAFB86397B191FF3713155B, + E40FB3B047D27337B9A9CACA, ); name = xml; sourceTree = ""; }; + 05EE727CE3A1D784FB93C1E5 = {isa = PBXGroup; children = ( + DB1C6393173661404927B4B7, + 6C03031AAE5A7C3372D4F1CF, + FBDBD56614E38BB5A5592D32, + 9F7AC745AA0588C821A014D0, + 3FAA5384DA8B28DEB5E57A5D, + DFAD61F886BEAAAE535BBF81, ); name = zip; sourceTree = ""; }; 5CF56D8EDFCB4673E75EB0E4 = {isa = PBXGroup; children = ( - 8C7AB91AFCAF2F99D0E906B0, - 6898E6C42CC9520DC26F9FBF, - 01A8BF73C8C9D282E9E58D7A, - DD57AFE6D9A0218912B3DD93, - 7A970EF4CD9FEB460B82CAB2, - A7DDE84C6BDC340DFEAC5C86, - 0B90B115C693F54D5DF8E732, - 9E9C1F84B44CA85F5F472594, - B87CA56B966A881DBF190AE7, - C0BC501BDABAB02545D8CED7, + 2A5C18F834AA6F3E36C144F9, + 308CA93871070CA129C6449C, + 1F0D0EB1B4050C12D853EE7A, + 9D9E88B1E7B26F12DFABB224, + 9FF44145AC7186165B096D9B, + 21694E74A96685CAAEF121A1, + F6346B11B8E1A04BC5D5D56F, + B74377D7C53A359BCE221589, + BF63DAE70123BCAFC477257A, + FD5A6D60D0915F1970C5997B, 314A7534CB4D49F809F0BF86, - 61DC39E8E45840C4E9876585, - 044DA355DFC10789F7E2671A, - 9EE7BD032D2E50758043A0FF, + 91164D440B0373CA535B7083, + 688708DC79BD28776EA823B8, + D09864D6DDED477C852879A6, 6BA585E8E2F21352228FF71C, - 246C87B7ECF29ACA118F0242, - A37D31A95DAA40A87611411B, - DA353BCF838D64BA343AC0E1, + 39298D0127BDCAE2E3144D12, + 05EE727CE3A1D784FB93C1E5, 74302B51B991EA1775AEFC67, ); name = "juce_core"; sourceTree = ""; }; A24377A329F782F1DF1A9E92 = {isa = PBXGroup; children = ( 9C05D3A33B0D7B6B2EA43C7A, @@ -1445,31 +1428,45 @@ 752AB8D433735A877FC90255 = {isa = PBXGroup; children = ( A24377A329F782F1DF1A9E92, D05EA809F9DB6CFD6B0BFEC0, - 19DC6BDBA978DC67B9783340, E109BFE0F2475C97F17CA5AF, ); name = "juce_cryptography"; sourceTree = ""; }; - 569E6262B6ED4B4C394F150B = {isa = PBXGroup; children = ( + B44515142E8B789A4E84B877 = {isa = PBXGroup; children = ( + 09846FF5D2FFB83242A02FF4, + B4769129853D2822D3DB38D1, + FBC55E440EF1EA83FC0DAA5A, + AF59758C300E586A7A6338D1, ); name = "app_properties"; sourceTree = ""; }; + F3B535506E5F093EB8206BDA = {isa = PBXGroup; children = ( + 616493921A733162495E7553, + 369C06F1DC7B3B7EB497D062, + F7E781AFAA34B511C812896A, ); name = undomanager; sourceTree = ""; }; + 8D4A79EA8498A5DEE3174813 = {isa = PBXGroup; children = ( 2E96848340E1C1B1095AC1F3, 9A4FCF66FF42906A7A2187A5, 2B1494112273ADF380C99FD3, 73CA6BCA313B0239842F298C, 7620FF4A73742FD6AC1579C2, BAE67F224C7BE2FB0B21BEE2, ); name = values; sourceTree = ""; }; - F3B535506E5F093EB8206BDA = {isa = PBXGroup; children = ( - 616493921A733162495E7553, - 369C06F1DC7B3B7EB497D062, - F7E781AFAA34B511C812896A, ); name = undomanager; sourceTree = ""; }; - E4B1CF3D54E0B5547CDF9A87 = {isa = PBXGroup; children = ( - 09846FF5D2FFB83242A02FF4, - B4769129853D2822D3DB38D1, - FBC55E440EF1EA83FC0DAA5A, - AF59758C300E586A7A6338D1, ); name = "app_properties"; sourceTree = ""; }; 670AA26A4F8D5CF111CE304F = {isa = PBXGroup; children = ( - 569E6262B6ED4B4C394F150B, + B44515142E8B789A4E84B877, F3B535506E5F093EB8206BDA, - E4B1CF3D54E0B5547CDF9A87, - FB81D25CF4825A9A186B6790, + 8D4A79EA8498A5DEE3174813, D3B4D56DE3F90D9A445A47A6, ); name = "juce_data_structures"; sourceTree = ""; }; - A9C383106F234D341DE730BA = {isa = PBXGroup; children = ( + 6C72C7479EA3F242A5BA33A0 = {isa = PBXGroup; children = ( + B32716A0B0702E6861726529, + 2DCAC1795F1B47C592E65D4E, + D7C8F6360C455C0F76E35978, + 59CAB9E5A0CBBC51342FC065, + E70034BF5EF1721B245C3079, + 142D03BC875BD387BD10C51F, + 5C62F423D8469A02E55BF59D, + 435858CCF38F47E9AAE1B08F, ); name = broadcasters; sourceTree = ""; }; + 8529362D0C77348A75BF0E23 = {isa = PBXGroup; children = ( + 6D3F3D0139FAC58B2BAA6047, + 9DC4092F746AB0F5A73D929D, + A587862CF3C96C6C648216A3, + DD73087B002B1DB6B90B666E, + 4F5DED2313FC69EA518E5679, + 1E020B9E032C076071700CEC, ); name = interprocess; sourceTree = ""; }; + 5B2171EA19BD6CA5F51EE315 = {isa = PBXGroup; children = ( EEBBCD11005AE9AD87B36F32, 868955327EBBD0C2C2447DB3, C5C3838D0FDC65F44C9D1A9A, @@ -1483,28 +1480,7 @@ A54AED02A4929ED6EB693CB9, AB856191A15A8C9016D974D5, CD965406DB7511EB187919E7, ); name = messages; sourceTree = ""; }; - F197372050DC8782B9089C8A = {isa = PBXGroup; children = ( - 7A029D97E723C7F1BDDCAA49, - F3A0B8ADF39FA8F15A6D8E23, - B6D9BF4B75784D01B7CDE1AF, - 7F2BBAF79EB32BB9904A76FF, ); name = timers; sourceTree = ""; }; - 59EA583396C9C41EDC94D5F6 = {isa = PBXGroup; children = ( - B32716A0B0702E6861726529, - 2DCAC1795F1B47C592E65D4E, - D7C8F6360C455C0F76E35978, - 59CAB9E5A0CBBC51342FC065, - E70034BF5EF1721B245C3079, - 142D03BC875BD387BD10C51F, - 5C62F423D8469A02E55BF59D, - 435858CCF38F47E9AAE1B08F, ); name = broadcasters; sourceTree = ""; }; - B90F0A1A63C3408C288F6D8C = {isa = PBXGroup; children = ( - 6D3F3D0139FAC58B2BAA6047, - 9DC4092F746AB0F5A73D929D, - A587862CF3C96C6C648216A3, - DD73087B002B1DB6B90B666E, - 4F5DED2313FC69EA518E5679, - 1E020B9E032C076071700CEC, ); name = interprocess; sourceTree = ""; }; - C271DA3D9CE655C433BB4DD3 = {isa = PBXGroup; children = ( + 9A526AB036E0D6BF6ABE16BE = {isa = PBXGroup; children = ( 88CC8BC2EA8CDB378A03FADA, 3C89D04328C83D2FDD4E5116, 89CBCB2D4660B56C1A939011, @@ -1513,13 +1489,17 @@ 93667813A711750790201F8D, AAA3ED492FF78DBBF86DC612, D219A10E7C41110A1AA4FBB9, ); name = native; sourceTree = ""; }; + E712420B9934AE1FB3D7D769 = {isa = PBXGroup; children = ( + 7A029D97E723C7F1BDDCAA49, + F3A0B8ADF39FA8F15A6D8E23, + B6D9BF4B75784D01B7CDE1AF, + 7F2BBAF79EB32BB9904A76FF, ); name = timers; sourceTree = ""; }; 4F8A65DC4E47B7CB0DB88369 = {isa = PBXGroup; children = ( - A9C383106F234D341DE730BA, - F197372050DC8782B9089C8A, - 59EA583396C9C41EDC94D5F6, - B90F0A1A63C3408C288F6D8C, - C271DA3D9CE655C433BB4DD3, - 7C7B6D8D155687966F681F5B, + 6C72C7479EA3F242A5BA33A0, + 8529362D0C77348A75BF0E23, + 5B2171EA19BD6CA5F51EE315, + 9A526AB036E0D6BF6ABE16BE, + E712420B9934AE1FB3D7D769, 63B031ABCF8DE5C94889823B, ); name = "juce_events"; sourceTree = ""; }; BA53DF8ABDA9DAD0F963BC8B = {isa = PBXGroup; children = ( C7D5A8B28D0B7DE58629AA04, @@ -1539,19 +1519,25 @@ 64807B3EFFBDC3348512901E, 123B63088FA1C4D1AD225CDB, 2FDA8843C89E2D7DFBE3FBFD, ); name = contexts; sourceTree = ""; }; - D5CDF20FB8932DEA5810EEE1 = {isa = PBXGroup; children = ( - BE61994F6993AE76CBBF1EAB, - 6911E01E967839199E4C9822, - F994D2E0DF00D0A7765068EF, - 2807A00AE6C4539CD935F56D, - 94FAC7EB87C8EBE67F68AD60, - 9FC1BB191F1EB657A181866D, - 3966D734450E72F5682D2F06, - DE4DC23FAE4C420D489ABD17, ); name = images; sourceTree = ""; }; - 2C9A23E9808933102222B6EB = {isa = PBXGroup; children = ( - 55D04DC4EA2F037CCD5DF9A6, - 244B9B4B8307A8C51207D457, - 4FB8B3386156F5702A20F7D8, ); name = "image_formats"; sourceTree = ""; }; + D8C9E3778A19A33D01667178 = {isa = PBXGroup; children = ( + 1B7AFDD8FCA13757D08B8B3E, + F0E4B5B18AAB82215F5C6AE1, + C296F214D5B65857DC3DA585, + E7488E12D0F3300AE33E0B9E, + 63EE49826BF4CFBD9D546DAC, ); name = effects; sourceTree = ""; }; + 5E39CF9549F3CB3A1194256C = {isa = PBXGroup; children = ( + A010D6D997B85A393165DAB3, + 44443DA5B0FDA2480DFBDFC7, + C6CD42F1DA2F444A59CD4AF0, + 2A771B60F7C360A111F75AC6, + 1A667A0FBCC8FC7EBBD15B20, + 6E0713769EA84EE0471D9811, + C73B4B312C3A4CE4F8E742C2, + 42BC8303198293E30AC0B21A, + 393D0CA8D89217F1F2504768, + F64C6AC0DC0376A80A74A82A, + EBDC0E12D4ED20F5DB90BC26, + A8A277CAF10A3FEB258174C2, ); name = fonts; sourceTree = ""; }; A0E5437DC111A1AAB63CCD16 = {isa = PBXGroup; children = ( CF4DDBE1126E8C8C3A37DC78, 2CFEB3BEABF88B0C41D94E94, @@ -1568,30 +1554,20 @@ A54B5504235B3324635B1DB3, 3AF114AC45249CDA77EF940E, B6BE7EF02190070336E63E89, ); name = geometry; sourceTree = ""; }; - FD44264B8C9437DCF22CE602 = {isa = PBXGroup; children = ( - 610F820C21D914E9794A36EE, - 7BA2EA5655704E5358ABAA9D, - 62EA5E33A940F30BBB56E293, ); name = placement; sourceTree = ""; }; - 5BFD15FEDAA57F0C3DA99850 = {isa = PBXGroup; children = ( - A010D6D997B85A393165DAB3, - 44443DA5B0FDA2480DFBDFC7, - C6CD42F1DA2F444A59CD4AF0, - 2A771B60F7C360A111F75AC6, - 1A667A0FBCC8FC7EBBD15B20, - 6E0713769EA84EE0471D9811, - C73B4B312C3A4CE4F8E742C2, - 42BC8303198293E30AC0B21A, - 393D0CA8D89217F1F2504768, - F64C6AC0DC0376A80A74A82A, - EBDC0E12D4ED20F5DB90BC26, - A8A277CAF10A3FEB258174C2, ); name = fonts; sourceTree = ""; }; - 2925596DB97C0571478FCE48 = {isa = PBXGroup; children = ( - 1B7AFDD8FCA13757D08B8B3E, - F0E4B5B18AAB82215F5C6AE1, - C296F214D5B65857DC3DA585, - E7488E12D0F3300AE33E0B9E, - 63EE49826BF4CFBD9D546DAC, ); name = effects; sourceTree = ""; }; - E62D8A1F0BDD00ABB882F291 = {isa = PBXGroup; children = ( + 79A5219374E6756FF971664D = {isa = PBXGroup; children = ( + 55D04DC4EA2F037CCD5DF9A6, + 244B9B4B8307A8C51207D457, + 4FB8B3386156F5702A20F7D8, ); name = "image_formats"; sourceTree = ""; }; + F40A8E7A89BD0741CD421D14 = {isa = PBXGroup; children = ( + BE61994F6993AE76CBBF1EAB, + 6911E01E967839199E4C9822, + F994D2E0DF00D0A7765068EF, + 2807A00AE6C4539CD935F56D, + 94FAC7EB87C8EBE67F68AD60, + 9FC1BB191F1EB657A181866D, + 3966D734450E72F5682D2F06, + DE4DC23FAE4C420D489ABD17, ); name = images; sourceTree = ""; }; + 8AF78E75B080A1A3AEDC11BC = {isa = PBXGroup; children = ( 9D61877D2691EB78B2ED69EA, E9C249D9F38B0DFAF0823653, 8EA18CA66CABC9B5087DBDD2, @@ -1605,19 +1581,54 @@ C884444C380A4B053DB70D12, F36959B167E88B220CF9D8FE, F2040E4B76F8783B471CECED, ); name = native; sourceTree = ""; }; + B5AAB8015CFAE87E76463E28 = {isa = PBXGroup; children = ( + 610F820C21D914E9794A36EE, + 7BA2EA5655704E5358ABAA9D, + 62EA5E33A940F30BBB56E293, ); name = placement; sourceTree = ""; }; B78A49A94757B1530E3E282B = {isa = PBXGroup; children = ( BA53DF8ABDA9DAD0F963BC8B, 88878CC1561F13CF681027E9, - D5CDF20FB8932DEA5810EEE1, - 2C9A23E9808933102222B6EB, + D8C9E3778A19A33D01667178, + 5E39CF9549F3CB3A1194256C, A0E5437DC111A1AAB63CCD16, - FD44264B8C9437DCF22CE602, - 5BFD15FEDAA57F0C3DA99850, - 2925596DB97C0571478FCE48, - E62D8A1F0BDD00ABB882F291, - 241453DBDECBE0CCD5C096DE, + 79A5219374E6756FF971664D, + F40A8E7A89BD0741CD421D14, + 8AF78E75B080A1A3AEDC11BC, + B5AAB8015CFAE87E76463E28, 7022B01ECEE7000DE6008C0A, ); name = "juce_graphics"; sourceTree = ""; }; - 978A5EA7C209E97691DF1580 = {isa = PBXGroup; children = ( + F3F914B378BE070342BC4E19 = {isa = PBXGroup; children = ( + B189762C440B38635351E0A3, + 47E5FB5735D2EC8B039D2691, ); name = application; sourceTree = ""; }; + 6E8C672055A488EC80EB407D = {isa = PBXGroup; children = ( + 782E3434FEA190A986EAC816, + E6BA3A4991987C4AB55F5948, + 93CC262389F622F8AB79CA60, + 02C14E49091F42750CD72F00, + 35E6F6325AF8463C076BA594, + 92DF4A828DC5CE370E36044C, + 0B7E069D09A7E46448EAE230, + F16734BCF880A8180C06018D, + D0B5B79546163A6DE73D0E2E, + F4A977844BD67D5C2BEFCDDC, + 5AAE605D230E253D4EAC195E, + 4408766B366713F55707B7A8, + 6BE6A3A14057591A3B4EF2C4, + CB4D4DA89BA649D3F1B2A645, + F2DDCDF62D2587FB565A442A, + B88950266CC4244E1B5394F2, + C088D98E527C1DA17B55A9D9, + B70E52FF75D44F0F1F0B31D2, ); name = buttons; sourceTree = ""; }; + A8BDF1FB3C6C3984A61F51B1 = {isa = PBXGroup; children = ( + 4F5D668DCEF2B622FD46073D, + 791ADFB0FFAEE65058B6FC8A, + 0DB1323191C133E48F07C062, + D26821159E190113FEBF99BA, + A0F2EAF085969426AC73C85D, + D4BA573C125944E2773D747F, + 0D265DF78A9FE5E669F76FC3, + 9211B175E63E325D4FF6B789, + 3C825AE2479611DA559164B5, ); name = commands; sourceTree = ""; }; + 002D74DFAC7CD3DFD4223AA7 = {isa = PBXGroup; children = ( 2A59F5E28F97A435592E0B58, 4A31DFDB7AC330488B8BBEA3, FEA645D52C593ECCEA779BAF, @@ -1627,28 +1638,46 @@ 5384C065CDEB3032907ECCAF, 8001506F637B2516AAC5C0D8, 0B7637C0030C06BE612E41E8, ); name = components; sourceTree = ""; }; - 0A15D9E1577644179886B0D6 = {isa = PBXGroup; children = ( - 89F5A5C12916F02E579D6394, - 1D9FABE954892C169D874E35, - A5DEEB6DADAA5AB2CF41A880, - 8102EBF90140E78193692AEB, - CC8F24C4E5FC5C12AA30F6CF, - 36A0FF58D355147F40981C39, - 38404F97E5118017DFDCDEC4, - 5A5749D0A878955C964DD2C5, - B3261106892038D4F954E6F9, - 833CD270A139A70FF4E60D35, - F38F8132499ADBD3344E8449, - 61473E0A6AF9B900406695B8, - 8DE969191661B557B4222D50, - 19E9997C0FE3E36156141D64, - 57A0BF533D7A7B57321A8174, - 2819AE973B501D15AAB8C937, - C8A5AD5503F33596C4147ACB, - 72696E2F6E8EB43A8E604390, - ABA2E1FE9912D5C28F177E56, - 8B539DB72CC92EEC7F96C8E6, ); name = mouse; sourceTree = ""; }; - FE8E15A77FCDCB00FBF381DC = {isa = PBXGroup; children = ( + 7A2AC3DF7ED7BF002216E665 = {isa = PBXGroup; children = ( + CEC05A60A0E19B07F6A3CE6B, + 5BBC57B395B553CE08AC4BD7, + 94BFC3162953A5E7E192276A, + 2168310E25BD55C9A46499C6, + 92BB22C929A3A76CE6F29C7A, + CE4F0A27AAADFD53316A17BC, + D00157FA3D14BFECB7FE7232, + FD5E948C1A89B11770A20704, + B54A14A497368A580B7D9AEB, + 16ECB71D0D2C5C8BEFF4B4C6, + 8BE44C96A60C5D9B9F503409, + 6E9C1F4D69A9C99433DC67C6, + EE577E6ABD70D104CD83186C, + F0D54DDE8C2AD1D018A61FDB, + C21701DD3A4A2628C63CB70A, ); name = drawables; sourceTree = ""; }; + E430567984978C23136C9EB8 = {isa = PBXGroup; children = ( + D7E612935BA192BF5D24B9A3, + F382E14FAFF5CDEBFEA81B00, + 98C77B9D95141EBC60E6AE67, + F3154C77D5DFCE8D71084F23, + 27A9B065352AE36635780373, + B57640F7EDADCFE17719EE68, + D8256B8AA794F43A2259638A, + 0D35F0A502484A40B09F3EBF, + C52E8074125FEED4DB727EDF, + 90BE189372A13866896CE817, + 4ABF36D87D2BBEDA4DE28A4E, + 1FD6FD7218AB240D23DF4BAD, + 2D8FC1F116F882698F5CFEB9, + C51A754A0E65CA141A2C3310, + C551CC8801B93AC70F6E4F76, + 830ADB6740EF70992E71895F, + 3BF23F0B71FB8E526E895905, + FD05E73E3F022E08D70B9569, + 27DC413550834C828252B003, + BC1DBF05964D3B9130CD8CB6, + C3DEEC17595B1AB020ADA47F, + 67771057800F9416E9777625, ); name = filebrowser; sourceTree = ""; }; + 6436AA3E0ADF60193371CE2E = {isa = PBXGroup; children = ( 46D8BC7303C892ED3F90E4DA, 29710D5E6C3372E4480BF746, 38D15A30D4658272F910A7AB, @@ -1662,62 +1691,7 @@ 74B477DE4CFC95E20DBB0D91, B0626D2C611D9E3DF1408BEA, 90FEA7DB5EFC4E9B2E933056, ); name = keyboard; sourceTree = ""; }; - 5D48FC8B43CBDC08DB9531D9 = {isa = PBXGroup; children = ( - 0C9B04C3B7D8E1CE4FAC6FF6, - 5383E87DC6DC1D251C271A50, - EA779F8A580E3D22A7CBD51E, - E958ECCACCCE70690FAE58B9, - 5D4A62D4893C16D7B17C6A43, - 0F16DEEC2C4B95E3A9F28CE5, - 32A667DB98BC4EB30C51F20B, - 60D8280577C14A7D3F67563D, - A95D718F031CB8883DFDE915, - 7D8D285B8414388FDB083AFF, - 23724FEF549E05851817B4BB, - 65DF385E92A4A65760DC3BD0, - 3D16FF3C64D4248C0C6FF504, - 27676EBA6012198993C2CBA0, - 68743DE3AA833D6F02F754D7, - 9F70142818A7806830EEBD7C, - 44FC8BD37CFE8C0D851C46F9, - 842433A42308565BF3C1542A, - 74AB51B6E97964B27B1CD019, - 7BC8F7015F35BAFF4AEDA0E6, - E5B84D5F7CF2B74715EEF3B3, - 66CEE40E51335F661B5C5C66, - 260A5BDC20C7B4029DB418E4, - 44C6568EC00F1682FBCD3B69, - F26953C1E056357A3DFDF35C, - A826C1C083678A4E9279C118, - 6DE6751E6A4F0DDE9C7F24B3, ); name = widgets; sourceTree = ""; }; - F4827EC22DDE876BA01A1012 = {isa = PBXGroup; children = ( - 8314FE695F91DA2FAB51920E, - DC6461EF11D5745DF8C00E16, - 464424DDD6A6678B94CE667F, - 2B9BAEF9C46C224088F5BB25, - 4BAF7C54867DA3C275C2F59D, - 6A8AC5E55EE51EE0476D852F, - FDA36D1F836D00DE705CD06F, - FF1F4F1262BB429E80492B13, - BF40FF2E0FA609212C849FBC, - 766EE2CCD4E86729C6CE8112, - 8E95A3B7C194244B92D5D65A, - D5C10F9CC5ADFC1B63AD1DB9, - 166BDAF3B9896BCB3771A061, - 0346DBE09BEC27EA93676FEB, - E9A4C91E94B6D096BD8217D7, - 8683CDE5FD2DFCB2CFC8F410, - EA13B2FC256C7BCF0900369E, - 27240E9968C04288887BFDC7, - 25869F2A5B90C64E857606D8, ); name = windows; sourceTree = ""; }; - EC71C6DC0803DBC6F5B71C8B = {isa = PBXGroup; children = ( - C9A25E2EF32224159B617D5E, - 0054E026B84A3A87020CCE48, - DA98B32DCA0DEF0113C22F9A, - 500F7CB9F45B62E46F4BBA57, - 595A9929C0E873C30AC9AA87, - 439FC260CD869E30210D98BF, ); name = menus; sourceTree = ""; }; - E30E1398A3CACDD90FC9C219 = {isa = PBXGroup; children = ( + 4C2716CC50A182F2A17A9E08 = {isa = PBXGroup; children = ( F4F618373A81FDC73AB27A91, 799472026100D7BAE015F6A6, 34A6FFC298D12BF9E4D55AA1, @@ -1754,72 +1728,7 @@ 4658E12862C546A62E05E4D3, D886106C60A496E47C48AFB4, 374277A96D9830E45684FDD8, ); name = layout; sourceTree = ""; }; - 3826467DFB859364DD1392F0 = {isa = PBXGroup; children = ( - 782E3434FEA190A986EAC816, - E6BA3A4991987C4AB55F5948, - 93CC262389F622F8AB79CA60, - 02C14E49091F42750CD72F00, - 35E6F6325AF8463C076BA594, - 92DF4A828DC5CE370E36044C, - 0B7E069D09A7E46448EAE230, - F16734BCF880A8180C06018D, - D0B5B79546163A6DE73D0E2E, - F4A977844BD67D5C2BEFCDDC, - 5AAE605D230E253D4EAC195E, - 4408766B366713F55707B7A8, - 6BE6A3A14057591A3B4EF2C4, - CB4D4DA89BA649D3F1B2A645, - F2DDCDF62D2587FB565A442A, - B88950266CC4244E1B5394F2, - C088D98E527C1DA17B55A9D9, - B70E52FF75D44F0F1F0B31D2, ); name = buttons; sourceTree = ""; }; - B2943EF1FA5DBD81A406374F = {isa = PBXGroup; children = ( - D5EC3B41088855C3D481A73E, - CD3A68C29B7A733E5954BDA3, - 76F1A69F15F53D17C632A644, - 14AB997C7EB22777C1EF533C, - 51026A3BE98FD70FD916CF45, - D3C1097E92146B596194A067, - B316291E570F37785C40FE88, - FA2DB83279928FFB76A4BC6E, - 4E3C26EE8C6F996F207F0C32, - 1DE0CF80B807A4A702DC68BD, - 21D31B64BAD35C6C8E8E8FC0, - 29215FCE04DC4D267FF25E6C, - 412D5D6AA4018C8DF59AB741, - 807E7971CB75C806D7DB5DF2, ); name = positioning; sourceTree = ""; }; - B2AAEBDCA5147C75A44D4791 = {isa = PBXGroup; children = ( - CEC05A60A0E19B07F6A3CE6B, - 5BBC57B395B553CE08AC4BD7, - 94BFC3162953A5E7E192276A, - 2168310E25BD55C9A46499C6, - 92BB22C929A3A76CE6F29C7A, - CE4F0A27AAADFD53316A17BC, - D00157FA3D14BFECB7FE7232, - FD5E948C1A89B11770A20704, - B54A14A497368A580B7D9AEB, - 16ECB71D0D2C5C8BEFF4B4C6, - 8BE44C96A60C5D9B9F503409, - 6E9C1F4D69A9C99433DC67C6, - EE577E6ABD70D104CD83186C, - F0D54DDE8C2AD1D018A61FDB, - C21701DD3A4A2628C63CB70A, ); name = drawables; sourceTree = ""; }; - 0EADBF64826A3D243FB6E1DD = {isa = PBXGroup; children = ( - F20F182CBEF008AA1B1BB52A, - 0C61EC70BD4EA59AEEBB6669, - A1A621FDC626245B1B3C1C4D, - 9424FDB8C564B73250B7B20A, - 0ECA7867513EFA30BEA0BE78, - 4F2D3BD9697AAFA060EAAA59, - 20E10FBD8694E185CA551EDE, - 109C128BB4A7A05127A0C485, - 6B103C0FB5E6E3618ECD3B48, - EF8B8FB4B02133457562E1F4, - 7FC89C1EEB42DE3C9628591C, - FB3BE7E3D0A04791487E9E0C, - 1A788BE93E528FDAA62EA02B, - DAC4442F8C2F142270E92349, ); name = properties; sourceTree = ""; }; - 1E19112B929FF59057A4B030 = {isa = PBXGroup; children = ( + D5A000FD67F2096CB3496C58 = {isa = PBXGroup; children = ( 0700C7069E1CF3FF8966C0E3, 4CF92825BE7B97AC268C2AA5, 56985D9599D0D1D00B42F95B, @@ -1828,48 +1737,40 @@ 31AE430D2372CF6283185033, B3FBDBEBC38720E957C15BE9, 69449AB58A9C0AB552F754F4, ); name = lookandfeel; sourceTree = ""; }; - 1206D5C335340736A3A574B9 = {isa = PBXGroup; children = ( - D7E612935BA192BF5D24B9A3, - F382E14FAFF5CDEBFEA81B00, - 98C77B9D95141EBC60E6AE67, - F3154C77D5DFCE8D71084F23, - 27A9B065352AE36635780373, - B57640F7EDADCFE17719EE68, - D8256B8AA794F43A2259638A, - 0D35F0A502484A40B09F3EBF, - C52E8074125FEED4DB727EDF, - 90BE189372A13866896CE817, - 4ABF36D87D2BBEDA4DE28A4E, - 1FD6FD7218AB240D23DF4BAD, - 2D8FC1F116F882698F5CFEB9, - C51A754A0E65CA141A2C3310, - C551CC8801B93AC70F6E4F76, - 830ADB6740EF70992E71895F, - 3BF23F0B71FB8E526E895905, - FD05E73E3F022E08D70B9569, - 27DC413550834C828252B003, - BC1DBF05964D3B9130CD8CB6, - C3DEEC17595B1AB020ADA47F, - 67771057800F9416E9777625, ); name = filebrowser; sourceTree = ""; }; - 53440A90525AC832090A35F2 = {isa = PBXGroup; children = ( - 4F5D668DCEF2B622FD46073D, - 791ADFB0FFAEE65058B6FC8A, - 0DB1323191C133E48F07C062, - D26821159E190113FEBF99BA, - A0F2EAF085969426AC73C85D, - D4BA573C125944E2773D747F, - 0D265DF78A9FE5E669F76FC3, - 9211B175E63E325D4FF6B789, - 3C825AE2479611DA559164B5, ); name = commands; sourceTree = ""; }; - 815FFA61CB68244C4BFA9A78 = {isa = PBXGroup; children = ( + 108FC35010457F8E1988F87B = {isa = PBXGroup; children = ( + C9A25E2EF32224159B617D5E, + 0054E026B84A3A87020CCE48, + DA98B32DCA0DEF0113C22F9A, + 500F7CB9F45B62E46F4BBA57, + 595A9929C0E873C30AC9AA87, + 439FC260CD869E30210D98BF, ); name = menus; sourceTree = ""; }; + 0579A19D6E12C48842045E07 = {isa = PBXGroup; children = ( E6D8902FFF0C8CDBB3E4BEA3, F0B46A9181B1707349A20399, FAB998A70437EE4D89CABE2F, 96E4B48CF055ED116E5CB3AB, ); name = misc; sourceTree = ""; }; - 8B10235D6698BCD336ECB195 = {isa = PBXGroup; children = ( - B189762C440B38635351E0A3, - 47E5FB5735D2EC8B039D2691, ); name = application; sourceTree = ""; }; - 3900F1137E25F9A2DEDF4119 = {isa = PBXGroup; children = ( + 7FF4DF540742C1E718D1F469 = {isa = PBXGroup; children = ( + 89F5A5C12916F02E579D6394, + 1D9FABE954892C169D874E35, + A5DEEB6DADAA5AB2CF41A880, + 8102EBF90140E78193692AEB, + CC8F24C4E5FC5C12AA30F6CF, + 36A0FF58D355147F40981C39, + 38404F97E5118017DFDCDEC4, + 5A5749D0A878955C964DD2C5, + B3261106892038D4F954E6F9, + 833CD270A139A70FF4E60D35, + F38F8132499ADBD3344E8449, + 61473E0A6AF9B900406695B8, + 8DE969191661B557B4222D50, + 19E9997C0FE3E36156141D64, + 57A0BF533D7A7B57321A8174, + 2819AE973B501D15AAB8C937, + C8A5AD5503F33596C4147ACB, + 72696E2F6E8EB43A8E604390, + ABA2E1FE9912D5C28F177E56, + 8B539DB72CC92EEC7F96C8E6, ); name = mouse; sourceTree = ""; }; + 8D32104A13F2A95938ABCC1C = {isa = PBXGroup; children = ( 61E1C2246CBD45C5A1F40102, 8866CF798E9F84C49B9D7DCC, E1868998BA7B20DF7ED0B5E1, @@ -1886,25 +1787,102 @@ 562E99EE1A4B733B7F751955, 90841E3B0B2548A5BD66F15E, F95533D725E548643CA584D7, ); name = native; sourceTree = ""; }; + 46739B12FAE8D2D2040ACFD1 = {isa = PBXGroup; children = ( + D5EC3B41088855C3D481A73E, + CD3A68C29B7A733E5954BDA3, + 76F1A69F15F53D17C632A644, + 14AB997C7EB22777C1EF533C, + 51026A3BE98FD70FD916CF45, + D3C1097E92146B596194A067, + B316291E570F37785C40FE88, + FA2DB83279928FFB76A4BC6E, + 4E3C26EE8C6F996F207F0C32, + 1DE0CF80B807A4A702DC68BD, + 21D31B64BAD35C6C8E8E8FC0, + 29215FCE04DC4D267FF25E6C, + 412D5D6AA4018C8DF59AB741, + 807E7971CB75C806D7DB5DF2, ); name = positioning; sourceTree = ""; }; + 61D32B34996FF01EA0714CCD = {isa = PBXGroup; children = ( + F20F182CBEF008AA1B1BB52A, + 0C61EC70BD4EA59AEEBB6669, + A1A621FDC626245B1B3C1C4D, + 9424FDB8C564B73250B7B20A, + 0ECA7867513EFA30BEA0BE78, + 4F2D3BD9697AAFA060EAAA59, + 20E10FBD8694E185CA551EDE, + 109C128BB4A7A05127A0C485, + 6B103C0FB5E6E3618ECD3B48, + EF8B8FB4B02133457562E1F4, + 7FC89C1EEB42DE3C9628591C, + FB3BE7E3D0A04791487E9E0C, + 1A788BE93E528FDAA62EA02B, + DAC4442F8C2F142270E92349, ); name = properties; sourceTree = ""; }; + 3861FCBE4237CD3AE8EB7418 = {isa = PBXGroup; children = ( + 0C9B04C3B7D8E1CE4FAC6FF6, + 5383E87DC6DC1D251C271A50, + EA779F8A580E3D22A7CBD51E, + E958ECCACCCE70690FAE58B9, + 5D4A62D4893C16D7B17C6A43, + 0F16DEEC2C4B95E3A9F28CE5, + 32A667DB98BC4EB30C51F20B, + 60D8280577C14A7D3F67563D, + A95D718F031CB8883DFDE915, + 7D8D285B8414388FDB083AFF, + 23724FEF549E05851817B4BB, + 65DF385E92A4A65760DC3BD0, + 3D16FF3C64D4248C0C6FF504, + 27676EBA6012198993C2CBA0, + 68743DE3AA833D6F02F754D7, + 9F70142818A7806830EEBD7C, + 44FC8BD37CFE8C0D851C46F9, + 842433A42308565BF3C1542A, + 74AB51B6E97964B27B1CD019, + 7BC8F7015F35BAFF4AEDA0E6, + E5B84D5F7CF2B74715EEF3B3, + 66CEE40E51335F661B5C5C66, + 260A5BDC20C7B4029DB418E4, + 44C6568EC00F1682FBCD3B69, + F26953C1E056357A3DFDF35C, + A826C1C083678A4E9279C118, + 6DE6751E6A4F0DDE9C7F24B3, ); name = widgets; sourceTree = ""; }; + 9686865DA3BD68964F43A435 = {isa = PBXGroup; children = ( + 8314FE695F91DA2FAB51920E, + DC6461EF11D5745DF8C00E16, + 464424DDD6A6678B94CE667F, + 2B9BAEF9C46C224088F5BB25, + 4BAF7C54867DA3C275C2F59D, + 6A8AC5E55EE51EE0476D852F, + FDA36D1F836D00DE705CD06F, + FF1F4F1262BB429E80492B13, + BF40FF2E0FA609212C849FBC, + 766EE2CCD4E86729C6CE8112, + 8E95A3B7C194244B92D5D65A, + D5C10F9CC5ADFC1B63AD1DB9, + 166BDAF3B9896BCB3771A061, + 0346DBE09BEC27EA93676FEB, + E9A4C91E94B6D096BD8217D7, + 8683CDE5FD2DFCB2CFC8F410, + EA13B2FC256C7BCF0900369E, + 27240E9968C04288887BFDC7, + 25869F2A5B90C64E857606D8, ); name = windows; sourceTree = ""; }; 9A76685D3735D1F1DB8E4DB3 = {isa = PBXGroup; children = ( - 978A5EA7C209E97691DF1580, - 0A15D9E1577644179886B0D6, - FE8E15A77FCDCB00FBF381DC, - 5D48FC8B43CBDC08DB9531D9, - F4827EC22DDE876BA01A1012, - EC71C6DC0803DBC6F5B71C8B, - E30E1398A3CACDD90FC9C219, - 3826467DFB859364DD1392F0, - B2943EF1FA5DBD81A406374F, - B2AAEBDCA5147C75A44D4791, - 0EADBF64826A3D243FB6E1DD, - 1E19112B929FF59057A4B030, - 1206D5C335340736A3A574B9, - 53440A90525AC832090A35F2, - 815FFA61CB68244C4BFA9A78, - 8B10235D6698BCD336ECB195, - 3900F1137E25F9A2DEDF4119, - 0E8D536FEBD11AEA3C90B5A8, + F3F914B378BE070342BC4E19, + 6E8C672055A488EC80EB407D, + A8BDF1FB3C6C3984A61F51B1, + 002D74DFAC7CD3DFD4223AA7, + 7A2AC3DF7ED7BF002216E665, + E430567984978C23136C9EB8, + 6436AA3E0ADF60193371CE2E, + 4C2716CC50A182F2A17A9E08, + D5A000FD67F2096CB3496C58, + 108FC35010457F8E1988F87B, + 0579A19D6E12C48842045E07, + 7FF4DF540742C1E718D1F469, + 8D32104A13F2A95938ABCC1C, + 46739B12FAE8D2D2040ACFD1, + 61D32B34996FF01EA0714CCD, + 3861FCBE4237CD3AE8EB7418, + 9686865DA3BD68964F43A435, D104C8636576DFE8A2D11430, ); name = "juce_gui_basics"; sourceTree = ""; }; 45216CE44016DA606FE98125 = {isa = PBXGroup; children = ( A7B28AD8606992FBE04C527C, @@ -1966,9 +1944,21 @@ 5BF35BC9897465D83C81C086, 2E8513968E4CDE8852D85EFA, 626453A346165A7A0C138828, - D57735149DD4975283A0C754, 37381332DDDE8F2B3C66CBDE, ); name = "juce_gui_extra"; sourceTree = ""; }; - A33BC9FA8A99B01DC485E60D = {isa = PBXGroup; children = ( + 340948834A1BFAA214D45C6D = {isa = PBXGroup; children = ( + 5B5180DAAB935CB6D1DE9AA6, + 2C246301EE0EC4A9B4058F01, + DC94270BB4A70056907C3CDD, + 75D038033B2083D5EFE620A8, ); name = geometry; sourceTree = ""; }; + 602D8125D43350E1F160E440 = {isa = PBXGroup; children = ( + 11D8AE26FA8880E7E8F3B4EB, + 518E9E553CD9F7D215B75B88, + EC9898734E8AFE5215705476, + 9DC79DF0A43DA6B06B7B1F44, + CF4E3CDCC9837C7E52197686, + 495EAFDB9DE4E8E7DBA562D4, + 877ED7656241F46291022910, ); name = native; sourceTree = ""; }; + 3BDAD3F8CFBFF524A098B150 = {isa = PBXGroup; children = ( A09CB6FA9736BD45103AFF46, CDFAC8C57A364EEE32CE125E, 166C141D440846E85F91747E, @@ -1986,47 +1976,32 @@ 08C7B33308A32555A7CA21B5, 5C0E42BCF4ED32E1381E7A23, 9CC0E3267A9D1EF3C8E37601, ); name = opengl; sourceTree = ""; }; - 07ADD7BA5A96F719EDBCA037 = {isa = PBXGroup; children = ( - 5B5180DAAB935CB6D1DE9AA6, - 2C246301EE0EC4A9B4058F01, - DC94270BB4A70056907C3CDD, - 75D038033B2083D5EFE620A8, ); name = geometry; sourceTree = ""; }; - 03621233E269E436B447C841 = {isa = PBXGroup; children = ( + 2D8E3CBFBCE94F83A9D9C810 = {isa = PBXGroup; children = ( 44ADFB25768FA3BF27762EBF, A058E50779879A7D9A813A4C, ); name = utils; sourceTree = ""; }; - FC95F4C8E60C31B039992722 = {isa = PBXGroup; children = ( - 11D8AE26FA8880E7E8F3B4EB, - 518E9E553CD9F7D215B75B88, - EC9898734E8AFE5215705476, - 9DC79DF0A43DA6B06B7B1F44, - CF4E3CDCC9837C7E52197686, - 495EAFDB9DE4E8E7DBA562D4, - 877ED7656241F46291022910, ); name = native; sourceTree = ""; }; 0707779F272B825E3DF1560B = {isa = PBXGroup; children = ( - A33BC9FA8A99B01DC485E60D, - 07ADD7BA5A96F719EDBCA037, - 03621233E269E436B447C841, - FC95F4C8E60C31B039992722, - 8D3FB0417A39CAEC03D44D73, + 340948834A1BFAA214D45C6D, + 602D8125D43350E1F160E440, + 3BDAD3F8CFBFF524A098B150, + 2D8E3CBFBCE94F83A9D9C810, 4F96BFF5D1D40B81C861F92F, ); name = "juce_opengl"; sourceTree = ""; }; - 62479F93E90EEE65EEC01FDA = {isa = PBXGroup; children = ( - B83DDFEEA66888E9616BCE82, - F113DFEACAF2D8230F0DF5E7, ); name = playback; sourceTree = ""; }; - 616C504727E4806B3BB3980F = {isa = PBXGroup; children = ( + 4B719AF01FFBE4CA2FD14F9F = {isa = PBXGroup; children = ( DD03B6CE6F750A9CECA7EDEA, 611A0824757D50610BB03562, ); name = capture; sourceTree = ""; }; - E545E915D753CB44657CFE99 = {isa = PBXGroup; children = ( + 8493C7022F377FEC07CFF040 = {isa = PBXGroup; children = ( 87E61959D8EA529461A0D257, E0FCA8F19A081CE941B273FA, 11ACB77A3D91503A3DF673C8, ACAC59A1C54DC52E8E2438CC, A281FFA1C7E3AFB8246FD577, 71881F8A6973AACD78ABA719, ); name = native; sourceTree = ""; }; + 802AB2803D9F6242DC1B0A16 = {isa = PBXGroup; children = ( + B83DDFEEA66888E9616BCE82, + F113DFEACAF2D8230F0DF5E7, ); name = playback; sourceTree = ""; }; 397907CF13C78C70801F14D4 = {isa = PBXGroup; children = ( - 62479F93E90EEE65EEC01FDA, - 616C504727E4806B3BB3980F, - E545E915D753CB44657CFE99, - 254D157C0CCE3C7EA022F4CE, + 4B719AF01FFBE4CA2FD14F9F, + 8493C7022F377FEC07CFF040, + 802AB2803D9F6242DC1B0A16, 693B6DC20214C1ED9C1E89F7, ); name = "juce_video"; sourceTree = ""; }; 7E2ABB7F81888EB9DF84E4C1 = {isa = PBXGroup; children = ( AF12826F0B38E7FC1176C648, @@ -2044,22 +2019,22 @@ 397907CF13C78C70801F14D4, ); name = "Juce Modules"; sourceTree = ""; }; 5B8C542DD6E060115171CF66 = {isa = PBXGroup; children = ( A67C5701B28E64F889A92422, - C1070E62B763F1CCE0BB18F0, - DD19124F0A7FD43F31BDEB87, - 987AD2821B6419D5FEDCBD7A, - AD405DDE86D07F955E27EBF8, - B7DD84C8B05ABA4A6915E77E, - 33E449DEA1FC0CD4CAA3A829, - 14BB261A450674034E6080F2, - CC0B7738BD544B955D81BF1E, - 4B27A11ADAC0D9957BBBCD3E, - 27B720A5E8CF81ABF9E50848, - D8BAA82AC820CEF315BD9DCB, - 21CF5364CD4910E49D19F8E2, - 6018A3A37F34AE52B39A14D5, + 05CF05C4A0B41E4E3B505016, + DC5C7E82429CF94928EC055A, + 7B08326361CAD0A8C35218C0, + DCCC723F8E6D3F6445318CB4, + 73A1A4EC47BB161DAF61D31C, + 2AF1C1B6A582BD96CCE01452, + EAE15C1AC2F25A7EB7A2F2C4, + FF283714432D1C916EC19072, + 56FB775B9F539EA13D18C32C, + 71710A47E019BA95D2DB86FF, + 42CDCB2F2DB39A7822A8ED11, + 222D7B201FE37D4B96BF571E, + DC6550969FBDB187169D124B, 274569E245BFB279247B4ECC, ); name = "Juce Library Code"; sourceTree = ""; }; 9AF618BFAFEABB193C0E7D1A = {isa = PBXGroup; children = ( - FF3D4768BC96B79F49B10894, + 98474FB10BB003823EEC8759, 4F582012EC867318FB3781BB, ); name = Resources; sourceTree = ""; }; 31F4A77234EA04C6F3F431E7 = {isa = PBXGroup; children = ( 859E13C66F2193112084D1B9, @@ -2074,7 +2049,7 @@ 3B5B55FF08F71060B836F5DB, 30B85C7478732E3A6997065D, ); name = Frameworks; sourceTree = ""; }; 7CA50BE1660DF7427A2CAFE2 = {isa = PBXGroup; children = ( - A748C987924800FDBA2E2184, ); name = Products; sourceTree = ""; }; + CBF69B3CBCD089CD7DC8343C, ); name = Products; sourceTree = ""; }; E2839CF91E2C633A933666F4 = {isa = PBXGroup; children = ( C69760E59D600CF000D468E8, 7E2ABB7F81888EB9DF84E4C1, @@ -2082,7 +2057,7 @@ 9AF618BFAFEABB193C0E7D1A, 31F4A77234EA04C6F3F431E7, 7CA50BE1660DF7427A2CAFE2, ); name = Source; sourceTree = ""; }; - 275286E869A1C88FFD2E3A50 = {isa = XCBuildConfiguration; buildSettings = { + E6AD24AAB15D880592BFDD57 = {isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -2100,10 +2075,10 @@ "JUCE_APP_VERSION_HEX=0x10000", ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.plist; INSTALL_PATH = "$(HOME)/Applications"; PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.AnimationAppExample; }; name = Debug; }; - F361F998F590FCC72F2DE949 = {isa = XCBuildConfiguration; buildSettings = { + 58ED5763719C81C95B744A5B = {isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -2122,7 +2097,7 @@ GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.plist; INSTALL_PATH = "$(HOME)/Applications"; PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.AnimationAppExample; }; name = Release; }; 8FB477F7B77D68FD93DC1D16 = {isa = XCBuildConfiguration; buildSettings = { @@ -2163,31 +2138,32 @@ TARGETED_DEVICE_FAMILY = "1,2"; WARNING_CFLAGS = -Wreorder; ZERO_LINK = NO; }; name = Release; }; + 151F69657264CD949EEB77A9 = {isa = PBXTargetDependency; target = 80F5D4DB72CAE33FF7BE0E28; }; 576D6DACFB71E339D0AD373A = {isa = XCConfigurationList; buildConfigurations = ( 8FB477F7B77D68FD93DC1D16, 7977431F7194644B49C15E21, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 4A8B3F76828634749BBFC686 = {isa = XCConfigurationList; buildConfigurations = ( - 275286E869A1C88FFD2E3A50, - F361F998F590FCC72F2DE949, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 11FD561488F1EFCE578F9225 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + CA4D2206213720EC7DE41E1A = {isa = XCConfigurationList; buildConfigurations = ( + E6AD24AAB15D880592BFDD57, + 58ED5763719C81C95B744A5B, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 6DD59723DA58F112C3C6F427 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( AA420D06B14C6AF978603FB7, ); runOnlyForDeploymentPostprocessing = 0; }; - BD6EB403A891DBC353F7D06C = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 2CCE82C7290D2D226DD34C0B = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 328BFAEA24EDCBF7B69F4960, 84E6553798838003062A7791, - 9B303E67BC0058053878030C, - ACA92239BEB4C05C418642E2, - 1EFD155B1968AEC88851F831, - 0C7388B5872921063FF273B8, - 9EE1754A8E5230FA1C50713F, - 1852E56533842FDFBE9A6EE3, - CB79C1D77F4FBF0C64B69E1D, - 5E9EFF0130B8CBBEAA0D321B, - EF8AB3F393E946FE4A21AA17, - B70DDF51EDD940F5EF96B96D, - E28816D62DAA38A2794ED6D2, - A911433D03B3314558DB8850, - 590ABC7E64B05F4814FA919E, ); runOnlyForDeploymentPostprocessing = 0; }; - F38385A81FAC837FA1743686 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + E09031EF64FB032EC2F1AB9E, + 1A1655F70589F62EC500776A, + F3DF870E97A695B88F07E2ED, + 802E52893A13DF94D2452203, + A0D9E078F9FDA8474A231E23, + BCE821392C314CE44C96ECFF, + B9BFADFF0ECB778690FDF59C, + 4E411795F0E724FD92C98030, + 3E1ADD84FBF4F072F0B53EA5, + 2C000BF550222EC17FA5EA12, + 4EBEDE852357A716C1A58D32, + 17598D74EBFD5692223DAA36, + 727C6C11ADFD9FB9FABAD8AE, ); runOnlyForDeploymentPostprocessing = 0; }; + 4516F5A575174EF76FEAD8B3 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( E3498B080326636A372B74AE, 828D4B32ECB7ECE234A5A1A9, ACC6D859315761144D4178A0, @@ -2199,11 +2175,11 @@ 64D079C3CBBBB5BC9D7CC531, CA82C00B49701B9ECEB91AE1, 3EBD65476039DBFD1A91FB69, ); runOnlyForDeploymentPostprocessing = 0; }; - C5FEE75C4BFEF0A6EE96FF81 = {isa = PBXNativeTarget; buildConfigurationList = 4A8B3F76828634749BBFC686; buildPhases = ( - 11FD561488F1EFCE578F9225, - BD6EB403A891DBC353F7D06C, - F38385A81FAC837FA1743686, ); buildRules = ( ); dependencies = ( ); name = AnimationAppExample; productName = AnimationAppExample; productReference = A748C987924800FDBA2E2184; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; - AEF97977FF56185DB5E0C493 = {isa = PBXProject; buildConfigurationList = 576D6DACFB71E339D0AD373A; attributes = { LastUpgradeCheck = 0440; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = E2839CF91E2C633A933666F4; projectDirPath = ""; projectRoot = ""; targets = ( C5FEE75C4BFEF0A6EE96FF81 ); }; + 80F5D4DB72CAE33FF7BE0E28 = {isa = PBXNativeTarget; buildConfigurationList = CA4D2206213720EC7DE41E1A; buildPhases = ( + 6DD59723DA58F112C3C6F427, + 2CCE82C7290D2D226DD34C0B, + 4516F5A575174EF76FEAD8B3, ); buildRules = ( ); dependencies = ( ); name = "AnimationAppExample (App)"; productName = AnimationAppExample; productReference = CBF69B3CBCD089CD7DC8343C; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; + AEF97977FF56185DB5E0C493 = {isa = PBXProject; buildConfigurationList = 576D6DACFB71E339D0AD373A; attributes = { LastUpgradeCheck = 0440; TargetAttributes = { 80F5D4DB72CAE33FF7BE0E28 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = E2839CF91E2C633A933666F4; projectDirPath = ""; projectRoot = ""; targets = (80F5D4DB72CAE33FF7BE0E28); }; }; rootObject = AEF97977FF56185DB5E0C493; } diff --git a/examples/AnimationAppExample/Builds/iOS/Info.plist b/examples/AnimationAppExample/Builds/iOS/Info-App.plist similarity index 84% rename from examples/AnimationAppExample/Builds/iOS/Info.plist rename to examples/AnimationAppExample/Builds/iOS/Info-App.plist index e63ab9c4de..dd59b17fdb 100644 --- a/examples/AnimationAppExample/Builds/iOS/Info.plist +++ b/examples/AnimationAppExample/Builds/iOS/Info-App.plist @@ -13,6 +13,8 @@ $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName AnimationAppExample + CFBundleDisplayName + AnimationAppExample CFBundlePackageType APPL CFBundleSignature @@ -27,12 +29,15 @@ UIRequiresFullScreen + UIStatusBarHidden + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight + UIBackgroundModes + diff --git a/examples/AnimationAppExample/JuceLibraryCode/AppConfig.h b/examples/AnimationAppExample/JuceLibraryCode/AppConfig.h index f15c5e1036..7702cb649f 100644 --- a/examples/AnimationAppExample/JuceLibraryCode/AppConfig.h +++ b/examples/AnimationAppExample/JuceLibraryCode/AppConfig.h @@ -4,8 +4,8 @@ project - if you alter its contents, your changes may be overwritten! There's a section below where you can add your own custom code safely, and the - Introjucer will preserve the contents of that block, but the best way to change - any of these definitions is by using the Introjucer's project settings. + Projucer will preserve the contents of that block, but the best way to change + any of these definitions is by using the Projucer's project settings. Any commented-out settings will assume their default values. @@ -17,7 +17,7 @@ //============================================================================== // [BEGIN_USER_CODE_SECTION] -// (You can add your own code in this section, and the Introjucer will not overwrite it) +// (You can add your own code in this section, and the Projucer will not overwrite it) // [END_USER_CODE_SECTION] @@ -38,9 +38,15 @@ //============================================================================== #ifndef JUCE_STANDALONE_APPLICATION - #define JUCE_STANDALONE_APPLICATION 1 + #ifdef JucePlugin_Build_Standalone + #define JUCE_STANDALONE_APPLICATION JucePlugin_Build_Standalone + #else + #define JUCE_STANDALONE_APPLICATION 1 + #endif #endif +#define JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED 1 + //============================================================================== // juce_audio_devices flags: diff --git a/examples/AnimationAppExample/JuceLibraryCode/JuceHeader.h b/examples/AnimationAppExample/JuceLibraryCode/JuceHeader.h index 290421ac9d..8c261857c7 100644 --- a/examples/AnimationAppExample/JuceLibraryCode/JuceHeader.h +++ b/examples/AnimationAppExample/JuceLibraryCode/JuceHeader.h @@ -14,19 +14,21 @@ #define __APPHEADERFILE_LRATE6__ #include "AppConfig.h" -#include "modules/juce_audio_basics/juce_audio_basics.h" -#include "modules/juce_audio_devices/juce_audio_devices.h" -#include "modules/juce_audio_formats/juce_audio_formats.h" -#include "modules/juce_audio_processors/juce_audio_processors.h" -#include "modules/juce_core/juce_core.h" -#include "modules/juce_cryptography/juce_cryptography.h" -#include "modules/juce_data_structures/juce_data_structures.h" -#include "modules/juce_events/juce_events.h" -#include "modules/juce_graphics/juce_graphics.h" -#include "modules/juce_gui_basics/juce_gui_basics.h" -#include "modules/juce_gui_extra/juce_gui_extra.h" -#include "modules/juce_opengl/juce_opengl.h" -#include "modules/juce_video/juce_video.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + #if ! DONT_SET_USING_JUCE_NAMESPACE // If your code uses a lot of JUCE classes, then this will obviously save you diff --git a/examples/AnimationAppExample/JuceLibraryCode/ReadMe.txt b/examples/AnimationAppExample/JuceLibraryCode/ReadMe.txt index f6c3564e99..091a5aa6eb 100644 --- a/examples/AnimationAppExample/JuceLibraryCode/ReadMe.txt +++ b/examples/AnimationAppExample/JuceLibraryCode/ReadMe.txt @@ -2,11 +2,11 @@ Important Note!! ================ -The purpose of this folder is to contain files that are auto-generated by the Introjucer, +The purpose of this folder is to contain files that are auto-generated by the Projucer, and ALL files in this folder will be mercilessly DELETED and completely re-written whenever -the Introjucer saves your project. +the Projucer saves your project. Therefore, it's a bad idea to make any manual changes to the files in here, or to put any of your own files in here if you don't want to lose them. (Of course you may choose to add the folder's contents to your version-control system so that you can re-merge your own -modifications after the Introjucer has saved its changes). +modifications after the Projucer has saved its changes). diff --git a/examples/AnimationAppExample/JuceLibraryCode/juce_audio_basics.cpp b/examples/AnimationAppExample/JuceLibraryCode/juce_audio_basics.cpp new file mode 100644 index 0000000000..418694873c --- /dev/null +++ b/examples/AnimationAppExample/JuceLibraryCode/juce_audio_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AnimationAppExample/JuceLibraryCode/juce_audio_basics.mm b/examples/AnimationAppExample/JuceLibraryCode/juce_audio_basics.mm new file mode 100644 index 0000000000..e0e6c577cc --- /dev/null +++ b/examples/AnimationAppExample/JuceLibraryCode/juce_audio_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AnimationAppExample/JuceLibraryCode/juce_audio_devices.cpp b/examples/AnimationAppExample/JuceLibraryCode/juce_audio_devices.cpp new file mode 100644 index 0000000000..fb5c2219d7 --- /dev/null +++ b/examples/AnimationAppExample/JuceLibraryCode/juce_audio_devices.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AnimationAppExample/JuceLibraryCode/juce_audio_devices.mm b/examples/AnimationAppExample/JuceLibraryCode/juce_audio_devices.mm new file mode 100644 index 0000000000..e58b67ea49 --- /dev/null +++ b/examples/AnimationAppExample/JuceLibraryCode/juce_audio_devices.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AnimationAppExample/JuceLibraryCode/juce_audio_formats.cpp b/examples/AnimationAppExample/JuceLibraryCode/juce_audio_formats.cpp new file mode 100644 index 0000000000..a3c61170eb --- /dev/null +++ b/examples/AnimationAppExample/JuceLibraryCode/juce_audio_formats.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AnimationAppExample/JuceLibraryCode/juce_audio_formats.mm b/examples/AnimationAppExample/JuceLibraryCode/juce_audio_formats.mm new file mode 100644 index 0000000000..f325b8fb67 --- /dev/null +++ b/examples/AnimationAppExample/JuceLibraryCode/juce_audio_formats.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AnimationAppExample/JuceLibraryCode/juce_audio_processors.cpp b/examples/AnimationAppExample/JuceLibraryCode/juce_audio_processors.cpp new file mode 100644 index 0000000000..bfe172edd0 --- /dev/null +++ b/examples/AnimationAppExample/JuceLibraryCode/juce_audio_processors.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AnimationAppExample/JuceLibraryCode/juce_audio_processors.mm b/examples/AnimationAppExample/JuceLibraryCode/juce_audio_processors.mm new file mode 100644 index 0000000000..b80ae9017f --- /dev/null +++ b/examples/AnimationAppExample/JuceLibraryCode/juce_audio_processors.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AnimationAppExample/JuceLibraryCode/juce_core.cpp b/examples/AnimationAppExample/JuceLibraryCode/juce_core.cpp new file mode 100644 index 0000000000..d0ce1636f0 --- /dev/null +++ b/examples/AnimationAppExample/JuceLibraryCode/juce_core.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AnimationAppExample/JuceLibraryCode/juce_core.mm b/examples/AnimationAppExample/JuceLibraryCode/juce_core.mm new file mode 100644 index 0000000000..72b10bf817 --- /dev/null +++ b/examples/AnimationAppExample/JuceLibraryCode/juce_core.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AnimationAppExample/JuceLibraryCode/juce_cryptography.cpp b/examples/AnimationAppExample/JuceLibraryCode/juce_cryptography.cpp new file mode 100644 index 0000000000..10b3401dbe --- /dev/null +++ b/examples/AnimationAppExample/JuceLibraryCode/juce_cryptography.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AnimationAppExample/JuceLibraryCode/juce_cryptography.mm b/examples/AnimationAppExample/JuceLibraryCode/juce_cryptography.mm new file mode 100644 index 0000000000..9311ea0ffe --- /dev/null +++ b/examples/AnimationAppExample/JuceLibraryCode/juce_cryptography.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AnimationAppExample/JuceLibraryCode/juce_data_structures.cpp b/examples/AnimationAppExample/JuceLibraryCode/juce_data_structures.cpp new file mode 100644 index 0000000000..9315aa1686 --- /dev/null +++ b/examples/AnimationAppExample/JuceLibraryCode/juce_data_structures.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AnimationAppExample/JuceLibraryCode/juce_data_structures.mm b/examples/AnimationAppExample/JuceLibraryCode/juce_data_structures.mm new file mode 100644 index 0000000000..695ec43925 --- /dev/null +++ b/examples/AnimationAppExample/JuceLibraryCode/juce_data_structures.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AnimationAppExample/JuceLibraryCode/juce_events.cpp b/examples/AnimationAppExample/JuceLibraryCode/juce_events.cpp new file mode 100644 index 0000000000..1bba110a97 --- /dev/null +++ b/examples/AnimationAppExample/JuceLibraryCode/juce_events.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AnimationAppExample/JuceLibraryCode/juce_events.mm b/examples/AnimationAppExample/JuceLibraryCode/juce_events.mm new file mode 100644 index 0000000000..4cc34fc401 --- /dev/null +++ b/examples/AnimationAppExample/JuceLibraryCode/juce_events.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AnimationAppExample/JuceLibraryCode/juce_graphics.cpp b/examples/AnimationAppExample/JuceLibraryCode/juce_graphics.cpp new file mode 100644 index 0000000000..319c76de0e --- /dev/null +++ b/examples/AnimationAppExample/JuceLibraryCode/juce_graphics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AnimationAppExample/JuceLibraryCode/juce_graphics.mm b/examples/AnimationAppExample/JuceLibraryCode/juce_graphics.mm new file mode 100644 index 0000000000..b28e6dd056 --- /dev/null +++ b/examples/AnimationAppExample/JuceLibraryCode/juce_graphics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AnimationAppExample/JuceLibraryCode/juce_gui_basics.cpp b/examples/AnimationAppExample/JuceLibraryCode/juce_gui_basics.cpp new file mode 100644 index 0000000000..216c76bb05 --- /dev/null +++ b/examples/AnimationAppExample/JuceLibraryCode/juce_gui_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AnimationAppExample/JuceLibraryCode/juce_gui_basics.mm b/examples/AnimationAppExample/JuceLibraryCode/juce_gui_basics.mm new file mode 100644 index 0000000000..6a9726fa5f --- /dev/null +++ b/examples/AnimationAppExample/JuceLibraryCode/juce_gui_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AnimationAppExample/JuceLibraryCode/juce_gui_extra.cpp b/examples/AnimationAppExample/JuceLibraryCode/juce_gui_extra.cpp new file mode 100644 index 0000000000..7226e19833 --- /dev/null +++ b/examples/AnimationAppExample/JuceLibraryCode/juce_gui_extra.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AnimationAppExample/JuceLibraryCode/juce_gui_extra.mm b/examples/AnimationAppExample/JuceLibraryCode/juce_gui_extra.mm new file mode 100644 index 0000000000..c9b6c3bfc6 --- /dev/null +++ b/examples/AnimationAppExample/JuceLibraryCode/juce_gui_extra.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AnimationAppExample/JuceLibraryCode/juce_opengl.cpp b/examples/AnimationAppExample/JuceLibraryCode/juce_opengl.cpp new file mode 100644 index 0000000000..d9895bce92 --- /dev/null +++ b/examples/AnimationAppExample/JuceLibraryCode/juce_opengl.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AnimationAppExample/JuceLibraryCode/juce_opengl.mm b/examples/AnimationAppExample/JuceLibraryCode/juce_opengl.mm new file mode 100644 index 0000000000..6c2c32d095 --- /dev/null +++ b/examples/AnimationAppExample/JuceLibraryCode/juce_opengl.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AnimationAppExample/JuceLibraryCode/juce_video.cpp b/examples/AnimationAppExample/JuceLibraryCode/juce_video.cpp new file mode 100644 index 0000000000..bdf22ee131 --- /dev/null +++ b/examples/AnimationAppExample/JuceLibraryCode/juce_video.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AnimationAppExample/JuceLibraryCode/juce_video.mm b/examples/AnimationAppExample/JuceLibraryCode/juce_video.mm new file mode 100644 index 0000000000..3da705bccd --- /dev/null +++ b/examples/AnimationAppExample/JuceLibraryCode/juce_video.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AnimationAppExample/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h b/examples/AnimationAppExample/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h deleted file mode 100644 index 9befea8142..0000000000 --- a/examples/AnimationAppExample/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_basics/juce_audio_basics.h" diff --git a/examples/AnimationAppExample/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h b/examples/AnimationAppExample/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h deleted file mode 100644 index eba6d3a9e5..0000000000 --- a/examples/AnimationAppExample/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_devices/juce_audio_devices.h" diff --git a/examples/AnimationAppExample/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h b/examples/AnimationAppExample/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h deleted file mode 100644 index 4629b0ef2c..0000000000 --- a/examples/AnimationAppExample/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_formats/juce_audio_formats.h" diff --git a/examples/AnimationAppExample/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h b/examples/AnimationAppExample/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h deleted file mode 100644 index 7d4583dbf8..0000000000 --- a/examples/AnimationAppExample/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_processors/juce_audio_processors.h" diff --git a/examples/AnimationAppExample/JuceLibraryCode/modules/juce_core/juce_core.h b/examples/AnimationAppExample/JuceLibraryCode/modules/juce_core/juce_core.h deleted file mode 100644 index 06e88f9352..0000000000 --- a/examples/AnimationAppExample/JuceLibraryCode/modules/juce_core/juce_core.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_core/juce_core.h" diff --git a/examples/AnimationAppExample/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h b/examples/AnimationAppExample/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h deleted file mode 100644 index e4574f4749..0000000000 --- a/examples/AnimationAppExample/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_cryptography/juce_cryptography.h" diff --git a/examples/AnimationAppExample/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h b/examples/AnimationAppExample/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h deleted file mode 100644 index 9d814fd953..0000000000 --- a/examples/AnimationAppExample/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_data_structures/juce_data_structures.h" diff --git a/examples/AnimationAppExample/JuceLibraryCode/modules/juce_events/juce_events.h b/examples/AnimationAppExample/JuceLibraryCode/modules/juce_events/juce_events.h deleted file mode 100644 index 509b1df8d2..0000000000 --- a/examples/AnimationAppExample/JuceLibraryCode/modules/juce_events/juce_events.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_events/juce_events.h" diff --git a/examples/AnimationAppExample/JuceLibraryCode/modules/juce_graphics/juce_graphics.h b/examples/AnimationAppExample/JuceLibraryCode/modules/juce_graphics/juce_graphics.h deleted file mode 100644 index 28edbf35e3..0000000000 --- a/examples/AnimationAppExample/JuceLibraryCode/modules/juce_graphics/juce_graphics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_graphics/juce_graphics.h" diff --git a/examples/AnimationAppExample/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h b/examples/AnimationAppExample/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h deleted file mode 100644 index 81ad4b7297..0000000000 --- a/examples/AnimationAppExample/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_gui_basics/juce_gui_basics.h" diff --git a/examples/AnimationAppExample/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h b/examples/AnimationAppExample/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h deleted file mode 100644 index 5c9b7a96b5..0000000000 --- a/examples/AnimationAppExample/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_gui_extra/juce_gui_extra.h" diff --git a/examples/AnimationAppExample/JuceLibraryCode/modules/juce_opengl/juce_opengl.h b/examples/AnimationAppExample/JuceLibraryCode/modules/juce_opengl/juce_opengl.h deleted file mode 100644 index 718392ff72..0000000000 --- a/examples/AnimationAppExample/JuceLibraryCode/modules/juce_opengl/juce_opengl.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_opengl/juce_opengl.h" diff --git a/examples/AnimationAppExample/JuceLibraryCode/modules/juce_video/juce_video.h b/examples/AnimationAppExample/JuceLibraryCode/modules/juce_video/juce_video.h deleted file mode 100644 index 0dd1636ec2..0000000000 --- a/examples/AnimationAppExample/JuceLibraryCode/modules/juce_video/juce_video.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_video/juce_video.h" diff --git a/examples/AnimationAppExample/Source/Main.cpp b/examples/AnimationAppExample/Source/Main.cpp index b6100305a6..fe21b6842d 100644 --- a/examples/AnimationAppExample/Source/Main.cpp +++ b/examples/AnimationAppExample/Source/Main.cpp @@ -1,7 +1,7 @@ /* ============================================================================== - This file was auto-generated by the Introjucer! + This file was auto-generated by the Projucer! It contains the basic startup code for a Juce application. diff --git a/examples/AudioAppExample/AudioAppExample.jucer b/examples/AudioAppExample/AudioAppExample.jucer index bd02f31183..7ddb20d8f6 100644 --- a/examples/AudioAppExample/AudioAppExample.jucer +++ b/examples/AudioAppExample/AudioAppExample.jucer @@ -2,7 +2,7 @@ + jucerVersion="4.2.0"> - + diff --git a/examples/AudioAppExample/Builds/MacOSX/AudioAppExample.xcodeproj/project.pbxproj b/examples/AudioAppExample/Builds/MacOSX/AudioAppExample.xcodeproj/project.pbxproj index a005273df2..38e82978ea 100644 --- a/examples/AudioAppExample/Builds/MacOSX/AudioAppExample.xcodeproj/project.pbxproj +++ b/examples/AudioAppExample/Builds/MacOSX/AudioAppExample.xcodeproj/project.pbxproj @@ -6,6 +6,7 @@ objectVersion = 46; objects = { + 5F8150BA71BC7BC278D19BDF = {isa = PBXBuildFile; fileRef = 9C71E9533EDADF610F789D88; }; 3286435E3CC944A630866B89 = {isa = PBXBuildFile; fileRef = 92CABA9C9B5148FCA22A0503; }; 7AC823C6BFA28E49D004E0E0 = {isa = PBXBuildFile; fileRef = BD70FA4626657FF1DEBB10DA; }; 32D0B845ED45381A3B0D3286 = {isa = PBXBuildFile; fileRef = C751B4E213343FF77A0681B6; }; @@ -22,27 +23,26 @@ 0CB39189A1701173FED41819 = {isa = PBXBuildFile; fileRef = 16799F26A4934E01FE14D70A; }; 5055109434B36CD6E0B6D360 = {isa = PBXBuildFile; fileRef = 2545022A0EE088A0C46EBD13; }; 55A794809FECCB07D3C4D07D = {isa = PBXBuildFile; fileRef = D78365C74082A1253E12AF17; }; - 9F994C4912DB4402247C438F = {isa = PBXBuildFile; fileRef = 19DBF218B50AA295AED50CC2; }; - 9BC0ECFC7AF57F1909EE09FA = {isa = PBXBuildFile; fileRef = D08758C4B60AE0ECD82D8EF6; }; - 85FE609FB6402062EF2C0DBA = {isa = PBXBuildFile; fileRef = C987F7105C386F9799C74AE5; }; - F794ED1AA51CF125F7F1A8A9 = {isa = PBXBuildFile; fileRef = 768E5A86B7E84A146818B866; }; - 8B9F9A6D24146522DD93CD22 = {isa = PBXBuildFile; fileRef = 0D72F29AB05E80E6D8A57578; }; - B0576FED799D792664EB5D15 = {isa = PBXBuildFile; fileRef = 7DE30FBED9393A59FF08AFC4; }; - 916BBC1AB5BE42CD684DAC5B = {isa = PBXBuildFile; fileRef = 332B664DD5F1E87D1BC77715; }; - EA094DDAD2D1A7A4C0C2233E = {isa = PBXBuildFile; fileRef = BBDC1C7DE652B571ED885097; }; - 8FB9BEF532266F191FA2343F = {isa = PBXBuildFile; fileRef = 8C96A8A1170495B6693F2FF9; }; - 3D181BDD770219ED14488377 = {isa = PBXBuildFile; fileRef = 5E489080FFCF538C3170739B; }; - E0AAACBB6027FC8FD4F9113C = {isa = PBXBuildFile; fileRef = DE6FBEE731028F230A86F223; }; - 9537FB2A9B43C898E86156A7 = {isa = PBXBuildFile; fileRef = 2E631361420FA9496ED300DF; }; - 42AE22EDF3A83997E9444080 = {isa = PBXBuildFile; fileRef = 1CA41F35C44145819921CF79; }; - ED46B41A891FE3B15A184ECF = {isa = PBXBuildFile; fileRef = B6FF0E28C1E186DD9E97F838; }; + 169D0D504ED242BFAB124750 = {isa = PBXBuildFile; fileRef = 5FEA66532C18871947DA95A9; }; + 404DE83EB6A8750B51021B56 = {isa = PBXBuildFile; fileRef = 8202E36EB5B777BA3F00A181; }; + 9647D38482003C7935023564 = {isa = PBXBuildFile; fileRef = 34405DE2900A4E762CF2DAEA; }; + BE3AF34796EB8018C7CF57E1 = {isa = PBXBuildFile; fileRef = 7DDF974E74FDF5B5D29E2E27; }; + 87A3F2EDF075A6CC0D1F592F = {isa = PBXBuildFile; fileRef = 7ECF0BA098438BBD194FEE75; }; + F04ED92056A417B954A3CD77 = {isa = PBXBuildFile; fileRef = 4E3266F9CD3260D786538E6D; }; + 9351C4C5A67B13C998014734 = {isa = PBXBuildFile; fileRef = B8A22D85276B05E8EE8F0BC4; }; + 233883A753FE7837D92A3A6F = {isa = PBXBuildFile; fileRef = D2882899DDDE37B4CD837280; }; + D152BFE027C6E31ED068C789 = {isa = PBXBuildFile; fileRef = 571FEF1C078CC4FB35DAE33A; }; + 2434A698BFA843B1858C07ED = {isa = PBXBuildFile; fileRef = 0F259ACE12C8A81AA558661C; }; + 62809FDCE519DEF052EA7938 = {isa = PBXBuildFile; fileRef = AE3C0E5467FE67DAF01645FC; }; + 8224320056042532BE315901 = {isa = PBXBuildFile; fileRef = 1062CD8BD738A5F58CC3F64D; }; + 8B21FD4457DD9685495ADD8A = {isa = PBXBuildFile; fileRef = 7852F468318493D3FAEC9089; }; + C85B383577A335D5D1CF67B8 = {isa = PBXBuildFile; fileRef = D14A9B0E0A5A536B6D72EFAF; }; 0029311BFF31395FD00963CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Sampler.cpp"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp"; sourceTree = "SOURCE_ROOT"; }; 0042600B8ACF3532B5AE4839 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 00F0299DB6F4889526D7C5F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; 01065486D2E254D02B75509F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; 01490B3A4FE0E7503EF78A59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; }; 0197C4DD5E7ACE14FF668D62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; - 02CF5AD726503AFB1193C81E = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 0333EF5021D4B11D0567EDE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; }; 03B8A6359E4DD6796B9F7840 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; }; 0407B0BEDEA7EC85B84197CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -86,14 +86,14 @@ 0CB6B999BF9DBA9D0F586C6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; }; 0CDECC23B99E40DB6BD73FD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; }; 0D136F19DF81AFE8C90A0F01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; }; - 0D72F29AB05E80E6D8A57578 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; }; 0D748BB96C09FA6846E28D1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; 0E8660300B58F0FF90907C93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h"; sourceTree = "SOURCE_ROOT"; }; 0EC0E5FB195BD2DCCE4FE103 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; }; + 0F259ACE12C8A81AA558661C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../JuceLibraryCode/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; 0F7E54460D000A212BA37807 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiInput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h"; sourceTree = "SOURCE_ROOT"; }; 0FB03F29666B9E3588BCA21A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiFile.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.h"; sourceTree = "SOURCE_ROOT"; }; - 0FD74232B9B3A15C19D73B4F = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_video/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 0FEA2018033238F713A9933D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; }; + 1062CD8BD738A5F58CC3F64D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; 10CCA4154B34E2601DF7E36C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; 10F336062BF70F1171393EA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; }; 10F35EB3267D17EB21EE9EEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorValueTreeState.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -131,7 +131,6 @@ 1800F7D6AC6CB08DDE716CFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInputSource.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 1859D1550F703A8B0E2E9678 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorValueTreeState.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h"; sourceTree = "SOURCE_ROOT"; }; 188F0A8D1EEC0AC08485B32D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; }; - 19DBF218B50AA295AED50CC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 19FE66760D46BF77905C3B48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; }; 1A2E38E8795FD19F801DF103 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; }; 1A4FF248A625623F2AB5B78A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -145,7 +144,6 @@ 1C50B35A818EC78F8FF81815 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; 1C88AFF1BEE2BBD2646C3FE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; }; 1C95AB2B2812BD8960870603 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; }; - 1CA41F35C44145819921CF79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../../../modules/juce_opengl/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; 1CCFA6CA5E8D3E8D1D9476B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 1D05DBE68E45BED5B842F212 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; 1D4A3BD9939CC395D2AE4324 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLGraphicsContext.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; @@ -153,6 +151,7 @@ 1DA8B8E25372E8F00080877B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextInputTarget.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h"; sourceTree = "SOURCE_ROOT"; }; 1DA9D191A3312AAF11810745 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; }; 1E02091AE0A7BB79608FCC0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemAudioVolume.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h"; sourceTree = "SOURCE_ROOT"; }; + 1E0CCB36A0D6D2CE936E43BF = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-App.plist"; path = "Info-App.plist"; sourceTree = "SOURCE_ROOT"; }; 1E73665689A8CF1EAD07A410 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; 1F0ADEAEB1F4BFFDF96597D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; }; 1F293903C761D909018FDD67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; @@ -206,11 +205,9 @@ 2CD02E712AFC2633AE66F876 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; 2D8585823D0A4210D1B161DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; 2E3E5BB82FD2A9A582FD7E5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; - 2E631361420FA9496ED300DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; 2F02F02DE72872590941BD0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp"; sourceTree = "SOURCE_ROOT"; }; 2FDFCD44816447805FD012DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; }; 303FE5650303C9D52133FDB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; }; - 30E959B23AA2EBA0CB11D121 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_processors/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 3126074952DF6879C42AF9A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 315DDEAAB7818AE4F369C230 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; }; 319336062D169304F2BEDDD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -222,9 +219,9 @@ 322590D8C7EE4F273C28A081 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; 324E57D5C6BA8C19535791A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; }; 32AA8C09B7A39118E3A4BFA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; }; - 332B664DD5F1E87D1BC77715 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../../../modules/juce_cryptography/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; 33C4E091AF43E7CEA138F133 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; }; 33FEAF50967CEB5800BF72BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; + 34405DE2900A4E762CF2DAEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../JuceLibraryCode/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; 3473D34B4E5F5BC3D315C6E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; }; 34D0CAA3AE118782B1D85410 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 3514CF0F5CB28BBD688539B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MACAddress.h"; path = "../../../../modules/juce_core/network/juce_MACAddress.h"; sourceTree = "SOURCE_ROOT"; }; @@ -254,7 +251,6 @@ 3BE93702701665C1CF0D71F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 3BF749BD7341CB6B695403F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; 3CAB0402E5EDD5A25D4DE907 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 3CD98742CA1919AEE3F9D9BC = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_core/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 3CEE794B62AEDD6CD0650F0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 3CFFE0377EB4E2615F89AD16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Whirlpool.h"; path = "../../../../modules/juce_cryptography/hashing/juce_Whirlpool.h"; sourceTree = "SOURCE_ROOT"; }; 3DF61BB51C4F45E8E7399BBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Desktop.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -329,6 +325,7 @@ 4D8CBFA4ADFA41465A97C072 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; }; 4DA82F4EA6B042B411DB20A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorPlayer.cpp"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; 4DC09FE2D606F3346B269F47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4E3266F9CD3260D786538E6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; 4E54EF00533AF35ACE6EE0D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 4E81FC636E217976041F8FD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectSound.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp"; sourceTree = "SOURCE_ROOT"; }; 4E910C3EE26D3CB30DE64DE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilter.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -357,6 +354,7 @@ 55CFA008C55F190872354FF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; }; 56BBB410F5117805919652E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceSelectorComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h"; sourceTree = "SOURCE_ROOT"; }; 570E0E900CD46076476337A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + 571FEF1C078CC4FB35DAE33A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; 5736EEAD19F704D8BC0D63CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_utils.h"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.h"; sourceTree = "SOURCE_ROOT"; }; 5765E0F55ADB4319F0F896D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; }; 577824246C165D84AA378BE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -371,9 +369,7 @@ 5A1ECBE0BEAF6C2B976EE813 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; }; 5A707B988D57A28536A6E62E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; }; 5AB7146863FE8F4F5AD7A092 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FloatVectorOperations.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h"; sourceTree = "SOURCE_ROOT"; }; - 5AE6D28B2C36587A4F0E9DE3 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_devices/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 5B267B0B84A4AE272AAD58A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; - 5BE6EA9AF8FB65EE6C5A2DDE = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_formats/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 5C00F2B0503A9B4774455977 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; }; 5C6D3A49499F186AFFC3DFDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; }; 5CBF59C67F30E77F408EF2A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; @@ -382,10 +378,9 @@ 5CD2D4CDAC75E50E78ABE46C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CameraDevice.h"; path = "../../../../modules/juce_video/capture/juce_CameraDevice.h"; sourceTree = "SOURCE_ROOT"; }; 5D2270DEE9D5C23019DEB152 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; }; 5D65D7D73CFD4C3292B44F07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; }; - 5DB6DA27DC5C022696109EF8 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_extra/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 5E151D89199CE9D3E7C3F0B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_processors.h"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.h"; sourceTree = "SOURCE_ROOT"; }; - 5E489080FFCF538C3170739B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; 5F1FD7697F7FB42EA6E9CDBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5FEA66532C18871947DA95A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../JuceLibraryCode/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 5FEF4DC42947B82D016071A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnail.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h"; sourceTree = "SOURCE_ROOT"; }; 602F2E014E4796C2DA29CDB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; }; 607D538C599F10798C3399E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -398,7 +393,6 @@ 6295F7DF5F087D52FD31265A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; }; 62E68C38E001F2FE60397D3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 63E1D500C9E6654A2EA5015B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; }; - 641CEAEA5DDBA04D348E3E58 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_events/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 644E389974336014E8890F31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; }; 64515D56E168E26DE6679FF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; 64851AA6F4FAEAD9E3CB5D68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -427,7 +421,6 @@ 6ACE33C4515448BE0DF400C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_android.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_android.h"; sourceTree = "SOURCE_ROOT"; }; 6B2C313C20885C7B75D40ED2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; }; 6B526A365078C24900C821B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; - 6BAD62D1E379BB05328C035D = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_cryptography/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 6BF891205F6EEAF85C1C0F2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLAppComponent.cpp"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 6C32FCD6B87189C1F43BD462 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Headers.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h"; sourceTree = "SOURCE_ROOT"; }; 6C4F8F17F78FE9C8B45941D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTMidiEventList.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h"; sourceTree = "SOURCE_ROOT"; }; @@ -475,7 +468,6 @@ 762FD953C2BB53F5DC9CD403 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BooleanPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 766259EB7D04DF87556127C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; }; 7664ED4E8E9E543AB1ED72E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; - 768E5A86B7E84A146818B866 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; 76A5E0AABE31E9D19F5BBCE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MixerAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 76F267A1568C2CAA1BBC3B5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; 76F5916C8F6C275EBBC12901 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; @@ -484,6 +476,7 @@ 77C55D5A6C29BB84028BF4C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; }; 782C982DE17D3619F58453B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODevice.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp"; sourceTree = "SOURCE_ROOT"; }; 7851D44D38C6B206AD0134D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7852F468318493D3FAEC9089 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../JuceLibraryCode/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; 789920BB98BF607E690B01BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MP3AudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 79703B85F426FD4DF5C0AC42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; 7A32476DF07EE4C33512F01D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectShowComponent.h"; path = "../../../../modules/juce_video/playback/juce_DirectShowComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -499,9 +492,10 @@ 7DBFDC2DAFD57DF638D745E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; 7DCF0A2E89D3CC5C976411D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; }; 7DDA47BB9CE313C8AE917F40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioTransportSource.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp"; sourceTree = "SOURCE_ROOT"; }; - 7DE30FBED9393A59FF08AFC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; + 7DDF974E74FDF5B5D29E2E27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../JuceLibraryCode/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; 7E60DC744D035292F8A7BB97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_File.h"; path = "../../../../modules/juce_core/files/juce_File.h"; sourceTree = "SOURCE_ROOT"; }; 7E787DB76F02DE3326E608A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Identifier.cpp"; path = "../../../../modules/juce_core/text/juce_Identifier.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7ECF0BA098438BBD194FEE75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../JuceLibraryCode/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; }; 7F5C171BA5EA9E83295B7498 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp"; sourceTree = "SOURCE_ROOT"; }; 7F9D7EC0BE80A6DA54A9805D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 7FC679066DAC1C23188A46ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; @@ -516,6 +510,7 @@ 81B5028748B2F81CA1F4F9EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; }; 81C9752ED058D6AAAE40E021 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; }; 81E9F11630D26DFBD0A93618 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8202E36EB5B777BA3F00A181 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../JuceLibraryCode/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; 820C05ED738EB5A0B1D48AD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; }; 8292A39754EAA00C8AA376B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; }; 836A87E100C7B9DFDA4437AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZoneLayout.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -559,7 +554,6 @@ 8BFEC7409742F768017FC3D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LuaCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; 8C55F3C3E8ADABF3E2B72A12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; 8C7A9D19E4BF794F25112C92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Draggable3DOrientation.h"; path = "../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h"; sourceTree = "SOURCE_ROOT"; }; - 8C96A8A1170495B6693F2FF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; 8CC6758FB15124F3CF345CA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 8CF06B5E9E25293F79B15242 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; }; 8D263509D4EB25038163FB5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -598,7 +592,6 @@ 9A123AE56C9C5AE3BE0E2800 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; 9A26AEA080345998826A7F9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 9A2D9A5DBD78446D8878717A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 9A31450E90F82EE417285AA4 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = "SOURCE_ROOT"; }; 9A54516E1DBD569C24F521F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; }; 9A577EF18204B6FE35D227B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; }; 9B28308E02810E07AA5D9FA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -606,6 +599,7 @@ 9B8E99199DFF5A5588690C9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; 9BF096AEDF125991249E696E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; 9C25E2B996EE7CC024E7A713 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterFloat.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h"; sourceTree = "SOURCE_ROOT"; }; + 9C71E9533EDADF610F789D88 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AudioAppExample.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; 9CC7A321D4B4323FF06A03B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioAppComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 9D12A31934633A579D324B96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; }; 9D6101186894D8F444AE1162 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -649,7 +643,6 @@ A6D365F17431ED5DE20C31C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; }; A6E5EC33E5F9767654EFCB25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; }; A6E737E1560A81E5A45DD9BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; }; - A7FC8A80F3BF7EDCBB40DBAF = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_graphics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; A833D4B8902DBEF7D8B32E50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; }; A8452D6DA370E42EF91F1555 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; }; A84C613340F1766BB5D46145 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiRPN.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h"; sourceTree = "SOURCE_ROOT"; }; @@ -676,6 +669,7 @@ AD7D7A1631818FAFC9600F3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleComponent.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; ADE79DAA4A4D4DE50F893BF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; AE1746EE8E4FC95FC3635940 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + AE3C0E5467FE67DAF01645FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; AE88491D97D08B1215C182B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; }; AF1DDB78AF70C25D07D77387 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WavAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; AF2B0596EA1859EE7964AB8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; @@ -710,14 +704,13 @@ B5CF56ECED7AB7108C7FA24A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; }; B5FF1E4CC8E4177744F0833D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; }; B663B0FD7F2FEDCE59A40373 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; }; - B6FF0E28C1E186DD9E97F838 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../../../modules/juce_video/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; B7485EC80869B5EAE869B552 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; }; B7C588B87E09F887C6CB73C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; }; B7EF396405CB14D1ABDF709D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLFrameBuffer.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h"; sourceTree = "SOURCE_ROOT"; }; B804B9C7C6CA696B7410A629 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; B84ADDD01BAB1B1E21DDFF07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; }; B87C42BDAE89E73E982EF85C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; }; - B896CB8307AD3EC317794847 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_utils/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + B8A22D85276B05E8EE8F0BC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../JuceLibraryCode/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; B8DE8BB323D2F1889BD7CF8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; }; B905BFB6C174B284D84339A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; }; B9425E1F94E5E6337E390B9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SHA256.h"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.h"; sourceTree = "SOURCE_ROOT"; }; @@ -731,7 +724,6 @@ BADB10DBDB2B94E03AF14B91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; BB3DB74A8843A5C315854394 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; BBA6F050F86F5DC509CBB4B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; - BBDC1C7DE652B571ED885097 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; BC1276921CB154EB04E5EBAE = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = System/Library/Frameworks/QuickTime.framework; sourceTree = SDKROOT; }; BC3E6DE998377FFB8E61EF44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLPixelFormat.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h"; sourceTree = "SOURCE_ROOT"; }; BC4C2690333D8622D054E99A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -789,7 +781,6 @@ C945BC507F2AFD320F0FA60D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; C9580CA9036A8E4144BFB904 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colours.h"; path = "../../../../modules/juce_graphics/colour/juce_Colours.h"; sourceTree = "SOURCE_ROOT"; }; C95E510FB09338D7BB74781D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CoreAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - C987F7105C386F9799C74AE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; C98ECE4B1357FDC58A90EDBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LAMEEncoderAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; CA3E9C9CE9CA59B370A81095 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; }; CAAD0D8023B1EE063FE7B3BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -815,11 +806,12 @@ D000979AF77A84718877BD31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEValue.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp"; sourceTree = "SOURCE_ROOT"; }; D045327CC8A3E0C370070496 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; D058B5E13E7E22FC4ED27B5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTreeSynchroniser.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"; sourceTree = "SOURCE_ROOT"; }; - D08758C4B60AE0ECD82D8EF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; D0FD262EC7099AD662232BD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; + D14A9B0E0A5A536B6D72EFAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../JuceLibraryCode/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; D1504817660ECE621AAA066F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; }; D1A83AA1BCDB061B528DB415 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; }; D26A4E01842FF08AAA34B9D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; }; + D2882899DDDE37B4CD837280 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; D28E2CC83808A521E99BA3C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; D2E451A096DED665657647F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; }; D306CB540CCDA3C2F37FA1CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -869,7 +861,6 @@ DD7C6F9CAF5CBA11B6024A83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VSTPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; DD970DAD7E15CD399583110F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; DDB141526302B59595C3A584 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; }; - DE6FBEE731028F230A86F223 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; DE90A7AD96CDF9332CA4B1CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; DF0EBC428D40282CD24D2015 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; }; DF4992745F5A01164C573D1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameterWithID.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h"; sourceTree = "SOURCE_ROOT"; }; @@ -880,7 +871,6 @@ E063AB1C1700670E900C28AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; E0EEC67C10363E4FB3C0B956 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; }; E0FBED51F796AF5616D51696 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReaderSource.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp"; sourceTree = "SOURCE_ROOT"; }; - E10E5BBBE8515439D764CBBB = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; E192C84132D30E43D30666A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; }; E223F2E916CC8884D48BB2F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; }; E22ADD78D920B09EECA708B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; }; @@ -889,7 +879,6 @@ E42E9716C4B77E32053284A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; E43C13DD0E648037E8DAB7F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; }; E46BB2C39283B6D56946C24B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPENote.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp"; sourceTree = "SOURCE_ROOT"; }; - E4E6F10141E07DE0F2960C2F = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_opengl/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; E4E97BDAD6209A76EA5B0CA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; E55C6DF8352F3FBE56499775 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; }; E5753506CDDFF88D638975ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; }; @@ -904,7 +893,6 @@ E858258484916776F887FCDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ElementComparator.h"; path = "../../../../modules/juce_core/containers/juce_ElementComparator.h"; sourceTree = "SOURCE_ROOT"; }; E889D7DD7AC4FCA48517B2E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; }; E88B889CB23D7A61B31FA1E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; }; - E89A3BC0B3BD6CCAEE267855 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_data_structures/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; E9294BBF9D2B39F77DCF5145 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; }; E952B3E43DFEDB951B0CA41A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; }; E96860404A16526A491A14C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -957,7 +945,6 @@ F950431A9C0864A8EADF9996 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; }; F9EDE109342E77467BBB4D13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilter.h"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h"; sourceTree = "SOURCE_ROOT"; }; FA016D0A7169A84A182C404B = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; - 4B8E8BD3DEAE0C479D04F571 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AudioAppExample.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; FA01A4ACD8E51ECC2D1C1B63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; }; FAF3143A9CAF9ECAF81AB3D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; }; FB21D85F25FF7C468331BAEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; }; @@ -1064,9 +1051,12 @@ 270A7B39CC9DE46FC3B843F9, DD62545F8D5941E384FB7D0E, 57F3A961E989E4F578F6B428, - 02CF5AD726503AFB1193C81E, 886CA18FAF31B80A3604C5B3, ); name = "juce_audio_basics"; sourceTree = ""; }; - CB1B7A138B91EEBE7BFE8C37 = {isa = PBXGroup; children = ( + F2D86021C2A6174E7E89F8F5 = {isa = PBXGroup; children = ( + 81C9752ED058D6AAAE40E021, + FF68B4C1DF411EED5E88DBAD, + A9C0D755D2D644AB9B9EE13C, ); name = "audio_cd"; sourceTree = ""; }; + BE310BC69B46521E01886630 = {isa = PBXGroup; children = ( ECD6FDB8D99D661E23915E85, 448B223113A96B6D7C026E0E, 782C982DE17D3619F58453B3, @@ -1074,22 +1064,13 @@ 37DDE4779BEE726B73257328, B043471A2BE93BA496CA44C9, 1E02091AE0A7BB79608FCC0D, ); name = "audio_io"; sourceTree = ""; }; - 11FB0A16BC11F8811563E23C = {isa = PBXGroup; children = ( + 7B1879802F389A8C201FD521 = {isa = PBXGroup; children = ( 0F7E54460D000A212BA37807, A9B7641B8DC31EB20DA18BB6, 77C55D5A6C29BB84028BF4C9, 2F02F02DE72872590941BD0E, 2296650D710569DE62A1ED84, ); name = "midi_io"; sourceTree = ""; }; - FA179D6940326B16EA8F4EBE = {isa = PBXGroup; children = ( - 550A729142AB16A20BB99123, - 9E8979F0765D76FDC54E0FA3, - 7DDA47BB9CE313C8AE917F40, - FE39247372F71DB8B9D7DDC1, ); name = sources; sourceTree = ""; }; - DB3BC4FF9BBE474A50B1BD39 = {isa = PBXGroup; children = ( - 81C9752ED058D6AAAE40E021, - FF68B4C1DF411EED5E88DBAD, - A9C0D755D2D644AB9B9EE13C, ); name = "audio_cd"; sourceTree = ""; }; - 75059FB5256785C4D9234524 = {isa = PBXGroup; children = ( + 65917C2D86591FAD14E8C5F1 = {isa = PBXGroup; children = ( 80D99C9EB9437791B2317ED5, 802E9ACA0F0495F366FD61D5, FB4B0B7CB3B7693E633DF85D, @@ -1109,31 +1090,19 @@ 4E81FC636E217976041F8FD0, 0C28072364B08528A9AD5B85, A3E8C954C194E24AE1907AE2, ); name = native; sourceTree = ""; }; + B3E3A40F73FF1CCADA0774C8 = {isa = PBXGroup; children = ( + 550A729142AB16A20BB99123, + 9E8979F0765D76FDC54E0FA3, + 7DDA47BB9CE313C8AE917F40, + FE39247372F71DB8B9D7DDC1, ); name = sources; sourceTree = ""; }; C1CFAF0419BB789AA0E38629 = {isa = PBXGroup; children = ( - CB1B7A138B91EEBE7BFE8C37, - 11FB0A16BC11F8811563E23C, - FA179D6940326B16EA8F4EBE, - DB3BC4FF9BBE474A50B1BD39, - 75059FB5256785C4D9234524, - 5AE6D28B2C36587A4F0E9DE3, + F2D86021C2A6174E7E89F8F5, + BE310BC69B46521E01886630, + 7B1879802F389A8C201FD521, + 65917C2D86591FAD14E8C5F1, + B3E3A40F73FF1CCADA0774C8, 41DC9C31FE8A27E721AC95C6, ); name = "juce_audio_devices"; sourceTree = ""; }; - A829EEC7C9D388964229DE57 = {isa = PBXGroup; children = ( - 3E9355CECB4C063F13CC481F, - 582CAD0FEF6DC8676068004C, - 1176710342A96CE5E736F504, - 0BA2BBE2C12EFD349C06114E, - 9A26AEA080345998826A7F9C, - 76F5916C8F6C275EBBC12901, - E0FBED51F796AF5616D51696, - 4B57EFAB122FF8AD8A15DD4D, - E6538FD6973A159756E2DC91, - 75A55732BFBBC2BAEE28AACF, - 62E68C38E001F2FE60397D3F, - D8C1391D9B2819FC8257719A, - F8A71BF8EF7965A2F9B0E396, - 87068D2C6B2EF98F548312B7, - C945BC507F2AFD320F0FA60D, ); name = format; sourceTree = ""; }; - FA1254B776BFC3471DB96D0E = {isa = PBXGroup; children = ( + 91C348A4ABC2AF7C416F85D2 = {isa = PBXGroup; children = ( 7C47594E189DF41C1A9A697D, ACE73C5C489D1CF6D4824776, C95E510FB09338D7BB74781D, @@ -1152,16 +1121,48 @@ AF1DDB78AF70C25D07D77387, 881A14535E84A919974D8F84, D28E2CC83808A521E99BA3C9, ); name = codecs; sourceTree = ""; }; + E8077191109647FEE8F0145F = {isa = PBXGroup; children = ( + 3E9355CECB4C063F13CC481F, + 582CAD0FEF6DC8676068004C, + 1176710342A96CE5E736F504, + 0BA2BBE2C12EFD349C06114E, + 9A26AEA080345998826A7F9C, + 76F5916C8F6C275EBBC12901, + E0FBED51F796AF5616D51696, + 4B57EFAB122FF8AD8A15DD4D, + E6538FD6973A159756E2DC91, + 75A55732BFBBC2BAEE28AACF, + 62E68C38E001F2FE60397D3F, + D8C1391D9B2819FC8257719A, + F8A71BF8EF7965A2F9B0E396, + 87068D2C6B2EF98F548312B7, + C945BC507F2AFD320F0FA60D, ); name = format; sourceTree = ""; }; 2A60CB51A3C591E01CB900F8 = {isa = PBXGroup; children = ( 0029311BFF31395FD00963CA, 75AB14C9D97B3563BE688EA8, ); name = sampler; sourceTree = ""; }; BCC969C3BC478853FD7E336F = {isa = PBXGroup; children = ( - A829EEC7C9D388964229DE57, - FA1254B776BFC3471DB96D0E, + 91C348A4ABC2AF7C416F85D2, + E8077191109647FEE8F0145F, 2A60CB51A3C591E01CB900F8, - 5BE6EA9AF8FB65EE6C5A2DDE, B28EBA2EDF0E543EA1ED374B, ); name = "juce_audio_formats"; sourceTree = ""; }; - F94E85FEB3110173DE42317B = {isa = PBXGroup; children = ( + F49F89892AE821E087CB63FA = {isa = PBXGroup; children = ( + 21ED255865DBE1B9B27CE0CE, + A9B5EEEAFA441F850358281B, + BC77947BDED20C022DE3D8B8, + D45FA51540441FC7D57E016A, ); name = format; sourceTree = ""; }; + 5886FAC844E469EEA90B13AD = {isa = PBXGroup; children = ( + 7FCEC7C5C54AB90A7709406F, + B905BFB6C174B284D84339A2, + 973257D8FB62DAE78ACE85DD, + 37737A4FE37D244DCF36F8AE, + 040F3CA16CF425185E82976D, + 6C32FCD6B87189C1F43BD462, + DB6C3F30A7B477AA3A695B2D, + 6D869E6ED7DF080A9FAF162C, + 6C4F8F17F78FE9C8B45941D3, + DD7C6F9CAF5CBA11B6024A83, + 5374AB638100ED67F198E888, ); name = "format_types"; sourceTree = ""; }; + AAC21053770C7EB1F09A740C = {isa = PBXGroup; children = ( D5ECF9579C0C6725ECC5654B, DCA045C3BF4FAC134D479F0B, E9AFEB90653FD6CBE935D29D, @@ -1178,23 +1179,6 @@ 948DDA1658E532819DC1CFC2, 2A35B8768F9F47F2F4AE5223, 94FAAA6CF20DF5854F277026, ); name = processors; sourceTree = ""; }; - 9EEB441FDDAE7DD5F3E24041 = {isa = PBXGroup; children = ( - 21ED255865DBE1B9B27CE0CE, - A9B5EEEAFA441F850358281B, - BC77947BDED20C022DE3D8B8, - D45FA51540441FC7D57E016A, ); name = format; sourceTree = ""; }; - 2897EA058D69BF9B0C8A446D = {isa = PBXGroup; children = ( - 7FCEC7C5C54AB90A7709406F, - B905BFB6C174B284D84339A2, - 973257D8FB62DAE78ACE85DD, - 37737A4FE37D244DCF36F8AE, - 040F3CA16CF425185E82976D, - 6C32FCD6B87189C1F43BD462, - DB6C3F30A7B477AA3A695B2D, - 6D869E6ED7DF080A9FAF162C, - 6C4F8F17F78FE9C8B45941D3, - DD7C6F9CAF5CBA11B6024A83, - 5374AB638100ED67F198E888, ); name = "format_types"; sourceTree = ""; }; 83B7987F50AC8F2EE5E1C2A0 = {isa = PBXGroup; children = ( 1B92C858971081339CAC889E, FE004044BFD20BEA4153C471, @@ -1212,12 +1196,11 @@ 10F35EB3267D17EB21EE9EEF, 1859D1550F703A8B0E2E9678, ); name = utilities; sourceTree = ""; }; 0F1330B9E634C8C1D2A19EAD = {isa = PBXGroup; children = ( - F94E85FEB3110173DE42317B, - 9EEB441FDDAE7DD5F3E24041, - 2897EA058D69BF9B0C8A446D, + F49F89892AE821E087CB63FA, + 5886FAC844E469EEA90B13AD, + AAC21053770C7EB1F09A740C, 83B7987F50AC8F2EE5E1C2A0, D74F542E998B0A51BAB9D571, - 30E959B23AA2EBA0CB11D121, 5E151D89199CE9D3E7C3F0B8, ); name = "juce_audio_processors"; sourceTree = ""; }; 785AC00FC0793B0127274AAB = {isa = PBXGroup; children = ( 9CC7A321D4B4323FF06A03B9, @@ -1234,73 +1217,21 @@ 8BD3E08A5A6D32150E703D8A, BACFDC91EDA31FACCF2B15DA, 0E8660300B58F0FF90907C93, ); name = gui; sourceTree = ""; }; - 7B29609B00A97DB47552F081 = {isa = PBXGroup; children = ( - 4DA82F4EA6B042B411DB20A7, - 59D6E450E7823A809631B85A, ); name = players; sourceTree = ""; }; - F097BDABFD6B0B58AA2A3418 = {isa = PBXGroup; children = ( + 65069C321B2D3FCA31A42660 = {isa = PBXGroup; children = ( 449FB9CD81DD670CE4A577CA, 377814D716769899D3050668, 29C93739F97FE9FCA3AC4CF5, BA4496257844A6CA50995840, 36CCF902426491CC248117BD, ); name = native; sourceTree = ""; }; + 23B0A10C9DD9B3A07522958C = {isa = PBXGroup; children = ( + 4DA82F4EA6B042B411DB20A7, + 59D6E450E7823A809631B85A, ); name = players; sourceTree = ""; }; DCA2C59535A97CCC2E7E5D5B = {isa = PBXGroup; children = ( 785AC00FC0793B0127274AAB, - 7B29609B00A97DB47552F081, - F097BDABFD6B0B58AA2A3418, - B896CB8307AD3EC317794847, + 65069C321B2D3FCA31A42660, + 23B0A10C9DD9B3A07522958C, 5736EEAD19F704D8BC0D63CB, ); name = "juce_audio_utils"; sourceTree = ""; }; - D4AD8131D5DDC542D8D8462D = {isa = PBXGroup; children = ( - CF6F99867E4ECCD2A2ED0B0C, - BD106C3E071AA8FBBA28501F, - 70A73FAF31B05C5DA4CE35AB, - 2763141DB90EDEB924F549B9, - 6E12A19A4995DE066C7130B1, - 697A591A67A38D7807665407, - 16C249B2489B726FA38EB40C, - E6FD0E2AE90C1053B736D210, - 7E787DB76F02DE3326E608A9, - 3F76E39F5ED6016AE007D846, - C3DE0ED05484B10615E59191, - DAFB41CC5DFEED6280C3D776, - 4046F9FFC62FE0E597136A28, - 7DBFDC2DAFD57DF638D745E1, - 69279A43C4E5EFCD851E6E2B, - 76F267A1568C2CAA1BBC3B5B, - CF01DB44007FF6940848C91A, - 719100C7D7C3AD37528165B6, - 6791A6621D6D8937D8BB3418, - A9E6F251933166D931848C0A, - ABB6B2384A0390705A173633, - 40046E402D3BB5D37AA9DC07, - FDC2F46EDF05732F05628411, - 379CFA695DBA290674B9466F, ); name = text; sourceTree = ""; }; - 66CEC72801EF9BE77D39B19F = {isa = PBXGroup; children = ( - 52D2F52B7284090A8CC4F18E, - 449F72688745585AEC908DE3, - 8D263509D4EB25038163FB5D, - 15C4E5B79331FFEF10E553D5, - 59F516B1F82F487ED0B8A08C, - 5CC1850C4E76C0825DF9F9A2, - 1399DD492AC9998A6513E251, - A311FDC490ED65A08E3B8B61, - E88B889CB23D7A61B31FA1E9, - 315DDEAAB7818AE4F369C230, ); name = maths; sourceTree = ""; }; - 9C56D83D3BDD05DEF239F71C = {isa = PBXGroup; children = ( - FE069E74A6308FF79DF3DC29, - 2651FD678A14B0751CB5D020, - 92A68AA34859E8DDC511D21F, - 53C3C3F56CEF7ED61F8451E2, - A3A119C6E5ACA90C03A77A04, - 8292A39754EAA00C8AA376B0, - 12D1ED411A617AB55887F19D, - 75C69A20FBFD837BC86D860D, - B06BCB5D9CE908831C7E81D0, - B05B1D7ACE1C33319A87328A, - 408AA1123D7BFE64D870013F, - F1666DBF5DC7FF6B94C0F0FF, - 7C3E3ACE7E74B1ED0C3BE343, - 3B39B66B640766E9B90E3046, ); name = memory; sourceTree = ""; }; - 7F38B22DBF6D9255AD0FF626 = {isa = PBXGroup; children = ( + F3F34845F32C3F89A1BE404D = {isa = PBXGroup; children = ( 12ED2DA2996DEFA911F07ECF, 303FE5650303C9D52133FDB9, 7A7925B71E4B01A22C6E7453, @@ -1322,37 +1253,7 @@ B54E4A120CB79F8BB5BCA1E8, 25131D3A8F8DDF0094192DCA, CBB3BF85622B9B875544C558, ); name = containers; sourceTree = ""; }; - 0AB06DB5C2631EB668C528A2 = {isa = PBXGroup; children = ( - D817A6C2192C3954C8B63045, - 9E008BCB36772AA2445607FC, - 118739F5BBF8A273FDF45CFD, - 0197C4DD5E7ACE14FF668D62, - 9BF096AEDF125991249E696E, - C40EB67E7237BE2217C1E7A5, - 81505916961455538E9B1A7B, - 698E098BB958CC4719E2166E, - BA724CE76B93BA0DF39FCC6F, - 5CBF59C67F30E77F408EF2A3, - 45A893DD2D553ED62C5B4D63, - E22ADD78D920B09EECA708B3, - 8002BEBD6AD4EE01900CE16A, - 3E1891F87C00044C1C482137, - EE026B40E1115ED7C21FF7D5, - 9A54516E1DBD569C24F521F8, - B595F0B82E93560FC2CE5EAF, - 7851D44D38C6B206AD0134D2, - D34801677A2E2B17CD6CF93A, - 60D5DF22E19891DE5F69CC8E, - 188F0A8D1EEC0AC08485B32D, - 3737DB5B70CB03EB340745EA, ); name = threads; sourceTree = ""; }; - 403635C774A6BBC0F6980B64 = {isa = PBXGroup; children = ( - D46770CDA754135BF9471DF2, - AFD134A52E53280F52870EF7, - DB3F9BFDECB17176CD53C029, - 248D8296344CFAC3E6CA732E, - 9521308539218CF751ED1B1D, - A8452D6DA370E42EF91F1555, ); name = time; sourceTree = ""; }; - BC7512A77A4AB71F889C67BE = {isa = PBXGroup; children = ( + BF1AF9B8F437060F46F96A9C = {isa = PBXGroup; children = ( 8BA6EF260D361C1FC16E338E, 873BD4265902B4FB6CC3A0A6, 6613704E18148830091DF585, @@ -1370,66 +1271,43 @@ 324E57D5C6BA8C19535791A9, DB7A3C83FB705898F07C13A3, 713CEFF3ECB6CB4EB74D2324, ); name = files; sourceTree = ""; }; - 8BBFA220942050CA89C4222B = {isa = PBXGroup; children = ( - 51BE027208C01296F2E76054, - 74D736A2BED0751C2A3C1BFE, - 1FA8CE4825B48E4FECCD1FEA, - 3514CF0F5CB28BBD688539B4, - 2A48FAEC948B121B6EB34631, - 0FEA2018033238F713A9933D, - 13A8EAABA98838BC051D7ECD, - 1F293903C761D909018FDD67, - 0A4F90598876FBE7A67A13D0, - B59C7AFE7DA427E795F736CE, ); name = network; sourceTree = ""; }; - 50B1E864B2356E8572B9A62F = {isa = PBXGroup; children = ( - 490FFC3A7899AA8FBE8E2D0E, - E0EEC67C10363E4FB3C0B956, - BC4C2690333D8622D054E99A, - 083D342FECE0C296374EF291, - 2289F6AE28B501127D381EEC, - 422EAE67E128C8295A23F6A0, - 3B3AB4E5CE405BF348F634C8, - BDA38AB61C19E4924549ABD1, - 1FF55E3BBA8A22620289A59E, - F06CE10515F49B1DC5E87353, - D56D6ADB264AC3107EE2D5C8, - 58A314392D34735350431602, - DA0DD5BF97E3F28C9CCA4A74, - D1504817660ECE621AAA066F, - FB21D85F25FF7C468331BAEC, ); name = streams; sourceTree = ""; }; - 401A32949AE4A75BF94D58BF = {isa = PBXGroup; children = ( - A3C671FCF17ED732E654C652, - BEF6E9C8B9FE65A89F84DD3E, - C3429B905F1744303CAE83AD, - 87E0E3F42A5E6C795C3769FC, ); name = logging; sourceTree = ""; }; - 8C087A97055FFF267ADC28DA = {isa = PBXGroup; children = ( - D26A4E01842FF08AAA34B9D7, - D583ED6D9DF5CADB3AE660C8, - C35667BD04402DF29D3FEF8F, - 94EA75B72A8361A33A498EDB, - D1A83AA1BCDB061B528DB415, - 820C05ED738EB5A0B1D48AD3, ); name = system; sourceTree = ""; }; - 03A962E8ACDBD0C24CD014AB = {isa = PBXGroup; children = ( - B5CA0C1C957C04A44E778E85, - 10CCA4154B34E2601DF7E36C, - DFD0AFFFEC046CBD6E837825, - 1501B794994314589934734A, ); name = xml; sourceTree = ""; }; - 1F04306E8F4BD6AA8AFA3185 = {isa = PBXGroup; children = ( + 7989C187E3D577D5853EB50A = {isa = PBXGroup; children = ( 0D136F19DF81AFE8C90A0F01, 94F37F7C1FF260E499DF95CB, 68626EA8EFEFB457495DFC58, 00F0299DB6F4889526D7C5F0, ); name = javascript; sourceTree = ""; }; - EB6A51E5AA5A5C974F82075F = {isa = PBXGroup; children = ( - 363345C2BB552CE31BFAB6D2, - 740B836DA87A1C70DD06D1C5, - 16138611E29922ACCDB8DF97, - 4D8CBFA4ADFA41465A97C072, - 07721876CC21C0DBD17D00EE, - 6B2C313C20885C7B75D40ED2, ); name = zip; sourceTree = ""; }; - D31BDA28674C941530C73CA9 = {isa = PBXGroup; children = ( - A833D4B8902DBEF7D8B32E50, - 9D12A31934633A579D324B96, ); name = "unit_tests"; sourceTree = ""; }; - C9B1F8F814FE5B552A67C83D = {isa = PBXGroup; children = ( + BE9DC7909569CD484681A8D9 = {isa = PBXGroup; children = ( + A3C671FCF17ED732E654C652, + BEF6E9C8B9FE65A89F84DD3E, + C3429B905F1744303CAE83AD, + 87E0E3F42A5E6C795C3769FC, ); name = logging; sourceTree = ""; }; + 3A17EACFCFC0FE7908BD2F3B = {isa = PBXGroup; children = ( + 52D2F52B7284090A8CC4F18E, + 449F72688745585AEC908DE3, + 8D263509D4EB25038163FB5D, + 15C4E5B79331FFEF10E553D5, + 59F516B1F82F487ED0B8A08C, + 5CC1850C4E76C0825DF9F9A2, + 1399DD492AC9998A6513E251, + A311FDC490ED65A08E3B8B61, + E88B889CB23D7A61B31FA1E9, + 315DDEAAB7818AE4F369C230, ); name = maths; sourceTree = ""; }; + 06073D9AB43DFF8E6303926B = {isa = PBXGroup; children = ( + FE069E74A6308FF79DF3DC29, + 2651FD678A14B0751CB5D020, + 92A68AA34859E8DDC511D21F, + 53C3C3F56CEF7ED61F8451E2, + A3A119C6E5ACA90C03A77A04, + 8292A39754EAA00C8AA376B0, + 12D1ED411A617AB55887F19D, + 75C69A20FBFD837BC86D860D, + B06BCB5D9CE908831C7E81D0, + B05B1D7ACE1C33319A87328A, + 408AA1123D7BFE64D870013F, + F1666DBF5DC7FF6B94C0F0FF, + 7C3E3ACE7E74B1ED0C3BE343, + 3B39B66B640766E9B90E3046, ); name = memory; sourceTree = ""; }; + 2F4F9F91279852AE3245841F = {isa = PBXGroup; children = ( C0813C1842A72A80AEBC8D3B, 54905E0DBD3DFC08980F0635, D0FD262EC7099AD662232BD3, @@ -1437,7 +1315,7 @@ 3E87A40BAA207A6F8491BE60, 3BF749BD7341CB6B695403F2, 38628669BA3E9CF7E2DFED16, ); name = misc; sourceTree = ""; }; - D9B6523138F19B60DEABC1CA = {isa = PBXGroup; children = ( + F2F3AFC5D77644705C792104 = {isa = PBXGroup; children = ( 35C33DF203333BE87587F1BC, 60E06352A02CFAEE12295CDA, 1F0ADEAEB1F4BFFDF96597D6, @@ -1467,25 +1345,128 @@ DA366F25CE709950B866C7D9, 1B6E61F45C2F5E81914A71A7, F0776755F05C2BF5C7AF4FDC, ); name = native; sourceTree = ""; }; + D641E27BA35ACC3B59160AFC = {isa = PBXGroup; children = ( + 51BE027208C01296F2E76054, + 74D736A2BED0751C2A3C1BFE, + 1FA8CE4825B48E4FECCD1FEA, + 3514CF0F5CB28BBD688539B4, + 2A48FAEC948B121B6EB34631, + 0FEA2018033238F713A9933D, + 13A8EAABA98838BC051D7ECD, + 1F293903C761D909018FDD67, + 0A4F90598876FBE7A67A13D0, + B59C7AFE7DA427E795F736CE, ); name = network; sourceTree = ""; }; + DF59D3599752BF451714F5B4 = {isa = PBXGroup; children = ( + 490FFC3A7899AA8FBE8E2D0E, + E0EEC67C10363E4FB3C0B956, + BC4C2690333D8622D054E99A, + 083D342FECE0C296374EF291, + 2289F6AE28B501127D381EEC, + 422EAE67E128C8295A23F6A0, + 3B3AB4E5CE405BF348F634C8, + BDA38AB61C19E4924549ABD1, + 1FF55E3BBA8A22620289A59E, + F06CE10515F49B1DC5E87353, + D56D6ADB264AC3107EE2D5C8, + 58A314392D34735350431602, + DA0DD5BF97E3F28C9CCA4A74, + D1504817660ECE621AAA066F, + FB21D85F25FF7C468331BAEC, ); name = streams; sourceTree = ""; }; + 8C087A97055FFF267ADC28DA = {isa = PBXGroup; children = ( + D26A4E01842FF08AAA34B9D7, + D583ED6D9DF5CADB3AE660C8, + C35667BD04402DF29D3FEF8F, + 94EA75B72A8361A33A498EDB, + D1A83AA1BCDB061B528DB415, + 820C05ED738EB5A0B1D48AD3, ); name = system; sourceTree = ""; }; + 929875A5B15D0446C29C8E56 = {isa = PBXGroup; children = ( + CF6F99867E4ECCD2A2ED0B0C, + BD106C3E071AA8FBBA28501F, + 70A73FAF31B05C5DA4CE35AB, + 2763141DB90EDEB924F549B9, + 6E12A19A4995DE066C7130B1, + 697A591A67A38D7807665407, + 16C249B2489B726FA38EB40C, + E6FD0E2AE90C1053B736D210, + 7E787DB76F02DE3326E608A9, + 3F76E39F5ED6016AE007D846, + C3DE0ED05484B10615E59191, + DAFB41CC5DFEED6280C3D776, + 4046F9FFC62FE0E597136A28, + 7DBFDC2DAFD57DF638D745E1, + 69279A43C4E5EFCD851E6E2B, + 76F267A1568C2CAA1BBC3B5B, + CF01DB44007FF6940848C91A, + 719100C7D7C3AD37528165B6, + 6791A6621D6D8937D8BB3418, + A9E6F251933166D931848C0A, + ABB6B2384A0390705A173633, + 40046E402D3BB5D37AA9DC07, + FDC2F46EDF05732F05628411, + 379CFA695DBA290674B9466F, ); name = text; sourceTree = ""; }; + 5DA731B5A383210278EB7397 = {isa = PBXGroup; children = ( + D817A6C2192C3954C8B63045, + 9E008BCB36772AA2445607FC, + 118739F5BBF8A273FDF45CFD, + 0197C4DD5E7ACE14FF668D62, + 9BF096AEDF125991249E696E, + C40EB67E7237BE2217C1E7A5, + 81505916961455538E9B1A7B, + 698E098BB958CC4719E2166E, + BA724CE76B93BA0DF39FCC6F, + 5CBF59C67F30E77F408EF2A3, + 45A893DD2D553ED62C5B4D63, + E22ADD78D920B09EECA708B3, + 8002BEBD6AD4EE01900CE16A, + 3E1891F87C00044C1C482137, + EE026B40E1115ED7C21FF7D5, + 9A54516E1DBD569C24F521F8, + B595F0B82E93560FC2CE5EAF, + 7851D44D38C6B206AD0134D2, + D34801677A2E2B17CD6CF93A, + 60D5DF22E19891DE5F69CC8E, + 188F0A8D1EEC0AC08485B32D, + 3737DB5B70CB03EB340745EA, ); name = threads; sourceTree = ""; }; + DBBFE1493F3CC3C6C2BDC096 = {isa = PBXGroup; children = ( + D46770CDA754135BF9471DF2, + AFD134A52E53280F52870EF7, + DB3F9BFDECB17176CD53C029, + 248D8296344CFAC3E6CA732E, + 9521308539218CF751ED1B1D, + A8452D6DA370E42EF91F1555, ); name = time; sourceTree = ""; }; + D31BDA28674C941530C73CA9 = {isa = PBXGroup; children = ( + A833D4B8902DBEF7D8B32E50, + 9D12A31934633A579D324B96, ); name = "unit_tests"; sourceTree = ""; }; + 3864FCCD94B1ED45E4973BD0 = {isa = PBXGroup; children = ( + B5CA0C1C957C04A44E778E85, + 10CCA4154B34E2601DF7E36C, + DFD0AFFFEC046CBD6E837825, + 1501B794994314589934734A, ); name = xml; sourceTree = ""; }; + 1E3648BCDB055738F10F4A8B = {isa = PBXGroup; children = ( + 363345C2BB552CE31BFAB6D2, + 740B836DA87A1C70DD06D1C5, + 16138611E29922ACCDB8DF97, + 4D8CBFA4ADFA41465A97C072, + 07721876CC21C0DBD17D00EE, + 6B2C313C20885C7B75D40ED2, ); name = zip; sourceTree = ""; }; 134363737026CC80D69F48A5 = {isa = PBXGroup; children = ( - D4AD8131D5DDC542D8D8462D, - 66CEC72801EF9BE77D39B19F, - 9C56D83D3BDD05DEF239F71C, - 7F38B22DBF6D9255AD0FF626, - 0AB06DB5C2631EB668C528A2, - 403635C774A6BBC0F6980B64, - BC7512A77A4AB71F889C67BE, - 8BBFA220942050CA89C4222B, - 50B1E864B2356E8572B9A62F, - 401A32949AE4A75BF94D58BF, + F3F34845F32C3F89A1BE404D, + BF1AF9B8F437060F46F96A9C, + 7989C187E3D577D5853EB50A, + BE9DC7909569CD484681A8D9, + 3A17EACFCFC0FE7908BD2F3B, + 06073D9AB43DFF8E6303926B, + 2F4F9F91279852AE3245841F, + F2F3AFC5D77644705C792104, + D641E27BA35ACC3B59160AFC, + DF59D3599752BF451714F5B4, 8C087A97055FFF267ADC28DA, - 03A962E8ACDBD0C24CD014AB, - 1F04306E8F4BD6AA8AFA3185, - EB6A51E5AA5A5C974F82075F, + 929875A5B15D0446C29C8E56, + 5DA731B5A383210278EB7397, + DBBFE1493F3CC3C6C2BDC096, D31BDA28674C941530C73CA9, - C9B1F8F814FE5B552A67C83D, - D9B6523138F19B60DEABC1CA, - 3CD98742CA1919AEE3F9D9BC, + 3864FCCD94B1ED45E4973BD0, + 1E3648BCDB055738F10F4A8B, FBABB528D9CB9FCA127D3702, ); name = "juce_core"; sourceTree = ""; }; D7FE02721660A0F1ADDE0BED = {isa = PBXGroup; children = ( 844235B2D29429BEF2F7D184, @@ -1504,31 +1485,45 @@ 367D3E7B1A3582D5693B9FC3 = {isa = PBXGroup; children = ( D7FE02721660A0F1ADDE0BED, 12A6E418E243AFC94B96A6E1, - 6BAD62D1E379BB05328C035D, 8563FE036E562AD98EAF4FE1, ); name = "juce_cryptography"; sourceTree = ""; }; - 1DD90061ACEAF4356BC3D3CE = {isa = PBXGroup; children = ( + D7FAF312716CE1A911A4A0FE = {isa = PBXGroup; children = ( + F77BDA821AFA286E0B7CA733, + A47A4A946381F45AE898A70D, + FA01A4ACD8E51ECC2D1C1B63, + 322590D8C7EE4F273C28A081, ); name = "app_properties"; sourceTree = ""; }; + C283CAA3B222E566D9C79EC2 = {isa = PBXGroup; children = ( + BBA6F050F86F5DC509CBB4B1, + 737DE6483F59E9AAE31B8568, + DB597523D1985EA60A403B94, ); name = undomanager; sourceTree = ""; }; + 58F5BFE1B45DD38988D1B119 = {isa = PBXGroup; children = ( DC0D7D089158296DF472F703, 41066A9B2DA06A8A42EB2302, CB0B2A556417D63523EA8C83, AFA2ACD68CD580639886A60B, D058B5E13E7E22FC4ED27B5C, EE0C799027CD87E32B7A3829, ); name = values; sourceTree = ""; }; - C283CAA3B222E566D9C79EC2 = {isa = PBXGroup; children = ( - BBA6F050F86F5DC509CBB4B1, - 737DE6483F59E9AAE31B8568, - DB597523D1985EA60A403B94, ); name = undomanager; sourceTree = ""; }; - 723121B288F8EB847FF98DE0 = {isa = PBXGroup; children = ( - F77BDA821AFA286E0B7CA733, - A47A4A946381F45AE898A70D, - FA01A4ACD8E51ECC2D1C1B63, - 322590D8C7EE4F273C28A081, ); name = "app_properties"; sourceTree = ""; }; 6BF9D16DF121408ADF8D243D = {isa = PBXGroup; children = ( - 1DD90061ACEAF4356BC3D3CE, + D7FAF312716CE1A911A4A0FE, C283CAA3B222E566D9C79EC2, - 723121B288F8EB847FF98DE0, - E89A3BC0B3BD6CCAEE267855, + 58F5BFE1B45DD38988D1B119, A943021729B460E5CF76D54A, ); name = "juce_data_structures"; sourceTree = ""; }; - 017E9B99D428699F1C6D5087 = {isa = PBXGroup; children = ( + 8354F8C425E8BE1C394F2371 = {isa = PBXGroup; children = ( + 9B28308E02810E07AA5D9FA7, + E42E9716C4B77E32053284A9, + 0B8CE7C2918A2BC3C86E3CF9, + A6810E5A98CB9E4244EE6361, + 153310BD8726D691D726CEAC, + 7B2895D4FB86B3B075610B53, + A9E584C98134D88F8317056E, + 80CC6E5181AE8A06FAF7792A, ); name = broadcasters; sourceTree = ""; }; + 1B25B350F1ABE6519DE87B93 = {isa = PBXGroup; children = ( + E2B8FC5BD4B67250BA9335A1, + 8A66BE4644118DEB1EC06A19, + 1615E143D724EC65E5528B78, + AE88491D97D08B1215C182B5, + E663E110A4BE0E43ADCC7ADB, + 72FDA2118BBEAF1B8AAB2D74, ); name = interprocess; sourceTree = ""; }; + F1A8B54888E286391FE2DF3D = {isa = PBXGroup; children = ( 3CEE794B62AEDD6CD0650F0B, 427F2DF6378E91A673BD5805, A64E0921A828155BF1F5455C, @@ -1542,28 +1537,7 @@ AB8486AC595BB23DB29EDE78, 44D12A261F14400C108FE695, 546E1DA09F73BB6E17FD63CB, ); name = messages; sourceTree = ""; }; - 39D10AF212D901043F60E411 = {isa = PBXGroup; children = ( - 01065486D2E254D02B75509F, - 4A4D808E73E64EAC75888392, - 2CA8A8FEF881E1400CE33991, - 1DA9D191A3312AAF11810745, ); name = timers; sourceTree = ""; }; - FA63A4FEAF47A149B05B2D7B = {isa = PBXGroup; children = ( - 9B28308E02810E07AA5D9FA7, - E42E9716C4B77E32053284A9, - 0B8CE7C2918A2BC3C86E3CF9, - A6810E5A98CB9E4244EE6361, - 153310BD8726D691D726CEAC, - 7B2895D4FB86B3B075610B53, - A9E584C98134D88F8317056E, - 80CC6E5181AE8A06FAF7792A, ); name = broadcasters; sourceTree = ""; }; - 5F95B461A46B124271F4D4C2 = {isa = PBXGroup; children = ( - E2B8FC5BD4B67250BA9335A1, - 8A66BE4644118DEB1EC06A19, - 1615E143D724EC65E5528B78, - AE88491D97D08B1215C182B5, - E663E110A4BE0E43ADCC7ADB, - 72FDA2118BBEAF1B8AAB2D74, ); name = interprocess; sourceTree = ""; }; - 259A4043A2C33A2F7542D782 = {isa = PBXGroup; children = ( + 3B110CF8A006A7B2B908F107 = {isa = PBXGroup; children = ( A6A6BF31BD4CE0ED3B3B472E, FE0594A998F5C9FE8C2A11DC, 87B85E49FC448CEE97FCE14E, @@ -1572,13 +1546,17 @@ 79703B85F426FD4DF5C0AC42, F8412676F1B3EAF03D7928FD, C86F3258822428DB91009687, ); name = native; sourceTree = ""; }; + CA85DC3F41D663766854A5A7 = {isa = PBXGroup; children = ( + 01065486D2E254D02B75509F, + 4A4D808E73E64EAC75888392, + 2CA8A8FEF881E1400CE33991, + 1DA9D191A3312AAF11810745, ); name = timers; sourceTree = ""; }; FB86CB37A490EC9DB740D91C = {isa = PBXGroup; children = ( - 017E9B99D428699F1C6D5087, - 39D10AF212D901043F60E411, - FA63A4FEAF47A149B05B2D7B, - 5F95B461A46B124271F4D4C2, - 259A4043A2C33A2F7542D782, - 641CEAEA5DDBA04D348E3E58, + 8354F8C425E8BE1C394F2371, + 1B25B350F1ABE6519DE87B93, + F1A8B54888E286391FE2DF3D, + 3B110CF8A006A7B2B908F107, + CA85DC3F41D663766854A5A7, 5765E0F55ADB4319F0F896D3, ); name = "juce_events"; sourceTree = ""; }; E969A83F4C0CF83A078F47F3 = {isa = PBXGroup; children = ( D8A9DA040BE1279C9863B422, @@ -1598,19 +1576,25 @@ 1FBB32224251DCA53E9CE4A5, C119EC562AC9BCE4E6B61067, 3A22AD6926B2CC42F4E5988C, ); name = contexts; sourceTree = ""; }; - F309B3269E76DE120143DD91 = {isa = PBXGroup; children = ( - BDC870E69E95845672295AB9, - 359E9C5EB887770E3AA46B95, - 01490B3A4FE0E7503EF78A59, - FDA2E20181EEDFABEE8CACCC, - F5158122AABF8E950827F2CB, - AC8848FA6745CDFDFAF2F927, - 0C211C03FF27A92ADC7706A6, - DBEE524633668464C9593EE8, ); name = images; sourceTree = ""; }; - F59D71157F4D41C4D4816141 = {isa = PBXGroup; children = ( - DD970DAD7E15CD399583110F, - 93B34B16D67C27ADD795D346, - 9A123AE56C9C5AE3BE0E2800, ); name = "image_formats"; sourceTree = ""; }; + 05B2C41888B98054AB466C80 = {isa = PBXGroup; children = ( + EB1D64642D7FA904D675770E, + 503351935DD85F70D491ED2A, + 31FE14F48D2E4827337F3C65, + 98DFC6A85CB893442E014D84, + D5E118687F94A7A960E7EC71, ); name = effects; sourceTree = ""; }; + 2C7B862B0024AE23EEEDA0CD = {isa = PBXGroup; children = ( + 33FEAF50967CEB5800BF72BE, + 88F756FE30BD5DEA47C1725D, + 83F1B63878AD351B064B301B, + 6D275948B4E4F4B5A5390798, + 1A2E38E8795FD19F801DF103, + 87766D3A5FC3CB4ABB3D6ED0, + C4F92727F81156801D2F61E7, + D45B9852EE24763DB29A07CB, + 1C50B35A818EC78F8FF81815, + 7FC679066DAC1C23188A46ED, + 766259EB7D04DF87556127C0, + 1D904F5F3F9ABF88E0D4385D, ); name = fonts; sourceTree = ""; }; 6E98284B2337B8ACB6DB657C = {isa = PBXGroup; children = ( 0687C181905F8F3CE2CD9B8E, 14D79056503073B08ACAA92E, @@ -1627,30 +1611,20 @@ D7ADC23EB8DDCAA960EE5745, E952B3E43DFEDB951B0CA41A, E43C13DD0E648037E8DAB7F6, ); name = geometry; sourceTree = ""; }; - 2E6FA1D06FBF4A4F13B37ACE = {isa = PBXGroup; children = ( - E238C3F270655B4324101263, - 2C9F5746F9D3DEA41F12FE58, - D57B55B2B9CE6B6D9D6EFFCE, ); name = placement; sourceTree = ""; }; - 6018A5E91B7A26DA24103F9F = {isa = PBXGroup; children = ( - 33FEAF50967CEB5800BF72BE, - 88F756FE30BD5DEA47C1725D, - 83F1B63878AD351B064B301B, - 6D275948B4E4F4B5A5390798, - 1A2E38E8795FD19F801DF103, - 87766D3A5FC3CB4ABB3D6ED0, - C4F92727F81156801D2F61E7, - D45B9852EE24763DB29A07CB, - 1C50B35A818EC78F8FF81815, - 7FC679066DAC1C23188A46ED, - 766259EB7D04DF87556127C0, - 1D904F5F3F9ABF88E0D4385D, ); name = fonts; sourceTree = ""; }; - AD6C56A11E3F985F7C7AA351 = {isa = PBXGroup; children = ( - EB1D64642D7FA904D675770E, - 503351935DD85F70D491ED2A, - 31FE14F48D2E4827337F3C65, - 98DFC6A85CB893442E014D84, - D5E118687F94A7A960E7EC71, ); name = effects; sourceTree = ""; }; - 44131CDF742706D6C0E9EC66 = {isa = PBXGroup; children = ( + DA283F848FD03C69CC5B72ED = {isa = PBXGroup; children = ( + DD970DAD7E15CD399583110F, + 93B34B16D67C27ADD795D346, + 9A123AE56C9C5AE3BE0E2800, ); name = "image_formats"; sourceTree = ""; }; + E7A6245329A210F5C0AF131D = {isa = PBXGroup; children = ( + BDC870E69E95845672295AB9, + 359E9C5EB887770E3AA46B95, + 01490B3A4FE0E7503EF78A59, + FDA2E20181EEDFABEE8CACCC, + F5158122AABF8E950827F2CB, + AC8848FA6745CDFDFAF2F927, + 0C211C03FF27A92ADC7706A6, + DBEE524633668464C9593EE8, ); name = images; sourceTree = ""; }; + B41476FE5D48331846C83D2B = {isa = PBXGroup; children = ( BF44CE913E3ABC7CBD3A7005, 613B39307B80D6D9C4D62739, C03B12980850005B9ECF2E17, @@ -1664,19 +1638,54 @@ 4A44D8CE1E8F932AD7F6E5A3, 5B267B0B84A4AE272AAD58A4, EF14BD536F709B7D6B9F68F4, ); name = native; sourceTree = ""; }; + EDE9A0E4F6937433444DA2D6 = {isa = PBXGroup; children = ( + E238C3F270655B4324101263, + 2C9F5746F9D3DEA41F12FE58, + D57B55B2B9CE6B6D9D6EFFCE, ); name = placement; sourceTree = ""; }; F7DD1006ED325822934CE941 = {isa = PBXGroup; children = ( E969A83F4C0CF83A078F47F3, B886B1B89D7773E4E0B443C0, - F309B3269E76DE120143DD91, - F59D71157F4D41C4D4816141, + 05B2C41888B98054AB466C80, + 2C7B862B0024AE23EEEDA0CD, 6E98284B2337B8ACB6DB657C, - 2E6FA1D06FBF4A4F13B37ACE, - 6018A5E91B7A26DA24103F9F, - AD6C56A11E3F985F7C7AA351, - 44131CDF742706D6C0E9EC66, - A7FC8A80F3BF7EDCBB40DBAF, + DA283F848FD03C69CC5B72ED, + E7A6245329A210F5C0AF131D, + B41476FE5D48331846C83D2B, + EDE9A0E4F6937433444DA2D6, 9F0363632194A6415E392DE8, ); name = "juce_graphics"; sourceTree = ""; }; - 2F1041C065A0A50307F614ED = {isa = PBXGroup; children = ( + B498C8B9B847362C3F01F645 = {isa = PBXGroup; children = ( + EBE6C07DB63AAA1F750C22F5, + 05864BC8C7804D05F485305F, ); name = application; sourceTree = ""; }; + E150D499BFD551DCC5C7B51F = {isa = PBXGroup; children = ( + DB1613193F82A43CE17AAF88, + B50129FF78D1FCC64DB4D51E, + CDEFD12DAEF30B7A13DFF8F5, + FF8A2AE20EED8687EA5D2A00, + 7F9D7EC0BE80A6DA54A9805D, + C1E4AD74F8C069DBFBA4E782, + FE8F197A2BB3631561C8A694, + 2D8585823D0A4210D1B161DD, + 72DA84A591B2827C323332B3, + F43D110150D84A1CF0B65F0E, + C56587798EDC116C137A1DF5, + B98D12869BACB1D0ECB4EE95, + 32043671A35DA448332B557F, + C33A6A02E9F92ABA9618DD67, + 095864129E8B873229076D4F, + C4F60DBF5BC6169F4B7357A6, + 1AB3BEE546811801C8D4C377, + EC443EF07555D528F21945DF, ); name = buttons; sourceTree = ""; }; + 1EA9CBBE7B5719A139A272B2 = {isa = PBXGroup; children = ( + D41591FF892A6E2E672C7A18, + DCE3EB6C3DF640697ADD3F0D, + 7552ACBC68EF48B063F619E2, + AE1746EE8E4FC95FC3635940, + 7A356CCD42F455D41990C69F, + A6E5EC33E5F9767654EFCB25, + 1E73665689A8CF1EAD07A410, + 7D5050E0DD69CB60EF1B677C, + 6D8FDB139E0FDCBD5641A097, ); name = commands; sourceTree = ""; }; + 442857F782D6B99D7E8A9552 = {isa = PBXGroup; children = ( 3E8AACC53630A2225F4C5486, F84DED97A83644758D30181D, BF63AD2390FFED75EECD4FAB, @@ -1686,28 +1695,46 @@ 7354BFA17F9565BE32B449D0, 7D75EB56FF74B25CAC8B3B56, 5A707B988D57A28536A6E62E, ); name = components; sourceTree = ""; }; - 1F27292979CA7D0A6E999F3D = {isa = PBXGroup; children = ( - 68CE13A021B91CD24AB856E1, - AF3F2DA7FA59ACA4E789A401, - DAD5AF16CB91B3134BFDBA0D, - 2FDFCD44816447805FD012DC, - C4A9D089AA401E6F8244181C, - E9CE9F9373D3557656DFD116, - EF9C89B3C7A5808769ADFD76, - 2E3E5BB82FD2A9A582FD7E5E, - 7287E94D566F0CCB336585D6, - AAC4E65438260939D18D3F40, - 6D749A9561547CBF4C9D55FD, - E97F0C403AFAF4820EDB55F8, - 7FEE5FBF562E44ADD32CAFAC, - 1800F7D6AC6CB08DDE716CFF, - 130B30A89F8EB787CA96BD73, - 16A5D3C51A676B5EB96B07FC, - 9DC7E8A153861BEC0C8205A0, - A3784CA5E1195E1792E617F6, - 2CBB52A96FFA3344C137AFB1, - 8DC66AE55D8DDC757FEFC35D, ); name = mouse; sourceTree = ""; }; - 88897071E8E741ABDB94C057 = {isa = PBXGroup; children = ( + 5EAFAFDFA821F15A4508B459 = {isa = PBXGroup; children = ( + B5CF56ECED7AB7108C7FA24A, + EC7A2DEE957A2B375201FC12, + B0FFC533F760AED1CE7B2BC2, + 8AD5C1E90DE18441407D769D, + D396F2D0FF34CC5C59FA3DC1, + 862FE36C50506109E33D6E88, + 2B4A4D4411B9314CEEE873F2, + 6E99388FCA0417BCE813EAE0, + 64515D56E168E26DE6679FF2, + B663B0FD7F2FEDCE59A40373, + 9708B38E625B426432C46439, + D3AE4AEF45E4694F90FA90BF, + A9C31C52F36697E74384B83A, + BA27FD5D74A9F7C7D0660EEC, + 070AE2690CA06010BDBB4644, ); name = drawables; sourceTree = ""; }; + FF5FD1B581DC398E8A671D20 = {isa = PBXGroup; children = ( + AA2C868E050557A1CCEFB5AA, + 0333EF5021D4B11D0567EDE9, + FB9D900CA19E8894F1F05F4E, + 46844E11FFE3314B7A4D1182, + 65B8AFC880FE18CAD80D0C4F, + 12ECDE0E70945E79B3C6FADF, + 25D592FB01574ECBD7AB256A, + C81CCF965B4C7E21308B305C, + 0EC0E5FB195BD2DCCE4FE103, + 4E54EF00533AF35ACE6EE0D2, + BE187CBB955859129715DCEE, + 6F681F8D57B92084BD4DC38F, + 9B47191752AD5B64A858FC13, + 90BDA0B8FE4A26E5298DAEE3, + 44EB27DCDBCEC36F4DB760A9, + 9F14A2AA61821A565FF22D39, + 4D130A36E132798BA1BB53FF, + 07B9E706EBAAD4873E3914EC, + B307D90DA0DC9A76DC723878, + 89C90F8B0901C465E356C6C8, + 3EF6C867CB55DBB90076ACF2, + 06EB590F5B838B697CE72F8B, ); name = filebrowser; sourceTree = ""; }; + 6891E16A41CF181D252A70E2 = {isa = PBXGroup; children = ( 221859580563CB895AAB6167, 9E20217FB413D60F83A931AD, D7E99FDE83844ECAA502376A, @@ -1721,62 +1748,7 @@ 19FE66760D46BF77905C3B48, 661F33F1EB949D590090D53E, 1DA8B8E25372E8F00080877B, ); name = keyboard; sourceTree = ""; }; - B1F5418A24C949EF1EDCC5CC = {isa = PBXGroup; children = ( - BADB10DBDB2B94E03AF14B91, - F4DD9A24D4B78E8DA2558487, - 06745837B0C272B8686ACF30, - 422E3CE271E2064729DA6F46, - A4371BEE6FAA21EAD5E50D9C, - C772B460012E89562C4D93D7, - C02300F6DDD1A5D705603B0F, - 2CB8EA303EA9DDA6A788E09C, - 949131E58393C7020549AA11, - 8A5772ED4AE108BB21D97514, - 8930689A13E07781BE58FA24, - 9A577EF18204B6FE35D227B0, - 4CA0D374BA396AC331C7657E, - CF746C34F8DB1B073F1A4FA0, - 607D538C599F10798C3399E0, - C5CAA1141DB6800E4CE2CF51, - E7CF28977428BDE6A175943C, - E55C6DF8352F3FBE56499775, - 4CA0CF8181B0B7321AC02F44, - E5753506CDDFF88D638975ED, - 8A1FB5D85766EE499267EFCC, - A6D365F17431ED5DE20C31C6, - EED45AF0FE17F2782911D0AE, - 1A4FF248A625623F2AB5B78A, - 664D7BAD62148780288B4904, - AF601ABA3B20D0E5999328C7, - 360140E521BFFBEAE167DE5F, ); name = widgets; sourceTree = ""; }; - 20C66850D35C2F7AADD7EA64 = {isa = PBXGroup; children = ( - A1CC4DCD28D612221D9B445C, - C7ED330EB140FCC0B096E2E9, - DDB141526302B59595C3A584, - 5A1ECBE0BEAF6C2B976EE813, - 5C00F2B0503A9B4774455977, - AA78AF689E1B8E9B48B6E271, - 08CC510A823DA8A188233FB2, - 14E46E9101177690C481518A, - 3BE93702701665C1CF0D71F4, - DAF2DC4885AA5A5263A16E94, - B27AB74B32E014257ACF7EC5, - 46EE36AEA94A83975A5C36C3, - 602F2E014E4796C2DA29CDB3, - 577824246C165D84AA378BE0, - 20B1A2291D2367A6CE6A98E0, - 3FE3BB22E6A6B04200358D89, - 48348E65A2D505CD55F894CC, - 34D0CAA3AE118782B1D85410, - BFB539E4567CACD9D0DE55E5, ); name = windows; sourceTree = ""; }; - F30B7D8CE97DE5606AE6DC8E = {isa = PBXGroup; children = ( - 098EE470BA8744AD218E09F7, - 41004038C181AC5C8CDDD02D, - F950431A9C0864A8EADF9996, - 26B0149626A30EF364609DDD, - EDE49EEE9EF8B5202426D948, - 32AA8C09B7A39118E3A4BFA6, ); name = menus; sourceTree = ""; }; - 4C272B3754B014AC08B0E033 = {isa = PBXGroup; children = ( + 152458EDA84AF9EBB24C7F1C = {isa = PBXGroup; children = ( 6B526A365078C24900C821B5, 24D34491A75D9158E571CE95, B0C8BABB5E59C2F7FAA37689, @@ -1813,72 +1785,7 @@ B87C42BDAE89E73E982EF85C, FF46CABD4A7C29380D4CAD26, 03B8A6359E4DD6796B9F7840, ); name = layout; sourceTree = ""; }; - A0A794A5F17590D11359544E = {isa = PBXGroup; children = ( - DB1613193F82A43CE17AAF88, - B50129FF78D1FCC64DB4D51E, - CDEFD12DAEF30B7A13DFF8F5, - FF8A2AE20EED8687EA5D2A00, - 7F9D7EC0BE80A6DA54A9805D, - C1E4AD74F8C069DBFBA4E782, - FE8F197A2BB3631561C8A694, - 2D8585823D0A4210D1B161DD, - 72DA84A591B2827C323332B3, - F43D110150D84A1CF0B65F0E, - C56587798EDC116C137A1DF5, - B98D12869BACB1D0ECB4EE95, - 32043671A35DA448332B557F, - C33A6A02E9F92ABA9618DD67, - 095864129E8B873229076D4F, - C4F60DBF5BC6169F4B7357A6, - 1AB3BEE546811801C8D4C377, - EC443EF07555D528F21945DF, ); name = buttons; sourceTree = ""; }; - 0CE1F0AC5B7735D5C59D065E = {isa = PBXGroup; children = ( - 1C95AB2B2812BD8960870603, - E0026785667979561D036936, - 2B56C4638018F72794BEADC8, - 8E6345C2A24786DB002C85A0, - D73A06F366784CFAA87B7BEE, - 053462A035FADA4FDCE2A8D0, - 45CAA0CEA9DA2B4F3AF549FC, - 0CB6B999BF9DBA9D0F586C6F, - 49811A30680D278DA9591BE5, - 41FDE3C3197B773438925736, - DF0EBC428D40282CD24D2015, - B7C588B87E09F887C6CB73C0, - 06577256ACDA6ECA2DF0AE84, - E889D7DD7AC4FCA48517B2E8, ); name = positioning; sourceTree = ""; }; - 1011BBE9304BAFF95A476125 = {isa = PBXGroup; children = ( - B5CF56ECED7AB7108C7FA24A, - EC7A2DEE957A2B375201FC12, - B0FFC533F760AED1CE7B2BC2, - 8AD5C1E90DE18441407D769D, - D396F2D0FF34CC5C59FA3DC1, - 862FE36C50506109E33D6E88, - 2B4A4D4411B9314CEEE873F2, - 6E99388FCA0417BCE813EAE0, - 64515D56E168E26DE6679FF2, - B663B0FD7F2FEDCE59A40373, - 9708B38E625B426432C46439, - D3AE4AEF45E4694F90FA90BF, - A9C31C52F36697E74384B83A, - BA27FD5D74A9F7C7D0660EEC, - 070AE2690CA06010BDBB4644, ); name = drawables; sourceTree = ""; }; - 7B851D47EEB0A51D2C32C5FB = {isa = PBXGroup; children = ( - 1FB5E4B9CC25B15D872DDAF8, - 762FD953C2BB53F5DC9CD403, - 9A07C2A820D1A4D1C5429E6F, - 84030B3A2263DEAB1A2EC8CF, - 08BA9BF25A4A247BAEFA7C7B, - 44AF43F408DE59FEC7FC87C1, - A516757003C57D4D3E5C637A, - 8CC6758FB15124F3CF345CA0, - 4BB76738C3C05043BFDE3507, - 6E0D954E48998693A587F2DE, - 04CF614E82E5E0D67952963A, - BB3DB74A8843A5C315854394, - 5546974D4F68A427792B725E, - 3CAB0402E5EDD5A25D4DE907, ); name = properties; sourceTree = ""; }; - 43B0193D1C7DEF84D41B69A4 = {isa = PBXGroup; children = ( + 4338F69C46D1058F2B27301E = {isa = PBXGroup; children = ( 202FBA54BE113F8E12628DF3, F93E820028869AA360740BE2, A3D1C2B1D20BB35EABEF5D56, @@ -1887,48 +1794,40 @@ 7DCF0A2E89D3CC5C976411D9, 06F692C85C20B60877A3E153, CA3E9C9CE9CA59B370A81095, ); name = lookandfeel; sourceTree = ""; }; - FC94936E6781852E6A5F5AAF = {isa = PBXGroup; children = ( - AA2C868E050557A1CCEFB5AA, - 0333EF5021D4B11D0567EDE9, - FB9D900CA19E8894F1F05F4E, - 46844E11FFE3314B7A4D1182, - 65B8AFC880FE18CAD80D0C4F, - 12ECDE0E70945E79B3C6FADF, - 25D592FB01574ECBD7AB256A, - C81CCF965B4C7E21308B305C, - 0EC0E5FB195BD2DCCE4FE103, - 4E54EF00533AF35ACE6EE0D2, - BE187CBB955859129715DCEE, - 6F681F8D57B92084BD4DC38F, - 9B47191752AD5B64A858FC13, - 90BDA0B8FE4A26E5298DAEE3, - 44EB27DCDBCEC36F4DB760A9, - 9F14A2AA61821A565FF22D39, - 4D130A36E132798BA1BB53FF, - 07B9E706EBAAD4873E3914EC, - B307D90DA0DC9A76DC723878, - 89C90F8B0901C465E356C6C8, - 3EF6C867CB55DBB90076ACF2, - 06EB590F5B838B697CE72F8B, ); name = filebrowser; sourceTree = ""; }; - 76533D71441DB73BC581D584 = {isa = PBXGroup; children = ( - D41591FF892A6E2E672C7A18, - DCE3EB6C3DF640697ADD3F0D, - 7552ACBC68EF48B063F619E2, - AE1746EE8E4FC95FC3635940, - 7A356CCD42F455D41990C69F, - A6E5EC33E5F9767654EFCB25, - 1E73665689A8CF1EAD07A410, - 7D5050E0DD69CB60EF1B677C, - 6D8FDB139E0FDCBD5641A097, ); name = commands; sourceTree = ""; }; - A16C13AC925F01E513BC0632 = {isa = PBXGroup; children = ( + 77144AC1CC880CE0F1D465C4 = {isa = PBXGroup; children = ( + 098EE470BA8744AD218E09F7, + 41004038C181AC5C8CDDD02D, + F950431A9C0864A8EADF9996, + 26B0149626A30EF364609DDD, + EDE49EEE9EF8B5202426D948, + 32AA8C09B7A39118E3A4BFA6, ); name = menus; sourceTree = ""; }; + D8E6A3AC1D16E94A22CB1013 = {isa = PBXGroup; children = ( AD7D7A1631818FAFC9600F3F, 5D2270DEE9D5C23019DEB152, D2E451A096DED665657647F8, BE439FE1379CC46AD8DA5F78, ); name = misc; sourceTree = ""; }; - C25E9058EE7B0F2E900E3433 = {isa = PBXGroup; children = ( - EBE6C07DB63AAA1F750C22F5, - 05864BC8C7804D05F485305F, ); name = application; sourceTree = ""; }; - 49D064C5B2141BD8D14AE294 = {isa = PBXGroup; children = ( + 3CB92BE112CF6432C7873973 = {isa = PBXGroup; children = ( + 68CE13A021B91CD24AB856E1, + AF3F2DA7FA59ACA4E789A401, + DAD5AF16CB91B3134BFDBA0D, + 2FDFCD44816447805FD012DC, + C4A9D089AA401E6F8244181C, + E9CE9F9373D3557656DFD116, + EF9C89B3C7A5808769ADFD76, + 2E3E5BB82FD2A9A582FD7E5E, + 7287E94D566F0CCB336585D6, + AAC4E65438260939D18D3F40, + 6D749A9561547CBF4C9D55FD, + E97F0C403AFAF4820EDB55F8, + 7FEE5FBF562E44ADD32CAFAC, + 1800F7D6AC6CB08DDE716CFF, + 130B30A89F8EB787CA96BD73, + 16A5D3C51A676B5EB96B07FC, + 9DC7E8A153861BEC0C8205A0, + A3784CA5E1195E1792E617F6, + 2CBB52A96FFA3344C137AFB1, + 8DC66AE55D8DDC757FEFC35D, ); name = mouse; sourceTree = ""; }; + AC5DEE7E7554608C034CDD6B = {isa = PBXGroup; children = ( 6776FE828D0C9AAC3F12EA59, 4013F4D715E43764169C2BF5, 1D05DBE68E45BED5B842F212, @@ -1945,25 +1844,102 @@ 46FBF3438B506BBBA1C08BE5, 1CCFA6CA5E8D3E8D1D9476B5, 584F5DA03ABAC58D8200F4DB, ); name = native; sourceTree = ""; }; + 9652A2D0E3B2AABD4FD17917 = {isa = PBXGroup; children = ( + 1C95AB2B2812BD8960870603, + E0026785667979561D036936, + 2B56C4638018F72794BEADC8, + 8E6345C2A24786DB002C85A0, + D73A06F366784CFAA87B7BEE, + 053462A035FADA4FDCE2A8D0, + 45CAA0CEA9DA2B4F3AF549FC, + 0CB6B999BF9DBA9D0F586C6F, + 49811A30680D278DA9591BE5, + 41FDE3C3197B773438925736, + DF0EBC428D40282CD24D2015, + B7C588B87E09F887C6CB73C0, + 06577256ACDA6ECA2DF0AE84, + E889D7DD7AC4FCA48517B2E8, ); name = positioning; sourceTree = ""; }; + 64F1D01DEAE073EECB556926 = {isa = PBXGroup; children = ( + 1FB5E4B9CC25B15D872DDAF8, + 762FD953C2BB53F5DC9CD403, + 9A07C2A820D1A4D1C5429E6F, + 84030B3A2263DEAB1A2EC8CF, + 08BA9BF25A4A247BAEFA7C7B, + 44AF43F408DE59FEC7FC87C1, + A516757003C57D4D3E5C637A, + 8CC6758FB15124F3CF345CA0, + 4BB76738C3C05043BFDE3507, + 6E0D954E48998693A587F2DE, + 04CF614E82E5E0D67952963A, + BB3DB74A8843A5C315854394, + 5546974D4F68A427792B725E, + 3CAB0402E5EDD5A25D4DE907, ); name = properties; sourceTree = ""; }; + 00EB1410366065CA2E5816DD = {isa = PBXGroup; children = ( + BADB10DBDB2B94E03AF14B91, + F4DD9A24D4B78E8DA2558487, + 06745837B0C272B8686ACF30, + 422E3CE271E2064729DA6F46, + A4371BEE6FAA21EAD5E50D9C, + C772B460012E89562C4D93D7, + C02300F6DDD1A5D705603B0F, + 2CB8EA303EA9DDA6A788E09C, + 949131E58393C7020549AA11, + 8A5772ED4AE108BB21D97514, + 8930689A13E07781BE58FA24, + 9A577EF18204B6FE35D227B0, + 4CA0D374BA396AC331C7657E, + CF746C34F8DB1B073F1A4FA0, + 607D538C599F10798C3399E0, + C5CAA1141DB6800E4CE2CF51, + E7CF28977428BDE6A175943C, + E55C6DF8352F3FBE56499775, + 4CA0CF8181B0B7321AC02F44, + E5753506CDDFF88D638975ED, + 8A1FB5D85766EE499267EFCC, + A6D365F17431ED5DE20C31C6, + EED45AF0FE17F2782911D0AE, + 1A4FF248A625623F2AB5B78A, + 664D7BAD62148780288B4904, + AF601ABA3B20D0E5999328C7, + 360140E521BFFBEAE167DE5F, ); name = widgets; sourceTree = ""; }; + 71CFA50CA6D7DDEF3B4F7CFD = {isa = PBXGroup; children = ( + A1CC4DCD28D612221D9B445C, + C7ED330EB140FCC0B096E2E9, + DDB141526302B59595C3A584, + 5A1ECBE0BEAF6C2B976EE813, + 5C00F2B0503A9B4774455977, + AA78AF689E1B8E9B48B6E271, + 08CC510A823DA8A188233FB2, + 14E46E9101177690C481518A, + 3BE93702701665C1CF0D71F4, + DAF2DC4885AA5A5263A16E94, + B27AB74B32E014257ACF7EC5, + 46EE36AEA94A83975A5C36C3, + 602F2E014E4796C2DA29CDB3, + 577824246C165D84AA378BE0, + 20B1A2291D2367A6CE6A98E0, + 3FE3BB22E6A6B04200358D89, + 48348E65A2D505CD55F894CC, + 34D0CAA3AE118782B1D85410, + BFB539E4567CACD9D0DE55E5, ); name = windows; sourceTree = ""; }; 2727A6D234211D5EEFE67B2D = {isa = PBXGroup; children = ( - 2F1041C065A0A50307F614ED, - 1F27292979CA7D0A6E999F3D, - 88897071E8E741ABDB94C057, - B1F5418A24C949EF1EDCC5CC, - 20C66850D35C2F7AADD7EA64, - F30B7D8CE97DE5606AE6DC8E, - 4C272B3754B014AC08B0E033, - A0A794A5F17590D11359544E, - 0CE1F0AC5B7735D5C59D065E, - 1011BBE9304BAFF95A476125, - 7B851D47EEB0A51D2C32C5FB, - 43B0193D1C7DEF84D41B69A4, - FC94936E6781852E6A5F5AAF, - 76533D71441DB73BC581D584, - A16C13AC925F01E513BC0632, - C25E9058EE7B0F2E900E3433, - 49D064C5B2141BD8D14AE294, - E10E5BBBE8515439D764CBBB, + B498C8B9B847362C3F01F645, + E150D499BFD551DCC5C7B51F, + 1EA9CBBE7B5719A139A272B2, + 442857F782D6B99D7E8A9552, + 5EAFAFDFA821F15A4508B459, + FF5FD1B581DC398E8A671D20, + 6891E16A41CF181D252A70E2, + 152458EDA84AF9EBB24C7F1C, + 4338F69C46D1058F2B27301E, + 77144AC1CC880CE0F1D465C4, + D8E6A3AC1D16E94A22CB1013, + 3CB92BE112CF6432C7873973, + AC5DEE7E7554608C034CDD6B, + 9652A2D0E3B2AABD4FD17917, + 64F1D01DEAE073EECB556926, + 00EB1410366065CA2E5816DD, + 71CFA50CA6D7DDEF3B4F7CFD, 6A6347D9B543CE96713831B9, ); name = "juce_gui_basics"; sourceTree = ""; }; 7DEF87B9C8D847F2840BF97D = {isa = PBXGroup; children = ( 714F603CF16614D65F89340D, @@ -2025,9 +2001,21 @@ 66D132EDB56154912C007BA8, A53F5FF344A1D95EBBBDF3DC, DFD4E790D5E34260219E3AF7, - 5DB6DA27DC5C022696109EF8, 644E389974336014E8890F31, ); name = "juce_gui_extra"; sourceTree = ""; }; - 6EB5B0C74A683FD9E8F67118 = {isa = PBXGroup; children = ( + DA3E811B275440DA67B74A7F = {isa = PBXGroup; children = ( + 8C7A9D19E4BF794F25112C92, + 8AF7405E7AF18A44BF24811B, + 6E2E587EC9DCB2595D73A5CD, + 44BFB21474150C54D8B45035, ); name = geometry; sourceTree = ""; }; + 484005DDD3D1200F90DB6547 = {isa = PBXGroup; children = ( + 93A5B72C4030F63A78120194, + 6ACE33C4515448BE0DF400C8, + CF6B3F4DF15D7BAAEB2495BC, + 73B2312BC8C5D5A5A7AD87D0, + 51686AA73651EE47EF5CE35E, + 49E5DF4D47ADC97FB605F93F, + F16BDC9AFAD544D72BF6DC3C, ); name = native; sourceTree = ""; }; + 9A1C22A64EF6765E628D9DB8 = {isa = PBXGroup; children = ( 86F9F3EDDA98B10C15901578, A003021CCCD1F8D2200E9066, EDAA8D220CC237DE5D612F47, @@ -2045,47 +2033,32 @@ AC5BB40FA10713128CC9A2A1, 3BAC3350B6CA12EFF6587DF6, 4055E0D3D92A96C8E797ACBD, ); name = opengl; sourceTree = ""; }; - 8EEFFBC75F21B6E21D802A38 = {isa = PBXGroup; children = ( - 8C7A9D19E4BF794F25112C92, - 8AF7405E7AF18A44BF24811B, - 6E2E587EC9DCB2595D73A5CD, - 44BFB21474150C54D8B45035, ); name = geometry; sourceTree = ""; }; - 72D293A3B38BAD3129DF1940 = {isa = PBXGroup; children = ( + 96463EF7F2C7E4B6A970B318 = {isa = PBXGroup; children = ( 6BF891205F6EEAF85C1C0F2C, E662D32EE899694C2F360B77, ); name = utils; sourceTree = ""; }; - 4527369C4DAB2CE60232DE94 = {isa = PBXGroup; children = ( - 93A5B72C4030F63A78120194, - 6ACE33C4515448BE0DF400C8, - CF6B3F4DF15D7BAAEB2495BC, - 73B2312BC8C5D5A5A7AD87D0, - 51686AA73651EE47EF5CE35E, - 49E5DF4D47ADC97FB605F93F, - F16BDC9AFAD544D72BF6DC3C, ); name = native; sourceTree = ""; }; F60314F08ACFDB997F502781 = {isa = PBXGroup; children = ( - 6EB5B0C74A683FD9E8F67118, - 8EEFFBC75F21B6E21D802A38, - 72D293A3B38BAD3129DF1940, - 4527369C4DAB2CE60232DE94, - E4E6F10141E07DE0F2960C2F, + DA3E811B275440DA67B74A7F, + 484005DDD3D1200F90DB6547, + 9A1C22A64EF6765E628D9DB8, + 96463EF7F2C7E4B6A970B318, B4EBC54E160BF6EFDA54A708, ); name = "juce_opengl"; sourceTree = ""; }; - ABEEA81A9680F6A4F8ECA0EA = {isa = PBXGroup; children = ( - 7A32476DF07EE4C33512F01D, - F75D109BD33B5C057C150155, ); name = playback; sourceTree = ""; }; - 1C67C665FD3B6D5133151E2D = {isa = PBXGroup; children = ( + D506F9F24F7F53699D9EC7E0 = {isa = PBXGroup; children = ( DB8D923C776A1038384A10D5, 5CD2D4CDAC75E50E78ABE46C, ); name = capture; sourceTree = ""; }; - 5CBF586DCC30079B9463982A = {isa = PBXGroup; children = ( + B97B5586EDF684C9754563C2 = {isa = PBXGroup; children = ( 407FCF60E01E1C7F7BBF83B2, 26BFF71147B21AEECB934431, C8A3BA380B7DADEBA46EC1FF, A091657F22DDCFFC2D0E3E68, 4366A35F3F091C0EEFD58817, CF412309E5514E05CBD2A30F, ); name = native; sourceTree = ""; }; + 920D42A2B5F1763CB6CFF5DD = {isa = PBXGroup; children = ( + 7A32476DF07EE4C33512F01D, + F75D109BD33B5C057C150155, ); name = playback; sourceTree = ""; }; CC319022914B6972D2B91A23 = {isa = PBXGroup; children = ( - ABEEA81A9680F6A4F8ECA0EA, - 1C67C665FD3B6D5133151E2D, - 5CBF586DCC30079B9463982A, - 0FD74232B9B3A15C19D73B4F, + D506F9F24F7F53699D9EC7E0, + B97B5586EDF684C9754563C2, + 920D42A2B5F1763CB6CFF5DD, A20A2F639F28E15631EEEA35, ); name = "juce_video"; sourceTree = ""; }; E697CF5985AC7D206A214CE1 = {isa = PBXGroup; children = ( 42D107F741897BBB52B61202, @@ -2104,23 +2077,23 @@ CC319022914B6972D2B91A23, ); name = "Juce Modules"; sourceTree = ""; }; C94E97E4A3CB628A675EE05C = {isa = PBXGroup; children = ( B84ADDD01BAB1B1E21DDFF07, - 19DBF218B50AA295AED50CC2, - D08758C4B60AE0ECD82D8EF6, - C987F7105C386F9799C74AE5, - 768E5A86B7E84A146818B866, - 0D72F29AB05E80E6D8A57578, - 7DE30FBED9393A59FF08AFC4, - 332B664DD5F1E87D1BC77715, - BBDC1C7DE652B571ED885097, - 8C96A8A1170495B6693F2FF9, - 5E489080FFCF538C3170739B, - DE6FBEE731028F230A86F223, - 2E631361420FA9496ED300DF, - 1CA41F35C44145819921CF79, - B6FF0E28C1E186DD9E97F838, + 5FEA66532C18871947DA95A9, + 8202E36EB5B777BA3F00A181, + 34405DE2900A4E762CF2DAEA, + 7DDF974E74FDF5B5D29E2E27, + 7ECF0BA098438BBD194FEE75, + 4E3266F9CD3260D786538E6D, + B8A22D85276B05E8EE8F0BC4, + D2882899DDDE37B4CD837280, + 571FEF1C078CC4FB35DAE33A, + 0F259ACE12C8A81AA558661C, + AE3C0E5467FE67DAF01645FC, + 1062CD8BD738A5F58CC3F64D, + 7852F468318493D3FAEC9089, + D14A9B0E0A5A536B6D72EFAF, 15BA4AEE0C0E22D7C8BE92CA, ); name = "Juce Library Code"; sourceTree = ""; }; 094FA973096AF6FDD5A75280 = {isa = PBXGroup; children = ( - 9A31450E90F82EE417285AA4, + 1E0CCB36A0D6D2CE936E43BF, 16799F26A4934E01FE14D70A, ); name = Resources; sourceTree = ""; }; B679234897D9AEB22E892566 = {isa = PBXGroup; children = ( 92CABA9C9B5148FCA22A0503, @@ -2137,7 +2110,7 @@ BC1276921CB154EB04E5EBAE, 095618F6D669589BD1DBD1ED, ); name = Frameworks; sourceTree = ""; }; 6F245D0C169B0E9060BD1033 = {isa = PBXGroup; children = ( - 4B8E8BD3DEAE0C479D04F571, ); name = Products; sourceTree = ""; }; + 9C71E9533EDADF610F789D88, ); name = Products; sourceTree = ""; }; 41A4B977F5588A439A066455 = {isa = PBXGroup; children = ( 24BF2D05D134C386864C4C7D, E697CF5985AC7D206A214CE1, @@ -2145,7 +2118,7 @@ 094FA973096AF6FDD5A75280, B679234897D9AEB22E892566, 6F245D0C169B0E9060BD1033, ); name = Source; sourceTree = ""; }; - 993A56BA093F4D3C2556398E = {isa = XCBuildConfiguration; buildSettings = { + B0ADA4CCDD12487AAA4D29E3 = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; @@ -2161,12 +2134,12 @@ "JUCE_APP_VERSION_HEX=0x10000", ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.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 = { + F8E0347F1E2A6CDA40CBAFC1 = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; @@ -2183,7 +2156,7 @@ GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.plist; INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.AudioAppExample; @@ -2220,32 +2193,33 @@ PRODUCT_NAME = "AudioAppExample"; WARNING_CFLAGS = -Wreorder; ZERO_LINK = NO; }; name = Release; }; + DE876A3DBFEEF66A9EE062EC = {isa = PBXTargetDependency; target = D010D5837C01EB7574A48649; }; 074FE87A26471418B3AC0921 = {isa = XCConfigurationList; buildConfigurations = ( 2DDD1A3A56EAB02179D1CFB6, BE32D9CFAA27D791B2181C7F, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - FF720F7C44675347E5E0EB5A = {isa = XCConfigurationList; buildConfigurations = ( - 993A56BA093F4D3C2556398E, - EA0243E56EC3EAF286B53CA6, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 6480A9A75122084E426BEF0C = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 5E209C49168EC5C17A54C6C7 = {isa = XCConfigurationList; buildConfigurations = ( + B0ADA4CCDD12487AAA4D29E3, + F8E0347F1E2A6CDA40CBAFC1, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 3602833D915A2AC7C25F537F = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( 0CB39189A1701173FED41819, ); runOnlyForDeploymentPostprocessing = 0; }; - EE26AB6336CDF8E778B3DA86 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + BC3ECD5BCB6580E951083B7E = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 5055109434B36CD6E0B6D360, 55A794809FECCB07D3C4D07D, - 9F994C4912DB4402247C438F, - 9BC0ECFC7AF57F1909EE09FA, - 85FE609FB6402062EF2C0DBA, - F794ED1AA51CF125F7F1A8A9, - 8B9F9A6D24146522DD93CD22, - B0576FED799D792664EB5D15, - 916BBC1AB5BE42CD684DAC5B, - EA094DDAD2D1A7A4C0C2233E, - 8FB9BEF532266F191FA2343F, - 3D181BDD770219ED14488377, - E0AAACBB6027FC8FD4F9113C, - 9537FB2A9B43C898E86156A7, - 42AE22EDF3A83997E9444080, - ED46B41A891FE3B15A184ECF, ); runOnlyForDeploymentPostprocessing = 0; }; - B6DD28580BC7A7F690EF4B49 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 169D0D504ED242BFAB124750, + 404DE83EB6A8750B51021B56, + 9647D38482003C7935023564, + BE3AF34796EB8018C7CF57E1, + 87A3F2EDF075A6CC0D1F592F, + F04ED92056A417B954A3CD77, + 9351C4C5A67B13C998014734, + 233883A753FE7837D92A3A6F, + D152BFE027C6E31ED068C789, + 2434A698BFA843B1858C07ED, + 62809FDCE519DEF052EA7938, + 8224320056042532BE315901, + 8B21FD4457DD9685495ADD8A, + C85B383577A335D5D1CF67B8, ); runOnlyForDeploymentPostprocessing = 0; }; + C9974DDFB456D5307D4C29F3 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( 3286435E3CC944A630866B89, 7AC823C6BFA28E49D004E0E0, 32D0B845ED45381A3B0D3286, @@ -2259,11 +2233,11 @@ 291730DFE49E6AE97D4C8CEC, 22F4A52A8EEA059B7DD0FCC2, 74DB8EEA9D58B6E97C392192, ); runOnlyForDeploymentPostprocessing = 0; }; - EDF214F1951D7745347EA1D1 = {isa = PBXNativeTarget; buildConfigurationList = FF720F7C44675347E5E0EB5A; buildPhases = ( - 6480A9A75122084E426BEF0C, - EE26AB6336CDF8E778B3DA86, - B6DD28580BC7A7F690EF4B49, ); buildRules = ( ); dependencies = ( ); name = AudioAppExample; productName = AudioAppExample; productReference = 4B8E8BD3DEAE0C479D04F571; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; - 0E00FEF4A999DE35888889AE = {isa = PBXProject; buildConfigurationList = 074FE87A26471418B3AC0921; attributes = { LastUpgradeCheck = 0440; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 41A4B977F5588A439A066455; projectDirPath = ""; projectRoot = ""; targets = ( EDF214F1951D7745347EA1D1 ); }; + D010D5837C01EB7574A48649 = {isa = PBXNativeTarget; buildConfigurationList = 5E209C49168EC5C17A54C6C7; buildPhases = ( + 3602833D915A2AC7C25F537F, + BC3ECD5BCB6580E951083B7E, + C9974DDFB456D5307D4C29F3, ); buildRules = ( ); dependencies = ( ); name = "AudioAppExample (App)"; productName = AudioAppExample; productReference = 9C71E9533EDADF610F789D88; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; + 0E00FEF4A999DE35888889AE = {isa = PBXProject; buildConfigurationList = 074FE87A26471418B3AC0921; attributes = { LastUpgradeCheck = 0440; TargetAttributes = { D010D5837C01EB7574A48649 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 41A4B977F5588A439A066455; projectDirPath = ""; projectRoot = ""; targets = (D010D5837C01EB7574A48649); }; }; rootObject = 0E00FEF4A999DE35888889AE; } diff --git a/examples/AudioAppExample/Builds/MacOSX/Info.plist b/examples/AudioAppExample/Builds/MacOSX/Info-App.plist similarity index 88% rename from examples/AudioAppExample/Builds/MacOSX/Info.plist rename to examples/AudioAppExample/Builds/MacOSX/Info-App.plist index 1f9e3c96bb..cee4219f66 100644 --- a/examples/AudioAppExample/Builds/MacOSX/Info.plist +++ b/examples/AudioAppExample/Builds/MacOSX/Info-App.plist @@ -11,6 +11,8 @@ $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName AudioAppExample + CFBundleDisplayName + AudioAppExample CFBundlePackageType APPL CFBundleSignature diff --git a/examples/AudioAppExample/Builds/VisualStudio2010/AudioAppExample.vcxproj b/examples/AudioAppExample/Builds/VisualStudio2010/AudioAppExample.vcxproj index 64f5643072..9b0caace43 100644 --- a/examples/AudioAppExample/Builds/VisualStudio2010/AudioAppExample.vcxproj +++ b/examples/AudioAppExample/Builds/VisualStudio2010/AudioAppExample.vcxproj @@ -212,6 +212,9 @@ true + + true + true @@ -227,15 +230,6 @@ true - - true - - - true - - - true - true @@ -284,25 +278,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -332,9 +311,45 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + true + + true + + + true + + + true + + + true + + + true + true @@ -353,21 +368,6 @@ true - - true - - - true - - - true - - - true - - - true - true @@ -401,9 +401,6 @@ true - - true - true @@ -413,43 +410,7 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -467,33 +428,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -518,40 +452,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -560,31 +464,16 @@ true - + true - + true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -650,6 +539,117 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -668,6 +668,15 @@ true + + true + + + true + + + true + true @@ -677,33 +686,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -722,6 +704,18 @@ true + + true + + + true + + + true + + + true + true @@ -731,6 +725,12 @@ true + + true + + + true + true @@ -752,43 +752,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -809,10 +776,40 @@ true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -839,6 +836,51 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -851,6 +893,153 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -872,19 +1061,70 @@ true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -953,246 +1193,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -1301,20 +1301,20 @@ true - - - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -1353,6 +1353,8 @@ + + @@ -1360,20 +1362,10 @@ + - - - - - - - - - - - @@ -1383,8 +1375,25 @@ + + + + + + + + + + + + + + + + + @@ -1395,15 +1404,6 @@ - - - - - - - - - @@ -1424,21 +1424,35 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1459,22 +1473,49 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1494,53 +1535,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - @@ -1549,14 +1549,22 @@ + + + + - - - - + + + + + + + + @@ -1566,19 +1574,11 @@ - - - - - - - - - - + + @@ -1589,10 +1589,15 @@ - - - - + + + + + + + + + @@ -1603,26 +1608,91 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1636,14 +1706,21 @@ - - - - - - - - + + + + + + + + + + + + + + + @@ -1668,83 +1745,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1770,6 +1770,17 @@ + + + + + + + + + + + @@ -1779,42 +1790,15 @@ - - - - - - - - - - - + - - - - - - - - - - - - - - - - - diff --git a/examples/AudioAppExample/Builds/VisualStudio2010/AudioAppExample.vcxproj.filters b/examples/AudioAppExample/Builds/VisualStudio2010/AudioAppExample.vcxproj.filters index 256472247b..cd5c4e0261 100644 --- a/examples/AudioAppExample/Builds/VisualStudio2010/AudioAppExample.vcxproj.filters +++ b/examples/AudioAppExample/Builds/VisualStudio2010/AudioAppExample.vcxproj.filters @@ -35,45 +35,45 @@ {CACD7B50-4DB3-76AF-A6E8-90DF94F8F594} + + {45C2CE26-EC4B-BA52-58F3-297C408E1483} + {9D270B31-2425-8FDB-84A4-6A2288FF5B2F} {0F766DD4-A277-CB86-5647-42498C8B41E1} - - {D64942B4-6984-3623-3347-45D472AE1C61} - - - {45C2CE26-EC4B-BA52-58F3-297C408E1483} - {01603E05-423B-5FC3-1BEE-E15ED33B5688} + + {D64942B4-6984-3623-3347-45D472AE1C61} + {65CB28F8-0422-A8F3-9A17-959E12A1F8E2} - - {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} - {0CD9E281-DDD0-91EC-6F77-EA9D9D5E0E1A} + + {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} + {40C5CA7C-AEBB-05B1-11CE-AE41D87B5CCB} {0B0E7392-324B-088C-FBEB-5FE999D61782} - - {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} - {20254EFE-6CBD-31A7-2119-92B1E0E0E311} {70796D73-6D30-8A1B-4732-7C021E47C05A} + + {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} + {EB8DD942-E2CB-869F-D381-E02A65BA790B} @@ -86,17 +86,26 @@ {8167E753-09C7-5D1C-EF2B-32D297557443} - - {AEDCB7F7-7A36-5392-8E9A-715F5BDE35CB} - {B48C883A-8483-AF6D-808C-1D9A749048D8} + + {AEDCB7F7-7A36-5392-8E9A-715F5BDE35CB} + {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} - - {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + + {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + + {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + + {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} {476C69CE-0B67-6B85-E888-45D91E37A29E} @@ -104,17 +113,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} - - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -122,29 +125,26 @@ {91929C6F-7902-B87D-5260-2F6CBF8ACD93} - - {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} - {4634FFAE-9586-A970-364C-4FDDA635F99F} - - {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} - - {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - {F03654BC-34D8-F975-BEA3-750CC2783D23} + + {C9F6D785-BF78-5AA1-B479-111C65397864} {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} - - {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} - - {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + {F03654BC-34D8-F975-BEA3-750CC2783D23} {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} @@ -158,33 +158,33 @@ {928D8FCC-5E00-174B-6538-93E8D75AB396} - - {1988E68A-A964-64CA-0E0C-26FF9BC5176C} + + {358AEA11-3F96-36AE-7B32-71373B5C5396} {3DF036EA-3B80-553B-2494-3AAC835CAE75} - - {358AEA11-3F96-36AE-7B32-71373B5C5396} + + {1988E68A-A964-64CA-0E0C-26FF9BC5176C} {F2A38F45-6E55-E147-2E52-64A89FDD9D59} - - {6172822C-01A5-E824-12DA-FA43FA934D35} - - - {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} - {B098BC87-3298-7E6B-12DC-D26C09CDCAED} {6322B88F-984A-C3CD-6263-38D7AA49B6EC} + + {6172822C-01A5-E824-12DA-FA43FA934D35} + {73C1E759-AD90-59A3-942E-2D10FAA29107} + + {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} + {EE1AE8C3-0908-8F53-A4E5-D930C7C97C26} @@ -194,81 +194,81 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} - - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - - {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {E37D25CD-4350-4614-055B-7ABC55E67895} {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {C1A1A236-AB01-173E-96C3-0706BFF93B1E} + + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + + {413F481F-075C-2958-115C-D8268682FCB7} {FFC6E1CC-C772-75E6-5087-FB5D4E016799} + + {1182303F-ECA3-166D-AC0C-92C5E762CB93} + {8E43579F-C185-266D-DD67-F8B95BD80F2F} + + {61712B09-5783-ADFA-2001-5A0C3D7764EB} + + + {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + + {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} + {2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D} - - {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + {5A0AA36E-3957-E413-14C6-31CBE15271DF} + + + {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} {A92719C7-70BE-57C4-CE9E-A9BC9DFEB757} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} + + + {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} + + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} + + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + + {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} + + + {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} + {75F1F352-251A-75E0-D941-8431588F5C1E} {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} - - {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} - - - {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} - - - {5A0AA36E-3957-E413-14C6-31CBE15271DF} - - - {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} - - - {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} - - - {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} - - - {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} - - - {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - - {61712B09-5783-ADFA-2001-5A0C3D7764EB} - - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} - {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -290,30 +290,30 @@ {639E16C5-DA8B-ADBA-6E24-7B596378EAB2} - - {2D8D0E19-E676-83EB-38D9-F73500DD6B79} - {B3141847-8F13-F67D-45B2-E3ECF6E09088} - - {9E586194-C056-101C-5311-F2AF5191AC80} - {151B49D8-6102-F802-1C07-D59931BC0574} + + {2D8D0E19-E676-83EB-38D9-F73500DD6B79} + + + {9E586194-C056-101C-5311-F2AF5191AC80} + {72A923E2-C729-DB92-D7BF-A9D4AFAE5896} - - {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} - {7F11E7D2-54C0-2A36-5F15-BEC0A5374A08} {EE985DEA-CD83-8132-7219-542BB1DAD560} + + {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} + {8B4D1BAA-6DB4-CAEC-A0FA-271F354D5C61} @@ -412,6 +412,9 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -427,15 +430,6 @@ Juce Modules\juce_audio_devices\midi_io - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\audio_cd - Juce Modules\juce_audio_devices\native @@ -490,26 +484,11 @@ Juce Modules\juce_audio_devices\native - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_formats\codecs @@ -538,27 +517,30 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - Juce Modules\juce_audio_processors\format @@ -577,6 +559,24 @@ Juce Modules\juce_audio_processors\format_types + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + Juce Modules\juce_audio_processors\scanning @@ -610,9 +610,6 @@ Juce Modules\juce_audio_utils\gui - - Juce Modules\juce_audio_utils\players - Juce Modules\juce_audio_utils\native @@ -628,44 +625,8 @@ Juce Modules\juce_audio_utils\native - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\memory + + Juce Modules\juce_audio_utils\players Juce Modules\juce_core\containers @@ -682,33 +643,6 @@ Juce Modules\juce_core\containers - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - Juce Modules\juce_core\files @@ -733,41 +667,11 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -775,32 +679,17 @@ Juce Modules\juce_core\logging - - Juce Modules\juce_core\system + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc @@ -880,6 +769,117 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + Juce Modules\juce_cryptography\encryption @@ -898,6 +898,15 @@ Juce Modules\juce_cryptography\hashing + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -907,33 +916,6 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - Juce Modules\juce_events\broadcasters @@ -952,6 +934,18 @@ Juce Modules\juce_events\interprocess + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + Juce Modules\juce_events\native @@ -967,6 +961,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_graphics\colour @@ -988,44 +988,11 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\effects Juce Modules\juce_graphics\fonts @@ -1045,11 +1012,41 @@ Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -1081,6 +1078,51 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -1093,6 +1135,153 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -1114,20 +1303,92 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -1195,267 +1456,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_extra\code_editor @@ -1582,46 +1582,46 @@ Juce Modules\juce_video\native - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code @@ -1734,6 +1734,12 @@ Juce Modules\juce_audio_basics + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -1755,48 +1761,18 @@ Juce Modules\juce_audio_devices\midi_io + + Juce Modules\juce_audio_devices\native + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\native - Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - Juce Modules\juce_audio_formats\codecs @@ -1824,12 +1800,63 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + Juce Modules\juce_audio_processors\processors @@ -1860,33 +1887,6 @@ Juce Modules\juce_audio_processors\processors - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - Juce Modules\juce_audio_processors\scanning @@ -1947,50 +1947,92 @@ Juce Modules\juce_audio_utils - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -2052,53 +2094,134 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text Juce Modules\juce_core\threads @@ -2157,92 +2280,8 @@ Juce Modules\juce_core\time - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -2250,12 +2289,6 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - Juce Modules\juce_core\zip @@ -2265,39 +2298,6 @@ Juce Modules\juce_core\zip - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - Juce Modules\juce_core @@ -2322,6 +2322,18 @@ Juce Modules\juce_cryptography + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -2331,21 +2343,33 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - Juce Modules\juce_data_structures + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + Juce Modules\juce_events\messages @@ -2373,36 +2397,6 @@ Juce Modules\juce_events\messages - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - Juce Modules\juce_events\native @@ -2412,6 +2406,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_events @@ -2442,17 +2442,32 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -2484,38 +2499,17 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -2526,9 +2520,60 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + Juce Modules\juce_graphics + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -2544,6 +2589,171 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -2583,29 +2793,50 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -2679,237 +2910,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_basics @@ -2985,6 +2985,39 @@ Juce Modules\juce_gui_extra + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + Juce Modules\juce_opengl\opengl @@ -3012,54 +3045,21 @@ Juce Modules\juce_opengl\opengl - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - Juce Modules\juce_opengl\utils - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - Juce Modules\juce_opengl + + Juce Modules\juce_video\capture + Juce Modules\juce_video\playback Juce Modules\juce_video\playback - - Juce Modules\juce_video\capture - Juce Modules\juce_video @@ -3070,50 +3070,6 @@ Juce Library Code - - - Juce Modules\juce_audio_basics - - - Juce Modules\juce_audio_devices - - - Juce Modules\juce_audio_formats - - - Juce Modules\juce_audio_processors - - - Juce Modules\juce_audio_utils - - - Juce Modules\juce_core - - - Juce Modules\juce_cryptography - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_gui_extra - - - Juce Modules\juce_opengl - - - Juce Modules\juce_video - - Juce Library Code diff --git a/examples/AudioAppExample/Builds/iOS/AudioAppExample.xcodeproj/project.pbxproj b/examples/AudioAppExample/Builds/iOS/AudioAppExample.xcodeproj/project.pbxproj index 7b477cff84..b72de167c2 100644 --- a/examples/AudioAppExample/Builds/iOS/AudioAppExample.xcodeproj/project.pbxproj +++ b/examples/AudioAppExample/Builds/iOS/AudioAppExample.xcodeproj/project.pbxproj @@ -6,6 +6,7 @@ objectVersion = 46; objects = { + 5F8150BA71BC7BC278D19BDF = {isa = PBXBuildFile; fileRef = 9C71E9533EDADF610F789D88; }; 3286435E3CC944A630866B89 = {isa = PBXBuildFile; fileRef = 92CABA9C9B5148FCA22A0503; }; 7AC823C6BFA28E49D004E0E0 = {isa = PBXBuildFile; fileRef = BD70FA4626657FF1DEBB10DA; }; 558C49788C323F72C879C219 = {isa = PBXBuildFile; fileRef = 440774261ADCDDE62F8611DE; }; @@ -21,27 +22,26 @@ 70EC04D8CFE012341DBC0A45 = {isa = PBXBuildFile; fileRef = 9B83CA7A03621F4DE0B0C3F5; }; 5055109434B36CD6E0B6D360 = {isa = PBXBuildFile; fileRef = 2545022A0EE088A0C46EBD13; }; 55A794809FECCB07D3C4D07D = {isa = PBXBuildFile; fileRef = D78365C74082A1253E12AF17; }; - 9F994C4912DB4402247C438F = {isa = PBXBuildFile; fileRef = 19DBF218B50AA295AED50CC2; }; - 9BC0ECFC7AF57F1909EE09FA = {isa = PBXBuildFile; fileRef = D08758C4B60AE0ECD82D8EF6; }; - 85FE609FB6402062EF2C0DBA = {isa = PBXBuildFile; fileRef = C987F7105C386F9799C74AE5; }; - F794ED1AA51CF125F7F1A8A9 = {isa = PBXBuildFile; fileRef = 768E5A86B7E84A146818B866; }; - 8B9F9A6D24146522DD93CD22 = {isa = PBXBuildFile; fileRef = 0D72F29AB05E80E6D8A57578; }; - B0576FED799D792664EB5D15 = {isa = PBXBuildFile; fileRef = 7DE30FBED9393A59FF08AFC4; }; - 916BBC1AB5BE42CD684DAC5B = {isa = PBXBuildFile; fileRef = 332B664DD5F1E87D1BC77715; }; - EA094DDAD2D1A7A4C0C2233E = {isa = PBXBuildFile; fileRef = BBDC1C7DE652B571ED885097; }; - 8FB9BEF532266F191FA2343F = {isa = PBXBuildFile; fileRef = 8C96A8A1170495B6693F2FF9; }; - 3D181BDD770219ED14488377 = {isa = PBXBuildFile; fileRef = 5E489080FFCF538C3170739B; }; - E0AAACBB6027FC8FD4F9113C = {isa = PBXBuildFile; fileRef = DE6FBEE731028F230A86F223; }; - 9537FB2A9B43C898E86156A7 = {isa = PBXBuildFile; fileRef = 2E631361420FA9496ED300DF; }; - 42AE22EDF3A83997E9444080 = {isa = PBXBuildFile; fileRef = 1CA41F35C44145819921CF79; }; - ED46B41A891FE3B15A184ECF = {isa = PBXBuildFile; fileRef = B6FF0E28C1E186DD9E97F838; }; + 169D0D504ED242BFAB124750 = {isa = PBXBuildFile; fileRef = 5FEA66532C18871947DA95A9; }; + 404DE83EB6A8750B51021B56 = {isa = PBXBuildFile; fileRef = 8202E36EB5B777BA3F00A181; }; + 9647D38482003C7935023564 = {isa = PBXBuildFile; fileRef = 34405DE2900A4E762CF2DAEA; }; + BE3AF34796EB8018C7CF57E1 = {isa = PBXBuildFile; fileRef = 7DDF974E74FDF5B5D29E2E27; }; + 87A3F2EDF075A6CC0D1F592F = {isa = PBXBuildFile; fileRef = 7ECF0BA098438BBD194FEE75; }; + F04ED92056A417B954A3CD77 = {isa = PBXBuildFile; fileRef = 4E3266F9CD3260D786538E6D; }; + 9351C4C5A67B13C998014734 = {isa = PBXBuildFile; fileRef = B8A22D85276B05E8EE8F0BC4; }; + 233883A753FE7837D92A3A6F = {isa = PBXBuildFile; fileRef = D2882899DDDE37B4CD837280; }; + D152BFE027C6E31ED068C789 = {isa = PBXBuildFile; fileRef = 571FEF1C078CC4FB35DAE33A; }; + 2434A698BFA843B1858C07ED = {isa = PBXBuildFile; fileRef = 0F259ACE12C8A81AA558661C; }; + 62809FDCE519DEF052EA7938 = {isa = PBXBuildFile; fileRef = AE3C0E5467FE67DAF01645FC; }; + 8224320056042532BE315901 = {isa = PBXBuildFile; fileRef = 1062CD8BD738A5F58CC3F64D; }; + 8B21FD4457DD9685495ADD8A = {isa = PBXBuildFile; fileRef = 7852F468318493D3FAEC9089; }; + C85B383577A335D5D1CF67B8 = {isa = PBXBuildFile; fileRef = D14A9B0E0A5A536B6D72EFAF; }; 0029311BFF31395FD00963CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Sampler.cpp"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp"; sourceTree = "SOURCE_ROOT"; }; 0042600B8ACF3532B5AE4839 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 00F0299DB6F4889526D7C5F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; 01065486D2E254D02B75509F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; 01490B3A4FE0E7503EF78A59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; }; 0197C4DD5E7ACE14FF668D62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; - 02CF5AD726503AFB1193C81E = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 0333EF5021D4B11D0567EDE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; }; 03B8A6359E4DD6796B9F7840 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; }; 0407B0BEDEA7EC85B84197CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -84,14 +84,14 @@ 0CB6B999BF9DBA9D0F586C6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; }; 0CDECC23B99E40DB6BD73FD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; }; 0D136F19DF81AFE8C90A0F01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; }; - 0D72F29AB05E80E6D8A57578 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; }; 0D748BB96C09FA6846E28D1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; 0E8660300B58F0FF90907C93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h"; sourceTree = "SOURCE_ROOT"; }; 0EC0E5FB195BD2DCCE4FE103 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; }; + 0F259ACE12C8A81AA558661C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../JuceLibraryCode/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; 0F7E54460D000A212BA37807 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiInput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h"; sourceTree = "SOURCE_ROOT"; }; 0FB03F29666B9E3588BCA21A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiFile.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.h"; sourceTree = "SOURCE_ROOT"; }; - 0FD74232B9B3A15C19D73B4F = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_video/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 0FEA2018033238F713A9933D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; }; + 1062CD8BD738A5F58CC3F64D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; 10CCA4154B34E2601DF7E36C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; 10F336062BF70F1171393EA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; }; 10F35EB3267D17EB21EE9EEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorValueTreeState.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -128,7 +128,6 @@ 1800F7D6AC6CB08DDE716CFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInputSource.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 1859D1550F703A8B0E2E9678 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorValueTreeState.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h"; sourceTree = "SOURCE_ROOT"; }; 188F0A8D1EEC0AC08485B32D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; }; - 19DBF218B50AA295AED50CC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 19FE66760D46BF77905C3B48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; }; 1A2E38E8795FD19F801DF103 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; }; 1A4FF248A625623F2AB5B78A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -142,7 +141,6 @@ 1C50B35A818EC78F8FF81815 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; 1C88AFF1BEE2BBD2646C3FE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; }; 1C95AB2B2812BD8960870603 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; }; - 1CA41F35C44145819921CF79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../../../modules/juce_opengl/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; 1CCFA6CA5E8D3E8D1D9476B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 1D05DBE68E45BED5B842F212 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; 1D29F6A21F927F10EB8C5EEF = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; @@ -151,6 +149,7 @@ 1DA8B8E25372E8F00080877B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextInputTarget.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h"; sourceTree = "SOURCE_ROOT"; }; 1DA9D191A3312AAF11810745 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; }; 1E02091AE0A7BB79608FCC0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemAudioVolume.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h"; sourceTree = "SOURCE_ROOT"; }; + 1E0CCB36A0D6D2CE936E43BF = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-App.plist"; path = "Info-App.plist"; sourceTree = "SOURCE_ROOT"; }; 1E73665689A8CF1EAD07A410 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; 1F0ADEAEB1F4BFFDF96597D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; }; 1F293903C761D909018FDD67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; @@ -204,11 +203,9 @@ 2CD02E712AFC2633AE66F876 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; 2D8585823D0A4210D1B161DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; 2E3E5BB82FD2A9A582FD7E5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; - 2E631361420FA9496ED300DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; 2F02F02DE72872590941BD0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp"; sourceTree = "SOURCE_ROOT"; }; 2FDFCD44816447805FD012DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; }; 303FE5650303C9D52133FDB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; }; - 30E959B23AA2EBA0CB11D121 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_processors/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 3126074952DF6879C42AF9A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 315DDEAAB7818AE4F369C230 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; }; 319336062D169304F2BEDDD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -220,9 +217,9 @@ 322590D8C7EE4F273C28A081 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; 324E57D5C6BA8C19535791A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; }; 32AA8C09B7A39118E3A4BFA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; }; - 332B664DD5F1E87D1BC77715 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../../../modules/juce_cryptography/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; 33C4E091AF43E7CEA138F133 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; }; 33FEAF50967CEB5800BF72BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; + 34405DE2900A4E762CF2DAEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../JuceLibraryCode/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; 3473D34B4E5F5BC3D315C6E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; }; 34D0CAA3AE118782B1D85410 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 3514CF0F5CB28BBD688539B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MACAddress.h"; path = "../../../../modules/juce_core/network/juce_MACAddress.h"; sourceTree = "SOURCE_ROOT"; }; @@ -252,7 +249,6 @@ 3BE93702701665C1CF0D71F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 3BF749BD7341CB6B695403F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; 3CAB0402E5EDD5A25D4DE907 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 3CD98742CA1919AEE3F9D9BC = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_core/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 3CEE794B62AEDD6CD0650F0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 3CFFE0377EB4E2615F89AD16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Whirlpool.h"; path = "../../../../modules/juce_cryptography/hashing/juce_Whirlpool.h"; sourceTree = "SOURCE_ROOT"; }; 3D75092F510176CC7F979ED9 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudioKit.framework; path = System/Library/Frameworks/CoreAudioKit.framework; sourceTree = SDKROOT; }; @@ -329,6 +325,7 @@ 4D8CBFA4ADFA41465A97C072 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; }; 4DA82F4EA6B042B411DB20A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorPlayer.cpp"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; 4DC09FE2D606F3346B269F47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4E3266F9CD3260D786538E6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; 4E54EF00533AF35ACE6EE0D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 4E81FC636E217976041F8FD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectSound.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp"; sourceTree = "SOURCE_ROOT"; }; 4E910C3EE26D3CB30DE64DE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilter.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -357,6 +354,7 @@ 55CFA008C55F190872354FF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; }; 56BBB410F5117805919652E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceSelectorComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h"; sourceTree = "SOURCE_ROOT"; }; 570E0E900CD46076476337A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + 571FEF1C078CC4FB35DAE33A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; 5736EEAD19F704D8BC0D63CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_utils.h"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.h"; sourceTree = "SOURCE_ROOT"; }; 5765E0F55ADB4319F0F896D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; }; 577824246C165D84AA378BE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -371,9 +369,7 @@ 5A1ECBE0BEAF6C2B976EE813 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; }; 5A707B988D57A28536A6E62E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; }; 5AB7146863FE8F4F5AD7A092 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FloatVectorOperations.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h"; sourceTree = "SOURCE_ROOT"; }; - 5AE6D28B2C36587A4F0E9DE3 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_devices/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 5B267B0B84A4AE272AAD58A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; - 5BE6EA9AF8FB65EE6C5A2DDE = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_formats/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 5C00F2B0503A9B4774455977 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; }; 5C6D3A49499F186AFFC3DFDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; }; 5CBF59C67F30E77F408EF2A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; @@ -382,10 +378,9 @@ 5CD2D4CDAC75E50E78ABE46C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CameraDevice.h"; path = "../../../../modules/juce_video/capture/juce_CameraDevice.h"; sourceTree = "SOURCE_ROOT"; }; 5D2270DEE9D5C23019DEB152 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; }; 5D65D7D73CFD4C3292B44F07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; }; - 5DB6DA27DC5C022696109EF8 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_extra/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 5E151D89199CE9D3E7C3F0B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_processors.h"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.h"; sourceTree = "SOURCE_ROOT"; }; - 5E489080FFCF538C3170739B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; 5F1FD7697F7FB42EA6E9CDBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5FEA66532C18871947DA95A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../JuceLibraryCode/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 5FEF4DC42947B82D016071A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnail.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h"; sourceTree = "SOURCE_ROOT"; }; 602F2E014E4796C2DA29CDB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; }; 607D538C599F10798C3399E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -398,7 +393,6 @@ 6295F7DF5F087D52FD31265A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; }; 62E68C38E001F2FE60397D3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 63E1D500C9E6654A2EA5015B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; }; - 641CEAEA5DDBA04D348E3E58 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_events/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 644E389974336014E8890F31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; }; 64515D56E168E26DE6679FF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; 64851AA6F4FAEAD9E3CB5D68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -427,7 +421,6 @@ 6ACE33C4515448BE0DF400C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_android.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_android.h"; sourceTree = "SOURCE_ROOT"; }; 6B2C313C20885C7B75D40ED2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; }; 6B526A365078C24900C821B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; - 6BAD62D1E379BB05328C035D = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_cryptography/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 6BF891205F6EEAF85C1C0F2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLAppComponent.cpp"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 6C32FCD6B87189C1F43BD462 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Headers.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h"; sourceTree = "SOURCE_ROOT"; }; 6C4F8F17F78FE9C8B45941D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTMidiEventList.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h"; sourceTree = "SOURCE_ROOT"; }; @@ -475,7 +468,6 @@ 762FD953C2BB53F5DC9CD403 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BooleanPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 766259EB7D04DF87556127C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; }; 7664ED4E8E9E543AB1ED72E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; - 768E5A86B7E84A146818B866 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; 76A5E0AABE31E9D19F5BBCE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MixerAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 76F267A1568C2CAA1BBC3B5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; 76F5916C8F6C275EBBC12901 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; @@ -484,6 +476,7 @@ 77C55D5A6C29BB84028BF4C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; }; 782C982DE17D3619F58453B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODevice.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp"; sourceTree = "SOURCE_ROOT"; }; 7851D44D38C6B206AD0134D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7852F468318493D3FAEC9089 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../JuceLibraryCode/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; 789920BB98BF607E690B01BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MP3AudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 79703B85F426FD4DF5C0AC42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; 7A32476DF07EE4C33512F01D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectShowComponent.h"; path = "../../../../modules/juce_video/playback/juce_DirectShowComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -499,9 +492,10 @@ 7DBFDC2DAFD57DF638D745E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; 7DCF0A2E89D3CC5C976411D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; }; 7DDA47BB9CE313C8AE917F40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioTransportSource.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp"; sourceTree = "SOURCE_ROOT"; }; - 7DE30FBED9393A59FF08AFC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; + 7DDF974E74FDF5B5D29E2E27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../JuceLibraryCode/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; 7E60DC744D035292F8A7BB97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_File.h"; path = "../../../../modules/juce_core/files/juce_File.h"; sourceTree = "SOURCE_ROOT"; }; 7E787DB76F02DE3326E608A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Identifier.cpp"; path = "../../../../modules/juce_core/text/juce_Identifier.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7ECF0BA098438BBD194FEE75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../JuceLibraryCode/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; }; 7F5C171BA5EA9E83295B7498 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp"; sourceTree = "SOURCE_ROOT"; }; 7F9D7EC0BE80A6DA54A9805D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 7FC679066DAC1C23188A46ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; @@ -516,6 +510,7 @@ 81B5028748B2F81CA1F4F9EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; }; 81C9752ED058D6AAAE40E021 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; }; 81E9F11630D26DFBD0A93618 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8202E36EB5B777BA3F00A181 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../JuceLibraryCode/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; 820C05ED738EB5A0B1D48AD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; }; 8292A39754EAA00C8AA376B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; }; 836A87E100C7B9DFDA4437AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZoneLayout.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -559,7 +554,6 @@ 8BFEC7409742F768017FC3D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LuaCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; 8C55F3C3E8ADABF3E2B72A12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; 8C7A9D19E4BF794F25112C92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Draggable3DOrientation.h"; path = "../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h"; sourceTree = "SOURCE_ROOT"; }; - 8C96A8A1170495B6693F2FF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; 8CC6758FB15124F3CF345CA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 8CF06B5E9E25293F79B15242 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; }; 8D263509D4EB25038163FB5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -598,7 +592,6 @@ 9A123AE56C9C5AE3BE0E2800 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; 9A26AEA080345998826A7F9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 9A2D9A5DBD78446D8878717A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 9A31450E90F82EE417285AA4 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = "SOURCE_ROOT"; }; 9A54516E1DBD569C24F521F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; }; 9A577EF18204B6FE35D227B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; }; 9B28308E02810E07AA5D9FA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -607,6 +600,7 @@ 9B8E99199DFF5A5588690C9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; 9BF096AEDF125991249E696E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; 9C25E2B996EE7CC024E7A713 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterFloat.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h"; sourceTree = "SOURCE_ROOT"; }; + 9C71E9533EDADF610F789D88 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AudioAppExample.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; 9CC7A321D4B4323FF06A03B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioAppComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 9D12A31934633A579D324B96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; }; 9D6101186894D8F444AE1162 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -650,7 +644,6 @@ A6D365F17431ED5DE20C31C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; }; A6E5EC33E5F9767654EFCB25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; }; A6E737E1560A81E5A45DD9BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; }; - A7FC8A80F3BF7EDCBB40DBAF = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_graphics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; A833D4B8902DBEF7D8B32E50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; }; A8452D6DA370E42EF91F1555 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; }; A84C613340F1766BB5D46145 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiRPN.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h"; sourceTree = "SOURCE_ROOT"; }; @@ -677,6 +670,7 @@ AD7D7A1631818FAFC9600F3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleComponent.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; ADE79DAA4A4D4DE50F893BF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; AE1746EE8E4FC95FC3635940 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + AE3C0E5467FE67DAF01645FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; AE88491D97D08B1215C182B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; }; AF1DDB78AF70C25D07D77387 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WavAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; AF2B0596EA1859EE7964AB8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; @@ -711,14 +705,13 @@ B5CF56ECED7AB7108C7FA24A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; }; B5FF1E4CC8E4177744F0833D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; }; B663B0FD7F2FEDCE59A40373 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; }; - B6FF0E28C1E186DD9E97F838 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../../../modules/juce_video/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; B7485EC80869B5EAE869B552 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; }; B7C588B87E09F887C6CB73C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; }; B7EF396405CB14D1ABDF709D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLFrameBuffer.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h"; sourceTree = "SOURCE_ROOT"; }; B804B9C7C6CA696B7410A629 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; B84ADDD01BAB1B1E21DDFF07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; }; B87C42BDAE89E73E982EF85C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; }; - B896CB8307AD3EC317794847 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_utils/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + B8A22D85276B05E8EE8F0BC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../JuceLibraryCode/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; B8DE8BB323D2F1889BD7CF8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; }; B905BFB6C174B284D84339A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; }; B9425E1F94E5E6337E390B9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SHA256.h"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.h"; sourceTree = "SOURCE_ROOT"; }; @@ -732,7 +725,6 @@ BADB10DBDB2B94E03AF14B91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; BB3DB74A8843A5C315854394 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; BBA6F050F86F5DC509CBB4B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; - BBDC1C7DE652B571ED885097 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; BC3E6DE998377FFB8E61EF44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLPixelFormat.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h"; sourceTree = "SOURCE_ROOT"; }; BC4C2690333D8622D054E99A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; BC77947BDED20C022DE3D8B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormatManager.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -788,7 +780,6 @@ C945BC507F2AFD320F0FA60D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; C9580CA9036A8E4144BFB904 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colours.h"; path = "../../../../modules/juce_graphics/colour/juce_Colours.h"; sourceTree = "SOURCE_ROOT"; }; C95E510FB09338D7BB74781D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CoreAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - C987F7105C386F9799C74AE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; C98ECE4B1357FDC58A90EDBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LAMEEncoderAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; CA3E9C9CE9CA59B370A81095 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; }; CAAD0D8023B1EE063FE7B3BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -814,11 +805,12 @@ D000979AF77A84718877BD31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEValue.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp"; sourceTree = "SOURCE_ROOT"; }; D045327CC8A3E0C370070496 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; D058B5E13E7E22FC4ED27B5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTreeSynchroniser.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"; sourceTree = "SOURCE_ROOT"; }; - D08758C4B60AE0ECD82D8EF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; D0FD262EC7099AD662232BD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; + D14A9B0E0A5A536B6D72EFAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../JuceLibraryCode/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; D1504817660ECE621AAA066F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; }; D1A83AA1BCDB061B528DB415 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; }; D26A4E01842FF08AAA34B9D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; }; + D2882899DDDE37B4CD837280 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; D28E2CC83808A521E99BA3C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; D2E451A096DED665657647F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; }; D306CB540CCDA3C2F37FA1CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -868,7 +860,6 @@ DD7C6F9CAF5CBA11B6024A83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VSTPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; DD970DAD7E15CD399583110F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; DDB141526302B59595C3A584 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; }; - DE6FBEE731028F230A86F223 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; DE90A7AD96CDF9332CA4B1CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; DF0EBC428D40282CD24D2015 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; }; DF4992745F5A01164C573D1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameterWithID.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h"; sourceTree = "SOURCE_ROOT"; }; @@ -879,7 +870,6 @@ E063AB1C1700670E900C28AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; E0EEC67C10363E4FB3C0B956 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; }; E0FBED51F796AF5616D51696 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReaderSource.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp"; sourceTree = "SOURCE_ROOT"; }; - E10E5BBBE8515439D764CBBB = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; E192C84132D30E43D30666A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; }; E223F2E916CC8884D48BB2F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; }; E22ADD78D920B09EECA708B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; }; @@ -888,7 +878,6 @@ E42E9716C4B77E32053284A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; E43C13DD0E648037E8DAB7F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; }; E46BB2C39283B6D56946C24B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPENote.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp"; sourceTree = "SOURCE_ROOT"; }; - E4E6F10141E07DE0F2960C2F = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_opengl/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; E4E97BDAD6209A76EA5B0CA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; E55C6DF8352F3FBE56499775 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; }; E5753506CDDFF88D638975ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; }; @@ -897,11 +886,12 @@ E6538FD6973A159756E2DC91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; }; E662D32EE899694C2F360B77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLAppComponent.h"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; E663E110A4BE0E43ADCC7ADB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; }; + E6FD0E2AE90C1053B736D210 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; E7B5CA1BD06F33C213FAA37D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; E7CF28977428BDE6A175943C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; E858258484916776F887FCDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ElementComparator.h"; path = "../../../../modules/juce_core/containers/juce_ElementComparator.h"; sourceTree = "SOURCE_ROOT"; }; E889D7DD7AC4FCA48517B2E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; }; - E89A3BC0B3BD6CCAEE267855 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_data_structures/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + E88B889CB23D7A61B31FA1E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; }; E9294BBF9D2B39F77DCF5145 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; }; E952B3E43DFEDB951B0CA41A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; }; E96860404A16526A491A14C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -919,31 +909,28 @@ EC7A2DEE957A2B375201FC12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; }; ECD6FDB8D99D661E23915E85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceManager.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp"; sourceTree = "SOURCE_ROOT"; }; EDAA8D220CC237DE5D612F47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLFrameBuffer.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; + EDB90C4006AC89CCFAC4AF82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleMessageComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; EDE49EEE9EF8B5202426D948 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; }; EE026B40E1115ED7C21FF7D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; }; EE0C799027CD87E32B7A3829 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTreeSynchroniser.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h"; sourceTree = "SOURCE_ROOT"; }; EE1C1CC80C5CB50CA2C69681 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPENote.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.h"; sourceTree = "SOURCE_ROOT"; }; EE60FE123A1E8C7ED4EE2C8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardState.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h"; sourceTree = "SOURCE_ROOT"; }; + EE873579BB45504067BDD773 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; }; EED45AF0FE17F2782911D0AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemFactory.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h"; sourceTree = "SOURCE_ROOT"; }; + EF0015657F3C994B1C76C306 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemTrayIconComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; EF14BD536F709B7D6B9F68F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; EF8B1B7A2AB1498859BCF0B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; }; - F20271230BBD0224FACE29E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; - F5158122AABF8E950827F2CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; }; - F5B5D441C4AB1D01509ACC8D = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; }; - 4B8E8BD3DEAE0C479D04F571 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AudioAppExample.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; - E6FD0E2AE90C1053B736D210 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; - E88B889CB23D7A61B31FA1E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; }; - EDB90C4006AC89CCFAC4AF82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleMessageComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - EE873579BB45504067BDD773 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; }; - EF0015657F3C994B1C76C306 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemTrayIconComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; EF9C89B3C7A5808769ADFD76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; }; F06CE10515F49B1DC5E87353 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; F0776755F05C2BF5C7AF4FDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; F1666DBF5DC7FF6B94C0F0FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; F16BDC9AFAD544D72BF6DC3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLExtensions.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h"; sourceTree = "SOURCE_ROOT"; }; + F20271230BBD0224FACE29E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; F3425CF4DCD715471072DB82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLImage.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLImage.cpp"; sourceTree = "SOURCE_ROOT"; }; F43D110150D84A1CF0B65F0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; }; F4DD9A24D4B78E8DA2558487 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; }; + F5158122AABF8E950827F2CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; }; + F5B5D441C4AB1D01509ACC8D = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; }; F7334FD3FBCADF7A5F3BAB8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorParameters.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp"; sourceTree = "SOURCE_ROOT"; }; F75D109BD33B5C057C150155 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeMovieComponent.h"; path = "../../../../modules/juce_video/playback/juce_QuickTimeMovieComponent.h"; sourceTree = "SOURCE_ROOT"; }; F77BDA821AFA286E0B7CA733 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -1062,9 +1049,12 @@ 270A7B39CC9DE46FC3B843F9, DD62545F8D5941E384FB7D0E, 57F3A961E989E4F578F6B428, - 02CF5AD726503AFB1193C81E, 886CA18FAF31B80A3604C5B3, ); name = "juce_audio_basics"; sourceTree = ""; }; - CB1B7A138B91EEBE7BFE8C37 = {isa = PBXGroup; children = ( + F2D86021C2A6174E7E89F8F5 = {isa = PBXGroup; children = ( + 81C9752ED058D6AAAE40E021, + FF68B4C1DF411EED5E88DBAD, + A9C0D755D2D644AB9B9EE13C, ); name = "audio_cd"; sourceTree = ""; }; + BE310BC69B46521E01886630 = {isa = PBXGroup; children = ( ECD6FDB8D99D661E23915E85, 448B223113A96B6D7C026E0E, 782C982DE17D3619F58453B3, @@ -1072,22 +1062,13 @@ 37DDE4779BEE726B73257328, B043471A2BE93BA496CA44C9, 1E02091AE0A7BB79608FCC0D, ); name = "audio_io"; sourceTree = ""; }; - 11FB0A16BC11F8811563E23C = {isa = PBXGroup; children = ( + 7B1879802F389A8C201FD521 = {isa = PBXGroup; children = ( 0F7E54460D000A212BA37807, A9B7641B8DC31EB20DA18BB6, 77C55D5A6C29BB84028BF4C9, 2F02F02DE72872590941BD0E, 2296650D710569DE62A1ED84, ); name = "midi_io"; sourceTree = ""; }; - FA179D6940326B16EA8F4EBE = {isa = PBXGroup; children = ( - 550A729142AB16A20BB99123, - 9E8979F0765D76FDC54E0FA3, - 7DDA47BB9CE313C8AE917F40, - FE39247372F71DB8B9D7DDC1, ); name = sources; sourceTree = ""; }; - DB3BC4FF9BBE474A50B1BD39 = {isa = PBXGroup; children = ( - 81C9752ED058D6AAAE40E021, - FF68B4C1DF411EED5E88DBAD, - A9C0D755D2D644AB9B9EE13C, ); name = "audio_cd"; sourceTree = ""; }; - 75059FB5256785C4D9234524 = {isa = PBXGroup; children = ( + 65917C2D86591FAD14E8C5F1 = {isa = PBXGroup; children = ( 80D99C9EB9437791B2317ED5, 802E9ACA0F0495F366FD61D5, FB4B0B7CB3B7693E633DF85D, @@ -1107,31 +1088,19 @@ 4E81FC636E217976041F8FD0, 0C28072364B08528A9AD5B85, A3E8C954C194E24AE1907AE2, ); name = native; sourceTree = ""; }; + B3E3A40F73FF1CCADA0774C8 = {isa = PBXGroup; children = ( + 550A729142AB16A20BB99123, + 9E8979F0765D76FDC54E0FA3, + 7DDA47BB9CE313C8AE917F40, + FE39247372F71DB8B9D7DDC1, ); name = sources; sourceTree = ""; }; C1CFAF0419BB789AA0E38629 = {isa = PBXGroup; children = ( - CB1B7A138B91EEBE7BFE8C37, - 11FB0A16BC11F8811563E23C, - FA179D6940326B16EA8F4EBE, - DB3BC4FF9BBE474A50B1BD39, - 75059FB5256785C4D9234524, - 5AE6D28B2C36587A4F0E9DE3, + F2D86021C2A6174E7E89F8F5, + BE310BC69B46521E01886630, + 7B1879802F389A8C201FD521, + 65917C2D86591FAD14E8C5F1, + B3E3A40F73FF1CCADA0774C8, 41DC9C31FE8A27E721AC95C6, ); name = "juce_audio_devices"; sourceTree = ""; }; - A829EEC7C9D388964229DE57 = {isa = PBXGroup; children = ( - 3E9355CECB4C063F13CC481F, - 582CAD0FEF6DC8676068004C, - 1176710342A96CE5E736F504, - 0BA2BBE2C12EFD349C06114E, - 9A26AEA080345998826A7F9C, - 76F5916C8F6C275EBBC12901, - E0FBED51F796AF5616D51696, - 4B57EFAB122FF8AD8A15DD4D, - E6538FD6973A159756E2DC91, - 75A55732BFBBC2BAEE28AACF, - 62E68C38E001F2FE60397D3F, - D8C1391D9B2819FC8257719A, - F8A71BF8EF7965A2F9B0E396, - 87068D2C6B2EF98F548312B7, - C945BC507F2AFD320F0FA60D, ); name = format; sourceTree = ""; }; - FA1254B776BFC3471DB96D0E = {isa = PBXGroup; children = ( + 91C348A4ABC2AF7C416F85D2 = {isa = PBXGroup; children = ( 7C47594E189DF41C1A9A697D, ACE73C5C489D1CF6D4824776, C95E510FB09338D7BB74781D, @@ -1150,16 +1119,48 @@ AF1DDB78AF70C25D07D77387, 881A14535E84A919974D8F84, D28E2CC83808A521E99BA3C9, ); name = codecs; sourceTree = ""; }; + E8077191109647FEE8F0145F = {isa = PBXGroup; children = ( + 3E9355CECB4C063F13CC481F, + 582CAD0FEF6DC8676068004C, + 1176710342A96CE5E736F504, + 0BA2BBE2C12EFD349C06114E, + 9A26AEA080345998826A7F9C, + 76F5916C8F6C275EBBC12901, + E0FBED51F796AF5616D51696, + 4B57EFAB122FF8AD8A15DD4D, + E6538FD6973A159756E2DC91, + 75A55732BFBBC2BAEE28AACF, + 62E68C38E001F2FE60397D3F, + D8C1391D9B2819FC8257719A, + F8A71BF8EF7965A2F9B0E396, + 87068D2C6B2EF98F548312B7, + C945BC507F2AFD320F0FA60D, ); name = format; sourceTree = ""; }; 2A60CB51A3C591E01CB900F8 = {isa = PBXGroup; children = ( 0029311BFF31395FD00963CA, 75AB14C9D97B3563BE688EA8, ); name = sampler; sourceTree = ""; }; BCC969C3BC478853FD7E336F = {isa = PBXGroup; children = ( - A829EEC7C9D388964229DE57, - FA1254B776BFC3471DB96D0E, + 91C348A4ABC2AF7C416F85D2, + E8077191109647FEE8F0145F, 2A60CB51A3C591E01CB900F8, - 5BE6EA9AF8FB65EE6C5A2DDE, B28EBA2EDF0E543EA1ED374B, ); name = "juce_audio_formats"; sourceTree = ""; }; - F94E85FEB3110173DE42317B = {isa = PBXGroup; children = ( + F49F89892AE821E087CB63FA = {isa = PBXGroup; children = ( + 21ED255865DBE1B9B27CE0CE, + A9B5EEEAFA441F850358281B, + BC77947BDED20C022DE3D8B8, + D45FA51540441FC7D57E016A, ); name = format; sourceTree = ""; }; + 5886FAC844E469EEA90B13AD = {isa = PBXGroup; children = ( + 7FCEC7C5C54AB90A7709406F, + B905BFB6C174B284D84339A2, + 973257D8FB62DAE78ACE85DD, + 37737A4FE37D244DCF36F8AE, + 040F3CA16CF425185E82976D, + 6C32FCD6B87189C1F43BD462, + DB6C3F30A7B477AA3A695B2D, + 6D869E6ED7DF080A9FAF162C, + 6C4F8F17F78FE9C8B45941D3, + DD7C6F9CAF5CBA11B6024A83, + 5374AB638100ED67F198E888, ); name = "format_types"; sourceTree = ""; }; + AAC21053770C7EB1F09A740C = {isa = PBXGroup; children = ( D5ECF9579C0C6725ECC5654B, DCA045C3BF4FAC134D479F0B, E9AFEB90653FD6CBE935D29D, @@ -1176,23 +1177,6 @@ 948DDA1658E532819DC1CFC2, 2A35B8768F9F47F2F4AE5223, 94FAAA6CF20DF5854F277026, ); name = processors; sourceTree = ""; }; - 9EEB441FDDAE7DD5F3E24041 = {isa = PBXGroup; children = ( - 21ED255865DBE1B9B27CE0CE, - A9B5EEEAFA441F850358281B, - BC77947BDED20C022DE3D8B8, - D45FA51540441FC7D57E016A, ); name = format; sourceTree = ""; }; - 2897EA058D69BF9B0C8A446D = {isa = PBXGroup; children = ( - 7FCEC7C5C54AB90A7709406F, - B905BFB6C174B284D84339A2, - 973257D8FB62DAE78ACE85DD, - 37737A4FE37D244DCF36F8AE, - 040F3CA16CF425185E82976D, - 6C32FCD6B87189C1F43BD462, - DB6C3F30A7B477AA3A695B2D, - 6D869E6ED7DF080A9FAF162C, - 6C4F8F17F78FE9C8B45941D3, - DD7C6F9CAF5CBA11B6024A83, - 5374AB638100ED67F198E888, ); name = "format_types"; sourceTree = ""; }; 83B7987F50AC8F2EE5E1C2A0 = {isa = PBXGroup; children = ( 1B92C858971081339CAC889E, FE004044BFD20BEA4153C471, @@ -1210,12 +1194,11 @@ 10F35EB3267D17EB21EE9EEF, 1859D1550F703A8B0E2E9678, ); name = utilities; sourceTree = ""; }; 0F1330B9E634C8C1D2A19EAD = {isa = PBXGroup; children = ( - F94E85FEB3110173DE42317B, - 9EEB441FDDAE7DD5F3E24041, - 2897EA058D69BF9B0C8A446D, + F49F89892AE821E087CB63FA, + 5886FAC844E469EEA90B13AD, + AAC21053770C7EB1F09A740C, 83B7987F50AC8F2EE5E1C2A0, D74F542E998B0A51BAB9D571, - 30E959B23AA2EBA0CB11D121, 5E151D89199CE9D3E7C3F0B8, ); name = "juce_audio_processors"; sourceTree = ""; }; 785AC00FC0793B0127274AAB = {isa = PBXGroup; children = ( 9CC7A321D4B4323FF06A03B9, @@ -1232,73 +1215,21 @@ 8BD3E08A5A6D32150E703D8A, BACFDC91EDA31FACCF2B15DA, 0E8660300B58F0FF90907C93, ); name = gui; sourceTree = ""; }; - 7B29609B00A97DB47552F081 = {isa = PBXGroup; children = ( - 4DA82F4EA6B042B411DB20A7, - 59D6E450E7823A809631B85A, ); name = players; sourceTree = ""; }; - F097BDABFD6B0B58AA2A3418 = {isa = PBXGroup; children = ( + 65069C321B2D3FCA31A42660 = {isa = PBXGroup; children = ( 449FB9CD81DD670CE4A577CA, 377814D716769899D3050668, 29C93739F97FE9FCA3AC4CF5, BA4496257844A6CA50995840, 36CCF902426491CC248117BD, ); name = native; sourceTree = ""; }; + 23B0A10C9DD9B3A07522958C = {isa = PBXGroup; children = ( + 4DA82F4EA6B042B411DB20A7, + 59D6E450E7823A809631B85A, ); name = players; sourceTree = ""; }; DCA2C59535A97CCC2E7E5D5B = {isa = PBXGroup; children = ( 785AC00FC0793B0127274AAB, - 7B29609B00A97DB47552F081, - F097BDABFD6B0B58AA2A3418, - B896CB8307AD3EC317794847, + 65069C321B2D3FCA31A42660, + 23B0A10C9DD9B3A07522958C, 5736EEAD19F704D8BC0D63CB, ); name = "juce_audio_utils"; sourceTree = ""; }; - D4AD8131D5DDC542D8D8462D = {isa = PBXGroup; children = ( - CF6F99867E4ECCD2A2ED0B0C, - BD106C3E071AA8FBBA28501F, - 70A73FAF31B05C5DA4CE35AB, - 2763141DB90EDEB924F549B9, - 6E12A19A4995DE066C7130B1, - 697A591A67A38D7807665407, - 16C249B2489B726FA38EB40C, - E6FD0E2AE90C1053B736D210, - 7E787DB76F02DE3326E608A9, - 3F76E39F5ED6016AE007D846, - C3DE0ED05484B10615E59191, - DAFB41CC5DFEED6280C3D776, - 4046F9FFC62FE0E597136A28, - 7DBFDC2DAFD57DF638D745E1, - 69279A43C4E5EFCD851E6E2B, - 76F267A1568C2CAA1BBC3B5B, - CF01DB44007FF6940848C91A, - 719100C7D7C3AD37528165B6, - 6791A6621D6D8937D8BB3418, - A9E6F251933166D931848C0A, - ABB6B2384A0390705A173633, - 40046E402D3BB5D37AA9DC07, - FDC2F46EDF05732F05628411, - 379CFA695DBA290674B9466F, ); name = text; sourceTree = ""; }; - 66CEC72801EF9BE77D39B19F = {isa = PBXGroup; children = ( - 52D2F52B7284090A8CC4F18E, - 449F72688745585AEC908DE3, - 8D263509D4EB25038163FB5D, - 15C4E5B79331FFEF10E553D5, - 59F516B1F82F487ED0B8A08C, - 5CC1850C4E76C0825DF9F9A2, - 1399DD492AC9998A6513E251, - A311FDC490ED65A08E3B8B61, - E88B889CB23D7A61B31FA1E9, - 315DDEAAB7818AE4F369C230, ); name = maths; sourceTree = ""; }; - 9C56D83D3BDD05DEF239F71C = {isa = PBXGroup; children = ( - FE069E74A6308FF79DF3DC29, - 2651FD678A14B0751CB5D020, - 92A68AA34859E8DDC511D21F, - 53C3C3F56CEF7ED61F8451E2, - A3A119C6E5ACA90C03A77A04, - 8292A39754EAA00C8AA376B0, - 12D1ED411A617AB55887F19D, - 75C69A20FBFD837BC86D860D, - B06BCB5D9CE908831C7E81D0, - B05B1D7ACE1C33319A87328A, - 408AA1123D7BFE64D870013F, - F1666DBF5DC7FF6B94C0F0FF, - 7C3E3ACE7E74B1ED0C3BE343, - 3B39B66B640766E9B90E3046, ); name = memory; sourceTree = ""; }; - 7F38B22DBF6D9255AD0FF626 = {isa = PBXGroup; children = ( + F3F34845F32C3F89A1BE404D = {isa = PBXGroup; children = ( 12ED2DA2996DEFA911F07ECF, 303FE5650303C9D52133FDB9, 7A7925B71E4B01A22C6E7453, @@ -1320,37 +1251,7 @@ B54E4A120CB79F8BB5BCA1E8, 25131D3A8F8DDF0094192DCA, CBB3BF85622B9B875544C558, ); name = containers; sourceTree = ""; }; - 0AB06DB5C2631EB668C528A2 = {isa = PBXGroup; children = ( - D817A6C2192C3954C8B63045, - 9E008BCB36772AA2445607FC, - 118739F5BBF8A273FDF45CFD, - 0197C4DD5E7ACE14FF668D62, - 9BF096AEDF125991249E696E, - C40EB67E7237BE2217C1E7A5, - 81505916961455538E9B1A7B, - 698E098BB958CC4719E2166E, - BA724CE76B93BA0DF39FCC6F, - 5CBF59C67F30E77F408EF2A3, - 45A893DD2D553ED62C5B4D63, - E22ADD78D920B09EECA708B3, - 8002BEBD6AD4EE01900CE16A, - 3E1891F87C00044C1C482137, - EE026B40E1115ED7C21FF7D5, - 9A54516E1DBD569C24F521F8, - B595F0B82E93560FC2CE5EAF, - 7851D44D38C6B206AD0134D2, - D34801677A2E2B17CD6CF93A, - 60D5DF22E19891DE5F69CC8E, - 188F0A8D1EEC0AC08485B32D, - 3737DB5B70CB03EB340745EA, ); name = threads; sourceTree = ""; }; - 403635C774A6BBC0F6980B64 = {isa = PBXGroup; children = ( - D46770CDA754135BF9471DF2, - AFD134A52E53280F52870EF7, - DB3F9BFDECB17176CD53C029, - 248D8296344CFAC3E6CA732E, - 9521308539218CF751ED1B1D, - A8452D6DA370E42EF91F1555, ); name = time; sourceTree = ""; }; - BC7512A77A4AB71F889C67BE = {isa = PBXGroup; children = ( + BF1AF9B8F437060F46F96A9C = {isa = PBXGroup; children = ( 8BA6EF260D361C1FC16E338E, 873BD4265902B4FB6CC3A0A6, 6613704E18148830091DF585, @@ -1368,66 +1269,43 @@ 324E57D5C6BA8C19535791A9, DB7A3C83FB705898F07C13A3, 713CEFF3ECB6CB4EB74D2324, ); name = files; sourceTree = ""; }; - 8BBFA220942050CA89C4222B = {isa = PBXGroup; children = ( - 51BE027208C01296F2E76054, - 74D736A2BED0751C2A3C1BFE, - 1FA8CE4825B48E4FECCD1FEA, - 3514CF0F5CB28BBD688539B4, - 2A48FAEC948B121B6EB34631, - 0FEA2018033238F713A9933D, - 13A8EAABA98838BC051D7ECD, - 1F293903C761D909018FDD67, - 0A4F90598876FBE7A67A13D0, - B59C7AFE7DA427E795F736CE, ); name = network; sourceTree = ""; }; - 50B1E864B2356E8572B9A62F = {isa = PBXGroup; children = ( - 490FFC3A7899AA8FBE8E2D0E, - E0EEC67C10363E4FB3C0B956, - BC4C2690333D8622D054E99A, - 083D342FECE0C296374EF291, - 2289F6AE28B501127D381EEC, - 422EAE67E128C8295A23F6A0, - 3B3AB4E5CE405BF348F634C8, - BDA38AB61C19E4924549ABD1, - 1FF55E3BBA8A22620289A59E, - F06CE10515F49B1DC5E87353, - D56D6ADB264AC3107EE2D5C8, - 58A314392D34735350431602, - DA0DD5BF97E3F28C9CCA4A74, - D1504817660ECE621AAA066F, - FB21D85F25FF7C468331BAEC, ); name = streams; sourceTree = ""; }; - 401A32949AE4A75BF94D58BF = {isa = PBXGroup; children = ( - A3C671FCF17ED732E654C652, - BEF6E9C8B9FE65A89F84DD3E, - C3429B905F1744303CAE83AD, - 87E0E3F42A5E6C795C3769FC, ); name = logging; sourceTree = ""; }; - 8C087A97055FFF267ADC28DA = {isa = PBXGroup; children = ( - D26A4E01842FF08AAA34B9D7, - D583ED6D9DF5CADB3AE660C8, - C35667BD04402DF29D3FEF8F, - 94EA75B72A8361A33A498EDB, - D1A83AA1BCDB061B528DB415, - 820C05ED738EB5A0B1D48AD3, ); name = system; sourceTree = ""; }; - 03A962E8ACDBD0C24CD014AB = {isa = PBXGroup; children = ( - B5CA0C1C957C04A44E778E85, - 10CCA4154B34E2601DF7E36C, - DFD0AFFFEC046CBD6E837825, - 1501B794994314589934734A, ); name = xml; sourceTree = ""; }; - 1F04306E8F4BD6AA8AFA3185 = {isa = PBXGroup; children = ( + 7989C187E3D577D5853EB50A = {isa = PBXGroup; children = ( 0D136F19DF81AFE8C90A0F01, 94F37F7C1FF260E499DF95CB, 68626EA8EFEFB457495DFC58, 00F0299DB6F4889526D7C5F0, ); name = javascript; sourceTree = ""; }; - EB6A51E5AA5A5C974F82075F = {isa = PBXGroup; children = ( - 363345C2BB552CE31BFAB6D2, - 740B836DA87A1C70DD06D1C5, - 16138611E29922ACCDB8DF97, - 4D8CBFA4ADFA41465A97C072, - 07721876CC21C0DBD17D00EE, - 6B2C313C20885C7B75D40ED2, ); name = zip; sourceTree = ""; }; - D31BDA28674C941530C73CA9 = {isa = PBXGroup; children = ( - A833D4B8902DBEF7D8B32E50, - 9D12A31934633A579D324B96, ); name = "unit_tests"; sourceTree = ""; }; - C9B1F8F814FE5B552A67C83D = {isa = PBXGroup; children = ( + BE9DC7909569CD484681A8D9 = {isa = PBXGroup; children = ( + A3C671FCF17ED732E654C652, + BEF6E9C8B9FE65A89F84DD3E, + C3429B905F1744303CAE83AD, + 87E0E3F42A5E6C795C3769FC, ); name = logging; sourceTree = ""; }; + 3A17EACFCFC0FE7908BD2F3B = {isa = PBXGroup; children = ( + 52D2F52B7284090A8CC4F18E, + 449F72688745585AEC908DE3, + 8D263509D4EB25038163FB5D, + 15C4E5B79331FFEF10E553D5, + 59F516B1F82F487ED0B8A08C, + 5CC1850C4E76C0825DF9F9A2, + 1399DD492AC9998A6513E251, + A311FDC490ED65A08E3B8B61, + E88B889CB23D7A61B31FA1E9, + 315DDEAAB7818AE4F369C230, ); name = maths; sourceTree = ""; }; + 06073D9AB43DFF8E6303926B = {isa = PBXGroup; children = ( + FE069E74A6308FF79DF3DC29, + 2651FD678A14B0751CB5D020, + 92A68AA34859E8DDC511D21F, + 53C3C3F56CEF7ED61F8451E2, + A3A119C6E5ACA90C03A77A04, + 8292A39754EAA00C8AA376B0, + 12D1ED411A617AB55887F19D, + 75C69A20FBFD837BC86D860D, + B06BCB5D9CE908831C7E81D0, + B05B1D7ACE1C33319A87328A, + 408AA1123D7BFE64D870013F, + F1666DBF5DC7FF6B94C0F0FF, + 7C3E3ACE7E74B1ED0C3BE343, + 3B39B66B640766E9B90E3046, ); name = memory; sourceTree = ""; }; + 2F4F9F91279852AE3245841F = {isa = PBXGroup; children = ( C0813C1842A72A80AEBC8D3B, 54905E0DBD3DFC08980F0635, D0FD262EC7099AD662232BD3, @@ -1435,7 +1313,7 @@ 3E87A40BAA207A6F8491BE60, 3BF749BD7341CB6B695403F2, 38628669BA3E9CF7E2DFED16, ); name = misc; sourceTree = ""; }; - D9B6523138F19B60DEABC1CA = {isa = PBXGroup; children = ( + F2F3AFC5D77644705C792104 = {isa = PBXGroup; children = ( 35C33DF203333BE87587F1BC, 60E06352A02CFAEE12295CDA, 1F0ADEAEB1F4BFFDF96597D6, @@ -1465,25 +1343,128 @@ DA366F25CE709950B866C7D9, 1B6E61F45C2F5E81914A71A7, F0776755F05C2BF5C7AF4FDC, ); name = native; sourceTree = ""; }; + D641E27BA35ACC3B59160AFC = {isa = PBXGroup; children = ( + 51BE027208C01296F2E76054, + 74D736A2BED0751C2A3C1BFE, + 1FA8CE4825B48E4FECCD1FEA, + 3514CF0F5CB28BBD688539B4, + 2A48FAEC948B121B6EB34631, + 0FEA2018033238F713A9933D, + 13A8EAABA98838BC051D7ECD, + 1F293903C761D909018FDD67, + 0A4F90598876FBE7A67A13D0, + B59C7AFE7DA427E795F736CE, ); name = network; sourceTree = ""; }; + DF59D3599752BF451714F5B4 = {isa = PBXGroup; children = ( + 490FFC3A7899AA8FBE8E2D0E, + E0EEC67C10363E4FB3C0B956, + BC4C2690333D8622D054E99A, + 083D342FECE0C296374EF291, + 2289F6AE28B501127D381EEC, + 422EAE67E128C8295A23F6A0, + 3B3AB4E5CE405BF348F634C8, + BDA38AB61C19E4924549ABD1, + 1FF55E3BBA8A22620289A59E, + F06CE10515F49B1DC5E87353, + D56D6ADB264AC3107EE2D5C8, + 58A314392D34735350431602, + DA0DD5BF97E3F28C9CCA4A74, + D1504817660ECE621AAA066F, + FB21D85F25FF7C468331BAEC, ); name = streams; sourceTree = ""; }; + 8C087A97055FFF267ADC28DA = {isa = PBXGroup; children = ( + D26A4E01842FF08AAA34B9D7, + D583ED6D9DF5CADB3AE660C8, + C35667BD04402DF29D3FEF8F, + 94EA75B72A8361A33A498EDB, + D1A83AA1BCDB061B528DB415, + 820C05ED738EB5A0B1D48AD3, ); name = system; sourceTree = ""; }; + 929875A5B15D0446C29C8E56 = {isa = PBXGroup; children = ( + CF6F99867E4ECCD2A2ED0B0C, + BD106C3E071AA8FBBA28501F, + 70A73FAF31B05C5DA4CE35AB, + 2763141DB90EDEB924F549B9, + 6E12A19A4995DE066C7130B1, + 697A591A67A38D7807665407, + 16C249B2489B726FA38EB40C, + E6FD0E2AE90C1053B736D210, + 7E787DB76F02DE3326E608A9, + 3F76E39F5ED6016AE007D846, + C3DE0ED05484B10615E59191, + DAFB41CC5DFEED6280C3D776, + 4046F9FFC62FE0E597136A28, + 7DBFDC2DAFD57DF638D745E1, + 69279A43C4E5EFCD851E6E2B, + 76F267A1568C2CAA1BBC3B5B, + CF01DB44007FF6940848C91A, + 719100C7D7C3AD37528165B6, + 6791A6621D6D8937D8BB3418, + A9E6F251933166D931848C0A, + ABB6B2384A0390705A173633, + 40046E402D3BB5D37AA9DC07, + FDC2F46EDF05732F05628411, + 379CFA695DBA290674B9466F, ); name = text; sourceTree = ""; }; + 5DA731B5A383210278EB7397 = {isa = PBXGroup; children = ( + D817A6C2192C3954C8B63045, + 9E008BCB36772AA2445607FC, + 118739F5BBF8A273FDF45CFD, + 0197C4DD5E7ACE14FF668D62, + 9BF096AEDF125991249E696E, + C40EB67E7237BE2217C1E7A5, + 81505916961455538E9B1A7B, + 698E098BB958CC4719E2166E, + BA724CE76B93BA0DF39FCC6F, + 5CBF59C67F30E77F408EF2A3, + 45A893DD2D553ED62C5B4D63, + E22ADD78D920B09EECA708B3, + 8002BEBD6AD4EE01900CE16A, + 3E1891F87C00044C1C482137, + EE026B40E1115ED7C21FF7D5, + 9A54516E1DBD569C24F521F8, + B595F0B82E93560FC2CE5EAF, + 7851D44D38C6B206AD0134D2, + D34801677A2E2B17CD6CF93A, + 60D5DF22E19891DE5F69CC8E, + 188F0A8D1EEC0AC08485B32D, + 3737DB5B70CB03EB340745EA, ); name = threads; sourceTree = ""; }; + DBBFE1493F3CC3C6C2BDC096 = {isa = PBXGroup; children = ( + D46770CDA754135BF9471DF2, + AFD134A52E53280F52870EF7, + DB3F9BFDECB17176CD53C029, + 248D8296344CFAC3E6CA732E, + 9521308539218CF751ED1B1D, + A8452D6DA370E42EF91F1555, ); name = time; sourceTree = ""; }; + D31BDA28674C941530C73CA9 = {isa = PBXGroup; children = ( + A833D4B8902DBEF7D8B32E50, + 9D12A31934633A579D324B96, ); name = "unit_tests"; sourceTree = ""; }; + 3864FCCD94B1ED45E4973BD0 = {isa = PBXGroup; children = ( + B5CA0C1C957C04A44E778E85, + 10CCA4154B34E2601DF7E36C, + DFD0AFFFEC046CBD6E837825, + 1501B794994314589934734A, ); name = xml; sourceTree = ""; }; + 1E3648BCDB055738F10F4A8B = {isa = PBXGroup; children = ( + 363345C2BB552CE31BFAB6D2, + 740B836DA87A1C70DD06D1C5, + 16138611E29922ACCDB8DF97, + 4D8CBFA4ADFA41465A97C072, + 07721876CC21C0DBD17D00EE, + 6B2C313C20885C7B75D40ED2, ); name = zip; sourceTree = ""; }; 134363737026CC80D69F48A5 = {isa = PBXGroup; children = ( - D4AD8131D5DDC542D8D8462D, - 66CEC72801EF9BE77D39B19F, - 9C56D83D3BDD05DEF239F71C, - 7F38B22DBF6D9255AD0FF626, - 0AB06DB5C2631EB668C528A2, - 403635C774A6BBC0F6980B64, - BC7512A77A4AB71F889C67BE, - 8BBFA220942050CA89C4222B, - 50B1E864B2356E8572B9A62F, - 401A32949AE4A75BF94D58BF, + F3F34845F32C3F89A1BE404D, + BF1AF9B8F437060F46F96A9C, + 7989C187E3D577D5853EB50A, + BE9DC7909569CD484681A8D9, + 3A17EACFCFC0FE7908BD2F3B, + 06073D9AB43DFF8E6303926B, + 2F4F9F91279852AE3245841F, + F2F3AFC5D77644705C792104, + D641E27BA35ACC3B59160AFC, + DF59D3599752BF451714F5B4, 8C087A97055FFF267ADC28DA, - 03A962E8ACDBD0C24CD014AB, - 1F04306E8F4BD6AA8AFA3185, - EB6A51E5AA5A5C974F82075F, + 929875A5B15D0446C29C8E56, + 5DA731B5A383210278EB7397, + DBBFE1493F3CC3C6C2BDC096, D31BDA28674C941530C73CA9, - C9B1F8F814FE5B552A67C83D, - D9B6523138F19B60DEABC1CA, - 3CD98742CA1919AEE3F9D9BC, + 3864FCCD94B1ED45E4973BD0, + 1E3648BCDB055738F10F4A8B, FBABB528D9CB9FCA127D3702, ); name = "juce_core"; sourceTree = ""; }; D7FE02721660A0F1ADDE0BED = {isa = PBXGroup; children = ( 844235B2D29429BEF2F7D184, @@ -1502,31 +1483,45 @@ 367D3E7B1A3582D5693B9FC3 = {isa = PBXGroup; children = ( D7FE02721660A0F1ADDE0BED, 12A6E418E243AFC94B96A6E1, - 6BAD62D1E379BB05328C035D, 8563FE036E562AD98EAF4FE1, ); name = "juce_cryptography"; sourceTree = ""; }; - 1DD90061ACEAF4356BC3D3CE = {isa = PBXGroup; children = ( + D7FAF312716CE1A911A4A0FE = {isa = PBXGroup; children = ( + F77BDA821AFA286E0B7CA733, + A47A4A946381F45AE898A70D, + FA01A4ACD8E51ECC2D1C1B63, + 322590D8C7EE4F273C28A081, ); name = "app_properties"; sourceTree = ""; }; + C283CAA3B222E566D9C79EC2 = {isa = PBXGroup; children = ( + BBA6F050F86F5DC509CBB4B1, + 737DE6483F59E9AAE31B8568, + DB597523D1985EA60A403B94, ); name = undomanager; sourceTree = ""; }; + 58F5BFE1B45DD38988D1B119 = {isa = PBXGroup; children = ( DC0D7D089158296DF472F703, 41066A9B2DA06A8A42EB2302, CB0B2A556417D63523EA8C83, AFA2ACD68CD580639886A60B, D058B5E13E7E22FC4ED27B5C, EE0C799027CD87E32B7A3829, ); name = values; sourceTree = ""; }; - C283CAA3B222E566D9C79EC2 = {isa = PBXGroup; children = ( - BBA6F050F86F5DC509CBB4B1, - 737DE6483F59E9AAE31B8568, - DB597523D1985EA60A403B94, ); name = undomanager; sourceTree = ""; }; - 723121B288F8EB847FF98DE0 = {isa = PBXGroup; children = ( - F77BDA821AFA286E0B7CA733, - A47A4A946381F45AE898A70D, - FA01A4ACD8E51ECC2D1C1B63, - 322590D8C7EE4F273C28A081, ); name = "app_properties"; sourceTree = ""; }; 6BF9D16DF121408ADF8D243D = {isa = PBXGroup; children = ( - 1DD90061ACEAF4356BC3D3CE, + D7FAF312716CE1A911A4A0FE, C283CAA3B222E566D9C79EC2, - 723121B288F8EB847FF98DE0, - E89A3BC0B3BD6CCAEE267855, + 58F5BFE1B45DD38988D1B119, A943021729B460E5CF76D54A, ); name = "juce_data_structures"; sourceTree = ""; }; - 017E9B99D428699F1C6D5087 = {isa = PBXGroup; children = ( + 8354F8C425E8BE1C394F2371 = {isa = PBXGroup; children = ( + 9B28308E02810E07AA5D9FA7, + E42E9716C4B77E32053284A9, + 0B8CE7C2918A2BC3C86E3CF9, + A6810E5A98CB9E4244EE6361, + 153310BD8726D691D726CEAC, + 7B2895D4FB86B3B075610B53, + A9E584C98134D88F8317056E, + 80CC6E5181AE8A06FAF7792A, ); name = broadcasters; sourceTree = ""; }; + 1B25B350F1ABE6519DE87B93 = {isa = PBXGroup; children = ( + E2B8FC5BD4B67250BA9335A1, + 8A66BE4644118DEB1EC06A19, + 1615E143D724EC65E5528B78, + AE88491D97D08B1215C182B5, + E663E110A4BE0E43ADCC7ADB, + 72FDA2118BBEAF1B8AAB2D74, ); name = interprocess; sourceTree = ""; }; + F1A8B54888E286391FE2DF3D = {isa = PBXGroup; children = ( 3CEE794B62AEDD6CD0650F0B, 427F2DF6378E91A673BD5805, A64E0921A828155BF1F5455C, @@ -1540,28 +1535,7 @@ AB8486AC595BB23DB29EDE78, 44D12A261F14400C108FE695, 546E1DA09F73BB6E17FD63CB, ); name = messages; sourceTree = ""; }; - 39D10AF212D901043F60E411 = {isa = PBXGroup; children = ( - 01065486D2E254D02B75509F, - 4A4D808E73E64EAC75888392, - 2CA8A8FEF881E1400CE33991, - 1DA9D191A3312AAF11810745, ); name = timers; sourceTree = ""; }; - FA63A4FEAF47A149B05B2D7B = {isa = PBXGroup; children = ( - 9B28308E02810E07AA5D9FA7, - E42E9716C4B77E32053284A9, - 0B8CE7C2918A2BC3C86E3CF9, - A6810E5A98CB9E4244EE6361, - 153310BD8726D691D726CEAC, - 7B2895D4FB86B3B075610B53, - A9E584C98134D88F8317056E, - 80CC6E5181AE8A06FAF7792A, ); name = broadcasters; sourceTree = ""; }; - 5F95B461A46B124271F4D4C2 = {isa = PBXGroup; children = ( - E2B8FC5BD4B67250BA9335A1, - 8A66BE4644118DEB1EC06A19, - 1615E143D724EC65E5528B78, - AE88491D97D08B1215C182B5, - E663E110A4BE0E43ADCC7ADB, - 72FDA2118BBEAF1B8AAB2D74, ); name = interprocess; sourceTree = ""; }; - 259A4043A2C33A2F7542D782 = {isa = PBXGroup; children = ( + 3B110CF8A006A7B2B908F107 = {isa = PBXGroup; children = ( A6A6BF31BD4CE0ED3B3B472E, FE0594A998F5C9FE8C2A11DC, 87B85E49FC448CEE97FCE14E, @@ -1570,13 +1544,17 @@ 79703B85F426FD4DF5C0AC42, F8412676F1B3EAF03D7928FD, C86F3258822428DB91009687, ); name = native; sourceTree = ""; }; + CA85DC3F41D663766854A5A7 = {isa = PBXGroup; children = ( + 01065486D2E254D02B75509F, + 4A4D808E73E64EAC75888392, + 2CA8A8FEF881E1400CE33991, + 1DA9D191A3312AAF11810745, ); name = timers; sourceTree = ""; }; FB86CB37A490EC9DB740D91C = {isa = PBXGroup; children = ( - 017E9B99D428699F1C6D5087, - 39D10AF212D901043F60E411, - FA63A4FEAF47A149B05B2D7B, - 5F95B461A46B124271F4D4C2, - 259A4043A2C33A2F7542D782, - 641CEAEA5DDBA04D348E3E58, + 8354F8C425E8BE1C394F2371, + 1B25B350F1ABE6519DE87B93, + F1A8B54888E286391FE2DF3D, + 3B110CF8A006A7B2B908F107, + CA85DC3F41D663766854A5A7, 5765E0F55ADB4319F0F896D3, ); name = "juce_events"; sourceTree = ""; }; E969A83F4C0CF83A078F47F3 = {isa = PBXGroup; children = ( D8A9DA040BE1279C9863B422, @@ -1596,19 +1574,25 @@ 1FBB32224251DCA53E9CE4A5, C119EC562AC9BCE4E6B61067, 3A22AD6926B2CC42F4E5988C, ); name = contexts; sourceTree = ""; }; - F309B3269E76DE120143DD91 = {isa = PBXGroup; children = ( - BDC870E69E95845672295AB9, - 359E9C5EB887770E3AA46B95, - 01490B3A4FE0E7503EF78A59, - FDA2E20181EEDFABEE8CACCC, - F5158122AABF8E950827F2CB, - AC8848FA6745CDFDFAF2F927, - 0C211C03FF27A92ADC7706A6, - DBEE524633668464C9593EE8, ); name = images; sourceTree = ""; }; - F59D71157F4D41C4D4816141 = {isa = PBXGroup; children = ( - DD970DAD7E15CD399583110F, - 93B34B16D67C27ADD795D346, - 9A123AE56C9C5AE3BE0E2800, ); name = "image_formats"; sourceTree = ""; }; + 05B2C41888B98054AB466C80 = {isa = PBXGroup; children = ( + EB1D64642D7FA904D675770E, + 503351935DD85F70D491ED2A, + 31FE14F48D2E4827337F3C65, + 98DFC6A85CB893442E014D84, + D5E118687F94A7A960E7EC71, ); name = effects; sourceTree = ""; }; + 2C7B862B0024AE23EEEDA0CD = {isa = PBXGroup; children = ( + 33FEAF50967CEB5800BF72BE, + 88F756FE30BD5DEA47C1725D, + 83F1B63878AD351B064B301B, + 6D275948B4E4F4B5A5390798, + 1A2E38E8795FD19F801DF103, + 87766D3A5FC3CB4ABB3D6ED0, + C4F92727F81156801D2F61E7, + D45B9852EE24763DB29A07CB, + 1C50B35A818EC78F8FF81815, + 7FC679066DAC1C23188A46ED, + 766259EB7D04DF87556127C0, + 1D904F5F3F9ABF88E0D4385D, ); name = fonts; sourceTree = ""; }; 6E98284B2337B8ACB6DB657C = {isa = PBXGroup; children = ( 0687C181905F8F3CE2CD9B8E, 14D79056503073B08ACAA92E, @@ -1625,30 +1609,20 @@ D7ADC23EB8DDCAA960EE5745, E952B3E43DFEDB951B0CA41A, E43C13DD0E648037E8DAB7F6, ); name = geometry; sourceTree = ""; }; - 2E6FA1D06FBF4A4F13B37ACE = {isa = PBXGroup; children = ( - E238C3F270655B4324101263, - 2C9F5746F9D3DEA41F12FE58, - D57B55B2B9CE6B6D9D6EFFCE, ); name = placement; sourceTree = ""; }; - 6018A5E91B7A26DA24103F9F = {isa = PBXGroup; children = ( - 33FEAF50967CEB5800BF72BE, - 88F756FE30BD5DEA47C1725D, - 83F1B63878AD351B064B301B, - 6D275948B4E4F4B5A5390798, - 1A2E38E8795FD19F801DF103, - 87766D3A5FC3CB4ABB3D6ED0, - C4F92727F81156801D2F61E7, - D45B9852EE24763DB29A07CB, - 1C50B35A818EC78F8FF81815, - 7FC679066DAC1C23188A46ED, - 766259EB7D04DF87556127C0, - 1D904F5F3F9ABF88E0D4385D, ); name = fonts; sourceTree = ""; }; - AD6C56A11E3F985F7C7AA351 = {isa = PBXGroup; children = ( - EB1D64642D7FA904D675770E, - 503351935DD85F70D491ED2A, - 31FE14F48D2E4827337F3C65, - 98DFC6A85CB893442E014D84, - D5E118687F94A7A960E7EC71, ); name = effects; sourceTree = ""; }; - 44131CDF742706D6C0E9EC66 = {isa = PBXGroup; children = ( + DA283F848FD03C69CC5B72ED = {isa = PBXGroup; children = ( + DD970DAD7E15CD399583110F, + 93B34B16D67C27ADD795D346, + 9A123AE56C9C5AE3BE0E2800, ); name = "image_formats"; sourceTree = ""; }; + E7A6245329A210F5C0AF131D = {isa = PBXGroup; children = ( + BDC870E69E95845672295AB9, + 359E9C5EB887770E3AA46B95, + 01490B3A4FE0E7503EF78A59, + FDA2E20181EEDFABEE8CACCC, + F5158122AABF8E950827F2CB, + AC8848FA6745CDFDFAF2F927, + 0C211C03FF27A92ADC7706A6, + DBEE524633668464C9593EE8, ); name = images; sourceTree = ""; }; + B41476FE5D48331846C83D2B = {isa = PBXGroup; children = ( BF44CE913E3ABC7CBD3A7005, 613B39307B80D6D9C4D62739, C03B12980850005B9ECF2E17, @@ -1662,19 +1636,54 @@ 4A44D8CE1E8F932AD7F6E5A3, 5B267B0B84A4AE272AAD58A4, EF14BD536F709B7D6B9F68F4, ); name = native; sourceTree = ""; }; + EDE9A0E4F6937433444DA2D6 = {isa = PBXGroup; children = ( + E238C3F270655B4324101263, + 2C9F5746F9D3DEA41F12FE58, + D57B55B2B9CE6B6D9D6EFFCE, ); name = placement; sourceTree = ""; }; F7DD1006ED325822934CE941 = {isa = PBXGroup; children = ( E969A83F4C0CF83A078F47F3, B886B1B89D7773E4E0B443C0, - F309B3269E76DE120143DD91, - F59D71157F4D41C4D4816141, + 05B2C41888B98054AB466C80, + 2C7B862B0024AE23EEEDA0CD, 6E98284B2337B8ACB6DB657C, - 2E6FA1D06FBF4A4F13B37ACE, - 6018A5E91B7A26DA24103F9F, - AD6C56A11E3F985F7C7AA351, - 44131CDF742706D6C0E9EC66, - A7FC8A80F3BF7EDCBB40DBAF, + DA283F848FD03C69CC5B72ED, + E7A6245329A210F5C0AF131D, + B41476FE5D48331846C83D2B, + EDE9A0E4F6937433444DA2D6, 9F0363632194A6415E392DE8, ); name = "juce_graphics"; sourceTree = ""; }; - 2F1041C065A0A50307F614ED = {isa = PBXGroup; children = ( + B498C8B9B847362C3F01F645 = {isa = PBXGroup; children = ( + EBE6C07DB63AAA1F750C22F5, + 05864BC8C7804D05F485305F, ); name = application; sourceTree = ""; }; + E150D499BFD551DCC5C7B51F = {isa = PBXGroup; children = ( + DB1613193F82A43CE17AAF88, + B50129FF78D1FCC64DB4D51E, + CDEFD12DAEF30B7A13DFF8F5, + FF8A2AE20EED8687EA5D2A00, + 7F9D7EC0BE80A6DA54A9805D, + C1E4AD74F8C069DBFBA4E782, + FE8F197A2BB3631561C8A694, + 2D8585823D0A4210D1B161DD, + 72DA84A591B2827C323332B3, + F43D110150D84A1CF0B65F0E, + C56587798EDC116C137A1DF5, + B98D12869BACB1D0ECB4EE95, + 32043671A35DA448332B557F, + C33A6A02E9F92ABA9618DD67, + 095864129E8B873229076D4F, + C4F60DBF5BC6169F4B7357A6, + 1AB3BEE546811801C8D4C377, + EC443EF07555D528F21945DF, ); name = buttons; sourceTree = ""; }; + 1EA9CBBE7B5719A139A272B2 = {isa = PBXGroup; children = ( + D41591FF892A6E2E672C7A18, + DCE3EB6C3DF640697ADD3F0D, + 7552ACBC68EF48B063F619E2, + AE1746EE8E4FC95FC3635940, + 7A356CCD42F455D41990C69F, + A6E5EC33E5F9767654EFCB25, + 1E73665689A8CF1EAD07A410, + 7D5050E0DD69CB60EF1B677C, + 6D8FDB139E0FDCBD5641A097, ); name = commands; sourceTree = ""; }; + 442857F782D6B99D7E8A9552 = {isa = PBXGroup; children = ( 3E8AACC53630A2225F4C5486, F84DED97A83644758D30181D, BF63AD2390FFED75EECD4FAB, @@ -1684,28 +1693,46 @@ 7354BFA17F9565BE32B449D0, 7D75EB56FF74B25CAC8B3B56, 5A707B988D57A28536A6E62E, ); name = components; sourceTree = ""; }; - 1F27292979CA7D0A6E999F3D = {isa = PBXGroup; children = ( - 68CE13A021B91CD24AB856E1, - AF3F2DA7FA59ACA4E789A401, - DAD5AF16CB91B3134BFDBA0D, - 2FDFCD44816447805FD012DC, - C4A9D089AA401E6F8244181C, - E9CE9F9373D3557656DFD116, - EF9C89B3C7A5808769ADFD76, - 2E3E5BB82FD2A9A582FD7E5E, - 7287E94D566F0CCB336585D6, - AAC4E65438260939D18D3F40, - 6D749A9561547CBF4C9D55FD, - E97F0C403AFAF4820EDB55F8, - 7FEE5FBF562E44ADD32CAFAC, - 1800F7D6AC6CB08DDE716CFF, - 130B30A89F8EB787CA96BD73, - 16A5D3C51A676B5EB96B07FC, - 9DC7E8A153861BEC0C8205A0, - A3784CA5E1195E1792E617F6, - 2CBB52A96FFA3344C137AFB1, - 8DC66AE55D8DDC757FEFC35D, ); name = mouse; sourceTree = ""; }; - 88897071E8E741ABDB94C057 = {isa = PBXGroup; children = ( + 5EAFAFDFA821F15A4508B459 = {isa = PBXGroup; children = ( + B5CF56ECED7AB7108C7FA24A, + EC7A2DEE957A2B375201FC12, + B0FFC533F760AED1CE7B2BC2, + 8AD5C1E90DE18441407D769D, + D396F2D0FF34CC5C59FA3DC1, + 862FE36C50506109E33D6E88, + 2B4A4D4411B9314CEEE873F2, + 6E99388FCA0417BCE813EAE0, + 64515D56E168E26DE6679FF2, + B663B0FD7F2FEDCE59A40373, + 9708B38E625B426432C46439, + D3AE4AEF45E4694F90FA90BF, + A9C31C52F36697E74384B83A, + BA27FD5D74A9F7C7D0660EEC, + 070AE2690CA06010BDBB4644, ); name = drawables; sourceTree = ""; }; + FF5FD1B581DC398E8A671D20 = {isa = PBXGroup; children = ( + AA2C868E050557A1CCEFB5AA, + 0333EF5021D4B11D0567EDE9, + FB9D900CA19E8894F1F05F4E, + 46844E11FFE3314B7A4D1182, + 65B8AFC880FE18CAD80D0C4F, + 12ECDE0E70945E79B3C6FADF, + 25D592FB01574ECBD7AB256A, + C81CCF965B4C7E21308B305C, + 0EC0E5FB195BD2DCCE4FE103, + 4E54EF00533AF35ACE6EE0D2, + BE187CBB955859129715DCEE, + 6F681F8D57B92084BD4DC38F, + 9B47191752AD5B64A858FC13, + 90BDA0B8FE4A26E5298DAEE3, + 44EB27DCDBCEC36F4DB760A9, + 9F14A2AA61821A565FF22D39, + 4D130A36E132798BA1BB53FF, + 07B9E706EBAAD4873E3914EC, + B307D90DA0DC9A76DC723878, + 89C90F8B0901C465E356C6C8, + 3EF6C867CB55DBB90076ACF2, + 06EB590F5B838B697CE72F8B, ); name = filebrowser; sourceTree = ""; }; + 6891E16A41CF181D252A70E2 = {isa = PBXGroup; children = ( 221859580563CB895AAB6167, 9E20217FB413D60F83A931AD, D7E99FDE83844ECAA502376A, @@ -1719,62 +1746,7 @@ 19FE66760D46BF77905C3B48, 661F33F1EB949D590090D53E, 1DA8B8E25372E8F00080877B, ); name = keyboard; sourceTree = ""; }; - B1F5418A24C949EF1EDCC5CC = {isa = PBXGroup; children = ( - BADB10DBDB2B94E03AF14B91, - F4DD9A24D4B78E8DA2558487, - 06745837B0C272B8686ACF30, - 422E3CE271E2064729DA6F46, - A4371BEE6FAA21EAD5E50D9C, - C772B460012E89562C4D93D7, - C02300F6DDD1A5D705603B0F, - 2CB8EA303EA9DDA6A788E09C, - 949131E58393C7020549AA11, - 8A5772ED4AE108BB21D97514, - 8930689A13E07781BE58FA24, - 9A577EF18204B6FE35D227B0, - 4CA0D374BA396AC331C7657E, - CF746C34F8DB1B073F1A4FA0, - 607D538C599F10798C3399E0, - C5CAA1141DB6800E4CE2CF51, - E7CF28977428BDE6A175943C, - E55C6DF8352F3FBE56499775, - 4CA0CF8181B0B7321AC02F44, - E5753506CDDFF88D638975ED, - 8A1FB5D85766EE499267EFCC, - A6D365F17431ED5DE20C31C6, - EED45AF0FE17F2782911D0AE, - 1A4FF248A625623F2AB5B78A, - 664D7BAD62148780288B4904, - AF601ABA3B20D0E5999328C7, - 360140E521BFFBEAE167DE5F, ); name = widgets; sourceTree = ""; }; - 20C66850D35C2F7AADD7EA64 = {isa = PBXGroup; children = ( - A1CC4DCD28D612221D9B445C, - C7ED330EB140FCC0B096E2E9, - DDB141526302B59595C3A584, - 5A1ECBE0BEAF6C2B976EE813, - 5C00F2B0503A9B4774455977, - AA78AF689E1B8E9B48B6E271, - 08CC510A823DA8A188233FB2, - 14E46E9101177690C481518A, - 3BE93702701665C1CF0D71F4, - DAF2DC4885AA5A5263A16E94, - B27AB74B32E014257ACF7EC5, - 46EE36AEA94A83975A5C36C3, - 602F2E014E4796C2DA29CDB3, - 577824246C165D84AA378BE0, - 20B1A2291D2367A6CE6A98E0, - 3FE3BB22E6A6B04200358D89, - 48348E65A2D505CD55F894CC, - 34D0CAA3AE118782B1D85410, - BFB539E4567CACD9D0DE55E5, ); name = windows; sourceTree = ""; }; - F30B7D8CE97DE5606AE6DC8E = {isa = PBXGroup; children = ( - 098EE470BA8744AD218E09F7, - 41004038C181AC5C8CDDD02D, - F950431A9C0864A8EADF9996, - 26B0149626A30EF364609DDD, - EDE49EEE9EF8B5202426D948, - 32AA8C09B7A39118E3A4BFA6, ); name = menus; sourceTree = ""; }; - 4C272B3754B014AC08B0E033 = {isa = PBXGroup; children = ( + 152458EDA84AF9EBB24C7F1C = {isa = PBXGroup; children = ( 6B526A365078C24900C821B5, 24D34491A75D9158E571CE95, B0C8BABB5E59C2F7FAA37689, @@ -1811,72 +1783,7 @@ B87C42BDAE89E73E982EF85C, FF46CABD4A7C29380D4CAD26, 03B8A6359E4DD6796B9F7840, ); name = layout; sourceTree = ""; }; - A0A794A5F17590D11359544E = {isa = PBXGroup; children = ( - DB1613193F82A43CE17AAF88, - B50129FF78D1FCC64DB4D51E, - CDEFD12DAEF30B7A13DFF8F5, - FF8A2AE20EED8687EA5D2A00, - 7F9D7EC0BE80A6DA54A9805D, - C1E4AD74F8C069DBFBA4E782, - FE8F197A2BB3631561C8A694, - 2D8585823D0A4210D1B161DD, - 72DA84A591B2827C323332B3, - F43D110150D84A1CF0B65F0E, - C56587798EDC116C137A1DF5, - B98D12869BACB1D0ECB4EE95, - 32043671A35DA448332B557F, - C33A6A02E9F92ABA9618DD67, - 095864129E8B873229076D4F, - C4F60DBF5BC6169F4B7357A6, - 1AB3BEE546811801C8D4C377, - EC443EF07555D528F21945DF, ); name = buttons; sourceTree = ""; }; - 0CE1F0AC5B7735D5C59D065E = {isa = PBXGroup; children = ( - 1C95AB2B2812BD8960870603, - E0026785667979561D036936, - 2B56C4638018F72794BEADC8, - 8E6345C2A24786DB002C85A0, - D73A06F366784CFAA87B7BEE, - 053462A035FADA4FDCE2A8D0, - 45CAA0CEA9DA2B4F3AF549FC, - 0CB6B999BF9DBA9D0F586C6F, - 49811A30680D278DA9591BE5, - 41FDE3C3197B773438925736, - DF0EBC428D40282CD24D2015, - B7C588B87E09F887C6CB73C0, - 06577256ACDA6ECA2DF0AE84, - E889D7DD7AC4FCA48517B2E8, ); name = positioning; sourceTree = ""; }; - 1011BBE9304BAFF95A476125 = {isa = PBXGroup; children = ( - B5CF56ECED7AB7108C7FA24A, - EC7A2DEE957A2B375201FC12, - B0FFC533F760AED1CE7B2BC2, - 8AD5C1E90DE18441407D769D, - D396F2D0FF34CC5C59FA3DC1, - 862FE36C50506109E33D6E88, - 2B4A4D4411B9314CEEE873F2, - 6E99388FCA0417BCE813EAE0, - 64515D56E168E26DE6679FF2, - B663B0FD7F2FEDCE59A40373, - 9708B38E625B426432C46439, - D3AE4AEF45E4694F90FA90BF, - A9C31C52F36697E74384B83A, - BA27FD5D74A9F7C7D0660EEC, - 070AE2690CA06010BDBB4644, ); name = drawables; sourceTree = ""; }; - 7B851D47EEB0A51D2C32C5FB = {isa = PBXGroup; children = ( - 1FB5E4B9CC25B15D872DDAF8, - 762FD953C2BB53F5DC9CD403, - 9A07C2A820D1A4D1C5429E6F, - 84030B3A2263DEAB1A2EC8CF, - 08BA9BF25A4A247BAEFA7C7B, - 44AF43F408DE59FEC7FC87C1, - A516757003C57D4D3E5C637A, - 8CC6758FB15124F3CF345CA0, - 4BB76738C3C05043BFDE3507, - 6E0D954E48998693A587F2DE, - 04CF614E82E5E0D67952963A, - BB3DB74A8843A5C315854394, - 5546974D4F68A427792B725E, - 3CAB0402E5EDD5A25D4DE907, ); name = properties; sourceTree = ""; }; - 43B0193D1C7DEF84D41B69A4 = {isa = PBXGroup; children = ( + 4338F69C46D1058F2B27301E = {isa = PBXGroup; children = ( 202FBA54BE113F8E12628DF3, F93E820028869AA360740BE2, A3D1C2B1D20BB35EABEF5D56, @@ -1885,48 +1792,40 @@ 7DCF0A2E89D3CC5C976411D9, 06F692C85C20B60877A3E153, CA3E9C9CE9CA59B370A81095, ); name = lookandfeel; sourceTree = ""; }; - FC94936E6781852E6A5F5AAF = {isa = PBXGroup; children = ( - AA2C868E050557A1CCEFB5AA, - 0333EF5021D4B11D0567EDE9, - FB9D900CA19E8894F1F05F4E, - 46844E11FFE3314B7A4D1182, - 65B8AFC880FE18CAD80D0C4F, - 12ECDE0E70945E79B3C6FADF, - 25D592FB01574ECBD7AB256A, - C81CCF965B4C7E21308B305C, - 0EC0E5FB195BD2DCCE4FE103, - 4E54EF00533AF35ACE6EE0D2, - BE187CBB955859129715DCEE, - 6F681F8D57B92084BD4DC38F, - 9B47191752AD5B64A858FC13, - 90BDA0B8FE4A26E5298DAEE3, - 44EB27DCDBCEC36F4DB760A9, - 9F14A2AA61821A565FF22D39, - 4D130A36E132798BA1BB53FF, - 07B9E706EBAAD4873E3914EC, - B307D90DA0DC9A76DC723878, - 89C90F8B0901C465E356C6C8, - 3EF6C867CB55DBB90076ACF2, - 06EB590F5B838B697CE72F8B, ); name = filebrowser; sourceTree = ""; }; - 76533D71441DB73BC581D584 = {isa = PBXGroup; children = ( - D41591FF892A6E2E672C7A18, - DCE3EB6C3DF640697ADD3F0D, - 7552ACBC68EF48B063F619E2, - AE1746EE8E4FC95FC3635940, - 7A356CCD42F455D41990C69F, - A6E5EC33E5F9767654EFCB25, - 1E73665689A8CF1EAD07A410, - 7D5050E0DD69CB60EF1B677C, - 6D8FDB139E0FDCBD5641A097, ); name = commands; sourceTree = ""; }; - A16C13AC925F01E513BC0632 = {isa = PBXGroup; children = ( + 77144AC1CC880CE0F1D465C4 = {isa = PBXGroup; children = ( + 098EE470BA8744AD218E09F7, + 41004038C181AC5C8CDDD02D, + F950431A9C0864A8EADF9996, + 26B0149626A30EF364609DDD, + EDE49EEE9EF8B5202426D948, + 32AA8C09B7A39118E3A4BFA6, ); name = menus; sourceTree = ""; }; + D8E6A3AC1D16E94A22CB1013 = {isa = PBXGroup; children = ( AD7D7A1631818FAFC9600F3F, 5D2270DEE9D5C23019DEB152, D2E451A096DED665657647F8, BE439FE1379CC46AD8DA5F78, ); name = misc; sourceTree = ""; }; - C25E9058EE7B0F2E900E3433 = {isa = PBXGroup; children = ( - EBE6C07DB63AAA1F750C22F5, - 05864BC8C7804D05F485305F, ); name = application; sourceTree = ""; }; - 49D064C5B2141BD8D14AE294 = {isa = PBXGroup; children = ( + 3CB92BE112CF6432C7873973 = {isa = PBXGroup; children = ( + 68CE13A021B91CD24AB856E1, + AF3F2DA7FA59ACA4E789A401, + DAD5AF16CB91B3134BFDBA0D, + 2FDFCD44816447805FD012DC, + C4A9D089AA401E6F8244181C, + E9CE9F9373D3557656DFD116, + EF9C89B3C7A5808769ADFD76, + 2E3E5BB82FD2A9A582FD7E5E, + 7287E94D566F0CCB336585D6, + AAC4E65438260939D18D3F40, + 6D749A9561547CBF4C9D55FD, + E97F0C403AFAF4820EDB55F8, + 7FEE5FBF562E44ADD32CAFAC, + 1800F7D6AC6CB08DDE716CFF, + 130B30A89F8EB787CA96BD73, + 16A5D3C51A676B5EB96B07FC, + 9DC7E8A153861BEC0C8205A0, + A3784CA5E1195E1792E617F6, + 2CBB52A96FFA3344C137AFB1, + 8DC66AE55D8DDC757FEFC35D, ); name = mouse; sourceTree = ""; }; + AC5DEE7E7554608C034CDD6B = {isa = PBXGroup; children = ( 6776FE828D0C9AAC3F12EA59, 4013F4D715E43764169C2BF5, 1D05DBE68E45BED5B842F212, @@ -1943,25 +1842,102 @@ 46FBF3438B506BBBA1C08BE5, 1CCFA6CA5E8D3E8D1D9476B5, 584F5DA03ABAC58D8200F4DB, ); name = native; sourceTree = ""; }; + 9652A2D0E3B2AABD4FD17917 = {isa = PBXGroup; children = ( + 1C95AB2B2812BD8960870603, + E0026785667979561D036936, + 2B56C4638018F72794BEADC8, + 8E6345C2A24786DB002C85A0, + D73A06F366784CFAA87B7BEE, + 053462A035FADA4FDCE2A8D0, + 45CAA0CEA9DA2B4F3AF549FC, + 0CB6B999BF9DBA9D0F586C6F, + 49811A30680D278DA9591BE5, + 41FDE3C3197B773438925736, + DF0EBC428D40282CD24D2015, + B7C588B87E09F887C6CB73C0, + 06577256ACDA6ECA2DF0AE84, + E889D7DD7AC4FCA48517B2E8, ); name = positioning; sourceTree = ""; }; + 64F1D01DEAE073EECB556926 = {isa = PBXGroup; children = ( + 1FB5E4B9CC25B15D872DDAF8, + 762FD953C2BB53F5DC9CD403, + 9A07C2A820D1A4D1C5429E6F, + 84030B3A2263DEAB1A2EC8CF, + 08BA9BF25A4A247BAEFA7C7B, + 44AF43F408DE59FEC7FC87C1, + A516757003C57D4D3E5C637A, + 8CC6758FB15124F3CF345CA0, + 4BB76738C3C05043BFDE3507, + 6E0D954E48998693A587F2DE, + 04CF614E82E5E0D67952963A, + BB3DB74A8843A5C315854394, + 5546974D4F68A427792B725E, + 3CAB0402E5EDD5A25D4DE907, ); name = properties; sourceTree = ""; }; + 00EB1410366065CA2E5816DD = {isa = PBXGroup; children = ( + BADB10DBDB2B94E03AF14B91, + F4DD9A24D4B78E8DA2558487, + 06745837B0C272B8686ACF30, + 422E3CE271E2064729DA6F46, + A4371BEE6FAA21EAD5E50D9C, + C772B460012E89562C4D93D7, + C02300F6DDD1A5D705603B0F, + 2CB8EA303EA9DDA6A788E09C, + 949131E58393C7020549AA11, + 8A5772ED4AE108BB21D97514, + 8930689A13E07781BE58FA24, + 9A577EF18204B6FE35D227B0, + 4CA0D374BA396AC331C7657E, + CF746C34F8DB1B073F1A4FA0, + 607D538C599F10798C3399E0, + C5CAA1141DB6800E4CE2CF51, + E7CF28977428BDE6A175943C, + E55C6DF8352F3FBE56499775, + 4CA0CF8181B0B7321AC02F44, + E5753506CDDFF88D638975ED, + 8A1FB5D85766EE499267EFCC, + A6D365F17431ED5DE20C31C6, + EED45AF0FE17F2782911D0AE, + 1A4FF248A625623F2AB5B78A, + 664D7BAD62148780288B4904, + AF601ABA3B20D0E5999328C7, + 360140E521BFFBEAE167DE5F, ); name = widgets; sourceTree = ""; }; + 71CFA50CA6D7DDEF3B4F7CFD = {isa = PBXGroup; children = ( + A1CC4DCD28D612221D9B445C, + C7ED330EB140FCC0B096E2E9, + DDB141526302B59595C3A584, + 5A1ECBE0BEAF6C2B976EE813, + 5C00F2B0503A9B4774455977, + AA78AF689E1B8E9B48B6E271, + 08CC510A823DA8A188233FB2, + 14E46E9101177690C481518A, + 3BE93702701665C1CF0D71F4, + DAF2DC4885AA5A5263A16E94, + B27AB74B32E014257ACF7EC5, + 46EE36AEA94A83975A5C36C3, + 602F2E014E4796C2DA29CDB3, + 577824246C165D84AA378BE0, + 20B1A2291D2367A6CE6A98E0, + 3FE3BB22E6A6B04200358D89, + 48348E65A2D505CD55F894CC, + 34D0CAA3AE118782B1D85410, + BFB539E4567CACD9D0DE55E5, ); name = windows; sourceTree = ""; }; 2727A6D234211D5EEFE67B2D = {isa = PBXGroup; children = ( - 2F1041C065A0A50307F614ED, - 1F27292979CA7D0A6E999F3D, - 88897071E8E741ABDB94C057, - B1F5418A24C949EF1EDCC5CC, - 20C66850D35C2F7AADD7EA64, - F30B7D8CE97DE5606AE6DC8E, - 4C272B3754B014AC08B0E033, - A0A794A5F17590D11359544E, - 0CE1F0AC5B7735D5C59D065E, - 1011BBE9304BAFF95A476125, - 7B851D47EEB0A51D2C32C5FB, - 43B0193D1C7DEF84D41B69A4, - FC94936E6781852E6A5F5AAF, - 76533D71441DB73BC581D584, - A16C13AC925F01E513BC0632, - C25E9058EE7B0F2E900E3433, - 49D064C5B2141BD8D14AE294, - E10E5BBBE8515439D764CBBB, + B498C8B9B847362C3F01F645, + E150D499BFD551DCC5C7B51F, + 1EA9CBBE7B5719A139A272B2, + 442857F782D6B99D7E8A9552, + 5EAFAFDFA821F15A4508B459, + FF5FD1B581DC398E8A671D20, + 6891E16A41CF181D252A70E2, + 152458EDA84AF9EBB24C7F1C, + 4338F69C46D1058F2B27301E, + 77144AC1CC880CE0F1D465C4, + D8E6A3AC1D16E94A22CB1013, + 3CB92BE112CF6432C7873973, + AC5DEE7E7554608C034CDD6B, + 9652A2D0E3B2AABD4FD17917, + 64F1D01DEAE073EECB556926, + 00EB1410366065CA2E5816DD, + 71CFA50CA6D7DDEF3B4F7CFD, 6A6347D9B543CE96713831B9, ); name = "juce_gui_basics"; sourceTree = ""; }; 7DEF87B9C8D847F2840BF97D = {isa = PBXGroup; children = ( 714F603CF16614D65F89340D, @@ -2023,9 +1999,21 @@ 66D132EDB56154912C007BA8, A53F5FF344A1D95EBBBDF3DC, DFD4E790D5E34260219E3AF7, - 5DB6DA27DC5C022696109EF8, 644E389974336014E8890F31, ); name = "juce_gui_extra"; sourceTree = ""; }; - 6EB5B0C74A683FD9E8F67118 = {isa = PBXGroup; children = ( + DA3E811B275440DA67B74A7F = {isa = PBXGroup; children = ( + 8C7A9D19E4BF794F25112C92, + 8AF7405E7AF18A44BF24811B, + 6E2E587EC9DCB2595D73A5CD, + 44BFB21474150C54D8B45035, ); name = geometry; sourceTree = ""; }; + 484005DDD3D1200F90DB6547 = {isa = PBXGroup; children = ( + 93A5B72C4030F63A78120194, + 6ACE33C4515448BE0DF400C8, + CF6B3F4DF15D7BAAEB2495BC, + 73B2312BC8C5D5A5A7AD87D0, + 51686AA73651EE47EF5CE35E, + 49E5DF4D47ADC97FB605F93F, + F16BDC9AFAD544D72BF6DC3C, ); name = native; sourceTree = ""; }; + 9A1C22A64EF6765E628D9DB8 = {isa = PBXGroup; children = ( 86F9F3EDDA98B10C15901578, A003021CCCD1F8D2200E9066, EDAA8D220CC237DE5D612F47, @@ -2043,47 +2031,32 @@ AC5BB40FA10713128CC9A2A1, 3BAC3350B6CA12EFF6587DF6, 4055E0D3D92A96C8E797ACBD, ); name = opengl; sourceTree = ""; }; - 8EEFFBC75F21B6E21D802A38 = {isa = PBXGroup; children = ( - 8C7A9D19E4BF794F25112C92, - 8AF7405E7AF18A44BF24811B, - 6E2E587EC9DCB2595D73A5CD, - 44BFB21474150C54D8B45035, ); name = geometry; sourceTree = ""; }; - 72D293A3B38BAD3129DF1940 = {isa = PBXGroup; children = ( + 96463EF7F2C7E4B6A970B318 = {isa = PBXGroup; children = ( 6BF891205F6EEAF85C1C0F2C, E662D32EE899694C2F360B77, ); name = utils; sourceTree = ""; }; - 4527369C4DAB2CE60232DE94 = {isa = PBXGroup; children = ( - 93A5B72C4030F63A78120194, - 6ACE33C4515448BE0DF400C8, - CF6B3F4DF15D7BAAEB2495BC, - 73B2312BC8C5D5A5A7AD87D0, - 51686AA73651EE47EF5CE35E, - 49E5DF4D47ADC97FB605F93F, - F16BDC9AFAD544D72BF6DC3C, ); name = native; sourceTree = ""; }; F60314F08ACFDB997F502781 = {isa = PBXGroup; children = ( - 6EB5B0C74A683FD9E8F67118, - 8EEFFBC75F21B6E21D802A38, - 72D293A3B38BAD3129DF1940, - 4527369C4DAB2CE60232DE94, - E4E6F10141E07DE0F2960C2F, + DA3E811B275440DA67B74A7F, + 484005DDD3D1200F90DB6547, + 9A1C22A64EF6765E628D9DB8, + 96463EF7F2C7E4B6A970B318, B4EBC54E160BF6EFDA54A708, ); name = "juce_opengl"; sourceTree = ""; }; - ABEEA81A9680F6A4F8ECA0EA = {isa = PBXGroup; children = ( - 7A32476DF07EE4C33512F01D, - F75D109BD33B5C057C150155, ); name = playback; sourceTree = ""; }; - 1C67C665FD3B6D5133151E2D = {isa = PBXGroup; children = ( + D506F9F24F7F53699D9EC7E0 = {isa = PBXGroup; children = ( DB8D923C776A1038384A10D5, 5CD2D4CDAC75E50E78ABE46C, ); name = capture; sourceTree = ""; }; - 5CBF586DCC30079B9463982A = {isa = PBXGroup; children = ( + B97B5586EDF684C9754563C2 = {isa = PBXGroup; children = ( 407FCF60E01E1C7F7BBF83B2, 26BFF71147B21AEECB934431, C8A3BA380B7DADEBA46EC1FF, A091657F22DDCFFC2D0E3E68, 4366A35F3F091C0EEFD58817, CF412309E5514E05CBD2A30F, ); name = native; sourceTree = ""; }; + 920D42A2B5F1763CB6CFF5DD = {isa = PBXGroup; children = ( + 7A32476DF07EE4C33512F01D, + F75D109BD33B5C057C150155, ); name = playback; sourceTree = ""; }; CC319022914B6972D2B91A23 = {isa = PBXGroup; children = ( - ABEEA81A9680F6A4F8ECA0EA, - 1C67C665FD3B6D5133151E2D, - 5CBF586DCC30079B9463982A, - 0FD74232B9B3A15C19D73B4F, + D506F9F24F7F53699D9EC7E0, + B97B5586EDF684C9754563C2, + 920D42A2B5F1763CB6CFF5DD, A20A2F639F28E15631EEEA35, ); name = "juce_video"; sourceTree = ""; }; E697CF5985AC7D206A214CE1 = {isa = PBXGroup; children = ( 42D107F741897BBB52B61202, @@ -2102,23 +2075,23 @@ CC319022914B6972D2B91A23, ); name = "Juce Modules"; sourceTree = ""; }; C94E97E4A3CB628A675EE05C = {isa = PBXGroup; children = ( B84ADDD01BAB1B1E21DDFF07, - 19DBF218B50AA295AED50CC2, - D08758C4B60AE0ECD82D8EF6, - C987F7105C386F9799C74AE5, - 768E5A86B7E84A146818B866, - 0D72F29AB05E80E6D8A57578, - 7DE30FBED9393A59FF08AFC4, - 332B664DD5F1E87D1BC77715, - BBDC1C7DE652B571ED885097, - 8C96A8A1170495B6693F2FF9, - 5E489080FFCF538C3170739B, - DE6FBEE731028F230A86F223, - 2E631361420FA9496ED300DF, - 1CA41F35C44145819921CF79, - B6FF0E28C1E186DD9E97F838, + 5FEA66532C18871947DA95A9, + 8202E36EB5B777BA3F00A181, + 34405DE2900A4E762CF2DAEA, + 7DDF974E74FDF5B5D29E2E27, + 7ECF0BA098438BBD194FEE75, + 4E3266F9CD3260D786538E6D, + B8A22D85276B05E8EE8F0BC4, + D2882899DDDE37B4CD837280, + 571FEF1C078CC4FB35DAE33A, + 0F259ACE12C8A81AA558661C, + AE3C0E5467FE67DAF01645FC, + 1062CD8BD738A5F58CC3F64D, + 7852F468318493D3FAEC9089, + D14A9B0E0A5A536B6D72EFAF, 15BA4AEE0C0E22D7C8BE92CA, ); name = "Juce Library Code"; sourceTree = ""; }; 094FA973096AF6FDD5A75280 = {isa = PBXGroup; children = ( - 9A31450E90F82EE417285AA4, + 1E0CCB36A0D6D2CE936E43BF, 9B83CA7A03621F4DE0B0C3F5, ); name = Resources; sourceTree = ""; }; B679234897D9AEB22E892566 = {isa = PBXGroup; children = ( 92CABA9C9B5148FCA22A0503, @@ -2134,7 +2107,7 @@ B06A9120276E8875161CFC7D, 1D29F6A21F927F10EB8C5EEF, ); name = Frameworks; sourceTree = ""; }; 6F245D0C169B0E9060BD1033 = {isa = PBXGroup; children = ( - 4B8E8BD3DEAE0C479D04F571, ); name = Products; sourceTree = ""; }; + 9C71E9533EDADF610F789D88, ); name = Products; sourceTree = ""; }; 41A4B977F5588A439A066455 = {isa = PBXGroup; children = ( 24BF2D05D134C386864C4C7D, E697CF5985AC7D206A214CE1, @@ -2142,7 +2115,7 @@ 094FA973096AF6FDD5A75280, B679234897D9AEB22E892566, 6F245D0C169B0E9060BD1033, ); name = Source; sourceTree = ""; }; - 993A56BA093F4D3C2556398E = {isa = XCBuildConfiguration; buildSettings = { + B0ADA4CCDD12487AAA4D29E3 = {isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -2160,10 +2133,10 @@ "JUCE_APP_VERSION_HEX=0x10000", ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.plist; INSTALL_PATH = "$(HOME)/Applications"; PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.AudioAppExample; }; name = Debug; }; - EA0243E56EC3EAF286B53CA6 = {isa = XCBuildConfiguration; buildSettings = { + F8E0347F1E2A6CDA40CBAFC1 = {isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -2182,7 +2155,7 @@ GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.plist; INSTALL_PATH = "$(HOME)/Applications"; PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.AudioAppExample; }; name = Release; }; 2DDD1A3A56EAB02179D1CFB6 = {isa = XCBuildConfiguration; buildSettings = { @@ -2223,32 +2196,33 @@ TARGETED_DEVICE_FAMILY = "1,2"; WARNING_CFLAGS = -Wreorder; ZERO_LINK = NO; }; name = Release; }; + DE876A3DBFEEF66A9EE062EC = {isa = PBXTargetDependency; target = D010D5837C01EB7574A48649; }; 074FE87A26471418B3AC0921 = {isa = XCConfigurationList; buildConfigurations = ( 2DDD1A3A56EAB02179D1CFB6, BE32D9CFAA27D791B2181C7F, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - FF720F7C44675347E5E0EB5A = {isa = XCConfigurationList; buildConfigurations = ( - 993A56BA093F4D3C2556398E, - EA0243E56EC3EAF286B53CA6, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 6480A9A75122084E426BEF0C = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 5E209C49168EC5C17A54C6C7 = {isa = XCConfigurationList; buildConfigurations = ( + B0ADA4CCDD12487AAA4D29E3, + F8E0347F1E2A6CDA40CBAFC1, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 3602833D915A2AC7C25F537F = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( 70EC04D8CFE012341DBC0A45, ); runOnlyForDeploymentPostprocessing = 0; }; - EE26AB6336CDF8E778B3DA86 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + BC3ECD5BCB6580E951083B7E = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 5055109434B36CD6E0B6D360, 55A794809FECCB07D3C4D07D, - 9F994C4912DB4402247C438F, - 9BC0ECFC7AF57F1909EE09FA, - 85FE609FB6402062EF2C0DBA, - F794ED1AA51CF125F7F1A8A9, - 8B9F9A6D24146522DD93CD22, - B0576FED799D792664EB5D15, - 916BBC1AB5BE42CD684DAC5B, - EA094DDAD2D1A7A4C0C2233E, - 8FB9BEF532266F191FA2343F, - 3D181BDD770219ED14488377, - E0AAACBB6027FC8FD4F9113C, - 9537FB2A9B43C898E86156A7, - 42AE22EDF3A83997E9444080, - ED46B41A891FE3B15A184ECF, ); runOnlyForDeploymentPostprocessing = 0; }; - B6DD28580BC7A7F690EF4B49 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 169D0D504ED242BFAB124750, + 404DE83EB6A8750B51021B56, + 9647D38482003C7935023564, + BE3AF34796EB8018C7CF57E1, + 87A3F2EDF075A6CC0D1F592F, + F04ED92056A417B954A3CD77, + 9351C4C5A67B13C998014734, + 233883A753FE7837D92A3A6F, + D152BFE027C6E31ED068C789, + 2434A698BFA843B1858C07ED, + 62809FDCE519DEF052EA7938, + 8224320056042532BE315901, + 8B21FD4457DD9685495ADD8A, + C85B383577A335D5D1CF67B8, ); runOnlyForDeploymentPostprocessing = 0; }; + C9974DDFB456D5307D4C29F3 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( 3286435E3CC944A630866B89, 7AC823C6BFA28E49D004E0E0, 558C49788C323F72C879C219, @@ -2261,11 +2235,11 @@ C3F12DC7CA8C22C1853A7F08, 291730DFE49E6AE97D4C8CEC, D3AC61A0594DE1592920426F, ); runOnlyForDeploymentPostprocessing = 0; }; - EDF214F1951D7745347EA1D1 = {isa = PBXNativeTarget; buildConfigurationList = FF720F7C44675347E5E0EB5A; buildPhases = ( - 6480A9A75122084E426BEF0C, - EE26AB6336CDF8E778B3DA86, - B6DD28580BC7A7F690EF4B49, ); buildRules = ( ); dependencies = ( ); name = AudioAppExample; productName = AudioAppExample; productReference = 4B8E8BD3DEAE0C479D04F571; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; - 0E00FEF4A999DE35888889AE = {isa = PBXProject; buildConfigurationList = 074FE87A26471418B3AC0921; attributes = { LastUpgradeCheck = 0440; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 41A4B977F5588A439A066455; projectDirPath = ""; projectRoot = ""; targets = ( EDF214F1951D7745347EA1D1 ); }; + D010D5837C01EB7574A48649 = {isa = PBXNativeTarget; buildConfigurationList = 5E209C49168EC5C17A54C6C7; buildPhases = ( + 3602833D915A2AC7C25F537F, + BC3ECD5BCB6580E951083B7E, + C9974DDFB456D5307D4C29F3, ); buildRules = ( ); dependencies = ( ); name = "AudioAppExample (App)"; productName = AudioAppExample; productReference = 9C71E9533EDADF610F789D88; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; + 0E00FEF4A999DE35888889AE = {isa = PBXProject; buildConfigurationList = 074FE87A26471418B3AC0921; attributes = { LastUpgradeCheck = 0440; TargetAttributes = { D010D5837C01EB7574A48649 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 41A4B977F5588A439A066455; projectDirPath = ""; projectRoot = ""; targets = (D010D5837C01EB7574A48649); }; }; rootObject = 0E00FEF4A999DE35888889AE; } diff --git a/examples/AudioAppExample/Builds/iOS/Info.plist b/examples/AudioAppExample/Builds/iOS/Info-App.plist similarity index 85% rename from examples/AudioAppExample/Builds/iOS/Info.plist rename to examples/AudioAppExample/Builds/iOS/Info-App.plist index fef888429b..8d396bbda4 100644 --- a/examples/AudioAppExample/Builds/iOS/Info.plist +++ b/examples/AudioAppExample/Builds/iOS/Info-App.plist @@ -13,6 +13,8 @@ $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName AudioAppExample + CFBundleDisplayName + AudioAppExample CFBundlePackageType APPL CFBundleSignature @@ -27,12 +29,15 @@ UIRequiresFullScreen + UIStatusBarHidden + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight + UIBackgroundModes + diff --git a/examples/AudioAppExample/JuceLibraryCode/AppConfig.h b/examples/AudioAppExample/JuceLibraryCode/AppConfig.h index b5c654d193..c32dfe4b1b 100644 --- a/examples/AudioAppExample/JuceLibraryCode/AppConfig.h +++ b/examples/AudioAppExample/JuceLibraryCode/AppConfig.h @@ -4,8 +4,8 @@ project - if you alter its contents, your changes may be overwritten! There's a section below where you can add your own custom code safely, and the - Introjucer will preserve the contents of that block, but the best way to change - any of these definitions is by using the Introjucer's project settings. + Projucer will preserve the contents of that block, but the best way to change + any of these definitions is by using the Projucer's project settings. Any commented-out settings will assume their default values. @@ -17,7 +17,7 @@ //============================================================================== // [BEGIN_USER_CODE_SECTION] -// (You can add your own code in this section, and the Introjucer will not overwrite it) +// (You can add your own code in this section, and the Projucer will not overwrite it) // [END_USER_CODE_SECTION] @@ -39,9 +39,15 @@ //============================================================================== #ifndef JUCE_STANDALONE_APPLICATION - #define JUCE_STANDALONE_APPLICATION 1 + #ifdef JucePlugin_Build_Standalone + #define JUCE_STANDALONE_APPLICATION JucePlugin_Build_Standalone + #else + #define JUCE_STANDALONE_APPLICATION 1 + #endif #endif +#define JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED 1 + //============================================================================== // juce_audio_devices flags: diff --git a/examples/AudioAppExample/JuceLibraryCode/JuceHeader.h b/examples/AudioAppExample/JuceLibraryCode/JuceHeader.h index 80978b88f8..ff78c6f8dc 100644 --- a/examples/AudioAppExample/JuceLibraryCode/JuceHeader.h +++ b/examples/AudioAppExample/JuceLibraryCode/JuceHeader.h @@ -14,20 +14,22 @@ #define __APPHEADERFILE_PANJXP__ #include "AppConfig.h" -#include "modules/juce_audio_basics/juce_audio_basics.h" -#include "modules/juce_audio_devices/juce_audio_devices.h" -#include "modules/juce_audio_formats/juce_audio_formats.h" -#include "modules/juce_audio_processors/juce_audio_processors.h" -#include "modules/juce_audio_utils/juce_audio_utils.h" -#include "modules/juce_core/juce_core.h" -#include "modules/juce_cryptography/juce_cryptography.h" -#include "modules/juce_data_structures/juce_data_structures.h" -#include "modules/juce_events/juce_events.h" -#include "modules/juce_graphics/juce_graphics.h" -#include "modules/juce_gui_basics/juce_gui_basics.h" -#include "modules/juce_gui_extra/juce_gui_extra.h" -#include "modules/juce_opengl/juce_opengl.h" -#include "modules/juce_video/juce_video.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + #if ! DONT_SET_USING_JUCE_NAMESPACE // If your code uses a lot of JUCE classes, then this will obviously save you diff --git a/examples/AudioAppExample/JuceLibraryCode/ReadMe.txt b/examples/AudioAppExample/JuceLibraryCode/ReadMe.txt index f6c3564e99..091a5aa6eb 100644 --- a/examples/AudioAppExample/JuceLibraryCode/ReadMe.txt +++ b/examples/AudioAppExample/JuceLibraryCode/ReadMe.txt @@ -2,11 +2,11 @@ Important Note!! ================ -The purpose of this folder is to contain files that are auto-generated by the Introjucer, +The purpose of this folder is to contain files that are auto-generated by the Projucer, and ALL files in this folder will be mercilessly DELETED and completely re-written whenever -the Introjucer saves your project. +the Projucer saves your project. Therefore, it's a bad idea to make any manual changes to the files in here, or to put any of your own files in here if you don't want to lose them. (Of course you may choose to add the folder's contents to your version-control system so that you can re-merge your own -modifications after the Introjucer has saved its changes). +modifications after the Projucer has saved its changes). diff --git a/examples/AudioAppExample/JuceLibraryCode/juce_audio_basics.cpp b/examples/AudioAppExample/JuceLibraryCode/juce_audio_basics.cpp new file mode 100644 index 0000000000..418694873c --- /dev/null +++ b/examples/AudioAppExample/JuceLibraryCode/juce_audio_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AudioAppExample/JuceLibraryCode/juce_audio_basics.mm b/examples/AudioAppExample/JuceLibraryCode/juce_audio_basics.mm new file mode 100644 index 0000000000..e0e6c577cc --- /dev/null +++ b/examples/AudioAppExample/JuceLibraryCode/juce_audio_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AudioAppExample/JuceLibraryCode/juce_audio_devices.cpp b/examples/AudioAppExample/JuceLibraryCode/juce_audio_devices.cpp new file mode 100644 index 0000000000..fb5c2219d7 --- /dev/null +++ b/examples/AudioAppExample/JuceLibraryCode/juce_audio_devices.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AudioAppExample/JuceLibraryCode/juce_audio_devices.mm b/examples/AudioAppExample/JuceLibraryCode/juce_audio_devices.mm new file mode 100644 index 0000000000..e58b67ea49 --- /dev/null +++ b/examples/AudioAppExample/JuceLibraryCode/juce_audio_devices.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AudioAppExample/JuceLibraryCode/juce_audio_formats.cpp b/examples/AudioAppExample/JuceLibraryCode/juce_audio_formats.cpp new file mode 100644 index 0000000000..a3c61170eb --- /dev/null +++ b/examples/AudioAppExample/JuceLibraryCode/juce_audio_formats.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AudioAppExample/JuceLibraryCode/juce_audio_formats.mm b/examples/AudioAppExample/JuceLibraryCode/juce_audio_formats.mm new file mode 100644 index 0000000000..f325b8fb67 --- /dev/null +++ b/examples/AudioAppExample/JuceLibraryCode/juce_audio_formats.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AudioAppExample/JuceLibraryCode/juce_audio_processors.cpp b/examples/AudioAppExample/JuceLibraryCode/juce_audio_processors.cpp new file mode 100644 index 0000000000..bfe172edd0 --- /dev/null +++ b/examples/AudioAppExample/JuceLibraryCode/juce_audio_processors.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AudioAppExample/JuceLibraryCode/juce_audio_processors.mm b/examples/AudioAppExample/JuceLibraryCode/juce_audio_processors.mm new file mode 100644 index 0000000000..b80ae9017f --- /dev/null +++ b/examples/AudioAppExample/JuceLibraryCode/juce_audio_processors.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AudioAppExample/JuceLibraryCode/juce_audio_utils.cpp b/examples/AudioAppExample/JuceLibraryCode/juce_audio_utils.cpp new file mode 100644 index 0000000000..97bd2c568c --- /dev/null +++ b/examples/AudioAppExample/JuceLibraryCode/juce_audio_utils.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AudioAppExample/JuceLibraryCode/juce_audio_utils.mm b/examples/AudioAppExample/JuceLibraryCode/juce_audio_utils.mm new file mode 100644 index 0000000000..8eae7c6e2f --- /dev/null +++ b/examples/AudioAppExample/JuceLibraryCode/juce_audio_utils.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AudioAppExample/JuceLibraryCode/juce_core.cpp b/examples/AudioAppExample/JuceLibraryCode/juce_core.cpp new file mode 100644 index 0000000000..d0ce1636f0 --- /dev/null +++ b/examples/AudioAppExample/JuceLibraryCode/juce_core.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AudioAppExample/JuceLibraryCode/juce_core.mm b/examples/AudioAppExample/JuceLibraryCode/juce_core.mm new file mode 100644 index 0000000000..72b10bf817 --- /dev/null +++ b/examples/AudioAppExample/JuceLibraryCode/juce_core.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AudioAppExample/JuceLibraryCode/juce_cryptography.cpp b/examples/AudioAppExample/JuceLibraryCode/juce_cryptography.cpp new file mode 100644 index 0000000000..10b3401dbe --- /dev/null +++ b/examples/AudioAppExample/JuceLibraryCode/juce_cryptography.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AudioAppExample/JuceLibraryCode/juce_cryptography.mm b/examples/AudioAppExample/JuceLibraryCode/juce_cryptography.mm new file mode 100644 index 0000000000..9311ea0ffe --- /dev/null +++ b/examples/AudioAppExample/JuceLibraryCode/juce_cryptography.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AudioAppExample/JuceLibraryCode/juce_data_structures.cpp b/examples/AudioAppExample/JuceLibraryCode/juce_data_structures.cpp new file mode 100644 index 0000000000..9315aa1686 --- /dev/null +++ b/examples/AudioAppExample/JuceLibraryCode/juce_data_structures.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AudioAppExample/JuceLibraryCode/juce_data_structures.mm b/examples/AudioAppExample/JuceLibraryCode/juce_data_structures.mm new file mode 100644 index 0000000000..695ec43925 --- /dev/null +++ b/examples/AudioAppExample/JuceLibraryCode/juce_data_structures.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AudioAppExample/JuceLibraryCode/juce_events.cpp b/examples/AudioAppExample/JuceLibraryCode/juce_events.cpp new file mode 100644 index 0000000000..1bba110a97 --- /dev/null +++ b/examples/AudioAppExample/JuceLibraryCode/juce_events.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AudioAppExample/JuceLibraryCode/juce_events.mm b/examples/AudioAppExample/JuceLibraryCode/juce_events.mm new file mode 100644 index 0000000000..4cc34fc401 --- /dev/null +++ b/examples/AudioAppExample/JuceLibraryCode/juce_events.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AudioAppExample/JuceLibraryCode/juce_graphics.cpp b/examples/AudioAppExample/JuceLibraryCode/juce_graphics.cpp new file mode 100644 index 0000000000..319c76de0e --- /dev/null +++ b/examples/AudioAppExample/JuceLibraryCode/juce_graphics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AudioAppExample/JuceLibraryCode/juce_graphics.mm b/examples/AudioAppExample/JuceLibraryCode/juce_graphics.mm new file mode 100644 index 0000000000..b28e6dd056 --- /dev/null +++ b/examples/AudioAppExample/JuceLibraryCode/juce_graphics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AudioAppExample/JuceLibraryCode/juce_gui_basics.cpp b/examples/AudioAppExample/JuceLibraryCode/juce_gui_basics.cpp new file mode 100644 index 0000000000..216c76bb05 --- /dev/null +++ b/examples/AudioAppExample/JuceLibraryCode/juce_gui_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AudioAppExample/JuceLibraryCode/juce_gui_basics.mm b/examples/AudioAppExample/JuceLibraryCode/juce_gui_basics.mm new file mode 100644 index 0000000000..6a9726fa5f --- /dev/null +++ b/examples/AudioAppExample/JuceLibraryCode/juce_gui_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AudioAppExample/JuceLibraryCode/juce_gui_extra.cpp b/examples/AudioAppExample/JuceLibraryCode/juce_gui_extra.cpp new file mode 100644 index 0000000000..7226e19833 --- /dev/null +++ b/examples/AudioAppExample/JuceLibraryCode/juce_gui_extra.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AudioAppExample/JuceLibraryCode/juce_gui_extra.mm b/examples/AudioAppExample/JuceLibraryCode/juce_gui_extra.mm new file mode 100644 index 0000000000..c9b6c3bfc6 --- /dev/null +++ b/examples/AudioAppExample/JuceLibraryCode/juce_gui_extra.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AudioAppExample/JuceLibraryCode/juce_opengl.cpp b/examples/AudioAppExample/JuceLibraryCode/juce_opengl.cpp new file mode 100644 index 0000000000..d9895bce92 --- /dev/null +++ b/examples/AudioAppExample/JuceLibraryCode/juce_opengl.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AudioAppExample/JuceLibraryCode/juce_opengl.mm b/examples/AudioAppExample/JuceLibraryCode/juce_opengl.mm new file mode 100644 index 0000000000..6c2c32d095 --- /dev/null +++ b/examples/AudioAppExample/JuceLibraryCode/juce_opengl.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AudioAppExample/JuceLibraryCode/juce_video.cpp b/examples/AudioAppExample/JuceLibraryCode/juce_video.cpp new file mode 100644 index 0000000000..bdf22ee131 --- /dev/null +++ b/examples/AudioAppExample/JuceLibraryCode/juce_video.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AudioAppExample/JuceLibraryCode/juce_video.mm b/examples/AudioAppExample/JuceLibraryCode/juce_video.mm new file mode 100644 index 0000000000..3da705bccd --- /dev/null +++ b/examples/AudioAppExample/JuceLibraryCode/juce_video.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/AudioAppExample/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h b/examples/AudioAppExample/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h deleted file mode 100644 index 9befea8142..0000000000 --- a/examples/AudioAppExample/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_basics/juce_audio_basics.h" diff --git a/examples/AudioAppExample/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h b/examples/AudioAppExample/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h deleted file mode 100644 index eba6d3a9e5..0000000000 --- a/examples/AudioAppExample/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_devices/juce_audio_devices.h" diff --git a/examples/AudioAppExample/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h b/examples/AudioAppExample/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h deleted file mode 100644 index 4629b0ef2c..0000000000 --- a/examples/AudioAppExample/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_formats/juce_audio_formats.h" diff --git a/examples/AudioAppExample/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h b/examples/AudioAppExample/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h deleted file mode 100644 index 7d4583dbf8..0000000000 --- a/examples/AudioAppExample/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_processors/juce_audio_processors.h" diff --git a/examples/AudioAppExample/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h b/examples/AudioAppExample/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h deleted file mode 100644 index bb997d30d3..0000000000 --- a/examples/AudioAppExample/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_utils/juce_audio_utils.h" diff --git a/examples/AudioAppExample/JuceLibraryCode/modules/juce_core/juce_core.h b/examples/AudioAppExample/JuceLibraryCode/modules/juce_core/juce_core.h deleted file mode 100644 index 06e88f9352..0000000000 --- a/examples/AudioAppExample/JuceLibraryCode/modules/juce_core/juce_core.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_core/juce_core.h" diff --git a/examples/AudioAppExample/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h b/examples/AudioAppExample/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h deleted file mode 100644 index e4574f4749..0000000000 --- a/examples/AudioAppExample/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_cryptography/juce_cryptography.h" diff --git a/examples/AudioAppExample/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h b/examples/AudioAppExample/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h deleted file mode 100644 index 9d814fd953..0000000000 --- a/examples/AudioAppExample/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_data_structures/juce_data_structures.h" diff --git a/examples/AudioAppExample/JuceLibraryCode/modules/juce_events/juce_events.h b/examples/AudioAppExample/JuceLibraryCode/modules/juce_events/juce_events.h deleted file mode 100644 index 509b1df8d2..0000000000 --- a/examples/AudioAppExample/JuceLibraryCode/modules/juce_events/juce_events.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_events/juce_events.h" diff --git a/examples/AudioAppExample/JuceLibraryCode/modules/juce_graphics/juce_graphics.h b/examples/AudioAppExample/JuceLibraryCode/modules/juce_graphics/juce_graphics.h deleted file mode 100644 index 28edbf35e3..0000000000 --- a/examples/AudioAppExample/JuceLibraryCode/modules/juce_graphics/juce_graphics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_graphics/juce_graphics.h" diff --git a/examples/AudioAppExample/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h b/examples/AudioAppExample/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h deleted file mode 100644 index 81ad4b7297..0000000000 --- a/examples/AudioAppExample/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_gui_basics/juce_gui_basics.h" diff --git a/examples/AudioAppExample/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h b/examples/AudioAppExample/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h deleted file mode 100644 index 5c9b7a96b5..0000000000 --- a/examples/AudioAppExample/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_gui_extra/juce_gui_extra.h" diff --git a/examples/AudioAppExample/JuceLibraryCode/modules/juce_opengl/juce_opengl.h b/examples/AudioAppExample/JuceLibraryCode/modules/juce_opengl/juce_opengl.h deleted file mode 100644 index 718392ff72..0000000000 --- a/examples/AudioAppExample/JuceLibraryCode/modules/juce_opengl/juce_opengl.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_opengl/juce_opengl.h" diff --git a/examples/AudioAppExample/JuceLibraryCode/modules/juce_video/juce_video.h b/examples/AudioAppExample/JuceLibraryCode/modules/juce_video/juce_video.h deleted file mode 100644 index 0dd1636ec2..0000000000 --- a/examples/AudioAppExample/JuceLibraryCode/modules/juce_video/juce_video.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_video/juce_video.h" diff --git a/examples/AudioAppExample/Source/Main.cpp b/examples/AudioAppExample/Source/Main.cpp index dd48f969ca..62a3610ad0 100644 --- a/examples/AudioAppExample/Source/Main.cpp +++ b/examples/AudioAppExample/Source/Main.cpp @@ -1,7 +1,7 @@ /* ============================================================================== - This file was auto-generated by the Introjucer! + This file was auto-generated by the Projucer! It contains the basic startup code for a Juce application. diff --git a/examples/AudioAppExample/Source/MainComponent.cpp b/examples/AudioAppExample/Source/MainComponent.cpp index 91d734c09c..08938a1c53 100644 --- a/examples/AudioAppExample/Source/MainComponent.cpp +++ b/examples/AudioAppExample/Source/MainComponent.cpp @@ -36,7 +36,7 @@ public: shutdownAudio(); } - //======================================================================= + //============================================================================== void prepareToPlay (int samplesPerBlockExpected, double newSampleRate) override { sampleRate = newSampleRate; @@ -75,7 +75,7 @@ public: } - //======================================================================= + //============================================================================== void paint (Graphics& g) override { // (Our component is opaque, so we must completely fill the background with a solid colour) diff --git a/examples/BouncingBallWavetableDemo/BouncingBallWavetableDemo.jucer b/examples/BouncingBallWavetableDemo/BouncingBallWavetableDemo.jucer index 3e5d60fe73..d4cbdfd276 100644 --- a/examples/BouncingBallWavetableDemo/BouncingBallWavetableDemo.jucer +++ b/examples/BouncingBallWavetableDemo/BouncingBallWavetableDemo.jucer @@ -2,7 +2,7 @@ + includeBinaryInAppConfig="1" jucerVersion="4.2.0"> $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName BouncingBallWavetableDemo + CFBundleDisplayName + BouncingBallWavetableDemo CFBundlePackageType APPL CFBundleSignature diff --git a/examples/BouncingBallWavetableDemo/Builds/VisualStudio2013/BouncingBallWavetableDemo.vcxproj b/examples/BouncingBallWavetableDemo/Builds/VisualStudio2013/BouncingBallWavetableDemo.vcxproj index 578a9465b6..cd8cb0f56a 100644 --- a/examples/BouncingBallWavetableDemo/Builds/VisualStudio2013/BouncingBallWavetableDemo.vcxproj +++ b/examples/BouncingBallWavetableDemo/Builds/VisualStudio2013/BouncingBallWavetableDemo.vcxproj @@ -218,6 +218,9 @@ true + + true + true @@ -233,15 +236,6 @@ true - - true - - - true - - - true - true @@ -290,25 +284,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -338,9 +317,45 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + true + + true + + + true + + + true + + + true + + + true + true @@ -359,21 +374,6 @@ true - - true - - - true - - - true - - - true - - - true - true @@ -407,9 +407,6 @@ true - - true - true @@ -419,43 +416,7 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -473,33 +434,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -524,40 +458,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -566,31 +470,16 @@ true - + true - + true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -656,6 +545,117 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -674,6 +674,15 @@ true + + true + + + true + + + true + true @@ -683,33 +692,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -728,6 +710,18 @@ true + + true + + + true + + + true + + + true + true @@ -737,6 +731,12 @@ true + + true + + + true + true @@ -758,43 +758,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -815,10 +782,40 @@ true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -845,6 +842,51 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -857,6 +899,153 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -878,19 +1067,70 @@ true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -959,246 +1199,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -1280,19 +1280,19 @@ true - - - - - - - - - - - - - + + + + + + + + + + + + + @@ -1331,6 +1331,8 @@ + + @@ -1338,20 +1340,10 @@ + - - - - - - - - - - - @@ -1361,8 +1353,25 @@ + + + + + + + + + + + + + + + + + @@ -1373,15 +1382,6 @@ - - - - - - - - - @@ -1402,21 +1402,35 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1437,22 +1451,49 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1472,53 +1513,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - @@ -1527,14 +1527,22 @@ + + + + - - - - + + + + + + + + @@ -1544,19 +1552,11 @@ - - - - - - - - - - + + @@ -1567,10 +1567,15 @@ - - - - + + + + + + + + + @@ -1581,26 +1586,91 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1614,14 +1684,21 @@ - - - - - - - - + + + + + + + + + + + + + + + @@ -1646,83 +1723,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1748,28 +1748,13 @@ + - - - - - - - - - - - - - - - - diff --git a/examples/BouncingBallWavetableDemo/Builds/VisualStudio2013/BouncingBallWavetableDemo.vcxproj.filters b/examples/BouncingBallWavetableDemo/Builds/VisualStudio2013/BouncingBallWavetableDemo.vcxproj.filters index 82c01c1a26..64737b4fc4 100644 --- a/examples/BouncingBallWavetableDemo/Builds/VisualStudio2013/BouncingBallWavetableDemo.vcxproj.filters +++ b/examples/BouncingBallWavetableDemo/Builds/VisualStudio2013/BouncingBallWavetableDemo.vcxproj.filters @@ -35,45 +35,45 @@ {CACD7B50-4DB3-76AF-A6E8-90DF94F8F594} + + {45C2CE26-EC4B-BA52-58F3-297C408E1483} + {9D270B31-2425-8FDB-84A4-6A2288FF5B2F} {0F766DD4-A277-CB86-5647-42498C8B41E1} - - {D64942B4-6984-3623-3347-45D472AE1C61} - - - {45C2CE26-EC4B-BA52-58F3-297C408E1483} - {01603E05-423B-5FC3-1BEE-E15ED33B5688} + + {D64942B4-6984-3623-3347-45D472AE1C61} + {65CB28F8-0422-A8F3-9A17-959E12A1F8E2} - - {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} - {0CD9E281-DDD0-91EC-6F77-EA9D9D5E0E1A} + + {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} + {40C5CA7C-AEBB-05B1-11CE-AE41D87B5CCB} {0B0E7392-324B-088C-FBEB-5FE999D61782} - - {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} - {20254EFE-6CBD-31A7-2119-92B1E0E0E311} {70796D73-6D30-8A1B-4732-7C021E47C05A} + + {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} + {EB8DD942-E2CB-869F-D381-E02A65BA790B} @@ -86,17 +86,26 @@ {8167E753-09C7-5D1C-EF2B-32D297557443} - - {AEDCB7F7-7A36-5392-8E9A-715F5BDE35CB} - {B48C883A-8483-AF6D-808C-1D9A749048D8} + + {AEDCB7F7-7A36-5392-8E9A-715F5BDE35CB} + {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} - - {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + + {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + + {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + + {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} {476C69CE-0B67-6B85-E888-45D91E37A29E} @@ -104,17 +113,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} - - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -122,29 +125,26 @@ {91929C6F-7902-B87D-5260-2F6CBF8ACD93} - - {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} - {4634FFAE-9586-A970-364C-4FDDA635F99F} - - {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} - - {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - {F03654BC-34D8-F975-BEA3-750CC2783D23} + + {C9F6D785-BF78-5AA1-B479-111C65397864} {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} - - {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} - - {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + {F03654BC-34D8-F975-BEA3-750CC2783D23} {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} @@ -158,33 +158,33 @@ {928D8FCC-5E00-174B-6538-93E8D75AB396} - - {1988E68A-A964-64CA-0E0C-26FF9BC5176C} + + {358AEA11-3F96-36AE-7B32-71373B5C5396} {3DF036EA-3B80-553B-2494-3AAC835CAE75} - - {358AEA11-3F96-36AE-7B32-71373B5C5396} + + {1988E68A-A964-64CA-0E0C-26FF9BC5176C} {F2A38F45-6E55-E147-2E52-64A89FDD9D59} - - {6172822C-01A5-E824-12DA-FA43FA934D35} - - - {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} - {B098BC87-3298-7E6B-12DC-D26C09CDCAED} {6322B88F-984A-C3CD-6263-38D7AA49B6EC} + + {6172822C-01A5-E824-12DA-FA43FA934D35} + {73C1E759-AD90-59A3-942E-2D10FAA29107} + + {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} + {EE1AE8C3-0908-8F53-A4E5-D930C7C97C26} @@ -194,81 +194,81 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} - - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - - {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {E37D25CD-4350-4614-055B-7ABC55E67895} {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {C1A1A236-AB01-173E-96C3-0706BFF93B1E} + + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + + {413F481F-075C-2958-115C-D8268682FCB7} {FFC6E1CC-C772-75E6-5087-FB5D4E016799} + + {1182303F-ECA3-166D-AC0C-92C5E762CB93} + {8E43579F-C185-266D-DD67-F8B95BD80F2F} + + {61712B09-5783-ADFA-2001-5A0C3D7764EB} + + + {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + + {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} + {2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D} - - {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + {5A0AA36E-3957-E413-14C6-31CBE15271DF} + + + {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} {A92719C7-70BE-57C4-CE9E-A9BC9DFEB757} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} + + + {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} + + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} + + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + + {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} + + + {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} + {75F1F352-251A-75E0-D941-8431588F5C1E} {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} - - {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} - - - {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} - - - {5A0AA36E-3957-E413-14C6-31CBE15271DF} - - - {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} - - - {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} - - - {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} - - - {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} - - - {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - - {61712B09-5783-ADFA-2001-5A0C3D7764EB} - - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} - {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -290,15 +290,15 @@ {72A923E2-C729-DB92-D7BF-A9D4AFAE5896} - - {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} - {7F11E7D2-54C0-2A36-5F15-BEC0A5374A08} {EE985DEA-CD83-8132-7219-542BB1DAD560} + + {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} + {8B4D1BAA-6DB4-CAEC-A0FA-271F354D5C61} @@ -397,6 +397,9 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -412,15 +415,6 @@ Juce Modules\juce_audio_devices\midi_io - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\audio_cd - Juce Modules\juce_audio_devices\native @@ -475,26 +469,11 @@ Juce Modules\juce_audio_devices\native - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_formats\codecs @@ -523,27 +502,30 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - Juce Modules\juce_audio_processors\format @@ -562,6 +544,24 @@ Juce Modules\juce_audio_processors\format_types + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + Juce Modules\juce_audio_processors\scanning @@ -595,9 +595,6 @@ Juce Modules\juce_audio_utils\gui - - Juce Modules\juce_audio_utils\players - Juce Modules\juce_audio_utils\native @@ -613,44 +610,8 @@ Juce Modules\juce_audio_utils\native - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\memory + + Juce Modules\juce_audio_utils\players Juce Modules\juce_core\containers @@ -667,33 +628,6 @@ Juce Modules\juce_core\containers - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - Juce Modules\juce_core\files @@ -718,41 +652,11 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -760,32 +664,17 @@ Juce Modules\juce_core\logging - - Juce Modules\juce_core\system + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc @@ -865,6 +754,117 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + Juce Modules\juce_cryptography\encryption @@ -883,6 +883,15 @@ Juce Modules\juce_cryptography\hashing + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -892,33 +901,6 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - Juce Modules\juce_events\broadcasters @@ -937,6 +919,18 @@ Juce Modules\juce_events\interprocess + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + Juce Modules\juce_events\native @@ -952,6 +946,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_graphics\colour @@ -973,44 +973,11 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\effects Juce Modules\juce_graphics\fonts @@ -1030,11 +997,41 @@ Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -1066,6 +1063,51 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -1078,6 +1120,153 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -1099,20 +1288,92 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -1180,267 +1441,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_extra\code_editor @@ -1540,43 +1540,43 @@ Juce Modules\juce_video\native - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code @@ -1689,6 +1689,12 @@ Juce Modules\juce_audio_basics + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -1710,48 +1716,18 @@ Juce Modules\juce_audio_devices\midi_io + + Juce Modules\juce_audio_devices\native + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\native - Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - Juce Modules\juce_audio_formats\codecs @@ -1779,12 +1755,63 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + Juce Modules\juce_audio_processors\processors @@ -1815,33 +1842,6 @@ Juce Modules\juce_audio_processors\processors - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - Juce Modules\juce_audio_processors\scanning @@ -1902,50 +1902,92 @@ Juce Modules\juce_audio_utils - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -2007,53 +2049,134 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text Juce Modules\juce_core\threads @@ -2112,92 +2235,8 @@ Juce Modules\juce_core\time - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -2205,12 +2244,6 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - Juce Modules\juce_core\zip @@ -2220,39 +2253,6 @@ Juce Modules\juce_core\zip - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - Juce Modules\juce_core @@ -2277,6 +2277,18 @@ Juce Modules\juce_cryptography + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -2286,21 +2298,33 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - Juce Modules\juce_data_structures + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + Juce Modules\juce_events\messages @@ -2328,36 +2352,6 @@ Juce Modules\juce_events\messages - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - Juce Modules\juce_events\native @@ -2367,6 +2361,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_events @@ -2397,17 +2397,32 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -2439,38 +2454,17 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -2481,9 +2475,60 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + Juce Modules\juce_graphics + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -2499,6 +2544,171 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -2538,29 +2748,50 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -2634,237 +2865,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_basics @@ -2940,15 +2940,15 @@ Juce Modules\juce_gui_extra + + Juce Modules\juce_video\capture + Juce Modules\juce_video\playback Juce Modules\juce_video\playback - - Juce Modules\juce_video\capture - Juce Modules\juce_video @@ -2959,47 +2959,6 @@ Juce Library Code - - - Juce Modules\juce_audio_basics - - - Juce Modules\juce_audio_devices - - - Juce Modules\juce_audio_formats - - - Juce Modules\juce_audio_processors - - - Juce Modules\juce_audio_utils - - - Juce Modules\juce_core - - - Juce Modules\juce_cryptography - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_gui_extra - - - Juce Modules\juce_video - - Juce Library Code diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/AppConfig.h b/examples/BouncingBallWavetableDemo/JuceLibraryCode/AppConfig.h index bf84f48546..4c9d7608e0 100644 --- a/examples/BouncingBallWavetableDemo/JuceLibraryCode/AppConfig.h +++ b/examples/BouncingBallWavetableDemo/JuceLibraryCode/AppConfig.h @@ -4,8 +4,8 @@ project - if you alter its contents, your changes may be overwritten! There's a section below where you can add your own custom code safely, and the - Introjucer will preserve the contents of that block, but the best way to change - any of these definitions is by using the Introjucer's project settings. + Projucer will preserve the contents of that block, but the best way to change + any of these definitions is by using the Projucer's project settings. Any commented-out settings will assume their default values. @@ -17,7 +17,7 @@ //============================================================================== // [BEGIN_USER_CODE_SECTION] -// (You can add your own code in this section, and the Introjucer will not overwrite it) +// (You can add your own code in this section, and the Projucer will not overwrite it) // [END_USER_CODE_SECTION] @@ -38,9 +38,15 @@ //============================================================================== #ifndef JUCE_STANDALONE_APPLICATION - #define JUCE_STANDALONE_APPLICATION 1 + #ifdef JucePlugin_Build_Standalone + #define JUCE_STANDALONE_APPLICATION JucePlugin_Build_Standalone + #else + #define JUCE_STANDALONE_APPLICATION 1 + #endif #endif +#define JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED 1 + //============================================================================== // juce_audio_devices flags: diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/JuceHeader.h b/examples/BouncingBallWavetableDemo/JuceLibraryCode/JuceHeader.h index 32b74760f1..73dea3a9c0 100644 --- a/examples/BouncingBallWavetableDemo/JuceLibraryCode/JuceHeader.h +++ b/examples/BouncingBallWavetableDemo/JuceLibraryCode/JuceHeader.h @@ -14,19 +14,21 @@ #define __APPHEADERFILE_FYURFS__ #include "AppConfig.h" -#include "modules/juce_audio_basics/juce_audio_basics.h" -#include "modules/juce_audio_devices/juce_audio_devices.h" -#include "modules/juce_audio_formats/juce_audio_formats.h" -#include "modules/juce_audio_processors/juce_audio_processors.h" -#include "modules/juce_audio_utils/juce_audio_utils.h" -#include "modules/juce_core/juce_core.h" -#include "modules/juce_cryptography/juce_cryptography.h" -#include "modules/juce_data_structures/juce_data_structures.h" -#include "modules/juce_events/juce_events.h" -#include "modules/juce_graphics/juce_graphics.h" -#include "modules/juce_gui_basics/juce_gui_basics.h" -#include "modules/juce_gui_extra/juce_gui_extra.h" -#include "modules/juce_video/juce_video.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + #if ! DONT_SET_USING_JUCE_NAMESPACE // If your code uses a lot of JUCE classes, then this will obviously save you diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/ReadMe.txt b/examples/BouncingBallWavetableDemo/JuceLibraryCode/ReadMe.txt index f6c3564e99..091a5aa6eb 100644 --- a/examples/BouncingBallWavetableDemo/JuceLibraryCode/ReadMe.txt +++ b/examples/BouncingBallWavetableDemo/JuceLibraryCode/ReadMe.txt @@ -2,11 +2,11 @@ Important Note!! ================ -The purpose of this folder is to contain files that are auto-generated by the Introjucer, +The purpose of this folder is to contain files that are auto-generated by the Projucer, and ALL files in this folder will be mercilessly DELETED and completely re-written whenever -the Introjucer saves your project. +the Projucer saves your project. Therefore, it's a bad idea to make any manual changes to the files in here, or to put any of your own files in here if you don't want to lose them. (Of course you may choose to add the folder's contents to your version-control system so that you can re-merge your own -modifications after the Introjucer has saved its changes). +modifications after the Projucer has saved its changes). diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_audio_basics.cpp b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_audio_basics.cpp new file mode 100644 index 0000000000..418694873c --- /dev/null +++ b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_audio_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_audio_basics.mm b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_audio_basics.mm new file mode 100644 index 0000000000..e0e6c577cc --- /dev/null +++ b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_audio_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_audio_devices.cpp b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_audio_devices.cpp new file mode 100644 index 0000000000..fb5c2219d7 --- /dev/null +++ b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_audio_devices.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_audio_devices.mm b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_audio_devices.mm new file mode 100644 index 0000000000..e58b67ea49 --- /dev/null +++ b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_audio_devices.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_audio_formats.cpp b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_audio_formats.cpp new file mode 100644 index 0000000000..a3c61170eb --- /dev/null +++ b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_audio_formats.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_audio_formats.mm b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_audio_formats.mm new file mode 100644 index 0000000000..f325b8fb67 --- /dev/null +++ b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_audio_formats.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_audio_processors.cpp b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_audio_processors.cpp new file mode 100644 index 0000000000..bfe172edd0 --- /dev/null +++ b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_audio_processors.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_audio_processors.mm b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_audio_processors.mm new file mode 100644 index 0000000000..b80ae9017f --- /dev/null +++ b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_audio_processors.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_audio_utils.cpp b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_audio_utils.cpp new file mode 100644 index 0000000000..97bd2c568c --- /dev/null +++ b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_audio_utils.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_audio_utils.mm b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_audio_utils.mm new file mode 100644 index 0000000000..8eae7c6e2f --- /dev/null +++ b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_audio_utils.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_core.cpp b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_core.cpp new file mode 100644 index 0000000000..d0ce1636f0 --- /dev/null +++ b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_core.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_core.mm b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_core.mm new file mode 100644 index 0000000000..72b10bf817 --- /dev/null +++ b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_core.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_cryptography.cpp b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_cryptography.cpp new file mode 100644 index 0000000000..10b3401dbe --- /dev/null +++ b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_cryptography.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_cryptography.mm b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_cryptography.mm new file mode 100644 index 0000000000..9311ea0ffe --- /dev/null +++ b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_cryptography.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_data_structures.cpp b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_data_structures.cpp new file mode 100644 index 0000000000..9315aa1686 --- /dev/null +++ b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_data_structures.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_data_structures.mm b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_data_structures.mm new file mode 100644 index 0000000000..695ec43925 --- /dev/null +++ b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_data_structures.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_events.cpp b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_events.cpp new file mode 100644 index 0000000000..1bba110a97 --- /dev/null +++ b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_events.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_events.mm b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_events.mm new file mode 100644 index 0000000000..4cc34fc401 --- /dev/null +++ b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_events.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_graphics.cpp b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_graphics.cpp new file mode 100644 index 0000000000..319c76de0e --- /dev/null +++ b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_graphics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_graphics.mm b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_graphics.mm new file mode 100644 index 0000000000..b28e6dd056 --- /dev/null +++ b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_graphics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_gui_basics.cpp b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_gui_basics.cpp new file mode 100644 index 0000000000..216c76bb05 --- /dev/null +++ b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_gui_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_gui_basics.mm b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_gui_basics.mm new file mode 100644 index 0000000000..6a9726fa5f --- /dev/null +++ b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_gui_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_gui_extra.cpp b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_gui_extra.cpp new file mode 100644 index 0000000000..7226e19833 --- /dev/null +++ b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_gui_extra.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_gui_extra.mm b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_gui_extra.mm new file mode 100644 index 0000000000..c9b6c3bfc6 --- /dev/null +++ b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_gui_extra.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_video.cpp b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_video.cpp new file mode 100644 index 0000000000..bdf22ee131 --- /dev/null +++ b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_video.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_video.mm b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_video.mm new file mode 100644 index 0000000000..3da705bccd --- /dev/null +++ b/examples/BouncingBallWavetableDemo/JuceLibraryCode/juce_video.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h b/examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h deleted file mode 100644 index 9befea8142..0000000000 --- a/examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_basics/juce_audio_basics.h" diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h b/examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h deleted file mode 100644 index eba6d3a9e5..0000000000 --- a/examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_devices/juce_audio_devices.h" diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h b/examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h deleted file mode 100644 index 4629b0ef2c..0000000000 --- a/examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_formats/juce_audio_formats.h" diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h b/examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h deleted file mode 100644 index 7d4583dbf8..0000000000 --- a/examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_processors/juce_audio_processors.h" diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h b/examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h deleted file mode 100644 index bb997d30d3..0000000000 --- a/examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_utils/juce_audio_utils.h" diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_core/juce_core.h b/examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_core/juce_core.h deleted file mode 100644 index 06e88f9352..0000000000 --- a/examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_core/juce_core.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_core/juce_core.h" diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h b/examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h deleted file mode 100644 index e4574f4749..0000000000 --- a/examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_cryptography/juce_cryptography.h" diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h b/examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h deleted file mode 100644 index 9d814fd953..0000000000 --- a/examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_data_structures/juce_data_structures.h" diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_events/juce_events.h b/examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_events/juce_events.h deleted file mode 100644 index 509b1df8d2..0000000000 --- a/examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_events/juce_events.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_events/juce_events.h" diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_graphics/juce_graphics.h b/examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_graphics/juce_graphics.h deleted file mode 100644 index 28edbf35e3..0000000000 --- a/examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_graphics/juce_graphics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_graphics/juce_graphics.h" diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h b/examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h deleted file mode 100644 index 81ad4b7297..0000000000 --- a/examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_gui_basics/juce_gui_basics.h" diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h b/examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h deleted file mode 100644 index 5c9b7a96b5..0000000000 --- a/examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_gui_extra/juce_gui_extra.h" diff --git a/examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_video/juce_video.h b/examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_video/juce_video.h deleted file mode 100644 index 0dd1636ec2..0000000000 --- a/examples/BouncingBallWavetableDemo/JuceLibraryCode/modules/juce_video/juce_video.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_video/juce_video.h" diff --git a/examples/BouncingBallWavetableDemo/Source/Main.cpp b/examples/BouncingBallWavetableDemo/Source/Main.cpp index 1918f6aa2d..3c10a5275b 100644 --- a/examples/BouncingBallWavetableDemo/Source/Main.cpp +++ b/examples/BouncingBallWavetableDemo/Source/Main.cpp @@ -1,7 +1,7 @@ /* ============================================================================== - This file was auto-generated by the Introjucer! + This file was auto-generated by the Projucer! It contains the basic startup code for a Juce application. diff --git a/examples/BouncingBallWavetableDemo/Source/MainComponent.cpp b/examples/BouncingBallWavetableDemo/Source/MainComponent.cpp index b016d4a766..cf55f6ae40 100644 --- a/examples/BouncingBallWavetableDemo/Source/MainComponent.cpp +++ b/examples/BouncingBallWavetableDemo/Source/MainComponent.cpp @@ -41,7 +41,7 @@ public: shutdownAudio(); } - //======================================================================= + //============================================================================== void prepareToPlay (int samplesPerBlockExpected, double newSampleRate) override { sampleRate = newSampleRate; @@ -83,7 +83,7 @@ public: } - //======================================================================= + //============================================================================== void paint (Graphics& g) override { // (Our component is opaque, so we must completely fill the background with a solid colour) diff --git a/examples/ComponentTutorialExample/Builds/MacOSX/ComponentTutorialExample.xcodeproj/project.pbxproj b/examples/ComponentTutorialExample/Builds/MacOSX/ComponentTutorialExample.xcodeproj/project.pbxproj index 167854296f..7673d5e201 100644 --- a/examples/ComponentTutorialExample/Builds/MacOSX/ComponentTutorialExample.xcodeproj/project.pbxproj +++ b/examples/ComponentTutorialExample/Builds/MacOSX/ComponentTutorialExample.xcodeproj/project.pbxproj @@ -6,6 +6,7 @@ objectVersion = 46; objects = { + 66A79CF7FDC69CD91FE67299 = {isa = PBXBuildFile; fileRef = 48DBB774ADD58780B75FD130; }; CA61818451E6455A99E73F0E = {isa = PBXBuildFile; fileRef = 4376301EEAEFEDCA1776FF53; }; 3E6D05290E60817C60A50B3C = {isa = PBXBuildFile; fileRef = EF64CF988BD368A51073EC0B; }; 917C7F2271302BC1A59C1363 = {isa = PBXBuildFile; fileRef = 977A4AE200081011E36F5844; }; @@ -14,12 +15,12 @@ B282471C42C86071F4672224 = {isa = PBXBuildFile; fileRef = AF8E83DDD8899587B0C5842E; }; 8ABD54E3BA4028ECEC31AFBC = {isa = PBXBuildFile; fileRef = 7F2A5C07C71F9C0D79544D6B; }; 0A8A8CF29598C91D258FC268 = {isa = PBXBuildFile; fileRef = E601906482073B23EF463663; }; - 3F28936DB8B11BCD353D7B60 = {isa = PBXBuildFile; fileRef = 1613DDD895A055CA5B8EF0C7; }; - 6BBB8690B9BCE95427E22731 = {isa = PBXBuildFile; fileRef = 19E904C25329105CDD300652; }; - 25FEB9E9DCD15A72C222FBC6 = {isa = PBXBuildFile; fileRef = 84101E2D18716179E7CA2350; }; - 01DD6249850FCE70F3AF97C7 = {isa = PBXBuildFile; fileRef = BA573E7FBB99B40146613BB3; }; - 9F3F60B9363A9AD48E98F201 = {isa = PBXBuildFile; fileRef = B4371B7705C00F493AF23340; }; - 0DD8C4EC0933BD3AA3CF4FD2 = {isa = PBXBuildFile; fileRef = 9217310887FB766C896B4E3F; }; + 9F206917F37BC4E7DC145770 = {isa = PBXBuildFile; fileRef = 68F27318C27AFE04240C887C; }; + 240E64863F0846633CF10D77 = {isa = PBXBuildFile; fileRef = 8C862FD6A75AE6C4EC591FA4; }; + B417D29D805C99941F7D2DC7 = {isa = PBXBuildFile; fileRef = A97619677C175B056DC91391; }; + 07F902D25D1C7425665EF0B9 = {isa = PBXBuildFile; fileRef = 0F32C274E26CBEEBF6942238; }; + 8512EAE7AF8CDF51BBA09EE8 = {isa = PBXBuildFile; fileRef = A094C1384EE9BF1669F5C10E; }; + CD5A10EC4CD09370AD820C7C = {isa = PBXBuildFile; fileRef = 28FB2369C7BAE3960D6E0AF0; }; 00CDCA76917B831BBA098886 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; 0251FE0DE5ED2D9D43022582 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; }; 02FE1889D2DD692F77799F1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -47,6 +48,7 @@ 0D6011A3457A01ED628778DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; }; 0E7BC54B6E8ABF3D7231F1C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; }; 0EBD49CAE74E76734FF9A2C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0F32C274E26CBEEBF6942238 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../JuceLibraryCode/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; 0F46D61F1395598ECD58D13B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; }; 10084A36FE86EFB2D860C580 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; }; 1023FB1681CB8ED3FDBDAC3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -57,7 +59,6 @@ 14844695DDFBFB4A706C9E43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; }; 14B72B364348CC438D4C0BCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; }; 15358009F3183037D1A944E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; }; - 1613DDD895A055CA5B8EF0C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; 177963253EF46F6C85731453 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; }; 17A6A826E4A8887E2C6BF4E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; 181152368AB62DB779D80C65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; }; @@ -65,7 +66,6 @@ 1820E6028B2732D07A693D7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPress.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h"; sourceTree = "SOURCE_ROOT"; }; 19947125AEF05A8508F43CB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; }; 199D4CAA3766BBDD8FD358A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; }; - 19E904C25329105CDD300652 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; 1A123436E2135140B5B5B5D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; 1A16A173F30610CBD1C00F9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; 1A4D9E311D74C2C34F973477 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -87,7 +87,6 @@ 1EC357C30EDF2ACC28550388 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; }; 1EE14A7642323715B5A6F8D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; 1F4AE4920DFCFD26C1A2325F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; - 1FAB0F968375D7C703A232DC = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_extra/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 1FF2AE7CAF095DB8217FA194 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; }; 1FF703FF26EF615D4360951E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; }; 2046EE2F238A501690806F25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ToggleLightComponent.h; path = ../../Source/ToggleLightComponent.h; sourceTree = "SOURCE_ROOT"; }; @@ -108,6 +107,7 @@ 27B48619C98100E8155F2C50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; }; 28ABC41C668D43151E163C38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; 28D77200141B72BBD5A5A80B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; }; + 28FB2369C7BAE3960D6E0AF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; 2953006D4EEDABBC7DC7F217 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; 295F122595A931E9156C269A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; }; 29D63A0E8C13E383014DD75D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -193,6 +193,7 @@ 488FCCC5FA54373BFD3FE2A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Font.h"; path = "../../../../modules/juce_graphics/fonts/juce_Font.h"; sourceTree = "SOURCE_ROOT"; }; 48B1C8EBEBC834F81B4CDFBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; 48B54666618AF309B7E318A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Base64.cpp"; path = "../../../../modules/juce_core/text/juce_Base64.cpp"; sourceTree = "SOURCE_ROOT"; }; + 48DBB774ADD58780B75FD130 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ComponentTutorialExample.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; 4925FA4EBF60DC4F55EF1B50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; 496DC5C10C9CEF0F62B06908 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; }; 49FF47156213EDBFA55CFB73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -207,7 +208,6 @@ 4D528C04A130E3647AE9EA2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Identifier.cpp"; path = "../../../../modules/juce_core/text/juce_Identifier.cpp"; sourceTree = "SOURCE_ROOT"; }; 4D791CBB68C387098A031376 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 4DD71A8D04137ECB09B39428 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; - 4DDD2D269468402FEC270B7A = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 4EF82D5503FF8A6CC2209B1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; 4F94B44E2E728F5B3403FDE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; }; 4FC6BA3F88DEF2F349D09076 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; }; @@ -282,7 +282,7 @@ 665681C9CB52840DE1E6CE46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; 66A655E29F120C74079E7104 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; 673C84E79DE00E085CC517E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; }; - 6844A1032F464C6EEF0E8198 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_events/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 68F27318C27AFE04240C887C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; 69034A8A56F5D2A6C1FFCC65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; }; 69283B9BE6110FE7346F6524 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; 695E420607FBB541A5D6FC80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -364,7 +364,6 @@ 832394D0615C3E8D1470BCC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageCache.h"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.h"; sourceTree = "SOURCE_ROOT"; }; 83C8A17DC4A06632B3081177 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 83C9A48AC037D51A7E5953AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; - 84101E2D18716179E7CA2350 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; 84247EE31EC66847D50F48F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; 843F183093EA237684B2E258 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; 843F671C3010F444223FD191 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -392,6 +391,7 @@ 8C43F022980ECACBD7EEE3AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; }; 8C6B183C4F37DF95D7478817 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; }; 8C7B06FF8542957F3E669CEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8C862FD6A75AE6C4EC591FA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; 8C96219754DE2C8425EA7FE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; }; 8D8F2D884D88501BAD9E62D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; }; 8E01B9E018FE1635E761D4C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -406,7 +406,6 @@ 92062AD7BB5FEEEE2CCBBCF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; }; 920A56543ED8EE8F3CD33CD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; }; 9211D0F387A413F12A5B8111 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9217310887FB766C896B4E3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; 92426F8EDF44F281D5240732 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; }; 92A25F46FCA96485EEEDE684 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; }; 92CD087050372D1A2388F537 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; }; @@ -449,6 +448,7 @@ 9E55522AC7A6A857A229EF0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; }; 9E8FB8112E671A1A9F16C150 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; }; A0095E097562F35F1368991C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; + A094C1384EE9BF1669F5C10E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; A0A26EBFCC86B2FD2730A0AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; A0C534C784C326275EDB67CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; }; A14EFF189DDF10D24A00FDD1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; }; @@ -464,7 +464,6 @@ A4E8B468FD65D3ED6FC57903 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; }; A526D030DD7A3285CE1349FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CPlusPlusCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; A52F6EBC826A66D5A4B3ED75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_File.h"; path = "../../../../modules/juce_core/files/juce_File.h"; sourceTree = "SOURCE_ROOT"; }; - A5D0644E15010BCC82D09CE8 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_graphics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; A629BE855357CD39299CC3EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; }; A651FF7A322080340CC5D2D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; }; A675ACB1D796B9BC8C01849F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; }; @@ -475,6 +474,7 @@ A8C6E57CF011EB43FDBF3386 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; }; A8EBB243F37A295D5F0533E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; }; A8FB3AE1936AE125BCD697E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colours.h"; path = "../../../../modules/juce_graphics/colour/juce_Colours.h"; sourceTree = "SOURCE_ROOT"; }; + A97619677C175B056DC91391 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; A9E14111B38FBFA37C6ACA72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; A9E1EF2E2428F3110C476C31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; A9E44F79C25915233A9291B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -507,7 +507,6 @@ B3A6A6012DBCC4F758AC6FA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; B3F452436CCF7A90B60F0DC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; }; B426A92DF7339E0D8414A8CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; - B4371B7705C00F493AF23340 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; B43C9D6019C2118F629C7024 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; }; B45F39A01AD22A682B37C7E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; }; B5307EC6BDE5DA8717B70928 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableEdgeComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -523,7 +522,6 @@ B7FB20F3D5020CD8988242FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; BA06E3D4038305A8D8ECD3E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputStream.h"; path = "../../../../modules/juce_core/streams/juce_InputStream.h"; sourceTree = "SOURCE_ROOT"; }; BA51067FE0DB7FA0DB2F755E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; - BA573E7FBB99B40146613BB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; BAB4EA25FDB2FCA22655967C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; }; BACE2817B8035EA6D1B5A39E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; }; BAEF7A9BA31820606D33CEF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -538,7 +536,6 @@ BE1B089CD42159BFD2020268 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; }; BE71914A5AF08367D39854BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; }; BEA7187E0477E3D8C907B305 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; }; - BFAD4AB98245F033BE68E8B0 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_data_structures/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; C025EE160EC2638DF3A52B2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; }; C0267C31BFB99FEF6F462FD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; }; C0C39C1CE9F8527D18904573 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -561,30 +558,26 @@ C7C30DE6E4BA526E8CCCA43E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; }; C7FE51A69A301750179B2DD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; C83788FA99D8D90C862F0ADF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; }; - C83F79CAB7BFF812E7EB5FBD = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = "SOURCE_ROOT"; }; C96F785FEF301760D553B9FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Base64.h"; path = "../../../../modules/juce_core/text/juce_Base64.h"; sourceTree = "SOURCE_ROOT"; }; C994B136F462710A7A275C98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; + C9DA36BD1C419552DB7FE97E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; }; CA05480E91368621A3646604 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Files.cpp"; path = "../../../../modules/juce_core/native/juce_android_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; CA69A130B47308B4500BEA2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; CACE9B0E811F67FB846FFEC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; }; CC23B9EDDFCA31FD4EE45CFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; }; CCCB92A0E760E29F2A995809 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; }; + CCFE667DD53C16AB1935F669 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; }; CD9C4E56AACC240BBCDD7BDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; }; + CDA25BD03F26A4EB2D0268CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; CDBC22A615CB65F11AAB993D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Identifier.h"; path = "../../../../modules/juce_core/text/juce_Identifier.h"; sourceTree = "SOURCE_ROOT"; }; CE5F79D21CAEEBC881D55BD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; }; - CEF3D623625C1A321121C9DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; - CF0E8EC61E262D1C694B9F83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; }; - CFC1B3F1A1B02F9C0E5891DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; - E601906482073B23EF463663 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = "SOURCE_ROOT"; }; - EF64CF988BD368A51073EC0B = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; - 7676A9F9E2BC8FA7334CDA3E = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ComponentTutorialExample.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; - C9DA36BD1C419552DB7FE97E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; }; - CCFE667DD53C16AB1935F669 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; }; - CDA25BD03F26A4EB2D0268CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; CE98C1D1F69BFC0E26DF6292 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + CEF3D623625C1A321121C9DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; CEFA4256D87E7986F79F3649 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; }; + CF0E8EC61E262D1C694B9F83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; }; CF51391F83A4DE939326DA11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; CF7CA85302F3D9E5D088F99C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + CFC1B3F1A1B02F9C0E5891DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; CFCFC70957F4DD653811999F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; D02A95BDF7062A728550168D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; D0458D7AE3F0E35321D7D532 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; }; @@ -598,6 +591,7 @@ D5E0E6D45EF3B2084CDB9B3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; D6CD400F55B95272D1F181AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; }; D77971530C1453A08AE50F07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + D7ABAE7176AC9AC92F8601F8 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-App.plist"; path = "Info-App.plist"; sourceTree = "SOURCE_ROOT"; }; D7B402E2C5C291CA939283A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; D8B0DE77AD69B6EF9912BFFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; }; D8CC0FD10CA3EE708AB9C0FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -605,7 +599,6 @@ D9CD7480671F5B1BB2C98028 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; DA16C157740066E64F739B17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; DA399EF6644D18816CCB7A18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; - DA6889A0B8950FD510CD0D80 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_core/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; DC0305B007A964049E14C1B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; }; DC397955C3D54C2A6A306474 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; DC476FA8298A033B1C1912C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -627,6 +620,7 @@ E51D2439AA7758DDD46856FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; }; E5369D139DFE552E74E430A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; }; E5B07EBBF53E541E904E672E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; }; + E601906482073B23EF463663 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = "SOURCE_ROOT"; }; E609CCF7D874D6C915DF1D14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; }; E650CFEF61DBFECD1DCDEB62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; E7199F938539959B02955A43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; }; @@ -644,6 +638,7 @@ EE3759BE4DBB6E157A0E3B2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; }; EEB4CEB210604BFA8EF15E54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; EF3C64A21A3D411EDF9D41DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + EF64CF988BD368A51073EC0B = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; EF97B5375AA0EA0CE103F06C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; F108EC68FFBA13B85E95E4F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; F10E9449C8983F9D1D82D897 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; @@ -690,58 +685,7 @@ E601906482073B23EF463663, ); name = Source; sourceTree = ""; }; 232DE569E6951C8B8D9053A0 = {isa = PBXGroup; children = ( A6AA6E32E0A4C51545FA9E51, ); name = ComponentTutorialExample; sourceTree = ""; }; - E7A75A828F30AB9D123BE2D4 = {isa = PBXGroup; children = ( - 48B54666618AF309B7E318A2, - C96F785FEF301760D553B9FC, - 8D8F2D884D88501BAD9E62D4, - 56766C06F131481224707D00, - 81631B600E93E57970BF32BC, - 244C8B3E6704734599792ED4, - FD1C103133C0DF2A399FAC60, - F10E9449C8983F9D1D82D897, - 4D528C04A130E3647AE9EA2A, - CDBC22A615CB65F11AAB993D, - 7930AEB1DE4DE093043061DA, - 7407C6E7FA17E56B6DF16B62, - 935E41ED47E898583168630B, - 7649D4157DCCF92903C883EC, - 6BAB538E438B145D8E090A4B, - FC50A8B7481455BCC05CAC47, - 89F1E29F501319BF488ECF28, - 7213082B4D91E509363B3632, - 9A801690D4D34780084E7878, - 70C9B37F525F43832BA28C7B, - 13244912438C72EF5116A744, - 60678CF99DD18E0768F98752, - 1B82291CB84778C3CDB9B0B5, - C9DA36BD1C419552DB7FE97E, ); name = text; sourceTree = ""; }; - B0BBFF5D5452C9224EF54F55 = {isa = PBXGroup; children = ( - 35C05B4324D01FCB9D5D2CB2, - E16F883568F30BCFCA341E6D, - 3D1422040B6295665C2D3347, - 77F780A1027086DABE090075, - 467D7FF76C8BC4B5EFDEB5C4, - 5091C75EBE7358C51951F60A, - 4D2B08451DACC0440FC48EF4, - C0267C31BFB99FEF6F462FD6, - A49B802763CCE16871D76B0C, - 411B25C5CBD8F8D3A944A90B, ); name = maths; sourceTree = ""; }; - A38380539F845E3E78B1BF08 = {isa = PBXGroup; children = ( - 397AA679D9FFCC027D7D162A, - 86A81310640DFCD57EB71BA7, - 4B2827D2AA7D37461D08A57E, - 38E7BEC583F6C31FDEAEFDC3, - E40ABF33AA84CFA3BE76723E, - ABD8244234DE74EA3393856F, - 25D4714AAF1398A441C4F694, - BACE2817B8035EA6D1B5A39E, - F1504F23F699088696B19598, - 66A655E29F120C74079E7104, - 89E825E71659A55D5BFBE676, - E111C720F05F3F8940F42FDC, - 665681C9CB52840DE1E6CE46, - 605AFA1DDC1AFBDBCA53CA53, ); name = memory; sourceTree = ""; }; - D51FA8CF7613731204C6C7C9 = {isa = PBXGroup; children = ( + 10DCAE9F4D153D4F17D97FAE = {isa = PBXGroup; children = ( A4C5A6BF529B557AB3A34067, 9E8FB8112E671A1A9F16C150, B583B13ED831162C84A1D35E, @@ -763,37 +707,7 @@ CFC1B3F1A1B02F9C0E5891DE, 402018188EE23072590E0121, FEC4E647FDC0F1A65B755533, ); name = containers; sourceTree = ""; }; - 2D6F7A0F937A92639374051B = {isa = PBXGroup; children = ( - 61595BBB48E3CF5871D65D97, - 93E52BF9F07E5FDCF23288D3, - 28ABC41C668D43151E163C38, - 95A8F9961DCD1AE8BCFC026D, - A0A26EBFCC86B2FD2730A0AA, - 5229FAE70CA13130399EEE22, - 643D6DA4FD85627D1876D13C, - A712D26A8F9249EC156B6EB6, - 8A8C19C2ED45616FAC78EB78, - 00CDCA76917B831BBA098886, - 3BAE564AE20C18828B113A23, - 14844695DDFBFB4A706C9E43, - C994B136F462710A7A275C98, - 26D3EE09D7CA6B3F63053B8D, - A15B72479EB2E3C824AB8C1E, - 60990A4EFC76C11CB6B446E5, - 57A83B990FD49529356D225B, - 9D10737160BF62BCC98418A7, - 5F1E8ED69FCF7F96354C415E, - 561B5014ECB87D691306A4CC, - 6E22163D4FE5D958E743BA0E, - 718EE8B669527322117C070F, ); name = threads; sourceTree = ""; }; - EDB6E3A49E9EF00489FABCBC = {isa = PBXGroup; children = ( - CCFE667DD53C16AB1935F669, - 622B4D97C8DED6228AE40388, - D02A95BDF7062A728550168D, - 54369FA543B7248A1A9B4FD8, - FEF791E5D51F5DBEF1CCC97F, - B34C7797CE3F67F6A2CFE08F, ); name = time; sourceTree = ""; }; - F5E1689C8C183B6784C9F23C = {isa = PBXGroup; children = ( + ACED2455A74E3A671CBDE61C = {isa = PBXGroup; children = ( 3D940AB6C66B2B0DBAA353BD, 505D6D2449F59885C8D32D34, E609CCF7D874D6C915DF1D14, @@ -811,66 +725,43 @@ DDCC0DFC4F4124AF9A86C827, 7ACEA163CBF01E2AFC3B8182, BA51067FE0DB7FA0DB2F755E, ); name = files; sourceTree = ""; }; - 65F7FBFC55C08B811D7DACB9 = {isa = PBXGroup; children = ( - AD0B1EF09A5E59ED3774A329, - B45F39A01AD22A682B37C7E1, - 436E30DBA6DFD6ECD8ED3C91, - 45D13CF80C80EE401A06220F, - 24D10EAC2EB1F9B8B12C6006, - 32344FE799CF184165EB9322, - 5DA4197175128C3C89A3E08B, - CFCFC70957F4DD653811999F, - 89E53FD2ACB49E1AA152EBC2, - 1FF2AE7CAF095DB8217FA194, ); name = network; sourceTree = ""; }; - BD64CD087430BDE8E72DEC21 = {isa = PBXGroup; children = ( - FB55E4055FFC9161143DDDFF, - AA518347E2E68E414FF265CD, - 5458D1969D7DEBFE0088005B, - 74EF840AC5C93ED2888DF3C5, - 4F94B44E2E728F5B3403FDE1, - D8CC0FD10CA3EE708AB9C0FD, - BA06E3D4038305A8D8ECD3E5, - 5A6E440527A143F6F72BDD3A, - 15358009F3183037D1A944E2, - 83C8A17DC4A06632B3081177, - 7BB9A1D163900F576A96EFC2, - 9D2DE2345B997FE0AA3D95A4, - 2E16CE1C3E5BCC2C2BEA148E, - 43B262CC940FF302F2173A12, - A651FF7A322080340CC5D2D5, ); name = streams; sourceTree = ""; }; - BFB8BA87A3C2F74B9014A6EB = {isa = PBXGroup; children = ( - 1023FB1681CB8ED3FDBDAC3E, - 9568EA7ED7C859B626D038FA, - 92A25F46FCA96485EEEDE684, - 1EC357C30EDF2ACC28550388, ); name = logging; sourceTree = ""; }; - 2745FAC904CFF3C3F40F208A = {isa = PBXGroup; children = ( - 74759C4DA8F3247D4C6A285C, - F9D52539486A1F851469A123, - 19947125AEF05A8508F43CB3, - 847A793C7708E6C015E63569, - 473CE105CFA7EBFD51153EAF, - B43C9D6019C2118F629C7024, ); name = system; sourceTree = ""; }; - D4D89963B7EF7CB993932996 = {isa = PBXGroup; children = ( - 045771320DE8188DA10004C7, - D2570710CAAF0D58CB187005, - C2342958F9A698FFFD02735B, - 673C84E79DE00E085CC517E3, ); name = xml; sourceTree = ""; }; - FC9D0B03172F3A5D3305DD33 = {isa = PBXGroup; children = ( + E5FA28B1494BA12F04B94733 = {isa = PBXGroup; children = ( C5A00A687712DF549E44983C, B573A8EA7729B1C7CBC3D41A, DC0305B007A964049E14C1B0, 4925FA4EBF60DC4F55EF1B50, ); name = javascript; sourceTree = ""; }; - 6D0DE22D568EB5EF7D87CD0F = {isa = PBXGroup; children = ( - EF97B5375AA0EA0CE103F06C, - 69D130699972E26940BF30B4, - BDAF8239A83116274C089C2E, - 79990D77027355E069D22BF7, - 619B8CC5E433B291428C70B8, - B6CE0CDB954B662DE01F21AF, ); name = zip; sourceTree = ""; }; - 3FE4374FBE7904050BEE105F = {isa = PBXGroup; children = ( - 9DEECA10F34A4BA80F5B5463, - A0C534C784C326275EDB67CF, ); name = "unit_tests"; sourceTree = ""; }; - 0E675747650E9D96BD34FAD5 = {isa = PBXGroup; children = ( + A12696373A6007FB6EE83053 = {isa = PBXGroup; children = ( + 1023FB1681CB8ED3FDBDAC3E, + 9568EA7ED7C859B626D038FA, + 92A25F46FCA96485EEEDE684, + 1EC357C30EDF2ACC28550388, ); name = logging; sourceTree = ""; }; + 43D7DC8A6C0121965F5B835C = {isa = PBXGroup; children = ( + 35C05B4324D01FCB9D5D2CB2, + E16F883568F30BCFCA341E6D, + 3D1422040B6295665C2D3347, + 77F780A1027086DABE090075, + 467D7FF76C8BC4B5EFDEB5C4, + 5091C75EBE7358C51951F60A, + 4D2B08451DACC0440FC48EF4, + C0267C31BFB99FEF6F462FD6, + A49B802763CCE16871D76B0C, + 411B25C5CBD8F8D3A944A90B, ); name = maths; sourceTree = ""; }; + B54A14569F522C061999FD6C = {isa = PBXGroup; children = ( + 397AA679D9FFCC027D7D162A, + 86A81310640DFCD57EB71BA7, + 4B2827D2AA7D37461D08A57E, + 38E7BEC583F6C31FDEAEFDC3, + E40ABF33AA84CFA3BE76723E, + ABD8244234DE74EA3393856F, + 25D4714AAF1398A441C4F694, + BACE2817B8035EA6D1B5A39E, + F1504F23F699088696B19598, + 66A655E29F120C74079E7104, + 89E825E71659A55D5BFBE676, + E111C720F05F3F8940F42FDC, + 665681C9CB52840DE1E6CE46, + 605AFA1DDC1AFBDBCA53CA53, ); name = memory; sourceTree = ""; }; + DCEC16B3B29099CFC0E21FB5 = {isa = PBXGroup; children = ( CACE9B0E811F67FB846FFEC6, A18B84F4C980C668933CFD74, 31617E3099B25FA4D4C9AC5D, @@ -878,7 +769,7 @@ 07240BB5DBD357FA56236AC5, 7B78FBA2323E1D9D5E0A5175, EB704FF0C3E6B7D03D02E257, ); name = misc; sourceTree = ""; }; - 65B3088DEC0DFDD6B7CB9607 = {isa = PBXGroup; children = ( + 6AFE3BBBA84C98C47A75B2AA = {isa = PBXGroup; children = ( CA05480E91368621A3646604, A428D55AD9CD7AA72A5B3556, 818E22F85684F7EF88EAB18B, @@ -908,49 +799,167 @@ D429D9422422BC6951ADCB53, 48B1C8EBEBC834F81B4CDFBE, 94B555395941CEE57FEBD110, ); name = native; sourceTree = ""; }; + C47C0AD0AC5313416DBE6A5C = {isa = PBXGroup; children = ( + AD0B1EF09A5E59ED3774A329, + B45F39A01AD22A682B37C7E1, + 436E30DBA6DFD6ECD8ED3C91, + 45D13CF80C80EE401A06220F, + 24D10EAC2EB1F9B8B12C6006, + 32344FE799CF184165EB9322, + 5DA4197175128C3C89A3E08B, + CFCFC70957F4DD653811999F, + 89E53FD2ACB49E1AA152EBC2, + 1FF2AE7CAF095DB8217FA194, ); name = network; sourceTree = ""; }; + A7D509FD394007E2EB7B0BD1 = {isa = PBXGroup; children = ( + FB55E4055FFC9161143DDDFF, + AA518347E2E68E414FF265CD, + 5458D1969D7DEBFE0088005B, + 74EF840AC5C93ED2888DF3C5, + 4F94B44E2E728F5B3403FDE1, + D8CC0FD10CA3EE708AB9C0FD, + BA06E3D4038305A8D8ECD3E5, + 5A6E440527A143F6F72BDD3A, + 15358009F3183037D1A944E2, + 83C8A17DC4A06632B3081177, + 7BB9A1D163900F576A96EFC2, + 9D2DE2345B997FE0AA3D95A4, + 2E16CE1C3E5BCC2C2BEA148E, + 43B262CC940FF302F2173A12, + A651FF7A322080340CC5D2D5, ); name = streams; sourceTree = ""; }; + 2745FAC904CFF3C3F40F208A = {isa = PBXGroup; children = ( + 74759C4DA8F3247D4C6A285C, + F9D52539486A1F851469A123, + 19947125AEF05A8508F43CB3, + 847A793C7708E6C015E63569, + 473CE105CFA7EBFD51153EAF, + B43C9D6019C2118F629C7024, ); name = system; sourceTree = ""; }; + CC63BDBB5D151212804D1D38 = {isa = PBXGroup; children = ( + 48B54666618AF309B7E318A2, + C96F785FEF301760D553B9FC, + 8D8F2D884D88501BAD9E62D4, + 56766C06F131481224707D00, + 81631B600E93E57970BF32BC, + 244C8B3E6704734599792ED4, + FD1C103133C0DF2A399FAC60, + F10E9449C8983F9D1D82D897, + 4D528C04A130E3647AE9EA2A, + CDBC22A615CB65F11AAB993D, + 7930AEB1DE4DE093043061DA, + 7407C6E7FA17E56B6DF16B62, + 935E41ED47E898583168630B, + 7649D4157DCCF92903C883EC, + 6BAB538E438B145D8E090A4B, + FC50A8B7481455BCC05CAC47, + 89F1E29F501319BF488ECF28, + 7213082B4D91E509363B3632, + 9A801690D4D34780084E7878, + 70C9B37F525F43832BA28C7B, + 13244912438C72EF5116A744, + 60678CF99DD18E0768F98752, + 1B82291CB84778C3CDB9B0B5, + C9DA36BD1C419552DB7FE97E, ); name = text; sourceTree = ""; }; + 87F4454E4066009D68A935DC = {isa = PBXGroup; children = ( + 61595BBB48E3CF5871D65D97, + 93E52BF9F07E5FDCF23288D3, + 28ABC41C668D43151E163C38, + 95A8F9961DCD1AE8BCFC026D, + A0A26EBFCC86B2FD2730A0AA, + 5229FAE70CA13130399EEE22, + 643D6DA4FD85627D1876D13C, + A712D26A8F9249EC156B6EB6, + 8A8C19C2ED45616FAC78EB78, + 00CDCA76917B831BBA098886, + 3BAE564AE20C18828B113A23, + 14844695DDFBFB4A706C9E43, + C994B136F462710A7A275C98, + 26D3EE09D7CA6B3F63053B8D, + A15B72479EB2E3C824AB8C1E, + 60990A4EFC76C11CB6B446E5, + 57A83B990FD49529356D225B, + 9D10737160BF62BCC98418A7, + 5F1E8ED69FCF7F96354C415E, + 561B5014ECB87D691306A4CC, + 6E22163D4FE5D958E743BA0E, + 718EE8B669527322117C070F, ); name = threads; sourceTree = ""; }; + 271E0F6573D2396940311046 = {isa = PBXGroup; children = ( + CCFE667DD53C16AB1935F669, + 622B4D97C8DED6228AE40388, + D02A95BDF7062A728550168D, + 54369FA543B7248A1A9B4FD8, + FEF791E5D51F5DBEF1CCC97F, + B34C7797CE3F67F6A2CFE08F, ); name = time; sourceTree = ""; }; + 3FE4374FBE7904050BEE105F = {isa = PBXGroup; children = ( + 9DEECA10F34A4BA80F5B5463, + A0C534C784C326275EDB67CF, ); name = "unit_tests"; sourceTree = ""; }; + 0FA501E9894323C7CF87CA43 = {isa = PBXGroup; children = ( + 045771320DE8188DA10004C7, + D2570710CAAF0D58CB187005, + C2342958F9A698FFFD02735B, + 673C84E79DE00E085CC517E3, ); name = xml; sourceTree = ""; }; + B1C9591A650D14D34DE59AED = {isa = PBXGroup; children = ( + EF97B5375AA0EA0CE103F06C, + 69D130699972E26940BF30B4, + BDAF8239A83116274C089C2E, + 79990D77027355E069D22BF7, + 619B8CC5E433B291428C70B8, + B6CE0CDB954B662DE01F21AF, ); name = zip; sourceTree = ""; }; C90657B6622A41E312FCB1BA = {isa = PBXGroup; children = ( - E7A75A828F30AB9D123BE2D4, - B0BBFF5D5452C9224EF54F55, - A38380539F845E3E78B1BF08, - D51FA8CF7613731204C6C7C9, - 2D6F7A0F937A92639374051B, - EDB6E3A49E9EF00489FABCBC, - F5E1689C8C183B6784C9F23C, - 65F7FBFC55C08B811D7DACB9, - BD64CD087430BDE8E72DEC21, - BFB8BA87A3C2F74B9014A6EB, + 10DCAE9F4D153D4F17D97FAE, + ACED2455A74E3A671CBDE61C, + E5FA28B1494BA12F04B94733, + A12696373A6007FB6EE83053, + 43D7DC8A6C0121965F5B835C, + B54A14569F522C061999FD6C, + DCEC16B3B29099CFC0E21FB5, + 6AFE3BBBA84C98C47A75B2AA, + C47C0AD0AC5313416DBE6A5C, + A7D509FD394007E2EB7B0BD1, 2745FAC904CFF3C3F40F208A, - D4D89963B7EF7CB993932996, - FC9D0B03172F3A5D3305DD33, - 6D0DE22D568EB5EF7D87CD0F, + CC63BDBB5D151212804D1D38, + 87F4454E4066009D68A935DC, + 271E0F6573D2396940311046, 3FE4374FBE7904050BEE105F, - 0E675747650E9D96BD34FAD5, - 65B3088DEC0DFDD6B7CB9607, - DA6889A0B8950FD510CD0D80, + 0FA501E9894323C7CF87CA43, + B1C9591A650D14D34DE59AED, 1CFAB191C8DD1D534F640C86, ); name = "juce_core"; sourceTree = ""; }; - 5F2E5AA2947BC2CDE25722A3 = {isa = PBXGroup; children = ( + 15643F4FD8BAA3C82EFB3F58 = {isa = PBXGroup; children = ( + 0251FE0DE5ED2D9D43022582, + 1D09C10B2DB3292D00064927, + 4D791CBB68C387098A031376, + 89805D9153F89B2C4C53EE81, ); name = "app_properties"; sourceTree = ""; }; + DD489BBC25121D3100BA45CB = {isa = PBXGroup; children = ( + 96D694EA41570A461CEB7C73, + D8B0DE77AD69B6EF9912BFFF, + EAD3F95BA32E79C92298C479, ); name = undomanager; sourceTree = ""; }; + 51C0B761FB78535730E44CEE = {isa = PBXGroup; children = ( FF81F9A67E4B9973B5485F0D, 767CBBD58A107FCA005D38E8, 891B14FF053DF9A2853BEF7A, 630154507B0430ED5F3DD472, 3E10C3A46814DBCDF6396341, C4CFD579D6C4139D32AEAC05, ); name = values; sourceTree = ""; }; - DD489BBC25121D3100BA45CB = {isa = PBXGroup; children = ( - 96D694EA41570A461CEB7C73, - D8B0DE77AD69B6EF9912BFFF, - EAD3F95BA32E79C92298C479, ); name = undomanager; sourceTree = ""; }; - A5875E8801325CC52A3344B0 = {isa = PBXGroup; children = ( - 0251FE0DE5ED2D9D43022582, - 1D09C10B2DB3292D00064927, - 4D791CBB68C387098A031376, - 89805D9153F89B2C4C53EE81, ); name = "app_properties"; sourceTree = ""; }; DD674EC5F36959188E76056E = {isa = PBXGroup; children = ( - 5F2E5AA2947BC2CDE25722A3, + 15643F4FD8BAA3C82EFB3F58, DD489BBC25121D3100BA45CB, - A5875E8801325CC52A3344B0, - BFAD4AB98245F033BE68E8B0, + 51C0B761FB78535730E44CEE, FA79D9C65FFB09641076D108, ); name = "juce_data_structures"; sourceTree = ""; }; - 0F3640D49D5D956D9E5CFDFA = {isa = PBXGroup; children = ( + 6EB2B7AE3ECCC71B3DE6D913 = {isa = PBXGroup; children = ( + DC476FA8298A033B1C1912C6, + 4DD71A8D04137ECB09B39428, + ACAFF5D19589B91947E49F00, + 3D7A9A21AC9141F7DDD5B041, + CE5F79D21CAEEBC881D55BD9, + 7345EECE08EB3218EAE780F8, + 1A16A173F30610CBD1C00F9E, + C2B49F664B59909C9BA59FC3, ); name = broadcasters; sourceTree = ""; }; + C1F611AB2CC709D8FF7A52C3 = {isa = PBXGroup; children = ( + 40FF72766C3C2DFF691063DC, + 372E00484BB1837D1CCA5495, + BCA1E53B85C06F5A2791F90E, + 95F8728F0BBBAC6937DDD9C3, + BE1B089CD42159BFD2020268, + 93E2D767D95DFFC8AFFB6295, ); name = interprocess; sourceTree = ""; }; + 7CFB5C67EAF73F5FABB6E723 = {isa = PBXGroup; children = ( CCCB92A0E760E29F2A995809, 3CC23F48464F0261882AA5AA, E7199F938539959B02955A43, @@ -964,28 +973,7 @@ 8275073C9C88CD2553D74D2F, 65BC11167B6AD696C353F18E, 8E36C0957D12569557DA8FC6, ); name = messages; sourceTree = ""; }; - 1BB7328DB3D839E981F865B9 = {isa = PBXGroup; children = ( - A9F118735B042547AD717A49, - A8C6E57CF011EB43FDBF3386, - 624DA39544AB7B0838E15F53, - 386E1A4EE3A9D43D88017E2C, ); name = timers; sourceTree = ""; }; - 2BB03F78D512DA0F004237AB = {isa = PBXGroup; children = ( - DC476FA8298A033B1C1912C6, - 4DD71A8D04137ECB09B39428, - ACAFF5D19589B91947E49F00, - 3D7A9A21AC9141F7DDD5B041, - CE5F79D21CAEEBC881D55BD9, - 7345EECE08EB3218EAE780F8, - 1A16A173F30610CBD1C00F9E, - C2B49F664B59909C9BA59FC3, ); name = broadcasters; sourceTree = ""; }; - 3716523F2790BE616E4A18E4 = {isa = PBXGroup; children = ( - 40FF72766C3C2DFF691063DC, - 372E00484BB1837D1CCA5495, - BCA1E53B85C06F5A2791F90E, - 95F8728F0BBBAC6937DDD9C3, - BE1B089CD42159BFD2020268, - 93E2D767D95DFFC8AFFB6295, ); name = interprocess; sourceTree = ""; }; - A37A96EE69F7C5BAEF0C5D01 = {isa = PBXGroup; children = ( + 917866878316B3E0C477A1DA = {isa = PBXGroup; children = ( 54D586E881C14632DFED5307, FAE5284B8D2DE9C96E48FBA9, 46EC5ABEC7369DE270103BD0, @@ -994,13 +982,17 @@ 770E3E9EE460FA39F5D11135, 35757D7DC5382C1E944DAD62, B6811E2AB21C42FC486939AB, ); name = native; sourceTree = ""; }; + F405522194458905B884D279 = {isa = PBXGroup; children = ( + A9F118735B042547AD717A49, + A8C6E57CF011EB43FDBF3386, + 624DA39544AB7B0838E15F53, + 386E1A4EE3A9D43D88017E2C, ); name = timers; sourceTree = ""; }; A62BCE98B69FF46150DA8A15 = {isa = PBXGroup; children = ( - 0F3640D49D5D956D9E5CFDFA, - 1BB7328DB3D839E981F865B9, - 2BB03F78D512DA0F004237AB, - 3716523F2790BE616E4A18E4, - A37A96EE69F7C5BAEF0C5D01, - 6844A1032F464C6EEF0E8198, + 6EB2B7AE3ECCC71B3DE6D913, + C1F611AB2CC709D8FF7A52C3, + 7CFB5C67EAF73F5FABB6E723, + 917866878316B3E0C477A1DA, + F405522194458905B884D279, E51D2439AA7758DDD46856FE, ); name = "juce_events"; sourceTree = ""; }; A066D9E7064B0F5035A4C22A = {isa = PBXGroup; children = ( 446E81F01BF3462388C8C9EA, @@ -1020,19 +1012,25 @@ F63F8CF80EF8A14BEC1FCEEC, 75A7129697D536F1B35805A1, 37AB67490C05F852C0A47FFA, ); name = contexts; sourceTree = ""; }; - ABB613396FE2882B90885016 = {isa = PBXGroup; children = ( - 7E5FC79C3C09EF858C569522, - 92DBAA56A6941045E2A1D7C1, - 59619DAA2203630E7E577460, - 832394D0615C3E8D1470BCC3, - 9190C814ED9373282AB550CF, - BCCC42CC360C6B8F08C7009B, - 73AAF6B948D43A277D2C31B7, - 8C96219754DE2C8425EA7FE8, ); name = images; sourceTree = ""; }; - E4467E5FC633B3634F8059B6 = {isa = PBXGroup; children = ( - 735FE3463FE45A1D974A8528, - 843F183093EA237684B2E258, - 84EF3FB46EDD14F32934A85E, ); name = "image_formats"; sourceTree = ""; }; + 949EBCC00634EA112545E0D0 = {isa = PBXGroup; children = ( + 5DF243A00205294566B6BB0F, + 957F25AE21D2FD7AEA5B4FE9, + 3F897B47781A48B9598FEEBB, + 1DAB4ECAA88DBC526F0AAAB1, + 295F122595A931E9156C269A, ); name = effects; sourceTree = ""; }; + A95B60FF5F870C79529A3CEE = {isa = PBXGroup; children = ( + 83C9A48AC037D51A7E5953AD, + FAEF6FA1BB20837A25213CC6, + ED042429D6A07135680D0C7A, + 1E6FB96EB00E216CE7FB9717, + 7F652089DB6EDEC175CEEC16, + 488FCCC5FA54373BFD3FE2A7, + DF4BAED6B56FC9D322D4CD8E, + 4EF82D5503FF8A6CC2209B1F, + 4C4226EE88B57B50941BED3E, + CEF3D623625C1A321121C9DE, + BD8DF3D439FAFC072A484968, + 1A123436E2135140B5B5B5D5, ); name = fonts; sourceTree = ""; }; 7191B0EE29E2BDBD38A031C4 = {isa = PBXGroup; children = ( 02FE1889D2DD692F77799F1D, CEFA4256D87E7986F79F3649, @@ -1049,30 +1047,20 @@ 313CE233A0F9BA82CFD80904, 92426F8EDF44F281D5240732, 638B7CB622129B85ED325883, ); name = geometry; sourceTree = ""; }; - 65A11F48168CBC2445C2EBEC = {isa = PBXGroup; children = ( - BEA7187E0477E3D8C907B305, - 05837FE8DA660AC504863A13, - 8C6B183C4F37DF95D7478817, ); name = placement; sourceTree = ""; }; - 3B8222F409ACCC126A2C9914 = {isa = PBXGroup; children = ( - 83C9A48AC037D51A7E5953AD, - FAEF6FA1BB20837A25213CC6, - ED042429D6A07135680D0C7A, - 1E6FB96EB00E216CE7FB9717, - 7F652089DB6EDEC175CEEC16, - 488FCCC5FA54373BFD3FE2A7, - DF4BAED6B56FC9D322D4CD8E, - 4EF82D5503FF8A6CC2209B1F, - 4C4226EE88B57B50941BED3E, - CEF3D623625C1A321121C9DE, - BD8DF3D439FAFC072A484968, - 1A123436E2135140B5B5B5D5, ); name = fonts; sourceTree = ""; }; - 6A9BAA8C30E9ACC8705EF126 = {isa = PBXGroup; children = ( - 5DF243A00205294566B6BB0F, - 957F25AE21D2FD7AEA5B4FE9, - 3F897B47781A48B9598FEEBB, - 1DAB4ECAA88DBC526F0AAAB1, - 295F122595A931E9156C269A, ); name = effects; sourceTree = ""; }; - 22DE53066E911A3F6E29D56F = {isa = PBXGroup; children = ( + BF20E02553A58E3116E0C89B = {isa = PBXGroup; children = ( + 735FE3463FE45A1D974A8528, + 843F183093EA237684B2E258, + 84EF3FB46EDD14F32934A85E, ); name = "image_formats"; sourceTree = ""; }; + 5501523753B908B551C771D6 = {isa = PBXGroup; children = ( + 7E5FC79C3C09EF858C569522, + 92DBAA56A6941045E2A1D7C1, + 59619DAA2203630E7E577460, + 832394D0615C3E8D1470BCC3, + 9190C814ED9373282AB550CF, + BCCC42CC360C6B8F08C7009B, + 73AAF6B948D43A277D2C31B7, + 8C96219754DE2C8425EA7FE8, ); name = images; sourceTree = ""; }; + F7FAD8BE13889E09EB3D8A7C = {isa = PBXGroup; children = ( F108EC68FFBA13B85E95E4F0, EF3C64A21A3D411EDF9D41DB, 07CABA5DCB7723822DC14CB9, @@ -1086,19 +1074,54 @@ 98F09E7FD01AAF26FCF7B01B, 7ACC0D9EBB7DB3BFF8F2E8C7, E9B5F6F7F95E60BCEF3E67F8, ); name = native; sourceTree = ""; }; + 14444D73C3B6207A2AB3BCDF = {isa = PBXGroup; children = ( + BEA7187E0477E3D8C907B305, + 05837FE8DA660AC504863A13, + 8C6B183C4F37DF95D7478817, ); name = placement; sourceTree = ""; }; 3E664A006A0EFB272D19BD81 = {isa = PBXGroup; children = ( A066D9E7064B0F5035A4C22A, 6D979C329CFDB8A670FDA77D, - ABB613396FE2882B90885016, - E4467E5FC633B3634F8059B6, + 949EBCC00634EA112545E0D0, + A95B60FF5F870C79529A3CEE, 7191B0EE29E2BDBD38A031C4, - 65A11F48168CBC2445C2EBEC, - 3B8222F409ACCC126A2C9914, - 6A9BAA8C30E9ACC8705EF126, - 22DE53066E911A3F6E29D56F, - A5D0644E15010BCC82D09CE8, + BF20E02553A58E3116E0C89B, + 5501523753B908B551C771D6, + F7FAD8BE13889E09EB3D8A7C, + 14444D73C3B6207A2AB3BCDF, BAB4EA25FDB2FCA22655967C, ); name = "juce_graphics"; sourceTree = ""; }; - 9241E64B7FF3F21F2B2B2BF6 = {isa = PBXGroup; children = ( + 87C2B7CEA429ABE138533CC1 = {isa = PBXGroup; children = ( + A9E44F79C25915233A9291B8, + C1F24188E1527450B90DA222, ); name = application; sourceTree = ""; }; + 89D1E3189060B0A4B797C3DB = {isa = PBXGroup; children = ( + 23DC725C20C9095CD53D65BC, + D968E1D4D8E5A98346EC822B, + A2CC0F227CDF2FE627EA8B91, + 4B586C1DD2F0162A6C950FFC, + 0EBD49CAE74E76734FF9A2C0, + DC397955C3D54C2A6A306474, + C7C30DE6E4BA526E8CCCA43E, + 9159888223D9009D0AB6DD6B, + A6CDA3D301E2DF90B4693040, + 0B4391EC2F180A71343F9F39, + 3ABA28D6E392E38064F199E5, + 038A941B607C1FFDB9E808DD, + 2425E90D3BC5D9815BE3F5F5, + 45A2D90F6DD432F2250421DC, + 907F09189AFB79FECB1B7ABE, + 09F281AE3F5FD2BC2AA8278B, + 39D624AD64D9F218505785CE, + 0B392087C6C6DDAFEF5B09DD, ); name = buttons; sourceTree = ""; }; + 6ADA80A4A5500147CBEC2D11 = {isa = PBXGroup; children = ( + 177963253EF46F6C85731453, + 7B1E8345DE0F2267B5922DA7, + D0458D7AE3F0E35321D7D532, + 54DD09B5405BF69675BBFA81, + 454054374D6980D2CBEA4CB0, + 6211FB5E6B90292B8218EF22, + 62C594010A82EB5FD9EA6CF4, + 199D4CAA3766BBDD8FD358A6, + 9A98353E0E7E28EEC92EC0A2, ); name = commands; sourceTree = ""; }; + 338C3725D6B0B3C2F4FBACE3 = {isa = PBXGroup; children = ( 99606AA3E888CF431EAA6374, C6FA47D71213F054C353F139, 2E8E72B14A0C7B3F11C874FB, @@ -1108,28 +1131,46 @@ D5E0E6D45EF3B2084CDB9B3F, ECD57D119866C5CBC6071D63, 0E7BC54B6E8ABF3D7231F1C8, ); name = components; sourceTree = ""; }; - CC2CBA9784C16830E29B79E8 = {isa = PBXGroup; children = ( - 24EF05203880D31E6BDF764E, - 1FF703FF26EF615D4360951E, - 920A56543ED8EE8F3CD33CD3, - FF1BA8DAB62124A6CF6EFD95, - 77003D29EC7BA8C0194A6CC2, - 485A947C026394035F6C9034, - 69FC147780BB490CE7CDA03F, - E46ACCEF31F149DBDAC2FA54, - 74C41B8E645A30D41519F37D, - AC82F805F2444F33115F02CD, - 6CCEF96DB38B32975F61937F, - 62B6AEC645C0D9A5D60118CA, - 94AF7493D3BEFA608436A94E, - 4475821D1F79990CD1D92ACE, - 8EA3D3975A9777582E8A724D, - 7C4795478AA6519EC1F3B994, - A629BE855357CD39299CC3EB, - 41B6B68A857645A4B014E126, - 9E523258934C448A4F23B45B, - 5E524D1FBE1C281344EC02F4, ); name = mouse; sourceTree = ""; }; - D91FCBEB31902101811CDB72 = {isa = PBXGroup; children = ( + EA547DD030D051D8BFC1E933 = {isa = PBXGroup; children = ( + C3640E2CA11B2524C3EA9A1D, + FEC24BD2D3268F6CEB4B7794, + A7E1DDDC3B554B92985D87C5, + C83788FA99D8D90C862F0ADF, + 6FF4A0EA89A10BE0663234C1, + 7C019A0BE9A9EF783740447A, + FAABAEF271A54187E971A758, + 54A6565D93B72819E9CBA571, + D59B6942FDD2642025761C5D, + 14B72B364348CC438D4C0BCC, + 8BB34D1B1519891162B0DBFE, + 95373A4F0D28EC19461D4023, + 6B8769223ACE955EDC8D92E0, + 5C5A9A762BA677C5FA586A6C, + 737A72A9D7F3D081BD2217EE, ); name = drawables; sourceTree = ""; }; + E2F8960C69CDD78086E0A52F = {isa = PBXGroup; children = ( + 35380E5CC9DAAF269D776D51, + F210BF2B6314CB62EF88D460, + 6A297FD639D5A77DB7B34BEA, + 72112C244DF6A84EE9921E6D, + 2E85F063AD9DDA1DA1DB10F3, + E650CFEF61DBFECD1DCDEB62, + 93EDE5393667D5773723DE6B, + C765F372F958DF6976604264, + 3E107FA4E814233893FBAE7F, + 1F4AE4920DFCFD26C1A2325F, + 3DCB680CCF300E780C14191D, + 8C7B06FF8542957F3E669CEB, + AED64C5E1970FA25F5CFC135, + 4C60CCBC615CF0F57B411334, + 1BDF54419661E3039EF7BD09, + BD2F0D4467D5FEA53744C153, + BC2B01752826F7178A708F05, + 6ECF03C9831A6498A6C4C002, + C0C39C1CE9F8527D18904573, + FF3E2094E86EF2CA8447D8A3, + 5353C6550DCE7DCCF03AD24A, + CF7CA85302F3D9E5D088F99C, ); name = filebrowser; sourceTree = ""; }; + A36BD99BB6E9A44D4FDD9AC5 = {isa = PBXGroup; children = ( 8A84AC4483BBADF6A7A004B8, 69034A8A56F5D2A6C1FFCC65, FDD421B9FDCF923F52B27D2B, @@ -1143,62 +1184,7 @@ 8515E9B2C9E01DF87F18FA0C, 466D47724662B47ED9297B0F, ED5D9664032D6491F15C2C23, ); name = keyboard; sourceTree = ""; }; - 28C01CB2953CF7CD78E75DD4 = {isa = PBXGroup; children = ( - 8446B6AC814CA0ADFA028F81, - 30E7C41BB43E7DA18E8FCE44, - 53899C203D86F82461F643CB, - 1A4D9E311D74C2C34F973477, - 3CCBA52E5C016CC1BC1869F9, - 04DED4CDAFEAD5632C354DC8, - 7D8DD873165325F10A8E5205, - 408593E7A015C37B1A8CCBC9, - 71A5CA08C0F0E039BE09A653, - 644EE481AA56B73F81B98787, - 79AAF7089E7C4B3181087B8C, - 57B3E5A69E4B34FA7A41D653, - 310476A937DB40FE6E631248, - 695E420607FBB541A5D6FC80, - BDFF9D5A7028F0B2AAD924F4, - 976F6A9CBA64E7BCE3E3084C, - 84247EE31EC66847D50F48F1, - 62A973A08942103877003792, - 3D45FD06186B4C29066565F0, - B6E1814BE1E753B8791962F4, - B3A6A6012DBCC4F758AC6FA1, - 2B9DCD7E2F603F1CD08E71D4, - 12594FC06752AD68EED5B944, - 9A4CC59FB76DF21933FD92B9, - FED5E4E648C2AFC83F011EF6, - F3CBA02AA5EEBEB893A3C0EC, - B08DBA4D99B509A3ADAF5BE7, ); name = widgets; sourceTree = ""; }; - 344E07A18B765B09564DA4AB = {isa = PBXGroup; children = ( - E0233A7B8DC433E01A5BD7D0, - A675ACB1D796B9BC8C01849F, - 7F86667F456F48414BDEDF49, - 7805AB0B72F8F0E01363D2D5, - 0C1C60C7BB8F03D6963BE744, - 4B1B7EEBA562CA00751F0AFC, - D08753E461EFFCE55CC7115F, - A14EFF189DDF10D24A00FDD1, - 096BC84F2B28F93E4E015C4B, - C6BB19B2FFBF7AB9920E2A42, - B6AAF345264A07BF49ED7FE4, - A9E1EF2E2428F3110C476C31, - 0D6011A3457A01ED628778DA, - EEB4CEB210604BFA8EF15E54, - 51AF8733D0FF3C9FE02D2262, - DA16C157740066E64F739B17, - C681DA0D09A3EED4136F0725, - B0249A38FF3E020466E58AEB, - E23C13A4447852E032B363E4, ); name = windows; sourceTree = ""; }; - 6266A1759D76F141876C09FC = {isa = PBXGroup; children = ( - AD0668BFAF21C58ED2A307C8, - AC1BEABD9F4763F79C386771, - AA781B9435A57FB2A2E03224, - C025EE160EC2638DF3A52B2A, - 3EA3D9C24F2DCF38243677A8, - 81C8F0975AB02A38B2730E4D, ); name = menus; sourceTree = ""; }; - 1FD8D6C101689AFABE0DB36F = {isa = PBXGroup; children = ( + 8F3C3D60D8C833A77B35FB31 = {isa = PBXGroup; children = ( 2ECE40057317870A56B5760A, 36D761D28DD7AD5E435DA5EE, 5DEB44A4239D3F9B9C2D736D, @@ -1235,72 +1221,7 @@ 6E8276D211239CDBB95D4887, 0B13197B9F71A0A7A2868581, 11C5710EA92501AB02D34FB4, ); name = layout; sourceTree = ""; }; - 8D2FE61FD825D1360A98F0D1 = {isa = PBXGroup; children = ( - 23DC725C20C9095CD53D65BC, - D968E1D4D8E5A98346EC822B, - A2CC0F227CDF2FE627EA8B91, - 4B586C1DD2F0162A6C950FFC, - 0EBD49CAE74E76734FF9A2C0, - DC397955C3D54C2A6A306474, - C7C30DE6E4BA526E8CCCA43E, - 9159888223D9009D0AB6DD6B, - A6CDA3D301E2DF90B4693040, - 0B4391EC2F180A71343F9F39, - 3ABA28D6E392E38064F199E5, - 038A941B607C1FFDB9E808DD, - 2425E90D3BC5D9815BE3F5F5, - 45A2D90F6DD432F2250421DC, - 907F09189AFB79FECB1B7ABE, - 09F281AE3F5FD2BC2AA8278B, - 39D624AD64D9F218505785CE, - 0B392087C6C6DDAFEF5B09DD, ); name = buttons; sourceTree = ""; }; - 817CE0020194433B90DC7B9F = {isa = PBXGroup; children = ( - FC57AB2A2F759F6A2F4A8BFE, - 41B2962E2D6D62E82D740909, - 0F46D61F1395598ECD58D13B, - 85A746B00A2DA96D05DB3226, - CF51391F83A4DE939326DA11, - 32DD6D458DD1AD9BC369D080, - 1AE8E55EA1A66292DBEFF555, - 2AE9B178500D97B20209CFB1, - 7EB8EBE9B30DAD89CBB4781B, - E5B07EBBF53E541E904E672E, - C4FA36540D8C2EE2955C963A, - 479995FFDDC014D4E47F209E, - A0095E097562F35F1368991C, - AB77F3FC20046038C386B654, ); name = positioning; sourceTree = ""; }; - B59CB8F3E747C9E65BB6B86B = {isa = PBXGroup; children = ( - C3640E2CA11B2524C3EA9A1D, - FEC24BD2D3268F6CEB4B7794, - A7E1DDDC3B554B92985D87C5, - C83788FA99D8D90C862F0ADF, - 6FF4A0EA89A10BE0663234C1, - 7C019A0BE9A9EF783740447A, - FAABAEF271A54187E971A758, - 54A6565D93B72819E9CBA571, - D59B6942FDD2642025761C5D, - 14B72B364348CC438D4C0BCC, - 8BB34D1B1519891162B0DBFE, - 95373A4F0D28EC19461D4023, - 6B8769223ACE955EDC8D92E0, - 5C5A9A762BA677C5FA586A6C, - 737A72A9D7F3D081BD2217EE, ); name = drawables; sourceTree = ""; }; - B37B052E276D57892258E69E = {isa = PBXGroup; children = ( - 58ACAEFBBFB48C058D6DBAC7, - 0483EF8F3E1F3AC39B75A368, - E23EFD9F458C3CAA34F313F8, - BAEF7A9BA31820606D33CEF3, - 26E386602EADD2CA4E01F810, - C61DEBD72624C27DC4BCB04D, - 3E5192D29EE372AD29E3A418, - 5BA542F025C9C53790A4D58D, - DD11383968A7BDA570D56BA5, - 8C43F022980ECACBD7EEE3AD, - 0981B4D390F9DCEE43876E0B, - B426A92DF7339E0D8414A8CB, - 9AE95605823935BE3AE8E180, - E1FBDDE0E86BA12213D1543A, ); name = properties; sourceTree = ""; }; - DC4B6A87534CEC499F279F4B = {isa = PBXGroup; children = ( + 243915058AA86D626A0B33DD = {isa = PBXGroup; children = ( 3AE15739CCDC0407119D424E, C61DCFD910CFA3E84AEADDB3, 9533E8D0BD5EF547D9103C92, @@ -1309,48 +1230,40 @@ 1DC7C1BCA084FC90311A7DAA, 1D7E4C081546D77F309C7D32, 181152368AB62DB779D80C65, ); name = lookandfeel; sourceTree = ""; }; - 3293EB60EBAE0075BD8A448E = {isa = PBXGroup; children = ( - 35380E5CC9DAAF269D776D51, - F210BF2B6314CB62EF88D460, - 6A297FD639D5A77DB7B34BEA, - 72112C244DF6A84EE9921E6D, - 2E85F063AD9DDA1DA1DB10F3, - E650CFEF61DBFECD1DCDEB62, - 93EDE5393667D5773723DE6B, - C765F372F958DF6976604264, - 3E107FA4E814233893FBAE7F, - 1F4AE4920DFCFD26C1A2325F, - 3DCB680CCF300E780C14191D, - 8C7B06FF8542957F3E669CEB, - AED64C5E1970FA25F5CFC135, - 4C60CCBC615CF0F57B411334, - 1BDF54419661E3039EF7BD09, - BD2F0D4467D5FEA53744C153, - BC2B01752826F7178A708F05, - 6ECF03C9831A6498A6C4C002, - C0C39C1CE9F8527D18904573, - FF3E2094E86EF2CA8447D8A3, - 5353C6550DCE7DCCF03AD24A, - CF7CA85302F3D9E5D088F99C, ); name = filebrowser; sourceTree = ""; }; - B9874210A4993B0D9CCED8D9 = {isa = PBXGroup; children = ( - 177963253EF46F6C85731453, - 7B1E8345DE0F2267B5922DA7, - D0458D7AE3F0E35321D7D532, - 54DD09B5405BF69675BBFA81, - 454054374D6980D2CBEA4CB0, - 6211FB5E6B90292B8218EF22, - 62C594010A82EB5FD9EA6CF4, - 199D4CAA3766BBDD8FD358A6, - 9A98353E0E7E28EEC92EC0A2, ); name = commands; sourceTree = ""; }; - 2FB99FC625D2EBCFA066312C = {isa = PBXGroup; children = ( + 86156DD787834C64FDF1F7D3 = {isa = PBXGroup; children = ( + AD0668BFAF21C58ED2A307C8, + AC1BEABD9F4763F79C386771, + AA781B9435A57FB2A2E03224, + C025EE160EC2638DF3A52B2A, + 3EA3D9C24F2DCF38243677A8, + 81C8F0975AB02A38B2730E4D, ); name = menus; sourceTree = ""; }; + 87D1069CB4E1775EF8A42866 = {isa = PBXGroup; children = ( 42E8523B865B22592A7E3F0D, 36E092DC359625F701490F13, A4E8B468FD65D3ED6FC57903, 3766FCA37A5A32C244D41528, ); name = misc; sourceTree = ""; }; - 4DBA6D1837A565C91D523DA1 = {isa = PBXGroup; children = ( - A9E44F79C25915233A9291B8, - C1F24188E1527450B90DA222, ); name = application; sourceTree = ""; }; - DA56482322011B0B353B6580 = {isa = PBXGroup; children = ( + 80D573ACA3518F15D7905328 = {isa = PBXGroup; children = ( + 24EF05203880D31E6BDF764E, + 1FF703FF26EF615D4360951E, + 920A56543ED8EE8F3CD33CD3, + FF1BA8DAB62124A6CF6EFD95, + 77003D29EC7BA8C0194A6CC2, + 485A947C026394035F6C9034, + 69FC147780BB490CE7CDA03F, + E46ACCEF31F149DBDAC2FA54, + 74C41B8E645A30D41519F37D, + AC82F805F2444F33115F02CD, + 6CCEF96DB38B32975F61937F, + 62B6AEC645C0D9A5D60118CA, + 94AF7493D3BEFA608436A94E, + 4475821D1F79990CD1D92ACE, + 8EA3D3975A9777582E8A724D, + 7C4795478AA6519EC1F3B994, + A629BE855357CD39299CC3EB, + 41B6B68A857645A4B014E126, + 9E523258934C448A4F23B45B, + 5E524D1FBE1C281344EC02F4, ); name = mouse; sourceTree = ""; }; + 9EC15A759F449B8C009D3464 = {isa = PBXGroup; children = ( CDA25BD03F26A4EB2D0268CD, 560EF8EDA00C258C5EEE0FE3, B7FB20F3D5020CD8988242FB, @@ -1367,25 +1280,102 @@ 578192335A99BEBF7C29D9D3, 985225BD693D490BCC25FDB8, 9391E9EC0F6BC79109DADDB1, ); name = native; sourceTree = ""; }; + 052C0E25A7A45A8845176822 = {isa = PBXGroup; children = ( + FC57AB2A2F759F6A2F4A8BFE, + 41B2962E2D6D62E82D740909, + 0F46D61F1395598ECD58D13B, + 85A746B00A2DA96D05DB3226, + CF51391F83A4DE939326DA11, + 32DD6D458DD1AD9BC369D080, + 1AE8E55EA1A66292DBEFF555, + 2AE9B178500D97B20209CFB1, + 7EB8EBE9B30DAD89CBB4781B, + E5B07EBBF53E541E904E672E, + C4FA36540D8C2EE2955C963A, + 479995FFDDC014D4E47F209E, + A0095E097562F35F1368991C, + AB77F3FC20046038C386B654, ); name = positioning; sourceTree = ""; }; + 3C30D355150E58DD1941A69F = {isa = PBXGroup; children = ( + 58ACAEFBBFB48C058D6DBAC7, + 0483EF8F3E1F3AC39B75A368, + E23EFD9F458C3CAA34F313F8, + BAEF7A9BA31820606D33CEF3, + 26E386602EADD2CA4E01F810, + C61DEBD72624C27DC4BCB04D, + 3E5192D29EE372AD29E3A418, + 5BA542F025C9C53790A4D58D, + DD11383968A7BDA570D56BA5, + 8C43F022980ECACBD7EEE3AD, + 0981B4D390F9DCEE43876E0B, + B426A92DF7339E0D8414A8CB, + 9AE95605823935BE3AE8E180, + E1FBDDE0E86BA12213D1543A, ); name = properties; sourceTree = ""; }; + 1E805672C6F270F639E0B974 = {isa = PBXGroup; children = ( + 8446B6AC814CA0ADFA028F81, + 30E7C41BB43E7DA18E8FCE44, + 53899C203D86F82461F643CB, + 1A4D9E311D74C2C34F973477, + 3CCBA52E5C016CC1BC1869F9, + 04DED4CDAFEAD5632C354DC8, + 7D8DD873165325F10A8E5205, + 408593E7A015C37B1A8CCBC9, + 71A5CA08C0F0E039BE09A653, + 644EE481AA56B73F81B98787, + 79AAF7089E7C4B3181087B8C, + 57B3E5A69E4B34FA7A41D653, + 310476A937DB40FE6E631248, + 695E420607FBB541A5D6FC80, + BDFF9D5A7028F0B2AAD924F4, + 976F6A9CBA64E7BCE3E3084C, + 84247EE31EC66847D50F48F1, + 62A973A08942103877003792, + 3D45FD06186B4C29066565F0, + B6E1814BE1E753B8791962F4, + B3A6A6012DBCC4F758AC6FA1, + 2B9DCD7E2F603F1CD08E71D4, + 12594FC06752AD68EED5B944, + 9A4CC59FB76DF21933FD92B9, + FED5E4E648C2AFC83F011EF6, + F3CBA02AA5EEBEB893A3C0EC, + B08DBA4D99B509A3ADAF5BE7, ); name = widgets; sourceTree = ""; }; + 1437B8BBA61A73D5FECF7ECC = {isa = PBXGroup; children = ( + E0233A7B8DC433E01A5BD7D0, + A675ACB1D796B9BC8C01849F, + 7F86667F456F48414BDEDF49, + 7805AB0B72F8F0E01363D2D5, + 0C1C60C7BB8F03D6963BE744, + 4B1B7EEBA562CA00751F0AFC, + D08753E461EFFCE55CC7115F, + A14EFF189DDF10D24A00FDD1, + 096BC84F2B28F93E4E015C4B, + C6BB19B2FFBF7AB9920E2A42, + B6AAF345264A07BF49ED7FE4, + A9E1EF2E2428F3110C476C31, + 0D6011A3457A01ED628778DA, + EEB4CEB210604BFA8EF15E54, + 51AF8733D0FF3C9FE02D2262, + DA16C157740066E64F739B17, + C681DA0D09A3EED4136F0725, + B0249A38FF3E020466E58AEB, + E23C13A4447852E032B363E4, ); name = windows; sourceTree = ""; }; D3819A9773BF4847E240807F = {isa = PBXGroup; children = ( - 9241E64B7FF3F21F2B2B2BF6, - CC2CBA9784C16830E29B79E8, - D91FCBEB31902101811CDB72, - 28C01CB2953CF7CD78E75DD4, - 344E07A18B765B09564DA4AB, - 6266A1759D76F141876C09FC, - 1FD8D6C101689AFABE0DB36F, - 8D2FE61FD825D1360A98F0D1, - 817CE0020194433B90DC7B9F, - B59CB8F3E747C9E65BB6B86B, - B37B052E276D57892258E69E, - DC4B6A87534CEC499F279F4B, - 3293EB60EBAE0075BD8A448E, - B9874210A4993B0D9CCED8D9, - 2FB99FC625D2EBCFA066312C, - 4DBA6D1837A565C91D523DA1, - DA56482322011B0B353B6580, - 4DDD2D269468402FEC270B7A, + 87C2B7CEA429ABE138533CC1, + 89D1E3189060B0A4B797C3DB, + 6ADA80A4A5500147CBEC2D11, + 338C3725D6B0B3C2F4FBACE3, + EA547DD030D051D8BFC1E933, + E2F8960C69CDD78086E0A52F, + A36BD99BB6E9A44D4FDD9AC5, + 8F3C3D60D8C833A77B35FB31, + 243915058AA86D626A0B33DD, + 86156DD787834C64FDF1F7D3, + 87D1069CB4E1775EF8A42866, + 80D573ACA3518F15D7905328, + 9EC15A759F449B8C009D3464, + 052C0E25A7A45A8845176822, + 3C30D355150E58DD1941A69F, + 1E805672C6F270F639E0B974, + 1437B8BBA61A73D5FECF7ECC, 4C9C4F6E57C0B6BA419B2EBC, ); name = "juce_gui_basics"; sourceTree = ""; }; 662B58AF292299C0B41E86E8 = {isa = PBXGroup; children = ( 69283B9BE6110FE7346F6524, @@ -1447,7 +1437,6 @@ 7A1B435A59410A3A04537AA9, E9DF5682EC7A63CB9EBDF6C9, F3479E6B7AD5FCAD847999D7, - 1FAB0F968375D7C703A232DC, A7220770FDA088EC533BDE74, ); name = "juce_gui_extra"; sourceTree = ""; }; 7B49C7503D580E53881D68B2 = {isa = PBXGroup; children = ( C90657B6622A41E312FCB1BA, @@ -1458,15 +1447,15 @@ 58FF205F12F3E4B3B71D0388, ); name = "Juce Modules"; sourceTree = ""; }; C8DB171045BB94E1594C4734 = {isa = PBXGroup; children = ( 69DE139DE47C5393ABB7330F, - 1613DDD895A055CA5B8EF0C7, - 19E904C25329105CDD300652, - 84101E2D18716179E7CA2350, - BA573E7FBB99B40146613BB3, - B4371B7705C00F493AF23340, - 9217310887FB766C896B4E3F, + 68F27318C27AFE04240C887C, + 8C862FD6A75AE6C4EC591FA4, + A97619677C175B056DC91391, + 0F32C274E26CBEEBF6942238, + A094C1384EE9BF1669F5C10E, + 28FB2369C7BAE3960D6E0AF0, D9CD7480671F5B1BB2C98028, ); name = "Juce Library Code"; sourceTree = ""; }; 5925375147725F3165EF2BD1 = {isa = PBXGroup; children = ( - C83F79CAB7BFF812E7EB5FBD, + D7ABAE7176AC9AC92F8601F8, AF8E83DDD8899587B0C5842E, ); name = Resources; sourceTree = ""; }; 640853E87E00574F350F71AE = {isa = PBXGroup; children = ( 4376301EEAEFEDCA1776FF53, @@ -1475,7 +1464,7 @@ 7A04B95BA723FD5B383F85F5, 8234DF87078EC929238C5679, ); name = Frameworks; sourceTree = ""; }; 72B1FF7E8BB5B7DE3D5AA374 = {isa = PBXGroup; children = ( - 7676A9F9E2BC8FA7334CDA3E, ); name = Products; sourceTree = ""; }; + 48DBB774ADD58780B75FD130, ); name = Products; sourceTree = ""; }; D0953BB62CDDA1D6C60E6893 = {isa = PBXGroup; children = ( 232DE569E6951C8B8D9053A0, 7B49C7503D580E53881D68B2, @@ -1483,7 +1472,7 @@ 5925375147725F3165EF2BD1, 640853E87E00574F350F71AE, 72B1FF7E8BB5B7DE3D5AA374, ); name = Source; sourceTree = ""; }; - B3B12D5C5830C67138D2F627 = {isa = XCBuildConfiguration; buildSettings = { + 9AB0087A8FE1D583D801BBC6 = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; @@ -1499,12 +1488,12 @@ "JUCE_APP_VERSION_HEX=0x10000", ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.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 = { + 71AD821C6BAFC802F59B5091 = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; @@ -1521,7 +1510,7 @@ GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.plist; INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.ComponentTutorialExample; @@ -1558,34 +1547,35 @@ PRODUCT_NAME = "ComponentTutorialExample"; WARNING_CFLAGS = -Wreorder; ZERO_LINK = NO; }; name = Release; }; + 4D715A7C071405EB416EB760 = {isa = PBXTargetDependency; target = FDDAB81F5F4DA48E7807E65A; }; D2C0D08571281A97A8437C77 = {isa = XCConfigurationList; buildConfigurations = ( 5D049546B6C238AD8CC74EDE, 2F64FFDD41FE35121A3E4A2D, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - DEADC9825D12F9ACB9CCA206 = {isa = XCConfigurationList; buildConfigurations = ( - B3B12D5C5830C67138D2F627, - C9043032C653136865D0361A, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - E7CA6CF08E8955D559865CA5 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 19D4440E4BC04A92B1ECD9BE = {isa = XCConfigurationList; buildConfigurations = ( + 9AB0087A8FE1D583D801BBC6, + 71AD821C6BAFC802F59B5091, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 7065518BA4A719BD600955DB = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( B282471C42C86071F4672224, ); runOnlyForDeploymentPostprocessing = 0; }; - A0D4CB05C7C5ECE260CFEC80 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + A0BD0396A9AB3F7FCF37AD62 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 8ABD54E3BA4028ECEC31AFBC, 0A8A8CF29598C91D258FC268, - 3F28936DB8B11BCD353D7B60, - 6BBB8690B9BCE95427E22731, - 25FEB9E9DCD15A72C222FBC6, - 01DD6249850FCE70F3AF97C7, - 9F3F60B9363A9AD48E98F201, - 0DD8C4EC0933BD3AA3CF4FD2, ); runOnlyForDeploymentPostprocessing = 0; }; - 07BA4333A1AB42CB8D706F07 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 9F206917F37BC4E7DC145770, + 240E64863F0846633CF10D77, + B417D29D805C99941F7D2DC7, + 07F902D25D1C7425665EF0B9, + 8512EAE7AF8CDF51BBA09EE8, + CD5A10EC4CD09370AD820C7C, ); runOnlyForDeploymentPostprocessing = 0; }; + 8F57F6817BE0F4126A95541F = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( CA61818451E6455A99E73F0E, 3E6D05290E60817C60A50B3C, 917C7F2271302BC1A59C1363, 1DD9707AD347BFF6757914C2, BBCC3B75B40D8D0899F24683, ); runOnlyForDeploymentPostprocessing = 0; }; - 4E6AE3F8CABE2C59D3394250 = {isa = PBXNativeTarget; buildConfigurationList = DEADC9825D12F9ACB9CCA206; buildPhases = ( - E7CA6CF08E8955D559865CA5, - A0D4CB05C7C5ECE260CFEC80, - 07BA4333A1AB42CB8D706F07, ); buildRules = ( ); dependencies = ( ); name = ComponentTutorialExample; productName = ComponentTutorialExample; productReference = 7676A9F9E2BC8FA7334CDA3E; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; - 3B89677F666BF40854CDE8D3 = {isa = PBXProject; buildConfigurationList = D2C0D08571281A97A8437C77; attributes = { LastUpgradeCheck = 0440; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = D0953BB62CDDA1D6C60E6893; projectDirPath = ""; projectRoot = ""; targets = ( 4E6AE3F8CABE2C59D3394250 ); }; + FDDAB81F5F4DA48E7807E65A = {isa = PBXNativeTarget; buildConfigurationList = 19D4440E4BC04A92B1ECD9BE; buildPhases = ( + 7065518BA4A719BD600955DB, + A0BD0396A9AB3F7FCF37AD62, + 8F57F6817BE0F4126A95541F, ); buildRules = ( ); dependencies = ( ); name = "ComponentTutorialExample (App)"; productName = ComponentTutorialExample; productReference = 48DBB774ADD58780B75FD130; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; + 3B89677F666BF40854CDE8D3 = {isa = PBXProject; buildConfigurationList = D2C0D08571281A97A8437C77; attributes = { LastUpgradeCheck = 0440; TargetAttributes = { FDDAB81F5F4DA48E7807E65A = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = D0953BB62CDDA1D6C60E6893; projectDirPath = ""; projectRoot = ""; targets = (FDDAB81F5F4DA48E7807E65A); }; }; rootObject = 3B89677F666BF40854CDE8D3; } diff --git a/examples/ComponentTutorialExample/Builds/MacOSX/Info.plist b/examples/ComponentTutorialExample/Builds/MacOSX/Info-App.plist similarity index 88% rename from examples/ComponentTutorialExample/Builds/MacOSX/Info.plist rename to examples/ComponentTutorialExample/Builds/MacOSX/Info-App.plist index 503e918d79..8b8c676ab5 100644 --- a/examples/ComponentTutorialExample/Builds/MacOSX/Info.plist +++ b/examples/ComponentTutorialExample/Builds/MacOSX/Info-App.plist @@ -11,6 +11,8 @@ $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName ComponentTutorialExample + CFBundleDisplayName + ComponentTutorialExample CFBundlePackageType APPL CFBundleSignature diff --git a/examples/ComponentTutorialExample/Builds/VisualStudio2010/ComponentTutorialExample.vcxproj b/examples/ComponentTutorialExample/Builds/VisualStudio2010/ComponentTutorialExample.vcxproj index b17168e725..f8558e519a 100644 --- a/examples/ComponentTutorialExample/Builds/VisualStudio2010/ComponentTutorialExample.vcxproj +++ b/examples/ComponentTutorialExample/Builds/VisualStudio2010/ComponentTutorialExample.vcxproj @@ -125,45 +125,6 @@ - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -179,33 +140,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -230,40 +164,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -272,31 +176,16 @@ true - + true - + true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -362,16 +251,115 @@ true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -380,22 +368,16 @@ true - + true - + true - + true - - true - - - true - - + true @@ -416,6 +398,18 @@ true + + true + + + true + + + true + + + true + true @@ -425,6 +419,12 @@ true + + true + + + true + true @@ -446,43 +446,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -503,10 +470,40 @@ true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -533,6 +530,51 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -545,6 +587,153 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -566,19 +755,70 @@ true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -647,246 +887,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -953,32 +953,46 @@ true - - - - - - + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -999,22 +1013,49 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1034,62 +1075,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - + + + + - - - - + + + + + + + + @@ -1099,19 +1107,11 @@ - - - - - - - - - - + + @@ -1122,10 +1122,15 @@ - - - - + + + + + + + + + @@ -1136,26 +1141,91 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1169,14 +1239,21 @@ - - - - - - - - + + + + + + + + + + + + + + + @@ -1201,83 +1278,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1306,14 +1306,6 @@ - - - - - - - - diff --git a/examples/ComponentTutorialExample/Builds/VisualStudio2010/ComponentTutorialExample.vcxproj.filters b/examples/ComponentTutorialExample/Builds/VisualStudio2010/ComponentTutorialExample.vcxproj.filters index 93c8d6cbb0..3fc5007086 100644 --- a/examples/ComponentTutorialExample/Builds/VisualStudio2010/ComponentTutorialExample.vcxproj.filters +++ b/examples/ComponentTutorialExample/Builds/VisualStudio2010/ComponentTutorialExample.vcxproj.filters @@ -14,8 +14,17 @@ {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} - - {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + + {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + + {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + + {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} {476C69CE-0B67-6B85-E888-45D91E37A29E} @@ -23,17 +32,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} - - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -41,60 +44,57 @@ {91929C6F-7902-B87D-5260-2F6CBF8ACD93} - - {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} - {4634FFAE-9586-A970-364C-4FDDA635F99F} - - {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} - - {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - {F03654BC-34D8-F975-BEA3-750CC2783D23} + + {C9F6D785-BF78-5AA1-B479-111C65397864} {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} - - {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} - - {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + {F03654BC-34D8-F975-BEA3-750CC2783D23} {928D8FCC-5E00-174B-6538-93E8D75AB396} - - {1988E68A-A964-64CA-0E0C-26FF9BC5176C} + + {358AEA11-3F96-36AE-7B32-71373B5C5396} {3DF036EA-3B80-553B-2494-3AAC835CAE75} - - {358AEA11-3F96-36AE-7B32-71373B5C5396} + + {1988E68A-A964-64CA-0E0C-26FF9BC5176C} {F2A38F45-6E55-E147-2E52-64A89FDD9D59} - - {6172822C-01A5-E824-12DA-FA43FA934D35} - - - {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} - {B098BC87-3298-7E6B-12DC-D26C09CDCAED} {6322B88F-984A-C3CD-6263-38D7AA49B6EC} + + {6172822C-01A5-E824-12DA-FA43FA934D35} + {73C1E759-AD90-59A3-942E-2D10FAA29107} + + {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} + {EE1AE8C3-0908-8F53-A4E5-D930C7C97C26} @@ -104,81 +104,81 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} - - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - - {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {E37D25CD-4350-4614-055B-7ABC55E67895} {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {C1A1A236-AB01-173E-96C3-0706BFF93B1E} + + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + + {413F481F-075C-2958-115C-D8268682FCB7} {FFC6E1CC-C772-75E6-5087-FB5D4E016799} + + {1182303F-ECA3-166D-AC0C-92C5E762CB93} + {8E43579F-C185-266D-DD67-F8B95BD80F2F} + + {61712B09-5783-ADFA-2001-5A0C3D7764EB} + + + {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + + {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} + {2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D} - - {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + {5A0AA36E-3957-E413-14C6-31CBE15271DF} + + + {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} {A92719C7-70BE-57C4-CE9E-A9BC9DFEB757} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} + + + {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} + + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} + + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + + {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} + + + {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} + {75F1F352-251A-75E0-D941-8431588F5C1E} {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} - - {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} - - - {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} - - - {5A0AA36E-3957-E413-14C6-31CBE15271DF} - - - {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} - - - {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} - - - {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} - - - {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} - - - {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - - {61712B09-5783-ADFA-2001-5A0C3D7764EB} - - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} - {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -208,45 +208,6 @@ ComponentTutorialExample\Source - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\memory - Juce Modules\juce_core\containers @@ -262,33 +223,6 @@ Juce Modules\juce_core\containers - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - Juce Modules\juce_core\files @@ -313,41 +247,11 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -355,32 +259,17 @@ Juce Modules\juce_core\logging - - Juce Modules\juce_core\system + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc @@ -460,6 +349,126 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -469,33 +478,6 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - Juce Modules\juce_events\broadcasters @@ -514,6 +496,18 @@ Juce Modules\juce_events\interprocess + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + Juce Modules\juce_events\native @@ -529,6 +523,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_graphics\colour @@ -550,44 +550,11 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\effects Juce Modules\juce_graphics\fonts @@ -607,11 +574,41 @@ Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -643,6 +640,51 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -655,6 +697,153 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -676,20 +865,92 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -757,267 +1018,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_extra\code_editor @@ -1096,22 +1096,22 @@ Juce Modules\juce_gui_extra\native - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code @@ -1125,50 +1125,92 @@ ComponentTutorialExample\Source - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -1230,53 +1272,134 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text Juce Modules\juce_core\threads @@ -1335,92 +1458,8 @@ Juce Modules\juce_core\time - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -1428,12 +1467,6 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - Juce Modules\juce_core\zip @@ -1443,42 +1476,21 @@ Juce Modules\juce_core\zip - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - Juce Modules\juce_core + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -1488,21 +1500,33 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - Juce Modules\juce_data_structures + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + Juce Modules\juce_events\messages @@ -1530,36 +1554,6 @@ Juce Modules\juce_events\messages - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - Juce Modules\juce_events\native @@ -1569,6 +1563,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_events @@ -1599,17 +1599,32 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -1641,38 +1656,17 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -1683,9 +1677,60 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + Juce Modules\juce_graphics + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -1701,6 +1746,171 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -1740,29 +1950,50 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -1836,237 +2067,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_basics @@ -2149,26 +2149,6 @@ Juce Library Code - - - Juce Modules\juce_core - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_gui_extra - - Juce Library Code diff --git a/examples/ComponentTutorialExample/Builds/VisualStudio2012/ComponentTutorialExample.vcxproj b/examples/ComponentTutorialExample/Builds/VisualStudio2012/ComponentTutorialExample.vcxproj index 929cb8a876..c100c38251 100644 --- a/examples/ComponentTutorialExample/Builds/VisualStudio2012/ComponentTutorialExample.vcxproj +++ b/examples/ComponentTutorialExample/Builds/VisualStudio2012/ComponentTutorialExample.vcxproj @@ -131,45 +131,6 @@ - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -185,33 +146,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -236,40 +170,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -278,31 +182,16 @@ true - + true - + true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -368,16 +257,115 @@ true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -386,22 +374,16 @@ true - + true - + true - + true - - true - - - true - - + true @@ -422,6 +404,18 @@ true + + true + + + true + + + true + + + true + true @@ -431,6 +425,12 @@ true + + true + + + true + true @@ -452,43 +452,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -509,10 +476,40 @@ true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -539,6 +536,51 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -551,6 +593,153 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -572,19 +761,70 @@ true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -653,246 +893,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -959,32 +959,46 @@ true - - - - - - + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1005,22 +1019,49 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1040,62 +1081,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - + + + + - - - - + + + + + + + + @@ -1105,19 +1113,11 @@ - - - - - - - - - - + + @@ -1128,10 +1128,15 @@ - - - - + + + + + + + + + @@ -1142,26 +1147,91 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1175,14 +1245,21 @@ - - - - - - - - + + + + + + + + + + + + + + + @@ -1207,83 +1284,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1312,14 +1312,6 @@ - - - - - - - - diff --git a/examples/ComponentTutorialExample/Builds/VisualStudio2012/ComponentTutorialExample.vcxproj.filters b/examples/ComponentTutorialExample/Builds/VisualStudio2012/ComponentTutorialExample.vcxproj.filters index 93c8d6cbb0..3fc5007086 100644 --- a/examples/ComponentTutorialExample/Builds/VisualStudio2012/ComponentTutorialExample.vcxproj.filters +++ b/examples/ComponentTutorialExample/Builds/VisualStudio2012/ComponentTutorialExample.vcxproj.filters @@ -14,8 +14,17 @@ {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} - - {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + + {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + + {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + + {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} {476C69CE-0B67-6B85-E888-45D91E37A29E} @@ -23,17 +32,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} - - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -41,60 +44,57 @@ {91929C6F-7902-B87D-5260-2F6CBF8ACD93} - - {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} - {4634FFAE-9586-A970-364C-4FDDA635F99F} - - {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} - - {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - {F03654BC-34D8-F975-BEA3-750CC2783D23} + + {C9F6D785-BF78-5AA1-B479-111C65397864} {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} - - {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} - - {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + {F03654BC-34D8-F975-BEA3-750CC2783D23} {928D8FCC-5E00-174B-6538-93E8D75AB396} - - {1988E68A-A964-64CA-0E0C-26FF9BC5176C} + + {358AEA11-3F96-36AE-7B32-71373B5C5396} {3DF036EA-3B80-553B-2494-3AAC835CAE75} - - {358AEA11-3F96-36AE-7B32-71373B5C5396} + + {1988E68A-A964-64CA-0E0C-26FF9BC5176C} {F2A38F45-6E55-E147-2E52-64A89FDD9D59} - - {6172822C-01A5-E824-12DA-FA43FA934D35} - - - {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} - {B098BC87-3298-7E6B-12DC-D26C09CDCAED} {6322B88F-984A-C3CD-6263-38D7AA49B6EC} + + {6172822C-01A5-E824-12DA-FA43FA934D35} + {73C1E759-AD90-59A3-942E-2D10FAA29107} + + {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} + {EE1AE8C3-0908-8F53-A4E5-D930C7C97C26} @@ -104,81 +104,81 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} - - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - - {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {E37D25CD-4350-4614-055B-7ABC55E67895} {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {C1A1A236-AB01-173E-96C3-0706BFF93B1E} + + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + + {413F481F-075C-2958-115C-D8268682FCB7} {FFC6E1CC-C772-75E6-5087-FB5D4E016799} + + {1182303F-ECA3-166D-AC0C-92C5E762CB93} + {8E43579F-C185-266D-DD67-F8B95BD80F2F} + + {61712B09-5783-ADFA-2001-5A0C3D7764EB} + + + {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + + {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} + {2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D} - - {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + {5A0AA36E-3957-E413-14C6-31CBE15271DF} + + + {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} {A92719C7-70BE-57C4-CE9E-A9BC9DFEB757} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} + + + {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} + + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} + + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + + {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} + + + {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} + {75F1F352-251A-75E0-D941-8431588F5C1E} {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} - - {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} - - - {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} - - - {5A0AA36E-3957-E413-14C6-31CBE15271DF} - - - {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} - - - {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} - - - {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} - - - {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} - - - {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - - {61712B09-5783-ADFA-2001-5A0C3D7764EB} - - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} - {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -208,45 +208,6 @@ ComponentTutorialExample\Source - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\memory - Juce Modules\juce_core\containers @@ -262,33 +223,6 @@ Juce Modules\juce_core\containers - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - Juce Modules\juce_core\files @@ -313,41 +247,11 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -355,32 +259,17 @@ Juce Modules\juce_core\logging - - Juce Modules\juce_core\system + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc @@ -460,6 +349,126 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -469,33 +478,6 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - Juce Modules\juce_events\broadcasters @@ -514,6 +496,18 @@ Juce Modules\juce_events\interprocess + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + Juce Modules\juce_events\native @@ -529,6 +523,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_graphics\colour @@ -550,44 +550,11 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\effects Juce Modules\juce_graphics\fonts @@ -607,11 +574,41 @@ Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -643,6 +640,51 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -655,6 +697,153 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -676,20 +865,92 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -757,267 +1018,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_extra\code_editor @@ -1096,22 +1096,22 @@ Juce Modules\juce_gui_extra\native - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code @@ -1125,50 +1125,92 @@ ComponentTutorialExample\Source - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -1230,53 +1272,134 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text Juce Modules\juce_core\threads @@ -1335,92 +1458,8 @@ Juce Modules\juce_core\time - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -1428,12 +1467,6 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - Juce Modules\juce_core\zip @@ -1443,42 +1476,21 @@ Juce Modules\juce_core\zip - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - Juce Modules\juce_core + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -1488,21 +1500,33 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - Juce Modules\juce_data_structures + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + Juce Modules\juce_events\messages @@ -1530,36 +1554,6 @@ Juce Modules\juce_events\messages - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - Juce Modules\juce_events\native @@ -1569,6 +1563,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_events @@ -1599,17 +1599,32 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -1641,38 +1656,17 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -1683,9 +1677,60 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + Juce Modules\juce_graphics + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -1701,6 +1746,171 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -1740,29 +1950,50 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -1836,237 +2067,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_basics @@ -2149,26 +2149,6 @@ Juce Library Code - - - Juce Modules\juce_core - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_gui_extra - - Juce Library Code diff --git a/examples/ComponentTutorialExample/ComponentTutorialExample.jucer b/examples/ComponentTutorialExample/ComponentTutorialExample.jucer index a4bd8a5a29..29828a32f7 100644 --- a/examples/ComponentTutorialExample/ComponentTutorialExample.jucer +++ b/examples/ComponentTutorialExample/ComponentTutorialExample.jucer @@ -2,7 +2,7 @@ + includeBinaryInAppConfig="1" jucerVersion="4.2.0"> +#include +#include +#include +#include +#include + #if ! DONT_SET_USING_JUCE_NAMESPACE // If your code uses a lot of JUCE classes, then this will obviously save you diff --git a/examples/ComponentTutorialExample/JuceLibraryCode/ReadMe.txt b/examples/ComponentTutorialExample/JuceLibraryCode/ReadMe.txt index f6c3564e99..091a5aa6eb 100644 --- a/examples/ComponentTutorialExample/JuceLibraryCode/ReadMe.txt +++ b/examples/ComponentTutorialExample/JuceLibraryCode/ReadMe.txt @@ -2,11 +2,11 @@ Important Note!! ================ -The purpose of this folder is to contain files that are auto-generated by the Introjucer, +The purpose of this folder is to contain files that are auto-generated by the Projucer, and ALL files in this folder will be mercilessly DELETED and completely re-written whenever -the Introjucer saves your project. +the Projucer saves your project. Therefore, it's a bad idea to make any manual changes to the files in here, or to put any of your own files in here if you don't want to lose them. (Of course you may choose to add the folder's contents to your version-control system so that you can re-merge your own -modifications after the Introjucer has saved its changes). +modifications after the Projucer has saved its changes). diff --git a/examples/ComponentTutorialExample/JuceLibraryCode/juce_core.cpp b/examples/ComponentTutorialExample/JuceLibraryCode/juce_core.cpp new file mode 100644 index 0000000000..d0ce1636f0 --- /dev/null +++ b/examples/ComponentTutorialExample/JuceLibraryCode/juce_core.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/ComponentTutorialExample/JuceLibraryCode/juce_core.mm b/examples/ComponentTutorialExample/JuceLibraryCode/juce_core.mm new file mode 100644 index 0000000000..72b10bf817 --- /dev/null +++ b/examples/ComponentTutorialExample/JuceLibraryCode/juce_core.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/ComponentTutorialExample/JuceLibraryCode/juce_data_structures.cpp b/examples/ComponentTutorialExample/JuceLibraryCode/juce_data_structures.cpp new file mode 100644 index 0000000000..9315aa1686 --- /dev/null +++ b/examples/ComponentTutorialExample/JuceLibraryCode/juce_data_structures.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/ComponentTutorialExample/JuceLibraryCode/juce_data_structures.mm b/examples/ComponentTutorialExample/JuceLibraryCode/juce_data_structures.mm new file mode 100644 index 0000000000..695ec43925 --- /dev/null +++ b/examples/ComponentTutorialExample/JuceLibraryCode/juce_data_structures.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/ComponentTutorialExample/JuceLibraryCode/juce_events.cpp b/examples/ComponentTutorialExample/JuceLibraryCode/juce_events.cpp new file mode 100644 index 0000000000..1bba110a97 --- /dev/null +++ b/examples/ComponentTutorialExample/JuceLibraryCode/juce_events.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/ComponentTutorialExample/JuceLibraryCode/juce_events.mm b/examples/ComponentTutorialExample/JuceLibraryCode/juce_events.mm new file mode 100644 index 0000000000..4cc34fc401 --- /dev/null +++ b/examples/ComponentTutorialExample/JuceLibraryCode/juce_events.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/ComponentTutorialExample/JuceLibraryCode/juce_graphics.cpp b/examples/ComponentTutorialExample/JuceLibraryCode/juce_graphics.cpp new file mode 100644 index 0000000000..319c76de0e --- /dev/null +++ b/examples/ComponentTutorialExample/JuceLibraryCode/juce_graphics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/ComponentTutorialExample/JuceLibraryCode/juce_graphics.mm b/examples/ComponentTutorialExample/JuceLibraryCode/juce_graphics.mm new file mode 100644 index 0000000000..b28e6dd056 --- /dev/null +++ b/examples/ComponentTutorialExample/JuceLibraryCode/juce_graphics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/ComponentTutorialExample/JuceLibraryCode/juce_gui_basics.cpp b/examples/ComponentTutorialExample/JuceLibraryCode/juce_gui_basics.cpp new file mode 100644 index 0000000000..216c76bb05 --- /dev/null +++ b/examples/ComponentTutorialExample/JuceLibraryCode/juce_gui_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/ComponentTutorialExample/JuceLibraryCode/juce_gui_basics.mm b/examples/ComponentTutorialExample/JuceLibraryCode/juce_gui_basics.mm new file mode 100644 index 0000000000..6a9726fa5f --- /dev/null +++ b/examples/ComponentTutorialExample/JuceLibraryCode/juce_gui_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/ComponentTutorialExample/JuceLibraryCode/juce_gui_extra.cpp b/examples/ComponentTutorialExample/JuceLibraryCode/juce_gui_extra.cpp new file mode 100644 index 0000000000..7226e19833 --- /dev/null +++ b/examples/ComponentTutorialExample/JuceLibraryCode/juce_gui_extra.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/ComponentTutorialExample/JuceLibraryCode/juce_gui_extra.mm b/examples/ComponentTutorialExample/JuceLibraryCode/juce_gui_extra.mm new file mode 100644 index 0000000000..c9b6c3bfc6 --- /dev/null +++ b/examples/ComponentTutorialExample/JuceLibraryCode/juce_gui_extra.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/ComponentTutorialExample/JuceLibraryCode/modules/juce_core/juce_core.h b/examples/ComponentTutorialExample/JuceLibraryCode/modules/juce_core/juce_core.h deleted file mode 100644 index 06e88f9352..0000000000 --- a/examples/ComponentTutorialExample/JuceLibraryCode/modules/juce_core/juce_core.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_core/juce_core.h" diff --git a/examples/ComponentTutorialExample/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h b/examples/ComponentTutorialExample/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h deleted file mode 100644 index 9d814fd953..0000000000 --- a/examples/ComponentTutorialExample/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_data_structures/juce_data_structures.h" diff --git a/examples/ComponentTutorialExample/JuceLibraryCode/modules/juce_events/juce_events.h b/examples/ComponentTutorialExample/JuceLibraryCode/modules/juce_events/juce_events.h deleted file mode 100644 index 509b1df8d2..0000000000 --- a/examples/ComponentTutorialExample/JuceLibraryCode/modules/juce_events/juce_events.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_events/juce_events.h" diff --git a/examples/ComponentTutorialExample/JuceLibraryCode/modules/juce_graphics/juce_graphics.h b/examples/ComponentTutorialExample/JuceLibraryCode/modules/juce_graphics/juce_graphics.h deleted file mode 100644 index 28edbf35e3..0000000000 --- a/examples/ComponentTutorialExample/JuceLibraryCode/modules/juce_graphics/juce_graphics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_graphics/juce_graphics.h" diff --git a/examples/ComponentTutorialExample/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h b/examples/ComponentTutorialExample/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h deleted file mode 100644 index 81ad4b7297..0000000000 --- a/examples/ComponentTutorialExample/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_gui_basics/juce_gui_basics.h" diff --git a/examples/ComponentTutorialExample/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h b/examples/ComponentTutorialExample/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h deleted file mode 100644 index 5c9b7a96b5..0000000000 --- a/examples/ComponentTutorialExample/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_gui_extra/juce_gui_extra.h" diff --git a/examples/ComponentTutorialExample/Source/Main.cpp b/examples/ComponentTutorialExample/Source/Main.cpp index cd43410b05..fc240f432a 100644 --- a/examples/ComponentTutorialExample/Source/Main.cpp +++ b/examples/ComponentTutorialExample/Source/Main.cpp @@ -1,7 +1,7 @@ /* ============================================================================== - This file was auto-generated by the Introjucer! + This file was auto-generated by the Projucer! It contains the basic startup code for a Juce application. diff --git a/examples/Demo/Builds/Android/jni/Android.mk b/examples/Demo/Builds/Android/jni/Android.mk index 3825c53397..163e55cb12 100644 --- a/examples/Demo/Builds/Android/jni/Android.mk +++ b/examples/Demo/Builds/Android/jni/Android.mk @@ -1,5 +1,5 @@ -# Automatically generated makefile, created by the Introjucer -# Don't edit this file! Your changes will be overwritten when you re-save the Introjucer project! +# Automatically generated makefile, created by the Projucer +# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project! LOCAL_PATH := $(call my-dir) @@ -52,31 +52,31 @@ LOCAL_SRC_FILES := \ ../../../Source/Demos/WindowsDemo.cpp\ ../../../Source/Demos/XMLandJSONDemo.cpp\ ../../../JuceLibraryCode/BinaryData.cpp\ - ../../../../../modules/juce_audio_basics/juce_audio_basics.cpp\ - ../../../../../modules/juce_audio_devices/juce_audio_devices.cpp\ - ../../../../../modules/juce_audio_formats/juce_audio_formats.cpp\ - ../../../../../modules/juce_audio_processors/juce_audio_processors.cpp\ - ../../../../../modules/juce_audio_utils/juce_audio_utils.cpp\ - ../../../../../modules/juce_box2d/juce_box2d.cpp\ - ../../../../../modules/juce_core/juce_core.cpp\ - ../../../../../modules/juce_cryptography/juce_cryptography.cpp\ - ../../../../../modules/juce_data_structures/juce_data_structures.cpp\ - ../../../../../modules/juce_events/juce_events.cpp\ - ../../../../../modules/juce_graphics/juce_graphics.cpp\ - ../../../../../modules/juce_gui_basics/juce_gui_basics.cpp\ - ../../../../../modules/juce_gui_extra/juce_gui_extra.cpp\ - ../../../../../modules/juce_opengl/juce_opengl.cpp\ - ../../../../../modules/juce_video/juce_video.cpp\ + ../../../JuceLibraryCode/juce_audio_basics.cpp\ + ../../../JuceLibraryCode/juce_audio_devices.cpp\ + ../../../JuceLibraryCode/juce_audio_formats.cpp\ + ../../../JuceLibraryCode/juce_audio_processors.cpp\ + ../../../JuceLibraryCode/juce_audio_utils.cpp\ + ../../../JuceLibraryCode/juce_box2d.cpp\ + ../../../JuceLibraryCode/juce_core.cpp\ + ../../../JuceLibraryCode/juce_cryptography.cpp\ + ../../../JuceLibraryCode/juce_data_structures.cpp\ + ../../../JuceLibraryCode/juce_events.cpp\ + ../../../JuceLibraryCode/juce_graphics.cpp\ + ../../../JuceLibraryCode/juce_gui_basics.cpp\ + ../../../JuceLibraryCode/juce_gui_extra.cpp\ + ../../../JuceLibraryCode/juce_opengl.cpp\ + ../../../JuceLibraryCode/juce_video.cpp\ ifeq ($(NDK_DEBUG),1) - LOCAL_CPPFLAGS += -fsigned-char -fexceptions -frtti -g -I "../../JuceLibraryCode" -I "../../../../modules" -O0 -std=c++11 -std=gnu++11 -D "JUCE_ANDROID=1" -D "JUCE_ANDROID_API_VERSION=23" -D "JUCE_ANDROID_ACTIVITY_CLASSNAME=com_juce_jucedemo_JuceDemo" -D JUCE_ANDROID_ACTIVITY_CLASSPATH=\"com/juce/jucedemo/JuceDemo\" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCE_UNIT_TESTS=1" -D "JUCER_ANDROID_7F0E4A25=1" -D "JUCE_APP_VERSION=3.0.0" -D "JUCE_APP_VERSION_HEX=0x30000" + LOCAL_CPPFLAGS += -fsigned-char -fexceptions -frtti -g -I "../../JuceLibraryCode" -I "../../../../modules" -O0 -std=gnu++11 -D "JUCE_ANDROID=1" -D "JUCE_ANDROID_API_VERSION=23" -D "JUCE_ANDROID_ACTIVITY_CLASSNAME=com_juce_jucedemo_JuceDemo" -D JUCE_ANDROID_ACTIVITY_CLASSPATH=\"com/juce/jucedemo/JuceDemo\" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCE_UNIT_TESTS=1" -D "JUCER_ANDROID_7F0E4A25=1" -D "JUCE_APP_VERSION=3.0.0" -D "JUCE_APP_VERSION_HEX=0x30000" LOCAL_LDLIBS := -llog -lGLESv2 -landroid -lEGL - LOCAL_CFLAGS += -fsigned-char -fexceptions -frtti -g -I "../../JuceLibraryCode" -I "../../../../modules" -O0 -std=c++11 -std=gnu++11 -D "JUCE_ANDROID=1" -D "JUCE_ANDROID_API_VERSION=23" -D "JUCE_ANDROID_ACTIVITY_CLASSNAME=com_juce_jucedemo_JuceDemo" -D JUCE_ANDROID_ACTIVITY_CLASSPATH=\"com/juce/jucedemo/JuceDemo\" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCE_UNIT_TESTS=1" -D "JUCER_ANDROID_7F0E4A25=1" -D "JUCE_APP_VERSION=3.0.0" -D "JUCE_APP_VERSION_HEX=0x30000" + LOCAL_CFLAGS += -fsigned-char -fexceptions -frtti -g -I "../../JuceLibraryCode" -I "../../../../modules" -O0 -std=gnu++11 -D "JUCE_ANDROID=1" -D "JUCE_ANDROID_API_VERSION=23" -D "JUCE_ANDROID_ACTIVITY_CLASSNAME=com_juce_jucedemo_JuceDemo" -D JUCE_ANDROID_ACTIVITY_CLASSPATH=\"com/juce/jucedemo/JuceDemo\" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCE_UNIT_TESTS=1" -D "JUCER_ANDROID_7F0E4A25=1" -D "JUCE_APP_VERSION=3.0.0" -D "JUCE_APP_VERSION_HEX=0x30000" LOCAL_LDLIBS := -llog -lGLESv2 -landroid -lEGL else - LOCAL_CPPFLAGS += -fsigned-char -fexceptions -frtti -I "../../JuceLibraryCode" -I "../../../../modules" -O3 -std=c++11 -std=gnu++11 -D "JUCE_ANDROID=1" -D "JUCE_ANDROID_API_VERSION=23" -D "JUCE_ANDROID_ACTIVITY_CLASSNAME=com_juce_jucedemo_JuceDemo" -D JUCE_ANDROID_ACTIVITY_CLASSPATH=\"com/juce/jucedemo/JuceDemo\" -D "NDEBUG=1" -D "JUCE_UNIT_TESTS=1" -D "JUCER_ANDROID_7F0E4A25=1" -D "JUCE_APP_VERSION=3.0.0" -D "JUCE_APP_VERSION_HEX=0x30000" + LOCAL_CPPFLAGS += -fsigned-char -fexceptions -frtti -I "../../JuceLibraryCode" -I "../../../../modules" -O3 -std=gnu++11 -D "JUCE_ANDROID=1" -D "JUCE_ANDROID_API_VERSION=23" -D "JUCE_ANDROID_ACTIVITY_CLASSNAME=com_juce_jucedemo_JuceDemo" -D JUCE_ANDROID_ACTIVITY_CLASSPATH=\"com/juce/jucedemo/JuceDemo\" -D "NDEBUG=1" -D "JUCE_UNIT_TESTS=1" -D "JUCER_ANDROID_7F0E4A25=1" -D "JUCE_APP_VERSION=3.0.0" -D "JUCE_APP_VERSION_HEX=0x30000" LOCAL_LDLIBS := -llog -lGLESv2 -landroid -lEGL - LOCAL_CFLAGS += -fsigned-char -fexceptions -frtti -I "../../JuceLibraryCode" -I "../../../../modules" -O3 -std=c++11 -std=gnu++11 -D "JUCE_ANDROID=1" -D "JUCE_ANDROID_API_VERSION=23" -D "JUCE_ANDROID_ACTIVITY_CLASSNAME=com_juce_jucedemo_JuceDemo" -D JUCE_ANDROID_ACTIVITY_CLASSPATH=\"com/juce/jucedemo/JuceDemo\" -D "NDEBUG=1" -D "JUCE_UNIT_TESTS=1" -D "JUCER_ANDROID_7F0E4A25=1" -D "JUCE_APP_VERSION=3.0.0" -D "JUCE_APP_VERSION_HEX=0x30000" + LOCAL_CFLAGS += -fsigned-char -fexceptions -frtti -I "../../JuceLibraryCode" -I "../../../../modules" -O3 -std=gnu++11 -D "JUCE_ANDROID=1" -D "JUCE_ANDROID_API_VERSION=23" -D "JUCE_ANDROID_ACTIVITY_CLASSNAME=com_juce_jucedemo_JuceDemo" -D JUCE_ANDROID_ACTIVITY_CLASSPATH=\"com/juce/jucedemo/JuceDemo\" -D "NDEBUG=1" -D "JUCE_UNIT_TESTS=1" -D "JUCER_ANDROID_7F0E4A25=1" -D "JUCE_APP_VERSION=3.0.0" -D "JUCE_APP_VERSION_HEX=0x30000" LOCAL_LDLIBS := -llog -lGLESv2 -landroid -lEGL endif diff --git a/examples/Demo/Builds/Android/jni/Application.mk b/examples/Demo/Builds/Android/jni/Application.mk index 67c5e77cb6..365399748d 100644 --- a/examples/Demo/Builds/Android/jni/Application.mk +++ b/examples/Demo/Builds/Android/jni/Application.mk @@ -1,10 +1,10 @@ -# Automatically generated makefile, created by the Introjucer -# Don't edit this file! Your changes will be overwritten when you re-save the Introjucer project! +# Automatically generated makefile, created by the Projucer +# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project! APP_STL := gnustl_static APP_CPPFLAGS += -fsigned-char -fexceptions -frtti -Wno-psabi APP_PLATFORM := android-23 -NDK_TOOLCHAIN_VERSION := 4.8 +NDK_TOOLCHAIN_VERSION := 4.9 ifeq ($(NDK_DEBUG),1) APP_ABI := armeabi x86 diff --git a/examples/Demo/Builds/Android/local.properties b/examples/Demo/Builds/Android/local.properties index 45d3a8b7ad..f4c6289f26 100644 --- a/examples/Demo/Builds/Android/local.properties +++ b/examples/Demo/Builds/Android/local.properties @@ -1,5 +1,5 @@ # This file is used to override default values used by the Ant build system. -# It is automatically generated by the Introjucer - DO NOT EDIT IT or your changes will be lost!. +# It is automatically generated by the Projucer - DO NOT EDIT IT or your changes will be lost!. sdk.dir=${user.home}/Library/Android/sdk ndk.dir=${user.home}/Library/Android/sdk/ndk-bundle diff --git a/examples/Demo/Builds/Android/res/drawable-mdpi/icon.png b/examples/Demo/Builds/Android/res/drawable-mdpi/icon.png index e0d3f789d3f9cc3bf742ae7f66657c440b29b492..dddc79015e7f57a6cafaaedc9fc0d978a64b94fb 100644 GIT binary patch literal 44823 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 Um%~c~?fXHJqH^D=g!Kdd2bwhvF8}}l literal 44820 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 VCZlPoJMw{mOI})83L;?=`hVx6!RP=0 diff --git a/examples/Demo/Builds/Linux/Makefile b/examples/Demo/Builds/Linux/Makefile index 7e8a9735ac..26d574110a 100644 --- a/examples/Demo/Builds/Linux/Makefile +++ b/examples/Demo/Builds/Linux/Makefile @@ -1,5 +1,5 @@ -# Automatically generated makefile, created by the Introjucer -# Don't edit this file! Your changes will be overwritten when you re-save the Introjucer project! +# Automatically generated makefile, created by the Projucer +# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project! # (this disables dependency generation if multiple architectures are set) DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) @@ -90,21 +90,21 @@ OBJECTS := \ $(OBJDIR)/WindowsDemo_e8cfa428.o \ $(OBJDIR)/XMLandJSONDemo_5bc88df3.o \ $(OBJDIR)/BinaryData_ce4232d4.o \ - $(OBJDIR)/juce_audio_basics_399a455e.o \ - $(OBJDIR)/juce_audio_devices_c1c9ba9c.o \ - $(OBJDIR)/juce_audio_formats_f04b043c.o \ - $(OBJDIR)/juce_audio_processors_eb9ae116.o \ - $(OBJDIR)/juce_audio_utils_cf18005c.o \ - $(OBJDIR)/juce_box2d_7c8de7fc.o \ - $(OBJDIR)/juce_core_1ee54a40.o \ - $(OBJDIR)/juce_cryptography_3b1f489a.o \ - $(OBJDIR)/juce_data_structures_84790dfc.o \ - $(OBJDIR)/juce_events_584896b4.o \ - $(OBJDIR)/juce_graphics_f9afc18.o \ - $(OBJDIR)/juce_gui_basics_90929794.o \ - $(OBJDIR)/juce_gui_extra_b81d9e1c.o \ - $(OBJDIR)/juce_opengl_1890bee0.o \ - $(OBJDIR)/juce_video_86a19d3c.o \ + $(OBJDIR)/juce_audio_basics_6b797ca1.o \ + $(OBJDIR)/juce_audio_devices_a742c38b.o \ + $(OBJDIR)/juce_audio_formats_5a29c68a.o \ + $(OBJDIR)/juce_audio_processors_dea3173d.o \ + $(OBJDIR)/juce_audio_utils_c7eb679f.o \ + $(OBJDIR)/juce_box2d_95719d14.o \ + $(OBJDIR)/juce_core_75b14332.o \ + $(OBJDIR)/juce_cryptography_6de2ebff.o \ + $(OBJDIR)/juce_data_structures_72d3da2c.o \ + $(OBJDIR)/juce_events_d2be882c.o \ + $(OBJDIR)/juce_graphics_9c18891e.o \ + $(OBJDIR)/juce_gui_basics_8a6da59c.o \ + $(OBJDIR)/juce_gui_extra_4a026f23.o \ + $(OBJDIR)/juce_opengl_cd70b4c2.o \ + $(OBJDIR)/juce_video_f128c512.o \ .PHONY: clean @@ -328,77 +328,77 @@ $(OBJDIR)/BinaryData_ce4232d4.o: ../../JuceLibraryCode/BinaryData.cpp @echo "Compiling BinaryData.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_basics_399a455e.o: ../../../../modules/juce_audio_basics/juce_audio_basics.cpp +$(OBJDIR)/juce_audio_basics_6b797ca1.o: ../../JuceLibraryCode/juce_audio_basics.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_audio_basics.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_devices_c1c9ba9c.o: ../../../../modules/juce_audio_devices/juce_audio_devices.cpp +$(OBJDIR)/juce_audio_devices_a742c38b.o: ../../JuceLibraryCode/juce_audio_devices.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_audio_devices.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_formats_f04b043c.o: ../../../../modules/juce_audio_formats/juce_audio_formats.cpp +$(OBJDIR)/juce_audio_formats_5a29c68a.o: ../../JuceLibraryCode/juce_audio_formats.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_audio_formats.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_processors_eb9ae116.o: ../../../../modules/juce_audio_processors/juce_audio_processors.cpp +$(OBJDIR)/juce_audio_processors_dea3173d.o: ../../JuceLibraryCode/juce_audio_processors.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_audio_processors.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_utils_cf18005c.o: ../../../../modules/juce_audio_utils/juce_audio_utils.cpp +$(OBJDIR)/juce_audio_utils_c7eb679f.o: ../../JuceLibraryCode/juce_audio_utils.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_audio_utils.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_box2d_7c8de7fc.o: ../../../../modules/juce_box2d/juce_box2d.cpp +$(OBJDIR)/juce_box2d_95719d14.o: ../../JuceLibraryCode/juce_box2d.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_box2d.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_core_1ee54a40.o: ../../../../modules/juce_core/juce_core.cpp +$(OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_core.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_cryptography_3b1f489a.o: ../../../../modules/juce_cryptography/juce_cryptography.cpp +$(OBJDIR)/juce_cryptography_6de2ebff.o: ../../JuceLibraryCode/juce_cryptography.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_cryptography.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_data_structures_84790dfc.o: ../../../../modules/juce_data_structures/juce_data_structures.cpp +$(OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_data_structures.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_events_584896b4.o: ../../../../modules/juce_events/juce_events.cpp +$(OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_events.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_graphics_f9afc18.o: ../../../../modules/juce_graphics/juce_graphics.cpp +$(OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_graphics.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_basics_90929794.o: ../../../../modules/juce_gui_basics/juce_gui_basics.cpp +$(OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_gui_basics.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_extra_b81d9e1c.o: ../../../../modules/juce_gui_extra/juce_gui_extra.cpp +$(OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_gui_extra.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_opengl_1890bee0.o: ../../../../modules/juce_opengl/juce_opengl.cpp +$(OBJDIR)/juce_opengl_cd70b4c2.o: ../../JuceLibraryCode/juce_opengl.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_opengl.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_video_86a19d3c.o: ../../../../modules/juce_video/juce_video.cpp +$(OBJDIR)/juce_video_f128c512.o: ../../JuceLibraryCode/juce_video.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_video.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" diff --git a/examples/Demo/Builds/MacOSX/Icon.icns b/examples/Demo/Builds/MacOSX/Icon.icns index efb55fc0040303a5e9be058d176653a8a10a2e88..64566582b2fa7109c5409816ee0cbb78564cd94a 100644 GIT binary patch literal 44839 zcmd3NWm{D57w#~0Bhrnuh_rNfH%NE4fOLaMNQrcJOLsTYCEfh!?igmy_J5u89S$#M zcr(w6z3REwy=~2%+(4k;47TQMe84wlq^hzECK?GE2n52Ela*8lfxy7OU=Rut@OA4o z{|tN~xQWYYq5yw>C>GyAAS#fYq?o2x=IOd;s=?qdo-N~bUx9~#?Ci_}dijD(crao} z49PBqV1xsW3u7z{)4c7eo{p?B*}P19AY}v$yu8(hb|IY{(-kB=rLl) zUE~KHQ#9z8oE~v~?pgXC$9SSB)L}T{|DS!(MimKw#AUDLn24d!*Xr$w?gtjYU*<89 znuF3Pa@g`9lu__lGRqv643;lCvjJjy9^SJ;2ja#T=UTkFkuxNK}#? zVV5#B??)D=**5jZK>JqZ>gHlI^;p`MSx`(&LcHOubh^^0pz`F5OTE{i3Ko^6XOs>I zsAWF9=6^4*e^WtjRK>rPX^fa#oV!Bk-nNi?tQOVr^f4!C_BStHF+ZNDJSfPo|D|mU zS6$ZE%si-^33jG1J_&@A_#Xcf0Dd& zLdAEc@hW~i5U$x5b;9KDN|);5D5yxHI|DEaq#?6ywxQfo40Uk%5GXvDJ%|Y-Q32&+ z%bWcI=_US8Um4vQ1?|pBRydm&<_Xu?-M!2%9+h3a+}+)I*Sjgii^0I-sLfGd+bLtL zes6=t^&}9&g1GK&dEV5)p%Tixsg}o&*PQ=8{@s1@B+Jvv9u`#r{k??=8oUNbO2Z5_ zlt5n!CwXgz-QL8E>I<8@V4J_o!(-Dn{Pu)|z&B5dG$N7j65k62zKVZAr2~c0mbMIP zXc=fMscon&>Ca~J)aR}&9Z!OKX&bNEz4&EB`)2FU8c>P!hicRDoJ4}?wx4_w%-|9FX*SP7b@aLkf5!0{t ze>FT>KZl%Kr7R|3|2H5>`9f`5+&mb`f*_@lYg5aD$oX!3`g>O(#Kqz!fkh$%>1&LL zzs=&v-|6h>EB9dq*`{2Cp!jAS6sq4fG)smH`W?9)oHeC28;d8Sp7Rx0h~l6=Jg(&u zICGE&EE`W0JOc#Ut*V#8W>Z25RyS8mZQ$7DO(-&r%q%%Gby^fINZe>jjhkm_hONZQ zR!ZgSdWRq8ppsCbtp?{L=fc?(lXLQNyZoIAqkJfr*NlPS7S+vtPxSD=-BlS10m#mD zflO0)Hl>g#;w-X8 zl%bdc_;&hi{>Pmj3FMrkK*)4`|0<5XpX5lABydJl(z8_W`O0$duLaKNMZATlgEoj> zFb;^v%b~A?Pvn3tT+Cyr2_uZ@@o;-&AF3lmvC@9^`1(3Uu`$0H7wJAMEBjszELx0a zeNq?I%6$X2uQ*7qWU9QLR3$I(!^Co0UgCzU3dVW>8U+=Wv zy)-wE82UC#{*HQ78Wl8ZIeEW;e?yX@(^XJca_A5^y$*-uA`z6)aIFAUR%6gX)E*|@yWz|!y8z6u3HR<{gI)7_e;#JEFL6{rPR^jYz}k&D(JrDDPu&jnQ*>@5-H>4ACbtE zXKQ;DVrySsU7n`zlh-`0JF0}`^u5xl*4OL{zPhL^7CYYzd{DWKY8q0>aftq1PnFO1 z0_4)p`;wnN@Gr#0Ubuyub*-H6;{syI&Nm5HF%2%8DERktRMdHOOWiqs^J4O-8i%|I z7^!PP@nmh^`|yx3D5U12L=Q|Qy@*Wh!PIUTZl}t2% zi*3mv_B6cuy*~0-HJ2a%Gk@Ie1(E;bua`LJ?cuKP#l?vP<9h9zFXfDIRJzo^Iat{o zwT{Bc5B_$Plnyn=vmu_0m&BL3bF-P8>NTZ5#ksn86? z@Y+L0Jn;*9bTM*hC@Ch882GT{B(tA?bW7N!1Xr4je3WnJ$u}vf? zds_HHYPhjNWlSTN9DC3-@;LB;54LX(&!5dORI}b|BKHqm9aeV&5oI;}8WGS13(q?{ ziv1Da{8MPt)|{s3vwJKErvc9QiVE-aGA=i`&Tb6xlwn#D!yrdOhMG-{@#yJ#|Mh%K>c&!OC69^n>o$igayuErq+%R#)pPIBGJVThTODF>sYoJ!q_()mH$I0TSzn*FL6tUL{rZn?ehUgdn8F z=#IFh-Fbw?SMa%SAeAo$I`W1LoxCSuT9^#;Oa>TGhHj}3-|?qO4mL?>7E_svbP?sY zYL=4pk0gwYwNnZ{_a6j!Zt1vZ##^Lgykfo6P!ls0Go5PvmBLfa=o^?T>`c#t_#vxA zpps{h4w;a?WluE~Er$jh&Xcbkf?0agoKOFo*fQI0uRW@M=Zsq;ybASJCU)y`fPyS_ zDKhkJyQ`od(e4nNqN%7Un&u!Jw}cKVo>Fjs6_ubF#WKttmc{z|+!GhuAt)*pN=sw0 z;fayY#iXHX7WhJ>%uAMVFWfI225*MTOHKCUe3so|N#{mkxmKz|Nj> zvf}QAvd&vZ=9Bq0sV)96*-qJ~xoM5vO(=|Q{C8;!$LU}>-s+DEr|`KZ4E0ypKdFB< zgN7hjT!dfqRyJe6)~;>+v>+p@u%A`TfS+X|2R_oKdFldZuJ(XG5_GDYfR0Qe>G+KiJJtaB)f8 zM70`je`9rMGvu0>JS_FILic-`jiIj_zO$rwX?8$@GR?V2+fJR1kvNy9Q?w*9jay1T zo{%gRhSDj1o<#@^5!XQ_xh~1;^dithFDaPSM;@ws>EMTxzJ)ubSdVg)m@+#!9OI?n z!}v)$jfc!Nm~d|)>hXR$6Aj7phsb@O^FzSyf18xKl0k(CbRgQJKh}7jA6l!=-u~i@ zs<)ko$rU7fDy zC0mIu#s5}rZSRn>_wL+#+5@{tQXM>#Vofg#TXl;kG8+dfoE-rpNO<0b7W1%YBTaO z0QubK>cF?V&5b6Dgz7#YA!vyn2W8L0NXy6n;E9{Z7cKKYY2LfH-C<#)9xkJ5hwpnE z^3zfc+b|rZIxp>@NkigwKf`*mXU@D#P2i0vyl{v6kf{oTG+c}R;|lIC0LSPef5KdQ znty193K$AYo{FP_YT+|pv-c~kjF&I@oD+Q0-_)vaG)^TFC|37Zc~7Tq2J04${WBrT zpf_nq>`U|{jhDwGq62>y#p<{0{!-!8Y!)yQ@7nthS#cLWl^3x;V4XK246#bLB_BbF z(Lh+C+Un~z`9VGAoY1-USU70}iw+)DI?m8hl6=aiNeyE7ESc4E7L)6UM&{Xx&ibR_ zNo&iTh3@0J(V{b4%F7J#P0&L73*K>gIr`j45aCelQKnT7FTnUct|$H`w`EGV}nHUnQMF6fI-`L=FX^)5{o;k^Iswsw?; zci|Ks(g)N05qwE!7j^>8N@?=|nLpVoBczzpFPDm&K7tDmR9Gsfa6Ma^hD@szs#$27 z5h4C6kqnr-zi8nLXBuFiVAx!1~|IIM2mjE zL1)%BcUqQTS!Ey|#Nq#hEf|R@b1_)a&)SQ}pBY6eA4MX^*GUqCLb-BX;tzu^1v+(; z2W2NB|EvT?GH?C=I>SBCs~um=ULjixYdB1;r844uTWXAoQf^{|$=X>F8;OH1<>!SW z0$GK`!Sln^67V>AV&5ZoTEhVki&a1o3^M%yLpYv}1(SzO7q3 zB4Hw*^CQa6=TXN%;SS*=Y&zW^xS;D~0)tJT{!`|3C#`k6GGgU`s)QskFocw~OcSR@ z<7*uh6nH7m=49BZQ%0a*ipG+|Qwkxlf5kI9C9?3s;owKIm8Ncm%e475PT#G?0L!vf zW<*?Y;rjTk-jO?%XOJADC}^RXVt?DWci1SHivj24dcZ8_{qIIEE0ZXsQYSVU;naGf zs1l5*60~t0^g(^ZK|{Fx_uzPa$CS8l_uE%A4<;I$J~4;zF6AFf6&0S{v?9P0MJ7|5 z&)p9L&CP2*e$J(=|BQ(Qj43`QL@Z%_u{q!YD|uTNo3$FtzF|I{6FkKHI7F;Pm|vUA zSvIAJPfQU)B!nT{LFs2BGB5%-Jz(UJ(L|cM==(&5A|f8X$)CM2nD%Bi?iK+pPww8Y z-UVO2%(=gXdyD-t&3#K(hL;H`AjY7bm_dkktvsqIC=p(LAYj78q?|LEs3kRb8osk<9jtQ(``ca<%4Bp&|C#IhXa|{KB2G3>)O;;==&pV zTHOf12N3sOfkCZuP@Kfk-cB~vZ|Qo$=eFWf-sG@huVeZT2f_=2 zmu8jJz#Pd$vbJ#QLji$g0gTn^j8G)TCl=M4mE6aZ-nvJ$eV}cT#;rvR$E}3|Qwy&q zVFN7#IO@;Vtu60u-7gi@QRtisDLa+v9;IW&LqcmH$`$MY2j)t1{T}3pq5CrycoVeL z^5q9BN@PI4@N%?wxd^H4?S&m))$ zO58-+XH=AMxFY6}xjf8kzkEz+XU7x5N;#IZ)1WRMibBBd=DmH9ao+rbUWJ4s4=QeH z3-2W!6JGK5m2=xjwCKJg6+|1tyGRFRd45M% zHQGw_YH>KR7K5kqVRt*Udw8he!E}u%SpO!7u9j+cTg~(cvcxH}eiK;&+l8~>yyn&t#b7pX(hfY2-8>{V9T|^ks3i8RNLJd|o zNVo?59S4}I2@g|BVU-lhv`wGdOaw*m#@zoX>(z3Y%-YNUMI`Xzj;-&K3>p&JM?iZ7}j5Gjx9#WzgA8<`uts66DdNcKO1xS-0v{H$qriWtHqomiA#Q2KS5LExhF^t~W!8qd9}ZSNL;`Rk9*`kr+AzjD&%c{0Le;e>16 z{>>vaA@?Kjv!N_}gM^2u=->YSVVvd;wdJ6ju=?l(mqaG!Li{m}6h~kuMX4K^BN+qb zt)i>wm9`kmaX5hiN>L5zhtQvCLguS37hM9i-djvT?7YAB@IClDN#2?7S7X8&?H1-8EGS=OyQ%F9Ytv7s5l{mT+-O=E=SW2Ha!xP!=^ z{VUz5e|xQaBJRc0)z}u^=pRq+HA9;FF&U*AFLPiysNCqYo)DfG|L*Za)SI)>CGB7~ zvqt!Ad7EI}Y55d!mea|lU%`aWJX_iRo@Sd%%yL5fr8XGp5(%r6g4YY(kTLXTIJTeH zREe&2k8fi$llfbwykX-6MmSgmAw7+aTV^V~d+oT$QC785rA)z~uDimaR12llj zSC!s180}-vM_HOo(x1>1Sy7kA$rqA&6MH`il(*YTlwqk$q!o}U{MnE_{?vT2tG}Ym zY1obK#Pfa17ArFO)b4^`A3qAZY%LPS-UH*#Pq!%$yn!$>($^ot_tPoO0hc5Dy*g)s zD5G3ycgrBUZWvKp5xE+cj@+u~ps@shC#ZFm|Sk+MVMlbId zOQ?1m-nd5E`IeD2+e(D*{VRqFg)d0_vaoUBufcoX1Ne-9x)+*^0NIJqFNXUmBZ*<- z-AzyBzjBVDKT3L*?W9kg|MN9#?e4+vky5%C{^dw1HLYR!;f^l~ohFmZAF#)?^0K=uP^J%UIxFgOnZOaVqw` zRtIhnaZn@s4FhUNIwhw(L0)Svx_^SiAv$G9AKoe}DXu{X`@ZAn&pxhlZUI-Z$Z>*T zDi582#3XsxrbFU~$wuSzSLuuYei*+kzNFm+Q)(RIB$}HJl5{lhx*dMV{#my=wGqWd zQ*-YW2EC2T6M-oJr3I-4tGLxn;k8xpC`a+LDth^LsWHxGN?aGX!r32-0mNVqnll>> zs-dF)+Q;8Sp$(IkwFgJFBaA1coKvaol=VQOv@UJEmqhN-#Q*YgNrhHLx8iPn6RqJ6 zG&)JcA4B>Y{wbCc9eeo!l*q&gHzH;!gosJF*|p{A;U@o)r;ng;!mT?VtVSXJs~dGu z@de@Uydj)35?*9vEe%`KTKM75&4{Z%##BRbgOd^V%Q}P3=%!+rTs>;tY+bCBn{YRe zyR`*z8mQ*Ag)%c#Kg2$VW|)xsqP%OM98aLs$CsrEFSB`n*cY>f8$%+&%T@c*2y-T05$^&!>tMdw`EV5YtNoTH=U zb*}WDX9XHFH~7*d5qN&^-Rb#FCHxdfoA$mb=R^VG%rJvsVuoE=mI}%|9Uus1qt}t7 zK%fkOQ&h|IDmPn|wcYXDGY8sal6QHnGXx({XBsb}N-Cr;QI%`o*}x#6RphYl-hsEP zx2acdMGYJ;k?iljq7?0X`dFL9xc9B|_iJr4l#K*!<*F-o%2e(@K9|CJ4g<8$$l21j zWt5_U(3CBBfu5coE*u z8oS@P{n4hf_+buvtcX`%Y9paSr25eN-Wp-DG@ba6x5FDk?XMZPat})UbSsyJe!SJS zh3?k9>Je~e{Ug3;rE@QErwVrZTyc4Ruad`=B^8hi=k{R!9eNgM;sAwzT$)*uV&^lM zpyZJUB?iGoArtGML;6p?%&}?a(qwXJt`q)nfGtjaECV7~Z(jVJpX8=_2XD z4Bp`nw4U49I_?!JAeF|JDfKl;E_#ko>s}(nl_P%DZpGjEH~ZwfFjXlwNMm61p7jXNj$D0t8-&_v-@!~l)bx@*0k&}^&qu8$!mqnUk3dz$xltih+IWF|7mZF>F*2N}> zXzDCoi~pvZ!55-;QLUEDu7(eerDM_c;STQ#!&(nqB|oiUnZI-f3ByefP*Tc+W_KxZ zgYQ6bqF3C79iOKUM*7#Tf4P)VoD%sH7qdC657oQJUQgyf-9^j$Vu^g+Vx3`hUqxb& zlgTMxmePG0+;Dy{P=EMsHL{@(ai<8^@YtT+C#|V|dTub-Femq+NWg5C*n}`pafmxZ zBJ&ZbI#W4xX>i~u*YI9CEzmRr&E=bGh=|hB+h_FVL;cNvn^5^+U=6~xrz5*cP<79) z8Z~#=4PLDm1ZMG)kT+VIB)Z=orPKZSvn2p)R|wdsDZSP6AD=W6i3H-!F#x^#qz#iZ zRKbz#W&W~v{k!m!(Baf8*epMeKA>F{98auF3*P6ggmwpG3uEq&gzh-Y+7iKe67MHf z|3gkY%~yL}xCUe7tv1n7eL#)SXR*`Q@Q!5fHRf&du!v)U z|5*rB!v2NvKhFHH`|t+>O`rXh<>e_ney+jbF+HaNpzWzRYEbr?I&@jZnpbFKRKv5QXIB`4ocp`Jup6?nJF$-7Suj)l^cN#pM{jceV z@B2y`R_g1+W)p{YY#ggoS<0+k6)brW$Lih%GvzWy#f2JMvDk#O!g446;JNzvNB!8~ z5j8TRO*o|)2U{{)L=dXXYyNC>7KO}au+r-k9R-UV67X})VMOj|9hm);kn(SB$3=D# zzSd0Dk&sMYto=*H33MOzNZg?D;Ux>~V75x=51f8h zu`BJO(?05yi2-TmUF@%=;w)9(w#T?HOgu+PUT zWB+{yUuY@g2a`qaE`u+r;{PrHE)xwZg}3*@y9?d#{@F?n^brrZ_ezXRVyL3`se=5B zG!dpipPMBM*JERm8b%^siL%O_HI6uwn4-1|&s}kq7aNL2)xJZTyiRE$_x*HRrQ)Y* z#sC;Pe(T{un0<9MX{=v7@-~@#7_wyl@_OOWPHcZt-B5M?aQ1!s^}8UH{E!t!vDL7a z^Cbynkuw^Z0@SMw7!R8cD5_hSF0T4^p@4>sv|XCVoNdKg-!P~MUGt8B^)96)`rhI2 zC7LA^S06|NF)M@F8mB>qwtzvU?c`6~k2Bub*j$MJj|+e>c+O$4_=LaUj-4L9RJq+s&Eh&My)A84|_Wp z0QA|dw(3>YEwm+^|5in`fHEaX3B!6Ep=M*ie<}iG@|o1hPNzS<*om4ld`=Ybc&{kt zX+i;Pl>iVhJgmX;WSRpZ$_~QGggOE&^a___Jnj}hym$@Ag)!j^JU^o|%Lm(B6ab?f0N18F4gR!fvP^76W7yZ93 zJqKbxpE_IB9StNN1hfi&&J)5UP3P8=t@Te~ayyc!q9mR7`_6NFQ$>g$St{+jun4(~ z?8oZXSJ^#^4$Dzwh44Cd(TO0r+pN<00{C zHNk$dsOb-9t5--Oi5{x#zph|0M2C5jyguv7z*A&4T-QyfSgJV4eU>wDU4G;E{jy5V zpKOMqEBer_8-##7m)JckstjzkTO-Rr8s-d$fOir%(FU~==Vg%AEDtfp2V)Zm*()Db zeJ^MX@pjnQ+cR7arJB_rvw3v*#K1`Os$oU=^t0Glaqx zW9(v1D0mA86SpaCQ4fLvnXxFvME+k&K2H_hRZO)Moh;sy-I-5&BZOCjoDQFGi}CMP zaCi0DKfzEFhP&a3DWW`X3ZSoP(YQftB{o5OHL=b?7?dG;f;43lp=;@c|1b+#8`gh; z&VpK+{U-GQyJZciB7sZa*hZOvMi&JXd<+p%fj zacbm{C_io!>-E3QP$o2wn=zy$kRs+!LxiWLua~_g=K5f{4%6v8UcjV~;6t@ja^JyZ zTB^Sv7;BaYU339Knx^L6c94naX2dQS+Kjj1TiV*IE;yxTzxwI>O;-OdX~d(($ahGHIKE9aXG+%w-8gt?jndBn3i%Qg~K zg^;<8*%EQ@bh>JxQM$(h$N_WLUuR6d#~|7kD{( z4XiCRdsx&fIPlYron)GL{PFY{d+?O$mq| zc?%-=Y02lXE&+kO^C->t@W*uK9~`6NVgp2^iGoYOZq45E$Uj`7SQtt>VJr zcjHe52qu5b%hAmokcmKzUfSw8+*PH7@woaCxGLa6gq|&@&o~CYelG)t1v29O_fqo8 zxpvjG|3)y_hl>v#11P$vad&N_n+a>9l*zFp8X_QslF^)aG62(wd4(Yhw{ag$@poV8 zbrfu`196WVi7$Yz(UWyiX>=EUF0!X{K)8zcjt}6y$kjl0$tf=coA+s+ThcB+t5L)% zLD!Atp?lapORW?gfefNquPCFKig00Y=2KZr-fK@k7R{8_@xOo03;PM;{IkvKsv`2h zEYuAa4VMMX>apUiwrlxUQjFtb>G+@O7t3FrPoHqFGo_ja9+DCM&BMKiF(TBhQXZk$ zLdfi0oOE&Rg-86AWu0Vd%ow!k2$H;i1fsPKFV9+Gjw?x3E57! z%^4WqQkTRvK#j-U;vcRf6@VJAha~P9`*9$uf=xovMLr$GCMHAZthj1-1CrUcXZ%{a zPS8uQd6w|j%YHr+F~U>P%CIAi7R0~vKm~yS^25amgbXNi@BZ|o{-A3KOX3K;bL0%z zWql}d^5&8O2A|v_p2oliSGhsow^fe^vmxcBUdF@S0Dj+Je5kCm2OE4b zSpSON26l6dI=^L)z)nKINi3iR4Z;=M*n0bQ)uSwW2Ex&u1Gkp+>CaY41r1ducj>J6 z&ZrVz*uq1>8qM{l~y133Evvos0yntgu6OGxIL!xmKeR=V8 zK&o?|WjbXgXq2a2m_`%G3iM5OT>GqzxF4RQKU0r0=?8mEEUx0|n$4RqCv|)grQPUC z#Yxm9(#S*HFA~52iK>i(4K}V#Q~P8~^>YCYOdbdF_5%J&wK}R#B ztHHHVr$wYf6twp1*ewYLT{~c~TdRRx(5wu!0|Q>tk27u~2ku{Kv{5STS%>qZ8b3)T z(<+8rA1O`CuiDTB#XHa`in{i#zw$9|q`S-9B>(AH@KSjx=}84s?*@+Ud<*KHpKCm< zukW@r_u^yb)ab+bM^DsyeM<9$zht<4zMLI7>W0oaOmN`x9z6nfnh~(nZT%+mcJ-?0RNGG;&xxFMxI3^4n94ekJ?!YFc29b-bDe0=&$T+_ zSj$j@h&^iiQ`qGuXoFEk2^i>M+4^~iy9&_R|Hji5Y6^EU!=k|xHQ`Sej;#fiRk<74 zBVT}t&e?QXiJY?f@V)SG%z*KmDY^&^*Bzm=9O+Hb;7}WLP^L$6#2O1oPPbJUz_ojrVWN$YaNYiP9w-sn-nRiV_Wh2yJN-$rxl(5D$@h)-wy-3R2!j8?T+Q>n zs2-B0F?Fhy^8xGrtyo2xLZ zjnNK{$c=7$SyX=p86R>cikV=0lq>9QE?ux ztnhC1U-qT|$1mKo&;QrBOt?&IEBz+mehNjzSH~frhrZpK>8Hm>U`bhuWizPd;#n2s zyfLU6UEvVDEvY1W_#1{K+=4uw&~+k(npUS=ec#-^r9v_-fi0TTLbg8 zPJ^2*0$tH9q%3v`dxG!jg2ciCZ>ZWDXBk2TLb7(`={aTkF62!os(cIIfE({^gGl8` zcQvsYBOE&2(=A5XO&Wq7%#Inu#}LS?{Jf1|PC_MKlh4|VQiYrfp0IT8b<3{Dd76AD zxCkTCl!A{gDK!R1728;5Aqug+I>Dwuw3ksS0*r8}nw`0o_D>UMo_cTIJd|WHVITwN+)_XDXU2Lx(;<2~BkUPQ?lCZ8)AD^8HBjp%``Ghcd=tt$ULde#mxjFG!0>7R zwpUF6`R^Nf@V}*1D^ujpK=)f~6zqVvA=n{I8%qeVuWvtU^rXHG!s3J=gn8p&O&PFR zZEj|ycUWOazSMZSlajd_*>JVutM2}p8@d--h7~&YTC%?f$EZ!Vl)ZMRT2L_Uu0D#W zmHAkn$Ru2RsN?*kD0poivvJ2A#LgD+a*M3W&89+;uTRmt6(@`#{AIjpDK$2vry^$;dl*zj<(HM@VJwp|gL*5eN+Jt96uch{^v zF=AiK-cTup3JMCRw1JA&@Hu#?+0dx?pI~dCe)*U8}hLqxpCfhyVC`<#Ho-YQV7U z*=oFhl^rrR1;RyDfikd7pbCG%7|OQZ&Tb-#T6Lakap$MHnI;fDmmS@^2sKo?A#&@T zZ4PEK(zgePWXnr>6Rk$%#04_$J7mGdkAHL<+Uz|c3=jE z;Z3K0W7Ze3JL&31i8I@4ZWcQ<6>WT|0cp_sBVh+R_E#WYE?&2RdBC8moT7 zP!+GJI3Ndx&ZaoT?Zf>w=zsN}oj)JxEX2y1NP0 zp`Sh1IWVoPZU-wNW_^-IirIMOPL=sO(0mYxrk;QR5S7Dd86!Ji`z07QAf2+x?SA+{ zqBdLhIFJ^{f;LT_YMWOSu0d4d18>J(y0xdt<04AO*AT~G%e=BoP|Lp2;UN{Sc>2t$M6C6tVxa$3yDL15@G8{tCh8;(Be4Qi0AYA+3;~ay?3)aPC_jLHov=_jD6Q_(S@S!0_MbJ;7T7 zwbS1vX@6L)iKTbmgysB{Tg5WbB$6E|``OC#G|UL16%U1>j>WfD5vOBJ05n(>czKJ?GKPO`q)C@mF@F-6Q zb!{uKdG`HK;VY_`$QK9FIbfL}r9=tPtG~N3_r$m~R98N#TB^uZ0Fe~T^b0iJ)^>HB zI0TW>&I}JsZcsh_I0#%MR|u1Eh+1FladtzA=M+TnOW+w%sVvk#YQE$EyQ()7P>L{* zktTNQUmyGbU68!}a+uX+89y$x9}exat`cYxq;jB&>Jt0aZ!X*-a*_mY=Ztz}Y6Nme z8Hla!pb1^sAFlEQwfZ&vNNeHwi!glz5>GUXQi8IRgb_*G917IjsCPxDZ(!#ni?rgp zJdb}5KPILlY|b(4oNvnISWA)v>9IO?Z|Iyl5or4 zPl_JuW8^wFoO>`%THlw;(#<2YDAI%k%FqnJ{Wri|r}}dd*HbLl5(Rrwcu&~amulRF#u6^nG>GT3vpDVP7`1+#vVC|C5_d={>U=#b z5sz|}{B|B>s1NsXA@qi{`iCzm2vo^9JnqS}j?~kIP3!1 zthf&7U}1HUq3;-27Doic=PAIPW6!au29SRK>}DWdfcB?poCTH>-SmAI#Po+atqz?6 zgt6Pi@b5#*^r;!(;I@uxsm12i)k8Y?|NOvgyMLZl?41@U53=3>@P+l?N{QO`@$8_& zfu+vPZ{K6AE@xpG1?})Cay@cmP&*DZXr0M2Y=Uhtd}Jh!y0W0@$5ZUkLr;+p)edBf zr;nb0L+y3h1n0($M4JM+0>Tm4M8oNzak2zCMsv0d(Hy!|!@_peMkJEG|T#}<2;hEWC+ z2dp)*Fa9--e5ZqBF!Tf_+CB`BIU5GU?JW~%ej8mz$o=Z-EweD5&%ERRvgnQHD8+hZ=XyK;!vHW2i$CPjatkFKA$*Mp?JgX_^gxUx1u$)c-g%s!}**dxC zh<>geY_30ZYsg4)IKXx_eyn0r1|Z)Tv+X|naGK?vKvpuMq7$6;Rf%aC-UhYl2HR?N z4yL3fJjR9`3PxoohTE`aTdIhz^(`5n2knuW@Lf;vM*^X-r=;2#Xpp)i<$j92weO@q zbYmk7BngK08X=luYtf?A zUNmyj7knEBMeuuc!NP-fX8lw~hR~w^uhONRH;%$?G|zIVknm>`C?){YmwfZZ!7iGzI*mei2r7sMF4&QO0U0D8+#^hGe_xG zetA(vcjX=gjBfE5^eO>2#ug{jty*V+QK@f}Yu`RU8a82+u;EwOvHoahkKe-ew#;rK z?)2dEkP%g;1Fau?>Y6(8z#F={#zuwveLSqoec}*p4cVp?J*Ms{{)w<00z5N~C^op{ z@qz$8?SIGaNV}i%#QXImU->8y6tw1Yo@;>=4i38tx2^W3JJLA2<3&Nq)J*_| z!RmW!wcT?G^K)<&X8-fEt;7OUZWxa>fA=9I1KEMtS(>d@3*>~_P*v42nry-$T1^Ym zyGi?xM{kCg8CJyxEVfpf9w^uAD2C1t>W-Vb_hfgDK!G?L3(d1%L2_}l+AlK2vVf{; zRD-$=IUEh4&Q738-cRs!#?9Ra#p@g;y7a`Zj4UHy%)c~k;z0g7^2 zTW#IGnZ8*(C;wQa7bR3C) zH(RhDU+b9;&5+5;i>jsmbu&G~Y(n_??|k`alqy7oK5oYw47IJzesM0(OsJ z3-|EUYfkk~9q_5pJJ}L=S$Vm(C5AgZ**qGKXE%N6IXq--O+yg##(j@z>`H4<%0H$* zptZDa4v6a`<4JiY@n`(0>%hu`ZoAcuZmxH!UXX*J%Fy_V^xn^-X77jrPFwmuZs4UsPxx-_VL!27^ z?O+u4!e30t*AxC*e5EJM!lKfREPtJg5tAQl(gUR&_a;Wwn_hd7!n-Q!8@?J*wUfeI zdVp0`^;I>yb8qDp;_3$r@IGsM2&ZChy3c+$*@-ls+Y3Yk3c=`mAgSIEx%Fd+AS!H{ zjd`KJ*De?_M5B-qGpQ7+sc1aNPuBw6N3WX&;$p=#+GF{WJmhveg^L7m7gJ5=c-;4j zkO9R|RRQow`8@{YXkx42)8;=Pem5*_4n#7IuW>j*kH7dZlsSvf=H++xt(A`5QE39% z5tUx4jt|bnkZ`_ZGv?+nhe`3n2V?Yz#7DH)2KTUR2-l&F*klN0>w!>hlm{1@ns)2}P(8F#2~?b=xE{hvy{*0m(1ZRaf4(JG>EXTPNbPqV^U~1b_z9u}{7@2A z{#qXdW)hzshFOf+%tcw}efmvTJtP{Uu=mS{#CLz8x`8egZ|o03u7~#}nR9K0V$>Wf zl(RK9xsPIgdH#{%cF)<7ID+=V9aJy}x2FlTm%k=aq|%3KDA`_T@k3nWtj37Uu?WCR z@q{+IM&3$&!G&Ugjx5&6#{EBdtGWaj7#C20Z2m;p`(WEyi zdP7HqFjw2Wd5!Sw9YIAw6fU&j2ru7zG+H{5O zZuQIHtltxLzA}U>>M4N=ntJyv0CfksTyAh;E(@AsJ^}D~X%zf-^Dng+u}xZ9I`77y zxdf9xP5&Pkpq>Rz^_U>Z@Xzicgn@c{RxnlHNu^5qvDKG~{#)6zNMz#5r&OT56zaUp z?d3Sc*iJK?!{clwUycGxE{1406<7es6b)~|>p*+z{h2&(Jl>yjgj_3S6DzS_)@?P) zflr%z{OQ*MY9}fk)}dT|-#Z>b>yIg5x&KwC;_4*Lf9JZ7qgFdd;QKRe=iwEbeLcEv ziGnLaz*Ex7&_-aD`@e@edMxluY2gtMUyG!Wx&4`}p^H7d|55Y&0DkWQRR~{f#4K)y zm;KkdBiLj|8Fb)qc`DqAA(P@L#KQ`}%E8rjSxVF|Wv)o#6CEgaNXn9M!0qgJJXv@( zt|Dt~$s;RdEe9@HsoP`uybxfWwFv|%BP+gMwKz+n6k+-K*kGp1`m%F(rSA{%K?8E?je#G{$KhxigzpbBbE|vE5Z3WkNq3Nr`qWZqC z?*uS(mwx!jfzrz@V@L!X2%bRFhlZWMhId2AwqN>H!2FUZkv@9o0 zU@H5fr$PAUB-z&No9f$gB3-=LGdpm3Snmdr>6HA!jkvFRVXD(2Lu0K-JbGg%A&o34 zrLQga^wL7`4cXrZGo*b5}2pqdw=}OWK?iZM<#`9_#9s79{fVX zAn{{-&XEM}&V;2r(?iLlxSP#pjml#yb=ixUW!>fiGT$I;wxA#OcvYtb?O8;eCl$gf zqX?0(s?R>}tiBsJ*}A_~@EPMZ7~loId&ZmaI|eq?lsRM>)c=U$h`!Pj;g*EC&v-^YBTpjtY!b@9+u*3AXyNt<-_5kMhL0m+B}Fzaq=h&AV5L z>oI8bk+}A>$MH!uPWT1KW~H)`l1A^HtU>P{`9>BUPab)?2l>zG@V{-Lg;I7Ez!32d ze0fmnQatjnwf~}?7>Ein4!!`43g0a%cGNdi@T?$T^OaDeUq5kGbI%KLksroohs!A=q__`W(00<(JNE z>UW0gYN_%s$PY?W?|A;WxpVGMFP$>fI+mKvRr3$=1GeW1euRfn(t;1zgdo9OWYx}? z0W|5r0NcSpy|8xkbM5IG#s>`tS2}tJ+QMfyHeBMbJ1eSPUYVZB7v$!qrFmYSmK^CU zxGr4X+#gRwNnvw{Ar98UjjKPStlZ5b;(h%!c79A>s)r^I1D7^OD1ot~g?-Lp(N71J5G(&u54xcJcbseIQc_c(uY$1hB&d$DR27H!&TPBd5 zlBX139a-p86`Kf(Q%a}1X$N1&EL*Uq2|&m62qREX&-laG&QJR;XP%zGQ4s9$eJGb5Oq6204Tk9&K$NoQn5mCc6o{BP@n?rU3r zB8zlUO);2T{ekdG6lk`eja`>&v0W_Z$ zRMI;5#%~+>)j=O(lr`g*i)A;8hqG>*$z#jGktV)ufb~isD}-A2PrEavaB&+Wl9>C0 zf|7W1b$2^&M?JbOWY=z)_|&xjAt~OCaGVJJ#`JslcZuCr9BE_pbfM&~d{FAaEI}&g zS%~EF6Ir%D!(IR*OdI*&=T#IkC*)UO7Ka)jCgxPrK~ipY)#8Z=EXxkR~i1*bBT=3y9ybjajNvWANy5HM}<}4 z!9K34_r?n--vNBg+Aq@P3R>A@gghbY`!Q>8OlF*vySishm{UTn``;wGdYeZO`x*j` z78W7Y8~r%;C%vj4K0;nPig=i-1Ro;aPsxK+1EAKJTa~>t< zFC6$L7T)T~&W34({fiH_TL6)3u@X%hjxju@~NQ_t^ z$@HgL0OPe5P&`DhVoi8n^68Q`Q(a+(9ODT^so5Ocg&6PEPGU`e2}n)5yfP2J^PSu? zm?ohN_eh~87LAAnG*adYQlQ}!cnocQNv2OIpM*yt1%(U(ZviA`?tV9f#xJ;7I!FdLe6$?U$IUA@xB?8hkRP^~$Ryj}<4I!u1%oQ8K>#*G|}z-`!3qA}>O9 zWC0a;A^y{~P+^rqYn2E%X6LJi!5*npLWWpG675P;#nJbBHS9|v6wCQnUny$p8l4XZ zOK-u(y-419Vepi56xkU;O!HTaxVPc^fwU>Jx87aed5bQ4T0>NWAUC=EP0WnCD24|j0rO0u-f6Fv4veTD zm%%Dh4jZCA+yvAlj)Fv+{Za;AzCqO|G znO-V>slA`Pel2LG_2hs>Km*$Q&i$8G){llCE9kADHneq&5jWN z?fc=oBz;f4wQ+-2Xw<8fYG!&iO1(WV-5kf7X3uMoeG}x|>3Q2=6JRjZo3#rmIqHU+ zKP1SNL^`~6c_`9+#@)y2E=3g41{fXqbbkA}Y3Ify8k=EVR3=>8=B@j|v%Hx+E^sA@n*0KytSN;<3%4&Lh9x4^WUJ9*A%)2W z5q$dC0<$l#XCX^zg3ye;UBKgt`WM=rA<`%*^94y`@z~PymtrZ!cc%kWBV1m+K1=`{ z94Z$oBBx>~`lW$5hb9NYS28t9tgmXwVjZ8qkVRtoR&0L}vb880@Gux>U9z!xBu#&9 zC3i0RF6PVtiKM8oV*I0{jRFVMo|vlLmMHCNl;v>PQmpRj|AC`W&uj8X@kpRmMh?}+ z09)|78V6CwmnDm6I4kspj*Mj$XZ@n33Y$uyyUNrB=GFsWbwI+ks%=EzE|x&(7BJUW z?fmv`#xw2>>#<}5T*#^hv0%U=wXpMZ@{4vOz+3YSlX zA4UKUl^>nYW-fom?*V)$_QHq>D)X&Y{Gj5@d7P?2ZXQ|TEM%kZ^WI1OspLa|gh(fd zrniVvtRm_wgG19B_;PMhaL}lo2A*awHI&Ve-mKa&u6qaogsj=Ot2Oev|8pn3904$u zI7I`J{V_6xY5koE=N3h0Yy?Xd)Ou8fK|Cqbk+3GhmR1yq;GSqrf@6jy-X}Y)$0fqi zw#AD}(C$^I-r^x{>j9n~J_wQ~F<=WYsRYyRE9(5nzWTdji3Wp$P0^ysNhN8cJAo(DbxXOvnb(bJ8l@Y;YvEVz+ z|DyOj8`GeMR<$YI0HN(ibOi&A*+A>sBgddb#7oJ3UWgFH%Irh6vr(R_B^iG=;Gn8{ zbaeXcqahqFv9F<0_}!gwU_`9zhWgvNt?aUm#}z#HHrx6=J%IF-T>ycPmvINio=dty z^wK~zh_v4aPJ=Gy?+kwR;dt$3bh-tgx^p8O>K~#~r-F_EF^!|*SX#EGCn53cjUsz0 z_ZGTiy$t5t`rp$nK>FbNKM>p?YZNBTy;(lZBn;a(qiO}^MMq6WkEUP#FE=aE)osL79` zkB^nXi1OKwK7ds0@aGn=BF|}0te!_9m@6FMI3VeoWTbXWX1+j$EuO~<4092o58Xq%D z*{t$K1c0MD()79_=rF%~xls4~G^svEvYG1=M2x?K5oza+szW-$1^|RtC#xKSnKBq2> zCNq#7dq^O0eH5Zn*?`OVL__yN{oJA;{Ej;bio|iw1nKV4JG8uXk~#5YiAYcyuk@5k zjIi8A`@h$71$@LL%IoYAWCMZCri6U#5mUEDHth6wWtbwxySpDd4~;W4cQ5hVDnNd; zI@_3$9$gj>0>qGlRSi{7ItW*c$BKz6MI3(9nq!6FM~~JE9M$awlBQpy-=uLmyE{YQ ze(M>FJ|ndJI=g`Kz235J3Zk4{8HA|laLVOE54 zB1+Cr9(j>N!&1UQ@DWu3W10iI6KqXKt-v@w=bdNfwnIUG7vNoHlzJ`G?so; zEaI3i2lhn(AX%tr@$q=Z{$72Zrs$HQ^A8J!zvY-e+?x2zj=&cJLZ+osjJ)v@xBiXC zLqOSa%0wDzO&GD=SU&&^3jk2c4`ciGD%qV_!lIpECapCsj8_IBH=^9Q1Ti!M#>zvY z_yu8D6Dz=GkJUDd&!q$UyGEasAsZFUr}>^f#zU^DeU+8V(~6`(@V|Zt0Ecc0j=_7P zY$wnmVq|)bqZWaFfK{(HLXgyI^TR}#YkIStej-}De|n5vs4iCyayMsNgN=7U79LKP!(#18CtwiC3U)gq3p?i&g`1#Qw*Lf8$ z9?YtL&FG-5RruS-5LR`JSZ=u3R4%I9%&4B8&H5d6Tcx?qYkcG2(Aq4S|YPF~2 z29y58G|q{FOJ)4QeBJ@y5Gyl91nVYVE9tKo^eYxwHQ%YF-c?24AuCwj9~bid+p)a# zNBuduLfr1kV3FRb()wilhEzi6qEn0^TY@|^$2H7#l=hd%uP|#NAY?sn=<_E+M0lAq z6*sao(0MqE+}t^uuALG))M4(oV-@#BqM}&=7$GPLGzDyFfehrt*am~mMC(;Kk356g zdD)W6`2aa4Yg@(onk!*T$*l4oqK}Of*&1)FECWQ-(AOq)`5GE=gZyWl;u2$F7EFLE}w}V`~u=>OzVzV*IBj!DBQP zo$r4}vLV9Q9v)}}Bc2-BzAf(Ko3k@9v8N2Lbr<2o^yn?MQNWcbRBd}{qfm)YnuA(B z-uG|lJFSQP``Pn8%<|f&RU5Q2SV%aSGo{W0{!2A zGT3SP0XQ7~_c!l9gLCOd00YGk%@z9qFnPD|sYGQm_`3=eL*a{GOc@3bA#4ocj|UF^ zcdZ5jK{Fz6mU<;)gRXq4sq?!*>dP-b{MLg@_ zz1n9?_Jq_?kAQ~br(=aVVZYW*Us)6*AhH$-K2m;B*ndmxe zHDTH8dDjNlo-pezwE*Cujia*QQ}JbRg)6wO$K&4KK_X_1fZv~K43{n_>-F}-G~WRQ zL}iYsDyV}*G@6gHEOu%^QDu40HPriPz{Av2$t(l&Y5&1GF;CzxCNFg%6|fFre=}&# z5nYq&_uc`qmYpcP>ENx0$jX59)!!JJQH=2A5EQ^~WrFGeLs_KGBHz{>AtfMw%s;X&GvsXGw_#S6 z-rAp6x~Bz#IsrT`GqS?JYjD0POj5 z_WP{p)apL|;y2@c4-p3Z<;2Vyq_zd3U5NwDCz=2W)>S$T(>DTU-fAHsumdn&&&ko_Iiw2*fFZH-`Qt^s89uone5zgZnL z2vf%@TdfO%Zxh(Tl!@mx?v>no9XkF0mNn8DEeI?ZuRn_VNH#yFf$U5eGjUNOeWALK z+-mKKjvx4y@81(AHTt35;g-Z@^WLco00&wxe$o12lgnmk^TCT(>-m1SFJKxy%1SR@ zQbh=l`5%9rAH|V$%M&7A^P>6Wav^?wy*-wGE;Q5@{-&8tliPu&ktXAy}^HujP`#g9G zg6#{!1}Wl-a(FT}?9)!s;w-dIRPa9o0^t7DwL6@yvB!W#OU7+JQM1hY5=?fWSTzw0Th_DYaw5t7%pXDC)U;g?ZTA)4Ol5ZVsg4EkE zz*H7Tv>rgsJc&+XIm{YN&TvvcXCHb5A=0|Bj6!Pw!3{>-_w-EW>m zMV{zbx)_CV@W0&bs;;hfEA^igLX-9fCP5~IVgH4B!nn!tw}{Yu!XhqMjf1)9Mf->7 zJE*>oPCd2<-DLelyQT8qrK52_70|Of5YuLjqb;kYh~^k8tq=C9n35}kJ51xsB|S>2 zgewWNdCO;a@dTqAQ-z)YV)$9@FL(w#hiBjj;3##3#3=qI83SVOQP^<-i>o6W1euOYnj8Fjft}n!nqw%(e=Z+=!eTg>aS;+IV23VJT zXx0e*8npR1G}B?)KyU$(u6r|H*D(z<>h|?}cm-Eb}XbcD{uO{(+;bnJZ^|mF@6}K>`~& zi-+ko^B&0ve|_h($JhHAqN`M7Q;j&shhx;|ExGvYh$Y|5Ns56E#TYZ022}OP` zFZ7g+BwzU7gY6k}Dv=(Pd4V^IpooFzkq5@p|1Nym-qn3~G8?Mj`~Zz6fFtchq@VRE zLhwa?!O_yvp?FXBCxv?O(fMOak z)$p;L?*2dG|4<2ATolzf5b?~4bao&%|O zUTbcXm7o)pUby0E0u)s44P6IVIiI5A9$0zuO{s_ljr~LDJQZY0D$5OA8iCmy{cxFr zf~a1arv<|AgsFf^LZNk|OXH&j;2x3P?c=)%XqG)MJfx;ddhelWnKaJxo;JKSm8>=C z8zjO!0_cU129Lf4hTcB@eC)a0PXyp+MMb_{l(B#SVz1ZUQo587##nDX8F*J#ui!m! zS3sx7+=VKtRPHhu^pn!2x37T+g?Xv#H(&RxgtR9ite_vSC>ckVJPZS}G|A_-SqEvN zb_0uM+#ysTR~JM64qvC_d?8aD@2FRv>R}p?t76ebB?i7iwbk}HT*?NB#lNn-(B^u8 z1p$S3T?BICBZoi{0mj(-oiB_H7`tajkX8;7%Mg&_T2GP8PTuh}=daJ90%H~bJ#`G} zOFlv*P2`S2_a1@v;<^T%{Xe=K=?fc%Ix63~&hFY=Wb~>=x9z_BfB^XtVil0)v5y&C zJ34U+&H__X0N;W}?5%r#*@V;w7>#{5&F8z%7~5~+f4%p@+)RPtPBDX`f}DW)Bem!V zdwxO7D=2Ea?4ES?wx@XnT%H{OVm^EAKd<8j01R9#|CXCMy4{7=S3*Y}x%!v?zq)Rp z1#Caq&%ziaw7IiTkQRe+rxls)7@jnf^(BGhWm#Mj;1S7QFj1cP)oeBZ02V2M7*Za& zw#3x{d*7y%-UXLo0QwF3VrW}UwS z4;dLtHubsfiKs68M%D*dW(u8WRZW4#99eZ2bfC0M|LtD4YWnsIx#~8{Fph zmVOm2VqH8fRVN~6AzaWH(_Sj&FE=>lV6ujL0fc}yV#Iq8)I1DQc*OoU|Db^)P+|(^m8qFq1a}Gf@a3PQz28A!flrr?Kfv&0M>%Qc?Fb3yhr#%V0QfZn z-bCZ~qKj*-hzGtJV5NMZcYC!eZ}y9Ty5Sg;;L+uiikEV1Lj*{GTlVzh?Us-_q5n1R zdUfGIcUj?sFo>JXtj#bm^eAddr#ZxhOK$6*B`sjYi616efMmQZ2_-}&BIX7N+Jgwm^` z!&OqW4#du%TJ)X(@-EmTS`!^5<+1nd>z9TuS6Q; za5Lc`K+GY4JyPqzoss8*Vg)(PZvZr47eGY-wot&n6#!g(Hv5fev4*cF*s!_xx9Kt=8&w?C4D&JNXTEw+X%Si)dJngCC;wUvNrTAEi_U17) z@9QyX{#ajK0QJY$sepyEuvaqS-DQe&9xMB0O=|=XOhg)#<;@n&LL!*VlnX_6HJpe1 zV1-!K@(<(gZ`kkTE2L&?j{dI!Mh%Gb+KB#StbZ?tcYN`JKRh&W#+*#XiB8FwV*T`t zMp9c9E!Y5aeBq7p=xu~Q*-=TtT?<)16LbGEebim-F>=a#daoLJKc5;{FBM({B&(c}Q%m+2`QdkCQ0z@!}19YnY z9-?IB?1ljZSpsYR66jI?`91`=2Gcx=OWxYVCB6g(Wc=xp?$w0OOd~sdsV{&kmIb$? z(GcmRw7DfI`%;*B8(E}*0pl8LuJ7@x){Efm<<#Jn9AUmg{+@pH%_xJ-Z!`Q;cJwsDWwSY!sa9KfZ3vvt za8?Y%UWr~jx#QJ75Kz(Zwd7cCz)UvquqD^tr%tu;Tm%!}SXQF6y<4cfMZY@CL# zpNdj$jDv3$IQqhuYyC=l>PQw$F?&AqS9G2$DaR$-teQE|%S!+b{GjH-$f7d5?cIH6 z6|WvDy7u2^ay6lN*N31yUA1W0SGZUw{am9t)h&5Ywjxx=!Z9tT;J znz9RSyZ>euvIBOBd$KZ+8aD8%)xh|j+&OY>nh>H9nUq9&x=XV0?#)(2=HYt)K&OV+ zvBV|zAO(!>6>(GGbwLN`~{&x&#|_n*O6g|&K+?z5COvM?G`6+ z*4#xhxb>M%i*$R>msXyWm)+%T{)rRF4*QyE7rfGnpg(E^vg9Q~1ny^V8#|RkjJ^6T z!?<&CEBH&N_(%gjQhmboUU1I3%lRJ5qE(S|s^7ZJJUc~$h&_i95x#ZD^3!wpmm%VfvJeC&oZ3j)>u|oJmeGB+#^8`vN3E}Sx8JL7IXrIl+ z;VOgiN;G~Kz?ZjL)W?a@Mj8XBrDgRc=KR?Is@-Tc?9Y0~%tJj1!Mz(8D5M?#ki&)b zYBDdR-z}e)jo$zc-{ivVWMyF5oB86LIdNLdd2=tTuUG*j5F}TA8`P}~`&t4hqOIA* z&t!5lz^yZDnc48zlft#TU|cS==u90!Tb980f+RsX63suXibWX8V&W0N{Wmr$9mi`S z>_W_W3om!h3*4ie-itN6d0pcTMz$uL;Q?r@g3(-?{I19Eyt@0z#txq!w56klK=;to zd)v_yiH{7_C4G@(&R^ilW5s^rym8wpptSoSUSGZmmBI4O24lI3W{cf_5YyYLyfSv|gvch3^$5J#?IcUFkH zhwD4D^5LFJ+!-P1pe}?jB(RuW%lNA1g9|63DizlD)IKg~B6q(Bv>y`QG+L8O(~}c6_$Rf3WT_SlA>_(rmY0=00rqbhv$P_1JYNf`xyx1VdBe+^^JA|yh04$X3IL$?u~P%_!{0&By#G^WdFcuK(88TC(9|We z@B-Lh2CE)6P(yRir5sjaQ`mukz$NhLKfboX&Po5J`Q{JJojrVeL7Tvm6#yXBScpw? zfz8D`N4>ocm#xp%ZXwt1lkhw&77d>FV^3f|`Q(#Ij=`JvzVZRvmolS||CNihkuFcn zCU2=Zx1LL%dh(n3?G`M)*x6$xsnr?Y^>7=XsH2Fiy|l)&~{hk(B#07(u~!&ZJ_HB?#k{AZPbqev0+ZvJfi4#?WlInm9JQ7rwjdHMNmSmZUc zWv;)LmT-^HjX-*mH>QwXDe0f6#tsxm4$*^rSV}km4lgaeY2X`7hEWb)V0cZzK7dyK z8AJX_%)2}NnU;|`3U*S00 zZer^_Ok^={V%SPyxzEg?&VQ}nyHuvuFCJ4Tv%h@j+>e_=ht+XIP5 zhfu=1qDFg`QXgTr+#wezMyKZGE#*>GdIOhdlM!dE8(e60Li%W1Li6StLi668Zfn}Z`STL}w(;qW?|{a*(b^K8ejR=- z$X>2#*mv+I_2<{J5K0{XxYul1*ktWMu34MSU{2G&_#>DT&#?H zf`$~eMs&{=2g2DineW7-QUB=rf+?HmeWni;)7=|}U~3#m!Ue8B^|pfnXg$K!i4o7N zu_UcZ?vns7qQmyw`==i{L62bX%q0U=5X>cB$j4&B#HR0EqpD<^~ zhM$T7R{jED=8<*R@CaJC^Yv>vmCf6=xJ3TYT=#c>WxSIV_)6(YKj0PREIlj-KH`IF z1cCI@Ei^d@R_hEI|JndKCesfdf0XlPSRmGL%E1W@-_^S>?^T`t?2BeUF$e)?Mr$pV zkN`VmHx(v6O|DiyE6q^noP3eEw3JY6lV(}Sd=CWaklrAWE-Fkzn<|?@O>11EIQlNh zmn**#pok_dPsTr@%A}hbd}hG6-k+Z8NCC)P9>;bx9Q8KlX|mZ1(ESnrAuLEaF@>Hu z=*)Qt$v}49#5%5YLX^Kvg1kRXX&Sl|Y`ru`iAia;U$N@sf39nzUvBw&PGFXM?Xz1B zvwCBw^R|)*Obn9-@y~RYY|m&gbeoUr4h(6=eKLmnGCLp5#vZO0>G9Ix*v_d zeJqFLh^z$3vS(-KoQ94oO_DKzhc^-eS@T%cH-=UGVZ#b6g*kL4EmNq(cQqj;mG_zR zgKmRbvYlf`q|%v<%@SOn*45_`Cr}o!dP6;EbM{h-BNQm)50;lZW&5VCtfkPCvqa`R zT=q*4S^;{&uUtVW9}636q_}y2L3QKbeC9TCKTeySy@G0z%F21)jbyz=;SYs(jU++0 zB3lyoB4%)EJ1{PL#v>PHVMDH68F_IN6Sz*EVb7H^kNtetx)Mp)0cE0xT_+-?A=4JZ|ay_9a!e0qFT#L8)JhjDTWNDyBa zzwAxz2yjg^Ng=2ZfB=9-uk~iC!#&aO`O!1mQQp1=0|!j;h#yG03EVtt`?T&^HEINOQ+?h)ioTP^l4(fp>WEzL z>o(1c1zI#N@B5;YZert}Z2?8(9b(9e>`4e-U+>T9ipDZUG=?)=5&V2*KoE`*MVKn* zF^)0iqFv{&G6Vn$f&<3$&efK)@iiT#`daj0)PAao{$|%f#6k9ORkcdtjtdT~>UafS zmo~ueuN%r1{!}Lh)`EM>SC~>y43^F6_O)c?oxmqEaW1i!`yUxK`^ERb)@2 zTYo!`#PkpG?YwyK^#8l(FflvN92@kqkk4VwC(#G|L*d3BK$e$mLHy9~yZtyZ24hg` z;p?y*@Qvu3$WpxwFPp_|9kM0h3e?6_(2d0-v$_m;sa68>34fjEs{k+C1Qqxr5^`E;Kx`q^gx#yZ*OT2~F zqK1@#MdzQj%h5lVH_7D$b)HUg*Ku8Ry$LY?C&?_WEmy;!eLm1Wu)Itjjb%xgC0n^l z2W~T6Qa-z2d?Bf(cv-G*()?&(2$i{jwE$za8BZ=K)8k~RZ7%)>$)IT6dhHFrscMvL zISZj@}3J!f|^ThyWyPIriheyO>68-9f!HbtkvZaNyWI#Z?#5vrS8=xwQy(l>&4SCY^76AYStAijwq)UMW|FvuT?G^HQlGHz# zN67!?v5i;MaJNsqsP}P`kSP8MbEeOvPuH8S@ZkFgU9^umNyl~-=DwrDj{52bldhf4 zDPtr3@R^xez>GnQwN_5V%v#{}B{cY_PtH`kBla@6$fCKev*BM1Q%a94LI3Nn5Z=*~}ZHD~?uu+HoI? zXL02O=@eu-it#s-bALBWCgA%NrUusgBx&>TQ=W_z|T9D0LU2|8$I&3R&zI1} zVzi2T9i*|!I!`P>el!L<8qHS!2YV56GDWKV5v%?CPDmz0?uR^Xop9JjsT zlaj-N)Gf7Wg5p)v{FcP0G`fs!T&1Gz1A~tS|dOIQmUT@)OQM7b3+Ak7X z>GeQL=bzmc8BS<>)pKt!_^7Jf@BCH&#*h^T2IGF>G&u_Wy#hW5CEDoyt*gv+Uyp~+ zUeNZ{(*kL{bWut2V&{*oeqi~LNYa&y*g;Kx2VaF=8K_jn8l};f|Q~oYo8Wfm8^-fMhOzOH?r>2F8y8g3HbHOw^}R% z1m6FxqwQYJ%UTOX02baWv%hn}^SZtB6J@6qc*fHe+zdm`AaVgQS2$ft6xrU>qe!|p zN3HL-1uTfUFQ|Pm`_7!&zONVH+6Pv_0xkRk3>ey)gBz3aK}fpdZ3CVR5GD0}u}{nI z*Id%fK?2`giRH2M1$8aGeoWu^A&2tjyg+6B_|FxrbsM}v%^m?5QYonT`ghS~6>=Pf zD6=1}#bh&1j^Ir|HlWt$4)9EcYwI+U13*)nT3DkaseCHs=q91ZuJ3DsTct!8;O#T z&R>7te4B=&FXknJza5kEnMW=}lbGK7b{vTf!g;QX8^%{7GrGVTs^e+t!5KC$%?Nn& z!i;ZZb$|aU8{5H9{zYH~?pl%Uu-X-^$wmJZe-8OheEDxv1@2Gzzv-hLdh8s2kQqXC zn7=bqR8ooWx6l~0VRcC zQV#q|@wLP5`SwnBO@#&H&u5IM!B>xJtR=oDqi^*N{QU6E(dIsDm}>wh>hVN!e#FqP z9^=1ZKeyrnAw$1bx{n+s0*?xcoEL;Xh@f7iv9dOu{bc~R$XM%An=IA#OmFCoygTwe zBMBtx;`Jr$?!A*eWHatY;yO1Gaq9u>mBbsHwJ)-u(rZeYuKh)*xVKWsbQw1)3uHcv zeFr69PUv&`9J4+=UGA_bAh5YUY3yEIAqsz7TgHmbq+iN>`#q1f(geZ$QVs0*JEz5UCHa)M76?lw?c)rK#~#5uHs z|9Tcm)b5v|Yl-@r>GT8|#f>5ijmlDZzvk6dsx8M9)x}o*&dG|9Z>8;karQ@Z2 z?C>IsQ2DLs%Oxc4c6EONc-BonaG7{ER;yu9N)quvT@-{bpBE5B{4Tb?%rNg{# zB3$B(@(X9^@dZYP;J6Z11o%4BY)3UAI`>E`E{+vdPd?({Ahvyz-UQ>f*Y3e%O~6>X zn+8H`s0Ri9(SMU)WI@udm}fou%RL4geVOPoxAP#PZBEF0=lIp1x*uBIwdI~{ht+fv z%+Fj2cS_v6=bY)LGrr?3(|q&aIP(Q>Z0RF;50+bxFrVZeF4SR3b){RJKU@hbyd0-k zGrDGYaJssf@4Bq=6szPB8Sjwk6z2UO4}c!}r8kHNDXTQVzWN__^J|MtB5+fKDY7pzE+BT({)#9nc!n$*o>NX?Zp8P z7^!?Cjyb}pCLtRj0}kpUG3Dvcj|+xK)-)EZB6}t07O((@-tcJkEI{$jlANMIU1t>< zju8~|b_zb}@9@W&c!~)jP!lwYAX?I0Qd@j;6y%L}36VYJMTojvs_H+JEi_*rW&Y%| z8V}Z`6(d;BAM}QIynV5QR|lJ2PoMccf)S!kt#Lj92U|-DuUgU^3VUg2-d_)Q54|A) zYj?!Ks$D~&hnv-b^w$PA8nCPkAg%FuzIu_GS0H!YLZw|Tpb2#1>jiCnUi!TnsZ=8? z6TBLnP>O#TZiM4*Qbh94hHSWafoWmbp~OZ3d?<%SU&}jLF(J=pj%DEr7XKEv(f$1< z)97aF#e>pEEL?zPI2d_cHbPi&;%aLdX^Em0QFS5PFTjL7$glrRjJQjP|1mf$Pw$38 z8;0uIH1y)R`~2K7>3QqY*RJkvb(IZH&KBkn)TTk~um9PLrcO>ckhzFI620UcQ-6&A zo#OVbR$>Bs?*~;QL8nV?IsRAFs*!cZ@arwTWNTRqKA#8lpOu5@e7u7o?QaO|Pj#cJ ztdyK&f|g_F$c@$yUa>*kAoAEs6`a&$j;|#ts5yDQj7nG|;O!3kYFzMndw%7I-dTy~ zRp=xO_KO9n5=B27pc+V&q|0;om7pWV(|!FT2`HK}PiJZlO5pYY ziZ?omR{agInjM{O7je=?0R?&V4mGY4Q}4}daU!l7Vu0G6F%A9gqu33 z!j+7v*>!vNLm3{9y&JapGEBl7;I8y^oi&gv^k0r>K- z*9zoLqSY6(-M3>fk!9L)zQ@2MqV}%yDpo$co&R(yxDfxJGZim|whL)Uj1xUOSb$Q4;!n z6Oexk_dDL_Bv9{3=r97bde39&kW(W>>g417=o^S}8Hej{x2q#P8xC=yO4)$V8XLox zH*lra=r4@w)NS?ZP+jZgBx)<-bR=Y+lUlT<~ds6h2XQ8XK5IfVu1w#s>Qv`hK@U|oZM*))tnn|yhC4VRRV z`r5?G;E`{KDME>YjMDAT*j_@x-w>w%*W6Wh#nCj;Wr4*t1SdElKyW8WAh<(tcXtc! z?jGENI|TRO4#C~s9Re)xJpbZ7XU~3|?y0K2C3CxKGR8(+BAQz>l*P}g;_^0?_pR${ zVlnL3bqX~Vh!{Jvf16Lh>G45kE!~Bc9T5bULgYsgzsj0;6Y8PsC{YQd3o04&7lr%U z&M6EcG`mdRO1cQ&^1K?_#K5wD+{XaRT|^6T`(f#SNS{96(yy?6RZ zKM`_eaZaF=8313v0xz;2DHs%&3tAT7od#h`I3^i^aMJ95c1e!n zw#$piMN`#)ky5r=7+6`!N{R?P7rAa`E5D%yTWyXl)r$h5&xQ7n$68;3TepM}t^27N zU5d%|zjqBg7|}1Wg4@~#p|glU8FsLPe7NHVAA%?cT6Dr!P~(&`F7 z>&^1=9dQ2s>nnJ(e|){lYj!IxQ6ZxO?HavqzkPY@S+uvz!F4Y3AixJ(;>)AH;;%ek z#C>14a=PNH7OD|I9sQ*Y3Mj!vE((sd)(ZAJhEl#gz6h+&KV1N<%d+0_90!P~QJR?@ z&sAGNsHq2avP5PGoFB^AIQdhgFW)ua)35bv^9i56ND8tb1cXjCY%EOMs-C^Klh*zi zKS0i3hTFsSRu+REbe50*xsl|ogs#NA@;TRUHup0b`Qa+`vFRQCORNeN&rbYKQ45C+ zVq{q-AacLVLGQr8bdocLfTX{5>sx&5PI1%qN3-k14`#nxAPbWUh8a4fQC)z)d}`8z z>$muJGI+^m?!AJPXl&t=e&7+HTy*Nx9y~ zU_gK5@pzj$$oV(9qnE7k;fii*RV_8`I09pL+heko>vuaTcucY^*8l4ko!kIAnVD&A zgF{BU@Z{HNoQh5#SXQS`W4AH^^vFL)?J$G18G40#(`hO?4FW4CbAC$hT%8j<(h_Pq zP~FfpvWGf6KQs2uHxjCKootRV0>DJd9K?7w?rVN=+C=(P3`?2{Y=97eP#9$$lq^ey z3{5wY8_%eKdN>r=z!8qj2oho8*sbd#B4VzE9~{kP`gdqVdGPEq#H7I{>YKj_zM}#m zF=+~>1g^}>e*fpkc{{uQbY6s+dqzLJV%N=ycW+42KNZq4x!$e{YM(FOMmtEs4b)B~ z*dS^{uhA#(0YI zBIe6p<+orx)HgU7j@{-a!J6i$gY96WSmvN|(8-%kKgvJZV2t+aI1W@I z7X(UxhfV$c?ecD;73ZSk_uL(fpax~IotrnV=f@l&iD(Iy4@|bur-@KO_sc9J@qfs`5pM|s2ja}7;QLF$-@&SqCD(J)V8Z#;W~{9N zL{qtF%AApD3qQccDR}S7qO?+9imO%ksckqR&2t55zfH8P;&i&7>P_=JPzYOo8%YPk zMb7w(*QbvUU7pvAf8vrv!}IfsUD9|uy?65(xHw&At0N?Mkbs-F0cnH&X=aKAbA~p~ z^+9xc83T8p51U>26A~R5P$&Hzc+oBa<1IsgAxq|}DdP-d>T+U(8m?GAN>45L(z+vW zaNkej%iRGvMqx!M1jiWfx3Z?6eY8~vcmgvFQVSi&>&3e^+Mk6(P6KB_k^qwL+}EDp3e51(1rwXcf8(j!5v~tk z1f+QY_J=JW^a3aV{HY$|u~2wLuDg1<%6VPud>C_{-q*7|L^{KYu_JXipL2;OxwG00 z1K4^vRoi_pFfyiM_L98~Q_b?ih1GY3LO1)a744Rvm6RPAqQ+({gb2uC6qXQSej!6t z=OCBCZq@_hcAAkj)$FmSAH{tFNHhO2;isTSKNnWG4_rPBeZ=Ury5=T%_JqL(eaOGb zn?|ro54@wVwr>6^#=9v~?U%PJ>C8mjBkH0?mOm#|a@&A3A6x?+&%g?Uu&l6!d$A&j zs%*9@hjRmQP_pzyjXtvfMwcOcr^gL-vxle!FnCycFxI0pA{48aOe|XLf>z308K3< zG#)q%P-QcgYb;kFySQ~>XyZbN3LAdd!rk zhmLC4$Bp#~(}jf1$@~&AnaRn?V|Mz0X%#6p!;Qwn%Y{lRk_~DdXA`85+U2) z0lty~=%*l@Us8UrLHwm)m33c}t*v<5My9CSLB3h*yA8o>lgtRxKoQrpM$@6=k>m&O zfAxHJ7+FdbMcPR}L%>4u$DTZo2{U%FvsDaj!&5<@1`Q?HB4IIt-3;j7eQUGh*!8ML z`KhR>7qcHN-Ay3UY=>>BStuIdE(W9TGh_*=YxO_TqQC6^oVsPlOLuT<)@fu+|KS`; zh<*IKH2Is&2NW@Y#`QLrs^{)Y6BcBFM^lt1zezFwcHNh4t$k**j`<@MGj1FaCdxs* z`F+PUB{!!xW@NjxqT!v+OYo$>b+Ted9Slb~VO$Iq3qMW>Gn_2SE)u-ocF{QMLz61^ z)!Yf*PPXi4#O4EQKl=(&nU2v1FNa(Ln<%B<5;Vh*G-XYMa6_K+8bLm&GQwhcxS+C4@uF)0~=(K zAD0+oSV0~vJF{Wxtt`B=LcDSPsIQPawxE5de=me2wp5#IydM5k(i zOLk%4w4D7UL?tJZ^_TuF(9Hmt%IN8ru0DeG`U=9ggOpMG8N;_s zoLin5t9QPAf#T=A-zj8tHDr@>876X)=TWt)FY=Rb1-dK7}RQ!ve|zs~&Q^kb1h3(BQ=Z=a@&*(?Dp zF0RRuO90NmOWw)gYS?*ab+YNSd+~T)KYVOqef0Xl$NM^TDzDe_FVqJV$3UE*B4ztF zA0OL(ANURgIiAxm!s(BC<7Ecq_+^!7}2sa?^bjW`eBfAZ9|BbA3gMxy@8>* zpOKtI1>Lsed9(7P9-*N5a`13wE{Iw1Xb{T$FKN_nQq|?LDijlw=5xbVl*m5ozx*|B zoaJD@0(2O&N*+8xj4DU2bWR2_6YY zWlsm!Zv*#2gmzF@{TA@O;t0x{O|%S#*m``j&ln5{KR>FJhwk+734bg)U>g_b&iVF&Mq~l@5U}+<<}byx=ad|k}U8(IsxzSg=?N?jbn+#z0*KPKXJ{bl-bIGERLSI z55Kpz6qcKCDbiAna^y^`zd5nDJ*XcUx!+OKn zN$4B=?{Pcb0#FSwF0oKNwuALbedo9i-LA4+mdin>`xM+$YK`d`$V66dHnpvz88;0A z*+27}YcGT>&&h&dw|7{K-&vGV+T-GYu0`;`pXNYjsA^nKm;F{+SHa_-4@+)^=r%7l zvo}#5x2B)%t&hp9X_#(dL6IT>DbomgkD3S1_x#Hb&82uB;lIM@`zsXB86Q+5_-ZU~ zI;!fbw(8>VR{~6)@L{0cg_R{~E5$RW{rsPc63z?A!SI$-o{tS1VYOxOxCwAGCg%1# zHYPaJNs}278Dy&L;-6I3Ym)46gDrU8;lm=()`?ZQHxV#)H5p+{b9u9ap?^{;o_k2J zNYz$~^6Izh<=ZUSxl_t?=Ii!0npmCT;h@Bf1H#1x3S5t*9OK+emyHokPH9WQwz|mr z)~@XO*q$_v(|xU9uyAIU9J-E90LFso@{I9w8dUc`Dk zEr?_5q}7yik->|?=)(|t^Zz9{&+=%rt$d>sFKrkZ`vgPAMc9pRZ&>y&RJgj^=(A{L z`O>Usrdvh@>j<7o{#|R~B~vK`E)KOnkE#yDIBxV`%%GtRPgvDn1G2Yf4L4()1_9tE zDT-i*YGv8+7>XwQc+k|e71D^D#Dl{2>Qa>VjmhWlE7}*XTY7Wh@lmZV+>O`X zb$PpIkAp5U@Y*af;pKk(FDkn1x^oc&<(gZxPUJ+=l<(6B-fx~JXwd7I@Rp^{6}Ye+e&5m|dK-7ubWB-5Sc<6S3#zPuDl=N5V}SJFO_XYslJu*LQf&of;QG6&Gznh6)?S zbovP_GB@2`N&;;}S!sz^Li^%iObpVhDa3;Vi2_LJvS=Jbe=O~=&`RTV)T+Abs*y{k z^1MFgKTPtYjzAxgSrgE9$%ybq-`)jxmp&wd&ETQ{&v_i>@#C095Dd)t{Bd- zTG4jjD{4!9?N&ZgFQsZ|U+u-@t@9uRZf>tG-?CI7S&xi*Gm6n=c3(o3@qaYnU`Ko|&lhOGG`bS}#%4gvXQ8#DR{U7&*S6l^g6lLdIvA5gB%YzZd{vOS*5{As; z^!CC!)+Fs$`P4V7ll`){sv>rLnpnt~5*j=NwSrbJR4YRuqA20Mef7Xl79*JDcN1yv z^E1{_Mo@|(o(w)SJ8Ts)m+jMhsD4YBh}rq_a`4ACn$5U_di6e%N zzAHy1^GP2&)Hr^BFCB)uGdkCq(7B86e zze5vP<(@ghvnrWJea{s8`e70cirh1cXq`aGbn_xqRTJCKn0IoNXZN=CT)DY&lxtYtQm*%Q-SL>>0BJRCyB2#|l z-S3D-S%LWc+

oRIIh^AjmMqp6ffDCuK@h7)FQHm*|IHEl&q=zVcT8hnE*J^yvQ0 z8XU7wcbc`Kj=hr*zfn3P#g=zOgx<}Kg{b9a(h&kf#6P`|CQ-jcbeiKatfntCu&WkF zIkS6OE?{^HuCx@sxw*GtebN+#DvDj(+^k8zIqaRuKKQd0r;KkflIoZ%+%i~dM>lsu zz18(zW7-)ES+%?w%#rP1gcv<|7X(2k(P6e>62=ssQjHu)L>sA)@&o*q?_dNLi zQ9d3TWz|R$_jBSKBEqQPDLBJoo0ZsW)>izDzKa&HHopZ1k7nbY;Kj(2bhE+6=F``a zMzN^hJX+g__iQJzcrm{m-rIFSpN6Yuf2`YzMQC0L5>Q+Gj;rSKaAv4NHN+6B~nd{p4TA&38OWkJ`*8V?Cj4c3c!UV0aMgsK?m> zAN1gwj}XeWvl>4McvyvK22_LG{uTd|lZ`+Q=(u~v!C2~dZht`GG_B%T=UGC|KakVZ zky}muoFD@45ce&==A|fZU3=QU;%%VW>7YqAw!ubt(3&xMi>2?y)vL}1Q#-T*X*k$gBn@p4Iy1T%5 z^%(4O@%GvNar+&R?|$^t-E3UDm4;rYYp>2IbiAv1myo)&r=2onQjVn#vpBHZvv$CD zyqy5+(Wz7ddnV8z$m1jCISK_Y&R4nwzjQ?y5kE-=wd|i6UiR^zBxl@0m%T;jhw)2} zlnl2swqGhFIllk!v%jRTyw^7^=37~^5<3?p2ekzk{IU3&I2mq|Z2O<2#S0P8bf4Q# zF3r#ebV?VXmX)Ha>x- zm-_)G)^PU*87RG9HUV5!c^iq;{>#aZ=8~lDh#6o9A$g>6!L&+U` zAOFdS+abbC;1lDb=kx{ul3yOtX=d0QFoD5K_m)e-`+Bq%>B8!Y1I$1dGBd|x^&sT5 zMHsya!%HPF&IpPR+{)>=Ufa>b=OHGTI6)h37lH9>FD;uhNwxX+d~Y{fMc2iV;{rSJ z3tt0YSiHcDg>!B_1hDNM@`EPj3~5U-QQk};YcIl?KrA49#mot#crQoxZc<2^p4pjl zVWv)-Y%|lK5hn)|{D)cp5Mo>&712ni?K(;a_+{SWjlt<~IH=JiSz`_=Wr8X>3nZ<6 zwe$yS_ZZQuwHXEo+ss~_>W2+09Y5!+`TzHENCtGM?CUQU`(v#gm4D z#=e*VB|b~3(-P+uh5Z_a#p^$1d7F2`S&JV#mrRNEA;5?rCRG?W8 zgdArmTx72_tqIS(M{6w#gxSO;P>MevTnHAD!U2Ct04UH2lHb05XCWgaV^O{JJRiqZ zrdZ^!MXQbxjLiFCcizn~%=wYz?UbTx^J?*aO_2A#%R~3)V&X$af_p3&#KRO>RjJXn zH8KB8ui23?8wC-`2;2gJTBq_33Al~%Qc`qc%FFG9#h>=#)D4;nu~?H1`^$|c4fX61 z{-ik!ttK>iy!slrHVc-acR)v>o_f#I;h`)ajhv0ib3sCka9R(g)TDY2;=QR^0$K&> z^EaJZ`YC=eqLTqEF%UPRstOOj`A4pTu@65JpWlH&5!pRkm$pCz#sDDqH%;k3bW8i} zaU-rsnYE|kX9XK851Uuj^0(B1POeUMWC|cMyfK}#s>R3B`8K?cj(-;>C~kWf+Wz&* zXz=NI`LnA2dwXhIBV{MG&Cb-n+*_mLaJr^&)$nYS?X+qWH&mGq@XL@Bi8uu`HL{mvE8l=pln7jb! zr45%n{5F);XIodT#ey+g%WMo}kdgcxL%FrK$ae*nlOYvWiazL&dt0(k>p4!sI+rJ2 zeH(>V6Z@Rb&hyxSH0)_Xm@^C=4O^`Zq!v#~qLF6xDRX({PDDVbvG zKHl#9MfX7jl*D5LrxEwxLX{qNH_xixB}XWGvgdPBmgl(0*~6HS@02Jo{*Ip1DJhlx zmTzLe-PIUMTETr^z+l+goge(S$h^JP2JF)qa|-)jw!XMK3~FtHmBAiOvA%8#7|&2W zYi``Mn~*s8NHAy^Z)GmW;%)J-)`{T7{R&?B(H}S%GB@lzOWIADfDPTiLKCZ+d_(?a zsnlLZ9+bZ{O2nuJ`czAy6I12f#6D<&SGvY`?8dhKW1pSsf-jhuyN~1Yeluw41D}Y2w zs~NaIC7XZNk(+@_MVwP$#=q!^zqBQeKJAyNBPI9@pEerT(!iW00AlVoOeMqr>&+zl zvI}61FW)T5#U~k~p+Y|}DD9m<&g9CKUirDUhxA(U+WY$fVFVa`8dQ8_eD0A`ANEuR zQSl{B21cD=DNUi~+`eRs+x}L2_Bw=*MHmJY9H^p`xc9QYkR8-IodD*j+ac)Cov0nd2~UT=tWidQP-_r02v_)-`=o`8Lfz@6L9oIp>M6;UFS58)I0mjjL<7 zB1?OfPi@);jw&e~(j?sE63~ey7Eir9>#H65irN=z#7h)F?mV=L96kzvcI(fz|Cs!X zkd&YO?xr^u&8I1q*M~Kf78DmiOD`h%jF9S8vXk;}^2bYzNqW9W&dyn&-2f(pJx`d6 zeP|V&Gad_(Ct8+L%bjaO<*1@rq!Q1|ketv*gzdRSglrGmdmUo}RSU!-@wjQF&8P$3 zSBg@Mp2D;k!NO2aJ^bfk=x6VZoYROq+*Y04zknaYQKdWu3gteNBM+lFUs_2YPePT1A zG5mbj1-)A0q=jc*zwiN=5-m1So?A9)ntRiEUA}%;)=pvNsO*`Fq(>aX#$*l>c!%t4 zKd=?2L))N|`&Tj6W0GRFRa4=pLL`kJRDAl$IWaQb&=_kx1bAhAs_D?JZ=?gtfrusp zao=~QP~T@dNXRg@a=oyzOz782Pr39W=E%HU4cQ_1*dNyV7lTTIZHdV1BW{k!;e^hv z>ssee$_1NuLylux!1w4P??gHI?OlcOr-FSvl7Pm68M}Uinh^jPfMa;S^PFJW&-Vb| z8N(}4Z6lk^`Rcuf%s=(behQk|`8gJ4$iNd8K8p#sf^W&pe>Jhw^ZZ#-PEOO{bg7&k zeWQ)HfaGtfnUHXq)MtC>B82qV*TTy#Z$)%yNt-u^+ZbvYY_oSfkdeBo{?MdCvQA_| z-&AhVVJ;3ov41P!KLs>T6GoJf2~er)HMz>|(}V!_2yATREE&jgfSmMk>#qz@ugeEt$NVdk7sL4+b=@?Y5;nffy&i}^fstwo-E z;f+x1vH~4K4(+eI!|?`v9Z!e-2ZaMmYlWMl^V6M+dPCgvaRHAbC7Ab7_S@y|EQ#n&+YO{Js>mgETe zMJTQvO;IIBp7$+Yp+LgY0VpxnX(Atw#UPU{XiT`?q7rAajE%;ULnIu}zjs3Lt@0UJYnbG{prHKEBoC~%zNGCYsC3LOO#N`#T$8pffie}|O}J?9C#10GoA)cK zk-e=SPB`@lWkN?z!-N^%@9{o$accirJQW9zx~y6^KAYC-JtbD_Amf|G*$_vu^nIM+ zr$nIW;^}m;m)=;v?EFuckq#DLdUg}0o7cO_+(kBHQqcU}Jgs!-$w0Exk@?GHX@aJF z-i!{vijt>+vagxki@|PfL1>8HALhTowxr~y05s#$xerHksQtDsYpt|RzR1#L|jqly1 zrfw*;<-cSVqE)GAo64x6;g_-4;bA63_Booko0J2tl0Sjgjiv(x zsB?Z*;raBUG7~dnuKdI4T79YEpW;jXcRPDt6DQF~!>oxGIo#p=R1ZzDl@M`2h-r#C zXvOt&U1bhBo6BW|o#X3}1V1zSO5_ZWgxP*(MhjJZ>ToqTN~+H3`6v?+In>jKOw-P%62QD z;fLhH2gCPq!=@5YrNN>quxawXSBwdj>(eFS$8ooKG56ZI?2+WPOpUAm?{Pei4b5N< zoAviD^j>Po4L_>N090>ERzEh$=nEpxwSu6ga}E&=5Hu&9T(8@u4AS9`7Wm&yi`?Bw^A)K*@y*(%g9gNB~rg$bjm z!edc5=8zzA^QN8_L(l=LO#0EK8Sk^TQZzLU+v{}RZoGn?wO$Rqt9}LFbQZq63~uXi z(3m(NLl#9z9Z3y~#DXwzROFdK&k;!Q6-2fQIB`nwh z0(^w#KKZv#L4H-o9yCR=RDo&GN8?sL=P&C#4qpE*XNT40jk)=eJ=#9@;Q)^xZW3Fh zKU=4BtL$jWpIgyg-__h^XlQV^%0j~}{%+(1wBh@Mzk@1_$3}_J@(->h9(bPZ2N%!! z_rYm>J?d2<0{E~8sD6G`Nahxwvn9=Y`o4K^lc;zIcMNAA#rM@Nn&&gQJ6f7sB2NeS zybEHm2iE*VJgl?Fc%#Z==@mVp*(PqwsJC0%)LKZR*HJE2cWLQaI%ifp`e7hVr_OO# z>Zz;tQUUSmqe)CKD9Cp6H1?iHMx=&|k40guy|(M>&GcYb{*7-SPK(S!NDWQrkRk<{ zUQr}0{3x$4DE%)2jpt6FloTJw(mN6gr1lO93;(kh#(R`^?6_=`C%ub*I-&_BYF#cQocO=Vgy>#NtO$?Dd i2vhj~?k{5I4IxS{2X(j{UK(iM50Vs>`&K2aAMii)+Yz+@ literal 44836 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 z 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 diff --git a/examples/Demo/Builds/MacOSX/Info.plist b/examples/Demo/Builds/MacOSX/Info-App.plist similarity index 89% rename from examples/Demo/Builds/MacOSX/Info.plist rename to examples/Demo/Builds/MacOSX/Info-App.plist index 8287285fe4..71c5339c56 100644 --- a/examples/Demo/Builds/MacOSX/Info.plist +++ b/examples/Demo/Builds/MacOSX/Info-App.plist @@ -11,6 +11,8 @@ $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName JuceDemo + CFBundleDisplayName + JuceDemo CFBundlePackageType APPL CFBundleSignature diff --git a/examples/Demo/Builds/MacOSX/JuceDemo.xcodeproj/project.pbxproj b/examples/Demo/Builds/MacOSX/JuceDemo.xcodeproj/project.pbxproj index 6705fa2037..c191004305 100644 --- a/examples/Demo/Builds/MacOSX/JuceDemo.xcodeproj/project.pbxproj +++ b/examples/Demo/Builds/MacOSX/JuceDemo.xcodeproj/project.pbxproj @@ -6,6 +6,7 @@ objectVersion = 46; objects = { + D469537A9CC9E7691868A9CB = {isa = PBXBuildFile; fileRef = 90B1185950EF7670F87EAA3F; }; E16EA7E816B50766F3AE4F88 = {isa = PBXBuildFile; fileRef = 8D7BDA5CDDCCD2F7BE67037A; }; BB7001D6FD448E6C0AAE4F30 = {isa = PBXBuildFile; fileRef = 8452076B5EAE822DD445458F; }; 11F44DE2908CA14F827EB448 = {isa = PBXBuildFile; fileRef = 4621682C1A4E85A088F7CEE0; }; @@ -62,21 +63,21 @@ A1F184ABE297300A9E58BE94 = {isa = PBXBuildFile; fileRef = AD55906C5D8552E842C98EDC; }; 41F9A5936E54187528B817E9 = {isa = PBXBuildFile; fileRef = DD24BAA1E8104B6D3554A222; }; 7BEA73E4BB71CE05E542A6E8 = {isa = PBXBuildFile; fileRef = 8D70A7277DDD7B7974E9F178; }; - F11E1D83596BC7786FC69405 = {isa = PBXBuildFile; fileRef = 0349FEE5DA18067918536934; }; - 67EB8B44CAD18BA4AF577528 = {isa = PBXBuildFile; fileRef = 1E0453D8A9741695357567E3; }; - 445DE2471E5D168763AF149B = {isa = PBXBuildFile; fileRef = 40D267701C8FF75121454D79; }; - 795A76FB056FA340861A8C51 = {isa = PBXBuildFile; fileRef = 66C5D2F0D9B9ABA7F4A386E8; }; - E96BBEAA081BFD7B244B120C = {isa = PBXBuildFile; fileRef = 5B466272F3B821BE88BAC205; }; - FEDF1AA6CC2486AE0C1267C1 = {isa = PBXBuildFile; fileRef = ED6224ABC715AAB68661F4D4; }; - 47F2181361C8EB7D67C89169 = {isa = PBXBuildFile; fileRef = 4E49D12CA5C42721F532DCD6; }; - 7CA1524D7DE0C18C1F070C97 = {isa = PBXBuildFile; fileRef = B9D26C6C4CED62E6708B6865; }; - 64A5DA788C3DAC2F02BBDA0F = {isa = PBXBuildFile; fileRef = 63AC834818EFF45708101F9A; }; - 633491D8F37C87F3D426F0FE = {isa = PBXBuildFile; fileRef = 9079FD325609A4E67E44F3ED; }; - AC074F24DB676919ABF06188 = {isa = PBXBuildFile; fileRef = B27A7B237782F9E15E4BF8D5; }; - BFEF0063952A3A4DD92CB068 = {isa = PBXBuildFile; fileRef = 09D51FD6DE5DF526BB36B4D3; }; - D39B2783DD6DB671D8BAC0EE = {isa = PBXBuildFile; fileRef = 141036E097DAC47FB6F9CA80; }; - 7FDB32957337BE65186DA1A2 = {isa = PBXBuildFile; fileRef = 786CF1CA66289DB77845F8E9; }; - 52637F000CB62E13F2D98026 = {isa = PBXBuildFile; fileRef = 9895036432E9AE55EE16323F; }; + 27C45C30B401F78C4AD2018B = {isa = PBXBuildFile; fileRef = 2B789C58AFC77C0527BFBBB5; }; + 9802D89D43B4B7C1A209515B = {isa = PBXBuildFile; fileRef = 3BF94F93AE8A8E9AFA5FDEC7; }; + 7CC8EA9902367FB1085F23EB = {isa = PBXBuildFile; fileRef = C8DBA0F79A42D081DF328798; }; + FF9E62C79E4C341D9F24A35B = {isa = PBXBuildFile; fileRef = 0CD847B28F63BAE0AB55CE37; }; + EE7B3D7B003CF7F565899BB9 = {isa = PBXBuildFile; fileRef = 66C35D440440937001697D0B; }; + B524E9EC1808C486152A6B12 = {isa = PBXBuildFile; fileRef = A67AC004E3AD3129C578EFA0; }; + 83175ADAC9A8816E534FBB17 = {isa = PBXBuildFile; fileRef = 2403B8D4A16FB80D115BCD2A; }; + ED20291EC7E656726AC63259 = {isa = PBXBuildFile; fileRef = FC022E24D3A4C3E7C77E55BF; }; + 9BAE90BFAE7C71EDD5E6F56D = {isa = PBXBuildFile; fileRef = A7F846EF40A343C8E30D18DB; }; + 1CBE066CB2B6636D341C5C09 = {isa = PBXBuildFile; fileRef = 9FB3AFE9C376328C6D798741; }; + 37EB9CCA5EDCBF2248E70EE4 = {isa = PBXBuildFile; fileRef = A6EBDFEA86BEFF4682C46940; }; + 6F78472E107462A5DF946152 = {isa = PBXBuildFile; fileRef = E13D0BEFB46B4D8751EF6CAB; }; + D1E75C36990645CC17E58511 = {isa = PBXBuildFile; fileRef = 652A128D7DE1672618DB9521; }; + 74C9ED42D599D90581025EDF = {isa = PBXBuildFile; fileRef = EB93700805DBEBF58092DC3C; }; + 8A222F52E0807B8E934447BF = {isa = PBXBuildFile; fileRef = 16C0655B97D6D3B992D6733E; }; 005027EA86FFAEC19D634730 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorParameters.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp"; sourceTree = "SOURCE_ROOT"; }; 00869109FF554F8DB553761D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemTrayIconComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 00CC1BBABB9EEEBABF0D34ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; }; @@ -92,7 +93,6 @@ 02ABF8C447E1A47845F6027D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; }; 02F0BF69062E8D9583F13C83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; }; 033BE48C56ED09055876AFB9 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; - 0349FEE5DA18067918536934 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 034AA69C5B2B4882EEFAD046 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = "SOURCE_ROOT"; }; 03707F35E5DB4BC6F1FAC8D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; }; 0374860044AB7A23CED0D26C = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = System/Library/Frameworks/QTKit.framework; sourceTree = SDKROOT; }; @@ -124,7 +124,6 @@ 0876934F047839205147DB99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 088687334FC51A5136881578 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; 088BC49A72D9304769B2CBFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; }; - 09D51FD6DE5DF526BB36B4D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 09EB2AA32041290412E00D8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; }; 0A25E42359372E51ADB0123C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; }; 0AC78EC782815C8325A3AC8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; @@ -139,6 +138,7 @@ 0BD502F6196E1FE7D9888A1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; }; 0C6B7C49C4630C18F995C738 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; }; 0C73944DB76DB5DA61210A33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0CD847B28F63BAE0AB55CE37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../JuceLibraryCode/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; 0D17B181C82CDA7A6282A0C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; }; 0D979051139C2AC633BB4B9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; }; 0E11770AD343D8A0780C54BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; }; @@ -172,7 +172,6 @@ 1339BD00EBF554E995968B6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; }; 133BC5B880C7575FF3209D88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; 139D5B8276448B8BFDBA3F7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; }; - 141036E097DAC47FB6F9CA80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; 146EA869EC587DBE94B39198 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AudioPlaybackDemo.cpp; path = ../../Source/Demos/AudioPlaybackDemo.cpp; sourceTree = "SOURCE_ROOT"; }; 146FF5324D969925F258D045 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; 14933D0F3C598C38A113CE8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; }; @@ -187,10 +186,10 @@ 1697DAEA5B5B105AE1C48E12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ActiveXComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 1698E86A0E0E93DF1487E9FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Base64.h"; path = "../../../../modules/juce_core/text/juce_Base64.h"; sourceTree = "SOURCE_ROOT"; }; 169C561B93262F8B46BEB768 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colours.h"; path = "../../../../modules/juce_graphics/colour/juce_Colours.h"; sourceTree = "SOURCE_ROOT"; }; + 16C0655B97D6D3B992D6733E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../JuceLibraryCode/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; 16DC590DCFE57F583E99F9C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; }; 1713D0650DCFA516EBF595DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; 171E2FEB6097B9D059BCD196 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; }; - 178D5499D90E6C10AA778456 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_video/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 1796A99F33AD5998FE4A6035 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; 17ADC8ECFA616CF392783757 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; 17C0612B5BA94849EA9768CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -215,7 +214,6 @@ 1DB91DA41FDDC9D2F628C7E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLHelpers.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 1DDAEBB24E58353761798ABE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; }; 1E00488AE073FB510E4BE10D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; }; - 1E0453D8A9741695357567E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; 1F25BC80413668F43F5D7864 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessage.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp"; sourceTree = "SOURCE_ROOT"; }; 1F2CB36A86AA1A4FFF89CD88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReaderSource.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h"; sourceTree = "SOURCE_ROOT"; }; 1F2FF9F4A1F8325AD3F19EA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; }; @@ -235,6 +233,7 @@ 234392598E5388F29CFD6B50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiser.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h"; sourceTree = "SOURCE_ROOT"; }; 239F942F45950F5EDCB65A17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; 23A853ADC54A69406C7A49C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; }; + 2403B8D4A16FB80D115BCD2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; 241100DC52A0F56D071C8C4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; }; 2432B5DFCDB8D39150029E01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; }; 249A454A7EF1C3A07A66F453 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; }; @@ -266,6 +265,7 @@ 2A8F6894339DCE6003B702F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NewLine.h"; path = "../../../../modules/juce_core/text/juce_NewLine.h"; sourceTree = "SOURCE_ROOT"; }; 2B4F1477BB90BF7F62005BEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; 2B702EF83CBD217F8F9195F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2B789C58AFC77C0527BFBBB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../JuceLibraryCode/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 2B8FF1E4F8D48AEDE05224D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 2BC7AB69474D7E280098B893 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; }; 2BFAB8AE52821D3786BD7ECA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiFile.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -338,6 +338,7 @@ 3B4CB5DCC28B60C4129F024E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; }; 3B61B715F29A0AEAEF73CCBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; 3BCC9E4DFC3910F668DA3FF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3BF94F93AE8A8E9AFA5FDEC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../JuceLibraryCode/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; 3BFEBBE9B8185F65D69A1721 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; 3C18AC0F75E68A8601DD8F08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; }; 3C1E6F7FBCCAFD6CCDBBB70C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; }; @@ -360,7 +361,6 @@ 402BC49CAFCFFF067A88F96A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; }; 408C5E78F7DE038844E18D31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; 40B485A7CCC441C90EA92FBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; }; - 40D267701C8FF75121454D79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; 41107A3608BE0848BE2A34FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterChoice.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h"; sourceTree = "SOURCE_ROOT"; }; 4120CBF145DA500C140BC666 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; 4140669501152D9FB9A244B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorPlayer.cpp"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -411,14 +411,12 @@ 4DB00B418C4F068BC5FC7314 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = FontsDemo.cpp; path = ../../Source/Demos/FontsDemo.cpp; sourceTree = "SOURCE_ROOT"; }; 4DBE443E8F807D9366309A44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceDemoHeader.h; path = ../../Source/JuceDemoHeader.h; sourceTree = "SOURCE_ROOT"; }; 4E0A9537FFDE89E4B46710CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BlowFish.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4E49D12CA5C42721F532DCD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; 4E892CB7335853F8FE91B26F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPress.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h"; sourceTree = "SOURCE_ROOT"; }; 4F56EAB8D09665602226930F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; 4F6768F8EF9CB4A34A501966 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 4F9F102E3BEDFE30542BD479 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; 4FE6B5F0E1AC94CFA6BCC19A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; 50677353DB2766A800988656 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; }; - 50AB15E26F6E4A55B0BE8AE6 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_formats/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 50C099C6D8CA6DBF95B0828D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; }; 50C625257E68C3B8FDAE45A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooserDialogBox.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h"; sourceTree = "SOURCE_ROOT"; }; 50D167857CCBE08F692604BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -470,7 +468,6 @@ 5AB15A508A07934A89398A6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PropertiesDemo.cpp; path = ../../Source/Demos/PropertiesDemo.cpp; sourceTree = "SOURCE_ROOT"; }; 5AB81EDAFED264951169F1B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; 5B0A45CD67D62B0BF9FC22F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; }; - 5B466272F3B821BE88BAC205 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; }; 5C2DE230E3197CF04660851E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; }; 5C5F8713DA326B5C6C559767 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 5CAED9BFE11E46C835DC9417 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLFrameBuffer.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h"; sourceTree = "SOURCE_ROOT"; }; @@ -482,7 +479,6 @@ 5E69510D460EEB7754976CC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLAppComponent.h"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; 5E9F335E274427A81514A20C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; 5F3E8B08EE74B0023DA176B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 5FB5AE3F2ECCD8AC1A49CA18 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_processors/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 5FC58B5FBBBB09878E3F2230 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 5FCCFCEE3F6C4C51BB581572 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; 5FD5503AB0E161315DD5CD70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -499,15 +495,15 @@ 62F9B202D524E33A2843ED84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; 6308DABB4145FBD330B7DA5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Quaternion.h"; path = "../../../../modules/juce_opengl/geometry/juce_Quaternion.h"; sourceTree = "SOURCE_ROOT"; }; 631FD2CAE69A3D5DD8C2E1B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorValueTreeState.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp"; sourceTree = "SOURCE_ROOT"; }; - 63AC834818EFF45708101F9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; 63BB4EB9347AF60049BEEC1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; 63D09BD18653F6A0134C8195 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatManager.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 64E7D43C4F4037CFC2C5E2AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ComponentTransformsDemo.cpp; path = ../../Source/Demos/ComponentTransformsDemo.cpp; sourceTree = "SOURCE_ROOT"; }; 64F04FAD3BAAEE3D0BA279B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceManager.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 651D48BCCD81AC8B5BC3AAA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; }; + 652A128D7DE1672618DB9521 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; 65DA0DAA8BDCE57A54C1CF26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserBase.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h"; sourceTree = "SOURCE_ROOT"; }; 6645C09E7FCFF0E498C3C400 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; }; - 66C5D2F0D9B9ABA7F4A386E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; + 66C35D440440937001697D0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../JuceLibraryCode/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; }; 66D5FD22DF1550A6CC9ABDA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; 66F8C7EB6520AB9439433DF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEInstrument.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp"; sourceTree = "SOURCE_ROOT"; }; 67541565521633071C03BD35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; @@ -577,7 +573,6 @@ 77BD025036C8B02426E61C79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; }; 77D7DE86E82C779B3DAA8678 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLPixelFormat.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h"; sourceTree = "SOURCE_ROOT"; }; 7828AF42E3C857F520EABDD7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; }; - 786CF1CA66289DB77845F8E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../../../modules/juce_opengl/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; 7890AB8CBF31F9788E10DBD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; }; 78979AFF44F164451516C986 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; }; 78B172DD2AAFE3535D0460C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; @@ -603,7 +598,6 @@ 7DA9D4E06E9B9875EC3880AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; 7DB8F4BB2B4884803207417F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiFile.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.h"; sourceTree = "SOURCE_ROOT"; }; 7DBF83B26277D13CB3FC1479 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ImagesDemo.cpp; path = ../../Source/Demos/ImagesDemo.cpp; sourceTree = "SOURCE_ROOT"; }; - 7DD8FCFA80D230B432ECD149 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 7DE074DF0D3074275DBBF9B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; }; 7E847EBFB83896EA08975F8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 7EC42C604603E1ED621E635B = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; @@ -673,12 +667,10 @@ 8F7D5E59BEB35E858363B752 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 8F8DD95844D647749BA662B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Primes.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.cpp"; sourceTree = "SOURCE_ROOT"; }; 8FA3BF005120A8BF8DD1BB80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; }; - 8FDA4FBF31997AEBF3AE10E4 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_data_structures/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 9053A4532020825D924EFB35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; 905A87EA32A249ABFD0A90AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; }; - 9079FD325609A4E67E44F3ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; + 90B1185950EF7670F87EAA3F = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = JuceDemo.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; 912E1A63093C3FA3BD2AFE61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; }; - 91F4E52A1B31FB5998FEF665 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = "SOURCE_ROOT"; }; 9200669E9DB4FE676A07CD77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; 9297F74907620178A1EB41DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ChildProcessDemo.cpp; path = ../../Source/Demos/ChildProcessDemo.cpp; sourceTree = "SOURCE_ROOT"; }; 92D3CD3845968E4FAB93576D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LiveConstantDemo.cpp; path = ../../Source/Demos/LiveConstantDemo.cpp; sourceTree = "SOURCE_ROOT"; }; @@ -689,14 +681,12 @@ 9461C1D2300CC3A91EC2D169 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; 94D8CEE59AC2644453705A74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; 94EC001CF772AFBA6D95F922 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLHelpers.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp"; sourceTree = "SOURCE_ROOT"; }; - 94F15602279A81777504F22C = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_graphics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 95227EEF8BCCAD5E1840DB48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameterWithID.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h"; sourceTree = "SOURCE_ROOT"; }; 95568D274244E02150C7F417 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V1.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h"; sourceTree = "SOURCE_ROOT"; }; 9617B3B5FA9439D342F23ADC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AnimationDemo.cpp; path = ../../Source/Demos/AnimationDemo.cpp; sourceTree = "SOURCE_ROOT"; }; 96F43E8EB364D3E40689D368 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormatManager.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; 9750423DB3DB6570382DA3C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Headers.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h"; sourceTree = "SOURCE_ROOT"; }; 97C3A2B9575153E4CA0537B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectShowComponent.cpp"; path = "../../../../modules/juce_video/native/juce_win32_DirectShowComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9895036432E9AE55EE16323F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../../../modules/juce_video/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; 989CD2B68A4EF90456E19ED9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarComponent.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h"; sourceTree = "SOURCE_ROOT"; }; 98D55DE4706A31BCD28458C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChoicePropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 9918F60F5CC834C782543712 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; }; @@ -722,6 +712,7 @@ 9EB2AE5A72227301C365568F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 9EB305226A801CB7012884F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; 9F75FFB61C74FEECE61A7138 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MultithreadingDemo.cpp; path = ../../Source/Demos/MultithreadingDemo.cpp; sourceTree = "SOURCE_ROOT"; }; + 9FB3AFE9C376328C6D798741 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; A04410519258755461444678 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; }; A078E4C69AFA4FAE8DCC66BD = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; A1244D54910A10100ECF8EE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -745,13 +736,16 @@ A6285ED9A26A9DA0A2931910 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; A62BF9AB6EB0496F5BCE78B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; }; A631CD93C2809211DD926938 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; }; + A67AC004E3AD3129C578EFA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_box2d.cpp"; path = "../../JuceLibraryCode/juce_box2d.cpp"; sourceTree = "SOURCE_ROOT"; }; A687283C2BEC2595A10EEE1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; A6BC854E7C5B932911B2AFF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; }; + A6EBDFEA86BEFF4682C46940 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../JuceLibraryCode/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; A6EE2D5A258294BAC600F75B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; }; A6FADD9A009BA1F1D36239FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LADSPAPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; A73DB3E8639A4D39F9F9C50E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; }; A74BFBD7C3C18103B51F6342 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; }; A763B4ADDB7BDD941FFE51CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; + A7F846EF40A343C8E30D18DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; A8243EDBF34E3E3D4338D6F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; A83559E2258B5856CFD68EAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; A83639AF2210589E5367ABCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = UnitTestsDemo.cpp; path = ../../Source/Demos/UnitTestsDemo.cpp; sourceTree = "SOURCE_ROOT"; }; @@ -793,7 +787,6 @@ B13A8EA6840489EB88D77800 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; B17EF578E9B736B1C5A5E8BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; }; B1C05A8D59655916054612D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; }; - B27A7B237782F9E15E4BF8D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; B2BD3F284DBA9EDFFF80ECE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; B2C11FB8D4762ABB6CB9B934 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Common.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h"; sourceTree = "SOURCE_ROOT"; }; B305C104F5A573E8AFEFA763 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; @@ -805,17 +798,16 @@ B3BF13E52ED6443A85AF0230 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEMessages.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h"; sourceTree = "SOURCE_ROOT"; }; B3E2A6A5C59E1462DF544A06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleComponent.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; B44CC152D6454AF6F16E9EF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; }; + B487CD915AF683CE01469268 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-App.plist"; path = "Info-App.plist"; sourceTree = "SOURCE_ROOT"; }; B51567633F44A10D4543B219 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; }; B56F4C53187D40137670DB1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; }; B589CF5248A17A319E5EC80D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; B59B0121C46D4A2B9EC3BBFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; }; B63933880C456903722F46A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; }; - B66D06DC55FFC2B99D43F4E2 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_utils/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; B680E1C22A5885A8336D8DA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; B6874BAE87F275944C07B498 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_video.h"; path = "../../../../modules/juce_video/juce_video.h"; sourceTree = "SOURCE_ROOT"; }; B688441D29BB51A9C4E83CFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp"; sourceTree = "SOURCE_ROOT"; }; B6B6519216FF4413B698C889 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTreeSynchroniser.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"; sourceTree = "SOURCE_ROOT"; }; - B6EFD8D461F7BC1CA4954B69 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_extra/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; B731664FB9EEEBC618BAB5A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = TimersAndEventsDemo.cpp; path = ../../Source/Demos/TimersAndEventsDemo.cpp; sourceTree = "SOURCE_ROOT"; }; B745680D019FDB64D3A65508 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; B7AE6C1C50421EE6E02045DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; }; @@ -825,7 +817,6 @@ B8F25B3AB59A577E53304AC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; }; B97B2C0C6A4322FFAACE1C39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; B9A524CB6B0598E4D7F7DD93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailBase.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailBase.h"; sourceTree = "SOURCE_ROOT"; }; - B9D26C6C4CED62E6708B6865 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../../../modules/juce_cryptography/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; BA008864E9E4F195E61A21F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinearSmoothedValue.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h"; sourceTree = "SOURCE_ROOT"; }; BA5A007216A3E496509D5CE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; BAC70BABB531B634736585A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -835,7 +826,6 @@ BC2E34C0883EB362398AC448 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; BC30642EEF908E1C7757690B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; BCACFA5E8370800EB6487CC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; }; - BD14CA532122022C26920DF8 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_devices/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; BDDD1C149C23BCA4F501BEF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; BE260594789CF43E1A4EF4E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; BE9B3F83B6037C848596286B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -845,7 +835,6 @@ BF7EE64D6E337BED36814439 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPENote.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp"; sourceTree = "SOURCE_ROOT"; }; BFC3C3EBCDDABF1529A317FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; }; BFCAF7A5D017D3BC4CD51D60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; }; - BFE7C09CA4AFAC973C267D11 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_core/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; BFEEC370F9DAD159E5789EB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; C006CE2DED5AB537B5C3FD5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Files.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; C054B94424A80B5DCA6CC52F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GenericAudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; @@ -880,6 +869,7 @@ C812CDED0B089FD1B76FC9EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AudioLiveScrollingDisplay.h; path = ../../Source/Demos/AudioLiveScrollingDisplay.h; sourceTree = "SOURCE_ROOT"; }; C8A42EE493A1DF2E283C245E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; C8CABD53634D53E64132CAAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CameraDevice.mm"; path = "../../../../modules/juce_video/native/juce_mac_CameraDevice.mm"; sourceTree = "SOURCE_ROOT"; }; + C8DBA0F79A42D081DF328798 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../JuceLibraryCode/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; C8E3220EC4F4E4242CD3026D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; C92A35B9676A81157B54284A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; C993FAEDCEE0A33CAB42F995 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Box2DDemo.cpp; path = ../../Source/Demos/Box2DDemo.cpp; sourceTree = "SOURCE_ROOT"; }; @@ -958,17 +948,17 @@ DE3BEA732CBC57AE71E94159 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; }; DE534A5A2D3B48BFBCE598B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; DEB0E2F28130100B1EFD250E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; - DEFD6AD8B2BBA57017DB4A13 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_box2d/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + DEE5EFE8148FD2DC743A7DD7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LookAndFeelDemo.cpp; path = ../../Source/Demos/LookAndFeelDemo.cpp; sourceTree = "SOURCE_ROOT"; }; DF9B26660FAF5ECF2EF620B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; }; E04EC9F05219CEEB4469A437 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiOutput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h"; sourceTree = "SOURCE_ROOT"; }; E0565A19E2589729259C7116 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLRenderer.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h"; sourceTree = "SOURCE_ROOT"; }; E0B8277ABF9DDAC8C12DE26D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; E0DB91A472A77866258D12B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; }; E1107017C2BF7ECC847DF01A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorPlayer.h"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.h"; sourceTree = "SOURCE_ROOT"; }; + E13D0BEFB46B4D8751EF6CAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; E199DDD8F06741F21D8F9CFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; E2127416236840EE3AF32D5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormatManager.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; E23EDF80FD5320232483D80F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; }; - E243FC2BD3446D9518049538 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_events/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; E2C5C95247FDECA4C39F1415 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; E30009C6743474CD6195F5F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; }; E31FB2C8B34A146D28A4C611 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; @@ -983,40 +973,37 @@ E4981056661C3F251FECEC32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; E4BD5632ADD38CF8BAD38A76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; }; E5058DD199CEC42ECE922239 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; }; - E52756E1DB553ED02D829F61 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_cryptography/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + E5E02A3C4E942105FEDCA885 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; E6333272C33612B6A7D6073E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; }; E682A3A52BD15D5CA4933C12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; }; E6E0ADA4E3632540A8ADC7D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; E6E0FE3CBDBE2554B527CF60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; E70A283A87989F5A1CEDE6A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResamplingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; E7113B21A18CD89165BAFD4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + E7A5AF3EBCFEEF8787F2D14F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + E7B21011F93915ADD2CC5DD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; E7EA99CD84E1EC598F4984DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; }; E7EE6BDC0E3A0739529AED91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; }; E80CA3836329ED0EEC74BAE6 = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; sourceTree = "SOURCE_ROOT"; }; - E8B785D8DD9C49BC7FF5EA75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_linux.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_linux.h"; sourceTree = "SOURCE_ROOT"; }; - E8DBB02B17A6E144D08E4CC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Matrix3D.h"; path = "../../../../modules/juce_opengl/geometry/juce_Matrix3D.h"; sourceTree = "SOURCE_ROOT"; }; - E9B8B3FAECC80B66257B14F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BlowFish.h"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.h"; sourceTree = "SOURCE_ROOT"; }; - EA7D346CAE6A07C0B395816B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; }; - EACCBFA17F4D07ECE058EEBB = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; - 229D2DAADACF15540C3BBD15 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = JuceDemo.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; - DEE5EFE8148FD2DC743A7DD7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LookAndFeelDemo.cpp; path = ../../Source/Demos/LookAndFeelDemo.cpp; sourceTree = "SOURCE_ROOT"; }; - E5E02A3C4E942105FEDCA885 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; - E7A5AF3EBCFEEF8787F2D14F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - E7B21011F93915ADD2CC5DD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; E8128A35828C860977FEC54C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; }; + E8B785D8DD9C49BC7FF5EA75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_linux.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_linux.h"; sourceTree = "SOURCE_ROOT"; }; E8D96BDC76CD02DF3E238A88 = {isa = PBXFileReference; lastKnownFileType = image.png; name = "tile_background.png"; path = "../../Resources/tile_background.png"; sourceTree = "SOURCE_ROOT"; }; + E8DBB02B17A6E144D08E4CC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Matrix3D.h"; path = "../../../../modules/juce_opengl/geometry/juce_Matrix3D.h"; sourceTree = "SOURCE_ROOT"; }; E98EA1189613978EA4E78D85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; }; E9A3E96E32C301EE817059C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + E9B8B3FAECC80B66257B14F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BlowFish.h"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.h"; sourceTree = "SOURCE_ROOT"; }; E9BBEE1B3986E0829AA44133 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; EA082125C757D1FD63BA38C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; }; EA3436079F0D78BB76CD15F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInactivityDetector.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h"; sourceTree = "SOURCE_ROOT"; }; + EA7D346CAE6A07C0B395816B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; }; EA9FE6D1E0A072E73312916C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; }; + EACCBFA17F4D07ECE058EEBB = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; EB369EA30D31CD710A09B7FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; EB6F5F8F57F0117C10735583 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODevice.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h"; sourceTree = "SOURCE_ROOT"; }; + EB93700805DBEBF58092DC3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../JuceLibraryCode/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; EC8A992EA9CFA558DB9F950E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; }; ECAB8BD2816B0BEFCD9F6961 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; }; ED3DE86815324354C48631D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; - ED6224ABC715AAB68661F4D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_box2d.cpp"; path = "../../../../modules/juce_box2d/juce_box2d.cpp"; sourceTree = "SOURCE_ROOT"; }; ED80E9909586DD64BDE03A70 = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = portmeirion.jpg; path = ../../Resources/portmeirion.jpg; sourceTree = "SOURCE_ROOT"; }; EE7001BD5206A8D8EA2D125B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; }; EEA020419EF58E90C10AAE26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; }; @@ -1040,7 +1027,6 @@ F43CED7548EE5C9F841CB1FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; F4676BB721F96DC5DDDAE746 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CoreAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; F48E6A27D809C49D42D3202C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - F4AD24F8DDD10C938759CEB9 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_opengl/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; F4BBD7DEBE0F1DD2CE45C411 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; }; F53D12880F3354B4FFA480E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODevice.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp"; sourceTree = "SOURCE_ROOT"; }; F584FC21C26C72A81D840840 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -1066,10 +1052,10 @@ F9F4D5D9783B88F2DE889023 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; }; FA5777F9FFCC6BE9D9F98874 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; FA8B6B0F6D43146BAAE04D4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; }; - FAC5DDBFB00254C35D8987F2 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; FAFF7B60A09FE1BFD468163B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorGraph.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp"; sourceTree = "SOURCE_ROOT"; }; FB2CB5482F056ACD6AFE12A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginListComponent.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h"; sourceTree = "SOURCE_ROOT"; }; FB8BE0538AD9420DD4D1E9C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; }; + FC022E24D3A4C3E7C77E55BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../JuceLibraryCode/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; FC14A2D9F860584459B762F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorValueTreeState.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h"; sourceTree = "SOURCE_ROOT"; }; FC1BA0654179A585DF5B9DC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLShaderProgram.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h"; sourceTree = "SOURCE_ROOT"; }; FC63A33CA2E025F5C4C22CD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_win32.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_win32.h"; sourceTree = "SOURCE_ROOT"; }; @@ -1223,9 +1209,12 @@ 7C828ECEE88D9245ACDC4E6F, 9EF5C5A4E05F24140BA571CC, 3C7D76B7DB18A3929B2EBE2F, - 7DD8FCFA80D230B432ECD149, 249A454A7EF1C3A07A66F453, ); name = "juce_audio_basics"; sourceTree = ""; }; - 2C5B1CB88811CFEAD0B763E7 = {isa = PBXGroup; children = ( + 2DCD2E7F92AA91EC89EEBB7D = {isa = PBXGroup; children = ( + C9DAF05F2DAF78159647512B, + AAEBF0976E57F4756E4AE31E, + 61F28F9E82D39EFF702793D9, ); name = "audio_cd"; sourceTree = ""; }; + 76C1C6513757777CE389E9F5 = {isa = PBXGroup; children = ( 64F04FAD3BAAEE3D0BA279B8, 3ADE61DBFBB6901CE2F1DB17, F53D12880F3354B4FFA480E5, @@ -1233,22 +1222,13 @@ 70A5CABA464ECFC6A8449A87, A9BA8E7E434AC82F4604C773, F3A9E0AE5ED05CA1AD6F56E5, ); name = "audio_io"; sourceTree = ""; }; - ACE42B83631F91D837D30DBF = {isa = PBXGroup; children = ( + 35F706454FBA7B78D92B9A87 = {isa = PBXGroup; children = ( 8A8CA6C781EFD5F0997E7507, A539F7B46DD001B3BF03B16F, 3C1E6F7FBCCAFD6CCDBBB70C, 0E39FF2E9AD2BDC94CC015E3, E04EC9F05219CEEB4469A437, ); name = "midi_io"; sourceTree = ""; }; - 06540B00B960F62D8C50A952 = {isa = PBXGroup; children = ( - E6E0FE3CBDBE2554B527CF60, - F1A9F544E889DDA995415F6D, - DDDB707A59DB489D195BF99D, - AAC68E522F44DA7AD25574C7, ); name = sources; sourceTree = ""; }; - 5E43CCDE66C0FD9A873CF9A1 = {isa = PBXGroup; children = ( - C9DAF05F2DAF78159647512B, - AAEBF0976E57F4756E4AE31E, - 61F28F9E82D39EFF702793D9, ); name = "audio_cd"; sourceTree = ""; }; - FD6512AC0A0ECDCA3416F735 = {isa = PBXGroup; children = ( + A84C631C57217C123531484E = {isa = PBXGroup; children = ( F881704607DB79F9A3CF7491, 088687334FC51A5136881578, 7416BF201FBFE7F978FD774A, @@ -1268,31 +1248,19 @@ 74D283E02B3A2A293678FF9C, 5FCCFCEE3F6C4C51BB581572, 52D7400A47B19848EFCB5B51, ); name = native; sourceTree = ""; }; + 9AD76D04090A6896D564243B = {isa = PBXGroup; children = ( + E6E0FE3CBDBE2554B527CF60, + F1A9F544E889DDA995415F6D, + DDDB707A59DB489D195BF99D, + AAC68E522F44DA7AD25574C7, ); name = sources; sourceTree = ""; }; B5BC400B03F73362F263D1FC = {isa = PBXGroup; children = ( - 2C5B1CB88811CFEAD0B763E7, - ACE42B83631F91D837D30DBF, - 06540B00B960F62D8C50A952, - 5E43CCDE66C0FD9A873CF9A1, - FD6512AC0A0ECDCA3416F735, - BD14CA532122022C26920DF8, + 2DCD2E7F92AA91EC89EEBB7D, + 76C1C6513757777CE389E9F5, + 35F706454FBA7B78D92B9A87, + A84C631C57217C123531484E, + 9AD76D04090A6896D564243B, 806A7A3BFC684B4D9E25ABDF, ); name = "juce_audio_devices"; sourceTree = ""; }; - 22448345537DACFE2F258ACF = {isa = PBXGroup; children = ( - D999C4C8DE51CDFB861B863D, - B305C104F5A573E8AFEFA763, - 63D09BD18653F6A0134C8195, - DC6930EE56EEA5221CFECAB7, - 991F4C3B42036B549C321789, - 7F7EAF366320BA71741B68C3, - EFD1BD42000EE640A17EE1ED, - 1F2CB36A86AA1A4FFF89CD88, - E8128A35828C860977FEC54C, - 324452D7F5B5EA3B393FF4FF, - E7EE6BDC0E3A0739529AED91, - 0E1D85B025D93DAFA8404824, - CA0E3166C77EB91555893286, - 00DE0C93FE719DC72E20A63B, - E31FB2C8B34A146D28A4C611, ); name = format; sourceTree = ""; }; - 892E3C641B2CBBE66606A2C6 = {isa = PBXGroup; children = ( + 3777DD37A1736028694C8335 = {isa = PBXGroup; children = ( 35E35B099E2A7906A7AA2EDE, 019352D78DBBEE2AC10ED6BC, F4676BB721F96DC5DDDAE746, @@ -1311,16 +1279,48 @@ 2859FDF0CCD1ED788910E9D3, 60849B046145D3BACDFA6A84, 6C57333FC4ACEBC7C451A414, ); name = codecs; sourceTree = ""; }; + 6704076A5760A2D2D6544F3A = {isa = PBXGroup; children = ( + D999C4C8DE51CDFB861B863D, + B305C104F5A573E8AFEFA763, + 63D09BD18653F6A0134C8195, + DC6930EE56EEA5221CFECAB7, + 991F4C3B42036B549C321789, + 7F7EAF366320BA71741B68C3, + EFD1BD42000EE640A17EE1ED, + 1F2CB36A86AA1A4FFF89CD88, + E8128A35828C860977FEC54C, + 324452D7F5B5EA3B393FF4FF, + E7EE6BDC0E3A0739529AED91, + 0E1D85B025D93DAFA8404824, + CA0E3166C77EB91555893286, + 00DE0C93FE719DC72E20A63B, + E31FB2C8B34A146D28A4C611, ); name = format; sourceTree = ""; }; CB4068ADFA9C76E778DD19AF = {isa = PBXGroup; children = ( 807F5EE489018BC1956AAD5C, D04960564D2860B19FA5D1CE, ); name = sampler; sourceTree = ""; }; 43D650FDDBAA28AE94A8942B = {isa = PBXGroup; children = ( - 22448345537DACFE2F258ACF, - 892E3C641B2CBBE66606A2C6, + 3777DD37A1736028694C8335, + 6704076A5760A2D2D6544F3A, CB4068ADFA9C76E778DD19AF, - 50AB15E26F6E4A55B0BE8AE6, 05AFEDB1F65A8C2C8E9620E0, ); name = "juce_audio_formats"; sourceTree = ""; }; - F5E14DC1BD0B02032813E53F = {isa = PBXGroup; children = ( + 888C888AC250A981C408E377 = {isa = PBXGroup; children = ( + 7BBD4B2D9A9EF13CE4357979, + 4B310AA3DF4F6188B2E6FAF1, + E2127416236840EE3AF32D5C, + 96F43E8EB364D3E40689D368, ); name = format; sourceTree = ""; }; + B72D1C26FD3E602F38916F14 = {isa = PBXGroup; children = ( + D1E31AC47CCAB97418EB646D, + 58FB0C4FE674CC5BB7B1DCA7, + 8396EA11DD261260F1A96DF9, + A6FADD9A009BA1F1D36239FD, + B2C11FB8D4762ABB6CB9B934, + 9750423DB3DB6570382DA3C1, + 9B9E034C5761096ACB8A76C3, + 73267FE8DDE50FD1E6E31ED4, + 8AE56D2F4E33B015C3D73EB8, + 52A95B5754438C999343869A, + C8A42EE493A1DF2E283C245E, ); name = "format_types"; sourceTree = ""; }; + 2EDAF4D3D60FFD4B45928A0A = {isa = PBXGroup; children = ( 6645C09E7FCFF0E498C3C400, 0F82F90D72AD536CC3DFE217, 25412CD3F6855849D8B7FE98, @@ -1337,23 +1337,6 @@ C054B94424A80B5DCA6CC52F, 872C4AF5B81B1664032594A1, D9DFC1CE9A4EF9230B49D697, ); name = processors; sourceTree = ""; }; - 44B5DCFCAB48CED4E27F0F7C = {isa = PBXGroup; children = ( - 7BBD4B2D9A9EF13CE4357979, - 4B310AA3DF4F6188B2E6FAF1, - E2127416236840EE3AF32D5C, - 96F43E8EB364D3E40689D368, ); name = format; sourceTree = ""; }; - 961C00EDB46D39EFDB238950 = {isa = PBXGroup; children = ( - D1E31AC47CCAB97418EB646D, - 58FB0C4FE674CC5BB7B1DCA7, - 8396EA11DD261260F1A96DF9, - A6FADD9A009BA1F1D36239FD, - B2C11FB8D4762ABB6CB9B934, - 9750423DB3DB6570382DA3C1, - 9B9E034C5761096ACB8A76C3, - 73267FE8DDE50FD1E6E31ED4, - 8AE56D2F4E33B015C3D73EB8, - 52A95B5754438C999343869A, - C8A42EE493A1DF2E283C245E, ); name = "format_types"; sourceTree = ""; }; 1766FC3A6258C18585F98105 = {isa = PBXGroup; children = ( 6E125672C42D84CCD54F9B0D, 55FBB9F8900F753766A22BE6, @@ -1371,12 +1354,11 @@ 631FD2CAE69A3D5DD8C2E1B6, FC14A2D9F860584459B762F7, ); name = utilities; sourceTree = ""; }; 326CA890D2481B82367C6F3A = {isa = PBXGroup; children = ( - F5E14DC1BD0B02032813E53F, - 44B5DCFCAB48CED4E27F0F7C, - 961C00EDB46D39EFDB238950, + 888C888AC250A981C408E377, + B72D1C26FD3E602F38916F14, + 2EDAF4D3D60FFD4B45928A0A, 1766FC3A6258C18585F98105, 453BF0685F30EA92520392E4, - 5FB5AE3F2ECCD8AC1A49CA18, 6BD1D463E40A463C69C065C7, ); name = "juce_audio_processors"; sourceTree = ""; }; EE85F21BD60AE1C7926DA310 = {isa = PBXGroup; children = ( 5A3C2298934C0F77CC60D336, @@ -1393,20 +1375,19 @@ E3DC9C2BBC81EC0B035AA32C, E7A5AF3EBCFEEF8787F2D14F, D057633F8F7684AB7B4B28AD, ); name = gui; sourceTree = ""; }; - D7A76D9B15CE0C2AA2F1831B = {isa = PBXGroup; children = ( - 4140669501152D9FB9A244B9, - E1107017C2BF7ECC847DF01A, ); name = players; sourceTree = ""; }; - 729ED0EF005668B4140C1996 = {isa = PBXGroup; children = ( + 5B772A0A879A7FBC7C926FBE = {isa = PBXGroup; children = ( DDF02BD16454102C353FCD18, 5232B9F7E62CD5C41C3ABFED, 8DA438AAAFBC64C11DE329B4, 4151602FFED0B1AE7B36CEF4, 37355CCC05D407D665AA6604, ); name = native; sourceTree = ""; }; + 325CDA7E3A9F93CBB2878AC9 = {isa = PBXGroup; children = ( + 4140669501152D9FB9A244B9, + E1107017C2BF7ECC847DF01A, ); name = players; sourceTree = ""; }; BE68248271118CC1AB328F34 = {isa = PBXGroup; children = ( EE85F21BD60AE1C7926DA310, - D7A76D9B15CE0C2AA2F1831B, - 729ED0EF005668B4140C1996, - B66D06DC55FFC2B99D43F4E2, + 5B772A0A879A7FBC7C926FBE, + 325CDA7E3A9F93CBB2878AC9, 89C47678AF8B46702EC0EE66, ); name = "juce_audio_utils"; sourceTree = ""; }; 7AF3E75ABE7FFA5936475F7E = {isa = PBXGroup; children = ( 0732CB9291291C9854197B28, @@ -1417,60 +1398,8 @@ B92F6CB95B8D46F185B51F43 = {isa = PBXGroup; children = ( 7AF3E75ABE7FFA5936475F7E, F025DD9DC1A82BB3FC45DE34, - DEFD6AD8B2BBA57017DB4A13, 1AD3E125B61DD653C03FAC05, ); name = "juce_box2d"; sourceTree = ""; }; - 9F8E4C02B09E172A04638A04 = {isa = PBXGroup; children = ( - 7BD4AC17C70E6771254B962A, - 1698E86A0E0E93DF1487E9FA, - 651D48BCCD81AC8B5BC3AAA4, - EC8A992EA9CFA558DB9F950E, - 58E53BE69281E3105C66FF07, - C411A91DC3B306E2C417F1BF, - 03707F35E5DB4BC6F1FAC8D6, - 569187442B514D114A483D29, - 01F2CB80C1B14450528F0FA8, - 49C275C319B36AC86512E34F, - D6B8E586D30632EA07C48D6F, - 02659911BD886D2E8431B912, - 2A8F6894339DCE6003B702F0, - C9C1FC1B4628557AE5C7E7ED, - E4369FFC0E1A6547580D671F, - 7286D6380C74734603D098EB, - 3AB9E51994CD35A10F87EFF1, - AC7A214BA7B1A172F5B31735, - 3F58D27B17343BF1030AF92A, - 8D437AEAA6F7E3F0DCA43E8C, - B59B0121C46D4A2B9EC3BBFE, - 3741E4C0CE5C7C0828D09BA8, - 437B4DC39531BF8DE5A12E02, - D3A84810AE56991562B6F252, ); name = text; sourceTree = ""; }; - F06CAD4E176B4B5D59F3D92A = {isa = PBXGroup; children = ( - BADD02151C3951E4853DA06D, - 21CE480826B56F0B5C8C4A43, - A763B4ADDB7BDD941FFE51CF, - D7A951371F530DA0A350AF44, - 5125E77EBA8500EAA778F51F, - 519F11BE9C786A7F9B221BA5, - CC79B254C68555B4FFEBC692, - 220344E43675A2A7D64D3A44, - 2432B5DFCDB8D39150029E01, - D769F1AEAE71E490F5E6CEFD, ); name = maths; sourceTree = ""; }; - B800FC93901BFB2AAB84B357 = {isa = PBXGroup; children = ( - 0EAB2E0BB8C3BE2725FA093A, - 4AF5BD29C935D0EB7CB0F6AE, - DE3BEA732CBC57AE71E94159, - F26339EFC03BD8D22016EEB6, - A235B5113FB4E5DA6267975F, - 14933D0F3C598C38A113CE8D, - C60CE259EE4CFE6AC61044FB, - DF9B26660FAF5ECF2EF620B8, - A2F0B85560090CFAC7D95132, - 734C43C3F7918061F2DDD214, - AA967AC6E8FDCD7502272DA7, - 7319ADBC735F957219774263, - D1D8A53A7614F106942DADED, - 6B1FEA349A6C8F51AB27E23C, ); name = memory; sourceTree = ""; }; - 29FD491D882C7A35353517C8 = {isa = PBXGroup; children = ( + 18119BAECB08B5AB5C698B0B = {isa = PBXGroup; children = ( 1A3DE76CA275CEE7DAD501A4, D100B2EDF88F2C019E4D2311, E7EA99CD84E1EC598F4984DD, @@ -1492,37 +1421,7 @@ 66D5FD22DF1550A6CC9ABDA4, 8BB3867A9236FF57B46581A4, CE7D4E7030BF4BB4B1093B5F, ); name = containers; sourceTree = ""; }; - F6C37A1A9BE55FD210811ED5 = {isa = PBXGroup; children = ( - 38FB6ABB883ECAD52027CE19, - 76B8E770835968F565292D1E, - 720C3CA9E28181C76434D465, - 57B7A9C37305D4D7F876344C, - 3D8A83C53BAF22EEEA014D90, - 6A299D9BED7D078CB2F1C007, - 47817D36A37758981DEDCAAE, - 2CD4306102317989E6321924, - 0453D6FB24F82E92A6BEDA49, - 0FF2403BC335E710BE391DEE, - 7BE8C42578F5E2E59D63F615, - 764F36E2597540348F960404, - 133BC5B880C7575FF3209D88, - D8AE63002C7273F98226394B, - 8E1CA5F01D04FA8F6CCFF91B, - D5942A1C95986841CA286736, - 068183416EF5422C7AD0F238, - 9CC0810F5BAF70D00033FD22, - 2B4F1477BB90BF7F62005BEC, - 5496F73539DA26FD9C899223, - D0ADA33F00B3BD83C1D5AE37, - 81D03597CE85238988E0F45D, ); name = threads; sourceTree = ""; }; - 18CBD980606B9896AE7EDB66 = {isa = PBXGroup; children = ( - CCD2ED6F6F3ABCC172DC4957, - 2060347D582A8E45F58AE1C2, - 3D2D6313C0A3397C4839B29B, - 0B3662D1FFE3102476FD60D7, - 78979AFF44F164451516C986, - 23A853ADC54A69406C7A49C6, ); name = time; sourceTree = ""; }; - 15BAE5B68F98DAF50032DA20 = {isa = PBXGroup; children = ( + A58A8CADC04CD7B4A7650C09 = {isa = PBXGroup; children = ( CF7CEC8C260AC623C222264C, 366C0E8D559D37FF92B64F47, 6B83E4AE241F0EAC9574923D, @@ -1540,66 +1439,43 @@ 2174CAEE6D8EB215ACD4A256, 4198EE3311A171C884A5FA9F, A90EA62A0A4A1B5E62CF0BE8, ); name = files; sourceTree = ""; }; - 23F9726B9A73EF92F1209DC4 = {isa = PBXGroup; children = ( - 9D0B40C4BF8FD939C33E3D59, - 0E11770AD343D8A0780C54BE, - 80A57920E6EA9C2E881BC3E5, - 39E4404D57A8B66DF520B66F, - 2274B9A5BC921FE3B877D0C1, - A1EFF3DBE5F7B0C07AE59D7C, - CD9B8C96642C7F691FCB3EC4, - 6EA8B0940C4486B9F03BA19C, - D61BA88D3AC9556266FE4368, - 24E2AF695F11B9BAEB8FBE3D, ); name = network; sourceTree = ""; }; - E6D63506374A755883B95CD0 = {isa = PBXGroup; children = ( - 945E090A8DE2E776F7033143, - 9CED8F32B3718A90481EEDE6, - 9B9F578EC77AA988C919AC6F, - 49D1B40749401475B52A6F85, - BFC3C3EBCDDABF1529A317FF, - 62D20AFF94117B99556BF56C, - AD593F766DC27414A94FABEE, - 429974B1B4C361F218093A41, - B7AE6C1C50421EE6E02045DC, - CC5F6FD5F339E1811037EABE, - 03CB1183519203936C33025A, - 86BFE5D66623DB207CEA3F9F, - 3FBF109F3AD6DE221EFB1BA2, - DC0AE99EFE4F88987CA2F705, - F9F4D5D9783B88F2DE889023, ); name = streams; sourceTree = ""; }; - 1CAC2BF524350D8F0B5FD356 = {isa = PBXGroup; children = ( - AB589E1E7EC83EA620B7F780, - 88D689399C7F69D687208673, - DD4A812225F47E590FCF2E29, - 6141692AC9282411091C8157, ); name = logging; sourceTree = ""; }; - C8E2FB2013388FB97CB0E404 = {isa = PBXGroup; children = ( - 80202384D81020DAE2072A1A, - 218E36147FA4309F072C1949, - 33F3182598E9A84AD25A9184, - 8BDC3161654344162ECDCB32, - 6BDAB94A88B565A734534368, - 12E4EED0370A1733C6629D86, ); name = system; sourceTree = ""; }; - 9E69FDED50CC01056C1E3A3F = {isa = PBXGroup; children = ( - 8A89A7C0DEC85C7773251B15, - 2E29C6A0CF15C32A35119DCA, - 16DC590DCFE57F583E99F9C9, - 6BEA46E3C64DD2FD8946CD35, ); name = xml; sourceTree = ""; }; - 649BC7DF20650B1753E12AF4 = {isa = PBXGroup; children = ( + 1544BDD3315C264964667621 = {isa = PBXGroup; children = ( 6B3772278F9398D0AC7CE250, C4E873C0CD6E9C76EA2997C2, F746F30147C6BE88F60E92CF, 0B54F1B0CB17ABD0C3E40658, ); name = javascript; sourceTree = ""; }; - 2D8DDEA5DED7302CBA238934 = {isa = PBXGroup; children = ( - 50D167857CCBE08F692604BB, - D65129253734C1917354C08E, - 5FC58B5FBBBB09878E3F2230, - F29F6395C4935C1A663A1D15, - 55F9178934DDF31583323625, - 2F66B42AF6C0B5ED381937C3, ); name = zip; sourceTree = ""; }; - 94F54CCBAAF1F7BECBE15D38 = {isa = PBXGroup; children = ( - 46118CBA9C3CD3B354D93B30, - 3EF890CB40C6FFCAE055B7B1, ); name = "unit_tests"; sourceTree = ""; }; - 6C6F5F4F0570E2CE9AA515B7 = {isa = PBXGroup; children = ( + F6681BED077B2F71DE1C9BC2 = {isa = PBXGroup; children = ( + AB589E1E7EC83EA620B7F780, + 88D689399C7F69D687208673, + DD4A812225F47E590FCF2E29, + 6141692AC9282411091C8157, ); name = logging; sourceTree = ""; }; + EA8E07CFC088100944017BA0 = {isa = PBXGroup; children = ( + BADD02151C3951E4853DA06D, + 21CE480826B56F0B5C8C4A43, + A763B4ADDB7BDD941FFE51CF, + D7A951371F530DA0A350AF44, + 5125E77EBA8500EAA778F51F, + 519F11BE9C786A7F9B221BA5, + CC79B254C68555B4FFEBC692, + 220344E43675A2A7D64D3A44, + 2432B5DFCDB8D39150029E01, + D769F1AEAE71E490F5E6CEFD, ); name = maths; sourceTree = ""; }; + 644E43E8B2A8503F7D5524F3 = {isa = PBXGroup; children = ( + 0EAB2E0BB8C3BE2725FA093A, + 4AF5BD29C935D0EB7CB0F6AE, + DE3BEA732CBC57AE71E94159, + F26339EFC03BD8D22016EEB6, + A235B5113FB4E5DA6267975F, + 14933D0F3C598C38A113CE8D, + C60CE259EE4CFE6AC61044FB, + DF9B26660FAF5ECF2EF620B8, + A2F0B85560090CFAC7D95132, + 734C43C3F7918061F2DDD214, + AA967AC6E8FDCD7502272DA7, + 7319ADBC735F957219774263, + D1D8A53A7614F106942DADED, + 6B1FEA349A6C8F51AB27E23C, ); name = memory; sourceTree = ""; }; + F37FA5EE62821768AC463EB3 = {isa = PBXGroup; children = ( 55273A59F96B3C775EB71FAB, 44F4A9351C2B03F98A0D23E4, 06D514A7B2556A07D2398433, @@ -1607,7 +1483,7 @@ 4A2C25FD55809F1489963FC3, 360291D0346F776DDD3F43E8, 28E65398C8CF95EB12A5734D, ); name = misc; sourceTree = ""; }; - BD98C1BE7812F052CB13F901 = {isa = PBXGroup; children = ( + 070E4F946EB697A7963D1757 = {isa = PBXGroup; children = ( 599036DC07DB54E446ECA054, B63933880C456903722F46A4, 60B755F5684959E78C556810, @@ -1637,25 +1513,128 @@ 50677353DB2766A800988656, 48A0FC60EFF6334C161519FD, 6F5B9777B802707C4A747E46, ); name = native; sourceTree = ""; }; + 347B5DD8FAB6509E75EB018D = {isa = PBXGroup; children = ( + 9D0B40C4BF8FD939C33E3D59, + 0E11770AD343D8A0780C54BE, + 80A57920E6EA9C2E881BC3E5, + 39E4404D57A8B66DF520B66F, + 2274B9A5BC921FE3B877D0C1, + A1EFF3DBE5F7B0C07AE59D7C, + CD9B8C96642C7F691FCB3EC4, + 6EA8B0940C4486B9F03BA19C, + D61BA88D3AC9556266FE4368, + 24E2AF695F11B9BAEB8FBE3D, ); name = network; sourceTree = ""; }; + C0BCC243012D70B7CB6C1558 = {isa = PBXGroup; children = ( + 945E090A8DE2E776F7033143, + 9CED8F32B3718A90481EEDE6, + 9B9F578EC77AA988C919AC6F, + 49D1B40749401475B52A6F85, + BFC3C3EBCDDABF1529A317FF, + 62D20AFF94117B99556BF56C, + AD593F766DC27414A94FABEE, + 429974B1B4C361F218093A41, + B7AE6C1C50421EE6E02045DC, + CC5F6FD5F339E1811037EABE, + 03CB1183519203936C33025A, + 86BFE5D66623DB207CEA3F9F, + 3FBF109F3AD6DE221EFB1BA2, + DC0AE99EFE4F88987CA2F705, + F9F4D5D9783B88F2DE889023, ); name = streams; sourceTree = ""; }; + C8E2FB2013388FB97CB0E404 = {isa = PBXGroup; children = ( + 80202384D81020DAE2072A1A, + 218E36147FA4309F072C1949, + 33F3182598E9A84AD25A9184, + 8BDC3161654344162ECDCB32, + 6BDAB94A88B565A734534368, + 12E4EED0370A1733C6629D86, ); name = system; sourceTree = ""; }; + 1778DFB23C0D2A296DCF847F = {isa = PBXGroup; children = ( + 7BD4AC17C70E6771254B962A, + 1698E86A0E0E93DF1487E9FA, + 651D48BCCD81AC8B5BC3AAA4, + EC8A992EA9CFA558DB9F950E, + 58E53BE69281E3105C66FF07, + C411A91DC3B306E2C417F1BF, + 03707F35E5DB4BC6F1FAC8D6, + 569187442B514D114A483D29, + 01F2CB80C1B14450528F0FA8, + 49C275C319B36AC86512E34F, + D6B8E586D30632EA07C48D6F, + 02659911BD886D2E8431B912, + 2A8F6894339DCE6003B702F0, + C9C1FC1B4628557AE5C7E7ED, + E4369FFC0E1A6547580D671F, + 7286D6380C74734603D098EB, + 3AB9E51994CD35A10F87EFF1, + AC7A214BA7B1A172F5B31735, + 3F58D27B17343BF1030AF92A, + 8D437AEAA6F7E3F0DCA43E8C, + B59B0121C46D4A2B9EC3BBFE, + 3741E4C0CE5C7C0828D09BA8, + 437B4DC39531BF8DE5A12E02, + D3A84810AE56991562B6F252, ); name = text; sourceTree = ""; }; + AA10DA760EC41537BFFED545 = {isa = PBXGroup; children = ( + 38FB6ABB883ECAD52027CE19, + 76B8E770835968F565292D1E, + 720C3CA9E28181C76434D465, + 57B7A9C37305D4D7F876344C, + 3D8A83C53BAF22EEEA014D90, + 6A299D9BED7D078CB2F1C007, + 47817D36A37758981DEDCAAE, + 2CD4306102317989E6321924, + 0453D6FB24F82E92A6BEDA49, + 0FF2403BC335E710BE391DEE, + 7BE8C42578F5E2E59D63F615, + 764F36E2597540348F960404, + 133BC5B880C7575FF3209D88, + D8AE63002C7273F98226394B, + 8E1CA5F01D04FA8F6CCFF91B, + D5942A1C95986841CA286736, + 068183416EF5422C7AD0F238, + 9CC0810F5BAF70D00033FD22, + 2B4F1477BB90BF7F62005BEC, + 5496F73539DA26FD9C899223, + D0ADA33F00B3BD83C1D5AE37, + 81D03597CE85238988E0F45D, ); name = threads; sourceTree = ""; }; + 6BCDEC9183E2E3108E0DF6C9 = {isa = PBXGroup; children = ( + CCD2ED6F6F3ABCC172DC4957, + 2060347D582A8E45F58AE1C2, + 3D2D6313C0A3397C4839B29B, + 0B3662D1FFE3102476FD60D7, + 78979AFF44F164451516C986, + 23A853ADC54A69406C7A49C6, ); name = time; sourceTree = ""; }; + 94F54CCBAAF1F7BECBE15D38 = {isa = PBXGroup; children = ( + 46118CBA9C3CD3B354D93B30, + 3EF890CB40C6FFCAE055B7B1, ); name = "unit_tests"; sourceTree = ""; }; + 89AF646809A397391DD478F9 = {isa = PBXGroup; children = ( + 8A89A7C0DEC85C7773251B15, + 2E29C6A0CF15C32A35119DCA, + 16DC590DCFE57F583E99F9C9, + 6BEA46E3C64DD2FD8946CD35, ); name = xml; sourceTree = ""; }; + DE3A3E8A7EC79D39DA406EB7 = {isa = PBXGroup; children = ( + 50D167857CCBE08F692604BB, + D65129253734C1917354C08E, + 5FC58B5FBBBB09878E3F2230, + F29F6395C4935C1A663A1D15, + 55F9178934DDF31583323625, + 2F66B42AF6C0B5ED381937C3, ); name = zip; sourceTree = ""; }; 7AB76D65BF8ACD7C0CCB6169 = {isa = PBXGroup; children = ( - 9F8E4C02B09E172A04638A04, - F06CAD4E176B4B5D59F3D92A, - B800FC93901BFB2AAB84B357, - 29FD491D882C7A35353517C8, - F6C37A1A9BE55FD210811ED5, - 18CBD980606B9896AE7EDB66, - 15BAE5B68F98DAF50032DA20, - 23F9726B9A73EF92F1209DC4, - E6D63506374A755883B95CD0, - 1CAC2BF524350D8F0B5FD356, + 18119BAECB08B5AB5C698B0B, + A58A8CADC04CD7B4A7650C09, + 1544BDD3315C264964667621, + F6681BED077B2F71DE1C9BC2, + EA8E07CFC088100944017BA0, + 644E43E8B2A8503F7D5524F3, + F37FA5EE62821768AC463EB3, + 070E4F946EB697A7963D1757, + 347B5DD8FAB6509E75EB018D, + C0BCC243012D70B7CB6C1558, C8E2FB2013388FB97CB0E404, - 9E69FDED50CC01056C1E3A3F, - 649BC7DF20650B1753E12AF4, - 2D8DDEA5DED7302CBA238934, + 1778DFB23C0D2A296DCF847F, + AA10DA760EC41537BFFED545, + 6BCDEC9183E2E3108E0DF6C9, 94F54CCBAAF1F7BECBE15D38, - 6C6F5F4F0570E2CE9AA515B7, - BD98C1BE7812F052CB13F901, - BFE7C09CA4AFAC973C267D11, + 89AF646809A397391DD478F9, + DE3A3E8A7EC79D39DA406EB7, 824822F2A6A539B2D797DE23, ); name = "juce_core"; sourceTree = ""; }; D819E535B50B941C9A6E8FAB = {isa = PBXGroup; children = ( 4E0A9537FFDE89E4B46710CB, @@ -1674,31 +1653,45 @@ AED3AAA07A81C88CC540827D = {isa = PBXGroup; children = ( D819E535B50B941C9A6E8FAB, 3C9C844C356DB55BB284218A, - E52756E1DB553ED02D829F61, 06BD2631BF3C52F26B9981E8, ); name = "juce_cryptography"; sourceTree = ""; }; - D4863F7EB960C2709BB3076B = {isa = PBXGroup; children = ( + 35030E2E43A56D85963D945C = {isa = PBXGroup; children = ( + 5B0A45CD67D62B0BF9FC22F9, + 9327D6AA8805BE7AD971D68C, + ABDFE5D85E6ED3CBB8AE1F50, + 93B3667FE4186CD75426EA53, ); name = "app_properties"; sourceTree = ""; }; + E635F16A3A42F4C92EB0E043 = {isa = PBXGroup; children = ( + F3B746DC92EFE7A9B8EA9E43, + 5FD5503AB0E161315DD5CD70, + 171E2FEB6097B9D059BCD196, ); name = undomanager; sourceTree = ""; }; + 911699805E55E0689B71C34A = {isa = PBXGroup; children = ( F0ACCF70936A0BBA2A2AB289, 3371D4F2A1E0AB784460E6D4, 63BB4EB9347AF60049BEEC1E, 24B56E58A88C5BA553F1C3F9, B6B6519216FF4413B698C889, F043752E829829CE2A364F39, ); name = values; sourceTree = ""; }; - E635F16A3A42F4C92EB0E043 = {isa = PBXGroup; children = ( - F3B746DC92EFE7A9B8EA9E43, - 5FD5503AB0E161315DD5CD70, - 171E2FEB6097B9D059BCD196, ); name = undomanager; sourceTree = ""; }; - 4E83EFA92EA783E37B892C4B = {isa = PBXGroup; children = ( - 5B0A45CD67D62B0BF9FC22F9, - 9327D6AA8805BE7AD971D68C, - ABDFE5D85E6ED3CBB8AE1F50, - 93B3667FE4186CD75426EA53, ); name = "app_properties"; sourceTree = ""; }; 0B9FFA8B31858A3B3DFC06C3 = {isa = PBXGroup; children = ( - D4863F7EB960C2709BB3076B, + 35030E2E43A56D85963D945C, E635F16A3A42F4C92EB0E043, - 4E83EFA92EA783E37B892C4B, - 8FDA4FBF31997AEBF3AE10E4, + 911699805E55E0689B71C34A, 11005DEC79FC6A6057FCFA7A, ); name = "juce_data_structures"; sourceTree = ""; }; - A34FC16C72F52B0B801CEF25 = {isa = PBXGroup; children = ( + AD02336B808FDDCEFFD714A8 = {isa = PBXGroup; children = ( + 9A60BF3F27FD10A058F4E956, + 5AB81EDAFED264951169F1B3, + 0F3360D13458198A3A88B1A1, + BE260594789CF43E1A4EF4E6, + ECAB8BD2816B0BEFCD9F6961, + E2C5C95247FDECA4C39F1415, + AD33778491D50853BFFED9E9, + 4825D1B0C0AC0FD325F55C29, ); name = broadcasters; sourceTree = ""; }; + 328E0C4FFDA1568FC668DE26 = {isa = PBXGroup; children = ( + E6E0ADA4E3632540A8ADC7D8, + 6E98E22310F8BBEAC48EE55A, + F380FE12E78619086BA33CDB, + 1CD8799B8784A91FC13E6641, + 17C0612B5BA94849EA9768CC, + E30009C6743474CD6195F5F8, ); name = interprocess; sourceTree = ""; }; + F80940DC484E417EAD307ABD = {isa = PBXGroup; children = ( C20FD8D605E6714D473D5C9B, C784392363846286D29F207F, 9CDE3A30398FB033E5AE8498, @@ -1712,28 +1705,7 @@ 6E9BFA2B6260E09B2B3948E9, 3C18AC0F75E68A8601DD8F08, 3F2BBE4509B19BFAC929D8DF, ); name = messages; sourceTree = ""; }; - F46AC40E7CD6D4DBE5062442 = {isa = PBXGroup; children = ( - 5F3E8B08EE74B0023DA176B1, - F42FE65C750920656EA22BF8, - DB8FAF091C9E78AE5F64701F, - F91A3C07D81BE2D4A191C9A2, ); name = timers; sourceTree = ""; }; - EDB1CEFD978D97AA80C44D11 = {isa = PBXGroup; children = ( - 9A60BF3F27FD10A058F4E956, - 5AB81EDAFED264951169F1B3, - 0F3360D13458198A3A88B1A1, - BE260594789CF43E1A4EF4E6, - ECAB8BD2816B0BEFCD9F6961, - E2C5C95247FDECA4C39F1415, - AD33778491D50853BFFED9E9, - 4825D1B0C0AC0FD325F55C29, ); name = broadcasters; sourceTree = ""; }; - 7F49B97D06C9CA8E7C5888A7 = {isa = PBXGroup; children = ( - E6E0ADA4E3632540A8ADC7D8, - 6E98E22310F8BBEAC48EE55A, - F380FE12E78619086BA33CDB, - 1CD8799B8784A91FC13E6641, - 17C0612B5BA94849EA9768CC, - E30009C6743474CD6195F5F8, ); name = interprocess; sourceTree = ""; }; - 604E5DA5952F5D6A87D74C8A = {isa = PBXGroup; children = ( + 68E39D6E47AC8C2D9A071681 = {isa = PBXGroup; children = ( E7113B21A18CD89165BAFD4B, EB369EA30D31CD710A09B7FD, 82CDD7D8E38202F102788090, @@ -1742,13 +1714,17 @@ 78DAC3299488E0CC70EDB206, C77F148F8E8E9F805D730386, 4407A352B303B27AA0B7D579, ); name = native; sourceTree = ""; }; + C331BEA7FC83828D3FA31686 = {isa = PBXGroup; children = ( + 5F3E8B08EE74B0023DA176B1, + F42FE65C750920656EA22BF8, + DB8FAF091C9E78AE5F64701F, + F91A3C07D81BE2D4A191C9A2, ); name = timers; sourceTree = ""; }; C217E6D7051F0944FFE75A52 = {isa = PBXGroup; children = ( - A34FC16C72F52B0B801CEF25, - F46AC40E7CD6D4DBE5062442, - EDB1CEFD978D97AA80C44D11, - 7F49B97D06C9CA8E7C5888A7, - 604E5DA5952F5D6A87D74C8A, - E243FC2BD3446D9518049538, + AD02336B808FDDCEFFD714A8, + 328E0C4FFDA1568FC668DE26, + F80940DC484E417EAD307ABD, + 68E39D6E47AC8C2D9A071681, + C331BEA7FC83828D3FA31686, B17EF578E9B736B1C5A5E8BF, ); name = "juce_events"; sourceTree = ""; }; 509EE811D5F7C5DCF8D66EC5 = {isa = PBXGroup; children = ( 885A0F1B41FFAF32ADC70925, @@ -1768,19 +1744,25 @@ D5C59D717CF1C0F15164AD43, 3E27B6E7641EFD605545DF18, 3B4CB5DCC28B60C4129F024E, ); name = contexts; sourceTree = ""; }; - 5F88ECDF0F4610C51B00F5BE = {isa = PBXGroup; children = ( - 3DA95E7AE1D0DC64AF09EB66, - 8DDCA7803625CF8DA817326A, - 29919F82CA5311BEA61649D9, - 0638493DAFCB6148E77159B1, - 0C73944DB76DB5DA61210A33, - 62F9B202D524E33A2843ED84, - BF2CAEB6EC641789133B627E, - B8D4B6843E55CC07167085AB, ); name = images; sourceTree = ""; }; - EEE338C2B3F2C4EE365FF019 = {isa = PBXGroup; children = ( - F584FC21C26C72A81D840840, - 3A42694A047942A44E8216F5, - 0F88F061C51BE43F53B27094, ); name = "image_formats"; sourceTree = ""; }; + 5B5616FC0965B85695BB953A = {isa = PBXGroup; children = ( + B680E1C22A5885A8336D8DA9, + 8DDE64B4A0EF76038498B47D, + 4F9F102E3BEDFE30542BD479, + A73DB3E8639A4D39F9F9C50E, + 6976B92D19F4FA1BA89A8922, ); name = effects; sourceTree = ""; }; + 75A548DB882C9629FFFA850E = {isa = PBXGroup; children = ( + 06AE69217982DB82E0F47554, + 0E2F5CD3AB59E19A1ADFF875, + C7026BE1C751908FEA9E5AAA, + 6209255CD43AA4EDC1C955DA, + 30212C3F1731BD8F19412A38, + D3D86F3CDD057C174A16E382, + E7B21011F93915ADD2CC5DD9, + ACDD5519D82FDB831085B8B2, + 17FDEA6209B7444B117E63C7, + 34176F324CF7EBCDE741B2DF, + BFCAF7A5D017D3BC4CD51D60, + A169179FE554C215416FCD7C, ); name = fonts; sourceTree = ""; }; 54810F7DAE8AD92E99472AAB = {isa = PBXGroup; children = ( E199DDD8F06741F21D8F9CFD, E41A387D233A436131D7910E, @@ -1797,30 +1779,20 @@ 03EC0E5A647E50B369E50BBF, 533B6E74A9F84B4D319E2F16, EE7001BD5206A8D8EA2D125B, ); name = geometry; sourceTree = ""; }; - E92E581D7C45CBF3D826649F = {isa = PBXGroup; children = ( - E5058DD199CEC42ECE922239, - D74B19291F4B0370A2742A63, - 88E9F6A65110F4753E115FF5, ); name = placement; sourceTree = ""; }; - 006806660141E87655AADFBF = {isa = PBXGroup; children = ( - 06AE69217982DB82E0F47554, - 0E2F5CD3AB59E19A1ADFF875, - C7026BE1C751908FEA9E5AAA, - 6209255CD43AA4EDC1C955DA, - 30212C3F1731BD8F19412A38, - D3D86F3CDD057C174A16E382, - E7B21011F93915ADD2CC5DD9, - ACDD5519D82FDB831085B8B2, - 17FDEA6209B7444B117E63C7, - 34176F324CF7EBCDE741B2DF, - BFCAF7A5D017D3BC4CD51D60, - A169179FE554C215416FCD7C, ); name = fonts; sourceTree = ""; }; - 4557FCCC2DAA4803E4145C52 = {isa = PBXGroup; children = ( - B680E1C22A5885A8336D8DA9, - 8DDE64B4A0EF76038498B47D, - 4F9F102E3BEDFE30542BD479, - A73DB3E8639A4D39F9F9C50E, - 6976B92D19F4FA1BA89A8922, ); name = effects; sourceTree = ""; }; - 3F44D4EFF1ABC95BADCF6424 = {isa = PBXGroup; children = ( + EC642A5CE511D5BC8E3FDFFC = {isa = PBXGroup; children = ( + F584FC21C26C72A81D840840, + 3A42694A047942A44E8216F5, + 0F88F061C51BE43F53B27094, ); name = "image_formats"; sourceTree = ""; }; + F2F8E6D63A2AA76BAB91C64B = {isa = PBXGroup; children = ( + 3DA95E7AE1D0DC64AF09EB66, + 8DDCA7803625CF8DA817326A, + 29919F82CA5311BEA61649D9, + 0638493DAFCB6148E77159B1, + 0C73944DB76DB5DA61210A33, + 62F9B202D524E33A2843ED84, + BF2CAEB6EC641789133B627E, + B8D4B6843E55CC07167085AB, ); name = images; sourceTree = ""; }; + 1674F712FCFF1D329D5A125B = {isa = PBXGroup; children = ( 3D0EA5C831C347728313FDFE, 31D74E7CF149EF5B569417A7, 9EB305226A801CB7012884F0, @@ -1834,19 +1806,54 @@ F43CED7548EE5C9F841CB1FA, 6A6A22EF81805BE907DB5DA2, 3008922C531303C24B8791AA, ); name = native; sourceTree = ""; }; + 2FE1CAD67485BBCE5EA038D4 = {isa = PBXGroup; children = ( + E5058DD199CEC42ECE922239, + D74B19291F4B0370A2742A63, + 88E9F6A65110F4753E115FF5, ); name = placement; sourceTree = ""; }; A3212051A49A69AC9D00F91B = {isa = PBXGroup; children = ( 509EE811D5F7C5DCF8D66EC5, ACB6D23DBA7C941FEC62F935, - 5F88ECDF0F4610C51B00F5BE, - EEE338C2B3F2C4EE365FF019, + 5B5616FC0965B85695BB953A, + 75A548DB882C9629FFFA850E, 54810F7DAE8AD92E99472AAB, - E92E581D7C45CBF3D826649F, - 006806660141E87655AADFBF, - 4557FCCC2DAA4803E4145C52, - 3F44D4EFF1ABC95BADCF6424, - 94F15602279A81777504F22C, + EC642A5CE511D5BC8E3FDFFC, + F2F8E6D63A2AA76BAB91C64B, + 1674F712FCFF1D329D5A125B, + 2FE1CAD67485BBCE5EA038D4, 6ACBD7C68EE20A8E8C5CC1AB, ); name = "juce_graphics"; sourceTree = ""; }; - F1DA02E10E12854B9398E8C0 = {isa = PBXGroup; children = ( + DEEAC2D315FDF1E0342A3C7A = {isa = PBXGroup; children = ( + 5434953F55BD35F74D59D980, + 6A3315B465362CD3AF66D306, ); name = application; sourceTree = ""; }; + 87547D473DDA05308695CB51 = {isa = PBXGroup; children = ( + 182223C68F452171BE479C01, + 3240A232A5C82A812A837A2F, + 912E1A63093C3FA3BD2AFE61, + AE68B9AA74EE6F138B3E0B94, + 7338D006521EDC5C10EEF974, + 791B204F13E056DA2644175D, + 6CF95925EA874CFABAF7C284, + A166FEC488A2EE5290FF0722, + 215D455CD5A3BD7537F88630, + 5595C04B0C1D8D8EBA119C8A, + 38B737F6F0007F752EE380B6, + 74CEBA45E0A8ECA5CFA9BEF7, + B688441D29BB51A9C4E83CFC, + 1339BD00EBF554E995968B6D, + 4ABF4B55F979F2A88EB1B331, + C2FFDDA61218A94403D5FE56, + 355DBB46C4283779C367E97B, + 09EB2AA32041290412E00D8B, ); name = buttons; sourceTree = ""; }; + E8758F384799A3380C68E6AD = {isa = PBXGroup; children = ( + 06903FD63E508771C576431D, + F779C79AC37C83A60B997641, + 151ADDBE74B99337BC2C2586, + CF626DE27EB763C9BCFD4F15, + 01AD7BA1E1B20309DC969EE2, + CAD3749B6A5BDB2BB00D3498, + 3B61B715F29A0AEAEF73CCBA, + 2BC7AB69474D7E280098B893, + 818729A3311F3A7B8DB03764, ); name = commands; sourceTree = ""; }; + D20884260A88DCA60EA3E10B = {isa = PBXGroup; children = ( 2F1324CBA29604BD3E2003B5, 2108383000B0A3564DFF340D, C549EFF977C210EB398C9A33, @@ -1856,28 +1863,46 @@ FA5777F9FFCC6BE9D9F98874, FE613A570CE31071FD22DC06, 2A155BD926FEB91142E6A638, ); name = components; sourceTree = ""; }; - 3750E06D980F78DF6C18B6D2 = {isa = PBXGroup; children = ( - 3D2FFA1F349A15621962C064, - EA9FE6D1E0A072E73312916C, - AA920A77D326B0F5E53F567F, - 905A87EA32A249ABFD0A90AA, - 24FC5DD7F88DBB1E3A46AB54, - BC2E34C0883EB362398AC448, - 80E5245755DC2ECC4C6BABD5, - 9C734938D5FF5DA7827C74C6, - 7AD412430D3AEB0468089AF5, - 1890C5F569F315E5F8EBB1F9, - 6E176584A871F8C956918182, - D8DFE1C66668C30215288BBE, - EA3436079F0D78BB76CD15F7, - 7C8C5464933F6E34CF33578B, - CAD598C03B7C93B4AF912E66, - 184C5CCD9457D17375F9AE1C, - 1913719A1E4E1803CD54D11F, - 2D13D48857E2530BF41F70CB, - 9200669E9DB4FE676A07CD77, - D99C0F89D572BBF219A7B991, ); name = mouse; sourceTree = ""; }; - BC7D6E54D9E9A3C9FB3E1C0A = {isa = PBXGroup; children = ( + 651B3A0A0A8DBCABB89877A1 = {isa = PBXGroup; children = ( + 02F0BF69062E8D9583F13C83, + A99853D3CB536CFDB6C91F98, + FE4C496CFA9A1E786253B005, + B3976635944EC69837499F9F, + B033B7729D2D204BBD71BDD3, + 2EB37CCC4FF8C40B015C0555, + 77BD025036C8B02426E61C79, + 7DE074DF0D3074275DBBF9B1, + 6940E5FE7BC1ED1BB2258886, + 2DAD09E643C29B6DE7F26EDF, + 3855013A39E97B76B46E055E, + 11CB66B1CBA64B205FDF2767, + 02ABF8C447E1A47845F6027D, + 842FE973E11AAEF49D77AFE3, + 9461C1D2300CC3A91EC2D169, ); name = drawables; sourceTree = ""; }; + 2F206C7966B4B768C6E4FF00 = {isa = PBXGroup; children = ( + A1244D54910A10100ECF8EE2, + FE22C972B67EC59701E1CC3C, + 0D979051139C2AC633BB4B9C, + DAFB19E49A6221854341BE2C, + BF6E19C2CA2032242B7A2556, + FDD9DA21786D445DCD01912A, + 8AF04828A59F79DF2FD31E9C, + 60BCBC74A3C12630E82631DE, + 877B42968286AAD56527516A, + 06496C804633EAB2003E5B19, + 50C625257E68C3B8FDAE45A9, + F48E6A27D809C49D42D3202C, + 7DA9D4E06E9B9875EC3880AF, + 7D2013E3BCFFD5A65D970BBD, + E3E3CD4660C20BE120E8BB1B, + F965E478C21D19EF32760A9C, + 534098C590927D6768E57ACF, + 857CE7D1DC614FCDD19F617D, + C416D60EFF7F25E0080A94D1, + DAACF5AFA6B6994384BA4984, + 192EE3C990E80213984A44C2, + E9BBEE1B3986E0829AA44133, ); name = filebrowser; sourceTree = ""; }; + FAFD36677EA1A24D8DFFC99C = {isa = PBXGroup; children = ( 73F0F1FA09AE9F7308AFCC3B, C6D9D6E03D4B740DDF9B3C57, F037091D4A3012EBBA1E808F, @@ -1891,62 +1916,7 @@ 70F33D8D2F48D64188861C6C, AC3600881A53014EFC1CB8D2, 0E1F414FCC996E155B4DB5DF, ); name = keyboard; sourceTree = ""; }; - 601A0E1AB8094CEDE18197C4 = {isa = PBXGroup; children = ( - 358C6A8FDD14AF0BADFC200E, - 1BBECE3C619C157F072748D9, - 79C8D0C6D1444EAB781C46F3, - 0E26995340F6E559281691DB, - 74BE52ADFCAEFACF704E1269, - 4120CBF145DA500C140BC666, - 2B8FF1E4F8D48AEDE05224D5, - A62BF9AB6EB0496F5BCE78B7, - 3BCC9E4DFC3910F668DA3FF7, - 241100DC52A0F56D071C8C4E, - FCAC296E92A219D70EB96AD5, - B8F25B3AB59A577E53304AC0, - B36D9787DD79D0DED8D791F0, - E0DB91A472A77866258D12B2, - A88B3DDBD1939456E225E36E, - 2DE7C6A69CC0096EF56E4049, - BDDD1C149C23BCA4F501BEF7, - 512D5182047E0B46E971A13D, - 1A1C23D2F16F880FCD3B565E, - 40B485A7CCC441C90EA92FBD, - A6285ED9A26A9DA0A2931910, - 277ADB563604EE1FB51FDAE7, - 6B67DE0FF4487B060DCF31E1, - A3BDCE78A0AE63BEA0DDE600, - 69CC80F5871F1AA06689E3BA, - A74BFBD7C3C18103B51F6342, - 456837CE387595EFF549939B, ); name = widgets; sourceTree = ""; }; - 1ADDC51A4430600E4AAAA5DB = {isa = PBXGroup; children = ( - C7089BDB2F572546643160C1, - A04410519258755461444678, - E4BD5632ADD38CF8BAD38A76, - 0BD502F6196E1FE7D9888A1C, - 30DA52AA554A0249429AC3FC, - D6238E383F396236E3A4C054, - 30CA850D191ECD5F1F7B6A70, - DA78B13D87626C49A2140FDC, - 2EE8E77D21471265869C9B4A, - 5A73A448137344953ED2BD32, - A6BC854E7C5B932911B2AFF2, - 43B80E11AC5121A2F4B8DD78, - EEA020419EF58E90C10AAE26, - 9EB2AE5A72227301C365568F, - CDB41763FDE907C3C0E75374, - 4C66D04A6A5FA514A10AA406, - 263BE0BDE184A7184A118B46, - 2B702EF83CBD217F8F9195F2, - 67541565521633071C03BD35, ); name = windows; sourceTree = ""; }; - BBA5875791623330D6DC95AB = {isa = PBXGroup; children = ( - 10DF2A823B97BBC0BD840B9F, - 989CD2B68A4EF90456E19ED9, - E32D1C481161F063918F76AA, - C06F64DF6D95D5C9C8B2D5F8, - D94C07E10FC25EE303D64992, - 937A2E7B951F5D527DF54245, ); name = menus; sourceTree = ""; }; - 5D340809199E2AA65DF46FC0 = {isa = PBXGroup; children = ( + A271C44E062FBEE3A6479B17 = {isa = PBXGroup; children = ( 1676147A3FADD6D79FF42CDF, CD8B9E60EFE0A0ED368EE3D9, 7890AB8CBF31F9788E10DBD5, @@ -1983,72 +1953,7 @@ 58EE7977BC7FBB3523A910D9, 50C099C6D8CA6DBF95B0828D, 5D4FE2C580EFC84212CFBFB5, ); name = layout; sourceTree = ""; }; - AC9C1779409BE4B43780B4C2 = {isa = PBXGroup; children = ( - 182223C68F452171BE479C01, - 3240A232A5C82A812A837A2F, - 912E1A63093C3FA3BD2AFE61, - AE68B9AA74EE6F138B3E0B94, - 7338D006521EDC5C10EEF974, - 791B204F13E056DA2644175D, - 6CF95925EA874CFABAF7C284, - A166FEC488A2EE5290FF0722, - 215D455CD5A3BD7537F88630, - 5595C04B0C1D8D8EBA119C8A, - 38B737F6F0007F752EE380B6, - 74CEBA45E0A8ECA5CFA9BEF7, - B688441D29BB51A9C4E83CFC, - 1339BD00EBF554E995968B6D, - 4ABF4B55F979F2A88EB1B331, - C2FFDDA61218A94403D5FE56, - 355DBB46C4283779C367E97B, - 09EB2AA32041290412E00D8B, ); name = buttons; sourceTree = ""; }; - 5ED6933CBDAFE300C2ABD720 = {isa = PBXGroup; children = ( - BB29289B196047505CF5EE6B, - 541E4974C73E294DBA415BA0, - F4BBD7DEBE0F1DD2CE45C411, - 1BE21633CDF618F8D993F3BE, - 193F42507FBE4E7A62D81E2C, - F89584972F16A8EC49E5E74D, - 531D198DE52845A4B641B6B3, - E682A3A52BD15D5CA4933C12, - A631CD93C2809211DD926938, - 7CDA22D66C8FEDF1B644D041, - 0B9867D5674933AF753A2CF6, - 2F8041ECBF70D78604686D6B, - 82AABF91CB005E5463F1D522, - 2551FA5B61BFBEB5E0310B66, ); name = positioning; sourceTree = ""; }; - C8A05D0DDC15576400097A2B = {isa = PBXGroup; children = ( - 02F0BF69062E8D9583F13C83, - A99853D3CB536CFDB6C91F98, - FE4C496CFA9A1E786253B005, - B3976635944EC69837499F9F, - B033B7729D2D204BBD71BDD3, - 2EB37CCC4FF8C40B015C0555, - 77BD025036C8B02426E61C79, - 7DE074DF0D3074275DBBF9B1, - 6940E5FE7BC1ED1BB2258886, - 2DAD09E643C29B6DE7F26EDF, - 3855013A39E97B76B46E055E, - 11CB66B1CBA64B205FDF2767, - 02ABF8C447E1A47845F6027D, - 842FE973E11AAEF49D77AFE3, - 9461C1D2300CC3A91EC2D169, ); name = drawables; sourceTree = ""; }; - 976CE92C0E6CA7669AF1C0CB = {isa = PBXGroup; children = ( - 4F6768F8EF9CB4A34A501966, - 4C13F19ECFF6CA7AB9C801AC, - 8430FB57248237DDAD4CE4AD, - 7B5560AEA0CB3E507C16140C, - 5C5F8713DA326B5C6C559767, - 98D55DE4706A31BCD28458C3, - A966B620E1FB219BD4A4F3D9, - F99F73DEBB0EB724142FA930, - 4C9033415E05CD39408389AC, - 99E8C71CC462DDDBC52D360C, - E9A3E96E32C301EE817059C1, - BC30642EEF908E1C7757690B, - D45AD25E5AC67424EAE5A85F, - 825690E8512078D4F8595CCD, ); name = properties; sourceTree = ""; }; - 528B62250FF5AFE3DF0EB3C5 = {isa = PBXGroup; children = ( + 156CC7EE1643EA066924663C = {isa = PBXGroup; children = ( 4F56EAB8D09665602226930F, 73EC10FBCA420227E5A145F9, 4AEA921081036DD4C259B45F, @@ -2057,48 +1962,40 @@ 5C2DE230E3197CF04660851E, FD2A08CE74C6EBC90CD44A49, CE276E0CAE722EA80F7985BB, ); name = lookandfeel; sourceTree = ""; }; - 1B6365C0EB9F304B264DC487 = {isa = PBXGroup; children = ( - A1244D54910A10100ECF8EE2, - FE22C972B67EC59701E1CC3C, - 0D979051139C2AC633BB4B9C, - DAFB19E49A6221854341BE2C, - BF6E19C2CA2032242B7A2556, - FDD9DA21786D445DCD01912A, - 8AF04828A59F79DF2FD31E9C, - 60BCBC74A3C12630E82631DE, - 877B42968286AAD56527516A, - 06496C804633EAB2003E5B19, - 50C625257E68C3B8FDAE45A9, - F48E6A27D809C49D42D3202C, - 7DA9D4E06E9B9875EC3880AF, - 7D2013E3BCFFD5A65D970BBD, - E3E3CD4660C20BE120E8BB1B, - F965E478C21D19EF32760A9C, - 534098C590927D6768E57ACF, - 857CE7D1DC614FCDD19F617D, - C416D60EFF7F25E0080A94D1, - DAACF5AFA6B6994384BA4984, - 192EE3C990E80213984A44C2, - E9BBEE1B3986E0829AA44133, ); name = filebrowser; sourceTree = ""; }; - 2761E2946DEDCB0AA51DE683 = {isa = PBXGroup; children = ( - 06903FD63E508771C576431D, - F779C79AC37C83A60B997641, - 151ADDBE74B99337BC2C2586, - CF626DE27EB763C9BCFD4F15, - 01AD7BA1E1B20309DC969EE2, - CAD3749B6A5BDB2BB00D3498, - 3B61B715F29A0AEAEF73CCBA, - 2BC7AB69474D7E280098B893, - 818729A3311F3A7B8DB03764, ); name = commands; sourceTree = ""; }; - 9E82D25138749954193F1450 = {isa = PBXGroup; children = ( + E9544C94B904F0EBB89FA143 = {isa = PBXGroup; children = ( + 10DF2A823B97BBC0BD840B9F, + 989CD2B68A4EF90456E19ED9, + E32D1C481161F063918F76AA, + C06F64DF6D95D5C9C8B2D5F8, + D94C07E10FC25EE303D64992, + 937A2E7B951F5D527DF54245, ); name = menus; sourceTree = ""; }; + FDCDA062AE5E9B9026D7DCAA = {isa = PBXGroup; children = ( B3E2A6A5C59E1462DF544A06, 81516145E8F737D290135758, BCACFA5E8370800EB6487CC4, 047E385F21CC5AD6238B120E, ); name = misc; sourceTree = ""; }; - 0D77CC5C0E81446BEBBFA067 = {isa = PBXGroup; children = ( - 5434953F55BD35F74D59D980, - 6A3315B465362CD3AF66D306, ); name = application; sourceTree = ""; }; - 23D479C4AE179B8DDF9FE026 = {isa = PBXGroup; children = ( + 96E9E79B573DB15989229616 = {isa = PBXGroup; children = ( + 3D2FFA1F349A15621962C064, + EA9FE6D1E0A072E73312916C, + AA920A77D326B0F5E53F567F, + 905A87EA32A249ABFD0A90AA, + 24FC5DD7F88DBB1E3A46AB54, + BC2E34C0883EB362398AC448, + 80E5245755DC2ECC4C6BABD5, + 9C734938D5FF5DA7827C74C6, + 7AD412430D3AEB0468089AF5, + 1890C5F569F315E5F8EBB1F9, + 6E176584A871F8C956918182, + D8DFE1C66668C30215288BBE, + EA3436079F0D78BB76CD15F7, + 7C8C5464933F6E34CF33578B, + CAD598C03B7C93B4AF912E66, + 184C5CCD9457D17375F9AE1C, + 1913719A1E4E1803CD54D11F, + 2D13D48857E2530BF41F70CB, + 9200669E9DB4FE676A07CD77, + D99C0F89D572BBF219A7B991, ); name = mouse; sourceTree = ""; }; + EB6C00F6FC7E4A031C5409AF = {isa = PBXGroup; children = ( 01F49D3FD943424005FB512F, DD5F4BFEA497212883A869A9, 7DA062415E40E3BEC0B847FE, @@ -2115,25 +2012,102 @@ 70276A64A50E5B56492853DD, 6A4AE0C59C1210D28A8C8AF7, 2F19C814598FC304CA841242, ); name = native; sourceTree = ""; }; + 9E631CD9EE6D34B52A0FF724 = {isa = PBXGroup; children = ( + BB29289B196047505CF5EE6B, + 541E4974C73E294DBA415BA0, + F4BBD7DEBE0F1DD2CE45C411, + 1BE21633CDF618F8D993F3BE, + 193F42507FBE4E7A62D81E2C, + F89584972F16A8EC49E5E74D, + 531D198DE52845A4B641B6B3, + E682A3A52BD15D5CA4933C12, + A631CD93C2809211DD926938, + 7CDA22D66C8FEDF1B644D041, + 0B9867D5674933AF753A2CF6, + 2F8041ECBF70D78604686D6B, + 82AABF91CB005E5463F1D522, + 2551FA5B61BFBEB5E0310B66, ); name = positioning; sourceTree = ""; }; + CFB4D411CA2070270396539A = {isa = PBXGroup; children = ( + 4F6768F8EF9CB4A34A501966, + 4C13F19ECFF6CA7AB9C801AC, + 8430FB57248237DDAD4CE4AD, + 7B5560AEA0CB3E507C16140C, + 5C5F8713DA326B5C6C559767, + 98D55DE4706A31BCD28458C3, + A966B620E1FB219BD4A4F3D9, + F99F73DEBB0EB724142FA930, + 4C9033415E05CD39408389AC, + 99E8C71CC462DDDBC52D360C, + E9A3E96E32C301EE817059C1, + BC30642EEF908E1C7757690B, + D45AD25E5AC67424EAE5A85F, + 825690E8512078D4F8595CCD, ); name = properties; sourceTree = ""; }; + 55C5A56311D2E1A1D9E0CB8F = {isa = PBXGroup; children = ( + 358C6A8FDD14AF0BADFC200E, + 1BBECE3C619C157F072748D9, + 79C8D0C6D1444EAB781C46F3, + 0E26995340F6E559281691DB, + 74BE52ADFCAEFACF704E1269, + 4120CBF145DA500C140BC666, + 2B8FF1E4F8D48AEDE05224D5, + A62BF9AB6EB0496F5BCE78B7, + 3BCC9E4DFC3910F668DA3FF7, + 241100DC52A0F56D071C8C4E, + FCAC296E92A219D70EB96AD5, + B8F25B3AB59A577E53304AC0, + B36D9787DD79D0DED8D791F0, + E0DB91A472A77866258D12B2, + A88B3DDBD1939456E225E36E, + 2DE7C6A69CC0096EF56E4049, + BDDD1C149C23BCA4F501BEF7, + 512D5182047E0B46E971A13D, + 1A1C23D2F16F880FCD3B565E, + 40B485A7CCC441C90EA92FBD, + A6285ED9A26A9DA0A2931910, + 277ADB563604EE1FB51FDAE7, + 6B67DE0FF4487B060DCF31E1, + A3BDCE78A0AE63BEA0DDE600, + 69CC80F5871F1AA06689E3BA, + A74BFBD7C3C18103B51F6342, + 456837CE387595EFF549939B, ); name = widgets; sourceTree = ""; }; + 87C14D3E4BAF3406D5603280 = {isa = PBXGroup; children = ( + C7089BDB2F572546643160C1, + A04410519258755461444678, + E4BD5632ADD38CF8BAD38A76, + 0BD502F6196E1FE7D9888A1C, + 30DA52AA554A0249429AC3FC, + D6238E383F396236E3A4C054, + 30CA850D191ECD5F1F7B6A70, + DA78B13D87626C49A2140FDC, + 2EE8E77D21471265869C9B4A, + 5A73A448137344953ED2BD32, + A6BC854E7C5B932911B2AFF2, + 43B80E11AC5121A2F4B8DD78, + EEA020419EF58E90C10AAE26, + 9EB2AE5A72227301C365568F, + CDB41763FDE907C3C0E75374, + 4C66D04A6A5FA514A10AA406, + 263BE0BDE184A7184A118B46, + 2B702EF83CBD217F8F9195F2, + 67541565521633071C03BD35, ); name = windows; sourceTree = ""; }; 9C4033FFA3C21A4CEDF67C73 = {isa = PBXGroup; children = ( - F1DA02E10E12854B9398E8C0, - 3750E06D980F78DF6C18B6D2, - BC7D6E54D9E9A3C9FB3E1C0A, - 601A0E1AB8094CEDE18197C4, - 1ADDC51A4430600E4AAAA5DB, - BBA5875791623330D6DC95AB, - 5D340809199E2AA65DF46FC0, - AC9C1779409BE4B43780B4C2, - 5ED6933CBDAFE300C2ABD720, - C8A05D0DDC15576400097A2B, - 976CE92C0E6CA7669AF1C0CB, - 528B62250FF5AFE3DF0EB3C5, - 1B6365C0EB9F304B264DC487, - 2761E2946DEDCB0AA51DE683, - 9E82D25138749954193F1450, - 0D77CC5C0E81446BEBBFA067, - 23D479C4AE179B8DDF9FE026, - FAC5DDBFB00254C35D8987F2, + DEEAC2D315FDF1E0342A3C7A, + 87547D473DDA05308695CB51, + E8758F384799A3380C68E6AD, + D20884260A88DCA60EA3E10B, + 651B3A0A0A8DBCABB89877A1, + 2F206C7966B4B768C6E4FF00, + FAFD36677EA1A24D8DFFC99C, + A271C44E062FBEE3A6479B17, + 156CC7EE1643EA066924663C, + E9544C94B904F0EBB89FA143, + FDCDA062AE5E9B9026D7DCAA, + 96E9E79B573DB15989229616, + EB6C00F6FC7E4A031C5409AF, + 9E631CD9EE6D34B52A0FF724, + CFB4D411CA2070270396539A, + 55C5A56311D2E1A1D9E0CB8F, + 87C14D3E4BAF3406D5603280, 063357A85BA244642BE1274A, ); name = "juce_gui_basics"; sourceTree = ""; }; DF114C5936833878A46997BB = {isa = PBXGroup; children = ( DB748B0D9227F5345683CF7A, @@ -2195,9 +2169,21 @@ 1562C9D9FEDD7C31F674E2BB, 488105705659833F97300471, D9F37F228663829FCEC732D3, - B6EFD8D461F7BC1CA4954B69, 1F2FF9F4A1F8325AD3F19EA7, ); name = "juce_gui_extra"; sourceTree = ""; }; - C351D1801F7000CF7EB16A39 = {isa = PBXGroup; children = ( + 766D4531329B2C9C31E738D3 = {isa = PBXGroup; children = ( + FF34F4ED0C44B2BA4FBF22AA, + E8DBB02B17A6E144D08E4CC7, + 6308DABB4145FBD330B7DA5A, + 8EF11A0D1370915CA7AF4F64, ); name = geometry; sourceTree = ""; }; + C68100177C3351B178A3572D = {isa = PBXGroup; children = ( + 200A1B6B96E1089110CEAD48, + 7B81083FC4CCD2D096D93162, + F5B288379859F5C9F4FB83BB, + E8B785D8DD9C49BC7FF5EA75, + 51DD2ECC1AED271892E87814, + FC63A33CA2E025F5C4C22CD3, + 8139DFF71A397BB4FC1C4413, ); name = native; sourceTree = ""; }; + CA690AA101D7DEEB59803FB7 = {isa = PBXGroup; children = ( A1F10BB1A2745DC95DDDE0D6, D6AB846628BE74C5349C95CA, 6257CEA3C6EADCB94E25010F, @@ -2215,47 +2201,32 @@ FC1BA0654179A585DF5B9DC5, 6BA2D0C9FB49A5C3E0554000, AC25983CE9B938D1DB002A98, ); name = opengl; sourceTree = ""; }; - F873F1C35B16AE04A75E99A0 = {isa = PBXGroup; children = ( - FF34F4ED0C44B2BA4FBF22AA, - E8DBB02B17A6E144D08E4CC7, - 6308DABB4145FBD330B7DA5A, - 8EF11A0D1370915CA7AF4F64, ); name = geometry; sourceTree = ""; }; - 8EEE76AA4EC057A4D2507E39 = {isa = PBXGroup; children = ( + B513DD5415C3163E43BBB2A3 = {isa = PBXGroup; children = ( AB3C484314062E809AC41132, 5E69510D460EEB7754976CC8, ); name = utils; sourceTree = ""; }; - DFBBD0DCA08C2A6E552B7643 = {isa = PBXGroup; children = ( - 200A1B6B96E1089110CEAD48, - 7B81083FC4CCD2D096D93162, - F5B288379859F5C9F4FB83BB, - E8B785D8DD9C49BC7FF5EA75, - 51DD2ECC1AED271892E87814, - FC63A33CA2E025F5C4C22CD3, - 8139DFF71A397BB4FC1C4413, ); name = native; sourceTree = ""; }; C47DD018E100D8FA5BDEBB7E = {isa = PBXGroup; children = ( - C351D1801F7000CF7EB16A39, - F873F1C35B16AE04A75E99A0, - 8EEE76AA4EC057A4D2507E39, - DFBBD0DCA08C2A6E552B7643, - F4AD24F8DDD10C938759CEB9, + 766D4531329B2C9C31E738D3, + C68100177C3351B178A3572D, + CA690AA101D7DEEB59803FB7, + B513DD5415C3163E43BBB2A3, 14A37C392DF6CF1CDB64612D, ); name = "juce_opengl"; sourceTree = ""; }; - D0F919BD5E25E00651040936 = {isa = PBXGroup; children = ( - 29930414E0C7FD5EFC7F2095, - 36C9E79611229727DF5E5836, ); name = playback; sourceTree = ""; }; - DBDA6BAA1B84CA0C6F838008 = {isa = PBXGroup; children = ( + C805BB50F0EA8683CF1BBE4B = {isa = PBXGroup; children = ( 3EC73BE7C098A631E5D5107D, 29C7AE377B006C00D4293C59, ); name = capture; sourceTree = ""; }; - 75E1163D29EDCDF203433D84 = {isa = PBXGroup; children = ( + 80157E494A01EC1BE44C589F = {isa = PBXGroup; children = ( 3009F5CB4D15119D2C680F98, C8CABD53634D53E64132CAAD, CE89334A964AFF33758CBDEB, 5D475A368AC24E639B8A3797, 97C3A2B9575153E4CA0537B7, C4CE4565F5D41303888F6A59, ); name = native; sourceTree = ""; }; + 7DEFA7A7E23C0A137CEA6069 = {isa = PBXGroup; children = ( + 29930414E0C7FD5EFC7F2095, + 36C9E79611229727DF5E5836, ); name = playback; sourceTree = ""; }; D3C805B4AB4B31DFB20936B9 = {isa = PBXGroup; children = ( - D0F919BD5E25E00651040936, - DBDA6BAA1B84CA0C6F838008, - 75E1163D29EDCDF203433D84, - 178D5499D90E6C10AA778456, + C805BB50F0EA8683CF1BBE4B, + 80157E494A01EC1BE44C589F, + 7DEFA7A7E23C0A137CEA6069, B6874BAE87F275944C07B498, ); name = "juce_video"; sourceTree = ""; }; 713498D20048E6A3D46E2D0B = {isa = PBXGroup; children = ( EAD085E39B98D2F88E2854DA, @@ -2277,24 +2248,24 @@ 4975DB849F14413317E94609, 8D70A7277DDD7B7974E9F178, 016565008F3FF4F39192ACA6, - 0349FEE5DA18067918536934, - 1E0453D8A9741695357567E3, - 40D267701C8FF75121454D79, - 66C5D2F0D9B9ABA7F4A386E8, - 5B466272F3B821BE88BAC205, - ED6224ABC715AAB68661F4D4, - 4E49D12CA5C42721F532DCD6, - B9D26C6C4CED62E6708B6865, - 63AC834818EFF45708101F9A, - 9079FD325609A4E67E44F3ED, - B27A7B237782F9E15E4BF8D5, - 09D51FD6DE5DF526BB36B4D3, - 141036E097DAC47FB6F9CA80, - 786CF1CA66289DB77845F8E9, - 9895036432E9AE55EE16323F, + 2B789C58AFC77C0527BFBBB5, + 3BF94F93AE8A8E9AFA5FDEC7, + C8DBA0F79A42D081DF328798, + 0CD847B28F63BAE0AB55CE37, + 66C35D440440937001697D0B, + A67AC004E3AD3129C578EFA0, + 2403B8D4A16FB80D115BCD2A, + FC022E24D3A4C3E7C77E55BF, + A7F846EF40A343C8E30D18DB, + 9FB3AFE9C376328C6D798741, + A6EBDFEA86BEFF4682C46940, + E13D0BEFB46B4D8751EF6CAB, + 652A128D7DE1672618DB9521, + EB93700805DBEBF58092DC3C, + 16C0655B97D6D3B992D6733E, 59E2B82491E344257F84FC40, ); name = "Juce Library Code"; sourceTree = ""; }; 821D88BA60F316F96BC8A86D = {isa = PBXGroup; children = ( - 91F4E52A1B31FB5998FEF665, + B487CD915AF683CE01469268, E80CA3836329ED0EEC74BAE6, AEF26EF11BEBA847F152A1D5, ); name = Resources; sourceTree = ""; }; 9439CB46EE08D16AAA26A203 = {isa = PBXGroup; children = ( @@ -2312,7 +2283,7 @@ AAA2590D363C6DE624D320A6, 1796A99F33AD5998FE4A6035, ); name = Frameworks; sourceTree = ""; }; 9EB09FCC1FD3F263F24203C5 = {isa = PBXGroup; children = ( - 229D2DAADACF15540C3BBD15, ); name = Products; sourceTree = ""; }; + 90B1185950EF7670F87EAA3F, ); name = Products; sourceTree = ""; }; 605D88E415A9989447F78548 = {isa = PBXGroup; children = ( DAD5A945FFB6D6920BF0D1F6, 713498D20048E6A3D46E2D0B, @@ -2320,7 +2291,7 @@ 821D88BA60F316F96BC8A86D, 9439CB46EE08D16AAA26A203, 9EB09FCC1FD3F263F24203C5, ); name = Source; sourceTree = ""; }; - D0259E85380471FB442A4B44 = {isa = XCBuildConfiguration; buildSettings = { + 963FEEC67CA1488B71067091 = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; @@ -2337,14 +2308,14 @@ "JUCE_APP_VERSION_HEX=0x30000", ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.plist; INSTALL_PATH = "$(HOME)/Applications"; 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 = { + 903E7C1C8383FB576E8BA554 = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; @@ -2362,7 +2333,7 @@ GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.plist; INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET = 10.6; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; @@ -2401,16 +2372,17 @@ PRODUCT_NAME = "JuceDemo"; WARNING_CFLAGS = -Wreorder; ZERO_LINK = NO; }; name = Release; }; + 39CDCEDD5B56630ADC06B588 = {isa = PBXTargetDependency; target = 00C030852F071EE5DCA3C532; }; E3E8152B5B6326971AA2F802 = {isa = XCConfigurationList; buildConfigurations = ( A16C0416417EF9DF7B09973F, 5D9A258B559C20D1603B9B9F, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 3E10D74DDAF399AFE44EAE00 = {isa = XCConfigurationList; buildConfigurations = ( - D0259E85380471FB442A4B44, - 80E4DBEBE0CE7D218C89F78C, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 8FEB5329109B581E7C40CEBC = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + D3C30326DE5136D39B922959 = {isa = XCConfigurationList; buildConfigurations = ( + 963FEEC67CA1488B71067091, + 903E7C1C8383FB576E8BA554, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 8A0460E8E406AB26F4BA09A8 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( 295CBC656A90E90280D86BC0, 0C2591D2A41D00D364570D9B, ); runOnlyForDeploymentPostprocessing = 0; }; - A1B40A40EED2EBD970739FBF = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + DB71CE9A0FCC9F1D4DB88011 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 9E8944195DB3FCA7AC031CE5, E036E92901E0B69FCDF451DC, E95494B76EDE178B2969C527, @@ -2452,22 +2424,22 @@ A1F184ABE297300A9E58BE94, 41F9A5936E54187528B817E9, 7BEA73E4BB71CE05E542A6E8, - F11E1D83596BC7786FC69405, - 67EB8B44CAD18BA4AF577528, - 445DE2471E5D168763AF149B, - 795A76FB056FA340861A8C51, - E96BBEAA081BFD7B244B120C, - FEDF1AA6CC2486AE0C1267C1, - 47F2181361C8EB7D67C89169, - 7CA1524D7DE0C18C1F070C97, - 64A5DA788C3DAC2F02BBDA0F, - 633491D8F37C87F3D426F0FE, - AC074F24DB676919ABF06188, - BFEF0063952A3A4DD92CB068, - D39B2783DD6DB671D8BAC0EE, - 7FDB32957337BE65186DA1A2, - 52637F000CB62E13F2D98026, ); runOnlyForDeploymentPostprocessing = 0; }; - 62864F0322651D6B1B57BBA6 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 27C45C30B401F78C4AD2018B, + 9802D89D43B4B7C1A209515B, + 7CC8EA9902367FB1085F23EB, + FF9E62C79E4C341D9F24A35B, + EE7B3D7B003CF7F565899BB9, + B524E9EC1808C486152A6B12, + 83175ADAC9A8816E534FBB17, + ED20291EC7E656726AC63259, + 9BAE90BFAE7C71EDD5E6F56D, + 1CBE066CB2B6636D341C5C09, + 37EB9CCA5EDCBF2248E70EE4, + 6F78472E107462A5DF946152, + D1E75C36990645CC17E58511, + 74C9ED42D599D90581025EDF, + 8A222F52E0807B8E934447BF, ); runOnlyForDeploymentPostprocessing = 0; }; + 8B042CD6831F0E9BD5C0815E = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( E16EA7E816B50766F3AE4F88, BB7001D6FD448E6C0AAE4F30, 11F44DE2908CA14F827EB448, @@ -2481,11 +2453,11 @@ 9855E6AE1E9125FC6C3673D4, C6619BC35B1F4CDC30CED302, A54E039753B2DDC2D8E5F1CC, ); runOnlyForDeploymentPostprocessing = 0; }; - 5EA17FD285246351AFA8AF1E = {isa = PBXNativeTarget; buildConfigurationList = 3E10D74DDAF399AFE44EAE00; buildPhases = ( - 8FEB5329109B581E7C40CEBC, - A1B40A40EED2EBD970739FBF, - 62864F0322651D6B1B57BBA6, ); buildRules = ( ); dependencies = ( ); name = JuceDemo; productName = JuceDemo; productReference = 229D2DAADACF15540C3BBD15; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; - A97F75347E57A9C1AF731F1D = {isa = PBXProject; buildConfigurationList = E3E8152B5B6326971AA2F802; attributes = { LastUpgradeCheck = 0440; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 605D88E415A9989447F78548; projectDirPath = ""; projectRoot = ""; targets = ( 5EA17FD285246351AFA8AF1E ); }; + 00C030852F071EE5DCA3C532 = {isa = PBXNativeTarget; buildConfigurationList = D3C30326DE5136D39B922959; buildPhases = ( + 8A0460E8E406AB26F4BA09A8, + DB71CE9A0FCC9F1D4DB88011, + 8B042CD6831F0E9BD5C0815E, ); buildRules = ( ); dependencies = ( ); name = "JuceDemo (App)"; productName = JuceDemo; productReference = 90B1185950EF7670F87EAA3F; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; + A97F75347E57A9C1AF731F1D = {isa = PBXProject; buildConfigurationList = E3E8152B5B6326971AA2F802; attributes = { LastUpgradeCheck = 0440; TargetAttributes = { 00C030852F071EE5DCA3C532 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 605D88E415A9989447F78548; projectDirPath = ""; projectRoot = ""; targets = (00C030852F071EE5DCA3C532); }; }; rootObject = A97F75347E57A9C1AF731F1D; } diff --git a/examples/Demo/Builds/VisualStudio2010/JuceDemo.vcxproj b/examples/Demo/Builds/VisualStudio2010/JuceDemo.vcxproj index 0b044d1e45..14cc86c0c3 100644 --- a/examples/Demo/Builds/VisualStudio2010/JuceDemo.vcxproj +++ b/examples/Demo/Builds/VisualStudio2010/JuceDemo.vcxproj @@ -250,6 +250,9 @@ true + + true + true @@ -265,15 +268,6 @@ true - - true - - - true - - - true - true @@ -322,25 +316,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -370,9 +349,45 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + true + + true + + + true + + + true + + + true + + + true + true @@ -391,21 +406,6 @@ true - - true - - - true - - - true - - - true - - - true - true @@ -439,9 +439,6 @@ true - - true - true @@ -451,48 +448,12 @@ true + + true + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -508,33 +469,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -559,40 +493,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -601,31 +505,16 @@ true - + true - + true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -691,6 +580,117 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -709,6 +709,15 @@ true + + true + + + true + + + true + true @@ -718,33 +727,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -763,6 +745,18 @@ true + + true + + + true + + + true + + + true + true @@ -772,6 +766,12 @@ true + + true + + + true + true @@ -793,43 +793,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -850,10 +817,40 @@ true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -880,6 +877,51 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -892,6 +934,153 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -913,19 +1102,70 @@ true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -994,246 +1234,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -1343,21 +1343,21 @@ true - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + @@ -1401,6 +1401,8 @@ + + @@ -1408,20 +1410,10 @@ + - - - - - - - - - - - @@ -1431,8 +1423,25 @@ + + + + + + + + + + + + + + + + + @@ -1443,15 +1452,6 @@ - - - - - - - - - @@ -1475,21 +1475,35 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1510,22 +1524,49 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1545,53 +1586,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - @@ -1600,14 +1600,22 @@ + + + + - - - - + + + + + + + + @@ -1617,19 +1625,11 @@ - - - - - - - - - - + + @@ -1640,10 +1640,15 @@ - - - - + + + + + + + + + @@ -1654,26 +1659,91 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1687,14 +1757,21 @@ - - - - - - - - + + + + + + + + + + + + + + + @@ -1719,83 +1796,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1821,6 +1821,17 @@ + + + + + + + + + + + @@ -1830,22 +1841,11 @@ - - - - - - - - - - - + - @@ -1861,22 +1861,7 @@ - - - - - - - - - - - - - - - diff --git a/examples/Demo/Builds/VisualStudio2010/JuceDemo.vcxproj.filters b/examples/Demo/Builds/VisualStudio2010/JuceDemo.vcxproj.filters index 8cda383d54..4af3423290 100644 --- a/examples/Demo/Builds/VisualStudio2010/JuceDemo.vcxproj.filters +++ b/examples/Demo/Builds/VisualStudio2010/JuceDemo.vcxproj.filters @@ -41,45 +41,45 @@ {CACD7B50-4DB3-76AF-A6E8-90DF94F8F594} + + {45C2CE26-EC4B-BA52-58F3-297C408E1483} + {9D270B31-2425-8FDB-84A4-6A2288FF5B2F} {0F766DD4-A277-CB86-5647-42498C8B41E1} - - {D64942B4-6984-3623-3347-45D472AE1C61} - - - {45C2CE26-EC4B-BA52-58F3-297C408E1483} - {01603E05-423B-5FC3-1BEE-E15ED33B5688} + + {D64942B4-6984-3623-3347-45D472AE1C61} + {65CB28F8-0422-A8F3-9A17-959E12A1F8E2} - - {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} - {0CD9E281-DDD0-91EC-6F77-EA9D9D5E0E1A} + + {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} + {40C5CA7C-AEBB-05B1-11CE-AE41D87B5CCB} {0B0E7392-324B-088C-FBEB-5FE999D61782} - - {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} - {20254EFE-6CBD-31A7-2119-92B1E0E0E311} {70796D73-6D30-8A1B-4732-7C021E47C05A} + + {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} + {EB8DD942-E2CB-869F-D381-E02A65BA790B} @@ -92,12 +92,12 @@ {8167E753-09C7-5D1C-EF2B-32D297557443} - - {AEDCB7F7-7A36-5392-8E9A-715F5BDE35CB} - {B48C883A-8483-AF6D-808C-1D9A749048D8} + + {AEDCB7F7-7A36-5392-8E9A-715F5BDE35CB} + {B2912FF0-8ED6-7123-C74F-BA4CF0F436AB} @@ -110,8 +110,17 @@ {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} - - {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + + {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + + {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + + {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} {476C69CE-0B67-6B85-E888-45D91E37A29E} @@ -119,17 +128,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} - - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -137,29 +140,26 @@ {91929C6F-7902-B87D-5260-2F6CBF8ACD93} - - {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} - {4634FFAE-9586-A970-364C-4FDDA635F99F} - - {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} - - {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - {F03654BC-34D8-F975-BEA3-750CC2783D23} + + {C9F6D785-BF78-5AA1-B479-111C65397864} {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} - - {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} - - {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + {F03654BC-34D8-F975-BEA3-750CC2783D23} {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} @@ -173,33 +173,33 @@ {928D8FCC-5E00-174B-6538-93E8D75AB396} - - {1988E68A-A964-64CA-0E0C-26FF9BC5176C} + + {358AEA11-3F96-36AE-7B32-71373B5C5396} {3DF036EA-3B80-553B-2494-3AAC835CAE75} - - {358AEA11-3F96-36AE-7B32-71373B5C5396} + + {1988E68A-A964-64CA-0E0C-26FF9BC5176C} {F2A38F45-6E55-E147-2E52-64A89FDD9D59} - - {6172822C-01A5-E824-12DA-FA43FA934D35} - - - {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} - {B098BC87-3298-7E6B-12DC-D26C09CDCAED} {6322B88F-984A-C3CD-6263-38D7AA49B6EC} + + {6172822C-01A5-E824-12DA-FA43FA934D35} + {73C1E759-AD90-59A3-942E-2D10FAA29107} + + {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} + {EE1AE8C3-0908-8F53-A4E5-D930C7C97C26} @@ -209,81 +209,81 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} - - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - - {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {E37D25CD-4350-4614-055B-7ABC55E67895} {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {C1A1A236-AB01-173E-96C3-0706BFF93B1E} + + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + + {413F481F-075C-2958-115C-D8268682FCB7} {FFC6E1CC-C772-75E6-5087-FB5D4E016799} + + {1182303F-ECA3-166D-AC0C-92C5E762CB93} + {8E43579F-C185-266D-DD67-F8B95BD80F2F} + + {61712B09-5783-ADFA-2001-5A0C3D7764EB} + + + {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + + {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} + {2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D} - - {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + {5A0AA36E-3957-E413-14C6-31CBE15271DF} + + + {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} {A92719C7-70BE-57C4-CE9E-A9BC9DFEB757} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} + + + {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} + + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} + + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + + {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} + + + {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} + {75F1F352-251A-75E0-D941-8431588F5C1E} {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} - - {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} - - - {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} - - - {5A0AA36E-3957-E413-14C6-31CBE15271DF} - - - {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} - - - {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} - - - {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} - - - {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} - - - {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - - {61712B09-5783-ADFA-2001-5A0C3D7764EB} - - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} - {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -305,30 +305,30 @@ {639E16C5-DA8B-ADBA-6E24-7B596378EAB2} - - {2D8D0E19-E676-83EB-38D9-F73500DD6B79} - {B3141847-8F13-F67D-45B2-E3ECF6E09088} - - {9E586194-C056-101C-5311-F2AF5191AC80} - {151B49D8-6102-F802-1C07-D59931BC0574} + + {2D8D0E19-E676-83EB-38D9-F73500DD6B79} + + + {9E586194-C056-101C-5311-F2AF5191AC80} + {72A923E2-C729-DB92-D7BF-A9D4AFAE5896} - - {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} - {7F11E7D2-54C0-2A36-5F15-BEC0A5374A08} {EE985DEA-CD83-8132-7219-542BB1DAD560} + + {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} + {8B4D1BAA-6DB4-CAEC-A0FA-271F354D5C61} @@ -541,6 +541,9 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -556,15 +559,6 @@ Juce Modules\juce_audio_devices\midi_io - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\audio_cd - Juce Modules\juce_audio_devices\native @@ -619,26 +613,11 @@ Juce Modules\juce_audio_devices\native - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_formats\codecs @@ -667,27 +646,30 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - Juce Modules\juce_audio_processors\format @@ -706,6 +688,24 @@ Juce Modules\juce_audio_processors\format_types + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + Juce Modules\juce_audio_processors\scanning @@ -739,9 +739,6 @@ Juce Modules\juce_audio_utils\gui - - Juce Modules\juce_audio_utils\players - Juce Modules\juce_audio_utils\native @@ -757,48 +754,12 @@ Juce Modules\juce_audio_utils\native + + Juce Modules\juce_audio_utils\players + Juce Modules\juce_box2d\utils - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\memory - Juce Modules\juce_core\containers @@ -814,33 +775,6 @@ Juce Modules\juce_core\containers - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - Juce Modules\juce_core\files @@ -865,41 +799,11 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -907,32 +811,17 @@ Juce Modules\juce_core\logging - - Juce Modules\juce_core\system + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc @@ -1012,6 +901,117 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + Juce Modules\juce_cryptography\encryption @@ -1030,6 +1030,15 @@ Juce Modules\juce_cryptography\hashing + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -1039,33 +1048,6 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - Juce Modules\juce_events\broadcasters @@ -1084,6 +1066,18 @@ Juce Modules\juce_events\interprocess + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + Juce Modules\juce_events\native @@ -1099,6 +1093,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_graphics\colour @@ -1120,44 +1120,11 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\effects Juce Modules\juce_graphics\fonts @@ -1177,11 +1144,41 @@ Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -1213,6 +1210,51 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -1225,6 +1267,153 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -1246,20 +1435,92 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -1327,267 +1588,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_extra\code_editor @@ -1717,49 +1717,49 @@ Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code @@ -1887,6 +1887,12 @@ Juce Modules\juce_audio_basics + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -1908,48 +1914,18 @@ Juce Modules\juce_audio_devices\midi_io + + Juce Modules\juce_audio_devices\native + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\native - Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - Juce Modules\juce_audio_formats\codecs @@ -1977,12 +1953,63 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + Juce Modules\juce_audio_processors\processors @@ -2013,33 +2040,6 @@ Juce Modules\juce_audio_processors\processors - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - Juce Modules\juce_audio_processors\scanning @@ -2109,50 +2109,92 @@ Juce Modules\juce_box2d - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -2214,53 +2256,134 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text Juce Modules\juce_core\threads @@ -2319,92 +2442,8 @@ Juce Modules\juce_core\time - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -2412,12 +2451,6 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - Juce Modules\juce_core\zip @@ -2427,39 +2460,6 @@ Juce Modules\juce_core\zip - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - Juce Modules\juce_core @@ -2484,6 +2484,18 @@ Juce Modules\juce_cryptography + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -2493,21 +2505,33 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - Juce Modules\juce_data_structures + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + Juce Modules\juce_events\messages @@ -2535,36 +2559,6 @@ Juce Modules\juce_events\messages - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - Juce Modules\juce_events\native @@ -2574,6 +2568,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_events @@ -2604,17 +2604,32 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -2646,38 +2661,17 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -2688,9 +2682,60 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + Juce Modules\juce_graphics + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -2706,6 +2751,171 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -2745,29 +2955,50 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -2841,237 +3072,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_basics @@ -3147,6 +3147,39 @@ Juce Modules\juce_gui_extra + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + Juce Modules\juce_opengl\opengl @@ -3174,54 +3207,21 @@ Juce Modules\juce_opengl\opengl - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - Juce Modules\juce_opengl\utils - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - Juce Modules\juce_opengl + + Juce Modules\juce_video\capture + Juce Modules\juce_video\playback Juce Modules\juce_video\playback - - Juce Modules\juce_video\capture - Juce Modules\juce_video @@ -3263,54 +3263,9 @@ JuceDemo\Source\Resources - - Juce Modules\juce_audio_basics - - - Juce Modules\juce_audio_devices - - - Juce Modules\juce_audio_formats - - - Juce Modules\juce_audio_processors - - - Juce Modules\juce_audio_utils - Juce Modules\juce_box2d\box2d - - Juce Modules\juce_box2d - - - Juce Modules\juce_core - - - Juce Modules\juce_cryptography - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_gui_extra - - - Juce Modules\juce_opengl - - - Juce Modules\juce_video - Juce Library Code diff --git a/examples/Demo/Builds/VisualStudio2010/icon.ico b/examples/Demo/Builds/VisualStudio2010/icon.ico index 70bbdd511703aa10a8daa471f514680ae6f9edb2..09d32ad703e414097a17e969e7d765325e912c77 100644 GIT binary patch delta 18585 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 delta 18605 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 true + + true + true @@ -271,15 +274,6 @@ true - - true - - - true - - - true - true @@ -328,25 +322,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -376,9 +355,45 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + true + + true + + + true + + + true + + + true + + + true + true @@ -397,21 +412,6 @@ true - - true - - - true - - - true - - - true - - - true - true @@ -445,9 +445,6 @@ true - - true - true @@ -457,48 +454,12 @@ true + + true + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -514,33 +475,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -565,40 +499,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -607,31 +511,16 @@ true - + true - + true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -697,6 +586,117 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -715,6 +715,15 @@ true + + true + + + true + + + true + true @@ -724,33 +733,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -769,6 +751,18 @@ true + + true + + + true + + + true + + + true + true @@ -778,6 +772,12 @@ true + + true + + + true + true @@ -799,43 +799,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -856,10 +823,40 @@ true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -886,6 +883,51 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -898,6 +940,153 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -919,19 +1108,70 @@ true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -1000,246 +1240,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -1349,21 +1349,21 @@ true - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + @@ -1407,6 +1407,8 @@ + + @@ -1414,20 +1416,10 @@ + - - - - - - - - - - - @@ -1437,8 +1429,25 @@ + + + + + + + + + + + + + + + + + @@ -1449,15 +1458,6 @@ - - - - - - - - - @@ -1481,21 +1481,35 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1516,22 +1530,49 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1551,53 +1592,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - @@ -1606,14 +1606,22 @@ + + + + - - - - + + + + + + + + @@ -1623,19 +1631,11 @@ - - - - - - - - - - + + @@ -1646,10 +1646,15 @@ - - - - + + + + + + + + + @@ -1660,26 +1665,91 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1693,14 +1763,21 @@ - - - - - - - - + + + + + + + + + + + + + + + @@ -1725,83 +1802,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1827,6 +1827,17 @@ + + + + + + + + + + + @@ -1836,22 +1847,11 @@ - - - - - - - - - - - + - @@ -1867,22 +1867,7 @@ - - - - - - - - - - - - - - - diff --git a/examples/Demo/Builds/VisualStudio2012/JuceDemo.vcxproj.filters b/examples/Demo/Builds/VisualStudio2012/JuceDemo.vcxproj.filters index 8cda383d54..4af3423290 100644 --- a/examples/Demo/Builds/VisualStudio2012/JuceDemo.vcxproj.filters +++ b/examples/Demo/Builds/VisualStudio2012/JuceDemo.vcxproj.filters @@ -41,45 +41,45 @@ {CACD7B50-4DB3-76AF-A6E8-90DF94F8F594} + + {45C2CE26-EC4B-BA52-58F3-297C408E1483} + {9D270B31-2425-8FDB-84A4-6A2288FF5B2F} {0F766DD4-A277-CB86-5647-42498C8B41E1} - - {D64942B4-6984-3623-3347-45D472AE1C61} - - - {45C2CE26-EC4B-BA52-58F3-297C408E1483} - {01603E05-423B-5FC3-1BEE-E15ED33B5688} + + {D64942B4-6984-3623-3347-45D472AE1C61} + {65CB28F8-0422-A8F3-9A17-959E12A1F8E2} - - {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} - {0CD9E281-DDD0-91EC-6F77-EA9D9D5E0E1A} + + {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} + {40C5CA7C-AEBB-05B1-11CE-AE41D87B5CCB} {0B0E7392-324B-088C-FBEB-5FE999D61782} - - {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} - {20254EFE-6CBD-31A7-2119-92B1E0E0E311} {70796D73-6D30-8A1B-4732-7C021E47C05A} + + {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} + {EB8DD942-E2CB-869F-D381-E02A65BA790B} @@ -92,12 +92,12 @@ {8167E753-09C7-5D1C-EF2B-32D297557443} - - {AEDCB7F7-7A36-5392-8E9A-715F5BDE35CB} - {B48C883A-8483-AF6D-808C-1D9A749048D8} + + {AEDCB7F7-7A36-5392-8E9A-715F5BDE35CB} + {B2912FF0-8ED6-7123-C74F-BA4CF0F436AB} @@ -110,8 +110,17 @@ {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} - - {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + + {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + + {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + + {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} {476C69CE-0B67-6B85-E888-45D91E37A29E} @@ -119,17 +128,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} - - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -137,29 +140,26 @@ {91929C6F-7902-B87D-5260-2F6CBF8ACD93} - - {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} - {4634FFAE-9586-A970-364C-4FDDA635F99F} - - {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} - - {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - {F03654BC-34D8-F975-BEA3-750CC2783D23} + + {C9F6D785-BF78-5AA1-B479-111C65397864} {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} - - {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} - - {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + {F03654BC-34D8-F975-BEA3-750CC2783D23} {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} @@ -173,33 +173,33 @@ {928D8FCC-5E00-174B-6538-93E8D75AB396} - - {1988E68A-A964-64CA-0E0C-26FF9BC5176C} + + {358AEA11-3F96-36AE-7B32-71373B5C5396} {3DF036EA-3B80-553B-2494-3AAC835CAE75} - - {358AEA11-3F96-36AE-7B32-71373B5C5396} + + {1988E68A-A964-64CA-0E0C-26FF9BC5176C} {F2A38F45-6E55-E147-2E52-64A89FDD9D59} - - {6172822C-01A5-E824-12DA-FA43FA934D35} - - - {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} - {B098BC87-3298-7E6B-12DC-D26C09CDCAED} {6322B88F-984A-C3CD-6263-38D7AA49B6EC} + + {6172822C-01A5-E824-12DA-FA43FA934D35} + {73C1E759-AD90-59A3-942E-2D10FAA29107} + + {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} + {EE1AE8C3-0908-8F53-A4E5-D930C7C97C26} @@ -209,81 +209,81 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} - - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - - {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {E37D25CD-4350-4614-055B-7ABC55E67895} {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {C1A1A236-AB01-173E-96C3-0706BFF93B1E} + + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + + {413F481F-075C-2958-115C-D8268682FCB7} {FFC6E1CC-C772-75E6-5087-FB5D4E016799} + + {1182303F-ECA3-166D-AC0C-92C5E762CB93} + {8E43579F-C185-266D-DD67-F8B95BD80F2F} + + {61712B09-5783-ADFA-2001-5A0C3D7764EB} + + + {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + + {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} + {2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D} - - {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + {5A0AA36E-3957-E413-14C6-31CBE15271DF} + + + {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} {A92719C7-70BE-57C4-CE9E-A9BC9DFEB757} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} + + + {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} + + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} + + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + + {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} + + + {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} + {75F1F352-251A-75E0-D941-8431588F5C1E} {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} - - {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} - - - {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} - - - {5A0AA36E-3957-E413-14C6-31CBE15271DF} - - - {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} - - - {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} - - - {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} - - - {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} - - - {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - - {61712B09-5783-ADFA-2001-5A0C3D7764EB} - - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} - {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -305,30 +305,30 @@ {639E16C5-DA8B-ADBA-6E24-7B596378EAB2} - - {2D8D0E19-E676-83EB-38D9-F73500DD6B79} - {B3141847-8F13-F67D-45B2-E3ECF6E09088} - - {9E586194-C056-101C-5311-F2AF5191AC80} - {151B49D8-6102-F802-1C07-D59931BC0574} + + {2D8D0E19-E676-83EB-38D9-F73500DD6B79} + + + {9E586194-C056-101C-5311-F2AF5191AC80} + {72A923E2-C729-DB92-D7BF-A9D4AFAE5896} - - {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} - {7F11E7D2-54C0-2A36-5F15-BEC0A5374A08} {EE985DEA-CD83-8132-7219-542BB1DAD560} + + {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} + {8B4D1BAA-6DB4-CAEC-A0FA-271F354D5C61} @@ -541,6 +541,9 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -556,15 +559,6 @@ Juce Modules\juce_audio_devices\midi_io - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\audio_cd - Juce Modules\juce_audio_devices\native @@ -619,26 +613,11 @@ Juce Modules\juce_audio_devices\native - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_formats\codecs @@ -667,27 +646,30 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - Juce Modules\juce_audio_processors\format @@ -706,6 +688,24 @@ Juce Modules\juce_audio_processors\format_types + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + Juce Modules\juce_audio_processors\scanning @@ -739,9 +739,6 @@ Juce Modules\juce_audio_utils\gui - - Juce Modules\juce_audio_utils\players - Juce Modules\juce_audio_utils\native @@ -757,48 +754,12 @@ Juce Modules\juce_audio_utils\native + + Juce Modules\juce_audio_utils\players + Juce Modules\juce_box2d\utils - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\memory - Juce Modules\juce_core\containers @@ -814,33 +775,6 @@ Juce Modules\juce_core\containers - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - Juce Modules\juce_core\files @@ -865,41 +799,11 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -907,32 +811,17 @@ Juce Modules\juce_core\logging - - Juce Modules\juce_core\system + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc @@ -1012,6 +901,117 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + Juce Modules\juce_cryptography\encryption @@ -1030,6 +1030,15 @@ Juce Modules\juce_cryptography\hashing + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -1039,33 +1048,6 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - Juce Modules\juce_events\broadcasters @@ -1084,6 +1066,18 @@ Juce Modules\juce_events\interprocess + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + Juce Modules\juce_events\native @@ -1099,6 +1093,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_graphics\colour @@ -1120,44 +1120,11 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\effects Juce Modules\juce_graphics\fonts @@ -1177,11 +1144,41 @@ Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -1213,6 +1210,51 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -1225,6 +1267,153 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -1246,20 +1435,92 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -1327,267 +1588,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_extra\code_editor @@ -1717,49 +1717,49 @@ Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code @@ -1887,6 +1887,12 @@ Juce Modules\juce_audio_basics + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -1908,48 +1914,18 @@ Juce Modules\juce_audio_devices\midi_io + + Juce Modules\juce_audio_devices\native + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\native - Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - Juce Modules\juce_audio_formats\codecs @@ -1977,12 +1953,63 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + Juce Modules\juce_audio_processors\processors @@ -2013,33 +2040,6 @@ Juce Modules\juce_audio_processors\processors - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - Juce Modules\juce_audio_processors\scanning @@ -2109,50 +2109,92 @@ Juce Modules\juce_box2d - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -2214,53 +2256,134 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text Juce Modules\juce_core\threads @@ -2319,92 +2442,8 @@ Juce Modules\juce_core\time - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -2412,12 +2451,6 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - Juce Modules\juce_core\zip @@ -2427,39 +2460,6 @@ Juce Modules\juce_core\zip - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - Juce Modules\juce_core @@ -2484,6 +2484,18 @@ Juce Modules\juce_cryptography + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -2493,21 +2505,33 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - Juce Modules\juce_data_structures + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + Juce Modules\juce_events\messages @@ -2535,36 +2559,6 @@ Juce Modules\juce_events\messages - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - Juce Modules\juce_events\native @@ -2574,6 +2568,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_events @@ -2604,17 +2604,32 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -2646,38 +2661,17 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -2688,9 +2682,60 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + Juce Modules\juce_graphics + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -2706,6 +2751,171 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -2745,29 +2955,50 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -2841,237 +3072,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_basics @@ -3147,6 +3147,39 @@ Juce Modules\juce_gui_extra + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + Juce Modules\juce_opengl\opengl @@ -3174,54 +3207,21 @@ Juce Modules\juce_opengl\opengl - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - Juce Modules\juce_opengl\utils - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - Juce Modules\juce_opengl + + Juce Modules\juce_video\capture + Juce Modules\juce_video\playback Juce Modules\juce_video\playback - - Juce Modules\juce_video\capture - Juce Modules\juce_video @@ -3263,54 +3263,9 @@ JuceDemo\Source\Resources - - Juce Modules\juce_audio_basics - - - Juce Modules\juce_audio_devices - - - Juce Modules\juce_audio_formats - - - Juce Modules\juce_audio_processors - - - Juce Modules\juce_audio_utils - Juce Modules\juce_box2d\box2d - - Juce Modules\juce_box2d - - - Juce Modules\juce_core - - - Juce Modules\juce_cryptography - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_gui_extra - - - Juce Modules\juce_opengl - - - Juce Modules\juce_video - Juce Library Code diff --git a/examples/Demo/Builds/VisualStudio2012/icon.ico b/examples/Demo/Builds/VisualStudio2012/icon.ico index 70bbdd511703aa10a8daa471f514680ae6f9edb2..09d32ad703e414097a17e969e7d765325e912c77 100644 GIT binary patch delta 18585 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 delta 18605 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 true + + true + true @@ -271,15 +274,6 @@ true - - true - - - true - - - true - true @@ -328,25 +322,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -376,9 +355,45 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + true + + true + + + true + + + true + + + true + + + true + true @@ -397,21 +412,6 @@ true - - true - - - true - - - true - - - true - - - true - true @@ -445,9 +445,6 @@ true - - true - true @@ -457,48 +454,12 @@ true + + true + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -514,33 +475,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -565,40 +499,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -607,31 +511,16 @@ true - + true - + true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -697,6 +586,117 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -715,6 +715,15 @@ true + + true + + + true + + + true + true @@ -724,33 +733,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -769,6 +751,18 @@ true + + true + + + true + + + true + + + true + true @@ -778,6 +772,12 @@ true + + true + + + true + true @@ -799,43 +799,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -856,10 +823,40 @@ true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -886,6 +883,51 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -898,6 +940,153 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -919,19 +1108,70 @@ true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -1000,246 +1240,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -1349,21 +1349,21 @@ true - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + @@ -1407,6 +1407,8 @@ + + @@ -1414,20 +1416,10 @@ + - - - - - - - - - - - @@ -1437,8 +1429,25 @@ + + + + + + + + + + + + + + + + + @@ -1449,15 +1458,6 @@ - - - - - - - - - @@ -1481,21 +1481,35 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1516,22 +1530,49 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1551,53 +1592,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - @@ -1606,14 +1606,22 @@ + + + + - - - - + + + + + + + + @@ -1623,19 +1631,11 @@ - - - - - - - - - - + + @@ -1646,10 +1646,15 @@ - - - - + + + + + + + + + @@ -1660,26 +1665,91 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1693,14 +1763,21 @@ - - - - - - - - + + + + + + + + + + + + + + + @@ -1725,83 +1802,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1827,6 +1827,17 @@ + + + + + + + + + + + @@ -1836,22 +1847,11 @@ - - - - - - - - - - - + - @@ -1867,22 +1867,7 @@ - - - - - - - - - - - - - - - diff --git a/examples/Demo/Builds/VisualStudio2013/JuceDemo.vcxproj.filters b/examples/Demo/Builds/VisualStudio2013/JuceDemo.vcxproj.filters index b770e07fca..56114746dc 100644 --- a/examples/Demo/Builds/VisualStudio2013/JuceDemo.vcxproj.filters +++ b/examples/Demo/Builds/VisualStudio2013/JuceDemo.vcxproj.filters @@ -41,45 +41,45 @@ {CACD7B50-4DB3-76AF-A6E8-90DF94F8F594} + + {45C2CE26-EC4B-BA52-58F3-297C408E1483} + {9D270B31-2425-8FDB-84A4-6A2288FF5B2F} {0F766DD4-A277-CB86-5647-42498C8B41E1} - - {D64942B4-6984-3623-3347-45D472AE1C61} - - - {45C2CE26-EC4B-BA52-58F3-297C408E1483} - {01603E05-423B-5FC3-1BEE-E15ED33B5688} + + {D64942B4-6984-3623-3347-45D472AE1C61} + {65CB28F8-0422-A8F3-9A17-959E12A1F8E2} - - {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} - {0CD9E281-DDD0-91EC-6F77-EA9D9D5E0E1A} + + {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} + {40C5CA7C-AEBB-05B1-11CE-AE41D87B5CCB} {0B0E7392-324B-088C-FBEB-5FE999D61782} - - {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} - {20254EFE-6CBD-31A7-2119-92B1E0E0E311} {70796D73-6D30-8A1B-4732-7C021E47C05A} + + {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} + {EB8DD942-E2CB-869F-D381-E02A65BA790B} @@ -92,12 +92,12 @@ {8167E753-09C7-5D1C-EF2B-32D297557443} - - {AEDCB7F7-7A36-5392-8E9A-715F5BDE35CB} - {B48C883A-8483-AF6D-808C-1D9A749048D8} + + {AEDCB7F7-7A36-5392-8E9A-715F5BDE35CB} + {B2912FF0-8ED6-7123-C74F-BA4CF0F436AB} @@ -110,8 +110,17 @@ {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} - - {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + + {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + + {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + + {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} {476C69CE-0B67-6B85-E888-45D91E37A29E} @@ -119,17 +128,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} - - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -137,29 +140,26 @@ {91929C6F-7902-B87D-5260-2F6CBF8ACD93} - - {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} - {4634FFAE-9586-A970-364C-4FDDA635F99F} - - {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} - - {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - {F03654BC-34D8-F975-BEA3-750CC2783D23} + + {C9F6D785-BF78-5AA1-B479-111C65397864} {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} - - {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} - - {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + {F03654BC-34D8-F975-BEA3-750CC2783D23} {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} @@ -173,33 +173,33 @@ {928D8FCC-5E00-174B-6538-93E8D75AB396} - - {1988E68A-A964-64CA-0E0C-26FF9BC5176C} + + {358AEA11-3F96-36AE-7B32-71373B5C5396} {3DF036EA-3B80-553B-2494-3AAC835CAE75} - - {358AEA11-3F96-36AE-7B32-71373B5C5396} + + {1988E68A-A964-64CA-0E0C-26FF9BC5176C} {F2A38F45-6E55-E147-2E52-64A89FDD9D59} - - {6172822C-01A5-E824-12DA-FA43FA934D35} - - - {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} - {B098BC87-3298-7E6B-12DC-D26C09CDCAED} {6322B88F-984A-C3CD-6263-38D7AA49B6EC} + + {6172822C-01A5-E824-12DA-FA43FA934D35} + {73C1E759-AD90-59A3-942E-2D10FAA29107} + + {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} + {EE1AE8C3-0908-8F53-A4E5-D930C7C97C26} @@ -209,81 +209,81 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} - - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - - {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {E37D25CD-4350-4614-055B-7ABC55E67895} {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {C1A1A236-AB01-173E-96C3-0706BFF93B1E} + + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + + {413F481F-075C-2958-115C-D8268682FCB7} {FFC6E1CC-C772-75E6-5087-FB5D4E016799} + + {1182303F-ECA3-166D-AC0C-92C5E762CB93} + {8E43579F-C185-266D-DD67-F8B95BD80F2F} + + {61712B09-5783-ADFA-2001-5A0C3D7764EB} + + + {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + + {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} + {2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D} - - {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + {5A0AA36E-3957-E413-14C6-31CBE15271DF} + + + {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} {A92719C7-70BE-57C4-CE9E-A9BC9DFEB757} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} + + + {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} + + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} + + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + + {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} + + + {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} + {75F1F352-251A-75E0-D941-8431588F5C1E} {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} - - {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} - - - {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} - - - {5A0AA36E-3957-E413-14C6-31CBE15271DF} - - - {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} - - - {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} - - - {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} - - - {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} - - - {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - - {61712B09-5783-ADFA-2001-5A0C3D7764EB} - - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} - {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -305,30 +305,30 @@ {639E16C5-DA8B-ADBA-6E24-7B596378EAB2} - - {2D8D0E19-E676-83EB-38D9-F73500DD6B79} - {B3141847-8F13-F67D-45B2-E3ECF6E09088} - - {9E586194-C056-101C-5311-F2AF5191AC80} - {151B49D8-6102-F802-1C07-D59931BC0574} + + {2D8D0E19-E676-83EB-38D9-F73500DD6B79} + + + {9E586194-C056-101C-5311-F2AF5191AC80} + {72A923E2-C729-DB92-D7BF-A9D4AFAE5896} - - {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} - {7F11E7D2-54C0-2A36-5F15-BEC0A5374A08} {EE985DEA-CD83-8132-7219-542BB1DAD560} + + {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} + {8B4D1BAA-6DB4-CAEC-A0FA-271F354D5C61} @@ -541,6 +541,9 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -556,15 +559,6 @@ Juce Modules\juce_audio_devices\midi_io - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\audio_cd - Juce Modules\juce_audio_devices\native @@ -619,26 +613,11 @@ Juce Modules\juce_audio_devices\native - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_formats\codecs @@ -667,27 +646,30 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - Juce Modules\juce_audio_processors\format @@ -706,6 +688,24 @@ Juce Modules\juce_audio_processors\format_types + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + Juce Modules\juce_audio_processors\scanning @@ -739,9 +739,6 @@ Juce Modules\juce_audio_utils\gui - - Juce Modules\juce_audio_utils\players - Juce Modules\juce_audio_utils\native @@ -757,48 +754,12 @@ Juce Modules\juce_audio_utils\native + + Juce Modules\juce_audio_utils\players + Juce Modules\juce_box2d\utils - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\memory - Juce Modules\juce_core\containers @@ -814,33 +775,6 @@ Juce Modules\juce_core\containers - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - Juce Modules\juce_core\files @@ -865,41 +799,11 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -907,32 +811,17 @@ Juce Modules\juce_core\logging - - Juce Modules\juce_core\system + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc @@ -1012,6 +901,117 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + Juce Modules\juce_cryptography\encryption @@ -1030,6 +1030,15 @@ Juce Modules\juce_cryptography\hashing + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -1039,33 +1048,6 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - Juce Modules\juce_events\broadcasters @@ -1084,6 +1066,18 @@ Juce Modules\juce_events\interprocess + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + Juce Modules\juce_events\native @@ -1099,6 +1093,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_graphics\colour @@ -1120,44 +1120,11 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\effects Juce Modules\juce_graphics\fonts @@ -1177,11 +1144,41 @@ Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -1213,6 +1210,51 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -1225,6 +1267,153 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -1246,20 +1435,92 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -1327,267 +1588,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_extra\code_editor @@ -1717,49 +1717,49 @@ Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code @@ -1887,6 +1887,12 @@ Juce Modules\juce_audio_basics + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -1908,48 +1914,18 @@ Juce Modules\juce_audio_devices\midi_io + + Juce Modules\juce_audio_devices\native + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\native - Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - Juce Modules\juce_audio_formats\codecs @@ -1977,12 +1953,63 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + Juce Modules\juce_audio_processors\processors @@ -2013,33 +2040,6 @@ Juce Modules\juce_audio_processors\processors - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - Juce Modules\juce_audio_processors\scanning @@ -2109,50 +2109,92 @@ Juce Modules\juce_box2d - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -2214,53 +2256,134 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text Juce Modules\juce_core\threads @@ -2319,92 +2442,8 @@ Juce Modules\juce_core\time - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -2412,12 +2451,6 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - Juce Modules\juce_core\zip @@ -2427,39 +2460,6 @@ Juce Modules\juce_core\zip - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - Juce Modules\juce_core @@ -2484,6 +2484,18 @@ Juce Modules\juce_cryptography + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -2493,21 +2505,33 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - Juce Modules\juce_data_structures + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + Juce Modules\juce_events\messages @@ -2535,36 +2559,6 @@ Juce Modules\juce_events\messages - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - Juce Modules\juce_events\native @@ -2574,6 +2568,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_events @@ -2604,17 +2604,32 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -2646,38 +2661,17 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -2688,9 +2682,60 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + Juce Modules\juce_graphics + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -2706,6 +2751,171 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -2745,29 +2955,50 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -2841,237 +3072,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_basics @@ -3147,6 +3147,39 @@ Juce Modules\juce_gui_extra + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + Juce Modules\juce_opengl\opengl @@ -3174,54 +3207,21 @@ Juce Modules\juce_opengl\opengl - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - Juce Modules\juce_opengl\utils - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - Juce Modules\juce_opengl + + Juce Modules\juce_video\capture + Juce Modules\juce_video\playback Juce Modules\juce_video\playback - - Juce Modules\juce_video\capture - Juce Modules\juce_video @@ -3263,54 +3263,9 @@ JuceDemo\Source\Resources - - Juce Modules\juce_audio_basics - - - Juce Modules\juce_audio_devices - - - Juce Modules\juce_audio_formats - - - Juce Modules\juce_audio_processors - - - Juce Modules\juce_audio_utils - Juce Modules\juce_box2d\box2d - - Juce Modules\juce_box2d - - - Juce Modules\juce_core - - - Juce Modules\juce_cryptography - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_gui_extra - - - Juce Modules\juce_opengl - - - Juce Modules\juce_video - Juce Library Code diff --git a/examples/Demo/Builds/VisualStudio2013/icon.ico b/examples/Demo/Builds/VisualStudio2013/icon.ico index 70bbdd511703aa10a8daa471f514680ae6f9edb2..09d32ad703e414097a17e969e7d765325e912c77 100644 GIT binary patch delta 18585 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 delta 18605 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 true + + true + true @@ -271,15 +274,6 @@ true - - true - - - true - - - true - true @@ -328,25 +322,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -376,9 +355,45 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + true + + true + + + true + + + true + + + true + + + true + true @@ -397,21 +412,6 @@ true - - true - - - true - - - true - - - true - - - true - true @@ -445,9 +445,6 @@ true - - true - true @@ -457,48 +454,12 @@ true + + true + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -514,33 +475,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -565,40 +499,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -607,31 +511,16 @@ true - + true - + true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -697,6 +586,117 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -715,6 +715,15 @@ true + + true + + + true + + + true + true @@ -724,33 +733,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -769,6 +751,18 @@ true + + true + + + true + + + true + + + true + true @@ -778,6 +772,12 @@ true + + true + + + true + true @@ -799,43 +799,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -856,10 +823,40 @@ true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -886,6 +883,51 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -898,6 +940,153 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -919,19 +1108,70 @@ true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -1000,246 +1240,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -1349,21 +1349,21 @@ true - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + @@ -1407,6 +1407,8 @@ + + @@ -1414,20 +1416,10 @@ + - - - - - - - - - - - @@ -1437,8 +1429,25 @@ + + + + + + + + + + + + + + + + + @@ -1449,15 +1458,6 @@ - - - - - - - - - @@ -1481,21 +1481,35 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1516,22 +1530,49 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1551,53 +1592,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - @@ -1606,14 +1606,22 @@ + + + + - - - - + + + + + + + + @@ -1623,19 +1631,11 @@ - - - - - - - - - - + + @@ -1646,10 +1646,15 @@ - - - - + + + + + + + + + @@ -1660,26 +1665,91 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1693,14 +1763,21 @@ - - - - - - - - + + + + + + + + + + + + + + + @@ -1725,83 +1802,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1827,6 +1827,17 @@ + + + + + + + + + + + @@ -1836,22 +1847,11 @@ - - - - - - - - - - - + - @@ -1867,22 +1867,7 @@ - - - - - - - - - - - - - - - diff --git a/examples/Demo/Builds/VisualStudio2015/JuceDemo.vcxproj.filters b/examples/Demo/Builds/VisualStudio2015/JuceDemo.vcxproj.filters index e78375028c..679f8492ec 100644 --- a/examples/Demo/Builds/VisualStudio2015/JuceDemo.vcxproj.filters +++ b/examples/Demo/Builds/VisualStudio2015/JuceDemo.vcxproj.filters @@ -41,45 +41,45 @@ {CACD7B50-4DB3-76AF-A6E8-90DF94F8F594} + + {45C2CE26-EC4B-BA52-58F3-297C408E1483} + {9D270B31-2425-8FDB-84A4-6A2288FF5B2F} {0F766DD4-A277-CB86-5647-42498C8B41E1} - - {D64942B4-6984-3623-3347-45D472AE1C61} - - - {45C2CE26-EC4B-BA52-58F3-297C408E1483} - {01603E05-423B-5FC3-1BEE-E15ED33B5688} + + {D64942B4-6984-3623-3347-45D472AE1C61} + {65CB28F8-0422-A8F3-9A17-959E12A1F8E2} - - {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} - {0CD9E281-DDD0-91EC-6F77-EA9D9D5E0E1A} + + {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} + {40C5CA7C-AEBB-05B1-11CE-AE41D87B5CCB} {0B0E7392-324B-088C-FBEB-5FE999D61782} - - {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} - {20254EFE-6CBD-31A7-2119-92B1E0E0E311} {70796D73-6D30-8A1B-4732-7C021E47C05A} + + {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} + {EB8DD942-E2CB-869F-D381-E02A65BA790B} @@ -92,12 +92,12 @@ {8167E753-09C7-5D1C-EF2B-32D297557443} - - {AEDCB7F7-7A36-5392-8E9A-715F5BDE35CB} - {B48C883A-8483-AF6D-808C-1D9A749048D8} + + {AEDCB7F7-7A36-5392-8E9A-715F5BDE35CB} + {B2912FF0-8ED6-7123-C74F-BA4CF0F436AB} @@ -110,8 +110,17 @@ {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} - - {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + + {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + + {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + + {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} {476C69CE-0B67-6B85-E888-45D91E37A29E} @@ -119,17 +128,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} - - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -137,29 +140,26 @@ {91929C6F-7902-B87D-5260-2F6CBF8ACD93} - - {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} - {4634FFAE-9586-A970-364C-4FDDA635F99F} - - {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} - - {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - {F03654BC-34D8-F975-BEA3-750CC2783D23} + + {C9F6D785-BF78-5AA1-B479-111C65397864} {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} - - {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} - - {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + {F03654BC-34D8-F975-BEA3-750CC2783D23} {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} @@ -173,33 +173,33 @@ {928D8FCC-5E00-174B-6538-93E8D75AB396} - - {1988E68A-A964-64CA-0E0C-26FF9BC5176C} + + {358AEA11-3F96-36AE-7B32-71373B5C5396} {3DF036EA-3B80-553B-2494-3AAC835CAE75} - - {358AEA11-3F96-36AE-7B32-71373B5C5396} + + {1988E68A-A964-64CA-0E0C-26FF9BC5176C} {F2A38F45-6E55-E147-2E52-64A89FDD9D59} - - {6172822C-01A5-E824-12DA-FA43FA934D35} - - - {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} - {B098BC87-3298-7E6B-12DC-D26C09CDCAED} {6322B88F-984A-C3CD-6263-38D7AA49B6EC} + + {6172822C-01A5-E824-12DA-FA43FA934D35} + {73C1E759-AD90-59A3-942E-2D10FAA29107} + + {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} + {EE1AE8C3-0908-8F53-A4E5-D930C7C97C26} @@ -209,81 +209,81 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} - - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - - {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {E37D25CD-4350-4614-055B-7ABC55E67895} {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {C1A1A236-AB01-173E-96C3-0706BFF93B1E} + + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + + {413F481F-075C-2958-115C-D8268682FCB7} {FFC6E1CC-C772-75E6-5087-FB5D4E016799} + + {1182303F-ECA3-166D-AC0C-92C5E762CB93} + {8E43579F-C185-266D-DD67-F8B95BD80F2F} + + {61712B09-5783-ADFA-2001-5A0C3D7764EB} + + + {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + + {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} + {2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D} - - {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + {5A0AA36E-3957-E413-14C6-31CBE15271DF} + + + {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} {A92719C7-70BE-57C4-CE9E-A9BC9DFEB757} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} + + + {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} + + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} + + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + + {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} + + + {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} + {75F1F352-251A-75E0-D941-8431588F5C1E} {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} - - {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} - - - {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} - - - {5A0AA36E-3957-E413-14C6-31CBE15271DF} - - - {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} - - - {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} - - - {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} - - - {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} - - - {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - - {61712B09-5783-ADFA-2001-5A0C3D7764EB} - - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} - {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -305,30 +305,30 @@ {639E16C5-DA8B-ADBA-6E24-7B596378EAB2} - - {2D8D0E19-E676-83EB-38D9-F73500DD6B79} - {B3141847-8F13-F67D-45B2-E3ECF6E09088} - - {9E586194-C056-101C-5311-F2AF5191AC80} - {151B49D8-6102-F802-1C07-D59931BC0574} + + {2D8D0E19-E676-83EB-38D9-F73500DD6B79} + + + {9E586194-C056-101C-5311-F2AF5191AC80} + {72A923E2-C729-DB92-D7BF-A9D4AFAE5896} - - {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} - {7F11E7D2-54C0-2A36-5F15-BEC0A5374A08} {EE985DEA-CD83-8132-7219-542BB1DAD560} + + {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} + {8B4D1BAA-6DB4-CAEC-A0FA-271F354D5C61} @@ -541,6 +541,9 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -556,15 +559,6 @@ Juce Modules\juce_audio_devices\midi_io - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\audio_cd - Juce Modules\juce_audio_devices\native @@ -619,26 +613,11 @@ Juce Modules\juce_audio_devices\native - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_formats\codecs @@ -667,27 +646,30 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - Juce Modules\juce_audio_processors\format @@ -706,6 +688,24 @@ Juce Modules\juce_audio_processors\format_types + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + Juce Modules\juce_audio_processors\scanning @@ -739,9 +739,6 @@ Juce Modules\juce_audio_utils\gui - - Juce Modules\juce_audio_utils\players - Juce Modules\juce_audio_utils\native @@ -757,48 +754,12 @@ Juce Modules\juce_audio_utils\native + + Juce Modules\juce_audio_utils\players + Juce Modules\juce_box2d\utils - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\memory - Juce Modules\juce_core\containers @@ -814,33 +775,6 @@ Juce Modules\juce_core\containers - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - Juce Modules\juce_core\files @@ -865,41 +799,11 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -907,32 +811,17 @@ Juce Modules\juce_core\logging - - Juce Modules\juce_core\system + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc @@ -1012,6 +901,117 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + Juce Modules\juce_cryptography\encryption @@ -1030,6 +1030,15 @@ Juce Modules\juce_cryptography\hashing + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -1039,33 +1048,6 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - Juce Modules\juce_events\broadcasters @@ -1084,6 +1066,18 @@ Juce Modules\juce_events\interprocess + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + Juce Modules\juce_events\native @@ -1099,6 +1093,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_graphics\colour @@ -1120,44 +1120,11 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\effects Juce Modules\juce_graphics\fonts @@ -1177,11 +1144,41 @@ Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -1213,6 +1210,51 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -1225,6 +1267,153 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -1246,20 +1435,92 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -1327,267 +1588,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_extra\code_editor @@ -1717,49 +1717,49 @@ Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code @@ -1887,6 +1887,12 @@ Juce Modules\juce_audio_basics + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -1908,48 +1914,18 @@ Juce Modules\juce_audio_devices\midi_io + + Juce Modules\juce_audio_devices\native + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\native - Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - Juce Modules\juce_audio_formats\codecs @@ -1977,12 +1953,63 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + Juce Modules\juce_audio_processors\processors @@ -2013,33 +2040,6 @@ Juce Modules\juce_audio_processors\processors - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - Juce Modules\juce_audio_processors\scanning @@ -2109,50 +2109,92 @@ Juce Modules\juce_box2d - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -2214,53 +2256,134 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text Juce Modules\juce_core\threads @@ -2319,92 +2442,8 @@ Juce Modules\juce_core\time - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -2412,12 +2451,6 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - Juce Modules\juce_core\zip @@ -2427,39 +2460,6 @@ Juce Modules\juce_core\zip - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - Juce Modules\juce_core @@ -2484,6 +2484,18 @@ Juce Modules\juce_cryptography + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -2493,21 +2505,33 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - Juce Modules\juce_data_structures + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + Juce Modules\juce_events\messages @@ -2535,36 +2559,6 @@ Juce Modules\juce_events\messages - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - Juce Modules\juce_events\native @@ -2574,6 +2568,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_events @@ -2604,17 +2604,32 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -2646,38 +2661,17 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -2688,9 +2682,60 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + Juce Modules\juce_graphics + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -2706,6 +2751,171 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -2745,29 +2955,50 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -2841,237 +3072,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_basics @@ -3147,6 +3147,39 @@ Juce Modules\juce_gui_extra + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + Juce Modules\juce_opengl\opengl @@ -3174,54 +3207,21 @@ Juce Modules\juce_opengl\opengl - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - Juce Modules\juce_opengl\utils - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - Juce Modules\juce_opengl + + Juce Modules\juce_video\capture + Juce Modules\juce_video\playback Juce Modules\juce_video\playback - - Juce Modules\juce_video\capture - Juce Modules\juce_video @@ -3263,54 +3263,9 @@ JuceDemo\Source\Resources - - Juce Modules\juce_audio_basics - - - Juce Modules\juce_audio_devices - - - Juce Modules\juce_audio_formats - - - Juce Modules\juce_audio_processors - - - Juce Modules\juce_audio_utils - Juce Modules\juce_box2d\box2d - - Juce Modules\juce_box2d - - - Juce Modules\juce_core - - - Juce Modules\juce_cryptography - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_gui_extra - - - Juce Modules\juce_opengl - - - Juce Modules\juce_video - Juce Library Code diff --git a/examples/Demo/Builds/VisualStudio2015/icon.ico b/examples/Demo/Builds/VisualStudio2015/icon.ico index 70bbdd511703aa10a8daa471f514680ae6f9edb2..09d32ad703e414097a17e969e7d765325e912c77 100644 GIT binary patch delta 18585 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 delta 18605 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 literal 44836 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 z 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 diff --git a/examples/Demo/Builds/iOS/Info.plist b/examples/Demo/Builds/iOS/Info-App.plist similarity index 85% rename from examples/Demo/Builds/iOS/Info.plist rename to examples/Demo/Builds/iOS/Info-App.plist index 5c76b55c39..756003b2e9 100644 --- a/examples/Demo/Builds/iOS/Info.plist +++ b/examples/Demo/Builds/iOS/Info-App.plist @@ -13,6 +13,8 @@ $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName JuceDemo + CFBundleDisplayName + JuceDemo CFBundlePackageType APPL CFBundleSignature @@ -27,12 +29,15 @@ UIRequiresFullScreen + UIStatusBarHidden + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight + UIBackgroundModes + diff --git a/examples/Demo/Builds/iOS/JuceDemo.xcodeproj/project.pbxproj b/examples/Demo/Builds/iOS/JuceDemo.xcodeproj/project.pbxproj index a3ad9d685a..05db480e76 100644 --- a/examples/Demo/Builds/iOS/JuceDemo.xcodeproj/project.pbxproj +++ b/examples/Demo/Builds/iOS/JuceDemo.xcodeproj/project.pbxproj @@ -6,6 +6,7 @@ objectVersion = 46; objects = { + D469537A9CC9E7691868A9CB = {isa = PBXBuildFile; fileRef = 90B1185950EF7670F87EAA3F; }; E16EA7E816B50766F3AE4F88 = {isa = PBXBuildFile; fileRef = 8D7BDA5CDDCCD2F7BE67037A; }; BB7001D6FD448E6C0AAE4F30 = {isa = PBXBuildFile; fileRef = 8452076B5EAE822DD445458F; }; 5CA55A61B4ECF6BE53DB459A = {isa = PBXBuildFile; fileRef = ED6ADC3F084F9F3B6177B0C8; }; @@ -61,21 +62,21 @@ A1F184ABE297300A9E58BE94 = {isa = PBXBuildFile; fileRef = AD55906C5D8552E842C98EDC; }; 41F9A5936E54187528B817E9 = {isa = PBXBuildFile; fileRef = DD24BAA1E8104B6D3554A222; }; 7BEA73E4BB71CE05E542A6E8 = {isa = PBXBuildFile; fileRef = 8D70A7277DDD7B7974E9F178; }; - F11E1D83596BC7786FC69405 = {isa = PBXBuildFile; fileRef = 0349FEE5DA18067918536934; }; - 67EB8B44CAD18BA4AF577528 = {isa = PBXBuildFile; fileRef = 1E0453D8A9741695357567E3; }; - 445DE2471E5D168763AF149B = {isa = PBXBuildFile; fileRef = 40D267701C8FF75121454D79; }; - 795A76FB056FA340861A8C51 = {isa = PBXBuildFile; fileRef = 66C5D2F0D9B9ABA7F4A386E8; }; - E96BBEAA081BFD7B244B120C = {isa = PBXBuildFile; fileRef = 5B466272F3B821BE88BAC205; }; - FEDF1AA6CC2486AE0C1267C1 = {isa = PBXBuildFile; fileRef = ED6224ABC715AAB68661F4D4; }; - 47F2181361C8EB7D67C89169 = {isa = PBXBuildFile; fileRef = 4E49D12CA5C42721F532DCD6; }; - 7CA1524D7DE0C18C1F070C97 = {isa = PBXBuildFile; fileRef = B9D26C6C4CED62E6708B6865; }; - 64A5DA788C3DAC2F02BBDA0F = {isa = PBXBuildFile; fileRef = 63AC834818EFF45708101F9A; }; - 633491D8F37C87F3D426F0FE = {isa = PBXBuildFile; fileRef = 9079FD325609A4E67E44F3ED; }; - AC074F24DB676919ABF06188 = {isa = PBXBuildFile; fileRef = B27A7B237782F9E15E4BF8D5; }; - BFEF0063952A3A4DD92CB068 = {isa = PBXBuildFile; fileRef = 09D51FD6DE5DF526BB36B4D3; }; - D39B2783DD6DB671D8BAC0EE = {isa = PBXBuildFile; fileRef = 141036E097DAC47FB6F9CA80; }; - 7FDB32957337BE65186DA1A2 = {isa = PBXBuildFile; fileRef = 786CF1CA66289DB77845F8E9; }; - 52637F000CB62E13F2D98026 = {isa = PBXBuildFile; fileRef = 9895036432E9AE55EE16323F; }; + 27C45C30B401F78C4AD2018B = {isa = PBXBuildFile; fileRef = 2B789C58AFC77C0527BFBBB5; }; + 9802D89D43B4B7C1A209515B = {isa = PBXBuildFile; fileRef = 3BF94F93AE8A8E9AFA5FDEC7; }; + 7CC8EA9902367FB1085F23EB = {isa = PBXBuildFile; fileRef = C8DBA0F79A42D081DF328798; }; + FF9E62C79E4C341D9F24A35B = {isa = PBXBuildFile; fileRef = 0CD847B28F63BAE0AB55CE37; }; + EE7B3D7B003CF7F565899BB9 = {isa = PBXBuildFile; fileRef = 66C35D440440937001697D0B; }; + B524E9EC1808C486152A6B12 = {isa = PBXBuildFile; fileRef = A67AC004E3AD3129C578EFA0; }; + 83175ADAC9A8816E534FBB17 = {isa = PBXBuildFile; fileRef = 2403B8D4A16FB80D115BCD2A; }; + ED20291EC7E656726AC63259 = {isa = PBXBuildFile; fileRef = FC022E24D3A4C3E7C77E55BF; }; + 9BAE90BFAE7C71EDD5E6F56D = {isa = PBXBuildFile; fileRef = A7F846EF40A343C8E30D18DB; }; + 1CBE066CB2B6636D341C5C09 = {isa = PBXBuildFile; fileRef = 9FB3AFE9C376328C6D798741; }; + 37EB9CCA5EDCBF2248E70EE4 = {isa = PBXBuildFile; fileRef = A6EBDFEA86BEFF4682C46940; }; + 6F78472E107462A5DF946152 = {isa = PBXBuildFile; fileRef = E13D0BEFB46B4D8751EF6CAB; }; + D1E75C36990645CC17E58511 = {isa = PBXBuildFile; fileRef = 652A128D7DE1672618DB9521; }; + 74C9ED42D599D90581025EDF = {isa = PBXBuildFile; fileRef = EB93700805DBEBF58092DC3C; }; + 8A222F52E0807B8E934447BF = {isa = PBXBuildFile; fileRef = 16C0655B97D6D3B992D6733E; }; 005027EA86FFAEC19D634730 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorParameters.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp"; sourceTree = "SOURCE_ROOT"; }; 00869109FF554F8DB553761D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemTrayIconComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 00CC1BBABB9EEEBABF0D34ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; }; @@ -91,7 +92,6 @@ 02ABF8C447E1A47845F6027D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; }; 02F0BF69062E8D9583F13C83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; }; 033BE48C56ED09055876AFB9 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; - 0349FEE5DA18067918536934 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 034AA69C5B2B4882EEFAD046 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = "SOURCE_ROOT"; }; 03707F35E5DB4BC6F1FAC8D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; }; 03CB1183519203936C33025A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; @@ -122,7 +122,6 @@ 0876934F047839205147DB99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 088687334FC51A5136881578 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; 088BC49A72D9304769B2CBFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; }; - 09D51FD6DE5DF526BB36B4D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 09EB2AA32041290412E00D8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; }; 0A25E42359372E51ADB0123C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; }; 0AC78EC782815C8325A3AC8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; @@ -137,6 +136,7 @@ 0BD502F6196E1FE7D9888A1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; }; 0C6B7C49C4630C18F995C738 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; }; 0C73944DB76DB5DA61210A33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0CD847B28F63BAE0AB55CE37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../JuceLibraryCode/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; 0D17B181C82CDA7A6282A0C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; }; 0D979051139C2AC633BB4B9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; }; 0E11770AD343D8A0780C54BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; }; @@ -170,7 +170,6 @@ 1339BD00EBF554E995968B6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; }; 133BC5B880C7575FF3209D88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; 139D5B8276448B8BFDBA3F7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; }; - 141036E097DAC47FB6F9CA80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; 146EA869EC587DBE94B39198 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AudioPlaybackDemo.cpp; path = ../../Source/Demos/AudioPlaybackDemo.cpp; sourceTree = "SOURCE_ROOT"; }; 146FF5324D969925F258D045 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; 14933D0F3C598C38A113CE8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; }; @@ -185,10 +184,10 @@ 1697DAEA5B5B105AE1C48E12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ActiveXComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 1698E86A0E0E93DF1487E9FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Base64.h"; path = "../../../../modules/juce_core/text/juce_Base64.h"; sourceTree = "SOURCE_ROOT"; }; 169C561B93262F8B46BEB768 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colours.h"; path = "../../../../modules/juce_graphics/colour/juce_Colours.h"; sourceTree = "SOURCE_ROOT"; }; + 16C0655B97D6D3B992D6733E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../JuceLibraryCode/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; 16DC590DCFE57F583E99F9C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; }; 1713D0650DCFA516EBF595DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; 171E2FEB6097B9D059BCD196 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; }; - 178D5499D90E6C10AA778456 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_video/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 17ADC8ECFA616CF392783757 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; 17C0612B5BA94849EA9768CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; }; 17D0D2AD3243F65FADB94446 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModifierKeys.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h"; sourceTree = "SOURCE_ROOT"; }; @@ -212,7 +211,6 @@ 1DB91DA41FDDC9D2F628C7E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLHelpers.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 1DDAEBB24E58353761798ABE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; }; 1E00488AE073FB510E4BE10D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; }; - 1E0453D8A9741695357567E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; 1F25BC80413668F43F5D7864 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessage.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp"; sourceTree = "SOURCE_ROOT"; }; 1F2CB36A86AA1A4FFF89CD88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReaderSource.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h"; sourceTree = "SOURCE_ROOT"; }; 1F2FF9F4A1F8325AD3F19EA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; }; @@ -232,6 +230,7 @@ 234392598E5388F29CFD6B50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiser.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h"; sourceTree = "SOURCE_ROOT"; }; 239F942F45950F5EDCB65A17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; 23A853ADC54A69406C7A49C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; }; + 2403B8D4A16FB80D115BCD2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; 241100DC52A0F56D071C8C4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; }; 2432B5DFCDB8D39150029E01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; }; 249A454A7EF1C3A07A66F453 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; }; @@ -263,6 +262,7 @@ 2A8F6894339DCE6003B702F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NewLine.h"; path = "../../../../modules/juce_core/text/juce_NewLine.h"; sourceTree = "SOURCE_ROOT"; }; 2B4F1477BB90BF7F62005BEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; 2B702EF83CBD217F8F9195F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2B789C58AFC77C0527BFBBB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../JuceLibraryCode/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 2B8FF1E4F8D48AEDE05224D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 2BC7AB69474D7E280098B893 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; }; 2BFAB8AE52821D3786BD7ECA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiFile.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -336,6 +336,7 @@ 3B4CB5DCC28B60C4129F024E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; }; 3B61B715F29A0AEAEF73CCBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; 3BCC9E4DFC3910F668DA3FF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3BF94F93AE8A8E9AFA5FDEC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../JuceLibraryCode/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; 3BFEBBE9B8185F65D69A1721 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; 3C18AC0F75E68A8601DD8F08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; }; 3C1E6F7FBCCAFD6CCDBBB70C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; }; @@ -358,7 +359,6 @@ 402BC49CAFCFFF067A88F96A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; }; 408C5E78F7DE038844E18D31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; 40B485A7CCC441C90EA92FBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; }; - 40D267701C8FF75121454D79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; 41107A3608BE0848BE2A34FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterChoice.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h"; sourceTree = "SOURCE_ROOT"; }; 4120CBF145DA500C140BC666 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; 4140669501152D9FB9A244B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorPlayer.cpp"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -408,14 +408,12 @@ 4DB00B418C4F068BC5FC7314 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = FontsDemo.cpp; path = ../../Source/Demos/FontsDemo.cpp; sourceTree = "SOURCE_ROOT"; }; 4DBE443E8F807D9366309A44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceDemoHeader.h; path = ../../Source/JuceDemoHeader.h; sourceTree = "SOURCE_ROOT"; }; 4E0A9537FFDE89E4B46710CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BlowFish.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4E49D12CA5C42721F532DCD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; 4E892CB7335853F8FE91B26F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPress.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h"; sourceTree = "SOURCE_ROOT"; }; 4F56EAB8D09665602226930F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; 4F6768F8EF9CB4A34A501966 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 4F9F102E3BEDFE30542BD479 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; 4FE6B5F0E1AC94CFA6BCC19A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; 50677353DB2766A800988656 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; }; - 50AB15E26F6E4A55B0BE8AE6 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_formats/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 50C099C6D8CA6DBF95B0828D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; }; 50C625257E68C3B8FDAE45A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooserDialogBox.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h"; sourceTree = "SOURCE_ROOT"; }; 50D167857CCBE08F692604BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -468,7 +466,6 @@ 5AB81EDAFED264951169F1B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; 5B0A45CD67D62B0BF9FC22F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; }; 5B1433D89E82F55DA4D004B1 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; }; - 5B466272F3B821BE88BAC205 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; }; 5C2DE230E3197CF04660851E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; }; 5C5F8713DA326B5C6C559767 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 5CAED9BFE11E46C835DC9417 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLFrameBuffer.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h"; sourceTree = "SOURCE_ROOT"; }; @@ -481,7 +478,6 @@ 5E9F335E274427A81514A20C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; 5F3E8B08EE74B0023DA176B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; 5FAB9E7F62B84DBAA98A0004 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudioKit.framework; path = System/Library/Frameworks/CoreAudioKit.framework; sourceTree = SDKROOT; }; - 5FB5AE3F2ECCD8AC1A49CA18 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_processors/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 5FC58B5FBBBB09878E3F2230 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 5FCCFCEE3F6C4C51BB581572 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; 5FD5503AB0E161315DD5CD70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -498,15 +494,15 @@ 62F9B202D524E33A2843ED84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; 6308DABB4145FBD330B7DA5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Quaternion.h"; path = "../../../../modules/juce_opengl/geometry/juce_Quaternion.h"; sourceTree = "SOURCE_ROOT"; }; 631FD2CAE69A3D5DD8C2E1B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorValueTreeState.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp"; sourceTree = "SOURCE_ROOT"; }; - 63AC834818EFF45708101F9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; 63BB4EB9347AF60049BEEC1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; 63D09BD18653F6A0134C8195 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatManager.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 64E7D43C4F4037CFC2C5E2AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ComponentTransformsDemo.cpp; path = ../../Source/Demos/ComponentTransformsDemo.cpp; sourceTree = "SOURCE_ROOT"; }; 64F04FAD3BAAEE3D0BA279B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceManager.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 651D48BCCD81AC8B5BC3AAA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; }; + 652A128D7DE1672618DB9521 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; 65DA0DAA8BDCE57A54C1CF26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserBase.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h"; sourceTree = "SOURCE_ROOT"; }; 6645C09E7FCFF0E498C3C400 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; }; - 66C5D2F0D9B9ABA7F4A386E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; + 66C35D440440937001697D0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../JuceLibraryCode/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; }; 66D5FD22DF1550A6CC9ABDA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; 66F8C7EB6520AB9439433DF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEInstrument.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp"; sourceTree = "SOURCE_ROOT"; }; 67541565521633071C03BD35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; @@ -575,7 +571,6 @@ 77BD025036C8B02426E61C79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; }; 77D7DE86E82C779B3DAA8678 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLPixelFormat.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h"; sourceTree = "SOURCE_ROOT"; }; 7828AF42E3C857F520EABDD7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; }; - 786CF1CA66289DB77845F8E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../../../modules/juce_opengl/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; 7890AB8CBF31F9788E10DBD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; }; 78979AFF44F164451516C986 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; }; 78B172DD2AAFE3535D0460C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; @@ -601,7 +596,6 @@ 7DA9D4E06E9B9875EC3880AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; 7DB8F4BB2B4884803207417F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiFile.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.h"; sourceTree = "SOURCE_ROOT"; }; 7DBF83B26277D13CB3FC1479 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ImagesDemo.cpp; path = ../../Source/Demos/ImagesDemo.cpp; sourceTree = "SOURCE_ROOT"; }; - 7DD8FCFA80D230B432ECD149 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 7DE074DF0D3074275DBBF9B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; }; 7E847EBFB83896EA08975F8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 7F2A233FFE5CDB2681F0DC28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiBuffer.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -669,12 +663,10 @@ 8F7D5E59BEB35E858363B752 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 8F8DD95844D647749BA662B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Primes.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.cpp"; sourceTree = "SOURCE_ROOT"; }; 8FA3BF005120A8BF8DD1BB80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; }; - 8FDA4FBF31997AEBF3AE10E4 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_data_structures/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 9053A4532020825D924EFB35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; 905A87EA32A249ABFD0A90AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; }; - 9079FD325609A4E67E44F3ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; + 90B1185950EF7670F87EAA3F = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = JuceDemo.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; 912E1A63093C3FA3BD2AFE61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; }; - 91F4E52A1B31FB5998FEF665 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = "SOURCE_ROOT"; }; 9200669E9DB4FE676A07CD77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; 9297F74907620178A1EB41DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ChildProcessDemo.cpp; path = ../../Source/Demos/ChildProcessDemo.cpp; sourceTree = "SOURCE_ROOT"; }; 92D3CD3845968E4FAB93576D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LiveConstantDemo.cpp; path = ../../Source/Demos/LiveConstantDemo.cpp; sourceTree = "SOURCE_ROOT"; }; @@ -685,14 +677,12 @@ 9461C1D2300CC3A91EC2D169 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; 94D8CEE59AC2644453705A74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; 94EC001CF772AFBA6D95F922 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLHelpers.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp"; sourceTree = "SOURCE_ROOT"; }; - 94F15602279A81777504F22C = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_graphics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 95227EEF8BCCAD5E1840DB48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameterWithID.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h"; sourceTree = "SOURCE_ROOT"; }; 95568D274244E02150C7F417 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V1.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h"; sourceTree = "SOURCE_ROOT"; }; 9617B3B5FA9439D342F23ADC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AnimationDemo.cpp; path = ../../Source/Demos/AnimationDemo.cpp; sourceTree = "SOURCE_ROOT"; }; 96F43E8EB364D3E40689D368 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormatManager.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; 9750423DB3DB6570382DA3C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Headers.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h"; sourceTree = "SOURCE_ROOT"; }; 97C3A2B9575153E4CA0537B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectShowComponent.cpp"; path = "../../../../modules/juce_video/native/juce_win32_DirectShowComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9895036432E9AE55EE16323F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../../../modules/juce_video/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; 989CD2B68A4EF90456E19ED9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarComponent.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h"; sourceTree = "SOURCE_ROOT"; }; 98D55DE4706A31BCD28458C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChoicePropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 9918F60F5CC834C782543712 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; }; @@ -718,6 +708,7 @@ 9EB2AE5A72227301C365568F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 9EB305226A801CB7012884F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; 9F75FFB61C74FEECE61A7138 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MultithreadingDemo.cpp; path = ../../Source/Demos/MultithreadingDemo.cpp; sourceTree = "SOURCE_ROOT"; }; + 9FB3AFE9C376328C6D798741 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; A04410519258755461444678 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; }; A078E4C69AFA4FAE8DCC66BD = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; A1244D54910A10100ECF8EE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -741,13 +732,16 @@ A6285ED9A26A9DA0A2931910 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; A62BF9AB6EB0496F5BCE78B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; }; A631CD93C2809211DD926938 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; }; + A67AC004E3AD3129C578EFA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_box2d.cpp"; path = "../../JuceLibraryCode/juce_box2d.cpp"; sourceTree = "SOURCE_ROOT"; }; A687283C2BEC2595A10EEE1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; A6BC854E7C5B932911B2AFF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; }; + A6EBDFEA86BEFF4682C46940 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../JuceLibraryCode/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; A6EE2D5A258294BAC600F75B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; }; A6FADD9A009BA1F1D36239FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LADSPAPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; A73DB3E8639A4D39F9F9C50E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; }; A74BFBD7C3C18103B51F6342 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; }; A763B4ADDB7BDD941FFE51CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; + A7F846EF40A343C8E30D18DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; A8243EDBF34E3E3D4338D6F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; A83559E2258B5856CFD68EAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; A83639AF2210589E5367ABCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = UnitTestsDemo.cpp; path = ../../Source/Demos/UnitTestsDemo.cpp; sourceTree = "SOURCE_ROOT"; }; @@ -788,7 +782,6 @@ B13A8EA6840489EB88D77800 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; B17EF578E9B736B1C5A5E8BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; }; B1C05A8D59655916054612D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; }; - B27A7B237782F9E15E4BF8D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; B2BD3F284DBA9EDFFF80ECE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; B2C11FB8D4762ABB6CB9B934 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Common.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h"; sourceTree = "SOURCE_ROOT"; }; B305C104F5A573E8AFEFA763 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; @@ -800,17 +793,16 @@ B3BF13E52ED6443A85AF0230 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEMessages.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h"; sourceTree = "SOURCE_ROOT"; }; B3E2A6A5C59E1462DF544A06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleComponent.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; B44CC152D6454AF6F16E9EF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; }; + B487CD915AF683CE01469268 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-App.plist"; path = "Info-App.plist"; sourceTree = "SOURCE_ROOT"; }; B51567633F44A10D4543B219 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; }; B56F4C53187D40137670DB1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; }; B589CF5248A17A319E5EC80D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; B59B0121C46D4A2B9EC3BBFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; }; B63933880C456903722F46A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; }; - B66D06DC55FFC2B99D43F4E2 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_utils/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; B680E1C22A5885A8336D8DA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; B6874BAE87F275944C07B498 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_video.h"; path = "../../../../modules/juce_video/juce_video.h"; sourceTree = "SOURCE_ROOT"; }; B688441D29BB51A9C4E83CFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp"; sourceTree = "SOURCE_ROOT"; }; B6B6519216FF4413B698C889 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTreeSynchroniser.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"; sourceTree = "SOURCE_ROOT"; }; - B6EFD8D461F7BC1CA4954B69 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_extra/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; B731664FB9EEEBC618BAB5A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = TimersAndEventsDemo.cpp; path = ../../Source/Demos/TimersAndEventsDemo.cpp; sourceTree = "SOURCE_ROOT"; }; B745680D019FDB64D3A65508 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; B7AE6C1C50421EE6E02045DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; }; @@ -820,7 +812,6 @@ B8F25B3AB59A577E53304AC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; }; B97B2C0C6A4322FFAACE1C39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; B9A524CB6B0598E4D7F7DD93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailBase.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailBase.h"; sourceTree = "SOURCE_ROOT"; }; - B9D26C6C4CED62E6708B6865 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../../../modules/juce_cryptography/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; BA008864E9E4F195E61A21F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinearSmoothedValue.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h"; sourceTree = "SOURCE_ROOT"; }; BA5A007216A3E496509D5CE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; BAC70BABB531B634736585A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -830,7 +821,6 @@ BC2E34C0883EB362398AC448 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; BC30642EEF908E1C7757690B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; BCACFA5E8370800EB6487CC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; }; - BD14CA532122022C26920DF8 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_devices/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; BDDD1C149C23BCA4F501BEF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; BE260594789CF43E1A4EF4E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; BE9B3F83B6037C848596286B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -840,7 +830,6 @@ BF7EE64D6E337BED36814439 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPENote.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp"; sourceTree = "SOURCE_ROOT"; }; BFC3C3EBCDDABF1529A317FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; }; BFCAF7A5D017D3BC4CD51D60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; }; - BFE7C09CA4AFAC973C267D11 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_core/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; BFEEC370F9DAD159E5789EB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; C006CE2DED5AB537B5C3FD5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Files.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; C054B94424A80B5DCA6CC52F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GenericAudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; @@ -876,6 +865,7 @@ C812CDED0B089FD1B76FC9EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AudioLiveScrollingDisplay.h; path = ../../Source/Demos/AudioLiveScrollingDisplay.h; sourceTree = "SOURCE_ROOT"; }; C8A42EE493A1DF2E283C245E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; C8CABD53634D53E64132CAAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CameraDevice.mm"; path = "../../../../modules/juce_video/native/juce_mac_CameraDevice.mm"; sourceTree = "SOURCE_ROOT"; }; + C8DBA0F79A42D081DF328798 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../JuceLibraryCode/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; C8E3220EC4F4E4242CD3026D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; C92A35B9676A81157B54284A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; C993FAEDCEE0A33CAB42F995 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Box2DDemo.cpp; path = ../../Source/Demos/Box2DDemo.cpp; sourceTree = "SOURCE_ROOT"; }; @@ -955,17 +945,16 @@ DE534A5A2D3B48BFBCE598B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; DEB0E2F28130100B1EFD250E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; DEE5EFE8148FD2DC743A7DD7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LookAndFeelDemo.cpp; path = ../../Source/Demos/LookAndFeelDemo.cpp; sourceTree = "SOURCE_ROOT"; }; - DEFD6AD8B2BBA57017DB4A13 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_box2d/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; DF9B26660FAF5ECF2EF620B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; }; E04EC9F05219CEEB4469A437 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiOutput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h"; sourceTree = "SOURCE_ROOT"; }; E0565A19E2589729259C7116 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLRenderer.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h"; sourceTree = "SOURCE_ROOT"; }; E0B8277ABF9DDAC8C12DE26D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; E0DB91A472A77866258D12B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; }; E1107017C2BF7ECC847DF01A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorPlayer.h"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.h"; sourceTree = "SOURCE_ROOT"; }; + E13D0BEFB46B4D8751EF6CAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; E199DDD8F06741F21D8F9CFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; E2127416236840EE3AF32D5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormatManager.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; E23EDF80FD5320232483D80F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; }; - E243FC2BD3446D9518049538 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_events/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; E2C5C95247FDECA4C39F1415 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; E30009C6743474CD6195F5F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; }; E31FB2C8B34A146D28A4C611 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; @@ -980,7 +969,6 @@ E4981056661C3F251FECEC32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; E4BD5632ADD38CF8BAD38A76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; }; E5058DD199CEC42ECE922239 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; }; - E52756E1DB553ED02D829F61 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_cryptography/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; E5E02A3C4E942105FEDCA885 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; E6333272C33612B6A7D6073E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; }; E682A3A52BD15D5CA4933C12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; }; @@ -1007,10 +995,10 @@ EACCBFA17F4D07ECE058EEBB = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; EB369EA30D31CD710A09B7FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; EB6F5F8F57F0117C10735583 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODevice.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h"; sourceTree = "SOURCE_ROOT"; }; + EB93700805DBEBF58092DC3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../JuceLibraryCode/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; EC8A992EA9CFA558DB9F950E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; }; ECAB8BD2816B0BEFCD9F6961 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; }; ED3DE86815324354C48631D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; - ED6224ABC715AAB68661F4D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_box2d.cpp"; path = "../../../../modules/juce_box2d/juce_box2d.cpp"; sourceTree = "SOURCE_ROOT"; }; ED6ADC3F084F9F3B6177B0C8 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; ED80E9909586DD64BDE03A70 = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = portmeirion.jpg; path = ../../Resources/portmeirion.jpg; sourceTree = "SOURCE_ROOT"; }; EE7001BD5206A8D8EA2D125B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; }; @@ -1036,7 +1024,6 @@ F43CED7548EE5C9F841CB1FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; F4676BB721F96DC5DDDAE746 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CoreAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; F48E6A27D809C49D42D3202C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - F4AD24F8DDD10C938759CEB9 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_opengl/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; F4BBD7DEBE0F1DD2CE45C411 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; }; F53D12880F3354B4FFA480E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODevice.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp"; sourceTree = "SOURCE_ROOT"; }; F584FC21C26C72A81D840840 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -1049,25 +1036,24 @@ F746F30147C6BE88F60E92CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; }; F753A7C2031832BB628CBB2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; }; F779C79AC37C83A60B997641 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; }; + F7CDE069A32CA0EAD1BE7D43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; }; F843FC09B4C2A10C76D8D35C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDirectoryScanner.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp"; sourceTree = "SOURCE_ROOT"; }; F881704607DB79F9A3CF7491 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; F89584972F16A8EC49E5E74D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; }; F91A3C07D81BE2D4A191C9A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; }; F965E478C21D19EF32760A9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + F97F775EDCD2D1C497625D4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; }; F98920AB20377A95CCA8CDF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CatmullRomInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; F98BEA2FEE66A3DEAD9D43B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; F99F73DEBB0EB724142FA930 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; - FB2CB5482F056ACD6AFE12A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginListComponent.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h"; sourceTree = "SOURCE_ROOT"; }; - FB8BE0538AD9420DD4D1E9C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; }; - FBCD860CD7113A3136B127C8 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; }; - 229D2DAADACF15540C3BBD15 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = JuceDemo.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; - F7CDE069A32CA0EAD1BE7D43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; }; - F97F775EDCD2D1C497625D4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; }; F9F4D5D9783B88F2DE889023 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; }; FA5777F9FFCC6BE9D9F98874 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; FA8B6B0F6D43146BAAE04D4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; }; - FAC5DDBFB00254C35D8987F2 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; FAFF7B60A09FE1BFD468163B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorGraph.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp"; sourceTree = "SOURCE_ROOT"; }; + FB2CB5482F056ACD6AFE12A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginListComponent.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + FB8BE0538AD9420DD4D1E9C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; }; + FBCD860CD7113A3136B127C8 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; }; + FC022E24D3A4C3E7C77E55BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../JuceLibraryCode/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; FC14A2D9F860584459B762F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorValueTreeState.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h"; sourceTree = "SOURCE_ROOT"; }; FC1BA0654179A585DF5B9DC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLShaderProgram.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h"; sourceTree = "SOURCE_ROOT"; }; FC63A33CA2E025F5C4C22CD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_win32.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_win32.h"; sourceTree = "SOURCE_ROOT"; }; @@ -1221,9 +1207,12 @@ 7C828ECEE88D9245ACDC4E6F, 9EF5C5A4E05F24140BA571CC, 3C7D76B7DB18A3929B2EBE2F, - 7DD8FCFA80D230B432ECD149, 249A454A7EF1C3A07A66F453, ); name = "juce_audio_basics"; sourceTree = ""; }; - 2C5B1CB88811CFEAD0B763E7 = {isa = PBXGroup; children = ( + 2DCD2E7F92AA91EC89EEBB7D = {isa = PBXGroup; children = ( + C9DAF05F2DAF78159647512B, + AAEBF0976E57F4756E4AE31E, + 61F28F9E82D39EFF702793D9, ); name = "audio_cd"; sourceTree = ""; }; + 76C1C6513757777CE389E9F5 = {isa = PBXGroup; children = ( 64F04FAD3BAAEE3D0BA279B8, 3ADE61DBFBB6901CE2F1DB17, F53D12880F3354B4FFA480E5, @@ -1231,22 +1220,13 @@ 70A5CABA464ECFC6A8449A87, A9BA8E7E434AC82F4604C773, F3A9E0AE5ED05CA1AD6F56E5, ); name = "audio_io"; sourceTree = ""; }; - ACE42B83631F91D837D30DBF = {isa = PBXGroup; children = ( + 35F706454FBA7B78D92B9A87 = {isa = PBXGroup; children = ( 8A8CA6C781EFD5F0997E7507, A539F7B46DD001B3BF03B16F, 3C1E6F7FBCCAFD6CCDBBB70C, 0E39FF2E9AD2BDC94CC015E3, E04EC9F05219CEEB4469A437, ); name = "midi_io"; sourceTree = ""; }; - 06540B00B960F62D8C50A952 = {isa = PBXGroup; children = ( - E6E0FE3CBDBE2554B527CF60, - F1A9F544E889DDA995415F6D, - DDDB707A59DB489D195BF99D, - AAC68E522F44DA7AD25574C7, ); name = sources; sourceTree = ""; }; - 5E43CCDE66C0FD9A873CF9A1 = {isa = PBXGroup; children = ( - C9DAF05F2DAF78159647512B, - AAEBF0976E57F4756E4AE31E, - 61F28F9E82D39EFF702793D9, ); name = "audio_cd"; sourceTree = ""; }; - FD6512AC0A0ECDCA3416F735 = {isa = PBXGroup; children = ( + A84C631C57217C123531484E = {isa = PBXGroup; children = ( F881704607DB79F9A3CF7491, 088687334FC51A5136881578, 7416BF201FBFE7F978FD774A, @@ -1266,31 +1246,19 @@ 74D283E02B3A2A293678FF9C, 5FCCFCEE3F6C4C51BB581572, 52D7400A47B19848EFCB5B51, ); name = native; sourceTree = ""; }; + 9AD76D04090A6896D564243B = {isa = PBXGroup; children = ( + E6E0FE3CBDBE2554B527CF60, + F1A9F544E889DDA995415F6D, + DDDB707A59DB489D195BF99D, + AAC68E522F44DA7AD25574C7, ); name = sources; sourceTree = ""; }; B5BC400B03F73362F263D1FC = {isa = PBXGroup; children = ( - 2C5B1CB88811CFEAD0B763E7, - ACE42B83631F91D837D30DBF, - 06540B00B960F62D8C50A952, - 5E43CCDE66C0FD9A873CF9A1, - FD6512AC0A0ECDCA3416F735, - BD14CA532122022C26920DF8, + 2DCD2E7F92AA91EC89EEBB7D, + 76C1C6513757777CE389E9F5, + 35F706454FBA7B78D92B9A87, + A84C631C57217C123531484E, + 9AD76D04090A6896D564243B, 806A7A3BFC684B4D9E25ABDF, ); name = "juce_audio_devices"; sourceTree = ""; }; - 22448345537DACFE2F258ACF = {isa = PBXGroup; children = ( - D999C4C8DE51CDFB861B863D, - B305C104F5A573E8AFEFA763, - 63D09BD18653F6A0134C8195, - DC6930EE56EEA5221CFECAB7, - 991F4C3B42036B549C321789, - 7F7EAF366320BA71741B68C3, - EFD1BD42000EE640A17EE1ED, - 1F2CB36A86AA1A4FFF89CD88, - E8128A35828C860977FEC54C, - 324452D7F5B5EA3B393FF4FF, - E7EE6BDC0E3A0739529AED91, - 0E1D85B025D93DAFA8404824, - CA0E3166C77EB91555893286, - 00DE0C93FE719DC72E20A63B, - E31FB2C8B34A146D28A4C611, ); name = format; sourceTree = ""; }; - 892E3C641B2CBBE66606A2C6 = {isa = PBXGroup; children = ( + 3777DD37A1736028694C8335 = {isa = PBXGroup; children = ( 35E35B099E2A7906A7AA2EDE, 019352D78DBBEE2AC10ED6BC, F4676BB721F96DC5DDDAE746, @@ -1309,16 +1277,48 @@ 2859FDF0CCD1ED788910E9D3, 60849B046145D3BACDFA6A84, 6C57333FC4ACEBC7C451A414, ); name = codecs; sourceTree = ""; }; + 6704076A5760A2D2D6544F3A = {isa = PBXGroup; children = ( + D999C4C8DE51CDFB861B863D, + B305C104F5A573E8AFEFA763, + 63D09BD18653F6A0134C8195, + DC6930EE56EEA5221CFECAB7, + 991F4C3B42036B549C321789, + 7F7EAF366320BA71741B68C3, + EFD1BD42000EE640A17EE1ED, + 1F2CB36A86AA1A4FFF89CD88, + E8128A35828C860977FEC54C, + 324452D7F5B5EA3B393FF4FF, + E7EE6BDC0E3A0739529AED91, + 0E1D85B025D93DAFA8404824, + CA0E3166C77EB91555893286, + 00DE0C93FE719DC72E20A63B, + E31FB2C8B34A146D28A4C611, ); name = format; sourceTree = ""; }; CB4068ADFA9C76E778DD19AF = {isa = PBXGroup; children = ( 807F5EE489018BC1956AAD5C, D04960564D2860B19FA5D1CE, ); name = sampler; sourceTree = ""; }; 43D650FDDBAA28AE94A8942B = {isa = PBXGroup; children = ( - 22448345537DACFE2F258ACF, - 892E3C641B2CBBE66606A2C6, + 3777DD37A1736028694C8335, + 6704076A5760A2D2D6544F3A, CB4068ADFA9C76E778DD19AF, - 50AB15E26F6E4A55B0BE8AE6, 05AFEDB1F65A8C2C8E9620E0, ); name = "juce_audio_formats"; sourceTree = ""; }; - F5E14DC1BD0B02032813E53F = {isa = PBXGroup; children = ( + 888C888AC250A981C408E377 = {isa = PBXGroup; children = ( + 7BBD4B2D9A9EF13CE4357979, + 4B310AA3DF4F6188B2E6FAF1, + E2127416236840EE3AF32D5C, + 96F43E8EB364D3E40689D368, ); name = format; sourceTree = ""; }; + B72D1C26FD3E602F38916F14 = {isa = PBXGroup; children = ( + D1E31AC47CCAB97418EB646D, + 58FB0C4FE674CC5BB7B1DCA7, + 8396EA11DD261260F1A96DF9, + A6FADD9A009BA1F1D36239FD, + B2C11FB8D4762ABB6CB9B934, + 9750423DB3DB6570382DA3C1, + 9B9E034C5761096ACB8A76C3, + 73267FE8DDE50FD1E6E31ED4, + 8AE56D2F4E33B015C3D73EB8, + 52A95B5754438C999343869A, + C8A42EE493A1DF2E283C245E, ); name = "format_types"; sourceTree = ""; }; + 2EDAF4D3D60FFD4B45928A0A = {isa = PBXGroup; children = ( 6645C09E7FCFF0E498C3C400, 0F82F90D72AD536CC3DFE217, 25412CD3F6855849D8B7FE98, @@ -1335,23 +1335,6 @@ C054B94424A80B5DCA6CC52F, 872C4AF5B81B1664032594A1, D9DFC1CE9A4EF9230B49D697, ); name = processors; sourceTree = ""; }; - 44B5DCFCAB48CED4E27F0F7C = {isa = PBXGroup; children = ( - 7BBD4B2D9A9EF13CE4357979, - 4B310AA3DF4F6188B2E6FAF1, - E2127416236840EE3AF32D5C, - 96F43E8EB364D3E40689D368, ); name = format; sourceTree = ""; }; - 961C00EDB46D39EFDB238950 = {isa = PBXGroup; children = ( - D1E31AC47CCAB97418EB646D, - 58FB0C4FE674CC5BB7B1DCA7, - 8396EA11DD261260F1A96DF9, - A6FADD9A009BA1F1D36239FD, - B2C11FB8D4762ABB6CB9B934, - 9750423DB3DB6570382DA3C1, - 9B9E034C5761096ACB8A76C3, - 73267FE8DDE50FD1E6E31ED4, - 8AE56D2F4E33B015C3D73EB8, - 52A95B5754438C999343869A, - C8A42EE493A1DF2E283C245E, ); name = "format_types"; sourceTree = ""; }; 1766FC3A6258C18585F98105 = {isa = PBXGroup; children = ( 6E125672C42D84CCD54F9B0D, 55FBB9F8900F753766A22BE6, @@ -1369,12 +1352,11 @@ 631FD2CAE69A3D5DD8C2E1B6, FC14A2D9F860584459B762F7, ); name = utilities; sourceTree = ""; }; 326CA890D2481B82367C6F3A = {isa = PBXGroup; children = ( - F5E14DC1BD0B02032813E53F, - 44B5DCFCAB48CED4E27F0F7C, - 961C00EDB46D39EFDB238950, + 888C888AC250A981C408E377, + B72D1C26FD3E602F38916F14, + 2EDAF4D3D60FFD4B45928A0A, 1766FC3A6258C18585F98105, 453BF0685F30EA92520392E4, - 5FB5AE3F2ECCD8AC1A49CA18, 6BD1D463E40A463C69C065C7, ); name = "juce_audio_processors"; sourceTree = ""; }; EE85F21BD60AE1C7926DA310 = {isa = PBXGroup; children = ( 5A3C2298934C0F77CC60D336, @@ -1391,20 +1373,19 @@ E3DC9C2BBC81EC0B035AA32C, E7A5AF3EBCFEEF8787F2D14F, D057633F8F7684AB7B4B28AD, ); name = gui; sourceTree = ""; }; - D7A76D9B15CE0C2AA2F1831B = {isa = PBXGroup; children = ( - 4140669501152D9FB9A244B9, - E1107017C2BF7ECC847DF01A, ); name = players; sourceTree = ""; }; - 729ED0EF005668B4140C1996 = {isa = PBXGroup; children = ( + 5B772A0A879A7FBC7C926FBE = {isa = PBXGroup; children = ( DDF02BD16454102C353FCD18, 5232B9F7E62CD5C41C3ABFED, 8DA438AAAFBC64C11DE329B4, 4151602FFED0B1AE7B36CEF4, 37355CCC05D407D665AA6604, ); name = native; sourceTree = ""; }; + 325CDA7E3A9F93CBB2878AC9 = {isa = PBXGroup; children = ( + 4140669501152D9FB9A244B9, + E1107017C2BF7ECC847DF01A, ); name = players; sourceTree = ""; }; BE68248271118CC1AB328F34 = {isa = PBXGroup; children = ( EE85F21BD60AE1C7926DA310, - D7A76D9B15CE0C2AA2F1831B, - 729ED0EF005668B4140C1996, - B66D06DC55FFC2B99D43F4E2, + 5B772A0A879A7FBC7C926FBE, + 325CDA7E3A9F93CBB2878AC9, 89C47678AF8B46702EC0EE66, ); name = "juce_audio_utils"; sourceTree = ""; }; 7AF3E75ABE7FFA5936475F7E = {isa = PBXGroup; children = ( 0732CB9291291C9854197B28, @@ -1415,60 +1396,8 @@ B92F6CB95B8D46F185B51F43 = {isa = PBXGroup; children = ( 7AF3E75ABE7FFA5936475F7E, F025DD9DC1A82BB3FC45DE34, - DEFD6AD8B2BBA57017DB4A13, 1AD3E125B61DD653C03FAC05, ); name = "juce_box2d"; sourceTree = ""; }; - 9F8E4C02B09E172A04638A04 = {isa = PBXGroup; children = ( - 7BD4AC17C70E6771254B962A, - 1698E86A0E0E93DF1487E9FA, - 651D48BCCD81AC8B5BC3AAA4, - EC8A992EA9CFA558DB9F950E, - 58E53BE69281E3105C66FF07, - C411A91DC3B306E2C417F1BF, - 03707F35E5DB4BC6F1FAC8D6, - 569187442B514D114A483D29, - 01F2CB80C1B14450528F0FA8, - 49C275C319B36AC86512E34F, - D6B8E586D30632EA07C48D6F, - 02659911BD886D2E8431B912, - 2A8F6894339DCE6003B702F0, - C9C1FC1B4628557AE5C7E7ED, - E4369FFC0E1A6547580D671F, - 7286D6380C74734603D098EB, - 3AB9E51994CD35A10F87EFF1, - AC7A214BA7B1A172F5B31735, - 3F58D27B17343BF1030AF92A, - 8D437AEAA6F7E3F0DCA43E8C, - B59B0121C46D4A2B9EC3BBFE, - 3741E4C0CE5C7C0828D09BA8, - 437B4DC39531BF8DE5A12E02, - D3A84810AE56991562B6F252, ); name = text; sourceTree = ""; }; - F06CAD4E176B4B5D59F3D92A = {isa = PBXGroup; children = ( - BADD02151C3951E4853DA06D, - 21CE480826B56F0B5C8C4A43, - A763B4ADDB7BDD941FFE51CF, - D7A951371F530DA0A350AF44, - 5125E77EBA8500EAA778F51F, - 519F11BE9C786A7F9B221BA5, - CC79B254C68555B4FFEBC692, - 220344E43675A2A7D64D3A44, - 2432B5DFCDB8D39150029E01, - D769F1AEAE71E490F5E6CEFD, ); name = maths; sourceTree = ""; }; - B800FC93901BFB2AAB84B357 = {isa = PBXGroup; children = ( - 0EAB2E0BB8C3BE2725FA093A, - 4AF5BD29C935D0EB7CB0F6AE, - DE3BEA732CBC57AE71E94159, - F26339EFC03BD8D22016EEB6, - A235B5113FB4E5DA6267975F, - 14933D0F3C598C38A113CE8D, - C60CE259EE4CFE6AC61044FB, - DF9B26660FAF5ECF2EF620B8, - A2F0B85560090CFAC7D95132, - 734C43C3F7918061F2DDD214, - AA967AC6E8FDCD7502272DA7, - 7319ADBC735F957219774263, - D1D8A53A7614F106942DADED, - 6B1FEA349A6C8F51AB27E23C, ); name = memory; sourceTree = ""; }; - 29FD491D882C7A35353517C8 = {isa = PBXGroup; children = ( + 18119BAECB08B5AB5C698B0B = {isa = PBXGroup; children = ( 1A3DE76CA275CEE7DAD501A4, D100B2EDF88F2C019E4D2311, E7EA99CD84E1EC598F4984DD, @@ -1490,37 +1419,7 @@ 66D5FD22DF1550A6CC9ABDA4, 8BB3867A9236FF57B46581A4, CE7D4E7030BF4BB4B1093B5F, ); name = containers; sourceTree = ""; }; - F6C37A1A9BE55FD210811ED5 = {isa = PBXGroup; children = ( - 38FB6ABB883ECAD52027CE19, - 76B8E770835968F565292D1E, - 720C3CA9E28181C76434D465, - 57B7A9C37305D4D7F876344C, - 3D8A83C53BAF22EEEA014D90, - 6A299D9BED7D078CB2F1C007, - 47817D36A37758981DEDCAAE, - 2CD4306102317989E6321924, - 0453D6FB24F82E92A6BEDA49, - 0FF2403BC335E710BE391DEE, - 7BE8C42578F5E2E59D63F615, - 764F36E2597540348F960404, - 133BC5B880C7575FF3209D88, - D8AE63002C7273F98226394B, - 8E1CA5F01D04FA8F6CCFF91B, - D5942A1C95986841CA286736, - 068183416EF5422C7AD0F238, - 9CC0810F5BAF70D00033FD22, - 2B4F1477BB90BF7F62005BEC, - 5496F73539DA26FD9C899223, - D0ADA33F00B3BD83C1D5AE37, - 81D03597CE85238988E0F45D, ); name = threads; sourceTree = ""; }; - 18CBD980606B9896AE7EDB66 = {isa = PBXGroup; children = ( - CCD2ED6F6F3ABCC172DC4957, - 2060347D582A8E45F58AE1C2, - 3D2D6313C0A3397C4839B29B, - 0B3662D1FFE3102476FD60D7, - 78979AFF44F164451516C986, - 23A853ADC54A69406C7A49C6, ); name = time; sourceTree = ""; }; - 15BAE5B68F98DAF50032DA20 = {isa = PBXGroup; children = ( + A58A8CADC04CD7B4A7650C09 = {isa = PBXGroup; children = ( CF7CEC8C260AC623C222264C, 366C0E8D559D37FF92B64F47, 6B83E4AE241F0EAC9574923D, @@ -1538,66 +1437,43 @@ 2174CAEE6D8EB215ACD4A256, 4198EE3311A171C884A5FA9F, A90EA62A0A4A1B5E62CF0BE8, ); name = files; sourceTree = ""; }; - 23F9726B9A73EF92F1209DC4 = {isa = PBXGroup; children = ( - 9D0B40C4BF8FD939C33E3D59, - 0E11770AD343D8A0780C54BE, - 80A57920E6EA9C2E881BC3E5, - 39E4404D57A8B66DF520B66F, - 2274B9A5BC921FE3B877D0C1, - A1EFF3DBE5F7B0C07AE59D7C, - CD9B8C96642C7F691FCB3EC4, - 6EA8B0940C4486B9F03BA19C, - D61BA88D3AC9556266FE4368, - 24E2AF695F11B9BAEB8FBE3D, ); name = network; sourceTree = ""; }; - E6D63506374A755883B95CD0 = {isa = PBXGroup; children = ( - 945E090A8DE2E776F7033143, - 9CED8F32B3718A90481EEDE6, - 9B9F578EC77AA988C919AC6F, - 49D1B40749401475B52A6F85, - BFC3C3EBCDDABF1529A317FF, - 62D20AFF94117B99556BF56C, - AD593F766DC27414A94FABEE, - 429974B1B4C361F218093A41, - B7AE6C1C50421EE6E02045DC, - CC5F6FD5F339E1811037EABE, - 03CB1183519203936C33025A, - 86BFE5D66623DB207CEA3F9F, - 3FBF109F3AD6DE221EFB1BA2, - DC0AE99EFE4F88987CA2F705, - F9F4D5D9783B88F2DE889023, ); name = streams; sourceTree = ""; }; - 1CAC2BF524350D8F0B5FD356 = {isa = PBXGroup; children = ( - AB589E1E7EC83EA620B7F780, - 88D689399C7F69D687208673, - DD4A812225F47E590FCF2E29, - 6141692AC9282411091C8157, ); name = logging; sourceTree = ""; }; - C8E2FB2013388FB97CB0E404 = {isa = PBXGroup; children = ( - 80202384D81020DAE2072A1A, - 218E36147FA4309F072C1949, - 33F3182598E9A84AD25A9184, - 8BDC3161654344162ECDCB32, - 6BDAB94A88B565A734534368, - 12E4EED0370A1733C6629D86, ); name = system; sourceTree = ""; }; - 9E69FDED50CC01056C1E3A3F = {isa = PBXGroup; children = ( - 8A89A7C0DEC85C7773251B15, - 2E29C6A0CF15C32A35119DCA, - 16DC590DCFE57F583E99F9C9, - 6BEA46E3C64DD2FD8946CD35, ); name = xml; sourceTree = ""; }; - 649BC7DF20650B1753E12AF4 = {isa = PBXGroup; children = ( + 1544BDD3315C264964667621 = {isa = PBXGroup; children = ( 6B3772278F9398D0AC7CE250, C4E873C0CD6E9C76EA2997C2, F746F30147C6BE88F60E92CF, 0B54F1B0CB17ABD0C3E40658, ); name = javascript; sourceTree = ""; }; - 2D8DDEA5DED7302CBA238934 = {isa = PBXGroup; children = ( - 50D167857CCBE08F692604BB, - D65129253734C1917354C08E, - 5FC58B5FBBBB09878E3F2230, - F29F6395C4935C1A663A1D15, - 55F9178934DDF31583323625, - 2F66B42AF6C0B5ED381937C3, ); name = zip; sourceTree = ""; }; - 94F54CCBAAF1F7BECBE15D38 = {isa = PBXGroup; children = ( - 46118CBA9C3CD3B354D93B30, - 3EF890CB40C6FFCAE055B7B1, ); name = "unit_tests"; sourceTree = ""; }; - 6C6F5F4F0570E2CE9AA515B7 = {isa = PBXGroup; children = ( + F6681BED077B2F71DE1C9BC2 = {isa = PBXGroup; children = ( + AB589E1E7EC83EA620B7F780, + 88D689399C7F69D687208673, + DD4A812225F47E590FCF2E29, + 6141692AC9282411091C8157, ); name = logging; sourceTree = ""; }; + EA8E07CFC088100944017BA0 = {isa = PBXGroup; children = ( + BADD02151C3951E4853DA06D, + 21CE480826B56F0B5C8C4A43, + A763B4ADDB7BDD941FFE51CF, + D7A951371F530DA0A350AF44, + 5125E77EBA8500EAA778F51F, + 519F11BE9C786A7F9B221BA5, + CC79B254C68555B4FFEBC692, + 220344E43675A2A7D64D3A44, + 2432B5DFCDB8D39150029E01, + D769F1AEAE71E490F5E6CEFD, ); name = maths; sourceTree = ""; }; + 644E43E8B2A8503F7D5524F3 = {isa = PBXGroup; children = ( + 0EAB2E0BB8C3BE2725FA093A, + 4AF5BD29C935D0EB7CB0F6AE, + DE3BEA732CBC57AE71E94159, + F26339EFC03BD8D22016EEB6, + A235B5113FB4E5DA6267975F, + 14933D0F3C598C38A113CE8D, + C60CE259EE4CFE6AC61044FB, + DF9B26660FAF5ECF2EF620B8, + A2F0B85560090CFAC7D95132, + 734C43C3F7918061F2DDD214, + AA967AC6E8FDCD7502272DA7, + 7319ADBC735F957219774263, + D1D8A53A7614F106942DADED, + 6B1FEA349A6C8F51AB27E23C, ); name = memory; sourceTree = ""; }; + F37FA5EE62821768AC463EB3 = {isa = PBXGroup; children = ( 55273A59F96B3C775EB71FAB, 44F4A9351C2B03F98A0D23E4, 06D514A7B2556A07D2398433, @@ -1605,7 +1481,7 @@ 4A2C25FD55809F1489963FC3, 360291D0346F776DDD3F43E8, 28E65398C8CF95EB12A5734D, ); name = misc; sourceTree = ""; }; - BD98C1BE7812F052CB13F901 = {isa = PBXGroup; children = ( + 070E4F946EB697A7963D1757 = {isa = PBXGroup; children = ( 599036DC07DB54E446ECA054, B63933880C456903722F46A4, 60B755F5684959E78C556810, @@ -1635,25 +1511,128 @@ 50677353DB2766A800988656, 48A0FC60EFF6334C161519FD, 6F5B9777B802707C4A747E46, ); name = native; sourceTree = ""; }; + 347B5DD8FAB6509E75EB018D = {isa = PBXGroup; children = ( + 9D0B40C4BF8FD939C33E3D59, + 0E11770AD343D8A0780C54BE, + 80A57920E6EA9C2E881BC3E5, + 39E4404D57A8B66DF520B66F, + 2274B9A5BC921FE3B877D0C1, + A1EFF3DBE5F7B0C07AE59D7C, + CD9B8C96642C7F691FCB3EC4, + 6EA8B0940C4486B9F03BA19C, + D61BA88D3AC9556266FE4368, + 24E2AF695F11B9BAEB8FBE3D, ); name = network; sourceTree = ""; }; + C0BCC243012D70B7CB6C1558 = {isa = PBXGroup; children = ( + 945E090A8DE2E776F7033143, + 9CED8F32B3718A90481EEDE6, + 9B9F578EC77AA988C919AC6F, + 49D1B40749401475B52A6F85, + BFC3C3EBCDDABF1529A317FF, + 62D20AFF94117B99556BF56C, + AD593F766DC27414A94FABEE, + 429974B1B4C361F218093A41, + B7AE6C1C50421EE6E02045DC, + CC5F6FD5F339E1811037EABE, + 03CB1183519203936C33025A, + 86BFE5D66623DB207CEA3F9F, + 3FBF109F3AD6DE221EFB1BA2, + DC0AE99EFE4F88987CA2F705, + F9F4D5D9783B88F2DE889023, ); name = streams; sourceTree = ""; }; + C8E2FB2013388FB97CB0E404 = {isa = PBXGroup; children = ( + 80202384D81020DAE2072A1A, + 218E36147FA4309F072C1949, + 33F3182598E9A84AD25A9184, + 8BDC3161654344162ECDCB32, + 6BDAB94A88B565A734534368, + 12E4EED0370A1733C6629D86, ); name = system; sourceTree = ""; }; + 1778DFB23C0D2A296DCF847F = {isa = PBXGroup; children = ( + 7BD4AC17C70E6771254B962A, + 1698E86A0E0E93DF1487E9FA, + 651D48BCCD81AC8B5BC3AAA4, + EC8A992EA9CFA558DB9F950E, + 58E53BE69281E3105C66FF07, + C411A91DC3B306E2C417F1BF, + 03707F35E5DB4BC6F1FAC8D6, + 569187442B514D114A483D29, + 01F2CB80C1B14450528F0FA8, + 49C275C319B36AC86512E34F, + D6B8E586D30632EA07C48D6F, + 02659911BD886D2E8431B912, + 2A8F6894339DCE6003B702F0, + C9C1FC1B4628557AE5C7E7ED, + E4369FFC0E1A6547580D671F, + 7286D6380C74734603D098EB, + 3AB9E51994CD35A10F87EFF1, + AC7A214BA7B1A172F5B31735, + 3F58D27B17343BF1030AF92A, + 8D437AEAA6F7E3F0DCA43E8C, + B59B0121C46D4A2B9EC3BBFE, + 3741E4C0CE5C7C0828D09BA8, + 437B4DC39531BF8DE5A12E02, + D3A84810AE56991562B6F252, ); name = text; sourceTree = ""; }; + AA10DA760EC41537BFFED545 = {isa = PBXGroup; children = ( + 38FB6ABB883ECAD52027CE19, + 76B8E770835968F565292D1E, + 720C3CA9E28181C76434D465, + 57B7A9C37305D4D7F876344C, + 3D8A83C53BAF22EEEA014D90, + 6A299D9BED7D078CB2F1C007, + 47817D36A37758981DEDCAAE, + 2CD4306102317989E6321924, + 0453D6FB24F82E92A6BEDA49, + 0FF2403BC335E710BE391DEE, + 7BE8C42578F5E2E59D63F615, + 764F36E2597540348F960404, + 133BC5B880C7575FF3209D88, + D8AE63002C7273F98226394B, + 8E1CA5F01D04FA8F6CCFF91B, + D5942A1C95986841CA286736, + 068183416EF5422C7AD0F238, + 9CC0810F5BAF70D00033FD22, + 2B4F1477BB90BF7F62005BEC, + 5496F73539DA26FD9C899223, + D0ADA33F00B3BD83C1D5AE37, + 81D03597CE85238988E0F45D, ); name = threads; sourceTree = ""; }; + 6BCDEC9183E2E3108E0DF6C9 = {isa = PBXGroup; children = ( + CCD2ED6F6F3ABCC172DC4957, + 2060347D582A8E45F58AE1C2, + 3D2D6313C0A3397C4839B29B, + 0B3662D1FFE3102476FD60D7, + 78979AFF44F164451516C986, + 23A853ADC54A69406C7A49C6, ); name = time; sourceTree = ""; }; + 94F54CCBAAF1F7BECBE15D38 = {isa = PBXGroup; children = ( + 46118CBA9C3CD3B354D93B30, + 3EF890CB40C6FFCAE055B7B1, ); name = "unit_tests"; sourceTree = ""; }; + 89AF646809A397391DD478F9 = {isa = PBXGroup; children = ( + 8A89A7C0DEC85C7773251B15, + 2E29C6A0CF15C32A35119DCA, + 16DC590DCFE57F583E99F9C9, + 6BEA46E3C64DD2FD8946CD35, ); name = xml; sourceTree = ""; }; + DE3A3E8A7EC79D39DA406EB7 = {isa = PBXGroup; children = ( + 50D167857CCBE08F692604BB, + D65129253734C1917354C08E, + 5FC58B5FBBBB09878E3F2230, + F29F6395C4935C1A663A1D15, + 55F9178934DDF31583323625, + 2F66B42AF6C0B5ED381937C3, ); name = zip; sourceTree = ""; }; 7AB76D65BF8ACD7C0CCB6169 = {isa = PBXGroup; children = ( - 9F8E4C02B09E172A04638A04, - F06CAD4E176B4B5D59F3D92A, - B800FC93901BFB2AAB84B357, - 29FD491D882C7A35353517C8, - F6C37A1A9BE55FD210811ED5, - 18CBD980606B9896AE7EDB66, - 15BAE5B68F98DAF50032DA20, - 23F9726B9A73EF92F1209DC4, - E6D63506374A755883B95CD0, - 1CAC2BF524350D8F0B5FD356, + 18119BAECB08B5AB5C698B0B, + A58A8CADC04CD7B4A7650C09, + 1544BDD3315C264964667621, + F6681BED077B2F71DE1C9BC2, + EA8E07CFC088100944017BA0, + 644E43E8B2A8503F7D5524F3, + F37FA5EE62821768AC463EB3, + 070E4F946EB697A7963D1757, + 347B5DD8FAB6509E75EB018D, + C0BCC243012D70B7CB6C1558, C8E2FB2013388FB97CB0E404, - 9E69FDED50CC01056C1E3A3F, - 649BC7DF20650B1753E12AF4, - 2D8DDEA5DED7302CBA238934, + 1778DFB23C0D2A296DCF847F, + AA10DA760EC41537BFFED545, + 6BCDEC9183E2E3108E0DF6C9, 94F54CCBAAF1F7BECBE15D38, - 6C6F5F4F0570E2CE9AA515B7, - BD98C1BE7812F052CB13F901, - BFE7C09CA4AFAC973C267D11, + 89AF646809A397391DD478F9, + DE3A3E8A7EC79D39DA406EB7, 824822F2A6A539B2D797DE23, ); name = "juce_core"; sourceTree = ""; }; D819E535B50B941C9A6E8FAB = {isa = PBXGroup; children = ( 4E0A9537FFDE89E4B46710CB, @@ -1672,31 +1651,45 @@ AED3AAA07A81C88CC540827D = {isa = PBXGroup; children = ( D819E535B50B941C9A6E8FAB, 3C9C844C356DB55BB284218A, - E52756E1DB553ED02D829F61, 06BD2631BF3C52F26B9981E8, ); name = "juce_cryptography"; sourceTree = ""; }; - D4863F7EB960C2709BB3076B = {isa = PBXGroup; children = ( + 35030E2E43A56D85963D945C = {isa = PBXGroup; children = ( + 5B0A45CD67D62B0BF9FC22F9, + 9327D6AA8805BE7AD971D68C, + ABDFE5D85E6ED3CBB8AE1F50, + 93B3667FE4186CD75426EA53, ); name = "app_properties"; sourceTree = ""; }; + E635F16A3A42F4C92EB0E043 = {isa = PBXGroup; children = ( + F3B746DC92EFE7A9B8EA9E43, + 5FD5503AB0E161315DD5CD70, + 171E2FEB6097B9D059BCD196, ); name = undomanager; sourceTree = ""; }; + 911699805E55E0689B71C34A = {isa = PBXGroup; children = ( F0ACCF70936A0BBA2A2AB289, 3371D4F2A1E0AB784460E6D4, 63BB4EB9347AF60049BEEC1E, 24B56E58A88C5BA553F1C3F9, B6B6519216FF4413B698C889, F043752E829829CE2A364F39, ); name = values; sourceTree = ""; }; - E635F16A3A42F4C92EB0E043 = {isa = PBXGroup; children = ( - F3B746DC92EFE7A9B8EA9E43, - 5FD5503AB0E161315DD5CD70, - 171E2FEB6097B9D059BCD196, ); name = undomanager; sourceTree = ""; }; - 4E83EFA92EA783E37B892C4B = {isa = PBXGroup; children = ( - 5B0A45CD67D62B0BF9FC22F9, - 9327D6AA8805BE7AD971D68C, - ABDFE5D85E6ED3CBB8AE1F50, - 93B3667FE4186CD75426EA53, ); name = "app_properties"; sourceTree = ""; }; 0B9FFA8B31858A3B3DFC06C3 = {isa = PBXGroup; children = ( - D4863F7EB960C2709BB3076B, + 35030E2E43A56D85963D945C, E635F16A3A42F4C92EB0E043, - 4E83EFA92EA783E37B892C4B, - 8FDA4FBF31997AEBF3AE10E4, + 911699805E55E0689B71C34A, 11005DEC79FC6A6057FCFA7A, ); name = "juce_data_structures"; sourceTree = ""; }; - A34FC16C72F52B0B801CEF25 = {isa = PBXGroup; children = ( + AD02336B808FDDCEFFD714A8 = {isa = PBXGroup; children = ( + 9A60BF3F27FD10A058F4E956, + 5AB81EDAFED264951169F1B3, + 0F3360D13458198A3A88B1A1, + BE260594789CF43E1A4EF4E6, + ECAB8BD2816B0BEFCD9F6961, + E2C5C95247FDECA4C39F1415, + AD33778491D50853BFFED9E9, + 4825D1B0C0AC0FD325F55C29, ); name = broadcasters; sourceTree = ""; }; + 328E0C4FFDA1568FC668DE26 = {isa = PBXGroup; children = ( + E6E0ADA4E3632540A8ADC7D8, + 6E98E22310F8BBEAC48EE55A, + F380FE12E78619086BA33CDB, + 1CD8799B8784A91FC13E6641, + 17C0612B5BA94849EA9768CC, + E30009C6743474CD6195F5F8, ); name = interprocess; sourceTree = ""; }; + F80940DC484E417EAD307ABD = {isa = PBXGroup; children = ( C20FD8D605E6714D473D5C9B, C784392363846286D29F207F, 9CDE3A30398FB033E5AE8498, @@ -1710,28 +1703,7 @@ 6E9BFA2B6260E09B2B3948E9, 3C18AC0F75E68A8601DD8F08, 3F2BBE4509B19BFAC929D8DF, ); name = messages; sourceTree = ""; }; - F46AC40E7CD6D4DBE5062442 = {isa = PBXGroup; children = ( - 5F3E8B08EE74B0023DA176B1, - F42FE65C750920656EA22BF8, - DB8FAF091C9E78AE5F64701F, - F91A3C07D81BE2D4A191C9A2, ); name = timers; sourceTree = ""; }; - EDB1CEFD978D97AA80C44D11 = {isa = PBXGroup; children = ( - 9A60BF3F27FD10A058F4E956, - 5AB81EDAFED264951169F1B3, - 0F3360D13458198A3A88B1A1, - BE260594789CF43E1A4EF4E6, - ECAB8BD2816B0BEFCD9F6961, - E2C5C95247FDECA4C39F1415, - AD33778491D50853BFFED9E9, - 4825D1B0C0AC0FD325F55C29, ); name = broadcasters; sourceTree = ""; }; - 7F49B97D06C9CA8E7C5888A7 = {isa = PBXGroup; children = ( - E6E0ADA4E3632540A8ADC7D8, - 6E98E22310F8BBEAC48EE55A, - F380FE12E78619086BA33CDB, - 1CD8799B8784A91FC13E6641, - 17C0612B5BA94849EA9768CC, - E30009C6743474CD6195F5F8, ); name = interprocess; sourceTree = ""; }; - 604E5DA5952F5D6A87D74C8A = {isa = PBXGroup; children = ( + 68E39D6E47AC8C2D9A071681 = {isa = PBXGroup; children = ( E7113B21A18CD89165BAFD4B, EB369EA30D31CD710A09B7FD, 82CDD7D8E38202F102788090, @@ -1740,13 +1712,17 @@ 78DAC3299488E0CC70EDB206, C77F148F8E8E9F805D730386, 4407A352B303B27AA0B7D579, ); name = native; sourceTree = ""; }; + C331BEA7FC83828D3FA31686 = {isa = PBXGroup; children = ( + 5F3E8B08EE74B0023DA176B1, + F42FE65C750920656EA22BF8, + DB8FAF091C9E78AE5F64701F, + F91A3C07D81BE2D4A191C9A2, ); name = timers; sourceTree = ""; }; C217E6D7051F0944FFE75A52 = {isa = PBXGroup; children = ( - A34FC16C72F52B0B801CEF25, - F46AC40E7CD6D4DBE5062442, - EDB1CEFD978D97AA80C44D11, - 7F49B97D06C9CA8E7C5888A7, - 604E5DA5952F5D6A87D74C8A, - E243FC2BD3446D9518049538, + AD02336B808FDDCEFFD714A8, + 328E0C4FFDA1568FC668DE26, + F80940DC484E417EAD307ABD, + 68E39D6E47AC8C2D9A071681, + C331BEA7FC83828D3FA31686, B17EF578E9B736B1C5A5E8BF, ); name = "juce_events"; sourceTree = ""; }; 509EE811D5F7C5DCF8D66EC5 = {isa = PBXGroup; children = ( 885A0F1B41FFAF32ADC70925, @@ -1766,19 +1742,25 @@ D5C59D717CF1C0F15164AD43, 3E27B6E7641EFD605545DF18, 3B4CB5DCC28B60C4129F024E, ); name = contexts; sourceTree = ""; }; - 5F88ECDF0F4610C51B00F5BE = {isa = PBXGroup; children = ( - 3DA95E7AE1D0DC64AF09EB66, - 8DDCA7803625CF8DA817326A, - 29919F82CA5311BEA61649D9, - 0638493DAFCB6148E77159B1, - 0C73944DB76DB5DA61210A33, - 62F9B202D524E33A2843ED84, - BF2CAEB6EC641789133B627E, - B8D4B6843E55CC07167085AB, ); name = images; sourceTree = ""; }; - EEE338C2B3F2C4EE365FF019 = {isa = PBXGroup; children = ( - F584FC21C26C72A81D840840, - 3A42694A047942A44E8216F5, - 0F88F061C51BE43F53B27094, ); name = "image_formats"; sourceTree = ""; }; + 5B5616FC0965B85695BB953A = {isa = PBXGroup; children = ( + B680E1C22A5885A8336D8DA9, + 8DDE64B4A0EF76038498B47D, + 4F9F102E3BEDFE30542BD479, + A73DB3E8639A4D39F9F9C50E, + 6976B92D19F4FA1BA89A8922, ); name = effects; sourceTree = ""; }; + 75A548DB882C9629FFFA850E = {isa = PBXGroup; children = ( + 06AE69217982DB82E0F47554, + 0E2F5CD3AB59E19A1ADFF875, + C7026BE1C751908FEA9E5AAA, + 6209255CD43AA4EDC1C955DA, + 30212C3F1731BD8F19412A38, + D3D86F3CDD057C174A16E382, + E7B21011F93915ADD2CC5DD9, + ACDD5519D82FDB831085B8B2, + 17FDEA6209B7444B117E63C7, + 34176F324CF7EBCDE741B2DF, + BFCAF7A5D017D3BC4CD51D60, + A169179FE554C215416FCD7C, ); name = fonts; sourceTree = ""; }; 54810F7DAE8AD92E99472AAB = {isa = PBXGroup; children = ( E199DDD8F06741F21D8F9CFD, E41A387D233A436131D7910E, @@ -1795,30 +1777,20 @@ 03EC0E5A647E50B369E50BBF, 533B6E74A9F84B4D319E2F16, EE7001BD5206A8D8EA2D125B, ); name = geometry; sourceTree = ""; }; - E92E581D7C45CBF3D826649F = {isa = PBXGroup; children = ( - E5058DD199CEC42ECE922239, - D74B19291F4B0370A2742A63, - 88E9F6A65110F4753E115FF5, ); name = placement; sourceTree = ""; }; - 006806660141E87655AADFBF = {isa = PBXGroup; children = ( - 06AE69217982DB82E0F47554, - 0E2F5CD3AB59E19A1ADFF875, - C7026BE1C751908FEA9E5AAA, - 6209255CD43AA4EDC1C955DA, - 30212C3F1731BD8F19412A38, - D3D86F3CDD057C174A16E382, - E7B21011F93915ADD2CC5DD9, - ACDD5519D82FDB831085B8B2, - 17FDEA6209B7444B117E63C7, - 34176F324CF7EBCDE741B2DF, - BFCAF7A5D017D3BC4CD51D60, - A169179FE554C215416FCD7C, ); name = fonts; sourceTree = ""; }; - 4557FCCC2DAA4803E4145C52 = {isa = PBXGroup; children = ( - B680E1C22A5885A8336D8DA9, - 8DDE64B4A0EF76038498B47D, - 4F9F102E3BEDFE30542BD479, - A73DB3E8639A4D39F9F9C50E, - 6976B92D19F4FA1BA89A8922, ); name = effects; sourceTree = ""; }; - 3F44D4EFF1ABC95BADCF6424 = {isa = PBXGroup; children = ( + EC642A5CE511D5BC8E3FDFFC = {isa = PBXGroup; children = ( + F584FC21C26C72A81D840840, + 3A42694A047942A44E8216F5, + 0F88F061C51BE43F53B27094, ); name = "image_formats"; sourceTree = ""; }; + F2F8E6D63A2AA76BAB91C64B = {isa = PBXGroup; children = ( + 3DA95E7AE1D0DC64AF09EB66, + 8DDCA7803625CF8DA817326A, + 29919F82CA5311BEA61649D9, + 0638493DAFCB6148E77159B1, + 0C73944DB76DB5DA61210A33, + 62F9B202D524E33A2843ED84, + BF2CAEB6EC641789133B627E, + B8D4B6843E55CC07167085AB, ); name = images; sourceTree = ""; }; + 1674F712FCFF1D329D5A125B = {isa = PBXGroup; children = ( 3D0EA5C831C347728313FDFE, 31D74E7CF149EF5B569417A7, 9EB305226A801CB7012884F0, @@ -1832,19 +1804,54 @@ F43CED7548EE5C9F841CB1FA, 6A6A22EF81805BE907DB5DA2, 3008922C531303C24B8791AA, ); name = native; sourceTree = ""; }; + 2FE1CAD67485BBCE5EA038D4 = {isa = PBXGroup; children = ( + E5058DD199CEC42ECE922239, + D74B19291F4B0370A2742A63, + 88E9F6A65110F4753E115FF5, ); name = placement; sourceTree = ""; }; A3212051A49A69AC9D00F91B = {isa = PBXGroup; children = ( 509EE811D5F7C5DCF8D66EC5, ACB6D23DBA7C941FEC62F935, - 5F88ECDF0F4610C51B00F5BE, - EEE338C2B3F2C4EE365FF019, + 5B5616FC0965B85695BB953A, + 75A548DB882C9629FFFA850E, 54810F7DAE8AD92E99472AAB, - E92E581D7C45CBF3D826649F, - 006806660141E87655AADFBF, - 4557FCCC2DAA4803E4145C52, - 3F44D4EFF1ABC95BADCF6424, - 94F15602279A81777504F22C, + EC642A5CE511D5BC8E3FDFFC, + F2F8E6D63A2AA76BAB91C64B, + 1674F712FCFF1D329D5A125B, + 2FE1CAD67485BBCE5EA038D4, 6ACBD7C68EE20A8E8C5CC1AB, ); name = "juce_graphics"; sourceTree = ""; }; - F1DA02E10E12854B9398E8C0 = {isa = PBXGroup; children = ( + DEEAC2D315FDF1E0342A3C7A = {isa = PBXGroup; children = ( + 5434953F55BD35F74D59D980, + 6A3315B465362CD3AF66D306, ); name = application; sourceTree = ""; }; + 87547D473DDA05308695CB51 = {isa = PBXGroup; children = ( + 182223C68F452171BE479C01, + 3240A232A5C82A812A837A2F, + 912E1A63093C3FA3BD2AFE61, + AE68B9AA74EE6F138B3E0B94, + 7338D006521EDC5C10EEF974, + 791B204F13E056DA2644175D, + 6CF95925EA874CFABAF7C284, + A166FEC488A2EE5290FF0722, + 215D455CD5A3BD7537F88630, + 5595C04B0C1D8D8EBA119C8A, + 38B737F6F0007F752EE380B6, + 74CEBA45E0A8ECA5CFA9BEF7, + B688441D29BB51A9C4E83CFC, + 1339BD00EBF554E995968B6D, + 4ABF4B55F979F2A88EB1B331, + C2FFDDA61218A94403D5FE56, + 355DBB46C4283779C367E97B, + 09EB2AA32041290412E00D8B, ); name = buttons; sourceTree = ""; }; + E8758F384799A3380C68E6AD = {isa = PBXGroup; children = ( + 06903FD63E508771C576431D, + F779C79AC37C83A60B997641, + 151ADDBE74B99337BC2C2586, + CF626DE27EB763C9BCFD4F15, + 01AD7BA1E1B20309DC969EE2, + CAD3749B6A5BDB2BB00D3498, + 3B61B715F29A0AEAEF73CCBA, + 2BC7AB69474D7E280098B893, + 818729A3311F3A7B8DB03764, ); name = commands; sourceTree = ""; }; + D20884260A88DCA60EA3E10B = {isa = PBXGroup; children = ( 2F1324CBA29604BD3E2003B5, 2108383000B0A3564DFF340D, C549EFF977C210EB398C9A33, @@ -1854,28 +1861,46 @@ FA5777F9FFCC6BE9D9F98874, FE613A570CE31071FD22DC06, 2A155BD926FEB91142E6A638, ); name = components; sourceTree = ""; }; - 3750E06D980F78DF6C18B6D2 = {isa = PBXGroup; children = ( - 3D2FFA1F349A15621962C064, - EA9FE6D1E0A072E73312916C, - AA920A77D326B0F5E53F567F, - 905A87EA32A249ABFD0A90AA, - 24FC5DD7F88DBB1E3A46AB54, - BC2E34C0883EB362398AC448, - 80E5245755DC2ECC4C6BABD5, - 9C734938D5FF5DA7827C74C6, - 7AD412430D3AEB0468089AF5, - 1890C5F569F315E5F8EBB1F9, - 6E176584A871F8C956918182, - D8DFE1C66668C30215288BBE, - EA3436079F0D78BB76CD15F7, - 7C8C5464933F6E34CF33578B, - CAD598C03B7C93B4AF912E66, - 184C5CCD9457D17375F9AE1C, - 1913719A1E4E1803CD54D11F, - 2D13D48857E2530BF41F70CB, - 9200669E9DB4FE676A07CD77, - D99C0F89D572BBF219A7B991, ); name = mouse; sourceTree = ""; }; - BC7D6E54D9E9A3C9FB3E1C0A = {isa = PBXGroup; children = ( + 651B3A0A0A8DBCABB89877A1 = {isa = PBXGroup; children = ( + 02F0BF69062E8D9583F13C83, + A99853D3CB536CFDB6C91F98, + FE4C496CFA9A1E786253B005, + B3976635944EC69837499F9F, + B033B7729D2D204BBD71BDD3, + 2EB37CCC4FF8C40B015C0555, + 77BD025036C8B02426E61C79, + 7DE074DF0D3074275DBBF9B1, + 6940E5FE7BC1ED1BB2258886, + 2DAD09E643C29B6DE7F26EDF, + 3855013A39E97B76B46E055E, + 11CB66B1CBA64B205FDF2767, + 02ABF8C447E1A47845F6027D, + 842FE973E11AAEF49D77AFE3, + 9461C1D2300CC3A91EC2D169, ); name = drawables; sourceTree = ""; }; + 2F206C7966B4B768C6E4FF00 = {isa = PBXGroup; children = ( + A1244D54910A10100ECF8EE2, + FE22C972B67EC59701E1CC3C, + 0D979051139C2AC633BB4B9C, + DAFB19E49A6221854341BE2C, + BF6E19C2CA2032242B7A2556, + FDD9DA21786D445DCD01912A, + 8AF04828A59F79DF2FD31E9C, + 60BCBC74A3C12630E82631DE, + 877B42968286AAD56527516A, + 06496C804633EAB2003E5B19, + 50C625257E68C3B8FDAE45A9, + F48E6A27D809C49D42D3202C, + 7DA9D4E06E9B9875EC3880AF, + 7D2013E3BCFFD5A65D970BBD, + E3E3CD4660C20BE120E8BB1B, + F965E478C21D19EF32760A9C, + 534098C590927D6768E57ACF, + 857CE7D1DC614FCDD19F617D, + C416D60EFF7F25E0080A94D1, + DAACF5AFA6B6994384BA4984, + 192EE3C990E80213984A44C2, + E9BBEE1B3986E0829AA44133, ); name = filebrowser; sourceTree = ""; }; + FAFD36677EA1A24D8DFFC99C = {isa = PBXGroup; children = ( 73F0F1FA09AE9F7308AFCC3B, C6D9D6E03D4B740DDF9B3C57, F037091D4A3012EBBA1E808F, @@ -1889,62 +1914,7 @@ 70F33D8D2F48D64188861C6C, AC3600881A53014EFC1CB8D2, 0E1F414FCC996E155B4DB5DF, ); name = keyboard; sourceTree = ""; }; - 601A0E1AB8094CEDE18197C4 = {isa = PBXGroup; children = ( - 358C6A8FDD14AF0BADFC200E, - 1BBECE3C619C157F072748D9, - 79C8D0C6D1444EAB781C46F3, - 0E26995340F6E559281691DB, - 74BE52ADFCAEFACF704E1269, - 4120CBF145DA500C140BC666, - 2B8FF1E4F8D48AEDE05224D5, - A62BF9AB6EB0496F5BCE78B7, - 3BCC9E4DFC3910F668DA3FF7, - 241100DC52A0F56D071C8C4E, - FCAC296E92A219D70EB96AD5, - B8F25B3AB59A577E53304AC0, - B36D9787DD79D0DED8D791F0, - E0DB91A472A77866258D12B2, - A88B3DDBD1939456E225E36E, - 2DE7C6A69CC0096EF56E4049, - BDDD1C149C23BCA4F501BEF7, - 512D5182047E0B46E971A13D, - 1A1C23D2F16F880FCD3B565E, - 40B485A7CCC441C90EA92FBD, - A6285ED9A26A9DA0A2931910, - 277ADB563604EE1FB51FDAE7, - 6B67DE0FF4487B060DCF31E1, - A3BDCE78A0AE63BEA0DDE600, - 69CC80F5871F1AA06689E3BA, - A74BFBD7C3C18103B51F6342, - 456837CE387595EFF549939B, ); name = widgets; sourceTree = ""; }; - 1ADDC51A4430600E4AAAA5DB = {isa = PBXGroup; children = ( - C7089BDB2F572546643160C1, - A04410519258755461444678, - E4BD5632ADD38CF8BAD38A76, - 0BD502F6196E1FE7D9888A1C, - 30DA52AA554A0249429AC3FC, - D6238E383F396236E3A4C054, - 30CA850D191ECD5F1F7B6A70, - DA78B13D87626C49A2140FDC, - 2EE8E77D21471265869C9B4A, - 5A73A448137344953ED2BD32, - A6BC854E7C5B932911B2AFF2, - 43B80E11AC5121A2F4B8DD78, - EEA020419EF58E90C10AAE26, - 9EB2AE5A72227301C365568F, - CDB41763FDE907C3C0E75374, - 4C66D04A6A5FA514A10AA406, - 263BE0BDE184A7184A118B46, - 2B702EF83CBD217F8F9195F2, - 67541565521633071C03BD35, ); name = windows; sourceTree = ""; }; - BBA5875791623330D6DC95AB = {isa = PBXGroup; children = ( - 10DF2A823B97BBC0BD840B9F, - 989CD2B68A4EF90456E19ED9, - E32D1C481161F063918F76AA, - C06F64DF6D95D5C9C8B2D5F8, - D94C07E10FC25EE303D64992, - 937A2E7B951F5D527DF54245, ); name = menus; sourceTree = ""; }; - 5D340809199E2AA65DF46FC0 = {isa = PBXGroup; children = ( + A271C44E062FBEE3A6479B17 = {isa = PBXGroup; children = ( 1676147A3FADD6D79FF42CDF, CD8B9E60EFE0A0ED368EE3D9, 7890AB8CBF31F9788E10DBD5, @@ -1981,72 +1951,7 @@ 58EE7977BC7FBB3523A910D9, 50C099C6D8CA6DBF95B0828D, 5D4FE2C580EFC84212CFBFB5, ); name = layout; sourceTree = ""; }; - AC9C1779409BE4B43780B4C2 = {isa = PBXGroup; children = ( - 182223C68F452171BE479C01, - 3240A232A5C82A812A837A2F, - 912E1A63093C3FA3BD2AFE61, - AE68B9AA74EE6F138B3E0B94, - 7338D006521EDC5C10EEF974, - 791B204F13E056DA2644175D, - 6CF95925EA874CFABAF7C284, - A166FEC488A2EE5290FF0722, - 215D455CD5A3BD7537F88630, - 5595C04B0C1D8D8EBA119C8A, - 38B737F6F0007F752EE380B6, - 74CEBA45E0A8ECA5CFA9BEF7, - B688441D29BB51A9C4E83CFC, - 1339BD00EBF554E995968B6D, - 4ABF4B55F979F2A88EB1B331, - C2FFDDA61218A94403D5FE56, - 355DBB46C4283779C367E97B, - 09EB2AA32041290412E00D8B, ); name = buttons; sourceTree = ""; }; - 5ED6933CBDAFE300C2ABD720 = {isa = PBXGroup; children = ( - BB29289B196047505CF5EE6B, - 541E4974C73E294DBA415BA0, - F4BBD7DEBE0F1DD2CE45C411, - 1BE21633CDF618F8D993F3BE, - 193F42507FBE4E7A62D81E2C, - F89584972F16A8EC49E5E74D, - 531D198DE52845A4B641B6B3, - E682A3A52BD15D5CA4933C12, - A631CD93C2809211DD926938, - 7CDA22D66C8FEDF1B644D041, - 0B9867D5674933AF753A2CF6, - 2F8041ECBF70D78604686D6B, - 82AABF91CB005E5463F1D522, - 2551FA5B61BFBEB5E0310B66, ); name = positioning; sourceTree = ""; }; - C8A05D0DDC15576400097A2B = {isa = PBXGroup; children = ( - 02F0BF69062E8D9583F13C83, - A99853D3CB536CFDB6C91F98, - FE4C496CFA9A1E786253B005, - B3976635944EC69837499F9F, - B033B7729D2D204BBD71BDD3, - 2EB37CCC4FF8C40B015C0555, - 77BD025036C8B02426E61C79, - 7DE074DF0D3074275DBBF9B1, - 6940E5FE7BC1ED1BB2258886, - 2DAD09E643C29B6DE7F26EDF, - 3855013A39E97B76B46E055E, - 11CB66B1CBA64B205FDF2767, - 02ABF8C447E1A47845F6027D, - 842FE973E11AAEF49D77AFE3, - 9461C1D2300CC3A91EC2D169, ); name = drawables; sourceTree = ""; }; - 976CE92C0E6CA7669AF1C0CB = {isa = PBXGroup; children = ( - 4F6768F8EF9CB4A34A501966, - 4C13F19ECFF6CA7AB9C801AC, - 8430FB57248237DDAD4CE4AD, - 7B5560AEA0CB3E507C16140C, - 5C5F8713DA326B5C6C559767, - 98D55DE4706A31BCD28458C3, - A966B620E1FB219BD4A4F3D9, - F99F73DEBB0EB724142FA930, - 4C9033415E05CD39408389AC, - 99E8C71CC462DDDBC52D360C, - E9A3E96E32C301EE817059C1, - BC30642EEF908E1C7757690B, - D45AD25E5AC67424EAE5A85F, - 825690E8512078D4F8595CCD, ); name = properties; sourceTree = ""; }; - 528B62250FF5AFE3DF0EB3C5 = {isa = PBXGroup; children = ( + 156CC7EE1643EA066924663C = {isa = PBXGroup; children = ( 4F56EAB8D09665602226930F, 73EC10FBCA420227E5A145F9, 4AEA921081036DD4C259B45F, @@ -2055,48 +1960,40 @@ 5C2DE230E3197CF04660851E, FD2A08CE74C6EBC90CD44A49, CE276E0CAE722EA80F7985BB, ); name = lookandfeel; sourceTree = ""; }; - 1B6365C0EB9F304B264DC487 = {isa = PBXGroup; children = ( - A1244D54910A10100ECF8EE2, - FE22C972B67EC59701E1CC3C, - 0D979051139C2AC633BB4B9C, - DAFB19E49A6221854341BE2C, - BF6E19C2CA2032242B7A2556, - FDD9DA21786D445DCD01912A, - 8AF04828A59F79DF2FD31E9C, - 60BCBC74A3C12630E82631DE, - 877B42968286AAD56527516A, - 06496C804633EAB2003E5B19, - 50C625257E68C3B8FDAE45A9, - F48E6A27D809C49D42D3202C, - 7DA9D4E06E9B9875EC3880AF, - 7D2013E3BCFFD5A65D970BBD, - E3E3CD4660C20BE120E8BB1B, - F965E478C21D19EF32760A9C, - 534098C590927D6768E57ACF, - 857CE7D1DC614FCDD19F617D, - C416D60EFF7F25E0080A94D1, - DAACF5AFA6B6994384BA4984, - 192EE3C990E80213984A44C2, - E9BBEE1B3986E0829AA44133, ); name = filebrowser; sourceTree = ""; }; - 2761E2946DEDCB0AA51DE683 = {isa = PBXGroup; children = ( - 06903FD63E508771C576431D, - F779C79AC37C83A60B997641, - 151ADDBE74B99337BC2C2586, - CF626DE27EB763C9BCFD4F15, - 01AD7BA1E1B20309DC969EE2, - CAD3749B6A5BDB2BB00D3498, - 3B61B715F29A0AEAEF73CCBA, - 2BC7AB69474D7E280098B893, - 818729A3311F3A7B8DB03764, ); name = commands; sourceTree = ""; }; - 9E82D25138749954193F1450 = {isa = PBXGroup; children = ( + E9544C94B904F0EBB89FA143 = {isa = PBXGroup; children = ( + 10DF2A823B97BBC0BD840B9F, + 989CD2B68A4EF90456E19ED9, + E32D1C481161F063918F76AA, + C06F64DF6D95D5C9C8B2D5F8, + D94C07E10FC25EE303D64992, + 937A2E7B951F5D527DF54245, ); name = menus; sourceTree = ""; }; + FDCDA062AE5E9B9026D7DCAA = {isa = PBXGroup; children = ( B3E2A6A5C59E1462DF544A06, 81516145E8F737D290135758, BCACFA5E8370800EB6487CC4, 047E385F21CC5AD6238B120E, ); name = misc; sourceTree = ""; }; - 0D77CC5C0E81446BEBBFA067 = {isa = PBXGroup; children = ( - 5434953F55BD35F74D59D980, - 6A3315B465362CD3AF66D306, ); name = application; sourceTree = ""; }; - 23D479C4AE179B8DDF9FE026 = {isa = PBXGroup; children = ( + 96E9E79B573DB15989229616 = {isa = PBXGroup; children = ( + 3D2FFA1F349A15621962C064, + EA9FE6D1E0A072E73312916C, + AA920A77D326B0F5E53F567F, + 905A87EA32A249ABFD0A90AA, + 24FC5DD7F88DBB1E3A46AB54, + BC2E34C0883EB362398AC448, + 80E5245755DC2ECC4C6BABD5, + 9C734938D5FF5DA7827C74C6, + 7AD412430D3AEB0468089AF5, + 1890C5F569F315E5F8EBB1F9, + 6E176584A871F8C956918182, + D8DFE1C66668C30215288BBE, + EA3436079F0D78BB76CD15F7, + 7C8C5464933F6E34CF33578B, + CAD598C03B7C93B4AF912E66, + 184C5CCD9457D17375F9AE1C, + 1913719A1E4E1803CD54D11F, + 2D13D48857E2530BF41F70CB, + 9200669E9DB4FE676A07CD77, + D99C0F89D572BBF219A7B991, ); name = mouse; sourceTree = ""; }; + EB6C00F6FC7E4A031C5409AF = {isa = PBXGroup; children = ( 01F49D3FD943424005FB512F, DD5F4BFEA497212883A869A9, 7DA062415E40E3BEC0B847FE, @@ -2113,25 +2010,102 @@ 70276A64A50E5B56492853DD, 6A4AE0C59C1210D28A8C8AF7, 2F19C814598FC304CA841242, ); name = native; sourceTree = ""; }; + 9E631CD9EE6D34B52A0FF724 = {isa = PBXGroup; children = ( + BB29289B196047505CF5EE6B, + 541E4974C73E294DBA415BA0, + F4BBD7DEBE0F1DD2CE45C411, + 1BE21633CDF618F8D993F3BE, + 193F42507FBE4E7A62D81E2C, + F89584972F16A8EC49E5E74D, + 531D198DE52845A4B641B6B3, + E682A3A52BD15D5CA4933C12, + A631CD93C2809211DD926938, + 7CDA22D66C8FEDF1B644D041, + 0B9867D5674933AF753A2CF6, + 2F8041ECBF70D78604686D6B, + 82AABF91CB005E5463F1D522, + 2551FA5B61BFBEB5E0310B66, ); name = positioning; sourceTree = ""; }; + CFB4D411CA2070270396539A = {isa = PBXGroup; children = ( + 4F6768F8EF9CB4A34A501966, + 4C13F19ECFF6CA7AB9C801AC, + 8430FB57248237DDAD4CE4AD, + 7B5560AEA0CB3E507C16140C, + 5C5F8713DA326B5C6C559767, + 98D55DE4706A31BCD28458C3, + A966B620E1FB219BD4A4F3D9, + F99F73DEBB0EB724142FA930, + 4C9033415E05CD39408389AC, + 99E8C71CC462DDDBC52D360C, + E9A3E96E32C301EE817059C1, + BC30642EEF908E1C7757690B, + D45AD25E5AC67424EAE5A85F, + 825690E8512078D4F8595CCD, ); name = properties; sourceTree = ""; }; + 55C5A56311D2E1A1D9E0CB8F = {isa = PBXGroup; children = ( + 358C6A8FDD14AF0BADFC200E, + 1BBECE3C619C157F072748D9, + 79C8D0C6D1444EAB781C46F3, + 0E26995340F6E559281691DB, + 74BE52ADFCAEFACF704E1269, + 4120CBF145DA500C140BC666, + 2B8FF1E4F8D48AEDE05224D5, + A62BF9AB6EB0496F5BCE78B7, + 3BCC9E4DFC3910F668DA3FF7, + 241100DC52A0F56D071C8C4E, + FCAC296E92A219D70EB96AD5, + B8F25B3AB59A577E53304AC0, + B36D9787DD79D0DED8D791F0, + E0DB91A472A77866258D12B2, + A88B3DDBD1939456E225E36E, + 2DE7C6A69CC0096EF56E4049, + BDDD1C149C23BCA4F501BEF7, + 512D5182047E0B46E971A13D, + 1A1C23D2F16F880FCD3B565E, + 40B485A7CCC441C90EA92FBD, + A6285ED9A26A9DA0A2931910, + 277ADB563604EE1FB51FDAE7, + 6B67DE0FF4487B060DCF31E1, + A3BDCE78A0AE63BEA0DDE600, + 69CC80F5871F1AA06689E3BA, + A74BFBD7C3C18103B51F6342, + 456837CE387595EFF549939B, ); name = widgets; sourceTree = ""; }; + 87C14D3E4BAF3406D5603280 = {isa = PBXGroup; children = ( + C7089BDB2F572546643160C1, + A04410519258755461444678, + E4BD5632ADD38CF8BAD38A76, + 0BD502F6196E1FE7D9888A1C, + 30DA52AA554A0249429AC3FC, + D6238E383F396236E3A4C054, + 30CA850D191ECD5F1F7B6A70, + DA78B13D87626C49A2140FDC, + 2EE8E77D21471265869C9B4A, + 5A73A448137344953ED2BD32, + A6BC854E7C5B932911B2AFF2, + 43B80E11AC5121A2F4B8DD78, + EEA020419EF58E90C10AAE26, + 9EB2AE5A72227301C365568F, + CDB41763FDE907C3C0E75374, + 4C66D04A6A5FA514A10AA406, + 263BE0BDE184A7184A118B46, + 2B702EF83CBD217F8F9195F2, + 67541565521633071C03BD35, ); name = windows; sourceTree = ""; }; 9C4033FFA3C21A4CEDF67C73 = {isa = PBXGroup; children = ( - F1DA02E10E12854B9398E8C0, - 3750E06D980F78DF6C18B6D2, - BC7D6E54D9E9A3C9FB3E1C0A, - 601A0E1AB8094CEDE18197C4, - 1ADDC51A4430600E4AAAA5DB, - BBA5875791623330D6DC95AB, - 5D340809199E2AA65DF46FC0, - AC9C1779409BE4B43780B4C2, - 5ED6933CBDAFE300C2ABD720, - C8A05D0DDC15576400097A2B, - 976CE92C0E6CA7669AF1C0CB, - 528B62250FF5AFE3DF0EB3C5, - 1B6365C0EB9F304B264DC487, - 2761E2946DEDCB0AA51DE683, - 9E82D25138749954193F1450, - 0D77CC5C0E81446BEBBFA067, - 23D479C4AE179B8DDF9FE026, - FAC5DDBFB00254C35D8987F2, + DEEAC2D315FDF1E0342A3C7A, + 87547D473DDA05308695CB51, + E8758F384799A3380C68E6AD, + D20884260A88DCA60EA3E10B, + 651B3A0A0A8DBCABB89877A1, + 2F206C7966B4B768C6E4FF00, + FAFD36677EA1A24D8DFFC99C, + A271C44E062FBEE3A6479B17, + 156CC7EE1643EA066924663C, + E9544C94B904F0EBB89FA143, + FDCDA062AE5E9B9026D7DCAA, + 96E9E79B573DB15989229616, + EB6C00F6FC7E4A031C5409AF, + 9E631CD9EE6D34B52A0FF724, + CFB4D411CA2070270396539A, + 55C5A56311D2E1A1D9E0CB8F, + 87C14D3E4BAF3406D5603280, 063357A85BA244642BE1274A, ); name = "juce_gui_basics"; sourceTree = ""; }; DF114C5936833878A46997BB = {isa = PBXGroup; children = ( DB748B0D9227F5345683CF7A, @@ -2193,9 +2167,21 @@ 1562C9D9FEDD7C31F674E2BB, 488105705659833F97300471, D9F37F228663829FCEC732D3, - B6EFD8D461F7BC1CA4954B69, 1F2FF9F4A1F8325AD3F19EA7, ); name = "juce_gui_extra"; sourceTree = ""; }; - C351D1801F7000CF7EB16A39 = {isa = PBXGroup; children = ( + 766D4531329B2C9C31E738D3 = {isa = PBXGroup; children = ( + FF34F4ED0C44B2BA4FBF22AA, + E8DBB02B17A6E144D08E4CC7, + 6308DABB4145FBD330B7DA5A, + 8EF11A0D1370915CA7AF4F64, ); name = geometry; sourceTree = ""; }; + C68100177C3351B178A3572D = {isa = PBXGroup; children = ( + 200A1B6B96E1089110CEAD48, + 7B81083FC4CCD2D096D93162, + F5B288379859F5C9F4FB83BB, + E8B785D8DD9C49BC7FF5EA75, + 51DD2ECC1AED271892E87814, + FC63A33CA2E025F5C4C22CD3, + 8139DFF71A397BB4FC1C4413, ); name = native; sourceTree = ""; }; + CA690AA101D7DEEB59803FB7 = {isa = PBXGroup; children = ( A1F10BB1A2745DC95DDDE0D6, D6AB846628BE74C5349C95CA, 6257CEA3C6EADCB94E25010F, @@ -2213,47 +2199,32 @@ FC1BA0654179A585DF5B9DC5, 6BA2D0C9FB49A5C3E0554000, AC25983CE9B938D1DB002A98, ); name = opengl; sourceTree = ""; }; - F873F1C35B16AE04A75E99A0 = {isa = PBXGroup; children = ( - FF34F4ED0C44B2BA4FBF22AA, - E8DBB02B17A6E144D08E4CC7, - 6308DABB4145FBD330B7DA5A, - 8EF11A0D1370915CA7AF4F64, ); name = geometry; sourceTree = ""; }; - 8EEE76AA4EC057A4D2507E39 = {isa = PBXGroup; children = ( + B513DD5415C3163E43BBB2A3 = {isa = PBXGroup; children = ( AB3C484314062E809AC41132, 5E69510D460EEB7754976CC8, ); name = utils; sourceTree = ""; }; - DFBBD0DCA08C2A6E552B7643 = {isa = PBXGroup; children = ( - 200A1B6B96E1089110CEAD48, - 7B81083FC4CCD2D096D93162, - F5B288379859F5C9F4FB83BB, - E8B785D8DD9C49BC7FF5EA75, - 51DD2ECC1AED271892E87814, - FC63A33CA2E025F5C4C22CD3, - 8139DFF71A397BB4FC1C4413, ); name = native; sourceTree = ""; }; C47DD018E100D8FA5BDEBB7E = {isa = PBXGroup; children = ( - C351D1801F7000CF7EB16A39, - F873F1C35B16AE04A75E99A0, - 8EEE76AA4EC057A4D2507E39, - DFBBD0DCA08C2A6E552B7643, - F4AD24F8DDD10C938759CEB9, + 766D4531329B2C9C31E738D3, + C68100177C3351B178A3572D, + CA690AA101D7DEEB59803FB7, + B513DD5415C3163E43BBB2A3, 14A37C392DF6CF1CDB64612D, ); name = "juce_opengl"; sourceTree = ""; }; - D0F919BD5E25E00651040936 = {isa = PBXGroup; children = ( - 29930414E0C7FD5EFC7F2095, - 36C9E79611229727DF5E5836, ); name = playback; sourceTree = ""; }; - DBDA6BAA1B84CA0C6F838008 = {isa = PBXGroup; children = ( + C805BB50F0EA8683CF1BBE4B = {isa = PBXGroup; children = ( 3EC73BE7C098A631E5D5107D, 29C7AE377B006C00D4293C59, ); name = capture; sourceTree = ""; }; - 75E1163D29EDCDF203433D84 = {isa = PBXGroup; children = ( + 80157E494A01EC1BE44C589F = {isa = PBXGroup; children = ( 3009F5CB4D15119D2C680F98, C8CABD53634D53E64132CAAD, CE89334A964AFF33758CBDEB, 5D475A368AC24E639B8A3797, 97C3A2B9575153E4CA0537B7, C4CE4565F5D41303888F6A59, ); name = native; sourceTree = ""; }; + 7DEFA7A7E23C0A137CEA6069 = {isa = PBXGroup; children = ( + 29930414E0C7FD5EFC7F2095, + 36C9E79611229727DF5E5836, ); name = playback; sourceTree = ""; }; D3C805B4AB4B31DFB20936B9 = {isa = PBXGroup; children = ( - D0F919BD5E25E00651040936, - DBDA6BAA1B84CA0C6F838008, - 75E1163D29EDCDF203433D84, - 178D5499D90E6C10AA778456, + C805BB50F0EA8683CF1BBE4B, + 80157E494A01EC1BE44C589F, + 7DEFA7A7E23C0A137CEA6069, B6874BAE87F275944C07B498, ); name = "juce_video"; sourceTree = ""; }; 713498D20048E6A3D46E2D0B = {isa = PBXGroup; children = ( EAD085E39B98D2F88E2854DA, @@ -2275,24 +2246,24 @@ 4975DB849F14413317E94609, 8D70A7277DDD7B7974E9F178, 016565008F3FF4F39192ACA6, - 0349FEE5DA18067918536934, - 1E0453D8A9741695357567E3, - 40D267701C8FF75121454D79, - 66C5D2F0D9B9ABA7F4A386E8, - 5B466272F3B821BE88BAC205, - ED6224ABC715AAB68661F4D4, - 4E49D12CA5C42721F532DCD6, - B9D26C6C4CED62E6708B6865, - 63AC834818EFF45708101F9A, - 9079FD325609A4E67E44F3ED, - B27A7B237782F9E15E4BF8D5, - 09D51FD6DE5DF526BB36B4D3, - 141036E097DAC47FB6F9CA80, - 786CF1CA66289DB77845F8E9, - 9895036432E9AE55EE16323F, + 2B789C58AFC77C0527BFBBB5, + 3BF94F93AE8A8E9AFA5FDEC7, + C8DBA0F79A42D081DF328798, + 0CD847B28F63BAE0AB55CE37, + 66C35D440440937001697D0B, + A67AC004E3AD3129C578EFA0, + 2403B8D4A16FB80D115BCD2A, + FC022E24D3A4C3E7C77E55BF, + A7F846EF40A343C8E30D18DB, + 9FB3AFE9C376328C6D798741, + A6EBDFEA86BEFF4682C46940, + E13D0BEFB46B4D8751EF6CAB, + 652A128D7DE1672618DB9521, + EB93700805DBEBF58092DC3C, + 16C0655B97D6D3B992D6733E, 59E2B82491E344257F84FC40, ); name = "Juce Library Code"; sourceTree = ""; }; 821D88BA60F316F96BC8A86D = {isa = PBXGroup; children = ( - 91F4E52A1B31FB5998FEF665, + B487CD915AF683CE01469268, F2066125C7C0B19E1065BF1D, AEF26EF11BEBA847F152A1D5, ); name = Resources; sourceTree = ""; }; 9439CB46EE08D16AAA26A203 = {isa = PBXGroup; children = ( @@ -2309,7 +2280,7 @@ 033BE48C56ED09055876AFB9, C68A1D6B6EAA0B70553FF6D3, ); name = Frameworks; sourceTree = ""; }; 9EB09FCC1FD3F263F24203C5 = {isa = PBXGroup; children = ( - 229D2DAADACF15540C3BBD15, ); name = Products; sourceTree = ""; }; + 90B1185950EF7670F87EAA3F, ); name = Products; sourceTree = ""; }; 605D88E415A9989447F78548 = {isa = PBXGroup; children = ( DAD5A945FFB6D6920BF0D1F6, 713498D20048E6A3D46E2D0B, @@ -2317,7 +2288,7 @@ 821D88BA60F316F96BC8A86D, 9439CB46EE08D16AAA26A203, 9EB09FCC1FD3F263F24203C5, ); name = Source; sourceTree = ""; }; - D0259E85380471FB442A4B44 = {isa = XCBuildConfiguration; buildSettings = { + 963FEEC67CA1488B71067091 = {isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -2336,10 +2307,10 @@ "JUCE_APP_VERSION_HEX=0x30000", ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.plist; INSTALL_PATH = "$(HOME)/Applications"; PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.JuceDemo; }; name = Debug; }; - 80E4DBEBE0CE7D218C89F78C = {isa = XCBuildConfiguration; buildSettings = { + 903E7C1C8383FB576E8BA554 = {isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -2359,7 +2330,7 @@ GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.plist; INSTALL_PATH = "$(HOME)/Applications"; PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.JuceDemo; }; name = Release; }; A16C0416417EF9DF7B09973F = {isa = XCBuildConfiguration; buildSettings = { @@ -2400,16 +2371,17 @@ TARGETED_DEVICE_FAMILY = "1,2"; WARNING_CFLAGS = -Wreorder; ZERO_LINK = NO; }; name = Release; }; + 39CDCEDD5B56630ADC06B588 = {isa = PBXTargetDependency; target = 00C030852F071EE5DCA3C532; }; E3E8152B5B6326971AA2F802 = {isa = XCConfigurationList; buildConfigurations = ( A16C0416417EF9DF7B09973F, 5D9A258B559C20D1603B9B9F, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 3E10D74DDAF399AFE44EAE00 = {isa = XCConfigurationList; buildConfigurations = ( - D0259E85380471FB442A4B44, - 80E4DBEBE0CE7D218C89F78C, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 8FEB5329109B581E7C40CEBC = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + D3C30326DE5136D39B922959 = {isa = XCConfigurationList; buildConfigurations = ( + 963FEEC67CA1488B71067091, + 903E7C1C8383FB576E8BA554, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 8A0460E8E406AB26F4BA09A8 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( 903D7CA9DAB57660179C9816, 0C2591D2A41D00D364570D9B, ); runOnlyForDeploymentPostprocessing = 0; }; - A1B40A40EED2EBD970739FBF = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + DB71CE9A0FCC9F1D4DB88011 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 9E8944195DB3FCA7AC031CE5, E036E92901E0B69FCDF451DC, E95494B76EDE178B2969C527, @@ -2451,22 +2423,22 @@ A1F184ABE297300A9E58BE94, 41F9A5936E54187528B817E9, 7BEA73E4BB71CE05E542A6E8, - F11E1D83596BC7786FC69405, - 67EB8B44CAD18BA4AF577528, - 445DE2471E5D168763AF149B, - 795A76FB056FA340861A8C51, - E96BBEAA081BFD7B244B120C, - FEDF1AA6CC2486AE0C1267C1, - 47F2181361C8EB7D67C89169, - 7CA1524D7DE0C18C1F070C97, - 64A5DA788C3DAC2F02BBDA0F, - 633491D8F37C87F3D426F0FE, - AC074F24DB676919ABF06188, - BFEF0063952A3A4DD92CB068, - D39B2783DD6DB671D8BAC0EE, - 7FDB32957337BE65186DA1A2, - 52637F000CB62E13F2D98026, ); runOnlyForDeploymentPostprocessing = 0; }; - 62864F0322651D6B1B57BBA6 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 27C45C30B401F78C4AD2018B, + 9802D89D43B4B7C1A209515B, + 7CC8EA9902367FB1085F23EB, + FF9E62C79E4C341D9F24A35B, + EE7B3D7B003CF7F565899BB9, + B524E9EC1808C486152A6B12, + 83175ADAC9A8816E534FBB17, + ED20291EC7E656726AC63259, + 9BAE90BFAE7C71EDD5E6F56D, + 1CBE066CB2B6636D341C5C09, + 37EB9CCA5EDCBF2248E70EE4, + 6F78472E107462A5DF946152, + D1E75C36990645CC17E58511, + 74C9ED42D599D90581025EDF, + 8A222F52E0807B8E934447BF, ); runOnlyForDeploymentPostprocessing = 0; }; + 8B042CD6831F0E9BD5C0815E = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( E16EA7E816B50766F3AE4F88, BB7001D6FD448E6C0AAE4F30, 5CA55A61B4ECF6BE53DB459A, @@ -2479,11 +2451,11 @@ 98416DF4B2FD4D550364EBE8, 9855E6AE1E9125FC6C3673D4, 1562996CAD648AAC922C763F, ); runOnlyForDeploymentPostprocessing = 0; }; - 5EA17FD285246351AFA8AF1E = {isa = PBXNativeTarget; buildConfigurationList = 3E10D74DDAF399AFE44EAE00; buildPhases = ( - 8FEB5329109B581E7C40CEBC, - A1B40A40EED2EBD970739FBF, - 62864F0322651D6B1B57BBA6, ); buildRules = ( ); dependencies = ( ); name = JuceDemo; productName = JuceDemo; productReference = 229D2DAADACF15540C3BBD15; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; - A97F75347E57A9C1AF731F1D = {isa = PBXProject; buildConfigurationList = E3E8152B5B6326971AA2F802; attributes = { LastUpgradeCheck = 0440; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 605D88E415A9989447F78548; projectDirPath = ""; projectRoot = ""; targets = ( 5EA17FD285246351AFA8AF1E ); }; + 00C030852F071EE5DCA3C532 = {isa = PBXNativeTarget; buildConfigurationList = D3C30326DE5136D39B922959; buildPhases = ( + 8A0460E8E406AB26F4BA09A8, + DB71CE9A0FCC9F1D4DB88011, + 8B042CD6831F0E9BD5C0815E, ); buildRules = ( ); dependencies = ( ); name = "JuceDemo (App)"; productName = JuceDemo; productReference = 90B1185950EF7670F87EAA3F; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; + A97F75347E57A9C1AF731F1D = {isa = PBXProject; buildConfigurationList = E3E8152B5B6326971AA2F802; attributes = { LastUpgradeCheck = 0440; TargetAttributes = { 00C030852F071EE5DCA3C532 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 605D88E415A9989447F78548; projectDirPath = ""; projectRoot = ""; targets = (00C030852F071EE5DCA3C532); }; }; rootObject = A97F75347E57A9C1AF731F1D; } diff --git a/examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Icon-29.png b/examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Icon-29.png index b4a6778bc9c70178e932d3569d852d9d68fcb51c..fab6ec160a4a3fa3898c1cb13d39dcad059c0f7d 100644 GIT binary patch delta 41 wcmaFC_kwT3BWA`alOHo1Ge&L}XR&1#Nm_6J?o7&>76u^jboFyt=akR{081(k&j0`b delta 41 wcmaFC_kwT3BWA{)$&ZtEboFyt=akR{095f0X#fBK diff --git a/examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Icon-29@2x.png b/examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Icon-29@2x.png index bb066a4439b4b351f6c4df6bbfacdfa69f85c2c0..18950aa151cdedd9207b9f72c3f847fc6da7c459 100644 GIT binary patch delta 4337 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 delta 4334 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 diff --git a/examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Icon-29@3x.png b/examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Icon-29@3x.png index 351d6d864ad2de2fd95644f2ba2a46e09071f58e..6ae2d1ec07db0816a674116fc19ae4f3ca1d7005 100644 GIT binary patch literal 7006 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 Z{y(**rglI|>=^(6002ovPDHLkV1j8k#OeS5 diff --git a/examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png b/examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png index 204a276565abc8290aae532e7c93b184b8d7ff2d..228096721c9e7123c0b16cd47b0a657049d2994e 100644 GIT binary patch literal 10946 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 S^~jef6--i8PNW)S5b%FbeVQ`> literal 10980 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 OLdi=jOI1pkg!~_DNuPfJ diff --git a/examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Icon-72.png b/examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Icon-72.png index 4ad2adae160db0c97c527887219dfb2c85b7db5f..c155e3cb66d1faeda85b4d83810c71ad7cf87da1 100644 GIT binary patch delta 4851 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 I3DeO30Z*U*?EnA( literal 10311 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 RuakiQ1sN6TDoNwe{|9+p`5OQL diff --git a/examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Icon-76.png b/examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Icon-76.png index 2f6dfe68bc215d363a0c08bff7297c1f8b7142ac..2e07ee828397011aba3f2d8fd72ff65faf62c770 100644 GIT binary patch delta 5554 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 Ac>n+a delta 5556 zcmV;l6-(;0E4C|;G=FVLL_t(|ob8->l+@L=??31Kel>ShS69yi(jY2AAQ1!`)PRCP z1#yJL+~B$xj89|UHM!=Q;lA)pyc#v;>J4#UW zYwD`{{m%QNnu6}?YPzetb-lItu2pOG`qer6?DOrj_t|@&^M5NihGRH}WBC6U;;S5d z$+{(44fWPkf!7j93D6RT2n;3JM`QQVDaXkusmy z{bp+Gwwt!azkf{qzZAkQe`HQcVTpAJg$^<}}#8XM*PCc1e zRr=Pp)|+m^9F2L63Sr-S_#BtJLi}D>3jP(Oz<_Cx4!UefHG=BtHKuiT(f8TVc(PR#Jzh z>RhC2EW%opnTDYZwl!|xh5E+{Cj0=HhWSP!+`a727jD}#67w7p!j^BCx5(kv9~M#+ z0nDksfQ7ZodifcxoQ0m%0FW$O#xN{vAVRKf_(I=g5`<1lHUjnk!QN@x8*Kl&t zG=z|#6sg7?BtCkERMXDE2~}pAFkL77@p5-}K#c zh^&RR%UC>qIZ|k-WQ_Q$tLXl4BN)k{itfSi2uq7FFgoAE?An9on~v1%oamj3U3ccuP= zdwK5$iP%ubA9bicDb?JXi&$9uJpeRa{`jg*^Op@p-k=G)^0BkVIy{!u2!F&$Mc?3( zDsgI}i>pt_$x(D>`mS6B`XkXARDo_aSVh zC^JYR{2YnM3n(*;6dM10@_+xL(lr)=@L28Inrqk1DHxR8!8D3`J>M6aI1Avi3D;x- z(%@5f(D~S}32yuy?e|}e8IK?=PMiyGK^BzdJ=x(xSbaFA--WPxL3PvB@>3%IyNGn$ zL8Rjj0Bo9rr4xRbZm-E1rpI>OU}PVau9@!++nL=2(Zah`kAS7M&R>ccVZcL<9cRFY83Pcf1QGT$d-Z_yn}r&|-eU*p^! zKP+wHC(BmP%PKqd#ejsZT#0m7iQfw$s@+yE3u~7lgv9VS5_uyOvp%g%V!=l+k_Qk7=G9z^*H(fMqO_n& zTeVWH9FUU%zigR(PKnUuWdL)lFT|z0K`FX6--}B2A1E7vW;*_I9cDC$u({Lb>8a?q z?MOn}%5a=|H^NqoG9z@g{v0FOf8eZCl33?GfQdtQvEaCG1AicNaen)j*9KH}V3Rb> ztJ99Ynt3&s0noks4PqZ{AF!JdXrbdTKRRrl3s#P*c?zo!`?T9KX4uvGvtDM{ACmF+ zNJd`);PlG#sCJD*2;ni1Hw@G-Ct=I}KCf8XEjI$xRm?}1IslP39%C@MVXAd6?e{Fl z2(%zwrMMQ}ihuOh9JSw2AstmXPrV!Is6rWjLM{IjBe8o>edAqErDX_>x{7ZBpjqT~ zS3WtvD(85)zOcLGIYQtPLU3x?TmVw-2k74O)}SYo@;B1)m+LUX{&dK(=(otioVpAd z(q54^Lwgy@45iI5v3KzLb$^J_{V4#`%jTpjzygcKA%D)xIcBaebd3uDrWViYsgx>0 zn|{xbDi5T6n*Xo=GUDbbtUes4+=j4tdd%<_IepeZh<5%FF!5N6m{~p#0I7+^x!U(j z*pii#tVp>)2*I4{bYC;vN%COd9cOSzwe6$*z7-guHl(u{*ZDUi3#;>z1?iRLocfP_?3q>PBZUMh&R%@m?0!#W`X$UWt@3OsMX_CTQr=Tn zO0^%rjD_=3>QMiV2Y-kWYC|}Sab0j*UOr7as&LHsLz*ljKv&C+7>UpG)=Qbu4B5r@ z3LLr%DMdl~6xYIj$M5f<#UU;NaOwrPErkHYc7Ht0P|dL~jKD$s4_%)zPuCF5Gs_Iy zewmjU_CAdZo4B z{{xJ!4uqo!=Xt+DdMc0FPufaxOuIAV;6p7x9@fh0rBi$dO2rWfrj*pB$J4~bAKX7Z z>whG^pA}Ybh4jhvB;Tn382$!S_lTWTk!ssV$DjTOMz96xD#5k*4m9tWob9Ev8pq6g zk(L1l;kX5*3hcToQVNXf0Ie1yIQU%m4B5; zj~s;bWd3$pJP0Xdw~@@+#CT*!i3T3P zNbUp7QTQlquCuWfEI2%0%>fF^YQ0&BxZd|cL7~GH>W&<7yblP0XVJgn{?;|1h8J4o zgx2rXFaTV>8*mo=%jk@YKu9}Bo_|hhJ$bX!<;)6Rvj~%h%6+aStPD36%PCsqE}STI z%xqOh3|h{kyzEoREG;6DSOgoS%p=Y?l_LD$TEhSLF)&8u+7-6bXHazezxDgwOFJ9c z(=_5Ymw@y&tgqD;Q+IMjhBl+8FdC1BvQnF@e`}yI)C!O=4i^aHFa3k?!+(#Z7nhVH z{?ST&cz$$c&PmNUsT{Y{iV%$W2NWOdYv;3u&cpLHq9EYl{y_6l3Dc@%hcZ<%k_u&> znf}hc%|;CRm@10@d?(tNDq@`xUi-rq%%p)~Dt_|x$25lGxE&TQo_#z;Zu`*%=80JM zVT+0;yHHA*x~@0$ZI?xu(|?pHARJ3YGWSZg(vne8QY$Z^_`csFOME0_30}B$Bm4fb z8zW_qQi@HVw6Sd6`*g;V*sU5D&Ki%$Wg8V;T=w*)V<>~JWB_FntEei?N^i0V)5C!z z5CHf*_(6JNV@9s%cLS3UwZ9I4kuY~ZaP>P`SCIM*e$1qL5+ITa6Hca`zhlw- zVJoKjitycagc<&J6TyDWFc+FaasK(S9`n>C=g%A&^E|mGU4H|MCc6mq+>KQRPxRNe zU&403ncAvM)fqRUw8qj|yk0v7>2~F+FnVm$w=zvCak40GZ0jwqKs z@-EF?-MH))E~p!aw;=zOX3-@j-tjs3Onm#}R&ZHt?x+M<-n zD^2Ns(&t4VKYunarS$3wN*=r;L)Hs7Z=iF3dtR~t_I5`3r@!sYkap3m6YQ^j&U{2Eo&wm>_9~s-ZRvdS$5#zmAdazu8y8vw1i2;ZuI&!jtBZhB%+ zan^9LKM>)t2YlY3rJ*V{a+iVHaP z#PoI2y`fLoxOX)G%2ao)UcN1>oYNPBDt}{k!Ts)(xkT!+ZvF0ixMA8|*fl4fpI?V< z)^yBp6#Kl>kzNl*BE{C0ef0T6Lz}^(t~0ua8x^?fmV#-=Ngh+n1TjQoQ%b4p?`Mv323^c z?XzZ-na7cwg2@+7LurzG-#Bpi_3t6Ts!3MN7{e_KPQqc)FqOf!rj4xMeJ=`ADW!IW z8q9_N_1*2!qf6_JyliOahW)8Yb8FV>Zp-mPGG%vg7meXBm{NQiy0lPwQYB+%jHl~h zfN*Q*=mL+#FbSJhUC64%lYdz>u?#_aH(dS6?|7l%@w9kDZ3s1(3)ftc-;48kJDr^y z_NPjwv#GGe>y$#&wZs(Exf(@6+#DtBxAW>xmHT??LS|IY1No|_iGH~Vq8{@F@<)1e%1s| zt2umOCT>L8-nfyCdsnC9EJY+0H*V~4@WVQ~A2IK|;^}!OTJ72zp~)ElURw#@I&LXv zRGy#tK@VjrVu1*q`+wTm^Ww)G+;spm)%zs9_Vg2&ea(CjaPv!_v*z8#Uf=6dP3zh3{7S7X3JKd*}oQlyyeiCyAs`8K9ta5AdKjCcI~=31eW8gog~=MNmp}_s6ULgz|Qe=CVysjS*75KkD6(ZBq?{> zsP#ISP~ybZCwvJfgY0PA&g;#asqfm;(^qwp;y+TI#(zGrbZfuW(|j;0`~R}l^NI_q zwLb_c77Cd*QzZTRSPMxSETP?J})OseOiGkBv zLmBMv`jij-Z?miYb%F^$u~Z~oB~2rh>Nfsl7}_ntu>0U>{l?gr5@BBX9oQuxwC^2N8!c9&1FFVrmB#Zs3OQTP;ig}^DKkXd_}0Hu_vOrk;%1pG$Q z{LDlYszZf6;7Ai4I1%iD12~# zpjp@ThAoP!(ujzLlc~;dcYi0+$8ZeCa16(Abo@Um6(T*zY6?(P=c-Q696ySoN^7~BaG+!F})0>PcZhLGUyn&1%J<>$LTr!VTF z*Xpj-)z!OpbycMCsnKT%Adq0bAG*o=d)>P!_H)z+TlfeNbHoWXt-E7+!bd5&<1>es zxdmsFV;z(1P8YY9ms&VNg#RL#sX<8CIGLd+QS9_mw|^J~1M+iydL?nsCkmB$l+SuP zrk{&qC53$U#zx12Cm)M^!p(yY%d`Jq0lZIkA{?Hf%fVIA>A2DDU;kG6nKb&%vMPdP zRBVLFCn@o-dPE_S5ZeeI9xM(_ICwNkM>)OHB+Zryw6*vM9|=9{vq1-epD~KdcX@>R8e#NRdBp{rRCCs%98z zMe9H-i$YUzHj#}AXMD^0gt9FF@CkRb33P|mHhgOsnq6N;6_6watLO14{|v@{Vc_IQ zRN<2RnSbx9kh~axj!rHVSAfE}0hh)L-bVn*ML|%u;$c$G*}Yh7S!L~U@mXc9c<7HJ z4KJj0x=Tu^DFR!f=(Iw9IRz9xv+}b2Ze_0&=>!hLEMhHW5H7!BFMXK=3M6TLY-h*{ zAQ0oVBp|@L2T6;XL6FFa@g)kon6u`%n4R-D}suf9$Hi*J#Ea;|{#w@_Q`xl1A-|?c<4xcR!`i2GyrZ zZ>cG@mfJ|3XeAv5bMu^ZP)DIT`1^SeYn`zUxBYeTY6wGSH7y6uSty$ySwIl{f?Iy2 zRH5oTgAYBSs%}QSYw|&vkh-`1125$cZYu17@|O9Z+n`jILtf8M3m{>|iL9 zM_*JK(hB->)kZjp7Z{)Lm=7o0U?88XKM*Zxx8P)Izr-Q%d|A$V^u8NRwD-7Y?Cv-b z!eMVvPQ_~7Pgd*NBp-e&!Y-Q)bZ9siz^6}wG>?(JU)8bJqndXlzkZ~Eex!&-q=-uC z+?NP`eQ?eRwhyCJ1_c5;Kw?mAloZ-xvYko#k*$`&BjeinW;(_}vctnfJ(dz%f!4rM zuv_p4HOuTRJLtNPgE)pEd3YSLFFKx=Of^%RYZ$r175N){v2>LX43v0Efq?az1ZI^0 zK;r9>LYh2dqA_gKj%&`82^oWlJ6sI^$4eO1*7_g@FzYrPOdT%)roGkkgs>wxRY!rl zQNuohZt@7XLUcNo0U-i6B=0yR3z|OM;YT~ZtX)2Em_(9(qEfArK;JCoFVP<^NhYvN zS5)NsuiuhV0B`TgT`&6AcY^`l>x6zj7%rrNeCgWIe#L!Rr7pOTHSFd)6k=jlGdm;Q zPJEMJi!z$BN!)F~&ewlEeusI%zI48HI1CNKS4@AG)5ksH4crqpT#g(jp#;W0TpyfV zyPUKYjeV5;0>v{|c4JgA#P7eE%9%aXs$>=w_C=aLg?^t!U=}hF8Ol_JFeM{7OezEy zf30*!mJscQ86m}V z_0Y*i54YgwIM$N7kAVVj6qlnEQo%OrNZY%-IDR*1VYGIhz+0adxxBP8l^QHnFyciU9xkmjpDy=88tUusrp9j>C?qJ*+lY_N`=P12WbWc^vhr-jh|AM!k+WN91@<&r}3W@`na(MyAxdUn0V!`DoMVQKuM{rEm z)+_osCg(2nM(H*pa?0^MB_2tJFY$6){&djUUT1$b6Z|6529K~9^_8wF|v8nxxgCV!6I=MU&WU$lAICPyS+A=?2uJ3Qt&>=1f>ED zP6fzNe{aP~e+Zpg*%#Saify|Sk7lfr_EArBDxEy+J}Pt(2uOVRVWQHojHWP5{|#Ed zi|EY_xAC!n1qZ9}jmO&>`FL{-KQJH^bQiNI<&qj}YAPk9+8_nW`Hp*8^~JLHBj{q# zZ}kgGmTl5WFb?LzKe?~;+#SA54PuF1{|G_X|Cs3}%Ki=BND!fZHac|EI$3vgHS(sf2y116AFpYZU2VH`|Z zJVkf}A=5rXzhuvEoE|$&`|7H1Tm=lqOZMRJef$FpOp;E?mNN-13TLP79RE1hpK^90 zkALrPZQLVC*{usnvJgk#ol9;lAG@VW*%cD3`KT^zqZOkUyaJKq!$NPG|3&Hh`gVDXDdT zzgscWbgxi0e^R8$7{mOL7Fx@84&2f+@Ad!*IIh!nD%k#|OjR%0*PgueB)krk7jIm1 z(u;*SgF=>m+COkzp?~HS)eT+^!P}CPJrugL^)5FOdrnclVms^1>zHn0a7R_HH;)II zPVMDeIODb*)aO1N2gT>4GQjgOMis=KGe@Y@F6#BfhnN`p-3+Y!Qs=%3Qu+(ZIXIwc zSXiwm&~*5cfhUqtnhrut>^ z4y2wawYp&xS)WFV!iE2Fr9Rlr{v zWW!;)$-X!Q5b-MXi`=?DH>>g>>7KD;^VUt9rmdMwc{)?#Kj2Hrg@Zo#JWXl6vT;@W z8JiY(u_G~6LVKj`pyhkZZ`fnx$m*6&8@YjX!U=CZ0I?>*7|A{L2iRn-ca?ny+Dd<8 zTTr-BM=puBRtOueQ?cV7bS+7IM8ooEU8)G1+~)w_5c<1CPlGp-Bqt0Qy}IzGOKq-- z)+m&MII_!s(eZ7S1M1T|>pod(S}nz0GE)eIvzw1HTQiNLhlX@!Bk@PeU6e&T|2dj5 zqo-(EL^%MZP$@@JA&iAltmmPiY=nw#QQvBLq+vsJha2ATl=cbgrxeKQJvZE{ZG0BK zX+97fD}kvBB_|VD_nMYf7|4+>#*GByrWY7v~~Z-7`}>UF7%w( zbX9WE6sHLa5jmrL=2L0hbDqvDy|9z<_K=kwhIhkkF6uYygGqPDXAF6V!Jnz(h6Ku?uRqf-vh|~{TSU{NX3UTuBYVL58<_j%76Adl@b8%Jq#@71$T#E7 z0$xCk&D?L-*VxipZB8$R?&W##oiNQCe}rzWaZ&ZAr_@zidxkvXt_3d?n*9ty0%jpj z4I0n-QwCV_ga{RDt5!#nY}5tPw`Z|UdmREb^5Xba2xpyw*hcz$L+H?>fiQxwB>E+ktX>K;6u{p+@>ew#}d0RsQE* zoL0Z)3=$h1L`m7G4jbAhwp;*KgfE&d1Dr?SPjeL*a*8Rv6g6DGQ_jg`BlsWN5RLC5 z>?|fY5EtYT3F4G znEMoWk24(q+^i$-Mdz0z@8=%z?f~UHRgS`qvXga0hw-aIj*jQFP~>eNkC`Zo3?DXY zb(CtZ{-GDR)Btm)!d|Zx-ThQ-IrmJ!NO}MiSKwc7wqNmva52a$BoT&mw(i1jIJBnR zpwUew-b8Q1^>-afcMnh-Cs^)6p7=EqL0e}J62qW6h{4h%t;gIREy+hp>T7M%Jeo5s z=5tE_EZRCr23|EV&-)a~Sl1Sa)~(pQzFP;WjCf2fig7s}IYNt)8lzl2pUL+Q z>t9`8>Q}e9kNhpAl+Anw4XzUc~$Qku4K!of1F+A8c1a#Slajs4hhDCL5 z)uv`}|4KdCS1dhi15xTu*_wT_;W@x|Cxvkz()jZcZ-NrjgIz#1^6UwEaLd731dN`H zV?TQ+UdxFU+uN_|COVqG9tId$w%Q)+zcM+33Q)2g5L>BW{*`*baum>=pr_bP9%IJl zAgM*)>;SPiB(yeM`yC@`!)6Jsv4HtKRZ?@HJEA;`Rur;mm0gXdFoNt#qDSHe`d?ulJ z>WN23IwuBCe#Zh1qdn!r-m~H+bXw&|>A{JtN#R>-L(|o1p&Mg%77t_RR^Yof`B(&j zt)1HZXHE96YW)Wp#JDU{r6?5hch>W7B=E`{O5I&HEM$MZJog->Z(?xSSw70reEt0E z){h>GCZg1R`rr2BneI3Nw+;RWt0s#!8y}80{R}WJ0jtxeyT2snr1nOZO-MER?uI?D#;Mi%NT>I8dUdYG4Nvgz z#C)9AOtpFRJiNvVj8l|<^7cmWlCa06Ijjv%A-5q9n^>yvLr;4Vxfj@PkO@p))!&l) z1Fg)LiO?rTi(IWI#WgyL)63^q&=UvjJf9Ks0u#Q%ZPBiuk7&J3>w5m1YZV+i@oMl} z38N6n_Yo>h@UQ>jlfj{v92-x_;WZPwUqPxo`I%H<;xJn}(0hS?2*O2eF1k@Mmr0^r z_f(31LnZl@S9(JFAoE3}SzzC@>^{Y5z}qIa()3pnkFAE%fd{>~ES&0C%D82Q4n6@a zXNDs_57BO)Z+{qtM!rwrXNJ=~Ua{?Yj8GUx(TpGXq#%cr#j)cEx6F)Ld`^Hwl{>wN z28;ryjiUBvtP^hc!?YIpe;!I?9ejq_L$)z~OXaNG@ym}6x~QSoNr>o;4#BAeL@?MB zF%X@6x&nJq-y>c06e-BTgy*& zu^wN$)5 zfpHY(Vxw_kzqJr4gHAH``y~$T5hh%2h()*`*gtYcIZ}{Bj77mm+(KXAYLrrTTLkPW zl2DT9;GSa=;?fTBXTmCg5V^+>3i~K0b6yb}KLSPWqUi;Du4f`>2pYo=0i?*-y1O}O zSgMO+G$rYlzdrr&X8?qbl7!@&Y+D`9U9pL2gMK!-*nc%|-vDK#8&xDmZ#Cw%%oXaC z4JfR38fcXz5O36`MkVJ-xAD|4kg0jdt_nJcrm?IUGT@@;TK*dN99+edG54fY_^I+Y z;>c|MK$BNZnk^k3)bex)OIC-O^>{Fh-hYa@#((GFFi1^Q5mC`qhHw;X7|;5Rsit9hko8$1^6?j~)T z2{-IZzwEIS>X1F=x^Hc!JWi4- zvVQw5YiwsE*pkf^{1YXd)2tBlo`$@vH1t>;( ze&23iMe3KpT70ACg(bpJMShR!s)@OazGW=Bd~RGafwBuEvT$@_!l#=(pYb`@8e3_` z92|(1IlTXO(DkTFvapH{-yjc?-sj)mTDeDqR?A`kMbZoMV`jwMb|3L@ zsC3Cy7+9fpCj_ySwJBp3L5?&#G(DfOICCR*zUg*(zc{bG0OS&OdyQ zwefq;h4HIiN-3kcpWSbyKdfZ*6B7VjI`Tr{I{pJnK`{vaTQ7rlWAz&J)IxgoW<^kk z+s_ssXyST4Nb`9%V(*|2yXv zBT{D3K0Ps*)m(m*Q&l$q6_RwI=9Ig`MDuKhYTSJ5$udmjRj+s{GO>#&?Nl!!m5CmqwRm>%o$ zeQSnigMT$VjHkTs=2g-89B2{k?k9Y>7KS4_@6;66kUO6t>bJq_CoKbG@wIIIxQYNB zZ7kDqS(Qb6)sP{oWKF+%{Ey!(okw~;_t5hs`#8oUOm*V#AKUUa7(u{bD*SmYC#KbW zsq=Wt^L3ya1!ZnwDfsXruhsgKE=%BLi=W>ck0Q!AJIqLXXowvYzDxM#CfA7h@~ zKs2@e;OaXpK(Rwd$d}yPKQfJtekb zrSlYarfHrlOrWbe_X7DsSO%EnBF8_>RxjJjzsY{DpFz~?n|Y5(dCh{Z(YA`eS=V0YE~6qS7STD3EveP?XwX6!Ie`@ZpC%61}?1g1*l26HC&+S_4R zNP|hRhK<1{K&*DKm!1UsQ!{Zk3NY+2w{xbBDrsy#q@qynl7%z5yR6GdFw|D=tPG2V zcG6*zp_g_cnVGDZY73fu$5|Xb9rxI90S;0U`k`PS2!|dD8t^QODN9@mG84wRwRqR%CK^ssg zOj#GKz@JFV35Ga%C64+ZGpJm4a!1Tzh@0Gyk>8xT!!uS>ZRV*Y5cE5NEHLbSvE5UH zZ>m2~*DhME3e5|31)tO`Cn$_ghRMUo>lpa+yQ zI@n5K+!UTrGo9=(5XHY(=XMP`O^m}{Bq0u$tP}p`l!3#SDj)4LB)P&^=24(dP{Bo_ ziuGnj042^#==*Sbe!)&bXrycvKVtSTbX*cp)9Dsk@RXuR!ybA)>z(=+xMc0KKvr5W zZV+8>VS$(KRafU-q25~2{!uh4Ef-th=_ZQig>T*__lnuM#~Cesjee3dMA_j_JB7&2 zP43Su?h14LOZ5)_+i*=)@RVd!Mz`Bif##_Qn6v2Kqph`LB@(tB7={gL)-*AT84Lp` z-1uquX;kofdz@tZYElOncS6Y1ftafWiu39{T$~FlZ7OCRbK^M zC(2h-tasUJWJKafKQP+_o+Qc|)$&SHIzRbI+ecJfJ73vVG zR{MPW>MPpMU_VnKDKmdHGAk2zT=NDl0&`-}kH&01ey7O4TJ)$*{^|UKpE#VU?*nGd ziwM+yV2b>|C%gC35ct$-ul7=`^$fiedmvMHIZ zQ3acrU@<$UnKxnzGy5Rhd0xq@>AJf2Jdef}tT#%a)PAz~L)-q36OsYArCe3}Si23` zj><&GC{Cl8e7c-tqxwPKgB#Id6A89|Z?;D3P^2n_`8@9FtPj53hRne_lCGPuBiQSI4LU$&Nx<1|f zgblSKY{^IFkbLE^t$qxt{jv6P@FYm!|8S61g5Jbg)Mh2Df1V61{fMEhWt*MQ&f_3X z$m!Z|EpGR4g@HjQR+f|2D|Q4#1@;Gsg8kpYslU+zYeHqtOAV&WrPb0RIVhUg#&w{o4)^r16%@mdScA_($vSV*%y4*x}*&8UsXl zm>)T5=QF!ox=+q{&Lex>56M$21#|>-w=O+LGtRi4e=A?PP>!m#txzR|Z-G2^>h9#r zfx9|3bRmY?D+E8r&ZEj*;S{E7ofEBfj#`OQifyJ_X8PA%W6*N$cq?UeL>w)yc~}`n z{#7-VUw)1FN|VJTF_4d}y(L8gZ-cH)h*w9M0pF$HMRUFQ-O$=4`f&=yd}~T;`QC`@ ziv0TU(c=BrK`$ihluhR6@@&RfH{xBvQ}Y?grWQW)Uwz9)bO{z5`d`)YI=AaT+z#AHn5qB(e=emq2svdlh|zY=iI=t*#n+N=pYzwQ0Lb?#JHu=VNu zMTgq9{5awG&)s`CNIt_er1yp%HR+9nv7eJ$e;tcU<~dCG%^&Gmkn$A*KRmmgI*FFYF`hXxL^QNlO*^r z(ESn;;yt3CDALp*W4iL|KfhKnC&DgAxA;z8P`;3T7S`k+r<3aeq;s!8gj7N6MsS%{ zr@F<@-+~e;qPb%_R0I0iNoI$?k8BJVkv-@2q&q1%5DUM`GCvta`zsYX@m?t0&7uOC(KGs!_Ni0aC z`iH%DJ-N{q(X0T?4KHVbS-aW=>zj3$>>~m~jS8Wa!;QlFe^Zmt#3>9JTAaG^fMG4u zJ~Ar8H^A(wmmoLndE%^Iq_3k$cK1l>D zvO!B(1?y6MMrbqECIM9^wHrx-cVZPzPpr5vwe|snVo@dQe>HzjvOd0^{wvQ*kBP;P zulBbsO|n+L$iJ@$X>nIp0QE<`_26rVmdO?lQv#}G<573^n9)lrIIT^OE+0MwY5Si0zv5U9)FtaYZczRWoe60E4M74US8;?&jVzziF z#ZJ?sW8KT#Xi|&yXzkT!g6|Y7R+d6~eQ57Tz@%i*lCAwVTB?Qum21U8FZfMF?*D<~ z<}dJG27_1=aWF&`h-(#qtsLeVv1L9}3F`S2TjG8e=b-A2SNscmx`DY3!F7>+9p0}@ z3Zpt@SL~Rb@)DPJSZLtu7VCjg)_znJ2n&7m=?>l!W`<=uBN@JUr0X61H)&4PN<<<6 zhJ|drWwlRq(fDADcx9j{>fxmg-*j!A&jULJQD}T4{6280f25t1#!e$U(@6u#WX&6E z;_$)cBOlN2=R%$@BhZZy-2M(i&JTYC{CGa-DuGpJQ}9~T-|zD8FSwDA!LPUbu z>;t+vJWL;Bvk6}65&KzmpIanWDM7~O}L6~j!kc>T;30-cEvk!mbPMgvYQ z{sCxee^40z((e@WP7HUjOm~XAX3xb1V2VYK2T?FVRgO|08DmXMr369fFt>HgUKlxf z?NZIgP%p93$8A*bpkd;F1jnC=L=n8~Pa9b^wmwUgNj5_NlvcFEovl=Srm9^ng!`@0 zuv2&(vr}<3V>!=_1~=}L$axw9VgQn3`5da)(i>NeE0TiW7S8n(UwsoHFqV@eOg)ER zaV1(9a&+JGnWH!Rkh#cHeKIK$+4m~WIapB$53XrF;sgaAC!aDE>WwUh8SpcT&>hT; zWIJSho*yrKKbR@@O(EZpD2Q3Dzhbs{cfD+XdaGvEJUere^mk|z;e?q-An^OQ<*XYV ze0bTH?`y42%8}$R5%!o4{vrkcqjpfYJanw0lZL6zN2IQWpp%oPqE3-TC< ziZXo)s%S9igA9`_S}RPrK{Lwni-H7GLi}Kck8i(Lb>f&xiIyw)s(h%B1n88c#Gv8E zR3}3zx^9LUxa9|Uc2GZA9nZljy>~b2_i@v|c3vnjim)5`xJep;Cp1Ulmhbmfhn)IVMvxWK~8ftX*= z5sCJ{tGh9HSiJ9zM7(1UlTj?wEUgYgm~`O~?nHY8jiG}~RW6=Ss61byM6E1KlB_+(+wRZLCAE(Ka}}*eD5_wc zr2BXFaCD<|KtoEyvl&7*mMh6<+-y?U!kAOcC?#{uP2y_Jr{iWUB7xh1uY8S?u}{SEexjap zKdA7Vd(yvXM^oyC_$n`F>DGsB44b)kCQ`C-NwynbjaZQ7yT75q{-!18{ze=<%5`M` z{DBrk(kK(r3f_{_8|y%DD8;r-stqusJ{v?srn(_tz!5yC(JUou(uHlPiWE-`ZT4)K zqPGwRQGLao7R0Zgr9C@;%)ETZ^Vr#pj*c$ecxK1F=YGdeu1E0n0vK-`9xeJq#f%fu-||Kwrx$eZQX27#!Zu5lWVfwWZgV@a+5XLp7`&1KfmY0`F76vZLGD< z-uqlHOg~8k6o4Z=@c!e(qE6`oBPA)!$jF@`W}TeUHo8VN;6o+JB6T=#ZD@;)?htetf(zlIT@a``r|C~sm6d3HMUr1 z-C%u0RVCsm2nZY{xYCsUQfKMpJo1G?H60q?G)AbxN$pi1^T$Y81vKY6yR(bF+Ae`E zmQ=6v8$)+P%~ic^m{wjLVR(ISEGaH2?lQXDC)0sJa_rZC;t1<6 z0RVni3;}GVZdghis2N0zD1;DfFg7Idj^VDxFRh44YI?1R0ZX|B`1;+D5+8AKaltEl zMA?F;G*0ilOKofGiB^^x!A{U|kZGi;1k6n{#>)4ZTs}t7?Q01ie=-py*nXdM1OT8< zsi_1IgGAs)62&5f$<&KTh<9>6LZBfBh41RuHBW%|Vm*^$O^+W*p~@sfzEZ#bXT zZ$u#JG8A}#i2mJh!hYkCJt2KPs;k|CII^#9Fg)&nB7(hc6;o=zXEA2?V0dkIjsU4sA{$tABBRLE<@Y9JVc@JJN5#?Ll^wvw zqq*gZhd2WM^x4UNOyRnA=;g%nF7ORat6gDR^9#uKUK1mjf&P}qhs;x}LzlV7LeWW& zYhBte4O|Cun0zXMgTooVVG%srke1cHoS!?ZD1XuQk#+r`m8cge4c# zcK(FI!!t_g{BpH4H8GGj%sNj6!~3!!Ke)@u!iJIGg#csja2-LLFcQANluRT9qtj11 z&1~&OP`^9U7y-GAIx7ayvy2$bEtxIs)F-O3lUT(Soj{yqaBiYhT%ag zkxCB30%Fklp%)t1Vz`q=XuwoMxBiaQrRE{LYkfGE8@^y>axoVW1`(qq| zjM?Ml2qSagKhS8W9huc-`fW;ItZpaONgc z0={@PU*!so@5}hKYS;m9>94-W@0onm&j2ICUm^v{5Xb{%_#T;+) zaI*sGyJ~HC`4w)M9Rv_1oG(o8B{Xq5GRX_}slCwl5}Tb}t5cz|%#xust^Qkn1i-=> zG%ULXdYR*SJdrt)p;Q2R;44ix)8uU7)vjyxEHBLD$1^n@m`lyId(9Um%pIhhT=~(r zjG|@``d!I)M0MWif2S7~`he(o7*#1pRC8_p8pV(itV#$yoge=oB5SsR7T^{@k-$Uz z+k`s!tXL?=zT{u5vr%6)G66CpCRM{9P%N!V%uLiX7D_f8vMP*{d>>)ouilpPYpSZ? zPWzoduXy{ZLctFs*(d{}Hk2nP_^(pq+wa$)0)C{h6p>6Qkq6>Tcu|z;^a#B9h#)Ps z8m2cKrUaH?DNnc;0ZP7fUgJLCL&OXQWU0Puub8e6@w!uA-gD#;^{F8Qw{hQBkU#4M z$peneW8Tt%YnV|d$pvctK$iuFt)y>;LX8-|1G5rzd9?z2ha+xgn;<_rIdNti;anvf zxvn!5<~a*Zwu%^~6XBcZ_eyHUAmu-aR<&Pc2PNB( z94|t5)GgppL7R@)WUvMHmB_hKAbC4ov(4=-^8S>X9}vY!6JCS28$wqX&wxqe$hsG& zpW#M88z3+R+I>-mzC|=RisSRmhfyq=k?rn%`E7(q>}g7RB@vH!2ue0r{1UWQ>#{_Z z6|MFgt+pwsuZFk+r^Osg;VVbdp;;eR+dRlFgUVq+VVLq3h8;N}zQnE|mmqle>qipX z2JeI<-Q?N<@F;4e)h{aYbP?Ng4-&VtL7|s?iPVLHjxxEQ;N|`9lMM%6@7RBhh6)V= z$g-oWFz9v(D zKnupM>`5yVHuG3}0q9biU#|~4zE|+6Pa}cu4L0>SyZiWJD2PNA&sP&(4`4vVJG;xL%x4< z*{?qj*4M<)%hvZH8Ywk_i>${hogS<@4NnqDr+;tSSuU&J05z8I*LY-^;jYxQ$qv*0 z9R*Ql{)-M-rY)TUcZ>JI&K%zr;2_R5#=F+O2xT^7?bQA0GX8wRlw?2Vp1d2jTNoa} zN0)eq{firlSn%MzzxFbM?DGw6kizEOUE-jA$~PxGpOLj<$H1G^B?Q{qcI$)9kkgxs zrJh6vk@nso5ZXn&3xw8EyoXLdeRt#s{sl>5@R-U5eTLQa2um0lEdFl+a$>$OB8yFK z(*qL{r|LIU%uqR9Kp!nXuU*Q4&_UqxYG#ZSmO;{;A(TJb_Pa9+%*scc%tDiN1ssB#AzJ3T=`^iNSu1 zhCL!6S}Q?kg4YV`CL@fej>AV)A5@C>`v@(d2cAl{Z8Rq7JqQhYF#IPId&kzI6A@%3 zF(fvLFwBzQT3RqrYR<=K7KEn7mKKa)9rUiONZa<#gbqc4y|NCQdb`V6Q;os?#`T#k z&XawnZBu{I8;3%h9}%@5f_O1Dp{8?JtcgJhuI*nO&_>ElqJvFqX?UkP_YV?T3301l zzbOG*Ew7z|S6&BqC!^bae^ZTMZTmC z^|6P(Atd8Tq#WfjvH8mUMACd4WbVdAkMkj=-7FBmfQUYZpI8x^UHi2h)}Q9V^b`*A zK;7!cB=trQ#F{PR*XCz)54$w*80!OveiVhVHV|$8;MQw!eSFRsqNFqb9urr)J(XEc9Y~vGxophP?{e^g@J51N|mtMCk4w<@f^c@7asY+S&tqC zT*3J5f10;`R1g%OF^c2%mu2=R-WV9qMgQ=oL?Ee=7p4;TTQ3 z(cHBgY4h#CGz}_m%6bPR{!j^l^x!tnPB&Yf=Kq2L>*x=Y; zatXJkf|Gb(*S7{EY|}{q>S?>bt5=34O4+(0xwTPo2W3ZF!OlVe{S8BK6a*%@|6^g{ z>oQR5w5gqc&j3YUE#5zDJWg?{`GX--04*DA-6v$1DG>8f3<9XaOp-idFhjfdsThW!uTZHlVi)^S5=8#3S1@u4!(l|R+%_<>m2XlC>N z3dc$MRKm+iAI z$of`O&VibXc3NTz?{u$bDGnU(fi8P*h8`fWybR)Z$aiQqSddJP*{Sn~4$-z!nZ!^! z@zw@@?ZU9SxZ&1VhT%mjT6BK)-&Q*L{4;T@S2m+5=ZK!{t3gY?(Wwsfczi#I$rL7C zihkTV)J_3$WV*YAF=!gHjOU-*)&%?<{0v5YC4?61e7Na?>Ka$P0=ua2$tPE+2v>Y# zMLb&?WzC*J9;(Nk`II5zXIR#b&s3T*g}6T=+D8#*I1vrhDev4TKTvum(9S6Lk8S3r zY2IIr8mXd#So$}GPHhkE}fYdC*u9DTecB!6~Zhd*sKcl2$f9{xNeAC!<>C4t}$^_XTZw!$~ zTIDAmfi}vev;rh-rGfe@pF_{NW1@0V&rN#qeVLa?R22Yh^87{1>H6Id@*p3$(efE^ z56Hjv(;Y$tOY-OiHtC;m>s~V(&n@ks^nV2F|It+iz~qvkfhi=mksP{jr>=G1uhFxVhh{LH8DY&hVIDU zKd^rxd^8kB7biQx$<(hs}b0xAvgjozvxL)d28X6mnY|UF7uqt=7ojl?Ri+WYH z*`j>nXf*rh-ee#{LE7JEz;Q~6{JzSD_pI0VD(#Cz3wOjl! zg9~@2_776ut7CVBaq6UrP!e$2`db3Od0n`Fl5$)ZaxzVmb#sAUlr268TE6NY!fnS3c|a2Br2Ak2K|omNxt zsRQC5oTqFZ2MI0P5W!`af~WtGXiz*A zNy8jo@Uxi;8%^Oy4~R_=y5mhL8!Xbyr?fyW?30)#H{;kqj6tYa<<<&=02HO>q;y~7 zB$YGXY)c=rsXfcWHdFZd&vO+V^5a<4fNHLfAwD?ilo8ZsS3yPi+>;~K| zBCCwX<2Wr zN>SS!tNDJW4CncX02yF8^FYeP3PGNW8dAzD%Rl9Hv``KpoZ{1x<{YnX9oiEh&7H1Y z!X$Ypmc~H2{~-+jXj1#ON+0tGkxS7k5J{-HAdP?nfGlsZbjzjit_D$rL{rw=yCUWm zbV>g7T=>pzg)*x&b_b{keJ)k)Z+<*Q+hX+hDk!}17B_vv76JG)l1xujaMt-Ao z&8`s!AShul51Pg2po4_vF)*e?%!%1x)PZrCZ$dXvm|_P0$>CrTE0MEQ7n$vDoy0=y z)UBd>iKr!HiKHx7vEQ5Rra)W<*Y2f}nlOqG%mjohO#laHp2X_R-Atm~kKv;)A$fu- zzlHEr4||jL%Q8$1*h?hv*xzOfgahP1M)D1$^POm1UVcNgRf8xQBBX$FK<)wuYE9TU zjyErWg)687E#HMVjE9#%USt5+FqMxuQNlsed8(z1-AYn*lpGJGzMYgz9Olu4WiZvJ zv?$4j0%=Io8cGo|MmoH=rT9IoWK;I!PSTi_KR*aJKi)8&nkb7M&VeonkRqY3Pxe67 z7$#%af-O670^)eHfst7lm8MsM z3rhg^{#GG;1OO!Oj6KY{-cMBMlJl@)#|EEU$T&h7K+LoG1T$h3uxUW8kOu@z5)>6& z2JQEcj0*G^6+{__(|BrpU-pP2p#yUJX*NicH-+)X^xb{5+QIFY6u%mwqW2bTsQt&- z!EleS)0QU`J~UOwIqEVL@Jb*=s98pJcuA<#FIqJ0^}Dloj1a-9yxrLh?&L7DkDGB7 zInc~}Ae0Ibtpu0%cUUi$KSfQUTo7zdf(b9_=YtvW)nd@SzqTh~jJPRDjL>UXS*%Uw zqsx?LfA%Bnpz7P8AjVylO!oOxFqpJkIZ0;DOtYsL?SlbDm%WJUe6JE7m5we9z3*%8 zYFQ^}h8Wz)=WV8V=6`}}!>IXq&{88GyH7Y-K?+@EI%Y`SF@6k1ZSrXO;1ksjRo7Ql zwyeQE8s)=yhSlXIRL)hqdZVhSvU=6PUIll-PukEnG(#d)iYI1(9dgJ^Nn};M*W{Rj@ zkPT_kfnD`*%v<@@x#&{pI2?Rxj?18?DZbgi5QU8s_wlPc()li>1e#hdS|cO~g4&wY+BzrY;#b{{#s@tZB4L>@l*JOc$v-XB-;a26<+Y&a{f3&{k}4(C_=N|TP21pp!9Qw z;R8M)9hTOSsi?{CJ)tR8chWk6yuW?Z_&g<(v6E z4kt@XuL!uZQHRx-zsfY*W2!|KpfvUAqPnTofp+8a#=?j_{>8h`X82pSZF)3*XeO!) z8LrNv+xSpF5z1IMPan6l!-fVNy9m}G75hj7C;0(BVZ5o8*B3!v|6s0`#aCGqCNIKui1t)4-2_9nqIxsc^v zczbJn%e;vm-%hR}@{J6`RUgtFknZ~l5Hq>C-TgLro1^IS;DXHFR2Dx35*BdJBU){p zVF#fMJ8@#x7y{48baoh}zcB&%!}rM1kod2Qg@7m=eZ8pa9xbD13#9b}5gEE+5e55m zme61ehnR+ghKC%K$tck1-7RHtXIyg*4;MP?pJ=N4lMP1Wmi*9AI%E{K)}y52mZzLm zZ*kX=fM1xTTNw_z+bh;ab3KE&<#cs6Q@`T|GTvQLOogxQ)Clin3gdP{W*+wjHe zo1aI3=6s*UwpfrsF70dN_&uX0GzH9eY2}YIxm6OZmCg+BJS|XnjKbWvdm-*661O1? zgbkjf)wzS1&SSy&b`@vQ1m*gA#On5GOJp#%L+sUTzI%MCvzp8oS}%*7Ny?jF@~B1! zzZ$CToBduV=rZbjEZ6Y91}FI65b!>Kv=vptxNk?;hlBn8EuhhnpqO9uX|EkXsey{% zh)nf2SatEeBxKFVN91}35Gph(!(_j?Q2n0?Sz4z-?sw;tCT>%MhAcYvI1 z>Lu}~YY$DTNn)OM0K7d9+EP)c+$i85%fxd(#}Kkdiv|RC$(*of`KHT|G&AE$BeyiZ zaYU3A)hh}H1Sm$r>KLh=xh?yd-lC`CuzhyP)nut*8bR%%cS5ACE4lYFM-GYFJ8R3! z;g-48)u3GG)LMqBB{VZj+VH6$VK-Y*<$Jx8FEIx7tD*Z2Dfl?uC0y?7XnD`ilauKj zWhUA;#vNV{!K#WOzeU4SyPZ~YRnG-O>hqsm+FCnS!ytWt!;k?@s)oi9gFz%tJQO?> z3fR3p_LAU)h@?Q1XA_(JS%wfNLp{$lj*4|$Ay5@>(HseTKkHS)Ob%{#WihYgG|gIq z`5sfXgkTgQGrfh+S+%5I5tlfr{mcEQ7$_ev(hD>kr*+a&1OML1d6p-*9H)UF*fuV! z8LIp-_RGbw#_4tN9ncBejJ`mY6^04kW-i%{9=x6tIZ!njIHJOBkJZNx*!LwgX0d;f z1)T=z>psf^{j&wCzo@c2pI@l3xSxN8J}&NR4Wd%~ngLqbT)hx`~gL5ZXG()8lGB(y^ zeo{4iG#`E5SF-D>VqVp8?cj9^naN*kOcPhG{cO2W-Fn{+PA8;=Mp6A#y$#-q?4_ar zB2Pr1NYS`k8yRWK8fm&46)JSfs#@(>urh)ED(YqLBUtaJm(k!)3y;lp@f?p5Ec+Lp zQA{NvzEl=6Vvs^cdS_33uk7m}0>V-{^P&j70A?$bpg^Y!_@L$$WymvIZMB{&r3lky z`Tchvi(zG@Z}v$5h{4All;P!daYL>xS$e8CQjq=fR2P7Xwp8gvN)Gezav(W5BNJ&m zdeGe)%X=tCgY$4|n}e7d=|Iv#mnVC@7#)m82%lIl4*I7WNroks0o!_)z|ztpYt;7K z#S9UFJG!;(H>^ZiblK4%8CGBWCwJm84S1X50Men+CGT%FHDxbgn=JCW1^*r03RBYl zkti^+(f6@k7RpMtft6;C9V~4Naj^jh;gdW;*nN%8%cGL z?|V+S3QCyj*dET`DBx3QI9rx%!tx}>247^etmqb-P>cXJZr|@=>+LALLkp(%7BV`5 z;Kf=(`eQ6Ei|0swZ_~jnIk1ND>-pnM5v(=|xFF|E31}Qwy$Oz355PjF@C;(1xuD|V z^%kh4LTB6eBti>zt$htGKy<^L`(J4HPO&QmM@`zos2q@9A-*aFVZXus?yQ`&P4NbUvH^=6BEz z`Vs{NKMnv`L^Wl)-meg^)UKiyeug=^7WYJw&L>1t(rVA5f70W3`6=jrb7=NjztshS z!bU}v^A>Mi=*(_|tGAF|ZM+(6Nf4kxDVL^=U3wR3v2h>;8{8fzW%S;r&wn0f0TI;V zL+6#w^E1#QiX0+8Gd+!xe41nH`NS)S?J#a)aIED=eW*iUS z@;RsW#Mp;#Rr_2`_m*#8+2!SK`(C|ikXx3X#+>dajy4|0UtsG}yRV)!YmEl6ToIcW zPe#Ra9>+}3@a>XyeNOm;NkR!6DIoUQ%R`Fj1Y@v)&?h9?_l z0K473+aoqMR?_`K_19Th>_K2xb?*WwkOca*n+zsrLU$*2582Zg|J{dh-8Gl{r{bP| z{2)tVcjGz9Fadx!JurlaF1>0d(>%%O`^C%V5A7@EiW__l(c2;c*a@7r8@2>H= zDjyCn9hZd-q&KB*gbi|Ptew>WT@>m2u4}hh!|cb}Uw8A~-k|wH&jgZbLwalwJUHm- z=YtvJ?4x!F(B~3-`w3;wYQAiX8aaa1!PfmVxaVPmB)qjwMJt+X(24&^o7^do$p zE}{b}m~&Q;M3ByG;^iy-A`ah|8ab^NDr74hGTff%%W>V)bjxrIrPm*dn2U6R3;Jh` z)T>H9pe5I+S{yT>>b~Kk0elco`B!?RjdSMuKL6uE!}U%+xa0=nh?f5tp_lehJC1X4 zjw(w*FW`vhtY)=jjh0K+(Dl#!GKENW;=$@473&&YvMCXKeYe#@61WJ-`>w0aki%_t zD4wC19OCf>bm!I8ztN6V0R9X%{xdy|-HDw1_rhUTBLxHjj{<(^LC|!SGI=<;sB`;) zNIx~Xe}IS&cH%hnY7fak2+dN&YwV0V!JEh*!vy#8!acvx=`&0_AKwumwe&IBpC_k3 z8J`~WP=nH0=Ze|8mkrPq$!unIWaD&%f)4KaVDZZHmpmX$*ek1VlqG}Cbn!}+x=@le?`%Qar!$5zWOhLUXT0> zAeEV9+}5=ZyS#SR@4saeNy_QL!a;}zxpuR<1U!$X!|X6hM44{Ls_ill^sbVzb6-p7 zJp~v2fS6@)`<2Cwa3P3KIDXPU@YA5H3zqfbM?DwVzBv3 z5>FCq8htAms)D;(8TR2%y~@E&*fl)d*tlc8d_>${3VWHN4h6jS;qF(qeS z>5O}#?L44>#UjxSN_L2q+hci`=cDkM&yJ>6!d}En9|74t(0>t5Z6pbo3nO3~b2=RC z*hcQZD>hU%THLq}nK($oS@_Km7zatL;gj9;q{nP!^O zauh8@`7p^p;SeJuIqKE!5R7FbxmW4;lpXppJIK)R6M%ft$qrp_Bmi@G*CM%pFZ6uB zNysexiXPy(EBOmDNQj+Q{ac_$bC=t6N>|_c(s7a;0UMpiJC~hKK*YJI(rnD;km1$D zx)6w6@&8(Qb6O=gXtb#|lg!ejy* zPA?6u~S(ftF7cH+PiR zi6x?}MZYGvW@hq2s2jwVWtSanme2O(LWbGIfrdJo zN2@}&UK(*`aEQ<4IJXg#9QmmD`Xj30ABRh!Q@%zLLAgEI{}<01f$LhWi4f9G6){nE)ReCB= z>Bn&5ci4)1EwM{3Oemkco1%#Ekx`NEzb|_c*yvoCEDiIMZ!<%cvw==Cu3uyzLoD#7 z5OSk97&5j)_bY$JO-KGZRxJjEsKa3ZHlafceSfg^B9l^m8>9Cm9e${SaujUQXr`$o zOH=P`t6X~VVb}c#k0GUK!26{fOFJ14l5hKf79+w#hU)^vI=DLz!UmRyQU&A)&s>Cu zgmA|6@NDhv4Sq<~wl$r1WBCv=eMw|pd7L^;{w>KZVcGkSH?s@q*ks#g557`3*ANQTt`8;@_pMExKLW}+DkT&N%@U9 zd-`o;Dk)vVd|bN#lk;8u&E=kS5ZX+txb3ZromZ}vH2P4%lSeYHFa$%Z61Bmz#P-j_ zTNvzbV-@#0h26(63VD(0dTr3MBroFPYfSnC+D9D2vZ9O|?k9_EUF{Rf-m@042k?CU z{oxK4^XDKcpnf=21WqwKf%PURWi~eMPz+5ib$)4m(4sr^2l+M*2k z5e9~U_;0pE!aw#!ZTm^!K=0Zs!PRYYyEP951qKF+ZeY^T?0^M>9}`4r6B^wN9?GF` zr*&m{LmtPG(+X9+9*`AI!eO&qdIi<*Mo0zP%yGlmZAO~7DTabQ!z9yD<5&Si0uQa{{kzc zh=@^XZN7n3JpR1-9{g+^i;f|uW#S}piRLgKH+*uVMgH-NUQ$Sr2UW5?9c#RrKfu{4 zcBV97I0Q$prX*llQ1?7NL$Ys$QiH!5W(jG10baJ`fru!B1wqOv!WLJ9z=ENPn$G=8 z^j}!kZ2WL~D04h1aR>61W=I`t1sLn;NvPNs$@0>DXh79ZYgHx%5hXPtP@nPC>^KGV&l2Dvr&{|dCs zf`T);n));?f1L57M6&BmM-6 z^$fJw-MtfI3xhO*t~C>E-M;O&#FO*g&W7?L(*eT6=HMdcoksfX;8QkVz~Hcz2FVOA zRrY{dg5Pq1=vv_)Sxbjl&`WN7N61!#lB-el#p7<7!KaTZ-1yupW;0Jxj(-`sNmf{Y zw$i|DfZsg*ZqAnvl4U#}rqTcGvpAU7248F$n>^`8GkK8* zF(6ZxLb(jZB~=9_oUWsS#+aFtaZ72CcHkZhL6lHb|2kauKH-HhK*cq}5GN@BtSENN zKt<2U$ZDj4@qy}#@dlveb@p#Q=wXfVQnKJ$$W0X@sKI;hJYHQ&KENOMLla?d>yF%- z2O|_!y4sSvUjUvVt$@p(#|%e#`V7TR&}o;>l#G~|o|Tp!gp=}ks^C29b7Prq$?GNj zZh*`yjLsK)9Z>3df;Gznw~c-CJ1C{NfwGY8dfBoRGWK?%(62ql)2GPa z!xHG>B}+NTd?PJVY%zvMzT>NBag)E_=%^S~WG*T{J09?QXjwR^kt*szxmL$#PKG_1 z;~=PKw#oE766t?S?{4*-%k56mJ-XV22w?WF8l$?ntc|E<;?sR^AydC?;4>wFJ#wMyR5@N7{l$iY)=*Fq1%Golf z=fMCH;8!hZ`(BK@At3IG)?{Fc$YWWZkXMy!&j(SF{S9$uAOhny1T9;vRwO%%VA&kh z%m+kQvzr22!TwAL-`-shR)1|2I84uVJwa#J_qw<*J$AG|-%H(myjx>RWG8nr#KvKR3fFrOD^9EJ>sQ6;!%)ow6;2^?6NbzX z1@mIT*)pTtwhlSrE`-J3wr}u$axe&^>kgxif)<(Ml+;~Tb_hJ)esi2ZR=AZEm8r$u z?F4pJ#oqec4Q0cPM|onZ`9QS1kSB>9-@7BVH=^v3M4}~V9*_bC z0Ix0Og=ze7yg@;RT1gnXbB7l$QitBz@wrgt?e$f4Jjby#KP^bS*MQUR{k@dlqKS;P7Ti;BV^ zR65uAz}xyXI_T`{?&QTAv*@d>1rvi&5_7?`iTxQNi3oOu$BcjA8z6 z{LyM`wB&SJ7ueYczJ5!6zNnb=zlLYl>&E~;=W>$nDbSR#11w0D&>1zE*^iLF&{?}Xhc-TPdLdb zT^qfKiZHdtz~;amT<>$T6`|jZ?j{dImuP{_UJM(f`Fo#{kOn>hmTpH;9p=CFEY@TQ zX+*GSS~q-0RQxrWMw&gmx3znFGZpizZbf~@>%2f}=0f4R-l7rgzf6Y?Vg>vh0(ZOI z@7i57|12YYh#m2THfS;FE5*6sC16C04dYVoroSMFQ+bHSk0Ccz6FoNApb#aw(YR!5$C%)5o1Weoky-goxwS)U_w zbviBo!MguZlRSjZnyAw_amB*PvPi)E6Mliy34-QfMY}Vd${;G78IRR4 zBA$ZWfWK;0GrpqQ4sCYm|rqB{|k#bk$bpPo{QEH@a?=xLJ~ZXm%Knk50Z? zawUcFP6`!*z;mq@Iw;5NA>0*+s_SwKA0Cu;i8IU?o>seK5L61%g!yzzGz#poo=DKT zSY>k%>0T_ai+Uo} zOd7j3$D%~tg`v&a!o0yp@~cLP_nj2=RgzclUD!k1{vzOLwP2F^^UEZ|KV?L$J8fxC zX)R(2bs}mz$N46nwJ}**tn$^BOCoY6q1PG(Eb%KixsquX-nUIb^dRs0+Yu$gd)T$o z<2#tdiX8llatT|-eF=dOcB-byWPGf4b0(S#h+(hoTV3_B1czI3-@WpxF3`T)xY4I5 zv&f)J1RZnDHWK*VSn$I~_#`;jX;Q`kvkqK{dVZ@(A#Lu$r9b%@MO*-iTKQJK?PcNH zd0mE%Czfc)f2s$EK{*89^(<+v5-nN5TriEp?hPZHD}sbzIB*?+`S2D9pUt26b=HhW zY&!vh+Lmsr?Ooxl5^H5Bd-cLRsQSA(rw^3Y;c>zd*ZN<-iLaQ&=v+yS-e0z$CBI81 zv7O{zPLAoJ+28EktJNAh^*f%24i8)9g+mv|NVpgyHvArN!>a)GuDor*&@>{KP#>9n z(e(zVKOPgpstrd2uv}{DCluR+e*3`~ zZGJwv=Wj|TVt0o%E$_b-$9x{z!sophHZWzPuV0sZ-N-qrT4kXXD8cK^oH*qMVb^}d zeCr{WXU0jSDR1?C4N);{m*ESY08ywLVp&Actnm>bGXaudxO#r%{;B>(YW3#LFe-TR zZ3n6J_pkc&L%q8xhPl}{kF$j}{9>=|{ZHJ&;YRaGfhRdSj6AusW<9{i*e{gx6N!h; zp-2HUL7}4^t%neU5)ABdH^4N5r#1A z=q=%(y&q-(>UX_&s(zZ=B6u1R>4OciCh#u8t8H~94QAcC4AI{n0f?zNFG7}vVCD*&Nb4h~(U|(J4gwNr_o#s8#AGMpr z5WexArH4HWJCT0FqxnWVIZl|P8Pq6dgT(Y^LX#hJyauIJ{EhT=K?Z#N3+t)l@0J6*F}+nnwE^x$Gfl z%|t~ksreix7we2=`E{J#ht}*>xehidqYZSOyO?RtD>h9hVJ8e;(EMSUH#^g}=E`}o zbtQ=~_LFO$A?41~3{2Ikpv(n^{3Uic(*9au1P%A}=}EXbxUXh%$&n18g5E-ti!Vhx z*e0X#3ve+WDT-CfEzAU44$s$L`jh9B^k)y`N4jOJnh5(R3uySm)dH8$TKeJ^rEc#uSR=kp2wJoC?Vr=l1_Q z2b?Fm%3dU=&v6H~jihm3O+dk>!Ry)ydf_xq$ilrzVGtx-L;hjXHj&kU6~5oe)T@90 zk*bm3;#prOL)$sD?97BKYoedxbs*x}$rnWpYBCkF8!yv&*Z;;qP}xAw{Q=&S+6kVe z%Xv8$tk;0hp7Z?M2e9W+8x<+5dAu1liA}Q&st`*~(LveD^hO8>y%L^z)8BN>ts}p~ z?mE8$Cj@!)18Y0Tj9k&HHaKkmmc2w)V0{WfN6-q$KAa+5aA%N}10a51=`oNFr@$2N)R;O~vf)Xx{* z<>^X)*Q&ADX#n+cSq9ZM!J3vEMxTz=fWvDY%slW{UR* zU=}tXzHQR(t<-#`Z@h7gV!ha`kovFJng1-aWo>|Ee0?OEc$!d>dkycfmUvxAktT%^ z%Yo%k=$LBwlOw@!d?<1lue=v3%26oHuuEjt~4o zjlGz-D;oDC46=Y(el*64QQ3)c9L!=JIbJ|7YsX)7bZLTBFdS4PnhQR8;dGa^P|;H? zt(K<*AF)Sp5k?X$7YjPi?a<0o?b}c9-NA27jtbL2ZRy!2>si`txrORIENTiqn8U#Z zpFYRi^S7`+kk|Ei`73uAtEqb883O_sTX`SakJvqNq9k{IlZv{?6tK9PL~5c)Cz$Lb z90bdx4%oBxH|}{@`woHU_QzbW{>Z?R-K})#4msBlDkK9LN4dH{hhA}%@fj6$T_vxA zMA|Kmjyw`J^fnFG5px+ex_b%#o^#^0nD~`0YC$`ghlH*{hqjr`YfO2W0+`MxN*MGW zYK9q~?mF|b;Tx+~9sSCZf*Hmn4ThPq7F};NpE(Scjx(AVEKGi6R>Z?A!{r+1bLUv0 z&X_e~0Uxa)9e6XiKRB1nIeQ}(mxjfB?rcID;yqRlL~?p(!8m`NhDMy6z`>b7Z)h6) z-ZEu3EI*u1^Wf)xIc6G~0f6^aox+BqO79Q}?)hX@sp`3uRGDx?kB`ct%bi1P&Z~pU z$%Pf`dUjz|6JB!U0e7~4yZmqzx7N#Kfb7xB-ksK4?Sp70^3cqOY^hxgj5n+-*o+al zOF87yZk6^;FypdZ&=b@-{ZQk*_bl^w0oInXiPs)&pTf`SSEBuE1)>b};&}8fE_w0W zyrnj0v)cBZK+^AV)eAMr6`SW9k9Aj-%;Nfg+#Y8*etXSa-x}XDLzm2mUo!5ijG6~# zJWLgxTok^zCY21t3@k<>SbGZRiXfw=NGQrcI^~At!>z;2LiLLvd1+bLH;<}#sI-fY z&_`gtT=?MbP?8G*2=$EfDumB8ee{pD_OI&bo|l=(qpnm+!0aSpRFV71T`fy2e82qd zT1l^k#@S8vc_m3I{%hi?3<+|BgO0_b#uv&Jvhrjuxs8A)lPi9OKd%yQ1@wEg&8KiQ zJm@g&K@9O>KkrYej4!VricsC>~RpBZ`&B$rW%F;_Q@Fh*zrQ|^SKK-**z4v z(Ok*~;vC8UGSuR~*%{@oxWLKxn5H7#I zHp5<6{RYHlp+?Y=*I#Pvgb??F6*s$F9ybZ13O^*Pq?Z}w=(*1g`@XEQE;8ib@kJxRRTC!`MJoeMeH4 z*TQSQ){N!ZAjj5z4O$J?e)(|Cp8usBm?`)qoC`j99!pYgqo-F-aJ2dW9t^+1(|4wC$GPW9 zjvX>1kp|!~4GUJQJ%6*LB0ec= z);WsksUL)EcA|Ec?5DEY0oHLe%F%0ZOY8E@vHPV!+ymxAsU@Pk<*)BYvvM zM1tKJ(%Gu+1GQqHL=GHM$Z*s*Hf7Q*^y+*LflO%BS7A7HIa#e~+;rkivTA=XZdQ_h zr+0&9`QWiJ<8C+!=TDIrHN(`$Vp)v|(A!lM+h2C^kQ@o7Q?5O}Bzr32YQ+2$i-$fN za%XqTzu}q-6Jrx9dRS7WUjd!(6>K1ZI}f*L-WoC6xtAU8OxDyrqSQB3aMY*QU&K)x z5_>aM>cm{h!uv`nOuvUN=Jy>&GjQ$Q{}EGgHYFA(xBDncloB{LFKivs8K&aaCANvT zTR&zU7a}WYjw_~harg@fR)zS5#V5jc>F)Yv^%jlEW}G=(AfWVbjEmMg*| z!B~K9%T|k&-zuw?!tds)qcn7vDXq~bCNYO;?qn~$sSlG;h}(*?{ndYKW3{QuFbYq) zaY9RNhg$g{Af$A{<^)h+LjRcst|wOF^6s5m&RM=a9Yu5*&?34+aYK?Zs=xI&x*Nh? zSov<`XWp>q_9q-~k1w!@vt~ocm6h(M)GUXGXmUDE@X%dC3Vk`sq996ip%?=OcN<{M z@^cj>&pP5r?WSB#S*;5_PxSURYP?3wN$Lp}Yw=jZIN7$MM1UyA)#Vr`%&~cs|3;v~ z@?~)P!TXMD&EriYL=}J<^+>g}gb`$#Mbe8E)ne%nTS(SIQxqlc>$Jb=@ z-l;MyxyUi`)|Pz2rvW}BZ$XO;gajrqzmi*RV1gmU(d)Pp_sLx*FeQImUP4n2shg{3 z7=6eKP4R2nI-%Wgq9z2b9pU!z>yGQ61s$;k?yFoJpvLzCbf^)VZ$n`d#|gh5zeWv-b}5$flkRo2Nvxg9bJA_NkC1kjs)&vPM2rlIqBfH`T4lr-LfHAoNK3= zV&ILF&T&WSZLgR5PN@iBFgM!pqTFTw`}~g$SaLb;jorg{(%VDG4 z+{R#YS}h%6%P0@#zS9!ts}QpIIzx4io8NxK?XnP0npdA#mCZx>6Jldn-WW2~+>|h; zW3mHZMpcz(gbK|wNJg>7c-O64l4Vn$<(cvMx7i$@O1lKOZ<=-o&B(T#L_R=6DbM<2 z5s{sgeM0!pw*L;N(Fiy8*1=yY0m2<4Vd%enlBJ5SubNm;drLWGAeQK4?M(O()KNC; z*~A+xRO{S7$yg%MzEeY2><;F7?;NhTro6E z;fY+UE!U)?*S{3>cF(K?`(*`WyI-+e66jpV$6Os)L^bGV9_MASH+g z&HRKh+t0}&aU+Fei3oLI<+VkWx_A*c8gs$@dyk>!WSXWVt>;1#% ztD!~0{I5T+a6@+6|IN<*i*^^HPC8=;&B0)A?#tJaJCBcd#3^<99*P8hD7Gd`o1=dm zKS|jNW;!3%E));)M?xYaoA1TLv18OM?ce5`I#v;@r66YdyUydP{J81p9#3^7v}PJe*P^Dfa)8yj7g>dRr;+T*W;I<=ULx0oMH0yHiXHVq1A zXt)0U6L~2Axz~GrJy`Vi_q7gXte*?GC&1A#5q3lztRQ`%4U)>v`qNJtgORk6e>qUN z^H10N+Sk~Zsjg1sk&{qIz)9uEU6u}BLL`WuFANxOKW$Ce_}q~6G$n5dTctFGH~s8~ z8MHb0hQMv01EzyHK78nvSvtFP#Diggp^;g0sbun9@YG#-~y<{+clp$Uv~%pfQ05^6BW)Nv{S)ODY$8g(t}E z?l-``P-Q{*BhypRF~H%-%Nm(v+A&o>^q0!Nb$mMDGVUviT-#K~c_&BoMN`!?jNmdx zsi=(ioj|n?TPX-`z?YXM1#@qVPUjAKU3$)X!|z{r@R~|Js&tw5osbwvdVFguVMksl zIl55qJ+$#W-}Io>lKvZG3gFnMe}0Zc!x`Mk#3wRq(Ej~4kce8-9c9h$jzrkLpZYKUk}HSRE2t@wy)mP7APgs$+k zr<=vrkZ=z{Ql5jOG|l?y-&NanFw1TQ|G*cCGTP!v*NN-WYgTN*gvC|ADU=`4(?E__ z2SgbW(e))DP7S*E?=aT4WjNxf1RdHMAUC7IE+f?nmBm4x&7|omulU~EBr33 zv^8V&--CM!jaeUI*@}H(uO=DfH}n%~>|xiEt(S$=LD5%Sa5r5!@xken5uz@0J=GNP z1x_eY`>i^h0^V+Hw(b#b;O4izZeaJG?(G{2Yd9Q~)ZWLcagi>mz`c*weH?< zj(N{@Q*sk_OHHs$Pvd4-JnOH1i8odP?@8h7_D)Nbp9$c>Qqd*U+540Gr4ej?5}Ypg8=_J`L9=0;IyU}A7? z5wVvks6;%-wR;VWKW3yk*mi`|{%iMG8xcITz|I&0qGZ)%51W2C*ByjdizL|sXs zG8adTHjb$~#P7Gu!(J!m;g12!CZk&EV6z|h_J7M?L(O4aFWXiB0l`Z|DwsRWUHw~` zN3sUv*49DE7>`Ui{{y5iU3kUk%{SIb>vy#-4y#A)Xc98x*nVCcM?m1qNA`Q`+eM7I zM=L`ECzqDN#;)qXd+FPwu_(9qo0v+i6?7fOpjw|Q{Y1C0*?-1?CKrUwu%2i^Il*3? zlb3`K7ZoG>?i7inO?EBmpqb8F%z%Drdqe~Sg)Iq<*qu=6*(#e#hC zpEvTYthhjOyUG^-2{gl0IASwxc*q(vL^W18{a(SgSB9Z*K~ENA}y;v+!im;nlI2JeFk38(RP8hQu1gldM+--A)UZN%Ur7{qOE5m1m#~0^ z@rvT0auRuIo=^IBKb}#Q=dapJ<(U^zH#9>yKR|re0KxdRSQtfu3hEly`l*x+a}OtvHUW85T3#>@=f-ua`ifAQ>A&*eew^<02$-Y;U> zpypRNLbl@>@AE*IUO32=0B4Ynm zE4}Zh2PDRb^5brT8niBB6J_SBy(6>EHWP-|F$S5MgJ%*EO}!j)w8iBY^|mx~zUU5c z`kpP-ltGD&6NBL_f}f=)m`$=n8Re4P-8hWE_sea0;)EVbF0x+wV61lUjh!4oO3xaJ zD!z6UacLawcPUvoj<$$MP}8__f1$COWyg~tFet?GQ{dQ-&11MeHofFA59*|Jb5I#J zKf`5A6c~{AS%mP&&!DL}z%Wj~)IFo$<}yZ@P6m$a6E1V z;I;IKOTn8K=D#}*A^K73)n*}Y*N<!ESwuv9(+ zIXf7{%67mK^OJ+z(0F2U-1}Pmiw^&ZRB6mRuig{z+S%B$4ytbSKUPsqSKI&4l!Uf?kL;n| zDHJn1|C&kN_@`r5j24w(6ZJm;K_dc+DkW09M(j|IXG|bd2bmm6WDY+X%0EEO=_ve^Q+DYsf!Q z<3S;6=|u4yQS$V}x1nM~ngFKSLWr)nSi~y}_?Fxf<22f2KV%oUUTpYa28y%#U33L` z*Arw0dxc^ukq~cqgJm%2atdq$)*2}XOL?}5(R9RJ#(v~mjhTTB;Nv?Ev}+ak_n9Z( z4iRk?WDan(Q(v!_Ej56qoB=q{ipZQQsNdvnsHp$&hcT01=fdq@pakTlJIQu0Y56Bt z6-?XxEB|o#=9g)I>9}m}590S4_c+L1D0iuY%%oZf-Z}Uo&exu$$%68K4NpfV(2Tgd z!D+-gNerwOuc6$jca?E)peLu_FvYTZ{u?>(1tdzqoe169L<(ki(K)He&^awxEo_6M z#yxS%R9IL#=QjuiFo`qyNdhiWAoAQcnd&^&T<%}qawBR{)42)lUZ^`0}VaB>SMju3=j|I$+F2vQyM zA4n+?32~*j*dardu67Y`ZvG?@@&if#{=IcOA{^&w9f2MPd7TZpk2zA&2ZFh$wfy2bqpG@_T*yAW6|{B9f*%9cD~@J)^o5^v;oZ?R_29&yU(ZR1}RwxugwK2QQP zFpHEVdu@E-JbyRtyig~yk9mx+pT$N$U;ExNWGFvV4a{9`%q94l{y(7a_1N1o=91Xl z6g)?Ey?OfX0oqtbsmbLl<-|`m6;{pnFl-sW3UH|^)-URfe&uj`cYBTsup)z* zmJbmR!cVCNXm%06j@DSyKElBv(zASc`Eiz;Ci2dCnb_a2=F10Nx6S8=KBuv49*1=> zOg=p9z%_^IJ>zyxq*CNFmY<2v0Iqr_?e=+*!{E)rh3uPhX74+)e7wPkDHBY~Y$r7Y zJYewW%M)H>tdJf`FkSB*-MQOVbP03g-X>nBj4Ye@Dc&DSU-7>wT!^0qPOgkbcw*+g zzC;)C7FP=)nR`2r;seRfX^; zK7J#5wR2{kM;+xiR3DGh!z8{9T;i)KnMqbYWf(IY4f+ze&;6UJnPe7tKfJy0WL0D~ zv@_r`m~n_d_riUIPg?m(;c*x=0&UW< zq|%O(;qKYELl2faeYouC1D-8Uu+XUs+g3*)+A`HWg2pBC@YN+zv+Gd034 zSqNP4xT$E#?-a{cdB<%|b7kXV41$t0H080p1blb3FAS3(?q@KG5o+L;t@`8m#_)xy&^9VdK;5Mmeg`HshFUTd9iZehr%oB9vip)UFPk#PO7^9Jt zi(2{%Pd0AJM^O}OvahzkX`pAxrsoz~GX?>$Iy8S{L(6AsRQO^z~JL;ho6}mJ1H9!|88veFLI&%#R93GNid-G1IgjPwJ@qX z8tesY#!UsS2_zR2RpK4%HrD}d^pYlDE=0-Xs#R}C)<3CbStcy1a2c;O3awVi8EZ~- zPbyBKNiIV5OP+EyW*CpWh0!DnajGbZpUEAms<#a35Y~g->w=99tU0RtLJB)-=i+MF zOMf|bzU=AzPdXHRvGoUprEA~pax+d+qzG*+^{F{tEtBI|$cg~?mIQu%;mPPzLn)yo zuQ+bOZhTDF=il%{%%SdZ$90HgWV)8WzP>pP&!K2e)%g2W_I|&6suD<_C^Qh2d@WDH zDQBaYkEqycOHCOUOyM{qnAvfva&g%Svb$eKF!QD6_X|)CIN<}Y!2Vvdz;Hi_!;tgt zO?kabKkgblALsz5urC4R^Zu*U@hN&-J<-bA9FX^&CtOq^569Lpa*Ab4>`FHky-Du* zJ&LAGFc!KN4_7d}?~p~@SZz0gP zZbPQ-*63w8JUNPoA0XsI{x`i{E2~ro?+gve-wso|q-K7=$DxOl${@yRi444?3XkYH z0&9W9Nc#1XaQf zV|Yktlc}|EQ%2<@hCRjZ@q#r7Z3yP-N4nAZZcV}6JwZCA0D+a^efMh)5N~yq%l*bK zZCC@{0QlsBa`W*~t}l5Kuc^sH*nSVy=?3ubrJKx?MXVqS1VU#QyXgJNh7$#g${~go z6yB&H+ zi|O5I(@dSnrst5!xyFN}n)S!}Dz zu898)@S+jO>t`O?DY8doyXiVp8uIFCzg;M^&=A%pH|&4@U=CFynx%kO?z3qgEwl6m xW!uqJ?q&T6+H`~J9{zuqf&RNC^c(U5(v^(_AH2Mhgmcg2!D`+7jSh)Ao#eqFw>rjY;uF+f^O zSk)7Bp6y|XKe+LcyRvcW@i*JMR&9NMv$hx0gt;jQfc%CCEeZ|^3x*EMG$@3aP6$f^ z=b$fD0%mI>+t}->OH#BvBzGZ~TH)V$c`e|w7Mc&WcdfuH6RfKk(bNiNAiSwy8MLHr3pkS6i>N( z@SDI~SK`eO5ro^@SNP)uoSKjXkK2U9Ad0`GSv63TfzzS0iwH0|uHX-6c*X zaKZaRP?2LBo-J;@#%K{KAy=W^3X6r`g8F?Hkb1C z+MY=-o3dHh^iGaVWs{(1#7eF7qJ>*3IA{Sp%uwajh6uFyz$-{)MfWhjzY>(QY7Ye; z3tnNX?*aiM&6dv|0`wuE2ABs$c~hrfRvxiH=BvAodZ>bbvhn@I8TqO+zih$#>i4Z` z-@{P@!BnwILjY>AMghxIl@7~0FL(W~oEKp76O6rZ6jKNWAmdssjzQT0_7J&8o63x= z5mVPv)V**(D4FV=^je7iGe^cqZn){>PqQ@t9q7b(26-N;P;MqqYh|xZ)Z0d$7;|VK zG)9i*Y;SjVP!J2WJAFDDDyoQ3PY^yzP@d9~<8amS_L3ZcR)q^}h3REL?H;CsiJ|+x zJ^Sc@^t^EwbbU9fCH~%s;cC9&07(`=0ub%UH8b3f0)!X_D=`aCXC?k_>@AuWjqd_z zz3`b@+A+i7%pgcuauaa(g;3#B7v#xGq=%y>LtMoWdWun<^+L15*chR3_IpBM4ll0GF!14qRP%(LtAp&4U-wr0fFSSq~tKD$!}NE_NqQ8hRr5y z?%%ok@!UhmbbTL<=@I(~;9C2CbO*SwoDC=MIX@LS->Cq#Yv&p6XuoDk`a>mDQSu-^)GhpUm~J zIoW9LsGX*~F7}OWG7gaA;$IndB2SL8f=HGWL$6zlO`Lnbk8s`ncoTL8&a0rDl!4u| z2YR0fb;jj&Nz~-Qh*^Xyvg5A)uJ19!8ty<xk@79iK7TmU zw=Z;GxR-QvC-h%2A93}K3JaG?%!k1djm8VFz z_(alGUr~tATt?n%`wl?+b&JUSHK^w)HLRBk$vz1Ds*O{SgbgRUL~tisicKsvs4=ztY;vH3$}%?E+s_(t_l@x%{s)9SCW+ z8L=InM$C)sAs|yG{57s11Y`Nz;bC~@woU+zka8k{AtH!`XtlQ+!T}G0wB*i1hvYBn z=E|poug)Ws7_K^q3Ln)qY^#(Xz3ZbOYmxWY)^_}y-y8`oh%+F$a?5huxKrGRBK;;J zsdRj(BU;edd{o!6g_AUbUSz!)zV}jJ!g9^WP*`J}U53^W^9$}mh?V-MbwtJsbuIe6 zaH6p3`yul+(9X9Wf%uRXj4)Bx58F|JXe&vIsY*ejIs8{qjA8@i(6HYAp5bcgtXHOM z*u3h5ZdBc~1Y~xkhm8($7&X$hK&~z-B}%mn+OvQBS|ex#hoiZWUdYA;m);y*9Utera|8D224e zrheq)vd(H7`(``tIY|;T-aX;uL?%nbBNRoMkho@*Ih{pz1^Br@b(*Ud?YcZ-Yjyu2_ z)$}kSF{>NG0tZn(t-xEY>Nl*3i~OMQv^=-yq>@FHyvepj97xaE^EL~nxwvcc#5IdM z;QrsSg=v~u2b|DO-;o7j;A!|)1h`358}kA40L1Cn80;m*$QwK>Kizlv7AtBnls7bp zJHR?x5f!~|fskzB7II=K9!&VcVO#@wv$u1SlNa4Cw^w$yYI@lz?O#<806;0~ZX0~I2}g2>iJC&A*J(KL z)KO{)znH)1q3NVua2UX1D)Cvlw)uVjz~zQU>aB6|KR}IC*U%dyuFM{WuMF)i^e>DjDpQMRCgr z(&K~TpBI5cPs+D||K=L)5}HR{FV(!8Z$X(>SQ7=`CJWN&a*wy#UxBJFKVXSi9oo?l zy$o%N!zV!ECcZGp9;1BlHXX)NybMY|gpv;#hxsJLxS3KtK22KhQ(6?S&*hiC9{TZ3 zk5WF4=8d}gU^+oyb6Pci3$eR;G7|0!)iaN@m-L~5(D6-PQSn@c`h#{rQ-VV7VFXi| zi@*tu8S(0>`Iw|2-R8FnJh|`TIt4Hb&qMw#=1=_04QzslfPwVv%+_lRxS^iGoz1__ zJi7dMjL8<%lZHGoj=lGE#Y~>tLGw0L2PoZa89dV*Bx@a@nY}M#U3j&9Frnhpqyi93Vmot;2Z__?`IvsnYo2FqS zVAt>@J#~4W{s_DtESqr!&2J_{7pDou7Qr>mUR^t5(iq% z`MjW|#F%Pr-ysfZJ4ZU@{Fm?3*}5REi8c(O&~65mv^XCszG7>if*kV}K_9{(hTMjU zBn;#>l49c9jGmohAyTWtPf|N+BDB;dq>v zr5ZN+hZ+9|b^|O1fE$b$U&N<7?7i_bNVR%m^12BfSUe3gYf-eTaCD8j2~h`^*i$Ie&kJ~bV+ORDej`OgPB#Dr?zC{JfW%u~Jqko1O^OTGxZ`jMny z9wAF%f#cE^^!JLK*t9{~CtU1cB{PbwpbRo6iCR)Mq`05mXLV`v{LQxv3FM`_ppSvj zi8q!-t^x!?%&(0*I(iK=+Zq6C{|O&7#$j0=Aq+vtjkN_)s^9u6r8%X?aZ!(WwP^_> zo7qwONOE&dV!#(wRrzw7ND@(vbpKt^2^6>;TvyIAf}0_3jOaT>JdWUE08*ZB9g_T| z>Xe$$qz_I^`cne7x7F-c6}vz>E@J27iO6a4ZRA2?`SVr~)yAD>>UssjkneI9Lts*@ zL5n%oi`;zRj(r_Yt0H<&9usWICQ*bJ(*jaHM2kX$y6l=IT*M{lx-7m)FYZs2%ZVy% zM|dugUVF&|E2fEa5p|UXiJ&ca!B;LSM9wzlI0-h z9+dzt(`!XZhxj}nmi-!5)FV%bA}oUvZbr+nl@R;yHl8p~psvo->GAV7qz4SI>R6&Ia(@CIqJ@04Wb~qaD?|W4yH_triUM!JoeErJ>aWwH6-rvA3SR)_`z=lGR9McZg`1Ga_^XnZDFC3ZBOt54{1 z>K`JGJ0yEDeDoQf7Evpa!fO+T<*_*g01_(AYd@B|p<`)nW^BPW?7Q)*Ldo@NcspCR>t%l>|A9oaahR^j^q02WPO*1ET2t!2GT zprqh!m$frepw)BKc|sa*cSrAG#eJ)nVM=ghKogod3Co&=8}^M5^z2nh8f%mwAx+EM zL*j0}gFhIogM5^n2I$p{lAB;o6(SIGlp+4|F4>5;Wc^L_p65OAN8S^U2t29XIDkGl z@K$``h_BF)lC|+?p(=;O$No5s?D5sFUE~(W5A!Z&Hlt!7lUe}gJv zrq#l8E=$9lF|yrEb+971qL6HNWS3A5c*We3h1xC3^TV-FDcP{EOVsgrPzccG@sWHZ zJsB=YOCIdr?nk27UEG8D9MSR5Dy9G3E3<^xs)-fC`AES%*< zKtnW@lu$=tZu!|~T_Va(NEYu+x;)u;o7uNr29^m@2qVzXE_dGi(NO>S_wD+5QuDQ@ zW>vBSAn@Yklr^4yB>90Feu`=sljzK$V!O7<}NhSoN&qXEoXM zaU^%tR7EFlC1N_Hn42DIlDMZv_o`c%t_g8Fo?*a!g5B~tA((}90{h%_Q?n-8t^7!S z{svMo%lpwD&3N`dm?A!W|OE?wCQeG2eF-@daHN8#MAYi_5khiQ_)uLWe z6?zum=~zbhv-1I~JzG0}bCoEZ?GkdQ-RD*KZ`FC64BYajGOUS_RIgn0p1K~R^WD!J zXkn&1JRki<=_mm*Bd1ikDgKDjpM@AMNaFAi06-{;t!#O#-G7W4$7`~B-sV!4^dFNx zn*RN=I7A4MHf{09iws`w=Phe2E718)23wJrybNF71gl7*m~Nacyi{Hzyu68GH7A*@ z9rw#tPO1A7HtBGyjjyuNo#udS*g1pS$WC^&3H}cAJg0nZtftMjyv*G~&P;&Ol#WUq zeng}k6m=2{sSbtlxN*e9fF2l<_l~Bohi&_Yc)&4hKkMv4!}4YYO+#lPtQH?+5vw(k zHD0m0ZJTZ1L71IwSUx$46E0Z2EZN~-q+sdEl;D{lxjcUj(&kHL?K5{S5o^9b+`~FQ z4Eatk<|Su1$;_Rrg6$Or)A!SXL7sR}wZzEh>@YFG2b!F9p&rV6MD3jHCjWQH>TIeK<*dAM=5YRr(4W z@Lc46eKA&2Dh!1-9^xLMMnKBAyC?3YLg_ifF)DJMtC$n_nqppw{P68QJGmk_4Vu#p zE(8%;DpD|<3_`Dt=A`6cCZhSc-QhZjN& zmVodQ#_yb0=IQJ>Xu}OyliNy%X$^XPZQqf6de6x=A4W$~RPFE{OACK2|J>3){ z2xWmk%nDF8NHS#za{Bj9OaO|Z%9K4C=KCW+A)S52$#|xPR{zcVS)7CK z^vB6Z6kkYPRoY@+RQs~Vx|t|DkKBM`N)U-;bq>Uzt~kaX z6$NtNf+;Fg=6gcSY8nAwEl}ksx$FO;-qxQp@XNAfheK&k43jI%w}u-lN|3pSk>O8@ z|4_8`@HzA(quTk7&Vp_jOVj^worQ~@2`gn|ssVBKsnopYgcF7uJzOp(55CE%u9p6_ zH^;NrbW))7;i%TLWvtqY_d;nI*b-NJ=f|-3?~vE1%~P? zVIe@iq#wI71H%i46^*K>mBrdiJYpEAM^N|HeIoL3bq>C87YRAShPT5Eyma@$ld5JG z45mIDp=SdR3g7@ruApc&%N6`Q>>fbeHD-F91I*66MxFI{eos;%`$k~=p;yS@aV#D6 z5XF>8XUKA=*c=Zsx=3Cet^O9SyhHf?FQ}1pH-wVmsw1B}F<7d=%RpwZz$Ii6iJk5q zP43ak6KGhl9oF7!Elav1$FD}foKR{27S(X%V$rm;{yroCePQpQr*zR%gMG#n!r}zS zWQkJjCm|6`OTP$G@> zq9EZx%J2wn$%eoDPy9+2=?^|dMa4z`68Tb?9B%C;4DFmQUl^u$} zDT;*AiSYi+T$MFc$052`2rW6K-4`ryeFpN7KS6Zeh2Dyw;F=$4DsvY7J8z);w$Y3g z@ti)hHjEI>V7#at_ur$T*z3ZYjFgP58vIb%!IJ6GAUOd&-QC#oX|3k~FWDj)iWhOS zK^OpR$LsZU-x-CYIYtG_CYX_-)hl+nA*Us?jR+iK+h(J}uQlwU#Spo&!{9oFXYFG8 zM2`}dswGL?U0qIJ91}w{c};L+LZyw9Z*P|<*XvEgJsEN}0?ybC7!qzL0-P~~^_0mE zJVAt3s#`}B81A%-)gir0fn)no7zn~<(oM|*Vz5E{B^PUd;x~6>z_s-c79}s#&n=)q z{_K|yfC8l`MCdcyyZj*nRbNV~xxiZm+7PX+jY5ZCl2XaSr8jct@GHXkva_2x#t zY^+YjzxGk%t~}6C*HClJv7QS$#eLTsX3km#wRm496sq zjreZ6TMm~?PAn++L3-%<{-DczH(G!Ch)+jzeR=xWe$L^aGiRXL7CJF8 z$Gqy4>TkGGd(&<(J){0gS)00k_r54n^_9n}`*=t!W9GkS^u1q(_dG#ARpEN>YuV{M zUskG~u-`WYUX9a0{QP}`azRrf{>hBgOArq%3fzMekyBo`$=$;`%+zZy7w^VbBBG#v zMoUaa3u2nMd32v#;_Y(ZLeBKuYxTm|Uzb^ZS3g%p$~g>0(OFXN*-t8LS?8X%sBDO%z`m18?x%HJNsoC8h)AOmd)P{DUj$E2 ziY$H#l;N^;BH35G+(uk+l^?q84HEov+QDa1SR;198IQ3@vjGxKgN4oV-#H z`6`}#`iH=@; zTN1#bT?hsX>&~0ZYlhm1+!hrzE$9LBpRaTLAXjV2Fb{p@^eg;tL?QXd{M{^IM=`nl zY9M&=QqbnjXZLnheB_DdtrvSsRN@yOd735cb$ie}@j`N`oG(KMGBipym}2H z&uXWjoxY6YOEFTRfA0aRU)k2Xrq{IcG71Hiv4qM2;`T2tP7{avI+RSaS(AUE$_wj8 zZA!D#MLZqLn{RdlyPR72B%N}vZvPwed^Lh41IreNJB+x>{Kf>T>~FYHT{7){|AiM= zTV$ox@JfLJ`B(T`Q-}pv%i$)otiK5tT4#=0FB(12K&Z{JAA^%XhQuV(IcEQ+#J?A3 z@GGj&W||58iw_s&GJA9Bn_LGg2_wm^%1L+lH%cF7avS+PF4;L!9*@oVC9Cu4s*1}< zaGs;EsvHD1;qQmx⩔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 G4E`UnPy4X| diff --git a/examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Icon-@3x.png b/examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Icon-@3x.png index 40631d44c314e27836211719cc2e85090b89b475..90a424f47a2bd5424ea8048731071d5dcffa7732 100644 GIT binary patch literal 15434 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 WK=g6m7yW4t2FOY&Nmhy*1OEpRm*=kl literal 15442 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%0A<=) zbhvp*(b<^6Z>~}C-}vs9RI=tk?mUj0H3)f9vP1liDZ%oU#lpVF`3EPqWJ>}R!&O(N zhcN{lPJ0)FnQKQytj;m@Z(-NPLtc8ao1A54>g%ZKS^hj;HU{+D2I*jo+sFTWNmg_z zZuZ4?JN2oLJA5?o74Ew-lImmC73@`OTJyl&Q!52M9G~jwKv*l|P-B)4NlY;7sJiry zPlxNVRwJycY>ccWk?pZv!nu|0nE_Y2x~spr4)B@T*x&k{Upsj30~0O!r_4#iPfz9k z?ZO)BMP7Id)_YPrL1H2Px-ItOhp+t`+tRhvz)~Ck=ak$JpAf~xoU7vQ8V)*w)z=d z1pB0dY_Tt(o_ZqXoQW&#fJ`DR^;i1Kj&OJrkE2Q8DDPvkieXjjvuaN>k(Vc{1QOn1RHm0A-6woHCq>{^}hP1^+tA4u!kto{bHfV zfjqZ1FU29En>RHf%q#(c83icF1!n-6eydM^Kj<1vCk?+DWbY>hMYuZ3u%IdS)<2La(k%Dg*OJmfw=miMX#?uyVd!LuP!AsZ4YKPn0Y|y6THS zGU+7e+A3%WYpAQ)GwY{#ZNPvoum4&CYAmbVIP(g))3{>E=TAqm6^8+&hOGNtrFgiC zJ=f8W`{4&U(2tXBnc$K<8oXnT4Yv|m5WSH2LZ*8-MXX;jE^>Wv$ttwc8Y@G^5WV-b zJ9y5}f7bl6GHhmc?g;Sz_K5tYKQLnxNV2C=*0J;-k>{LCZC4_6 z(1}DnTlZ^A(=AY1>(rNWRq-f=TU3-d%s6U%^0`xN#K$muSJjh3b3ggT^G3CeGCece zr>+SK8j}I%WItHkV!Y^7{(3EPCzno26qrGu($O<#qtZ=~jLQDaiKnA1f80zFR67xl z6=uSTtX~9eK*kHh20v9v>MY9 zNsMdzo7)UxcJaz|IEcKS&=jrS?rEqFm&$M~ynh!S|9~+H%=Pn25-eQWsL;l=B+_mGMH?KuC2T8LZdB&(w>4h zcIZ$}b!27KU@Ij!GZbD8B+dbn-KFSwGvXL-4rEr>&!-{CRF=VF%59j*9H^Ygl;!Z7 zNy1i1dQ(JpVx2We?p@ecmy112e?mFnV_gns^CHA(L63r}FL{+!zvDm=(m;nvUg6u~!crL3lB;_HsOlfv zx_RGCr_G-`Om;?q;$&t+`(CVJ!KiDT$3GF&Q+U{dW+{Hl-2ZBaAwABNWctOc^_xGi z6h}A#r;+1(uP5CK(t)|TGcT+DwLJE3G*?1Oh8^k82@qj|Qh(5VFh&-&{$%{35lVk(e}2oCcm3=q_?DBhqW32D`bR+V|C_gkjN&Ftejv=SKQo>%_RB(s PgaPu>DpJ)FCL#X^+pxb~ diff --git a/examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Icon-Small-1.png b/examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Icon-Small-1.png index b4a6778bc9c70178e932d3569d852d9d68fcb51c..fab6ec160a4a3fa3898c1cb13d39dcad059c0f7d 100644 GIT binary patch delta 41 wcmaFC_kwT3BWA`alOHo1Ge&L}XR&1#Nm_6J?o7&>76u^jboFyt=akR{081(k&j0`b delta 41 wcmaFC_kwT3BWA{)$&ZtEboFyt=akR{095f0X#fBK diff --git a/examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Icon-Small-50.png b/examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Icon-Small-50.png index 8d5af75925f639b862813a1d98334a07c120d9a9..c2910182489e61f986894134d7f6ef63f8d04dd3 100644 GIT binary patch delta 3613 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 delta 3611 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 diff --git a/examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png b/examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png index 4eb1f60152c293959acdbe4628cddaf3bc464c88..6b774b1ffbab7594576b38b248fb161ef879003c 100644 GIT binary patch delta 8615 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 U`v`YURR91007*qoM6N<$f;RCLJ6DEEljGM2#l( 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 delta 4334 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 diff --git a/examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40.png b/examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40.png index b7afba6a2a830ac02cd379950aa6729e3cc1c2d7..f673561b35ed83f6a898a064327a18e0f68bbb9b 100644 GIT binary patch delta 2320 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 BfsOzG delta 5361 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 BfsOzG delta 5361 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 S^~jef6--i8PNW)S5b%FbeVQ`> literal 10980 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 OLdi=jOI1pkg!~_DNuPfJ diff --git a/examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Icon.png b/examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Icon.png index 5efcf0aff3423784e06dfbd8de4ef2943f6fb2a2..75780329cbd991d1b90a5f5dda6f7c936bc976b6 100644 GIT binary patch delta 4422 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 M07*qoM6N<$f>AXcjQ{`u delta 4423 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 N002ovPDHLkV1gzfUl;%Y diff --git a/examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Icon@2x.png b/examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Icon@2x.png index f4dd12f2f91eb644c21e1afc410e814e5ad9c067..44d24523e55394c1c170f0fead5157bb2240e50b 100644 GIT binary patch literal 10317 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 RFaAJ)ytE3eLeePce*k&rUJw8P literal 10319 zcmY*fWl$VVyIp*-Ws%^rI0T0TcPGIi3GVLh1Pu~g0*gbiV8NZBiv z>Y1+oG2K&BkDhZPRh8wiF-S20006dvytF!ecKPoHqQakX%isLr6SAwMf+i4t`2o!$ z000O;L0Ur7EA!aj+KpoR$4R4#lIN6D<<4NDJqekx5vI!A9D*qi36PE<6f6lD-v{lN z&pr!gwVl*aX)AbkC^Ie>eDRcINEBySLXcWA3W?!Djb=Oxw5J=Y+0kzK(sEf*>berw z5@M!ZYbK!mGV@QTrBV4)R_STB#^a)Ij(+DGy{`W|wn6FpAjS8kl$GihL_W*SQF;z4 z5-B6UCAmn7_Q-6*-;W%@FcGZ&_0WLib;k-@I5w>eUy*4BEYKp0MI-pggR} z1nDgNf77~M6llnh5&|J~m1^SP1TZ)_gQm}YMF|Ugjo+5^$&J;7(lKDrbLV5GF;Af#W!%W;ch~Idu!=;*ON7L*#mEHYNHckuIIJ^* z+CLI;i8OAlJCqp<+D+bogt)e}Rv&CyOc~QrUSflN-S7A6zS<6E?_s{Lp>Y{XVN1OI z+VN#hb&x=Z1?c$!qoRe_yR@K-y45IEze)i#XNIQtfnn(b1NnEdbhGfkn(}l=5NLPc zsA)u+T4)Re(OE3mhw7&+u^LZw6|OW4NMj+(G4tNxU<1g%+7;x_C1QXN+I6>YbzD5_ z2>lp66f93Ij^n7C<2a=Gh36+W-6R8NDMVbkf!f50CGBhhW37Ihw%;I7PnWCh#?PzH zuW6cOZ^CzppjUO?VC8B47CRh=*Tw0YH@`pum%zu9%5Ex20 zWs-=k0D^i^(l<^pfzr|7mVEm?tj65;nsI$=+V5^=A$G`U?+GN|A?stD?lIbxG*Mz=XJ`haH;U zp>{fEHxA+vCFMM1$=`o~EEjx6L6#(K4T$_dqK)OU$7$DI7@#i}5ih)FszgS6@fUCN zh7HhMyignC9*y1F&?f`%jJTmGm@WiTE-68owc<6lbE4r_03TC|UpEvzU9rnnIDC>3 z1tYYIqt4l68{1Y)H&h)>mWI#COTV1g67ibdS+o`}GG;!4?x`ZI=yB&0{hdnEw7%4l z3|;aAzRv@9VSW>Q*Go)>$Cib> zC4UWk&KZ5_C?(d2W1*5Iv%myl=<;4{>~vv400?_gCgca87>CKNrV>MKdAEYG<1rl& z2T4-K+txhpO_%4?URgmNM`6T91n98_zcXIR(fb3QqI_@e72~$6pfzVe1}CWx?ZD18=a)>tYkx7{ z$?q(O@b0P&pSM-p_iX5eG}0GF9Ks1ey~fNrMwW#K)C!ul(HroSCk@B{WO;5o!6DgX7`^uRXWdQev2x2IMO6>TT)=>00`eV%C)9erVA2t!<=yNc(~- zcKLSrMk5e6Bk`*ubArMdzt=BHVO4D0Lj-0LBOMU@tGO@8>6u(cC5NNoAqAvC458uR zYS7cL@A~1H;^*e2E9H0bg^yT6c`N1gca0^-@LhR9RV8k|0CN1_cja&ALY2&K^QJ_I z)c=ugp6iPdIe~q$0<=G2qgghqQtetB2=9cOblk-TBlyhER0C^w; zYz}CWwNlUB7+uoP5ExM=Nzlz+rSY!yYvhr6VBi|2rjeCy@;ouU)0$XzVmi^(U0Ds= z3(D!V5=O?Q(g!ILOe&k<38PXvAmU_)Y-J;<*CGH)&7?|fK`wUR?#4ZV;9$UCGpwki znwh$zu=4bL4KqOXL`F1v^6?cLy}|>b>AN_i7?|&_a4cEWDan;^D0p0K0loH_F0@2t zVxI%aiK6J0?rJ9$kWFcYFZNa}da0dp3J`Hw>6>l{?zuo|Mktxx<>n-ykpV$ge;Mq`Ch8z#jNFhFAt z$))J7wzRk`c`(yo-LuC2Ug^+0#y=!NlSUH$mqkDO@xhIBUp81u`hgnNN~+n3YpVA) z&|DAJ_#lU2F%+(I!#uF^W}o95sOu3;drP1Jv7DtHbDQJ~y@nc{wt0Z7eTn6ss}(u) z?CECUCL@X<^~%3*P7*LMrm7Z}D72 zTICNyel1AWmm+%9)hJd`enmZ=F2tN5(0jkC-T;Oz8Nt>jF2GzpRv6i}H_&v-df8E)zR!Qw$Rt{z0kKS{Ze)x(``xzVfF$`$j8IdJfaHF;Nvanuy)cP2!ZmHt))qnjKc4XbM2pfxuMW=#6n6wmDN9LR`>xUsdUkIGo0lU<<{C$IHdwj^Hirbf7pU^qe%* zUo4PB3{4LjM~}6aKpTN(sN}z`$?fFXOKY7-7vgQHS z&ruxHO0Olv6k*Y@zq+Z7@H@lss`8xMguZy(89p(>$dro)hYbOXr5y0AK_A?d$^snz z46t7@)Dt&hlN4DEDd7XP7Oy==gs%kR3dNY&932hYI{B}&0R~9lfLWFWZdw~1mIc`z z`lj#J?GG=_`*=fCL0bDHo?|b5HbQZzV1WiqAKU9+{oK#TXB}tuu){dUB5l-WFXp>u}$NR|Qq1PWV30&al!|62U?c(&Q@YE9R=~ z)sZiF2>?Ydv_qMq&k0O+Z%$AkjNHDJ8Z}Jiwu|07M~=ic6^iD}lf#jSqx>i$wfupQ zH+d-|o)(f=B|E4&^Lw?`fbv`miE~G2y83RJyl+k^UW)|4vdHErWg~?102X;Bj9y8p zro;mn-MB-lF2!(#{!n$l129OX)ngnas_1$0{dvto<)GEpb@u0gHUa?Bhe2Yz`IMV1w!{^73@$oTCAFlaS^~oP~_y^y~rqX-)Yw@gS&aJ0wBzfUb z`PEv^&1-zYBFblg?30^~X3LghIr|*)2UW>vUSQ9~T@it6+3fbX(r0)6|G;Zx)FnxJOgrQWrb1nt36Xk3D7zb+Eu`bG2LTX|myj;O%P>ZE<}{+&$Z6nXw(=fqkOPJ% zDJNWqKd5G(ngva220OgR1VEVW@+hM?D2J{DZ9@9vJ`aA^Z)ZvK(BH`p7xr})G^Zt$ zzUmRd??{j8ylTulEqo34+5}{!rH-eOe48xiK_5=Rv0q7Lhn%xYioB*&DHpTLe2ODS z=KGf}G;0v*a_e^(0$}#Icd(o1F1;3fo6s(pDvP&_p+z!RyY%C1?jNfB))wWNmDAia zBgW(^==HQC#;Yf?Zj`l!P-hxxvY01H(D`N;9zaQR@yBSUE|?hvjfg62!#tZLVz$+Wf21k1c z8SXr8_g8zvba1y}{7H+2}nKOlJ{h z(x1tFsmYOMz*`W^^6~?=eXLTgjk4;uo(*dd!fY}gw}E1cPP1Z<`+gz361G$EER@58+;r&C zTPzBe<#;{lhLv7ylPH+ukN{8-r4a5?j`!;4!(sS<#(`wa)XvY>Ml>qBG^w(Ys#BTa z733KobMgBz5b%rAV#x)}_%dBk)vvjT-^winNYkK53mAP$c41BnIhcd`Q>4O7DA0)} z(_Hr5$5Z_9)K@-1rh^Kq`+}qPU`dm|@%xdxx?)DBME|Xsh}oQ^=U9X_p%(Lx149BT0FR45xod); z{>mo)UCGuSbI7`_#9B-a=)2{I<{uEYWy{1YBa%zBk65o9#(kDvbPVDJ;_8*8S6TWV zL529WT3v{`Gw~EjWZ{ePtpnT2s0oo;Hs=ZlbRQjp{0G?x(;{n_cy9UyqECE6ab758 zbw_^jjZBf@Vzwb`sOS`%$i7CowvW6f3#VO^QK~wH#!W8N#}%4BX*pSH&z4 z7r_XYYoNLt)9kvoaz;%4DZ}{2ecc6Wkv4)dsLSmm#7xu>{g`(?lA8M^Kg0|NstI7g z9u3x{XR|*F9N2fm)_t(mqB(w>?8e3ZK~tL?YiAhI)k1=~#b%&^q=%RsZo%>PQO*KS zcdS?y>quI%7Jm_tVp$z`s>W)JBj1rQMg;X1%g$H?_~n-9n8HgU8ICYUZiXwj1gZok zD^6lzF!JdE%IRTa-4a#^xyL|ZZ|=G!1Q6)pau>q2*Ef7i075~8=DD>-&NHd{Rh2vlZOW=v*GHfFzKj3cJ+b_VyV8zNLz;0<5I{4~i&C{(kM3fA|7)Z+lXNH5oEDF74M*1UNueZz zp)|w4sthk>L@9h54wDJ5H!&hQmY;yIJfn@-Lh`E{0DKk31K$Li&R7HQsx`ppL;0Y< zyJjQ_o(rul1>N#8aP+-f}0}bd}_-S!44RlvcCq##6Ou+a%V1J-3VhlxYRwO za0y!s>Cjc1iXAGh`yRSxy!_yEvuamZJR(NdbRCwXLucTN2Hwp{LV9csZ_ zuwL%97Sc+R|D|P5~a>=F4S)A|Kdi{dK-V%-L=XSC(B7$ynDns;RYXpR&;75|F z=Muz+B5KKEp^Wf~f5M3s>=9}r@FS#EPeZyUX;nwZ5EOV?d8IBaXfF>9!x}75lQ0XK{_Nm4iVAc znJPLoVGw&I7`K!s?&uw#TE>%@O(-t0sz>M#0)&6VpLXJfwFjOa@KsYe5X{gefo`7~ z*XJBpLn_KEBBh;R7Bi}VU3*HAzVf7Gw^xge&p&l>1(<`ZghFGA7!~L=|mS@n29M6j9zuW3` zm)5xEctkRR_Xg4GOzte;HnVpk<*O65I5L5mkaJHrO%nx=6a%efiqLc0O|Kv>g({sE zpjdV(pde-fK%r7P4TnlS3ux<=elsD>vsdSJ0$tP)mI7V`tXNXDc_f2jNMe3S@N`(2 zKfXZKJL~xwho*Mm5LSARGT>re0xSNA(g!r~Y++YZDL}%dt>C?i|LO;OmRp!>&OfYM zqX7VLX(LYLZFO>6$W?cS)1_zo(fc4oMBVqzY~wSPs08!r%3}?288AAXhy1(6tZDx7 zJrxn2p^GIgUOt@pROm2PI7WENS6L4k9o!kVdTPjq$aI1!?Xeh5LZz4|jalE_W8n2c z=x-~spGaTn58P>Ykd!DQAVk|e_iKNu?6op#lowTaH_ud7)4`DnbvJU=?zh@U6^BX* z+6g&9w!2$2LnZp$J#7PridifUed8q73Q83gdQ(s9ry!5ms>eO=iteqFZxnwfKyGr2 z8jDjuK1$dIz0Jrh~cPwI5!iMF1D4B!1q=KRz#r{C7H6>Wdm{D=2|lU{ni zoVG)YkA>r~4?b9hOwgC}dw75*;Rb?#u{@ophuk9CpH69ZwqW5#KS>HI7CIF|?)EFr zI&9m2bYI5bstHMHUqwA+ z(>0L7BEUEoU&0spA}3O9=cD7A25k`_;M+X5r9iKL`iu%yjyhu1D{%RB@S&^8Rs($0{bS0!R zkE}cMVc;7x@_~=kU8Cpd=CKczqNtXoGFnaNSe7X2mT+vW%E4h+RBbcE$i$iG^M`NfEU z{T`N<^Z?iG!1m^1!qY~BTpl7Nk+i~Q_9nZKis=V&6Jr7isPQKKSl5qy!TNr%a`?Dr zec0j58Hh|G^EyYG$(S?*_sG)@P@>@!gnl^n4BO4C&`PJNzV+h+Jvnha=rB6YMZc*C zVrusY8fCrWudcHKeTM6C9w}tqvwn9#8;lAUu z+G`;s3!WOllWM4`-C`;ya3!e-5ONi%6E^U7Nmg6brQ?N&s}H{^AqK;UREm7?lc z6&i6M7w)~`?J=gaQO=qba$u|zkBwiy5gqqP+7Qa($YJM_>05Cwf=I6oaMqnM59sA? zL}4E`__I*#dq+TpMf@o1*jVR3f#xLAwC}^J+L z))#HVVkAH?Et%Z-Yp6uR zzxecpzcR{offhL(Ay;H6B47VeeUaXg7j6jDZ(<$SOST4sAER(2TCIaKBn0@~39{VtzvXZH0OeQu^gQK{ITkrZtYHWVsT z;J$-{!)tO2$kI*`63tSOW*TwNQWm(DY~{g$ zg}|MJnAcQB7xKOGl(d`&Qy8Qd;Jz-C&kzmlHDLVB{?XT&Mi#hu_%%_v3h(D&^rfNb z?RXF_Ed^0es3g(!s<(aP;QbKbCt#fLcmK)`kvelyfwhzW%hz8~gn^0s5WEoKGU5|C zQIzAbA0_*ByLybEC!?|G57Ch{BxAx$neZsr%&z%qr)#sJII$!G*sSdVUrGI_c+9)x zU$I#Z3KLgS2f_sUfA^(da;Ow=;D2bbwgPnQWG9l!Xv~1~rU+1p9`gb!b z2>N5{J+^{G!pQ zR~`4K;c*RdZtd%w>qjM<9kyp2FJ{&m1p|$^U6eeuz&%j{K}$HOA1qE7#F8qh+d$ml zUIrPc!6}8Z&iejzDJRR`CprKh#uPcP|o5LJBpR?j!I!(wko46}1BIKRDv^ik&}zNQlpNI=3m zCS)ZdyDL|5=k%!dk?|!mw~MN4GCcjvL(0cP%?!0zNg?tp;HeaXwg7U{ z;LEWoH(z9QeNn(|J{|OzWhH;*io4v6DEEGqzC~zTzQG87=v^JPIba~gnaOKxKdfm` z?#EbW@S(MU9N>f)GO*+o;h_@kq4(oP zV~^1CHpSw!+-%0cjckaciCQ#54mM-y5YXydvzwh5n(-eQw(WfG-qow!`C)3o;1(;^ zqy2qB#eu5vm`C7yF3*~jsiqzfd0#%VZISSE;EV&_@h>QONJtRrs z)(i)(Q;47)`4b-9bdEhL69NY7LGP~T1NyseX3=64O+uT=eoLHu`et;I14`qj)zjVU zD<&e6Aal}3opmmMqaDEFS_eD6Wx&G`lQkduDOhTX}!3vgP1!rBz6i+JA(RR1#5sB6}feoA6 z$-jlDzqFnyFP3@Lug|9B(<%HM?4SbmeZ5FhIU(~fpO)s_E^`7o+D241)m|l!7XVDP zkbkmj5L;nS=Zl?4HKbrRrke|3n}ucm^)pNH>Liw`6XUj0+BAdnQajC>cIl~69IPB& z%a|7$lgvcqYGDy~;BdubinTp-_iaavh8N{q}u?>~{ci5MuG~d5P zzebGQ*l@kE^7489eUEj*KdQl}WW&L$^{ZBn!xV76TpJxjMh2gUcU}*s%4L9PvPwhi zYlXe6thr8fH6y%{xMA*;a`mtNM>bDvqDLa3S~MDZP7`(qPp4^OH%FRrFuEdp{iS{T zk-i$TnzC;iLXx3nP-*ib&h;qwyu1!lT%KqX%jRoIdqguO30XBl7Z%L;PY2&{`M@XW z${%c%=@Y)gs@mxA<0_bXiV2BKwAC1v(lZ4OV8Hc}l+<&dN#1uTHWl>+$W9u5M(I1L zq+*GNX@4y@zCmYDV&y#R&hy8n-|K(TxQS(Eg7aCb09HHX2?F8pT7SlPM-B;(jS3VP zuv9}zR*m;NVJc041hv@`Jo8>Hy|u7@t~uRF`0IwV zPeLoFKA8U11}t33UlU|vM8igQn|+IxB^(uWdph*96jY5(wm270yF zF?;#P7GTxE{@cRRDc3T)e8<2E6GZDl2eU<&s=O@&y$oL@Jr~)7Ke|X=?)dFRly&g3 z{01ij*XlIH8VY7W;}ZzAUjCq9!KBZHHY8e0+Mqbpe;Bprb+C-u=2c4JoD?D+KS1hS z1Iy)>R4BqO8>%_0o;T3T+9fSOOM*K`JY{EOHqzYk)#_ekT`@ZHM(}1d?)vML)=-1W z%rP(Ju>AY*aDyi2SRSeSkBL@1fi52i^h{x@TjiYx!7sqynTrKGfruwDNs50AOi z1cYAo{UQnDSor4pT>M`JW`!{Y8mJBm1Shi(vD$%^5MVSwrYSF#}*(zKT#sN6rIO66FKU{v(Sxgg_SAepDXwVpe*S$ z!Q8}egwclQfN7T_@6)Gg(ie$bKKsJU=2NB#=SaA_Wlic3qQ6@Oa%j<@YwLjE3Kp+p zl!00z>e>`k8V+15Bf8h-cvNOMkty*uUucid66-5olfG`1iBUt^|@}$A$~ku zyF?`Ad2BdVs^rmG(v*J$avQW9V0H zl6sm#*O0(mE)8^^5XI+`r;}hHiKgQ;ftVm2WMKfQJHMf`D?+3S;Fsv1?;8 z=1jw4QVAIUI0pM*tQz1$OCx$UH)`lyAPo*EJt=H1mi`$$cp53CpnKl`RAYrG*7w}+ z!C>d#Q8o_W`8FiZOJVcI;Zfg&(Y_p{(t0B~&*KYVSzXS&t@Os~202Rp#f`!C@tBx~^*K{xNq`ddjn + bundleIdentifier="com.yourcompany.JuceDemo" jucerVersion="4.2.0" + defines="JUCE_UNIT_TESTS=1" includeBinaryInAppConfig="1"> @@ -39,7 +33,7 @@ + objCExtraSuffix="Lpywnl" bigIcon="BvyE0d" iosScreenOrientation="portraitlandscape"> + bigIcon="BvyE0d" androidScreenOrientation="unspecified" androidMicNeeded="1" + gradleVersion="2.10" gradleWrapperVersion="0.6.0-beta5" gradleToolchain="clang" + gradleToolchainVersion="3.6" buildToolsVersion="23.0.1"> diff --git a/examples/Demo/JuceLibraryCode/AppConfig.h b/examples/Demo/JuceLibraryCode/AppConfig.h index 0036f73a01..37e2bd9de2 100644 --- a/examples/Demo/JuceLibraryCode/AppConfig.h +++ b/examples/Demo/JuceLibraryCode/AppConfig.h @@ -4,8 +4,8 @@ project - if you alter its contents, your changes may be overwritten! There's a section below where you can add your own custom code safely, and the - Introjucer will preserve the contents of that block, but the best way to change - any of these definitions is by using the Introjucer's project settings. + Projucer will preserve the contents of that block, but the best way to change + any of these definitions is by using the Projucer's project settings. Any commented-out settings will assume their default values. @@ -17,11 +17,7 @@ //============================================================================== // [BEGIN_USER_CODE_SECTION] -#define JUCE_DONT_ASSERT_ON_GLSL_COMPILE_ERROR 1 - -#define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#define JUCE_IS_REPAINT_DEBUGGING_ACTIVE juceDemoRepaintDebuggingActive -extern bool juceDemoRepaintDebuggingActive; +// (You can add your own code in this section, and the Projucer will not overwrite it) // [END_USER_CODE_SECTION] @@ -44,9 +40,15 @@ extern bool juceDemoRepaintDebuggingActive; //============================================================================== #ifndef JUCE_STANDALONE_APPLICATION - #define JUCE_STANDALONE_APPLICATION 1 + #ifdef JucePlugin_Build_Standalone + #define JUCE_STANDALONE_APPLICATION JucePlugin_Build_Standalone + #else + #define JUCE_STANDALONE_APPLICATION 1 + #endif #endif +#define JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED 1 + //============================================================================== // juce_audio_devices flags: diff --git a/examples/Demo/JuceLibraryCode/JuceHeader.h b/examples/Demo/JuceLibraryCode/JuceHeader.h index 3f59dc05f2..261b42a1b0 100644 --- a/examples/Demo/JuceLibraryCode/JuceHeader.h +++ b/examples/Demo/JuceLibraryCode/JuceHeader.h @@ -14,21 +14,23 @@ #define __APPHEADERFILE_SBBIZR__ #include "AppConfig.h" -#include "modules/juce_audio_basics/juce_audio_basics.h" -#include "modules/juce_audio_devices/juce_audio_devices.h" -#include "modules/juce_audio_formats/juce_audio_formats.h" -#include "modules/juce_audio_processors/juce_audio_processors.h" -#include "modules/juce_audio_utils/juce_audio_utils.h" -#include "modules/juce_box2d/juce_box2d.h" -#include "modules/juce_core/juce_core.h" -#include "modules/juce_cryptography/juce_cryptography.h" -#include "modules/juce_data_structures/juce_data_structures.h" -#include "modules/juce_events/juce_events.h" -#include "modules/juce_graphics/juce_graphics.h" -#include "modules/juce_gui_basics/juce_gui_basics.h" -#include "modules/juce_gui_extra/juce_gui_extra.h" -#include "modules/juce_opengl/juce_opengl.h" -#include "modules/juce_video/juce_video.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + #include "BinaryData.h" #if ! DONT_SET_USING_JUCE_NAMESPACE diff --git a/examples/Demo/JuceLibraryCode/ReadMe.txt b/examples/Demo/JuceLibraryCode/ReadMe.txt index f6c3564e99..091a5aa6eb 100644 --- a/examples/Demo/JuceLibraryCode/ReadMe.txt +++ b/examples/Demo/JuceLibraryCode/ReadMe.txt @@ -2,11 +2,11 @@ Important Note!! ================ -The purpose of this folder is to contain files that are auto-generated by the Introjucer, +The purpose of this folder is to contain files that are auto-generated by the Projucer, and ALL files in this folder will be mercilessly DELETED and completely re-written whenever -the Introjucer saves your project. +the Projucer saves your project. Therefore, it's a bad idea to make any manual changes to the files in here, or to put any of your own files in here if you don't want to lose them. (Of course you may choose to add the folder's contents to your version-control system so that you can re-merge your own -modifications after the Introjucer has saved its changes). +modifications after the Projucer has saved its changes). diff --git a/examples/Demo/JuceLibraryCode/juce_audio_basics.cpp b/examples/Demo/JuceLibraryCode/juce_audio_basics.cpp new file mode 100644 index 0000000000..418694873c --- /dev/null +++ b/examples/Demo/JuceLibraryCode/juce_audio_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/Demo/JuceLibraryCode/juce_audio_basics.mm b/examples/Demo/JuceLibraryCode/juce_audio_basics.mm new file mode 100644 index 0000000000..e0e6c577cc --- /dev/null +++ b/examples/Demo/JuceLibraryCode/juce_audio_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/Demo/JuceLibraryCode/juce_audio_devices.cpp b/examples/Demo/JuceLibraryCode/juce_audio_devices.cpp new file mode 100644 index 0000000000..fb5c2219d7 --- /dev/null +++ b/examples/Demo/JuceLibraryCode/juce_audio_devices.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/Demo/JuceLibraryCode/juce_audio_devices.mm b/examples/Demo/JuceLibraryCode/juce_audio_devices.mm new file mode 100644 index 0000000000..e58b67ea49 --- /dev/null +++ b/examples/Demo/JuceLibraryCode/juce_audio_devices.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/Demo/JuceLibraryCode/juce_audio_formats.cpp b/examples/Demo/JuceLibraryCode/juce_audio_formats.cpp new file mode 100644 index 0000000000..a3c61170eb --- /dev/null +++ b/examples/Demo/JuceLibraryCode/juce_audio_formats.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/Demo/JuceLibraryCode/juce_audio_formats.mm b/examples/Demo/JuceLibraryCode/juce_audio_formats.mm new file mode 100644 index 0000000000..f325b8fb67 --- /dev/null +++ b/examples/Demo/JuceLibraryCode/juce_audio_formats.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/Demo/JuceLibraryCode/juce_audio_processors.cpp b/examples/Demo/JuceLibraryCode/juce_audio_processors.cpp new file mode 100644 index 0000000000..bfe172edd0 --- /dev/null +++ b/examples/Demo/JuceLibraryCode/juce_audio_processors.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/Demo/JuceLibraryCode/juce_audio_processors.mm b/examples/Demo/JuceLibraryCode/juce_audio_processors.mm new file mode 100644 index 0000000000..b80ae9017f --- /dev/null +++ b/examples/Demo/JuceLibraryCode/juce_audio_processors.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/Demo/JuceLibraryCode/juce_audio_utils.cpp b/examples/Demo/JuceLibraryCode/juce_audio_utils.cpp new file mode 100644 index 0000000000..97bd2c568c --- /dev/null +++ b/examples/Demo/JuceLibraryCode/juce_audio_utils.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/Demo/JuceLibraryCode/juce_audio_utils.mm b/examples/Demo/JuceLibraryCode/juce_audio_utils.mm new file mode 100644 index 0000000000..8eae7c6e2f --- /dev/null +++ b/examples/Demo/JuceLibraryCode/juce_audio_utils.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/Demo/JuceLibraryCode/juce_box2d.cpp b/examples/Demo/JuceLibraryCode/juce_box2d.cpp new file mode 100644 index 0000000000..2f1e1f8133 --- /dev/null +++ b/examples/Demo/JuceLibraryCode/juce_box2d.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/Demo/JuceLibraryCode/juce_core.cpp b/examples/Demo/JuceLibraryCode/juce_core.cpp new file mode 100644 index 0000000000..d0ce1636f0 --- /dev/null +++ b/examples/Demo/JuceLibraryCode/juce_core.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/Demo/JuceLibraryCode/juce_core.mm b/examples/Demo/JuceLibraryCode/juce_core.mm new file mode 100644 index 0000000000..72b10bf817 --- /dev/null +++ b/examples/Demo/JuceLibraryCode/juce_core.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/Demo/JuceLibraryCode/juce_cryptography.cpp b/examples/Demo/JuceLibraryCode/juce_cryptography.cpp new file mode 100644 index 0000000000..10b3401dbe --- /dev/null +++ b/examples/Demo/JuceLibraryCode/juce_cryptography.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/Demo/JuceLibraryCode/juce_cryptography.mm b/examples/Demo/JuceLibraryCode/juce_cryptography.mm new file mode 100644 index 0000000000..9311ea0ffe --- /dev/null +++ b/examples/Demo/JuceLibraryCode/juce_cryptography.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/Demo/JuceLibraryCode/juce_data_structures.cpp b/examples/Demo/JuceLibraryCode/juce_data_structures.cpp new file mode 100644 index 0000000000..9315aa1686 --- /dev/null +++ b/examples/Demo/JuceLibraryCode/juce_data_structures.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/Demo/JuceLibraryCode/juce_data_structures.mm b/examples/Demo/JuceLibraryCode/juce_data_structures.mm new file mode 100644 index 0000000000..695ec43925 --- /dev/null +++ b/examples/Demo/JuceLibraryCode/juce_data_structures.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/Demo/JuceLibraryCode/juce_events.cpp b/examples/Demo/JuceLibraryCode/juce_events.cpp new file mode 100644 index 0000000000..1bba110a97 --- /dev/null +++ b/examples/Demo/JuceLibraryCode/juce_events.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/Demo/JuceLibraryCode/juce_events.mm b/examples/Demo/JuceLibraryCode/juce_events.mm new file mode 100644 index 0000000000..4cc34fc401 --- /dev/null +++ b/examples/Demo/JuceLibraryCode/juce_events.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/Demo/JuceLibraryCode/juce_graphics.cpp b/examples/Demo/JuceLibraryCode/juce_graphics.cpp new file mode 100644 index 0000000000..319c76de0e --- /dev/null +++ b/examples/Demo/JuceLibraryCode/juce_graphics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/Demo/JuceLibraryCode/juce_graphics.mm b/examples/Demo/JuceLibraryCode/juce_graphics.mm new file mode 100644 index 0000000000..b28e6dd056 --- /dev/null +++ b/examples/Demo/JuceLibraryCode/juce_graphics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/Demo/JuceLibraryCode/juce_gui_basics.cpp b/examples/Demo/JuceLibraryCode/juce_gui_basics.cpp new file mode 100644 index 0000000000..216c76bb05 --- /dev/null +++ b/examples/Demo/JuceLibraryCode/juce_gui_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/Demo/JuceLibraryCode/juce_gui_basics.mm b/examples/Demo/JuceLibraryCode/juce_gui_basics.mm new file mode 100644 index 0000000000..6a9726fa5f --- /dev/null +++ b/examples/Demo/JuceLibraryCode/juce_gui_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/Demo/JuceLibraryCode/juce_gui_extra.cpp b/examples/Demo/JuceLibraryCode/juce_gui_extra.cpp new file mode 100644 index 0000000000..7226e19833 --- /dev/null +++ b/examples/Demo/JuceLibraryCode/juce_gui_extra.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/Demo/JuceLibraryCode/juce_gui_extra.mm b/examples/Demo/JuceLibraryCode/juce_gui_extra.mm new file mode 100644 index 0000000000..c9b6c3bfc6 --- /dev/null +++ b/examples/Demo/JuceLibraryCode/juce_gui_extra.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/Demo/JuceLibraryCode/juce_opengl.cpp b/examples/Demo/JuceLibraryCode/juce_opengl.cpp new file mode 100644 index 0000000000..d9895bce92 --- /dev/null +++ b/examples/Demo/JuceLibraryCode/juce_opengl.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/Demo/JuceLibraryCode/juce_opengl.mm b/examples/Demo/JuceLibraryCode/juce_opengl.mm new file mode 100644 index 0000000000..6c2c32d095 --- /dev/null +++ b/examples/Demo/JuceLibraryCode/juce_opengl.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/Demo/JuceLibraryCode/juce_video.cpp b/examples/Demo/JuceLibraryCode/juce_video.cpp new file mode 100644 index 0000000000..bdf22ee131 --- /dev/null +++ b/examples/Demo/JuceLibraryCode/juce_video.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/Demo/JuceLibraryCode/juce_video.mm b/examples/Demo/JuceLibraryCode/juce_video.mm new file mode 100644 index 0000000000..3da705bccd --- /dev/null +++ b/examples/Demo/JuceLibraryCode/juce_video.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/Demo/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h b/examples/Demo/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h deleted file mode 100644 index 9befea8142..0000000000 --- a/examples/Demo/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_basics/juce_audio_basics.h" diff --git a/examples/Demo/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h b/examples/Demo/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h deleted file mode 100644 index eba6d3a9e5..0000000000 --- a/examples/Demo/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_devices/juce_audio_devices.h" diff --git a/examples/Demo/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h b/examples/Demo/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h deleted file mode 100644 index 4629b0ef2c..0000000000 --- a/examples/Demo/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_formats/juce_audio_formats.h" diff --git a/examples/Demo/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h b/examples/Demo/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h deleted file mode 100644 index 7d4583dbf8..0000000000 --- a/examples/Demo/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_processors/juce_audio_processors.h" diff --git a/examples/Demo/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h b/examples/Demo/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h deleted file mode 100644 index bb997d30d3..0000000000 --- a/examples/Demo/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_utils/juce_audio_utils.h" diff --git a/examples/Demo/JuceLibraryCode/modules/juce_box2d/juce_box2d.h b/examples/Demo/JuceLibraryCode/modules/juce_box2d/juce_box2d.h deleted file mode 100644 index c45c83e1ef..0000000000 --- a/examples/Demo/JuceLibraryCode/modules/juce_box2d/juce_box2d.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_box2d/juce_box2d.h" diff --git a/examples/Demo/JuceLibraryCode/modules/juce_core/juce_core.h b/examples/Demo/JuceLibraryCode/modules/juce_core/juce_core.h deleted file mode 100644 index 06e88f9352..0000000000 --- a/examples/Demo/JuceLibraryCode/modules/juce_core/juce_core.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_core/juce_core.h" diff --git a/examples/Demo/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h b/examples/Demo/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h deleted file mode 100644 index e4574f4749..0000000000 --- a/examples/Demo/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_cryptography/juce_cryptography.h" diff --git a/examples/Demo/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h b/examples/Demo/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h deleted file mode 100644 index 9d814fd953..0000000000 --- a/examples/Demo/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_data_structures/juce_data_structures.h" diff --git a/examples/Demo/JuceLibraryCode/modules/juce_events/juce_events.h b/examples/Demo/JuceLibraryCode/modules/juce_events/juce_events.h deleted file mode 100644 index 509b1df8d2..0000000000 --- a/examples/Demo/JuceLibraryCode/modules/juce_events/juce_events.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_events/juce_events.h" diff --git a/examples/Demo/JuceLibraryCode/modules/juce_graphics/juce_graphics.h b/examples/Demo/JuceLibraryCode/modules/juce_graphics/juce_graphics.h deleted file mode 100644 index 28edbf35e3..0000000000 --- a/examples/Demo/JuceLibraryCode/modules/juce_graphics/juce_graphics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_graphics/juce_graphics.h" diff --git a/examples/Demo/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h b/examples/Demo/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h deleted file mode 100644 index 81ad4b7297..0000000000 --- a/examples/Demo/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_gui_basics/juce_gui_basics.h" diff --git a/examples/Demo/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h b/examples/Demo/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h deleted file mode 100644 index 5c9b7a96b5..0000000000 --- a/examples/Demo/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_gui_extra/juce_gui_extra.h" diff --git a/examples/Demo/JuceLibraryCode/modules/juce_opengl/juce_opengl.h b/examples/Demo/JuceLibraryCode/modules/juce_opengl/juce_opengl.h deleted file mode 100644 index 718392ff72..0000000000 --- a/examples/Demo/JuceLibraryCode/modules/juce_opengl/juce_opengl.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_opengl/juce_opengl.h" diff --git a/examples/Demo/JuceLibraryCode/modules/juce_video/juce_video.h b/examples/Demo/JuceLibraryCode/modules/juce_video/juce_video.h deleted file mode 100644 index 0dd1636ec2..0000000000 --- a/examples/Demo/JuceLibraryCode/modules/juce_video/juce_video.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_video/juce_video.h" diff --git a/examples/Demo/Source/Demos/CodeEditorDemo.cpp b/examples/Demo/Source/Demos/CodeEditorDemo.cpp index 08c714e60a..836f27feaf 100644 --- a/examples/Demo/Source/Demos/CodeEditorDemo.cpp +++ b/examples/Demo/Source/Demos/CodeEditorDemo.cpp @@ -44,7 +44,7 @@ public: "/* Code editor demo!\n" "\n" " To see a real-world example of the code editor\n" - " in action, try the Introjucer!\n" + " in action, have a look at the Projucer!\n" "\n" "*/\n" "\n"); diff --git a/examples/Demo/Source/Demos/MidiDemo.cpp b/examples/Demo/Source/Demos/MidiDemo.cpp index 48b86ddeaa..3310aecc35 100644 --- a/examples/Demo/Source/Demos/MidiDemo.cpp +++ b/examples/Demo/Source/Demos/MidiDemo.cpp @@ -188,7 +188,7 @@ private: { currentMidiOutput = MidiOutput::openDevice (index); jassert (currentMidiOutput); - } + } } void comboBoxChanged (ComboBox* box) override diff --git a/examples/HelloWorld/Builds/Linux/Makefile b/examples/HelloWorld/Builds/Linux/Makefile index f28208181f..218a56a101 100644 --- a/examples/HelloWorld/Builds/Linux/Makefile +++ b/examples/HelloWorld/Builds/Linux/Makefile @@ -1,5 +1,5 @@ -# Automatically generated makefile, created by the Introjucer -# Don't edit this file! Your changes will be overwritten when you re-save the Introjucer project! +# Automatically generated makefile, created by the Projucer +# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project! # (this disables dependency generation if multiple architectures are set) DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) @@ -51,12 +51,12 @@ endif OBJECTS := \ $(OBJDIR)/Main_90ebc5c2.o \ $(OBJDIR)/MainComponent_a6ffb4a5.o \ - $(OBJDIR)/juce_core_1ee54a40.o \ - $(OBJDIR)/juce_data_structures_84790dfc.o \ - $(OBJDIR)/juce_events_584896b4.o \ - $(OBJDIR)/juce_graphics_f9afc18.o \ - $(OBJDIR)/juce_gui_basics_90929794.o \ - $(OBJDIR)/juce_gui_extra_b81d9e1c.o \ + $(OBJDIR)/juce_core_75b14332.o \ + $(OBJDIR)/juce_data_structures_72d3da2c.o \ + $(OBJDIR)/juce_events_d2be882c.o \ + $(OBJDIR)/juce_graphics_9c18891e.o \ + $(OBJDIR)/juce_gui_basics_8a6da59c.o \ + $(OBJDIR)/juce_gui_extra_4a026f23.o \ .PHONY: clean @@ -85,32 +85,32 @@ $(OBJDIR)/MainComponent_a6ffb4a5.o: ../../Source/MainComponent.cpp @echo "Compiling MainComponent.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_core_1ee54a40.o: ../../../../modules/juce_core/juce_core.cpp +$(OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_core.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_data_structures_84790dfc.o: ../../../../modules/juce_data_structures/juce_data_structures.cpp +$(OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_data_structures.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_events_584896b4.o: ../../../../modules/juce_events/juce_events.cpp +$(OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_events.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_graphics_f9afc18.o: ../../../../modules/juce_graphics/juce_graphics.cpp +$(OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_graphics.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_basics_90929794.o: ../../../../modules/juce_gui_basics/juce_gui_basics.cpp +$(OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_gui_basics.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_extra_b81d9e1c.o: ../../../../modules/juce_gui_extra/juce_gui_extra.cpp +$(OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_gui_extra.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" diff --git a/examples/HelloWorld/Builds/MacOSX/HelloWorld.xcodeproj/project.pbxproj b/examples/HelloWorld/Builds/MacOSX/HelloWorld.xcodeproj/project.pbxproj index 3b7ec2043e..1735cab56a 100644 --- a/examples/HelloWorld/Builds/MacOSX/HelloWorld.xcodeproj/project.pbxproj +++ b/examples/HelloWorld/Builds/MacOSX/HelloWorld.xcodeproj/project.pbxproj @@ -6,6 +6,7 @@ objectVersion = 46; objects = { + 9B5335D3CC41BA3A59D5E2E6 = {isa = PBXBuildFile; fileRef = 630E0739D24A3C9E99CD4592; }; 4DB01A361C3EB8BBBE893AAC = {isa = PBXBuildFile; fileRef = 21A912CCEA1FC0733AD65075; }; 51A76E3A281D21F429C75F0E = {isa = PBXBuildFile; fileRef = A9E35E85D16F32AD3EA135BE; }; 820ECCDC2115F6687BEC40C6 = {isa = PBXBuildFile; fileRef = 156FD1B428979C9E5D43DDC2; }; @@ -14,18 +15,17 @@ 6E85E85F989CB43995D01BAF = {isa = PBXBuildFile; fileRef = D071023526C8D2E38D1C95C5; }; 535A340E26E5D6766D1780CA = {isa = PBXBuildFile; fileRef = B3978067F1432E1A2618A5DB; }; 31E87C6EC193B9C408D16F20 = {isa = PBXBuildFile; fileRef = 0EDDB91E8D84944C3EBACFFE; }; - F1FECDFA7E29BD6B703AF52B = {isa = PBXBuildFile; fileRef = 116E9A279FB25AE32174C42F; }; - EA50C8A2A8471D0EB4B8E644 = {isa = PBXBuildFile; fileRef = C1980330512BAADDA1CB0D24; }; - 10A93C9ECE23E879115D5B95 = {isa = PBXBuildFile; fileRef = 8FC7BFF093D665F8178EC297; }; - 16890172C661285B431823B1 = {isa = PBXBuildFile; fileRef = B2650D0AA7710D3C2627238A; }; - 7DCA87102FFCD304FA172464 = {isa = PBXBuildFile; fileRef = 01D2B9B2D33BFF1F4B571B7E; }; - 219E48FBEA32F43040A9970C = {isa = PBXBuildFile; fileRef = F21F13BF684528EB7041BD67; }; + C00F4D9BB21AA1D23C159240 = {isa = PBXBuildFile; fileRef = EACC160E0A89470B41179AB4; }; + FD58015BBF155E1BC897A3DB = {isa = PBXBuildFile; fileRef = CD26BF26FF05366672B6606F; }; + 7E94E1B62C6D18481CF59459 = {isa = PBXBuildFile; fileRef = F7AF7F3B0D1DCF1E9B1F4DA1; }; + 605BA65217C14EDE46D7BBDB = {isa = PBXBuildFile; fileRef = 7B4F5B653B7DDBC603F313BC; }; + D64D8487EDE1692651640117 = {isa = PBXBuildFile; fileRef = 20D5A8BFF03A85C71D10B72A; }; + 91B43FAA9FF01E555772E593 = {isa = PBXBuildFile; fileRef = 6070F82641B68C6D023AD16D; }; 00BB14FB0329250A897855F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; }; 00D9EB5B09E980D4A78D852A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; }; 00FD1194DB59F69CA9DFCFAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; }; 016AB5DF7206562FA4B48A81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; 01A853C55CAE8341C207A758 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h"; sourceTree = "SOURCE_ROOT"; }; - 01D2B9B2D33BFF1F4B571B7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 01D5DC75EA54630B8805AD59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 02123F620ABB8F19FCE4E7E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; }; 02BD81436ED17F1341E19522 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; }; @@ -65,7 +65,6 @@ 0EDDB91E8D84944C3EBACFFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MainComponent.cpp; path = ../../Source/MainComponent.cpp; sourceTree = "SOURCE_ROOT"; }; 0F5CBF5A5C2283DA1344E55E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; 10650C6BB284DC0F6E7DCB5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 116E9A279FB25AE32174C42F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; 118B13BE32C7FDCE82BDC495 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 1259079CB2A8907577BBBAA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; 130A28E84D438B08C6B5D5A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -116,6 +115,7 @@ 207945846A9C6558F509C745 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; }; 20A5A541366F7C22EF633114 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; }; 20BC71D082643A43C9BD37C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; }; + 20D5A8BFF03A85C71D10B72A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 2162A9A1F6F5DF44CBAC2129 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 2199D426EC85451D81636490 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyMappingEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 219B89271C840E2D7E512612 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -158,7 +158,6 @@ 309B10A91B0698EC749802D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; }; 30D62F5F1125F39CE8D28C78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; }; 3123FA92E774DD0E4788E9FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; }; - 31F1BE05C5BC30558F8039AD = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 31FED87B0FA79D42C5B63186 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 32A77D14749535446A0BC825 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; }; 32B8A985D15EAE4008F43D5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -166,7 +165,6 @@ 3437B0E3EA85400DBEEE0074 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; }; 348CDBF399D99B719511B313 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; }; 34B6C8553DCBD14A2F7207FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsPostScriptRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 3549AF6032831F9553E74467 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_events/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 35BD72D236BE7ADC019B5564 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; }; 35CCF611A1FFF0A68FA75161 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; 3705B72C4B467A1EABEC9C49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -265,6 +263,7 @@ 5FCCDEEE0E7A1AD4179D1E1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; 5FE579E53ADAEEDEDF2AA2D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; 601874CF9435F18E7B69AE6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; + 6070F82641B68C6D023AD16D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; 60DDA3B2D06C918647F0F2FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; }; 60F8D50274C2C6DEA40C13AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; 6108C64B7B0AD2CA64F30DC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -275,6 +274,7 @@ 62B84090765C713CC4250BB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; }; 62DF24F1C7E14730CDA3F27B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; }; 62E67D3BBC3098E5BC56F835 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 630E0739D24A3C9E99CD4592 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = HelloWorld.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; 632A6E49E7D869A9744A4491 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; }; 6421875FDD1DB8F8C322F3A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; 64D016CA7156861886442427 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -322,7 +322,6 @@ 71EA769D5757AB3B16E5E6E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; }; 7224FBF6C8769342A0E3AC71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; }; 732EB7C9CF8E817B7239DBA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; }; - 7402FA767F4FD9CCD3DD1578 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_graphics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 744475CFFBA91FDA03DDF659 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; }; 74AB579ADDC7C355C5704A16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; }; 75228523BAA6F029F315E6F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; }; @@ -335,6 +334,7 @@ 7A6E2A815D9AE276CF064A24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemTrayIconComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 7A704BB75CD29EA20C349CDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; }; 7A969F79FFA4031B868F9EED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7B4F5B653B7DDBC603F313BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../JuceLibraryCode/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; 7B78D4684FE1D74EA847C1B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; }; 7BB92A7F312D9DA6AA53FAC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; 7C019D56F09C3415D36A0058 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -384,8 +384,6 @@ 8F92FD719B301B68F4945EA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; }; 8F977FE20118240233D8E05E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTreeSynchroniser.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h"; sourceTree = "SOURCE_ROOT"; }; 8FA331691E39F5D8FB0DCDF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; - 8FBE4F804ECCBADAA37592F0 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_extra/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; - 8FC7BFF093D665F8178EC297 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; 8FE02C7AD75EE732A416DA8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; }; 90CFC8BC9D8A156A512D2A39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; }; 9132D1324A6D6D049C9B2FFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Component.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -477,7 +475,6 @@ B1557FE77AC7D7FBF5A745F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; B16933E10DCBA3CC20ADFAFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; }; B2485AFF4249D9C40B9B54CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; }; - B2650D0AA7710D3C2627238A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; B2C3D53237084A8C79EE8B16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; B2EE22875A0E4C2679EFD3CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; B3978067F1432E1A2618A5DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = "SOURCE_ROOT"; }; @@ -485,7 +482,6 @@ B3AE3983352E66690C865088 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; }; B3CEFD554B22D2764327CC70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NotificationType.h"; path = "../../../../modules/juce_events/messages/juce_NotificationType.h"; sourceTree = "SOURCE_ROOT"; }; B4A651618E07F64027C2DB75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; }; - B531D38613FDEC368336A51E = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = "SOURCE_ROOT"; }; B5880B8DE2B7362EF263D82A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; }; B5D117435CCB80BF33D4AD00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; }; B63040F76DC9E9F5256AC022 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; }; @@ -495,7 +491,6 @@ B78154B28539A2E8152D2B9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; }; B7F363708A0CDC05D9C04876 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; }; B86F88CBFF4E577BCCF8D620 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; - B8E7EC57DAC2DE65CFEC21E0 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_data_structures/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; B909BE26785040CF82533E80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; B93ACCE3F29334143039311C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; B9BC9B5BC286D2C9356DDF47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -513,7 +508,6 @@ BFF18A9C80EEDD74D0223EEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; }; C001B0F67BB17E32A3BC8F92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; }; C016810AF5F23520BE9EBF2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; - C1980330512BAADDA1CB0D24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; C1A8DCB1BD40331EFC186CF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; C1CC6D2EB9A261B4D2B926BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; }; C2012B18C8652969617417E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; }; @@ -525,6 +519,7 @@ C40948D9BB7965E367551251 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; }; C4272B1ABE77520CD6E55EB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; }; C4788802A0C1A2908645028B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; }; + C47B583663A97D26144D160A = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-App.plist"; path = "Info-App.plist"; sourceTree = "SOURCE_ROOT"; }; C511170BCB0784C896826010 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; }; C5401AF900EB8056416C1294 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; }; C546B9AC32E553D5969B2537 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; @@ -556,6 +551,7 @@ CB85029BEDE10DB68C5BAA21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; CBE147D9B86A9F69A7CCEC3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; CC95B7798FE5B9D685B3573D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ActiveXComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + CD26BF26FF05366672B6606F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; CD87ECBCB1347FDB040D63FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; CD9D30D3D61F095124F6D916 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; CE290D98DCBBDC902406E73F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; }; @@ -624,21 +620,19 @@ E96CBEBCDABA3EA741C4C2EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; E9904E84AFCF3AB39B03BAA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; EA433D25CF79DF86FEF978D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + EACC160E0A89470B41179AB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; ECC4847BBD2AC72116506F0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; + ED577465CA22A65861192A35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; }; ED872E47438BBE6325FE78F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; EE785DBFA288EFA2E7AB2108 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; EF28BA2B5E24F4749F732230 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; EF3A7A1A871BAB32EA1B46EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; }; - EF932865774E86525CE7FC55 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; - EA398D9C544440E06637C134 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = HelloWorld.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; - ED577465CA22A65861192A35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; }; EF54929F7151858D8FF8107B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; }; + EF932865774E86525CE7FC55 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; EFE00478AEAFE39D81B0E59D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; EFE65E031B01332448C2BE5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; }; - F003AC63C800E3F090BF217F = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_core/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; F08B148BBAEA45BCDA3F066F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; }; F0A440A64636CA5008C1D76A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; - F21F13BF684528EB7041BD67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; F26B1DF1D28880AA0099B36D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; F2AA4EBDE6E999C033A8CA65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; }; F2C96C26ACDFFE9D480D5561 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -657,6 +651,7 @@ F6B44EB4315A24F4359BF2B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; }; F6CA8CB0E2135154E38E9707 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; F78633365BAD28DA5864C502 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + F7AF7F3B0D1DCF1E9B1F4DA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; F83EC8D59072A524F5DA56B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; }; F86158611AE1654F4BCAFC47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; F8FDB57B9F26F2B0582CBEED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -686,58 +681,7 @@ 0784B69B6377F90FB264DCB0, ); name = Source; sourceTree = ""; }; 23A603C0DAA7E2E423A4123A = {isa = PBXGroup; children = ( 39BDB517F5C4ED09B374411D, ); name = HelloWorld; sourceTree = ""; }; - 53B7ECB896E5903DD2493E14 = {isa = PBXGroup; children = ( - F92040E5407E1B24B9D740C2, - 3BE1A6F6B461F08095CABAC9, - BFF18A9C80EEDD74D0223EEC, - 5D8B625E558414B158ACA721, - E597E0071A0752D8B87C0C7A, - E62053E448B91F1A968D6B0C, - C743089A221B553DA6B45F65, - 898C4B2D036C170A6ED46DD0, - E02684265B013C418CC7A242, - 293CD4C7F50623F81F3D6297, - 98B2591FE72E0B3D259F332F, - 8299092A070FB3E459760F8C, - 2E621C1E7F2E9FC6A6D14282, - 52D7E72C26E3D1589A6A1BD4, - BA4ECA72D6EADF487141684A, - 408110CA0AFFDF83F3AF497D, - D4ED28003B9120E85F5CD490, - F6B44EB4315A24F4359BF2B5, - 1D68491BDF0E63AC125D454C, - 971270DAD06B91F5B156C362, - DD7DC4C53F386AD914887EDA, - 9B5E2905BAEE2A1E7B7657AF, - 03BB1C54D9DEDDAB20B854AD, - AD1F1A9815D8660FA0305028, ); name = text; sourceTree = ""; }; - C3BF0F36B4C2A20B594B2C17 = {isa = PBXGroup; children = ( - 5FCCDEEE0E7A1AD4179D1E1D, - FD5D001673478C39B79A9C6A, - 403E7E9949CFE8BD73DDD909, - AB625562B978102C10FD5311, - 39F7F5DC827150D2E57F1DBF, - 0B62C1B2DFE2EE1C8E1EB5B6, - 26341A8D55A799AC0ED8B33F, - 38E5FF4A3CBEA8C42D9F14CD, - F83EC8D59072A524F5DA56B0, - C6CA0624B45EC3D866BC0D79, ); name = maths; sourceTree = ""; }; - 283F53CC2F8E672B54F90A31 = {isa = PBXGroup; children = ( - 60DDA3B2D06C918647F0F2FF, - AA75E89A148ADF8C55671CA0, - C5401AF900EB8056416C1294, - 1F16E8AF03971A15157AD981, - 62733AC6CAD0F79BEAE0CF4F, - 09A3E1630BFC67C63AFEDE3A, - 46BD0A7BCF4C608DB94285EC, - 0B92355966B36E2B913BC8EE, - EF28BA2B5E24F4749F732230, - 601874CF9435F18E7B69AE6A, - 45905746CA7C3BFE98B583C9, - 89F164CF6D809DD8AB8FDB55, - 6C556B58616171CC70488F0D, - 6615B376201BA6A338D7177E, ); name = memory; sourceTree = ""; }; - 7582B2AE14482E2927B3AE2F = {isa = PBXGroup; children = ( + 794DFFB544985A9E4BB71FE9 = {isa = PBXGroup; children = ( 02123F620ABB8F19FCE4E7E5, F5D2E9784191EC7F2DFA3949, 068349E735D107BE09BEC641, @@ -759,37 +703,7 @@ E6CD70420EF8F0E3CAD9ED5B, 7A969F79FFA4031B868F9EED, A17E8E8081DF2A399C206DF2, ); name = containers; sourceTree = ""; }; - BF229D931FB1A5222CD9DB43 = {isa = PBXGroup; children = ( - C3AC4696140DE22682732FB6, - 61E66D9A002421AAA36E6CA2, - F93E87E35290A40DC20A4D44, - 65B0A35F0ED651E60556A0E4, - 7C91591CECC16FC22329ADB8, - 8EED918F1D3876E4EB17F5A5, - E7CEB65B72C024546E5927A7, - 6B625D967F13EC4AFB7BADCA, - DA8CFA399CD27524DB69AD78, - 1DFCB49A7B79D79376629528, - E830FDCCA2799244C53AEB8F, - 71B6F45D512F8B8D802B1927, - C016810AF5F23520BE9EBF2E, - 832D1429ADEE1B07AB3693A3, - 62DF24F1C7E14730CDA3F27B, - 0CE43A8B78FB46CE63C0AB6A, - B6AC99C26F679771A2F942B5, - 9FBFACCA56589CDCC3D78F0E, - 65DBA30ACD7C6156850F1F4E, - 6603F93CB38F0E7BEB779A9D, - B4A651618E07F64027C2DB75, - D624E1F31ADE1C718E97A3C1, ); name = threads; sourceTree = ""; }; - CFA0FE5274773CA97B9EA5A1 = {isa = PBXGroup; children = ( - B5880B8DE2B7362EF263D82A, - 8E1A22B596E70DF1D0C15F8C, - 15569873F24C4157977C8D9F, - C64E52A86F2984D4A5F82EF8, - 8215524ADDC78289AD8BD4CE, - AB7582784F8607123662C3EC, ); name = time; sourceTree = ""; }; - 120D356AA058212F80C97EAB = {isa = PBXGroup; children = ( + 0E0018AEDDE87B7E1E838FFF = {isa = PBXGroup; children = ( FC47B303DF1BE68BE78F9079, D882D6E64CEFE8FFE435EF40, 5457E4C7D67E767CCD8B0964, @@ -807,66 +721,43 @@ F5FD842A428369A565BC92E4, 83F74BA834946705EB9ED79C, 1657734A03E0F21166FAE9E8, ); name = files; sourceTree = ""; }; - 2AE9B24F8D2F81FB9B7FF4C7 = {isa = PBXGroup; children = ( - 21A118094F4A8DC6E9343AC6, - 2206F8DB2D2D3042FFB24820, - D4F8F05BFF087B2BCA01CB71, - 71D4E1218CF09450B41469B9, - 0A421597B03EA9CA355D8BD1, - 6B252EAC72CB94D5DC06C284, - E02BE252CF20E4FABAC9A7B2, - 1BF703172DA6AC2179913394, - DD6356DF25DE4F39BFB2BD87, - 3A1128BBCB04C3DCE2E5D37E, ); name = network; sourceTree = ""; }; - D46664D5E1C590C441D4F80B = {isa = PBXGroup; children = ( - 0DBB48BEAC0B38D509A6ED6F, - 0E0B382367017DA9380D3C61, - BD8335C336E988FF37044F21, - 5E716763BE04772CA06592DC, - 7E6FE81AB4D5B08FF0F4E8AF, - BE4B29F0D308D1BA1046D8DC, - 2F1A2B5F25C3F2502932EFF4, - 3E65BE3F701901EC447327AE, - 1EECC1DDB24892ED2BE2FC44, - 5C49EBA49810FE7840039EA9, - E1774E60A49BD0CC9F7DB6B8, - 956BE6001A359C423014CED7, - FE39F19585CBAE3EE247840C, - 70C7586ACDA27A1FFC0C7AEE, - BA5EF35337DDE160BCA69BE2, ); name = streams; sourceTree = ""; }; - F87D6E9F1E5FE32A55A2A8DB = {isa = PBXGroup; children = ( - 2026B0F45584BD5BECC4EFBA, - 1A8917A61F4F6E9766564420, - 3832110FA8DA58E650AB6F9E, - EF3A7A1A871BAB32EA1B46EF, ); name = logging; sourceTree = ""; }; - A18C218B66BAD36C1F6FDB5D = {isa = PBXGroup; children = ( - 6816BB0D62EC676409B3587F, - 8F92FD719B301B68F4945EA9, - F08B148BBAEA45BCDA3F066F, - 41535CB61E936ECEBB04FFAC, - EF54929F7151858D8FF8107B, - 966BC35C454118B1B895436D, ); name = system; sourceTree = ""; }; - E3BC172EB1F1CA22B436FC42 = {isa = PBXGroup; children = ( - 498778ED99DF1BA68A6E3A18, - 46393FE4FE6D8683444CD1A3, - 32A77D14749535446A0BC825, - 822342F0C44B761EAB020F86, ); name = xml; sourceTree = ""; }; - D959EACECE951B6D139A99C8 = {isa = PBXGroup; children = ( + F675A1B181B929A10E0F2EDC = {isa = PBXGroup; children = ( AEB923D05C620EF9E927B48C, 99FBA3CCFA443DB353B07F71, C4272B1ABE77520CD6E55EB7, ECC4847BBD2AC72116506F0E, ); name = javascript; sourceTree = ""; }; - D0CB81045FF79BEAD1744CAD = {isa = PBXGroup; children = ( - E8DCBADAA3B789839C797F82, - 3D32372B5CC311AA696124D2, - A88106868D7BACF251D9EAA8, - 8EA982741224B1BF1BB840B6, - F2C96C26ACDFFE9D480D5561, - 8E018B63249825F4D00DEB6C, ); name = zip; sourceTree = ""; }; - 9AE02D48833B87EB32478790 = {isa = PBXGroup; children = ( - 85CC7C10F36E6A615CF24289, - 0C36123881F7A4B6A144F272, ); name = "unit_tests"; sourceTree = ""; }; - 47B575A04992E9EA22045F72 = {isa = PBXGroup; children = ( + B11BB62450B7453F15CC4A15 = {isa = PBXGroup; children = ( + 2026B0F45584BD5BECC4EFBA, + 1A8917A61F4F6E9766564420, + 3832110FA8DA58E650AB6F9E, + EF3A7A1A871BAB32EA1B46EF, ); name = logging; sourceTree = ""; }; + 34A3F5DFEFA3BB3D96C89E77 = {isa = PBXGroup; children = ( + 5FCCDEEE0E7A1AD4179D1E1D, + FD5D001673478C39B79A9C6A, + 403E7E9949CFE8BD73DDD909, + AB625562B978102C10FD5311, + 39F7F5DC827150D2E57F1DBF, + 0B62C1B2DFE2EE1C8E1EB5B6, + 26341A8D55A799AC0ED8B33F, + 38E5FF4A3CBEA8C42D9F14CD, + F83EC8D59072A524F5DA56B0, + C6CA0624B45EC3D866BC0D79, ); name = maths; sourceTree = ""; }; + 079E92B46BB2C82F22F34543 = {isa = PBXGroup; children = ( + 60DDA3B2D06C918647F0F2FF, + AA75E89A148ADF8C55671CA0, + C5401AF900EB8056416C1294, + 1F16E8AF03971A15157AD981, + 62733AC6CAD0F79BEAE0CF4F, + 09A3E1630BFC67C63AFEDE3A, + 46BD0A7BCF4C608DB94285EC, + 0B92355966B36E2B913BC8EE, + EF28BA2B5E24F4749F732230, + 601874CF9435F18E7B69AE6A, + 45905746CA7C3BFE98B583C9, + 89F164CF6D809DD8AB8FDB55, + 6C556B58616171CC70488F0D, + 6615B376201BA6A338D7177E, ); name = memory; sourceTree = ""; }; + 217F279469B33A64EFBAE050 = {isa = PBXGroup; children = ( 17697EA857D23FAC8FF46868, 4A5ED88CC2ED6ADD8A5B102A, 975AC19606552D5003580062, @@ -874,7 +765,7 @@ 35BD72D236BE7ADC019B5564, 6DE47E2E070BC5173F0985BB, 79A4F1CF3FB5D20104693598, ); name = misc; sourceTree = ""; }; - 95B8EA2C19F69EB464681FD5 = {isa = PBXGroup; children = ( + 819D84ABBC8FC9A0A2687B2D = {isa = PBXGroup; children = ( 7D87E3CB6613ADCE674B00BE, C7A6585C8F7FB3EF78837563, AC488F0777290DB214E6E937, @@ -904,49 +795,167 @@ 14F44BEA5F54F7E064122CC7, 295439C55D8A711959ADABD3, A75D66A07D6443E350214CC3, ); name = native; sourceTree = ""; }; + 3A052EC6B760C1155D26B316 = {isa = PBXGroup; children = ( + 21A118094F4A8DC6E9343AC6, + 2206F8DB2D2D3042FFB24820, + D4F8F05BFF087B2BCA01CB71, + 71D4E1218CF09450B41469B9, + 0A421597B03EA9CA355D8BD1, + 6B252EAC72CB94D5DC06C284, + E02BE252CF20E4FABAC9A7B2, + 1BF703172DA6AC2179913394, + DD6356DF25DE4F39BFB2BD87, + 3A1128BBCB04C3DCE2E5D37E, ); name = network; sourceTree = ""; }; + 59F91632E8AC2C4CB166DD4C = {isa = PBXGroup; children = ( + 0DBB48BEAC0B38D509A6ED6F, + 0E0B382367017DA9380D3C61, + BD8335C336E988FF37044F21, + 5E716763BE04772CA06592DC, + 7E6FE81AB4D5B08FF0F4E8AF, + BE4B29F0D308D1BA1046D8DC, + 2F1A2B5F25C3F2502932EFF4, + 3E65BE3F701901EC447327AE, + 1EECC1DDB24892ED2BE2FC44, + 5C49EBA49810FE7840039EA9, + E1774E60A49BD0CC9F7DB6B8, + 956BE6001A359C423014CED7, + FE39F19585CBAE3EE247840C, + 70C7586ACDA27A1FFC0C7AEE, + BA5EF35337DDE160BCA69BE2, ); name = streams; sourceTree = ""; }; + A18C218B66BAD36C1F6FDB5D = {isa = PBXGroup; children = ( + 6816BB0D62EC676409B3587F, + 8F92FD719B301B68F4945EA9, + F08B148BBAEA45BCDA3F066F, + 41535CB61E936ECEBB04FFAC, + EF54929F7151858D8FF8107B, + 966BC35C454118B1B895436D, ); name = system; sourceTree = ""; }; + 571C1E9DE9DFA4396DA41ACB = {isa = PBXGroup; children = ( + F92040E5407E1B24B9D740C2, + 3BE1A6F6B461F08095CABAC9, + BFF18A9C80EEDD74D0223EEC, + 5D8B625E558414B158ACA721, + E597E0071A0752D8B87C0C7A, + E62053E448B91F1A968D6B0C, + C743089A221B553DA6B45F65, + 898C4B2D036C170A6ED46DD0, + E02684265B013C418CC7A242, + 293CD4C7F50623F81F3D6297, + 98B2591FE72E0B3D259F332F, + 8299092A070FB3E459760F8C, + 2E621C1E7F2E9FC6A6D14282, + 52D7E72C26E3D1589A6A1BD4, + BA4ECA72D6EADF487141684A, + 408110CA0AFFDF83F3AF497D, + D4ED28003B9120E85F5CD490, + F6B44EB4315A24F4359BF2B5, + 1D68491BDF0E63AC125D454C, + 971270DAD06B91F5B156C362, + DD7DC4C53F386AD914887EDA, + 9B5E2905BAEE2A1E7B7657AF, + 03BB1C54D9DEDDAB20B854AD, + AD1F1A9815D8660FA0305028, ); name = text; sourceTree = ""; }; + 2A0BDB4F3B8780F1312D05B2 = {isa = PBXGroup; children = ( + C3AC4696140DE22682732FB6, + 61E66D9A002421AAA36E6CA2, + F93E87E35290A40DC20A4D44, + 65B0A35F0ED651E60556A0E4, + 7C91591CECC16FC22329ADB8, + 8EED918F1D3876E4EB17F5A5, + E7CEB65B72C024546E5927A7, + 6B625D967F13EC4AFB7BADCA, + DA8CFA399CD27524DB69AD78, + 1DFCB49A7B79D79376629528, + E830FDCCA2799244C53AEB8F, + 71B6F45D512F8B8D802B1927, + C016810AF5F23520BE9EBF2E, + 832D1429ADEE1B07AB3693A3, + 62DF24F1C7E14730CDA3F27B, + 0CE43A8B78FB46CE63C0AB6A, + B6AC99C26F679771A2F942B5, + 9FBFACCA56589CDCC3D78F0E, + 65DBA30ACD7C6156850F1F4E, + 6603F93CB38F0E7BEB779A9D, + B4A651618E07F64027C2DB75, + D624E1F31ADE1C718E97A3C1, ); name = threads; sourceTree = ""; }; + 050F08BB0358A9E6E066DE35 = {isa = PBXGroup; children = ( + B5880B8DE2B7362EF263D82A, + 8E1A22B596E70DF1D0C15F8C, + 15569873F24C4157977C8D9F, + C64E52A86F2984D4A5F82EF8, + 8215524ADDC78289AD8BD4CE, + AB7582784F8607123662C3EC, ); name = time; sourceTree = ""; }; + 9AE02D48833B87EB32478790 = {isa = PBXGroup; children = ( + 85CC7C10F36E6A615CF24289, + 0C36123881F7A4B6A144F272, ); name = "unit_tests"; sourceTree = ""; }; + E7ABB7ADDD6A2CDD0AD7C71F = {isa = PBXGroup; children = ( + 498778ED99DF1BA68A6E3A18, + 46393FE4FE6D8683444CD1A3, + 32A77D14749535446A0BC825, + 822342F0C44B761EAB020F86, ); name = xml; sourceTree = ""; }; + 7EEFCB7E4DF561B623FB36AA = {isa = PBXGroup; children = ( + E8DCBADAA3B789839C797F82, + 3D32372B5CC311AA696124D2, + A88106868D7BACF251D9EAA8, + 8EA982741224B1BF1BB840B6, + F2C96C26ACDFFE9D480D5561, + 8E018B63249825F4D00DEB6C, ); name = zip; sourceTree = ""; }; 077C855D265E61FB93F96107 = {isa = PBXGroup; children = ( - 53B7ECB896E5903DD2493E14, - C3BF0F36B4C2A20B594B2C17, - 283F53CC2F8E672B54F90A31, - 7582B2AE14482E2927B3AE2F, - BF229D931FB1A5222CD9DB43, - CFA0FE5274773CA97B9EA5A1, - 120D356AA058212F80C97EAB, - 2AE9B24F8D2F81FB9B7FF4C7, - D46664D5E1C590C441D4F80B, - F87D6E9F1E5FE32A55A2A8DB, + 794DFFB544985A9E4BB71FE9, + 0E0018AEDDE87B7E1E838FFF, + F675A1B181B929A10E0F2EDC, + B11BB62450B7453F15CC4A15, + 34A3F5DFEFA3BB3D96C89E77, + 079E92B46BB2C82F22F34543, + 217F279469B33A64EFBAE050, + 819D84ABBC8FC9A0A2687B2D, + 3A052EC6B760C1155D26B316, + 59F91632E8AC2C4CB166DD4C, A18C218B66BAD36C1F6FDB5D, - E3BC172EB1F1CA22B436FC42, - D959EACECE951B6D139A99C8, - D0CB81045FF79BEAD1744CAD, + 571C1E9DE9DFA4396DA41ACB, + 2A0BDB4F3B8780F1312D05B2, + 050F08BB0358A9E6E066DE35, 9AE02D48833B87EB32478790, - 47B575A04992E9EA22045F72, - 95B8EA2C19F69EB464681FD5, - F003AC63C800E3F090BF217F, + E7ABB7ADDD6A2CDD0AD7C71F, + 7EEFCB7E4DF561B623FB36AA, FDDA86C3FCCC3C74F7CDA53D, ); name = "juce_core"; sourceTree = ""; }; - DB193F277014CB2D4EED9B10 = {isa = PBXGroup; children = ( + AC52466931A3B16BD9763E38 = {isa = PBXGroup; children = ( + E3273B696D8398C56B0F1A40, + DC4EE2A66A86B99C8D9B0068, + 89898A337D18F63C9DDE1AEE, + 1259079CB2A8907577BBBAA3, ); name = "app_properties"; sourceTree = ""; }; + 3F1B3F5816792824A8FED9CF = {isa = PBXGroup; children = ( + F35CA3BED53A2146B7623ECA, + 1A849B3BFFE1598017793994, + E58624F033F218AF36C7F9FD, ); name = undomanager; sourceTree = ""; }; + F6401C531E65F257DF38CF3C = {isa = PBXGroup; children = ( F420591CACE7056F78000039, D49594C439C67202647804D2, 793CDD14387F49E8757B9042, 3123FA92E774DD0E4788E9FB, A10311375CB3203008B0DD24, 8F977FE20118240233D8E05E, ); name = values; sourceTree = ""; }; - 3F1B3F5816792824A8FED9CF = {isa = PBXGroup; children = ( - F35CA3BED53A2146B7623ECA, - 1A849B3BFFE1598017793994, - E58624F033F218AF36C7F9FD, ); name = undomanager; sourceTree = ""; }; - F27B1321E6B098E31C61FD54 = {isa = PBXGroup; children = ( - E3273B696D8398C56B0F1A40, - DC4EE2A66A86B99C8D9B0068, - 89898A337D18F63C9DDE1AEE, - 1259079CB2A8907577BBBAA3, ); name = "app_properties"; sourceTree = ""; }; 2D4BDB90369FB93DE77234CD = {isa = PBXGroup; children = ( - DB193F277014CB2D4EED9B10, + AC52466931A3B16BD9763E38, 3F1B3F5816792824A8FED9CF, - F27B1321E6B098E31C61FD54, - B8E7EC57DAC2DE65CFEC21E0, + F6401C531E65F257DF38CF3C, 5F55D2FE7338877E1CDD4B45, ); name = "juce_data_structures"; sourceTree = ""; }; - FF92A51DE50343C6AA33A0DB = {isa = PBXGroup; children = ( + 8B5D59397507DBD642F28154 = {isa = PBXGroup; children = ( + 536EB9664EDB02A4CBF9BD28, + 2575944C94EF083E2CBDBFA1, + 0C90578962B82B1AE222578E, + C2F65CD24CD207EFD5FAF7F9, + B78154B28539A2E8152D2B9C, + E4AF8704D952EA14B38CA782, + E536D2E0E822CA257FA97875, + 6B1B6046C54E082A9E25D69C, ); name = broadcasters; sourceTree = ""; }; + F4A3188D8DDD3C8F89FF602E = {isa = PBXGroup; children = ( + CAA3289777033409B1E9050C, + 1818AAD83B5C0FC5B322446F, + 3824684DA7C61AA29E386158, + 309B10A91B0698EC749802D5, + 71EA769D5757AB3B16E5E6E6, + EFE65E031B01332448C2BE5E, ); name = interprocess; sourceTree = ""; }; + 34CAAF6F9811717AAD813B0E = {isa = PBXGroup; children = ( C4788802A0C1A2908645028B, 016AB5DF7206562FA4B48A81, A387B8D5928ABA707B55736D, @@ -960,28 +969,7 @@ D53B158241A875303FC52D8B, 984AA2236CD860A916ACF57E, B3CEFD554B22D2764327CC70, ); name = messages; sourceTree = ""; }; - A9B3363B5E302799D0945C6C = {isa = PBXGroup; children = ( - 8414F7B17DA39B4D0B4C3739, - C894801E6F257C0E84E5C03F, - DBE5789816F028CE53FD3EB4, - 62B84090765C713CC4250BB6, ); name = timers; sourceTree = ""; }; - A045CC1D9919072B85C45336 = {isa = PBXGroup; children = ( - 536EB9664EDB02A4CBF9BD28, - 2575944C94EF083E2CBDBFA1, - 0C90578962B82B1AE222578E, - C2F65CD24CD207EFD5FAF7F9, - B78154B28539A2E8152D2B9C, - E4AF8704D952EA14B38CA782, - E536D2E0E822CA257FA97875, - 6B1B6046C54E082A9E25D69C, ); name = broadcasters; sourceTree = ""; }; - 67DB973FF5A1FFA8D81AA280 = {isa = PBXGroup; children = ( - CAA3289777033409B1E9050C, - 1818AAD83B5C0FC5B322446F, - 3824684DA7C61AA29E386158, - 309B10A91B0698EC749802D5, - 71EA769D5757AB3B16E5E6E6, - EFE65E031B01332448C2BE5E, ); name = interprocess; sourceTree = ""; }; - 21AFBAFF05B76A3121EDCBFC = {isa = PBXGroup; children = ( + 56016BCA11D038D0C9AD5A97 = {isa = PBXGroup; children = ( 219B89271C840E2D7E512612, 4A8C64BB96FB93919DDF2166, A93E36A200F473B766F6A8BA, @@ -990,13 +978,17 @@ 5B67F01C0BA9323892900AF8, 7EBAA8C6B6447AC1707EA1A7, 1C3E6A1B46D80DBFEE6CF33B, ); name = native; sourceTree = ""; }; + CFF5C902C2954FE53CEED0A9 = {isa = PBXGroup; children = ( + 8414F7B17DA39B4D0B4C3739, + C894801E6F257C0E84E5C03F, + DBE5789816F028CE53FD3EB4, + 62B84090765C713CC4250BB6, ); name = timers; sourceTree = ""; }; C0F8D0D123397FF7AF17F3F8 = {isa = PBXGroup; children = ( - FF92A51DE50343C6AA33A0DB, - A9B3363B5E302799D0945C6C, - A045CC1D9919072B85C45336, - 67DB973FF5A1FFA8D81AA280, - 21AFBAFF05B76A3121EDCBFC, - 3549AF6032831F9553E74467, + 8B5D59397507DBD642F28154, + F4A3188D8DDD3C8F89FF602E, + 34CAAF6F9811717AAD813B0E, + 56016BCA11D038D0C9AD5A97, + CFF5C902C2954FE53CEED0A9, 08C449B44C89E728A89013F3, ); name = "juce_events"; sourceTree = ""; }; 39D7580AE0D199F462A0411D = {isa = PBXGroup; children = ( A1637DEBD3438ACB0D7F48E0, @@ -1016,19 +1008,25 @@ 65FC1A9B2D0CDCD2D0180A17, 60F8D50274C2C6DEA40C13AC, AB5FD54FE20E3B8792AE7601, ); name = contexts; sourceTree = ""; }; - 6DD41751A3949FBC19CC8416 = {isa = PBXGroup; children = ( - 4E2E741BA1779C70049641D0, - C63DB03ADC0A6E3C45DD88C9, - 981D4316CDD5076577509386, - 3D95AB0F7898371918F9E8FA, - F58C62E4CFF820B85CEF0A9A, - AE8492E6A10C324142D09EA8, - 48D212A6051005FB7A4BC338, - 8BEBE3E3D47AD3E8AAACF7BA, ); name = images; sourceTree = ""; }; - 39F75EB88C131A0C1E7C5350 = {isa = PBXGroup; children = ( - EE785DBFA288EFA2E7AB2108, - 659BEDAE6C17DD4FA6B74971, - 35CCF611A1FFF0A68FA75161, ); name = "image_formats"; sourceTree = ""; }; + FCAD07FFB4B2EA8DC6AC0919 = {isa = PBXGroup; children = ( + 373E70565BE10D615B096C28, + A16DA9030A96B26C6BF52FDC, + BDCB1657E429C9F03CB17827, + 1FC89BBE37A0162D7B8A8E64, + 2F014FFE6BB6209B7BBBCB79, ); name = effects; sourceTree = ""; }; + 06AB29F987FA0C7C31D28DE0 = {isa = PBXGroup; children = ( + 1316BB7ACE3F151F3B44A3EC, + ACD09DE112FDD1028AC1E11B, + CB85029BEDE10DB68C5BAA21, + EFE00478AEAFE39D81B0E59D, + FF49DBB348CFFF3F396FB712, + F69E6E1AC446B803B6C6A6B4, + ED872E47438BBE6325FE78F2, + 523B09319B14E721921D830A, + A546FAE114D127B368A631D9, + B909BE26785040CF82533E80, + B7F363708A0CDC05D9C04876, + F86158611AE1654F4BCAFC47, ); name = fonts; sourceTree = ""; }; 1B141638D452CFF03036C180 = {isa = PBXGroup; children = ( 07064C4F0CA036ABDCF9C708, 86152CB848C36CC25014D020, @@ -1045,30 +1043,20 @@ 3B51C055A70A99CDCEDFA399, 189CC2967B6148BE990281E8, 9EF2F14290768DC26DBA6149, ); name = geometry; sourceTree = ""; }; - C8E76BBA092B9546D62BFFE4 = {isa = PBXGroup; children = ( - 02FA201D32033D122C04A1B5, - 7EE080AF681F1D927DF35B95, - C71BB293CEF65605741E0CDA, ); name = placement; sourceTree = ""; }; - CBF50CCCB6412B6D1DC75BAC = {isa = PBXGroup; children = ( - 1316BB7ACE3F151F3B44A3EC, - ACD09DE112FDD1028AC1E11B, - CB85029BEDE10DB68C5BAA21, - EFE00478AEAFE39D81B0E59D, - FF49DBB348CFFF3F396FB712, - F69E6E1AC446B803B6C6A6B4, - ED872E47438BBE6325FE78F2, - 523B09319B14E721921D830A, - A546FAE114D127B368A631D9, - B909BE26785040CF82533E80, - B7F363708A0CDC05D9C04876, - F86158611AE1654F4BCAFC47, ); name = fonts; sourceTree = ""; }; - 9860A568DF9EDABCEE8B9490 = {isa = PBXGroup; children = ( - 373E70565BE10D615B096C28, - A16DA9030A96B26C6BF52FDC, - BDCB1657E429C9F03CB17827, - 1FC89BBE37A0162D7B8A8E64, - 2F014FFE6BB6209B7BBBCB79, ); name = effects; sourceTree = ""; }; - B3A6498CEE78E75BCCC0DC93 = {isa = PBXGroup; children = ( + B6422127B6E1E519F16D5D01 = {isa = PBXGroup; children = ( + EE785DBFA288EFA2E7AB2108, + 659BEDAE6C17DD4FA6B74971, + 35CCF611A1FFF0A68FA75161, ); name = "image_formats"; sourceTree = ""; }; + 5454696B1478986ED70E8BE6 = {isa = PBXGroup; children = ( + 4E2E741BA1779C70049641D0, + C63DB03ADC0A6E3C45DD88C9, + 981D4316CDD5076577509386, + 3D95AB0F7898371918F9E8FA, + F58C62E4CFF820B85CEF0A9A, + AE8492E6A10C324142D09EA8, + 48D212A6051005FB7A4BC338, + 8BEBE3E3D47AD3E8AAACF7BA, ); name = images; sourceTree = ""; }; + F6100BBD16C1323B2A368E31 = {isa = PBXGroup; children = ( 56F46591D347CA4272001691, 6421875FDD1DB8F8C322F3A8, 30453B2E00C2367919B4AC25, @@ -1082,19 +1070,54 @@ 0493323D5A1374BBEFCFE455, 53F3EB3D456B15EF5CC6FC67, A5E748EC8CB636CEBF7BA497, ); name = native; sourceTree = ""; }; + 4CDBF6FDC8517CE9CD5DAE53 = {isa = PBXGroup; children = ( + 02FA201D32033D122C04A1B5, + 7EE080AF681F1D927DF35B95, + C71BB293CEF65605741E0CDA, ); name = placement; sourceTree = ""; }; 0BD57F3380CCDFE06E36335D = {isa = PBXGroup; children = ( 39D7580AE0D199F462A0411D, 8090AB4707E33400125CA4C9, - 6DD41751A3949FBC19CC8416, - 39F75EB88C131A0C1E7C5350, + FCAD07FFB4B2EA8DC6AC0919, + 06AB29F987FA0C7C31D28DE0, 1B141638D452CFF03036C180, - C8E76BBA092B9546D62BFFE4, - CBF50CCCB6412B6D1DC75BAC, - 9860A568DF9EDABCEE8B9490, - B3A6498CEE78E75BCCC0DC93, - 7402FA767F4FD9CCD3DD1578, + B6422127B6E1E519F16D5D01, + 5454696B1478986ED70E8BE6, + F6100BBD16C1323B2A368E31, + 4CDBF6FDC8517CE9CD5DAE53, C794DBEF09A83E199223D205, ); name = "juce_graphics"; sourceTree = ""; }; - 51F1DE322ACA481FA5B3E623 = {isa = PBXGroup; children = ( + FB19D4D8B3EF0AAD913831BD = {isa = PBXGroup; children = ( + E31FA0995B22027AEF89904B, + A570C960A1D5C3F9E50A928D, ); name = application; sourceTree = ""; }; + FFB4908016D828B7A31E558E = {isa = PBXGroup; children = ( + 717C583F454C2AF7BAF710A7, + 71D588CCC35F0C1A5A0E9E3F, + 1E19C8C3F46E236277F58F42, + 0C1C8C5879770EF4E8824EF3, + E80A7D62B2B3F4BD2CD3F170, + 3F111FBCEE1230015F476C68, + 130A28E84D438B08C6B5D5A5, + 4DD07E53E4ABDE534D34981E, + D711FA513F8E9F696570DBB5, + 302AFDDB94F243E1C82AF3E9, + A20C7B40F6C5309CBEC5038E, + 0A82B6536AC2C02E099AB0AB, + 14EED238D31DAABE590C749A, + C88CAA67E7AD9181F1C9E3CE, + 1A6CC0CB9A61C67DF712B06E, + CE290D98DCBBDC902406E73F, + FB3723E1113ED13B4B8DF09A, + 0525B4E0F2387B1F3AA520F8, ); name = buttons; sourceTree = ""; }; + E753A3930D4EC754FD3951DF = {isa = PBXGroup; children = ( + DD7B2584B0C91BB4124A397E, + 5044BE1EA711B629563F70CD, + 6E8326A0BC2AAA5F82287220, + E9904E84AFCF3AB39B03BAA9, + 081B7C7D1B9CB7F72A193DEF, + 5DBA0BFB2868C3E1F1E871FB, + E422C589FA0328C35A0549FD, + 1FC1E37865F424D91228A888, + F59A5377B8D4476B34214F98, ); name = commands; sourceTree = ""; }; + 2AB87CC11B062F576ADC7BBE = {isa = PBXGroup; children = ( 37380DEDD5BEE5E9267FA12F, 9132D1324A6D6D049C9B2FFE, 02BD81436ED17F1341E19522, @@ -1104,28 +1127,46 @@ F0A440A64636CA5008C1D76A, 2EC797F05D27994FD0B4F19B, 71D8C3F48801BEF5DB86B619, ); name = components; sourceTree = ""; }; - 01EB66B6B2CBE57DEC21DE34 = {isa = PBXGroup; children = ( - 1679AB8658094A527E7A2811, - 03E4C81E1D323C0CD78DC8A7, - 2F5EFAB6DFDBD1661C8D53A9, - C76F648E207E0B0E8E98C8B3, - 774896BADE9613608E2A1EFE, - 26D9D7114D4E9ECBABA9C391, - B9BC9B5BC286D2C9356DDF47, - 918FA23368FDE2ECDDC1CD08, - E597DB183789D09B45395742, - A16B3D0EA58919EDAEB08792, - C1CC6D2EB9A261B4D2B926BF, - 207945846A9C6558F509C745, - B0644268B39736787E910714, - B39A0E62D1C43A61243F6864, - 18F87CFF17A2C8B806B58028, - CF9F9D13FD1B7ED219092643, - 8FE02C7AD75EE732A416DA8C, - B63040F76DC9E9F5256AC022, - 9EDBF1BC8604795A1B0774C9, - ED577465CA22A65861192A35, ); name = mouse; sourceTree = ""; }; - 05CB0B9F5C39B9F9CE569275 = {isa = PBXGroup; children = ( + 2C09DF77CEDAD5B67CB9B028 = {isa = PBXGroup; children = ( + B2485AFF4249D9C40B9B54CB, + E833133B78833DA0D34F48A4, + 451343A64FCB48BC926E0962, + 1C2A1CDE2DA322901B0899F8, + 7A704BB75CD29EA20C349CDA, + 20BC71D082643A43C9BD37C1, + F8FDB57B9F26F2B0582CBEED, + B6C28B2DAE4802FA291E3487, + 32B8A985D15EAE4008F43D5F, + A93E7F99453C2CD22B7B7115, + 71D7F3CED9D84ECF00E3C7DF, + BA92F6D1BF35CF6623B0BD1F, + E7405CD3B6CF257A84E60DB5, + 505E065430B4C61E119415FE, + 9F3BAC34BBE550826A0C2B4D, ); name = drawables; sourceTree = ""; }; + 97809F525BBAC86742399A72 = {isa = PBXGroup; children = ( + 4D6C90354134741F7F295412, + D06CEB2AEDFB98E1406E06F7, + 88DA5DAE40649E777AD45ECA, + 3A8FC4F98008643A60177AEC, + CD9D30D3D61F095124F6D916, + 94852FE71706851643C6BDE3, + 7D41725B59E3415350C8E035, + 2DB2C70618EAA8DC81B2564F, + 1846D85E50A6B97BBC5EDD6E, + 52AAE149F3EC7BAB0E7703DC, + 4961AA10B3563523AE1B0BFE, + 10650C6BB284DC0F6E7DCB5C, + 54FF1D1CC748FA043A28004F, + 7E9061B22520E892C910ECC9, + 47B6D5118C5FE2D6A452A487, + 1D610C9DF69B955B05EB9A54, + 140BFF25B0078C0709FF2461, + 2DB4D07F237B52911EB0B812, + CBE147D9B86A9F69A7CCEC3D, + A2E15C0836AF048130C893F4, + ADC3125F0DCD2924ACB173EB, + AC975C4D82A4C525F6D879A5, ); name = filebrowser; sourceTree = ""; }; + 32B53A33A9FC7DC72C4B1242 = {isa = PBXGroup; children = ( C26182D37D8E31BD85FDEF5D, 0CFAADB1812DF1EFFFE48116, 6CB12AF57587118CCC37BC8B, @@ -1139,62 +1180,7 @@ 00FD1194DB59F69CA9DFCFAF, 40A7C1EB6363A8FC4A9900B0, E1592FAB1A9F6FAC33F051BC, ); name = keyboard; sourceTree = ""; }; - 47736D14938B4000F6823B04 = {isa = PBXGroup; children = ( - 755B3410E5F1D6CD7CA350E0, - 75228523BAA6F029F315E6F1, - BAC8A1406F49B48E85DBF2E7, - 70F0A80A99565603FECCF39D, - C511170BCB0784C896826010, - FB9E2985FBE36494513C83A6, - B05CF8A5EE33A7062E10DFD2, - 3B3F316BC1E0486A4FD27686, - DB57D9360A4FA63286A9E305, - 4543C730A5DA77649C20B6B8, - CB568736EE6D12C909B6A8F7, - 4A20547D0C763ABB1DE5A9C4, - FC00A16A6756DBFE0B875F5C, - C8AF9CABB9019702BBAE46AC, - FA3161F4692D54C87001BCD7, - 3A9E838A0D5461D20726AE71, - B86F88CBFF4E577BCCF8D620, - FB1A1B08CB724305EBC233A4, - 304137C2E24F2CC1863D9731, - 00D9EB5B09E980D4A78D852A, - 7C8D639A2FC3EA14709367B1, - FED2586B3C7EA1BBA5512D58, - 3D52A3BB485767A61EF457E7, - 8F6E58F2C5CA9D3C6DFEDDB5, - E41E6A613E45920223A133F7, - 458C003240D4C31FF940A99C, - 732EB7C9CF8E817B7239DBA1, ); name = widgets; sourceTree = ""; }; - 398BACFBDE29E0514F4CA907 = {isa = PBXGroup; children = ( - 93D1FA25103C27AFCCA1AAAA, - 555CE1B4514C7E3BBB1A009E, - FD7E5A4B8C6532BD458B2A94, - 2F3A411E38028AE655F7EF95, - 2A1CE4FC4448FBE9D4713C5B, - A9DFB028B3E73E65E1407098, - ACD0AD8EACA79E8A6273413E, - 230C6175514E621AA9037C67, - FEA9C3FC8BE313C619C3D195, - C75917573F92864DA80C9A11, - 81A30FE08E3703C49D5ECC93, - 69266B83D819323230CB67B9, - A4C303DC411E19BA54A10871, - A29400BAA8E7CD1D1CA48C79, - 84F1747F90732DE67C601E3A, - 31FED87B0FA79D42C5B63186, - 5B9C910F85E921B561995ED3, - 65269D81DF23F8211A61032E, - 9AF8A6A41A7FFACC570EBCF5, ); name = windows; sourceTree = ""; }; - CDFF2D1465961758C0EF3C4F = {isa = PBXGroup; children = ( - 133B528A88E99C116B75BFDA, - D0B7D5B46558A7393B43C79B, - 9B0ADC4932AEE1AEDBAAB8AE, - 3CBF4CE2F60BBF9EB9637BC5, - DD374C28FF1CF5F121C3C6E5, - 5187A18B4BAC7087C4FE8060, ); name = menus; sourceTree = ""; }; - 4D9B59FA6727E6D1680D884E = {isa = PBXGroup; children = ( + A8A5A10DE0F56563B9F4AFD3 = {isa = PBXGroup; children = ( DBBD318E15A635AACB31E1DE, C6313E766ECDCE48435BA5A0, 27E36BA8310CE73DCCA58AC9, @@ -1231,72 +1217,7 @@ 65A7736ECC548A9FD10E4F42, 652822ADCD7393AF40945DA2, 89A3C346A8D9173D9CBDD088, ); name = layout; sourceTree = ""; }; - 75C0000D478F969885805A58 = {isa = PBXGroup; children = ( - 717C583F454C2AF7BAF710A7, - 71D588CCC35F0C1A5A0E9E3F, - 1E19C8C3F46E236277F58F42, - 0C1C8C5879770EF4E8824EF3, - E80A7D62B2B3F4BD2CD3F170, - 3F111FBCEE1230015F476C68, - 130A28E84D438B08C6B5D5A5, - 4DD07E53E4ABDE534D34981E, - D711FA513F8E9F696570DBB5, - 302AFDDB94F243E1C82AF3E9, - A20C7B40F6C5309CBEC5038E, - 0A82B6536AC2C02E099AB0AB, - 14EED238D31DAABE590C749A, - C88CAA67E7AD9181F1C9E3CE, - 1A6CC0CB9A61C67DF712B06E, - CE290D98DCBBDC902406E73F, - FB3723E1113ED13B4B8DF09A, - 0525B4E0F2387B1F3AA520F8, ); name = buttons; sourceTree = ""; }; - 778CF3546E5DBE366BF63E99 = {isa = PBXGroup; children = ( - F3327A4ED4197E583711EC38, - 8894A48D347FE788EFD7D0AC, - AC0B866AA2C5F577AA221143, - 6930D056DFFC6EAA2B52E045, - BE72D524BA45BC24B3264F2C, - 543A10EED475842E60CE7F3C, - E281E7EA009C44FA607DAFEB, - B16933E10DCBA3CC20ADFAFF, - 6B29E55E890064489381C65A, - 1BAB3298971199DD4A26042B, - 558FEC99442C039E45679325, - 45A89EE380DBADF9105B866A, - 18BF5D458C9584CD0136DCC7, - 2DBE41449BBADA6D1242D7E4, ); name = positioning; sourceTree = ""; }; - D36ED2585AFE0D1ADA95740C = {isa = PBXGroup; children = ( - B2485AFF4249D9C40B9B54CB, - E833133B78833DA0D34F48A4, - 451343A64FCB48BC926E0962, - 1C2A1CDE2DA322901B0899F8, - 7A704BB75CD29EA20C349CDA, - 20BC71D082643A43C9BD37C1, - F8FDB57B9F26F2B0582CBEED, - B6C28B2DAE4802FA291E3487, - 32B8A985D15EAE4008F43D5F, - A93E7F99453C2CD22B7B7115, - 71D7F3CED9D84ECF00E3C7DF, - BA92F6D1BF35CF6623B0BD1F, - E7405CD3B6CF257A84E60DB5, - 505E065430B4C61E119415FE, - 9F3BAC34BBE550826A0C2B4D, ); name = drawables; sourceTree = ""; }; - AA44D87FE68F20BC9038C07C = {isa = PBXGroup; children = ( - 294C8642232443EEC9C4DF3D, - 2327E88F48EE9DBD166727F4, - A507DE8ED0DFE58D8443F1D0, - 7C019D56F09C3415D36A0058, - DF82F535AAA1380C3213FF03, - D5AAA258357323FD8DBC7B08, - 2BB6FE1F813E3EF9FB1FAACE, - CD87ECBCB1347FDB040D63FC, - 5B0D2EC9A8AC716C07B61137, - 86ECCFC606602CF42A755A8D, - 27A1A9F9CB957FACCFF348D3, - DFB1FF7E047D9883528DECF8, - C1A8DCB1BD40331EFC186CF7, - 5BFC164CB4F8BC4FD839EDC8, ); name = properties; sourceTree = ""; }; - 0497AE7C3FF9222448CEC17B = {isa = PBXGroup; children = ( + 9D615EE90969B20898E44885 = {isa = PBXGroup; children = ( 9D0323FECB030B06FBD0F627, 01A853C55CAE8341C207A758, 7E8133ED13638E1D0C6F849F, @@ -1305,48 +1226,40 @@ 492FBEED85D887CC01080068, 4AA6BD2A3FDFADDCB0322F9C, 7224FBF6C8769342A0E3AC71, ); name = lookandfeel; sourceTree = ""; }; - B0DA666A72BF97CE5C6452EA = {isa = PBXGroup; children = ( - 4D6C90354134741F7F295412, - D06CEB2AEDFB98E1406E06F7, - 88DA5DAE40649E777AD45ECA, - 3A8FC4F98008643A60177AEC, - CD9D30D3D61F095124F6D916, - 94852FE71706851643C6BDE3, - 7D41725B59E3415350C8E035, - 2DB2C70618EAA8DC81B2564F, - 1846D85E50A6B97BBC5EDD6E, - 52AAE149F3EC7BAB0E7703DC, - 4961AA10B3563523AE1B0BFE, - 10650C6BB284DC0F6E7DCB5C, - 54FF1D1CC748FA043A28004F, - 7E9061B22520E892C910ECC9, - 47B6D5118C5FE2D6A452A487, - 1D610C9DF69B955B05EB9A54, - 140BFF25B0078C0709FF2461, - 2DB4D07F237B52911EB0B812, - CBE147D9B86A9F69A7CCEC3D, - A2E15C0836AF048130C893F4, - ADC3125F0DCD2924ACB173EB, - AC975C4D82A4C525F6D879A5, ); name = filebrowser; sourceTree = ""; }; - 8BA9558E831744561590ACEA = {isa = PBXGroup; children = ( - DD7B2584B0C91BB4124A397E, - 5044BE1EA711B629563F70CD, - 6E8326A0BC2AAA5F82287220, - E9904E84AFCF3AB39B03BAA9, - 081B7C7D1B9CB7F72A193DEF, - 5DBA0BFB2868C3E1F1E871FB, - E422C589FA0328C35A0549FD, - 1FC1E37865F424D91228A888, - F59A5377B8D4476B34214F98, ); name = commands; sourceTree = ""; }; - 9BFEAB312F069BA6BD17F30C = {isa = PBXGroup; children = ( + 58D452F193C5A3D6B5C54857 = {isa = PBXGroup; children = ( + 133B528A88E99C116B75BFDA, + D0B7D5B46558A7393B43C79B, + 9B0ADC4932AEE1AEDBAAB8AE, + 3CBF4CE2F60BBF9EB9637BC5, + DD374C28FF1CF5F121C3C6E5, + 5187A18B4BAC7087C4FE8060, ); name = menus; sourceTree = ""; }; + 4C435E887BB51A80D1AD32EC = {isa = PBXGroup; children = ( 3FB71EFD64D47E52DADCACA4, 20A5A541366F7C22EF633114, 3437B0E3EA85400DBEEE0074, CAC058A2D753BB9E0559D8EB, ); name = misc; sourceTree = ""; }; - FFADE91960A55164D44E8FCE = {isa = PBXGroup; children = ( - E31FA0995B22027AEF89904B, - A570C960A1D5C3F9E50A928D, ); name = application; sourceTree = ""; }; - 61EFC47D10826ECFA538F192 = {isa = PBXGroup; children = ( + 4CEA1CAE0326D7D757F5DCD9 = {isa = PBXGroup; children = ( + 1679AB8658094A527E7A2811, + 03E4C81E1D323C0CD78DC8A7, + 2F5EFAB6DFDBD1661C8D53A9, + C76F648E207E0B0E8E98C8B3, + 774896BADE9613608E2A1EFE, + 26D9D7114D4E9ECBABA9C391, + B9BC9B5BC286D2C9356DDF47, + 918FA23368FDE2ECDDC1CD08, + E597DB183789D09B45395742, + A16B3D0EA58919EDAEB08792, + C1CC6D2EB9A261B4D2B926BF, + 207945846A9C6558F509C745, + B0644268B39736787E910714, + B39A0E62D1C43A61243F6864, + 18F87CFF17A2C8B806B58028, + CF9F9D13FD1B7ED219092643, + 8FE02C7AD75EE732A416DA8C, + B63040F76DC9E9F5256AC022, + 9EDBF1BC8604795A1B0774C9, + ED577465CA22A65861192A35, ); name = mouse; sourceTree = ""; }; + 3868CE5E2C3580329BD46200 = {isa = PBXGroup; children = ( 8E3F7589FDC16A7DA986FC42, E96CBEBCDABA3EA741C4C2EC, 305C7AE4DF0701B34616E4FA, @@ -1363,25 +1276,102 @@ 07D2814B9A8E25F3269B675D, 3705B72C4B467A1EABEC9C49, FE8B93BA3F56CCC0BB37A5C8, ); name = native; sourceTree = ""; }; + 2DFFAC58258089DB53540ADD = {isa = PBXGroup; children = ( + F3327A4ED4197E583711EC38, + 8894A48D347FE788EFD7D0AC, + AC0B866AA2C5F577AA221143, + 6930D056DFFC6EAA2B52E045, + BE72D524BA45BC24B3264F2C, + 543A10EED475842E60CE7F3C, + E281E7EA009C44FA607DAFEB, + B16933E10DCBA3CC20ADFAFF, + 6B29E55E890064489381C65A, + 1BAB3298971199DD4A26042B, + 558FEC99442C039E45679325, + 45A89EE380DBADF9105B866A, + 18BF5D458C9584CD0136DCC7, + 2DBE41449BBADA6D1242D7E4, ); name = positioning; sourceTree = ""; }; + 9230777686069FB897A06CDA = {isa = PBXGroup; children = ( + 294C8642232443EEC9C4DF3D, + 2327E88F48EE9DBD166727F4, + A507DE8ED0DFE58D8443F1D0, + 7C019D56F09C3415D36A0058, + DF82F535AAA1380C3213FF03, + D5AAA258357323FD8DBC7B08, + 2BB6FE1F813E3EF9FB1FAACE, + CD87ECBCB1347FDB040D63FC, + 5B0D2EC9A8AC716C07B61137, + 86ECCFC606602CF42A755A8D, + 27A1A9F9CB957FACCFF348D3, + DFB1FF7E047D9883528DECF8, + C1A8DCB1BD40331EFC186CF7, + 5BFC164CB4F8BC4FD839EDC8, ); name = properties; sourceTree = ""; }; + 600AA54E6408CB4F526B0E76 = {isa = PBXGroup; children = ( + 755B3410E5F1D6CD7CA350E0, + 75228523BAA6F029F315E6F1, + BAC8A1406F49B48E85DBF2E7, + 70F0A80A99565603FECCF39D, + C511170BCB0784C896826010, + FB9E2985FBE36494513C83A6, + B05CF8A5EE33A7062E10DFD2, + 3B3F316BC1E0486A4FD27686, + DB57D9360A4FA63286A9E305, + 4543C730A5DA77649C20B6B8, + CB568736EE6D12C909B6A8F7, + 4A20547D0C763ABB1DE5A9C4, + FC00A16A6756DBFE0B875F5C, + C8AF9CABB9019702BBAE46AC, + FA3161F4692D54C87001BCD7, + 3A9E838A0D5461D20726AE71, + B86F88CBFF4E577BCCF8D620, + FB1A1B08CB724305EBC233A4, + 304137C2E24F2CC1863D9731, + 00D9EB5B09E980D4A78D852A, + 7C8D639A2FC3EA14709367B1, + FED2586B3C7EA1BBA5512D58, + 3D52A3BB485767A61EF457E7, + 8F6E58F2C5CA9D3C6DFEDDB5, + E41E6A613E45920223A133F7, + 458C003240D4C31FF940A99C, + 732EB7C9CF8E817B7239DBA1, ); name = widgets; sourceTree = ""; }; + 788D289F45CAF6C053DD4785 = {isa = PBXGroup; children = ( + 93D1FA25103C27AFCCA1AAAA, + 555CE1B4514C7E3BBB1A009E, + FD7E5A4B8C6532BD458B2A94, + 2F3A411E38028AE655F7EF95, + 2A1CE4FC4448FBE9D4713C5B, + A9DFB028B3E73E65E1407098, + ACD0AD8EACA79E8A6273413E, + 230C6175514E621AA9037C67, + FEA9C3FC8BE313C619C3D195, + C75917573F92864DA80C9A11, + 81A30FE08E3703C49D5ECC93, + 69266B83D819323230CB67B9, + A4C303DC411E19BA54A10871, + A29400BAA8E7CD1D1CA48C79, + 84F1747F90732DE67C601E3A, + 31FED87B0FA79D42C5B63186, + 5B9C910F85E921B561995ED3, + 65269D81DF23F8211A61032E, + 9AF8A6A41A7FFACC570EBCF5, ); name = windows; sourceTree = ""; }; CBE7B44549D0E7411076D57F = {isa = PBXGroup; children = ( - 51F1DE322ACA481FA5B3E623, - 01EB66B6B2CBE57DEC21DE34, - 05CB0B9F5C39B9F9CE569275, - 47736D14938B4000F6823B04, - 398BACFBDE29E0514F4CA907, - CDFF2D1465961758C0EF3C4F, - 4D9B59FA6727E6D1680D884E, - 75C0000D478F969885805A58, - 778CF3546E5DBE366BF63E99, - D36ED2585AFE0D1ADA95740C, - AA44D87FE68F20BC9038C07C, - 0497AE7C3FF9222448CEC17B, - B0DA666A72BF97CE5C6452EA, - 8BA9558E831744561590ACEA, - 9BFEAB312F069BA6BD17F30C, - FFADE91960A55164D44E8FCE, - 61EFC47D10826ECFA538F192, - 31F1BE05C5BC30558F8039AD, + FB19D4D8B3EF0AAD913831BD, + FFB4908016D828B7A31E558E, + E753A3930D4EC754FD3951DF, + 2AB87CC11B062F576ADC7BBE, + 2C09DF77CEDAD5B67CB9B028, + 97809F525BBAC86742399A72, + 32B53A33A9FC7DC72C4B1242, + A8A5A10DE0F56563B9F4AFD3, + 9D615EE90969B20898E44885, + 58D452F193C5A3D6B5C54857, + 4C435E887BB51A80D1AD32EC, + 4CEA1CAE0326D7D757F5DCD9, + 3868CE5E2C3580329BD46200, + 2DFFAC58258089DB53540ADD, + 9230777686069FB897A06CDA, + 600AA54E6408CB4F526B0E76, + 788D289F45CAF6C053DD4785, 614E3EC828D056202DC10732, ); name = "juce_gui_basics"; sourceTree = ""; }; E40525D81D015389B0388510 = {isa = PBXGroup; children = ( 46A2A110922BAD26FB4298C5, @@ -1443,7 +1433,6 @@ 5339003A04D05F6E3F333436, F4FF39023AE719A2C1FDFCF6, E145BB5F87254EDB7C912760, - 8FBE4F804ECCBADAA37592F0, C001B0F67BB17E32A3BC8F92, ); name = "juce_gui_extra"; sourceTree = ""; }; C37CC96B89E62143A0E75336 = {isa = PBXGroup; children = ( 077C855D265E61FB93F96107, @@ -1454,15 +1443,15 @@ D073C93C9EC5893BBF5B728C, ); name = "Juce Modules"; sourceTree = ""; }; 70A885E880F4C1F36DBA276E = {isa = PBXGroup; children = ( 994F654E220C76091B1672F8, - 116E9A279FB25AE32174C42F, - C1980330512BAADDA1CB0D24, - 8FC7BFF093D665F8178EC297, - B2650D0AA7710D3C2627238A, - 01D2B9B2D33BFF1F4B571B7E, - F21F13BF684528EB7041BD67, + EACC160E0A89470B41179AB4, + CD26BF26FF05366672B6606F, + F7AF7F3B0D1DCF1E9B1F4DA1, + 7B4F5B653B7DDBC603F313BC, + 20D5A8BFF03A85C71D10B72A, + 6070F82641B68C6D023AD16D, F6CA8CB0E2135154E38E9707, ); name = "Juce Library Code"; sourceTree = ""; }; F75EB749D5026E5AC86B6C4B = {isa = PBXGroup; children = ( - B531D38613FDEC368336A51E, + C47B583663A97D26144D160A, D071023526C8D2E38D1C95C5, ); name = Resources; sourceTree = ""; }; C581D34B32A781E9AED7F7B0 = {isa = PBXGroup; children = ( 21A912CCEA1FC0733AD65075, @@ -1471,7 +1460,7 @@ EF932865774E86525CE7FC55, 6E43583682EFEBAE58D59BA4, ); name = Frameworks; sourceTree = ""; }; 1C83313FCFBC3FAFA8CDB087 = {isa = PBXGroup; children = ( - EA398D9C544440E06637C134, ); name = Products; sourceTree = ""; }; + 630E0739D24A3C9E99CD4592, ); name = Products; sourceTree = ""; }; CB9C4DF3F11D65C6BF6B80AD = {isa = PBXGroup; children = ( 23A603C0DAA7E2E423A4123A, C37CC96B89E62143A0E75336, @@ -1479,7 +1468,7 @@ F75EB749D5026E5AC86B6C4B, C581D34B32A781E9AED7F7B0, 1C83313FCFBC3FAFA8CDB087, ); name = Source; sourceTree = ""; }; - 34AEE2803DA0D6192C299422 = {isa = XCBuildConfiguration; buildSettings = { + 88AB96D6C191F6480F1CC05F = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; @@ -1495,12 +1484,12 @@ "JUCE_APP_VERSION_HEX=0x10000", ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.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 = { + 0B5D6160680C2FCAC89A9A1D = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; @@ -1517,7 +1506,7 @@ GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.plist; INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; PRODUCT_BUNDLE_IDENTIFIER = com.roli.jucehelloworld; @@ -1554,34 +1543,35 @@ PRODUCT_NAME = "HelloWorld"; WARNING_CFLAGS = -Wreorder; ZERO_LINK = NO; }; name = Release; }; + B9DE95F0E67F7222D16D6F11 = {isa = PBXTargetDependency; target = 192D34128EA37F28BC1CBB22; }; D5495970AC0AFC78DD0ADE12 = {isa = XCConfigurationList; buildConfigurations = ( F6DA01300C80F2338FCBD24A, CA9F73DE863A75BEA780D77E, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - D2ABD8290ABA5095AE85F9A6 = {isa = XCConfigurationList; buildConfigurations = ( - 34AEE2803DA0D6192C299422, - 339C95D5B2E96DD37B176D75, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 7B2C68FAAB7FB794B44BA476 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + EFBE1A73760DB4B465A16F0B = {isa = XCConfigurationList; buildConfigurations = ( + 88AB96D6C191F6480F1CC05F, + 0B5D6160680C2FCAC89A9A1D, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 026F69AE2DD97CA7C9006986 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( 6E85E85F989CB43995D01BAF, ); runOnlyForDeploymentPostprocessing = 0; }; - 5C249F77DD3C907CDA919026 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + C39352E04613E968B30D0584 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 535A340E26E5D6766D1780CA, 31E87C6EC193B9C408D16F20, - F1FECDFA7E29BD6B703AF52B, - EA50C8A2A8471D0EB4B8E644, - 10A93C9ECE23E879115D5B95, - 16890172C661285B431823B1, - 7DCA87102FFCD304FA172464, - 219E48FBEA32F43040A9970C, ); runOnlyForDeploymentPostprocessing = 0; }; - A8FE28D8F12C03C93B8EAD1D = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + C00F4D9BB21AA1D23C159240, + FD58015BBF155E1BC897A3DB, + 7E94E1B62C6D18481CF59459, + 605BA65217C14EDE46D7BBDB, + D64D8487EDE1692651640117, + 91B43FAA9FF01E555772E593, ); runOnlyForDeploymentPostprocessing = 0; }; + CD0E71EFDCF3177FCE405E9D = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( 4DB01A361C3EB8BBBE893AAC, 51A76E3A281D21F429C75F0E, 820ECCDC2115F6687BEC40C6, EAA5A5EECF04D2B7FCF768FC, 6CEBF944E27D7BE88E78945D, ); runOnlyForDeploymentPostprocessing = 0; }; - 9337F8263A94B688D61D5B68 = {isa = PBXNativeTarget; buildConfigurationList = D2ABD8290ABA5095AE85F9A6; buildPhases = ( - 7B2C68FAAB7FB794B44BA476, - 5C249F77DD3C907CDA919026, - A8FE28D8F12C03C93B8EAD1D, ); buildRules = ( ); dependencies = ( ); name = HelloWorld; productName = HelloWorld; productReference = EA398D9C544440E06637C134; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; - E34D5B980741D93050D0BB6B = {isa = PBXProject; buildConfigurationList = D5495970AC0AFC78DD0ADE12; attributes = { LastUpgradeCheck = 0440; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = CB9C4DF3F11D65C6BF6B80AD; projectDirPath = ""; projectRoot = ""; targets = ( 9337F8263A94B688D61D5B68 ); }; + 192D34128EA37F28BC1CBB22 = {isa = PBXNativeTarget; buildConfigurationList = EFBE1A73760DB4B465A16F0B; buildPhases = ( + 026F69AE2DD97CA7C9006986, + C39352E04613E968B30D0584, + CD0E71EFDCF3177FCE405E9D, ); buildRules = ( ); dependencies = ( ); name = "HelloWorld (App)"; productName = HelloWorld; productReference = 630E0739D24A3C9E99CD4592; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; + E34D5B980741D93050D0BB6B = {isa = PBXProject; buildConfigurationList = D5495970AC0AFC78DD0ADE12; attributes = { LastUpgradeCheck = 0440; TargetAttributes = { 192D34128EA37F28BC1CBB22 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = CB9C4DF3F11D65C6BF6B80AD; projectDirPath = ""; projectRoot = ""; targets = (192D34128EA37F28BC1CBB22); }; }; rootObject = E34D5B980741D93050D0BB6B; } diff --git a/examples/HelloWorld/Builds/MacOSX/Info.plist b/examples/HelloWorld/Builds/MacOSX/Info-App.plist similarity index 89% rename from examples/HelloWorld/Builds/MacOSX/Info.plist rename to examples/HelloWorld/Builds/MacOSX/Info-App.plist index 4923295c96..29b13c5a6b 100644 --- a/examples/HelloWorld/Builds/MacOSX/Info.plist +++ b/examples/HelloWorld/Builds/MacOSX/Info-App.plist @@ -11,6 +11,8 @@ $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName HelloWorld + CFBundleDisplayName + HelloWorld CFBundlePackageType APPL CFBundleSignature diff --git a/examples/HelloWorld/Builds/VisualStudio2010/HelloWorld.vcxproj b/examples/HelloWorld/Builds/VisualStudio2010/HelloWorld.vcxproj index ba3867f669..ce540a926e 100644 --- a/examples/HelloWorld/Builds/VisualStudio2010/HelloWorld.vcxproj +++ b/examples/HelloWorld/Builds/VisualStudio2010/HelloWorld.vcxproj @@ -125,45 +125,6 @@ - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -179,33 +140,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -230,40 +164,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -272,31 +176,16 @@ true - + true - + true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -362,16 +251,115 @@ true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -380,22 +368,16 @@ true - + true - + true - + true - - true - - - true - - + true @@ -416,6 +398,18 @@ true + + true + + + true + + + true + + + true + true @@ -425,6 +419,12 @@ true + + true + + + true + true @@ -446,43 +446,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -503,10 +470,40 @@ true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -533,6 +530,51 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -545,6 +587,153 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -566,19 +755,70 @@ true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -647,246 +887,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -953,30 +953,44 @@ true - - - - - - + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -997,22 +1011,49 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1032,62 +1073,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - + + + + - - - - + + + + + + + + @@ -1097,19 +1105,11 @@ - - - - - - - - - - + + @@ -1120,10 +1120,15 @@ - - - - + + + + + + + + + @@ -1134,26 +1139,91 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1167,14 +1237,21 @@ - - - - - - - - + + + + + + + + + + + + + + + @@ -1199,83 +1276,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1304,14 +1304,6 @@ - - - - - - - - diff --git a/examples/HelloWorld/Builds/VisualStudio2010/HelloWorld.vcxproj.filters b/examples/HelloWorld/Builds/VisualStudio2010/HelloWorld.vcxproj.filters index a71839c2f6..4e282e52fc 100644 --- a/examples/HelloWorld/Builds/VisualStudio2010/HelloWorld.vcxproj.filters +++ b/examples/HelloWorld/Builds/VisualStudio2010/HelloWorld.vcxproj.filters @@ -14,8 +14,17 @@ {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} - - {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + + {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + + {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + + {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} {476C69CE-0B67-6B85-E888-45D91E37A29E} @@ -23,17 +32,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} - - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -41,60 +44,57 @@ {91929C6F-7902-B87D-5260-2F6CBF8ACD93} - - {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} - {4634FFAE-9586-A970-364C-4FDDA635F99F} - - {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} - - {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - {F03654BC-34D8-F975-BEA3-750CC2783D23} + + {C9F6D785-BF78-5AA1-B479-111C65397864} {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} - - {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} - - {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + {F03654BC-34D8-F975-BEA3-750CC2783D23} {928D8FCC-5E00-174B-6538-93E8D75AB396} - - {1988E68A-A964-64CA-0E0C-26FF9BC5176C} + + {358AEA11-3F96-36AE-7B32-71373B5C5396} {3DF036EA-3B80-553B-2494-3AAC835CAE75} - - {358AEA11-3F96-36AE-7B32-71373B5C5396} + + {1988E68A-A964-64CA-0E0C-26FF9BC5176C} {F2A38F45-6E55-E147-2E52-64A89FDD9D59} - - {6172822C-01A5-E824-12DA-FA43FA934D35} - - - {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} - {B098BC87-3298-7E6B-12DC-D26C09CDCAED} {6322B88F-984A-C3CD-6263-38D7AA49B6EC} + + {6172822C-01A5-E824-12DA-FA43FA934D35} + {73C1E759-AD90-59A3-942E-2D10FAA29107} + + {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} + {EE1AE8C3-0908-8F53-A4E5-D930C7C97C26} @@ -104,81 +104,81 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} - - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - - {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {E37D25CD-4350-4614-055B-7ABC55E67895} {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {C1A1A236-AB01-173E-96C3-0706BFF93B1E} + + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + + {413F481F-075C-2958-115C-D8268682FCB7} {FFC6E1CC-C772-75E6-5087-FB5D4E016799} + + {1182303F-ECA3-166D-AC0C-92C5E762CB93} + {8E43579F-C185-266D-DD67-F8B95BD80F2F} + + {61712B09-5783-ADFA-2001-5A0C3D7764EB} + + + {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + + {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} + {2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D} - - {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + {5A0AA36E-3957-E413-14C6-31CBE15271DF} + + + {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} {A92719C7-70BE-57C4-CE9E-A9BC9DFEB757} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} + + + {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} + + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} + + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + + {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} + + + {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} + {75F1F352-251A-75E0-D941-8431588F5C1E} {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} - - {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} - - - {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} - - - {5A0AA36E-3957-E413-14C6-31CBE15271DF} - - - {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} - - - {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} - - - {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} - - - {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} - - - {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - - {61712B09-5783-ADFA-2001-5A0C3D7764EB} - - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} - {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -208,45 +208,6 @@ HelloWorld\Source - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\memory - Juce Modules\juce_core\containers @@ -262,33 +223,6 @@ Juce Modules\juce_core\containers - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - Juce Modules\juce_core\files @@ -313,41 +247,11 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -355,32 +259,17 @@ Juce Modules\juce_core\logging - - Juce Modules\juce_core\system + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc @@ -460,6 +349,126 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -469,33 +478,6 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - Juce Modules\juce_events\broadcasters @@ -514,6 +496,18 @@ Juce Modules\juce_events\interprocess + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + Juce Modules\juce_events\native @@ -529,6 +523,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_graphics\colour @@ -550,44 +550,11 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\effects Juce Modules\juce_graphics\fonts @@ -607,11 +574,41 @@ Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -643,6 +640,51 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -655,6 +697,153 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -676,20 +865,92 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -757,267 +1018,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_extra\code_editor @@ -1096,22 +1096,22 @@ Juce Modules\juce_gui_extra\native - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code @@ -1119,50 +1119,92 @@ HelloWorld\Source - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -1224,53 +1266,134 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text Juce Modules\juce_core\threads @@ -1329,92 +1452,8 @@ Juce Modules\juce_core\time - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -1422,12 +1461,6 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - Juce Modules\juce_core\zip @@ -1437,42 +1470,21 @@ Juce Modules\juce_core\zip - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - Juce Modules\juce_core + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -1482,21 +1494,33 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - Juce Modules\juce_data_structures + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + Juce Modules\juce_events\messages @@ -1524,36 +1548,6 @@ Juce Modules\juce_events\messages - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - Juce Modules\juce_events\native @@ -1563,6 +1557,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_events @@ -1593,17 +1593,32 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -1635,38 +1650,17 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -1677,9 +1671,60 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + Juce Modules\juce_graphics + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -1695,6 +1740,171 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -1734,29 +1944,50 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -1830,237 +2061,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_basics @@ -2143,26 +2143,6 @@ Juce Library Code - - - Juce Modules\juce_core - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_gui_extra - - Juce Library Code diff --git a/examples/HelloWorld/Builds/VisualStudio2015/HelloWorld.vcxproj b/examples/HelloWorld/Builds/VisualStudio2015/HelloWorld.vcxproj index 53e2d6c243..36c97b5452 100644 --- a/examples/HelloWorld/Builds/VisualStudio2015/HelloWorld.vcxproj +++ b/examples/HelloWorld/Builds/VisualStudio2015/HelloWorld.vcxproj @@ -131,45 +131,6 @@ - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -185,33 +146,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -236,40 +170,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -278,31 +182,16 @@ true - + true - + true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -368,16 +257,115 @@ true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -386,22 +374,16 @@ true - + true - + true - + true - - true - - - true - - + true @@ -422,6 +404,18 @@ true + + true + + + true + + + true + + + true + true @@ -431,6 +425,12 @@ true + + true + + + true + true @@ -452,43 +452,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -509,10 +476,40 @@ true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -539,6 +536,51 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -551,6 +593,153 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -572,19 +761,70 @@ true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -653,246 +893,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -959,30 +959,44 @@ true - - - - - - + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1003,22 +1017,49 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1038,62 +1079,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - + + + + - - - - + + + + + + + + @@ -1103,19 +1111,11 @@ - - - - - - - - - - + + @@ -1126,10 +1126,15 @@ - - - - + + + + + + + + + @@ -1140,26 +1145,91 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1173,14 +1243,21 @@ - - - - - - - - + + + + + + + + + + + + + + + @@ -1205,83 +1282,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1310,14 +1310,6 @@ - - - - - - - - diff --git a/examples/HelloWorld/Builds/VisualStudio2015/HelloWorld.vcxproj.filters b/examples/HelloWorld/Builds/VisualStudio2015/HelloWorld.vcxproj.filters index 15ca1ed6b2..9c47133943 100644 --- a/examples/HelloWorld/Builds/VisualStudio2015/HelloWorld.vcxproj.filters +++ b/examples/HelloWorld/Builds/VisualStudio2015/HelloWorld.vcxproj.filters @@ -14,8 +14,17 @@ {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} - - {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + + {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + + {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + + {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} {476C69CE-0B67-6B85-E888-45D91E37A29E} @@ -23,17 +32,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} - - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -41,60 +44,57 @@ {91929C6F-7902-B87D-5260-2F6CBF8ACD93} - - {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} - {4634FFAE-9586-A970-364C-4FDDA635F99F} - - {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} - - {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - {F03654BC-34D8-F975-BEA3-750CC2783D23} + + {C9F6D785-BF78-5AA1-B479-111C65397864} {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} - - {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} - - {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + {F03654BC-34D8-F975-BEA3-750CC2783D23} {928D8FCC-5E00-174B-6538-93E8D75AB396} - - {1988E68A-A964-64CA-0E0C-26FF9BC5176C} + + {358AEA11-3F96-36AE-7B32-71373B5C5396} {3DF036EA-3B80-553B-2494-3AAC835CAE75} - - {358AEA11-3F96-36AE-7B32-71373B5C5396} + + {1988E68A-A964-64CA-0E0C-26FF9BC5176C} {F2A38F45-6E55-E147-2E52-64A89FDD9D59} - - {6172822C-01A5-E824-12DA-FA43FA934D35} - - - {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} - {B098BC87-3298-7E6B-12DC-D26C09CDCAED} {6322B88F-984A-C3CD-6263-38D7AA49B6EC} + + {6172822C-01A5-E824-12DA-FA43FA934D35} + {73C1E759-AD90-59A3-942E-2D10FAA29107} + + {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} + {EE1AE8C3-0908-8F53-A4E5-D930C7C97C26} @@ -104,81 +104,81 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} - - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - - {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {E37D25CD-4350-4614-055B-7ABC55E67895} {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {C1A1A236-AB01-173E-96C3-0706BFF93B1E} + + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + + {413F481F-075C-2958-115C-D8268682FCB7} {FFC6E1CC-C772-75E6-5087-FB5D4E016799} + + {1182303F-ECA3-166D-AC0C-92C5E762CB93} + {8E43579F-C185-266D-DD67-F8B95BD80F2F} + + {61712B09-5783-ADFA-2001-5A0C3D7764EB} + + + {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + + {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} + {2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D} - - {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + {5A0AA36E-3957-E413-14C6-31CBE15271DF} + + + {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} {A92719C7-70BE-57C4-CE9E-A9BC9DFEB757} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} + + + {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} + + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} + + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + + {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} + + + {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} + {75F1F352-251A-75E0-D941-8431588F5C1E} {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} - - {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} - - - {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} - - - {5A0AA36E-3957-E413-14C6-31CBE15271DF} - - - {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} - - - {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} - - - {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} - - - {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} - - - {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - - {61712B09-5783-ADFA-2001-5A0C3D7764EB} - - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} - {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -208,45 +208,6 @@ HelloWorld\Source - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\memory - Juce Modules\juce_core\containers @@ -262,33 +223,6 @@ Juce Modules\juce_core\containers - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - Juce Modules\juce_core\files @@ -313,41 +247,11 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -355,32 +259,17 @@ Juce Modules\juce_core\logging - - Juce Modules\juce_core\system + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc @@ -460,6 +349,126 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -469,33 +478,6 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - Juce Modules\juce_events\broadcasters @@ -514,6 +496,18 @@ Juce Modules\juce_events\interprocess + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + Juce Modules\juce_events\native @@ -529,6 +523,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_graphics\colour @@ -550,44 +550,11 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\effects Juce Modules\juce_graphics\fonts @@ -607,11 +574,41 @@ Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -643,6 +640,51 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -655,6 +697,153 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -676,20 +865,92 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -757,267 +1018,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_extra\code_editor @@ -1096,22 +1096,22 @@ Juce Modules\juce_gui_extra\native - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code @@ -1119,50 +1119,92 @@ HelloWorld\Source - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -1224,53 +1266,134 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text Juce Modules\juce_core\threads @@ -1329,92 +1452,8 @@ Juce Modules\juce_core\time - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -1422,12 +1461,6 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - Juce Modules\juce_core\zip @@ -1437,42 +1470,21 @@ Juce Modules\juce_core\zip - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - Juce Modules\juce_core + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -1482,21 +1494,33 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - Juce Modules\juce_data_structures + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + Juce Modules\juce_events\messages @@ -1524,36 +1548,6 @@ Juce Modules\juce_events\messages - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - Juce Modules\juce_events\native @@ -1563,6 +1557,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_events @@ -1593,17 +1593,32 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -1635,38 +1650,17 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -1677,9 +1671,60 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + Juce Modules\juce_graphics + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -1695,6 +1740,171 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -1734,29 +1944,50 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -1830,237 +2061,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_basics @@ -2143,26 +2143,6 @@ Juce Library Code - - - Juce Modules\juce_core - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_gui_extra - - Juce Library Code diff --git a/examples/HelloWorld/Builds/iOS/HelloWorld.xcodeproj/project.pbxproj b/examples/HelloWorld/Builds/iOS/HelloWorld.xcodeproj/project.pbxproj index 4bf34edf44..1bb13e34fc 100644 --- a/examples/HelloWorld/Builds/iOS/HelloWorld.xcodeproj/project.pbxproj +++ b/examples/HelloWorld/Builds/iOS/HelloWorld.xcodeproj/project.pbxproj @@ -6,6 +6,7 @@ objectVersion = 46; objects = { + 9B5335D3CC41BA3A59D5E2E6 = {isa = PBXBuildFile; fileRef = 630E0739D24A3C9E99CD4592; }; F70117123739E2303A99AD70 = {isa = PBXBuildFile; fileRef = AF0CC5F28EB37B1FABBDD5DD; }; 02F0D49EDD6A3E82D98302F3 = {isa = PBXBuildFile; fileRef = FE9531D38CA4C273B6FB87A7; }; 9C737750FC4663FBFDF8C048 = {isa = PBXBuildFile; fileRef = FB6FA17C00AB569935B5CFF8; }; @@ -14,18 +15,17 @@ 7AA2F50DAEF3BA88A7C9C97E = {isa = PBXBuildFile; fileRef = B700739654886DC8E7C1293B; }; 535A340E26E5D6766D1780CA = {isa = PBXBuildFile; fileRef = B3978067F1432E1A2618A5DB; }; 31E87C6EC193B9C408D16F20 = {isa = PBXBuildFile; fileRef = 0EDDB91E8D84944C3EBACFFE; }; - F1FECDFA7E29BD6B703AF52B = {isa = PBXBuildFile; fileRef = 116E9A279FB25AE32174C42F; }; - EA50C8A2A8471D0EB4B8E644 = {isa = PBXBuildFile; fileRef = C1980330512BAADDA1CB0D24; }; - 10A93C9ECE23E879115D5B95 = {isa = PBXBuildFile; fileRef = 8FC7BFF093D665F8178EC297; }; - 16890172C661285B431823B1 = {isa = PBXBuildFile; fileRef = B2650D0AA7710D3C2627238A; }; - 7DCA87102FFCD304FA172464 = {isa = PBXBuildFile; fileRef = 01D2B9B2D33BFF1F4B571B7E; }; - 219E48FBEA32F43040A9970C = {isa = PBXBuildFile; fileRef = F21F13BF684528EB7041BD67; }; + C00F4D9BB21AA1D23C159240 = {isa = PBXBuildFile; fileRef = EACC160E0A89470B41179AB4; }; + FD58015BBF155E1BC897A3DB = {isa = PBXBuildFile; fileRef = CD26BF26FF05366672B6606F; }; + 7E94E1B62C6D18481CF59459 = {isa = PBXBuildFile; fileRef = F7AF7F3B0D1DCF1E9B1F4DA1; }; + 605BA65217C14EDE46D7BBDB = {isa = PBXBuildFile; fileRef = 7B4F5B653B7DDBC603F313BC; }; + D64D8487EDE1692651640117 = {isa = PBXBuildFile; fileRef = 20D5A8BFF03A85C71D10B72A; }; + 91B43FAA9FF01E555772E593 = {isa = PBXBuildFile; fileRef = 6070F82641B68C6D023AD16D; }; 00BB14FB0329250A897855F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; }; 00D9EB5B09E980D4A78D852A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; }; 00FD1194DB59F69CA9DFCFAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; }; 016AB5DF7206562FA4B48A81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; 01A853C55CAE8341C207A758 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h"; sourceTree = "SOURCE_ROOT"; }; - 01D2B9B2D33BFF1F4B571B7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 01D5DC75EA54630B8805AD59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 02123F620ABB8F19FCE4E7E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; }; 02BD81436ED17F1341E19522 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; }; @@ -66,7 +66,6 @@ 0EDDB91E8D84944C3EBACFFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MainComponent.cpp; path = ../../Source/MainComponent.cpp; sourceTree = "SOURCE_ROOT"; }; 0F5CBF5A5C2283DA1344E55E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; 10650C6BB284DC0F6E7DCB5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 116E9A279FB25AE32174C42F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; 118B13BE32C7FDCE82BDC495 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 1259079CB2A8907577BBBAA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; 130A28E84D438B08C6B5D5A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -116,6 +115,7 @@ 207945846A9C6558F509C745 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; }; 20A5A541366F7C22EF633114 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; }; 20BC71D082643A43C9BD37C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; }; + 20D5A8BFF03A85C71D10B72A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 2162A9A1F6F5DF44CBAC2129 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 2199D426EC85451D81636490 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyMappingEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 219B89271C840E2D7E512612 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -157,7 +157,6 @@ 309B10A91B0698EC749802D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; }; 30D62F5F1125F39CE8D28C78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; }; 3123FA92E774DD0E4788E9FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; }; - 31F1BE05C5BC30558F8039AD = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 31FED87B0FA79D42C5B63186 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 32A77D14749535446A0BC825 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; }; 32B8A985D15EAE4008F43D5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -165,7 +164,6 @@ 3437B0E3EA85400DBEEE0074 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; }; 348CDBF399D99B719511B313 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; }; 34B6C8553DCBD14A2F7207FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsPostScriptRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 3549AF6032831F9553E74467 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_events/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 35BD72D236BE7ADC019B5564 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; }; 35CCF611A1FFF0A68FA75161 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; 3705B72C4B467A1EABEC9C49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -264,6 +262,7 @@ 5FCCDEEE0E7A1AD4179D1E1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; 5FE579E53ADAEEDEDF2AA2D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; 601874CF9435F18E7B69AE6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; + 6070F82641B68C6D023AD16D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; 60DDA3B2D06C918647F0F2FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; }; 60F8D50274C2C6DEA40C13AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; 6108C64B7B0AD2CA64F30DC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -274,6 +273,7 @@ 62B84090765C713CC4250BB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; }; 62DF24F1C7E14730CDA3F27B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; }; 62E67D3BBC3098E5BC56F835 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 630E0739D24A3C9E99CD4592 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = HelloWorld.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; 632A6E49E7D869A9744A4491 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; }; 6421875FDD1DB8F8C322F3A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; 64D016CA7156861886442427 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -320,7 +320,6 @@ 71EA769D5757AB3B16E5E6E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; }; 7224FBF6C8769342A0E3AC71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; }; 732EB7C9CF8E817B7239DBA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; }; - 7402FA767F4FD9CCD3DD1578 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_graphics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 744475CFFBA91FDA03DDF659 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; }; 74AB579ADDC7C355C5704A16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; }; 75228523BAA6F029F315E6F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; }; @@ -333,6 +332,7 @@ 7A6E2A815D9AE276CF064A24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemTrayIconComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 7A704BB75CD29EA20C349CDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; }; 7A969F79FFA4031B868F9EED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7B4F5B653B7DDBC603F313BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../JuceLibraryCode/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; 7B78D4684FE1D74EA847C1B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; }; 7BB92A7F312D9DA6AA53FAC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; 7C019D56F09C3415D36A0058 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -382,8 +382,6 @@ 8F92FD719B301B68F4945EA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; }; 8F977FE20118240233D8E05E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTreeSynchroniser.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h"; sourceTree = "SOURCE_ROOT"; }; 8FA331691E39F5D8FB0DCDF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; - 8FBE4F804ECCBADAA37592F0 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_extra/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; - 8FC7BFF093D665F8178EC297 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; 8FE02C7AD75EE732A416DA8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; }; 90CFC8BC9D8A156A512D2A39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; }; 9132D1324A6D6D049C9B2FFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Component.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -475,7 +473,6 @@ B1557FE77AC7D7FBF5A745F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; B16933E10DCBA3CC20ADFAFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; }; B2485AFF4249D9C40B9B54CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; }; - B2650D0AA7710D3C2627238A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; B2C3D53237084A8C79EE8B16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; B2EE22875A0E4C2679EFD3CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; B3978067F1432E1A2618A5DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = "SOURCE_ROOT"; }; @@ -483,7 +480,6 @@ B3AE3983352E66690C865088 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; }; B3CEFD554B22D2764327CC70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NotificationType.h"; path = "../../../../modules/juce_events/messages/juce_NotificationType.h"; sourceTree = "SOURCE_ROOT"; }; B4A651618E07F64027C2DB75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; }; - B531D38613FDEC368336A51E = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = "SOURCE_ROOT"; }; B5880B8DE2B7362EF263D82A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; }; B5D117435CCB80BF33D4AD00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; }; B63040F76DC9E9F5256AC022 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; }; @@ -494,7 +490,6 @@ B78154B28539A2E8152D2B9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; }; B7F363708A0CDC05D9C04876 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; }; B86F88CBFF4E577BCCF8D620 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; - B8E7EC57DAC2DE65CFEC21E0 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_data_structures/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; B909BE26785040CF82533E80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; B93ACCE3F29334143039311C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; B9BC9B5BC286D2C9356DDF47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -512,7 +507,6 @@ BFF18A9C80EEDD74D0223EEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; }; C001B0F67BB17E32A3BC8F92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; }; C016810AF5F23520BE9EBF2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; - C1980330512BAADDA1CB0D24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; C1A8DCB1BD40331EFC186CF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; C1CC6D2EB9A261B4D2B926BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; }; C2012B18C8652969617417E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; }; @@ -524,6 +518,7 @@ C40948D9BB7965E367551251 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; }; C4272B1ABE77520CD6E55EB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; }; C4788802A0C1A2908645028B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; }; + C47B583663A97D26144D160A = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-App.plist"; path = "Info-App.plist"; sourceTree = "SOURCE_ROOT"; }; C511170BCB0784C896826010 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; }; C5401AF900EB8056416C1294 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; }; C546B9AC32E553D5969B2537 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; @@ -555,6 +550,7 @@ CB85029BEDE10DB68C5BAA21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; CBE147D9B86A9F69A7CCEC3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; CC95B7798FE5B9D685B3573D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ActiveXComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + CD26BF26FF05366672B6606F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; CD87ECBCB1347FDB040D63FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; CD9D30D3D61F095124F6D916 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; CE290D98DCBBDC902406E73F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; }; @@ -622,6 +618,7 @@ E96CBEBCDABA3EA741C4C2EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; E9904E84AFCF3AB39B03BAA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; EA433D25CF79DF86FEF978D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + EACC160E0A89470B41179AB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; ECC4847BBD2AC72116506F0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; ED577465CA22A65861192A35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; }; ED872E47438BBE6325FE78F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -632,10 +629,8 @@ EF932865774E86525CE7FC55 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; EFE00478AEAFE39D81B0E59D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; EFE65E031B01332448C2BE5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; }; - F003AC63C800E3F090BF217F = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_core/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; F08B148BBAEA45BCDA3F066F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; }; F0A440A64636CA5008C1D76A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; - F21F13BF684528EB7041BD67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; F26B1DF1D28880AA0099B36D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; F2AA4EBDE6E999C033A8CA65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; }; F2C96C26ACDFFE9D480D5561 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -654,6 +649,7 @@ F6B44EB4315A24F4359BF2B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; }; F6CA8CB0E2135154E38E9707 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; F78633365BAD28DA5864C502 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + F7AF7F3B0D1DCF1E9B1F4DA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; F83EC8D59072A524F5DA56B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; }; F86158611AE1654F4BCAFC47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; F8FDB57B9F26F2B0582CBEED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -674,7 +670,6 @@ FE39F19585CBAE3EE247840C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; }; FE8B93BA3F56CCC0BB37A5C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; FE9531D38CA4C273B6FB87A7 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; }; - EA398D9C544440E06637C134 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = HelloWorld.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; FEA9C3FC8BE313C619C3D195 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; FED2586B3C7EA1BBA5512D58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; }; FF06CDF5B9CF3DE2EA741D54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -686,58 +681,7 @@ 0784B69B6377F90FB264DCB0, ); name = Source; sourceTree = ""; }; 23A603C0DAA7E2E423A4123A = {isa = PBXGroup; children = ( 39BDB517F5C4ED09B374411D, ); name = HelloWorld; sourceTree = ""; }; - 53B7ECB896E5903DD2493E14 = {isa = PBXGroup; children = ( - F92040E5407E1B24B9D740C2, - 3BE1A6F6B461F08095CABAC9, - BFF18A9C80EEDD74D0223EEC, - 5D8B625E558414B158ACA721, - E597E0071A0752D8B87C0C7A, - E62053E448B91F1A968D6B0C, - C743089A221B553DA6B45F65, - 898C4B2D036C170A6ED46DD0, - E02684265B013C418CC7A242, - 293CD4C7F50623F81F3D6297, - 98B2591FE72E0B3D259F332F, - 8299092A070FB3E459760F8C, - 2E621C1E7F2E9FC6A6D14282, - 52D7E72C26E3D1589A6A1BD4, - BA4ECA72D6EADF487141684A, - 408110CA0AFFDF83F3AF497D, - D4ED28003B9120E85F5CD490, - F6B44EB4315A24F4359BF2B5, - 1D68491BDF0E63AC125D454C, - 971270DAD06B91F5B156C362, - DD7DC4C53F386AD914887EDA, - 9B5E2905BAEE2A1E7B7657AF, - 03BB1C54D9DEDDAB20B854AD, - AD1F1A9815D8660FA0305028, ); name = text; sourceTree = ""; }; - C3BF0F36B4C2A20B594B2C17 = {isa = PBXGroup; children = ( - 5FCCDEEE0E7A1AD4179D1E1D, - FD5D001673478C39B79A9C6A, - 403E7E9949CFE8BD73DDD909, - AB625562B978102C10FD5311, - 39F7F5DC827150D2E57F1DBF, - 0B62C1B2DFE2EE1C8E1EB5B6, - 26341A8D55A799AC0ED8B33F, - 38E5FF4A3CBEA8C42D9F14CD, - F83EC8D59072A524F5DA56B0, - C6CA0624B45EC3D866BC0D79, ); name = maths; sourceTree = ""; }; - 283F53CC2F8E672B54F90A31 = {isa = PBXGroup; children = ( - 60DDA3B2D06C918647F0F2FF, - AA75E89A148ADF8C55671CA0, - C5401AF900EB8056416C1294, - 1F16E8AF03971A15157AD981, - 62733AC6CAD0F79BEAE0CF4F, - 09A3E1630BFC67C63AFEDE3A, - 46BD0A7BCF4C608DB94285EC, - 0B92355966B36E2B913BC8EE, - EF28BA2B5E24F4749F732230, - 601874CF9435F18E7B69AE6A, - 45905746CA7C3BFE98B583C9, - 89F164CF6D809DD8AB8FDB55, - 6C556B58616171CC70488F0D, - 6615B376201BA6A338D7177E, ); name = memory; sourceTree = ""; }; - 7582B2AE14482E2927B3AE2F = {isa = PBXGroup; children = ( + 794DFFB544985A9E4BB71FE9 = {isa = PBXGroup; children = ( 02123F620ABB8F19FCE4E7E5, F5D2E9784191EC7F2DFA3949, 068349E735D107BE09BEC641, @@ -759,37 +703,7 @@ E6CD70420EF8F0E3CAD9ED5B, 7A969F79FFA4031B868F9EED, A17E8E8081DF2A399C206DF2, ); name = containers; sourceTree = ""; }; - BF229D931FB1A5222CD9DB43 = {isa = PBXGroup; children = ( - C3AC4696140DE22682732FB6, - 61E66D9A002421AAA36E6CA2, - F93E87E35290A40DC20A4D44, - 65B0A35F0ED651E60556A0E4, - 7C91591CECC16FC22329ADB8, - 8EED918F1D3876E4EB17F5A5, - E7CEB65B72C024546E5927A7, - 6B625D967F13EC4AFB7BADCA, - DA8CFA399CD27524DB69AD78, - 1DFCB49A7B79D79376629528, - E830FDCCA2799244C53AEB8F, - 71B6F45D512F8B8D802B1927, - C016810AF5F23520BE9EBF2E, - 832D1429ADEE1B07AB3693A3, - 62DF24F1C7E14730CDA3F27B, - 0CE43A8B78FB46CE63C0AB6A, - B6AC99C26F679771A2F942B5, - 9FBFACCA56589CDCC3D78F0E, - 65DBA30ACD7C6156850F1F4E, - 6603F93CB38F0E7BEB779A9D, - B4A651618E07F64027C2DB75, - D624E1F31ADE1C718E97A3C1, ); name = threads; sourceTree = ""; }; - CFA0FE5274773CA97B9EA5A1 = {isa = PBXGroup; children = ( - B5880B8DE2B7362EF263D82A, - 8E1A22B596E70DF1D0C15F8C, - 15569873F24C4157977C8D9F, - C64E52A86F2984D4A5F82EF8, - 8215524ADDC78289AD8BD4CE, - AB7582784F8607123662C3EC, ); name = time; sourceTree = ""; }; - 120D356AA058212F80C97EAB = {isa = PBXGroup; children = ( + 0E0018AEDDE87B7E1E838FFF = {isa = PBXGroup; children = ( FC47B303DF1BE68BE78F9079, D882D6E64CEFE8FFE435EF40, 5457E4C7D67E767CCD8B0964, @@ -807,66 +721,43 @@ F5FD842A428369A565BC92E4, 83F74BA834946705EB9ED79C, 1657734A03E0F21166FAE9E8, ); name = files; sourceTree = ""; }; - 2AE9B24F8D2F81FB9B7FF4C7 = {isa = PBXGroup; children = ( - 21A118094F4A8DC6E9343AC6, - 2206F8DB2D2D3042FFB24820, - D4F8F05BFF087B2BCA01CB71, - 71D4E1218CF09450B41469B9, - 0A421597B03EA9CA355D8BD1, - 6B252EAC72CB94D5DC06C284, - E02BE252CF20E4FABAC9A7B2, - 1BF703172DA6AC2179913394, - DD6356DF25DE4F39BFB2BD87, - 3A1128BBCB04C3DCE2E5D37E, ); name = network; sourceTree = ""; }; - D46664D5E1C590C441D4F80B = {isa = PBXGroup; children = ( - 0DBB48BEAC0B38D509A6ED6F, - 0E0B382367017DA9380D3C61, - BD8335C336E988FF37044F21, - 5E716763BE04772CA06592DC, - 7E6FE81AB4D5B08FF0F4E8AF, - BE4B29F0D308D1BA1046D8DC, - 2F1A2B5F25C3F2502932EFF4, - 3E65BE3F701901EC447327AE, - 1EECC1DDB24892ED2BE2FC44, - 5C49EBA49810FE7840039EA9, - E1774E60A49BD0CC9F7DB6B8, - 956BE6001A359C423014CED7, - FE39F19585CBAE3EE247840C, - 70C7586ACDA27A1FFC0C7AEE, - BA5EF35337DDE160BCA69BE2, ); name = streams; sourceTree = ""; }; - F87D6E9F1E5FE32A55A2A8DB = {isa = PBXGroup; children = ( - 2026B0F45584BD5BECC4EFBA, - 1A8917A61F4F6E9766564420, - 3832110FA8DA58E650AB6F9E, - EF3A7A1A871BAB32EA1B46EF, ); name = logging; sourceTree = ""; }; - A18C218B66BAD36C1F6FDB5D = {isa = PBXGroup; children = ( - 6816BB0D62EC676409B3587F, - 8F92FD719B301B68F4945EA9, - F08B148BBAEA45BCDA3F066F, - 41535CB61E936ECEBB04FFAC, - EF54929F7151858D8FF8107B, - 966BC35C454118B1B895436D, ); name = system; sourceTree = ""; }; - E3BC172EB1F1CA22B436FC42 = {isa = PBXGroup; children = ( - 498778ED99DF1BA68A6E3A18, - 46393FE4FE6D8683444CD1A3, - 32A77D14749535446A0BC825, - 822342F0C44B761EAB020F86, ); name = xml; sourceTree = ""; }; - D959EACECE951B6D139A99C8 = {isa = PBXGroup; children = ( + F675A1B181B929A10E0F2EDC = {isa = PBXGroup; children = ( AEB923D05C620EF9E927B48C, 99FBA3CCFA443DB353B07F71, C4272B1ABE77520CD6E55EB7, ECC4847BBD2AC72116506F0E, ); name = javascript; sourceTree = ""; }; - D0CB81045FF79BEAD1744CAD = {isa = PBXGroup; children = ( - E8DCBADAA3B789839C797F82, - 3D32372B5CC311AA696124D2, - A88106868D7BACF251D9EAA8, - 8EA982741224B1BF1BB840B6, - F2C96C26ACDFFE9D480D5561, - 8E018B63249825F4D00DEB6C, ); name = zip; sourceTree = ""; }; - 9AE02D48833B87EB32478790 = {isa = PBXGroup; children = ( - 85CC7C10F36E6A615CF24289, - 0C36123881F7A4B6A144F272, ); name = "unit_tests"; sourceTree = ""; }; - 47B575A04992E9EA22045F72 = {isa = PBXGroup; children = ( + B11BB62450B7453F15CC4A15 = {isa = PBXGroup; children = ( + 2026B0F45584BD5BECC4EFBA, + 1A8917A61F4F6E9766564420, + 3832110FA8DA58E650AB6F9E, + EF3A7A1A871BAB32EA1B46EF, ); name = logging; sourceTree = ""; }; + 34A3F5DFEFA3BB3D96C89E77 = {isa = PBXGroup; children = ( + 5FCCDEEE0E7A1AD4179D1E1D, + FD5D001673478C39B79A9C6A, + 403E7E9949CFE8BD73DDD909, + AB625562B978102C10FD5311, + 39F7F5DC827150D2E57F1DBF, + 0B62C1B2DFE2EE1C8E1EB5B6, + 26341A8D55A799AC0ED8B33F, + 38E5FF4A3CBEA8C42D9F14CD, + F83EC8D59072A524F5DA56B0, + C6CA0624B45EC3D866BC0D79, ); name = maths; sourceTree = ""; }; + 079E92B46BB2C82F22F34543 = {isa = PBXGroup; children = ( + 60DDA3B2D06C918647F0F2FF, + AA75E89A148ADF8C55671CA0, + C5401AF900EB8056416C1294, + 1F16E8AF03971A15157AD981, + 62733AC6CAD0F79BEAE0CF4F, + 09A3E1630BFC67C63AFEDE3A, + 46BD0A7BCF4C608DB94285EC, + 0B92355966B36E2B913BC8EE, + EF28BA2B5E24F4749F732230, + 601874CF9435F18E7B69AE6A, + 45905746CA7C3BFE98B583C9, + 89F164CF6D809DD8AB8FDB55, + 6C556B58616171CC70488F0D, + 6615B376201BA6A338D7177E, ); name = memory; sourceTree = ""; }; + 217F279469B33A64EFBAE050 = {isa = PBXGroup; children = ( 17697EA857D23FAC8FF46868, 4A5ED88CC2ED6ADD8A5B102A, 975AC19606552D5003580062, @@ -874,7 +765,7 @@ 35BD72D236BE7ADC019B5564, 6DE47E2E070BC5173F0985BB, 79A4F1CF3FB5D20104693598, ); name = misc; sourceTree = ""; }; - 95B8EA2C19F69EB464681FD5 = {isa = PBXGroup; children = ( + 819D84ABBC8FC9A0A2687B2D = {isa = PBXGroup; children = ( 7D87E3CB6613ADCE674B00BE, C7A6585C8F7FB3EF78837563, AC488F0777290DB214E6E937, @@ -904,49 +795,167 @@ 14F44BEA5F54F7E064122CC7, 295439C55D8A711959ADABD3, A75D66A07D6443E350214CC3, ); name = native; sourceTree = ""; }; + 3A052EC6B760C1155D26B316 = {isa = PBXGroup; children = ( + 21A118094F4A8DC6E9343AC6, + 2206F8DB2D2D3042FFB24820, + D4F8F05BFF087B2BCA01CB71, + 71D4E1218CF09450B41469B9, + 0A421597B03EA9CA355D8BD1, + 6B252EAC72CB94D5DC06C284, + E02BE252CF20E4FABAC9A7B2, + 1BF703172DA6AC2179913394, + DD6356DF25DE4F39BFB2BD87, + 3A1128BBCB04C3DCE2E5D37E, ); name = network; sourceTree = ""; }; + 59F91632E8AC2C4CB166DD4C = {isa = PBXGroup; children = ( + 0DBB48BEAC0B38D509A6ED6F, + 0E0B382367017DA9380D3C61, + BD8335C336E988FF37044F21, + 5E716763BE04772CA06592DC, + 7E6FE81AB4D5B08FF0F4E8AF, + BE4B29F0D308D1BA1046D8DC, + 2F1A2B5F25C3F2502932EFF4, + 3E65BE3F701901EC447327AE, + 1EECC1DDB24892ED2BE2FC44, + 5C49EBA49810FE7840039EA9, + E1774E60A49BD0CC9F7DB6B8, + 956BE6001A359C423014CED7, + FE39F19585CBAE3EE247840C, + 70C7586ACDA27A1FFC0C7AEE, + BA5EF35337DDE160BCA69BE2, ); name = streams; sourceTree = ""; }; + A18C218B66BAD36C1F6FDB5D = {isa = PBXGroup; children = ( + 6816BB0D62EC676409B3587F, + 8F92FD719B301B68F4945EA9, + F08B148BBAEA45BCDA3F066F, + 41535CB61E936ECEBB04FFAC, + EF54929F7151858D8FF8107B, + 966BC35C454118B1B895436D, ); name = system; sourceTree = ""; }; + 571C1E9DE9DFA4396DA41ACB = {isa = PBXGroup; children = ( + F92040E5407E1B24B9D740C2, + 3BE1A6F6B461F08095CABAC9, + BFF18A9C80EEDD74D0223EEC, + 5D8B625E558414B158ACA721, + E597E0071A0752D8B87C0C7A, + E62053E448B91F1A968D6B0C, + C743089A221B553DA6B45F65, + 898C4B2D036C170A6ED46DD0, + E02684265B013C418CC7A242, + 293CD4C7F50623F81F3D6297, + 98B2591FE72E0B3D259F332F, + 8299092A070FB3E459760F8C, + 2E621C1E7F2E9FC6A6D14282, + 52D7E72C26E3D1589A6A1BD4, + BA4ECA72D6EADF487141684A, + 408110CA0AFFDF83F3AF497D, + D4ED28003B9120E85F5CD490, + F6B44EB4315A24F4359BF2B5, + 1D68491BDF0E63AC125D454C, + 971270DAD06B91F5B156C362, + DD7DC4C53F386AD914887EDA, + 9B5E2905BAEE2A1E7B7657AF, + 03BB1C54D9DEDDAB20B854AD, + AD1F1A9815D8660FA0305028, ); name = text; sourceTree = ""; }; + 2A0BDB4F3B8780F1312D05B2 = {isa = PBXGroup; children = ( + C3AC4696140DE22682732FB6, + 61E66D9A002421AAA36E6CA2, + F93E87E35290A40DC20A4D44, + 65B0A35F0ED651E60556A0E4, + 7C91591CECC16FC22329ADB8, + 8EED918F1D3876E4EB17F5A5, + E7CEB65B72C024546E5927A7, + 6B625D967F13EC4AFB7BADCA, + DA8CFA399CD27524DB69AD78, + 1DFCB49A7B79D79376629528, + E830FDCCA2799244C53AEB8F, + 71B6F45D512F8B8D802B1927, + C016810AF5F23520BE9EBF2E, + 832D1429ADEE1B07AB3693A3, + 62DF24F1C7E14730CDA3F27B, + 0CE43A8B78FB46CE63C0AB6A, + B6AC99C26F679771A2F942B5, + 9FBFACCA56589CDCC3D78F0E, + 65DBA30ACD7C6156850F1F4E, + 6603F93CB38F0E7BEB779A9D, + B4A651618E07F64027C2DB75, + D624E1F31ADE1C718E97A3C1, ); name = threads; sourceTree = ""; }; + 050F08BB0358A9E6E066DE35 = {isa = PBXGroup; children = ( + B5880B8DE2B7362EF263D82A, + 8E1A22B596E70DF1D0C15F8C, + 15569873F24C4157977C8D9F, + C64E52A86F2984D4A5F82EF8, + 8215524ADDC78289AD8BD4CE, + AB7582784F8607123662C3EC, ); name = time; sourceTree = ""; }; + 9AE02D48833B87EB32478790 = {isa = PBXGroup; children = ( + 85CC7C10F36E6A615CF24289, + 0C36123881F7A4B6A144F272, ); name = "unit_tests"; sourceTree = ""; }; + E7ABB7ADDD6A2CDD0AD7C71F = {isa = PBXGroup; children = ( + 498778ED99DF1BA68A6E3A18, + 46393FE4FE6D8683444CD1A3, + 32A77D14749535446A0BC825, + 822342F0C44B761EAB020F86, ); name = xml; sourceTree = ""; }; + 7EEFCB7E4DF561B623FB36AA = {isa = PBXGroup; children = ( + E8DCBADAA3B789839C797F82, + 3D32372B5CC311AA696124D2, + A88106868D7BACF251D9EAA8, + 8EA982741224B1BF1BB840B6, + F2C96C26ACDFFE9D480D5561, + 8E018B63249825F4D00DEB6C, ); name = zip; sourceTree = ""; }; 077C855D265E61FB93F96107 = {isa = PBXGroup; children = ( - 53B7ECB896E5903DD2493E14, - C3BF0F36B4C2A20B594B2C17, - 283F53CC2F8E672B54F90A31, - 7582B2AE14482E2927B3AE2F, - BF229D931FB1A5222CD9DB43, - CFA0FE5274773CA97B9EA5A1, - 120D356AA058212F80C97EAB, - 2AE9B24F8D2F81FB9B7FF4C7, - D46664D5E1C590C441D4F80B, - F87D6E9F1E5FE32A55A2A8DB, + 794DFFB544985A9E4BB71FE9, + 0E0018AEDDE87B7E1E838FFF, + F675A1B181B929A10E0F2EDC, + B11BB62450B7453F15CC4A15, + 34A3F5DFEFA3BB3D96C89E77, + 079E92B46BB2C82F22F34543, + 217F279469B33A64EFBAE050, + 819D84ABBC8FC9A0A2687B2D, + 3A052EC6B760C1155D26B316, + 59F91632E8AC2C4CB166DD4C, A18C218B66BAD36C1F6FDB5D, - E3BC172EB1F1CA22B436FC42, - D959EACECE951B6D139A99C8, - D0CB81045FF79BEAD1744CAD, + 571C1E9DE9DFA4396DA41ACB, + 2A0BDB4F3B8780F1312D05B2, + 050F08BB0358A9E6E066DE35, 9AE02D48833B87EB32478790, - 47B575A04992E9EA22045F72, - 95B8EA2C19F69EB464681FD5, - F003AC63C800E3F090BF217F, + E7ABB7ADDD6A2CDD0AD7C71F, + 7EEFCB7E4DF561B623FB36AA, FDDA86C3FCCC3C74F7CDA53D, ); name = "juce_core"; sourceTree = ""; }; - DB193F277014CB2D4EED9B10 = {isa = PBXGroup; children = ( + AC52466931A3B16BD9763E38 = {isa = PBXGroup; children = ( + E3273B696D8398C56B0F1A40, + DC4EE2A66A86B99C8D9B0068, + 89898A337D18F63C9DDE1AEE, + 1259079CB2A8907577BBBAA3, ); name = "app_properties"; sourceTree = ""; }; + 3F1B3F5816792824A8FED9CF = {isa = PBXGroup; children = ( + F35CA3BED53A2146B7623ECA, + 1A849B3BFFE1598017793994, + E58624F033F218AF36C7F9FD, ); name = undomanager; sourceTree = ""; }; + F6401C531E65F257DF38CF3C = {isa = PBXGroup; children = ( F420591CACE7056F78000039, D49594C439C67202647804D2, 793CDD14387F49E8757B9042, 3123FA92E774DD0E4788E9FB, A10311375CB3203008B0DD24, 8F977FE20118240233D8E05E, ); name = values; sourceTree = ""; }; - 3F1B3F5816792824A8FED9CF = {isa = PBXGroup; children = ( - F35CA3BED53A2146B7623ECA, - 1A849B3BFFE1598017793994, - E58624F033F218AF36C7F9FD, ); name = undomanager; sourceTree = ""; }; - F27B1321E6B098E31C61FD54 = {isa = PBXGroup; children = ( - E3273B696D8398C56B0F1A40, - DC4EE2A66A86B99C8D9B0068, - 89898A337D18F63C9DDE1AEE, - 1259079CB2A8907577BBBAA3, ); name = "app_properties"; sourceTree = ""; }; 2D4BDB90369FB93DE77234CD = {isa = PBXGroup; children = ( - DB193F277014CB2D4EED9B10, + AC52466931A3B16BD9763E38, 3F1B3F5816792824A8FED9CF, - F27B1321E6B098E31C61FD54, - B8E7EC57DAC2DE65CFEC21E0, + F6401C531E65F257DF38CF3C, 5F55D2FE7338877E1CDD4B45, ); name = "juce_data_structures"; sourceTree = ""; }; - FF92A51DE50343C6AA33A0DB = {isa = PBXGroup; children = ( + 8B5D59397507DBD642F28154 = {isa = PBXGroup; children = ( + 536EB9664EDB02A4CBF9BD28, + 2575944C94EF083E2CBDBFA1, + 0C90578962B82B1AE222578E, + C2F65CD24CD207EFD5FAF7F9, + B78154B28539A2E8152D2B9C, + E4AF8704D952EA14B38CA782, + E536D2E0E822CA257FA97875, + 6B1B6046C54E082A9E25D69C, ); name = broadcasters; sourceTree = ""; }; + F4A3188D8DDD3C8F89FF602E = {isa = PBXGroup; children = ( + CAA3289777033409B1E9050C, + 1818AAD83B5C0FC5B322446F, + 3824684DA7C61AA29E386158, + 309B10A91B0698EC749802D5, + 71EA769D5757AB3B16E5E6E6, + EFE65E031B01332448C2BE5E, ); name = interprocess; sourceTree = ""; }; + 34CAAF6F9811717AAD813B0E = {isa = PBXGroup; children = ( C4788802A0C1A2908645028B, 016AB5DF7206562FA4B48A81, A387B8D5928ABA707B55736D, @@ -960,28 +969,7 @@ D53B158241A875303FC52D8B, 984AA2236CD860A916ACF57E, B3CEFD554B22D2764327CC70, ); name = messages; sourceTree = ""; }; - A9B3363B5E302799D0945C6C = {isa = PBXGroup; children = ( - 8414F7B17DA39B4D0B4C3739, - C894801E6F257C0E84E5C03F, - DBE5789816F028CE53FD3EB4, - 62B84090765C713CC4250BB6, ); name = timers; sourceTree = ""; }; - A045CC1D9919072B85C45336 = {isa = PBXGroup; children = ( - 536EB9664EDB02A4CBF9BD28, - 2575944C94EF083E2CBDBFA1, - 0C90578962B82B1AE222578E, - C2F65CD24CD207EFD5FAF7F9, - B78154B28539A2E8152D2B9C, - E4AF8704D952EA14B38CA782, - E536D2E0E822CA257FA97875, - 6B1B6046C54E082A9E25D69C, ); name = broadcasters; sourceTree = ""; }; - 67DB973FF5A1FFA8D81AA280 = {isa = PBXGroup; children = ( - CAA3289777033409B1E9050C, - 1818AAD83B5C0FC5B322446F, - 3824684DA7C61AA29E386158, - 309B10A91B0698EC749802D5, - 71EA769D5757AB3B16E5E6E6, - EFE65E031B01332448C2BE5E, ); name = interprocess; sourceTree = ""; }; - 21AFBAFF05B76A3121EDCBFC = {isa = PBXGroup; children = ( + 56016BCA11D038D0C9AD5A97 = {isa = PBXGroup; children = ( 219B89271C840E2D7E512612, 4A8C64BB96FB93919DDF2166, A93E36A200F473B766F6A8BA, @@ -990,13 +978,17 @@ 5B67F01C0BA9323892900AF8, 7EBAA8C6B6447AC1707EA1A7, 1C3E6A1B46D80DBFEE6CF33B, ); name = native; sourceTree = ""; }; + CFF5C902C2954FE53CEED0A9 = {isa = PBXGroup; children = ( + 8414F7B17DA39B4D0B4C3739, + C894801E6F257C0E84E5C03F, + DBE5789816F028CE53FD3EB4, + 62B84090765C713CC4250BB6, ); name = timers; sourceTree = ""; }; C0F8D0D123397FF7AF17F3F8 = {isa = PBXGroup; children = ( - FF92A51DE50343C6AA33A0DB, - A9B3363B5E302799D0945C6C, - A045CC1D9919072B85C45336, - 67DB973FF5A1FFA8D81AA280, - 21AFBAFF05B76A3121EDCBFC, - 3549AF6032831F9553E74467, + 8B5D59397507DBD642F28154, + F4A3188D8DDD3C8F89FF602E, + 34CAAF6F9811717AAD813B0E, + 56016BCA11D038D0C9AD5A97, + CFF5C902C2954FE53CEED0A9, 08C449B44C89E728A89013F3, ); name = "juce_events"; sourceTree = ""; }; 39D7580AE0D199F462A0411D = {isa = PBXGroup; children = ( A1637DEBD3438ACB0D7F48E0, @@ -1016,19 +1008,25 @@ 65FC1A9B2D0CDCD2D0180A17, 60F8D50274C2C6DEA40C13AC, AB5FD54FE20E3B8792AE7601, ); name = contexts; sourceTree = ""; }; - 6DD41751A3949FBC19CC8416 = {isa = PBXGroup; children = ( - 4E2E741BA1779C70049641D0, - C63DB03ADC0A6E3C45DD88C9, - 981D4316CDD5076577509386, - 3D95AB0F7898371918F9E8FA, - F58C62E4CFF820B85CEF0A9A, - AE8492E6A10C324142D09EA8, - 48D212A6051005FB7A4BC338, - 8BEBE3E3D47AD3E8AAACF7BA, ); name = images; sourceTree = ""; }; - 39F75EB88C131A0C1E7C5350 = {isa = PBXGroup; children = ( - EE785DBFA288EFA2E7AB2108, - 659BEDAE6C17DD4FA6B74971, - 35CCF611A1FFF0A68FA75161, ); name = "image_formats"; sourceTree = ""; }; + FCAD07FFB4B2EA8DC6AC0919 = {isa = PBXGroup; children = ( + 373E70565BE10D615B096C28, + A16DA9030A96B26C6BF52FDC, + BDCB1657E429C9F03CB17827, + 1FC89BBE37A0162D7B8A8E64, + 2F014FFE6BB6209B7BBBCB79, ); name = effects; sourceTree = ""; }; + 06AB29F987FA0C7C31D28DE0 = {isa = PBXGroup; children = ( + 1316BB7ACE3F151F3B44A3EC, + ACD09DE112FDD1028AC1E11B, + CB85029BEDE10DB68C5BAA21, + EFE00478AEAFE39D81B0E59D, + FF49DBB348CFFF3F396FB712, + F69E6E1AC446B803B6C6A6B4, + ED872E47438BBE6325FE78F2, + 523B09319B14E721921D830A, + A546FAE114D127B368A631D9, + B909BE26785040CF82533E80, + B7F363708A0CDC05D9C04876, + F86158611AE1654F4BCAFC47, ); name = fonts; sourceTree = ""; }; 1B141638D452CFF03036C180 = {isa = PBXGroup; children = ( 07064C4F0CA036ABDCF9C708, 86152CB848C36CC25014D020, @@ -1045,30 +1043,20 @@ 3B51C055A70A99CDCEDFA399, 189CC2967B6148BE990281E8, 9EF2F14290768DC26DBA6149, ); name = geometry; sourceTree = ""; }; - C8E76BBA092B9546D62BFFE4 = {isa = PBXGroup; children = ( - 02FA201D32033D122C04A1B5, - 7EE080AF681F1D927DF35B95, - C71BB293CEF65605741E0CDA, ); name = placement; sourceTree = ""; }; - CBF50CCCB6412B6D1DC75BAC = {isa = PBXGroup; children = ( - 1316BB7ACE3F151F3B44A3EC, - ACD09DE112FDD1028AC1E11B, - CB85029BEDE10DB68C5BAA21, - EFE00478AEAFE39D81B0E59D, - FF49DBB348CFFF3F396FB712, - F69E6E1AC446B803B6C6A6B4, - ED872E47438BBE6325FE78F2, - 523B09319B14E721921D830A, - A546FAE114D127B368A631D9, - B909BE26785040CF82533E80, - B7F363708A0CDC05D9C04876, - F86158611AE1654F4BCAFC47, ); name = fonts; sourceTree = ""; }; - 9860A568DF9EDABCEE8B9490 = {isa = PBXGroup; children = ( - 373E70565BE10D615B096C28, - A16DA9030A96B26C6BF52FDC, - BDCB1657E429C9F03CB17827, - 1FC89BBE37A0162D7B8A8E64, - 2F014FFE6BB6209B7BBBCB79, ); name = effects; sourceTree = ""; }; - B3A6498CEE78E75BCCC0DC93 = {isa = PBXGroup; children = ( + B6422127B6E1E519F16D5D01 = {isa = PBXGroup; children = ( + EE785DBFA288EFA2E7AB2108, + 659BEDAE6C17DD4FA6B74971, + 35CCF611A1FFF0A68FA75161, ); name = "image_formats"; sourceTree = ""; }; + 5454696B1478986ED70E8BE6 = {isa = PBXGroup; children = ( + 4E2E741BA1779C70049641D0, + C63DB03ADC0A6E3C45DD88C9, + 981D4316CDD5076577509386, + 3D95AB0F7898371918F9E8FA, + F58C62E4CFF820B85CEF0A9A, + AE8492E6A10C324142D09EA8, + 48D212A6051005FB7A4BC338, + 8BEBE3E3D47AD3E8AAACF7BA, ); name = images; sourceTree = ""; }; + F6100BBD16C1323B2A368E31 = {isa = PBXGroup; children = ( 56F46591D347CA4272001691, 6421875FDD1DB8F8C322F3A8, 30453B2E00C2367919B4AC25, @@ -1082,19 +1070,54 @@ 0493323D5A1374BBEFCFE455, 53F3EB3D456B15EF5CC6FC67, A5E748EC8CB636CEBF7BA497, ); name = native; sourceTree = ""; }; + 4CDBF6FDC8517CE9CD5DAE53 = {isa = PBXGroup; children = ( + 02FA201D32033D122C04A1B5, + 7EE080AF681F1D927DF35B95, + C71BB293CEF65605741E0CDA, ); name = placement; sourceTree = ""; }; 0BD57F3380CCDFE06E36335D = {isa = PBXGroup; children = ( 39D7580AE0D199F462A0411D, 8090AB4707E33400125CA4C9, - 6DD41751A3949FBC19CC8416, - 39F75EB88C131A0C1E7C5350, + FCAD07FFB4B2EA8DC6AC0919, + 06AB29F987FA0C7C31D28DE0, 1B141638D452CFF03036C180, - C8E76BBA092B9546D62BFFE4, - CBF50CCCB6412B6D1DC75BAC, - 9860A568DF9EDABCEE8B9490, - B3A6498CEE78E75BCCC0DC93, - 7402FA767F4FD9CCD3DD1578, + B6422127B6E1E519F16D5D01, + 5454696B1478986ED70E8BE6, + F6100BBD16C1323B2A368E31, + 4CDBF6FDC8517CE9CD5DAE53, C794DBEF09A83E199223D205, ); name = "juce_graphics"; sourceTree = ""; }; - 51F1DE322ACA481FA5B3E623 = {isa = PBXGroup; children = ( + FB19D4D8B3EF0AAD913831BD = {isa = PBXGroup; children = ( + E31FA0995B22027AEF89904B, + A570C960A1D5C3F9E50A928D, ); name = application; sourceTree = ""; }; + FFB4908016D828B7A31E558E = {isa = PBXGroup; children = ( + 717C583F454C2AF7BAF710A7, + 71D588CCC35F0C1A5A0E9E3F, + 1E19C8C3F46E236277F58F42, + 0C1C8C5879770EF4E8824EF3, + E80A7D62B2B3F4BD2CD3F170, + 3F111FBCEE1230015F476C68, + 130A28E84D438B08C6B5D5A5, + 4DD07E53E4ABDE534D34981E, + D711FA513F8E9F696570DBB5, + 302AFDDB94F243E1C82AF3E9, + A20C7B40F6C5309CBEC5038E, + 0A82B6536AC2C02E099AB0AB, + 14EED238D31DAABE590C749A, + C88CAA67E7AD9181F1C9E3CE, + 1A6CC0CB9A61C67DF712B06E, + CE290D98DCBBDC902406E73F, + FB3723E1113ED13B4B8DF09A, + 0525B4E0F2387B1F3AA520F8, ); name = buttons; sourceTree = ""; }; + E753A3930D4EC754FD3951DF = {isa = PBXGroup; children = ( + DD7B2584B0C91BB4124A397E, + 5044BE1EA711B629563F70CD, + 6E8326A0BC2AAA5F82287220, + E9904E84AFCF3AB39B03BAA9, + 081B7C7D1B9CB7F72A193DEF, + 5DBA0BFB2868C3E1F1E871FB, + E422C589FA0328C35A0549FD, + 1FC1E37865F424D91228A888, + F59A5377B8D4476B34214F98, ); name = commands; sourceTree = ""; }; + 2AB87CC11B062F576ADC7BBE = {isa = PBXGroup; children = ( 37380DEDD5BEE5E9267FA12F, 9132D1324A6D6D049C9B2FFE, 02BD81436ED17F1341E19522, @@ -1104,28 +1127,46 @@ F0A440A64636CA5008C1D76A, 2EC797F05D27994FD0B4F19B, 71D8C3F48801BEF5DB86B619, ); name = components; sourceTree = ""; }; - 01EB66B6B2CBE57DEC21DE34 = {isa = PBXGroup; children = ( - 1679AB8658094A527E7A2811, - 03E4C81E1D323C0CD78DC8A7, - 2F5EFAB6DFDBD1661C8D53A9, - C76F648E207E0B0E8E98C8B3, - 774896BADE9613608E2A1EFE, - 26D9D7114D4E9ECBABA9C391, - B9BC9B5BC286D2C9356DDF47, - 918FA23368FDE2ECDDC1CD08, - E597DB183789D09B45395742, - A16B3D0EA58919EDAEB08792, - C1CC6D2EB9A261B4D2B926BF, - 207945846A9C6558F509C745, - B0644268B39736787E910714, - B39A0E62D1C43A61243F6864, - 18F87CFF17A2C8B806B58028, - CF9F9D13FD1B7ED219092643, - 8FE02C7AD75EE732A416DA8C, - B63040F76DC9E9F5256AC022, - 9EDBF1BC8604795A1B0774C9, - ED577465CA22A65861192A35, ); name = mouse; sourceTree = ""; }; - 05CB0B9F5C39B9F9CE569275 = {isa = PBXGroup; children = ( + 2C09DF77CEDAD5B67CB9B028 = {isa = PBXGroup; children = ( + B2485AFF4249D9C40B9B54CB, + E833133B78833DA0D34F48A4, + 451343A64FCB48BC926E0962, + 1C2A1CDE2DA322901B0899F8, + 7A704BB75CD29EA20C349CDA, + 20BC71D082643A43C9BD37C1, + F8FDB57B9F26F2B0582CBEED, + B6C28B2DAE4802FA291E3487, + 32B8A985D15EAE4008F43D5F, + A93E7F99453C2CD22B7B7115, + 71D7F3CED9D84ECF00E3C7DF, + BA92F6D1BF35CF6623B0BD1F, + E7405CD3B6CF257A84E60DB5, + 505E065430B4C61E119415FE, + 9F3BAC34BBE550826A0C2B4D, ); name = drawables; sourceTree = ""; }; + 97809F525BBAC86742399A72 = {isa = PBXGroup; children = ( + 4D6C90354134741F7F295412, + D06CEB2AEDFB98E1406E06F7, + 88DA5DAE40649E777AD45ECA, + 3A8FC4F98008643A60177AEC, + CD9D30D3D61F095124F6D916, + 94852FE71706851643C6BDE3, + 7D41725B59E3415350C8E035, + 2DB2C70618EAA8DC81B2564F, + 1846D85E50A6B97BBC5EDD6E, + 52AAE149F3EC7BAB0E7703DC, + 4961AA10B3563523AE1B0BFE, + 10650C6BB284DC0F6E7DCB5C, + 54FF1D1CC748FA043A28004F, + 7E9061B22520E892C910ECC9, + 47B6D5118C5FE2D6A452A487, + 1D610C9DF69B955B05EB9A54, + 140BFF25B0078C0709FF2461, + 2DB4D07F237B52911EB0B812, + CBE147D9B86A9F69A7CCEC3D, + A2E15C0836AF048130C893F4, + ADC3125F0DCD2924ACB173EB, + AC975C4D82A4C525F6D879A5, ); name = filebrowser; sourceTree = ""; }; + 32B53A33A9FC7DC72C4B1242 = {isa = PBXGroup; children = ( C26182D37D8E31BD85FDEF5D, 0CFAADB1812DF1EFFFE48116, 6CB12AF57587118CCC37BC8B, @@ -1139,62 +1180,7 @@ 00FD1194DB59F69CA9DFCFAF, 40A7C1EB6363A8FC4A9900B0, E1592FAB1A9F6FAC33F051BC, ); name = keyboard; sourceTree = ""; }; - 47736D14938B4000F6823B04 = {isa = PBXGroup; children = ( - 755B3410E5F1D6CD7CA350E0, - 75228523BAA6F029F315E6F1, - BAC8A1406F49B48E85DBF2E7, - 70F0A80A99565603FECCF39D, - C511170BCB0784C896826010, - FB9E2985FBE36494513C83A6, - B05CF8A5EE33A7062E10DFD2, - 3B3F316BC1E0486A4FD27686, - DB57D9360A4FA63286A9E305, - 4543C730A5DA77649C20B6B8, - CB568736EE6D12C909B6A8F7, - 4A20547D0C763ABB1DE5A9C4, - FC00A16A6756DBFE0B875F5C, - C8AF9CABB9019702BBAE46AC, - FA3161F4692D54C87001BCD7, - 3A9E838A0D5461D20726AE71, - B86F88CBFF4E577BCCF8D620, - FB1A1B08CB724305EBC233A4, - 304137C2E24F2CC1863D9731, - 00D9EB5B09E980D4A78D852A, - 7C8D639A2FC3EA14709367B1, - FED2586B3C7EA1BBA5512D58, - 3D52A3BB485767A61EF457E7, - 8F6E58F2C5CA9D3C6DFEDDB5, - E41E6A613E45920223A133F7, - 458C003240D4C31FF940A99C, - 732EB7C9CF8E817B7239DBA1, ); name = widgets; sourceTree = ""; }; - 398BACFBDE29E0514F4CA907 = {isa = PBXGroup; children = ( - 93D1FA25103C27AFCCA1AAAA, - 555CE1B4514C7E3BBB1A009E, - FD7E5A4B8C6532BD458B2A94, - 2F3A411E38028AE655F7EF95, - 2A1CE4FC4448FBE9D4713C5B, - A9DFB028B3E73E65E1407098, - ACD0AD8EACA79E8A6273413E, - 230C6175514E621AA9037C67, - FEA9C3FC8BE313C619C3D195, - C75917573F92864DA80C9A11, - 81A30FE08E3703C49D5ECC93, - 69266B83D819323230CB67B9, - A4C303DC411E19BA54A10871, - A29400BAA8E7CD1D1CA48C79, - 84F1747F90732DE67C601E3A, - 31FED87B0FA79D42C5B63186, - 5B9C910F85E921B561995ED3, - 65269D81DF23F8211A61032E, - 9AF8A6A41A7FFACC570EBCF5, ); name = windows; sourceTree = ""; }; - CDFF2D1465961758C0EF3C4F = {isa = PBXGroup; children = ( - 133B528A88E99C116B75BFDA, - D0B7D5B46558A7393B43C79B, - 9B0ADC4932AEE1AEDBAAB8AE, - 3CBF4CE2F60BBF9EB9637BC5, - DD374C28FF1CF5F121C3C6E5, - 5187A18B4BAC7087C4FE8060, ); name = menus; sourceTree = ""; }; - 4D9B59FA6727E6D1680D884E = {isa = PBXGroup; children = ( + A8A5A10DE0F56563B9F4AFD3 = {isa = PBXGroup; children = ( DBBD318E15A635AACB31E1DE, C6313E766ECDCE48435BA5A0, 27E36BA8310CE73DCCA58AC9, @@ -1231,72 +1217,7 @@ 65A7736ECC548A9FD10E4F42, 652822ADCD7393AF40945DA2, 89A3C346A8D9173D9CBDD088, ); name = layout; sourceTree = ""; }; - 75C0000D478F969885805A58 = {isa = PBXGroup; children = ( - 717C583F454C2AF7BAF710A7, - 71D588CCC35F0C1A5A0E9E3F, - 1E19C8C3F46E236277F58F42, - 0C1C8C5879770EF4E8824EF3, - E80A7D62B2B3F4BD2CD3F170, - 3F111FBCEE1230015F476C68, - 130A28E84D438B08C6B5D5A5, - 4DD07E53E4ABDE534D34981E, - D711FA513F8E9F696570DBB5, - 302AFDDB94F243E1C82AF3E9, - A20C7B40F6C5309CBEC5038E, - 0A82B6536AC2C02E099AB0AB, - 14EED238D31DAABE590C749A, - C88CAA67E7AD9181F1C9E3CE, - 1A6CC0CB9A61C67DF712B06E, - CE290D98DCBBDC902406E73F, - FB3723E1113ED13B4B8DF09A, - 0525B4E0F2387B1F3AA520F8, ); name = buttons; sourceTree = ""; }; - 778CF3546E5DBE366BF63E99 = {isa = PBXGroup; children = ( - F3327A4ED4197E583711EC38, - 8894A48D347FE788EFD7D0AC, - AC0B866AA2C5F577AA221143, - 6930D056DFFC6EAA2B52E045, - BE72D524BA45BC24B3264F2C, - 543A10EED475842E60CE7F3C, - E281E7EA009C44FA607DAFEB, - B16933E10DCBA3CC20ADFAFF, - 6B29E55E890064489381C65A, - 1BAB3298971199DD4A26042B, - 558FEC99442C039E45679325, - 45A89EE380DBADF9105B866A, - 18BF5D458C9584CD0136DCC7, - 2DBE41449BBADA6D1242D7E4, ); name = positioning; sourceTree = ""; }; - D36ED2585AFE0D1ADA95740C = {isa = PBXGroup; children = ( - B2485AFF4249D9C40B9B54CB, - E833133B78833DA0D34F48A4, - 451343A64FCB48BC926E0962, - 1C2A1CDE2DA322901B0899F8, - 7A704BB75CD29EA20C349CDA, - 20BC71D082643A43C9BD37C1, - F8FDB57B9F26F2B0582CBEED, - B6C28B2DAE4802FA291E3487, - 32B8A985D15EAE4008F43D5F, - A93E7F99453C2CD22B7B7115, - 71D7F3CED9D84ECF00E3C7DF, - BA92F6D1BF35CF6623B0BD1F, - E7405CD3B6CF257A84E60DB5, - 505E065430B4C61E119415FE, - 9F3BAC34BBE550826A0C2B4D, ); name = drawables; sourceTree = ""; }; - AA44D87FE68F20BC9038C07C = {isa = PBXGroup; children = ( - 294C8642232443EEC9C4DF3D, - 2327E88F48EE9DBD166727F4, - A507DE8ED0DFE58D8443F1D0, - 7C019D56F09C3415D36A0058, - DF82F535AAA1380C3213FF03, - D5AAA258357323FD8DBC7B08, - 2BB6FE1F813E3EF9FB1FAACE, - CD87ECBCB1347FDB040D63FC, - 5B0D2EC9A8AC716C07B61137, - 86ECCFC606602CF42A755A8D, - 27A1A9F9CB957FACCFF348D3, - DFB1FF7E047D9883528DECF8, - C1A8DCB1BD40331EFC186CF7, - 5BFC164CB4F8BC4FD839EDC8, ); name = properties; sourceTree = ""; }; - 0497AE7C3FF9222448CEC17B = {isa = PBXGroup; children = ( + 9D615EE90969B20898E44885 = {isa = PBXGroup; children = ( 9D0323FECB030B06FBD0F627, 01A853C55CAE8341C207A758, 7E8133ED13638E1D0C6F849F, @@ -1305,48 +1226,40 @@ 492FBEED85D887CC01080068, 4AA6BD2A3FDFADDCB0322F9C, 7224FBF6C8769342A0E3AC71, ); name = lookandfeel; sourceTree = ""; }; - B0DA666A72BF97CE5C6452EA = {isa = PBXGroup; children = ( - 4D6C90354134741F7F295412, - D06CEB2AEDFB98E1406E06F7, - 88DA5DAE40649E777AD45ECA, - 3A8FC4F98008643A60177AEC, - CD9D30D3D61F095124F6D916, - 94852FE71706851643C6BDE3, - 7D41725B59E3415350C8E035, - 2DB2C70618EAA8DC81B2564F, - 1846D85E50A6B97BBC5EDD6E, - 52AAE149F3EC7BAB0E7703DC, - 4961AA10B3563523AE1B0BFE, - 10650C6BB284DC0F6E7DCB5C, - 54FF1D1CC748FA043A28004F, - 7E9061B22520E892C910ECC9, - 47B6D5118C5FE2D6A452A487, - 1D610C9DF69B955B05EB9A54, - 140BFF25B0078C0709FF2461, - 2DB4D07F237B52911EB0B812, - CBE147D9B86A9F69A7CCEC3D, - A2E15C0836AF048130C893F4, - ADC3125F0DCD2924ACB173EB, - AC975C4D82A4C525F6D879A5, ); name = filebrowser; sourceTree = ""; }; - 8BA9558E831744561590ACEA = {isa = PBXGroup; children = ( - DD7B2584B0C91BB4124A397E, - 5044BE1EA711B629563F70CD, - 6E8326A0BC2AAA5F82287220, - E9904E84AFCF3AB39B03BAA9, - 081B7C7D1B9CB7F72A193DEF, - 5DBA0BFB2868C3E1F1E871FB, - E422C589FA0328C35A0549FD, - 1FC1E37865F424D91228A888, - F59A5377B8D4476B34214F98, ); name = commands; sourceTree = ""; }; - 9BFEAB312F069BA6BD17F30C = {isa = PBXGroup; children = ( + 58D452F193C5A3D6B5C54857 = {isa = PBXGroup; children = ( + 133B528A88E99C116B75BFDA, + D0B7D5B46558A7393B43C79B, + 9B0ADC4932AEE1AEDBAAB8AE, + 3CBF4CE2F60BBF9EB9637BC5, + DD374C28FF1CF5F121C3C6E5, + 5187A18B4BAC7087C4FE8060, ); name = menus; sourceTree = ""; }; + 4C435E887BB51A80D1AD32EC = {isa = PBXGroup; children = ( 3FB71EFD64D47E52DADCACA4, 20A5A541366F7C22EF633114, 3437B0E3EA85400DBEEE0074, CAC058A2D753BB9E0559D8EB, ); name = misc; sourceTree = ""; }; - FFADE91960A55164D44E8FCE = {isa = PBXGroup; children = ( - E31FA0995B22027AEF89904B, - A570C960A1D5C3F9E50A928D, ); name = application; sourceTree = ""; }; - 61EFC47D10826ECFA538F192 = {isa = PBXGroup; children = ( + 4CEA1CAE0326D7D757F5DCD9 = {isa = PBXGroup; children = ( + 1679AB8658094A527E7A2811, + 03E4C81E1D323C0CD78DC8A7, + 2F5EFAB6DFDBD1661C8D53A9, + C76F648E207E0B0E8E98C8B3, + 774896BADE9613608E2A1EFE, + 26D9D7114D4E9ECBABA9C391, + B9BC9B5BC286D2C9356DDF47, + 918FA23368FDE2ECDDC1CD08, + E597DB183789D09B45395742, + A16B3D0EA58919EDAEB08792, + C1CC6D2EB9A261B4D2B926BF, + 207945846A9C6558F509C745, + B0644268B39736787E910714, + B39A0E62D1C43A61243F6864, + 18F87CFF17A2C8B806B58028, + CF9F9D13FD1B7ED219092643, + 8FE02C7AD75EE732A416DA8C, + B63040F76DC9E9F5256AC022, + 9EDBF1BC8604795A1B0774C9, + ED577465CA22A65861192A35, ); name = mouse; sourceTree = ""; }; + 3868CE5E2C3580329BD46200 = {isa = PBXGroup; children = ( 8E3F7589FDC16A7DA986FC42, E96CBEBCDABA3EA741C4C2EC, 305C7AE4DF0701B34616E4FA, @@ -1363,25 +1276,102 @@ 07D2814B9A8E25F3269B675D, 3705B72C4B467A1EABEC9C49, FE8B93BA3F56CCC0BB37A5C8, ); name = native; sourceTree = ""; }; + 2DFFAC58258089DB53540ADD = {isa = PBXGroup; children = ( + F3327A4ED4197E583711EC38, + 8894A48D347FE788EFD7D0AC, + AC0B866AA2C5F577AA221143, + 6930D056DFFC6EAA2B52E045, + BE72D524BA45BC24B3264F2C, + 543A10EED475842E60CE7F3C, + E281E7EA009C44FA607DAFEB, + B16933E10DCBA3CC20ADFAFF, + 6B29E55E890064489381C65A, + 1BAB3298971199DD4A26042B, + 558FEC99442C039E45679325, + 45A89EE380DBADF9105B866A, + 18BF5D458C9584CD0136DCC7, + 2DBE41449BBADA6D1242D7E4, ); name = positioning; sourceTree = ""; }; + 9230777686069FB897A06CDA = {isa = PBXGroup; children = ( + 294C8642232443EEC9C4DF3D, + 2327E88F48EE9DBD166727F4, + A507DE8ED0DFE58D8443F1D0, + 7C019D56F09C3415D36A0058, + DF82F535AAA1380C3213FF03, + D5AAA258357323FD8DBC7B08, + 2BB6FE1F813E3EF9FB1FAACE, + CD87ECBCB1347FDB040D63FC, + 5B0D2EC9A8AC716C07B61137, + 86ECCFC606602CF42A755A8D, + 27A1A9F9CB957FACCFF348D3, + DFB1FF7E047D9883528DECF8, + C1A8DCB1BD40331EFC186CF7, + 5BFC164CB4F8BC4FD839EDC8, ); name = properties; sourceTree = ""; }; + 600AA54E6408CB4F526B0E76 = {isa = PBXGroup; children = ( + 755B3410E5F1D6CD7CA350E0, + 75228523BAA6F029F315E6F1, + BAC8A1406F49B48E85DBF2E7, + 70F0A80A99565603FECCF39D, + C511170BCB0784C896826010, + FB9E2985FBE36494513C83A6, + B05CF8A5EE33A7062E10DFD2, + 3B3F316BC1E0486A4FD27686, + DB57D9360A4FA63286A9E305, + 4543C730A5DA77649C20B6B8, + CB568736EE6D12C909B6A8F7, + 4A20547D0C763ABB1DE5A9C4, + FC00A16A6756DBFE0B875F5C, + C8AF9CABB9019702BBAE46AC, + FA3161F4692D54C87001BCD7, + 3A9E838A0D5461D20726AE71, + B86F88CBFF4E577BCCF8D620, + FB1A1B08CB724305EBC233A4, + 304137C2E24F2CC1863D9731, + 00D9EB5B09E980D4A78D852A, + 7C8D639A2FC3EA14709367B1, + FED2586B3C7EA1BBA5512D58, + 3D52A3BB485767A61EF457E7, + 8F6E58F2C5CA9D3C6DFEDDB5, + E41E6A613E45920223A133F7, + 458C003240D4C31FF940A99C, + 732EB7C9CF8E817B7239DBA1, ); name = widgets; sourceTree = ""; }; + 788D289F45CAF6C053DD4785 = {isa = PBXGroup; children = ( + 93D1FA25103C27AFCCA1AAAA, + 555CE1B4514C7E3BBB1A009E, + FD7E5A4B8C6532BD458B2A94, + 2F3A411E38028AE655F7EF95, + 2A1CE4FC4448FBE9D4713C5B, + A9DFB028B3E73E65E1407098, + ACD0AD8EACA79E8A6273413E, + 230C6175514E621AA9037C67, + FEA9C3FC8BE313C619C3D195, + C75917573F92864DA80C9A11, + 81A30FE08E3703C49D5ECC93, + 69266B83D819323230CB67B9, + A4C303DC411E19BA54A10871, + A29400BAA8E7CD1D1CA48C79, + 84F1747F90732DE67C601E3A, + 31FED87B0FA79D42C5B63186, + 5B9C910F85E921B561995ED3, + 65269D81DF23F8211A61032E, + 9AF8A6A41A7FFACC570EBCF5, ); name = windows; sourceTree = ""; }; CBE7B44549D0E7411076D57F = {isa = PBXGroup; children = ( - 51F1DE322ACA481FA5B3E623, - 01EB66B6B2CBE57DEC21DE34, - 05CB0B9F5C39B9F9CE569275, - 47736D14938B4000F6823B04, - 398BACFBDE29E0514F4CA907, - CDFF2D1465961758C0EF3C4F, - 4D9B59FA6727E6D1680D884E, - 75C0000D478F969885805A58, - 778CF3546E5DBE366BF63E99, - D36ED2585AFE0D1ADA95740C, - AA44D87FE68F20BC9038C07C, - 0497AE7C3FF9222448CEC17B, - B0DA666A72BF97CE5C6452EA, - 8BA9558E831744561590ACEA, - 9BFEAB312F069BA6BD17F30C, - FFADE91960A55164D44E8FCE, - 61EFC47D10826ECFA538F192, - 31F1BE05C5BC30558F8039AD, + FB19D4D8B3EF0AAD913831BD, + FFB4908016D828B7A31E558E, + E753A3930D4EC754FD3951DF, + 2AB87CC11B062F576ADC7BBE, + 2C09DF77CEDAD5B67CB9B028, + 97809F525BBAC86742399A72, + 32B53A33A9FC7DC72C4B1242, + A8A5A10DE0F56563B9F4AFD3, + 9D615EE90969B20898E44885, + 58D452F193C5A3D6B5C54857, + 4C435E887BB51A80D1AD32EC, + 4CEA1CAE0326D7D757F5DCD9, + 3868CE5E2C3580329BD46200, + 2DFFAC58258089DB53540ADD, + 9230777686069FB897A06CDA, + 600AA54E6408CB4F526B0E76, + 788D289F45CAF6C053DD4785, 614E3EC828D056202DC10732, ); name = "juce_gui_basics"; sourceTree = ""; }; E40525D81D015389B0388510 = {isa = PBXGroup; children = ( 46A2A110922BAD26FB4298C5, @@ -1443,7 +1433,6 @@ 5339003A04D05F6E3F333436, F4FF39023AE719A2C1FDFCF6, E145BB5F87254EDB7C912760, - 8FBE4F804ECCBADAA37592F0, C001B0F67BB17E32A3BC8F92, ); name = "juce_gui_extra"; sourceTree = ""; }; C37CC96B89E62143A0E75336 = {isa = PBXGroup; children = ( 077C855D265E61FB93F96107, @@ -1454,15 +1443,15 @@ D073C93C9EC5893BBF5B728C, ); name = "Juce Modules"; sourceTree = ""; }; 70A885E880F4C1F36DBA276E = {isa = PBXGroup; children = ( 994F654E220C76091B1672F8, - 116E9A279FB25AE32174C42F, - C1980330512BAADDA1CB0D24, - 8FC7BFF093D665F8178EC297, - B2650D0AA7710D3C2627238A, - 01D2B9B2D33BFF1F4B571B7E, - F21F13BF684528EB7041BD67, + EACC160E0A89470B41179AB4, + CD26BF26FF05366672B6606F, + F7AF7F3B0D1DCF1E9B1F4DA1, + 7B4F5B653B7DDBC603F313BC, + 20D5A8BFF03A85C71D10B72A, + 6070F82641B68C6D023AD16D, F6CA8CB0E2135154E38E9707, ); name = "Juce Library Code"; sourceTree = ""; }; F75EB749D5026E5AC86B6C4B = {isa = PBXGroup; children = ( - B531D38613FDEC368336A51E, + C47B583663A97D26144D160A, B700739654886DC8E7C1293B, ); name = Resources; sourceTree = ""; }; C581D34B32A781E9AED7F7B0 = {isa = PBXGroup; children = ( AF0CC5F28EB37B1FABBDD5DD, @@ -1471,7 +1460,7 @@ EF932865774E86525CE7FC55, 07D50D8347ED27B84F822D6C, ); name = Frameworks; sourceTree = ""; }; 1C83313FCFBC3FAFA8CDB087 = {isa = PBXGroup; children = ( - EA398D9C544440E06637C134, ); name = Products; sourceTree = ""; }; + 630E0739D24A3C9E99CD4592, ); name = Products; sourceTree = ""; }; CB9C4DF3F11D65C6BF6B80AD = {isa = PBXGroup; children = ( 23A603C0DAA7E2E423A4123A, C37CC96B89E62143A0E75336, @@ -1479,7 +1468,7 @@ F75EB749D5026E5AC86B6C4B, C581D34B32A781E9AED7F7B0, 1C83313FCFBC3FAFA8CDB087, ); name = Source; sourceTree = ""; }; - 34AEE2803DA0D6192C299422 = {isa = XCBuildConfiguration; buildSettings = { + 88AB96D6C191F6480F1CC05F = {isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -1497,10 +1486,10 @@ "JUCE_APP_VERSION_HEX=0x10000", ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.plist; INSTALL_PATH = "$(HOME)/Applications"; PRODUCT_BUNDLE_IDENTIFIER = com.roli.jucehelloworld; }; name = Debug; }; - 339C95D5B2E96DD37B176D75 = {isa = XCBuildConfiguration; buildSettings = { + 0B5D6160680C2FCAC89A9A1D = {isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -1519,7 +1508,7 @@ GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.plist; INSTALL_PATH = "$(HOME)/Applications"; PRODUCT_BUNDLE_IDENTIFIER = com.roli.jucehelloworld; }; name = Release; }; F6DA01300C80F2338FCBD24A = {isa = XCBuildConfiguration; buildSettings = { @@ -1560,34 +1549,35 @@ TARGETED_DEVICE_FAMILY = "1,2"; WARNING_CFLAGS = -Wreorder; ZERO_LINK = NO; }; name = Release; }; + B9DE95F0E67F7222D16D6F11 = {isa = PBXTargetDependency; target = 192D34128EA37F28BC1CBB22; }; D5495970AC0AFC78DD0ADE12 = {isa = XCConfigurationList; buildConfigurations = ( F6DA01300C80F2338FCBD24A, CA9F73DE863A75BEA780D77E, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - D2ABD8290ABA5095AE85F9A6 = {isa = XCConfigurationList; buildConfigurations = ( - 34AEE2803DA0D6192C299422, - 339C95D5B2E96DD37B176D75, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 7B2C68FAAB7FB794B44BA476 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + EFBE1A73760DB4B465A16F0B = {isa = XCConfigurationList; buildConfigurations = ( + 88AB96D6C191F6480F1CC05F, + 0B5D6160680C2FCAC89A9A1D, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 026F69AE2DD97CA7C9006986 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( 7AA2F50DAEF3BA88A7C9C97E, ); runOnlyForDeploymentPostprocessing = 0; }; - 5C249F77DD3C907CDA919026 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + C39352E04613E968B30D0584 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 535A340E26E5D6766D1780CA, 31E87C6EC193B9C408D16F20, - F1FECDFA7E29BD6B703AF52B, - EA50C8A2A8471D0EB4B8E644, - 10A93C9ECE23E879115D5B95, - 16890172C661285B431823B1, - 7DCA87102FFCD304FA172464, - 219E48FBEA32F43040A9970C, ); runOnlyForDeploymentPostprocessing = 0; }; - A8FE28D8F12C03C93B8EAD1D = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + C00F4D9BB21AA1D23C159240, + FD58015BBF155E1BC897A3DB, + 7E94E1B62C6D18481CF59459, + 605BA65217C14EDE46D7BBDB, + D64D8487EDE1692651640117, + 91B43FAA9FF01E555772E593, ); runOnlyForDeploymentPostprocessing = 0; }; + CD0E71EFDCF3177FCE405E9D = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( F70117123739E2303A99AD70, 02F0D49EDD6A3E82D98302F3, 9C737750FC4663FBFDF8C048, EAA5A5EECF04D2B7FCF768FC, ACB6DFC6389AFB78A7EF0A61, ); runOnlyForDeploymentPostprocessing = 0; }; - 9337F8263A94B688D61D5B68 = {isa = PBXNativeTarget; buildConfigurationList = D2ABD8290ABA5095AE85F9A6; buildPhases = ( - 7B2C68FAAB7FB794B44BA476, - 5C249F77DD3C907CDA919026, - A8FE28D8F12C03C93B8EAD1D, ); buildRules = ( ); dependencies = ( ); name = HelloWorld; productName = HelloWorld; productReference = EA398D9C544440E06637C134; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; - E34D5B980741D93050D0BB6B = {isa = PBXProject; buildConfigurationList = D5495970AC0AFC78DD0ADE12; attributes = { LastUpgradeCheck = 0440; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = CB9C4DF3F11D65C6BF6B80AD; projectDirPath = ""; projectRoot = ""; targets = ( 9337F8263A94B688D61D5B68 ); }; + 192D34128EA37F28BC1CBB22 = {isa = PBXNativeTarget; buildConfigurationList = EFBE1A73760DB4B465A16F0B; buildPhases = ( + 026F69AE2DD97CA7C9006986, + C39352E04613E968B30D0584, + CD0E71EFDCF3177FCE405E9D, ); buildRules = ( ); dependencies = ( ); name = "HelloWorld (App)"; productName = HelloWorld; productReference = 630E0739D24A3C9E99CD4592; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; + E34D5B980741D93050D0BB6B = {isa = PBXProject; buildConfigurationList = D5495970AC0AFC78DD0ADE12; attributes = { LastUpgradeCheck = 0440; TargetAttributes = { 192D34128EA37F28BC1CBB22 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = CB9C4DF3F11D65C6BF6B80AD; projectDirPath = ""; projectRoot = ""; targets = (192D34128EA37F28BC1CBB22); }; }; rootObject = E34D5B980741D93050D0BB6B; } diff --git a/examples/HelloWorld/Builds/iOS/Info.plist b/examples/HelloWorld/Builds/iOS/Info-App.plist similarity index 85% rename from examples/HelloWorld/Builds/iOS/Info.plist rename to examples/HelloWorld/Builds/iOS/Info-App.plist index ef012dcbfd..9b030d4279 100644 --- a/examples/HelloWorld/Builds/iOS/Info.plist +++ b/examples/HelloWorld/Builds/iOS/Info-App.plist @@ -13,6 +13,8 @@ $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName HelloWorld + CFBundleDisplayName + HelloWorld CFBundlePackageType APPL CFBundleSignature @@ -27,12 +29,15 @@ UIRequiresFullScreen + UIStatusBarHidden + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight + UIBackgroundModes + diff --git a/examples/HelloWorld/HelloWorld.jucer b/examples/HelloWorld/HelloWorld.jucer index c729ea5f05..14af973f13 100644 --- a/examples/HelloWorld/HelloWorld.jucer +++ b/examples/HelloWorld/HelloWorld.jucer @@ -1,15 +1,7 @@ - + objCExtraSuffix="JtTAKTK1s" iosScreenOrientation="portraitlandscape"> diff --git a/examples/HelloWorld/JuceLibraryCode/AppConfig.h b/examples/HelloWorld/JuceLibraryCode/AppConfig.h index 9847311612..458064bbc6 100644 --- a/examples/HelloWorld/JuceLibraryCode/AppConfig.h +++ b/examples/HelloWorld/JuceLibraryCode/AppConfig.h @@ -4,8 +4,8 @@ project - if you alter its contents, your changes may be overwritten! There's a section below where you can add your own custom code safely, and the - Introjucer will preserve the contents of that block, but the best way to change - any of these definitions is by using the Introjucer's project settings. + Projucer will preserve the contents of that block, but the best way to change + any of these definitions is by using the Projucer's project settings. Any commented-out settings will assume their default values. @@ -17,7 +17,7 @@ //============================================================================== // [BEGIN_USER_CODE_SECTION] -// (You can add your own code in this section, and the Introjucer will not overwrite it) +// (You can add your own code in this section, and the Projucer will not overwrite it) // [END_USER_CODE_SECTION] @@ -31,9 +31,15 @@ //============================================================================== #ifndef JUCE_STANDALONE_APPLICATION - #define JUCE_STANDALONE_APPLICATION 1 + #ifdef JucePlugin_Build_Standalone + #define JUCE_STANDALONE_APPLICATION JucePlugin_Build_Standalone + #else + #define JUCE_STANDALONE_APPLICATION 1 + #endif #endif +#define JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED 1 + //============================================================================== // juce_core flags: diff --git a/examples/HelloWorld/JuceLibraryCode/JuceHeader.h b/examples/HelloWorld/JuceLibraryCode/JuceHeader.h index 56b5bc2f5d..3047038abb 100644 --- a/examples/HelloWorld/JuceLibraryCode/JuceHeader.h +++ b/examples/HelloWorld/JuceLibraryCode/JuceHeader.h @@ -14,12 +14,14 @@ #define __APPHEADERFILE_TTAKTK1S__ #include "AppConfig.h" -#include "modules/juce_core/juce_core.h" -#include "modules/juce_data_structures/juce_data_structures.h" -#include "modules/juce_events/juce_events.h" -#include "modules/juce_graphics/juce_graphics.h" -#include "modules/juce_gui_basics/juce_gui_basics.h" -#include "modules/juce_gui_extra/juce_gui_extra.h" + +#include +#include +#include +#include +#include +#include + #if ! DONT_SET_USING_JUCE_NAMESPACE // If your code uses a lot of JUCE classes, then this will obviously save you diff --git a/examples/HelloWorld/JuceLibraryCode/ReadMe.txt b/examples/HelloWorld/JuceLibraryCode/ReadMe.txt index f6c3564e99..091a5aa6eb 100644 --- a/examples/HelloWorld/JuceLibraryCode/ReadMe.txt +++ b/examples/HelloWorld/JuceLibraryCode/ReadMe.txt @@ -2,11 +2,11 @@ Important Note!! ================ -The purpose of this folder is to contain files that are auto-generated by the Introjucer, +The purpose of this folder is to contain files that are auto-generated by the Projucer, and ALL files in this folder will be mercilessly DELETED and completely re-written whenever -the Introjucer saves your project. +the Projucer saves your project. Therefore, it's a bad idea to make any manual changes to the files in here, or to put any of your own files in here if you don't want to lose them. (Of course you may choose to add the folder's contents to your version-control system so that you can re-merge your own -modifications after the Introjucer has saved its changes). +modifications after the Projucer has saved its changes). diff --git a/examples/HelloWorld/JuceLibraryCode/juce_core.cpp b/examples/HelloWorld/JuceLibraryCode/juce_core.cpp new file mode 100644 index 0000000000..d0ce1636f0 --- /dev/null +++ b/examples/HelloWorld/JuceLibraryCode/juce_core.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/HelloWorld/JuceLibraryCode/juce_core.mm b/examples/HelloWorld/JuceLibraryCode/juce_core.mm new file mode 100644 index 0000000000..72b10bf817 --- /dev/null +++ b/examples/HelloWorld/JuceLibraryCode/juce_core.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/HelloWorld/JuceLibraryCode/juce_data_structures.cpp b/examples/HelloWorld/JuceLibraryCode/juce_data_structures.cpp new file mode 100644 index 0000000000..9315aa1686 --- /dev/null +++ b/examples/HelloWorld/JuceLibraryCode/juce_data_structures.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/HelloWorld/JuceLibraryCode/juce_data_structures.mm b/examples/HelloWorld/JuceLibraryCode/juce_data_structures.mm new file mode 100644 index 0000000000..695ec43925 --- /dev/null +++ b/examples/HelloWorld/JuceLibraryCode/juce_data_structures.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/HelloWorld/JuceLibraryCode/juce_events.cpp b/examples/HelloWorld/JuceLibraryCode/juce_events.cpp new file mode 100644 index 0000000000..1bba110a97 --- /dev/null +++ b/examples/HelloWorld/JuceLibraryCode/juce_events.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/HelloWorld/JuceLibraryCode/juce_events.mm b/examples/HelloWorld/JuceLibraryCode/juce_events.mm new file mode 100644 index 0000000000..4cc34fc401 --- /dev/null +++ b/examples/HelloWorld/JuceLibraryCode/juce_events.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/HelloWorld/JuceLibraryCode/juce_graphics.cpp b/examples/HelloWorld/JuceLibraryCode/juce_graphics.cpp new file mode 100644 index 0000000000..319c76de0e --- /dev/null +++ b/examples/HelloWorld/JuceLibraryCode/juce_graphics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/HelloWorld/JuceLibraryCode/juce_graphics.mm b/examples/HelloWorld/JuceLibraryCode/juce_graphics.mm new file mode 100644 index 0000000000..b28e6dd056 --- /dev/null +++ b/examples/HelloWorld/JuceLibraryCode/juce_graphics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/HelloWorld/JuceLibraryCode/juce_gui_basics.cpp b/examples/HelloWorld/JuceLibraryCode/juce_gui_basics.cpp new file mode 100644 index 0000000000..216c76bb05 --- /dev/null +++ b/examples/HelloWorld/JuceLibraryCode/juce_gui_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/HelloWorld/JuceLibraryCode/juce_gui_basics.mm b/examples/HelloWorld/JuceLibraryCode/juce_gui_basics.mm new file mode 100644 index 0000000000..6a9726fa5f --- /dev/null +++ b/examples/HelloWorld/JuceLibraryCode/juce_gui_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/HelloWorld/JuceLibraryCode/juce_gui_extra.cpp b/examples/HelloWorld/JuceLibraryCode/juce_gui_extra.cpp new file mode 100644 index 0000000000..7226e19833 --- /dev/null +++ b/examples/HelloWorld/JuceLibraryCode/juce_gui_extra.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/HelloWorld/JuceLibraryCode/juce_gui_extra.mm b/examples/HelloWorld/JuceLibraryCode/juce_gui_extra.mm new file mode 100644 index 0000000000..c9b6c3bfc6 --- /dev/null +++ b/examples/HelloWorld/JuceLibraryCode/juce_gui_extra.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/HelloWorld/JuceLibraryCode/modules/juce_core/juce_core.h b/examples/HelloWorld/JuceLibraryCode/modules/juce_core/juce_core.h deleted file mode 100644 index 06e88f9352..0000000000 --- a/examples/HelloWorld/JuceLibraryCode/modules/juce_core/juce_core.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_core/juce_core.h" diff --git a/examples/HelloWorld/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h b/examples/HelloWorld/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h deleted file mode 100644 index 9d814fd953..0000000000 --- a/examples/HelloWorld/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_data_structures/juce_data_structures.h" diff --git a/examples/HelloWorld/JuceLibraryCode/modules/juce_events/juce_events.h b/examples/HelloWorld/JuceLibraryCode/modules/juce_events/juce_events.h deleted file mode 100644 index 509b1df8d2..0000000000 --- a/examples/HelloWorld/JuceLibraryCode/modules/juce_events/juce_events.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_events/juce_events.h" diff --git a/examples/HelloWorld/JuceLibraryCode/modules/juce_graphics/juce_graphics.h b/examples/HelloWorld/JuceLibraryCode/modules/juce_graphics/juce_graphics.h deleted file mode 100644 index 28edbf35e3..0000000000 --- a/examples/HelloWorld/JuceLibraryCode/modules/juce_graphics/juce_graphics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_graphics/juce_graphics.h" diff --git a/examples/HelloWorld/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h b/examples/HelloWorld/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h deleted file mode 100644 index 81ad4b7297..0000000000 --- a/examples/HelloWorld/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_gui_basics/juce_gui_basics.h" diff --git a/examples/HelloWorld/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h b/examples/HelloWorld/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h deleted file mode 100644 index 5c9b7a96b5..0000000000 --- a/examples/HelloWorld/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_gui_extra/juce_gui_extra.h" diff --git a/examples/HelloWorld/Source/MainComponent.cpp b/examples/HelloWorld/Source/MainComponent.cpp index 824418dbc0..883dd026f1 100644 --- a/examples/HelloWorld/Source/MainComponent.cpp +++ b/examples/HelloWorld/Source/MainComponent.cpp @@ -1,17 +1,17 @@ /* ============================================================================== - This is an automatically generated GUI class created by the Introjucer! + This is an automatically generated GUI class created by the Projucer! Be careful when adding custom code to these files, as only the code within the "//[xyz]" and "//[/xyz]" sections will be retained when the file is loaded and re-saved. - Created with Introjucer version: 3.1.0 + Created with Projucer version: 4.2.0 ------------------------------------------------------------------------------ - The Introjucer is part of the JUCE library - "Jules' Utility Class Extensions" + The Projucer is part of the JUCE library - "Jules' Utility Class Extensions" Copyright (c) 2015 - ROLI Ltd. ============================================================================== @@ -127,9 +127,9 @@ void MainComponent::buttonClicked (Button* buttonThatWasClicked) //============================================================================== #if 0 -/* -- Introjucer information section -- +/* -- Projucer information section -- - This is where the Introjucer stores the metadata that describe this GUI layout, so + This is where the Projucer stores the metadata that describe this GUI layout, so make changes in here at your peril! BEGIN_JUCER_METADATA diff --git a/examples/HelloWorld/Source/MainComponent.h b/examples/HelloWorld/Source/MainComponent.h index 8f9fc376bb..9be666afe7 100644 --- a/examples/HelloWorld/Source/MainComponent.h +++ b/examples/HelloWorld/Source/MainComponent.h @@ -1,17 +1,17 @@ /* ============================================================================== - This is an automatically generated GUI class created by the Introjucer! + This is an automatically generated GUI class created by the Projucer! Be careful when adding custom code to these files, as only the code within the "//[xyz]" and "//[/xyz]" sections will be retained when the file is loaded and re-saved. - Created with Introjucer version: 3.1.0 + Created with Projucer version: 4.2.0 ------------------------------------------------------------------------------ - The Introjucer is part of the JUCE library - "Jules' Utility Class Extensions" + The Projucer is part of the JUCE library - "Jules' Utility Class Extensions" Copyright (c) 2015 - ROLI Ltd. ============================================================================== diff --git a/examples/HelloWorld/readme.txt b/examples/HelloWorld/readme.txt deleted file mode 100644 index 16cca8c526..0000000000 --- a/examples/HelloWorld/readme.txt +++ /dev/null @@ -1,5 +0,0 @@ - -This directory contains simple "Hello World" type projects that you can copy and alter to -quickly create a JUCE application. - -For a more complete example, see the Juce demo app. diff --git a/examples/MPETest/Builds/LinuxMakefile/Makefile b/examples/MPETest/Builds/LinuxMakefile/Makefile index a8e2c8dcfe..992c4df718 100644 --- a/examples/MPETest/Builds/LinuxMakefile/Makefile +++ b/examples/MPETest/Builds/LinuxMakefile/Makefile @@ -1,5 +1,5 @@ -# Automatically generated makefile, created by the Introjucer -# Don't edit this file! Your changes will be overwritten when you re-save the Introjucer project! +# Automatically generated makefile, created by the Projucer +# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project! # (this disables dependency generation if multiple architectures are set) DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) @@ -50,20 +50,20 @@ endif OBJECTS := \ $(OBJDIR)/Main_90ebc5c2.o \ - $(OBJDIR)/juce_audio_basics_399a455e.o \ - $(OBJDIR)/juce_audio_devices_c1c9ba9c.o \ - $(OBJDIR)/juce_audio_formats_f04b043c.o \ - $(OBJDIR)/juce_audio_processors_eb9ae116.o \ - $(OBJDIR)/juce_audio_utils_cf18005c.o \ - $(OBJDIR)/juce_core_1ee54a40.o \ - $(OBJDIR)/juce_cryptography_3b1f489a.o \ - $(OBJDIR)/juce_data_structures_84790dfc.o \ - $(OBJDIR)/juce_events_584896b4.o \ - $(OBJDIR)/juce_graphics_f9afc18.o \ - $(OBJDIR)/juce_gui_basics_90929794.o \ - $(OBJDIR)/juce_gui_extra_b81d9e1c.o \ - $(OBJDIR)/juce_opengl_1890bee0.o \ - $(OBJDIR)/juce_video_86a19d3c.o \ + $(OBJDIR)/juce_audio_basics_6b797ca1.o \ + $(OBJDIR)/juce_audio_devices_a742c38b.o \ + $(OBJDIR)/juce_audio_formats_5a29c68a.o \ + $(OBJDIR)/juce_audio_processors_dea3173d.o \ + $(OBJDIR)/juce_audio_utils_c7eb679f.o \ + $(OBJDIR)/juce_core_75b14332.o \ + $(OBJDIR)/juce_cryptography_6de2ebff.o \ + $(OBJDIR)/juce_data_structures_72d3da2c.o \ + $(OBJDIR)/juce_events_d2be882c.o \ + $(OBJDIR)/juce_graphics_9c18891e.o \ + $(OBJDIR)/juce_gui_basics_8a6da59c.o \ + $(OBJDIR)/juce_gui_extra_4a026f23.o \ + $(OBJDIR)/juce_opengl_cd70b4c2.o \ + $(OBJDIR)/juce_video_f128c512.o \ .PHONY: clean @@ -87,72 +87,72 @@ $(OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp @echo "Compiling Main.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_basics_399a455e.o: ../../../../modules/juce_audio_basics/juce_audio_basics.cpp +$(OBJDIR)/juce_audio_basics_6b797ca1.o: ../../JuceLibraryCode/juce_audio_basics.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_audio_basics.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_devices_c1c9ba9c.o: ../../../../modules/juce_audio_devices/juce_audio_devices.cpp +$(OBJDIR)/juce_audio_devices_a742c38b.o: ../../JuceLibraryCode/juce_audio_devices.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_audio_devices.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_formats_f04b043c.o: ../../../../modules/juce_audio_formats/juce_audio_formats.cpp +$(OBJDIR)/juce_audio_formats_5a29c68a.o: ../../JuceLibraryCode/juce_audio_formats.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_audio_formats.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_processors_eb9ae116.o: ../../../../modules/juce_audio_processors/juce_audio_processors.cpp +$(OBJDIR)/juce_audio_processors_dea3173d.o: ../../JuceLibraryCode/juce_audio_processors.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_audio_processors.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_utils_cf18005c.o: ../../../../modules/juce_audio_utils/juce_audio_utils.cpp +$(OBJDIR)/juce_audio_utils_c7eb679f.o: ../../JuceLibraryCode/juce_audio_utils.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_audio_utils.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_core_1ee54a40.o: ../../../../modules/juce_core/juce_core.cpp +$(OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_core.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_cryptography_3b1f489a.o: ../../../../modules/juce_cryptography/juce_cryptography.cpp +$(OBJDIR)/juce_cryptography_6de2ebff.o: ../../JuceLibraryCode/juce_cryptography.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_cryptography.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_data_structures_84790dfc.o: ../../../../modules/juce_data_structures/juce_data_structures.cpp +$(OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_data_structures.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_events_584896b4.o: ../../../../modules/juce_events/juce_events.cpp +$(OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_events.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_graphics_f9afc18.o: ../../../../modules/juce_graphics/juce_graphics.cpp +$(OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_graphics.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_basics_90929794.o: ../../../../modules/juce_gui_basics/juce_gui_basics.cpp +$(OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_gui_basics.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_extra_b81d9e1c.o: ../../../../modules/juce_gui_extra/juce_gui_extra.cpp +$(OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_gui_extra.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_opengl_1890bee0.o: ../../../../modules/juce_opengl/juce_opengl.cpp +$(OBJDIR)/juce_opengl_cd70b4c2.o: ../../JuceLibraryCode/juce_opengl.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_opengl.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_video_86a19d3c.o: ../../../../modules/juce_video/juce_video.cpp +$(OBJDIR)/juce_video_f128c512.o: ../../JuceLibraryCode/juce_video.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_video.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" diff --git a/examples/MPETest/Builds/MacOSX/Info-App.plist b/examples/MPETest/Builds/MacOSX/Info-App.plist new file mode 100644 index 0000000000..913d638130 --- /dev/null +++ b/examples/MPETest/Builds/MacOSX/Info-App.plist @@ -0,0 +1,29 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + MPETest + CFBundleDisplayName + MPETest + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + + diff --git a/examples/MPETest/Builds/MacOSX/MPETest.xcodeproj/project.pbxproj b/examples/MPETest/Builds/MacOSX/MPETest.xcodeproj/project.pbxproj index eafcf906c3..4d9c1649cd 100644 --- a/examples/MPETest/Builds/MacOSX/MPETest.xcodeproj/project.pbxproj +++ b/examples/MPETest/Builds/MacOSX/MPETest.xcodeproj/project.pbxproj @@ -6,6 +6,7 @@ objectVersion = 46; objects = { + 5345B11540AF5F39D65F975D = {isa = PBXBuildFile; fileRef = BCC50B48B1A4B967949B2DB2; }; CE2807371257B52B1D2B06E0 = {isa = PBXBuildFile; fileRef = D8FF2E14B072C8B9544C95BF; }; 189A987224B9646B9AA0D399 = {isa = PBXBuildFile; fileRef = C64527E74752ECF0B056A9F5; }; 354BBD7645C4F76503133A20 = {isa = PBXBuildFile; fileRef = 90E350DA6DF0535788EDA0C7; }; @@ -21,27 +22,26 @@ 8489C516E3B50AC1AF94A2B7 = {isa = PBXBuildFile; fileRef = A373D65BDAB25C19EC6A05AE; }; B911480598E3B26D6C5CD121 = {isa = PBXBuildFile; fileRef = 563C94CB5AD0F745076DF69B; }; 9624DEADA1180DF1694DC960 = {isa = PBXBuildFile; fileRef = 24A91402E8066EE92308ED53; }; - 11799C013AE3020D49E30FAA = {isa = PBXBuildFile; fileRef = 38E1ABBD84C884FA0415656D; }; - 1D658D4157BE1B43D8479B90 = {isa = PBXBuildFile; fileRef = 832DA01918B8312FEC0909CB; }; - BACF830AD2D2A4A355CF6416 = {isa = PBXBuildFile; fileRef = 9A95B88EAC68EEDBB4A6EA80; }; - 40CE4D54E8E5C3D69BE6B28A = {isa = PBXBuildFile; fileRef = 08DC2C6ABC78DEA6ADDA07C7; }; - 3BE3610CFA0A5492C15C2B28 = {isa = PBXBuildFile; fileRef = E121AC6E7E98A5CAFDA979A5; }; - 3554BDF7A9BA55927CE0EEC2 = {isa = PBXBuildFile; fileRef = 25B67ED795BC11D69805D4A8; }; - FC8EF6180A541E21AFA8B61D = {isa = PBXBuildFile; fileRef = C6CE8E894E9EF9F77754F88C; }; - 0ACA2AC433B06D3C3F0E8437 = {isa = PBXBuildFile; fileRef = 6EC90B8CF8A53493F8D3AA92; }; - BCCD66263B8293322F1DF6AC = {isa = PBXBuildFile; fileRef = EA74FE68F55905DCC00E5F9B; }; - C08120E7D42077C188537D18 = {isa = PBXBuildFile; fileRef = 81D922DED89925E8726146B5; }; - A97103497F3243952961BB2C = {isa = PBXBuildFile; fileRef = AB53E74A974E246BF80A79E6; }; - 818B6DDE1AD290C3D843D934 = {isa = PBXBuildFile; fileRef = 24F5F702BEEE4A103E7100C3; }; - 539BE2D6F29A2DEAA304A22F = {isa = PBXBuildFile; fileRef = 06993C00B6249E3DA3F7E3DD; }; - 80D9D554D874198024A99E12 = {isa = PBXBuildFile; fileRef = 84BAC21CF2D5009634F00330; }; + EF8212B417AAAAC6D3474386 = {isa = PBXBuildFile; fileRef = 09EA8A83520C46161D7D2755; }; + 4BFF94D11CECA761FBAE1410 = {isa = PBXBuildFile; fileRef = 8D176867D45798666BD95148; }; + B248A4699DD1C7BE084496C9 = {isa = PBXBuildFile; fileRef = EE3589BD41C340083AB21668; }; + 090A55AE76E27BEC1B46A0E0 = {isa = PBXBuildFile; fileRef = CBB4BEAD22FE4A4BC5B456B7; }; + F6EFFE3EBDBB88CA2039DFF1 = {isa = PBXBuildFile; fileRef = 7E2D734218F1780FF00CC3DD; }; + FED952CF0E36265BDC5C64D0 = {isa = PBXBuildFile; fileRef = 7732B295AF2A31839AD666D2; }; + C83469ECA9E515BB6A6003DD = {isa = PBXBuildFile; fileRef = 3404A775416CF91F09044336; }; + FFD41327C4CC72462DE84C45 = {isa = PBXBuildFile; fileRef = 174DD4CF66CC36E022366266; }; + 7C01930A2D6F582A673AC729 = {isa = PBXBuildFile; fileRef = 946C518BCB0E0B0E6ACF32FC; }; + 1875F88D7DFC67ECA1B5888E = {isa = PBXBuildFile; fileRef = A78BFF5030E777226A4E8302; }; + 43F0DC0302D8F7A849E988D4 = {isa = PBXBuildFile; fileRef = D649919726F44392C046D2E6; }; + 2D9BD6F79DF48E6F11A11BA7 = {isa = PBXBuildFile; fileRef = C1C8087ECE896B20639D5F49; }; + BAFF5EA46ACD90DFDEBC1BF5 = {isa = PBXBuildFile; fileRef = A3D61FF6E3B3F021C831EDC9; }; + 331F98DC960CAC10477E6694 = {isa = PBXBuildFile; fileRef = 58CFF4841F9D78B1C0641C0C; }; 001595A5B01C0F1EBB38054F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODeviceType.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp"; sourceTree = "SOURCE_ROOT"; }; 002DBBBB1D4CAA23FF7991DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; 00331FA93EEBE239AAF33926 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiInput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h"; sourceTree = "SOURCE_ROOT"; }; 00643E30A5A0B008BE0F35CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 00AF9FA396C820CB31276ADA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; }; 0165787521D72C0F5D608B29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleMessageComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 01982E7F111EA0F64A134DAB = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_processors/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 020EE4DB59648F4FB8516FA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 02570D7EEA9EECE2355D09A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; 02AF229CB188EEBE3B0213B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiRPN.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h"; sourceTree = "SOURCE_ROOT"; }; @@ -57,7 +57,6 @@ 0591FF86C4D808638C1E1B31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; 05B043441E6AD4C671E76907 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; }; 063919C782AAE385A7A829A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemTrayIconComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 06993C00B6249E3DA3F7E3DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../../../modules/juce_opengl/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; 07304207015792AD04B49951 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; 073B9D4A117401CAB7E589F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; 0760036B9D3615440627B5E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; }; @@ -71,11 +70,11 @@ 0892D5D2CB6A4453365FBB2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; }; 08B60F139B2A313DB825ED18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; 08D887059F6C310DDE202681 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserVoice.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h"; sourceTree = "SOURCE_ROOT"; }; - 08DC2C6ABC78DEA6ADDA07C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; 0908AC305FF07665C1ED181B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; }; 096393D9E6EBD72262AF3D77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 098829F7BA0AC367A8DBD55E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZoneLayout.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; 09D41C26F44CB7D5AE9C3303 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + 09EA8A83520C46161D7D2755 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../JuceLibraryCode/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 0A078E86A69712204CD5256A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FloatVectorOperations.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h"; sourceTree = "SOURCE_ROOT"; }; 0A5EA78978E6DAD9B563ED02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; }; 0A7749697A76FDBB036E1B55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; @@ -122,6 +121,7 @@ 16DA36707AE772CAA1B6810E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_QuickTimeMovieComponent.mm"; path = "../../../../modules/juce_video/native/juce_mac_QuickTimeMovieComponent.mm"; sourceTree = "SOURCE_ROOT"; }; 16EABF4921D82BAD71BB7AB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 170C1744EC38808860EC5FF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; }; + 174DD4CF66CC36E022366266 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; 1768D1D4C1D416203C163E00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLContext.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h"; sourceTree = "SOURCE_ROOT"; }; 17AB90878E18D665B5F05E1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; 1840BA14C3C29EF2AF08434B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -168,12 +168,10 @@ 2481B3B84FE81519A2FCE441 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; }; 2484173D7D4BA02BB498C49E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; 24A91402E8066EE92308ED53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = "SOURCE_ROOT"; }; - 24F5F702BEEE4A103E7100C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; 24F636F42CCC4684B24491B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CameraDevice.mm"; path = "../../../../modules/juce_video/native/juce_mac_CameraDevice.mm"; sourceTree = "SOURCE_ROOT"; }; 252D26C60E79A2C069E172E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; }; 25679A32335DD3ADDA3902E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; }; 25908D5017FC87CB6E801484 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; }; - 25B67ED795BC11D69805D4A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; 25CFE2B2F50BF6AC1F57C0CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChannelRemappingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 260FF0356209F0FAC5EF72F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; }; 2711898DEDADE22BFD3A59E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; }; @@ -215,6 +213,7 @@ 32E90C7EB3FED091E0719B69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; }; 32FB34EFF836CC859B88D59A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; 334367A18F54C928DC48ACA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODevice.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3404A775416CF91F09044336 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../JuceLibraryCode/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; 34A028F41F6B89FE6879A252 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 34A2FB33D2EEC064397B7531 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; 34CDFC07974C484C788CCEF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; }; @@ -226,7 +225,6 @@ 35B0BB5C14EA49DAB3BFC581 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceSelectorComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h"; sourceTree = "SOURCE_ROOT"; }; 360380932997DAF4065415CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; 365216CCA2790E551A56CCCD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiser.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h"; sourceTree = "SOURCE_ROOT"; }; - 365B29176E55C070CD0A9F5A = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = "SOURCE_ROOT"; }; 368ACA792AA63A2A353D9241 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarComponent.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h"; sourceTree = "SOURCE_ROOT"; }; 36EBA0C5C75594F6432CAA0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; 3729299D2A64E43C1F08345D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; @@ -237,7 +235,6 @@ 388594124789651D112746E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 38B43C95BCC69F232C7A941D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 38C6EF1A2390CCC6DC9F9307 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; }; - 38E1ABBD84C884FA0415656D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 38E9379C8C6490ED44B87159 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterFloat.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h"; sourceTree = "SOURCE_ROOT"; }; 39044A002A444195B2A5350E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 391416CDD6D0F5ED2F788D1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -271,7 +268,6 @@ 3FC1061502C287C1D0099B21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceManager.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 3FD9075B28C4450CFC36F949 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BlowFish.h"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.h"; sourceTree = "SOURCE_ROOT"; }; 405855C9B41EB9CAC7DDDD17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 40596589E6A4CA47E84EE943 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_utils/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 4129D412D114068734D0831B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Files.cpp"; path = "../../../../modules/juce_core/native/juce_android_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; 418A6B140F02F7642B04C53D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginListComponent.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h"; sourceTree = "SOURCE_ROOT"; }; 42371152802017F57D1D7E7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -314,9 +310,7 @@ 4A83BA7F930D8A2D7377C4F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; }; 4B3B9FF56E20E06A7CCA6EBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; }; 4B6C721DBA89F46FB5134D7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 4C5018AA4799F86499662B0E = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 4C66A0301EF302CE34C09C92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4CD401D9D010608EA9D68C35 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_devices/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 4D082B7993A7A8B7A84E5AA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; }; 4DB650E1059524F73A732BC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_video.h"; path = "../../../../modules/juce_video/juce_video.h"; sourceTree = "SOURCE_ROOT"; }; 4DFE65A65E05E238FE866846 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -336,7 +330,6 @@ 5242C34113987084B2A220E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; 5296588DFEE115D050FFDBE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailBase.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailBase.h"; sourceTree = "SOURCE_ROOT"; }; 52C3173E0EE9C79C08C5DDFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; }; - 53111224BD873CB59FD4E6AD = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 5349789C9506EED7C8705BC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; }; 53679FA0362E193DBB53E5B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputStream.h"; path = "../../../../modules/juce_core/streams/juce_InputStream.h"; sourceTree = "SOURCE_ROOT"; }; 539990B2CDD50F397B743256 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; }; @@ -358,6 +351,7 @@ 575C1AF87615D28A9766B9EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 576F07120DA4768B0CB14570 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 58587BC050F0D9A45940FE62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODeviceType.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h"; sourceTree = "SOURCE_ROOT"; }; + 58CFF4841F9D78B1C0641C0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../JuceLibraryCode/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; 58DC77B1478A9F35AC2DFB36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 594503FB43ADDEB6168FEC32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MissingGLDefinitions.h"; path = "../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h"; sourceTree = "SOURCE_ROOT"; }; 59746D5A7A92DEA51E39AC29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemFactory.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h"; sourceTree = "SOURCE_ROOT"; }; @@ -401,7 +395,6 @@ 641800593DAE412AA2630600 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; }; 64CE05BF5F2A115665AFE76B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_File.h"; path = "../../../../modules/juce_core/files/juce_File.h"; sourceTree = "SOURCE_ROOT"; }; 652B01D78B35590B9ECA9592 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; }; - 6572780DEF7C396030F7E88F = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_formats/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 6583002220C32FC6E2ABC427 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnection.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp"; sourceTree = "SOURCE_ROOT"; }; 662F9B9615942BB97D1C50C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; }; 6651651E2DB80985AE11BC2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Sampler.h"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.h"; sourceTree = "SOURCE_ROOT"; }; @@ -410,7 +403,6 @@ 6706AC981DAB99A2716BD5A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; }; 670D4EE6E16AB62126E09DE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterInt.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h"; sourceTree = "SOURCE_ROOT"; }; 6715F6B8526A84C7D7F96130 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; - 676612F907956EE00D5C9856 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_video/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 6827D79ECEE15C9A98A6B135 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; }; 683ABA8E00BCCEDDCABDE1A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; }; 6847021E92EA605C660B2E95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserBase.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h"; sourceTree = "SOURCE_ROOT"; }; @@ -433,7 +425,6 @@ 6E74B73FC38D61B2E9838178 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; }; 6E993A8C1ED9ECC3852FE787 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 6E9C575B96F65E6DDD4F62B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTMidiEventList.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h"; sourceTree = "SOURCE_ROOT"; }; - 6EC90B8CF8A53493F8D3AA92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; 6EEB164FC6C3D32E231A15C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; }; 6F47E5D0F6E40ED2846E6572 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; }; 6F70AE9408F0C6C37FBC2824 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_android.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_android.h"; sourceTree = "SOURCE_ROOT"; }; @@ -465,6 +456,7 @@ 76A004283D71BFD31D9ACB8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; }; 76DFDF2933729C113013EA3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleComponent.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 772FC3C9E091EF0A66C077C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorGraph.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7732B295AF2A31839AD666D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; 77831CE7DF0F7C089A0E8EC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_QuickTimeMovieComponent.cpp"; path = "../../../../modules/juce_video/native/juce_win32_QuickTimeMovieComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 77BDC4AE92BEEEFA03C6C05D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; }; 77DA69E8D9174B38C4F330EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -488,6 +480,7 @@ 7CCCB8DF5D4F39091A296F19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; }; 7DBF72CA0BAF975B3CCCB4CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CatmullRomInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; 7DCDF71BCE61BDA76974A47E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7E2D734218F1780FF00CC3DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../JuceLibraryCode/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; }; 7E380BA307E4A53923F32491 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_utils.h"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.h"; sourceTree = "SOURCE_ROOT"; }; 7E3D799471D4CEFDA9559628 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MarkerList.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h"; sourceTree = "SOURCE_ROOT"; }; 7E8ECB3FC70DFC32CC40E487 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -503,17 +496,14 @@ 814EF966AA71A45BCC8C4A30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; }; 81531B2A0B3EFDF3AA98F33A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; }; 81979AE0B2796459699657AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; }; - 81D922DED89925E8726146B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; 821E625B06C44D6189F224D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; }; 829C1B8BE77DFC515A7AA26D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; }; 82AB090E4FDB3EE467CC1D5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LAMEEncoderAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - 832DA01918B8312FEC0909CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; 83A6706DABCA6472080498B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathIterator.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; 83AE6F73E2AB5E8368098F82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; }; 83EB1BA403786C5C84D79B31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Slider.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp"; sourceTree = "SOURCE_ROOT"; }; 845F400AE7591D486FD12323 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Desktop.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.cpp"; sourceTree = "SOURCE_ROOT"; }; 847246F31A8A11B09027094D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; }; - 84BAC21CF2D5009634F00330 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../../../modules/juce_video/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; 84BDA14D7DC9213E854ACD09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; }; 84F8234BF77E0D6A16945175 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 8522BED67A89A1DFEAE4FD54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; }; @@ -547,6 +537,7 @@ 8C557330D246823A53B449A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; }; 8C6D860D00B9D27F59BE688A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatManager.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 8D0FED07A31C8C9F84ECDAD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WebBrowserComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 8D176867D45798666BD95148 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../JuceLibraryCode/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; 8D2FC9A82A2C76FAB8AFA963 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; 8D4C070861B82AC3C9018A6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; }; 8D9DDE982773DF3829A5D2EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST3PluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -573,6 +564,7 @@ 93841F898FCD5F4D7E8DBCE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; 93E62B431FD26A26B8955220 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 94326617CCCB546B084196BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; }; + 946C518BCB0E0B0E6ACF32FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; 94F9D3988E9B53DA9BC5F37B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 95166B9DCE9F8F0C5704AAFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLContext.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp"; sourceTree = "SOURCE_ROOT"; }; 9599D7A27E31328EB5BAE931 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailCache.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h"; sourceTree = "SOURCE_ROOT"; }; @@ -592,7 +584,6 @@ 99BFCDD644103FBB6DB8C288 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h"; sourceTree = "SOURCE_ROOT"; }; 9A24B551B171C6CE823CC0E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; 9A345A87139ECBCED9ECED0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9A95B88EAC68EEDBB4A6EA80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; 9AB400909E97F5649F5A99A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; }; 9AB9C86B8CA403F869AE410A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; 9B06BBF43F6B0721E7616790 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -626,7 +617,6 @@ A0C842CBFBEF097902336B9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; }; A0D33AB1C8AEDB4245670498 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPress.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h"; sourceTree = "SOURCE_ROOT"; }; A10C76922D7BDC73DF81540D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentPeer.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h"; sourceTree = "SOURCE_ROOT"; }; - A11E58F0D28254BF0C5E6CBC = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_data_structures/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; A13E91A475BACB16352E4536 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; sourceTree = "SOURCE_ROOT"; }; A1697BA9955319A199576BC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; }; A197C8251B7D0C4E6F502433 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; @@ -638,6 +628,7 @@ A353726F76D426E1528DF4E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEInstrument.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp"; sourceTree = "SOURCE_ROOT"; }; A373D65BDAB25C19EC6A05AE = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; A39AD70F4C86A88879AEE98E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; }; + A3D61FF6E3B3F021C831EDC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../JuceLibraryCode/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; A441178DDFDC6458E849F535 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioVisualiserComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.h"; sourceTree = "SOURCE_ROOT"; }; A4C684C69EC69A6FCA57E4F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; }; A4D41578D2FC92EBF6D6157F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -652,10 +643,11 @@ A67CA597C2F003ACCB9C931D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; }; A68450207C4150B561E61A30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDirectoryScanner.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h"; sourceTree = "SOURCE_ROOT"; }; A6A60C3C36A7788E8226E80D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; - A6BC9FC87555B39B73778711 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_graphics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; A6C0EBBD5187121DDE0C45AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; }; A77C703EF249E18E4314B50B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; }; A77D3FB03D23EC79D35A3583 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LADSPAPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + A78BFF5030E777226A4E8302 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../JuceLibraryCode/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; + A7A229511154A5A91A29958D = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-App.plist"; path = "Info-App.plist"; sourceTree = "SOURCE_ROOT"; }; A802D4B2EC2895FC9409844A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiFile.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.h"; sourceTree = "SOURCE_ROOT"; }; A808793AE99B03FF99E3FADA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLImage.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLImage.cpp"; sourceTree = "SOURCE_ROOT"; }; A816E22F2317F3AB90262CB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -669,7 +661,6 @@ AB1DE39BFBA22179B919703B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ZoneLayoutComponent.h; path = ../../Source/ZoneLayoutComponent.h; sourceTree = "SOURCE_ROOT"; }; AB209E34B329FDEFA3032277 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameterWithID.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h"; sourceTree = "SOURCE_ROOT"; }; AB25A2883C749400DBBD2F3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; }; - AB53E74A974E246BF80A79E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; AC3A1878FFA5E36CC67EF642 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VSTPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; AC410B09B6B19E3DBFA81342 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; }; ACC491D8A1B67C3214E49DE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MPEDemoSynthVoice.h; path = ../../Source/MPEDemoSynthVoice.h; sourceTree = "SOURCE_ROOT"; }; @@ -741,6 +732,7 @@ BC379633DCC75D8A5F2582D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; }; BC44D402B4EC2091612352B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; }; BCC009DED67EBAE7E35C74DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; }; + BCC50B48B1A4B967949B2DB2 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MPETest.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; BCCBB4E9E23CF1A2376675E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; BCCD4D99EC4AAD2FB7DBCEF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; }; BCF92E9C27C5F13C1CECF184 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PositionableAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; @@ -757,6 +749,7 @@ C034BC82CE4EB8F2568629E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; }; C0624E7928A6685285622AA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_CameraDevice.cpp"; path = "../../../../modules/juce_video/native/juce_android_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; C0636FF79924D1DE1FC5F8CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; }; + C1C8087ECE896B20639D5F49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; C1CDE97113A08C356493680A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; }; C22D2E1636E4E08CCC2A30CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; }; C27C6E28C83CFDDE48D68C36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -768,11 +761,9 @@ C495993112F10E9129851E8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; C580FA81A05C83C55A6C47F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiser.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; C5B2445A0F393620939C2EE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; }; - C6072BB69D5A3F12142BC115 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_extra/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; C622457017D7A56DC4C7FC67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; }; C63E20DAEDFA5299CE44D5B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; C64527E74752ECF0B056A9F5 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; - C6CE8E894E9EF9F77754F88C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../../../modules/juce_cryptography/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; C6D05CB8E473C762FB2FCD7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableEdgeComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; C6E0CA97537C58A56F34EA44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; C6E0CF2ABA1A9BA45B0AED68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -789,6 +780,7 @@ CAE879F535FD4BCC9DD18A96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; }; CB0C9A0921B30250FE6A1E31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; CB833C35F124FADDB489217A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; }; + CBB4BEAD22FE4A4BC5B456B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../JuceLibraryCode/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; CC2A62060FD202B17EACBC03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MP3AudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; CD0684C129832B1A2C6AE8E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; CD309FAA7F85CA991A489A08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -822,6 +814,7 @@ D424D907C93822CBBABB39D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Matrix3D.h"; path = "../../../../modules/juce_opengl/geometry/juce_Matrix3D.h"; sourceTree = "SOURCE_ROOT"; }; D48FE428CE33968C024759F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDirectoryScanner.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp"; sourceTree = "SOURCE_ROOT"; }; D5CFFAB59CC287F87A6F67BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Common.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h"; sourceTree = "SOURCE_ROOT"; }; + D649919726F44392C046D2E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; D665353CD91C952945B5C0CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioVisualiserComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; D690112A5DB4AC36AE518836 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLExtensions.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h"; sourceTree = "SOURCE_ROOT"; }; D69B16D06E21D1FBEA756A3D = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; @@ -871,7 +864,6 @@ E026A53FF9F9EF195C0EE710 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; E0513862E1966494CD8EC68A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlacAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; E0AFFDE86D2593F1FF21FEFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; - E121AC6E7E98A5CAFDA979A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; }; E1CB32FBE6F6E310599E2D26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; }; E1E2599D827CB64258EC9EB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; E1EFD62896E03997AD0B77AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GroupComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -905,11 +897,9 @@ E853BEF233C01DBAFE0DDD63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; E8669227B7C5605F03DB0218 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BooleanPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; E8859539419AFAB74AD0E592 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLShaderProgram.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h"; sourceTree = "SOURCE_ROOT"; }; - E8BF6B3522E318AF306DB68D = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_events/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; E903BD2C42BC73A2D07B2D56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; }; E9812566DAAA2B50B3A21FBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; }; EA305103C28E10C02723A54C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; - EA74FE68F55905DCC00E5F9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; EB151DF44C739572E4BC1E16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyListener.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h"; sourceTree = "SOURCE_ROOT"; }; EB9428C401AEE0E7D09B5566 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; }; EBDAA7D47F11011A2332666C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LeakedObjectDetector.h"; path = "../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h"; sourceTree = "SOURCE_ROOT"; }; @@ -921,6 +911,7 @@ EDEA57CD386F98DE9E17C6BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MD5.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_MD5.cpp"; sourceTree = "SOURCE_ROOT"; }; EDF6D41F0DD4DAC224C6BCC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; }; EE25A55A433D3F49D9CEB7E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + EE3589BD41C340083AB21668 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../JuceLibraryCode/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; EE7FAEA30D9CE2164584A78A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; EEAA56CA1D734C607F3CDDA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLTexture.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.h"; sourceTree = "SOURCE_ROOT"; }; EED0A429D445855F953C216C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; }; @@ -928,11 +919,9 @@ EF5C5733F527839385058414 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; F008D0FCAC412A662ACF8CE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; }; F038C05A3CE96C4713D2A1C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; - F069C0B7A0FA2E1ABCDDCC59 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_cryptography/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; F0FDA8930B43FE5CB66D6CB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; }; F10DC52CBB1B254FC223A215 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; F1DB507A323F101AF64C0BD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; }; - F229305EABC54A0360E3F43D = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_core/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; F234E0468AAAF83CC3181F58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; }; F242D93EC6CECD96C182FFEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; }; F244FC45098CF46687C0437E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiBuffer.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -942,7 +931,9 @@ F339D1DFAAD5B0D011B72AC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZone.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.cpp"; sourceTree = "SOURCE_ROOT"; }; F34AF47FEC2C9342DBA43833 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; }; F40683744DB687F8B72C133C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + F43667EA56F363AEB2B05633 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; }; F4479BE62D0A08B4D2C02DB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + F4515E036F6B680D6D6DC8C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; }; F47E8376EC7BDC4528239031 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BlowFish.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp"; sourceTree = "SOURCE_ROOT"; }; F4EF587736A179433A6784CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; }; F6346CA0038C6218ACC926B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -951,25 +942,21 @@ F6B60D635CDCF67189D36226 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; F6B6B1365187B9519FC0A206 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RSAKey.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp"; sourceTree = "SOURCE_ROOT"; }; F7369DF5ABFBA560A5FD5E71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioUnitPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; - F7E832627C87C46DCDFEE64C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MainComponent.h; path = ../../Source/MainComponent.h; sourceTree = "SOURCE_ROOT"; }; - FC7EF3CDEE50B555E15E362D = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; - F2F5F067109EB7C9537DD9AD = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MPETest.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; - F43667EA56F363AEB2B05633 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; }; - F4515E036F6B680D6D6DC8C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; }; F7ACBF56597C2D60F4795F64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; }; + F7E832627C87C46DCDFEE64C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MainComponent.h; path = ../../Source/MainComponent.h; sourceTree = "SOURCE_ROOT"; }; F870C5032CF4205C73C7D6BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; F8A78774C3D5B868C9B284F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; F8C9CB0B192609E85304CFD1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; F966FD65D75BE3D11D0C5FF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; F99DE3F007FFF9F697C63849 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; }; F9AAC643E9F18D7EFB610EF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; }; - F9F9A26F9FF90E3D18275949 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_opengl/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; FA161FD5E96B2B2115B6476D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; }; FA41FA5168778882CD66481B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Component.cpp"; sourceTree = "SOURCE_ROOT"; }; FA6C06C38C3B71CDA2D8919A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; FBA1D6C3F0CE4D37146DDE37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; }; FBA615F612FB406896AEFE5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; }; FC14C5899F93765A74125329 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormatManager.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; + FC7EF3CDEE50B555E15E362D = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; FC847EE9B175571189CEB522 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; FC90CD1022F5AEDEAB769D66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; }; FD0A0A1DBC1E2CEF451EB097 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -1073,9 +1060,12 @@ 9BCB14578B2C8CC21FDA6382, 40898647F35D01F6A2699106, 4E643F9CD9EE691AE833B64B, - 4C5018AA4799F86499662B0E, 9EE84FBC6D21836516BE409A, ); name = "juce_audio_basics"; sourceTree = ""; }; - 4E68B457C9E7F2B65A5B88DA = {isa = PBXGroup; children = ( + FEC33CE472E18F890322C300 = {isa = PBXGroup; children = ( + 49E4C6DD3893245B406C90BB, + E0AFFDE86D2593F1FF21FEFC, + 5A28DED9BBEDC2E03C6AECFB, ); name = "audio_cd"; sourceTree = ""; }; + 353D53348631342E3124B35A = {isa = PBXGroup; children = ( 3FC1061502C287C1D0099B21, 44E830CE4F46500243B0F095, 334367A18F54C928DC48ACA8, @@ -1083,22 +1073,13 @@ 001595A5B01C0F1EBB38054F, 58587BC050F0D9A45940FE62, 570B9DC717F39CD9455B6A4C, ); name = "audio_io"; sourceTree = ""; }; - 8163EFE6597F8420428189E3 = {isa = PBXGroup; children = ( + 68D9375AB2026225B9CD9A9B = {isa = PBXGroup; children = ( 00331FA93EEBE239AAF33926, 4F371455D5C271A26FB4272C, 0AB0EB7DB8293C2AB03F001B, 5F5EC6184D029A61D4EAFEB4, 0ED6AF00F8FD440991D6E9B4, ); name = "midi_io"; sourceTree = ""; }; - BFE026E2BC00A379694115B9 = {isa = PBXGroup; children = ( - C00E40B39075B28FE2A6CFA8, - 99BFCDD644103FBB6DB8C288, - D254890C63ADC9C6812BDF93, - 925C571487EEB3DCE49D5767, ); name = sources; sourceTree = ""; }; - 72B1340F1020F9087F37A76F = {isa = PBXGroup; children = ( - 49E4C6DD3893245B406C90BB, - E0AFFDE86D2593F1FF21FEFC, - 5A28DED9BBEDC2E03C6AECFB, ); name = "audio_cd"; sourceTree = ""; }; - 2B2C179AA15B3FF9075EECC3 = {isa = PBXGroup; children = ( + 3FC822C412DDD87DD2292F5D = {isa = PBXGroup; children = ( 3F38B8657F25B4ED7A44AA58, 226FD52F4533F8CE03C8DF20, 44524BF33AC80E3F57C0522B, @@ -1118,31 +1099,19 @@ A5136F150AC3C3D48C8B5BEF, 08B60F139B2A313DB825ED18, 34F6D81CDDA0736524995278, ); name = native; sourceTree = ""; }; + CB8BE58B640DC2244F13B057 = {isa = PBXGroup; children = ( + C00E40B39075B28FE2A6CFA8, + 99BFCDD644103FBB6DB8C288, + D254890C63ADC9C6812BDF93, + 925C571487EEB3DCE49D5767, ); name = sources; sourceTree = ""; }; 6FA8D51AF51DE1C29574C6FE = {isa = PBXGroup; children = ( - 4E68B457C9E7F2B65A5B88DA, - 8163EFE6597F8420428189E3, - BFE026E2BC00A379694115B9, - 72B1340F1020F9087F37A76F, - 2B2C179AA15B3FF9075EECC3, - 4CD401D9D010608EA9D68C35, + FEC33CE472E18F890322C300, + 353D53348631342E3124B35A, + 68D9375AB2026225B9CD9A9B, + 3FC822C412DDD87DD2292F5D, + CB8BE58B640DC2244F13B057, B50A8EE15B6ED3D2A655C0F4, ); name = "juce_audio_devices"; sourceTree = ""; }; - D9636748AB4515EA6F70F6F1 = {isa = PBXGroup; children = ( - 66DB34EE165CA04ACACB104D, - 55318EBDA23C2918FC8D838E, - 8C6D860D00B9D27F59BE688A, - AD47911F727BBE2907742B6C, - E6BBD52DEEF5BB309A5E0D36, - 44F7EDE4220F31B641051082, - B346F61236D50FFFAA93DB58, - B1D0E807C8AA03DCD59D95CC, - 0C03AA02839664626F4DEECB, - DE5BD7F4C4C455FAE894D657, - 3138762B0FB6AE1FEB2A444D, - 6338FC98FAF82F3C9A15E943, - 3E77C173AE32F62B892CF01F, - B84ECC2C7B1E0C5283C5DE92, - 4F7F3DF2110623AD17177CC9, ); name = format; sourceTree = ""; }; - 0FE231DB06C13D3823C690EC = {isa = PBXGroup; children = ( + 55B43E45D0C415276C789792 = {isa = PBXGroup; children = ( DB895ABF03BA62DAC80F9B7D, 1DB0E5D44E06C20E9596193D, 9241AB0AAE9428D1D3404DAE, @@ -1161,16 +1130,48 @@ 1D766E0719754559EDA33816, E1E2599D827CB64258EC9EB0, 0A7749697A76FDBB036E1B55, ); name = codecs; sourceTree = ""; }; + A99676553CA567DA1CD19729 = {isa = PBXGroup; children = ( + 66DB34EE165CA04ACACB104D, + 55318EBDA23C2918FC8D838E, + 8C6D860D00B9D27F59BE688A, + AD47911F727BBE2907742B6C, + E6BBD52DEEF5BB309A5E0D36, + 44F7EDE4220F31B641051082, + B346F61236D50FFFAA93DB58, + B1D0E807C8AA03DCD59D95CC, + 0C03AA02839664626F4DEECB, + DE5BD7F4C4C455FAE894D657, + 3138762B0FB6AE1FEB2A444D, + 6338FC98FAF82F3C9A15E943, + 3E77C173AE32F62B892CF01F, + B84ECC2C7B1E0C5283C5DE92, + 4F7F3DF2110623AD17177CC9, ); name = format; sourceTree = ""; }; 8ABF3BD4A9FEBEC19699733B = {isa = PBXGroup; children = ( 54683E42FA3E4E644B5BA342, 6651651E2DB80985AE11BC2A, ); name = sampler; sourceTree = ""; }; B0157000DB5FEB5AF75E4F9E = {isa = PBXGroup; children = ( - D9636748AB4515EA6F70F6F1, - 0FE231DB06C13D3823C690EC, + 55B43E45D0C415276C789792, + A99676553CA567DA1CD19729, 8ABF3BD4A9FEBEC19699733B, - 6572780DEF7C396030F7E88F, BA74CBA07F7E462B824D155B, ); name = "juce_audio_formats"; sourceTree = ""; }; - B141FE8425056D7A1111F49C = {isa = PBXGroup; children = ( + 9C9A34F2E29F06E239808F36 = {isa = PBXGroup; children = ( + DE96C095E423324993DCAC8E, + 3DA4C013F3A87FB9066D9A06, + DBFBB4E07B66E9FB6EFC0CA4, + FC14C5899F93765A74125329, ); name = format; sourceTree = ""; }; + 2E2BF65AA79564DE74678A9A = {isa = PBXGroup; children = ( + F7369DF5ABFBA560A5FD5E71, + DD814F83C89F94E61871C009, + 807FB66424227F43DB1E720A, + A77D3FB03D23EC79D35A3583, + D5CFFAB59CC287F87A6F67BD, + 07B0233D286E466E20AC2887, + 8D9DDE982773DF3829A5D2EC, + 3BC401D5C6F376B3E8A98BE9, + 6E9C575B96F65E6DDD4F62B8, + AC3A1878FFA5E36CC67EF642, + B5EA0961ABF5E581D4DA94C1, ); name = "format_types"; sourceTree = ""; }; + 950899B150A83EDAFC1A7C58 = {isa = PBXGroup; children = ( DD27A9D5B621B219B88F1B4E, 2B8110812EDB60E35F64ECC2, DEE0007C38531B281E20A2A3, @@ -1187,23 +1188,6 @@ 74EAE983AF79D27EE6858539, 71C76E49F379F9B05389C3CA, 7597D668A9F5F71F9D02D8DC, ); name = processors; sourceTree = ""; }; - 56224860442B325B89B3D560 = {isa = PBXGroup; children = ( - DE96C095E423324993DCAC8E, - 3DA4C013F3A87FB9066D9A06, - DBFBB4E07B66E9FB6EFC0CA4, - FC14C5899F93765A74125329, ); name = format; sourceTree = ""; }; - 8399A36C496E0E4B8C36120B = {isa = PBXGroup; children = ( - F7369DF5ABFBA560A5FD5E71, - DD814F83C89F94E61871C009, - 807FB66424227F43DB1E720A, - A77D3FB03D23EC79D35A3583, - D5CFFAB59CC287F87A6F67BD, - 07B0233D286E466E20AC2887, - 8D9DDE982773DF3829A5D2EC, - 3BC401D5C6F376B3E8A98BE9, - 6E9C575B96F65E6DDD4F62B8, - AC3A1878FFA5E36CC67EF642, - B5EA0961ABF5E581D4DA94C1, ); name = "format_types"; sourceTree = ""; }; 4AE5724854053F8845688903 = {isa = PBXGroup; children = ( A084D01ED9334EBAFB966862, 5C198C39CC5322356263DE10, @@ -1221,12 +1205,11 @@ 9C0AAFB1E56B8FF6CB8F614B, 39D44FF56380385B8384F81C, ); name = utilities; sourceTree = ""; }; AB48A58D44AEFCA3F21E8D14 = {isa = PBXGroup; children = ( - B141FE8425056D7A1111F49C, - 56224860442B325B89B3D560, - 8399A36C496E0E4B8C36120B, + 9C9A34F2E29F06E239808F36, + 2E2BF65AA79564DE74678A9A, + 950899B150A83EDAFC1A7C58, 4AE5724854053F8845688903, D8411DCED586C411659DD219, - 01982E7F111EA0F64A134DAB, 3B86FA979F365227E1EB9592, ); name = "juce_audio_processors"; sourceTree = ""; }; BD867FD0796BCA4D85BA1A2B = {isa = PBXGroup; children = ( D6DBFE153ED66744A79FD7C7, @@ -1243,73 +1226,21 @@ E81E701E50B80CD8D7ADD9A0, 6B08381BCFD3448AB40EB764, 109575E72FCBE619A842EADB, ); name = gui; sourceTree = ""; }; - 53729100FC8FB30CBB91B28A = {isa = PBXGroup; children = ( - BE353035E54BBD637701274C, - 703E93210140FC510B4C30B7, ); name = players; sourceTree = ""; }; - FCAEACFE743F52A057EB2683 = {isa = PBXGroup; children = ( + 910BAE63F2745E62AC611F8B = {isa = PBXGroup; children = ( 07986389020D0AB5D139286C, D3FE216B5EAC55834446D659, 5FF0AE9C309D0F00EE9D93B8, 5975D093AA16540D75DFC05E, 360380932997DAF4065415CC, ); name = native; sourceTree = ""; }; + EF7DCE743797F54417AD5B77 = {isa = PBXGroup; children = ( + BE353035E54BBD637701274C, + 703E93210140FC510B4C30B7, ); name = players; sourceTree = ""; }; B41158B4484EA0875E08A9DA = {isa = PBXGroup; children = ( BD867FD0796BCA4D85BA1A2B, - 53729100FC8FB30CBB91B28A, - FCAEACFE743F52A057EB2683, - 40596589E6A4CA47E84EE943, + 910BAE63F2745E62AC611F8B, + EF7DCE743797F54417AD5B77, 7E380BA307E4A53923F32491, ); name = "juce_audio_utils"; sourceTree = ""; }; - 93B788DFC1C7243528F1FA3D = {isa = PBXGroup; children = ( - E75814074C88E2E781498AAB, - A070B9FA4EEB5C5AEED5561A, - 4DFE65A65E05E238FE866846, - E37337FE5F1EA5C0675E05EB, - CED4C734633F91C89BFD3829, - BB43F941001F9EDECDEC4836, - AFEEDEBED70B5B1D1B0AE490, - 7A4BC1998983615017DC2BF1, - 355BB193F5BCA256A8F08E02, - E2EDD6CB9434A89412CB83D5, - 21FC0D072DCC9C6AC57D6C45, - B66D5720A6D53D145235B680, - 98A33952B59DC73987AB3F3E, - 0FD3D4A7B7481F8361E14D82, - 522CD93708D62677267D572C, - 29FC11849A8427D248E2D21A, - 94326617CCCB546B084196BC, - 9F73DCCD91827818100240F0, - 7BD2190159E33306493A2F15, - B8CA9856C1004FCC5CC4F710, - BC379633DCC75D8A5F2582D8, - A2CDBE41FA1F8EC3E492683C, - 3E298D7161D5A18EA25B0852, - CADCB071D5B0B5B6C355EBFB, ); name = text; sourceTree = ""; }; - 316F29C45111629E4CFADFD9 = {isa = PBXGroup; children = ( - 7B4BED87BE117AF628DDC1EF, - B82A885925538D2A750B5077, - 0DC3165A5F3B775232531A23, - AF8A2C37DFCE17AAC5976773, - 88A6977E6C431A7B8E41B87A, - 2B700EED388A0D5BCD27119C, - B3D740F535AE6C7211B7F346, - 52C3173E0EE9C79C08C5DDFA, - C622457017D7A56DC4C7FC67, - C5B2445A0F393620939C2EE8, ); name = maths; sourceTree = ""; }; - 4D4790E42CCA98AACE00B679 = {isa = PBXGroup; children = ( - 6BCD122B109FEA7382F86B6F, - 79C500C091AF9E639F37C514, - 7F555DDE48B74E14F99C805F, - 15326497248BF0C5248444F7, - EBDAA7D47F11011A2332666C, - 260FF0356209F0FAC5EF72F9, - 73F442AEA16947270FABB59A, - 8ED647B92C0CB084AB1756B8, - 5B1A209CBE6AEB1063FB149F, - 6CE9869F76A0BDBBAAFC2AD2, - B8F33A418BB2AEEA980B25FE, - B02859F63C4DB6CFB687B30F, - 0591FF86C4D808638C1E1B31, - D30D77B2572852C5C9FF86C0, ); name = memory; sourceTree = ""; }; - 5992DD47776CE4F001ECE043 = {isa = PBXGroup; children = ( + 4A22E892A29C29D098FD3593 = {isa = PBXGroup; children = ( 9963DA20A3A169F096DA9FCF, CE5EFD0B93A7DD3687B3FA11, E833D66716056A926C5C89F4, @@ -1331,37 +1262,7 @@ 72FA76AAEC0B844D6A97B04F, 9E757FCCA80FD5CDE38CE39C, 89A9ABEAE3260E88A8286832, ); name = containers; sourceTree = ""; }; - CCB563EF33548D5CC941B744 = {isa = PBXGroup; children = ( - 17AB90878E18D665B5F05E1D, - 4A17352DBA7235663A22CA37, - 2E19514EB12ED8C007D02BED, - A5C776304CEA43636F46A5FE, - 380DE52CF0881D08E28EF459, - 435805944C64D39060796749, - 3EA36ED5181F96146B13E1A3, - B0EC575BAE9C7CA8148B2814, - F4515E036F6B680D6D6DC8C9, - 47CA6B2483E98530ED21101E, - 143EBC60EF7CD518951B3DFB, - 380CF7E6B4A92C10348D923E, - 55774BDDEFF8D07E7657F2D9, - 30EAE83CBD3493EA5E75C943, - 69E514BDB41278F42D52E932, - 988A1AF75EB5E8F25AAD1632, - 0C614464266C8D7861BB4688, - 152F9CC2FD2D12CD202427EE, - 9AB9C86B8CA403F869AE410A, - 9AB400909E97F5649F5A99A0, - B76CFD3BC6CEDC9DBA1E63EB, - A67CA597C2F003ACCB9C931D, ); name = threads; sourceTree = ""; }; - 6184FF3D83820107C5B1024A = {isa = PBXGroup; children = ( - FA161FD5E96B2B2115B6476D, - 6285DDA600803EFB4D1F8EC6, - 0DC3607C9300A572222E9668, - A197C8251B7D0C4E6F502433, - 74C004337047593335F0EB2F, - 1DB6C92024C5D0273B576FFB, ); name = time; sourceTree = ""; }; - 22310530F28620B8D9BA128C = {isa = PBXGroup; children = ( + 0DD79C2CB3CF94C9C86FB7E9 = {isa = PBXGroup; children = ( 42671DCA829C86E21A41AA48, B5C2E2E572443EBC683A308B, 1EE89A61F329252103888090, @@ -1379,66 +1280,43 @@ D7694A3176492013902BBF3F, 237324C3262FA4A6854BAE69, 5EEB8F8B7C5FE167380BE097, ); name = files; sourceTree = ""; }; - D6B10605190A8ACEDF432FF1 = {isa = PBXGroup; children = ( - 2E4AA3AC87FCE4E51218FCAD, - 9993C464C5F2B833CCB80E73, - D04BA00975A92412026A237A, - 7C263AD6FB3F219F513FC2AD, - 9C9DC2BD4FEE0C379DE12571, - 9F5F2836C2D83C3F53254241, - A816E22F2317F3AB90262CB4, - DB68CB04F33818FB58F304B7, - E62F93F0E69F1FDDBC40E5FA, - D01042D887575822E0081B0E, ); name = network; sourceTree = ""; }; - 5ACD43AB3DA26EA8E78D5F52 = {isa = PBXGroup; children = ( - 7861AA53364025BA5B10E816, - 9E4BB78272577D198F7CEA4E, - AA21DA98CEF52C5F09BEEC38, - F34AF47FEC2C9342DBA43833, - ED8B57E5C91C21AE53C2693F, - 2BF9277EE9D23E6756DDEAAD, - 53679FA0362E193DBB53E5B6, - 381C61E5D8990308F006A622, - 4A83BA7F930D8A2D7377C4F8, - 1A9CD64FD02DC991351F79D0, - F870C5032CF4205C73C7D6BE, - 3D23A96B33496215A0A41752, - 2FD97DD724D2656CF1E0D166, - A004966E7468D0F909B144B8, - FFA9C3C0C173CB01D1AB7EC0, ); name = streams; sourceTree = ""; }; - C18471B46EC423B7B641B6DC = {isa = PBXGroup; children = ( - 1683945897B57B67297DE68E, - 0760036B9D3615440627B5E1, - F2ED06DE39A6A3BB84A23F8D, - 37769779C54F5EAA72386EA8, ); name = logging; sourceTree = ""; }; - 25774FF13894F0C8069E0942 = {isa = PBXGroup; children = ( - E1CB32FBE6F6E310599E2D26, - 0892D5D2CB6A4453365FBB2E, - 2DDDB0D5D31784DE584658A3, - A55F7E43C7EBDAB0936E49DE, - 230A9419C6C9B6D00D2BB8A2, - 86CCBF0A2BA002DD4F6EF744, ); name = system; sourceTree = ""; }; - D3D244BE0B0E2F4909304C21 = {isa = PBXGroup; children = ( - C27C6E28C83CFDDE48D68C36, - 864B819B16A5912645B76472, - 9A345A87139ECBCED9ECED0C, - 7BF0F10BC424F0558F6E346C, ); name = xml; sourceTree = ""; }; - D10F20151607501065C2E850 = {isa = PBXGroup; children = ( + 46B5815F6C5952C7014E408A = {isa = PBXGroup; children = ( B492A15E9ED021566DDDF527, 12A38F9DB2A92D7E4D566697, 89DADBB730BD793525216677, 9EAEC4C3DC466EB31FBDA4E9, ); name = javascript; sourceTree = ""; }; - 2588A788741DCD917C0F5756 = {isa = PBXGroup; children = ( - 2CB483940897747625E0DEF0, - C495993112F10E9129851E8C, - 5DAA0C0CDF8A539F6FCEFAA5, - B03367C60569B1910FD00AC6, - E22DA44980799F3DA64DDE25, - 0B4BE6C38E70E7391A88B4CF, ); name = zip; sourceTree = ""; }; - BBD3ACD1D6192688C7E8FE6C = {isa = PBXGroup; children = ( - F0FDA8930B43FE5CB66D6CB7, - 6C03D708D1A0BE6E3315D8AF, ); name = "unit_tests"; sourceTree = ""; }; - C4F26089A6CEE0C99EC8FA55 = {isa = PBXGroup; children = ( + 2112E06AD7F39A6C7967BF97 = {isa = PBXGroup; children = ( + 1683945897B57B67297DE68E, + 0760036B9D3615440627B5E1, + F2ED06DE39A6A3BB84A23F8D, + 37769779C54F5EAA72386EA8, ); name = logging; sourceTree = ""; }; + 5D6E6DC6E1F004DACD6F7171 = {isa = PBXGroup; children = ( + 7B4BED87BE117AF628DDC1EF, + B82A885925538D2A750B5077, + 0DC3165A5F3B775232531A23, + AF8A2C37DFCE17AAC5976773, + 88A6977E6C431A7B8E41B87A, + 2B700EED388A0D5BCD27119C, + B3D740F535AE6C7211B7F346, + 52C3173E0EE9C79C08C5DDFA, + C622457017D7A56DC4C7FC67, + C5B2445A0F393620939C2EE8, ); name = maths; sourceTree = ""; }; + EE8A0633C64A26FF459722E7 = {isa = PBXGroup; children = ( + 6BCD122B109FEA7382F86B6F, + 79C500C091AF9E639F37C514, + 7F555DDE48B74E14F99C805F, + 15326497248BF0C5248444F7, + EBDAA7D47F11011A2332666C, + 260FF0356209F0FAC5EF72F9, + 73F442AEA16947270FABB59A, + 8ED647B92C0CB084AB1756B8, + 5B1A209CBE6AEB1063FB149F, + 6CE9869F76A0BDBBAAFC2AD2, + B8F33A418BB2AEEA980B25FE, + B02859F63C4DB6CFB687B30F, + 0591FF86C4D808638C1E1B31, + D30D77B2572852C5C9FF86C0, ); name = memory; sourceTree = ""; }; + 674DAD99F329B661662BAD45 = {isa = PBXGroup; children = ( FEA9025EC5AFF06C3119E2DE, 7CCCB8DF5D4F39091A296F19, 55267F7B25EDD9F895BC8501, @@ -1446,7 +1324,7 @@ 6F47E5D0F6E40ED2846E6572, 814ED3A6EFB59ADEF6747D30, 44144EB6BBF8C91984B24B26, ); name = misc; sourceTree = ""; }; - F38C88E1DC944F4C43265644 = {isa = PBXGroup; children = ( + A0436C48620245BF4FEFEB93 = {isa = PBXGroup; children = ( 4129D412D114068734D0831B, 5F906D2606C9F07B104120B3, 25679A32335DD3ADDA3902E2, @@ -1476,25 +1354,128 @@ 391416CDD6D0F5ED2F788D1C, DAA02F90C34CFED97483236C, 5F4AB4FE887CEE13DD04B691, ); name = native; sourceTree = ""; }; + 630184501451CD1DAA013D68 = {isa = PBXGroup; children = ( + 2E4AA3AC87FCE4E51218FCAD, + 9993C464C5F2B833CCB80E73, + D04BA00975A92412026A237A, + 7C263AD6FB3F219F513FC2AD, + 9C9DC2BD4FEE0C379DE12571, + 9F5F2836C2D83C3F53254241, + A816E22F2317F3AB90262CB4, + DB68CB04F33818FB58F304B7, + E62F93F0E69F1FDDBC40E5FA, + D01042D887575822E0081B0E, ); name = network; sourceTree = ""; }; + C50086CF1FDAB0868B4CB122 = {isa = PBXGroup; children = ( + 7861AA53364025BA5B10E816, + 9E4BB78272577D198F7CEA4E, + AA21DA98CEF52C5F09BEEC38, + F34AF47FEC2C9342DBA43833, + ED8B57E5C91C21AE53C2693F, + 2BF9277EE9D23E6756DDEAAD, + 53679FA0362E193DBB53E5B6, + 381C61E5D8990308F006A622, + 4A83BA7F930D8A2D7377C4F8, + 1A9CD64FD02DC991351F79D0, + F870C5032CF4205C73C7D6BE, + 3D23A96B33496215A0A41752, + 2FD97DD724D2656CF1E0D166, + A004966E7468D0F909B144B8, + FFA9C3C0C173CB01D1AB7EC0, ); name = streams; sourceTree = ""; }; + 25774FF13894F0C8069E0942 = {isa = PBXGroup; children = ( + E1CB32FBE6F6E310599E2D26, + 0892D5D2CB6A4453365FBB2E, + 2DDDB0D5D31784DE584658A3, + A55F7E43C7EBDAB0936E49DE, + 230A9419C6C9B6D00D2BB8A2, + 86CCBF0A2BA002DD4F6EF744, ); name = system; sourceTree = ""; }; + 9AD1CDC5E4ED9B36613C6463 = {isa = PBXGroup; children = ( + E75814074C88E2E781498AAB, + A070B9FA4EEB5C5AEED5561A, + 4DFE65A65E05E238FE866846, + E37337FE5F1EA5C0675E05EB, + CED4C734633F91C89BFD3829, + BB43F941001F9EDECDEC4836, + AFEEDEBED70B5B1D1B0AE490, + 7A4BC1998983615017DC2BF1, + 355BB193F5BCA256A8F08E02, + E2EDD6CB9434A89412CB83D5, + 21FC0D072DCC9C6AC57D6C45, + B66D5720A6D53D145235B680, + 98A33952B59DC73987AB3F3E, + 0FD3D4A7B7481F8361E14D82, + 522CD93708D62677267D572C, + 29FC11849A8427D248E2D21A, + 94326617CCCB546B084196BC, + 9F73DCCD91827818100240F0, + 7BD2190159E33306493A2F15, + B8CA9856C1004FCC5CC4F710, + BC379633DCC75D8A5F2582D8, + A2CDBE41FA1F8EC3E492683C, + 3E298D7161D5A18EA25B0852, + CADCB071D5B0B5B6C355EBFB, ); name = text; sourceTree = ""; }; + 40712DA41158EE48F814BB3E = {isa = PBXGroup; children = ( + 17AB90878E18D665B5F05E1D, + 4A17352DBA7235663A22CA37, + 2E19514EB12ED8C007D02BED, + A5C776304CEA43636F46A5FE, + 380DE52CF0881D08E28EF459, + 435805944C64D39060796749, + 3EA36ED5181F96146B13E1A3, + B0EC575BAE9C7CA8148B2814, + F4515E036F6B680D6D6DC8C9, + 47CA6B2483E98530ED21101E, + 143EBC60EF7CD518951B3DFB, + 380CF7E6B4A92C10348D923E, + 55774BDDEFF8D07E7657F2D9, + 30EAE83CBD3493EA5E75C943, + 69E514BDB41278F42D52E932, + 988A1AF75EB5E8F25AAD1632, + 0C614464266C8D7861BB4688, + 152F9CC2FD2D12CD202427EE, + 9AB9C86B8CA403F869AE410A, + 9AB400909E97F5649F5A99A0, + B76CFD3BC6CEDC9DBA1E63EB, + A67CA597C2F003ACCB9C931D, ); name = threads; sourceTree = ""; }; + 99053B07C8B2C430B86B12FF = {isa = PBXGroup; children = ( + FA161FD5E96B2B2115B6476D, + 6285DDA600803EFB4D1F8EC6, + 0DC3607C9300A572222E9668, + A197C8251B7D0C4E6F502433, + 74C004337047593335F0EB2F, + 1DB6C92024C5D0273B576FFB, ); name = time; sourceTree = ""; }; + BBD3ACD1D6192688C7E8FE6C = {isa = PBXGroup; children = ( + F0FDA8930B43FE5CB66D6CB7, + 6C03D708D1A0BE6E3315D8AF, ); name = "unit_tests"; sourceTree = ""; }; + 6A64CD3CF25DA5DF51E7BA55 = {isa = PBXGroup; children = ( + C27C6E28C83CFDDE48D68C36, + 864B819B16A5912645B76472, + 9A345A87139ECBCED9ECED0C, + 7BF0F10BC424F0558F6E346C, ); name = xml; sourceTree = ""; }; + 61BABE798BFD312FA67BF992 = {isa = PBXGroup; children = ( + 2CB483940897747625E0DEF0, + C495993112F10E9129851E8C, + 5DAA0C0CDF8A539F6FCEFAA5, + B03367C60569B1910FD00AC6, + E22DA44980799F3DA64DDE25, + 0B4BE6C38E70E7391A88B4CF, ); name = zip; sourceTree = ""; }; A8FC72E4F19FEC8B91E632C8 = {isa = PBXGroup; children = ( - 93B788DFC1C7243528F1FA3D, - 316F29C45111629E4CFADFD9, - 4D4790E42CCA98AACE00B679, - 5992DD47776CE4F001ECE043, - CCB563EF33548D5CC941B744, - 6184FF3D83820107C5B1024A, - 22310530F28620B8D9BA128C, - D6B10605190A8ACEDF432FF1, - 5ACD43AB3DA26EA8E78D5F52, - C18471B46EC423B7B641B6DC, + 4A22E892A29C29D098FD3593, + 0DD79C2CB3CF94C9C86FB7E9, + 46B5815F6C5952C7014E408A, + 2112E06AD7F39A6C7967BF97, + 5D6E6DC6E1F004DACD6F7171, + EE8A0633C64A26FF459722E7, + 674DAD99F329B661662BAD45, + A0436C48620245BF4FEFEB93, + 630184501451CD1DAA013D68, + C50086CF1FDAB0868B4CB122, 25774FF13894F0C8069E0942, - D3D244BE0B0E2F4909304C21, - D10F20151607501065C2E850, - 2588A788741DCD917C0F5756, + 9AD1CDC5E4ED9B36613C6463, + 40712DA41158EE48F814BB3E, + 99053B07C8B2C430B86B12FF, BBD3ACD1D6192688C7E8FE6C, - C4F26089A6CEE0C99EC8FA55, - F38C88E1DC944F4C43265644, - F229305EABC54A0360E3F43D, + 6A64CD3CF25DA5DF51E7BA55, + 61BABE798BFD312FA67BF992, 3C3914CF4EB61FC23AEA3490, ); name = "juce_core"; sourceTree = ""; }; A87A8F3E687B87185D390390 = {isa = PBXGroup; children = ( F47E8376EC7BDC4528239031, @@ -1513,31 +1494,45 @@ 0FF7D030BAE4E164EAF53EED = {isa = PBXGroup; children = ( A87A8F3E687B87185D390390, 5A9B169E349FCD88C8D3FFF1, - F069C0B7A0FA2E1ABCDDCC59, D97D04E27CEBD97B988F3F7E, ); name = "juce_cryptography"; sourceTree = ""; }; - C187B575F71B5C6F3B2A3A89 = {isa = PBXGroup; children = ( + D0E0FF7892BB1AA40FB56AAB = {isa = PBXGroup; children = ( + 35303BDED3573FD025AA6BF6, + 61E9F7EEC1E8A9BC83431E55, + 81979AE0B2796459699657AF, + 6CB919D0572583A79239C10D, ); name = "app_properties"; sourceTree = ""; }; + D05C3DF63345D322742D3539 = {isa = PBXGroup; children = ( + D8DDE8B0AB11A6FFB9C7A8B9, + 575C1AF87615D28A9766B9EE, + E630DE24659C252E9EBFE366, ); name = undomanager; sourceTree = ""; }; + 05DB266F8ABB0446A25906F9 = {isa = PBXGroup; children = ( F1DB507A323F101AF64C0BD2, C034BC82CE4EB8F2568629E0, D8275ED6BFD4AAD7BF13CC2D, 04A9E8ACA19D89D3B4EE5FBF, 498D7E415C0E24045E8CC34A, 07898F72AF374731C8D58113, ); name = values; sourceTree = ""; }; - D05C3DF63345D322742D3539 = {isa = PBXGroup; children = ( - D8DDE8B0AB11A6FFB9C7A8B9, - 575C1AF87615D28A9766B9EE, - E630DE24659C252E9EBFE366, ); name = undomanager; sourceTree = ""; }; - C42F76D7A76EDD94516EDDA6 = {isa = PBXGroup; children = ( - 35303BDED3573FD025AA6BF6, - 61E9F7EEC1E8A9BC83431E55, - 81979AE0B2796459699657AF, - 6CB919D0572583A79239C10D, ); name = "app_properties"; sourceTree = ""; }; E97E404EBE9BAAE69CF6EBF1 = {isa = PBXGroup; children = ( - C187B575F71B5C6F3B2A3A89, + D0E0FF7892BB1AA40FB56AAB, D05C3DF63345D322742D3539, - C42F76D7A76EDD94516EDDA6, - A11E58F0D28254BF0C5E6CBC, + 05DB266F8ABB0446A25906F9, E2D1B06DF3B78955E6076686, ); name = "juce_data_structures"; sourceTree = ""; }; - 11E41E38163B29A096760242 = {isa = PBXGroup; children = ( + D0CBF052937112FE2C4F4BCB = {isa = PBXGroup; children = ( + 0F4BDA5EDC7B99927EDE3F84, + 31400B4D421980AB72921D8F, + C0294ADFDB35341825074EB3, + 6715F6B8526A84C7D7F96130, + 83AE6F73E2AB5E8368098F82, + 3EF6F6A74D6521ADC75318C0, + 5984276E446D5C9A035D9FC7, + 8533CFE78DDDAB7BD643071C, ); name = broadcasters; sourceTree = ""; }; + AFF4854CCF3E0690C0D21710 = {isa = PBXGroup; children = ( + DDD9956A34EECD84627E4D23, + 5BCFBCD0F10A1CA1755A6496, + 6583002220C32FC6E2ABC427, + 3926A9B46D728AA024FA23B2, + 4E247FD4978713561FAD3C42, + 03D75F52F5707AB35D6BA8EC, ); name = interprocess; sourceTree = ""; }; + E6816042ECB56AE064FDC099 = {isa = PBXGroup; children = ( 020EE4DB59648F4FB8516FA9, BBA80FB6E7B8CC2B36236750, 2711898DEDADE22BFD3A59E4, @@ -1551,28 +1546,7 @@ 9BAF53E9F559484E89236B95, BCCD4D99EC4AAD2FB7DBCEF3, E012ACB1A57FAAF6CB476741, ); name = messages; sourceTree = ""; }; - F9AA32A6D2CD2C9600C49E58 = {isa = PBXGroup; children = ( - B654E7DD258B9A755CCA7BEA, - 19F1E0A1D16107BC0A21D8B0, - F6346CA0038C6218ACC926B9, - AF04AAABB333D46EAE2FD387, ); name = timers; sourceTree = ""; }; - 0D3B940E483EED260C9233E8 = {isa = PBXGroup; children = ( - 0F4BDA5EDC7B99927EDE3F84, - 31400B4D421980AB72921D8F, - C0294ADFDB35341825074EB3, - 6715F6B8526A84C7D7F96130, - 83AE6F73E2AB5E8368098F82, - 3EF6F6A74D6521ADC75318C0, - 5984276E446D5C9A035D9FC7, - 8533CFE78DDDAB7BD643071C, ); name = broadcasters; sourceTree = ""; }; - F7E869FCC6C7B5E60166E628 = {isa = PBXGroup; children = ( - DDD9956A34EECD84627E4D23, - 5BCFBCD0F10A1CA1755A6496, - 6583002220C32FC6E2ABC427, - 3926A9B46D728AA024FA23B2, - 4E247FD4978713561FAD3C42, - 03D75F52F5707AB35D6BA8EC, ); name = interprocess; sourceTree = ""; }; - FB1C700442C42DFDF562E24E = {isa = PBXGroup; children = ( + C437977D8F991C4C61BAFC7A = {isa = PBXGroup; children = ( 23986EADB0FA1118A421AB50, 148CD006F32196E97DB2E15F, EE7FAEA30D9CE2164584A78A, @@ -1581,13 +1555,17 @@ 1BBE5A8CC950364880DE6DA1, 481F5349D5FC0457C31ECCEB, 09D41C26F44CB7D5AE9C3303, ); name = native; sourceTree = ""; }; + 374C7FF0C926A2AF69FB1B32 = {isa = PBXGroup; children = ( + B654E7DD258B9A755CCA7BEA, + 19F1E0A1D16107BC0A21D8B0, + F6346CA0038C6218ACC926B9, + AF04AAABB333D46EAE2FD387, ); name = timers; sourceTree = ""; }; 2FE035201A22BC055E791509 = {isa = PBXGroup; children = ( - 11E41E38163B29A096760242, - F9AA32A6D2CD2C9600C49E58, - 0D3B940E483EED260C9233E8, - F7E869FCC6C7B5E60166E628, - FB1C700442C42DFDF562E24E, - E8BF6B3522E318AF306DB68D, + D0CBF052937112FE2C4F4BCB, + AFF4854CCF3E0690C0D21710, + E6816042ECB56AE064FDC099, + C437977D8F991C4C61BAFC7A, + 374C7FF0C926A2AF69FB1B32, 3F23E79E8D215B53423F66EF, ); name = "juce_events"; sourceTree = ""; }; F9847817E9BB5512AE44F69D = {isa = PBXGroup; children = ( 687D3BEBD01B7089DA7EBAD1, @@ -1607,19 +1585,25 @@ 5E85FF9DADED1BF2F393CA7B, 9F9ABD34F4E3D415CD8E3548, 7F3776EEB353DCFCE936872F, ); name = contexts; sourceTree = ""; }; - 372BE2FD5F53BE0867B3023B = {isa = PBXGroup; children = ( - B737F86A97583158D47EED8F, - A2F3BC68972901383B331361, - 2E156BE3E6DBAA7865B0F3C0, - 2C8137E945F72BA9105D65C6, - 32E90C7EB3FED091E0719B69, - BA24E4AEE7BD1C7CDF793728, - 55E7B636B43C78D7D5A2F3BD, - EDF6D41F0DD4DAC224C6BCC3, ); name = images; sourceTree = ""; }; - E36FF72E9ACA557159FF17DF = {isa = PBXGroup; children = ( - 8B2483DC502CFB85054091C5, - 80888401EE0F8AC038266306, - FFBF68910D82B4BC2BB3D5E0, ); name = "image_formats"; sourceTree = ""; }; + ED9016186C7EB9071BCA2BB4 = {isa = PBXGroup; children = ( + 47BBFABAEE4BB9362BBF81CC, + A2515767F54BBB1189F67674, + 073B9D4A117401CAB7E589F9, + EB9428C401AEE0E7D09B5566, + DA03D10FD1896F49D3AA2D81, ); name = effects; sourceTree = ""; }; + 004EF5819514F7D29CE96416 = {isa = PBXGroup; children = ( + C7D441D167E579678DA387D7, + 9C731D9984CC3858193A2C17, + 0575302FD50DFE761DAE40B9, + F6A72C0BF37C9ECC315FEE8E, + 59BE5C6F0A513D6CCF776C33, + C75AB0FC6F1A4F57D95397EB, + DB096C620CC605E3347E49DA, + F2EE77BFC5289905F345230C, + 604A0F57022215439EBAF444, + 15586852872DD0E50CE31622, + ED6A7341ECDCC395ABB50FF0, + 3E3006AC0AD8CBA944F20C19, ); name = fonts; sourceTree = ""; }; 5422E92020E708C5C9AD48AB = {isa = PBXGroup; children = ( 2AAAEBE53A14BA001544D40D, 1A88388BE44AED2870102576, @@ -1636,30 +1620,20 @@ 3A44297947691ABDFE965AD5, 683ABA8E00BCCEDDCABDE1A9, DF63EBB2114464E14D80E087, ); name = geometry; sourceTree = ""; }; - 20228E5F8C3C731001D0A5FC = {isa = PBXGroup; children = ( - 313744A137B12D90ABC32ADF, - 76A004283D71BFD31D9ACB8B, - 1C4B851DCA88F1B74D37A957, ); name = placement; sourceTree = ""; }; - 7052E1E31883BD4DA5A9A70E = {isa = PBXGroup; children = ( - C7D441D167E579678DA387D7, - 9C731D9984CC3858193A2C17, - 0575302FD50DFE761DAE40B9, - F6A72C0BF37C9ECC315FEE8E, - 59BE5C6F0A513D6CCF776C33, - C75AB0FC6F1A4F57D95397EB, - DB096C620CC605E3347E49DA, - F2EE77BFC5289905F345230C, - 604A0F57022215439EBAF444, - 15586852872DD0E50CE31622, - ED6A7341ECDCC395ABB50FF0, - 3E3006AC0AD8CBA944F20C19, ); name = fonts; sourceTree = ""; }; - D57E40A1961685032E00EBDD = {isa = PBXGroup; children = ( - 47BBFABAEE4BB9362BBF81CC, - A2515767F54BBB1189F67674, - 073B9D4A117401CAB7E589F9, - EB9428C401AEE0E7D09B5566, - DA03D10FD1896F49D3AA2D81, ); name = effects; sourceTree = ""; }; - 5AFC1E3D3E4C607478ADEB41 = {isa = PBXGroup; children = ( + AC3A332232395C98F45369B2 = {isa = PBXGroup; children = ( + 8B2483DC502CFB85054091C5, + 80888401EE0F8AC038266306, + FFBF68910D82B4BC2BB3D5E0, ); name = "image_formats"; sourceTree = ""; }; + 82E33CFE508EF4ACB1BA81BC = {isa = PBXGroup; children = ( + B737F86A97583158D47EED8F, + A2F3BC68972901383B331361, + 2E156BE3E6DBAA7865B0F3C0, + 2C8137E945F72BA9105D65C6, + 32E90C7EB3FED091E0719B69, + BA24E4AEE7BD1C7CDF793728, + 55E7B636B43C78D7D5A2F3BD, + EDF6D41F0DD4DAC224C6BCC3, ); name = images; sourceTree = ""; }; + 2884897F39D802511540DF39 = {isa = PBXGroup; children = ( 36EBA0C5C75594F6432CAA0F, EF5C5733F527839385058414, E6C36657CECAF4AA1AD8558D, @@ -1673,19 +1647,54 @@ 3D1B0F640AC066EDBE4FCA90, 076628E712D4AD6AAA111947, 0C0752466019BB68BD8A77AD, ); name = native; sourceTree = ""; }; + CE28CC6B72893C947E291988 = {isa = PBXGroup; children = ( + 313744A137B12D90ABC32ADF, + 76A004283D71BFD31D9ACB8B, + 1C4B851DCA88F1B74D37A957, ); name = placement; sourceTree = ""; }; 03B60629C9CC9D1D5FC4272B = {isa = PBXGroup; children = ( F9847817E9BB5512AE44F69D, D1572B954DD1F694A3F2F6B9, - 372BE2FD5F53BE0867B3023B, - E36FF72E9ACA557159FF17DF, + ED9016186C7EB9071BCA2BB4, + 004EF5819514F7D29CE96416, 5422E92020E708C5C9AD48AB, - 20228E5F8C3C731001D0A5FC, - 7052E1E31883BD4DA5A9A70E, - D57E40A1961685032E00EBDD, - 5AFC1E3D3E4C607478ADEB41, - A6BC9FC87555B39B73778711, + AC3A332232395C98F45369B2, + 82E33CFE508EF4ACB1BA81BC, + 2884897F39D802511540DF39, + CE28CC6B72893C947E291988, 75321A674B370F32E25E4FBD, ); name = "juce_graphics"; sourceTree = ""; }; - DCE64BC7DA75227D26FEFF4D = {isa = PBXGroup; children = ( + D6DD08EA18E75A89E2F11E08 = {isa = PBXGroup; children = ( + 7C4B94E6E74999267FF81409, + 8B64303D4A4877BE3D9ECA23, ); name = application; sourceTree = ""; }; + 16865F06540CB7A7B1C261AA = {isa = PBXGroup; children = ( + A9235E9E60C4A238FA54047B, + CE6199FD4EDDB4537A206D63, + CAE879F535FD4BCC9DD18A96, + F6892B7A65D34CEA069065ED, + BCCBB4E9E23CF1A2376675E1, + ACF8C9B787F071A59D0D7EFF, + DF1EA5A6EA5F6AE282F2A49B, + 32FB34EFF836CC859B88D59A, + D6E871933044DB7C729653D1, + ED067DE4926598C42B4EBC8B, + 10E32F03CD02144B4E150066, + 88D60BD76FD4D2DDDEC812BF, + 1840BA14C3C29EF2AF08434B, + 859A3E99E9C43B195F80F648, + 16EABF4921D82BAD71BB7AB5, + AC410B09B6B19E3DBFA81342, + 281EDA11196A278E6AB4B7FE, + 2481B3B84FE81519A2FCE441, ); name = buttons; sourceTree = ""; }; + E47625E657D79BACCFA1D126 = {isa = PBXGroup; children = ( + 768ED0B52F40AF137ABB4B23, + 0C1AE743A7F57659EDCAFEC7, + A0C842CBFBEF097902336B9F, + 6996A01131F6EC782335849A, + 43C676DCCF3EF43C3E461DBF, + 6827D79ECEE15C9A98A6B135, + 87C79B3F7798AA8550362662, + 4F19EA0D6C57032FB00BA151, + 2FDF6E187E8341031460DC5E, ); name = commands; sourceTree = ""; }; + 3E80C9A944B2FA16BD95CE88 = {isa = PBXGroup; children = ( 8522BED67A89A1DFEAE4FD54, FA41FA5168778882CD66481B, F4EF587736A179433A6784CA, @@ -1695,28 +1704,46 @@ B4627ACD9DAE391505B47CC8, C6E0CF2ABA1A9BA45B0AED68, E3EBACD5CB6769BBB22735D1, ); name = components; sourceTree = ""; }; - 14FC85DB4914D81BFBFBD76E = {isa = PBXGroup; children = ( - FE3B1B765FD79B42BAB31946, - 6E74B73FC38D61B2E9838178, - C0636FF79924D1DE1FC5F8CB, - A016A16A72E6597E19D0117C, - 8105E14C122672883486A562, - 1F9241B5C167C0419181B5E5, - BDE06F7154D61ECE453CB356, - 5242C34113987084B2A220E2, - 1AD6B4D9A3ABFC32D70230D8, - BC44D402B4EC2091612352B2, - 8665D9D9CE72D78FA1DB8400, - B3B09D930294921308A25479, - 7585B4D0AF0B0B94FFF5754B, - 562D0A3E3BC11FEEC83922A2, - 7A08DDF75B40A0BB8EC435D1, - 39044A002A444195B2A5350E, - 486B26EF01146242F3C661F7, - F24DBB309D44148115EE7202, - 569FA642C1BD9436D90CAE02, - FBA1D6C3F0CE4D37146DDE37, ); name = mouse; sourceTree = ""; }; - E5C9AB6C3BBCB8C77E074B9C = {isa = PBXGroup; children = ( + CE338B6E9D87046DD1167A95 = {isa = PBXGroup; children = ( + 0908AC305FF07665C1ED181B, + AB0F764CBA1600621049FAE6, + 5FE360FAE9A403ABFF04FBFF, + F9AAC643E9F18D7EFB610EF5, + 275924B6B61ADC7DC45DF465, + 31B770F0F6BD21F867E24035, + 8C557330D246823A53B449A5, + 27F112C058EF5A258E9AC6BE, + 1F7B60B2FB93D6B84720AA08, + 131E8EC2DA7B6E7AA27A6D9B, + 641800593DAE412AA2630600, + 97EE4852EA4CC6213A4DB03D, + 7C997A5BA57D7568AB3E0F79, + 0B544DB0EBE315150B7DB69E, + C35854B72C47F401808A93D6, ); name = drawables; sourceTree = ""; }; + 2DC570E4FD77A2E1BC56E249 = {isa = PBXGroup; children = ( + 93E62B431FD26A26B8955220, + 75160F42498EEF24CDFF6C1F, + 7E8ECB3FC70DFC32CC40E487, + 4473E95B23F65C8E5F7FE05B, + CD0684C129832B1A2C6AE8E1, + B0037C53204AAC9C8255C2BD, + 829C1B8BE77DFC515A7AA26D, + 92691651B73E582D8419516E, + A77C703EF249E18E4314B50B, + B4066FBC70F48956A5613954, + 46EE2A1578E998C3FDAF9E90, + 9B941207317C228D2E7FEA4A, + C8DB56C59EEE6F10765F1880, + 5A69C1F35C3FB44D42654DC2, + FC90CD1022F5AEDEAB769D66, + 7911CEDEA3547CAB3813DA45, + 45F17D16348AC92ABF12AE4F, + 121DCBEAD9B2A41250FE1A8C, + 1D60F9B4132C6DEF087C6102, + AE071AE60A488A88983388A8, + D783DFE1BF328D75FA4EB7EA, + ADF727BFA0B03E4BB95B2E21, ); name = filebrowser; sourceTree = ""; }; + 954D09F5DD4B5A3F5849A740 = {isa = PBXGroup; children = ( 6D45A9F8D00AF9F3FBF43394, C9D87BCB93AFB0E715801097, 252D26C60E79A2C069E172E5, @@ -1730,62 +1757,7 @@ B8E4371A1812FB6544696147, 662F9B9615942BB97D1C50C0, BDA1F22AECB324960FD04B8C, ); name = keyboard; sourceTree = ""; }; - F3E951F87E31E5EF048AAE41 = {isa = PBXGroup; children = ( - 715049CBFF51DD0B6C96C4AD, - BDA5300CE231168A0DFD9706, - E026A53FF9F9EF195C0EE710, - D8D65FD4A2F1B4572540A21D, - 81531B2A0B3EFDF3AA98F33A, - 9E5D3DF0A5372D0EE20D7C52, - 34A028F41F6B89FE6879A252, - A59547388F399186B5559860, - C2C02D2BE263F8050442D47A, - 92E263576EE09D2FFB2488D4, - 83EB1BA403786C5C84D79B31, - E903BD2C42BC73A2D07B2D56, - 61C15F781039DFD34048F987, - CDCA935BA045154E92DEE09D, - 3E994268B5F30A3299CAFB5D, - 1F2C3B261C75AFE0815B4F6C, - DF77C09D912D32A137200C50, - 96FA1FB83212CA1F7B24340F, - 652B01D78B35590B9ECA9592, - 6706AC981DAB99A2716BD5A9, - 84F8234BF77E0D6A16945175, - 762F1D3C34A3070C92736819, - 59746D5A7A92DEA51E39AC29, - 7A389934F2E8BE092DABF7F6, - B6B15C5ACA212627415B92A6, - 350B2C6A55A8CC92FE9FACD0, - A39AD70F4C86A88879AEE98E, ); name = widgets; sourceTree = ""; }; - EE0090F4548A821EE653E4CD = {isa = PBXGroup; children = ( - 38B43C95BCC69F232C7A941D, - FDB6B9D5EBB59B8C2069A0E6, - 4FD427089A9CDE1B5B0C4664, - 38C6EF1A2390CCC6DC9F9307, - 483B36334E2D7C2A6F6D5C1E, - A10C76922D7BDC73DF81540D, - C897DAA514552248B4BEB8B1, - C762137F95A067D877B2DDB4, - A8DE43E4A9F916584738AA7E, - 31C21E360B87491DCA771EDE, - C22D2E1636E4E08CCC2A30CD, - F4479BE62D0A08B4D2C02DB9, - E7ABB8B409A117BB3FEEEE0E, - ACF70D3C6DFCF9CE58921468, - 7B3E7CFDA9BE759870114F56, - E39A3A161533974224B415C8, - D2B89986858D8B327441661A, - F40683744DB687F8B72C133C, - D19CD21192E82B0ADDEA153F, ); name = windows; sourceTree = ""; }; - 29473F02ECE1905E01BEB82A = {isa = PBXGroup; children = ( - 1D78EC4983FF07EF7F5B90F8, - 368ACA792AA63A2A353D9241, - CD33944EC8F554BA64242262, - 734A9DABB685FB4C6FBFF63A, - 170C1744EC38808860EC5FF5, - 797024ADCC2EBD68FDC1C5A5, ); name = menus; sourceTree = ""; }; - 694D48159B04EAE4F7521F78 = {isa = PBXGroup; children = ( + CB09BE3765D38BA6415BBFE0 = {isa = PBXGroup; children = ( FC847EE9B175571189CEB522, 135B6889C5DB189F0BD5E5D5, 85843AACDFA8061F182556AE, @@ -1822,72 +1794,7 @@ 66B6F0A0B4CFBAB1C1352742, 483FDD4DC1AAE6377594EBC5, 11A3D99C5AF2C6619ABBF176, ); name = layout; sourceTree = ""; }; - 2C4FD197868903FA32A10559 = {isa = PBXGroup; children = ( - A9235E9E60C4A238FA54047B, - CE6199FD4EDDB4537A206D63, - CAE879F535FD4BCC9DD18A96, - F6892B7A65D34CEA069065ED, - BCCBB4E9E23CF1A2376675E1, - ACF8C9B787F071A59D0D7EFF, - DF1EA5A6EA5F6AE282F2A49B, - 32FB34EFF836CC859B88D59A, - D6E871933044DB7C729653D1, - ED067DE4926598C42B4EBC8B, - 10E32F03CD02144B4E150066, - 88D60BD76FD4D2DDDEC812BF, - 1840BA14C3C29EF2AF08434B, - 859A3E99E9C43B195F80F648, - 16EABF4921D82BAD71BB7AB5, - AC410B09B6B19E3DBFA81342, - 281EDA11196A278E6AB4B7FE, - 2481B3B84FE81519A2FCE441, ); name = buttons; sourceTree = ""; }; - 35E72F0F5305CCDA027D8FD0 = {isa = PBXGroup; children = ( - 854311676B3921D8DD3D0157, - 7E3D799471D4CEFDA9559628, - 05B043441E6AD4C671E76907, - E55E5BA2A453E87D427CB4FA, - 05238D17EC276B357390E5D7, - 394EB2D6CECEDF1C9BA4555B, - CB833C35F124FADDB489217A, - A843CE531AEC32940221ABA1, - B28A031B821E7D99B96609CA, - 91CC923684BB3404154A74E6, - 1C5D3E2D967DCB9B6171F8D1, - 922591A6E5E820CB10974DA5, - 8E21F6EF4E830FF170C5B569, - 23B55CF0886E4D70AD727E19, ); name = positioning; sourceTree = ""; }; - 5CBE527B5452FBD68EF69F25 = {isa = PBXGroup; children = ( - 0908AC305FF07665C1ED181B, - AB0F764CBA1600621049FAE6, - 5FE360FAE9A403ABFF04FBFF, - F9AAC643E9F18D7EFB610EF5, - 275924B6B61ADC7DC45DF465, - 31B770F0F6BD21F867E24035, - 8C557330D246823A53B449A5, - 27F112C058EF5A258E9AC6BE, - 1F7B60B2FB93D6B84720AA08, - 131E8EC2DA7B6E7AA27A6D9B, - 641800593DAE412AA2630600, - 97EE4852EA4CC6213A4DB03D, - 7C997A5BA57D7568AB3E0F79, - 0B544DB0EBE315150B7DB69E, - C35854B72C47F401808A93D6, ); name = drawables; sourceTree = ""; }; - 0E9D9BA8DBBC6609F085ED08 = {isa = PBXGroup; children = ( - 6135C09E481C8C987F2DBB0E, - E8669227B7C5605F03DB0218, - 44888289A2CF2F4FAE8A7216, - D6F4411BCCEA6358FADA3BC3, - FA6C06C38C3B71CDA2D8919A, - 4FB8831B363370118A37844C, - BD22F15779DC50BF4A27B33F, - 0772E67E5B580EAE2C4A248A, - 34A2FB33D2EEC064397B7531, - 8A00D34ABCC62F277B89FED1, - FD0A0A1DBC1E2CEF451EB097, - 62500028F4BBCC38D0CED34D, - F8C9CB0B192609E85304CFD1, - DE51539BA5A479C76A8BB82E, ); name = properties; sourceTree = ""; }; - 9454110AC9CFB425E28985EA = {isa = PBXGroup; children = ( + E192C775CDC45DF4482C6C12 = {isa = PBXGroup; children = ( F6B60D635CDCF67189D36226, DF0BF35672EB45AE2A8E0966, 1693F25ED160AF15F12B1EDF, @@ -1896,48 +1803,40 @@ C3DAB6E6D5D1C1CF8AD15E8A, BBBDDFA136909E051E416C80, 0A8CD57178A1419CC58AE215, ); name = lookandfeel; sourceTree = ""; }; - 2E79909678FCA63C13A6342E = {isa = PBXGroup; children = ( - 93E62B431FD26A26B8955220, - 75160F42498EEF24CDFF6C1F, - 7E8ECB3FC70DFC32CC40E487, - 4473E95B23F65C8E5F7FE05B, - CD0684C129832B1A2C6AE8E1, - B0037C53204AAC9C8255C2BD, - 829C1B8BE77DFC515A7AA26D, - 92691651B73E582D8419516E, - A77C703EF249E18E4314B50B, - B4066FBC70F48956A5613954, - 46EE2A1578E998C3FDAF9E90, - 9B941207317C228D2E7FEA4A, - C8DB56C59EEE6F10765F1880, - 5A69C1F35C3FB44D42654DC2, - FC90CD1022F5AEDEAB769D66, - 7911CEDEA3547CAB3813DA45, - 45F17D16348AC92ABF12AE4F, - 121DCBEAD9B2A41250FE1A8C, - 1D60F9B4132C6DEF087C6102, - AE071AE60A488A88983388A8, - D783DFE1BF328D75FA4EB7EA, - ADF727BFA0B03E4BB95B2E21, ); name = filebrowser; sourceTree = ""; }; - D93EB826B373D2EF3A582BF6 = {isa = PBXGroup; children = ( - 768ED0B52F40AF137ABB4B23, - 0C1AE743A7F57659EDCAFEC7, - A0C842CBFBEF097902336B9F, - 6996A01131F6EC782335849A, - 43C676DCCF3EF43C3E461DBF, - 6827D79ECEE15C9A98A6B135, - 87C79B3F7798AA8550362662, - 4F19EA0D6C57032FB00BA151, - 2FDF6E187E8341031460DC5E, ); name = commands; sourceTree = ""; }; - 15F986546C5C25997A7B0342 = {isa = PBXGroup; children = ( + B9B5C652FB5041AF51B4CDC4 = {isa = PBXGroup; children = ( + 1D78EC4983FF07EF7F5B90F8, + 368ACA792AA63A2A353D9241, + CD33944EC8F554BA64242262, + 734A9DABB685FB4C6FBFF63A, + 170C1744EC38808860EC5FF5, + 797024ADCC2EBD68FDC1C5A5, ); name = menus; sourceTree = ""; }; + 9BF002EB2659EA29997CD976 = {isa = PBXGroup; children = ( 76DFDF2933729C113013EA3E, 3D0A72C575B21608CC08323F, 95EBA44CEF397A39E5A4FB18, D408CA86079E3FE98FEAFF99, ); name = misc; sourceTree = ""; }; - FAFE45DB3117768DDB36C10B = {isa = PBXGroup; children = ( - 7C4B94E6E74999267FF81409, - 8B64303D4A4877BE3D9ECA23, ); name = application; sourceTree = ""; }; - FF33525A8F472392FB59EDCE = {isa = PBXGroup; children = ( + CF1071C5A0847D0E90F8894B = {isa = PBXGroup; children = ( + FE3B1B765FD79B42BAB31946, + 6E74B73FC38D61B2E9838178, + C0636FF79924D1DE1FC5F8CB, + A016A16A72E6597E19D0117C, + 8105E14C122672883486A562, + 1F9241B5C167C0419181B5E5, + BDE06F7154D61ECE453CB356, + 5242C34113987084B2A220E2, + 1AD6B4D9A3ABFC32D70230D8, + BC44D402B4EC2091612352B2, + 8665D9D9CE72D78FA1DB8400, + B3B09D930294921308A25479, + 7585B4D0AF0B0B94FFF5754B, + 562D0A3E3BC11FEEC83922A2, + 7A08DDF75B40A0BB8EC435D1, + 39044A002A444195B2A5350E, + 486B26EF01146242F3C661F7, + F24DBB309D44148115EE7202, + 569FA642C1BD9436D90CAE02, + FBA1D6C3F0CE4D37146DDE37, ); name = mouse; sourceTree = ""; }; + 76FCAEDC5AC2501DC2553DF6 = {isa = PBXGroup; children = ( 0D8E6523CB4D0315377B874D, 4C66A0301EF302CE34C09C92, 87F84688081C0FAAF3BB8BE1, @@ -1954,25 +1853,102 @@ BCC009DED67EBAE7E35C74DE, E853BEF233C01DBAFE0DDD63, A4D41578D2FC92EBF6D6157F, ); name = native; sourceTree = ""; }; + 2A2BE232FE313D7325600496 = {isa = PBXGroup; children = ( + 854311676B3921D8DD3D0157, + 7E3D799471D4CEFDA9559628, + 05B043441E6AD4C671E76907, + E55E5BA2A453E87D427CB4FA, + 05238D17EC276B357390E5D7, + 394EB2D6CECEDF1C9BA4555B, + CB833C35F124FADDB489217A, + A843CE531AEC32940221ABA1, + B28A031B821E7D99B96609CA, + 91CC923684BB3404154A74E6, + 1C5D3E2D967DCB9B6171F8D1, + 922591A6E5E820CB10974DA5, + 8E21F6EF4E830FF170C5B569, + 23B55CF0886E4D70AD727E19, ); name = positioning; sourceTree = ""; }; + 68507AC57329AA622B897B16 = {isa = PBXGroup; children = ( + 6135C09E481C8C987F2DBB0E, + E8669227B7C5605F03DB0218, + 44888289A2CF2F4FAE8A7216, + D6F4411BCCEA6358FADA3BC3, + FA6C06C38C3B71CDA2D8919A, + 4FB8831B363370118A37844C, + BD22F15779DC50BF4A27B33F, + 0772E67E5B580EAE2C4A248A, + 34A2FB33D2EEC064397B7531, + 8A00D34ABCC62F277B89FED1, + FD0A0A1DBC1E2CEF451EB097, + 62500028F4BBCC38D0CED34D, + F8C9CB0B192609E85304CFD1, + DE51539BA5A479C76A8BB82E, ); name = properties; sourceTree = ""; }; + 133EEE32F59B901D4507D257 = {isa = PBXGroup; children = ( + 715049CBFF51DD0B6C96C4AD, + BDA5300CE231168A0DFD9706, + E026A53FF9F9EF195C0EE710, + D8D65FD4A2F1B4572540A21D, + 81531B2A0B3EFDF3AA98F33A, + 9E5D3DF0A5372D0EE20D7C52, + 34A028F41F6B89FE6879A252, + A59547388F399186B5559860, + C2C02D2BE263F8050442D47A, + 92E263576EE09D2FFB2488D4, + 83EB1BA403786C5C84D79B31, + E903BD2C42BC73A2D07B2D56, + 61C15F781039DFD34048F987, + CDCA935BA045154E92DEE09D, + 3E994268B5F30A3299CAFB5D, + 1F2C3B261C75AFE0815B4F6C, + DF77C09D912D32A137200C50, + 96FA1FB83212CA1F7B24340F, + 652B01D78B35590B9ECA9592, + 6706AC981DAB99A2716BD5A9, + 84F8234BF77E0D6A16945175, + 762F1D3C34A3070C92736819, + 59746D5A7A92DEA51E39AC29, + 7A389934F2E8BE092DABF7F6, + B6B15C5ACA212627415B92A6, + 350B2C6A55A8CC92FE9FACD0, + A39AD70F4C86A88879AEE98E, ); name = widgets; sourceTree = ""; }; + 15BA684451D424786EAAFBC9 = {isa = PBXGroup; children = ( + 38B43C95BCC69F232C7A941D, + FDB6B9D5EBB59B8C2069A0E6, + 4FD427089A9CDE1B5B0C4664, + 38C6EF1A2390CCC6DC9F9307, + 483B36334E2D7C2A6F6D5C1E, + A10C76922D7BDC73DF81540D, + C897DAA514552248B4BEB8B1, + C762137F95A067D877B2DDB4, + A8DE43E4A9F916584738AA7E, + 31C21E360B87491DCA771EDE, + C22D2E1636E4E08CCC2A30CD, + F4479BE62D0A08B4D2C02DB9, + E7ABB8B409A117BB3FEEEE0E, + ACF70D3C6DFCF9CE58921468, + 7B3E7CFDA9BE759870114F56, + E39A3A161533974224B415C8, + D2B89986858D8B327441661A, + F40683744DB687F8B72C133C, + D19CD21192E82B0ADDEA153F, ); name = windows; sourceTree = ""; }; DC7A247CC600A1D363C7E386 = {isa = PBXGroup; children = ( - DCE64BC7DA75227D26FEFF4D, - 14FC85DB4914D81BFBFBD76E, - E5C9AB6C3BBCB8C77E074B9C, - F3E951F87E31E5EF048AAE41, - EE0090F4548A821EE653E4CD, - 29473F02ECE1905E01BEB82A, - 694D48159B04EAE4F7521F78, - 2C4FD197868903FA32A10559, - 35E72F0F5305CCDA027D8FD0, - 5CBE527B5452FBD68EF69F25, - 0E9D9BA8DBBC6609F085ED08, - 9454110AC9CFB425E28985EA, - 2E79909678FCA63C13A6342E, - D93EB826B373D2EF3A582BF6, - 15F986546C5C25997A7B0342, - FAFE45DB3117768DDB36C10B, - FF33525A8F472392FB59EDCE, - 53111224BD873CB59FD4E6AD, + D6DD08EA18E75A89E2F11E08, + 16865F06540CB7A7B1C261AA, + E47625E657D79BACCFA1D126, + 3E80C9A944B2FA16BD95CE88, + CE338B6E9D87046DD1167A95, + 2DC570E4FD77A2E1BC56E249, + 954D09F5DD4B5A3F5849A740, + CB09BE3765D38BA6415BBFE0, + E192C775CDC45DF4482C6C12, + B9B5C652FB5041AF51B4CDC4, + 9BF002EB2659EA29997CD976, + CF1071C5A0847D0E90F8894B, + 76FCAEDC5AC2501DC2553DF6, + 2A2BE232FE313D7325600496, + 68507AC57329AA622B897B16, + 133EEE32F59B901D4507D257, + 15BA684451D424786EAAFBC9, BF1DED2E1BA1C076425B8CA0, ); name = "juce_gui_basics"; sourceTree = ""; }; 908BC53083FC3B9D6BB417EE = {isa = PBXGroup; children = ( 55B57622C00BFCBD2B2AC3AD, @@ -2034,9 +2010,21 @@ 29DA925FB1C79A3D2F60DD2C, EEC35FA255E758C24F5C3887, CEFBCB523E84D6B602487BFB, - C6072BB69D5A3F12142BC115, B3345A12095B5451B31BC2B9, ); name = "juce_gui_extra"; sourceTree = ""; }; - 0C071A8378C82B49A8B5C3F5 = {isa = PBXGroup; children = ( + 6401AA2BC61B131DF9725D04 = {isa = PBXGroup; children = ( + 1F9EF1E392691DF9CC82A715, + D424D907C93822CBBABB39D4, + 208C1446FD1A325C1AB92D7B, + 1E566116CD030074BE41AE7C, ); name = geometry; sourceTree = ""; }; + D436D15CD0F2A96A900519BB = {isa = PBXGroup; children = ( + 594503FB43ADDEB6168FEC32, + 6F70AE9408F0C6C37FBC2824, + 6DBAA8FC487AE3C94BF0EA9D, + 56612A865FA5B0E49552BA7A, + D1E4737C60EBD969197A6FA7, + 61205D36742D1BFA2C342241, + D690112A5DB4AC36AE518836, ); name = native; sourceTree = ""; }; + 09952ABC6497519FA26D67E6 = {isa = PBXGroup; children = ( 95166B9DCE9F8F0C5704AAFB, 1768D1D4C1D416203C163E00, 9915F52C7A0F1EB8A2C19B55, @@ -2054,47 +2042,32 @@ E8859539419AFAB74AD0E592, 3C5EB4E00CDBA4EAE7C96902, EEAA56CA1D734C607F3CDDA8, ); name = opengl; sourceTree = ""; }; - D25566AFCC8A2DC64ECC7C4A = {isa = PBXGroup; children = ( - 1F9EF1E392691DF9CC82A715, - D424D907C93822CBBABB39D4, - 208C1446FD1A325C1AB92D7B, - 1E566116CD030074BE41AE7C, ); name = geometry; sourceTree = ""; }; - C77A8EF5C52BD85E7C709F21 = {isa = PBXGroup; children = ( + FE3F2201FA4542634FDB46A5 = {isa = PBXGroup; children = ( 9B3CF30A3919BE54493D59FB, 07A30AAAFC7A005BE5BD13CF, ); name = utils; sourceTree = ""; }; - A925452EC20B59A6CC305A1A = {isa = PBXGroup; children = ( - 594503FB43ADDEB6168FEC32, - 6F70AE9408F0C6C37FBC2824, - 6DBAA8FC487AE3C94BF0EA9D, - 56612A865FA5B0E49552BA7A, - D1E4737C60EBD969197A6FA7, - 61205D36742D1BFA2C342241, - D690112A5DB4AC36AE518836, ); name = native; sourceTree = ""; }; 9A05C793DA07104EA1F82DD2 = {isa = PBXGroup; children = ( - 0C071A8378C82B49A8B5C3F5, - D25566AFCC8A2DC64ECC7C4A, - C77A8EF5C52BD85E7C709F21, - A925452EC20B59A6CC305A1A, - F9F9A26F9FF90E3D18275949, + 6401AA2BC61B131DF9725D04, + D436D15CD0F2A96A900519BB, + 09952ABC6497519FA26D67E6, + FE3F2201FA4542634FDB46A5, 9DA161A15B4C68C62A63A0D1, ); name = "juce_opengl"; sourceTree = ""; }; - DFC0B79DDB8F8248544C34F8 = {isa = PBXGroup; children = ( - 90054A29105E825D9737130B, - 80A4083D5F12CF76E89D3772, ); name = playback; sourceTree = ""; }; - 61DD27E50054ABB8A4C4B8EA = {isa = PBXGroup; children = ( + DC5F62B96EFAE1C594E0ADAE = {isa = PBXGroup; children = ( 1E1A13BFC2C3B8C2F85EEED5, 6E515F0982E797C04C1B4612, ); name = capture; sourceTree = ""; }; - CCE2EB560C10174C66B79CAC = {isa = PBXGroup; children = ( + E88B2650537481AF6DAD4760 = {isa = PBXGroup; children = ( C0624E7928A6685285622AA2, 24F636F42CCC4684B24491B2, 16DA36707AE772CAA1B6810E, DB3CD0B067F5FABA895758A1, E2867ABC0D315CD6C4239554, 77831CE7DF0F7C089A0E8EC9, ); name = native; sourceTree = ""; }; + 3F0BFFB687C0659984796BF8 = {isa = PBXGroup; children = ( + 90054A29105E825D9737130B, + 80A4083D5F12CF76E89D3772, ); name = playback; sourceTree = ""; }; 73ECFA6363C272906389BC2F = {isa = PBXGroup; children = ( - DFC0B79DDB8F8248544C34F8, - 61DD27E50054ABB8A4C4B8EA, - CCE2EB560C10174C66B79CAC, - 676612F907956EE00D5C9856, + DC5F62B96EFAE1C594E0ADAE, + E88B2650537481AF6DAD4760, + 3F0BFFB687C0659984796BF8, 4DB650E1059524F73A732BC1, ); name = "juce_video"; sourceTree = ""; }; 38592324982B511EF7CF4FE1 = {isa = PBXGroup; children = ( 6D6BD190E0292674F39E8980, @@ -2113,23 +2086,23 @@ 73ECFA6363C272906389BC2F, ); name = "Juce Modules"; sourceTree = ""; }; 8FD50932910B01056900DB55 = {isa = PBXGroup; children = ( 0364DE831A6E6B4B0A83D3D1, - 38E1ABBD84C884FA0415656D, - 832DA01918B8312FEC0909CB, - 9A95B88EAC68EEDBB4A6EA80, - 08DC2C6ABC78DEA6ADDA07C7, - E121AC6E7E98A5CAFDA979A5, - 25B67ED795BC11D69805D4A8, - C6CE8E894E9EF9F77754F88C, - 6EC90B8CF8A53493F8D3AA92, - EA74FE68F55905DCC00E5F9B, - 81D922DED89925E8726146B5, - AB53E74A974E246BF80A79E6, - 24F5F702BEEE4A103E7100C3, - 06993C00B6249E3DA3F7E3DD, - 84BAC21CF2D5009634F00330, + 09EA8A83520C46161D7D2755, + 8D176867D45798666BD95148, + EE3589BD41C340083AB21668, + CBB4BEAD22FE4A4BC5B456B7, + 7E2D734218F1780FF00CC3DD, + 7732B295AF2A31839AD666D2, + 3404A775416CF91F09044336, + 174DD4CF66CC36E022366266, + 946C518BCB0E0B0E6ACF32FC, + A78BFF5030E777226A4E8302, + D649919726F44392C046D2E6, + C1C8087ECE896B20639D5F49, + A3D61FF6E3B3F021C831EDC9, + 58CFF4841F9D78B1C0641C0C, FE31FF67DA4B994486AF30B5, ); name = "Juce Library Code"; sourceTree = ""; }; 43FDB2C2DEB73A9729490F71 = {isa = PBXGroup; children = ( - 365B29176E55C070CD0A9F5A, + A7A229511154A5A91A29958D, 563C94CB5AD0F745076DF69B, ); name = Resources; sourceTree = ""; }; 27CABD79CAE4AAD868B6F6AE = {isa = PBXGroup; children = ( D8FF2E14B072C8B9544C95BF, @@ -2146,7 +2119,7 @@ AB17BDF654E684FC179BB7DD, A373D65BDAB25C19EC6A05AE, ); name = Frameworks; sourceTree = ""; }; D2EAA17C8503A297B197A159 = {isa = PBXGroup; children = ( - F2F5F067109EB7C9537DD9AD, ); name = Products; sourceTree = ""; }; + BCC50B48B1A4B967949B2DB2, ); name = Products; sourceTree = ""; }; 9F958921F12E7C784E909D34 = {isa = PBXGroup; children = ( C69BCE512948465235B05858, 38592324982B511EF7CF4FE1, @@ -2154,7 +2127,7 @@ 43FDB2C2DEB73A9729490F71, 27CABD79CAE4AAD868B6F6AE, D2EAA17C8503A297B197A159, ); name = Source; sourceTree = ""; }; - 13DD017E82BE73DE17E3061F = {isa = XCBuildConfiguration; buildSettings = { + 2FFE5285CB0A07579D491975 = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; @@ -2170,13 +2143,13 @@ "JUCE_APP_VERSION_HEX=0x10000", ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.plist; 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 = { + 74219C60B6FB3AD61BD5CD12 = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; @@ -2193,7 +2166,7 @@ GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.plist; INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET = 10.10; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; @@ -2231,31 +2204,32 @@ PRODUCT_NAME = "MPETest"; WARNING_CFLAGS = -Wreorder; ZERO_LINK = NO; }; name = Release; }; + 33F09A62C3878F91E38BA7B3 = {isa = PBXTargetDependency; target = 0DF05A38ED8E8BF6EB7D9C5C; }; CC7502C8943D2FC599DFC557 = {isa = XCConfigurationList; buildConfigurations = ( FEF5C4C4E770A72077867343, 40FE0A8C9EA53BF7A25086B3, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - EC2B3731DA5499850A21A4DA = {isa = XCConfigurationList; buildConfigurations = ( - 13DD017E82BE73DE17E3061F, - 8A3A5202D74C4ED05D01A48C, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 26CE613F6C9512DE5B5EA90A = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 20A88B838659B5B766A08F56 = {isa = XCConfigurationList; buildConfigurations = ( + 2FFE5285CB0A07579D491975, + 74219C60B6FB3AD61BD5CD12, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 518008B4BCAC2EDE2921458A = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( B911480598E3B26D6C5CD121, ); runOnlyForDeploymentPostprocessing = 0; }; - C6DDDDC410B54D1BB911DCE8 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + EF758DF42F97B8D22FD35F80 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 9624DEADA1180DF1694DC960, - 11799C013AE3020D49E30FAA, - 1D658D4157BE1B43D8479B90, - BACF830AD2D2A4A355CF6416, - 40CE4D54E8E5C3D69BE6B28A, - 3BE3610CFA0A5492C15C2B28, - 3554BDF7A9BA55927CE0EEC2, - FC8EF6180A541E21AFA8B61D, - 0ACA2AC433B06D3C3F0E8437, - BCCD66263B8293322F1DF6AC, - C08120E7D42077C188537D18, - A97103497F3243952961BB2C, - 818B6DDE1AD290C3D843D934, - 539BE2D6F29A2DEAA304A22F, - 80D9D554D874198024A99E12, ); runOnlyForDeploymentPostprocessing = 0; }; - 2757C15324B1437EA7429DA4 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + EF8212B417AAAAC6D3474386, + 4BFF94D11CECA761FBAE1410, + B248A4699DD1C7BE084496C9, + 090A55AE76E27BEC1B46A0E0, + F6EFFE3EBDBB88CA2039DFF1, + FED952CF0E36265BDC5C64D0, + C83469ECA9E515BB6A6003DD, + FFD41327C4CC72462DE84C45, + 7C01930A2D6F582A673AC729, + 1875F88D7DFC67ECA1B5888E, + 43F0DC0302D8F7A849E988D4, + 2D9BD6F79DF48E6F11A11BA7, + BAFF5EA46ACD90DFDEBC1BF5, + 331F98DC960CAC10477E6694, ); runOnlyForDeploymentPostprocessing = 0; }; + AF94D754542EEF998EE0EF72 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( CE2807371257B52B1D2B06E0, 189A987224B9646B9AA0D399, 354BBD7645C4F76503133A20, @@ -2269,11 +2243,11 @@ 9A24423E8EB4E7B5AA0FD499, 88E739BEDD7197917839D7C6, 8489C516E3B50AC1AF94A2B7, ); runOnlyForDeploymentPostprocessing = 0; }; - 3F4BE438A23C638EFAB20578 = {isa = PBXNativeTarget; buildConfigurationList = EC2B3731DA5499850A21A4DA; buildPhases = ( - 26CE613F6C9512DE5B5EA90A, - C6DDDDC410B54D1BB911DCE8, - 2757C15324B1437EA7429DA4, ); buildRules = ( ); dependencies = ( ); name = MPETest; productName = MPETest; productReference = F2F5F067109EB7C9537DD9AD; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; - 9606743A47FFF871B775B1AB = {isa = PBXProject; buildConfigurationList = CC7502C8943D2FC599DFC557; attributes = { LastUpgradeCheck = 0440; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 9F958921F12E7C784E909D34; projectDirPath = ""; projectRoot = ""; targets = ( 3F4BE438A23C638EFAB20578 ); }; + 0DF05A38ED8E8BF6EB7D9C5C = {isa = PBXNativeTarget; buildConfigurationList = 20A88B838659B5B766A08F56; buildPhases = ( + 518008B4BCAC2EDE2921458A, + EF758DF42F97B8D22FD35F80, + AF94D754542EEF998EE0EF72, ); buildRules = ( ); dependencies = ( ); name = "MPETest (App)"; productName = MPETest; productReference = BCC50B48B1A4B967949B2DB2; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; + 9606743A47FFF871B775B1AB = {isa = PBXProject; buildConfigurationList = CC7502C8943D2FC599DFC557; attributes = { LastUpgradeCheck = 0440; TargetAttributes = { 0DF05A38ED8E8BF6EB7D9C5C = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 9F958921F12E7C784E909D34; projectDirPath = ""; projectRoot = ""; targets = (0DF05A38ED8E8BF6EB7D9C5C); }; }; rootObject = 9606743A47FFF871B775B1AB; } diff --git a/examples/MPETest/Builds/VisualStudio2015/MPETest.vcxproj b/examples/MPETest/Builds/VisualStudio2015/MPETest.vcxproj index 459c2c3613..02a474ba21 100644 --- a/examples/MPETest/Builds/VisualStudio2015/MPETest.vcxproj +++ b/examples/MPETest/Builds/VisualStudio2015/MPETest.vcxproj @@ -217,6 +217,9 @@ true + + true + true @@ -232,15 +235,6 @@ true - - true - - - true - - - true - true @@ -289,25 +283,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -337,9 +316,45 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + true + + true + + + true + + + true + + + true + + + true + true @@ -358,21 +373,6 @@ true - - true - - - true - - - true - - - true - - - true - true @@ -406,9 +406,6 @@ true - - true - true @@ -418,43 +415,7 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -472,33 +433,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -523,40 +457,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -565,31 +469,16 @@ true - + true - + true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -655,6 +544,117 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -673,6 +673,15 @@ true + + true + + + true + + + true + true @@ -682,33 +691,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -727,6 +709,18 @@ true + + true + + + true + + + true + + + true + true @@ -736,6 +730,12 @@ true + + true + + + true + true @@ -757,43 +757,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -814,10 +781,40 @@ true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -844,6 +841,51 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -856,6 +898,153 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -877,19 +1066,70 @@ true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -958,246 +1198,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -1306,20 +1306,20 @@ true - - - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -1364,6 +1364,8 @@ + + @@ -1371,20 +1373,10 @@ + - - - - - - - - - - - @@ -1394,8 +1386,25 @@ + + + + + + + + + + + + + + + + + @@ -1406,15 +1415,6 @@ - - - - - - - - - @@ -1435,21 +1435,35 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1470,22 +1484,49 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1505,53 +1546,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - @@ -1560,14 +1560,22 @@ + + + + - - - - + + + + + + + + @@ -1577,19 +1585,11 @@ - - - - - - - - - - + + @@ -1600,10 +1600,15 @@ - - - - + + + + + + + + + @@ -1614,26 +1619,91 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1647,14 +1717,21 @@ - - - - - - - - + + + + + + + + + + + + + + + @@ -1679,83 +1756,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1781,6 +1781,17 @@ + + + + + + + + + + + @@ -1790,42 +1801,15 @@ - - - - - - - - - - - + - - - - - - - - - - - - - - - - - diff --git a/examples/MPETest/Builds/VisualStudio2015/MPETest.vcxproj.filters b/examples/MPETest/Builds/VisualStudio2015/MPETest.vcxproj.filters index 48b98fc633..4bb8d44e8c 100644 --- a/examples/MPETest/Builds/VisualStudio2015/MPETest.vcxproj.filters +++ b/examples/MPETest/Builds/VisualStudio2015/MPETest.vcxproj.filters @@ -35,45 +35,45 @@ {CACD7B50-4DB3-76AF-A6E8-90DF94F8F594} + + {45C2CE26-EC4B-BA52-58F3-297C408E1483} + {9D270B31-2425-8FDB-84A4-6A2288FF5B2F} {0F766DD4-A277-CB86-5647-42498C8B41E1} - - {D64942B4-6984-3623-3347-45D472AE1C61} - - - {45C2CE26-EC4B-BA52-58F3-297C408E1483} - {01603E05-423B-5FC3-1BEE-E15ED33B5688} + + {D64942B4-6984-3623-3347-45D472AE1C61} + {65CB28F8-0422-A8F3-9A17-959E12A1F8E2} - - {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} - {0CD9E281-DDD0-91EC-6F77-EA9D9D5E0E1A} + + {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} + {40C5CA7C-AEBB-05B1-11CE-AE41D87B5CCB} {0B0E7392-324B-088C-FBEB-5FE999D61782} - - {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} - {20254EFE-6CBD-31A7-2119-92B1E0E0E311} {70796D73-6D30-8A1B-4732-7C021E47C05A} + + {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} + {EB8DD942-E2CB-869F-D381-E02A65BA790B} @@ -86,17 +86,26 @@ {8167E753-09C7-5D1C-EF2B-32D297557443} - - {AEDCB7F7-7A36-5392-8E9A-715F5BDE35CB} - {B48C883A-8483-AF6D-808C-1D9A749048D8} + + {AEDCB7F7-7A36-5392-8E9A-715F5BDE35CB} + {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} - - {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + + {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + + {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + + {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} {476C69CE-0B67-6B85-E888-45D91E37A29E} @@ -104,17 +113,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} - - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -122,29 +125,26 @@ {91929C6F-7902-B87D-5260-2F6CBF8ACD93} - - {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} - {4634FFAE-9586-A970-364C-4FDDA635F99F} - - {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} - - {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - {F03654BC-34D8-F975-BEA3-750CC2783D23} + + {C9F6D785-BF78-5AA1-B479-111C65397864} {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} - - {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} - - {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + {F03654BC-34D8-F975-BEA3-750CC2783D23} {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} @@ -158,33 +158,33 @@ {928D8FCC-5E00-174B-6538-93E8D75AB396} - - {1988E68A-A964-64CA-0E0C-26FF9BC5176C} + + {358AEA11-3F96-36AE-7B32-71373B5C5396} {3DF036EA-3B80-553B-2494-3AAC835CAE75} - - {358AEA11-3F96-36AE-7B32-71373B5C5396} + + {1988E68A-A964-64CA-0E0C-26FF9BC5176C} {F2A38F45-6E55-E147-2E52-64A89FDD9D59} - - {6172822C-01A5-E824-12DA-FA43FA934D35} - - - {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} - {B098BC87-3298-7E6B-12DC-D26C09CDCAED} {6322B88F-984A-C3CD-6263-38D7AA49B6EC} + + {6172822C-01A5-E824-12DA-FA43FA934D35} + {73C1E759-AD90-59A3-942E-2D10FAA29107} + + {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} + {EE1AE8C3-0908-8F53-A4E5-D930C7C97C26} @@ -194,81 +194,81 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} - - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - - {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {E37D25CD-4350-4614-055B-7ABC55E67895} {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {C1A1A236-AB01-173E-96C3-0706BFF93B1E} + + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + + {413F481F-075C-2958-115C-D8268682FCB7} {FFC6E1CC-C772-75E6-5087-FB5D4E016799} + + {1182303F-ECA3-166D-AC0C-92C5E762CB93} + {8E43579F-C185-266D-DD67-F8B95BD80F2F} + + {61712B09-5783-ADFA-2001-5A0C3D7764EB} + + + {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + + {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} + {2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D} - - {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + {5A0AA36E-3957-E413-14C6-31CBE15271DF} + + + {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} {A92719C7-70BE-57C4-CE9E-A9BC9DFEB757} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} + + + {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} + + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} + + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + + {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} + + + {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} + {75F1F352-251A-75E0-D941-8431588F5C1E} {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} - - {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} - - - {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} - - - {5A0AA36E-3957-E413-14C6-31CBE15271DF} - - - {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} - - - {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} - - - {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} - - - {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} - - - {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - - {61712B09-5783-ADFA-2001-5A0C3D7764EB} - - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} - {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -290,30 +290,30 @@ {639E16C5-DA8B-ADBA-6E24-7B596378EAB2} - - {2D8D0E19-E676-83EB-38D9-F73500DD6B79} - {B3141847-8F13-F67D-45B2-E3ECF6E09088} - - {9E586194-C056-101C-5311-F2AF5191AC80} - {151B49D8-6102-F802-1C07-D59931BC0574} + + {2D8D0E19-E676-83EB-38D9-F73500DD6B79} + + + {9E586194-C056-101C-5311-F2AF5191AC80} + {72A923E2-C729-DB92-D7BF-A9D4AFAE5896} - - {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} - {7F11E7D2-54C0-2A36-5F15-BEC0A5374A08} {EE985DEA-CD83-8132-7219-542BB1DAD560} + + {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} + {8B4D1BAA-6DB4-CAEC-A0FA-271F354D5C61} @@ -409,6 +409,9 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -424,15 +427,6 @@ Juce Modules\juce_audio_devices\midi_io - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\audio_cd - Juce Modules\juce_audio_devices\native @@ -487,26 +481,11 @@ Juce Modules\juce_audio_devices\native - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_formats\codecs @@ -535,27 +514,30 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - Juce Modules\juce_audio_processors\format @@ -574,6 +556,24 @@ Juce Modules\juce_audio_processors\format_types + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + Juce Modules\juce_audio_processors\scanning @@ -607,9 +607,6 @@ Juce Modules\juce_audio_utils\gui - - Juce Modules\juce_audio_utils\players - Juce Modules\juce_audio_utils\native @@ -625,44 +622,8 @@ Juce Modules\juce_audio_utils\native - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\memory + + Juce Modules\juce_audio_utils\players Juce Modules\juce_core\containers @@ -679,33 +640,6 @@ Juce Modules\juce_core\containers - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - Juce Modules\juce_core\files @@ -730,41 +664,11 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -772,32 +676,17 @@ Juce Modules\juce_core\logging - - Juce Modules\juce_core\system + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc @@ -877,6 +766,117 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + Juce Modules\juce_cryptography\encryption @@ -895,6 +895,15 @@ Juce Modules\juce_cryptography\hashing + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -904,33 +913,6 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - Juce Modules\juce_events\broadcasters @@ -949,6 +931,18 @@ Juce Modules\juce_events\interprocess + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + Juce Modules\juce_events\native @@ -964,6 +958,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_graphics\colour @@ -985,44 +985,11 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\effects Juce Modules\juce_graphics\fonts @@ -1042,11 +1009,41 @@ Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -1078,6 +1075,51 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -1090,6 +1132,153 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -1111,20 +1300,92 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -1192,267 +1453,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_extra\code_editor @@ -1579,46 +1579,46 @@ Juce Modules\juce_video\native - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code @@ -1749,6 +1749,12 @@ Juce Modules\juce_audio_basics + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -1770,48 +1776,18 @@ Juce Modules\juce_audio_devices\midi_io + + Juce Modules\juce_audio_devices\native + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\native - Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - Juce Modules\juce_audio_formats\codecs @@ -1839,12 +1815,63 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + Juce Modules\juce_audio_processors\processors @@ -1875,33 +1902,6 @@ Juce Modules\juce_audio_processors\processors - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - Juce Modules\juce_audio_processors\scanning @@ -1962,50 +1962,92 @@ Juce Modules\juce_audio_utils - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -2067,53 +2109,134 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text Juce Modules\juce_core\threads @@ -2172,92 +2295,8 @@ Juce Modules\juce_core\time - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -2265,12 +2304,6 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - Juce Modules\juce_core\zip @@ -2280,39 +2313,6 @@ Juce Modules\juce_core\zip - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - Juce Modules\juce_core @@ -2337,6 +2337,18 @@ Juce Modules\juce_cryptography + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -2346,21 +2358,33 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - Juce Modules\juce_data_structures + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + Juce Modules\juce_events\messages @@ -2388,36 +2412,6 @@ Juce Modules\juce_events\messages - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - Juce Modules\juce_events\native @@ -2427,6 +2421,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_events @@ -2457,17 +2457,32 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -2499,38 +2514,17 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -2541,9 +2535,60 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + Juce Modules\juce_graphics + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -2559,6 +2604,171 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -2598,29 +2808,50 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -2694,237 +2925,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_basics @@ -3000,6 +3000,39 @@ Juce Modules\juce_gui_extra + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + Juce Modules\juce_opengl\opengl @@ -3027,54 +3060,21 @@ Juce Modules\juce_opengl\opengl - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - Juce Modules\juce_opengl\utils - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - Juce Modules\juce_opengl + + Juce Modules\juce_video\capture + Juce Modules\juce_video\playback Juce Modules\juce_video\playback - - Juce Modules\juce_video\capture - Juce Modules\juce_video @@ -3085,50 +3085,6 @@ Juce Library Code - - - Juce Modules\juce_audio_basics - - - Juce Modules\juce_audio_devices - - - Juce Modules\juce_audio_formats - - - Juce Modules\juce_audio_processors - - - Juce Modules\juce_audio_utils - - - Juce Modules\juce_core - - - Juce Modules\juce_cryptography - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_gui_extra - - - Juce Modules\juce_opengl - - - Juce Modules\juce_video - - Juce Library Code diff --git a/examples/MPETest/JuceLibraryCode/AppConfig.h b/examples/MPETest/JuceLibraryCode/AppConfig.h index 8c9d6b412a..1cd1c1ccf0 100644 --- a/examples/MPETest/JuceLibraryCode/AppConfig.h +++ b/examples/MPETest/JuceLibraryCode/AppConfig.h @@ -4,8 +4,8 @@ project - if you alter its contents, your changes may be overwritten! There's a section below where you can add your own custom code safely, and the - Introjucer will preserve the contents of that block, but the best way to change - any of these definitions is by using the Introjucer's project settings. + Projucer will preserve the contents of that block, but the best way to change + any of these definitions is by using the Projucer's project settings. Any commented-out settings will assume their default values. @@ -17,7 +17,7 @@ //============================================================================== // [BEGIN_USER_CODE_SECTION] -// (You can add your own code in this section, and the Introjucer will not overwrite it) +// (You can add your own code in this section, and the Projucer will not overwrite it) // [END_USER_CODE_SECTION] @@ -39,9 +39,15 @@ //============================================================================== #ifndef JUCE_STANDALONE_APPLICATION - #define JUCE_STANDALONE_APPLICATION 1 + #ifdef JucePlugin_Build_Standalone + #define JUCE_STANDALONE_APPLICATION JucePlugin_Build_Standalone + #else + #define JUCE_STANDALONE_APPLICATION 1 + #endif #endif +#define JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED 1 + //============================================================================== // juce_audio_devices flags: diff --git a/examples/MPETest/JuceLibraryCode/JuceHeader.h b/examples/MPETest/JuceLibraryCode/JuceHeader.h index e993d65d37..57a588c042 100644 --- a/examples/MPETest/JuceLibraryCode/JuceHeader.h +++ b/examples/MPETest/JuceLibraryCode/JuceHeader.h @@ -14,20 +14,22 @@ #define __APPHEADERFILE_IILE7R__ #include "AppConfig.h" -#include "modules/juce_audio_basics/juce_audio_basics.h" -#include "modules/juce_audio_devices/juce_audio_devices.h" -#include "modules/juce_audio_formats/juce_audio_formats.h" -#include "modules/juce_audio_processors/juce_audio_processors.h" -#include "modules/juce_audio_utils/juce_audio_utils.h" -#include "modules/juce_core/juce_core.h" -#include "modules/juce_cryptography/juce_cryptography.h" -#include "modules/juce_data_structures/juce_data_structures.h" -#include "modules/juce_events/juce_events.h" -#include "modules/juce_graphics/juce_graphics.h" -#include "modules/juce_gui_basics/juce_gui_basics.h" -#include "modules/juce_gui_extra/juce_gui_extra.h" -#include "modules/juce_opengl/juce_opengl.h" -#include "modules/juce_video/juce_video.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + #if ! DONT_SET_USING_JUCE_NAMESPACE // If your code uses a lot of JUCE classes, then this will obviously save you diff --git a/examples/MPETest/JuceLibraryCode/ReadMe.txt b/examples/MPETest/JuceLibraryCode/ReadMe.txt index f6c3564e99..091a5aa6eb 100644 --- a/examples/MPETest/JuceLibraryCode/ReadMe.txt +++ b/examples/MPETest/JuceLibraryCode/ReadMe.txt @@ -2,11 +2,11 @@ Important Note!! ================ -The purpose of this folder is to contain files that are auto-generated by the Introjucer, +The purpose of this folder is to contain files that are auto-generated by the Projucer, and ALL files in this folder will be mercilessly DELETED and completely re-written whenever -the Introjucer saves your project. +the Projucer saves your project. Therefore, it's a bad idea to make any manual changes to the files in here, or to put any of your own files in here if you don't want to lose them. (Of course you may choose to add the folder's contents to your version-control system so that you can re-merge your own -modifications after the Introjucer has saved its changes). +modifications after the Projucer has saved its changes). diff --git a/examples/MPETest/JuceLibraryCode/juce_audio_basics.cpp b/examples/MPETest/JuceLibraryCode/juce_audio_basics.cpp new file mode 100644 index 0000000000..418694873c --- /dev/null +++ b/examples/MPETest/JuceLibraryCode/juce_audio_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MPETest/JuceLibraryCode/juce_audio_basics.mm b/examples/MPETest/JuceLibraryCode/juce_audio_basics.mm new file mode 100644 index 0000000000..e0e6c577cc --- /dev/null +++ b/examples/MPETest/JuceLibraryCode/juce_audio_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MPETest/JuceLibraryCode/juce_audio_devices.cpp b/examples/MPETest/JuceLibraryCode/juce_audio_devices.cpp new file mode 100644 index 0000000000..fb5c2219d7 --- /dev/null +++ b/examples/MPETest/JuceLibraryCode/juce_audio_devices.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MPETest/JuceLibraryCode/juce_audio_devices.mm b/examples/MPETest/JuceLibraryCode/juce_audio_devices.mm new file mode 100644 index 0000000000..e58b67ea49 --- /dev/null +++ b/examples/MPETest/JuceLibraryCode/juce_audio_devices.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MPETest/JuceLibraryCode/juce_audio_formats.cpp b/examples/MPETest/JuceLibraryCode/juce_audio_formats.cpp new file mode 100644 index 0000000000..a3c61170eb --- /dev/null +++ b/examples/MPETest/JuceLibraryCode/juce_audio_formats.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MPETest/JuceLibraryCode/juce_audio_formats.mm b/examples/MPETest/JuceLibraryCode/juce_audio_formats.mm new file mode 100644 index 0000000000..f325b8fb67 --- /dev/null +++ b/examples/MPETest/JuceLibraryCode/juce_audio_formats.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MPETest/JuceLibraryCode/juce_audio_processors.cpp b/examples/MPETest/JuceLibraryCode/juce_audio_processors.cpp new file mode 100644 index 0000000000..bfe172edd0 --- /dev/null +++ b/examples/MPETest/JuceLibraryCode/juce_audio_processors.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MPETest/JuceLibraryCode/juce_audio_processors.mm b/examples/MPETest/JuceLibraryCode/juce_audio_processors.mm new file mode 100644 index 0000000000..b80ae9017f --- /dev/null +++ b/examples/MPETest/JuceLibraryCode/juce_audio_processors.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MPETest/JuceLibraryCode/juce_audio_utils.cpp b/examples/MPETest/JuceLibraryCode/juce_audio_utils.cpp new file mode 100644 index 0000000000..97bd2c568c --- /dev/null +++ b/examples/MPETest/JuceLibraryCode/juce_audio_utils.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MPETest/JuceLibraryCode/juce_audio_utils.mm b/examples/MPETest/JuceLibraryCode/juce_audio_utils.mm new file mode 100644 index 0000000000..8eae7c6e2f --- /dev/null +++ b/examples/MPETest/JuceLibraryCode/juce_audio_utils.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MPETest/JuceLibraryCode/juce_core.cpp b/examples/MPETest/JuceLibraryCode/juce_core.cpp new file mode 100644 index 0000000000..d0ce1636f0 --- /dev/null +++ b/examples/MPETest/JuceLibraryCode/juce_core.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MPETest/JuceLibraryCode/juce_core.mm b/examples/MPETest/JuceLibraryCode/juce_core.mm new file mode 100644 index 0000000000..72b10bf817 --- /dev/null +++ b/examples/MPETest/JuceLibraryCode/juce_core.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MPETest/JuceLibraryCode/juce_cryptography.cpp b/examples/MPETest/JuceLibraryCode/juce_cryptography.cpp new file mode 100644 index 0000000000..10b3401dbe --- /dev/null +++ b/examples/MPETest/JuceLibraryCode/juce_cryptography.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MPETest/JuceLibraryCode/juce_cryptography.mm b/examples/MPETest/JuceLibraryCode/juce_cryptography.mm new file mode 100644 index 0000000000..9311ea0ffe --- /dev/null +++ b/examples/MPETest/JuceLibraryCode/juce_cryptography.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MPETest/JuceLibraryCode/juce_data_structures.cpp b/examples/MPETest/JuceLibraryCode/juce_data_structures.cpp new file mode 100644 index 0000000000..9315aa1686 --- /dev/null +++ b/examples/MPETest/JuceLibraryCode/juce_data_structures.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MPETest/JuceLibraryCode/juce_data_structures.mm b/examples/MPETest/JuceLibraryCode/juce_data_structures.mm new file mode 100644 index 0000000000..695ec43925 --- /dev/null +++ b/examples/MPETest/JuceLibraryCode/juce_data_structures.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MPETest/JuceLibraryCode/juce_events.cpp b/examples/MPETest/JuceLibraryCode/juce_events.cpp new file mode 100644 index 0000000000..1bba110a97 --- /dev/null +++ b/examples/MPETest/JuceLibraryCode/juce_events.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MPETest/JuceLibraryCode/juce_events.mm b/examples/MPETest/JuceLibraryCode/juce_events.mm new file mode 100644 index 0000000000..4cc34fc401 --- /dev/null +++ b/examples/MPETest/JuceLibraryCode/juce_events.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MPETest/JuceLibraryCode/juce_graphics.cpp b/examples/MPETest/JuceLibraryCode/juce_graphics.cpp new file mode 100644 index 0000000000..319c76de0e --- /dev/null +++ b/examples/MPETest/JuceLibraryCode/juce_graphics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MPETest/JuceLibraryCode/juce_graphics.mm b/examples/MPETest/JuceLibraryCode/juce_graphics.mm new file mode 100644 index 0000000000..b28e6dd056 --- /dev/null +++ b/examples/MPETest/JuceLibraryCode/juce_graphics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MPETest/JuceLibraryCode/juce_gui_basics.cpp b/examples/MPETest/JuceLibraryCode/juce_gui_basics.cpp new file mode 100644 index 0000000000..216c76bb05 --- /dev/null +++ b/examples/MPETest/JuceLibraryCode/juce_gui_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MPETest/JuceLibraryCode/juce_gui_basics.mm b/examples/MPETest/JuceLibraryCode/juce_gui_basics.mm new file mode 100644 index 0000000000..6a9726fa5f --- /dev/null +++ b/examples/MPETest/JuceLibraryCode/juce_gui_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MPETest/JuceLibraryCode/juce_gui_extra.cpp b/examples/MPETest/JuceLibraryCode/juce_gui_extra.cpp new file mode 100644 index 0000000000..7226e19833 --- /dev/null +++ b/examples/MPETest/JuceLibraryCode/juce_gui_extra.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MPETest/JuceLibraryCode/juce_gui_extra.mm b/examples/MPETest/JuceLibraryCode/juce_gui_extra.mm new file mode 100644 index 0000000000..c9b6c3bfc6 --- /dev/null +++ b/examples/MPETest/JuceLibraryCode/juce_gui_extra.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MPETest/JuceLibraryCode/juce_opengl.cpp b/examples/MPETest/JuceLibraryCode/juce_opengl.cpp new file mode 100644 index 0000000000..d9895bce92 --- /dev/null +++ b/examples/MPETest/JuceLibraryCode/juce_opengl.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MPETest/JuceLibraryCode/juce_opengl.mm b/examples/MPETest/JuceLibraryCode/juce_opengl.mm new file mode 100644 index 0000000000..6c2c32d095 --- /dev/null +++ b/examples/MPETest/JuceLibraryCode/juce_opengl.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MPETest/JuceLibraryCode/juce_video.cpp b/examples/MPETest/JuceLibraryCode/juce_video.cpp new file mode 100644 index 0000000000..bdf22ee131 --- /dev/null +++ b/examples/MPETest/JuceLibraryCode/juce_video.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MPETest/JuceLibraryCode/juce_video.mm b/examples/MPETest/JuceLibraryCode/juce_video.mm new file mode 100644 index 0000000000..3da705bccd --- /dev/null +++ b/examples/MPETest/JuceLibraryCode/juce_video.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MPETest/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h b/examples/MPETest/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h deleted file mode 100644 index 9befea8142..0000000000 --- a/examples/MPETest/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_basics/juce_audio_basics.h" diff --git a/examples/MPETest/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h b/examples/MPETest/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h deleted file mode 100644 index eba6d3a9e5..0000000000 --- a/examples/MPETest/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_devices/juce_audio_devices.h" diff --git a/examples/MPETest/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h b/examples/MPETest/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h deleted file mode 100644 index 4629b0ef2c..0000000000 --- a/examples/MPETest/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_formats/juce_audio_formats.h" diff --git a/examples/MPETest/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h b/examples/MPETest/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h deleted file mode 100644 index 7d4583dbf8..0000000000 --- a/examples/MPETest/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_processors/juce_audio_processors.h" diff --git a/examples/MPETest/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h b/examples/MPETest/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h deleted file mode 100644 index bb997d30d3..0000000000 --- a/examples/MPETest/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_utils/juce_audio_utils.h" diff --git a/examples/MPETest/JuceLibraryCode/modules/juce_core/juce_core.h b/examples/MPETest/JuceLibraryCode/modules/juce_core/juce_core.h deleted file mode 100644 index 06e88f9352..0000000000 --- a/examples/MPETest/JuceLibraryCode/modules/juce_core/juce_core.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_core/juce_core.h" diff --git a/examples/MPETest/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h b/examples/MPETest/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h deleted file mode 100644 index e4574f4749..0000000000 --- a/examples/MPETest/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_cryptography/juce_cryptography.h" diff --git a/examples/MPETest/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h b/examples/MPETest/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h deleted file mode 100644 index 9d814fd953..0000000000 --- a/examples/MPETest/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_data_structures/juce_data_structures.h" diff --git a/examples/MPETest/JuceLibraryCode/modules/juce_events/juce_events.h b/examples/MPETest/JuceLibraryCode/modules/juce_events/juce_events.h deleted file mode 100644 index 509b1df8d2..0000000000 --- a/examples/MPETest/JuceLibraryCode/modules/juce_events/juce_events.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_events/juce_events.h" diff --git a/examples/MPETest/JuceLibraryCode/modules/juce_graphics/juce_graphics.h b/examples/MPETest/JuceLibraryCode/modules/juce_graphics/juce_graphics.h deleted file mode 100644 index 28edbf35e3..0000000000 --- a/examples/MPETest/JuceLibraryCode/modules/juce_graphics/juce_graphics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_graphics/juce_graphics.h" diff --git a/examples/MPETest/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h b/examples/MPETest/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h deleted file mode 100644 index 81ad4b7297..0000000000 --- a/examples/MPETest/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_gui_basics/juce_gui_basics.h" diff --git a/examples/MPETest/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h b/examples/MPETest/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h deleted file mode 100644 index 5c9b7a96b5..0000000000 --- a/examples/MPETest/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_gui_extra/juce_gui_extra.h" diff --git a/examples/MPETest/JuceLibraryCode/modules/juce_opengl/juce_opengl.h b/examples/MPETest/JuceLibraryCode/modules/juce_opengl/juce_opengl.h deleted file mode 100644 index 718392ff72..0000000000 --- a/examples/MPETest/JuceLibraryCode/modules/juce_opengl/juce_opengl.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_opengl/juce_opengl.h" diff --git a/examples/MPETest/JuceLibraryCode/modules/juce_video/juce_video.h b/examples/MPETest/JuceLibraryCode/modules/juce_video/juce_video.h deleted file mode 100644 index 0dd1636ec2..0000000000 --- a/examples/MPETest/JuceLibraryCode/modules/juce_video/juce_video.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_video/juce_video.h" diff --git a/examples/MPETest/MPETest.jucer b/examples/MPETest/MPETest.jucer index cfc7570894..8e964a8245 100644 --- a/examples/MPETest/MPETest.jucer +++ b/examples/MPETest/MPETest.jucer @@ -2,7 +2,7 @@ + jucerVersion="4.2.0"> diff --git a/examples/MPETest/Source/MPEDemoSynthVoice.h b/examples/MPETest/Source/MPEDemoSynthVoice.h index e2cca2b608..9bb99222f2 100644 --- a/examples/MPETest/Source/MPEDemoSynthVoice.h +++ b/examples/MPETest/Source/MPEDemoSynthVoice.h @@ -30,13 +30,13 @@ class MPEDemoSynthVoice : public MPESynthesiserVoice { public: - //========================================================================== + //============================================================================== MPEDemoSynthVoice() : phase (0.0), phaseDelta (0.0), tailOff (0.0) { } - //========================================================================== + //============================================================================== void noteStarted() override { jassert (currentlyPlayingNote.isValid()); @@ -107,7 +107,7 @@ public: } } - //========================================================================== + //============================================================================== virtual void renderNextBlock (AudioBuffer& outputBuffer, int startSample, int numSamples) override @@ -152,7 +152,7 @@ public: } private: - //========================================================================== + //============================================================================== float getNextSample() noexcept { const double levelDb = (level.getNextValue() - 1.0) * maxLevelDb; @@ -160,7 +160,7 @@ private: // timbre is used to blend between a sine and a square. const double f1 = std::sin (phase); - const double f2 = std::copysign (1.0, f1); + const double f2 = std::copysign (1.0, f1); const double a2 = timbre.getNextValue(); const double a1 = 1.0 - a2; @@ -173,7 +173,7 @@ private: return nextSample; } - //========================================================================== + //============================================================================== LinearSmoothedValue level, timbre, frequency; double phase, phaseDelta, tailOff; diff --git a/examples/MPETest/Source/MPESetupComponent.h b/examples/MPETest/Source/MPESetupComponent.h index 555c68c4bb..3f68caad82 100644 --- a/examples/MPETest/Source/MPESetupComponent.h +++ b/examples/MPETest/Source/MPESetupComponent.h @@ -33,7 +33,7 @@ class MPESetupComponent : public Component, private ComboBox::Listener { public: - //========================================================================== + //============================================================================== class Listener { public: @@ -48,7 +48,7 @@ public: void addListener (Listener* listenerToAdd) { listeners.add (listenerToAdd); } void removeListener (Listener* listenerToRemove) { listeners.remove (listenerToRemove); } - //========================================================================== + //============================================================================== MPESetupComponent() : masterChannelLabel (String::empty, "Master channel:"), noteChannelsLabel (String::empty, "Nr. of note channels:"), @@ -82,7 +82,7 @@ public: numberOfVoices.addListener (this); } - //========================================================================== + //============================================================================== void resized() override { Rectangle r (proportionOfWidth (0.65f), 15, proportionOfWidth (0.25f), 3000); @@ -122,7 +122,7 @@ public: } private: - //========================================================================== + //============================================================================== void initialiseComboBoxWithConsecutiveIntegers (ComboBox& comboBox, Label& labelToAttach, int firstValue, int numValues, int valueToSelect, bool makeVisible = true) @@ -141,14 +141,14 @@ private: comboBox.addListener (this); } - //========================================================================== + //============================================================================== void initialiseButton (Button& button) { addAndMakeVisible (button); button.addListener (this); } - //========================================================================== + //============================================================================== void buttonClicked (Button* button) override { if (button == &addZoneButton) @@ -161,7 +161,7 @@ private: voiceStealingEnabledToggleClicked(); } - //========================================================================== + //============================================================================== void addZoneButtonClicked() { if (areMPEParametersValid()) @@ -180,14 +180,14 @@ private: } } - //========================================================================== + //============================================================================== void clearAllZonesButtonClicked() { zoneLayout.clearAllZones(); listeners.call (&MPESetupComponent::Listener::allZonesCleared); } - //========================================================================== + //============================================================================== void legacyModeEnabledToggleClicked() { bool legacyModeEnabled = legacyModeEnabledToggle.getToggleState(); @@ -216,14 +216,14 @@ private: } } - //========================================================================== + //============================================================================== void voiceStealingEnabledToggleClicked() { listeners.call (&MPESetupComponent::Listener::voiceStealingEnabledChanged, voiceStealingEnabledToggle.getToggleState()); } - //========================================================================== + //============================================================================== void comboBoxChanged (ComboBox* comboBoxThatHasChanged) override { if (comboBoxThatHasChanged == &numberOfVoices) @@ -239,7 +239,7 @@ private: } } - //========================================================================== + //============================================================================== void numberOfVoicesChanged() { listeners.call (&MPESetupComponent::Listener::numberOfVoicesChanged, @@ -271,7 +271,7 @@ private: } } - //========================================================================== + //============================================================================== bool areMPEParametersValid() const { int maxPossibleNumNoteChannels = 16 - masterChannel.getText().getIntValue(); @@ -301,14 +301,14 @@ private: "Got it"); } - //========================================================================== + //============================================================================== Range getLegacyModeChannelRange() const { return Range (legacyStartChannel.getText().getIntValue(), legacyEndChannel.getText().getIntValue() + 1); } - //========================================================================== + //============================================================================== MPEZoneLayout zoneLayout; ComboBox masterChannel, noteChannels, masterPitchbendRange, notePitchbendRange; diff --git a/examples/MPETest/Source/Main.cpp b/examples/MPETest/Source/Main.cpp index fe17cebfa6..a858eb7a26 100644 --- a/examples/MPETest/Source/Main.cpp +++ b/examples/MPETest/Source/Main.cpp @@ -42,14 +42,14 @@ struct MPETestClasses class MPETestApplication : public JUCEApplication { public: - //========================================================================== + //============================================================================== MPETestApplication() {} const String getApplicationName() override { return ProjectInfo::projectName; } const String getApplicationVersion() override { return ProjectInfo::versionString; } bool moreThanOneInstanceAllowed() override { return true; } - //========================================================================== + //============================================================================== void initialise (const String&) override { mainWindow = new MainWindow (getApplicationName()); @@ -65,7 +65,7 @@ public: quit(); } - //========================================================================== + //============================================================================== class MainWindow : public DocumentWindow { public: @@ -88,7 +88,7 @@ public: }; private: - //========================================================================== + //============================================================================== ScopedPointer mainWindow; }; diff --git a/examples/MPETest/Source/MainComponent.h b/examples/MPETest/Source/MainComponent.h index f1a481f80b..f1c35c0073 100644 --- a/examples/MPETest/Source/MainComponent.h +++ b/examples/MPETest/Source/MainComponent.h @@ -33,7 +33,7 @@ class MainComponent : public Component, private MPESetupComponent::Listener { public: - //========================================================================== + //============================================================================== MainComponent() : audioSetupComp (audioDeviceManager, 0, 0, 0, 256, true, true, true, false), zoneLayoutComp (colourPicker), @@ -68,7 +68,7 @@ public: audioDeviceManager.removeMidiInputCallback (String::empty, this); } - //========================================================================== + //============================================================================== void resized() override { const int visualiserCompWidth = 2800; @@ -87,7 +87,7 @@ public: MPESetupComp.setBounds (r); } - //========================================================================== + //============================================================================== void audioDeviceIOCallback (const float** /*inputChannelData*/, int /*numInputChannels*/, float** outputChannelData, int numOutputChannels, int numSamples) override @@ -112,7 +112,7 @@ public: } private: - //========================================================================== + //============================================================================== void handleIncomingMidiMessage (MidiInput* /*source*/, const MidiMessage& message) override { @@ -120,7 +120,7 @@ private: midiCollector.addMessageToQueue (message); } - //========================================================================== + //============================================================================== void zoneAdded (MPEZone newZone) override { MidiOutput* midiOutput = audioDeviceManager.getDefaultMidiOutput(); @@ -175,7 +175,7 @@ private: synth.addVoice (new MPEDemoSynthVoice); } - //========================================================================== + //============================================================================== LookAndFeel_V3 lookAndFeel; AudioDeviceManager audioDeviceManager; diff --git a/examples/MPETest/Source/Visualiser.h b/examples/MPETest/Source/Visualiser.h index bbdacc9916..819bfd0077 100644 --- a/examples/MPETest/Source/Visualiser.h +++ b/examples/MPETest/Source/Visualiser.h @@ -35,7 +35,7 @@ public: { } - //========================================================================== + //============================================================================== void update (const MPENote& newNote, Point newCentre) { note = newNote; @@ -49,7 +49,7 @@ public: repaint(); } - //========================================================================== + //============================================================================== void paint (Graphics& g) override { if (note.keyState == MPENote::keyDown || note.keyState == MPENote::keyDownAndSustained) @@ -62,13 +62,13 @@ public: drawNoteLabel (g, colour); } - //========================================================================== + //============================================================================== MPENote note; Colour colour; Point centre; private: - //========================================================================== + //============================================================================== void drawPressedNoteCircle (Graphics& g, Colour zoneColour) { g.setColour (zoneColour.withAlpha (0.3f)); @@ -77,7 +77,7 @@ private: g.drawEllipse (translateToLocalBounds (getSquareAroundCentre (getPressureRadius())), 2.0f); } - //========================================================================== + //============================================================================== void drawSustainedNoteCircle (Graphics& g, Colour zoneColour) { g.setColour (zoneColour); @@ -88,7 +88,7 @@ private: g.fillPath (dashedCircle); } - //========================================================================== + //============================================================================== void drawNoteLabel (Graphics& g, Colour zoneColour) { Rectangle textBounds = translateToLocalBounds (getTextRectangle()).getSmallestIntegerContainer(); @@ -98,7 +98,7 @@ private: g.drawText (String (note.midiChannel), textBounds, Justification::centredTop); } - //========================================================================== + //============================================================================== Rectangle getSquareAroundCentre (float radius) const noexcept { return Rectangle (radius * 2.0f, radius * 2.0f).withCentre (centre); @@ -129,12 +129,12 @@ class Visualiser : public Component, private AsyncUpdater { public: - //========================================================================== + //============================================================================== Visualiser (const ZoneColourPicker& zoneColourPicker) : colourPicker (zoneColourPicker) {} - //========================================================================== + //============================================================================== void paint (Graphics& g) override { g.fillAll (Colours::black); @@ -156,7 +156,7 @@ public: } } - //========================================================================== + //============================================================================== void noteAdded (MPENote newNote) override { const ScopedLock sl (lock); @@ -193,7 +193,7 @@ public: private: - //========================================================================== + //============================================================================== MPENote* findActiveNote (int noteID) const noexcept { for (auto& note : activeNotes) @@ -212,7 +212,7 @@ private: return nullptr; } - //========================================================================== + //============================================================================== void handleAsyncUpdate() override { const ScopedLock sl (lock); @@ -230,7 +230,7 @@ private: noteComp->update (*noteInfo, getCentrePositionForNote (*noteInfo)); } - //========================================================================== + //============================================================================== Point getCentrePositionForNote (MPENote note) const { float n = float (note.initialNote) + float (note.totalPitchbendInSemitones); @@ -240,7 +240,7 @@ private: return Point (x, y); } - //========================================================================== + //============================================================================== OwnedArray noteComponents; CriticalSection lock; Array activeNotes; diff --git a/examples/MPETest/Source/ZoneColourPicker.h b/examples/MPETest/Source/ZoneColourPicker.h index b2428a4093..3f6b48fe3c 100644 --- a/examples/MPETest/Source/ZoneColourPicker.h +++ b/examples/MPETest/Source/ZoneColourPicker.h @@ -30,13 +30,13 @@ class ZoneColourPicker { public: - //========================================================================== + //============================================================================== ZoneColourPicker() : legacyModeEnabled (false) { } - //========================================================================== + //============================================================================== Colour getColourForMidiChannel (int midiChannel) const noexcept { if (legacyModeEnabled) @@ -54,7 +54,7 @@ public: } - //========================================================================== + //============================================================================== Colour getColourForZoneIndex (int zoneIndex) const noexcept { if (legacyModeEnabled) @@ -77,12 +77,12 @@ public: return colours[zoneIndex % colours.size()]; } - //========================================================================== + //============================================================================== void setZoneLayout (MPEZoneLayout layout) noexcept { zoneLayout = layout; } void setLegacyModeEnabled (bool shouldBeEnabled) noexcept { legacyModeEnabled = shouldBeEnabled; } private: - //========================================================================== + //============================================================================== JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ZoneColourPicker) MPEZoneLayout zoneLayout; diff --git a/examples/MPETest/Source/ZoneLayoutComponent.h b/examples/MPETest/Source/ZoneLayoutComponent.h index b5b9d68dc2..3de2e01fcf 100644 --- a/examples/MPETest/Source/ZoneLayoutComponent.h +++ b/examples/MPETest/Source/ZoneLayoutComponent.h @@ -31,12 +31,12 @@ class ZoneLayoutComponent : public Component, public MPESetupComponent::Listener { public: - //========================================================================== + //============================================================================== ZoneLayoutComponent (const ZoneColourPicker& zoneColourPicker) : colourPicker (zoneColourPicker) {} - //========================================================================== + //============================================================================== void paint (Graphics& g) override { paintBackground (g); @@ -47,7 +47,7 @@ public: paintZones (g); } - //========================================================================== + //============================================================================== void zoneAdded (MPEZone newZone) override { zoneLayout.addZone (newZone); @@ -72,7 +72,7 @@ public: void numberOfVoicesChanged (int) override { /* not interested in this change */ } private: - //========================================================================== + //============================================================================== void paintBackground (Graphics& g) { g.setColour (Colours::black); @@ -89,7 +89,7 @@ private: } } - //========================================================================== + //============================================================================== void paintZones (Graphics& g) { float channelWidth = getChannelRectangleWidth(); @@ -116,7 +116,7 @@ private: } } - //========================================================================== + //============================================================================== void paintLegacyMode (Graphics& g) { int startChannel = legacyModeChannelRange.getStart() - 1; @@ -134,18 +134,18 @@ private: g.drawText ("<>" + String (legacyModePitchbendRange), zoneRect.reduced (4, 4), Justification::bottomLeft, false); } - //========================================================================== + //============================================================================== float getChannelRectangleWidth() const noexcept { return float (getWidth()) / numMidiChannels; } - //========================================================================== + //============================================================================== MPEZoneLayout zoneLayout; const ZoneColourPicker& colourPicker; - bool legacyModeEnabled = false; - int legacyModePitchbendRange = 48; + bool legacyModeEnabled = false; + int legacyModePitchbendRange = 48; Range legacyModeChannelRange = { 1, 17 }; const int numMidiChannels = 16; }; diff --git a/examples/MidiTest/Builds/LinuxMakefile/Makefile b/examples/MidiTest/Builds/LinuxMakefile/Makefile index 847bf1548f..4fa71c7cf8 100644 --- a/examples/MidiTest/Builds/LinuxMakefile/Makefile +++ b/examples/MidiTest/Builds/LinuxMakefile/Makefile @@ -1,5 +1,5 @@ -# Automatically generated makefile, created by the Introjucer -# Don't edit this file! Your changes will be overwritten when you re-save the Introjucer project! +# Automatically generated makefile, created by the Projucer +# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project! # (this disables dependency generation if multiple architectures are set) DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) @@ -51,17 +51,17 @@ endif OBJECTS := \ $(OBJDIR)/Main_90ebc5c2.o \ $(OBJDIR)/MainComponent_a6ffb4a5.o \ - $(OBJDIR)/juce_audio_basics_399a455e.o \ - $(OBJDIR)/juce_audio_devices_c1c9ba9c.o \ - $(OBJDIR)/juce_audio_formats_f04b043c.o \ - $(OBJDIR)/juce_audio_processors_eb9ae116.o \ - $(OBJDIR)/juce_audio_utils_cf18005c.o \ - $(OBJDIR)/juce_core_1ee54a40.o \ - $(OBJDIR)/juce_data_structures_84790dfc.o \ - $(OBJDIR)/juce_events_584896b4.o \ - $(OBJDIR)/juce_graphics_f9afc18.o \ - $(OBJDIR)/juce_gui_basics_90929794.o \ - $(OBJDIR)/juce_gui_extra_b81d9e1c.o \ + $(OBJDIR)/juce_audio_basics_6b797ca1.o \ + $(OBJDIR)/juce_audio_devices_a742c38b.o \ + $(OBJDIR)/juce_audio_formats_5a29c68a.o \ + $(OBJDIR)/juce_audio_processors_dea3173d.o \ + $(OBJDIR)/juce_audio_utils_c7eb679f.o \ + $(OBJDIR)/juce_core_75b14332.o \ + $(OBJDIR)/juce_data_structures_72d3da2c.o \ + $(OBJDIR)/juce_events_d2be882c.o \ + $(OBJDIR)/juce_graphics_9c18891e.o \ + $(OBJDIR)/juce_gui_basics_8a6da59c.o \ + $(OBJDIR)/juce_gui_extra_4a026f23.o \ .PHONY: clean @@ -90,57 +90,57 @@ $(OBJDIR)/MainComponent_a6ffb4a5.o: ../../Source/MainComponent.cpp @echo "Compiling MainComponent.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_basics_399a455e.o: ../../../../modules/juce_audio_basics/juce_audio_basics.cpp +$(OBJDIR)/juce_audio_basics_6b797ca1.o: ../../JuceLibraryCode/juce_audio_basics.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_audio_basics.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_devices_c1c9ba9c.o: ../../../../modules/juce_audio_devices/juce_audio_devices.cpp +$(OBJDIR)/juce_audio_devices_a742c38b.o: ../../JuceLibraryCode/juce_audio_devices.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_audio_devices.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_formats_f04b043c.o: ../../../../modules/juce_audio_formats/juce_audio_formats.cpp +$(OBJDIR)/juce_audio_formats_5a29c68a.o: ../../JuceLibraryCode/juce_audio_formats.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_audio_formats.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_processors_eb9ae116.o: ../../../../modules/juce_audio_processors/juce_audio_processors.cpp +$(OBJDIR)/juce_audio_processors_dea3173d.o: ../../JuceLibraryCode/juce_audio_processors.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_audio_processors.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_utils_cf18005c.o: ../../../../modules/juce_audio_utils/juce_audio_utils.cpp +$(OBJDIR)/juce_audio_utils_c7eb679f.o: ../../JuceLibraryCode/juce_audio_utils.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_audio_utils.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_core_1ee54a40.o: ../../../../modules/juce_core/juce_core.cpp +$(OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_core.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_data_structures_84790dfc.o: ../../../../modules/juce_data_structures/juce_data_structures.cpp +$(OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_data_structures.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_events_584896b4.o: ../../../../modules/juce_events/juce_events.cpp +$(OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_events.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_graphics_f9afc18.o: ../../../../modules/juce_graphics/juce_graphics.cpp +$(OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_graphics.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_basics_90929794.o: ../../../../modules/juce_gui_basics/juce_gui_basics.cpp +$(OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_gui_basics.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_extra_b81d9e1c.o: ../../../../modules/juce_gui_extra/juce_gui_extra.cpp +$(OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_gui_extra.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" diff --git a/examples/MidiTest/Builds/MacOSX/Info.plist b/examples/MidiTest/Builds/MacOSX/Info-App.plist similarity index 89% rename from examples/MidiTest/Builds/MacOSX/Info.plist rename to examples/MidiTest/Builds/MacOSX/Info-App.plist index 3525a67635..208b8d0c98 100644 --- a/examples/MidiTest/Builds/MacOSX/Info.plist +++ b/examples/MidiTest/Builds/MacOSX/Info-App.plist @@ -11,6 +11,8 @@ $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName MidiTest + CFBundleDisplayName + MidiTest CFBundlePackageType APPL CFBundleSignature diff --git a/examples/MidiTest/Builds/MacOSX/MidiTest.xcodeproj/project.pbxproj b/examples/MidiTest/Builds/MacOSX/MidiTest.xcodeproj/project.pbxproj index 3dfb639b93..a187b8844c 100644 --- a/examples/MidiTest/Builds/MacOSX/MidiTest.xcodeproj/project.pbxproj +++ b/examples/MidiTest/Builds/MacOSX/MidiTest.xcodeproj/project.pbxproj @@ -6,6 +6,7 @@ objectVersion = 46; objects = { + 9A51751AC71BE2115F097C25 = {isa = PBXBuildFile; fileRef = AB7855931CA983F4EE039617; }; 766D6C7C22B520C9B4FE4BFF = {isa = PBXBuildFile; fileRef = 7926FFCD77E9709AED437153; }; 6635F9B102B7D8BC31732833 = {isa = PBXBuildFile; fileRef = 26BDDBFEF106516A3BD127A5; }; 6E7E21CC6A8D45C27A0A0B44 = {isa = PBXBuildFile; fileRef = 2A9FEECFF1D4D213A401A8A2; }; @@ -19,20 +20,19 @@ 15EACE5FBAF5AFA3A17EE67C = {isa = PBXBuildFile; fileRef = 963D38EE3DC00AE35DF2F33A; }; 94151FFFF4B5D4915D7A5215 = {isa = PBXBuildFile; fileRef = 78E7E3A7B7E1E3E0363CC3A8; }; F5137909CF5368EB77945BFB = {isa = PBXBuildFile; fileRef = 8F56F2FA5C0D47F9EA19E09C; }; - 88DE6F57C76D99EEC434D1B2 = {isa = PBXBuildFile; fileRef = 06251F5E80644992958A3B61; }; - 77692C39FD792A74F31B4879 = {isa = PBXBuildFile; fileRef = AE002D113A5E494C827E27FE; }; - 8C273077D625F1912B04CFF6 = {isa = PBXBuildFile; fileRef = CE3FB8659C598AA9C97F8387; }; - BE39B1C20CE31DADE9254A94 = {isa = PBXBuildFile; fileRef = 67B176E3836E1CDE0701D21F; }; - DABE03E21DBF412FBF0DE749 = {isa = PBXBuildFile; fileRef = 0D1C2E36AC03421206996124; }; - B6083C3B99FBBDC85D952058 = {isa = PBXBuildFile; fileRef = 3BBF7A3FFBA017A997B1F06F; }; - 04BFA0E97FB4A1B53C4100AB = {isa = PBXBuildFile; fileRef = C0E9B3EDC77F5A822BE65F21; }; - 888368E79422C87075ECD156 = {isa = PBXBuildFile; fileRef = 8BFDC490FA70E7A2BD762F2C; }; - B1197B3CBFC0607667805765 = {isa = PBXBuildFile; fileRef = 21A1CB994664ABEFC0765425; }; - 2454C388F07D82FFE7C44445 = {isa = PBXBuildFile; fileRef = 214E214858B30900A6574117; }; - 1E60E07B31292E9F087A00ED = {isa = PBXBuildFile; fileRef = A21D4A32B970D081ECF552F4; }; + 6CAB4A9A42A545E0F1A9290B = {isa = PBXBuildFile; fileRef = C61C59FC15608FD1C65107F1; }; + 0A9284E727E06691D8E7534E = {isa = PBXBuildFile; fileRef = E994D76CBE38D3E312B96C0D; }; + 69E9245B6DF6396ED05131C0 = {isa = PBXBuildFile; fileRef = F79982408861D410209D50B2; }; + 907F0B46CA8C930FCEF5760F = {isa = PBXBuildFile; fileRef = 8C2CBA5A6ABF034EF004B413; }; + 4556DD61E9E784BA1BE9DE09 = {isa = PBXBuildFile; fileRef = EE4C7DA7A8DE67398031BBC1; }; + A2D6A1EB27B589224C6D6622 = {isa = PBXBuildFile; fileRef = EDBFE4D2484526BA892CD7F3; }; + 97FA74A4F21962DA4C1D62C7 = {isa = PBXBuildFile; fileRef = 2B3497004FE2487E7863DAE5; }; + 6A81989C90CD1BE375987C9A = {isa = PBXBuildFile; fileRef = 97DDD468D1B8D8B810EC0FDD; }; + 167C296FF5C793CBA3045F92 = {isa = PBXBuildFile; fileRef = 3BAA08E098FF4384E0950D01; }; + C35947426F4AD4600EA3074D = {isa = PBXBuildFile; fileRef = 35C20643C3468A0C45809D16; }; + 68E7F01E8C655B668D220D34 = {isa = PBXBuildFile; fileRef = CB919E222B28AB38228D080E; }; 0045CAAD73734ABF9EC7386E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; 004A7D1BC57F2136FF31D767 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST3PluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - 004F0CC129C05470392B9665 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 0070839D920C6E0890104E57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 0093510DE4AC3C9CB46D6D05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; 00A4833128A464FEA72B6F16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_CommonFile.cpp"; path = "../../../../modules/juce_core/native/juce_linux_CommonFile.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -51,7 +51,6 @@ 05248CC68AF398A13747B3AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 05DB708BD84063136277A680 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; }; 06156CF92A104236B6EDFD6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPlayHead.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPlayHead.h"; sourceTree = "SOURCE_ROOT"; }; - 06251F5E80644992958A3B61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 06606DC924B7DAE58792628E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; }; 0671CDC6377ED9857C888231 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; 06A3571D29486CC63867E429 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; }; @@ -81,9 +80,7 @@ 0C7A1C47389DD6A1DE34D831 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTMidiEventList.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h"; sourceTree = "SOURCE_ROOT"; }; 0CB863BBFAD6C44533486388 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; }; 0D09B1F17B1E52F3DC674E74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; - 0D1C2E36AC03421206996124 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; }; 0DF9423E2283E5E9A4D3AB36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 0E18901E9C32415284BA768A = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_extra/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 0E30FD7FA58525003B4AF689 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; 0E734BE27322456529C0AA99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; 0E9380C830C6440477B820C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReverbAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; @@ -130,7 +127,6 @@ 1C18537D3DE0DE18D4E8B96E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MixerAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 1C18D19A02D7B576A3B303F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FloatVectorOperations.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h"; sourceTree = "SOURCE_ROOT"; }; 1C71735BBF7F71227F596CD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LagrangeInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; - 1D7E9C764EAEF6B62DFC3FEA = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_devices/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 1DD0CC18B4AD6D25F9385F72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 1DD60CC76FE45CB93908DAB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Synthesiser.cpp"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; 1E02F37ED1CED5CE1DDE07A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -144,12 +140,9 @@ 203B5EE4372B3D7CD70D6D1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioVisualiserComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 205C688D2532586B5333B157 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilterAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 2101C88856D6E4101D4B6EB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; - 214E214858B30900A6574117 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 2158477C497C9435DC12DD65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_BluetoothMidiDevicePairingDialogue.mm"; path = "../../../../modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm"; sourceTree = "SOURCE_ROOT"; }; 215DE048889CCA704E8F5112 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; - 21A1CB994664ABEFC0765425 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; 21AA213CE75E3291949C6CBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; }; - 21C2EA5071601B7046CE11FB = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_processors/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 2235F2008813426E4E917B2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_devices.h"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.h"; sourceTree = "SOURCE_ROOT"; }; 22D5D3A2B80C1A7DF3EC2D72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; 23A215F23E5255041A5DA259 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PositionableAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; @@ -184,6 +177,7 @@ 2A9C48E02F347508B60E1E21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; }; 2A9FEECFF1D4D213A401A8A2 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; 2AAE45171EA474D2FEDBEF6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; }; + 2B3497004FE2487E7863DAE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; 2B5AD253F09E8774138A92EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; }; 2BCD73521AE0F79C616C18EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEValue.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp"; sourceTree = "SOURCE_ROOT"; }; 2BDA963F7AA43162273A3224 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; }; @@ -228,11 +222,11 @@ 358A88AD27C7B7E14018D6E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableObjectResizer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp"; sourceTree = "SOURCE_ROOT"; }; 35A49DE14F79186394703465 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; 35AE3C6D75DE08E9C41DFCEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; }; + 35C20643C3468A0C45809D16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 3682725F0866C54EA2F5B4E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 369F33DB5CB81F96AB857B90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; }; 36E722BB3336373CFD7DD1D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; }; 3736F8C41DF0B06A014D329C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - 379B5157AC6495B253A2C832 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = "SOURCE_ROOT"; }; 37E63175C424B7005BED7899 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; }; 3899F0D969DE1CFDE1C28A4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Identifier.h"; path = "../../../../modules/juce_core/text/juce_Identifier.h"; sourceTree = "SOURCE_ROOT"; }; 391E61B7E04EEEEE8A87195C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; }; @@ -247,8 +241,8 @@ 3B14F255BA42DDF1D3E88474 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; 3B3ABD6553620D1A228B04C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; }; 3BA54B750BD87ECE45A72A3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDescription.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3BAA08E098FF4384E0950D01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../JuceLibraryCode/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; 3BABE0CFE82FC1E24EF88B87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; - 3BBF7A3FFBA017A997B1F06F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; 3C9794FEFFD6B2B3CB8F2B65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WebBrowserComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; 3CD7992BECDBC3ABC6BF20EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 3E6EEBC916FEE32965231D76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterChoice.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h"; sourceTree = "SOURCE_ROOT"; }; @@ -289,10 +283,8 @@ 490C9E6C4CFC2DACA9D020F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; 4965BC05E07C74ACBC69CE0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 496C15C1B88544F6B30707D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 4999D0E2E73B14F89B3852B2 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_data_structures/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 49C27EB9F39A5C1BAB48A3CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; }; 49F24776F527FD9F6D11F8D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioAppComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4A1D30BBAB2649F4C0970E87 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_core/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 4B0486F8ABCFE1914A1BE334 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; }; 4B236544955E197FD4AAFEFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; }; 4B612CF023FAAAB715A7CE61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -312,7 +304,6 @@ 50835B89AEF3E18AE107A63B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_OpenSL.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp"; sourceTree = "SOURCE_ROOT"; }; 50CC32A6DB1FAB3BE0A4FC43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 50F0CD4FF37A8BD224C4A696 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; }; - 5132A84A1CFE138A30001C77 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 515A303B1DE0FFD73F905EC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 518F3F3EBE3BCB07BE44A605 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ASIO.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp"; sourceTree = "SOURCE_ROOT"; }; 51EB466DB1D789C87174F52F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PixelFormats.h"; path = "../../../../modules/juce_graphics/colour/juce_PixelFormats.h"; sourceTree = "SOURCE_ROOT"; }; @@ -381,7 +372,6 @@ 616001AC742985F6056FC373 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; 6187479B8B75C129BEFF9CF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 626A01BA93A061B77DE39B01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; - 62AD83AD4696E47FB45585CB = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_events/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 6315EC0AA8AAC51EF78270C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; 63217D136190E7F6D1D7D4B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; }; 632EB1DDB282B7EA29091876 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; }; @@ -401,7 +391,6 @@ 668C11A0C6FFD4FE9C496E6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPENote.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp"; sourceTree = "SOURCE_ROOT"; }; 671AE5D17EF53649D7D1B706 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; }; 679F43697B35F986EA2CAE00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleComponent.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 67B176E3836E1CDE0701D21F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; 67B7C5D013D32150AA632AFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 67E0AFE3935297E54BC38B59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; 68BA33E44F2F9898C251828C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -409,7 +398,6 @@ 68D30198ED90BAB25E06FB93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; }; 692760FF53C119B0ADCEBC85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 69D6EDDF240FE265F3963EAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; }; - 6AE0098B6A2E1EAAE4229AEC = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_graphics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 6B0C6075941C9912A095E582 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceManager.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 6B557AF16786514B9B509F6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; }; 6B59BEC92B516D43CA1CCD9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; @@ -439,6 +427,8 @@ 73F2C869E920D4AA0AE4EAB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GroupComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h"; sourceTree = "SOURCE_ROOT"; }; 7427DE3DD9E5F7BC673338A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; }; 74965ED2CA35AFBE8CF98315 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 74AD7815C4FE6E500B9DCA10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; }; + 7514987563C2700E7867FF98 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-App.plist"; path = "Info-App.plist"; sourceTree = "SOURCE_ROOT"; }; 7618E389756278E8A8737270 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; }; 76CEAA7DA1188C7BA85E9AD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; }; 76EF2B2A80865A874EA3AC21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; @@ -469,10 +459,12 @@ 7DE03DEF670FF7640DA6BF30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; 7DF9149436E477A8CA9C4913 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Base64.h"; path = "../../../../modules/juce_core/text/juce_Base64.h"; sourceTree = "SOURCE_ROOT"; }; 7E2B039E35B63D564CB0E12B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; }; + 7E2CA1F84FDB50B15E1FC1AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 7EB411B3EEEF32A2457A28A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; }; 7EE6C13ACD91E2B5CD3DE8AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; }; 7EE75EFFCB6D3551ED743B5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailBase.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailBase.h"; sourceTree = "SOURCE_ROOT"; }; 7F7B055D0C2811CE7C4B4484 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MACAddress.h"; path = "../../../../modules/juce_core/network/juce_MACAddress.h"; sourceTree = "SOURCE_ROOT"; }; + 7FA4E3D2ACE64C064B0BFC11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; 7FCE792C7AB12179255A503B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; 7FF73F42C8BA1F00D7397605 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; }; 8171E819672599C2594371EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectSound.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -515,8 +507,8 @@ 8B5B75774474FCA544B1B2FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; }; 8B83FD1FA65C4103DDE2EA9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 8BF87A8954B8F7AB4436942E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; - 8BFDC490FA70E7A2BD762F2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; 8C1169C0AAC0A019D2DBE488 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8C2CBA5A6ABF034EF004B413 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../JuceLibraryCode/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; 8C4B2862B075A24BB66F7BCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; }; 8C907079F5A8EF3BD3DD35C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; 8CA657F3BF721467B5EC9053 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -530,6 +522,10 @@ 8F56F2FA5C0D47F9EA19E09C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MainComponent.cpp; path = ../../Source/MainComponent.cpp; sourceTree = "SOURCE_ROOT"; }; 8FF8814C6B322D670346712C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; }; 90794FCA3ACFCE9FF934CFCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + 90D02D7896DC67E6A5AA7465 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiInput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h"; sourceTree = "SOURCE_ROOT"; }; + 90DDEFA4C3E0D9A94D89D560 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + 90DE26768727489CEA4902CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GenericAudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9165B7EFC4A6D0D2D4BDB964 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiBuffer.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; 916C34DC7037A6ECB6B02ADC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; 91FA7F73B33D66D9C3A6FD9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MainComponent.h; path = ../../Source/MainComponent.h; sourceTree = "SOURCE_ROOT"; }; 92123D5456E4E881FDE03CF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -537,40 +533,32 @@ 926BB03B7062274CF6152259 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPress.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h"; sourceTree = "SOURCE_ROOT"; }; 92E3ED2752ED738806E731C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; 9364B320302B675300E93B41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; }; + 938A89D7873B62E2FF8929B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlacAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 9481495E00E43EBBCF41D165 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 94BF50B22594BFFBBF487F68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; }; + 94C3AA9784869B88B76D1F24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; }; 94DCC8FBB12908BF17B61683 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; }; 94F8976DD7ADFE95E840AD91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_File.h"; path = "../../../../modules/juce_core/files/juce_File.h"; sourceTree = "SOURCE_ROOT"; }; - 96136E8FAEE6D138EABDC874 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; }; - 963D38EE3DC00AE35DF2F33A = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; sourceTree = "SOURCE_ROOT"; }; - 992E198BAFF9F97CA8267243 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; - 9AE96EFA03DB4690EC7D7EF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; }; - A70C237020E785056E276FD9 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; - 13966A9213FDBB55FF26B12F = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MidiTest.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; - 74AD7815C4FE6E500B9DCA10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; }; - 7E2CA1F84FDB50B15E1FC1AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; - 7FA4E3D2ACE64C064B0BFC11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 90D02D7896DC67E6A5AA7465 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiInput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h"; sourceTree = "SOURCE_ROOT"; }; - 90DDEFA4C3E0D9A94D89D560 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; }; - 90DE26768727489CEA4902CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GenericAudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9165B7EFC4A6D0D2D4BDB964 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiBuffer.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 938A89D7873B62E2FF8929B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlacAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; - 94C3AA9784869B88B76D1F24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; }; 95E20E99B8FB196573B9697C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 96136E8FAEE6D138EABDC874 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; }; 961694E31BDCEBFC65CC1796 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 963D38EE3DC00AE35DF2F33A = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; sourceTree = "SOURCE_ROOT"; }; 96C10BDED107AED6A992F38C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NotificationType.h"; path = "../../../../modules/juce_events/messages/juce_NotificationType.h"; sourceTree = "SOURCE_ROOT"; }; 97067DD5073A37AD706DDE95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; }; 977004696868887798BE902E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 97A2720B7633C85F8FDA6837 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZone.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.cpp"; sourceTree = "SOURCE_ROOT"; }; 97BD8C01E13C93693AD70692 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnail.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.cpp"; sourceTree = "SOURCE_ROOT"; }; + 97DDD468D1B8D8B810EC0FDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; 9816D8CB9D6F77D837CE1581 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; }; 9902AF593FBBEAB3B6D84F6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDescription.h"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h"; sourceTree = "SOURCE_ROOT"; }; + 992E198BAFF9F97CA8267243 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; 99665EBB1C635EC8B198D415 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; 9987B55A7D7AE452D921F227 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; }; 99F3BE02BEA734C0197C607C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; }; 9A1630514C56BFA5361E93D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 9A458C31170E38D728FDC648 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; }; 9AC7FDA570544046185D6933 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; + 9AE96EFA03DB4690EC7D7EF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; }; 9B6CED77127E63CD68BFD16C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiFile.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.h"; sourceTree = "SOURCE_ROOT"; }; 9BAED86761B8DDB97637DCB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; }; 9BC778712D665C9DF94C08A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; }; @@ -598,7 +586,6 @@ A1DE30BF8642FB2549F8D772 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; A1EAEF985828A65A8BB822E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ElementComparator.h"; path = "../../../../modules/juce_core/containers/juce_ElementComparator.h"; sourceTree = "SOURCE_ROOT"; }; A2181237574C8E3CEC3D3C24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; }; - A21D4A32B970D081ECF552F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; A26FAD7AB054AE6BFC9F106E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; }; A2D5629F1BF85B126284E956 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; A33F0C48ADF554C6A1DE55BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; @@ -621,6 +608,7 @@ A63E53BEDA50DA92880F4101 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp"; sourceTree = "SOURCE_ROOT"; }; A67FE9CFCAF3E3883D94C392 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; A6AC42E7E0856E8A9915675D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LADSPAPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + A70C237020E785056E276FD9 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; A73ACC374B8EB6D4AFD8AAF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinearSmoothedValue.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h"; sourceTree = "SOURCE_ROOT"; }; A759DC9DA67FE7574884F88D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; }; A770DBBE0DD8D1D33450AB3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -638,6 +626,7 @@ AA23BE61CCD82B6EFD668570 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; }; AA5AC912BDF346506FC325F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; AAB742E00619AE4A2CA4A222 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + AB7855931CA983F4EE039617 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MidiTest.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; ABC2516934519F9F8262B572 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colours.h"; path = "../../../../modules/juce_graphics/colour/juce_Colours.h"; sourceTree = "SOURCE_ROOT"; }; AC10CC6D18D4F05E307BA85C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormatManager.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; AC61D2A968CDA510B480DC8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -645,7 +634,6 @@ ACC586E84D66B1187620EFA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; }; ADD6CABAAE68447D5D444C11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModifierKeys.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h"; sourceTree = "SOURCE_ROOT"; }; ADDD1F7465029C1760729DEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; - AE002D113A5E494C827E27FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; AE09578E8AB4B19FB2325728 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LuaCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; AE0FED2100423857C1907DD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; }; AE3B0657991C1CC3638745B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -719,7 +707,6 @@ C01C65AA178CAAD65CDF7273 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; }; C03441A2B101989DA24967D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; }; C0A79BE84BCDDC6220F87084 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiser.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h"; sourceTree = "SOURCE_ROOT"; }; - C0E9B3EDC77F5A822BE65F21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; C12A4B017FACBA4EC31EA7CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; }; C1994F6906975E2337549F27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; C1B1CD3695D2E9AB7E0E6EE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; }; @@ -734,6 +721,7 @@ C4F8FC1F6A6212470D6F4EEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; C54484F67D536E24BF7FC8B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; C5D519CB43C72FB9313DC9A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + C61C59FC15608FD1C65107F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../JuceLibraryCode/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; C6A2E5AE96FB8DE7F76D10E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; }; C704CA2145896AAB100E6D1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; C7F857ED7C6223F0B7BEBBD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -755,6 +743,7 @@ CB2ABF575A275A9AFAF69AB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; }; CB60DC44A14E39F7316076B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiFile.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp"; sourceTree = "SOURCE_ROOT"; }; CB866EB013B77B1EDFAC762E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; + CB919E222B28AB38228D080E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; CBCFD12A72DAD166AA1BDD3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; CCAF7D95EA8817DFE7FA09F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; CCAFCC6717B719157B251C1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; }; @@ -767,7 +756,6 @@ CDE1C86EB362EDC8A03F428F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; }; CDF98CC2BD3A485541A79049 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReaderSource.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h"; sourceTree = "SOURCE_ROOT"; }; CDFEFB5A6A4B49E18713243D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LAMEEncoderAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - CE3FB8659C598AA9C97F8387 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; CEB5926D26D476217426C3DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; CF7E9C84229F57D36F3F121D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; CF8FC5357F57FDEFB20BCFB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KnownPluginList.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h"; sourceTree = "SOURCE_ROOT"; }; @@ -856,11 +844,11 @@ E87F503108182FD43982C45D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; E97E18687E2B9BCDA03B06F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; }; E9946EBAE111937EA2EF0EC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioVisualiserComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.h"; sourceTree = "SOURCE_ROOT"; }; + E994D76CBE38D3E312B96C0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../JuceLibraryCode/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; E99773FC067DD2C5B1C7EA53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_QuickTimeAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; EA4E07555263482179C7F6B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnailCache.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp"; sourceTree = "SOURCE_ROOT"; }; EA7B437CA63EDE546A390088 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; EB452E3DF6494293D9AE9F96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; }; - EBAB0ECCF22BDB741F384B1D = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_utils/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; EC1DB896229AC7C81EF6230B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; }; EC6AED5402632BB7AB3D9817 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; }; EC79622BA496FF289861EAB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatWriter.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h"; sourceTree = "SOURCE_ROOT"; }; @@ -869,7 +857,9 @@ ED7B6E0CCAABFFD95483A5A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; ED9FD17E6D8D6E53D61077CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; }; EDB7989F66D08E051F092EBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + EDBFE4D2484526BA892CD7F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; EE10729725D82DBAF10420A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; + EE4C7DA7A8DE67398031BBC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../JuceLibraryCode/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; }; EF26FBEF648444F597EED4D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; }; EF29543541EAA4ADFF5D8733 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDataConverters.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h"; sourceTree = "SOURCE_ROOT"; }; EF6DCFE1A8648BA97D9E027B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -890,10 +880,10 @@ F4ABBA594FA6BC2FBEDD398F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; F4E9F80E7F85608F4A5AB58F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; }; F5442F8B15FB0A77E4648186 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; - F60BFB92E0D488E003958E0F = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_formats/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; F62BBC1A8B1C678801A0418F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; }; F7179A0D030175A196FC9746 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; }; F75051C40F6B34B13C483AB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; }; + F79982408861D410209D50B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../JuceLibraryCode/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; F81CF0787F1810B455463CE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; }; F860CDA9B50B6B178D431622 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; F89103411772458E971E8C81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -996,9 +986,12 @@ 8C776C4907D6EB4A612F8255, 45711C8C6AC5740CAAEE6B04, 6FA1018757E05E7616E926AE, - 004F0CC129C05470392B9665, D7423C164AF5168754CFCDB9, ); name = "juce_audio_basics"; sourceTree = ""; }; - 412A148C8202E8685B4A960B = {isa = PBXGroup; children = ( + 1BCD4423E84B52B4A245F0ED = {isa = PBXGroup; children = ( + C1B1CD3695D2E9AB7E0E6EE1, + 79A3983C899D364ADCAEAA80, + 28568BBF30F1DB6038A18401, ); name = "audio_cd"; sourceTree = ""; }; + A7F1C7A65DBEF378CFA06C3C = {isa = PBXGroup; children = ( 6B0C6075941C9912A095E582, 4F74069552CD0B8306159E3F, 6FDD6A7F82D671CAF2B1EEB8, @@ -1006,22 +999,13 @@ 19CC5553744E7E198B3043F4, 33E57CC37341A05F0115E359, C1D757F71096002EA476DBC0, ); name = "audio_io"; sourceTree = ""; }; - 521BD06F109EC360B7038DD4 = {isa = PBXGroup; children = ( + 630A6EE36909C9A4DF6C558E = {isa = PBXGroup; children = ( 90D02D7896DC67E6A5AA7465, 7124C55033AA878E30CE4E7D, 74AD7815C4FE6E500B9DCA10, BE048D62FF378F61320A353D, 645C0553A0BE7854CBBE329A, ); name = "midi_io"; sourceTree = ""; }; - AA87DB4A9A22F19BDAEFE5D8 = {isa = PBXGroup; children = ( - 7FA4E3D2ACE64C064B0BFC11, - A4AF80059F74FF502CAB1655, - 16B6619A5A552495ADC91C2E, - 3003B712285C45FB9A9C5824, ); name = sources; sourceTree = ""; }; - 0CB27604266434392528A0A9 = {isa = PBXGroup; children = ( - C1B1CD3695D2E9AB7E0E6EE1, - 79A3983C899D364ADCAEAA80, - 28568BBF30F1DB6038A18401, ); name = "audio_cd"; sourceTree = ""; }; - 413DAF5E4A5A55B72FE31041 = {isa = PBXGroup; children = ( + 9C570CC7FFD4AE34E1BB4591 = {isa = PBXGroup; children = ( C4F8FC1F6A6212470D6F4EEF, B99FD659AB1F5AE5733F0542, 50835B89AEF3E18AE107A63B, @@ -1041,31 +1025,19 @@ 8171E819672599C2594371EB, 63F06F3A718D0C1313A78321, 37E63175C424B7005BED7899, ); name = native; sourceTree = ""; }; + DFF257FA6DC46A793C24AB12 = {isa = PBXGroup; children = ( + 7FA4E3D2ACE64C064B0BFC11, + A4AF80059F74FF502CAB1655, + 16B6619A5A552495ADC91C2E, + 3003B712285C45FB9A9C5824, ); name = sources; sourceTree = ""; }; DBC38E2F8B6D4D0E1E4084E2 = {isa = PBXGroup; children = ( - 412A148C8202E8685B4A960B, - 521BD06F109EC360B7038DD4, - AA87DB4A9A22F19BDAEFE5D8, - 0CB27604266434392528A0A9, - 413DAF5E4A5A55B72FE31041, - 1D7E9C764EAEF6B62DFC3FEA, + 1BCD4423E84B52B4A245F0ED, + A7F1C7A65DBEF378CFA06C3C, + 630A6EE36909C9A4DF6C558E, + 9C570CC7FFD4AE34E1BB4591, + DFF257FA6DC46A793C24AB12, 2235F2008813426E4E917B2E, ); name = "juce_audio_devices"; sourceTree = ""; }; - 6EFA3AE1659E270768E508DE = {isa = PBXGroup; children = ( - 3682725F0866C54EA2F5B4E7, - E24CCE4B7AE25CA7990C9DCA, - 26021651C22BD6DE054AF1D6, - A38CB181B540BD7A6CA21362, - 34E6CD251FA09E2F5B0592DE, - 875A14BB773AFC27135869A1, - 54669FEC417AFCA5503F78DD, - CDF98CC2BD3A485541A79049, - 9987B55A7D7AE452D921F227, - EC79622BA496FF289861EAB9, - 8D6CCBB6ADF78D5139B35DE6, - F1D0D12D2F7CE8C88A28169B, - 73E24FDB3C3E517471A8FF3F, - B60DA66A1E0DBA5BB2549EA7, - 639BB1B8BEEED7BF60F2D891, ); name = format; sourceTree = ""; }; - BF16121C5E169FE3A2CAD521 = {isa = PBXGroup; children = ( + 163F68AE329A49AE8C4C6A87 = {isa = PBXGroup; children = ( 4BD929A35245C5C8E1128201, AF5ED93D7B6AC2DE6DCEAC23, 8E9358560B0ACE8A912B8AB3, @@ -1084,16 +1056,48 @@ 251A3E830E20378FE1E70462, 07F0E97918A02142DE52344D, 2F225714445457C8332BD3B1, ); name = codecs; sourceTree = ""; }; + 9B9D6E491AAC137A3D43CD62 = {isa = PBXGroup; children = ( + 3682725F0866C54EA2F5B4E7, + E24CCE4B7AE25CA7990C9DCA, + 26021651C22BD6DE054AF1D6, + A38CB181B540BD7A6CA21362, + 34E6CD251FA09E2F5B0592DE, + 875A14BB773AFC27135869A1, + 54669FEC417AFCA5503F78DD, + CDF98CC2BD3A485541A79049, + 9987B55A7D7AE452D921F227, + EC79622BA496FF289861EAB9, + 8D6CCBB6ADF78D5139B35DE6, + F1D0D12D2F7CE8C88A28169B, + 73E24FDB3C3E517471A8FF3F, + B60DA66A1E0DBA5BB2549EA7, + 639BB1B8BEEED7BF60F2D891, ); name = format; sourceTree = ""; }; 99F1BACC767800780A8D643F = {isa = PBXGroup; children = ( 833103DB8E0F65D0E7BEEF0C, 2D0F17B9AE9B8C3F2FF90387, ); name = sampler; sourceTree = ""; }; C8857FD6ADA102CCD5484C14 = {isa = PBXGroup; children = ( - 6EFA3AE1659E270768E508DE, - BF16121C5E169FE3A2CAD521, + 163F68AE329A49AE8C4C6A87, + 9B9D6E491AAC137A3D43CD62, 99F1BACC767800780A8D643F, - F60BFB92E0D488E003958E0F, D55687B02DF776608D011DE6, ); name = "juce_audio_formats"; sourceTree = ""; }; - 946A544FA785166188EB9942 = {isa = PBXGroup; children = ( + 0DB2BA44079181A22599C3A8 = {isa = PBXGroup; children = ( + F016087BCC0EC5E166B45215, + AAB742E00619AE4A2CA4A222, + BAD4511258CEEAD73C748782, + AC10CC6D18D4F05E307BA85C, ); name = format; sourceTree = ""; }; + B35AA217D16BC8FDC112D021 = {isa = PBXGroup; children = ( + 612FC77FBD64CC1F6ABEC287, + D86E055DC747CF4917E4981C, + A0A17D0546958E5428D46022, + A6AC42E7E0856E8A9915675D, + 45586BE1687078BDB44C33F0, + 68CAC12255032C9598B836DF, + 004A7D1BC57F2136FF31D767, + 3AC1657491C449D35317D152, + 0C7A1C47389DD6A1DE34D831, + 8781C749016774125396B268, + B6F1399CBD41DC2FF546CA8C, ); name = "format_types"; sourceTree = ""; }; + FE3DD9135B35505627D0F996 = {isa = PBXGroup; children = ( 4BDA1EF1F7CF9256A68D333B, 469C174FFE7BE215B1B7EA9E, 06156CF92A104236B6EDFD6E, @@ -1110,23 +1114,6 @@ D5C2565A72079ED9B26F4329, 3BA54B750BD87ECE45A72A3D, 9902AF593FBBEAB3B6D84F6A, ); name = processors; sourceTree = ""; }; - DE43B8949C3673683A4145E7 = {isa = PBXGroup; children = ( - F016087BCC0EC5E166B45215, - AAB742E00619AE4A2CA4A222, - BAD4511258CEEAD73C748782, - AC10CC6D18D4F05E307BA85C, ); name = format; sourceTree = ""; }; - 2D3B454266035989793B50E4 = {isa = PBXGroup; children = ( - 612FC77FBD64CC1F6ABEC287, - D86E055DC747CF4917E4981C, - A0A17D0546958E5428D46022, - A6AC42E7E0856E8A9915675D, - 45586BE1687078BDB44C33F0, - 68CAC12255032C9598B836DF, - 004A7D1BC57F2136FF31D767, - 3AC1657491C449D35317D152, - 0C7A1C47389DD6A1DE34D831, - 8781C749016774125396B268, - B6F1399CBD41DC2FF546CA8C, ); name = "format_types"; sourceTree = ""; }; 0A5D0B4D98C62D681284255B = {isa = PBXGroup; children = ( 5C3B25EFEDBDB3FF37FBD546, CF8FC5357F57FDEFB20BCFB4, @@ -1144,12 +1131,11 @@ 829E26BF13D9D5728057226C, C9441DECAB98635D65D32950, ); name = utilities; sourceTree = ""; }; 08208586E6517BD2DF67E1BB = {isa = PBXGroup; children = ( - 946A544FA785166188EB9942, - DE43B8949C3673683A4145E7, - 2D3B454266035989793B50E4, + 0DB2BA44079181A22599C3A8, + B35AA217D16BC8FDC112D021, + FE3DD9135B35505627D0F996, 0A5D0B4D98C62D681284255B, FEA13DA86CBA0709150CFACA, - 21C2EA5071601B7046CE11FB, 53774BD198186D5292A6C79E, ); name = "juce_audio_processors"; sourceTree = ""; }; 0C7DADB3ED97AF53E7F9C877 = {isa = PBXGroup; children = ( 49F24776F527FD9F6D11F8D8, @@ -1166,73 +1152,21 @@ C8416100B7FEBFFEA67C9AA4, C7F857ED7C6223F0B7BEBBD0, 0DF9423E2283E5E9A4D3AB36, ); name = gui; sourceTree = ""; }; - 52A685AD333945C4BA5AC3A0 = {isa = PBXGroup; children = ( - 10F8E2A5426A365F3193B251, - 70C902F9BB9ABFEE77FECEA1, ); name = players; sourceTree = ""; }; - D534C203A2F34567D0E49FFC = {isa = PBXGroup; children = ( + 84DCA19BCA2B97F8331CAD21 = {isa = PBXGroup; children = ( 414963BDCCA2040627721C78, 2158477C497C9435DC12DD65, 847E7E00243B8FC7BCCE69D7, BF1D2F31EFE400A6DCAB8596, 5001ED9DCB2695E7C7FB575D, ); name = native; sourceTree = ""; }; + D80C060008801D8C2CC619F4 = {isa = PBXGroup; children = ( + 10F8E2A5426A365F3193B251, + 70C902F9BB9ABFEE77FECEA1, ); name = players; sourceTree = ""; }; 481DB3EC1543DF78D91EEE0B = {isa = PBXGroup; children = ( 0C7DADB3ED97AF53E7F9C877, - 52A685AD333945C4BA5AC3A0, - D534C203A2F34567D0E49FFC, - EBAB0ECCF22BDB741F384B1D, + 84DCA19BCA2B97F8331CAD21, + D80C060008801D8C2CC619F4, 5FD667A17A029680D6D2F986, ); name = "juce_audio_utils"; sourceTree = ""; }; - 54857A0ED7C578048EA3BC8C = {isa = PBXGroup; children = ( - 56984FF7B7A8186E267CA2C7, - 7DF9149436E477A8CA9C4913, - C9B3C530D568B8F23A468735, - 90DDEFA4C3E0D9A94D89D560, - B1DF86973FEECE79964F8417, - 290313E8DFE0C4FC406C2360, - D98B4710CA9D9EEA80D3850C, - B252BBCF9F5FD643D0E9AC83, - 021E4B9D060BD0CF0860AE90, - 3899F0D969DE1CFDE1C28A4C, - 447C281C78F82035C2BD24EB, - 391E61B7E04EEEEE8A87195C, - DAEC7D47D0797A93D614BBFB, - D2079159DFD2C55DA65831AA, - F20219B169674F73013B959B, - B812EAB4E6CBB640845742ED, - 9BAED86761B8DDB97637DCB0, - 7C7709861088BBB95FBFC7B9, - BCFC623C56B7071F9CC6B0AD, - EC6AED5402632BB7AB3D9817, - B301BDB1D870A1997BBD8B31, - 6037D45756D11A1360FBDFB4, - FE0E52C9AFA1874FD0F6EDFB, - B39B217148F866D5F57942C4, ); name = text; sourceTree = ""; }; - 8F0440E037A0737A5B5A816F = {isa = PBXGroup; children = ( - 5EC7614B7F46EA2C43B14AD8, - 115AAB2BB6D1E55D688417EF, - 0093510DE4AC3C9CB46D6D05, - 5696C635F1687848F831176D, - 57290064E3CFF9DD86D814E1, - 196F23E5CD478EC63198A2D5, - DADF4E1FDD2FB8DE33E71E9B, - 589E9DB86BE9D5BCC3738166, - 4B0486F8ABCFE1914A1BE334, - BEE210C77DA7D3688A1742A4, ); name = maths; sourceTree = ""; }; - EF19B5815B61879A232AB5F8 = {isa = PBXGroup; children = ( - B410222AAD7B88C20581B38A, - 6DB7CDAC2EAD21710557CC90, - F482E3FEBB9C48AD3D3B4D27, - CD75E6F688CDFDF12DDCDB78, - 5078B5E8B29C7812E2A61C87, - B3F9F7C9AA10351F04D5841E, - EC1DB896229AC7C81EF6230B, - FFA8D7FC84A4B69BC21A109B, - 440B83793DD44839DE3E4F6F, - 10E481B0FC72E71E14CF6F16, - 35A49DE14F79186394703465, - 65ABEFA3DB37D2D541830543, - 9E5488FCBB203D6BFCC9626C, - 53E7F696AD8FE29150F9FF87, ); name = memory; sourceTree = ""; }; - 0606A517BC59F09662D14021 = {isa = PBXGroup; children = ( + 566D292EAC206E5837B40131 = {isa = PBXGroup; children = ( 1B711C8B57441E43AEC12D48, 96136E8FAEE6D138EABDC874, A4A123FEBDE48FDDBEB74AED, @@ -1254,37 +1188,7 @@ 48B594C3AC9C012619F76024, E77E3C682E425FFB37A34DF5, ECAE3FA47A5AA11B7F49930E, ); name = containers; sourceTree = ""; }; - B52E49803AFAC22A5D3DFAF9 = {isa = PBXGroup; children = ( - C25DBA75B27D857652748702, - 9AC7FDA570544046185D6933, - 58ECEED241DF27ED319D1DFC, - 09437961E4C3262AF3ADED8B, - A88B5A8101BD7EAB2B0BAB35, - 632EB1DDB282B7EA29091876, - F12E0BC6AA64C2E1A0284A26, - A37D36CA1CD0EFDD6829D108, - 5322147EFA4CACACD31C55BB, - 1945B8B1780CECAA1A49EDDA, - B607D4F65F2DE1F20187AE0C, - E04EBB578FEA27D7F991CD8A, - 992E198BAFF9F97CA8267243, - AA23BE61CCD82B6EFD668570, - 8C4B2862B075A24BB66F7BCC, - B4E7D1AC16B0EDD769C3E301, - 7427DE3DD9E5F7BC673338A9, - 2FBA7B33A6753CD6EDA3C44D, - 3A4D960AFD726944CDD837A0, - 4DBB69C768DC0AB48E4D7335, - B30B16136732BB68AB32885A, - DF3DBAEDD9DEAEB7A7D0C246, ); name = threads; sourceTree = ""; }; - E10B0598C5380293E7D3522A = {isa = PBXGroup; children = ( - D1FD340C6786DED8A06EA0BE, - 47E867EB426ED9E824837D86, - 3F6066E4811F5614743ADF18, - 658BA13CE4A1B5BDAB21F453, - 5E1B48EC342F75E172492CC2, - 7618E389756278E8A8737270, ); name = time; sourceTree = ""; }; - 52068909833FDC8D4678A63D = {isa = PBXGroup; children = ( + D3CAA19ECDDB7C664B8D647A = {isa = PBXGroup; children = ( 22D5D3A2B80C1A7DF3EC2D72, D166DF5A19C529101A29CA3D, 06ABA2CB47AC9A1C9C3DB734, @@ -1302,66 +1206,43 @@ 4E71CDAE57EC0F8252E8A379, 916C34DC7037A6ECB6B02ADC, 67E0AFE3935297E54BC38B59, ); name = files; sourceTree = ""; }; - D66C2FBDAA3856B79F27CB26 = {isa = PBXGroup; children = ( - 152BC2F3F6B0F518C984177E, - 9364B320302B675300E93B41, - 79F607C4907089E574F59974, - 7F7B055D0C2811CE7C4B4484, - 047E2858DF652C4EECE19350, - 8D1CE0B9ECDF4CF36B1CB4F4, - 43E964EF17328AB8C3F454D0, - 1A39051C4AF1619FA04E23C7, - 5E3E8D9EDD3396025DB49F40, - 12A03A62777C1C5E81950DBC, ); name = network; sourceTree = ""; }; - ABB327C80FA60E4EE212DEDA = {isa = PBXGroup; children = ( - EA7B437CA63EDE546A390088, - 9C00A3B72C9748ACFBF5C059, - A0A1B6344FD51FCDBB9C204E, - 9DA13E7352FB376508315D83, - A7C30AD9E7ACADB65E2E9FF2, - 6374A362F258DBD2F39C868C, - 0124FD2E09CC905B5F5E946D, - 33E1D4A2F37E15E02464FB04, - 1E91A2C8AF72DF59C199E818, - DEB45A52F4AAB4FF1DEFF917, - 8C907079F5A8EF3BD3DD35C1, - D234BD4D6AE149D63892A568, - 15C2EE8305EE8F0E0DA60E7E, - A5B4B4ACFAFFCA55AA7DF0EE, - DE604B27DA8E8141012B7C76, ); name = streams; sourceTree = ""; }; - F1ACCD6572C36B1C197F7389 = {isa = PBXGroup; children = ( - 9816D8CB9D6F77D837CE1581, - 1ABA7718EB30C6B8A4D60A0B, - BC189AD35765B04899A257C2, - 26F5080C5674741DEEB509A6, ); name = logging; sourceTree = ""; }; - CA8C33C6E039B1D9AEED744B = {isa = PBXGroup; children = ( - A55D76D2DD846DF369A1B062, - 7FF73F42C8BA1F00D7397605, - 5A5572F95434483C670D0763, - 25D6F3C83F487FC6A4E6E0A5, - 2B5AD253F09E8774138A92EC, - 78415F3E8CD250F76A2B4E5C, ); name = system; sourceTree = ""; }; - 8C94CC16F964A703D25D1D0C = {isa = PBXGroup; children = ( - 459BA6D8DE834F3A84690357, - 7DE03DEF670FF7640DA6BF30, - F75051C40F6B34B13C483AB9, - 1F6F203486A696D5B35DC25F, ); name = xml; sourceTree = ""; }; - 11BCBBDF1B984D6B50FF1D65 = {isa = PBXGroup; children = ( + 8F2B41AF84B55107F0EC52ED = {isa = PBXGroup; children = ( 1FE48E2A7E4965A31A55888F, ED9FD17E6D8D6E53D61077CB, C7FA975F9BC2B0A10374E66A, 0A5B25A301828B0F4A45E68B, ); name = javascript; sourceTree = ""; }; - 868BF883D27E9D8B871E75EB = {isa = PBXGroup; children = ( - CA6A35C980DA16823A27B7F6, - 8D317883E61856EE2491FC09, - 5AD10992C4A5CF4C11FB8A0D, - 9E2419E5C9BB345B5121A6D2, - 05248CC68AF398A13747B3AF, - B4AD729202F07B7BEE54E492, ); name = zip; sourceTree = ""; }; - 13FBA7C2E0827B356440A388 = {isa = PBXGroup; children = ( - 031323316BE5A4736C9E93DC, - E4F40BEE2B9AD2278B514971, ); name = "unit_tests"; sourceTree = ""; }; - E6989A7A06F752F666765CD3 = {isa = PBXGroup; children = ( + 17510F6886DEC9435C03BB4B = {isa = PBXGroup; children = ( + 9816D8CB9D6F77D837CE1581, + 1ABA7718EB30C6B8A4D60A0B, + BC189AD35765B04899A257C2, + 26F5080C5674741DEEB509A6, ); name = logging; sourceTree = ""; }; + 9804ED2634D6C5834BF321F5 = {isa = PBXGroup; children = ( + 5EC7614B7F46EA2C43B14AD8, + 115AAB2BB6D1E55D688417EF, + 0093510DE4AC3C9CB46D6D05, + 5696C635F1687848F831176D, + 57290064E3CFF9DD86D814E1, + 196F23E5CD478EC63198A2D5, + DADF4E1FDD2FB8DE33E71E9B, + 589E9DB86BE9D5BCC3738166, + 4B0486F8ABCFE1914A1BE334, + BEE210C77DA7D3688A1742A4, ); name = maths; sourceTree = ""; }; + 5AD2EEB7D5BAD4D976976204 = {isa = PBXGroup; children = ( + B410222AAD7B88C20581B38A, + 6DB7CDAC2EAD21710557CC90, + F482E3FEBB9C48AD3D3B4D27, + CD75E6F688CDFDF12DDCDB78, + 5078B5E8B29C7812E2A61C87, + B3F9F7C9AA10351F04D5841E, + EC1DB896229AC7C81EF6230B, + FFA8D7FC84A4B69BC21A109B, + 440B83793DD44839DE3E4F6F, + 10E481B0FC72E71E14CF6F16, + 35A49DE14F79186394703465, + 65ABEFA3DB37D2D541830543, + 9E5488FCBB203D6BFCC9626C, + 53E7F696AD8FE29150F9FF87, ); name = memory; sourceTree = ""; }; + 40838AC862B3884AB4933596 = {isa = PBXGroup; children = ( A1462538DDB60A384CA330C6, 33FC576912A6019A3F14604B, 8EF7ED003297DFA5026CC445, @@ -1369,7 +1250,7 @@ 94C3AA9784869B88B76D1F24, 79C23DAB6FB460C2A29A7815, B072058D4853C3D58657D667, ); name = misc; sourceTree = ""; }; - F83F9A68BD888CC09E3010F6 = {isa = PBXGroup; children = ( + 68DE5DA19EDA288EC77B1397 = {isa = PBXGroup; children = ( 8461D846AE31A276B18B6362, DAC04A108BE4FB935F5A7D37, 0AFDB7BA03791E1D80ADD26A, @@ -1399,49 +1280,167 @@ 49C27EB9F39A5C1BAB48A3CF, A49E4ACB0716C74EDC25DC50, 4B616298D27D8AFCAF94A62B, ); name = native; sourceTree = ""; }; + 815BBF68DACA9B7DAD3277FA = {isa = PBXGroup; children = ( + 152BC2F3F6B0F518C984177E, + 9364B320302B675300E93B41, + 79F607C4907089E574F59974, + 7F7B055D0C2811CE7C4B4484, + 047E2858DF652C4EECE19350, + 8D1CE0B9ECDF4CF36B1CB4F4, + 43E964EF17328AB8C3F454D0, + 1A39051C4AF1619FA04E23C7, + 5E3E8D9EDD3396025DB49F40, + 12A03A62777C1C5E81950DBC, ); name = network; sourceTree = ""; }; + B728B781DF6487DFEBA5D072 = {isa = PBXGroup; children = ( + EA7B437CA63EDE546A390088, + 9C00A3B72C9748ACFBF5C059, + A0A1B6344FD51FCDBB9C204E, + 9DA13E7352FB376508315D83, + A7C30AD9E7ACADB65E2E9FF2, + 6374A362F258DBD2F39C868C, + 0124FD2E09CC905B5F5E946D, + 33E1D4A2F37E15E02464FB04, + 1E91A2C8AF72DF59C199E818, + DEB45A52F4AAB4FF1DEFF917, + 8C907079F5A8EF3BD3DD35C1, + D234BD4D6AE149D63892A568, + 15C2EE8305EE8F0E0DA60E7E, + A5B4B4ACFAFFCA55AA7DF0EE, + DE604B27DA8E8141012B7C76, ); name = streams; sourceTree = ""; }; + CA8C33C6E039B1D9AEED744B = {isa = PBXGroup; children = ( + A55D76D2DD846DF369A1B062, + 7FF73F42C8BA1F00D7397605, + 5A5572F95434483C670D0763, + 25D6F3C83F487FC6A4E6E0A5, + 2B5AD253F09E8774138A92EC, + 78415F3E8CD250F76A2B4E5C, ); name = system; sourceTree = ""; }; + 679D8B32CDF18BEC9868D766 = {isa = PBXGroup; children = ( + 56984FF7B7A8186E267CA2C7, + 7DF9149436E477A8CA9C4913, + C9B3C530D568B8F23A468735, + 90DDEFA4C3E0D9A94D89D560, + B1DF86973FEECE79964F8417, + 290313E8DFE0C4FC406C2360, + D98B4710CA9D9EEA80D3850C, + B252BBCF9F5FD643D0E9AC83, + 021E4B9D060BD0CF0860AE90, + 3899F0D969DE1CFDE1C28A4C, + 447C281C78F82035C2BD24EB, + 391E61B7E04EEEEE8A87195C, + DAEC7D47D0797A93D614BBFB, + D2079159DFD2C55DA65831AA, + F20219B169674F73013B959B, + B812EAB4E6CBB640845742ED, + 9BAED86761B8DDB97637DCB0, + 7C7709861088BBB95FBFC7B9, + BCFC623C56B7071F9CC6B0AD, + EC6AED5402632BB7AB3D9817, + B301BDB1D870A1997BBD8B31, + 6037D45756D11A1360FBDFB4, + FE0E52C9AFA1874FD0F6EDFB, + B39B217148F866D5F57942C4, ); name = text; sourceTree = ""; }; + E60CC81027CC44036DFBFFCC = {isa = PBXGroup; children = ( + C25DBA75B27D857652748702, + 9AC7FDA570544046185D6933, + 58ECEED241DF27ED319D1DFC, + 09437961E4C3262AF3ADED8B, + A88B5A8101BD7EAB2B0BAB35, + 632EB1DDB282B7EA29091876, + F12E0BC6AA64C2E1A0284A26, + A37D36CA1CD0EFDD6829D108, + 5322147EFA4CACACD31C55BB, + 1945B8B1780CECAA1A49EDDA, + B607D4F65F2DE1F20187AE0C, + E04EBB578FEA27D7F991CD8A, + 992E198BAFF9F97CA8267243, + AA23BE61CCD82B6EFD668570, + 8C4B2862B075A24BB66F7BCC, + B4E7D1AC16B0EDD769C3E301, + 7427DE3DD9E5F7BC673338A9, + 2FBA7B33A6753CD6EDA3C44D, + 3A4D960AFD726944CDD837A0, + 4DBB69C768DC0AB48E4D7335, + B30B16136732BB68AB32885A, + DF3DBAEDD9DEAEB7A7D0C246, ); name = threads; sourceTree = ""; }; + CE4C42BE639FF296A3B3FB54 = {isa = PBXGroup; children = ( + D1FD340C6786DED8A06EA0BE, + 47E867EB426ED9E824837D86, + 3F6066E4811F5614743ADF18, + 658BA13CE4A1B5BDAB21F453, + 5E1B48EC342F75E172492CC2, + 7618E389756278E8A8737270, ); name = time; sourceTree = ""; }; + 13FBA7C2E0827B356440A388 = {isa = PBXGroup; children = ( + 031323316BE5A4736C9E93DC, + E4F40BEE2B9AD2278B514971, ); name = "unit_tests"; sourceTree = ""; }; + 54B15408924A124E02F9E7D2 = {isa = PBXGroup; children = ( + 459BA6D8DE834F3A84690357, + 7DE03DEF670FF7640DA6BF30, + F75051C40F6B34B13C483AB9, + 1F6F203486A696D5B35DC25F, ); name = xml; sourceTree = ""; }; + C9B5CA73ACDF7CCCC0E830BE = {isa = PBXGroup; children = ( + CA6A35C980DA16823A27B7F6, + 8D317883E61856EE2491FC09, + 5AD10992C4A5CF4C11FB8A0D, + 9E2419E5C9BB345B5121A6D2, + 05248CC68AF398A13747B3AF, + B4AD729202F07B7BEE54E492, ); name = zip; sourceTree = ""; }; FEA1B0BA7F8F75F1333343F3 = {isa = PBXGroup; children = ( - 54857A0ED7C578048EA3BC8C, - 8F0440E037A0737A5B5A816F, - EF19B5815B61879A232AB5F8, - 0606A517BC59F09662D14021, - B52E49803AFAC22A5D3DFAF9, - E10B0598C5380293E7D3522A, - 52068909833FDC8D4678A63D, - D66C2FBDAA3856B79F27CB26, - ABB327C80FA60E4EE212DEDA, - F1ACCD6572C36B1C197F7389, + 566D292EAC206E5837B40131, + D3CAA19ECDDB7C664B8D647A, + 8F2B41AF84B55107F0EC52ED, + 17510F6886DEC9435C03BB4B, + 9804ED2634D6C5834BF321F5, + 5AD2EEB7D5BAD4D976976204, + 40838AC862B3884AB4933596, + 68DE5DA19EDA288EC77B1397, + 815BBF68DACA9B7DAD3277FA, + B728B781DF6487DFEBA5D072, CA8C33C6E039B1D9AEED744B, - 8C94CC16F964A703D25D1D0C, - 11BCBBDF1B984D6B50FF1D65, - 868BF883D27E9D8B871E75EB, + 679D8B32CDF18BEC9868D766, + E60CC81027CC44036DFBFFCC, + CE4C42BE639FF296A3B3FB54, 13FBA7C2E0827B356440A388, - E6989A7A06F752F666765CD3, - F83F9A68BD888CC09E3010F6, - 4A1D30BBAB2649F4C0970E87, + 54B15408924A124E02F9E7D2, + C9B5CA73ACDF7CCCC0E830BE, 59E9E1263FAA9E36D6D33C01, ); name = "juce_core"; sourceTree = ""; }; - E041BB0DC52093F623C413CE = {isa = PBXGroup; children = ( + 1E1AC211840B2F5FFEF23EFE = {isa = PBXGroup; children = ( + 35AE3C6D75DE08E9C41DFCEE, + 406DF1B4D378562F659E8565, + 2A25688682B14F59080B8856, + 5029A627A11CDF63AF4F5B8F, ); name = "app_properties"; sourceTree = ""; }; + 9D61E1F52239600FDC155F07 = {isa = PBXGroup; children = ( + DEED8BDABC10E6650C61915D, + A759DC9DA67FE7574884F88D, + 9CDD6AA35716672F050A28C4, ); name = undomanager; sourceTree = ""; }; + E1ED042A7C1CC9770756E817 = {isa = PBXGroup; children = ( 94BF50B22594BFFBBF487F68, C01C65AA178CAAD65CDF7273, DD813DFB4467E734B53BD1F4, DF329E2274A09998C98424BF, C80C46AC11D0A36B43BF545C, 19A0D8CE0DDC2B5A8215ED90, ); name = values; sourceTree = ""; }; - 9D61E1F52239600FDC155F07 = {isa = PBXGroup; children = ( - DEED8BDABC10E6650C61915D, - A759DC9DA67FE7574884F88D, - 9CDD6AA35716672F050A28C4, ); name = undomanager; sourceTree = ""; }; - 20FE35E9EAC903FACAD65400 = {isa = PBXGroup; children = ( - 35AE3C6D75DE08E9C41DFCEE, - 406DF1B4D378562F659E8565, - 2A25688682B14F59080B8856, - 5029A627A11CDF63AF4F5B8F, ); name = "app_properties"; sourceTree = ""; }; 584A723B020C02FF0714AC51 = {isa = PBXGroup; children = ( - E041BB0DC52093F623C413CE, + 1E1AC211840B2F5FFEF23EFE, 9D61E1F52239600FDC155F07, - 20FE35E9EAC903FACAD65400, - 4999D0E2E73B14F89B3852B2, + E1ED042A7C1CC9770756E817, D1B0DB676A6A968AA8539F91, ); name = "juce_data_structures"; sourceTree = ""; }; - D0B6D317D5D309AA53817F7F = {isa = PBXGroup; children = ( + 6EE84109ECE595FD76A85FA9 = {isa = PBXGroup; children = ( + 8A282A87C13A4CB559B544D5, + DB9ADD80EF2DCECC21876922, + B73F7F0669A6434AA911BB2A, + C1994F6906975E2337549F27, + FF95986E4C03C60149C2EAB3, + 4D8B25F49672278DAD980D37, + 8E317934922B12ABA2B5A8AA, + 671AE5D17EF53649D7D1B706, ); name = broadcasters; sourceTree = ""; }; + 337E513465DEFBF4ACAA5ACA = {isa = PBXGroup; children = ( + 7FCE792C7AB12179255A503B, + 616001AC742985F6056FC373, + CCD2995B73F60BDBAAFC07C9, + 7EB411B3EEEF32A2457A28A3, + 84EA235515C1B97954C1F97C, + 53DB1E1F972D23211F994563, ); name = interprocess; sourceTree = ""; }; + 456E82EC4B7488C7113FFF91 = {isa = PBXGroup; children = ( 977004696868887798BE902E, DAB4E720D859B35A658F42A6, 085EA881D89B7D96B4E1C4EF, @@ -1455,28 +1454,7 @@ 132527D90182FABFAD6B679A, 6B557AF16786514B9B509F6E, 96C10BDED107AED6A992F38C, ); name = messages; sourceTree = ""; }; - 219CF44A11B0306C4C8E089A = {isa = PBXGroup; children = ( - 7CD1D9760A7F9124BC92868A, - 4EA1329ABB28BF7D1E2BCEE7, - 86ADBCA3CFDA607F9E22805E, - 2977F9A301367D33C8054620, ); name = timers; sourceTree = ""; }; - 867F5167D5B02633DE3C27FF = {isa = PBXGroup; children = ( - 8A282A87C13A4CB559B544D5, - DB9ADD80EF2DCECC21876922, - B73F7F0669A6434AA911BB2A, - C1994F6906975E2337549F27, - FF95986E4C03C60149C2EAB3, - 4D8B25F49672278DAD980D37, - 8E317934922B12ABA2B5A8AA, - 671AE5D17EF53649D7D1B706, ); name = broadcasters; sourceTree = ""; }; - CD5127A5D0157A6C8DAE649C = {isa = PBXGroup; children = ( - 7FCE792C7AB12179255A503B, - 616001AC742985F6056FC373, - CCD2995B73F60BDBAAFC07C9, - 7EB411B3EEEF32A2457A28A3, - 84EA235515C1B97954C1F97C, - 53DB1E1F972D23211F994563, ); name = interprocess; sourceTree = ""; }; - E7EB8F13CC4D253F1FBED90C = {isa = PBXGroup; children = ( + 5DE819894F47B7825D1AB4E3 = {isa = PBXGroup; children = ( 2D5463C56EB1D673D4C37A26, 2101C88856D6E4101D4B6EB9, F8A4925B3E23206A0754205E, @@ -1485,13 +1463,17 @@ 3A4ADB03B4FDD3E092A4EA1F, BA50382ECF67058553C0CF60, 0995D7B07504B098C495A289, ); name = native; sourceTree = ""; }; + B482FC9D25B806C6972EB2E5 = {isa = PBXGroup; children = ( + 7CD1D9760A7F9124BC92868A, + 4EA1329ABB28BF7D1E2BCEE7, + 86ADBCA3CFDA607F9E22805E, + 2977F9A301367D33C8054620, ); name = timers; sourceTree = ""; }; 9999265D6565E84C519B6188 = {isa = PBXGroup; children = ( - D0B6D317D5D309AA53817F7F, - 219CF44A11B0306C4C8E089A, - 867F5167D5B02633DE3C27FF, - CD5127A5D0157A6C8DAE649C, - E7EB8F13CC4D253F1FBED90C, - 62AD83AD4696E47FB45585CB, + 6EE84109ECE595FD76A85FA9, + 337E513465DEFBF4ACAA5ACA, + 456E82EC4B7488C7113FFF91, + 5DE819894F47B7825D1AB4E3, + B482FC9D25B806C6972EB2E5, 2EDAD84A240F6EA14E91F843, ); name = "juce_events"; sourceTree = ""; }; D96C00E687028523A6B95820 = {isa = PBXGroup; children = ( 6687C444F957D7D097F6D457, @@ -1511,19 +1493,25 @@ CB2ABF575A275A9AFAF69AB6, D6529F0028A0D64B57BD486A, D9ACF6590CE093AE1B687493, ); name = contexts; sourceTree = ""; }; - 11E04A6A98874D8C749E8125 = {isa = PBXGroup; children = ( - 64E9F1A471FB4139A86242AD, - 7983BE181790E622062ABDA7, - EF6DCFE1A8648BA97D9E027B, - B2B7AA7BD345763FD87C6F6C, - CCB0F34697E82EF0D5FF4B44, - 5B43C06682E6348DCD10BECA, - E13F0F8F7F6F633D94F8852E, - 10BE0702983DAC068A700C60, ); name = images; sourceTree = ""; }; - 5B11A45CDA3691A7C35A7DE3 = {isa = PBXGroup; children = ( - ADDD1F7465029C1760729DEC, - 626A01BA93A061B77DE39B01, - 3FD158E0EBB5A23F749067E3, ); name = "image_formats"; sourceTree = ""; }; + 57F5DFEF697CEFA865225015 = {isa = PBXGroup; children = ( + 031D5EF47AD1A899C5FEB1C9, + 55A358EA30720C4A5CCA9151, + 215DE048889CCA704E8F5112, + 87EA6E46F50CE9F1225F5378, + DBE644AB8DD7935E701F364A, ); name = effects; sourceTree = ""; }; + E9D66FAE21704D06A0B83946 = {isa = PBXGroup; children = ( + BE790FC31FED01F453778D57, + 57F15A42094E5ACCA8DB407D, + DC1F273C442E0C5B476BFBB4, + A2D5629F1BF85B126284E956, + CDE1C86EB362EDC8A03F428F, + 84151C5E4FC8B82EFA3EA196, + F5442F8B15FB0A77E4648186, + 27584E89B3BADB1CF4B1FDE4, + 1F2B9396D1F9383A2BE87F61, + BC21204055502ECD5D995C9A, + B0F96C67BA2727CA3DBE84B2, + 76EF2B2A80865A874EA3AC21, ); name = fonts; sourceTree = ""; }; 760DBB50894CEE6E6A9683E9 = {isa = PBXGroup; children = ( 490C9E6C4CFC2DACA9D020F5, 183BE9E5FB25F41ACD9E9773, @@ -1540,30 +1528,20 @@ DD30B985E81FD9E1A2DA0CFA, ACC586E84D66B1187620EFA7, 924AD69D9805BF69CF891A26, ); name = geometry; sourceTree = ""; }; - 161618966E3DD04535D909F4 = {isa = PBXGroup; children = ( - CD90BB1F67F6D769D73D3A01, - 281A6D0D7525F65789FB49EF, - 9BC778712D665C9DF94C08A0, ); name = placement; sourceTree = ""; }; - 765E46E76E5F123A08D7DA64 = {isa = PBXGroup; children = ( - BE790FC31FED01F453778D57, - 57F15A42094E5ACCA8DB407D, - DC1F273C442E0C5B476BFBB4, - A2D5629F1BF85B126284E956, - CDE1C86EB362EDC8A03F428F, - 84151C5E4FC8B82EFA3EA196, - F5442F8B15FB0A77E4648186, - 27584E89B3BADB1CF4B1FDE4, - 1F2B9396D1F9383A2BE87F61, - BC21204055502ECD5D995C9A, - B0F96C67BA2727CA3DBE84B2, - 76EF2B2A80865A874EA3AC21, ); name = fonts; sourceTree = ""; }; - 9A92559D2C772DB8D1AC41BA = {isa = PBXGroup; children = ( - 031D5EF47AD1A899C5FEB1C9, - 55A358EA30720C4A5CCA9151, - 215DE048889CCA704E8F5112, - 87EA6E46F50CE9F1225F5378, - DBE644AB8DD7935E701F364A, ); name = effects; sourceTree = ""; }; - 35BA4E7412123EA78166D65C = {isa = PBXGroup; children = ( + C34D6D30D8DBCA8AB20E0CA9 = {isa = PBXGroup; children = ( + ADDD1F7465029C1760729DEC, + 626A01BA93A061B77DE39B01, + 3FD158E0EBB5A23F749067E3, ); name = "image_formats"; sourceTree = ""; }; + BE7999C01F4E8918A26757D9 = {isa = PBXGroup; children = ( + 64E9F1A471FB4139A86242AD, + 7983BE181790E622062ABDA7, + EF6DCFE1A8648BA97D9E027B, + B2B7AA7BD345763FD87C6F6C, + CCB0F34697E82EF0D5FF4B44, + 5B43C06682E6348DCD10BECA, + E13F0F8F7F6F633D94F8852E, + 10BE0702983DAC068A700C60, ); name = images; sourceTree = ""; }; + 4AA7012AF7750719875F4CB9 = {isa = PBXGroup; children = ( 77451A1E595A87FE92658636, 26A66F26019CBD79F5A91C9A, AE3B0657991C1CC3638745B5, @@ -1577,19 +1555,54 @@ A67FE9CFCAF3E3883D94C392, F89103411772458E971E8C81, BE488D6CD2C0140A9B6E934C, ); name = native; sourceTree = ""; }; + 649291E367D69150D9B29E97 = {isa = PBXGroup; children = ( + CD90BB1F67F6D769D73D3A01, + 281A6D0D7525F65789FB49EF, + 9BC778712D665C9DF94C08A0, ); name = placement; sourceTree = ""; }; 6D0CD7DF808796C772B9CF79 = {isa = PBXGroup; children = ( D96C00E687028523A6B95820, C20FDADCE5D132ADD0F0B674, - 11E04A6A98874D8C749E8125, - 5B11A45CDA3691A7C35A7DE3, + 57F5DFEF697CEFA865225015, + E9D66FAE21704D06A0B83946, 760DBB50894CEE6E6A9683E9, - 161618966E3DD04535D909F4, - 765E46E76E5F123A08D7DA64, - 9A92559D2C772DB8D1AC41BA, - 35BA4E7412123EA78166D65C, - 6AE0098B6A2E1EAAE4229AEC, + C34D6D30D8DBCA8AB20E0CA9, + BE7999C01F4E8918A26757D9, + 4AA7012AF7750719875F4CB9, + 649291E367D69150D9B29E97, 346D8BC0FDE14C4BE4CAE645, ); name = "juce_graphics"; sourceTree = ""; }; - 83FB8583DA1B49CE63FD33E6 = {isa = PBXGroup; children = ( + 14036E5BB20F9B91CE588A6D = {isa = PBXGroup; children = ( + F193B593463CBEA3B4F399C1, + EE10729725D82DBAF10420A9, ); name = application; sourceTree = ""; }; + CE4F071417E914EE0C29050F = {isa = PBXGroup; children = ( + C2CED429B672EB6A5D299F68, + 640409A66565092660767890, + D33A70241E8C2D22B6409385, + 2AAE45171EA474D2FEDBEF6B, + BD06615203039932C590F0D8, + 5E7C3EF67857DB0082A41E95, + 9CE0F9D7C49B64C29A699E3D, + 65268CEE346EB4D090D434DF, + A96E3DEAF00EC750459EE0BB, + 68D30198ED90BAB25E06FB93, + 8C1169C0AAC0A019D2DBE488, + DBC3334D0BE4DE348E479B3B, + 6CC8C6277F4B378BB2516B99, + 5F7997D0291392415EB5670D, + 8B83FD1FA65C4103DDE2EA9C, + 43D160D6ED038A7088AB3DEC, + 4B612CF023FAAAB715A7CE61, + 76CEAA7DA1188C7BA85E9AD4, ); name = buttons; sourceTree = ""; }; + 03E007E3CFCF5C62E91D9B28 = {isa = PBXGroup; children = ( + 17A622FB24C67AF413278C9D, + EF26FBEF648444F597EED4D9, + 4166F8C587E680C19CDB28D2, + 292937C4EBBA8D66231DEF1E, + 858D95EA823FCD1DBFBC4E96, + DE62CAD14A6EA0B6F66E2B9A, + 0A4BDBC90AD26454FF1F992A, + 54D12DFAAC0B8DA6E394204C, + 7219E995BF8937AA13EF0937, ); name = commands; sourceTree = ""; }; + EBB653557413A1E1B90D2280 = {isa = PBXGroup; children = ( 5F467F2059AE430E6BF3F4C0, 70423D657809189527B69E00, 82E3B133D0E15FC5A0467749, @@ -1599,28 +1612,46 @@ 1AE59A7E8079843A9523C1C3, 0172D6B3308953A0A0484272, D00B28DABFC2293AD6A9D856, ); name = components; sourceTree = ""; }; - 7E1DABFE3234865540CA3ABA = {isa = PBXGroup; children = ( - A612D2AEB82CA6769747CFF8, - 00F105203610541906FA031C, - A4C85C1FBBAEF5CD869B481A, - 21AA213CE75E3291949C6CBB, - C8516C1E40F21AF2F48EE246, - 90794FCA3ACFCE9FF934CFCA, - 7A55A7E6495A10FE553E75EB, - ED7B6E0CCAABFFD95483A5A1, - 2570C4274F677D5F73074430, - B3F638A9960D94D4E38C3EE5, - B4FEFA79560682768177D629, - B3E9F31A38FEE09FFEB0E997, - FA5389B4B4B922397A55CB60, - F49F1A69A3B46150C57557D0, - AE3CFB79C6A02BB12EB0A2BA, - 67B7C5D013D32150AA632AFE, - F4E9F80E7F85608F4A5AB58F, - 1ADF350761EB5629DF148F35, - F4ABBA594FA6BC2FBEDD398F, - F62BBC1A8B1C678801A0418F, ); name = mouse; sourceTree = ""; }; - 8F207CAF34524A39BAA9EEC1 = {isa = PBXGroup; children = ( + B1DC18EAAEA038ACF5504D45 = {isa = PBXGroup; children = ( + 48914D8EF53DF4F467B5C38E, + 19CF04AE6B9BA0BF4B673644, + 3A0905D5A44682BA32E890B5, + 34E24767484BE14AA957A1CB, + F40EB47EEC8830E90B51887A, + 1B5C5E960E7409E889F78A02, + 52143236E07D91EB0AF4C7BC, + 34D309D5E22BA0FF12D2FEE7, + D0C3247AC5F5E17108E67EA5, + 2A9C48E02F347508B60E1E21, + 07AB7FDD7580231858DA3BD3, + 7E2B039E35B63D564CB0E12B, + 7A223F4215B0F750291066C3, + 0B3E8AF5DD78B8C46461633D, + 5C5EA791F21CA31804DBD014, ); name = drawables; sourceTree = ""; }; + 3AC48E55C541B2FB79393A17 = {isa = PBXGroup; children = ( + 85929AE1240EF7396488E6EF, + 1E02F37ED1CED5CE1DDE07A0, + 7328E44FE859DD15EC2CE03A, + 34A5918D9A6D9E594FDDA424, + 515A303B1DE0FFD73F905EC7, + C8F142A5E2D13E72F99E219E, + CFC4CBAAADA0714B6334AB82, + A770DBBE0DD8D1D33450AB3D, + 7793AAB87CA8422BEB1D2786, + 32600FBC59D4D1081295E262, + 5221FCE051C50A62D61AB705, + 64CB953C4710E1182A72BA47, + 42D0E88CB303E30747CE24FE, + B1CF51AE63BB5DEBECD47875, + 33E8C12F554677E58F4BAE77, + 496C15C1B88544F6B30707D1, + 5B0E1920431F1047B1306B7D, + 2FA12C63BC0BD2C8DF3B03CB, + D4C3B2CECDA6BE1056EB21E6, + CD8DB8D0560BACDD3845F550, + 9481495E00E43EBBCF41D165, + D7EF1A8F35C7DA552BC9AD32, ); name = filebrowser; sourceTree = ""; }; + 8FCA1F2EC8FD85E745A9CFE5 = {isa = PBXGroup; children = ( 01C131F232C1BBF49445C4C2, 2E4666160268FAC7A532A06F, 2F629B6A39DD38758FE73113, @@ -1634,62 +1665,7 @@ 1113FC41E8F9E67116F34119, 4C1C0EABAF9943E25BB843E2, C8ED6F312DBD9DE5E9A1B568, ); name = keyboard; sourceTree = ""; }; - A439B5AB535FCD05D9635E47 = {isa = PBXGroup; children = ( - B92FE036F9E2892A4E7BA7BF, - 0AD47AB335E576ACA9979911, - 692760FF53C119B0ADCEBC85, - 74965ED2CA35AFBE8CF98315, - 88B3C4FF9311F4797F9BDCCA, - D8D135DCCC6EF939F0CD2A26, - BB30BEBF839C3640BB28B3D1, - 43248265F0C0DFDCBF4CBBFB, - 86771CD55EEBF4DCD6B3EE1C, - 273F8B5CC164C605070744D7, - 443719DFD779BD07F5831148, - 40AA1B902D8D3CB54D860BBE, - 961694E31BDCEBFC65CC1796, - 85D5A35174B569C59CF2C7F3, - 7977C9703BF976B2CC300105, - A8B4A6DDE41B6826A72E1CC1, - 154C899287F20AFF9A47016E, - 2BDA963F7AA43162273A3224, - DB9BF231B5007FC6051A639E, - 84758DEDFF52B8A4A78DF410, - 58D8DA39709C9E4902C964BF, - 5BD03168178B05F7A6F1126A, - BA11889570DB5E67AD37DB90, - 2C1FCF64B8120D658E982254, - 8B5B75774474FCA544B1B2FD, - FF704E82ACB2DEB955F06B02, - CCAFCC6717B719157B251C1B, ); name = widgets; sourceTree = ""; }; - 9554444EAF47E14FB0E625E6 = {isa = PBXGroup; children = ( - 0AAFF309A3F53A79BD65A222, - 6EF4481E63CDB816C43CFE33, - 50F0CD4FF37A8BD224C4A696, - 9DE1DEB9CB034DBF7F1603BF, - FFC31B01BFA016D0D97EFFC1, - FFA5E5B817C46570A742F8DB, - CEB5926D26D476217426C3DC, - DF1900E8201A1BCCBC64AF00, - F860CDA9B50B6B178D431622, - 179021EB8CF93BAF69C822DA, - DF7FFD1509B205871099C5B7, - 8CA657F3BF721467B5EC9053, - 06A3571D29486CC63867E429, - C704CA2145896AAB100E6D1C, - 86FA92C698D7FA9BB526A62F, - B4BD3B842D678DD5C850A7AA, - D39E4EA15D8933D05802B88E, - 0070839D920C6E0890104E57, - BBFC02ADF6B29159C4E8C758, ); name = windows; sourceTree = ""; }; - 6D7115C8BBAFCEEDEF3B29A8 = {isa = PBXGroup; children = ( - DFB53C51F58D5F2CC3B488C9, - 3947CE32DD0E2EF74A9A5685, - D5B2347B8869A49762221315, - 5786743BB354833AD3E7C941, - E8591ABA5B7B62C30D83359C, - 452DA077C32F269A990CAF7F, ); name = menus; sourceTree = ""; }; - A6B239F3F3ED96077D3ACFE5 = {isa = PBXGroup; children = ( + 293A8F2A2A279CC380D3AE28 = {isa = PBXGroup; children = ( C54484F67D536E24BF7FC8B1, 6315EC0AA8AAC51EF78270C3, C6A2E5AE96FB8DE7F76D10E8, @@ -1726,72 +1702,7 @@ 92123D5456E4E881FDE03CF3, 9C3D731E59E142B877B3B40A, 9AE96EFA03DB4690EC7D7EF7, ); name = layout; sourceTree = ""; }; - 4BCDD6827692F581AFD87F9A = {isa = PBXGroup; children = ( - C2CED429B672EB6A5D299F68, - 640409A66565092660767890, - D33A70241E8C2D22B6409385, - 2AAE45171EA474D2FEDBEF6B, - BD06615203039932C590F0D8, - 5E7C3EF67857DB0082A41E95, - 9CE0F9D7C49B64C29A699E3D, - 65268CEE346EB4D090D434DF, - A96E3DEAF00EC750459EE0BB, - 68D30198ED90BAB25E06FB93, - 8C1169C0AAC0A019D2DBE488, - DBC3334D0BE4DE348E479B3B, - 6CC8C6277F4B378BB2516B99, - 5F7997D0291392415EB5670D, - 8B83FD1FA65C4103DDE2EA9C, - 43D160D6ED038A7088AB3DEC, - 4B612CF023FAAAB715A7CE61, - 76CEAA7DA1188C7BA85E9AD4, ); name = buttons; sourceTree = ""; }; - 897AD2913E5E4B03E0FA59F4 = {isa = PBXGroup; children = ( - 45AEBBCAC5AEBF62F00C26B2, - 115DD24D8087A0F9DEDFE56A, - 8A9C5EBA0F19F7979A38DDF0, - C12A4B017FACBA4EC31EA7CF, - D8CB941CF4128105B5FA76FD, - 63217D136190E7F6D1D7D4B5, - 298F762E40199B266A9E2BFC, - BFF3AE3A9F6BB64BE5616A50, - 26FB1EB0E5333AFEB5A9C673, - E7AC5DB63FE9C67DA227E2D9, - B2324576FF886CB84C45CC49, - 2DCE43708C0681747EDD7D71, - 5A8B09391BEE95EFE335F7EE, - 02F93E26C18DF960E7F84C58, ); name = positioning; sourceTree = ""; }; - EE06F0065901763ED2B9DA8F = {isa = PBXGroup; children = ( - 48914D8EF53DF4F467B5C38E, - 19CF04AE6B9BA0BF4B673644, - 3A0905D5A44682BA32E890B5, - 34E24767484BE14AA957A1CB, - F40EB47EEC8830E90B51887A, - 1B5C5E960E7409E889F78A02, - 52143236E07D91EB0AF4C7BC, - 34D309D5E22BA0FF12D2FEE7, - D0C3247AC5F5E17108E67EA5, - 2A9C48E02F347508B60E1E21, - 07AB7FDD7580231858DA3BD3, - 7E2B039E35B63D564CB0E12B, - 7A223F4215B0F750291066C3, - 0B3E8AF5DD78B8C46461633D, - 5C5EA791F21CA31804DBD014, ); name = drawables; sourceTree = ""; }; - 2677AC3B7C1F7C3B985FD692 = {isa = PBXGroup; children = ( - 2D5C31D2E08FE74B61101250, - 13BE2012758BD5A811FB1619, - 2C16FFCFBF61CF478520019E, - AC61D2A968CDA510B480DC8D, - 846D8BE3FE17967539E883C3, - 2E22793041EE56845DCD02A9, - B9686DBC8D800831E3CEC46C, - E87F503108182FD43982C45D, - DF78C17F0D24AB45003D96BC, - 18C27047735CAAD217F9C7CF, - 6187479B8B75C129BEFF9CF3, - 44A7BA2DD53EE355E052627B, - 550ACC8080B604CACF4A1327, - 6CEDDB70061CF81C7ADCA315, ); name = properties; sourceTree = ""; }; - 8990AF2A8F1384EAA27C085F = {isa = PBXGroup; children = ( + CD44E7B93243D911BD21D5CF = {isa = PBXGroup; children = ( FB80193BD95C440867B71614, 58DBF3229DF035E3FDE0DD96, 5BB8C184757E8472A0DBC655, @@ -1800,48 +1711,40 @@ 3F97F503656083301FF92E9A, 31706C2C6BC3F1FE61C6F336, 81A990BB88C606DFA9303366, ); name = lookandfeel; sourceTree = ""; }; - 6D3969CCF4EF5BD6940299E6 = {isa = PBXGroup; children = ( - 85929AE1240EF7396488E6EF, - 1E02F37ED1CED5CE1DDE07A0, - 7328E44FE859DD15EC2CE03A, - 34A5918D9A6D9E594FDDA424, - 515A303B1DE0FFD73F905EC7, - C8F142A5E2D13E72F99E219E, - CFC4CBAAADA0714B6334AB82, - A770DBBE0DD8D1D33450AB3D, - 7793AAB87CA8422BEB1D2786, - 32600FBC59D4D1081295E262, - 5221FCE051C50A62D61AB705, - 64CB953C4710E1182A72BA47, - 42D0E88CB303E30747CE24FE, - B1CF51AE63BB5DEBECD47875, - 33E8C12F554677E58F4BAE77, - 496C15C1B88544F6B30707D1, - 5B0E1920431F1047B1306B7D, - 2FA12C63BC0BD2C8DF3B03CB, - D4C3B2CECDA6BE1056EB21E6, - CD8DB8D0560BACDD3845F550, - 9481495E00E43EBBCF41D165, - D7EF1A8F35C7DA552BC9AD32, ); name = filebrowser; sourceTree = ""; }; - 82441657EFB9BB5DEBE86CCF = {isa = PBXGroup; children = ( - 17A622FB24C67AF413278C9D, - EF26FBEF648444F597EED4D9, - 4166F8C587E680C19CDB28D2, - 292937C4EBBA8D66231DEF1E, - 858D95EA823FCD1DBFBC4E96, - DE62CAD14A6EA0B6F66E2B9A, - 0A4BDBC90AD26454FF1F992A, - 54D12DFAAC0B8DA6E394204C, - 7219E995BF8937AA13EF0937, ); name = commands; sourceTree = ""; }; - E268D6E2AAB12B20D826CC5C = {isa = PBXGroup; children = ( + 4CF448A76997972AA7E2541B = {isa = PBXGroup; children = ( + DFB53C51F58D5F2CC3B488C9, + 3947CE32DD0E2EF74A9A5685, + D5B2347B8869A49762221315, + 5786743BB354833AD3E7C941, + E8591ABA5B7B62C30D83359C, + 452DA077C32F269A990CAF7F, ); name = menus; sourceTree = ""; }; + 67A74E16A0A62A4AC8459371 = {isa = PBXGroup; children = ( 679F43697B35F986EA2CAE00, 305C4EC192FB709CAA24530E, E5ADA9D2394B8B8C38431782, 9DFB1207084A2C2E0C53DB62, ); name = misc; sourceTree = ""; }; - D951574DD75B51FCEC27319C = {isa = PBXGroup; children = ( - F193B593463CBEA3B4F399C1, - EE10729725D82DBAF10420A9, ); name = application; sourceTree = ""; }; - 3EBD4832DE0F6F063F1044BA = {isa = PBXGroup; children = ( + 07D1770E88FE8886FF649937 = {isa = PBXGroup; children = ( + A612D2AEB82CA6769747CFF8, + 00F105203610541906FA031C, + A4C85C1FBBAEF5CD869B481A, + 21AA213CE75E3291949C6CBB, + C8516C1E40F21AF2F48EE246, + 90794FCA3ACFCE9FF934CFCA, + 7A55A7E6495A10FE553E75EB, + ED7B6E0CCAABFFD95483A5A1, + 2570C4274F677D5F73074430, + B3F638A9960D94D4E38C3EE5, + B4FEFA79560682768177D629, + B3E9F31A38FEE09FFEB0E997, + FA5389B4B4B922397A55CB60, + F49F1A69A3B46150C57557D0, + AE3CFB79C6A02BB12EB0A2BA, + 67B7C5D013D32150AA632AFE, + F4E9F80E7F85608F4A5AB58F, + 1ADF350761EB5629DF148F35, + F4ABBA594FA6BC2FBEDD398F, + F62BBC1A8B1C678801A0418F, ); name = mouse; sourceTree = ""; }; + CE5247481F8388E89683477B = {isa = PBXGroup; children = ( 3CD7992BECDBC3ABC6BF20EC, CF7E9C84229F57D36F3F121D, AE7A50472A120B0FCD6941E3, @@ -1858,25 +1761,102 @@ 29270807EE1FFA28E8B97173, 6BCF17B2983BB7D7DF91CA8F, F399C5718D31B61C2204231D, ); name = native; sourceTree = ""; }; + F821C5A6C12ED59BB9FFA44C = {isa = PBXGroup; children = ( + 45AEBBCAC5AEBF62F00C26B2, + 115DD24D8087A0F9DEDFE56A, + 8A9C5EBA0F19F7979A38DDF0, + C12A4B017FACBA4EC31EA7CF, + D8CB941CF4128105B5FA76FD, + 63217D136190E7F6D1D7D4B5, + 298F762E40199B266A9E2BFC, + BFF3AE3A9F6BB64BE5616A50, + 26FB1EB0E5333AFEB5A9C673, + E7AC5DB63FE9C67DA227E2D9, + B2324576FF886CB84C45CC49, + 2DCE43708C0681747EDD7D71, + 5A8B09391BEE95EFE335F7EE, + 02F93E26C18DF960E7F84C58, ); name = positioning; sourceTree = ""; }; + 813E8BF63ADFB60149D6D3A7 = {isa = PBXGroup; children = ( + 2D5C31D2E08FE74B61101250, + 13BE2012758BD5A811FB1619, + 2C16FFCFBF61CF478520019E, + AC61D2A968CDA510B480DC8D, + 846D8BE3FE17967539E883C3, + 2E22793041EE56845DCD02A9, + B9686DBC8D800831E3CEC46C, + E87F503108182FD43982C45D, + DF78C17F0D24AB45003D96BC, + 18C27047735CAAD217F9C7CF, + 6187479B8B75C129BEFF9CF3, + 44A7BA2DD53EE355E052627B, + 550ACC8080B604CACF4A1327, + 6CEDDB70061CF81C7ADCA315, ); name = properties; sourceTree = ""; }; + 210D376321ABCF35A1FDA812 = {isa = PBXGroup; children = ( + B92FE036F9E2892A4E7BA7BF, + 0AD47AB335E576ACA9979911, + 692760FF53C119B0ADCEBC85, + 74965ED2CA35AFBE8CF98315, + 88B3C4FF9311F4797F9BDCCA, + D8D135DCCC6EF939F0CD2A26, + BB30BEBF839C3640BB28B3D1, + 43248265F0C0DFDCBF4CBBFB, + 86771CD55EEBF4DCD6B3EE1C, + 273F8B5CC164C605070744D7, + 443719DFD779BD07F5831148, + 40AA1B902D8D3CB54D860BBE, + 961694E31BDCEBFC65CC1796, + 85D5A35174B569C59CF2C7F3, + 7977C9703BF976B2CC300105, + A8B4A6DDE41B6826A72E1CC1, + 154C899287F20AFF9A47016E, + 2BDA963F7AA43162273A3224, + DB9BF231B5007FC6051A639E, + 84758DEDFF52B8A4A78DF410, + 58D8DA39709C9E4902C964BF, + 5BD03168178B05F7A6F1126A, + BA11889570DB5E67AD37DB90, + 2C1FCF64B8120D658E982254, + 8B5B75774474FCA544B1B2FD, + FF704E82ACB2DEB955F06B02, + CCAFCC6717B719157B251C1B, ); name = widgets; sourceTree = ""; }; + 13C5141296225242A3B3026D = {isa = PBXGroup; children = ( + 0AAFF309A3F53A79BD65A222, + 6EF4481E63CDB816C43CFE33, + 50F0CD4FF37A8BD224C4A696, + 9DE1DEB9CB034DBF7F1603BF, + FFC31B01BFA016D0D97EFFC1, + FFA5E5B817C46570A742F8DB, + CEB5926D26D476217426C3DC, + DF1900E8201A1BCCBC64AF00, + F860CDA9B50B6B178D431622, + 179021EB8CF93BAF69C822DA, + DF7FFD1509B205871099C5B7, + 8CA657F3BF721467B5EC9053, + 06A3571D29486CC63867E429, + C704CA2145896AAB100E6D1C, + 86FA92C698D7FA9BB526A62F, + B4BD3B842D678DD5C850A7AA, + D39E4EA15D8933D05802B88E, + 0070839D920C6E0890104E57, + BBFC02ADF6B29159C4E8C758, ); name = windows; sourceTree = ""; }; D2208A7A101585B74AA5C9EB = {isa = PBXGroup; children = ( - 83FB8583DA1B49CE63FD33E6, - 7E1DABFE3234865540CA3ABA, - 8F207CAF34524A39BAA9EEC1, - A439B5AB535FCD05D9635E47, - 9554444EAF47E14FB0E625E6, - 6D7115C8BBAFCEEDEF3B29A8, - A6B239F3F3ED96077D3ACFE5, - 4BCDD6827692F581AFD87F9A, - 897AD2913E5E4B03E0FA59F4, - EE06F0065901763ED2B9DA8F, - 2677AC3B7C1F7C3B985FD692, - 8990AF2A8F1384EAA27C085F, - 6D3969CCF4EF5BD6940299E6, - 82441657EFB9BB5DEBE86CCF, - E268D6E2AAB12B20D826CC5C, - D951574DD75B51FCEC27319C, - 3EBD4832DE0F6F063F1044BA, - 5132A84A1CFE138A30001C77, + 14036E5BB20F9B91CE588A6D, + CE4F071417E914EE0C29050F, + 03E007E3CFCF5C62E91D9B28, + EBB653557413A1E1B90D2280, + B1DC18EAAEA038ACF5504D45, + 3AC48E55C541B2FB79393A17, + 8FCA1F2EC8FD85E745A9CFE5, + 293A8F2A2A279CC380D3AE28, + CD44E7B93243D911BD21D5CF, + 4CF448A76997972AA7E2541B, + 67A74E16A0A62A4AC8459371, + 07D1770E88FE8886FF649937, + CE5247481F8388E89683477B, + F821C5A6C12ED59BB9FFA44C, + 813E8BF63ADFB60149D6D3A7, + 210D376321ABCF35A1FDA812, + 13C5141296225242A3B3026D, 8FF8814C6B322D670346712C, ); name = "juce_gui_basics"; sourceTree = ""; }; DE034CD3F8B6EEDDB5F6F31F = {isa = PBXGroup; children = ( 5B5CB42B086D6C224DAE0E6D, @@ -1938,7 +1918,6 @@ 53E1F867C97D508EA6B48200, 9CA7E3B97E045033F8697E73, D1A4618B6E803098E88C4BDB, - 0E18901E9C32415284BA768A, 3ACCA940E7DAAF1360518308, ); name = "juce_gui_extra"; sourceTree = ""; }; DA8FE3C7F864386E24D8CC2A = {isa = PBXGroup; children = ( 0690EECB6F2AB185DA0731CB, @@ -1954,20 +1933,20 @@ 68648549A04799D8AEE2B77B, ); name = "Juce Modules"; sourceTree = ""; }; 6B93BE35C7D2D1D27ADEFE23 = {isa = PBXGroup; children = ( 5349B0714A02B856B15B8FC5, - 06251F5E80644992958A3B61, - AE002D113A5E494C827E27FE, - CE3FB8659C598AA9C97F8387, - 67B176E3836E1CDE0701D21F, - 0D1C2E36AC03421206996124, - 3BBF7A3FFBA017A997B1F06F, - C0E9B3EDC77F5A822BE65F21, - 8BFDC490FA70E7A2BD762F2C, - 21A1CB994664ABEFC0765425, - 214E214858B30900A6574117, - A21D4A32B970D081ECF552F4, + C61C59FC15608FD1C65107F1, + E994D76CBE38D3E312B96C0D, + F79982408861D410209D50B2, + 8C2CBA5A6ABF034EF004B413, + EE4C7DA7A8DE67398031BBC1, + EDBFE4D2484526BA892CD7F3, + 2B3497004FE2487E7863DAE5, + 97DDD468D1B8D8B810EC0FDD, + 3BAA08E098FF4384E0950D01, + 35C20643C3468A0C45809D16, + CB919E222B28AB38228D080E, D93CBFE9E05B4DC324582F20, ); name = "Juce Library Code"; sourceTree = ""; }; 5C1EAE2AD9CCE2B4F31B3EA9 = {isa = PBXGroup; children = ( - 379B5157AC6495B253A2C832, + 7514987563C2700E7867FF98, 963D38EE3DC00AE35DF2F33A, ); name = Resources; sourceTree = ""; }; E13EEBD9B7B8AE35C17CD559 = {isa = PBXGroup; children = ( 7926FFCD77E9709AED437153, @@ -1981,7 +1960,7 @@ 566D5E15DB1A5D46DDC9B861, A70C237020E785056E276FD9, ); name = Frameworks; sourceTree = ""; }; 396BE724B1AC489682B74278 = {isa = PBXGroup; children = ( - 13966A9213FDBB55FF26B12F, ); name = Products; sourceTree = ""; }; + AB7855931CA983F4EE039617, ); name = Products; sourceTree = ""; }; 937739BC97C6E6294CDCF171 = {isa = PBXGroup; children = ( AEB39FD252263E85F2FFE6BC, DA8FE3C7F864386E24D8CC2A, @@ -1989,7 +1968,7 @@ 5C1EAE2AD9CCE2B4F31B3EA9, E13EEBD9B7B8AE35C17CD559, 396BE724B1AC489682B74278, ); name = Source; sourceTree = ""; }; - 6B4A9DB0EFBFB70E9C96D694 = {isa = XCBuildConfiguration; buildSettings = { + 3B991DBD0B9EF35770D99DE0 = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; @@ -2005,14 +1984,14 @@ "JUCE_APP_VERSION_HEX=0x10000", ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.plist; INSTALL_PATH = "$(HOME)/Applications"; 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 = { + 8508F29925B0BD0B7BFF3FF3 = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; @@ -2029,7 +2008,7 @@ GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.plist; INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET = 10.9; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; @@ -2068,29 +2047,30 @@ PRODUCT_NAME = "MidiTest"; WARNING_CFLAGS = -Wreorder; ZERO_LINK = NO; }; name = Release; }; + AF76B951E8014014261613D6 = {isa = PBXTargetDependency; target = 68C4BE0E455A27D9A0CEB672; }; 33B4E927BEBC8696D1D2812E = {isa = XCConfigurationList; buildConfigurations = ( E12A8778C1F50489C01F266F, BBC1D92E610807090C266548, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - A097E9FC646D59572D329FA8 = {isa = XCConfigurationList; buildConfigurations = ( - 6B4A9DB0EFBFB70E9C96D694, - 882C0061E66EA99B23B90D15, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - A8F7668F69C4B750FDA5668F = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 9EEC5DC9E6376BF734D6A626 = {isa = XCConfigurationList; buildConfigurations = ( + 3B991DBD0B9EF35770D99DE0, + 8508F29925B0BD0B7BFF3FF3, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + A1114FDF6F871F83BAF3B6B8 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( 15EACE5FBAF5AFA3A17EE67C, ); runOnlyForDeploymentPostprocessing = 0; }; - 30B3B84DA95D5AFD0C2B618B = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 80C515E0387A6AF48C93D08C = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 94151FFFF4B5D4915D7A5215, F5137909CF5368EB77945BFB, - 88DE6F57C76D99EEC434D1B2, - 77692C39FD792A74F31B4879, - 8C273077D625F1912B04CFF6, - BE39B1C20CE31DADE9254A94, - DABE03E21DBF412FBF0DE749, - B6083C3B99FBBDC85D952058, - 04BFA0E97FB4A1B53C4100AB, - 888368E79422C87075ECD156, - B1197B3CBFC0607667805765, - 2454C388F07D82FFE7C44445, - 1E60E07B31292E9F087A00ED, ); runOnlyForDeploymentPostprocessing = 0; }; - 78AC5A7D3A226390D0A5CD45 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 6CAB4A9A42A545E0F1A9290B, + 0A9284E727E06691D8E7534E, + 69E9245B6DF6396ED05131C0, + 907F0B46CA8C930FCEF5760F, + 4556DD61E9E784BA1BE9DE09, + A2D6A1EB27B589224C6D6622, + 97FA74A4F21962DA4C1D62C7, + 6A81989C90CD1BE375987C9A, + 167C296FF5C793CBA3045F92, + C35947426F4AD4600EA3074D, + 68E7F01E8C655B668D220D34, ); runOnlyForDeploymentPostprocessing = 0; }; + AADBC72B2C7030FAD1D8CAF8 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( 766D6C7C22B520C9B4FE4BFF, 6635F9B102B7D8BC31732833, 6E7E21CC6A8D45C27A0A0B44, @@ -2101,11 +2081,11 @@ B43DBC16A721D2CF78602FC9, 3D7C47402EAF5E8BE1C72E65, 3BEFB8C29A21D912B03528A7, ); runOnlyForDeploymentPostprocessing = 0; }; - D2CD7EC0BA82072669ED8EAA = {isa = PBXNativeTarget; buildConfigurationList = A097E9FC646D59572D329FA8; buildPhases = ( - A8F7668F69C4B750FDA5668F, - 30B3B84DA95D5AFD0C2B618B, - 78AC5A7D3A226390D0A5CD45, ); buildRules = ( ); dependencies = ( ); name = MidiTest; productName = MidiTest; productReference = 13966A9213FDBB55FF26B12F; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; - 08CC3758D6C29BD07C86A240 = {isa = PBXProject; buildConfigurationList = 33B4E927BEBC8696D1D2812E; attributes = { LastUpgradeCheck = 0440; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 937739BC97C6E6294CDCF171; projectDirPath = ""; projectRoot = ""; targets = ( D2CD7EC0BA82072669ED8EAA ); }; + 68C4BE0E455A27D9A0CEB672 = {isa = PBXNativeTarget; buildConfigurationList = 9EEC5DC9E6376BF734D6A626; buildPhases = ( + A1114FDF6F871F83BAF3B6B8, + 80C515E0387A6AF48C93D08C, + AADBC72B2C7030FAD1D8CAF8, ); buildRules = ( ); dependencies = ( ); name = "MidiTest (App)"; productName = MidiTest; productReference = AB7855931CA983F4EE039617; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; + 08CC3758D6C29BD07C86A240 = {isa = PBXProject; buildConfigurationList = 33B4E927BEBC8696D1D2812E; attributes = { LastUpgradeCheck = 0440; TargetAttributes = { 68C4BE0E455A27D9A0CEB672 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 937739BC97C6E6294CDCF171; projectDirPath = ""; projectRoot = ""; targets = (68C4BE0E455A27D9A0CEB672); }; }; rootObject = 08CC3758D6C29BD07C86A240; } diff --git a/examples/MidiTest/Builds/VisualStudio2013/MidiTest.sln b/examples/MidiTest/Builds/VisualStudio2013/MidiTest.sln deleted file mode 100644 index a26d450c3f..0000000000 --- a/examples/MidiTest/Builds/VisualStudio2013/MidiTest.sln +++ /dev/null @@ -1,19 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2013 -Project("{6FB140E6-9A4C-826A-B1FF-68BC7A580630}") = "MidiTest", "MidiTest.vcxproj", "{E4A0537A-4F06-DC9E-944E-48CA0A0E2CCA}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {E4A0537A-4F06-DC9E-944E-48CA0A0E2CCA}.Debug|Win32.ActiveCfg = Debug|Win32 - {E4A0537A-4F06-DC9E-944E-48CA0A0E2CCA}.Debug|Win32.Build.0 = Debug|Win32 - {E4A0537A-4F06-DC9E-944E-48CA0A0E2CCA}.Release|Win32.ActiveCfg = Release|Win32 - {E4A0537A-4F06-DC9E-944E-48CA0A0E2CCA}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/examples/MidiTest/Builds/VisualStudio2013/MidiTest.vcxproj b/examples/MidiTest/Builds/VisualStudio2013/MidiTest.vcxproj deleted file mode 100644 index 9429c7b41c..0000000000 --- a/examples/MidiTest/Builds/VisualStudio2013/MidiTest.vcxproj +++ /dev/null @@ -1,1666 +0,0 @@ - - - - - - Debug - Win32 - - - Release - Win32 - - - - {E4A0537A-4F06-DC9E-944E-48CA0A0E2CCA} - v120 - - - - Application - false - v120 - - - Application - false - true - v120 - - - - - - - - v120 - - - <_ProjectFileVersion>10.0.30319.1 - MidiTest - true - MidiTest - true - v120 - - - - _DEBUG;%(PreprocessorDefinitions) - true - true - Win32 - - - - Disabled - EditAndContinue - ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2013_78A5020=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions) - MultiThreadedDebug - true - - $(IntDir)\ - $(IntDir)\ - $(IntDir)\ - Level4 - true - true - - - _DEBUG;%(PreprocessorDefinitions) - - - $(OutDir)\MidiTest.exe - true - libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries) - true - $(IntDir)\MidiTest.pdb - Windows - MachineX86 - false - true - - - true - $(IntDir)\MidiTest.bsc - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - Win32 - - - - Full - ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2013_78A5020=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions) - MultiThreaded - true - - $(IntDir)\ - $(IntDir)\ - $(IntDir)\ - Level4 - true - true - - - NDEBUG;%(PreprocessorDefinitions) - - - $(OutDir)\MidiTest.exe - true - %(IgnoreSpecificDefaultLibraries) - false - $(IntDir)\MidiTest.pdb - Windows - MachineX86 - true - true - true - - - true - $(IntDir)\MidiTest.bsc - - - - - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/MidiTest/Builds/VisualStudio2013/MidiTest.vcxproj.filters b/examples/MidiTest/Builds/VisualStudio2013/MidiTest.vcxproj.filters deleted file mode 100644 index 9bd4951efd..0000000000 --- a/examples/MidiTest/Builds/VisualStudio2013/MidiTest.vcxproj.filters +++ /dev/null @@ -1,2801 +0,0 @@ - - - - - - {F8327AD5-636C-5063-9565-8393677CA36F} - - - {B5B1CBED-7DAB-ADA7-43AD-EFAFB3A02B15} - - - {422C46B7-0467-2DB0-BF3C-16DFCAFD69AC} - - - {3247ED97-A75A-F50B-8CCC-46155E895806} - - - {A33A1E1D-AC2C-6382-8681-48B0FC374C60} - - - {3FD908F5-98C8-9A61-FC03-0BAF8913CBB0} - - - {11A75801-B027-40BD-4993-023023ACCBF7} - - - {EF2CAB40-0432-429B-C517-86ADF136BB8A} - - - {8F7EC212-3168-AD81-5064-C45BA838C408} - - - {CACD7B50-4DB3-76AF-A6E8-90DF94F8F594} - - - {9D270B31-2425-8FDB-84A4-6A2288FF5B2F} - - - {0F766DD4-A277-CB86-5647-42498C8B41E1} - - - {D64942B4-6984-3623-3347-45D472AE1C61} - - - {45C2CE26-EC4B-BA52-58F3-297C408E1483} - - - {01603E05-423B-5FC3-1BEE-E15ED33B5688} - - - {65CB28F8-0422-A8F3-9A17-959E12A1F8E2} - - - {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} - - - {0CD9E281-DDD0-91EC-6F77-EA9D9D5E0E1A} - - - {40C5CA7C-AEBB-05B1-11CE-AE41D87B5CCB} - - - {0B0E7392-324B-088C-FBEB-5FE999D61782} - - - {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} - - - {20254EFE-6CBD-31A7-2119-92B1E0E0E311} - - - {70796D73-6D30-8A1B-4732-7C021E47C05A} - - - {EB8DD942-E2CB-869F-D381-E02A65BA790B} - - - {8F91DFC0-7A71-1BA8-D8D9-6B4CF49151A4} - - - {B63F69FD-8A40-8E1E-E7ED-419B8DC1C12B} - - - {8167E753-09C7-5D1C-EF2B-32D297557443} - - - {AEDCB7F7-7A36-5392-8E9A-715F5BDE35CB} - - - {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} - - - {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} - - - {476C69CE-0B67-6B85-E888-45D91E37A29E} - - - {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} - - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} - - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} - - - {DA0DC4AC-B511-A2D4-199A-C93454D6F114} - - - {91929C6F-7902-B87D-5260-2F6CBF8ACD93} - - - {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} - - - {4634FFAE-9586-A970-364C-4FDDA635F99F} - - - {F2B2F310-F30F-7166-42A9-9BF9C230DA78} - - - {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} - - - {F03654BC-34D8-F975-BEA3-750CC2783D23} - - - {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} - - - {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - - {C79A4D23-7866-8F3E-AC39-BD68C52A9259} - - - {928D8FCC-5E00-174B-6538-93E8D75AB396} - - - {1988E68A-A964-64CA-0E0C-26FF9BC5176C} - - - {3DF036EA-3B80-553B-2494-3AAC835CAE75} - - - {358AEA11-3F96-36AE-7B32-71373B5C5396} - - - {F2A38F45-6E55-E147-2E52-64A89FDD9D59} - - - {6172822C-01A5-E824-12DA-FA43FA934D35} - - - {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} - - - {B098BC87-3298-7E6B-12DC-D26C09CDCAED} - - - {6322B88F-984A-C3CD-6263-38D7AA49B6EC} - - - {73C1E759-AD90-59A3-942E-2D10FAA29107} - - - {EE1AE8C3-0908-8F53-A4E5-D930C7C97C26} - - - {4926B3FF-E797-F586-857A-69D9703FA2D1} - - - {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - - {413F481F-075C-2958-115C-D8268682FCB7} - - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - - {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} - - - {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} - - - {E37D25CD-4350-4614-055B-7ABC55E67895} - - - {FFC6E1CC-C772-75E6-5087-FB5D4E016799} - - - {8E43579F-C185-266D-DD67-F8B95BD80F2F} - - - {2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D} - - - {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} - - - {A92719C7-70BE-57C4-CE9E-A9BC9DFEB757} - - - {75F1F352-251A-75E0-D941-8431588F5C1E} - - - {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} - - - {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} - - - {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} - - - {5A0AA36E-3957-E413-14C6-31CBE15271DF} - - - {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} - - - {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} - - - {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} - - - {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} - - - {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - - {61712B09-5783-ADFA-2001-5A0C3D7764EB} - - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} - - - {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} - - - {C60A6FCA-9462-922E-AD8D-69F10C9049AF} - - - {D56498EE-E354-1F00-5EEE-8CF7944BEAFB} - - - {61B2920C-494D-D8CB-C0C7-5DBF3D76D164} - - - {66C9B809-8739-A217-C78D-A15D6089B8E3} - - - {C413328B-5D81-89EE-F4F3-75752E700DE4} - - - {8B4D1BAA-6DB4-CAEC-A0FA-271F354D5C61} - - - - - MidiTest\Source - - - MidiTest\Source - - - Juce Modules\juce_audio_basics\buffers - - - Juce Modules\juce_audio_basics\buffers - - - Juce Modules\juce_audio_basics\buffers - - - Juce Modules\juce_audio_basics\midi - - - Juce Modules\juce_audio_basics\midi - - - Juce Modules\juce_audio_basics\midi - - - Juce Modules\juce_audio_basics\midi - - - Juce Modules\juce_audio_basics\midi - - - Juce Modules\juce_audio_basics\effects - - - Juce Modules\juce_audio_basics\effects - - - Juce Modules\juce_audio_basics\effects - - - Juce Modules\juce_audio_basics\sources - - - Juce Modules\juce_audio_basics\sources - - - Juce Modules\juce_audio_basics\sources - - - Juce Modules\juce_audio_basics\sources - - - Juce Modules\juce_audio_basics\sources - - - Juce Modules\juce_audio_basics\sources - - - Juce Modules\juce_audio_basics\sources - - - Juce Modules\juce_audio_basics\synthesisers - - - Juce Modules\juce_audio_devices\audio_io - - - Juce Modules\juce_audio_devices\audio_io - - - Juce Modules\juce_audio_devices\audio_io - - - Juce Modules\juce_audio_devices\midi_io - - - Juce Modules\juce_audio_devices\midi_io - - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\native - - - Juce Modules\juce_audio_devices\native - - - Juce Modules\juce_audio_devices\native - - - Juce Modules\juce_audio_devices\native - - - Juce Modules\juce_audio_devices\native - - - Juce Modules\juce_audio_devices\native - - - Juce Modules\juce_audio_devices\native - - - Juce Modules\juce_audio_devices\native - - - Juce Modules\juce_audio_devices\native - - - Juce Modules\juce_audio_devices\native - - - Juce Modules\juce_audio_devices\native - - - Juce Modules\juce_audio_devices\native - - - Juce Modules\juce_audio_devices\native - - - Juce Modules\juce_audio_devices\native - - - Juce Modules\juce_audio_devices\native - - - Juce Modules\juce_audio_devices\native - - - Juce Modules\juce_audio_devices\native - - - Juce Modules\juce_audio_devices\native - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\codecs - - - Juce Modules\juce_audio_formats\codecs - - - Juce Modules\juce_audio_formats\codecs - - - Juce Modules\juce_audio_formats\codecs - - - Juce Modules\juce_audio_formats\codecs - - - Juce Modules\juce_audio_formats\codecs - - - Juce Modules\juce_audio_formats\codecs - - - Juce Modules\juce_audio_formats\codecs - - - Juce Modules\juce_audio_formats\codecs - - - Juce Modules\juce_audio_formats\sampler - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\scanning - - - Juce Modules\juce_audio_processors\scanning - - - Juce Modules\juce_audio_processors\scanning - - - Juce Modules\juce_audio_processors\utilities - - - Juce Modules\juce_audio_processors\utilities - - - Juce Modules\juce_audio_utils\gui - - - Juce Modules\juce_audio_utils\gui - - - Juce Modules\juce_audio_utils\gui - - - Juce Modules\juce_audio_utils\gui - - - Juce Modules\juce_audio_utils\gui - - - Juce Modules\juce_audio_utils\players - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\xml - - - Juce Modules\juce_core\xml - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_data_structures\values - - - Juce Modules\juce_data_structures\values - - - Juce Modules\juce_data_structures\values - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\native - - - Juce Modules\juce_events\native - - - Juce Modules\juce_events\native - - - Juce Modules\juce_events\native - - - Juce Modules\juce_events\native - - - Juce Modules\juce_graphics\colour - - - Juce Modules\juce_graphics\colour - - - Juce Modules\juce_graphics\colour - - - Juce Modules\juce_graphics\colour - - - Juce Modules\juce_graphics\contexts - - - Juce Modules\juce_graphics\contexts - - - Juce Modules\juce_graphics\contexts - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\placement - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_gui_basics\components - - - Juce Modules\juce_gui_basics\components - - - Juce Modules\juce_gui_basics\components - - - Juce Modules\juce_gui_basics\components - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\documents - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra\native - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - - - MidiTest\Source - - - Juce Modules\juce_audio_basics\buffers - - - Juce Modules\juce_audio_basics\buffers - - - Juce Modules\juce_audio_basics\buffers - - - Juce Modules\juce_audio_basics\midi - - - Juce Modules\juce_audio_basics\midi - - - Juce Modules\juce_audio_basics\midi - - - Juce Modules\juce_audio_basics\midi - - - Juce Modules\juce_audio_basics\midi - - - 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\sources - - - Juce Modules\juce_audio_basics\sources - - - Juce Modules\juce_audio_basics\sources - - - Juce Modules\juce_audio_basics\sources - - - Juce Modules\juce_audio_basics\sources - - - Juce Modules\juce_audio_basics\sources - - - Juce Modules\juce_audio_basics\sources - - - Juce Modules\juce_audio_basics\sources - - - Juce Modules\juce_audio_basics\sources - - - Juce Modules\juce_audio_basics\synthesisers - - - Juce Modules\juce_audio_basics - - - Juce Modules\juce_audio_devices\audio_io - - - Juce Modules\juce_audio_devices\audio_io - - - Juce Modules\juce_audio_devices\audio_io - - - Juce Modules\juce_audio_devices\audio_io - - - Juce Modules\juce_audio_devices\midi_io - - - Juce Modules\juce_audio_devices\midi_io - - - Juce Modules\juce_audio_devices\midi_io - - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\native - - - Juce Modules\juce_audio_devices - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\codecs - - - Juce Modules\juce_audio_formats\codecs - - - Juce Modules\juce_audio_formats\codecs - - - Juce Modules\juce_audio_formats\codecs - - - Juce Modules\juce_audio_formats\codecs - - - Juce Modules\juce_audio_formats\codecs - - - Juce Modules\juce_audio_formats\codecs - - - Juce Modules\juce_audio_formats\codecs - - - Juce Modules\juce_audio_formats\codecs - - - Juce Modules\juce_audio_formats\sampler - - - Juce Modules\juce_audio_formats - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\scanning - - - Juce Modules\juce_audio_processors\scanning - - - Juce Modules\juce_audio_processors\scanning - - - Juce Modules\juce_audio_processors\utilities - - - Juce Modules\juce_audio_processors\utilities - - - Juce Modules\juce_audio_processors\utilities - - - Juce Modules\juce_audio_processors\utilities - - - Juce Modules\juce_audio_processors\utilities - - - Juce Modules\juce_audio_processors\utilities - - - Juce Modules\juce_audio_processors - - - Juce Modules\juce_audio_utils\gui - - - Juce Modules\juce_audio_utils\gui - - - Juce Modules\juce_audio_utils\gui - - - Juce Modules\juce_audio_utils\gui - - - Juce Modules\juce_audio_utils\gui - - - Juce Modules\juce_audio_utils\gui - - - Juce Modules\juce_audio_utils\players - - - Juce Modules\juce_audio_utils - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\xml - - - Juce Modules\juce_core\xml - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core - - - Juce Modules\juce_data_structures\values - - - Juce Modules\juce_data_structures\values - - - Juce Modules\juce_data_structures\values - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\native - - - Juce Modules\juce_events\native - - - Juce Modules\juce_events\native - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics\colour - - - Juce Modules\juce_graphics\colour - - - Juce Modules\juce_graphics\colour - - - Juce Modules\juce_graphics\colour - - - Juce Modules\juce_graphics\colour - - - Juce Modules\juce_graphics\contexts - - - Juce Modules\juce_graphics\contexts - - - Juce Modules\juce_graphics\contexts - - - Juce Modules\juce_graphics\contexts - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\placement - - - Juce Modules\juce_graphics\placement - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics\components - - - Juce Modules\juce_gui_basics\components - - - Juce Modules\juce_gui_basics\components - - - Juce Modules\juce_gui_basics\components - - - Juce Modules\juce_gui_basics\components - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\documents - - - Juce Modules\juce_gui_extra\embedding - - - Juce Modules\juce_gui_extra\embedding - - - Juce Modules\juce_gui_extra\embedding - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra - - - Juce Library Code - - - Juce Library Code - - - - - Juce Modules\juce_audio_basics - - - Juce Modules\juce_audio_devices\audio_io - - - Juce Modules\juce_audio_devices\audio_io - - - Juce Modules\juce_audio_devices\audio_io - - - Juce Modules\juce_audio_devices\native - - - Juce Modules\juce_audio_devices - - - Juce Modules\juce_audio_formats - - - Juce Modules\juce_audio_processors - - - Juce Modules\juce_audio_utils - - - Juce Modules\juce_core - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_gui_extra - - - - - Juce Library Code - - - diff --git a/examples/MidiTest/Builds/VisualStudio2013/resources.rc b/examples/MidiTest/Builds/VisualStudio2013/resources.rc deleted file mode 100644 index 9250ad5724..0000000000 --- a/examples/MidiTest/Builds/VisualStudio2013/resources.rc +++ /dev/null @@ -1,29 +0,0 @@ -#ifdef JUCE_USER_DEFINED_RC_FILE - #include JUCE_USER_DEFINED_RC_FILE -#else - -#undef WIN32_LEAN_AND_MEAN -#define WIN32_LEAN_AND_MEAN -#include - -VS_VERSION_INFO VERSIONINFO -FILEVERSION 1,0,0,0 -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904E4" - BEGIN - VALUE "FileDescription", "MidiTest\0" - VALUE "FileVersion", "1.0.0\0" - VALUE "ProductName", "MidiTest\0" - VALUE "ProductVersion", "1.0.0\0" - END - END - - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 65001 - END -END - -#endif diff --git a/examples/MidiTest/Builds/VisualStudio2015/MidiTest.vcxproj b/examples/MidiTest/Builds/VisualStudio2015/MidiTest.vcxproj index fb2347676f..300508a81a 100644 --- a/examples/MidiTest/Builds/VisualStudio2015/MidiTest.vcxproj +++ b/examples/MidiTest/Builds/VisualStudio2015/MidiTest.vcxproj @@ -218,6 +218,9 @@ true + + true + true @@ -233,15 +236,6 @@ true - - true - - - true - - - true - true @@ -290,25 +284,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -338,9 +317,45 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + true + + true + + + true + + + true + + + true + + + true + true @@ -359,21 +374,6 @@ true - - true - - - true - - - true - - - true - - - true - true @@ -407,9 +407,6 @@ true - - true - true @@ -419,43 +416,7 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -473,33 +434,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -524,40 +458,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -566,31 +470,16 @@ true - + true - + true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -656,16 +545,115 @@ true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -674,22 +662,16 @@ true - + true - + true - + true - - true - - - true - - + true @@ -710,6 +692,18 @@ true + + true + + + true + + + true + + + true + true @@ -719,6 +713,12 @@ true + + true + + + true + true @@ -740,43 +740,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -797,10 +764,40 @@ true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -827,6 +824,51 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -839,6 +881,153 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -860,19 +1049,70 @@ true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -941,246 +1181,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -1247,17 +1247,17 @@ true - - - - - - - - - - - + + + + + + + + + + + @@ -1297,6 +1297,8 @@ + + @@ -1304,20 +1306,10 @@ + - - - - - - - - - - - @@ -1327,8 +1319,25 @@ + + + + + + + + + + + + + + + + + @@ -1339,15 +1348,6 @@ - - - - - - - - - @@ -1368,21 +1368,35 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1403,22 +1417,49 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1438,62 +1479,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - + + + + - - - - + + + + + + + + @@ -1503,19 +1511,11 @@ - - - - - - - - - - + + @@ -1526,10 +1526,15 @@ - - - - + + + + + + + + + @@ -1540,26 +1545,91 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1573,14 +1643,21 @@ - - - - - - - - + + + + + + + + + + + + + + + @@ -1605,83 +1682,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1710,19 +1710,6 @@ - - - - - - - - - - - - - diff --git a/examples/MidiTest/Builds/VisualStudio2015/MidiTest.vcxproj.filters b/examples/MidiTest/Builds/VisualStudio2015/MidiTest.vcxproj.filters index 28a7c942b0..df94f4461b 100644 --- a/examples/MidiTest/Builds/VisualStudio2015/MidiTest.vcxproj.filters +++ b/examples/MidiTest/Builds/VisualStudio2015/MidiTest.vcxproj.filters @@ -35,45 +35,45 @@ {CACD7B50-4DB3-76AF-A6E8-90DF94F8F594} + + {45C2CE26-EC4B-BA52-58F3-297C408E1483} + {9D270B31-2425-8FDB-84A4-6A2288FF5B2F} {0F766DD4-A277-CB86-5647-42498C8B41E1} - - {D64942B4-6984-3623-3347-45D472AE1C61} - - - {45C2CE26-EC4B-BA52-58F3-297C408E1483} - {01603E05-423B-5FC3-1BEE-E15ED33B5688} + + {D64942B4-6984-3623-3347-45D472AE1C61} + {65CB28F8-0422-A8F3-9A17-959E12A1F8E2} - - {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} - {0CD9E281-DDD0-91EC-6F77-EA9D9D5E0E1A} + + {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} + {40C5CA7C-AEBB-05B1-11CE-AE41D87B5CCB} {0B0E7392-324B-088C-FBEB-5FE999D61782} - - {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} - {20254EFE-6CBD-31A7-2119-92B1E0E0E311} {70796D73-6D30-8A1B-4732-7C021E47C05A} + + {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} + {EB8DD942-E2CB-869F-D381-E02A65BA790B} @@ -86,17 +86,26 @@ {8167E753-09C7-5D1C-EF2B-32D297557443} - - {AEDCB7F7-7A36-5392-8E9A-715F5BDE35CB} - {B48C883A-8483-AF6D-808C-1D9A749048D8} + + {AEDCB7F7-7A36-5392-8E9A-715F5BDE35CB} + {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} - - {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + + {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + + {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + + {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} {476C69CE-0B67-6B85-E888-45D91E37A29E} @@ -104,17 +113,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} - - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -122,60 +125,57 @@ {91929C6F-7902-B87D-5260-2F6CBF8ACD93} - - {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} - {4634FFAE-9586-A970-364C-4FDDA635F99F} - - {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} - - {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - {F03654BC-34D8-F975-BEA3-750CC2783D23} + + {C9F6D785-BF78-5AA1-B479-111C65397864} {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} - - {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} - - {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + {F03654BC-34D8-F975-BEA3-750CC2783D23} {928D8FCC-5E00-174B-6538-93E8D75AB396} - - {1988E68A-A964-64CA-0E0C-26FF9BC5176C} + + {358AEA11-3F96-36AE-7B32-71373B5C5396} {3DF036EA-3B80-553B-2494-3AAC835CAE75} - - {358AEA11-3F96-36AE-7B32-71373B5C5396} + + {1988E68A-A964-64CA-0E0C-26FF9BC5176C} {F2A38F45-6E55-E147-2E52-64A89FDD9D59} - - {6172822C-01A5-E824-12DA-FA43FA934D35} - - - {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} - {B098BC87-3298-7E6B-12DC-D26C09CDCAED} {6322B88F-984A-C3CD-6263-38D7AA49B6EC} + + {6172822C-01A5-E824-12DA-FA43FA934D35} + {73C1E759-AD90-59A3-942E-2D10FAA29107} + + {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} + {EE1AE8C3-0908-8F53-A4E5-D930C7C97C26} @@ -185,81 +185,81 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} - - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - - {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {E37D25CD-4350-4614-055B-7ABC55E67895} {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {C1A1A236-AB01-173E-96C3-0706BFF93B1E} + + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + + {413F481F-075C-2958-115C-D8268682FCB7} {FFC6E1CC-C772-75E6-5087-FB5D4E016799} + + {1182303F-ECA3-166D-AC0C-92C5E762CB93} + {8E43579F-C185-266D-DD67-F8B95BD80F2F} + + {61712B09-5783-ADFA-2001-5A0C3D7764EB} + + + {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + + {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} + {2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D} - - {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + {5A0AA36E-3957-E413-14C6-31CBE15271DF} + + + {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} {A92719C7-70BE-57C4-CE9E-A9BC9DFEB757} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} + + + {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} + + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} + + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + + {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} + + + {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} + {75F1F352-251A-75E0-D941-8431588F5C1E} {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} - - {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} - - - {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} - - - {5A0AA36E-3957-E413-14C6-31CBE15271DF} - - - {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} - - - {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} - - - {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} - - - {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} - - - {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - - {61712B09-5783-ADFA-2001-5A0C3D7764EB} - - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} - {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -376,6 +376,9 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -391,15 +394,6 @@ Juce Modules\juce_audio_devices\midi_io - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\audio_cd - Juce Modules\juce_audio_devices\native @@ -454,26 +448,11 @@ Juce Modules\juce_audio_devices\native - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_formats\codecs @@ -502,27 +481,30 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - Juce Modules\juce_audio_processors\format @@ -541,6 +523,24 @@ Juce Modules\juce_audio_processors\format_types + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + Juce Modules\juce_audio_processors\scanning @@ -574,9 +574,6 @@ Juce Modules\juce_audio_utils\gui - - Juce Modules\juce_audio_utils\players - Juce Modules\juce_audio_utils\native @@ -592,44 +589,8 @@ Juce Modules\juce_audio_utils\native - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\memory + + Juce Modules\juce_audio_utils\players Juce Modules\juce_core\containers @@ -646,33 +607,6 @@ Juce Modules\juce_core\containers - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - Juce Modules\juce_core\files @@ -697,41 +631,11 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -739,32 +643,17 @@ Juce Modules\juce_core\logging - - Juce Modules\juce_core\system + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc @@ -844,6 +733,126 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -853,33 +862,6 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - Juce Modules\juce_events\broadcasters @@ -898,6 +880,18 @@ Juce Modules\juce_events\interprocess + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + Juce Modules\juce_events\native @@ -913,6 +907,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_graphics\colour @@ -934,44 +934,11 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\effects Juce Modules\juce_graphics\fonts @@ -991,11 +958,41 @@ Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -1027,6 +1024,51 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -1039,6 +1081,153 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -1060,20 +1249,92 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -1141,267 +1402,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_extra\code_editor @@ -1480,37 +1480,37 @@ Juce Modules\juce_gui_extra\native - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code @@ -1626,6 +1626,12 @@ Juce Modules\juce_audio_basics + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -1647,48 +1653,18 @@ Juce Modules\juce_audio_devices\midi_io + + Juce Modules\juce_audio_devices\native + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\native - Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - Juce Modules\juce_audio_formats\codecs @@ -1716,12 +1692,63 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + Juce Modules\juce_audio_processors\processors @@ -1752,33 +1779,6 @@ Juce Modules\juce_audio_processors\processors - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - Juce Modules\juce_audio_processors\scanning @@ -1839,50 +1839,92 @@ Juce Modules\juce_audio_utils - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -1944,53 +1986,134 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text Juce Modules\juce_core\threads @@ -2049,92 +2172,8 @@ Juce Modules\juce_core\time - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -2142,12 +2181,6 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - Juce Modules\juce_core\zip @@ -2157,42 +2190,21 @@ Juce Modules\juce_core\zip - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - Juce Modules\juce_core + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -2202,21 +2214,33 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - Juce Modules\juce_data_structures + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + Juce Modules\juce_events\messages @@ -2244,36 +2268,6 @@ Juce Modules\juce_events\messages - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - Juce Modules\juce_events\native @@ -2283,6 +2277,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_events @@ -2313,17 +2313,32 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -2355,38 +2370,17 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -2397,9 +2391,60 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + Juce Modules\juce_graphics + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -2415,6 +2460,171 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -2454,29 +2664,50 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -2550,237 +2781,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_basics @@ -2863,41 +2863,6 @@ Juce Library Code - - - Juce Modules\juce_audio_basics - - - Juce Modules\juce_audio_devices - - - Juce Modules\juce_audio_formats - - - Juce Modules\juce_audio_processors - - - Juce Modules\juce_audio_utils - - - Juce Modules\juce_core - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_gui_extra - - Juce Library Code diff --git a/examples/MidiTest/Builds/iOS/Info.plist b/examples/MidiTest/Builds/iOS/Info-App.plist similarity index 85% rename from examples/MidiTest/Builds/iOS/Info.plist rename to examples/MidiTest/Builds/iOS/Info-App.plist index 1f6e26120e..10d15714a6 100644 --- a/examples/MidiTest/Builds/iOS/Info.plist +++ b/examples/MidiTest/Builds/iOS/Info-App.plist @@ -13,6 +13,8 @@ $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName MidiTest + CFBundleDisplayName + MidiTest CFBundlePackageType APPL CFBundleSignature @@ -27,12 +29,15 @@ UIRequiresFullScreen + UIStatusBarHidden + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight + UIBackgroundModes + diff --git a/examples/MidiTest/Builds/iOS/MidiTest.xcodeproj/project.pbxproj b/examples/MidiTest/Builds/iOS/MidiTest.xcodeproj/project.pbxproj index 73b2db6ee7..ac79e47d4f 100644 --- a/examples/MidiTest/Builds/iOS/MidiTest.xcodeproj/project.pbxproj +++ b/examples/MidiTest/Builds/iOS/MidiTest.xcodeproj/project.pbxproj @@ -6,6 +6,7 @@ objectVersion = 46; objects = { + 9A51751AC71BE2115F097C25 = {isa = PBXBuildFile; fileRef = AB7855931CA983F4EE039617; }; 766D6C7C22B520C9B4FE4BFF = {isa = PBXBuildFile; fileRef = 7926FFCD77E9709AED437153; }; 6635F9B102B7D8BC31732833 = {isa = PBXBuildFile; fileRef = 26BDDBFEF106516A3BD127A5; }; 61FB52938D612F9865CBF79F = {isa = PBXBuildFile; fileRef = AFDE2BF9DBF2382C4106B4C7; }; @@ -20,20 +21,19 @@ B4EA7A34D4DFF81EF9616B34 = {isa = PBXBuildFile; fileRef = 9FBD6E11D5668E77AF50973E; }; 94151FFFF4B5D4915D7A5215 = {isa = PBXBuildFile; fileRef = 78E7E3A7B7E1E3E0363CC3A8; }; F5137909CF5368EB77945BFB = {isa = PBXBuildFile; fileRef = 8F56F2FA5C0D47F9EA19E09C; }; - 88DE6F57C76D99EEC434D1B2 = {isa = PBXBuildFile; fileRef = 06251F5E80644992958A3B61; }; - 77692C39FD792A74F31B4879 = {isa = PBXBuildFile; fileRef = AE002D113A5E494C827E27FE; }; - 8C273077D625F1912B04CFF6 = {isa = PBXBuildFile; fileRef = CE3FB8659C598AA9C97F8387; }; - BE39B1C20CE31DADE9254A94 = {isa = PBXBuildFile; fileRef = 67B176E3836E1CDE0701D21F; }; - DABE03E21DBF412FBF0DE749 = {isa = PBXBuildFile; fileRef = 0D1C2E36AC03421206996124; }; - B6083C3B99FBBDC85D952058 = {isa = PBXBuildFile; fileRef = 3BBF7A3FFBA017A997B1F06F; }; - 04BFA0E97FB4A1B53C4100AB = {isa = PBXBuildFile; fileRef = C0E9B3EDC77F5A822BE65F21; }; - 888368E79422C87075ECD156 = {isa = PBXBuildFile; fileRef = 8BFDC490FA70E7A2BD762F2C; }; - B1197B3CBFC0607667805765 = {isa = PBXBuildFile; fileRef = 21A1CB994664ABEFC0765425; }; - 2454C388F07D82FFE7C44445 = {isa = PBXBuildFile; fileRef = 214E214858B30900A6574117; }; - 1E60E07B31292E9F087A00ED = {isa = PBXBuildFile; fileRef = A21D4A32B970D081ECF552F4; }; + 6CAB4A9A42A545E0F1A9290B = {isa = PBXBuildFile; fileRef = C61C59FC15608FD1C65107F1; }; + 0A9284E727E06691D8E7534E = {isa = PBXBuildFile; fileRef = E994D76CBE38D3E312B96C0D; }; + 69E9245B6DF6396ED05131C0 = {isa = PBXBuildFile; fileRef = F79982408861D410209D50B2; }; + 907F0B46CA8C930FCEF5760F = {isa = PBXBuildFile; fileRef = 8C2CBA5A6ABF034EF004B413; }; + 4556DD61E9E784BA1BE9DE09 = {isa = PBXBuildFile; fileRef = EE4C7DA7A8DE67398031BBC1; }; + A2D6A1EB27B589224C6D6622 = {isa = PBXBuildFile; fileRef = EDBFE4D2484526BA892CD7F3; }; + 97FA74A4F21962DA4C1D62C7 = {isa = PBXBuildFile; fileRef = 2B3497004FE2487E7863DAE5; }; + 6A81989C90CD1BE375987C9A = {isa = PBXBuildFile; fileRef = 97DDD468D1B8D8B810EC0FDD; }; + 167C296FF5C793CBA3045F92 = {isa = PBXBuildFile; fileRef = 3BAA08E098FF4384E0950D01; }; + C35947426F4AD4600EA3074D = {isa = PBXBuildFile; fileRef = 35C20643C3468A0C45809D16; }; + 68E7F01E8C655B668D220D34 = {isa = PBXBuildFile; fileRef = CB919E222B28AB38228D080E; }; 0045CAAD73734ABF9EC7386E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; 004A7D1BC57F2136FF31D767 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST3PluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - 004F0CC129C05470392B9665 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 0070839D920C6E0890104E57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 0093510DE4AC3C9CB46D6D05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; 00A4833128A464FEA72B6F16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_CommonFile.cpp"; path = "../../../../modules/juce_core/native/juce_linux_CommonFile.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -52,7 +52,6 @@ 05248CC68AF398A13747B3AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 05DB708BD84063136277A680 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; }; 06156CF92A104236B6EDFD6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPlayHead.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPlayHead.h"; sourceTree = "SOURCE_ROOT"; }; - 06251F5E80644992958A3B61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 06606DC924B7DAE58792628E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; }; 0671CDC6377ED9857C888231 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; 06A3571D29486CC63867E429 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; }; @@ -81,9 +80,7 @@ 0C4B79BB601F5DF62EEEC1C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; 0C7A1C47389DD6A1DE34D831 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTMidiEventList.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h"; sourceTree = "SOURCE_ROOT"; }; 0D09B1F17B1E52F3DC674E74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; - 0D1C2E36AC03421206996124 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; }; 0DF9423E2283E5E9A4D3AB36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 0E18901E9C32415284BA768A = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_extra/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 0E734BE27322456529C0AA99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; 0E9380C830C6440477B820C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReverbAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 0E98BF2DDB2F83B2BDC98BC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -129,7 +126,6 @@ 1C18537D3DE0DE18D4E8B96E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MixerAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 1C18D19A02D7B576A3B303F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FloatVectorOperations.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h"; sourceTree = "SOURCE_ROOT"; }; 1C71735BBF7F71227F596CD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LagrangeInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; - 1D7E9C764EAEF6B62DFC3FEA = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_devices/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 1DD0CC18B4AD6D25F9385F72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 1DD60CC76FE45CB93908DAB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Synthesiser.cpp"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; 1E02F37ED1CED5CE1DDE07A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -143,12 +139,9 @@ 203B5EE4372B3D7CD70D6D1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioVisualiserComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 205C688D2532586B5333B157 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilterAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 2101C88856D6E4101D4B6EB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; - 214E214858B30900A6574117 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 2158477C497C9435DC12DD65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_BluetoothMidiDevicePairingDialogue.mm"; path = "../../../../modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm"; sourceTree = "SOURCE_ROOT"; }; 215DE048889CCA704E8F5112 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; - 21A1CB994664ABEFC0765425 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; 21AA213CE75E3291949C6CBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; }; - 21C2EA5071601B7046CE11FB = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_processors/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 2235F2008813426E4E917B2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_devices.h"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.h"; sourceTree = "SOURCE_ROOT"; }; 22D5D3A2B80C1A7DF3EC2D72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; 23A215F23E5255041A5DA259 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PositionableAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; @@ -182,6 +175,7 @@ 2A6A33F1E1EF96645DE3A7A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 2A9C48E02F347508B60E1E21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; }; 2AAE45171EA474D2FEDBEF6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; }; + 2B3497004FE2487E7863DAE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; 2B5AD253F09E8774138A92EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; }; 2BCD73521AE0F79C616C18EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEValue.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp"; sourceTree = "SOURCE_ROOT"; }; 2BDA963F7AA43162273A3224 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; }; @@ -226,11 +220,11 @@ 358A88AD27C7B7E14018D6E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableObjectResizer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp"; sourceTree = "SOURCE_ROOT"; }; 35A49DE14F79186394703465 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; 35AE3C6D75DE08E9C41DFCEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; }; + 35C20643C3468A0C45809D16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 3682725F0866C54EA2F5B4E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 369F33DB5CB81F96AB857B90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; }; 36E722BB3336373CFD7DD1D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; }; 3736F8C41DF0B06A014D329C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - 379B5157AC6495B253A2C832 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = "SOURCE_ROOT"; }; 37E63175C424B7005BED7899 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; }; 3899F0D969DE1CFDE1C28A4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Identifier.h"; path = "../../../../modules/juce_core/text/juce_Identifier.h"; sourceTree = "SOURCE_ROOT"; }; 391E61B7E04EEEEE8A87195C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; }; @@ -245,8 +239,8 @@ 3B14F255BA42DDF1D3E88474 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; 3B3ABD6553620D1A228B04C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; }; 3BA54B750BD87ECE45A72A3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDescription.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3BAA08E098FF4384E0950D01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../JuceLibraryCode/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; 3BABE0CFE82FC1E24EF88B87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; - 3BBF7A3FFBA017A997B1F06F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; 3C9794FEFFD6B2B3CB8F2B65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WebBrowserComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; 3CD7992BECDBC3ABC6BF20EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 3E6EEBC916FEE32965231D76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterChoice.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h"; sourceTree = "SOURCE_ROOT"; }; @@ -287,10 +281,8 @@ 490C9E6C4CFC2DACA9D020F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; 4965BC05E07C74ACBC69CE0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 496C15C1B88544F6B30707D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 4999D0E2E73B14F89B3852B2 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_data_structures/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 49C27EB9F39A5C1BAB48A3CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; }; 49F24776F527FD9F6D11F8D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioAppComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4A1D30BBAB2649F4C0970E87 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_core/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 4B0486F8ABCFE1914A1BE334 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; }; 4B236544955E197FD4AAFEFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; }; 4B612CF023FAAAB715A7CE61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -310,7 +302,6 @@ 50835B89AEF3E18AE107A63B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_OpenSL.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp"; sourceTree = "SOURCE_ROOT"; }; 50CC32A6DB1FAB3BE0A4FC43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 50F0CD4FF37A8BD224C4A696 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; }; - 5132A84A1CFE138A30001C77 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 515A303B1DE0FFD73F905EC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 518F3F3EBE3BCB07BE44A605 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ASIO.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp"; sourceTree = "SOURCE_ROOT"; }; 51EB466DB1D789C87174F52F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PixelFormats.h"; path = "../../../../modules/juce_graphics/colour/juce_PixelFormats.h"; sourceTree = "SOURCE_ROOT"; }; @@ -380,7 +371,6 @@ 616001AC742985F6056FC373 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; 6187479B8B75C129BEFF9CF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 626A01BA93A061B77DE39B01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; - 62AD83AD4696E47FB45585CB = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_events/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 6315EC0AA8AAC51EF78270C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; 63217D136190E7F6D1D7D4B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; }; 632EB1DDB282B7EA29091876 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; }; @@ -400,7 +390,6 @@ 668C11A0C6FFD4FE9C496E6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPENote.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp"; sourceTree = "SOURCE_ROOT"; }; 671AE5D17EF53649D7D1B706 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; }; 679F43697B35F986EA2CAE00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleComponent.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 67B176E3836E1CDE0701D21F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; 67B7C5D013D32150AA632AFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 67E0AFE3935297E54BC38B59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; 68BA33E44F2F9898C251828C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -408,7 +397,6 @@ 68D30198ED90BAB25E06FB93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; }; 692760FF53C119B0ADCEBC85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 69D6EDDF240FE265F3963EAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; }; - 6AE0098B6A2E1EAAE4229AEC = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_graphics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 6B0C6075941C9912A095E582 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceManager.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 6B557AF16786514B9B509F6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; }; 6B59BEC92B516D43CA1CCD9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; @@ -439,6 +427,7 @@ 7427DE3DD9E5F7BC673338A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; }; 74965ED2CA35AFBE8CF98315 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h"; sourceTree = "SOURCE_ROOT"; }; 74AD7815C4FE6E500B9DCA10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; }; + 7514987563C2700E7867FF98 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-App.plist"; path = "Info-App.plist"; sourceTree = "SOURCE_ROOT"; }; 7618E389756278E8A8737270 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; }; 76CEAA7DA1188C7BA85E9AD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; }; 76EF2B2A80865A874EA3AC21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; @@ -517,8 +506,8 @@ 8B5B75774474FCA544B1B2FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; }; 8B83FD1FA65C4103DDE2EA9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 8BF87A8954B8F7AB4436942E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; - 8BFDC490FA70E7A2BD762F2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; 8C1169C0AAC0A019D2DBE488 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8C2CBA5A6ABF034EF004B413 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../JuceLibraryCode/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; 8C4B2862B075A24BB66F7BCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; }; 8C907079F5A8EF3BD3DD35C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; 8CA657F3BF721467B5EC9053 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -558,6 +547,7 @@ 977004696868887798BE902E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 97A2720B7633C85F8FDA6837 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZone.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.cpp"; sourceTree = "SOURCE_ROOT"; }; 97BD8C01E13C93693AD70692 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnail.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.cpp"; sourceTree = "SOURCE_ROOT"; }; + 97DDD468D1B8D8B810EC0FDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; 9816D8CB9D6F77D837CE1581 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; }; 9902AF593FBBEAB3B6D84F6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDescription.h"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h"; sourceTree = "SOURCE_ROOT"; }; 992E198BAFF9F97CA8267243 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; @@ -596,7 +586,6 @@ A1DE30BF8642FB2549F8D772 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; A1EAEF985828A65A8BB822E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ElementComparator.h"; path = "../../../../modules/juce_core/containers/juce_ElementComparator.h"; sourceTree = "SOURCE_ROOT"; }; A2181237574C8E3CEC3D3C24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; }; - A21D4A32B970D081ECF552F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; A26FAD7AB054AE6BFC9F106E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; }; A2D5629F1BF85B126284E956 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; A33F0C48ADF554C6A1DE55BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; @@ -636,6 +625,7 @@ AA23BE61CCD82B6EFD668570 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; }; AA5AC912BDF346506FC325F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; AAB742E00619AE4A2CA4A222 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + AB7855931CA983F4EE039617 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MidiTest.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; ABC2516934519F9F8262B572 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colours.h"; path = "../../../../modules/juce_graphics/colour/juce_Colours.h"; sourceTree = "SOURCE_ROOT"; }; AC10CC6D18D4F05E307BA85C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormatManager.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; AC61D2A968CDA510B480DC8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -643,7 +633,6 @@ ACC586E84D66B1187620EFA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; }; ADD6CABAAE68447D5D444C11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModifierKeys.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h"; sourceTree = "SOURCE_ROOT"; }; ADDD1F7465029C1760729DEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; - AE002D113A5E494C827E27FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; AE09578E8AB4B19FB2325728 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LuaCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; AE0FED2100423857C1907DD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; }; AE3B0657991C1CC3638745B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -719,7 +708,6 @@ C01C65AA178CAAD65CDF7273 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; }; C03441A2B101989DA24967D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; }; C0A79BE84BCDDC6220F87084 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiser.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h"; sourceTree = "SOURCE_ROOT"; }; - C0E9B3EDC77F5A822BE65F21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; C12A4B017FACBA4EC31EA7CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; }; C1994F6906975E2337549F27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; C1B1CD3695D2E9AB7E0E6EE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; }; @@ -734,6 +722,7 @@ C4F8FC1F6A6212470D6F4EEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; C54484F67D536E24BF7FC8B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; C5D519CB43C72FB9313DC9A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + C61C59FC15608FD1C65107F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../JuceLibraryCode/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; C6A2E5AE96FB8DE7F76D10E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; }; C704CA2145896AAB100E6D1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; C7F857ED7C6223F0B7BEBBD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -755,6 +744,7 @@ CB2ABF575A275A9AFAF69AB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; }; CB60DC44A14E39F7316076B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiFile.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp"; sourceTree = "SOURCE_ROOT"; }; CB866EB013B77B1EDFAC762E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; + CB919E222B28AB38228D080E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; CBCFD12A72DAD166AA1BDD3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; CCAF7D95EA8817DFE7FA09F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; CCAFCC6717B719157B251C1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; }; @@ -767,11 +757,11 @@ CDE1C86EB362EDC8A03F428F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; }; CDF98CC2BD3A485541A79049 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReaderSource.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h"; sourceTree = "SOURCE_ROOT"; }; CDFEFB5A6A4B49E18713243D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LAMEEncoderAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - CE3FB8659C598AA9C97F8387 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; CEB5926D26D476217426C3DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; CF7E9C84229F57D36F3F121D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; CF8FC5357F57FDEFB20BCFB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KnownPluginList.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h"; sourceTree = "SOURCE_ROOT"; }; CFC4CBAAADA0714B6334AB82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; }; + CFDF1B2793E46E91C2441286 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChannelRemappingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; D00B28DABFC2293AD6A9D856 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; }; D05BACDC19A58337F4478966 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; D0C3247AC5F5E17108E67EA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -790,41 +780,38 @@ D55687B02DF776608D011DE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_formats.h"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.h"; sourceTree = "SOURCE_ROOT"; }; D59C9E76EDB310F15653FDE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; }; D5B2347B8869A49762221315 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; }; + D5C2565A72079ED9B26F4329 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GenericAudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; D6529F0028A0D64B57BD486A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; D6757C5ABE80386BEA1DB2ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; }; D73B9B0649119D3BEC204139 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; D7423C164AF5168754CFCDB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; }; D7EF1A8F35C7DA552BC9AD32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + D86E055DC747CF4917E4981C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; }; + D87241DB2223F8240EF1F9A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginListComponent.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; D8CB941CF4128105B5FA76FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; D8D135DCCC6EF939F0CD2A26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; D90126A3E2B027C248C91016 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + D92E5CDC95DA238F6C250C99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; D93CBFE9E05B4DC324582F20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; + D98B4710CA9D9EEA80D3850C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; }; D9ACF6590CE093AE1B687493 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; }; DAB4E720D859B35A658F42A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; DAC04A108BE4FB935F5A7D37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; }; DADF4E1FDD2FB8DE33E71E9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; }; + DAEC7D47D0797A93D614BBFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NewLine.h"; path = "../../../../modules/juce_core/text/juce_NewLine.h"; sourceTree = "SOURCE_ROOT"; }; DB9ADD80EF2DCECC21876922 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; DB9BF231B5007FC6051A639E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; }; DBC3334D0BE4DE348E479B3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; }; DBE644AB8DD7935E701F364A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; }; DBEB99D494A9620FE06F48B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToneGeneratorAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; - DD45E70E19FB20AA19459C2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; }; - DE604B27DA8E8141012B7C76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; }; - E9DA836CFC56933A44FCB8DE = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; - 13966A9213FDBB55FF26B12F = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MidiTest.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; - CFDF1B2793E46E91C2441286 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChannelRemappingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; - D5C2565A72079ED9B26F4329 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GenericAudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; - D86E055DC747CF4917E4981C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; }; - D87241DB2223F8240EF1F9A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginListComponent.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - D92E5CDC95DA238F6C250C99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; - D98B4710CA9D9EEA80D3850C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; }; - DAEC7D47D0797A93D614BBFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NewLine.h"; path = "../../../../modules/juce_core/text/juce_NewLine.h"; sourceTree = "SOURCE_ROOT"; }; DC1F273C442E0C5B476BFBB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; DC60770546B09AC16CFE70FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; DC9B8C25598219E6D3F09BAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZone.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.h"; sourceTree = "SOURCE_ROOT"; }; DD30B985E81FD9E1A2DA0CFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; }; + DD45E70E19FB20AA19459C2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; }; DD80465B0BAAD50257737B48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; }; DD813DFB4467E734B53BD1F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; + DE604B27DA8E8141012B7C76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; }; DE62CAD14A6EA0B6F66E2B9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; }; DEB45A52F4AAB4FF1DEFF917 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; DEEBA624C3A1C4317AC9AE65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; }; @@ -858,11 +845,12 @@ E87F503108182FD43982C45D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; E97E18687E2B9BCDA03B06F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; }; E9946EBAE111937EA2EF0EC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioVisualiserComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.h"; sourceTree = "SOURCE_ROOT"; }; + E994D76CBE38D3E312B96C0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../JuceLibraryCode/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; E99773FC067DD2C5B1C7EA53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_QuickTimeAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + E9DA836CFC56933A44FCB8DE = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; EA4E07555263482179C7F6B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnailCache.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp"; sourceTree = "SOURCE_ROOT"; }; EA7B437CA63EDE546A390088 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; EB452E3DF6494293D9AE9F96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; }; - EBAB0ECCF22BDB741F384B1D = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_utils/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; EC1DB896229AC7C81EF6230B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; }; EC6AED5402632BB7AB3D9817 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; }; EC79622BA496FF289861EAB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatWriter.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h"; sourceTree = "SOURCE_ROOT"; }; @@ -871,7 +859,9 @@ ED7B6E0CCAABFFD95483A5A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; ED9FD17E6D8D6E53D61077CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; }; EDB7989F66D08E051F092EBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + EDBFE4D2484526BA892CD7F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; EE10729725D82DBAF10420A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; + EE4C7DA7A8DE67398031BBC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../JuceLibraryCode/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; }; EF26FBEF648444F597EED4D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; }; EF29543541EAA4ADFF5D8733 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDataConverters.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h"; sourceTree = "SOURCE_ROOT"; }; EF6DCFE1A8648BA97D9E027B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -892,10 +882,10 @@ F4ABBA594FA6BC2FBEDD398F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; F4E9F80E7F85608F4A5AB58F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; }; F5442F8B15FB0A77E4648186 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; - F60BFB92E0D488E003958E0F = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_formats/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; F62BBC1A8B1C678801A0418F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; }; F7179A0D030175A196FC9746 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; }; F75051C40F6B34B13C483AB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; }; + F79982408861D410209D50B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../JuceLibraryCode/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; F81CF0787F1810B455463CE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; }; F860CDA9B50B6B178D431622 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; F89103411772458E971E8C81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -998,9 +988,12 @@ 8C776C4907D6EB4A612F8255, 45711C8C6AC5740CAAEE6B04, 6FA1018757E05E7616E926AE, - 004F0CC129C05470392B9665, D7423C164AF5168754CFCDB9, ); name = "juce_audio_basics"; sourceTree = ""; }; - 412A148C8202E8685B4A960B = {isa = PBXGroup; children = ( + 1BCD4423E84B52B4A245F0ED = {isa = PBXGroup; children = ( + C1B1CD3695D2E9AB7E0E6EE1, + 79A3983C899D364ADCAEAA80, + 28568BBF30F1DB6038A18401, ); name = "audio_cd"; sourceTree = ""; }; + A7F1C7A65DBEF378CFA06C3C = {isa = PBXGroup; children = ( 6B0C6075941C9912A095E582, 4F74069552CD0B8306159E3F, 6FDD6A7F82D671CAF2B1EEB8, @@ -1008,22 +1001,13 @@ 19CC5553744E7E198B3043F4, 33E57CC37341A05F0115E359, C1D757F71096002EA476DBC0, ); name = "audio_io"; sourceTree = ""; }; - 521BD06F109EC360B7038DD4 = {isa = PBXGroup; children = ( + 630A6EE36909C9A4DF6C558E = {isa = PBXGroup; children = ( 90D02D7896DC67E6A5AA7465, 7124C55033AA878E30CE4E7D, 74AD7815C4FE6E500B9DCA10, BE048D62FF378F61320A353D, 645C0553A0BE7854CBBE329A, ); name = "midi_io"; sourceTree = ""; }; - AA87DB4A9A22F19BDAEFE5D8 = {isa = PBXGroup; children = ( - 7FA4E3D2ACE64C064B0BFC11, - A4AF80059F74FF502CAB1655, - 16B6619A5A552495ADC91C2E, - 3003B712285C45FB9A9C5824, ); name = sources; sourceTree = ""; }; - 0CB27604266434392528A0A9 = {isa = PBXGroup; children = ( - C1B1CD3695D2E9AB7E0E6EE1, - 79A3983C899D364ADCAEAA80, - 28568BBF30F1DB6038A18401, ); name = "audio_cd"; sourceTree = ""; }; - 413DAF5E4A5A55B72FE31041 = {isa = PBXGroup; children = ( + 9C570CC7FFD4AE34E1BB4591 = {isa = PBXGroup; children = ( C4F8FC1F6A6212470D6F4EEF, B99FD659AB1F5AE5733F0542, 50835B89AEF3E18AE107A63B, @@ -1043,31 +1027,19 @@ 8171E819672599C2594371EB, 63F06F3A718D0C1313A78321, 37E63175C424B7005BED7899, ); name = native; sourceTree = ""; }; + DFF257FA6DC46A793C24AB12 = {isa = PBXGroup; children = ( + 7FA4E3D2ACE64C064B0BFC11, + A4AF80059F74FF502CAB1655, + 16B6619A5A552495ADC91C2E, + 3003B712285C45FB9A9C5824, ); name = sources; sourceTree = ""; }; DBC38E2F8B6D4D0E1E4084E2 = {isa = PBXGroup; children = ( - 412A148C8202E8685B4A960B, - 521BD06F109EC360B7038DD4, - AA87DB4A9A22F19BDAEFE5D8, - 0CB27604266434392528A0A9, - 413DAF5E4A5A55B72FE31041, - 1D7E9C764EAEF6B62DFC3FEA, + 1BCD4423E84B52B4A245F0ED, + A7F1C7A65DBEF378CFA06C3C, + 630A6EE36909C9A4DF6C558E, + 9C570CC7FFD4AE34E1BB4591, + DFF257FA6DC46A793C24AB12, 2235F2008813426E4E917B2E, ); name = "juce_audio_devices"; sourceTree = ""; }; - 6EFA3AE1659E270768E508DE = {isa = PBXGroup; children = ( - 3682725F0866C54EA2F5B4E7, - E24CCE4B7AE25CA7990C9DCA, - 26021651C22BD6DE054AF1D6, - A38CB181B540BD7A6CA21362, - 34E6CD251FA09E2F5B0592DE, - 875A14BB773AFC27135869A1, - 54669FEC417AFCA5503F78DD, - CDF98CC2BD3A485541A79049, - 9987B55A7D7AE452D921F227, - EC79622BA496FF289861EAB9, - 8D6CCBB6ADF78D5139B35DE6, - F1D0D12D2F7CE8C88A28169B, - 73E24FDB3C3E517471A8FF3F, - B60DA66A1E0DBA5BB2549EA7, - 639BB1B8BEEED7BF60F2D891, ); name = format; sourceTree = ""; }; - BF16121C5E169FE3A2CAD521 = {isa = PBXGroup; children = ( + 163F68AE329A49AE8C4C6A87 = {isa = PBXGroup; children = ( 4BD929A35245C5C8E1128201, AF5ED93D7B6AC2DE6DCEAC23, 8E9358560B0ACE8A912B8AB3, @@ -1086,16 +1058,48 @@ 251A3E830E20378FE1E70462, 07F0E97918A02142DE52344D, 2F225714445457C8332BD3B1, ); name = codecs; sourceTree = ""; }; + 9B9D6E491AAC137A3D43CD62 = {isa = PBXGroup; children = ( + 3682725F0866C54EA2F5B4E7, + E24CCE4B7AE25CA7990C9DCA, + 26021651C22BD6DE054AF1D6, + A38CB181B540BD7A6CA21362, + 34E6CD251FA09E2F5B0592DE, + 875A14BB773AFC27135869A1, + 54669FEC417AFCA5503F78DD, + CDF98CC2BD3A485541A79049, + 9987B55A7D7AE452D921F227, + EC79622BA496FF289861EAB9, + 8D6CCBB6ADF78D5139B35DE6, + F1D0D12D2F7CE8C88A28169B, + 73E24FDB3C3E517471A8FF3F, + B60DA66A1E0DBA5BB2549EA7, + 639BB1B8BEEED7BF60F2D891, ); name = format; sourceTree = ""; }; 99F1BACC767800780A8D643F = {isa = PBXGroup; children = ( 833103DB8E0F65D0E7BEEF0C, 2D0F17B9AE9B8C3F2FF90387, ); name = sampler; sourceTree = ""; }; C8857FD6ADA102CCD5484C14 = {isa = PBXGroup; children = ( - 6EFA3AE1659E270768E508DE, - BF16121C5E169FE3A2CAD521, + 163F68AE329A49AE8C4C6A87, + 9B9D6E491AAC137A3D43CD62, 99F1BACC767800780A8D643F, - F60BFB92E0D488E003958E0F, D55687B02DF776608D011DE6, ); name = "juce_audio_formats"; sourceTree = ""; }; - 946A544FA785166188EB9942 = {isa = PBXGroup; children = ( + 0DB2BA44079181A22599C3A8 = {isa = PBXGroup; children = ( + F016087BCC0EC5E166B45215, + AAB742E00619AE4A2CA4A222, + BAD4511258CEEAD73C748782, + AC10CC6D18D4F05E307BA85C, ); name = format; sourceTree = ""; }; + B35AA217D16BC8FDC112D021 = {isa = PBXGroup; children = ( + 612FC77FBD64CC1F6ABEC287, + D86E055DC747CF4917E4981C, + A0A17D0546958E5428D46022, + A6AC42E7E0856E8A9915675D, + 45586BE1687078BDB44C33F0, + 68CAC12255032C9598B836DF, + 004A7D1BC57F2136FF31D767, + 3AC1657491C449D35317D152, + 0C7A1C47389DD6A1DE34D831, + 8781C749016774125396B268, + B6F1399CBD41DC2FF546CA8C, ); name = "format_types"; sourceTree = ""; }; + FE3DD9135B35505627D0F996 = {isa = PBXGroup; children = ( 4BDA1EF1F7CF9256A68D333B, 469C174FFE7BE215B1B7EA9E, 06156CF92A104236B6EDFD6E, @@ -1112,23 +1116,6 @@ D5C2565A72079ED9B26F4329, 3BA54B750BD87ECE45A72A3D, 9902AF593FBBEAB3B6D84F6A, ); name = processors; sourceTree = ""; }; - DE43B8949C3673683A4145E7 = {isa = PBXGroup; children = ( - F016087BCC0EC5E166B45215, - AAB742E00619AE4A2CA4A222, - BAD4511258CEEAD73C748782, - AC10CC6D18D4F05E307BA85C, ); name = format; sourceTree = ""; }; - 2D3B454266035989793B50E4 = {isa = PBXGroup; children = ( - 612FC77FBD64CC1F6ABEC287, - D86E055DC747CF4917E4981C, - A0A17D0546958E5428D46022, - A6AC42E7E0856E8A9915675D, - 45586BE1687078BDB44C33F0, - 68CAC12255032C9598B836DF, - 004A7D1BC57F2136FF31D767, - 3AC1657491C449D35317D152, - 0C7A1C47389DD6A1DE34D831, - 8781C749016774125396B268, - B6F1399CBD41DC2FF546CA8C, ); name = "format_types"; sourceTree = ""; }; 0A5D0B4D98C62D681284255B = {isa = PBXGroup; children = ( 5C3B25EFEDBDB3FF37FBD546, CF8FC5357F57FDEFB20BCFB4, @@ -1146,12 +1133,11 @@ 829E26BF13D9D5728057226C, C9441DECAB98635D65D32950, ); name = utilities; sourceTree = ""; }; 08208586E6517BD2DF67E1BB = {isa = PBXGroup; children = ( - 946A544FA785166188EB9942, - DE43B8949C3673683A4145E7, - 2D3B454266035989793B50E4, + 0DB2BA44079181A22599C3A8, + B35AA217D16BC8FDC112D021, + FE3DD9135B35505627D0F996, 0A5D0B4D98C62D681284255B, FEA13DA86CBA0709150CFACA, - 21C2EA5071601B7046CE11FB, 53774BD198186D5292A6C79E, ); name = "juce_audio_processors"; sourceTree = ""; }; 0C7DADB3ED97AF53E7F9C877 = {isa = PBXGroup; children = ( 49F24776F527FD9F6D11F8D8, @@ -1168,73 +1154,21 @@ C8416100B7FEBFFEA67C9AA4, C7F857ED7C6223F0B7BEBBD0, 0DF9423E2283E5E9A4D3AB36, ); name = gui; sourceTree = ""; }; - 52A685AD333945C4BA5AC3A0 = {isa = PBXGroup; children = ( - 10F8E2A5426A365F3193B251, - 70C902F9BB9ABFEE77FECEA1, ); name = players; sourceTree = ""; }; - D534C203A2F34567D0E49FFC = {isa = PBXGroup; children = ( + 84DCA19BCA2B97F8331CAD21 = {isa = PBXGroup; children = ( 414963BDCCA2040627721C78, 2158477C497C9435DC12DD65, 847E7E00243B8FC7BCCE69D7, BF1D2F31EFE400A6DCAB8596, 5001ED9DCB2695E7C7FB575D, ); name = native; sourceTree = ""; }; + D80C060008801D8C2CC619F4 = {isa = PBXGroup; children = ( + 10F8E2A5426A365F3193B251, + 70C902F9BB9ABFEE77FECEA1, ); name = players; sourceTree = ""; }; 481DB3EC1543DF78D91EEE0B = {isa = PBXGroup; children = ( 0C7DADB3ED97AF53E7F9C877, - 52A685AD333945C4BA5AC3A0, - D534C203A2F34567D0E49FFC, - EBAB0ECCF22BDB741F384B1D, + 84DCA19BCA2B97F8331CAD21, + D80C060008801D8C2CC619F4, 5FD667A17A029680D6D2F986, ); name = "juce_audio_utils"; sourceTree = ""; }; - 54857A0ED7C578048EA3BC8C = {isa = PBXGroup; children = ( - 56984FF7B7A8186E267CA2C7, - 7DF9149436E477A8CA9C4913, - C9B3C530D568B8F23A468735, - 90DDEFA4C3E0D9A94D89D560, - B1DF86973FEECE79964F8417, - 290313E8DFE0C4FC406C2360, - D98B4710CA9D9EEA80D3850C, - B252BBCF9F5FD643D0E9AC83, - 021E4B9D060BD0CF0860AE90, - 3899F0D969DE1CFDE1C28A4C, - 447C281C78F82035C2BD24EB, - 391E61B7E04EEEEE8A87195C, - DAEC7D47D0797A93D614BBFB, - D2079159DFD2C55DA65831AA, - F20219B169674F73013B959B, - B812EAB4E6CBB640845742ED, - 9BAED86761B8DDB97637DCB0, - 7C7709861088BBB95FBFC7B9, - BCFC623C56B7071F9CC6B0AD, - EC6AED5402632BB7AB3D9817, - B301BDB1D870A1997BBD8B31, - 6037D45756D11A1360FBDFB4, - FE0E52C9AFA1874FD0F6EDFB, - B39B217148F866D5F57942C4, ); name = text; sourceTree = ""; }; - 8F0440E037A0737A5B5A816F = {isa = PBXGroup; children = ( - 5EC7614B7F46EA2C43B14AD8, - 115AAB2BB6D1E55D688417EF, - 0093510DE4AC3C9CB46D6D05, - 5696C635F1687848F831176D, - 57290064E3CFF9DD86D814E1, - 196F23E5CD478EC63198A2D5, - DADF4E1FDD2FB8DE33E71E9B, - 589E9DB86BE9D5BCC3738166, - 4B0486F8ABCFE1914A1BE334, - BEE210C77DA7D3688A1742A4, ); name = maths; sourceTree = ""; }; - EF19B5815B61879A232AB5F8 = {isa = PBXGroup; children = ( - B410222AAD7B88C20581B38A, - 6DB7CDAC2EAD21710557CC90, - F482E3FEBB9C48AD3D3B4D27, - CD75E6F688CDFDF12DDCDB78, - 5078B5E8B29C7812E2A61C87, - B3F9F7C9AA10351F04D5841E, - EC1DB896229AC7C81EF6230B, - FFA8D7FC84A4B69BC21A109B, - 440B83793DD44839DE3E4F6F, - 10E481B0FC72E71E14CF6F16, - 35A49DE14F79186394703465, - 65ABEFA3DB37D2D541830543, - 9E5488FCBB203D6BFCC9626C, - 53E7F696AD8FE29150F9FF87, ); name = memory; sourceTree = ""; }; - 0606A517BC59F09662D14021 = {isa = PBXGroup; children = ( + 566D292EAC206E5837B40131 = {isa = PBXGroup; children = ( 1B711C8B57441E43AEC12D48, 96136E8FAEE6D138EABDC874, A4A123FEBDE48FDDBEB74AED, @@ -1256,37 +1190,7 @@ 48B594C3AC9C012619F76024, E77E3C682E425FFB37A34DF5, ECAE3FA47A5AA11B7F49930E, ); name = containers; sourceTree = ""; }; - B52E49803AFAC22A5D3DFAF9 = {isa = PBXGroup; children = ( - C25DBA75B27D857652748702, - 9AC7FDA570544046185D6933, - 58ECEED241DF27ED319D1DFC, - 09437961E4C3262AF3ADED8B, - A88B5A8101BD7EAB2B0BAB35, - 632EB1DDB282B7EA29091876, - F12E0BC6AA64C2E1A0284A26, - A37D36CA1CD0EFDD6829D108, - 5322147EFA4CACACD31C55BB, - 1945B8B1780CECAA1A49EDDA, - B607D4F65F2DE1F20187AE0C, - E04EBB578FEA27D7F991CD8A, - 992E198BAFF9F97CA8267243, - AA23BE61CCD82B6EFD668570, - 8C4B2862B075A24BB66F7BCC, - B4E7D1AC16B0EDD769C3E301, - 7427DE3DD9E5F7BC673338A9, - 2FBA7B33A6753CD6EDA3C44D, - 3A4D960AFD726944CDD837A0, - 4DBB69C768DC0AB48E4D7335, - B30B16136732BB68AB32885A, - DF3DBAEDD9DEAEB7A7D0C246, ); name = threads; sourceTree = ""; }; - E10B0598C5380293E7D3522A = {isa = PBXGroup; children = ( - D1FD340C6786DED8A06EA0BE, - 47E867EB426ED9E824837D86, - 3F6066E4811F5614743ADF18, - 658BA13CE4A1B5BDAB21F453, - 5E1B48EC342F75E172492CC2, - 7618E389756278E8A8737270, ); name = time; sourceTree = ""; }; - 52068909833FDC8D4678A63D = {isa = PBXGroup; children = ( + D3CAA19ECDDB7C664B8D647A = {isa = PBXGroup; children = ( 22D5D3A2B80C1A7DF3EC2D72, D166DF5A19C529101A29CA3D, 06ABA2CB47AC9A1C9C3DB734, @@ -1304,66 +1208,43 @@ 4E71CDAE57EC0F8252E8A379, 916C34DC7037A6ECB6B02ADC, 67E0AFE3935297E54BC38B59, ); name = files; sourceTree = ""; }; - D66C2FBDAA3856B79F27CB26 = {isa = PBXGroup; children = ( - 152BC2F3F6B0F518C984177E, - 9364B320302B675300E93B41, - 79F607C4907089E574F59974, - 7F7B055D0C2811CE7C4B4484, - 047E2858DF652C4EECE19350, - 8D1CE0B9ECDF4CF36B1CB4F4, - 43E964EF17328AB8C3F454D0, - 1A39051C4AF1619FA04E23C7, - 5E3E8D9EDD3396025DB49F40, - 12A03A62777C1C5E81950DBC, ); name = network; sourceTree = ""; }; - ABB327C80FA60E4EE212DEDA = {isa = PBXGroup; children = ( - EA7B437CA63EDE546A390088, - 9C00A3B72C9748ACFBF5C059, - A0A1B6344FD51FCDBB9C204E, - 9DA13E7352FB376508315D83, - A7C30AD9E7ACADB65E2E9FF2, - 6374A362F258DBD2F39C868C, - 0124FD2E09CC905B5F5E946D, - 33E1D4A2F37E15E02464FB04, - 1E91A2C8AF72DF59C199E818, - DEB45A52F4AAB4FF1DEFF917, - 8C907079F5A8EF3BD3DD35C1, - D234BD4D6AE149D63892A568, - 15C2EE8305EE8F0E0DA60E7E, - A5B4B4ACFAFFCA55AA7DF0EE, - DE604B27DA8E8141012B7C76, ); name = streams; sourceTree = ""; }; - F1ACCD6572C36B1C197F7389 = {isa = PBXGroup; children = ( - 9816D8CB9D6F77D837CE1581, - 1ABA7718EB30C6B8A4D60A0B, - BC189AD35765B04899A257C2, - 26F5080C5674741DEEB509A6, ); name = logging; sourceTree = ""; }; - CA8C33C6E039B1D9AEED744B = {isa = PBXGroup; children = ( - A55D76D2DD846DF369A1B062, - 7FF73F42C8BA1F00D7397605, - 5A5572F95434483C670D0763, - 25D6F3C83F487FC6A4E6E0A5, - 2B5AD253F09E8774138A92EC, - 78415F3E8CD250F76A2B4E5C, ); name = system; sourceTree = ""; }; - 8C94CC16F964A703D25D1D0C = {isa = PBXGroup; children = ( - 459BA6D8DE834F3A84690357, - 7DE03DEF670FF7640DA6BF30, - F75051C40F6B34B13C483AB9, - 1F6F203486A696D5B35DC25F, ); name = xml; sourceTree = ""; }; - 11BCBBDF1B984D6B50FF1D65 = {isa = PBXGroup; children = ( + 8F2B41AF84B55107F0EC52ED = {isa = PBXGroup; children = ( 1FE48E2A7E4965A31A55888F, ED9FD17E6D8D6E53D61077CB, C7FA975F9BC2B0A10374E66A, 0A5B25A301828B0F4A45E68B, ); name = javascript; sourceTree = ""; }; - 868BF883D27E9D8B871E75EB = {isa = PBXGroup; children = ( - CA6A35C980DA16823A27B7F6, - 8D317883E61856EE2491FC09, - 5AD10992C4A5CF4C11FB8A0D, - 9E2419E5C9BB345B5121A6D2, - 05248CC68AF398A13747B3AF, - B4AD729202F07B7BEE54E492, ); name = zip; sourceTree = ""; }; - 13FBA7C2E0827B356440A388 = {isa = PBXGroup; children = ( - 031323316BE5A4736C9E93DC, - E4F40BEE2B9AD2278B514971, ); name = "unit_tests"; sourceTree = ""; }; - E6989A7A06F752F666765CD3 = {isa = PBXGroup; children = ( + 17510F6886DEC9435C03BB4B = {isa = PBXGroup; children = ( + 9816D8CB9D6F77D837CE1581, + 1ABA7718EB30C6B8A4D60A0B, + BC189AD35765B04899A257C2, + 26F5080C5674741DEEB509A6, ); name = logging; sourceTree = ""; }; + 9804ED2634D6C5834BF321F5 = {isa = PBXGroup; children = ( + 5EC7614B7F46EA2C43B14AD8, + 115AAB2BB6D1E55D688417EF, + 0093510DE4AC3C9CB46D6D05, + 5696C635F1687848F831176D, + 57290064E3CFF9DD86D814E1, + 196F23E5CD478EC63198A2D5, + DADF4E1FDD2FB8DE33E71E9B, + 589E9DB86BE9D5BCC3738166, + 4B0486F8ABCFE1914A1BE334, + BEE210C77DA7D3688A1742A4, ); name = maths; sourceTree = ""; }; + 5AD2EEB7D5BAD4D976976204 = {isa = PBXGroup; children = ( + B410222AAD7B88C20581B38A, + 6DB7CDAC2EAD21710557CC90, + F482E3FEBB9C48AD3D3B4D27, + CD75E6F688CDFDF12DDCDB78, + 5078B5E8B29C7812E2A61C87, + B3F9F7C9AA10351F04D5841E, + EC1DB896229AC7C81EF6230B, + FFA8D7FC84A4B69BC21A109B, + 440B83793DD44839DE3E4F6F, + 10E481B0FC72E71E14CF6F16, + 35A49DE14F79186394703465, + 65ABEFA3DB37D2D541830543, + 9E5488FCBB203D6BFCC9626C, + 53E7F696AD8FE29150F9FF87, ); name = memory; sourceTree = ""; }; + 40838AC862B3884AB4933596 = {isa = PBXGroup; children = ( A1462538DDB60A384CA330C6, 33FC576912A6019A3F14604B, 8EF7ED003297DFA5026CC445, @@ -1371,7 +1252,7 @@ 94C3AA9784869B88B76D1F24, 79C23DAB6FB460C2A29A7815, B072058D4853C3D58657D667, ); name = misc; sourceTree = ""; }; - F83F9A68BD888CC09E3010F6 = {isa = PBXGroup; children = ( + 68DE5DA19EDA288EC77B1397 = {isa = PBXGroup; children = ( 8461D846AE31A276B18B6362, DAC04A108BE4FB935F5A7D37, 0AFDB7BA03791E1D80ADD26A, @@ -1401,49 +1282,167 @@ 49C27EB9F39A5C1BAB48A3CF, A49E4ACB0716C74EDC25DC50, 4B616298D27D8AFCAF94A62B, ); name = native; sourceTree = ""; }; + 815BBF68DACA9B7DAD3277FA = {isa = PBXGroup; children = ( + 152BC2F3F6B0F518C984177E, + 9364B320302B675300E93B41, + 79F607C4907089E574F59974, + 7F7B055D0C2811CE7C4B4484, + 047E2858DF652C4EECE19350, + 8D1CE0B9ECDF4CF36B1CB4F4, + 43E964EF17328AB8C3F454D0, + 1A39051C4AF1619FA04E23C7, + 5E3E8D9EDD3396025DB49F40, + 12A03A62777C1C5E81950DBC, ); name = network; sourceTree = ""; }; + B728B781DF6487DFEBA5D072 = {isa = PBXGroup; children = ( + EA7B437CA63EDE546A390088, + 9C00A3B72C9748ACFBF5C059, + A0A1B6344FD51FCDBB9C204E, + 9DA13E7352FB376508315D83, + A7C30AD9E7ACADB65E2E9FF2, + 6374A362F258DBD2F39C868C, + 0124FD2E09CC905B5F5E946D, + 33E1D4A2F37E15E02464FB04, + 1E91A2C8AF72DF59C199E818, + DEB45A52F4AAB4FF1DEFF917, + 8C907079F5A8EF3BD3DD35C1, + D234BD4D6AE149D63892A568, + 15C2EE8305EE8F0E0DA60E7E, + A5B4B4ACFAFFCA55AA7DF0EE, + DE604B27DA8E8141012B7C76, ); name = streams; sourceTree = ""; }; + CA8C33C6E039B1D9AEED744B = {isa = PBXGroup; children = ( + A55D76D2DD846DF369A1B062, + 7FF73F42C8BA1F00D7397605, + 5A5572F95434483C670D0763, + 25D6F3C83F487FC6A4E6E0A5, + 2B5AD253F09E8774138A92EC, + 78415F3E8CD250F76A2B4E5C, ); name = system; sourceTree = ""; }; + 679D8B32CDF18BEC9868D766 = {isa = PBXGroup; children = ( + 56984FF7B7A8186E267CA2C7, + 7DF9149436E477A8CA9C4913, + C9B3C530D568B8F23A468735, + 90DDEFA4C3E0D9A94D89D560, + B1DF86973FEECE79964F8417, + 290313E8DFE0C4FC406C2360, + D98B4710CA9D9EEA80D3850C, + B252BBCF9F5FD643D0E9AC83, + 021E4B9D060BD0CF0860AE90, + 3899F0D969DE1CFDE1C28A4C, + 447C281C78F82035C2BD24EB, + 391E61B7E04EEEEE8A87195C, + DAEC7D47D0797A93D614BBFB, + D2079159DFD2C55DA65831AA, + F20219B169674F73013B959B, + B812EAB4E6CBB640845742ED, + 9BAED86761B8DDB97637DCB0, + 7C7709861088BBB95FBFC7B9, + BCFC623C56B7071F9CC6B0AD, + EC6AED5402632BB7AB3D9817, + B301BDB1D870A1997BBD8B31, + 6037D45756D11A1360FBDFB4, + FE0E52C9AFA1874FD0F6EDFB, + B39B217148F866D5F57942C4, ); name = text; sourceTree = ""; }; + E60CC81027CC44036DFBFFCC = {isa = PBXGroup; children = ( + C25DBA75B27D857652748702, + 9AC7FDA570544046185D6933, + 58ECEED241DF27ED319D1DFC, + 09437961E4C3262AF3ADED8B, + A88B5A8101BD7EAB2B0BAB35, + 632EB1DDB282B7EA29091876, + F12E0BC6AA64C2E1A0284A26, + A37D36CA1CD0EFDD6829D108, + 5322147EFA4CACACD31C55BB, + 1945B8B1780CECAA1A49EDDA, + B607D4F65F2DE1F20187AE0C, + E04EBB578FEA27D7F991CD8A, + 992E198BAFF9F97CA8267243, + AA23BE61CCD82B6EFD668570, + 8C4B2862B075A24BB66F7BCC, + B4E7D1AC16B0EDD769C3E301, + 7427DE3DD9E5F7BC673338A9, + 2FBA7B33A6753CD6EDA3C44D, + 3A4D960AFD726944CDD837A0, + 4DBB69C768DC0AB48E4D7335, + B30B16136732BB68AB32885A, + DF3DBAEDD9DEAEB7A7D0C246, ); name = threads; sourceTree = ""; }; + CE4C42BE639FF296A3B3FB54 = {isa = PBXGroup; children = ( + D1FD340C6786DED8A06EA0BE, + 47E867EB426ED9E824837D86, + 3F6066E4811F5614743ADF18, + 658BA13CE4A1B5BDAB21F453, + 5E1B48EC342F75E172492CC2, + 7618E389756278E8A8737270, ); name = time; sourceTree = ""; }; + 13FBA7C2E0827B356440A388 = {isa = PBXGroup; children = ( + 031323316BE5A4736C9E93DC, + E4F40BEE2B9AD2278B514971, ); name = "unit_tests"; sourceTree = ""; }; + 54B15408924A124E02F9E7D2 = {isa = PBXGroup; children = ( + 459BA6D8DE834F3A84690357, + 7DE03DEF670FF7640DA6BF30, + F75051C40F6B34B13C483AB9, + 1F6F203486A696D5B35DC25F, ); name = xml; sourceTree = ""; }; + C9B5CA73ACDF7CCCC0E830BE = {isa = PBXGroup; children = ( + CA6A35C980DA16823A27B7F6, + 8D317883E61856EE2491FC09, + 5AD10992C4A5CF4C11FB8A0D, + 9E2419E5C9BB345B5121A6D2, + 05248CC68AF398A13747B3AF, + B4AD729202F07B7BEE54E492, ); name = zip; sourceTree = ""; }; FEA1B0BA7F8F75F1333343F3 = {isa = PBXGroup; children = ( - 54857A0ED7C578048EA3BC8C, - 8F0440E037A0737A5B5A816F, - EF19B5815B61879A232AB5F8, - 0606A517BC59F09662D14021, - B52E49803AFAC22A5D3DFAF9, - E10B0598C5380293E7D3522A, - 52068909833FDC8D4678A63D, - D66C2FBDAA3856B79F27CB26, - ABB327C80FA60E4EE212DEDA, - F1ACCD6572C36B1C197F7389, + 566D292EAC206E5837B40131, + D3CAA19ECDDB7C664B8D647A, + 8F2B41AF84B55107F0EC52ED, + 17510F6886DEC9435C03BB4B, + 9804ED2634D6C5834BF321F5, + 5AD2EEB7D5BAD4D976976204, + 40838AC862B3884AB4933596, + 68DE5DA19EDA288EC77B1397, + 815BBF68DACA9B7DAD3277FA, + B728B781DF6487DFEBA5D072, CA8C33C6E039B1D9AEED744B, - 8C94CC16F964A703D25D1D0C, - 11BCBBDF1B984D6B50FF1D65, - 868BF883D27E9D8B871E75EB, + 679D8B32CDF18BEC9868D766, + E60CC81027CC44036DFBFFCC, + CE4C42BE639FF296A3B3FB54, 13FBA7C2E0827B356440A388, - E6989A7A06F752F666765CD3, - F83F9A68BD888CC09E3010F6, - 4A1D30BBAB2649F4C0970E87, + 54B15408924A124E02F9E7D2, + C9B5CA73ACDF7CCCC0E830BE, 59E9E1263FAA9E36D6D33C01, ); name = "juce_core"; sourceTree = ""; }; - E041BB0DC52093F623C413CE = {isa = PBXGroup; children = ( + 1E1AC211840B2F5FFEF23EFE = {isa = PBXGroup; children = ( + 35AE3C6D75DE08E9C41DFCEE, + 406DF1B4D378562F659E8565, + 2A25688682B14F59080B8856, + 5029A627A11CDF63AF4F5B8F, ); name = "app_properties"; sourceTree = ""; }; + 9D61E1F52239600FDC155F07 = {isa = PBXGroup; children = ( + DEED8BDABC10E6650C61915D, + A759DC9DA67FE7574884F88D, + 9CDD6AA35716672F050A28C4, ); name = undomanager; sourceTree = ""; }; + E1ED042A7C1CC9770756E817 = {isa = PBXGroup; children = ( 94BF50B22594BFFBBF487F68, C01C65AA178CAAD65CDF7273, DD813DFB4467E734B53BD1F4, DF329E2274A09998C98424BF, C80C46AC11D0A36B43BF545C, 19A0D8CE0DDC2B5A8215ED90, ); name = values; sourceTree = ""; }; - 9D61E1F52239600FDC155F07 = {isa = PBXGroup; children = ( - DEED8BDABC10E6650C61915D, - A759DC9DA67FE7574884F88D, - 9CDD6AA35716672F050A28C4, ); name = undomanager; sourceTree = ""; }; - 20FE35E9EAC903FACAD65400 = {isa = PBXGroup; children = ( - 35AE3C6D75DE08E9C41DFCEE, - 406DF1B4D378562F659E8565, - 2A25688682B14F59080B8856, - 5029A627A11CDF63AF4F5B8F, ); name = "app_properties"; sourceTree = ""; }; 584A723B020C02FF0714AC51 = {isa = PBXGroup; children = ( - E041BB0DC52093F623C413CE, + 1E1AC211840B2F5FFEF23EFE, 9D61E1F52239600FDC155F07, - 20FE35E9EAC903FACAD65400, - 4999D0E2E73B14F89B3852B2, + E1ED042A7C1CC9770756E817, D1B0DB676A6A968AA8539F91, ); name = "juce_data_structures"; sourceTree = ""; }; - D0B6D317D5D309AA53817F7F = {isa = PBXGroup; children = ( + 6EE84109ECE595FD76A85FA9 = {isa = PBXGroup; children = ( + 8A282A87C13A4CB559B544D5, + DB9ADD80EF2DCECC21876922, + B73F7F0669A6434AA911BB2A, + C1994F6906975E2337549F27, + FF95986E4C03C60149C2EAB3, + 4D8B25F49672278DAD980D37, + 8E317934922B12ABA2B5A8AA, + 671AE5D17EF53649D7D1B706, ); name = broadcasters; sourceTree = ""; }; + 337E513465DEFBF4ACAA5ACA = {isa = PBXGroup; children = ( + 7FCE792C7AB12179255A503B, + 616001AC742985F6056FC373, + CCD2995B73F60BDBAAFC07C9, + 7EB411B3EEEF32A2457A28A3, + 84EA235515C1B97954C1F97C, + 53DB1E1F972D23211F994563, ); name = interprocess; sourceTree = ""; }; + 456E82EC4B7488C7113FFF91 = {isa = PBXGroup; children = ( 977004696868887798BE902E, DAB4E720D859B35A658F42A6, 085EA881D89B7D96B4E1C4EF, @@ -1457,28 +1456,7 @@ 132527D90182FABFAD6B679A, 6B557AF16786514B9B509F6E, 96C10BDED107AED6A992F38C, ); name = messages; sourceTree = ""; }; - 219CF44A11B0306C4C8E089A = {isa = PBXGroup; children = ( - 7CD1D9760A7F9124BC92868A, - 4EA1329ABB28BF7D1E2BCEE7, - 86ADBCA3CFDA607F9E22805E, - 2977F9A301367D33C8054620, ); name = timers; sourceTree = ""; }; - 867F5167D5B02633DE3C27FF = {isa = PBXGroup; children = ( - 8A282A87C13A4CB559B544D5, - DB9ADD80EF2DCECC21876922, - B73F7F0669A6434AA911BB2A, - C1994F6906975E2337549F27, - FF95986E4C03C60149C2EAB3, - 4D8B25F49672278DAD980D37, - 8E317934922B12ABA2B5A8AA, - 671AE5D17EF53649D7D1B706, ); name = broadcasters; sourceTree = ""; }; - CD5127A5D0157A6C8DAE649C = {isa = PBXGroup; children = ( - 7FCE792C7AB12179255A503B, - 616001AC742985F6056FC373, - CCD2995B73F60BDBAAFC07C9, - 7EB411B3EEEF32A2457A28A3, - 84EA235515C1B97954C1F97C, - 53DB1E1F972D23211F994563, ); name = interprocess; sourceTree = ""; }; - E7EB8F13CC4D253F1FBED90C = {isa = PBXGroup; children = ( + 5DE819894F47B7825D1AB4E3 = {isa = PBXGroup; children = ( 2D5463C56EB1D673D4C37A26, 2101C88856D6E4101D4B6EB9, F8A4925B3E23206A0754205E, @@ -1487,13 +1465,17 @@ 3A4ADB03B4FDD3E092A4EA1F, BA50382ECF67058553C0CF60, 0995D7B07504B098C495A289, ); name = native; sourceTree = ""; }; + B482FC9D25B806C6972EB2E5 = {isa = PBXGroup; children = ( + 7CD1D9760A7F9124BC92868A, + 4EA1329ABB28BF7D1E2BCEE7, + 86ADBCA3CFDA607F9E22805E, + 2977F9A301367D33C8054620, ); name = timers; sourceTree = ""; }; 9999265D6565E84C519B6188 = {isa = PBXGroup; children = ( - D0B6D317D5D309AA53817F7F, - 219CF44A11B0306C4C8E089A, - 867F5167D5B02633DE3C27FF, - CD5127A5D0157A6C8DAE649C, - E7EB8F13CC4D253F1FBED90C, - 62AD83AD4696E47FB45585CB, + 6EE84109ECE595FD76A85FA9, + 337E513465DEFBF4ACAA5ACA, + 456E82EC4B7488C7113FFF91, + 5DE819894F47B7825D1AB4E3, + B482FC9D25B806C6972EB2E5, 2EDAD84A240F6EA14E91F843, ); name = "juce_events"; sourceTree = ""; }; D96C00E687028523A6B95820 = {isa = PBXGroup; children = ( 6687C444F957D7D097F6D457, @@ -1513,19 +1495,25 @@ CB2ABF575A275A9AFAF69AB6, D6529F0028A0D64B57BD486A, D9ACF6590CE093AE1B687493, ); name = contexts; sourceTree = ""; }; - 11E04A6A98874D8C749E8125 = {isa = PBXGroup; children = ( - 64E9F1A471FB4139A86242AD, - 7983BE181790E622062ABDA7, - EF6DCFE1A8648BA97D9E027B, - B2B7AA7BD345763FD87C6F6C, - CCB0F34697E82EF0D5FF4B44, - 5B43C06682E6348DCD10BECA, - E13F0F8F7F6F633D94F8852E, - 10BE0702983DAC068A700C60, ); name = images; sourceTree = ""; }; - 5B11A45CDA3691A7C35A7DE3 = {isa = PBXGroup; children = ( - ADDD1F7465029C1760729DEC, - 626A01BA93A061B77DE39B01, - 3FD158E0EBB5A23F749067E3, ); name = "image_formats"; sourceTree = ""; }; + 57F5DFEF697CEFA865225015 = {isa = PBXGroup; children = ( + 031D5EF47AD1A899C5FEB1C9, + 55A358EA30720C4A5CCA9151, + 215DE048889CCA704E8F5112, + 87EA6E46F50CE9F1225F5378, + DBE644AB8DD7935E701F364A, ); name = effects; sourceTree = ""; }; + E9D66FAE21704D06A0B83946 = {isa = PBXGroup; children = ( + BE790FC31FED01F453778D57, + 57F15A42094E5ACCA8DB407D, + DC1F273C442E0C5B476BFBB4, + A2D5629F1BF85B126284E956, + CDE1C86EB362EDC8A03F428F, + 84151C5E4FC8B82EFA3EA196, + F5442F8B15FB0A77E4648186, + 27584E89B3BADB1CF4B1FDE4, + 1F2B9396D1F9383A2BE87F61, + BC21204055502ECD5D995C9A, + B0F96C67BA2727CA3DBE84B2, + 76EF2B2A80865A874EA3AC21, ); name = fonts; sourceTree = ""; }; 760DBB50894CEE6E6A9683E9 = {isa = PBXGroup; children = ( 490C9E6C4CFC2DACA9D020F5, 183BE9E5FB25F41ACD9E9773, @@ -1542,30 +1530,20 @@ DD30B985E81FD9E1A2DA0CFA, ACC586E84D66B1187620EFA7, 924AD69D9805BF69CF891A26, ); name = geometry; sourceTree = ""; }; - 161618966E3DD04535D909F4 = {isa = PBXGroup; children = ( - CD90BB1F67F6D769D73D3A01, - 281A6D0D7525F65789FB49EF, - 9BC778712D665C9DF94C08A0, ); name = placement; sourceTree = ""; }; - 765E46E76E5F123A08D7DA64 = {isa = PBXGroup; children = ( - BE790FC31FED01F453778D57, - 57F15A42094E5ACCA8DB407D, - DC1F273C442E0C5B476BFBB4, - A2D5629F1BF85B126284E956, - CDE1C86EB362EDC8A03F428F, - 84151C5E4FC8B82EFA3EA196, - F5442F8B15FB0A77E4648186, - 27584E89B3BADB1CF4B1FDE4, - 1F2B9396D1F9383A2BE87F61, - BC21204055502ECD5D995C9A, - B0F96C67BA2727CA3DBE84B2, - 76EF2B2A80865A874EA3AC21, ); name = fonts; sourceTree = ""; }; - 9A92559D2C772DB8D1AC41BA = {isa = PBXGroup; children = ( - 031D5EF47AD1A899C5FEB1C9, - 55A358EA30720C4A5CCA9151, - 215DE048889CCA704E8F5112, - 87EA6E46F50CE9F1225F5378, - DBE644AB8DD7935E701F364A, ); name = effects; sourceTree = ""; }; - 35BA4E7412123EA78166D65C = {isa = PBXGroup; children = ( + C34D6D30D8DBCA8AB20E0CA9 = {isa = PBXGroup; children = ( + ADDD1F7465029C1760729DEC, + 626A01BA93A061B77DE39B01, + 3FD158E0EBB5A23F749067E3, ); name = "image_formats"; sourceTree = ""; }; + BE7999C01F4E8918A26757D9 = {isa = PBXGroup; children = ( + 64E9F1A471FB4139A86242AD, + 7983BE181790E622062ABDA7, + EF6DCFE1A8648BA97D9E027B, + B2B7AA7BD345763FD87C6F6C, + CCB0F34697E82EF0D5FF4B44, + 5B43C06682E6348DCD10BECA, + E13F0F8F7F6F633D94F8852E, + 10BE0702983DAC068A700C60, ); name = images; sourceTree = ""; }; + 4AA7012AF7750719875F4CB9 = {isa = PBXGroup; children = ( 77451A1E595A87FE92658636, 26A66F26019CBD79F5A91C9A, AE3B0657991C1CC3638745B5, @@ -1579,19 +1557,54 @@ A67FE9CFCAF3E3883D94C392, F89103411772458E971E8C81, BE488D6CD2C0140A9B6E934C, ); name = native; sourceTree = ""; }; + 649291E367D69150D9B29E97 = {isa = PBXGroup; children = ( + CD90BB1F67F6D769D73D3A01, + 281A6D0D7525F65789FB49EF, + 9BC778712D665C9DF94C08A0, ); name = placement; sourceTree = ""; }; 6D0CD7DF808796C772B9CF79 = {isa = PBXGroup; children = ( D96C00E687028523A6B95820, C20FDADCE5D132ADD0F0B674, - 11E04A6A98874D8C749E8125, - 5B11A45CDA3691A7C35A7DE3, + 57F5DFEF697CEFA865225015, + E9D66FAE21704D06A0B83946, 760DBB50894CEE6E6A9683E9, - 161618966E3DD04535D909F4, - 765E46E76E5F123A08D7DA64, - 9A92559D2C772DB8D1AC41BA, - 35BA4E7412123EA78166D65C, - 6AE0098B6A2E1EAAE4229AEC, + C34D6D30D8DBCA8AB20E0CA9, + BE7999C01F4E8918A26757D9, + 4AA7012AF7750719875F4CB9, + 649291E367D69150D9B29E97, 346D8BC0FDE14C4BE4CAE645, ); name = "juce_graphics"; sourceTree = ""; }; - 83FB8583DA1B49CE63FD33E6 = {isa = PBXGroup; children = ( + 14036E5BB20F9B91CE588A6D = {isa = PBXGroup; children = ( + F193B593463CBEA3B4F399C1, + EE10729725D82DBAF10420A9, ); name = application; sourceTree = ""; }; + CE4F071417E914EE0C29050F = {isa = PBXGroup; children = ( + C2CED429B672EB6A5D299F68, + 640409A66565092660767890, + D33A70241E8C2D22B6409385, + 2AAE45171EA474D2FEDBEF6B, + BD06615203039932C590F0D8, + 5E7C3EF67857DB0082A41E95, + 9CE0F9D7C49B64C29A699E3D, + 65268CEE346EB4D090D434DF, + A96E3DEAF00EC750459EE0BB, + 68D30198ED90BAB25E06FB93, + 8C1169C0AAC0A019D2DBE488, + DBC3334D0BE4DE348E479B3B, + 6CC8C6277F4B378BB2516B99, + 5F7997D0291392415EB5670D, + 8B83FD1FA65C4103DDE2EA9C, + 43D160D6ED038A7088AB3DEC, + 4B612CF023FAAAB715A7CE61, + 76CEAA7DA1188C7BA85E9AD4, ); name = buttons; sourceTree = ""; }; + 03E007E3CFCF5C62E91D9B28 = {isa = PBXGroup; children = ( + 17A622FB24C67AF413278C9D, + EF26FBEF648444F597EED4D9, + 4166F8C587E680C19CDB28D2, + 292937C4EBBA8D66231DEF1E, + 858D95EA823FCD1DBFBC4E96, + DE62CAD14A6EA0B6F66E2B9A, + 0A4BDBC90AD26454FF1F992A, + 54D12DFAAC0B8DA6E394204C, + 7219E995BF8937AA13EF0937, ); name = commands; sourceTree = ""; }; + EBB653557413A1E1B90D2280 = {isa = PBXGroup; children = ( 5F467F2059AE430E6BF3F4C0, 70423D657809189527B69E00, 82E3B133D0E15FC5A0467749, @@ -1601,28 +1614,46 @@ 1AE59A7E8079843A9523C1C3, 0172D6B3308953A0A0484272, D00B28DABFC2293AD6A9D856, ); name = components; sourceTree = ""; }; - 7E1DABFE3234865540CA3ABA = {isa = PBXGroup; children = ( - A612D2AEB82CA6769747CFF8, - 00F105203610541906FA031C, - A4C85C1FBBAEF5CD869B481A, - 21AA213CE75E3291949C6CBB, - C8516C1E40F21AF2F48EE246, - 90794FCA3ACFCE9FF934CFCA, - 7A55A7E6495A10FE553E75EB, - ED7B6E0CCAABFFD95483A5A1, - 2570C4274F677D5F73074430, - B3F638A9960D94D4E38C3EE5, - B4FEFA79560682768177D629, - B3E9F31A38FEE09FFEB0E997, - FA5389B4B4B922397A55CB60, - F49F1A69A3B46150C57557D0, - AE3CFB79C6A02BB12EB0A2BA, - 67B7C5D013D32150AA632AFE, - F4E9F80E7F85608F4A5AB58F, - 1ADF350761EB5629DF148F35, - F4ABBA594FA6BC2FBEDD398F, - F62BBC1A8B1C678801A0418F, ); name = mouse; sourceTree = ""; }; - 8F207CAF34524A39BAA9EEC1 = {isa = PBXGroup; children = ( + B1DC18EAAEA038ACF5504D45 = {isa = PBXGroup; children = ( + 48914D8EF53DF4F467B5C38E, + 19CF04AE6B9BA0BF4B673644, + 3A0905D5A44682BA32E890B5, + 34E24767484BE14AA957A1CB, + F40EB47EEC8830E90B51887A, + 1B5C5E960E7409E889F78A02, + 52143236E07D91EB0AF4C7BC, + 34D309D5E22BA0FF12D2FEE7, + D0C3247AC5F5E17108E67EA5, + 2A9C48E02F347508B60E1E21, + 07AB7FDD7580231858DA3BD3, + 7E2B039E35B63D564CB0E12B, + 7A223F4215B0F750291066C3, + 0B3E8AF5DD78B8C46461633D, + 5C5EA791F21CA31804DBD014, ); name = drawables; sourceTree = ""; }; + 3AC48E55C541B2FB79393A17 = {isa = PBXGroup; children = ( + 85929AE1240EF7396488E6EF, + 1E02F37ED1CED5CE1DDE07A0, + 7328E44FE859DD15EC2CE03A, + 34A5918D9A6D9E594FDDA424, + 515A303B1DE0FFD73F905EC7, + C8F142A5E2D13E72F99E219E, + CFC4CBAAADA0714B6334AB82, + A770DBBE0DD8D1D33450AB3D, + 7793AAB87CA8422BEB1D2786, + 32600FBC59D4D1081295E262, + 5221FCE051C50A62D61AB705, + 64CB953C4710E1182A72BA47, + 42D0E88CB303E30747CE24FE, + B1CF51AE63BB5DEBECD47875, + 33E8C12F554677E58F4BAE77, + 496C15C1B88544F6B30707D1, + 5B0E1920431F1047B1306B7D, + 2FA12C63BC0BD2C8DF3B03CB, + D4C3B2CECDA6BE1056EB21E6, + CD8DB8D0560BACDD3845F550, + 9481495E00E43EBBCF41D165, + D7EF1A8F35C7DA552BC9AD32, ); name = filebrowser; sourceTree = ""; }; + 8FCA1F2EC8FD85E745A9CFE5 = {isa = PBXGroup; children = ( 01C131F232C1BBF49445C4C2, 2E4666160268FAC7A532A06F, 2F629B6A39DD38758FE73113, @@ -1636,62 +1667,7 @@ 1113FC41E8F9E67116F34119, 4C1C0EABAF9943E25BB843E2, C8ED6F312DBD9DE5E9A1B568, ); name = keyboard; sourceTree = ""; }; - A439B5AB535FCD05D9635E47 = {isa = PBXGroup; children = ( - B92FE036F9E2892A4E7BA7BF, - 0AD47AB335E576ACA9979911, - 692760FF53C119B0ADCEBC85, - 74965ED2CA35AFBE8CF98315, - 88B3C4FF9311F4797F9BDCCA, - D8D135DCCC6EF939F0CD2A26, - BB30BEBF839C3640BB28B3D1, - 43248265F0C0DFDCBF4CBBFB, - 86771CD55EEBF4DCD6B3EE1C, - 273F8B5CC164C605070744D7, - 443719DFD779BD07F5831148, - 40AA1B902D8D3CB54D860BBE, - 961694E31BDCEBFC65CC1796, - 85D5A35174B569C59CF2C7F3, - 7977C9703BF976B2CC300105, - A8B4A6DDE41B6826A72E1CC1, - 154C899287F20AFF9A47016E, - 2BDA963F7AA43162273A3224, - DB9BF231B5007FC6051A639E, - 84758DEDFF52B8A4A78DF410, - 58D8DA39709C9E4902C964BF, - 5BD03168178B05F7A6F1126A, - BA11889570DB5E67AD37DB90, - 2C1FCF64B8120D658E982254, - 8B5B75774474FCA544B1B2FD, - FF704E82ACB2DEB955F06B02, - CCAFCC6717B719157B251C1B, ); name = widgets; sourceTree = ""; }; - 9554444EAF47E14FB0E625E6 = {isa = PBXGroup; children = ( - 0AAFF309A3F53A79BD65A222, - 6EF4481E63CDB816C43CFE33, - 50F0CD4FF37A8BD224C4A696, - 9DE1DEB9CB034DBF7F1603BF, - FFC31B01BFA016D0D97EFFC1, - FFA5E5B817C46570A742F8DB, - CEB5926D26D476217426C3DC, - DF1900E8201A1BCCBC64AF00, - F860CDA9B50B6B178D431622, - 179021EB8CF93BAF69C822DA, - DF7FFD1509B205871099C5B7, - 8CA657F3BF721467B5EC9053, - 06A3571D29486CC63867E429, - C704CA2145896AAB100E6D1C, - 86FA92C698D7FA9BB526A62F, - B4BD3B842D678DD5C850A7AA, - D39E4EA15D8933D05802B88E, - 0070839D920C6E0890104E57, - BBFC02ADF6B29159C4E8C758, ); name = windows; sourceTree = ""; }; - 6D7115C8BBAFCEEDEF3B29A8 = {isa = PBXGroup; children = ( - DFB53C51F58D5F2CC3B488C9, - 3947CE32DD0E2EF74A9A5685, - D5B2347B8869A49762221315, - 5786743BB354833AD3E7C941, - E8591ABA5B7B62C30D83359C, - 452DA077C32F269A990CAF7F, ); name = menus; sourceTree = ""; }; - A6B239F3F3ED96077D3ACFE5 = {isa = PBXGroup; children = ( + 293A8F2A2A279CC380D3AE28 = {isa = PBXGroup; children = ( C54484F67D536E24BF7FC8B1, 6315EC0AA8AAC51EF78270C3, C6A2E5AE96FB8DE7F76D10E8, @@ -1728,72 +1704,7 @@ 92123D5456E4E881FDE03CF3, 9C3D731E59E142B877B3B40A, 9AE96EFA03DB4690EC7D7EF7, ); name = layout; sourceTree = ""; }; - 4BCDD6827692F581AFD87F9A = {isa = PBXGroup; children = ( - C2CED429B672EB6A5D299F68, - 640409A66565092660767890, - D33A70241E8C2D22B6409385, - 2AAE45171EA474D2FEDBEF6B, - BD06615203039932C590F0D8, - 5E7C3EF67857DB0082A41E95, - 9CE0F9D7C49B64C29A699E3D, - 65268CEE346EB4D090D434DF, - A96E3DEAF00EC750459EE0BB, - 68D30198ED90BAB25E06FB93, - 8C1169C0AAC0A019D2DBE488, - DBC3334D0BE4DE348E479B3B, - 6CC8C6277F4B378BB2516B99, - 5F7997D0291392415EB5670D, - 8B83FD1FA65C4103DDE2EA9C, - 43D160D6ED038A7088AB3DEC, - 4B612CF023FAAAB715A7CE61, - 76CEAA7DA1188C7BA85E9AD4, ); name = buttons; sourceTree = ""; }; - 897AD2913E5E4B03E0FA59F4 = {isa = PBXGroup; children = ( - 45AEBBCAC5AEBF62F00C26B2, - 115DD24D8087A0F9DEDFE56A, - 8A9C5EBA0F19F7979A38DDF0, - C12A4B017FACBA4EC31EA7CF, - D8CB941CF4128105B5FA76FD, - 63217D136190E7F6D1D7D4B5, - 298F762E40199B266A9E2BFC, - BFF3AE3A9F6BB64BE5616A50, - 26FB1EB0E5333AFEB5A9C673, - E7AC5DB63FE9C67DA227E2D9, - B2324576FF886CB84C45CC49, - 2DCE43708C0681747EDD7D71, - 5A8B09391BEE95EFE335F7EE, - 02F93E26C18DF960E7F84C58, ); name = positioning; sourceTree = ""; }; - EE06F0065901763ED2B9DA8F = {isa = PBXGroup; children = ( - 48914D8EF53DF4F467B5C38E, - 19CF04AE6B9BA0BF4B673644, - 3A0905D5A44682BA32E890B5, - 34E24767484BE14AA957A1CB, - F40EB47EEC8830E90B51887A, - 1B5C5E960E7409E889F78A02, - 52143236E07D91EB0AF4C7BC, - 34D309D5E22BA0FF12D2FEE7, - D0C3247AC5F5E17108E67EA5, - 2A9C48E02F347508B60E1E21, - 07AB7FDD7580231858DA3BD3, - 7E2B039E35B63D564CB0E12B, - 7A223F4215B0F750291066C3, - 0B3E8AF5DD78B8C46461633D, - 5C5EA791F21CA31804DBD014, ); name = drawables; sourceTree = ""; }; - 2677AC3B7C1F7C3B985FD692 = {isa = PBXGroup; children = ( - 2D5C31D2E08FE74B61101250, - 13BE2012758BD5A811FB1619, - 2C16FFCFBF61CF478520019E, - AC61D2A968CDA510B480DC8D, - 846D8BE3FE17967539E883C3, - 2E22793041EE56845DCD02A9, - B9686DBC8D800831E3CEC46C, - E87F503108182FD43982C45D, - DF78C17F0D24AB45003D96BC, - 18C27047735CAAD217F9C7CF, - 6187479B8B75C129BEFF9CF3, - 44A7BA2DD53EE355E052627B, - 550ACC8080B604CACF4A1327, - 6CEDDB70061CF81C7ADCA315, ); name = properties; sourceTree = ""; }; - 8990AF2A8F1384EAA27C085F = {isa = PBXGroup; children = ( + CD44E7B93243D911BD21D5CF = {isa = PBXGroup; children = ( FB80193BD95C440867B71614, 58DBF3229DF035E3FDE0DD96, 5BB8C184757E8472A0DBC655, @@ -1802,48 +1713,40 @@ 3F97F503656083301FF92E9A, 31706C2C6BC3F1FE61C6F336, 81A990BB88C606DFA9303366, ); name = lookandfeel; sourceTree = ""; }; - 6D3969CCF4EF5BD6940299E6 = {isa = PBXGroup; children = ( - 85929AE1240EF7396488E6EF, - 1E02F37ED1CED5CE1DDE07A0, - 7328E44FE859DD15EC2CE03A, - 34A5918D9A6D9E594FDDA424, - 515A303B1DE0FFD73F905EC7, - C8F142A5E2D13E72F99E219E, - CFC4CBAAADA0714B6334AB82, - A770DBBE0DD8D1D33450AB3D, - 7793AAB87CA8422BEB1D2786, - 32600FBC59D4D1081295E262, - 5221FCE051C50A62D61AB705, - 64CB953C4710E1182A72BA47, - 42D0E88CB303E30747CE24FE, - B1CF51AE63BB5DEBECD47875, - 33E8C12F554677E58F4BAE77, - 496C15C1B88544F6B30707D1, - 5B0E1920431F1047B1306B7D, - 2FA12C63BC0BD2C8DF3B03CB, - D4C3B2CECDA6BE1056EB21E6, - CD8DB8D0560BACDD3845F550, - 9481495E00E43EBBCF41D165, - D7EF1A8F35C7DA552BC9AD32, ); name = filebrowser; sourceTree = ""; }; - 82441657EFB9BB5DEBE86CCF = {isa = PBXGroup; children = ( - 17A622FB24C67AF413278C9D, - EF26FBEF648444F597EED4D9, - 4166F8C587E680C19CDB28D2, - 292937C4EBBA8D66231DEF1E, - 858D95EA823FCD1DBFBC4E96, - DE62CAD14A6EA0B6F66E2B9A, - 0A4BDBC90AD26454FF1F992A, - 54D12DFAAC0B8DA6E394204C, - 7219E995BF8937AA13EF0937, ); name = commands; sourceTree = ""; }; - E268D6E2AAB12B20D826CC5C = {isa = PBXGroup; children = ( + 4CF448A76997972AA7E2541B = {isa = PBXGroup; children = ( + DFB53C51F58D5F2CC3B488C9, + 3947CE32DD0E2EF74A9A5685, + D5B2347B8869A49762221315, + 5786743BB354833AD3E7C941, + E8591ABA5B7B62C30D83359C, + 452DA077C32F269A990CAF7F, ); name = menus; sourceTree = ""; }; + 67A74E16A0A62A4AC8459371 = {isa = PBXGroup; children = ( 679F43697B35F986EA2CAE00, 305C4EC192FB709CAA24530E, E5ADA9D2394B8B8C38431782, 9DFB1207084A2C2E0C53DB62, ); name = misc; sourceTree = ""; }; - D951574DD75B51FCEC27319C = {isa = PBXGroup; children = ( - F193B593463CBEA3B4F399C1, - EE10729725D82DBAF10420A9, ); name = application; sourceTree = ""; }; - 3EBD4832DE0F6F063F1044BA = {isa = PBXGroup; children = ( + 07D1770E88FE8886FF649937 = {isa = PBXGroup; children = ( + A612D2AEB82CA6769747CFF8, + 00F105203610541906FA031C, + A4C85C1FBBAEF5CD869B481A, + 21AA213CE75E3291949C6CBB, + C8516C1E40F21AF2F48EE246, + 90794FCA3ACFCE9FF934CFCA, + 7A55A7E6495A10FE553E75EB, + ED7B6E0CCAABFFD95483A5A1, + 2570C4274F677D5F73074430, + B3F638A9960D94D4E38C3EE5, + B4FEFA79560682768177D629, + B3E9F31A38FEE09FFEB0E997, + FA5389B4B4B922397A55CB60, + F49F1A69A3B46150C57557D0, + AE3CFB79C6A02BB12EB0A2BA, + 67B7C5D013D32150AA632AFE, + F4E9F80E7F85608F4A5AB58F, + 1ADF350761EB5629DF148F35, + F4ABBA594FA6BC2FBEDD398F, + F62BBC1A8B1C678801A0418F, ); name = mouse; sourceTree = ""; }; + CE5247481F8388E89683477B = {isa = PBXGroup; children = ( 3CD7992BECDBC3ABC6BF20EC, CF7E9C84229F57D36F3F121D, AE7A50472A120B0FCD6941E3, @@ -1860,25 +1763,102 @@ 29270807EE1FFA28E8B97173, 6BCF17B2983BB7D7DF91CA8F, F399C5718D31B61C2204231D, ); name = native; sourceTree = ""; }; + F821C5A6C12ED59BB9FFA44C = {isa = PBXGroup; children = ( + 45AEBBCAC5AEBF62F00C26B2, + 115DD24D8087A0F9DEDFE56A, + 8A9C5EBA0F19F7979A38DDF0, + C12A4B017FACBA4EC31EA7CF, + D8CB941CF4128105B5FA76FD, + 63217D136190E7F6D1D7D4B5, + 298F762E40199B266A9E2BFC, + BFF3AE3A9F6BB64BE5616A50, + 26FB1EB0E5333AFEB5A9C673, + E7AC5DB63FE9C67DA227E2D9, + B2324576FF886CB84C45CC49, + 2DCE43708C0681747EDD7D71, + 5A8B09391BEE95EFE335F7EE, + 02F93E26C18DF960E7F84C58, ); name = positioning; sourceTree = ""; }; + 813E8BF63ADFB60149D6D3A7 = {isa = PBXGroup; children = ( + 2D5C31D2E08FE74B61101250, + 13BE2012758BD5A811FB1619, + 2C16FFCFBF61CF478520019E, + AC61D2A968CDA510B480DC8D, + 846D8BE3FE17967539E883C3, + 2E22793041EE56845DCD02A9, + B9686DBC8D800831E3CEC46C, + E87F503108182FD43982C45D, + DF78C17F0D24AB45003D96BC, + 18C27047735CAAD217F9C7CF, + 6187479B8B75C129BEFF9CF3, + 44A7BA2DD53EE355E052627B, + 550ACC8080B604CACF4A1327, + 6CEDDB70061CF81C7ADCA315, ); name = properties; sourceTree = ""; }; + 210D376321ABCF35A1FDA812 = {isa = PBXGroup; children = ( + B92FE036F9E2892A4E7BA7BF, + 0AD47AB335E576ACA9979911, + 692760FF53C119B0ADCEBC85, + 74965ED2CA35AFBE8CF98315, + 88B3C4FF9311F4797F9BDCCA, + D8D135DCCC6EF939F0CD2A26, + BB30BEBF839C3640BB28B3D1, + 43248265F0C0DFDCBF4CBBFB, + 86771CD55EEBF4DCD6B3EE1C, + 273F8B5CC164C605070744D7, + 443719DFD779BD07F5831148, + 40AA1B902D8D3CB54D860BBE, + 961694E31BDCEBFC65CC1796, + 85D5A35174B569C59CF2C7F3, + 7977C9703BF976B2CC300105, + A8B4A6DDE41B6826A72E1CC1, + 154C899287F20AFF9A47016E, + 2BDA963F7AA43162273A3224, + DB9BF231B5007FC6051A639E, + 84758DEDFF52B8A4A78DF410, + 58D8DA39709C9E4902C964BF, + 5BD03168178B05F7A6F1126A, + BA11889570DB5E67AD37DB90, + 2C1FCF64B8120D658E982254, + 8B5B75774474FCA544B1B2FD, + FF704E82ACB2DEB955F06B02, + CCAFCC6717B719157B251C1B, ); name = widgets; sourceTree = ""; }; + 13C5141296225242A3B3026D = {isa = PBXGroup; children = ( + 0AAFF309A3F53A79BD65A222, + 6EF4481E63CDB816C43CFE33, + 50F0CD4FF37A8BD224C4A696, + 9DE1DEB9CB034DBF7F1603BF, + FFC31B01BFA016D0D97EFFC1, + FFA5E5B817C46570A742F8DB, + CEB5926D26D476217426C3DC, + DF1900E8201A1BCCBC64AF00, + F860CDA9B50B6B178D431622, + 179021EB8CF93BAF69C822DA, + DF7FFD1509B205871099C5B7, + 8CA657F3BF721467B5EC9053, + 06A3571D29486CC63867E429, + C704CA2145896AAB100E6D1C, + 86FA92C698D7FA9BB526A62F, + B4BD3B842D678DD5C850A7AA, + D39E4EA15D8933D05802B88E, + 0070839D920C6E0890104E57, + BBFC02ADF6B29159C4E8C758, ); name = windows; sourceTree = ""; }; D2208A7A101585B74AA5C9EB = {isa = PBXGroup; children = ( - 83FB8583DA1B49CE63FD33E6, - 7E1DABFE3234865540CA3ABA, - 8F207CAF34524A39BAA9EEC1, - A439B5AB535FCD05D9635E47, - 9554444EAF47E14FB0E625E6, - 6D7115C8BBAFCEEDEF3B29A8, - A6B239F3F3ED96077D3ACFE5, - 4BCDD6827692F581AFD87F9A, - 897AD2913E5E4B03E0FA59F4, - EE06F0065901763ED2B9DA8F, - 2677AC3B7C1F7C3B985FD692, - 8990AF2A8F1384EAA27C085F, - 6D3969CCF4EF5BD6940299E6, - 82441657EFB9BB5DEBE86CCF, - E268D6E2AAB12B20D826CC5C, - D951574DD75B51FCEC27319C, - 3EBD4832DE0F6F063F1044BA, - 5132A84A1CFE138A30001C77, + 14036E5BB20F9B91CE588A6D, + CE4F071417E914EE0C29050F, + 03E007E3CFCF5C62E91D9B28, + EBB653557413A1E1B90D2280, + B1DC18EAAEA038ACF5504D45, + 3AC48E55C541B2FB79393A17, + 8FCA1F2EC8FD85E745A9CFE5, + 293A8F2A2A279CC380D3AE28, + CD44E7B93243D911BD21D5CF, + 4CF448A76997972AA7E2541B, + 67A74E16A0A62A4AC8459371, + 07D1770E88FE8886FF649937, + CE5247481F8388E89683477B, + F821C5A6C12ED59BB9FFA44C, + 813E8BF63ADFB60149D6D3A7, + 210D376321ABCF35A1FDA812, + 13C5141296225242A3B3026D, 8FF8814C6B322D670346712C, ); name = "juce_gui_basics"; sourceTree = ""; }; DE034CD3F8B6EEDDB5F6F31F = {isa = PBXGroup; children = ( 5B5CB42B086D6C224DAE0E6D, @@ -1940,7 +1920,6 @@ 53E1F867C97D508EA6B48200, 9CA7E3B97E045033F8697E73, D1A4618B6E803098E88C4BDB, - 0E18901E9C32415284BA768A, 3ACCA940E7DAAF1360518308, ); name = "juce_gui_extra"; sourceTree = ""; }; DA8FE3C7F864386E24D8CC2A = {isa = PBXGroup; children = ( 0690EECB6F2AB185DA0731CB, @@ -1956,20 +1935,20 @@ 68648549A04799D8AEE2B77B, ); name = "Juce Modules"; sourceTree = ""; }; 6B93BE35C7D2D1D27ADEFE23 = {isa = PBXGroup; children = ( 5349B0714A02B856B15B8FC5, - 06251F5E80644992958A3B61, - AE002D113A5E494C827E27FE, - CE3FB8659C598AA9C97F8387, - 67B176E3836E1CDE0701D21F, - 0D1C2E36AC03421206996124, - 3BBF7A3FFBA017A997B1F06F, - C0E9B3EDC77F5A822BE65F21, - 8BFDC490FA70E7A2BD762F2C, - 21A1CB994664ABEFC0765425, - 214E214858B30900A6574117, - A21D4A32B970D081ECF552F4, + C61C59FC15608FD1C65107F1, + E994D76CBE38D3E312B96C0D, + F79982408861D410209D50B2, + 8C2CBA5A6ABF034EF004B413, + EE4C7DA7A8DE67398031BBC1, + EDBFE4D2484526BA892CD7F3, + 2B3497004FE2487E7863DAE5, + 97DDD468D1B8D8B810EC0FDD, + 3BAA08E098FF4384E0950D01, + 35C20643C3468A0C45809D16, + CB919E222B28AB38228D080E, D93CBFE9E05B4DC324582F20, ); name = "Juce Library Code"; sourceTree = ""; }; 5C1EAE2AD9CCE2B4F31B3EA9 = {isa = PBXGroup; children = ( - 379B5157AC6495B253A2C832, + 7514987563C2700E7867FF98, 9FBD6E11D5668E77AF50973E, ); name = Resources; sourceTree = ""; }; E13EEBD9B7B8AE35C17CD559 = {isa = PBXGroup; children = ( 7926FFCD77E9709AED437153, @@ -1984,7 +1963,7 @@ 566D5E15DB1A5D46DDC9B861, 913C67AB487B1455B97E8A3E, ); name = Frameworks; sourceTree = ""; }; 396BE724B1AC489682B74278 = {isa = PBXGroup; children = ( - 13966A9213FDBB55FF26B12F, ); name = Products; sourceTree = ""; }; + AB7855931CA983F4EE039617, ); name = Products; sourceTree = ""; }; 937739BC97C6E6294CDCF171 = {isa = PBXGroup; children = ( AEB39FD252263E85F2FFE6BC, DA8FE3C7F864386E24D8CC2A, @@ -1992,7 +1971,7 @@ 5C1EAE2AD9CCE2B4F31B3EA9, E13EEBD9B7B8AE35C17CD559, 396BE724B1AC489682B74278, ); name = Source; sourceTree = ""; }; - 6B4A9DB0EFBFB70E9C96D694 = {isa = XCBuildConfiguration; buildSettings = { + 3B991DBD0B9EF35770D99DE0 = {isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -2010,10 +1989,10 @@ "JUCE_APP_VERSION_HEX=0x10000", ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.plist; INSTALL_PATH = "$(HOME)/Applications"; PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.MidiTest; }; name = Debug; }; - 882C0061E66EA99B23B90D15 = {isa = XCBuildConfiguration; buildSettings = { + 8508F29925B0BD0B7BFF3FF3 = {isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -2032,7 +2011,7 @@ GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.plist; INSTALL_PATH = "$(HOME)/Applications"; PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.MidiTest; }; name = Release; }; E12A8778C1F50489C01F266F = {isa = XCBuildConfiguration; buildSettings = { @@ -2075,29 +2054,30 @@ TARGETED_DEVICE_FAMILY = "1,2"; WARNING_CFLAGS = -Wreorder; ZERO_LINK = NO; }; name = Release; }; + AF76B951E8014014261613D6 = {isa = PBXTargetDependency; target = 68C4BE0E455A27D9A0CEB672; }; 33B4E927BEBC8696D1D2812E = {isa = XCConfigurationList; buildConfigurations = ( E12A8778C1F50489C01F266F, BBC1D92E610807090C266548, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - A097E9FC646D59572D329FA8 = {isa = XCConfigurationList; buildConfigurations = ( - 6B4A9DB0EFBFB70E9C96D694, - 882C0061E66EA99B23B90D15, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - A8F7668F69C4B750FDA5668F = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 9EEC5DC9E6376BF734D6A626 = {isa = XCConfigurationList; buildConfigurations = ( + 3B991DBD0B9EF35770D99DE0, + 8508F29925B0BD0B7BFF3FF3, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + A1114FDF6F871F83BAF3B6B8 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( B4EA7A34D4DFF81EF9616B34, ); runOnlyForDeploymentPostprocessing = 0; }; - 30B3B84DA95D5AFD0C2B618B = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 80C515E0387A6AF48C93D08C = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 94151FFFF4B5D4915D7A5215, F5137909CF5368EB77945BFB, - 88DE6F57C76D99EEC434D1B2, - 77692C39FD792A74F31B4879, - 8C273077D625F1912B04CFF6, - BE39B1C20CE31DADE9254A94, - DABE03E21DBF412FBF0DE749, - B6083C3B99FBBDC85D952058, - 04BFA0E97FB4A1B53C4100AB, - 888368E79422C87075ECD156, - B1197B3CBFC0607667805765, - 2454C388F07D82FFE7C44445, - 1E60E07B31292E9F087A00ED, ); runOnlyForDeploymentPostprocessing = 0; }; - 78AC5A7D3A226390D0A5CD45 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 6CAB4A9A42A545E0F1A9290B, + 0A9284E727E06691D8E7534E, + 69E9245B6DF6396ED05131C0, + 907F0B46CA8C930FCEF5760F, + 4556DD61E9E784BA1BE9DE09, + A2D6A1EB27B589224C6D6622, + 97FA74A4F21962DA4C1D62C7, + 6A81989C90CD1BE375987C9A, + 167C296FF5C793CBA3045F92, + C35947426F4AD4600EA3074D, + 68E7F01E8C655B668D220D34, ); runOnlyForDeploymentPostprocessing = 0; }; + AADBC72B2C7030FAD1D8CAF8 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( 766D6C7C22B520C9B4FE4BFF, 6635F9B102B7D8BC31732833, 61FB52938D612F9865CBF79F, @@ -2109,11 +2089,11 @@ 2276632F4A0CAA61F25AFCB2, 3D7C47402EAF5E8BE1C72E65, 029CD2478E773EB13C1D4D87, ); runOnlyForDeploymentPostprocessing = 0; }; - D2CD7EC0BA82072669ED8EAA = {isa = PBXNativeTarget; buildConfigurationList = A097E9FC646D59572D329FA8; buildPhases = ( - A8F7668F69C4B750FDA5668F, - 30B3B84DA95D5AFD0C2B618B, - 78AC5A7D3A226390D0A5CD45, ); buildRules = ( ); dependencies = ( ); name = MidiTest; productName = MidiTest; productReference = 13966A9213FDBB55FF26B12F; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; - 08CC3758D6C29BD07C86A240 = {isa = PBXProject; buildConfigurationList = 33B4E927BEBC8696D1D2812E; attributes = { LastUpgradeCheck = 0440; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 937739BC97C6E6294CDCF171; projectDirPath = ""; projectRoot = ""; targets = ( D2CD7EC0BA82072669ED8EAA ); }; + 68C4BE0E455A27D9A0CEB672 = {isa = PBXNativeTarget; buildConfigurationList = 9EEC5DC9E6376BF734D6A626; buildPhases = ( + A1114FDF6F871F83BAF3B6B8, + 80C515E0387A6AF48C93D08C, + AADBC72B2C7030FAD1D8CAF8, ); buildRules = ( ); dependencies = ( ); name = "MidiTest (App)"; productName = MidiTest; productReference = AB7855931CA983F4EE039617; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; + 08CC3758D6C29BD07C86A240 = {isa = PBXProject; buildConfigurationList = 33B4E927BEBC8696D1D2812E; attributes = { LastUpgradeCheck = 0440; TargetAttributes = { 68C4BE0E455A27D9A0CEB672 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 937739BC97C6E6294CDCF171; projectDirPath = ""; projectRoot = ""; targets = (68C4BE0E455A27D9A0CEB672); }; }; rootObject = 08CC3758D6C29BD07C86A240; } diff --git a/examples/MidiTest/JuceLibraryCode/AppConfig.h b/examples/MidiTest/JuceLibraryCode/AppConfig.h index 4bc16affad..d0526bcbb6 100644 --- a/examples/MidiTest/JuceLibraryCode/AppConfig.h +++ b/examples/MidiTest/JuceLibraryCode/AppConfig.h @@ -4,8 +4,8 @@ project - if you alter its contents, your changes may be overwritten! There's a section below where you can add your own custom code safely, and the - Introjucer will preserve the contents of that block, but the best way to change - any of these definitions is by using the Introjucer's project settings. + Projucer will preserve the contents of that block, but the best way to change + any of these definitions is by using the Projucer's project settings. Any commented-out settings will assume their default values. @@ -17,7 +17,7 @@ //============================================================================== // [BEGIN_USER_CODE_SECTION] -// (You can add your own code in this section, and the Introjucer will not overwrite it) +// (You can add your own code in this section, and the Projucer will not overwrite it) // [END_USER_CODE_SECTION] @@ -36,9 +36,15 @@ //============================================================================== #ifndef JUCE_STANDALONE_APPLICATION - #define JUCE_STANDALONE_APPLICATION 1 + #ifdef JucePlugin_Build_Standalone + #define JUCE_STANDALONE_APPLICATION JucePlugin_Build_Standalone + #else + #define JUCE_STANDALONE_APPLICATION 1 + #endif #endif +#define JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED 1 + //============================================================================== // juce_audio_devices flags: diff --git a/examples/MidiTest/JuceLibraryCode/JuceHeader.h b/examples/MidiTest/JuceLibraryCode/JuceHeader.h index 3b762e041c..d0075dc86c 100644 --- a/examples/MidiTest/JuceLibraryCode/JuceHeader.h +++ b/examples/MidiTest/JuceLibraryCode/JuceHeader.h @@ -14,17 +14,19 @@ #define __APPHEADERFILE_WHE0AY__ #include "AppConfig.h" -#include "modules/juce_audio_basics/juce_audio_basics.h" -#include "modules/juce_audio_devices/juce_audio_devices.h" -#include "modules/juce_audio_formats/juce_audio_formats.h" -#include "modules/juce_audio_processors/juce_audio_processors.h" -#include "modules/juce_audio_utils/juce_audio_utils.h" -#include "modules/juce_core/juce_core.h" -#include "modules/juce_data_structures/juce_data_structures.h" -#include "modules/juce_events/juce_events.h" -#include "modules/juce_graphics/juce_graphics.h" -#include "modules/juce_gui_basics/juce_gui_basics.h" -#include "modules/juce_gui_extra/juce_gui_extra.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + #if ! DONT_SET_USING_JUCE_NAMESPACE // If your code uses a lot of JUCE classes, then this will obviously save you diff --git a/examples/MidiTest/JuceLibraryCode/ReadMe.txt b/examples/MidiTest/JuceLibraryCode/ReadMe.txt index f6c3564e99..091a5aa6eb 100644 --- a/examples/MidiTest/JuceLibraryCode/ReadMe.txt +++ b/examples/MidiTest/JuceLibraryCode/ReadMe.txt @@ -2,11 +2,11 @@ Important Note!! ================ -The purpose of this folder is to contain files that are auto-generated by the Introjucer, +The purpose of this folder is to contain files that are auto-generated by the Projucer, and ALL files in this folder will be mercilessly DELETED and completely re-written whenever -the Introjucer saves your project. +the Projucer saves your project. Therefore, it's a bad idea to make any manual changes to the files in here, or to put any of your own files in here if you don't want to lose them. (Of course you may choose to add the folder's contents to your version-control system so that you can re-merge your own -modifications after the Introjucer has saved its changes). +modifications after the Projucer has saved its changes). diff --git a/examples/MidiTest/JuceLibraryCode/juce_audio_basics.cpp b/examples/MidiTest/JuceLibraryCode/juce_audio_basics.cpp new file mode 100644 index 0000000000..418694873c --- /dev/null +++ b/examples/MidiTest/JuceLibraryCode/juce_audio_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MidiTest/JuceLibraryCode/juce_audio_basics.mm b/examples/MidiTest/JuceLibraryCode/juce_audio_basics.mm new file mode 100644 index 0000000000..e0e6c577cc --- /dev/null +++ b/examples/MidiTest/JuceLibraryCode/juce_audio_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MidiTest/JuceLibraryCode/juce_audio_devices.cpp b/examples/MidiTest/JuceLibraryCode/juce_audio_devices.cpp new file mode 100644 index 0000000000..fb5c2219d7 --- /dev/null +++ b/examples/MidiTest/JuceLibraryCode/juce_audio_devices.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MidiTest/JuceLibraryCode/juce_audio_devices.mm b/examples/MidiTest/JuceLibraryCode/juce_audio_devices.mm new file mode 100644 index 0000000000..e58b67ea49 --- /dev/null +++ b/examples/MidiTest/JuceLibraryCode/juce_audio_devices.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MidiTest/JuceLibraryCode/juce_audio_formats.cpp b/examples/MidiTest/JuceLibraryCode/juce_audio_formats.cpp new file mode 100644 index 0000000000..a3c61170eb --- /dev/null +++ b/examples/MidiTest/JuceLibraryCode/juce_audio_formats.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MidiTest/JuceLibraryCode/juce_audio_formats.mm b/examples/MidiTest/JuceLibraryCode/juce_audio_formats.mm new file mode 100644 index 0000000000..f325b8fb67 --- /dev/null +++ b/examples/MidiTest/JuceLibraryCode/juce_audio_formats.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MidiTest/JuceLibraryCode/juce_audio_processors.cpp b/examples/MidiTest/JuceLibraryCode/juce_audio_processors.cpp new file mode 100644 index 0000000000..bfe172edd0 --- /dev/null +++ b/examples/MidiTest/JuceLibraryCode/juce_audio_processors.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MidiTest/JuceLibraryCode/juce_audio_processors.mm b/examples/MidiTest/JuceLibraryCode/juce_audio_processors.mm new file mode 100644 index 0000000000..b80ae9017f --- /dev/null +++ b/examples/MidiTest/JuceLibraryCode/juce_audio_processors.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MidiTest/JuceLibraryCode/juce_audio_utils.cpp b/examples/MidiTest/JuceLibraryCode/juce_audio_utils.cpp new file mode 100644 index 0000000000..97bd2c568c --- /dev/null +++ b/examples/MidiTest/JuceLibraryCode/juce_audio_utils.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MidiTest/JuceLibraryCode/juce_audio_utils.mm b/examples/MidiTest/JuceLibraryCode/juce_audio_utils.mm new file mode 100644 index 0000000000..8eae7c6e2f --- /dev/null +++ b/examples/MidiTest/JuceLibraryCode/juce_audio_utils.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MidiTest/JuceLibraryCode/juce_core.cpp b/examples/MidiTest/JuceLibraryCode/juce_core.cpp new file mode 100644 index 0000000000..d0ce1636f0 --- /dev/null +++ b/examples/MidiTest/JuceLibraryCode/juce_core.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MidiTest/JuceLibraryCode/juce_core.mm b/examples/MidiTest/JuceLibraryCode/juce_core.mm new file mode 100644 index 0000000000..72b10bf817 --- /dev/null +++ b/examples/MidiTest/JuceLibraryCode/juce_core.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MidiTest/JuceLibraryCode/juce_data_structures.cpp b/examples/MidiTest/JuceLibraryCode/juce_data_structures.cpp new file mode 100644 index 0000000000..9315aa1686 --- /dev/null +++ b/examples/MidiTest/JuceLibraryCode/juce_data_structures.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MidiTest/JuceLibraryCode/juce_data_structures.mm b/examples/MidiTest/JuceLibraryCode/juce_data_structures.mm new file mode 100644 index 0000000000..695ec43925 --- /dev/null +++ b/examples/MidiTest/JuceLibraryCode/juce_data_structures.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MidiTest/JuceLibraryCode/juce_events.cpp b/examples/MidiTest/JuceLibraryCode/juce_events.cpp new file mode 100644 index 0000000000..1bba110a97 --- /dev/null +++ b/examples/MidiTest/JuceLibraryCode/juce_events.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MidiTest/JuceLibraryCode/juce_events.mm b/examples/MidiTest/JuceLibraryCode/juce_events.mm new file mode 100644 index 0000000000..4cc34fc401 --- /dev/null +++ b/examples/MidiTest/JuceLibraryCode/juce_events.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MidiTest/JuceLibraryCode/juce_graphics.cpp b/examples/MidiTest/JuceLibraryCode/juce_graphics.cpp new file mode 100644 index 0000000000..319c76de0e --- /dev/null +++ b/examples/MidiTest/JuceLibraryCode/juce_graphics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MidiTest/JuceLibraryCode/juce_graphics.mm b/examples/MidiTest/JuceLibraryCode/juce_graphics.mm new file mode 100644 index 0000000000..b28e6dd056 --- /dev/null +++ b/examples/MidiTest/JuceLibraryCode/juce_graphics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MidiTest/JuceLibraryCode/juce_gui_basics.cpp b/examples/MidiTest/JuceLibraryCode/juce_gui_basics.cpp new file mode 100644 index 0000000000..216c76bb05 --- /dev/null +++ b/examples/MidiTest/JuceLibraryCode/juce_gui_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MidiTest/JuceLibraryCode/juce_gui_basics.mm b/examples/MidiTest/JuceLibraryCode/juce_gui_basics.mm new file mode 100644 index 0000000000..6a9726fa5f --- /dev/null +++ b/examples/MidiTest/JuceLibraryCode/juce_gui_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MidiTest/JuceLibraryCode/juce_gui_extra.cpp b/examples/MidiTest/JuceLibraryCode/juce_gui_extra.cpp new file mode 100644 index 0000000000..7226e19833 --- /dev/null +++ b/examples/MidiTest/JuceLibraryCode/juce_gui_extra.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MidiTest/JuceLibraryCode/juce_gui_extra.mm b/examples/MidiTest/JuceLibraryCode/juce_gui_extra.mm new file mode 100644 index 0000000000..c9b6c3bfc6 --- /dev/null +++ b/examples/MidiTest/JuceLibraryCode/juce_gui_extra.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/MidiTest/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h b/examples/MidiTest/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h deleted file mode 100644 index 9befea8142..0000000000 --- a/examples/MidiTest/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_basics/juce_audio_basics.h" diff --git a/examples/MidiTest/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h b/examples/MidiTest/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h deleted file mode 100644 index eba6d3a9e5..0000000000 --- a/examples/MidiTest/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_devices/juce_audio_devices.h" diff --git a/examples/MidiTest/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h b/examples/MidiTest/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h deleted file mode 100644 index 4629b0ef2c..0000000000 --- a/examples/MidiTest/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_formats/juce_audio_formats.h" diff --git a/examples/MidiTest/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h b/examples/MidiTest/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h deleted file mode 100644 index 7d4583dbf8..0000000000 --- a/examples/MidiTest/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_processors/juce_audio_processors.h" diff --git a/examples/MidiTest/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h b/examples/MidiTest/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h deleted file mode 100644 index bb997d30d3..0000000000 --- a/examples/MidiTest/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_utils/juce_audio_utils.h" diff --git a/examples/MidiTest/JuceLibraryCode/modules/juce_core/juce_core.h b/examples/MidiTest/JuceLibraryCode/modules/juce_core/juce_core.h deleted file mode 100644 index 06e88f9352..0000000000 --- a/examples/MidiTest/JuceLibraryCode/modules/juce_core/juce_core.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_core/juce_core.h" diff --git a/examples/MidiTest/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h b/examples/MidiTest/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h deleted file mode 100644 index 9d814fd953..0000000000 --- a/examples/MidiTest/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_data_structures/juce_data_structures.h" diff --git a/examples/MidiTest/JuceLibraryCode/modules/juce_events/juce_events.h b/examples/MidiTest/JuceLibraryCode/modules/juce_events/juce_events.h deleted file mode 100644 index 509b1df8d2..0000000000 --- a/examples/MidiTest/JuceLibraryCode/modules/juce_events/juce_events.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_events/juce_events.h" diff --git a/examples/MidiTest/JuceLibraryCode/modules/juce_graphics/juce_graphics.h b/examples/MidiTest/JuceLibraryCode/modules/juce_graphics/juce_graphics.h deleted file mode 100644 index 28edbf35e3..0000000000 --- a/examples/MidiTest/JuceLibraryCode/modules/juce_graphics/juce_graphics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_graphics/juce_graphics.h" diff --git a/examples/MidiTest/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h b/examples/MidiTest/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h deleted file mode 100644 index 81ad4b7297..0000000000 --- a/examples/MidiTest/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_gui_basics/juce_gui_basics.h" diff --git a/examples/MidiTest/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h b/examples/MidiTest/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h deleted file mode 100644 index 5c9b7a96b5..0000000000 --- a/examples/MidiTest/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_gui_extra/juce_gui_extra.h" diff --git a/examples/MidiTest/MidiTest.jucer b/examples/MidiTest/MidiTest.jucer index bce1e12867..0f3ba9e31a 100644 --- a/examples/MidiTest/MidiTest.jucer +++ b/examples/MidiTest/MidiTest.jucer @@ -2,7 +2,7 @@ + jucerVersion="4.2.0"> @@ -78,7 +78,7 @@ - + @@ -104,7 +104,9 @@ androidKeyStore="${user.home}/.android/debug.keystore" androidKeyStorePass="android" androidKeyAlias="androiddebugkey" androidKeyAliasPass="android" androidCpp11="1" androidScreenOrientation="unspecified" targetFolder="Builds/AndroidStudio" - androidSDKPath="" androidNDKPath="" androidMicNeeded="1"> + androidSDKPath="" androidNDKPath="" androidMicNeeded="1" gradleVersion="2.10" + gradleWrapperVersion="0.6.0-beta5" gradleToolchain="clang" gradleToolchainVersion="3.6" + buildToolsVersion="23.0.1"> diff --git a/examples/MidiTest/Source/Main.cpp b/examples/MidiTest/Source/Main.cpp index eeb0816bfc..67e4b3688c 100644 --- a/examples/MidiTest/Source/Main.cpp +++ b/examples/MidiTest/Source/Main.cpp @@ -29,14 +29,14 @@ class MidiTestApplication : public JUCEApplication { public: - //========================================================================== + //============================================================================== MidiTestApplication() {} const String getApplicationName() override { return ProjectInfo::projectName; } const String getApplicationVersion() override { return ProjectInfo::versionString; } bool moreThanOneInstanceAllowed() override { return true; } - //========================================================================== + //============================================================================== void initialise (const String& commandLine) override { // This method is where you should put your application's initialisation code.. @@ -51,7 +51,7 @@ public: mainWindow = nullptr; // (deletes our window) } - //========================================================================== + //============================================================================== void systemRequestedQuit() override { // This is called when the app is being asked to quit: you can ignore this @@ -67,7 +67,7 @@ public: ignoreUnused (commandLine); } - //========================================================================== + //============================================================================== /* This class implements the desktop window that contains an instance of our MainContentComponent class. diff --git a/examples/MidiTest/Source/MainComponent.cpp b/examples/MidiTest/Source/MainComponent.cpp old mode 100755 new mode 100644 index 4ee22273a2..5cd5704059 --- a/examples/MidiTest/Source/MainComponent.cpp +++ b/examples/MidiTest/Source/MainComponent.cpp @@ -48,7 +48,7 @@ class MidiDeviceListBox : public ListBox, private ListBoxModel { public: - //========================================================================== + //============================================================================== MidiDeviceListBox (const String& name, MainContentComponent& contentComponent, bool isInputDeviceList) @@ -61,14 +61,14 @@ public: setClickingTogglesRowSelection (true); } - //========================================================================== + //============================================================================== int getNumRows() override { return isInput ? parent.getNumMidiInputs() : parent.getNumMidiOutputs(); } - //========================================================================== + //============================================================================== void paintListBoxItem (int rowNumber, Graphics &g, int width, int height, bool rowIsSelected) override { @@ -97,7 +97,7 @@ public: } } - //========================================================================== + //============================================================================== void selectedRowsChanged (int) override { SparseSet newSelectedItems = getSelectedRows(); @@ -119,7 +119,7 @@ public: } } - //========================================================================== + //============================================================================== void syncSelectedItemsWithDeviceList (const ReferenceCountedArray& midiDevices) { SparseSet selectedRows; @@ -133,7 +133,7 @@ public: } private: - //========================================================================== + //============================================================================== MainContentComponent& parent; bool isInput; SparseSet lastSelectedItems; diff --git a/examples/MidiTest/Source/MainComponent.h b/examples/MidiTest/Source/MainComponent.h index 2c349619e5..904ca8365f 100644 --- a/examples/MidiTest/Source/MainComponent.h +++ b/examples/MidiTest/Source/MainComponent.h @@ -41,11 +41,11 @@ class MainContentComponent : public Component, private ButtonListener { public: - //========================================================================== + //============================================================================== MainContentComponent (); ~MainContentComponent(); - //========================================================================== + //============================================================================== void timerCallback () override; void handleNoteOn (MidiKeyboardState*, int midiChannel, int midiNoteNumber, float velocity) override; void handleNoteOff (MidiKeyboardState*, int midiChannel, int midiNoteNumber, float velocity) override; @@ -63,20 +63,20 @@ public: ReferenceCountedObjectPtr getMidiDevice (int index, bool isInputDevice) const noexcept; private: - //========================================================================== + //============================================================================== void handleIncomingMidiMessage (MidiInput *source, const MidiMessage &message) override; void sendToOutputs(const MidiMessage& msg); - //========================================================================== + //============================================================================== bool hasDeviceListChanged (const StringArray& deviceNames, bool isInputDevice); ReferenceCountedObjectPtr findDeviceWithName (const String& name, bool isInputDevice) const; void closeUnpluggedDevices (StringArray& currentlyPluggedInDevices, bool isInputDevice); void updateDeviceList (bool isInputDeviceList); - //========================================================================== + //============================================================================== void addLabelAndSetStyle (Label& label); - //========================================================================== + //============================================================================== Label midiInputLabel; Label midiOutputLabel; Label incomingMidiLabel; @@ -92,7 +92,7 @@ private: ReferenceCountedArray midiInputs; ReferenceCountedArray midiOutputs; - //========================================================================== + //============================================================================== JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainContentComponent) }; diff --git a/examples/NetworkGraphicsDemo/Builds/LinuxMakefile/Makefile b/examples/NetworkGraphicsDemo/Builds/LinuxMakefile/Makefile index e8ee94ee54..49f701d5b4 100644 --- a/examples/NetworkGraphicsDemo/Builds/LinuxMakefile/Makefile +++ b/examples/NetworkGraphicsDemo/Builds/LinuxMakefile/Makefile @@ -1,5 +1,5 @@ -# Automatically generated makefile, created by the Introjucer -# Don't edit this file! Your changes will be overwritten when you re-save the Introjucer project! +# Automatically generated makefile, created by the Projucer +# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project! # (this disables dependency generation if multiple architectures are set) DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) @@ -51,20 +51,20 @@ endif OBJECTS := \ $(OBJDIR)/Main_90ebc5c2.o \ $(OBJDIR)/BinaryData_ce4232d4.o \ - $(OBJDIR)/juce_audio_basics_399a455e.o \ - $(OBJDIR)/juce_audio_devices_c1c9ba9c.o \ - $(OBJDIR)/juce_audio_formats_f04b043c.o \ - $(OBJDIR)/juce_audio_processors_eb9ae116.o \ - $(OBJDIR)/juce_audio_utils_cf18005c.o \ - $(OBJDIR)/juce_core_1ee54a40.o \ - $(OBJDIR)/juce_cryptography_3b1f489a.o \ - $(OBJDIR)/juce_data_structures_84790dfc.o \ - $(OBJDIR)/juce_events_584896b4.o \ - $(OBJDIR)/juce_graphics_f9afc18.o \ - $(OBJDIR)/juce_gui_basics_90929794.o \ - $(OBJDIR)/juce_gui_extra_b81d9e1c.o \ - $(OBJDIR)/juce_opengl_1890bee0.o \ - $(OBJDIR)/juce_osc_72ef0f3c.o \ + $(OBJDIR)/juce_audio_basics_6b797ca1.o \ + $(OBJDIR)/juce_audio_devices_a742c38b.o \ + $(OBJDIR)/juce_audio_formats_5a29c68a.o \ + $(OBJDIR)/juce_audio_processors_dea3173d.o \ + $(OBJDIR)/juce_audio_utils_c7eb679f.o \ + $(OBJDIR)/juce_core_75b14332.o \ + $(OBJDIR)/juce_cryptography_6de2ebff.o \ + $(OBJDIR)/juce_data_structures_72d3da2c.o \ + $(OBJDIR)/juce_events_d2be882c.o \ + $(OBJDIR)/juce_graphics_9c18891e.o \ + $(OBJDIR)/juce_gui_basics_8a6da59c.o \ + $(OBJDIR)/juce_gui_extra_4a026f23.o \ + $(OBJDIR)/juce_opengl_cd70b4c2.o \ + $(OBJDIR)/juce_osc_be4cee16.o \ .PHONY: clean @@ -93,72 +93,72 @@ $(OBJDIR)/BinaryData_ce4232d4.o: ../../JuceLibraryCode/BinaryData.cpp @echo "Compiling BinaryData.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_basics_399a455e.o: ../../../../modules/juce_audio_basics/juce_audio_basics.cpp +$(OBJDIR)/juce_audio_basics_6b797ca1.o: ../../JuceLibraryCode/juce_audio_basics.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_audio_basics.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_devices_c1c9ba9c.o: ../../../../modules/juce_audio_devices/juce_audio_devices.cpp +$(OBJDIR)/juce_audio_devices_a742c38b.o: ../../JuceLibraryCode/juce_audio_devices.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_audio_devices.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_formats_f04b043c.o: ../../../../modules/juce_audio_formats/juce_audio_formats.cpp +$(OBJDIR)/juce_audio_formats_5a29c68a.o: ../../JuceLibraryCode/juce_audio_formats.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_audio_formats.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_processors_eb9ae116.o: ../../../../modules/juce_audio_processors/juce_audio_processors.cpp +$(OBJDIR)/juce_audio_processors_dea3173d.o: ../../JuceLibraryCode/juce_audio_processors.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_audio_processors.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_utils_cf18005c.o: ../../../../modules/juce_audio_utils/juce_audio_utils.cpp +$(OBJDIR)/juce_audio_utils_c7eb679f.o: ../../JuceLibraryCode/juce_audio_utils.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_audio_utils.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_core_1ee54a40.o: ../../../../modules/juce_core/juce_core.cpp +$(OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_core.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_cryptography_3b1f489a.o: ../../../../modules/juce_cryptography/juce_cryptography.cpp +$(OBJDIR)/juce_cryptography_6de2ebff.o: ../../JuceLibraryCode/juce_cryptography.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_cryptography.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_data_structures_84790dfc.o: ../../../../modules/juce_data_structures/juce_data_structures.cpp +$(OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_data_structures.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_events_584896b4.o: ../../../../modules/juce_events/juce_events.cpp +$(OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_events.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_graphics_f9afc18.o: ../../../../modules/juce_graphics/juce_graphics.cpp +$(OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_graphics.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_basics_90929794.o: ../../../../modules/juce_gui_basics/juce_gui_basics.cpp +$(OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_gui_basics.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_extra_b81d9e1c.o: ../../../../modules/juce_gui_extra/juce_gui_extra.cpp +$(OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_gui_extra.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_opengl_1890bee0.o: ../../../../modules/juce_opengl/juce_opengl.cpp +$(OBJDIR)/juce_opengl_cd70b4c2.o: ../../JuceLibraryCode/juce_opengl.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_opengl.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_osc_72ef0f3c.o: ../../../../modules/juce_osc/juce_osc.cpp +$(OBJDIR)/juce_osc_be4cee16.o: ../../JuceLibraryCode/juce_osc.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_osc.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" diff --git a/examples/NetworkGraphicsDemo/Builds/MacOSX/Icon.icns b/examples/NetworkGraphicsDemo/Builds/MacOSX/Icon.icns index efb55fc0040303a5e9be058d176653a8a10a2e88..64566582b2fa7109c5409816ee0cbb78564cd94a 100644 GIT binary patch literal 44839 zcmd3NWm{D57w#~0Bhrnuh_rNfH%NE4fOLaMNQrcJOLsTYCEfh!?igmy_J5u89S$#M zcr(w6z3REwy=~2%+(4k;47TQMe84wlq^hzECK?GE2n52Ela*8lfxy7OU=Rut@OA4o z{|tN~xQWYYq5yw>C>GyAAS#fYq?o2x=IOd;s=?qdo-N~bUx9~#?Ci_}dijD(crao} z49PBqV1xsW3u7z{)4c7eo{p?B*}P19AY}v$yu8(hb|IY{(-kB=rLl) zUE~KHQ#9z8oE~v~?pgXC$9SSB)L}T{|DS!(MimKw#AUDLn24d!*Xr$w?gtjYU*<89 znuF3Pa@g`9lu__lGRqv643;lCvjJjy9^SJ;2ja#T=UTkFkuxNK}#? zVV5#B??)D=**5jZK>JqZ>gHlI^;p`MSx`(&LcHOubh^^0pz`F5OTE{i3Ko^6XOs>I zsAWF9=6^4*e^WtjRK>rPX^fa#oV!Bk-nNi?tQOVr^f4!C_BStHF+ZNDJSfPo|D|mU zS6$ZE%si-^33jG1J_&@A_#Xcf0Dd& zLdAEc@hW~i5U$x5b;9KDN|);5D5yxHI|DEaq#?6ywxQfo40Uk%5GXvDJ%|Y-Q32&+ z%bWcI=_US8Um4vQ1?|pBRydm&<_Xu?-M!2%9+h3a+}+)I*Sjgii^0I-sLfGd+bLtL zes6=t^&}9&g1GK&dEV5)p%Tixsg}o&*PQ=8{@s1@B+Jvv9u`#r{k??=8oUNbO2Z5_ zlt5n!CwXgz-QL8E>I<8@V4J_o!(-Dn{Pu)|z&B5dG$N7j65k62zKVZAr2~c0mbMIP zXc=fMscon&>Ca~J)aR}&9Z!OKX&bNEz4&EB`)2FU8c>P!hicRDoJ4}?wx4_w%-|9FX*SP7b@aLkf5!0{t ze>FT>KZl%Kr7R|3|2H5>`9f`5+&mb`f*_@lYg5aD$oX!3`g>O(#Kqz!fkh$%>1&LL zzs=&v-|6h>EB9dq*`{2Cp!jAS6sq4fG)smH`W?9)oHeC28;d8Sp7Rx0h~l6=Jg(&u zICGE&EE`W0JOc#Ut*V#8W>Z25RyS8mZQ$7DO(-&r%q%%Gby^fINZe>jjhkm_hONZQ zR!ZgSdWRq8ppsCbtp?{L=fc?(lXLQNyZoIAqkJfr*NlPS7S+vtPxSD=-BlS10m#mD zflO0)Hl>g#;w-X8 zl%bdc_;&hi{>Pmj3FMrkK*)4`|0<5XpX5lABydJl(z8_W`O0$duLaKNMZATlgEoj> zFb;^v%b~A?Pvn3tT+Cyr2_uZ@@o;-&AF3lmvC@9^`1(3Uu`$0H7wJAMEBjszELx0a zeNq?I%6$X2uQ*7qWU9QLR3$I(!^Co0UgCzU3dVW>8U+=Wv zy)-wE82UC#{*HQ78Wl8ZIeEW;e?yX@(^XJca_A5^y$*-uA`z6)aIFAUR%6gX)E*|@yWz|!y8z6u3HR<{gI)7_e;#JEFL6{rPR^jYz}k&D(JrDDPu&jnQ*>@5-H>4ACbtE zXKQ;DVrySsU7n`zlh-`0JF0}`^u5xl*4OL{zPhL^7CYYzd{DWKY8q0>aftq1PnFO1 z0_4)p`;wnN@Gr#0Ubuyub*-H6;{syI&Nm5HF%2%8DERktRMdHOOWiqs^J4O-8i%|I z7^!PP@nmh^`|yx3D5U12L=Q|Qy@*Wh!PIUTZl}t2% zi*3mv_B6cuy*~0-HJ2a%Gk@Ie1(E;bua`LJ?cuKP#l?vP<9h9zFXfDIRJzo^Iat{o zwT{Bc5B_$Plnyn=vmu_0m&BL3bF-P8>NTZ5#ksn86? z@Y+L0Jn;*9bTM*hC@Ch882GT{B(tA?bW7N!1Xr4je3WnJ$u}vf? zds_HHYPhjNWlSTN9DC3-@;LB;54LX(&!5dORI}b|BKHqm9aeV&5oI;}8WGS13(q?{ ziv1Da{8MPt)|{s3vwJKErvc9QiVE-aGA=i`&Tb6xlwn#D!yrdOhMG-{@#yJ#|Mh%K>c&!OC69^n>o$igayuErq+%R#)pPIBGJVThTODF>sYoJ!q_()mH$I0TSzn*FL6tUL{rZn?ehUgdn8F z=#IFh-Fbw?SMa%SAeAo$I`W1LoxCSuT9^#;Oa>TGhHj}3-|?qO4mL?>7E_svbP?sY zYL=4pk0gwYwNnZ{_a6j!Zt1vZ##^Lgykfo6P!ls0Go5PvmBLfa=o^?T>`c#t_#vxA zpps{h4w;a?WluE~Er$jh&Xcbkf?0agoKOFo*fQI0uRW@M=Zsq;ybASJCU)y`fPyS_ zDKhkJyQ`od(e4nNqN%7Un&u!Jw}cKVo>Fjs6_ubF#WKttmc{z|+!GhuAt)*pN=sw0 z;fayY#iXHX7WhJ>%uAMVFWfI225*MTOHKCUe3so|N#{mkxmKz|Nj> zvf}QAvd&vZ=9Bq0sV)96*-qJ~xoM5vO(=|Q{C8;!$LU}>-s+DEr|`KZ4E0ypKdFB< zgN7hjT!dfqRyJe6)~;>+v>+p@u%A`TfS+X|2R_oKdFldZuJ(XG5_GDYfR0Qe>G+KiJJtaB)f8 zM70`je`9rMGvu0>JS_FILic-`jiIj_zO$rwX?8$@GR?V2+fJR1kvNy9Q?w*9jay1T zo{%gRhSDj1o<#@^5!XQ_xh~1;^dithFDaPSM;@ws>EMTxzJ)ubSdVg)m@+#!9OI?n z!}v)$jfc!Nm~d|)>hXR$6Aj7phsb@O^FzSyf18xKl0k(CbRgQJKh}7jA6l!=-u~i@ zs<)ko$rU7fDy zC0mIu#s5}rZSRn>_wL+#+5@{tQXM>#Vofg#TXl;kG8+dfoE-rpNO<0b7W1%YBTaO z0QubK>cF?V&5b6Dgz7#YA!vyn2W8L0NXy6n;E9{Z7cKKYY2LfH-C<#)9xkJ5hwpnE z^3zfc+b|rZIxp>@NkigwKf`*mXU@D#P2i0vyl{v6kf{oTG+c}R;|lIC0LSPef5KdQ znty193K$AYo{FP_YT+|pv-c~kjF&I@oD+Q0-_)vaG)^TFC|37Zc~7Tq2J04${WBrT zpf_nq>`U|{jhDwGq62>y#p<{0{!-!8Y!)yQ@7nthS#cLWl^3x;V4XK246#bLB_BbF z(Lh+C+Un~z`9VGAoY1-USU70}iw+)DI?m8hl6=aiNeyE7ESc4E7L)6UM&{Xx&ibR_ zNo&iTh3@0J(V{b4%F7J#P0&L73*K>gIr`j45aCelQKnT7FTnUct|$H`w`EGV}nHUnQMF6fI-`L=FX^)5{o;k^Iswsw?; zci|Ks(g)N05qwE!7j^>8N@?=|nLpVoBczzpFPDm&K7tDmR9Gsfa6Ma^hD@szs#$27 z5h4C6kqnr-zi8nLXBuFiVAx!1~|IIM2mjE zL1)%BcUqQTS!Ey|#Nq#hEf|R@b1_)a&)SQ}pBY6eA4MX^*GUqCLb-BX;tzu^1v+(; z2W2NB|EvT?GH?C=I>SBCs~um=ULjixYdB1;r844uTWXAoQf^{|$=X>F8;OH1<>!SW z0$GK`!Sln^67V>AV&5ZoTEhVki&a1o3^M%yLpYv}1(SzO7q3 zB4Hw*^CQa6=TXN%;SS*=Y&zW^xS;D~0)tJT{!`|3C#`k6GGgU`s)QskFocw~OcSR@ z<7*uh6nH7m=49BZQ%0a*ipG+|Qwkxlf5kI9C9?3s;owKIm8Ncm%e475PT#G?0L!vf zW<*?Y;rjTk-jO?%XOJADC}^RXVt?DWci1SHivj24dcZ8_{qIIEE0ZXsQYSVU;naGf zs1l5*60~t0^g(^ZK|{Fx_uzPa$CS8l_uE%A4<;I$J~4;zF6AFf6&0S{v?9P0MJ7|5 z&)p9L&CP2*e$J(=|BQ(Qj43`QL@Z%_u{q!YD|uTNo3$FtzF|I{6FkKHI7F;Pm|vUA zSvIAJPfQU)B!nT{LFs2BGB5%-Jz(UJ(L|cM==(&5A|f8X$)CM2nD%Bi?iK+pPww8Y z-UVO2%(=gXdyD-t&3#K(hL;H`AjY7bm_dkktvsqIC=p(LAYj78q?|LEs3kRb8osk<9jtQ(``ca<%4Bp&|C#IhXa|{KB2G3>)O;;==&pV zTHOf12N3sOfkCZuP@Kfk-cB~vZ|Qo$=eFWf-sG@huVeZT2f_=2 zmu8jJz#Pd$vbJ#QLji$g0gTn^j8G)TCl=M4mE6aZ-nvJ$eV}cT#;rvR$E}3|Qwy&q zVFN7#IO@;Vtu60u-7gi@QRtisDLa+v9;IW&LqcmH$`$MY2j)t1{T}3pq5CrycoVeL z^5q9BN@PI4@N%?wxd^H4?S&m))$ zO58-+XH=AMxFY6}xjf8kzkEz+XU7x5N;#IZ)1WRMibBBd=DmH9ao+rbUWJ4s4=QeH z3-2W!6JGK5m2=xjwCKJg6+|1tyGRFRd45M% zHQGw_YH>KR7K5kqVRt*Udw8he!E}u%SpO!7u9j+cTg~(cvcxH}eiK;&+l8~>yyn&t#b7pX(hfY2-8>{V9T|^ks3i8RNLJd|o zNVo?59S4}I2@g|BVU-lhv`wGdOaw*m#@zoX>(z3Y%-YNUMI`Xzj;-&K3>p&JM?iZ7}j5Gjx9#WzgA8<`uts66DdNcKO1xS-0v{H$qriWtHqomiA#Q2KS5LExhF^t~W!8qd9}ZSNL;`Rk9*`kr+AzjD&%c{0Le;e>16 z{>>vaA@?Kjv!N_}gM^2u=->YSVVvd;wdJ6ju=?l(mqaG!Li{m}6h~kuMX4K^BN+qb zt)i>wm9`kmaX5hiN>L5zhtQvCLguS37hM9i-djvT?7YAB@IClDN#2?7S7X8&?H1-8EGS=OyQ%F9Ytv7s5l{mT+-O=E=SW2Ha!xP!=^ z{VUz5e|xQaBJRc0)z}u^=pRq+HA9;FF&U*AFLPiysNCqYo)DfG|L*Za)SI)>CGB7~ zvqt!Ad7EI}Y55d!mea|lU%`aWJX_iRo@Sd%%yL5fr8XGp5(%r6g4YY(kTLXTIJTeH zREe&2k8fi$llfbwykX-6MmSgmAw7+aTV^V~d+oT$QC785rA)z~uDimaR12llj zSC!s180}-vM_HOo(x1>1Sy7kA$rqA&6MH`il(*YTlwqk$q!o}U{MnE_{?vT2tG}Ym zY1obK#Pfa17ArFO)b4^`A3qAZY%LPS-UH*#Pq!%$yn!$>($^ot_tPoO0hc5Dy*g)s zD5G3ycgrBUZWvKp5xE+cj@+u~ps@shC#ZFm|Sk+MVMlbId zOQ?1m-nd5E`IeD2+e(D*{VRqFg)d0_vaoUBufcoX1Ne-9x)+*^0NIJqFNXUmBZ*<- z-AzyBzjBVDKT3L*?W9kg|MN9#?e4+vky5%C{^dw1HLYR!;f^l~ohFmZAF#)?^0K=uP^J%UIxFgOnZOaVqw` zRtIhnaZn@s4FhUNIwhw(L0)Svx_^SiAv$G9AKoe}DXu{X`@ZAn&pxhlZUI-Z$Z>*T zDi582#3XsxrbFU~$wuSzSLuuYei*+kzNFm+Q)(RIB$}HJl5{lhx*dMV{#my=wGqWd zQ*-YW2EC2T6M-oJr3I-4tGLxn;k8xpC`a+LDth^LsWHxGN?aGX!r32-0mNVqnll>> zs-dF)+Q;8Sp$(IkwFgJFBaA1coKvaol=VQOv@UJEmqhN-#Q*YgNrhHLx8iPn6RqJ6 zG&)JcA4B>Y{wbCc9eeo!l*q&gHzH;!gosJF*|p{A;U@o)r;ng;!mT?VtVSXJs~dGu z@de@Uydj)35?*9vEe%`KTKM75&4{Z%##BRbgOd^V%Q}P3=%!+rTs>;tY+bCBn{YRe zyR`*z8mQ*Ag)%c#Kg2$VW|)xsqP%OM98aLs$CsrEFSB`n*cY>f8$%+&%T@c*2y-T05$^&!>tMdw`EV5YtNoTH=U zb*}WDX9XHFH~7*d5qN&^-Rb#FCHxdfoA$mb=R^VG%rJvsVuoE=mI}%|9Uus1qt}t7 zK%fkOQ&h|IDmPn|wcYXDGY8sal6QHnGXx({XBsb}N-Cr;QI%`o*}x#6RphYl-hsEP zx2acdMGYJ;k?iljq7?0X`dFL9xc9B|_iJr4l#K*!<*F-o%2e(@K9|CJ4g<8$$l21j zWt5_U(3CBBfu5coE*u z8oS@P{n4hf_+buvtcX`%Y9paSr25eN-Wp-DG@ba6x5FDk?XMZPat})UbSsyJe!SJS zh3?k9>Je~e{Ug3;rE@QErwVrZTyc4Ruad`=B^8hi=k{R!9eNgM;sAwzT$)*uV&^lM zpyZJUB?iGoArtGML;6p?%&}?a(qwXJt`q)nfGtjaECV7~Z(jVJpX8=_2XD z4Bp`nw4U49I_?!JAeF|JDfKl;E_#ko>s}(nl_P%DZpGjEH~ZwfFjXlwNMm61p7jXNj$D0t8-&_v-@!~l)bx@*0k&}^&qu8$!mqnUk3dz$xltih+IWF|7mZF>F*2N}> zXzDCoi~pvZ!55-;QLUEDu7(eerDM_c;STQ#!&(nqB|oiUnZI-f3ByefP*Tc+W_KxZ zgYQ6bqF3C79iOKUM*7#Tf4P)VoD%sH7qdC657oQJUQgyf-9^j$Vu^g+Vx3`hUqxb& zlgTMxmePG0+;Dy{P=EMsHL{@(ai<8^@YtT+C#|V|dTub-Femq+NWg5C*n}`pafmxZ zBJ&ZbI#W4xX>i~u*YI9CEzmRr&E=bGh=|hB+h_FVL;cNvn^5^+U=6~xrz5*cP<79) z8Z~#=4PLDm1ZMG)kT+VIB)Z=orPKZSvn2p)R|wdsDZSP6AD=W6i3H-!F#x^#qz#iZ zRKbz#W&W~v{k!m!(Baf8*epMeKA>F{98auF3*P6ggmwpG3uEq&gzh-Y+7iKe67MHf z|3gkY%~yL}xCUe7tv1n7eL#)SXR*`Q@Q!5fHRf&du!v)U z|5*rB!v2NvKhFHH`|t+>O`rXh<>e_ney+jbF+HaNpzWzRYEbr?I&@jZnpbFKRKv5QXIB`4ocp`Jup6?nJF$-7Suj)l^cN#pM{jceV z@B2y`R_g1+W)p{YY#ggoS<0+k6)brW$Lih%GvzWy#f2JMvDk#O!g446;JNzvNB!8~ z5j8TRO*o|)2U{{)L=dXXYyNC>7KO}au+r-k9R-UV67X})VMOj|9hm);kn(SB$3=D# zzSd0Dk&sMYto=*H33MOzNZg?D;Ux>~V75x=51f8h zu`BJO(?05yi2-TmUF@%=;w)9(w#T?HOgu+PUT zWB+{yUuY@g2a`qaE`u+r;{PrHE)xwZg}3*@y9?d#{@F?n^brrZ_ezXRVyL3`se=5B zG!dpipPMBM*JERm8b%^siL%O_HI6uwn4-1|&s}kq7aNL2)xJZTyiRE$_x*HRrQ)Y* z#sC;Pe(T{un0<9MX{=v7@-~@#7_wyl@_OOWPHcZt-B5M?aQ1!s^}8UH{E!t!vDL7a z^Cbynkuw^Z0@SMw7!R8cD5_hSF0T4^p@4>sv|XCVoNdKg-!P~MUGt8B^)96)`rhI2 zC7LA^S06|NF)M@F8mB>qwtzvU?c`6~k2Bub*j$MJj|+e>c+O$4_=LaUj-4L9RJq+s&Eh&My)A84|_Wp z0QA|dw(3>YEwm+^|5in`fHEaX3B!6Ep=M*ie<}iG@|o1hPNzS<*om4ld`=Ybc&{kt zX+i;Pl>iVhJgmX;WSRpZ$_~QGggOE&^a___Jnj}hym$@Ag)!j^JU^o|%Lm(B6ab?f0N18F4gR!fvP^76W7yZ93 zJqKbxpE_IB9StNN1hfi&&J)5UP3P8=t@Te~ayyc!q9mR7`_6NFQ$>g$St{+jun4(~ z?8oZXSJ^#^4$Dzwh44Cd(TO0r+pN<00{C zHNk$dsOb-9t5--Oi5{x#zph|0M2C5jyguv7z*A&4T-QyfSgJV4eU>wDU4G;E{jy5V zpKOMqEBer_8-##7m)JckstjzkTO-Rr8s-d$fOir%(FU~==Vg%AEDtfp2V)Zm*()Db zeJ^MX@pjnQ+cR7arJB_rvw3v*#K1`Os$oU=^t0Glaqx zW9(v1D0mA86SpaCQ4fLvnXxFvME+k&K2H_hRZO)Moh;sy-I-5&BZOCjoDQFGi}CMP zaCi0DKfzEFhP&a3DWW`X3ZSoP(YQftB{o5OHL=b?7?dG;f;43lp=;@c|1b+#8`gh; z&VpK+{U-GQyJZciB7sZa*hZOvMi&JXd<+p%fj zacbm{C_io!>-E3QP$o2wn=zy$kRs+!LxiWLua~_g=K5f{4%6v8UcjV~;6t@ja^JyZ zTB^Sv7;BaYU339Knx^L6c94naX2dQS+Kjj1TiV*IE;yxTzxwI>O;-OdX~d(($ahGHIKE9aXG+%w-8gt?jndBn3i%Qg~K zg^;<8*%EQ@bh>JxQM$(h$N_WLUuR6d#~|7kD{( z4XiCRdsx&fIPlYron)GL{PFY{d+?O$mq| zc?%-=Y02lXE&+kO^C->t@W*uK9~`6NVgp2^iGoYOZq45E$Uj`7SQtt>VJr zcjHe52qu5b%hAmokcmKzUfSw8+*PH7@woaCxGLa6gq|&@&o~CYelG)t1v29O_fqo8 zxpvjG|3)y_hl>v#11P$vad&N_n+a>9l*zFp8X_QslF^)aG62(wd4(Yhw{ag$@poV8 zbrfu`196WVi7$Yz(UWyiX>=EUF0!X{K)8zcjt}6y$kjl0$tf=coA+s+ThcB+t5L)% zLD!Atp?lapORW?gfefNquPCFKig00Y=2KZr-fK@k7R{8_@xOo03;PM;{IkvKsv`2h zEYuAa4VMMX>apUiwrlxUQjFtb>G+@O7t3FrPoHqFGo_ja9+DCM&BMKiF(TBhQXZk$ zLdfi0oOE&Rg-86AWu0Vd%ow!k2$H;i1fsPKFV9+Gjw?x3E57! z%^4WqQkTRvK#j-U;vcRf6@VJAha~P9`*9$uf=xovMLr$GCMHAZthj1-1CrUcXZ%{a zPS8uQd6w|j%YHr+F~U>P%CIAi7R0~vKm~yS^25amgbXNi@BZ|o{-A3KOX3K;bL0%z zWql}d^5&8O2A|v_p2oliSGhsow^fe^vmxcBUdF@S0Dj+Je5kCm2OE4b zSpSON26l6dI=^L)z)nKINi3iR4Z;=M*n0bQ)uSwW2Ex&u1Gkp+>CaY41r1ducj>J6 z&ZrVz*uq1>8qM{l~y133Evvos0yntgu6OGxIL!xmKeR=V8 zK&o?|WjbXgXq2a2m_`%G3iM5OT>GqzxF4RQKU0r0=?8mEEUx0|n$4RqCv|)grQPUC z#Yxm9(#S*HFA~52iK>i(4K}V#Q~P8~^>YCYOdbdF_5%J&wK}R#B ztHHHVr$wYf6twp1*ewYLT{~c~TdRRx(5wu!0|Q>tk27u~2ku{Kv{5STS%>qZ8b3)T z(<+8rA1O`CuiDTB#XHa`in{i#zw$9|q`S-9B>(AH@KSjx=}84s?*@+Ud<*KHpKCm< zukW@r_u^yb)ab+bM^DsyeM<9$zht<4zMLI7>W0oaOmN`x9z6nfnh~(nZT%+mcJ-?0RNGG;&xxFMxI3^4n94ekJ?!YFc29b-bDe0=&$T+_ zSj$j@h&^iiQ`qGuXoFEk2^i>M+4^~iy9&_R|Hji5Y6^EU!=k|xHQ`Sej;#fiRk<74 zBVT}t&e?QXiJY?f@V)SG%z*KmDY^&^*Bzm=9O+Hb;7}WLP^L$6#2O1oPPbJUz_ojrVWN$YaNYiP9w-sn-nRiV_Wh2yJN-$rxl(5D$@h)-wy-3R2!j8?T+Q>n zs2-B0F?Fhy^8xGrtyo2xLZ zjnNK{$c=7$SyX=p86R>cikV=0lq>9QE?ux ztnhC1U-qT|$1mKo&;QrBOt?&IEBz+mehNjzSH~frhrZpK>8Hm>U`bhuWizPd;#n2s zyfLU6UEvVDEvY1W_#1{K+=4uw&~+k(npUS=ec#-^r9v_-fi0TTLbg8 zPJ^2*0$tH9q%3v`dxG!jg2ciCZ>ZWDXBk2TLb7(`={aTkF62!os(cIIfE({^gGl8` zcQvsYBOE&2(=A5XO&Wq7%#Inu#}LS?{Jf1|PC_MKlh4|VQiYrfp0IT8b<3{Dd76AD zxCkTCl!A{gDK!R1728;5Aqug+I>Dwuw3ksS0*r8}nw`0o_D>UMo_cTIJd|WHVITwN+)_XDXU2Lx(;<2~BkUPQ?lCZ8)AD^8HBjp%``Ghcd=tt$ULde#mxjFG!0>7R zwpUF6`R^Nf@V}*1D^ujpK=)f~6zqVvA=n{I8%qeVuWvtU^rXHG!s3J=gn8p&O&PFR zZEj|ycUWOazSMZSlajd_*>JVutM2}p8@d--h7~&YTC%?f$EZ!Vl)ZMRT2L_Uu0D#W zmHAkn$Ru2RsN?*kD0poivvJ2A#LgD+a*M3W&89+;uTRmt6(@`#{AIjpDK$2vry^$;dl*zj<(HM@VJwp|gL*5eN+Jt96uch{^v zF=AiK-cTup3JMCRw1JA&@Hu#?+0dx?pI~dCe)*U8}hLqxpCfhyVC`<#Ho-YQV7U z*=oFhl^rrR1;RyDfikd7pbCG%7|OQZ&Tb-#T6Lakap$MHnI;fDmmS@^2sKo?A#&@T zZ4PEK(zgePWXnr>6Rk$%#04_$J7mGdkAHL<+Uz|c3=jE z;Z3K0W7Ze3JL&31i8I@4ZWcQ<6>WT|0cp_sBVh+R_E#WYE?&2RdBC8moT7 zP!+GJI3Ndx&ZaoT?Zf>w=zsN}oj)JxEX2y1NP0 zp`Sh1IWVoPZU-wNW_^-IirIMOPL=sO(0mYxrk;QR5S7Dd86!Ji`z07QAf2+x?SA+{ zqBdLhIFJ^{f;LT_YMWOSu0d4d18>J(y0xdt<04AO*AT~G%e=BoP|Lp2;UN{Sc>2t$M6C6tVxa$3yDL15@G8{tCh8;(Be4Qi0AYA+3;~ay?3)aPC_jLHov=_jD6Q_(S@S!0_MbJ;7T7 zwbS1vX@6L)iKTbmgysB{Tg5WbB$6E|``OC#G|UL16%U1>j>WfD5vOBJ05n(>czKJ?GKPO`q)C@mF@F-6Q zb!{uKdG`HK;VY_`$QK9FIbfL}r9=tPtG~N3_r$m~R98N#TB^uZ0Fe~T^b0iJ)^>HB zI0TW>&I}JsZcsh_I0#%MR|u1Eh+1FladtzA=M+TnOW+w%sVvk#YQE$EyQ()7P>L{* zktTNQUmyGbU68!}a+uX+89y$x9}exat`cYxq;jB&>Jt0aZ!X*-a*_mY=Ztz}Y6Nme z8Hla!pb1^sAFlEQwfZ&vNNeHwi!glz5>GUXQi8IRgb_*G917IjsCPxDZ(!#ni?rgp zJdb}5KPILlY|b(4oNvnISWA)v>9IO?Z|Iyl5or4 zPl_JuW8^wFoO>`%THlw;(#<2YDAI%k%FqnJ{Wri|r}}dd*HbLl5(Rrwcu&~amulRF#u6^nG>GT3vpDVP7`1+#vVC|C5_d={>U=#b z5sz|}{B|B>s1NsXA@qi{`iCzm2vo^9JnqS}j?~kIP3!1 zthf&7U}1HUq3;-27Doic=PAIPW6!au29SRK>}DWdfcB?poCTH>-SmAI#Po+atqz?6 zgt6Pi@b5#*^r;!(;I@uxsm12i)k8Y?|NOvgyMLZl?41@U53=3>@P+l?N{QO`@$8_& zfu+vPZ{K6AE@xpG1?})Cay@cmP&*DZXr0M2Y=Uhtd}Jh!y0W0@$5ZUkLr;+p)edBf zr;nb0L+y3h1n0($M4JM+0>Tm4M8oNzak2zCMsv0d(Hy!|!@_peMkJEG|T#}<2;hEWC+ z2dp)*Fa9--e5ZqBF!Tf_+CB`BIU5GU?JW~%ej8mz$o=Z-EweD5&%ERRvgnQHD8+hZ=XyK;!vHW2i$CPjatkFKA$*Mp?JgX_^gxUx1u$)c-g%s!}**dxC zh<>geY_30ZYsg4)IKXx_eyn0r1|Z)Tv+X|naGK?vKvpuMq7$6;Rf%aC-UhYl2HR?N z4yL3fJjR9`3PxoohTE`aTdIhz^(`5n2knuW@Lf;vM*^X-r=;2#Xpp)i<$j92weO@q zbYmk7BngK08X=luYtf?A zUNmyj7knEBMeuuc!NP-fX8lw~hR~w^uhONRH;%$?G|zIVknm>`C?){YmwfZZ!7iGzI*mei2r7sMF4&QO0U0D8+#^hGe_xG zetA(vcjX=gjBfE5^eO>2#ug{jty*V+QK@f}Yu`RU8a82+u;EwOvHoahkKe-ew#;rK z?)2dEkP%g;1Fau?>Y6(8z#F={#zuwveLSqoec}*p4cVp?J*Ms{{)w<00z5N~C^op{ z@qz$8?SIGaNV}i%#QXImU->8y6tw1Yo@;>=4i38tx2^W3JJLA2<3&Nq)J*_| z!RmW!wcT?G^K)<&X8-fEt;7OUZWxa>fA=9I1KEMtS(>d@3*>~_P*v42nry-$T1^Ym zyGi?xM{kCg8CJyxEVfpf9w^uAD2C1t>W-Vb_hfgDK!G?L3(d1%L2_}l+AlK2vVf{; zRD-$=IUEh4&Q738-cRs!#?9Ra#p@g;y7a`Zj4UHy%)c~k;z0g7^2 zTW#IGnZ8*(C;wQa7bR3C) zH(RhDU+b9;&5+5;i>jsmbu&G~Y(n_??|k`alqy7oK5oYw47IJzesM0(OsJ z3-|EUYfkk~9q_5pJJ}L=S$Vm(C5AgZ**qGKXE%N6IXq--O+yg##(j@z>`H4<%0H$* zptZDa4v6a`<4JiY@n`(0>%hu`ZoAcuZmxH!UXX*J%Fy_V^xn^-X77jrPFwmuZs4UsPxx-_VL!27^ z?O+u4!e30t*AxC*e5EJM!lKfREPtJg5tAQl(gUR&_a;Wwn_hd7!n-Q!8@?J*wUfeI zdVp0`^;I>yb8qDp;_3$r@IGsM2&ZChy3c+$*@-ls+Y3Yk3c=`mAgSIEx%Fd+AS!H{ zjd`KJ*De?_M5B-qGpQ7+sc1aNPuBw6N3WX&;$p=#+GF{WJmhveg^L7m7gJ5=c-;4j zkO9R|RRQow`8@{YXkx42)8;=Pem5*_4n#7IuW>j*kH7dZlsSvf=H++xt(A`5QE39% z5tUx4jt|bnkZ`_ZGv?+nhe`3n2V?Yz#7DH)2KTUR2-l&F*klN0>w!>hlm{1@ns)2}P(8F#2~?b=xE{hvy{*0m(1ZRaf4(JG>EXTPNbPqV^U~1b_z9u}{7@2A z{#qXdW)hzshFOf+%tcw}efmvTJtP{Uu=mS{#CLz8x`8egZ|o03u7~#}nR9K0V$>Wf zl(RK9xsPIgdH#{%cF)<7ID+=V9aJy}x2FlTm%k=aq|%3KDA`_T@k3nWtj37Uu?WCR z@q{+IM&3$&!G&Ugjx5&6#{EBdtGWaj7#C20Z2m;p`(WEyi zdP7HqFjw2Wd5!Sw9YIAw6fU&j2ru7zG+H{5O zZuQIHtltxLzA}U>>M4N=ntJyv0CfksTyAh;E(@AsJ^}D~X%zf-^Dng+u}xZ9I`77y zxdf9xP5&Pkpq>Rz^_U>Z@Xzicgn@c{RxnlHNu^5qvDKG~{#)6zNMz#5r&OT56zaUp z?d3Sc*iJK?!{clwUycGxE{1406<7es6b)~|>p*+z{h2&(Jl>yjgj_3S6DzS_)@?P) zflr%z{OQ*MY9}fk)}dT|-#Z>b>yIg5x&KwC;_4*Lf9JZ7qgFdd;QKRe=iwEbeLcEv ziGnLaz*Ex7&_-aD`@e@edMxluY2gtMUyG!Wx&4`}p^H7d|55Y&0DkWQRR~{f#4K)y zm;KkdBiLj|8Fb)qc`DqAA(P@L#KQ`}%E8rjSxVF|Wv)o#6CEgaNXn9M!0qgJJXv@( zt|Dt~$s;RdEe9@HsoP`uybxfWwFv|%BP+gMwKz+n6k+-K*kGp1`m%F(rSA{%K?8E?je#G{$KhxigzpbBbE|vE5Z3WkNq3Nr`qWZqC z?*uS(mwx!jfzrz@V@L!X2%bRFhlZWMhId2AwqN>H!2FUZkv@9o0 zU@H5fr$PAUB-z&No9f$gB3-=LGdpm3Snmdr>6HA!jkvFRVXD(2Lu0K-JbGg%A&o34 zrLQga^wL7`4cXrZGo*b5}2pqdw=}OWK?iZM<#`9_#9s79{fVX zAn{{-&XEM}&V;2r(?iLlxSP#pjml#yb=ixUW!>fiGT$I;wxA#OcvYtb?O8;eCl$gf zqX?0(s?R>}tiBsJ*}A_~@EPMZ7~loId&ZmaI|eq?lsRM>)c=U$h`!Pj;g*EC&v-^YBTpjtY!b@9+u*3AXyNt<-_5kMhL0m+B}Fzaq=h&AV5L z>oI8bk+}A>$MH!uPWT1KW~H)`l1A^HtU>P{`9>BUPab)?2l>zG@V{-Lg;I7Ez!32d ze0fmnQatjnwf~}?7>Ein4!!`43g0a%cGNdi@T?$T^OaDeUq5kGbI%KLksroohs!A=q__`W(00<(JNE z>UW0gYN_%s$PY?W?|A;WxpVGMFP$>fI+mKvRr3$=1GeW1euRfn(t;1zgdo9OWYx}? z0W|5r0NcSpy|8xkbM5IG#s>`tS2}tJ+QMfyHeBMbJ1eSPUYVZB7v$!qrFmYSmK^CU zxGr4X+#gRwNnvw{Ar98UjjKPStlZ5b;(h%!c79A>s)r^I1D7^OD1ot~g?-Lp(N71J5G(&u54xcJcbseIQc_c(uY$1hB&d$DR27H!&TPBd5 zlBX139a-p86`Kf(Q%a}1X$N1&EL*Uq2|&m62qREX&-laG&QJR;XP%zGQ4s9$eJGb5Oq6204Tk9&K$NoQn5mCc6o{BP@n?rU3r zB8zlUO);2T{ekdG6lk`eja`>&v0W_Z$ zRMI;5#%~+>)j=O(lr`g*i)A;8hqG>*$z#jGktV)ufb~isD}-A2PrEavaB&+Wl9>C0 zf|7W1b$2^&M?JbOWY=z)_|&xjAt~OCaGVJJ#`JslcZuCr9BE_pbfM&~d{FAaEI}&g zS%~EF6Ir%D!(IR*OdI*&=T#IkC*)UO7Ka)jCgxPrK~ipY)#8Z=EXxkR~i1*bBT=3y9ybjajNvWANy5HM}<}4 z!9K34_r?n--vNBg+Aq@P3R>A@gghbY`!Q>8OlF*vySishm{UTn``;wGdYeZO`x*j` z78W7Y8~r%;C%vj4K0;nPig=i-1Ro;aPsxK+1EAKJTa~>t< zFC6$L7T)T~&W34({fiH_TL6)3u@X%hjxju@~NQ_t^ z$@HgL0OPe5P&`DhVoi8n^68Q`Q(a+(9ODT^so5Ocg&6PEPGU`e2}n)5yfP2J^PSu? zm?ohN_eh~87LAAnG*adYQlQ}!cnocQNv2OIpM*yt1%(U(ZviA`?tV9f#xJ;7I!FdLe6$?U$IUA@xB?8hkRP^~$Ryj}<4I!u1%oQ8K>#*G|}z-`!3qA}>O9 zWC0a;A^y{~P+^rqYn2E%X6LJi!5*npLWWpG675P;#nJbBHS9|v6wCQnUny$p8l4XZ zOK-u(y-419Vepi56xkU;O!HTaxVPc^fwU>Jx87aed5bQ4T0>NWAUC=EP0WnCD24|j0rO0u-f6Fv4veTD zm%%Dh4jZCA+yvAlj)Fv+{Za;AzCqO|G znO-V>slA`Pel2LG_2hs>Km*$Q&i$8G){llCE9kADHneq&5jWN z?fc=oBz;f4wQ+-2Xw<8fYG!&iO1(WV-5kf7X3uMoeG}x|>3Q2=6JRjZo3#rmIqHU+ zKP1SNL^`~6c_`9+#@)y2E=3g41{fXqbbkA}Y3Ify8k=EVR3=>8=B@j|v%Hx+E^sA@n*0KytSN;<3%4&Lh9x4^WUJ9*A%)2W z5q$dC0<$l#XCX^zg3ye;UBKgt`WM=rA<`%*^94y`@z~PymtrZ!cc%kWBV1m+K1=`{ z94Z$oBBx>~`lW$5hb9NYS28t9tgmXwVjZ8qkVRtoR&0L}vb880@Gux>U9z!xBu#&9 zC3i0RF6PVtiKM8oV*I0{jRFVMo|vlLmMHCNl;v>PQmpRj|AC`W&uj8X@kpRmMh?}+ z09)|78V6CwmnDm6I4kspj*Mj$XZ@n33Y$uyyUNrB=GFsWbwI+ks%=EzE|x&(7BJUW z?fmv`#xw2>>#<}5T*#^hv0%U=wXpMZ@{4vOz+3YSlX zA4UKUl^>nYW-fom?*V)$_QHq>D)X&Y{Gj5@d7P?2ZXQ|TEM%kZ^WI1OspLa|gh(fd zrniVvtRm_wgG19B_;PMhaL}lo2A*awHI&Ve-mKa&u6qaogsj=Ot2Oev|8pn3904$u zI7I`J{V_6xY5koE=N3h0Yy?Xd)Ou8fK|Cqbk+3GhmR1yq;GSqrf@6jy-X}Y)$0fqi zw#AD}(C$^I-r^x{>j9n~J_wQ~F<=WYsRYyRE9(5nzWTdji3Wp$P0^ysNhN8cJAo(DbxXOvnb(bJ8l@Y;YvEVz+ z|DyOj8`GeMR<$YI0HN(ibOi&A*+A>sBgddb#7oJ3UWgFH%Irh6vr(R_B^iG=;Gn8{ zbaeXcqahqFv9F<0_}!gwU_`9zhWgvNt?aUm#}z#HHrx6=J%IF-T>ycPmvINio=dty z^wK~zh_v4aPJ=Gy?+kwR;dt$3bh-tgx^p8O>K~#~r-F_EF^!|*SX#EGCn53cjUsz0 z_ZGTiy$t5t`rp$nK>FbNKM>p?YZNBTy;(lZBn;a(qiO}^MMq6WkEUP#FE=aE)osL79` zkB^nXi1OKwK7ds0@aGn=BF|}0te!_9m@6FMI3VeoWTbXWX1+j$EuO~<4092o58Xq%D z*{t$K1c0MD()79_=rF%~xls4~G^svEvYG1=M2x?K5oza+szW-$1^|RtC#xKSnKBq2> zCNq#7dq^O0eH5Zn*?`OVL__yN{oJA;{Ej;bio|iw1nKV4JG8uXk~#5YiAYcyuk@5k zjIi8A`@h$71$@LL%IoYAWCMZCri6U#5mUEDHth6wWtbwxySpDd4~;W4cQ5hVDnNd; zI@_3$9$gj>0>qGlRSi{7ItW*c$BKz6MI3(9nq!6FM~~JE9M$awlBQpy-=uLmyE{YQ ze(M>FJ|ndJI=g`Kz235J3Zk4{8HA|laLVOE54 zB1+Cr9(j>N!&1UQ@DWu3W10iI6KqXKt-v@w=bdNfwnIUG7vNoHlzJ`G?so; zEaI3i2lhn(AX%tr@$q=Z{$72Zrs$HQ^A8J!zvY-e+?x2zj=&cJLZ+osjJ)v@xBiXC zLqOSa%0wDzO&GD=SU&&^3jk2c4`ciGD%qV_!lIpECapCsj8_IBH=^9Q1Ti!M#>zvY z_yu8D6Dz=GkJUDd&!q$UyGEasAsZFUr}>^f#zU^DeU+8V(~6`(@V|Zt0Ecc0j=_7P zY$wnmVq|)bqZWaFfK{(HLXgyI^TR}#YkIStej-}De|n5vs4iCyayMsNgN=7U79LKP!(#18CtwiC3U)gq3p?i&g`1#Qw*Lf8$ z9?YtL&FG-5RruS-5LR`JSZ=u3R4%I9%&4B8&H5d6Tcx?qYkcG2(Aq4S|YPF~2 z29y58G|q{FOJ)4QeBJ@y5Gyl91nVYVE9tKo^eYxwHQ%YF-c?24AuCwj9~bid+p)a# zNBuduLfr1kV3FRb()wilhEzi6qEn0^TY@|^$2H7#l=hd%uP|#NAY?sn=<_E+M0lAq z6*sao(0MqE+}t^uuALG))M4(oV-@#BqM}&=7$GPLGzDyFfehrt*am~mMC(;Kk356g zdD)W6`2aa4Yg@(onk!*T$*l4oqK}Of*&1)FECWQ-(AOq)`5GE=gZyWl;u2$F7EFLE}w}V`~u=>OzVzV*IBj!DBQP zo$r4}vLV9Q9v)}}Bc2-BzAf(Ko3k@9v8N2Lbr<2o^yn?MQNWcbRBd}{qfm)YnuA(B z-uG|lJFSQP``Pn8%<|f&RU5Q2SV%aSGo{W0{!2A zGT3SP0XQ7~_c!l9gLCOd00YGk%@z9qFnPD|sYGQm_`3=eL*a{GOc@3bA#4ocj|UF^ zcdZ5jK{Fz6mU<;)gRXq4sq?!*>dP-b{MLg@_ zz1n9?_Jq_?kAQ~br(=aVVZYW*Us)6*AhH$-K2m;B*ndmxe zHDTH8dDjNlo-pezwE*Cujia*QQ}JbRg)6wO$K&4KK_X_1fZv~K43{n_>-F}-G~WRQ zL}iYsDyV}*G@6gHEOu%^QDu40HPriPz{Av2$t(l&Y5&1GF;CzxCNFg%6|fFre=}&# z5nYq&_uc`qmYpcP>ENx0$jX59)!!JJQH=2A5EQ^~WrFGeLs_KGBHz{>AtfMw%s;X&GvsXGw_#S6 z-rAp6x~Bz#IsrT`GqS?JYjD0POj5 z_WP{p)apL|;y2@c4-p3Z<;2Vyq_zd3U5NwDCz=2W)>S$T(>DTU-fAHsumdn&&&ko_Iiw2*fFZH-`Qt^s89uone5zgZnL z2vf%@TdfO%Zxh(Tl!@mx?v>no9XkF0mNn8DEeI?ZuRn_VNH#yFf$U5eGjUNOeWALK z+-mKKjvx4y@81(AHTt35;g-Z@^WLco00&wxe$o12lgnmk^TCT(>-m1SFJKxy%1SR@ zQbh=l`5%9rAH|V$%M&7A^P>6Wav^?wy*-wGE;Q5@{-&8tliPu&ktXAy}^HujP`#g9G zg6#{!1}Wl-a(FT}?9)!s;w-dIRPa9o0^t7DwL6@yvB!W#OU7+JQM1hY5=?fWSTzw0Th_DYaw5t7%pXDC)U;g?ZTA)4Ol5ZVsg4EkE zz*H7Tv>rgsJc&+XIm{YN&TvvcXCHb5A=0|Bj6!Pw!3{>-_w-EW>m zMV{zbx)_CV@W0&bs;;hfEA^igLX-9fCP5~IVgH4B!nn!tw}{Yu!XhqMjf1)9Mf->7 zJE*>oPCd2<-DLelyQT8qrK52_70|Of5YuLjqb;kYh~^k8tq=C9n35}kJ51xsB|S>2 zgewWNdCO;a@dTqAQ-z)YV)$9@FL(w#hiBjj;3##3#3=qI83SVOQP^<-i>o6W1euOYnj8Fjft}n!nqw%(e=Z+=!eTg>aS;+IV23VJT zXx0e*8npR1G}B?)KyU$(u6r|H*D(z<>h|?}cm-Eb}XbcD{uO{(+;bnJZ^|mF@6}K>`~& zi-+ko^B&0ve|_h($JhHAqN`M7Q;j&shhx;|ExGvYh$Y|5Ns56E#TYZ022}OP` zFZ7g+BwzU7gY6k}Dv=(Pd4V^IpooFzkq5@p|1Nym-qn3~G8?Mj`~Zz6fFtchq@VRE zLhwa?!O_yvp?FXBCxv?O(fMOak z)$p;L?*2dG|4<2ATolzf5b?~4bao&%|O zUTbcXm7o)pUby0E0u)s44P6IVIiI5A9$0zuO{s_ljr~LDJQZY0D$5OA8iCmy{cxFr zf~a1arv<|AgsFf^LZNk|OXH&j;2x3P?c=)%XqG)MJfx;ddhelWnKaJxo;JKSm8>=C z8zjO!0_cU129Lf4hTcB@eC)a0PXyp+MMb_{l(B#SVz1ZUQo587##nDX8F*J#ui!m! zS3sx7+=VKtRPHhu^pn!2x37T+g?Xv#H(&RxgtR9ite_vSC>ckVJPZS}G|A_-SqEvN zb_0uM+#ysTR~JM64qvC_d?8aD@2FRv>R}p?t76ebB?i7iwbk}HT*?NB#lNn-(B^u8 z1p$S3T?BICBZoi{0mj(-oiB_H7`tajkX8;7%Mg&_T2GP8PTuh}=daJ90%H~bJ#`G} zOFlv*P2`S2_a1@v;<^T%{Xe=K=?fc%Ix63~&hFY=Wb~>=x9z_BfB^XtVil0)v5y&C zJ34U+&H__X0N;W}?5%r#*@V;w7>#{5&F8z%7~5~+f4%p@+)RPtPBDX`f}DW)Bem!V zdwxO7D=2Ea?4ES?wx@XnT%H{OVm^EAKd<8j01R9#|CXCMy4{7=S3*Y}x%!v?zq)Rp z1#Caq&%ziaw7IiTkQRe+rxls)7@jnf^(BGhWm#Mj;1S7QFj1cP)oeBZ02V2M7*Za& zw#3x{d*7y%-UXLo0QwF3VrW}UwS z4;dLtHubsfiKs68M%D*dW(u8WRZW4#99eZ2bfC0M|LtD4YWnsIx#~8{Fph zmVOm2VqH8fRVN~6AzaWH(_Sj&FE=>lV6ujL0fc}yV#Iq8)I1DQc*OoU|Db^)P+|(^m8qFq1a}Gf@a3PQz28A!flrr?Kfv&0M>%Qc?Fb3yhr#%V0QfZn z-bCZ~qKj*-hzGtJV5NMZcYC!eZ}y9Ty5Sg;;L+uiikEV1Lj*{GTlVzh?Us-_q5n1R zdUfGIcUj?sFo>JXtj#bm^eAddr#ZxhOK$6*B`sjYi616efMmQZ2_-}&BIX7N+Jgwm^` z!&OqW4#du%TJ)X(@-EmTS`!^5<+1nd>z9TuS6Q; za5Lc`K+GY4JyPqzoss8*Vg)(PZvZr47eGY-wot&n6#!g(Hv5fev4*cF*s!_xx9Kt=8&w?C4D&JNXTEw+X%Si)dJngCC;wUvNrTAEi_U17) z@9QyX{#ajK0QJY$sepyEuvaqS-DQe&9xMB0O=|=XOhg)#<;@n&LL!*VlnX_6HJpe1 zV1-!K@(<(gZ`kkTE2L&?j{dI!Mh%Gb+KB#StbZ?tcYN`JKRh&W#+*#XiB8FwV*T`t zMp9c9E!Y5aeBq7p=xu~Q*-=TtT?<)16LbGEebim-F>=a#daoLJKc5;{FBM({B&(c}Q%m+2`QdkCQ0z@!}19YnY z9-?IB?1ljZSpsYR66jI?`91`=2Gcx=OWxYVCB6g(Wc=xp?$w0OOd~sdsV{&kmIb$? z(GcmRw7DfI`%;*B8(E}*0pl8LuJ7@x){Efm<<#Jn9AUmg{+@pH%_xJ-Z!`Q;cJwsDWwSY!sa9KfZ3vvt za8?Y%UWr~jx#QJ75Kz(Zwd7cCz)UvquqD^tr%tu;Tm%!}SXQF6y<4cfMZY@CL# zpNdj$jDv3$IQqhuYyC=l>PQw$F?&AqS9G2$DaR$-teQE|%S!+b{GjH-$f7d5?cIH6 z6|WvDy7u2^ay6lN*N31yUA1W0SGZUw{am9t)h&5Ywjxx=!Z9tT;J znz9RSyZ>euvIBOBd$KZ+8aD8%)xh|j+&OY>nh>H9nUq9&x=XV0?#)(2=HYt)K&OV+ zvBV|zAO(!>6>(GGbwLN`~{&x&#|_n*O6g|&K+?z5COvM?G`6+ z*4#xhxb>M%i*$R>msXyWm)+%T{)rRF4*QyE7rfGnpg(E^vg9Q~1ny^V8#|RkjJ^6T z!?<&CEBH&N_(%gjQhmboUU1I3%lRJ5qE(S|s^7ZJJUc~$h&_i95x#ZD^3!wpmm%VfvJeC&oZ3j)>u|oJmeGB+#^8`vN3E}Sx8JL7IXrIl+ z;VOgiN;G~Kz?ZjL)W?a@Mj8XBrDgRc=KR?Is@-Tc?9Y0~%tJj1!Mz(8D5M?#ki&)b zYBDdR-z}e)jo$zc-{ivVWMyF5oB86LIdNLdd2=tTuUG*j5F}TA8`P}~`&t4hqOIA* z&t!5lz^yZDnc48zlft#TU|cS==u90!Tb980f+RsX63suXibWX8V&W0N{Wmr$9mi`S z>_W_W3om!h3*4ie-itN6d0pcTMz$uL;Q?r@g3(-?{I19Eyt@0z#txq!w56klK=;to zd)v_yiH{7_C4G@(&R^ilW5s^rym8wpptSoSUSGZmmBI4O24lI3W{cf_5YyYLyfSv|gvch3^$5J#?IcUFkH zhwD4D^5LFJ+!-P1pe}?jB(RuW%lNA1g9|63DizlD)IKg~B6q(Bv>y`QG+L8O(~}c6_$Rf3WT_SlA>_(rmY0=00rqbhv$P_1JYNf`xyx1VdBe+^^JA|yh04$X3IL$?u~P%_!{0&By#G^WdFcuK(88TC(9|We z@B-Lh2CE)6P(yRir5sjaQ`mukz$NhLKfboX&Po5J`Q{JJojrVeL7Tvm6#yXBScpw? zfz8D`N4>ocm#xp%ZXwt1lkhw&77d>FV^3f|`Q(#Ij=`JvzVZRvmolS||CNihkuFcn zCU2=Zx1LL%dh(n3?G`M)*x6$xsnr?Y^>7=XsH2Fiy|l)&~{hk(B#07(u~!&ZJ_HB?#k{AZPbqev0+ZvJfi4#?WlInm9JQ7rwjdHMNmSmZUc zWv;)LmT-^HjX-*mH>QwXDe0f6#tsxm4$*^rSV}km4lgaeY2X`7hEWb)V0cZzK7dyK z8AJX_%)2}NnU;|`3U*S00 zZer^_Ok^={V%SPyxzEg?&VQ}nyHuvuFCJ4Tv%h@j+>e_=ht+XIP5 zhfu=1qDFg`QXgTr+#wezMyKZGE#*>GdIOhdlM!dE8(e60Li%W1Li6StLi668Zfn}Z`STL}w(;qW?|{a*(b^K8ejR=- z$X>2#*mv+I_2<{J5K0{XxYul1*ktWMu34MSU{2G&_#>DT&#?H zf`$~eMs&{=2g2DineW7-QUB=rf+?HmeWni;)7=|}U~3#m!Ue8B^|pfnXg$K!i4o7N zu_UcZ?vns7qQmyw`==i{L62bX%q0U=5X>cB$j4&B#HR0EqpD<^~ zhM$T7R{jED=8<*R@CaJC^Yv>vmCf6=xJ3TYT=#c>WxSIV_)6(YKj0PREIlj-KH`IF z1cCI@Ei^d@R_hEI|JndKCesfdf0XlPSRmGL%E1W@-_^S>?^T`t?2BeUF$e)?Mr$pV zkN`VmHx(v6O|DiyE6q^noP3eEw3JY6lV(}Sd=CWaklrAWE-Fkzn<|?@O>11EIQlNh zmn**#pok_dPsTr@%A}hbd}hG6-k+Z8NCC)P9>;bx9Q8KlX|mZ1(ESnrAuLEaF@>Hu z=*)Qt$v}49#5%5YLX^Kvg1kRXX&Sl|Y`ru`iAia;U$N@sf39nzUvBw&PGFXM?Xz1B zvwCBw^R|)*Obn9-@y~RYY|m&gbeoUr4h(6=eKLmnGCLp5#vZO0>G9Ix*v_d zeJqFLh^z$3vS(-KoQ94oO_DKzhc^-eS@T%cH-=UGVZ#b6g*kL4EmNq(cQqj;mG_zR zgKmRbvYlf`q|%v<%@SOn*45_`Cr}o!dP6;EbM{h-BNQm)50;lZW&5VCtfkPCvqa`R zT=q*4S^;{&uUtVW9}636q_}y2L3QKbeC9TCKTeySy@G0z%F21)jbyz=;SYs(jU++0 zB3lyoB4%)EJ1{PL#v>PHVMDH68F_IN6Sz*EVb7H^kNtetx)Mp)0cE0xT_+-?A=4JZ|ay_9a!e0qFT#L8)JhjDTWNDyBa zzwAxz2yjg^Ng=2ZfB=9-uk~iC!#&aO`O!1mQQp1=0|!j;h#yG03EVtt`?T&^HEINOQ+?h)ioTP^l4(fp>WEzL z>o(1c1zI#N@B5;YZert}Z2?8(9b(9e>`4e-U+>T9ipDZUG=?)=5&V2*KoE`*MVKn* zF^)0iqFv{&G6Vn$f&<3$&efK)@iiT#`daj0)PAao{$|%f#6k9ORkcdtjtdT~>UafS zmo~ueuN%r1{!}Lh)`EM>SC~>y43^F6_O)c?oxmqEaW1i!`yUxK`^ERb)@2 zTYo!`#PkpG?YwyK^#8l(FflvN92@kqkk4VwC(#G|L*d3BK$e$mLHy9~yZtyZ24hg` z;p?y*@Qvu3$WpxwFPp_|9kM0h3e?6_(2d0-v$_m;sa68>34fjEs{k+C1Qqxr5^`E;Kx`q^gx#yZ*OT2~F zqK1@#MdzQj%h5lVH_7D$b)HUg*Ku8Ry$LY?C&?_WEmy;!eLm1Wu)Itjjb%xgC0n^l z2W~T6Qa-z2d?Bf(cv-G*()?&(2$i{jwE$za8BZ=K)8k~RZ7%)>$)IT6dhHFrscMvL zISZj@}3J!f|^ThyWyPIriheyO>68-9f!HbtkvZaNyWI#Z?#5vrS8=xwQy(l>&4SCY^76AYStAijwq)UMW|FvuT?G^HQlGHz# zN67!?v5i;MaJNsqsP}P`kSP8MbEeOvPuH8S@ZkFgU9^umNyl~-=DwrDj{52bldhf4 zDPtr3@R^xez>GnQwN_5V%v#{}B{cY_PtH`kBla@6$fCKev*BM1Q%a94LI3Nn5Z=*~}ZHD~?uu+HoI? zXL02O=@eu-it#s-bALBWCgA%NrUusgBx&>TQ=W_z|T9D0LU2|8$I&3R&zI1} zVzi2T9i*|!I!`P>el!L<8qHS!2YV56GDWKV5v%?CPDmz0?uR^Xop9JjsT zlaj-N)Gf7Wg5p)v{FcP0G`fs!T&1Gz1A~tS|dOIQmUT@)OQM7b3+Ak7X z>GeQL=bzmc8BS<>)pKt!_^7Jf@BCH&#*h^T2IGF>G&u_Wy#hW5CEDoyt*gv+Uyp~+ zUeNZ{(*kL{bWut2V&{*oeqi~LNYa&y*g;Kx2VaF=8K_jn8l};f|Q~oYo8Wfm8^-fMhOzOH?r>2F8y8g3HbHOw^}R% z1m6FxqwQYJ%UTOX02baWv%hn}^SZtB6J@6qc*fHe+zdm`AaVgQS2$ft6xrU>qe!|p zN3HL-1uTfUFQ|Pm`_7!&zONVH+6Pv_0xkRk3>ey)gBz3aK}fpdZ3CVR5GD0}u}{nI z*Id%fK?2`giRH2M1$8aGeoWu^A&2tjyg+6B_|FxrbsM}v%^m?5QYonT`ghS~6>=Pf zD6=1}#bh&1j^Ir|HlWt$4)9EcYwI+U13*)nT3DkaseCHs=q91ZuJ3DsTct!8;O#T z&R>7te4B=&FXknJza5kEnMW=}lbGK7b{vTf!g;QX8^%{7GrGVTs^e+t!5KC$%?Nn& z!i;ZZb$|aU8{5H9{zYH~?pl%Uu-X-^$wmJZe-8OheEDxv1@2Gzzv-hLdh8s2kQqXC zn7=bqR8ooWx6l~0VRcC zQV#q|@wLP5`SwnBO@#&H&u5IM!B>xJtR=oDqi^*N{QU6E(dIsDm}>wh>hVN!e#FqP z9^=1ZKeyrnAw$1bx{n+s0*?xcoEL;Xh@f7iv9dOu{bc~R$XM%An=IA#OmFCoygTwe zBMBtx;`Jr$?!A*eWHatY;yO1Gaq9u>mBbsHwJ)-u(rZeYuKh)*xVKWsbQw1)3uHcv zeFr69PUv&`9J4+=UGA_bAh5YUY3yEIAqsz7TgHmbq+iN>`#q1f(geZ$QVs0*JEz5UCHa)M76?lw?c)rK#~#5uHs z|9Tcm)b5v|Yl-@r>GT8|#f>5ijmlDZzvk6dsx8M9)x}o*&dG|9Z>8;karQ@Z2 z?C>IsQ2DLs%Oxc4c6EONc-BonaG7{ER;yu9N)quvT@-{bpBE5B{4Tb?%rNg{# zB3$B(@(X9^@dZYP;J6Z11o%4BY)3UAI`>E`E{+vdPd?({Ahvyz-UQ>f*Y3e%O~6>X zn+8H`s0Ri9(SMU)WI@udm}fou%RL4geVOPoxAP#PZBEF0=lIp1x*uBIwdI~{ht+fv z%+Fj2cS_v6=bY)LGrr?3(|q&aIP(Q>Z0RF;50+bxFrVZeF4SR3b){RJKU@hbyd0-k zGrDGYaJssf@4Bq=6szPB8Sjwk6z2UO4}c!}r8kHNDXTQVzWN__^J|MtB5+fKDY7pzE+BT({)#9nc!n$*o>NX?Zp8P z7^!?Cjyb}pCLtRj0}kpUG3Dvcj|+xK)-)EZB6}t07O((@-tcJkEI{$jlANMIU1t>< zju8~|b_zb}@9@W&c!~)jP!lwYAX?I0Qd@j;6y%L}36VYJMTojvs_H+JEi_*rW&Y%| z8V}Z`6(d;BAM}QIynV5QR|lJ2PoMccf)S!kt#Lj92U|-DuUgU^3VUg2-d_)Q54|A) zYj?!Ks$D~&hnv-b^w$PA8nCPkAg%FuzIu_GS0H!YLZw|Tpb2#1>jiCnUi!TnsZ=8? z6TBLnP>O#TZiM4*Qbh94hHSWafoWmbp~OZ3d?<%SU&}jLF(J=pj%DEr7XKEv(f$1< z)97aF#e>pEEL?zPI2d_cHbPi&;%aLdX^Em0QFS5PFTjL7$glrRjJQjP|1mf$Pw$38 z8;0uIH1y)R`~2K7>3QqY*RJkvb(IZH&KBkn)TTk~um9PLrcO>ckhzFI620UcQ-6&A zo#OVbR$>Bs?*~;QL8nV?IsRAFs*!cZ@arwTWNTRqKA#8lpOu5@e7u7o?QaO|Pj#cJ ztdyK&f|g_F$c@$yUa>*kAoAEs6`a&$j;|#ts5yDQj7nG|;O!3kYFzMndw%7I-dTy~ zRp=xO_KO9n5=B27pc+V&q|0;om7pWV(|!FT2`HK}PiJZlO5pYY ziZ?omR{agInjM{O7je=?0R?&V4mGY4Q}4}daU!l7Vu0G6F%A9gqu33 z!j+7v*>!vNLm3{9y&JapGEBl7;I8y^oi&gv^k0r>K- z*9zoLqSY6(-M3>fk!9L)zQ@2MqV}%yDpo$co&R(yxDfxJGZim|whL)Uj1xUOSb$Q4;!n z6Oexk_dDL_Bv9{3=r97bde39&kW(W>>g417=o^S}8Hej{x2q#P8xC=yO4)$V8XLox zH*lra=r4@w)NS?ZP+jZgBx)<-bR=Y+lUlT<~ds6h2XQ8XK5IfVu1w#s>Qv`hK@U|oZM*))tnn|yhC4VRRV z`r5?G;E`{KDME>YjMDAT*j_@x-w>w%*W6Wh#nCj;Wr4*t1SdElKyW8WAh<(tcXtc! z?jGENI|TRO4#C~s9Re)xJpbZ7XU~3|?y0K2C3CxKGR8(+BAQz>l*P}g;_^0?_pR${ zVlnL3bqX~Vh!{Jvf16Lh>G45kE!~Bc9T5bULgYsgzsj0;6Y8PsC{YQd3o04&7lr%U z&M6EcG`mdRO1cQ&^1K?_#K5wD+{XaRT|^6T`(f#SNS{96(yy?6RZ zKM`_eaZaF=8313v0xz;2DHs%&3tAT7od#h`I3^i^aMJ95c1e!n zw#$piMN`#)ky5r=7+6`!N{R?P7rAa`E5D%yTWyXl)r$h5&xQ7n$68;3TepM}t^27N zU5d%|zjqBg7|}1Wg4@~#p|glU8FsLPe7NHVAA%?cT6Dr!P~(&`F7 z>&^1=9dQ2s>nnJ(e|){lYj!IxQ6ZxO?HavqzkPY@S+uvz!F4Y3AixJ(;>)AH;;%ek z#C>14a=PNH7OD|I9sQ*Y3Mj!vE((sd)(ZAJhEl#gz6h+&KV1N<%d+0_90!P~QJR?@ z&sAGNsHq2avP5PGoFB^AIQdhgFW)ua)35bv^9i56ND8tb1cXjCY%EOMs-C^Klh*zi zKS0i3hTFsSRu+REbe50*xsl|ogs#NA@;TRUHup0b`Qa+`vFRQCORNeN&rbYKQ45C+ zVq{q-AacLVLGQr8bdocLfTX{5>sx&5PI1%qN3-k14`#nxAPbWUh8a4fQC)z)d}`8z z>$muJGI+^m?!AJPXl&t=e&7+HTy*Nx9y~ zU_gK5@pzj$$oV(9qnE7k;fii*RV_8`I09pL+heko>vuaTcucY^*8l4ko!kIAnVD&A zgF{BU@Z{HNoQh5#SXQS`W4AH^^vFL)?J$G18G40#(`hO?4FW4CbAC$hT%8j<(h_Pq zP~FfpvWGf6KQs2uHxjCKootRV0>DJd9K?7w?rVN=+C=(P3`?2{Y=97eP#9$$lq^ey z3{5wY8_%eKdN>r=z!8qj2oho8*sbd#B4VzE9~{kP`gdqVdGPEq#H7I{>YKj_zM}#m zF=+~>1g^}>e*fpkc{{uQbY6s+dqzLJV%N=ycW+42KNZq4x!$e{YM(FOMmtEs4b)B~ z*dS^{uhA#(0YI zBIe6p<+orx)HgU7j@{-a!J6i$gY96WSmvN|(8-%kKgvJZV2t+aI1W@I z7X(UxhfV$c?ecD;73ZSk_uL(fpax~IotrnV=f@l&iD(Iy4@|bur-@KO_sc9J@qfs`5pM|s2ja}7;QLF$-@&SqCD(J)V8Z#;W~{9N zL{qtF%AApD3qQccDR}S7qO?+9imO%ksckqR&2t55zfH8P;&i&7>P_=JPzYOo8%YPk zMb7w(*QbvUU7pvAf8vrv!}IfsUD9|uy?65(xHw&At0N?Mkbs-F0cnH&X=aKAbA~p~ z^+9xc83T8p51U>26A~R5P$&Hzc+oBa<1IsgAxq|}DdP-d>T+U(8m?GAN>45L(z+vW zaNkej%iRGvMqx!M1jiWfx3Z?6eY8~vcmgvFQVSi&>&3e^+Mk6(P6KB_k^qwL+}EDp3e51(1rwXcf8(j!5v~tk z1f+QY_J=JW^a3aV{HY$|u~2wLuDg1<%6VPud>C_{-q*7|L^{KYu_JXipL2;OxwG00 z1K4^vRoi_pFfyiM_L98~Q_b?ih1GY3LO1)a744Rvm6RPAqQ+({gb2uC6qXQSej!6t z=OCBCZq@_hcAAkj)$FmSAH{tFNHhO2;isTSKNnWG4_rPBeZ=Ury5=T%_JqL(eaOGb zn?|ro54@wVwr>6^#=9v~?U%PJ>C8mjBkH0?mOm#|a@&A3A6x?+&%g?Uu&l6!d$A&j zs%*9@hjRmQP_pzyjXtvfMwcOcr^gL-vxle!FnCycFxI0pA{48aOe|XLf>z308K3< zG#)q%P-QcgYb;kFySQ~>XyZbN3LAdd!rk zhmLC4$Bp#~(}jf1$@~&AnaRn?V|Mz0X%#6p!;Qwn%Y{lRk_~DdXA`85+U2) z0lty~=%*l@Us8UrLHwm)m33c}t*v<5My9CSLB3h*yA8o>lgtRxKoQrpM$@6=k>m&O zfAxHJ7+FdbMcPR}L%>4u$DTZo2{U%FvsDaj!&5<@1`Q?HB4IIt-3;j7eQUGh*!8ML z`KhR>7qcHN-Ay3UY=>>BStuIdE(W9TGh_*=YxO_TqQC6^oVsPlOLuT<)@fu+|KS`; zh<*IKH2Is&2NW@Y#`QLrs^{)Y6BcBFM^lt1zezFwcHNh4t$k**j`<@MGj1FaCdxs* z`F+PUB{!!xW@NjxqT!v+OYo$>b+Ted9Slb~VO$Iq3qMW>Gn_2SE)u-ocF{QMLz61^ z)!Yf*PPXi4#O4EQKl=(&nU2v1FNa(Ln<%B<5;Vh*G-XYMa6_K+8bLm&GQwhcxS+C4@uF)0~=(K zAD0+oSV0~vJF{Wxtt`B=LcDSPsIQPawxE5de=me2wp5#IydM5k(i zOLk%4w4D7UL?tJZ^_TuF(9Hmt%IN8ru0DeG`U=9ggOpMG8N;_s zoLin5t9QPAf#T=A-zj8tHDr@>876X)=TWt)FY=Rb1-dK7}RQ!ve|zs~&Q^kb1h3(BQ=Z=a@&*(?Dp zF0RRuO90NmOWw)gYS?*ab+YNSd+~T)KYVOqef0Xl$NM^TDzDe_FVqJV$3UE*B4ztF zA0OL(ANURgIiAxm!s(BC<7Ecq_+^!7}2sa?^bjW`eBfAZ9|BbA3gMxy@8>* zpOKtI1>Lsed9(7P9-*N5a`13wE{Iw1Xb{T$FKN_nQq|?LDijlw=5xbVl*m5ozx*|B zoaJD@0(2O&N*+8xj4DU2bWR2_6YY zWlsm!Zv*#2gmzF@{TA@O;t0x{O|%S#*m``j&ln5{KR>FJhwk+734bg)U>g_b&iVF&Mq~l@5U}+<<}byx=ad|k}U8(IsxzSg=?N?jbn+#z0*KPKXJ{bl-bIGERLSI z55Kpz6qcKCDbiAna^y^`zd5nDJ*XcUx!+OKn zN$4B=?{Pcb0#FSwF0oKNwuALbedo9i-LA4+mdin>`xM+$YK`d`$V66dHnpvz88;0A z*+27}YcGT>&&h&dw|7{K-&vGV+T-GYu0`;`pXNYjsA^nKm;F{+SHa_-4@+)^=r%7l zvo}#5x2B)%t&hp9X_#(dL6IT>DbomgkD3S1_x#Hb&82uB;lIM@`zsXB86Q+5_-ZU~ zI;!fbw(8>VR{~6)@L{0cg_R{~E5$RW{rsPc63z?A!SI$-o{tS1VYOxOxCwAGCg%1# zHYPaJNs}278Dy&L;-6I3Ym)46gDrU8;lm=()`?ZQHxV#)H5p+{b9u9ap?^{;o_k2J zNYz$~^6Izh<=ZUSxl_t?=Ii!0npmCT;h@Bf1H#1x3S5t*9OK+emyHokPH9WQwz|mr z)~@XO*q$_v(|xU9uyAIU9J-E90LFso@{I9w8dUc`Dk zEr?_5q}7yik->|?=)(|t^Zz9{&+=%rt$d>sFKrkZ`vgPAMc9pRZ&>y&RJgj^=(A{L z`O>Usrdvh@>j<7o{#|R~B~vK`E)KOnkE#yDIBxV`%%GtRPgvDn1G2Yf4L4()1_9tE zDT-i*YGv8+7>XwQc+k|e71D^D#Dl{2>Qa>VjmhWlE7}*XTY7Wh@lmZV+>O`X zb$PpIkAp5U@Y*af;pKk(FDkn1x^oc&<(gZxPUJ+=l<(6B-fx~JXwd7I@Rp^{6}Ye+e&5m|dK-7ubWB-5Sc<6S3#zPuDl=N5V}SJFO_XYslJu*LQf&of;QG6&Gznh6)?S zbovP_GB@2`N&;;}S!sz^Li^%iObpVhDa3;Vi2_LJvS=Jbe=O~=&`RTV)T+Abs*y{k z^1MFgKTPtYjzAxgSrgE9$%ybq-`)jxmp&wd&ETQ{&v_i>@#C095Dd)t{Bd- zTG4jjD{4!9?N&ZgFQsZ|U+u-@t@9uRZf>tG-?CI7S&xi*Gm6n=c3(o3@qaYnU`Ko|&lhOGG`bS}#%4gvXQ8#DR{U7&*S6l^g6lLdIvA5gB%YzZd{vOS*5{As; z^!CC!)+Fs$`P4V7ll`){sv>rLnpnt~5*j=NwSrbJR4YRuqA20Mef7Xl79*JDcN1yv z^E1{_Mo@|(o(w)SJ8Ts)m+jMhsD4YBh}rq_a`4ACn$5U_di6e%N zzAHy1^GP2&)Hr^BFCB)uGdkCq(7B86e zze5vP<(@ghvnrWJea{s8`e70cirh1cXq`aGbn_xqRTJCKn0IoNXZN=CT)DY&lxtYtQm*%Q-SL>>0BJRCyB2#|l z-S3D-S%LWc+

oRIIh^AjmMqp6ffDCuK@h7)FQHm*|IHEl&q=zVcT8hnE*J^yvQ0 z8XU7wcbc`Kj=hr*zfn3P#g=zOgx<}Kg{b9a(h&kf#6P`|CQ-jcbeiKatfntCu&WkF zIkS6OE?{^HuCx@sxw*GtebN+#DvDj(+^k8zIqaRuKKQd0r;KkflIoZ%+%i~dM>lsu zz18(zW7-)ES+%?w%#rP1gcv<|7X(2k(P6e>62=ssQjHu)L>sA)@&o*q?_dNLi zQ9d3TWz|R$_jBSKBEqQPDLBJoo0ZsW)>izDzKa&HHopZ1k7nbY;Kj(2bhE+6=F``a zMzN^hJX+g__iQJzcrm{m-rIFSpN6Yuf2`YzMQC0L5>Q+Gj;rSKaAv4NHN+6B~nd{p4TA&38OWkJ`*8V?Cj4c3c!UV0aMgsK?m> zAN1gwj}XeWvl>4McvyvK22_LG{uTd|lZ`+Q=(u~v!C2~dZht`GG_B%T=UGC|KakVZ zky}muoFD@45ce&==A|fZU3=QU;%%VW>7YqAw!ubt(3&xMi>2?y)vL}1Q#-T*X*k$gBn@p4Iy1T%5 z^%(4O@%GvNar+&R?|$^t-E3UDm4;rYYp>2IbiAv1myo)&r=2onQjVn#vpBHZvv$CD zyqy5+(Wz7ddnV8z$m1jCISK_Y&R4nwzjQ?y5kE-=wd|i6UiR^zBxl@0m%T;jhw)2} zlnl2swqGhFIllk!v%jRTyw^7^=37~^5<3?p2ekzk{IU3&I2mq|Z2O<2#S0P8bf4Q# zF3r#ebV?VXmX)Ha>x- zm-_)G)^PU*87RG9HUV5!c^iq;{>#aZ=8~lDh#6o9A$g>6!L&+U` zAOFdS+abbC;1lDb=kx{ul3yOtX=d0QFoD5K_m)e-`+Bq%>B8!Y1I$1dGBd|x^&sT5 zMHsya!%HPF&IpPR+{)>=Ufa>b=OHGTI6)h37lH9>FD;uhNwxX+d~Y{fMc2iV;{rSJ z3tt0YSiHcDg>!B_1hDNM@`EPj3~5U-QQk};YcIl?KrA49#mot#crQoxZc<2^p4pjl zVWv)-Y%|lK5hn)|{D)cp5Mo>&712ni?K(;a_+{SWjlt<~IH=JiSz`_=Wr8X>3nZ<6 zwe$yS_ZZQuwHXEo+ss~_>W2+09Y5!+`TzHENCtGM?CUQU`(v#gm4D z#=e*VB|b~3(-P+uh5Z_a#p^$1d7F2`S&JV#mrRNEA;5?rCRG?W8 zgdArmTx72_tqIS(M{6w#gxSO;P>MevTnHAD!U2Ct04UH2lHb05XCWgaV^O{JJRiqZ zrdZ^!MXQbxjLiFCcizn~%=wYz?UbTx^J?*aO_2A#%R~3)V&X$af_p3&#KRO>RjJXn zH8KB8ui23?8wC-`2;2gJTBq_33Al~%Qc`qc%FFG9#h>=#)D4;nu~?H1`^$|c4fX61 z{-ik!ttK>iy!slrHVc-acR)v>o_f#I;h`)ajhv0ib3sCka9R(g)TDY2;=QR^0$K&> z^EaJZ`YC=eqLTqEF%UPRstOOj`A4pTu@65JpWlH&5!pRkm$pCz#sDDqH%;k3bW8i} zaU-rsnYE|kX9XK851Uuj^0(B1POeUMWC|cMyfK}#s>R3B`8K?cj(-;>C~kWf+Wz&* zXz=NI`LnA2dwXhIBV{MG&Cb-n+*_mLaJr^&)$nYS?X+qWH&mGq@XL@Bi8uu`HL{mvE8l=pln7jb! zr45%n{5F);XIodT#ey+g%WMo}kdgcxL%FrK$ae*nlOYvWiazL&dt0(k>p4!sI+rJ2 zeH(>V6Z@Rb&hyxSH0)_Xm@^C=4O^`Zq!v#~qLF6xDRX({PDDVbvG zKHl#9MfX7jl*D5LrxEwxLX{qNH_xixB}XWGvgdPBmgl(0*~6HS@02Jo{*Ip1DJhlx zmTzLe-PIUMTETr^z+l+goge(S$h^JP2JF)qa|-)jw!XMK3~FtHmBAiOvA%8#7|&2W zYi``Mn~*s8NHAy^Z)GmW;%)J-)`{T7{R&?B(H}S%GB@lzOWIADfDPTiLKCZ+d_(?a zsnlLZ9+bZ{O2nuJ`czAy6I12f#6D<&SGvY`?8dhKW1pSsf-jhuyN~1Yeluw41D}Y2w zs~NaIC7XZNk(+@_MVwP$#=q!^zqBQeKJAyNBPI9@pEerT(!iW00AlVoOeMqr>&+zl zvI}61FW)T5#U~k~p+Y|}DD9m<&g9CKUirDUhxA(U+WY$fVFVa`8dQ8_eD0A`ANEuR zQSl{B21cD=DNUi~+`eRs+x}L2_Bw=*MHmJY9H^p`xc9QYkR8-IodD*j+ac)Cov0nd2~UT=tWidQP-_r02v_)-`=o`8Lfz@6L9oIp>M6;UFS58)I0mjjL<7 zB1?OfPi@);jw&e~(j?sE63~ey7Eir9>#H65irN=z#7h)F?mV=L96kzvcI(fz|Cs!X zkd&YO?xr^u&8I1q*M~Kf78DmiOD`h%jF9S8vXk;}^2bYzNqW9W&dyn&-2f(pJx`d6 zeP|V&Gad_(Ct8+L%bjaO<*1@rq!Q1|ketv*gzdRSglrGmdmUo}RSU!-@wjQF&8P$3 zSBg@Mp2D;k!NO2aJ^bfk=x6VZoYROq+*Y04zknaYQKdWu3gteNBM+lFUs_2YPePT1A zG5mbj1-)A0q=jc*zwiN=5-m1So?A9)ntRiEUA}%;)=pvNsO*`Fq(>aX#$*l>c!%t4 zKd=?2L))N|`&Tj6W0GRFRa4=pLL`kJRDAl$IWaQb&=_kx1bAhAs_D?JZ=?gtfrusp zao=~QP~T@dNXRg@a=oyzOz782Pr39W=E%HU4cQ_1*dNyV7lTTIZHdV1BW{k!;e^hv z>ssee$_1NuLylux!1w4P??gHI?OlcOr-FSvl7Pm68M}Uinh^jPfMa;S^PFJW&-Vb| z8N(}4Z6lk^`Rcuf%s=(behQk|`8gJ4$iNd8K8p#sf^W&pe>Jhw^ZZ#-PEOO{bg7&k zeWQ)HfaGtfnUHXq)MtC>B82qV*TTy#Z$)%yNt-u^+ZbvYY_oSfkdeBo{?MdCvQA_| z-&AhVVJ;3ov41P!KLs>T6GoJf2~er)HMz>|(}V!_2yATREE&jgfSmMk>#qz@ugeEt$NVdk7sL4+b=@?Y5;nffy&i}^fstwo-E z;f+x1vH~4K4(+eI!|?`v9Z!e-2ZaMmYlWMl^V6M+dPCgvaRHAbC7Ab7_S@y|EQ#n&+YO{Js>mgETe zMJTQvO;IIBp7$+Yp+LgY0VpxnX(Atw#UPU{XiT`?q7rAajE%;ULnIu}zjs3Lt@0UJYnbG{prHKEBoC~%zNGCYsC3LOO#N`#T$8pffie}|O}J?9C#10GoA)cK zk-e=SPB`@lWkN?z!-N^%@9{o$accirJQW9zx~y6^KAYC-JtbD_Amf|G*$_vu^nIM+ zr$nIW;^}m;m)=;v?EFuckq#DLdUg}0o7cO_+(kBHQqcU}Jgs!-$w0Exk@?GHX@aJF z-i!{vijt>+vagxki@|PfL1>8HALhTowxr~y05s#$xerHksQtDsYpt|RzR1#L|jqly1 zrfw*;<-cSVqE)GAo64x6;g_-4;bA63_Booko0J2tl0Sjgjiv(x zsB?Z*;raBUG7~dnuKdI4T79YEpW;jXcRPDt6DQF~!>oxGIo#p=R1ZzDl@M`2h-r#C zXvOt&U1bhBo6BW|o#X3}1V1zSO5_ZWgxP*(MhjJZ>ToqTN~+H3`6v?+In>jKOw-P%62QD z;fLhH2gCPq!=@5YrNN>quxawXSBwdj>(eFS$8ooKG56ZI?2+WPOpUAm?{Pei4b5N< zoAviD^j>Po4L_>N090>ERzEh$=nEpxwSu6ga}E&=5Hu&9T(8@u4AS9`7Wm&yi`?Bw^A)K*@y*(%g9gNB~rg$bjm z!edc5=8zzA^QN8_L(l=LO#0EK8Sk^TQZzLU+v{}RZoGn?wO$Rqt9}LFbQZq63~uXi z(3m(NLl#9z9Z3y~#DXwzROFdK&k;!Q6-2fQIB`nwh z0(^w#KKZv#L4H-o9yCR=RDo&GN8?sL=P&C#4qpE*XNT40jk)=eJ=#9@;Q)^xZW3Fh zKU=4BtL$jWpIgyg-__h^XlQV^%0j~}{%+(1wBh@Mzk@1_$3}_J@(->h9(bPZ2N%!! z_rYm>J?d2<0{E~8sD6G`Nahxwvn9=Y`o4K^lc;zIcMNAA#rM@Nn&&gQJ6f7sB2NeS zybEHm2iE*VJgl?Fc%#Z==@mVp*(PqwsJC0%)LKZR*HJE2cWLQaI%ifp`e7hVr_OO# z>Zz;tQUUSmqe)CKD9Cp6H1?iHMx=&|k40guy|(M>&GcYb{*7-SPK(S!NDWQrkRk<{ zUQr}0{3x$4DE%)2jpt6FloTJw(mN6gr1lO93;(kh#(R`^?6_=`C%ub*I-&_BYF#cQocO=Vgy>#NtO$?Dd i2vhj~?k{5I4IxS{2X(j{UK(iM50Vs>`&K2aAMii)+Yz+@ literal 44836 zcmd3NWmj8Y&~FIt?rsHIBsdgzcX!ufEv~`6K(XT5LV;q%-HH{bxD+i?+&#JH|J?h0 zhnp8UXRWO4Ju`dsH?y5=+&n>`S|%qOh%oS^iqlkAz{a4!0D(Z*N{X`DAP^XM1%uE~ zfXB7p+#~Qn@|0H6MFT!TXtuE+5FJQKR!Y||?|9uek7_Vm@Z7@tZZ})4p+R_`z4`+V zk`hw_lPY9rC~Ol+K&bGetINj2vB>Ih{?wLt|5n~43ZeiRk|IOg_dHKySDdu=j>FgFf*{JA+wc~$3kgnvXs0pJy`KeQfh85sFg)o=8fH+W zZ8*d3Ut(b}PD^#?7v|budkd9dHUA9lqV}Q{>bkbM&^=vDvj?B#^x3Kv-Le%TNo7!I z(7;vuCV{r%J8PTJN;dfZ1~+${VMmtDnkM@K^m zDyli$WGYM=LHY1t!eQ?4rFcYoCN)+BIwrkeTbyi@TvrcyO@r0`6Uh9hB);_x+&%qf z)xzl*24P*ATEykfIv~Z^Q6;l127x{mbb2N-P@E1tjhrkYYJe=Fghvtm8wDZ}$`Ggw zqR82&)^~$PJ1?^rS6|x4xTR$?HQikw+}Ax)Q(Q{;H0+yD3Va3*VJ~<*#F}8q*qihc zdjo$hyO6Y=nN@tp$+KJJyy`z647vu&Gv4{kSA4_x5-axAQ>R;?4RPdKoEUjle=m{b zOuAuz(V#wlE4`oX8W|dnEDoxMd^7GT^@czYYoov8;`yl!;ZDqZq%E&ubw$o%q|g*3 zV*ZZT36+>{f4vRrlEZ%B#dz15Pt()2uvPz%1x7zD#s;r`T{X_GsQ3o0^3l-`yF6w0Bvk%-2@`@PC&<8yY{ zPSa-0&Vh{t)5LYA&<%#v3=ymGaYi`Jw!9-#fXB0;-&H-w041u= zM+slssgZ@v?#)rJVHL&ZB7oqQ&AS1EY5aqlJbk{N#tug-tLm1;4EHJ>SBywdB)#Jg z4MafXFfq1JBnF$u&GW7EOc*ue6iu+VhYUP(>oW>&O!8L|eQ6$IK+`%4sz0bpDZCud zGXE8m8;f`DYA}sTqL4#wW$XL6#1m4}Q$8iHYNg4KGDxyok4G*juYijxn7<}|xjSPJ zT_DuVaX))N{~E%yOQZ}MNjI3=t*p#3YOf0jn0c@>L&g-7OVXbx=5hPAL?~XqEKd1S z7-^|0AztV3yv)djEgo<`2=i7jC;Jm^xWg!2#ssXP`(=&;%WH8QBhN&*)KSmsqeIef zhcQy{=G$bod%pdBsxrv8+od;%HJIW)e4TC3#gWn{!MtY`IHrQ&?VSz7IyXV8aylrb zqW{m2#vt_@Q#i7oXS@NiZhLu^fZojww{dhWgslFvji%NHIe4qP2S+U zvt`Kh?$W3FVy_rQ#UEN=$q(6G!FCU8(agkW-?H@mid%jzBcOPgg;F+Ns=(B>SPW2g zk+)_XH{x6wHK>+6E|WVJu|);m2U*jtU*M-=0c7Oq2)1~+9mUU%IqzkdZgaf%kp$bP z|LzF-AfMG=B>XBZYzz21H6v8yd~S4u+V8$MZD4>*%{M60Fp2<_O8C0{rMmjfFRofM zyw;MUS+TSVEPLBZjmJyuuUKjOD9;h@=z%A0=Xa~%z=7IwiZY0!4|05&WeHc%!9m#; zs*kwObxR|X9G90qJWtnj?mHfMxoa&8Jgylo9Rd^U#v{U zexx~C6ZEG>u5a!>ZYs3d*&~p%o2Gir6#7Yqu=X^t{p>#?E}v|2hkU<^2uN>#GAY#L zVdmpx%id@&xoppAWB%NRc|yFlx!FGQkEEmgl>t3+G+`a!kiTyNB3+$) z)AoI5``;bOLI4S5$Wm6=Hk0E*g^iA`mpLYdN?Vy#HB9Y&Z?*qs(>~+IsX{ShC|Cg` zmjt?`k{f9u?Xww+P`T>;8t{tce7x^#9BVS2i#naHx}_@Z&^PhOPY0lAMiy==>Rv@J z(9RH=^q!CxO&FVXIl>#&s9(CQs!{!9KMtFJk`=A!eG`bjNc$v)Dv3GC$GROJ|?L+iemT4t2IZdQe^kZOmH^>78Q5{Yy+ixLT|XzkTVMU~@Z{0TrZ z&0zJo2hRQwN4OMl{aM_JuygJ_G@AbUO#~`j8d>Nr*-(j0Z2X8V0dXL82@f)P;FERe zo@TK#7NbIcu8)|{vqJ4NY`WG-gnpEd{1Kf&M=QiNL~3e~*g%k->m{^jQZRxNFx7IA z?}CHOsH7;ZyP8=T$rGqO4OjpHa{(rrC-0;ysxbVMO1}FAOz6^kf?u|5gx=QU#=P>` zIsa*%hebWuDvl*{pqT~MtCyOX)&tAwSbDxj!=@a@aXaq0o8O>%yr@@0)a6s;k=_fo z9!b|(Hq)K&tlS>T^!(*^o!RQl`##%35y$gG{~{5#|1Cp$ptIKgJGo$Uk;=}G=OQY_ z5dQVzy-x06vSAt2_Z}`Rx5=)qAQ^pox>mA&=l2VrBwQW~gW*k2 zaozi~)TG%fJo|*wWqI2^7FWkdIqpuT+Lvw}!+V0#_Cv?3pYb43=sIMY+3})*_^-Qe z97m2Mb)-luJJkSH{VJjgru#J@MDsTCrF6Ca-L4)L#YR-|fzp8}Mn=Unk;xE~eIi1R zPE@)!mA}({pX(j<^XY9&vRKY(>&P4s8I{^9AHJH2k!C`_Svfu20RD%&Uz9Q6!gJIL zgIXG+)zv(`Suiq&w@ykypnQA;>W-x7Mn(;gOL; zE}Fy~FI9-O^XRN(OCmsU=vjxKs6mCUB?BTDbg-F0Om_cBGp@&5Yqpvz&EZY){Z#T< zJvCu!Z?pPC*{~t3tR6(A;ywafV%h3O!bn$HP|QFt$*}f zi_A2pY^jK?xse62(k#s000IQEQG<{ccy2mciY|~&Fqti1mn03+y0kS|%g;0=a(CdX zyIU2qVUbD4lsTfczMcj)FoU%@{yLK{=z>(&f7+e(M?z)su{qk5ccBbGP>6WK=a$hV z#ugYXSg_sHWti^q-HtPWcAS|2TiBKYTc{QB*1lih|5)f~svQuqr@1a4iRcutxj&oO zMX1l0-d;Iv&WHFrp0tR&C!u*)O^W~=Gkj-#G%fE!5kvyK(z&3ph_IA#k;gKFU!&Z9 zd^!1RaSH!DaYr4%&JmW9r+^NsH!T`46L>OnZ4qRD-8Q;6d-?k&2~b2c*}fvW&DRR$ zP@FPiE=kW2L8{6(e=kzTeQd3{%*mHR)ext)M}C^i`Xd4KHxH?nNqQ;V!W znMjPq&`{dDde;NFM0wQTSMi|;0_7OI{lj!8yS5qlMDAcKhl7@?7YNaiVvX#E~ zX3qO`Clv@^Lb@zD813~%F3bV(q|*cvO6cfeW{kP#;}X zw7EMa?vEQJR<8!Baj8O>>_}OJBM3krd@47Mo6B}e^FJ?y%l1*uZVQZlL>0rQuEwfbS(wOgSr zk(q40|0el&2^gIZP7j8Rtd&8YruLlTuhWI1n1|_13F`ZO7I^TJFM_Pj2dmV1pe%8( z`rcCH1N&HQQISj9T5!a`jC!M}cpwUnssIeCKlPW&v`HtL&wTdvyYe)?{*;;bBby*u z4?OE_CR-0Yp0@~)P~jlWAUjRO3C)*}p*aN{&gF!C5qLHt))ERa2u`6DoRApWaU+aD zBk&$t=rU%ni~k{x;Nfke+faKcbm$GD2BTvlAcEquBK1%t%yF-!l%PY4Y#MO znI@$k)=_65A!y-)mt~qbn6IA8O?=HDE8bnCP-4R)#$O^vef#2B*ZG0}ZM;3pOMAtu z(jB}$gpqo}%~A!rp(L5a{7@`xY55_#k7!JbVLH{R%exBRmy4y%_Yz@i=36$4LIUxL4A_Van6t`J;yVc9 z8>q&$(CAuLIB9WddfRPqEp0Z86J=2?4X8Dd*IhCEkPH%FiVSB zF6AEt%%EMhc@8X9lgpV&cM`#eNtMA5Jt++OOXY3Tl!lR>ueoGoLL9VfvtRS@A#n!~ z1>Mu#PfNvq8o(obN%^GJ8!M@dpDUP+!TP#4eH0yDEnYyd`HE?=_+EMIpo`+RS&!}E z<$R`k+BXk-J|zi8;lpa8%k8a!Aq9qoXm`p1S0Y!CUO_kb!W_K!HH)C zeW^fC&Ol)dUh;UB5)FQ?B||GzG-9yyeTRm97-N1v57X$mzgq86e?(SV0Q_?2r$PA)bEfWbwVRnY*-sH|f6G~n7JW7mM+yPkD9$fdmH0Q-H z^(;>#WK4p8ATw1^=noAfLAoe}z@rBbj#lDns<`9_Tr!1I1+PUYSQN`}R!s}clS!uN z1lAtvmJr|~Qa}etPVcn;)~(O_=WQLkc(}hRZGW^4uGM-y>NKr5O76eV%w1VYE%IX; zYz1?Q=XFAO{Y_eMZ4!;*KV&8S{|GM&d4HHUNb3eyf1l=FAa3>Q=8HIb94l^LMF6D3 zR(P_y8?5(d=!+Sbk*ycl8j$`dHALeylI$&>$%-H&2sFeenIBZC@o!j7TAs!7ogvoU zrAS&T5*aF-Md0C$58bjxT`e=RJUg4Fi{-5}YXQYKe^*V6_M%7Q-aO{fkBsO;H~8Nr zZhLJRJiLC$)3t4AnF z9jMDT?m&$Yq|_FDverCe#l?AT!27&7Vw0u0U$h=M$OC%Z)m4G0ilD=PRB*gQS4vpd zVgXuAO*VR4M@BYwqs>BM*TQF;Z@wbP3&4eP5wVhN@ zlKw~E`Z<`YIrEBxTq`n}zVl+wu-M{NSK4PPyjNfN`iQW{wXo(F!A*{@=K2pcJH6{| z*$1!{o-UTQBrFFmVjwliK*7?RYKSM?M&Yp?Re08M)dp`lB30_Z8}-Znu*l$4w|je= zd~2=;*9-Medzf=aqc+WPnl%}{G=-268XV!Ly*L?#t~ z1*?f!5s|Zs1I|{aY?j;iPSX2Yy8e_NQYTGWCO+ocg)RgP$oIW&SqkRS{`bh|#fT{Z zXqrTjo0G~l-sD8}Ug5J~4^@-2X(8(%TZY9_)mC>=^$0^u0;V; z@w=ftxW{8-ylvA(MoMfJJ(19}P|G7mo{qP0UZn`zqB0Tf8s^oed{#^$D(woclWec9 ziA#k@TH)me&SEjqLT|_82B9+v(fUo{H16~3QkL-+7Mog(NSZ2Y4?W4NsYv}FNX}Be zLp4~PYdti$RIQ|_Lq1I2M@1#v-zd^VXv7|GdO~3H9UwBLHoQ?Gqo5c@hf)8Tb>8lU z_R32iMr-M;QU8C7{z#Q2R_2Eft>0h)L?UBpAM#~m>j@#a;+Q*|yqk!DbT^uAs*kmd z2z^^^yOf%U92eO1SdjvMkhtq5^dAb}d_f;AwTuVEg7HizrcCX4le-}Ms_BGo-;qkP#nE%{7xH~q7do^J1+ zihIP}L%bM-M_(%b!ZO31S{t|I8%b_o{e63p8i2R=>9gf=Fv0Ur{n&HXtP*ggSj?-J z#k2sl8adkVuAP$BZu3YS#_Kh;P{@x{;*o4&S35~>$(tt0H)a^sw&+<^4C{Sela^m_ zajEWw3xqEqk()~I;;MypJ<@Ppo-h6+yFH`xmB1P9kA+ z34XJoGxqX;Bf;tZ461Q`Ap_SakJS=#iPxb%?ny8_9w!%_-DCb7!3Wjrx073pe`d9k zoT!b|7vt^bqTRs0T8hZldvIq%fe@?4F^BQYqIzx`WwF3exSI(zsWeUP$m`R9qMWBL0?UMN9arI&t;mhfWMymE9JXbAsFr?2Q zpl3NyZ9p)R&2&_#cNk9#ZM429i1^Rqg|HXNg!=NKgS#AsRo0Ur-Q$`DUhts-B-s`0 zN2KccGxO2Ye^w$NQoLu-r!Oc0P`ZxL;O>gU0xGuw{k9$rh0wq984#@}v4^85dV=E{ z$j0|nd{bC`GHlErF#Pyvagt6Xr>TINqRxxk0BlN%*0?+6D&7)wxLL3neL+}Ef5a)t zgUk#P{?^FS1B*YKga@DGZCBl-pgUcxaea}DMAbTU{fX`BYpr*}@8KZ%DT_=5C3q}2 zR`d$-Km>-t9m3EoVLI0RIz$DHu(F4yxgGf;_~D+DjAe1KSzMhtaWIueE@BSV3db$d ze_JbdQwm~Y?xIKck*KVMy9e_(Vgh$1?$*f9KZ~%gj8^(hHlKy&JcE!7a&F)JB_3&S z1mS3cP^#blPB-zGr~kU9bdHa?r59?~^52&D%AJT@{JGUA{k3ZOz&}ZHwwiR1&?9NP zlWav3Km!@5FMlz$*oKP4y#f(FS*i~rZF-fPyzdrf3ucg(MyYZu_B2(Iw{<4e?*BY<;K*majI6jaozFu$*YAJ$c`vB;o%e*p$CL`=u3hNA z3V46}(RsnGMln;qTu2#?%~@Kk=#9m+Ae`%d>0(KWTiA4hR!|v~8j28)Qno~QLw^n{ zx4IQW$lB3d%dpI0;m{J+6AVC1(A=sRfL&0NeZ(>Drs(w!D=~I=*a`3b)%Q|*q>vn4 z5onoNibOZ2=S8Al3%ksNSLbZ?h`x0@A(222t0R{+Gk^1E@xh;+y@!r@KdZ-yU7l>H zW*9HzAI-rkZ8#P-LQY!d!v+R3XmoJS5Q;<-DSR(F-aSlT8lkza=k$i``}rJDA$>@s zEEN)>3AA(n>kJY^%0s@r-1B_1Kt^AG@^fKpJri49JBc8aUBBg<*D3Qx)`f#bT$KT? zQO6)qtwa(D^#owM9p7Uquj^$dLHELBi_U_`K4ITUZahHns8N6CIR)S4@UtQ)Vwe5= zhvbJ8bZ?gx{Eq&nxRDvGKL3$CY!Il&>wH}>UnOcelEBC@IEx*}b$TEkO~2n!ir>4y z<;PH1*yPY9Gjsf1Uvh{G&mP2d(s`;j?qVkBz%>|aOBdvMCf;pd1(SJ)u*o_W89HGd z5Fc@H1!|wmMH3(xSOZY||8r!`Dk!_i;V+K9)$M3|@j0(kf>Moi?W*CnSiXz0lm&9gC6Na+|PLZvyfF8G@HPd#t*hS@B3JP z#;j8mK&kzRkq}l~QAEiRB_;%EMnwEXSjQ${I4>G|1oqE3y|0xRCwoKE|-HE&XTq)bDh+w84~Kz#qbr`Ya$ zmDo7(ocn5NbV+-m3^cMG$WtMhHV9{YFJik|!-*`!fzAFi`*16F_>0YIUzW4czPc5f z-*ZysP}J8dRG*|;N->hRR-?U4Kt7X;to%>x>wa+XA6k{wE3P?~?{97iQyCc;40Yer zi!VJyrMsV{71PUFw32=*@4*#s#Z_(iZEM4<4B{EH)uAUpiCMlAxtji+`Nuzvn&=*yDXYbzYmhksE()WWU_%&@X!Xx?kg&^4b*_ zp+DC3ur&C2R0`NP_qqG>(*)$H0Axck*SV0MZ=$u!-uHdhjtq@cDTFM2E;SYYk{YkIz$p)8xyST);mbV;*7tg>r@zvvg?2Ub0mq7k zp;KpbPpoM8Ti#F^MDX3sd~~qDI?!+9F-?P6l(n7;VE5a8WqZc{`tpl{oLxv&(#7A@ z0X(hmm0c);jqBO7zn`x2lj)v+_VkH9@?`x3>E>u^hZBSzbGLbGMkn`+Ua)@Q#^CSa zkXuC|H^wY4?Kep{k>O&nMkzL~SCJZOM%TZ6oVp_sc6}1Ku2u`uwEj;w#vA#YK6AkR z_T5|Ag8Lh-b7=!lg5e#;?!(AUi^lp7Pd-1-r6L!DQD@YkAR&&sa)8cdhY#C-fk<{I zfxLGvbFuJscb2%|t=GMS)zpDKfF`k5VM0p58NBhCehK+ePYZW1^QlsC%&Z6_biZrA zTQnReO4p>2*k1&p7i8X7miZUuqR- z8|ied5ddao?{eBHGdGqWJl)VHDn}(;P-YCL<8beSi21wiRfd8@f;?#ZlcBu&yQrZ~ zPNF=1l|Yc`;3n48J)b#&Xw*b(vxaZGDn8m#S7J6Of2OyNt_$=cBq|Fxs{1gE9VY4d z=lhEApq|O8#IpmYG&6b$5*?yfZAHgcp2%A$yH~L>_e0_9+gu>Z3i_@`1;uQHvu?mD z0VgGGyYAbokQBOHF~W5M$O$1$E`0Cjh5;hR+rHGb3LPtq_7_i}o$w#l%LKICan#I; z>V`xjQbWfj(Is=d|7Q;kuV+It?fR11o)oYaeqVe}m50n~KG2%NED6eemqa6TALlN$ z5g-AQ*LcYW6lbkZS90c+0iuB9`wZ!exmPbgK0cVSUd>sKZF;7uMGzG7v~p@{o@8qY zwzN8ry~Lcg(5Vuz0FLyai3OVQ3d*VG;bg7$d*Z)jTqX15Pg4C8cO)%*(U3(#r0Zyk z6-ZgKM(05`>^{47+$hy``%NL>QSGe?8JiHnW^6I{<(d99Jl1a)&EdiMgvlq>slrIk&IMH%eR^x<`Bp(~@#LbjQX)JyF_HeqX-BNvBVtyGreKeY zBzo^0WLYjH*%g&Gi1SvNE{+9jg-8T2NNzmgq!$|zb|vumH%Yx(=%?W`$X&HW+n;dA zD0vYQo!sj{%mDq6;yVO6D>;3y`-F46$}YA0^Tyg@(b4(dPAI8#atQX`%;(-?n%CE3 zBtRL=R$m&8YIR$U-0)De*Tj5c3>2CHmh?k6R>w5!E=mJ*I;7unP9=s%c>k_e{)erl>@^t~YdzRTBo>Y;=R?|eDS)9; z$56h$r$rfxfoTBBtd>`>0&o;ky8ehI{^v@5rBHfJ;jV-5>Dc;m_oET}1ZieCh#91$ zzp}|@^pcMZeSh!5p`Z7UR3O5U^I%A!ESUP?c30p&uKQ6WvJiH*G-Lkyu11 z+zl342(fh#S7UGZ(ruruDFznMLIDmKz>Qs$2gIDG642fR*6Q+Zh zw4B&P_d{I&ygX!_F5CZ%XMr#6!i!I9`yIII==!0m8;=gM1rJs(frZjgwf}%l9Wq26 zD!iQzdg&OeH)c6=2EO^QWe`&{jzpm!0iKAmp{t>8!02ec%{v7g z|79yiD+SOn{B3kxl07NDecv4!vC+ckhl>d`i3<*hUMWY&av}gfC0F3Y)|**^=1Q`a zy7Wz~xagRhahMB`6wyPu9oCPJxt!s+m*!1BRX_^Jr!5H7wA`p)Vs~TGj9S zq8hAuR~-f^MU!}vk@U!UMju5`y^@r;m)I;dNeii-#}?eCzB!XhkD>o$Sl<9aGWEZ$ zB=+@&yPNBof0Cn5{SDY8(wO+nMO;lnl>`N~AOX#rewq5wo~P4Y4H)Qp{axRaFXG&C za>^PoO>;1Px1O6iR_)e`U*%jYwS@I54~YyP$GunhWV`m}nF2)2V3bGzN>J;mf&Fqa zn0t9=%RVz&*rk60FD~fVY9KWx*f1fW8k$t-bxf9^ZzR2PDBuYm^(?{5q`0pzx zOlih6R)ji5t%j-(^Xpvs4^05oDr@7o#{zN8ee=?Bw|0MzzpPxkoJWA0qk zbR>W}CeR>CnWIx%P(c@7ix(7qaFXYMA$8hNKC<+S81(Odnw=oGrKXe)`dQIgTDO;{ z(YWzWzAaO+uP0JgH}bvQ4k~x;anKPsF(TDKd^tP;FEvnzD27(^x9>NDxGDlc?+xUZ zy)ZUH6aJ6tWR4bk4{_Oxf~N1Z{B&@bK^OJ4_tsNgIVNvZt{pe($bZKFtE&64=bRv& zP)Okz-vnol+@)euW%aLC^v&1Euf-N@hLT`mNx#w*WJciauiuQQhMV<#`!d{)R*s_# z+V%jz9{Bu5R?AP-x&tm36z&c$;RU{RYc1P2Ekq8WrxdE#8O%-3)Bq`yzM4|=B?E;P zY(KQNKQKZf3p86K0W9fP(0*{u{%1KkIe(I9A!bdmN9JB<%R^4Ho*wN-6hf2k_;UyV zL7f*gYeZuT6({kuSp6q7G0VS-q%N{o2chcEo9CY2O4eZdy-e2F z`L<}5_cq9)_Zof6KXcE0f|bE}811E-K19csEE&b)dWFz%PS}`*lGJ&dq79mniD1Rz zr4oLDSk@XLvS!b#!!M)nY|Ib+(OD1zMr7AJdpk(hS5nExDvW?EhIileHtw{L4dadC zm*2FXUjcJAXGix`@n*y%(GJ*yCg9;l{uFtk^6!N0uU6Cf>GV2^0dd*!pm7w>Lidp?*tlz^ZN;-NOCFk_n1 z#{cHF# z#MRSQ1LS9(9C|N#7HqP8{)AM2og`oJxC^?3WoC=##FmW z1zCvKlkSarTVlK{J5XDJ;;|=Bxuo9|d_HxYRP5D5FaJ06CPJgHYzgn|2;_#A-uQP4 z;?=#g^k%@M`Xf(^Elf4t{*46h&Xal}NAU}+J+@?ACxUY2G&HAp%)?#&0%g{ zh>W(6*#)QRK2O6J4mvyyO7CMuxJRwr`|L9j!wdu9L#>#Y|kCAt;=`pNjZ*{G`QWT+%8#7FW3@_5`F~YiO<6&&Uv4N(Pe!hUeJ`w4P@?hFn@XuRBl3)2&p_TU`x=EPK~| zF8e#lssgnR#2*MJ;E`aZ!e{2zZd7?k#OqDQ=?L5bG;tipANXram?LOJ{IrR}sUEIH zO&)K3l3k>s_pFUVa2gEGPX=2xAN*Wr5T~wdTZDdomsjZNDhOU4?ttZnEfX$ZmM5Uq zyn7LH4z6C16HubSk2JsMmF8L_%{{moJvI7eo1c(gPg{v?ti_yXHnx==h&)%KJZ3GV zM~D}+JGL3|)a!C6VxFGDc699wt-^$TNpd{5l4XH`YtF)m(%yuWH$zm=CBdpuB^mvv z=1ApdA6Rp|@5n)QY(9V~;5?71&;mI~@sIm5b}>iGl?-pVm*v1HDvrxBbbgkufvg&o zXTO}EU+8SA?bG#1a?1j+P`AUj)*pxVn2ZT=r^~Th7QraRAEA+GNud=KSrZ6l%YC{g z$1(PW&rK-gG*R9A{*i)kY*0j38Kva{(a(Zz0y>sQ1Y`6O(ME7eN9z5qyKI4i$L3gU z(gto{Om7y-&~ciCOZiJ(1UELGRMsbhV$?;jYS>;~^X9Sxmn0CPxNarT^=5jv+5UYF zEnzcOQZSz?+n{|G4n?B5_<+g`O8ZZ@IXbFe%z4?jyI0Aj6?*l;ayxpkVw_KO-k(=k z*zEdRfN5z#o~?blCnqePa>xzBAhGa+TW?6xS$L^GXV!YoQr0@6$%ISRFe~~9(6ibt zV^W8Gnki)DyXQa?M=NW!A$(p{YgI+C@d0U(6_?W|4%D^ng>oOk{^&mCK=2L+U^A|D zgZ@RIHVORyo;t^9P>P(Z!g({1KM#IGgUAc-H{Zf7EjihC0xzJI+BYki$@Ej^j&?3t ze$OmqU1yXa8%u%xW!xfXOHNt_6Pn@8WC^hNhyEW+SusASc&R)}dCxKfcXWKu!J!qF z>`6~pe2~Ee$8&tuYbb)YaiBzNNh-PYMYjb(l3WI+r`%fj&^1K| zYxyxtm_k#SlrDE^$zN!JEoIA*%kC{B3#A;VSA3q$O~n7}`;ZZh2pODzP0=LUGkM-R zJu{>*&CI#11-;IVubg}+FWC4X)4EgrxF|=|)UDrHyTkk5pt75M=fDRG{*O0Qwm%Kd zrrHpZoEO@ChAgy7BK1C?n*6g5sx3_ba*BvH&qJW4-fz(%DoE*SFHy@^egp&qU_c=9 zWPocB4h%1_R^AAx^xXmjZ5|DFeRjocJz&UwsT$ncvl8Y<2}5Hm;>KQV4jP}mgE8>M zf7)0_#>YmeY|7=&8o=IJ;yf|{tG}aE1^k~OQ(V`JO&Z*tJ^xw5Djsudi?%PZ)AF$O z^IQ+=jlb)(Khr7qbxPcys(0{ZgRQY{*fB}YEV|@stM*^aN+!3778H=l*1BR0Tz(2w(! z{C|CSp8xTqU1_e_9MBU^jJNMc)w^NUOVHH`=EZloxGyxc&W-JWf zo<@0}NdrTX*M7dpijo-L65L#01XX9+Jd|N&VpHZewfdpSvq=RFS^rU_!@pC?USt~xxL)+II5YBv@uK*Mc zBfS+Di>H(-Eb}?ab7SM#Z45ldpu>ZZ<*PEbo}=?7w&fgvZGnMB53Ti^%pv~U%@!*f zjX!~KsOqZ|Z%}E!r1WIoc-N?eJOUj))w8dnxb^Zk4&>i;-<`dsQBlaPlKxcvJDsc@ zZD|fuA<6oHE;%-PDc5urUz^afUYj@0U+dD2tUm8*WV-bk9zJ~qRelVFx1^5uO9F9! z*A)%Xa@pVnI+R7dCK@??4mEsx%tIV5r8 zmJmWC#4l3pYyw=wP5<0Wp^b(KSs;^HCGB~RNtn*)tXUgb8d)kcgLrG*TiaXd-HXW` zwhGzQfcf3J_AU9NZ~`#n9Td?z2x1d(SZ?hLVn&Em{T1a5Z|EfwksjEHfg~FW?2V^> z&B8YfM@v5IW{8UXr@4;l?)q41CuJALmIeZP1iVL&LtNya?lIw5G=p;9i>1@}b?h~p zzk8&-o&q2-!#}tQ?}ls`Y@#Bk%?Q2pv_Q=9jPk4(jI2gh2rx@`rEykHl4OHQtc~;MjRA;tk;3@P~}rg#zy^UZ0WhtRpd@O zpBAh8rxz;YZRP#)@qG_)m5jHadnbCR17x_k#Ub-I2&}nauDROy<#@sG>BVzYYx8_3 z_3hE4Y}N}Z1a^SS>vag9m{|t=o8^Z~U*^&ksE}vn%M_7~+rid89(B*g5AHz31W2_X z0>k@e^u1_cz~-Qg@M2=O*6drf9`Km!jgRFLIm(6 zA1NBXNUF1dh{d`y%f8wPl5O1=z_5!;S5{*^D>)n3%cfOu>3#&8MeDs3vi+wmre(HG z@a$Q-dptlFTU>rpxbu=^Sj0N!Re}1`&ohK5a~2wnTlYn-cD=xLo0&CJ&gv7yXTK## zUvXA;(BRDHd=20hkG)WUQL2vZ8K}4~QA;|Y;$1G3c>v2=$5RFzyeBL6&iv>vwcf<) zh16@8hZ|~@RHITUae6o4V5CX@%7HL6N6wBqqbq9h=hHRqU;IWA_2KWSe=`U9UFz@>W6y3+uHsqeLVTVP>MCCD%~fyn*!oCtxHa3*1d$;Chs^kjsJ2 ziul(B40!^kVXYIFcMh@G=!+rI2}gghql~UNX773;r!nsw4rk%HrGQiS$J9N6`ead? zZX}N^)v{B5F#78Z$w<4Pq6Ymub96gJpCWuL;v-p)|x({j!TYTjUA;}T;IiFVo z2AF>^DT9A8G~s>^sgJpnxn?DE%%rw~sR%386TNr*=t#oaw~CW(3ih`r9cU~^Wbhl9 zkWBp~lt88x&q0g=274RV5hT?5PeICH#j-%xOE_5Xi6vG_&UTk2g{K?bEtsSCgXkl& z*)*Xc@`0bi&55J5y4dJnU9jfb9;dsh{%wI@2TV?u%u{(vDx+m4)o+|I5O3{%IPdjy z;5(%?>doSH1g415--XYl#&5mc^qvao?PDs=9W_BZkiV z5bx(I5HQigw?9$f<83Jq^3w%s-$$9uL_x8XrPm-qWMi(H?uk@O9?2Re zknv8N9W4*zdwp0g{WuzX{qZ`~cFg!7&|)C739ycq?9A<>CM(RwU6HyP|aztA|s>G91wp7=7shxGvjEeJKcM7MI zcY2Ex&}F_~k4Qz%Ax;KzwEz?_2CpxGSK6JyzS0c+Y_|Xz*PJ~h;{vN0eXM->9nHo` zwpDH=-(t-3=Xlmr^Ryz0ZAu(HMZ14%{&Lk|u6s4ra+dXoF!U7j&7X3Rv8ctnSk|1Y zjv3>ncS`JApJ~JWgA6ih?{ZBWMM7DistgPXRC8>-!PAXQ9&H^X<^)p<5;_OpE(I*x zjO98PhU=T`}j+GX_u!fG}@c0K?#^b55ks*e3zlyaies6to#zh0&@we46V4GJb> z@{%2fx{o^k*FJu9V5HFC2u0$H*>*HD3h83*`y#dQ3gk+vw^qb@(X^Zpk7l3FF4f(| zdLfCVaDKQk(+x*rs)nSbf(VjrIiCtEZyop^h7-71uBU%*4vDJ_nV5#)rwhT^6YJul znZGU;V;C*paJ(T5eO`GE&uJSp_}TExMZcw)_aF4eTrcY@hW#@A3X%)xc3GwED+C%K z-cAzfJvksCYa`)P!_$~cn}{c5Kh_G@3`vHo>}Ir61ne#3y;Fj)Wo7`$@Q+?Onw|#T z_y#T*uOHC_ve>t#Zx>nO(@VJYL^!{5% zsAmcVEFZozx4R)T4_lUs+LVb+lCT|h1a793_TtALC4v}#Y0c=g{`l7RZ8p_XoArnw zR8qlQN6Y39fsVw}wgjhIdh6?%okDjd_P%`>$VtBZIu5!Z!hwG8bZL&NNg!$N`S=6M ztp;0WXvR24`;w*T_Z=KVD>itwvr51U0&ZiyGurE6-;&g32bNCK(=%Aft3-6@dBn|E z;AX5t;+#nHpbEMtV^}TtQV#!;qEv-$IVX^nmsI)EkcHw#1r$jAsWW>S`M7%Z2=7%n z%O+<&gbX%~{E#?sk^F!c@xQYGDxmasWM+d4p|@})MIk=Yy>ug;D*S*8gxEN%N|;8; zmuBoTAjBNb!}uOpC~YW82yqc&&oa&r0i$L~K$wCBfvnJo^aJ;FC)f{_g;I!qRU#Dy zG(+X3G6HiTQy~u zu&yN7Gi;n{2;l%Qz`>J6$#ze=%HCt*U|Txb;m&@Vzq zr7x9=Y!O!^*np%*-?AJm;A^tlwXL`Vh>mYaC$G$N+P&rG4)3i2YFt4IyeL1IxW% zUiVp3$z@+rV+ql8V04jTOLBfO3!$aMAKk?;qu%3^+R|VTSNzoElJ<5tGH&{!h~Uhp5MzF?5pR_ zBqVtEk|7%q?-$tMEk5vctUP_+l_R8mr+C(tS5;-%g`+ixya)z7I zh^Peofb_kN7Sfc8y!8__>i=*bZ$|2J6K%iYJ^wKun6_{k)(L01(M7P&X^+V-FPlZRQ2(%KWMYq~5X zTzWVdWqUqPjsJ|eusyed5*%(PmY1F(4LIxIPrGC}x7a;0pPl^84QVNf6D57PZr|Zi zI?r@`w)UoT-&Tm*;&gI`=38_MH?uOO^-;_TZtC?RuXOpr6|TOv)IU2b@cqLdFQ3jC zO{Lulg}-3e#snz6GgpIhZ1tuBEeWBwLb>74D@A6?7$m*?#P7Rr zf)__uw=(D~KlHH8lJOp$n6n@zl!5%n97*ZxRrJ(aPWA9=%ZjBOeWzJk=li(SXXa=^ zMwpXGSS;;Pcv!NLWXrT0h0u~cr1Gk?%ZK>0Cr$0}Wed#~laQC`8#y=Vg|aXU&WOfV z1o@!J>AuRCi#LK#$u%jm{iXfj>rLc6#d1%c`~ zjr2JOY7HZ^hQ}Sh*KaFV`**8Q$NdfET`fL#`LBwX(|3aBQ#8h745F;!dN`OpbMu(g ziZQx=Ho=Y5)osiM+a+3E2@i>FPX7F>`uT1hB6aTzU>u~1Z4MZ2UKwQyHj^bVQM??NsQX$6HgvI~&r&X}Q!ecyXSqN^!ZfZ@n24A=8i0s| zSq+euxvviYz}Vtp`?jX%%P$PgN-aNwF}gR0_1i#4rikeMebrXlK+HU$OaA~NAgjXz-0Ob&4Myoc1{oLZ z!J|DrNzFXusYMUuuboJlaTPzTEZv2!O9TLg&Ux2M{tU7k1y3YiAZ zR}{zhq|0+Bd3Y2ReG^qCAoHmiWH~jh?i6o7UL{Ot^HOxt*}xEsS1xW!%hpJVB}^g5 zaP{2)`%hw{OLd4|Umd`cW3sVym;e4LF2(wVQ_~?~OdD^Gh-X3r?mzL6QHWXhC}dUp zJ)8TbFb%bF7j^%Oisj^A6XrxMlo;OqPF-W@O>u?WRHxq1F>EgbF#a{uFv9lu$96UD zaeeghajH~#YuaXnv^>$nF`NVIgfc2r8N=1HqoWqA5Xl*H1?d*JLtLh4ki(L~D@zLC z3;y`B53T{VE)S^1dGg3B>XtT*$4^s4zbff@*bpRX zKb1iHADZ74!E1nX<>(MvsJzT9+sCGWJrz=fF2vgX$hq-ndZsC9DwzC z0@tByJH&+XjKtY{{n+55`}q1Y3lDM!vJ*(G7&V*N+A=&Ee>GgZwVaa5s_`Vg^C~|z zmw2#yOuggP59U{9=03?RupIjj#w<<4ZV=Awa1aP$z~j~QZf?$(_I9 zi}4aT?r7-Gm{#5sX)}8-PpW`u@{DuVS;?fnJ^)RoGzjhETGQPb9!Ca-yQ^b&$Vk@7Y!kFE+Z z({WJf5MsJWN$Fl$-qGJgSZEj{?7h~bzj&A`xt)oGngO!BDMBwv1jSZPcxJ-+M2KeN zQVBnMt&@~hufZxYHOI$Un}~Hj$Z$>7uKIm+exb-PC*<(^2fd8IO2rJBJYNj<71;K=^M$g;6I7q7y75F zns`?&G*3cC&di};ZwBevtCb~r=%z2 z0*oo#gn*-cE2K&vj_U1G@%syx?kd=KU}Wfw&Z86|%lDnxzdI1@Eq(^BJ$(IpgU^H$ zhRd`mvnT*Br{k^fm9!LjNBAg;GFGQtq3(O@`Gfy)=)D!xCg@?~Zv6BB0=k?Z{)Wha z4X!*lBExu^%T-NTNXnIigdYD?%CaZi1{>5M=Pp{izv@IprFG*yZm(VO7=9E*<$0yk zh%YoqX3XD(lAOIc1TD=0g>83jEEuWcQa7W&e4jw}Anl$Ttp!-b-fH9mB*vdRB-7(y zv?Q3!#pD`IhPPGvhazj;#W?x>h9o8U_{(XF+S!{&?w3?9@Hfb(X)0?Ev3O(kvRoF= zRb6F)7SKNn3=rfF!rbmdfdD@TJSA*G>L$p_oBqjd?K_w#$(4RjOh;UBkqyD#Gb)I4 z!}Z2sHZLB>Cr$iqL|Ldg;qP=309)LkYhQtZY013tFcSK4$r~+ z4|V+&!}AWvLIO^)$C)7Td>bdjKxv`s2&dLRaj%AXE_$wYk~%*8Lwr{<5b=prt`X$e z9PGF%2Qwq&jRQS6f+mlEK?cT&UrwHem|G7x08Y~2|4McCQ$Z;Yx1e%htleI%RJlSn z10Z#b<56#&oq{YnNZ>c@oD>aYSHcX~zxW}ny7u+KH&%Wb#luv>KTae7zF~#m6OT=+ z5`juh@r&sNqYN!$>T~M;$y@Z?K;%0&VHRxZy?=A5?VGFd6WT)2P2YmSy}oy{05$|b zNLux$N1 z(zPvO zu`Cq9KB%0*2ff7zlg%c}X_Zs{F9&I30=ZtknDtMo`rFMW5^F`S4pm?BEnl4!+=L*r<=lM5-^7&zP-`v53T$Pvncx4k1ZDrd?m{enmafhMy%idkK&$YkWy+1z#t{Tu z!YDy?f*Ec}7Hs>SIdy_Mzcn4u$)xlVm6XV?#&6bGa8JH-4r=G?*NJv;Dt%`B1%ter1f2-zT0>FOj8+;Vv>~b@{65)!6Z~4dK!&sb=16g%@ z9D0Bfs`Y9!)2GrytrHJ5-C&oR=a%G;XYus*X5fHs{p$K@1g5kK?&J5tHjK-(;zaEmhJqF#}t9&%Fx)B938tI}h-& z7esBJ7=Y09NP{jE-6&*HQjK7e{%ON{yVROp+}u^vGmM*Y_@MwM97Swco*YEP4wUbc z0fTXsEMODZLn~){i}VzUEyUyqjkQ_d!QJE#Mq`l0u?@@;r|maAc*Ry_lMu0YumVIo zJ>$!gK+`qfnvS6)bIL{|i>u))j5%S_HVj#aDsG(!<=q5hA51hcCY&bG`|}Db03|Zg z`};ltP}4MkC-7437QiM;JTbrhdfOghvfeZ-F`fz4_nv%IZ&w+9g1ZR;MDAKN`)}^( zjKfKYLKz5@M@D2U%g7Y&kpz#Ph;YD@F#2n!`Mr7&vJ%h3*D9oYv`j@jx@pnHL+3-< zEAMh5$n@j}H3`J8_t6UWmAI5#U@rR4yS(eQ`xo^=~l#?s4G}E(+i6+8?6{bu}893evE)W11WkN_x3zJOW zU{GqGJ!aqtp!!cbwi-~wLngO2d1B}|+SwKfLkT;5a+3-;pUFCk!$Ofz(&rrYrw-iu zdJx?S3Wp^|f%6DkLSlt`oPYKgO=>6{w)nBb++Q9dyx~MlWK1*&-Bj9(_EB2Llis2Ty)%=}vVaH1ioSRpM7n`= z3dcXCA&3$^lUX2)8yVw36AO7_2-s1SweH#~eQdlT%zcGsQa^OZdZrL^BZ|iJ5IuwM zr?dBnh-dG>j@h8>wl^BaZ!;)?f~J9Ig(y$Ix;(ua(D60LBl!0-)x(eozIWOHu;Lm`9| z*v`=Mdcxd+zY)nAkDjNptE<*Ys8j|ZR{r$>AD_crxB4DJ^4h#a;4&GYE^Hh8na_=^ z$K6~CNJQ7`rQ3rV|v^5l{NADB2^+rUSiR|97SbY5A8hJbP^UVF;Zi*yOt z8*{fc+b(f=M!B=6;z8>gx=i;u4obp8G5J-c@I^TOq$`6F(LO(pP9cdLf?#P=hv`y$ z!6}V@pC?f<`O{ZxAI%m$n8BF9+lwHD9Npj7ZMA}Yg!YxGvbb(clA zAJD6uh0iOUX|aWfdQo=nTZt4BSQf0Yle`fJ7KKvqzS~Q;xtzZ-nC1T*fx3=pO|qds zzb?9wKk8Pj3j?sNNxXHx3ID5wM7y+?2=Jcjr9rj!6%cwC74;bK;FU5SARrsbSLuqE zqrScvFeifl-AZ;m?)cB8c1W=U{Z-;=8=Id?0Wk-{$TCL3@+9UeM&bAamg zfq%wBD#;1|_ZQ<3!vX+_M2@Ft|NFnA!6S$T(35h((FKg%%`p)#i3fi!enF3|?j!wK z{0Tr>hzOir|7-Rl0ur3}6cBJ@vn3JnBA)7194r`}OHen5OzO)mjpLBupOg!#YS~27 z@QC+IJQe&E)*h+o0HLVDqj*v96JXAp2LhbnJ0mHPidf3q+l@m+D8sM$TAjZ)M7ug{ zeXbLC1OS61+zB@0W0N`i0zgB0ia^9r-wxa!gWk~)SBiA=~zxXi`>r87_~ z61ik9=JDYv`mP4+<8=qOmVstG;_!mhZHO`EL&`A8hDs(64GrKw$e(m0W`#kP7XkfI ze4kogle_D-=Iu7L%grG*7GEKZ{yQAghn zNM`bUD5#*R!JZ{#A@o6YsOLe-y)d`q3klEf4LoqopBT%jKt5^}HZlHHNb$P1gk;8G z=__gV0jP1MuK4Wzd%Z5R!7Df)f&N~GN>}8U@}mzba1J~b$N^p&)!1V$fMiUu#vwN2W84B?9LC0LVBD={(}Lhr$U)z2$f; zI9wV$@Dl1Tiy{M81w^c(!eX<>m`L=bm2(jV-x-?U3Kx6wt;H7d*|{JTBuk#s={*$> zdm|Pe7&vxzK4(cUbfvxd#Bz}+M;U^ZQWAP9SXkEQ2ki`e}w)dJ0r2dxm6I0 zl-V|ghzuH_Z`ROeqEr?tc-Sko+m@&5w_mAI1L0BQlFkvy0}y_Ot4N~!Ev!H~&MUdR zOM;lwg7n$un_EzXPEHBY$+5Pj9QWUGSr;1%qSy9xgNZL<9)J1#Tm=v1T$oUKXkZn? z@ww>Je~IW5Jn9oxC^23^*&}3))bc=!za(z#>fjc;S{9JEa zc=_pzDzc_H(F!-Q6!RXSgec=#lJwA#kZAq%J0GN`s)-FV{o|n@UHJ%fPrt?OLOM;o zQgX~2j#r;PRl|f>>^!>Vt0Af*YPY!$dvqrLfHpX8Gjt2xp-MnzK}r%$|=s!P+PQm{ImnC zU#fkjYJ8LiXvm79JA4?PJSiFzoNKZA=@#Tmy;RdRRkCGN<9Rli)%l?foA=ooM$ifvum7eCU1*HZ9og_Lxr=7RwvZ)51 zkW|Nt+5qw-kc#YOJlLljCMDL!J^gem65PCr(cyEi{r#g;1tj~S#zuW>^uX-h1b!Jw z-2;n+av<_xX=xR`9z47L`h=Gr_UpRuw&_LdE4@;zS-%+1+FmRRENy_+O~sbl{Op)? zJ@Twz-2WN;L9;FLTNJZ6BeQZ6#bDY1VNlB_yFZDd`rO1o7m#oFv3LJ!^d1C?dLe$l zeOw>MC6d;L%3Hs(?Kb(S1|a_|ClBDnMkR5wKF;0EY&*){5@G$CM6c0%547c8kDvIr z?>~^+@6lt<(6ki#Z1r=*{%Ri*cgKbP#{f1A-+Kx`;W1?Nw(f zxAuo5`$Dmg@mDbUgFZdJpa6vL6?vzx6e^9-Vew~oZPQqj%cR5;#n z%zqf@q5pPl-4=UVkC6%6$WR*U5-%Ht@VHflRPPc z*-@wKWWt{xp}JL%Fc< z`uM#dL4--g@kqlM=K@c}^E$E|Pe6~1K2Kq7VE#oILt09(K5n?KkAiJbQ$`5O0XpnM zn&^uU1ua1yU5UK?irA?)A(Hnns#~-|VF*Qua_5`rk#E+*0SejqvCW2XT4mIbAtT#) z)cq`sjXD8RsEuBi&RqytJ&-tc#b1~9m~;bEvN|9#-uAX&yP#hZr7iO#*|?ZpL86|m zHr;289GYv-@d%elW`YjUzHHSwEnm`c_Ga~Du8-i2sWHK!8VJFDSn+#Ts7Pvhb@Hu+ z49glx(Um$N0`&6we!rpUtKk*D{Z!;eb$DTx;744w`cRg;P=P(Vb+vNx9{ z@DE%IEo8P#mH9HAEJkFoc@f0wGeY(MrvhCCSGI!rZPfjLcr1+@^8c=Bk?Q_7;Uh#%wmY?( z zHpB_B(&NcLA#dP-9w%5iI(>aJfO8zwBIr4W4|@TYbQ%cwHGdwZKcM;Np}HghUC6Mi zk@uQ$gHY~;0&1k458o07#tCqH8@wQSDto6JQRhs<4T*f`D!X~Q*ZfuTJh2m`0>S)d z4*M0;kbvJ}Bi!J_ILrS+NYY*a${UITrGU@{@hCXuhx#@V0X+a9Y2bZvck6*xu9Gp0 zcQA-AlDmV_^D?!MVFN=@q66sp34(MBnUooiUWQVhh|3ln%lmP4#_rVJ%v~?n!Y+eW>v+R%E!q_2IC?Oqwqxx)~ zja`P`)Y4+l-QfuWB%PshPBC5lb1+~p4nR3d{Wsv$Z?kIJ>HEu1iMyc5s}-Rp2P_@C zHr1k!S;2bQ+c5~67Z+#U`S>FM#1ToqSO7>De8wzPDmJ~s-= zy%->kt%tSB0|piv#OmEvVq(5Q4QV!iCu8(3(1tIf7A`VzH>GZ1r|ZALOzmiuH-IIt z%23pBk@_Pbrr>gC0MM0sH&)Nuji=To2DK;^_BI__=Z@e92UW1&>bCrD9lp~Tegl-< zjAbJJ`ZI127b_*kg6cx$H5#X&lse)uO0XPESX4if`iZ}QWw}WIQ6afBKZ+Bi(!WiO zt8rMxq{vZWaxMOd-fktxarzCMiEkp*GJ>a_ajfLWCqC&OoFPK}Wb72EM#dDR{w{7g zOuBz{hZ_*&5P8k109{}XPtb{7i|3QDfuay3McPtA3eSHKsT**ie4;w+`xZ_n9IpON zv^p|h%qT?J&mtzbiDSh#vv*tMu7BPN9Izts*VpORzU|LK$3gfP0RSG?z1ODS#Y~=d zs{Qt};+``m_wu5Hp96>-&F-7;%iySXZU7Fn%5_n|!UT1-ng~EvJ6&As(pOOUT`bXs27<))(R11JflSL;!V z47ZL$|R9H!6#h_%kuIXY4n<` zwO&^h#mwKXOJ)c86XHQbM#NEZH|2f9BQL!;*g4$lw_h)zzK1XgZ@! z8sCwndE0wqzkeQ4-@tIgtgr_uk;`5-?o?@mu~T<}5ZE%os*jA2;@vDNpk#mC)bZA9 z<0>~&EWN7BRpm0HZy-xGv19^y&aV+ty7?=g1w{R|lgC3DZ1NVMP9O+!#)?6tEO&Qt z2Hgqw^cT3D(_=)}rN4>HW=?MXtL1{+71+-6=h3lTzR9oXHCa?!`=!fUTh58FpZ;mh zCm>p0`-5oV+4K7=G*$}&10g+BsHAZFr*>uJ>?^hVzk+CamIxdJEE)L-qFP!a0H z0A?{fc-W5CGcwC|M2-mFVLe}r^##ks!jILvm1^{rc0#DK#pY?WeEl`I+u-)UIGoT} z(ZcWB;WAo@eqDz-%wg@ud^v4LYX`beFR89Wgqg~(3OqLy?R7c>qMty(H-d|x+^il+ zAimC+Q|LOq(*iHNNM@phggzHnQ84=K0TKDYAmfFrNWOYnE)v6*h8_gv7z>XeB4SCI zG4U_S-OG*+s0$a2`{(oqJ`lT|RWvd4z5|LG`W8=$?xT&QYIXiCr-|-rIOEopU8%<$ z4ySyDJP41yl85!@Jx!An*{X*F3wj`G8>muFZzBNEdyh^zo@V%%zQKjR!rDD>bwV{= zf6f9Id94gsC(iK(r%QPXqAv7or)pB}@*1ZqCd)PZXzg(GIrbaW;;83J;y#nGEz!F$ zza#GLdyd92-un-E1yb~wD}TF9?aW{A$${%M%EOjGR|ezjMLk&g_0FbmW_4DF#etNe z*#$dCXSe7S%RCu5Dex=?luH=u_?yd>=u9J@gDgVUxh%*HL*xS{Ov&^FWz60dBdy&o z$5zd?`<4k235ensVEWE@0)pDQZ`sXDNig)|{c`k@(Te1K#9FqSX{d(p6W~@j<^G4c z6`@X}3-ad%0a6t5@LBg}H-b5T7J4m$FX}xz=0ED>?^}>Ez&_KDQLa10p&nuAOHXso`1KWbaq*={{y$!7rb6=Zluiu!ogn~trqD& z6tfnC!Um;4XyinQSol4b!FU{L?y~O{Ab!6a$Jl+P>#bwMFSb*MOx>#n=mY$A8I)=r zw;M?so+_Vacr0@h<1J1Ha6g9`Qi=cP(hKH1OOApXIda=d5uy7n?ImWK)~b%*agW9E z@`Z=4X8xaEN2DHo+q~{+kGtKz zUEqgRe_XvN{@lP$(ty7wzH(yzH6xRZo=XS&PGyng)%{JD3M)cl)zuT!_x+Qh$Km~& zi<1kx3~O%Ubo&he3U{*6z4O40f&Snjt?DYbDGYvvX!H`(&3Oe3EtO8A3F@yuV>&0m z?Y*6<^20wdMm7B7CR9Hh7h{VrlCn`tgEP1$>LMGEC&iAr#AeX}-Q;mQ+B!C>_4*g@ zjTZUI26jU->!G$(XWwf>@SvWg3o0{m;HtotE;8$&)bkLC;YXMW(L2HSSoD&9KfL)* zO1$>xlT&#B186&^`;UWuT=s)t_+Hv*7uNi)#~-dE|L5zM_$;Zp;KsbucKj0mh|${a z@8`tnmQpD$mIZa?1hAdTz+MUSmP{raj@WW>cw5M%8wbMsi?FJ*+YlgylK*4`%JCZr{%5_k`zq~`QfM+ycF5n zj~or03LxS!g_k0NxqJzuBltKkBL(UeSv3Sx-R{Y}jx&yNF~$?4!2(O)kjYsxR?HD9 zw$%FJ0kJT~CmY-iwXr%9UM873U)tWwn)L1tOA0PU0>E%f;HE<1)DL{#G{5c4M6o#O zvpF9qCCTkjt-hsygY&FyCocGJ!4!n1TLkY(ttv(3h|G;6{ySNEEpk*92Vf}Q{Zc33 z)e9*K4^uUUVn&F_nf|u@j|t%8QhV!EChxOB+}`zs8N}Np>x*)C_SHMTDLhwEh&2Cq{44Thd@`kl9IkK?4%3%`_@aG$3y&xHM3B#n11!N zi^2V{vt-|?#9T_~lcr%TSa@h=89Q}jY7Yi$-eI!_CI#aZXR+oG7l&J77WM44@*GiO zzwr%Za&A|`T^FNo^P!tnSIycqotcRQWN(TtXf#>09!SW`XD8{ZKP~2mh}1jn(Up|U zq-Cn*#9xlc;_fbmJ?-}5WpUbTIhKiRY>Xh-XVi5;E8a~aD`pX_5;;?SxMdFb+HW$v zjzw3B+?=jcwV$f&?9Oa9&|ZtAr~tHYl!;n zjN1X%cUuw{3u*$gYn29NO1X!%wX&F*09|r)TVWc zapx|l<6=GQk6dlqZC8y%nq78_fYMFlx=lDXs*FmwD?&__nrQ-HJhc?@BjKS^&7f)PPJ&s`s*lzj6^U@)_uHQ81{HaZ#+T+Z6%+c_ZXYC;Z!qs(+Z4L_GjJU zlJ_=M`%oeS0kG@npaa(X695Sb7%dJ)@f1)~`d%LEN`8UxQu4;S*IjQ6WE;m^QYcVD zoO4{mHJ(UnJpKIInf&(MH@Z$QaWt`9av8H?M+aX*)1La3JcMBKb>e4>==vXg+ee-X zK$tV8xjRV^E#$eUIDEJY^v^$SjiRnhPJ@Uh@$)+rd{$`4LReI{6Z*-qfYiy+Sv){! zW&2a}F%jm&?n-Y-R)<)0Y`IPbUnJe?-srfPz5`+Nno+K&7ZjhA&>alvqKG^|HBd7m z#}mU0$7npMReSnMPz+;Lb-l+|Ku+<3g!j{N$HH4Ha&^AKey|P!V61fFW^*S!gB(oT z%X^D*Oa|k3{i?}w=L6`JvsPh~t2DJZTd;m-m?Sm|DOUyso(t6Nl6Y z6}a%n9f!;DN`K@`vW;NOO*-*ta@2o}*wSYJ=o(qkAl{Rt9kraN*qW+{g7G}hYL263 z^CAPxVerh2a>M{#SqOLKc z5SrF%LDS|Mn$o3!X-edz#7X5&GwvCxb#Hfy;I6?3`|eJ|gi<;{Ha=eNJ@ZdiJx5K# zl^Cvko=PXjw@J^E;v_Qa-40R&qa5SD{w{D`Uf`M_A z-Sn01#}vQq#at86xeBFbAmr;jkPS*_thB{H5`Z*{*VF7TWhA|5L+=IgI^Dr26alsi z4lZa=khN=&s~ksP&52O14A)4)P*8DD!3~mo7ZF07v2NAsrs6DC3p~w zlF9Ae!Opj1-kiZ1C6RPCl}b-Ia|#G^=lz5;p@Jd)msH=|q+y|-ieSHTxYc96_YiJ#$=@fh6gmI9rv#f%($@?tA%rB*Yj@y#Yt34pQe%tYdsiLH zYFmVS$Du)|w|NCp?=&6@x%G|xi=FZU>VhaMKX8WFdK`yKxZZD?HxDa{V8b}mI5k}h zFsi-~oDMw8P2~ARZD8r32&N~^Y$P+KYyBCS=)^X|{?*%6R#&2Y-}f$Ll;y4z7-_&P zD(@lR1a)gc7TK^CvB30ZrMmt^%gE6q=CnXa5Vzgdp#!RQq^QdUqD$rCbB_xsd`)#t z1>Ul7k0}ua3{%TzF-?cWBqr(W>=pVbOjlcOL<9eHBvQ6-!4#@Tb&+JkbXdr#sYsO- z)!Osh|8k9A$$?)!XnW4eM?;{vZ9E3V1epBpkEcM*j1Rwo=zFI2lPcAM@wTfVWw{dq z4KYeJXY`AxN@KXL3`$6)y)FDttes1O*uIP4SbWpiP;15S*OwFEeLGp%4YIUvGJd=u z*EN7Hti(+P=D%Lc8h7-Eh;vuE66O4q#zQnN{WBv{5oT|Q#;%72~T66^f%b8x0q9Bv!+j@kOuq3ulMdmhHro0 zkWJ4WC*01Qvzb2sOI*5s-MNw}rZn}456>_3BNY%heLFi{_QUVOv+e7#fFf-OWv3tC zu^pW`Wlcf6N!TUqYn_4f}5*Vmu^rZjnO>lo6!B|rp@hd~s- zXOQtS(t?3j!M$q;oR#T{L(_6{>v9PA`SpMR{a`Qq9nk^xJw5=4ygnrhc)CA*x#m{L z{y1hiDwj<|fcNNzY4OL!=W@cfpZFJNG`jo~?0Vyw{grK={1fp1>QR-YgT>st8kIzJTY&ZiE zE!Y>vvwZGad4)zHXGvliS@pUn%BYcQ*Yl6G;uBM1o0+j3o)09>ltgSi(ycHSJ%4{} ztxSBPUQuv(0xXR4VK%?5;aM#3KJ$BUcQ4Q$&py@ZSsGPB$*ytEbkj8`Vjm}3Q-&7| zkrk6tSfoMAMu2i-;i0qBwlk`Aog-}bj@H#7-s2;ANiU zk<(VAZ~f5&X-{(TPP3Q6`|97fV{(D-Bo}S)naum(u zsWBKnkna^4bfp6sdscT;dfRm7%DiyyMwxWkU%4_`1vMh#w%B+3i(T^AUp63%v6*hH zUawg5+p*uBPkE;wqNb^oq7>{^{1QIW0kiS3PE3A&Cwh16JoMTBZFJPr-8E{TdvS40 z$bg{=#h0bUl9*|(z>->dz2yus^~o?#)b}W0jIx;g+->%u-}Ozm*c)&I5xI(PqHT+T zbyl-Z`^-mGXbAM>k2n6C-9F@jtQIv&XL8&ap733TFCtuJh3nlo>b`@xO?rmyuhT6N zAUJD;ip2&ye}X+RdMtybgi4x@N9C9&*Q~Z*&nx{>dowMLJ6GiQ&(3W0J2CcFe5S{0 z{Rn}1KcutGGADKjh5&z4H7)tU?Eb-B*VO8dz8X|{=u1&V``*c86vNC7BRCVe;RP^S zaB>T6J9PZke)<6oCOpKGl7|nV5>{xC;~!d4HNUvQN*2)ku}ldCTh1cMcAckJeK%%$ z+8*kFxX+W-5p~94e-AI{+6ggtrafea2g=adXDmyKV6<^JfptL!Mb-C+ZOG)eaJwav z=-1>l=Em)bcerp_^y(c2G^>^=AmhBDk+mJ@y@U?n_)&$z*GN0t=$*De_;sI*=md~# zMq49Qz*`{x*KPsx22f!}fPgffzq3X>dT@a|-wUMIK2}&h$-qU&gZ#gr?^rZ?>cJ^T*0US$?O1{eB=w?f|oskG9C&nxFe|DG$q$5&JD+tPf?E{+JZh)bCto0;62-VQy28U z(YpnMeG^#AY5NlUp~?0KqppZI`$`cMGyo((c&XEZiBlLq9S2=h1vX+aJEJY8f@0qUS#!)wid;blAExVIg_2$Tq1 zdeZ)v1WInFJ3KcE&-5O*y`utvnAv&R{nKb0TsEt&;^h5n<`YeMfihlNqP&}IIWk%z zXd$1|>|vo`(?7j@gyIfIz&l{LLOG_Yo^iV1n(>S)C&ZAeF{YHC0JGs%>%TR?a1Mf0uimHd{Ez#Fe8 zy|(s;s68IGIScCkVYK@mN^)Ig<2fg1*{J%DVZOH?PNpY z<4Dkll$SQ%YF|hqZ?4T1p0{*ezXxh1(O}?!tU&^8LWQtC@G1d<^q@aqg+gH`bED?5 z%5JRWM}bV>)v1nh7GOSpwBK=(+C0Hi(QcAl^%7)?w(HKv0+!|!nqyH zfB9?q`024yV?KdD*4_jBZ1KfN4KV!W-EG|I;Gv0~CR_MC6R|Nv&$@nD)8CNu{42$X z&J8GvVQ-PgfN3ksx}UEwC>>XX{z+pQru0&UQ@Tj)FbV)5IIt(Udk7GLeFvA4S%IiKZ zA!^nucQ(O|59F1pLX}N*2pr9%2zk}1!7wAY9;^bG*O>kWbsO2)UDr+XA#IN*1AAPP zxx~!Z=MU!zT6n+L@xSaP1_0lS&$76rw=`Yb-Uv87b@|fGoQX(kcG5GGBLg%(Zn`2u zt$?M1n@9zWl9g%n<2=E_22zF4C@$QdV`XA*%cx8l%Tw{6FfcQHDW4{+sq}s0f&jRK zt=g)w%1+Bx)qi3Cm=HW3z7ch_{Zn4*+(%m*VpzywmeD!O;~b7@jF!^+?WC1v>?>7q2~;@MHwO9Hy|?)v60}aQ+zb?!uKlNNL>-N425{-+iepANhTq&w z1^?j*Iv*_OpER?!-xU-ub7<|`nwYw{8u>ty^*|Jst@xMFtgXT|<~H%9G;{m?iSIeu zqbL@wKgKPMkQ8nanjrI_)6(9&n`=w}=9RR6>R}=r@ygoeCO!(5IXZ%;pMbooAXZBsze6+8u=YN%CQvUqxpauwX-g~cex4gg1 z&tuEwgUV~w9k6U-Lvh{f?C6Z<5#LRHmOnZbz7X3&1o}95bPl?D80<#2YS5|(*}LE! z_xeoXyOyqZx`vKiH^&iz*!Ia~xB{d?Cg;B;0L4y0e9$F*9VqaR`fESH|Kc2@%G%R15QOYZIo@k7+q61Gl zVmw%`g1JI7{QtB7AS-3N_jV+kv-o$*sV&i)EV07cpyTyk2aBv(~Nr1=5kbjyLzg1O~~vm=T%N;fbB%&EQxt0A=yk zQ&&7++w0akBy(K{yldrwy)eV==5K!u4g(MK!2u#v0~(2}BGy!Wa5;Zn?h&+y0Qg$_ z%fWLl`SMd-Wi{$w!TbW;x%Vi+7?rya#;?-azkI3M5?!5z>D!i%2;`u#x?J6z^)Q;B z1183=5@y%=Gw=$h1|(cJiv27Ec(kO^=mg8i!W&U$!$*Lye=WpS51&xz~CDm`5!nB zF`jqA#gNOEBogKrH}KYb^b7Go{TE)lu4g>2hp+eM3|MaXpOY#e3)lhW03tG-+xz=> zWP5%{9T?$*bRmmsOGwFfasC`%j2OV#bS!X*gXj13ey)_@fVc*&58X`P$cw)H^}qv3 zYWN|%I20$31#FBw_T8N^773ZhoGCf78P7?VEp{?OqCDyWml8*mGf2)?5uNLDNYOBTp8U;SBS1V zOtG3zG<-Io1kHh)-Q4tEYCC40vGI(c00h6~KN8~fbdIy+t{=&^R9t;CUoqu$G$mY5 zS_(!K9_G>{Ww@a~xVW%Q?7O$(w0B?pnvYS{UuNQZd(FRO+MF-};7wG;E&kCN%GBI( zUm^f#-$6`N**eC!PBlvVrQ529e|%>$&847#>uH3Fh87ZAeK7C@8mOq`~!LUzXMie@ruwKPa>V0%V2r&gI_W4pR|&Y1hM{$JT3qBdrKcKGI-Zotur4)QzP7S&*9@oL_&Km!8wuNAqOoYH~iWZn92p~=EumO7_(uC(S) zrmo-hncPhPDqD{hm2rpjn>Ue5%WYArabkEeAjf$0YF&#t#VAM1Mq9J3XKUqxCz4V5 z4~cO6lV&da!JdVaUEvq}_n~aH^Bd$ZIR4IG_MhDmo*lUavri!oHDGdO0oESRay7Nr za>0B;0A4>G@}YZ2wHXt&UHNHqJCQ!KV*Qi~zR1dNORu#mz(^<_7JNT02(M{h3Bk*O zRq!#q^U0z{^7x9Y_V0C4BT*{tEr5A%+lUNp|8i*NO;AK3D)y2>xPR$aJ1*Kc*Im^! z>}6aA4z8E)+Lgffv1j9?E92+F?y{uS-y@GW7F=|no*I*t32tYB?SGoP>aRB1XCK_9 zSkV$(i@QVc;>EqVySuwn+@Yn#g1bYJ;!+C5-QAtL@At2`d-mkyr_7FIY(FzkA=cd7 z=@cXhYIRktD0Hri8%43H?vqjJPVgtjSCPF!-HUG z!T=}a*Zj1m(lEkmGgpX8QSNH|P8_>B5j$v*$Pb@y$Jgdw1gPw(;7Pk4;Kaa({rTkA z{?7}kC96)#TI|#yYPJT?(*?9<(ibYI%dGWQM08ZmjE-^;STP)=QxYGO zvrf1I^gmCe)%a>uUe1@+&-?d*MY)15qmLeJ;Q=(r#RSueXc-OjY24fOzBWt&e$U;7 zP8hlTzD-u*2wN)`G6na0FM)Jr9W+?NCp4GOIbLry6)CkFxG$vG9w5Knu+pf}S|6=mP zBU{i&E1@kq4k*R@vi?bw+nM^dW;P3^r_a4-GV-kd#ec_|s51On`=<1U4b?}dD-j%Z znZ(O%XM?e&$V4)7=`XYEvE?gl6hXsGKlZO)WttC_$ba)EB(*-h*D;OIL$^nQ*5ydbbmc(L_{X^s}S zuDR4ky%LC^`k4E}Rz}55`*^1~aU76%29yLhc*a5SwAnlu5*+Ew*H1AIQudmx%=S{<57VXp;*VU(OAOhFrVC-;k1;@D(iiPM1c5A>f^LOI{7@5>?lv4=!Ic*S~03{LydTe z(&;&#vm}BHvr9cU)Kln$KV$;*K3!YBdDnMHOiE1SRdzU#)wx=aT`Pq!p=ORcVu$H7 z_e;!{6I6Btc2n%V{-Pr>+Z#FYv6tB zHK5fRs5`_Q}G0m3m!&2h65B=sJ=LH?0 z7rIUw|E1axG^e}`*MiNL{fDMGu58HEo&F%*96Es<*1!pPj|^p^F?8u=qwMv>b>8r0g!2Uge`}t3z)Nla3Q{_@+4W)DyTkApF9> zp+Bj489Xeu2IQTK2XdeqFf467)qeCze`#q2_H;2$xt}|s>3+*Mw2vf1H(Q+u}I5c9)r>M@y(X~UG_6`R&+C*I=U%{~I&@UpQ@%{CJwa`}+u17r@^@qhj z?p(%m7$ixF=4_rWh;i&SsBuIzh9m&#Xl$`^tM%e0L1Cjl z;I$;S8kJhyP`Qyfi{^g7@!8!9pNCa|f<%^NG*EzmWt!sbbUItjrTSyeH8`Mf>Zg!J zSz{m}bc@gewhTx}q*ccgOw}AJ9=&r&Fy6iALp>16L-axh=*sjq6zahSy3M)xUHQNN zV*h#g<}7zqc_SSNo2RWA|Iz)c{(=f1eby#lzfAhlVGTuoW0wDlE?mVl2K4w6E4!fI zE1b?x~at#wVT681%yfsQy?lE2kuuZK-tMndKKk z;DeC(>dd#3HF9>MgAhy;dV>G$73m?^*|aS-8p8ZQkqp&-YC_vUdti6CiUQR_c5p_uijvU*nyH z4(nDv4r*FQrkl3f-rfbvroZ)gP`}^r_f5o;gnX;i7$(VdAOvd!?=m18}S-gKI%IXG((ceD= zgQ5~R013WWeC$@KIB5i;ir;doPB{?-FLsl{%bY2(e#dGQ;kfGd4yvn}-yG0C%Yd!T34z6y%c>JX~-TV*YR=$S6UFrWEszCZF}- zjoJZR*uXBnx$jW{>)3h|Rl(3F0P8XE928C~diC;qkNoX9KZh3cef!JI1Ib5#SEBB z%?@gQo!0=*kV|mj{a_41kbp5hT?eVvA?C>a3N%=Yax_|t;3;5_J)Mxcb3+R7x@Ou> zB#%^dA#Ac3J|0fH^MC9<>tguBDudoi&yJ1|gfn;Na!%7ePh4i8;hYC`fg}uITM{6B zz&z_!r;Xy7w2^%T&?bN znU?Z63Q0HUhG?e}YKq3SmftDpeDf+UeOL(`tV0K^2mTl%|Fc33kv)QolYl8~7@N3? zh3$Vz*VuYnu7RKbc!~e5a5Bp<@1E*Z(1({+4H7YN#~CbM7xR2>3Rkdp5l?kT=%SjU zg$LS=I_TY&tzo*B+%gYls&a5mQ>73yri2&&6X(xpr^5^-@P^wbJ^P= z5cdBOLzY*I0Hff+v)}-%Cu_R>6d3v&ZulSLem3@GLQT(PYyLbsALCDiMSC2TUI>Y~ zGBFm{ut3FfK~@AQg5CbdCDp5*moWV-3YRgkJ)}4!qe|{)sKT0eJd>!(oh1W5?L+Es zU}N7wK>@NCB-dQJ@cD}B_s`s*u#n_^gaYgbVkzjoDu1lJ2g?^FEw>-Csx|s z*mF#W6m%R>2?~%@4P;7u904OdPz+tgp)8X?x>oDCvew66T2KdZTl0;ko4kXEqM>u+ zdER&OiT$+yFg~I=)Wyik>_C)XCn3DIom>IKHE5|Jg&;Ow>!CNc$FKdCwZ%qLmIMC?6RTPMgs!8Mpw7J3bb z@J1>rO*?nFVj~3cSKjSJugGg2*tLv#R)GndAt27ru+HYhPob>fD%$ByLyKjeqO0}m zv?A{-6ZrH$VsfKV@k)?!Mr=u4s&h?xVCwi-CD6AgT#$!%3u+%*(^iVEmh91Voago7 zj;x);zm{b|GV)8sbFltvQ|tJ?pT+&^kmK52LH)GdNKI^NNHK_QDBfMcQ^`Xr-%Pl=4daeVB_K8|1&r@9iDy|}4bJXT?d^Z3%ZXZ8j6H(a)p?>` zdfz9_acHj_>VBODft()ot(K=^7UvW}aGP7~X1LbnR89nVpi9UWDT7pG4)?Wlr&@i>r#5BJq#r4l$U$vdn!e(9Wh$Yi%{gR+mZj3+u%7d{zXGu-DI{9509c zcR%%ikLq<>5rAcxyY_~J3sxTD69T2-vx|7aQZg{c`7!9<2A>SG9?hjvO9tC}8fSju zB3O^#$88$E%xJsEZkA zjOoG{OsjNOerT*9VclO#9IU%Hn1@%$kOfWgC#iCqabtG($K@`>fG%gdk^474y3#JJMY%M)& z#H>9)^jUA3QQ8Xbk7EXy(o1o*p=f^wR_zvlz#%q44bX;Z^w z%w=rdVkq8U&VBT{!wFO^zwOKlO>K7y+!J09y?}+M?J+ZESkqB32BPPFp!;Rfk8YQ1 zxROZPC-iO<2BNF$TH3%ecU$9^bXMl4yUQ>fqG;oC&rC5}Oqh^2L`46W+6GbQ-0N-(5%-kK3oSL*9F#Rs=nSo7FEJ zcL^(R9?xAJ%VA%?K3u7%Hmj=!*D<|XuXH!rRXwuG%ZEFhTlFwYWfVb%P|pyT7p~d4 z(i(SmMBdx_(8m?M_!9QN0ER1O*T4dEB3W!9(3pXlc#5DVtDK-yD-nJ?!g^@ z#qv+xFZzCj5b`f1CPUy_aZx^VWYUXqMZ3C;2jza9em$MjzAIy5JrtO{3p@Wkl+eSD z1P9s+sys;ICbLi#D;bK2$M~QxID3#`^HbFwfi>~v!z6}Ch_MYk!E}0tcK}#xVaN=B z`r&%Y^X>0`;4mr4>W{Chie^OU_NbsWe-Tsb2hvrpP`qKW0>{EBmW~ZVjXY#)} zyH}3~EB)|FbJZ=YUrmpCHMNgq-a5a`8tx_WdM8xlJkTlKTws5zpl4U^NFxEm_wbPk zJCX#W4!WU@1q*h=Hy$@q=e06`>qGduXdE@cj~5U5>lOtI`Mwfo4nxPo<5N>M9m><~ zs#IyjC*qF%-$PCe+ZxC9<_=jxu!$5rQ2HY!u+E-OH&~TCN(ZkzIMrt4-+qI==Ua+g zZqf?$9{txS?`ZjxyQe{5-i|USB1I^V{*n{g--qf5W2cK0KUFmj%9m6^QGvK z(iIi~IMKdiC-&scc1IE8ZCJ85eG-VUD%Z?zP}AUcvZcedNbasG@0`7{4B&q)yGBjh zCjIU-OU%s+HA@>cyBvZ|7?vfb@)IH4Mmo5Eudj)<6X~=K6;l1tR>0xOfG%I)Ls+{Q zMbMT0ioevB%8mYsf3t=Jq!nYdLSI{JZ?OE3gUi=Ws;W1T0&$D(VtLAg6uk>xXR?oS z5uJ70wRG0;r8+#I{zx#-D3|Zu$>h@ba4vguK5>fY4N0eM^Xlp=86ey=7qxI_8T5j@ zO3Pklq~JT#__GmyPRjEPwPfm2q<-WZ1@JP7q#J#RIyDSU2}l45R|hIo3oQDPB2Ajr z`8w}iyOVIVVSP>PdBXV(AH&G+k?(_O`Vzje*$=^`e-%Ebq7yI`a$?_C!e|r8Mq!oy z6El!`AvU{DxZl_R_u$Xx)y{19I2^i+XJn$FOgo(IuL2(HmMfm8zUzM`FMT*UevFO( zh}zC+*-4-&F!KI9n~_Q1GN-W@vY%C-mmR6UCovt(PhCPFX_+~ zW-+0}cbIv55f_bF35I*5u%|xkg|n6ygn6PpAHD%3r3JZ zx}{~TusC#y33^e}_ujFJnl)OWUD?~O zRT`aivKP3+O;8`{?CV2HY~MBg=^{CL*6OF-Y5vSaO;Z9UQv&md#2@q`o0NQxQkG0c zrAvyoEG#wO&(1%x)?vX$hV8dw5Sid_fkNipfVwlSN<-VFpOMRORc-2QYe5qBt;-Qx zP&xda91}KCD0R(pnHPG`7|DyBB~a@07;{ED=~2V$6Z~nd($@YWQ!$^giz;|HQc0s~ zxh4x_YYY6BdZcJ)IYfueArzCJ4VatzMDc&;``x^zdVW|HIbV7Pn9=~4(rbG@(-Uoa z3>`OWZX1txk>|cv2<9!>=iq`Cj;uy0&dq;;%r(+CtM9%IN>To(8&>#{j6RT@8Am}B zN5M`si4dwyY@>+)2iBzqss=AT*q=Ic$botn31)~vtFox=kCY3dqys%}#I8UPv48*0(7*65f8W@R@r;+o^{Tx8>G)q=V|*~8@+<84=N5C}6-PEuT* zPjXN`V6t=C#0B1$&SO38!jc{D>^E5^jV|iU#U#rmT7J~Y@>A;8Tl-UZw7+*ZL)H~N zDCw&1ygWOe#KFFGXl-+~*i3!j1||XyWThWkX>OcKs;yg#sikfd>2W3yRoSvMgG?lU zy`ENU=?rc`14<_9-mlF*FM;9X1lOt&hJoMCpjv@0moRu{aS3BcfO^7>NklsDQ<)sB z?_*X>t<`6AS3S|jHm4|Tb=YVNd;i7UXgCfLuW71lzaX@VQh>m=M5HKZ158_!oA-Yx zzRgjO6@M=bRgcx;xRSyT;F~iDdsHApwwRh|s|QG#^-cGTK%*Sg;_GJA}hVxy2a zUksGv{cP{B+JFtL?;GBk83MRJ^yb5t@#e}$l`T=P9D|A-^$h~le7QXVJYh6U%xdnS z@A$U0i_Jt;r}$UpP!KyN(va9Oydl;L3fYDhd-i^4@hC#UQo#T`Vya?Tt{P;8H7@XN z?#cJf$c~SI!3#3nAq5k(9lH~=v?$WG9nr?x_S_^T-^M2n8qSmaxz7Pl+h&azWBRTuW z?Xi}868h$Oz3@k6gG6Fi5EVpS-C@|W`08-+BYkz@oIhi&tuRRsX;ONJQC%?t9Cf~A z1Lz$;-FLp^yC1(Iu0AE6!Ju&m2_P|N<~nk!-y&vz@TkQBLb0<4a3DAZ&3B}-cU?jk zQ%rXS_YOaqRt<6olRm*9fYh)*Bo3{-7L+>}JVF;I1^k-^O^{%WY0>vN2;tSW{jFH^ zVs2v^wbi>&VRXg#s( z$JT3lQPevZ^Y;?p%9#}sUxGp~t$A#b!nv<6!zLUOeD9o_DG=AC{XXOX*h!BEPrEJf zf>VY?5yct%lw#9jxpxn#wm*B>Fte=uv2a3}@c|X|t%dlDL2K88Ka(T$&CWd5x1{t? zrCt{WpL2(^1P;{=+E1yg`URtKq7@r$<;04`7LwKpqmIB=-Sqn- z$-rZHfa}EC(iE>z(Nr)B+ds))bZQVdpo1xTUa|2+CF~~2%8)uIPfw4 zO#d-qaS8ThXCAE>OrO=4Mku01N}3Io*kS|-Q)h4R_^R4Figi}tD?$f;I&<~fV)QWU z#;z=T2Zx$63PxXSgAs982&3|PWb3e!6|jjuB7m^7;G^Xb)=J*e3Bg$i$SFblR)^=& zmNJ1Z+tJgJ)`H{=2!ODE>(qR=IjJK#5;f?acnXN^S1Q3{N$yw9BM!M$eqMb>Q}MAGiJrq?i@_s>hV(spMd$U%!c z`0gK<%0(OYvkwymU;cU+?9lKCJ9*?DO|^LVd=)c>WiG~Gapmv$3j*3{>i>=am)2`p zC7tyh7EptkV7=e)PljJ#8Nz0_GRNXfnE9ik|6uoJIZN)a&Dh|SLqpipkB+mDizIi? z-w39u#kkOhe|?=g?>(G^36uZJAF|j-I@QcD#3yqmci`TIGez8p%K0V#Q zwk}GOrYi0DXV1Uf4-D(XZqQ&?%;adcSWP|!makb%>$Ugmjfnrg&KM{F>&& zY)tNw;K@AZb4!WNQNpRCg#M=?8!_EqSU0sU-MyI#JYSbX+_HKv`OkF zvW(8Z(&#rw@Niu4P-tSl5zFW*QdX1}jvfC5x#aEG$xMR9jL}^$O`~9nzY3b<%=W;~x`(_cor(3_WtyxdZrNR2Z z5aOD46vfYX%`0HG-6VgR^(*yg8G(&f!bA;PGd_mul`O}GW`Qhms+_R=g$EY5=WR3c zS5Hqb5WhQWuf!ubTw78GHGa0CrZI5}QZ~%mXLk~q+LeATu*M}^7%R962eSiVwXOK7 ztY|wwbu#hwa65Kmh-xJ{*`zr>>54lrU%};fx#6L;RY%`jzSL6r8?y zjaAwni4_j?z@m#zAW!{B{~15a;P(so)KAh|0&C^FOfS5w3&(+p?SE@wft0+8x*Q{= z)wF5$y(CN-gSXq}{WT}u8{6f6ZGS)O7s3OR=0t2N6%hC;t>Jz#dz8Sg%*XRYezILZ zV2OiGEcM2lTTv{oUow5Eo|WTU>2~zR!~vOqJKcw)HNh7XH#Px{SO^uHFj@4RuE)<2&Zu>DJmhZ7sVt=`qd(+e-V}ga#$g=liPWP8MFWOgE zk~6kSE}Uv}WMxHELEsGHB4^0X$gX0rt&Nt?>VdVJ0f2wUG?*@8c+6eYm7O5R)pn@v zk_*b7^D^O><@YciPAaO*Em%SO<(P^^Vk(D(aR2o~*pZ7t8h<&alg;*i z)gG)+$rQ83kt3hxk;=xuZ_f++3X2K~>p%&tr&3wfd~Iqo$Ip5BG|JiQMkZ?u8|O@0GR2W0E7Kw>%v9SS0pV}MKKMChXZw9@Jb|XAeKfZf!hmW(gWQwH z?J<#Y;PyDF5Xv#3u8a0gP(m;=xahHjhEh%jFl|UDV z2}<&_4dXU;*W$OW8c!QP<#DVxt*z>t(KWPnOtLeHANX<^Wf9CC9Bk`nu?^NL0Q0)A z&903XIXE^Iv*9AJrB@VT4FddtB1>K98MyNm%X{x7efT(OJR^NfS7t*GwrZm#9WVd< znfilQEcHT*oV7;}!d4S1t{>6afTq|8#h>a{e6qP^ar=`)R!Zv`S|XnkW|K2?oXlMO z2^*opiXe$;=WVbLGVxH5#=lFto}ExHy12)N(Yt#5OHAZy@OAJlCofg><%|&G5c~~O z<1aV#LYpx+-X$TrY~xp0_6#De@*vVq+@k0|GBSA?cASIgFp$~AmZdZ@J2C=DLOz4Y z+(~ytXRepJdh4a%v&k1Iu1Fw6l8KQ2b8S@erlmYjQN2Q&=*Kmmqbhlr l?vE146k*u^?>^M(Ug0`dlF&5O9QZ)MB`2jM36(Go`9B%-#%KTl diff --git a/examples/NetworkGraphicsDemo/Builds/MacOSX/Info.plist b/examples/NetworkGraphicsDemo/Builds/MacOSX/Info-App.plist similarity index 88% rename from examples/NetworkGraphicsDemo/Builds/MacOSX/Info.plist rename to examples/NetworkGraphicsDemo/Builds/MacOSX/Info-App.plist index a093b0cd36..798ab5f569 100644 --- a/examples/NetworkGraphicsDemo/Builds/MacOSX/Info.plist +++ b/examples/NetworkGraphicsDemo/Builds/MacOSX/Info-App.plist @@ -11,6 +11,8 @@ $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName JUCE Network Graphics Demo + CFBundleDisplayName + JUCE Network Graphics Demo CFBundlePackageType APPL CFBundleSignature diff --git a/examples/NetworkGraphicsDemo/Builds/MacOSX/JUCE Network Graphics Demo.xcodeproj/project.pbxproj b/examples/NetworkGraphicsDemo/Builds/MacOSX/JUCE Network Graphics Demo.xcodeproj/project.pbxproj index b9b4658afb..3e63076cda 100644 --- a/examples/NetworkGraphicsDemo/Builds/MacOSX/JUCE Network Graphics Demo.xcodeproj/project.pbxproj +++ b/examples/NetworkGraphicsDemo/Builds/MacOSX/JUCE Network Graphics Demo.xcodeproj/project.pbxproj @@ -6,6 +6,7 @@ objectVersion = 46; objects = { + F468E8C7B02DFD4D53911277 = {isa = PBXBuildFile; fileRef = E4162459ED4C829EF7B19691; }; 80EE2C27B466BAFD83881D3F = {isa = PBXBuildFile; fileRef = 2E13A899F4E3C99054A3656F; }; C4D6C466C41173D6970553D2 = {isa = PBXBuildFile; fileRef = 9E8129263CD42C6029FC2CAD; }; BED88ADEA4DC91AA8C810FA8 = {isa = PBXBuildFile; fileRef = 398A945EFD9ED923162982B1; }; @@ -21,20 +22,20 @@ 006DF460F8DF66EFFA80D968 = {isa = PBXBuildFile; fileRef = 70F1CAF3C4C561DD81E6AFC1; }; 987CBD5330E76B404F0D966C = {isa = PBXBuildFile; fileRef = 77C0AC21C1028911123844FC; }; 9F618C008A503063D10076C4 = {isa = PBXBuildFile; fileRef = 74711D7544168CCAC4969A07; }; - F420418005A79DAF770E7735 = {isa = PBXBuildFile; fileRef = 39BADA2042495195394900F3; }; - 96B6D565C6C5F9159EB6A55F = {isa = PBXBuildFile; fileRef = 44301EEC47F5688D9BC0582E; }; - 76B52030E43D3B5AB6127691 = {isa = PBXBuildFile; fileRef = F756FBC7A6836696BCADD2B4; }; - 400043FD261C86FBBC627B22 = {isa = PBXBuildFile; fileRef = 814EF15FC580DB2A5F426071; }; - A1DF53840C31BE4F53C45FDC = {isa = PBXBuildFile; fileRef = CAD2BDFE8443FE5648EF5A9C; }; - C0034230852C5B299E4E727F = {isa = PBXBuildFile; fileRef = C63EFC8D5E9FDC58BD4A9CA2; }; - 723819DB39E466E20A7F3320 = {isa = PBXBuildFile; fileRef = DD866BA894AC019F86C5F4C9; }; - C9E4DFC6834B1902D7B5ECB5 = {isa = PBXBuildFile; fileRef = A67B57899953E98B2B52FA2C; }; - 12BE09EBD1CD09058C84C052 = {isa = PBXBuildFile; fileRef = 13BEE456E0A7D58819C06B21; }; - 6E0A0DA4E667AC2D4F11E690 = {isa = PBXBuildFile; fileRef = A80E52C517801112E8F19350; }; - 47674ECBB496642ADA2FE208 = {isa = PBXBuildFile; fileRef = 3C02F146BFD3D2C8B0B3D8B8; }; - 5615BFDBF1F361687927B58C = {isa = PBXBuildFile; fileRef = D185AFBBD6B50B5CCC2A9A3D; }; - 2E23D07E4DE9480FB5B4C540 = {isa = PBXBuildFile; fileRef = 556B39875D557171B3E0D68C; }; - B8AF173DBD1F487F943A2FE7 = {isa = PBXBuildFile; fileRef = 71274DD47D3EFC3EB83ED73C; }; + 718B99FAB1E8194D2B0206AC = {isa = PBXBuildFile; fileRef = C330F97CDD84D73ADFF32B6B; }; + 33DF4133C9A034541881565B = {isa = PBXBuildFile; fileRef = 7426094FECDBDB73C1DDE58B; }; + E450503516A898335FF1484C = {isa = PBXBuildFile; fileRef = 75F0E24A0BFFB573DA77B602; }; + C2999D6FCD5C87F7BBE12E58 = {isa = PBXBuildFile; fileRef = 92B708D33562C06F382E615F; }; + 4CF197F817C8E39E9CBD1F37 = {isa = PBXBuildFile; fileRef = 1D9299636D0100B772E26000; }; + 09F3BF47BA1F8E671565F0CF = {isa = PBXBuildFile; fileRef = F5D1149D91939A33DE653BAB; }; + 689F1BF1DA09BEE5EFD51E8C = {isa = PBXBuildFile; fileRef = 82F67360DC3AD52A255A3829; }; + CDF8191688659B6FB4F69C8D = {isa = PBXBuildFile; fileRef = 48C10DE9B2C0B0B6D874D2D2; }; + B6BF743F7CD09709BE3E8139 = {isa = PBXBuildFile; fileRef = EF15E2FA8F8D4DB6479A48B6; }; + 6F2EF8469609CE8A16241E40 = {isa = PBXBuildFile; fileRef = 8BA1BD3E0D16C4009774F319; }; + 9FF3C9A4A206BF1180E3A8B5 = {isa = PBXBuildFile; fileRef = 5C8C2C045A2E27C9B23754D3; }; + 5A9046883911D31579E1FA3A = {isa = PBXBuildFile; fileRef = A119D66FC1AD1E7BA31EFA46; }; + CD97DCDA3B81BE426F5430FF = {isa = PBXBuildFile; fileRef = B431FB5881D1232F27DC05DA; }; + 682E2C7BF7CF308447AC4D11 = {isa = PBXBuildFile; fileRef = 70128920B5973BE15D2E58CF; }; 000265F702986DE8DD932309 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageSequence.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h"; sourceTree = "SOURCE_ROOT"; }; 000DAE49A15BE8D4DA5ADA8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; }; 000EA162E25BC873954A9E48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -93,7 +94,6 @@ 0C573FF1309CE106DA2D2CF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_utils.h"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.h"; sourceTree = "SOURCE_ROOT"; }; 0C58D2236F902CCD34EA4FCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_CommonFile.cpp"; path = "../../../../modules/juce_core/native/juce_linux_CommonFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 0CFDFC8B0EE4F67F3140A95E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; }; - 0D6692C87B6EEDFCB658A996 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = "SOURCE_ROOT"; }; 0DA4C3278F6482DB3E59D9BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; }; 0DB078E2523AD3ABE77A95F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; }; 0DBCEADB9A04439E66BE176E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -122,7 +122,6 @@ 1377617053AF07B0E571F77B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReverbAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 13A6B8661E1D605FCD86F1E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; 13BD4B06D1A341403533186D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCTimeTag.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCTimeTag.cpp"; sourceTree = "SOURCE_ROOT"; }; - 13BEE456E0A7D58819C06B21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; 13C50C345BB1AE097DE51F8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserVoice.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp"; sourceTree = "SOURCE_ROOT"; }; 13E0FBE11F1B5028F51D4A83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; 140159E9C38C975949494E5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -161,6 +160,7 @@ 1D153366F6EA459B397CA356 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; }; 1D58402ABF05B2EF162769C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 1D68D7036540404EFB82B35D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1D9299636D0100B772E26000 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../JuceLibraryCode/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; }; 1DE2689A8FBB19007E892906 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; }; 1DE819F8D407705C57EACD26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; 1E206D97A7B91545FE0D27CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -171,6 +171,7 @@ 1F3F5EE19B8CA78D9513AD94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LuaCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; 1F52A06FB3A565B54144FD8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; 1F999582FEA88311EC2EBF27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; }; + 1FD6DBAC73414DD4C152E34E = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-App.plist"; path = "Info-App.plist"; sourceTree = "SOURCE_ROOT"; }; 1FEF9A01DC5486A9FA1CDF04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnailCache.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp"; sourceTree = "SOURCE_ROOT"; }; 201270E933BAEFC855FF02FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; }; 20193027F5E90E62F44027B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Whirlpool.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_Whirlpool.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -185,7 +186,6 @@ 22A9BA274F3AD6FAF4331D11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 2368F4F33C1FA1F250C0606C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 2373A1F1357D75E328517966 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLFrameBuffer.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 23EC7FFD41859C9725D21B16 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_cryptography/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 23F3CBC829C0363C6C760957 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Base64.cpp"; path = "../../../../modules/juce_core/text/juce_Base64.cpp"; sourceTree = "SOURCE_ROOT"; }; 24711D9742CB31F36F71A36E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; }; 24FD7D015B6C46BDFC98E2DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -237,7 +237,6 @@ 30D2B2F180671715D1CFAD5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; }; 3121B99F19132789145FDF58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; 3153401B1C69B651D2AD37E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; }; - 3180211C7FFE65342212F8DC = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 3193E205AA627C635FF236E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp"; sourceTree = "SOURCE_ROOT"; }; 32053E605C421DA9F9C406BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; }; 3234FA3655EA51C78D5E2D87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -261,7 +260,6 @@ 3913A6C3147F55D7390405B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemAudioVolume.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h"; sourceTree = "SOURCE_ROOT"; }; 3957E1F6F24F89D6DCB8829E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; }; 398A945EFD9ED923162982B1 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; - 39BADA2042495195394900F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 39E116DC12FD26E3DB3F4DFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; 39F7F18157821A256E23B868 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; }; 3A132DEDF59503D8AEE2E1F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; }; @@ -270,7 +268,6 @@ 3BA17634675701A90B92AA88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; }; 3BAA4C5AFD5E6AE8B7447E17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; }; 3BEA5E0CD39AABEAB92B425E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDirectoryScanner.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h"; sourceTree = "SOURCE_ROOT"; }; - 3C02F146BFD3D2C8B0B3D8B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 3CFD6B00875759345575ECFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 3D7BB39A9FCE43D8EAF6B6CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; 3DD9BA50041192D1F28D87CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; }; @@ -295,7 +292,6 @@ 42DA53757E1591ED0395C94E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; 43BE50DA24ABCAF9183FC535 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; }; 43BEA6B7451F512AC9B1ED38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Desktop.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.cpp"; sourceTree = "SOURCE_ROOT"; }; - 44301EEC47F5688D9BC0582E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; 445C1F432C6144BD2F6D3327 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 448838BE6E937D450A3C84CE = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; 4533B1E6786C588EEB5F17F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -309,6 +305,7 @@ 489251CA8BE0CA79BA247455 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; }; 489FD44544F03774CBFA04E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; 48A798B2097EF59A8A53F1F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; }; + 48C10DE9B2C0B0B6D874D2D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; 48EBF61EDF71322807F5AF4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; }; 49EEE3FAA41505E20A1587BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; 4A0C286E6CB8D31A8C048A88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -352,7 +349,6 @@ 5484B58D02279CE228079C12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CoreAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 54E5C8F4F9BF6B8228482AD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; 55037EF642A280DAC85CE34D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; }; - 556B39875D557171B3E0D68C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../../../modules/juce_opengl/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; 55F8FDB2CE9EA9B6F6F750B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MissingGLDefinitions.h"; path = "../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h"; sourceTree = "SOURCE_ROOT"; }; 5614CF8ACD28587D8E9FC249 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectSound.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp"; sourceTree = "SOURCE_ROOT"; }; 561DC7B5329A4719A85FB37E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; }; @@ -361,7 +357,6 @@ 56FA5F3ABA3B0278767C107B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextInputTarget.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h"; sourceTree = "SOURCE_ROOT"; }; 57134B5B764CAAAEA07C56CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 579117EBA45C1878DC55FF65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; }; - 5794F3D9DC292B1603244735 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_graphics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 57C8BBE1EFA839C458DEF2F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; }; 5864A3A4338CCCB6524CE499 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 58B4452DE10C4ABF8D8DC7EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; }; @@ -380,6 +375,7 @@ 5C2B9D77C8CEB8A1F6C121E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 5C5FBFC0D457D62BDC602F17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 5C82D0E8AB39B155A987109A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODeviceType.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5C8C2C045A2E27C9B23754D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 5C99C4705F0D6CE613DE7711 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCReceiver.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCReceiver.cpp"; sourceTree = "SOURCE_ROOT"; }; 5C9AF08626A44F2AF6783A53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 5CCB6DBE5D69271176CD9603 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -428,7 +424,6 @@ 678B3B27F695152D396C09A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; }; 6799B056504F9F017998B9E2 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; 6821655BB8883B9A421666C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 6894C4ABEF5203014A0B665F = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_utils/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 689962387B441B1770B53D6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; 696F7896036B652369517438 = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; sourceTree = "SOURCE_ROOT"; }; 69995C9ACA8B57DDB8E49495 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; }; @@ -453,10 +448,10 @@ 6F4CD56079CABCB8F4FBA0D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; }; 6F9461C9816AF7B764F73FC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; }; 6FDDB32B35EF2BC6C4E353C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioAppComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 70128920B5973BE15D2E58CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_osc.cpp"; path = "../../JuceLibraryCode/juce_osc.cpp"; sourceTree = "SOURCE_ROOT"; }; 70736236C82A9ACE63DB3D3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; }; 709EB992B73BB302F0D9FC8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathIterator.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; 70F1CAF3C4C561DD81E6AFC1 = {isa = PBXFileReference; lastKnownFileType = file.icns; name = Icon.icns; path = Icon.icns; sourceTree = "SOURCE_ROOT"; }; - 71274DD47D3EFC3EB83ED73C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_osc.cpp"; path = "../../../../modules/juce_osc/juce_osc.cpp"; sourceTree = "SOURCE_ROOT"; }; 71359267D6C329BC132B88CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLHelpers.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp"; sourceTree = "SOURCE_ROOT"; }; 71894D722D549F75275D3D53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; 724D1A80CA91E8ADB78287BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; @@ -467,6 +462,7 @@ 72FD8AC04D2B0BEE1A5E2596 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiRPN.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h"; sourceTree = "SOURCE_ROOT"; }; 7319C1AFC4D882F649320DDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; 7414371325D7C8E4ECB043D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; }; + 7426094FECDBDB73C1DDE58B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../JuceLibraryCode/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; 74711D7544168CCAC4969A07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = BinaryData.cpp; path = ../../JuceLibraryCode/BinaryData.cpp; sourceTree = "SOURCE_ROOT"; }; 74A4500C4809EFB73D5FA36C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; 74C15BFC6E036DE767574778 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; }; @@ -475,6 +471,7 @@ 75636F75113CD1ABF8B01F08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; }; 758A85BA2A15681252AAC852 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; 75CBB4C7E9CBA8B36FA40FB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; }; + 75F0E24A0BFFB573DA77B602 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../JuceLibraryCode/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; 77234EEA6FC39172D3B4B455 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; }; 777AA662407B7A91748C92A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 77C0AC21C1028911123844FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = "SOURCE_ROOT"; }; @@ -504,13 +501,13 @@ 806774C77EBD99266FE68583 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; 80B9B913DD55B0BD215AEC86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 80D63910D7196D7DF849A239 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; }; - 814EF15FC580DB2A5F426071 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; 81E803F2EB73BF09CB0CF2DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; }; 82073AD531BE1009AE92477D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; 82A654CA5A700A19A9A673BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; 82B25B30D756F75BDFDBBCD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTreeSynchroniser.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h"; sourceTree = "SOURCE_ROOT"; }; 82B807E750DB47D6FA6AA5F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; 82CF205CD196BF77B68EA75A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 82F67360DC3AD52A255A3829 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../JuceLibraryCode/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; 834384DBC61E38E789FD9B7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; }; 837FC46135954E8144A996FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; 83E38E7D0548FCDF7B150F22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; }; @@ -541,6 +538,7 @@ 8AF3D4A8845EBB742E3F521C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; }; 8B73B43B30D1235C6F6C7472 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; }; 8B7B53B20BE2BD10F219B06A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_QuickTimeAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8BA1BD3E0D16C4009774F319 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../JuceLibraryCode/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; 8BB63BFDE6F8C634381B9CF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLHelpers.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 8BD1742DEA98185FA7ED4152 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarComponent.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h"; sourceTree = "SOURCE_ROOT"; }; 8C19D0C6E404A67C74D07A9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; @@ -572,9 +570,9 @@ 91B931E774E4401630F74EE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; }; 91BDECC58244D65FC321A8E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; }; 9247A389C11552FA21BAB71F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9270C4E5EF60DE6108311112 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_devices/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 9271A906B51A234888B79D68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LAMEEncoderAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 92800676AF753D1A60108F11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BinaryData.h; path = ../../JuceLibraryCode/BinaryData.h; sourceTree = "SOURCE_ROOT"; }; + 92B708D33562C06F382E615F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../JuceLibraryCode/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; 935CA85EF98714D3A17AE737 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; 93736C303F60B4DBF1D87989 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Quaternion.h"; path = "../../../../modules/juce_opengl/geometry/juce_Quaternion.h"; sourceTree = "SOURCE_ROOT"; }; 9411003BA4D471F2C95269ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KnownPluginList.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -599,7 +597,6 @@ 9817FEEE6C1D99BCE7DB2395 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; }; 98C797055FB6A630BD2AF26B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; 98FE786D6DCAA1F39D0428E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9905205B6EDA5FAFA31EA03F = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_processors/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 991A179EF480F6B3049D0CE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; }; 9935025CC78B291623780878 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 996E743A20FC78671766BF59 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; @@ -632,6 +629,7 @@ A073692401C6D5C86D77E53C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; }; A09A20116F929D337AE95CB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OSCSender.h"; path = "../../../../modules/juce_osc/osc/juce_OSCSender.h"; sourceTree = "SOURCE_ROOT"; }; A118AD624CE30228686D51F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; }; + A119D66FC1AD1E7BA31EFA46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; A127A78E54490885EA61239C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; }; A15770CD33E47FF114451904 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; }; A198E2290B15C62F68D21050 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; }; @@ -653,7 +651,6 @@ A61EAEE68793E336E6F8BCF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; A630EDA780905F9CCC6EF5D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLAppComponent.cpp"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; A64B09FC5A333C71F069C890 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceManager.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp"; sourceTree = "SOURCE_ROOT"; }; - A67B57899953E98B2B52FA2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; A6A0A10D492CB91AF88BCDCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; }; A6AC587CC82C4689D4C0D90E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MACAddress.h"; path = "../../../../modules/juce_core/network/juce_MACAddress.h"; sourceTree = "SOURCE_ROOT"; }; A6AFC4953E324CC5163256E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -661,7 +658,6 @@ A6B8840048CE44449BF2E319 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OSCArgument.h"; path = "../../../../modules/juce_osc/osc/juce_OSCArgument.h"; sourceTree = "SOURCE_ROOT"; }; A7198BFD9B0CC598BD50B587 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; }; A7DF0F471086004A6B81CD11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; }; - A80E52C517801112E8F19350 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; A84DBA7DBC8FBEA5740CB026 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; }; A89C8222531A7CBACE054C1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; }; A8A0AF041F30CB7F45D2FF47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -696,7 +692,6 @@ B14FEADC75BB9C57CF45D850 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; }; B18369F3EF227348BAECC29F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; }; B19456B2F153DD805FB2F660 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp"; sourceTree = "SOURCE_ROOT"; }; - B1EA7F743B1C77827CAB5707 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_opengl/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; B1FD722E367F8B48B2C8F658 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; B2A4F9CD6F95FB4EECC2FB10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; B2C692D20C6190AC831ED780 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; }; @@ -709,6 +704,7 @@ B3D45312AB6F986CB3B4051C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; }; B4179816650495DEE17116FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentPeer.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h"; sourceTree = "SOURCE_ROOT"; }; B42577EBD62A6AF7AC97DAF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; }; + B431FB5881D1232F27DC05DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../JuceLibraryCode/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; B4B9CE9038C38B848A3DEF42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatWriter.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h"; sourceTree = "SOURCE_ROOT"; }; B4E70AE3447587BABF51A076 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; }; B541B5E33CE3B2054B30FF03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -731,7 +727,6 @@ B8D70BA0254864A54E587B21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; }; B8D9A7FDB054852EF59BF4AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; B93D72307AE413B7A9A074C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_opengl.h"; path = "../../../../modules/juce_opengl/juce_opengl.h"; sourceTree = "SOURCE_ROOT"; }; - B94D80A7B5ADCC744E7CE7E6 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_extra/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; B94E7B4E08D0CE7D4B3AA470 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; }; B96670417A0708508B971C58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; }; B97A4BE39BF95F50E67A4683 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -771,6 +766,7 @@ C26C5CA5E6514CF7457B1ACB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; C2AF71A259E7FE29A378F063 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCTypes.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCTypes.cpp"; sourceTree = "SOURCE_ROOT"; }; C30F3519F6ADB14DD19DE1A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDirectoryScanner.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp"; sourceTree = "SOURCE_ROOT"; }; + C330F97CDD84D73ADFF32B6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../JuceLibraryCode/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; C3538736DEAAF93829AB60A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; C378389E66043AAF139C6426 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; C3EE00C42BC5D0E1610F879A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Draggable3DOrientation.h"; path = "../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h"; sourceTree = "SOURCE_ROOT"; }; @@ -779,7 +775,6 @@ C5104FA479708493D5396BAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLPixelFormat.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h"; sourceTree = "SOURCE_ROOT"; }; C536B42EF0D28435B6410AC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; C56022F99B8FB808D00CE6D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; }; - C63EFC8D5E9FDC58BD4A9CA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; C6BDBA40F172EF384F005E8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; sourceTree = "SOURCE_ROOT"; }; C6CCDF5390C72C6C37F3446D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; }; C7373F24FD2E886C50CB3903 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BlowFish.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -798,7 +793,6 @@ C9EF40785DAD416946D6AAE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; CA5CAB4B48FE75C6760BB780 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCBundle.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCBundle.cpp"; sourceTree = "SOURCE_ROOT"; }; CA7D20970FD9BCB45BB5822A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZone.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.cpp"; sourceTree = "SOURCE_ROOT"; }; - CAD2BDFE8443FE5648EF5A9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; }; CB0FCCF91CA21CA88D295932 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; }; CB3DD188BB8AAB1931436CD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; }; CB46FEDCD501D06F0B024134 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -817,7 +811,6 @@ CF1F536ECAA15F7AF8B20746 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; }; CF5C8009A1AB469B2A3EDAF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserBase.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h"; sourceTree = "SOURCE_ROOT"; }; CF6BAD445F116D03D5AC2E69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; - D01F1E62E142AEF92EFEF9A0 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; D0436D71AD541BF93E0585DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; }; D05C8EB1FF06FB0A06C39518 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; D080322D3DB943F3FAFE56CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToneGeneratorAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; @@ -825,7 +818,6 @@ D12A0DFFE18728E84D9AB739 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; D15B6AC0F49F8BAAAF71FDF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; }; D1696F4E539DDB4D7423051C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - D185AFBBD6B50B5CCC2A9A3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; D1CA4E7E20D80D0AC1614F98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputStream.h"; path = "../../../../modules/juce_core/streams/juce_InputStream.h"; sourceTree = "SOURCE_ROOT"; }; D215EF12EACEF7D1CF873FFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; }; D2C6697A783580EE58B2C5EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -837,14 +829,12 @@ D45979081B92930C507C3B87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; D4C20B86C7B0A9FFBCA8FE6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; D4C5D7EE1A40AD018E5E6F02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; - D4F3296FB4D267CD9DBAEC22 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_osc/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; D5313BED337DBBC9A1F7D9CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Font.h"; path = "../../../../modules/juce_graphics/fonts/juce_Font.h"; sourceTree = "SOURCE_ROOT"; }; D56935CBCD13662FDB475D86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; D62FB517B25339128E860F9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilterAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; D64370EA15694620740DAEF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GenericAudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; D656F7818C72485E3ECC50C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPENote.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.h"; sourceTree = "SOURCE_ROOT"; }; D65C8F172D8C1FD532B67348 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; }; - D697C54442250F5A720D2CBF = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_events/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; D79506405903905814D5B32B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; D7C7D8F1CD5FCCAD941DAB9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterChoice.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h"; sourceTree = "SOURCE_ROOT"; }; D7D3D13E56861B7937B08EFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -857,6 +847,7 @@ D9064DA71018E0FB2C02BD3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; }; D93778DB7CCB4B438A59D8AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemFactory.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h"; sourceTree = "SOURCE_ROOT"; }; D96D639C9895ADEB144D5E40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEInstrument.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp"; sourceTree = "SOURCE_ROOT"; }; + D9958673B7BFB76E4F815126 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LAMEEncoderAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; D9B8313EC8799E313E1F7948 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; D9FC957CB510399786D69D8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; }; DA768EEF9A95E554F7903B60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; @@ -866,14 +857,12 @@ DC3AA6076CA4CFB066F146D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameterWithID.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h"; sourceTree = "SOURCE_ROOT"; }; DC4E35EEAF01C08CFC4A4CAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; }; DC50301B6C3FDAE98E224E76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormatManager.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; - DC76782D8BA40A4CA365C279 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_data_structures/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; DC9C7030E63CDD457DE54498 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiInput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h"; sourceTree = "SOURCE_ROOT"; }; DCA560DA0C66BB6D6EA92500 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; DCB2FAD653F074F08A916315 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; }; DCE5AE0A528365094776BE17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h"; sourceTree = "SOURCE_ROOT"; }; DCE64BC49FFC96654D30AD87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; }; DD6265BDB310A14072805592 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; - DD866BA894AC019F86C5F4C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../../../modules/juce_cryptography/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; DDD307F9E18E442E43786B0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BluetoothMidiDevicePairingDialogue.h"; path = "../../../../modules/juce_audio_utils/gui/juce_BluetoothMidiDevicePairingDialogue.h"; sourceTree = "SOURCE_ROOT"; }; DDD38519DCDDE8BDE8AC092B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; DE42EED0A04BB9F90D623BAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; @@ -887,54 +876,51 @@ E04A8F9E8B767CC682430498 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; }; E07D1F3E8D8727F58F868B90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; E0F302E28F1CA85EE2A60BEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemTrayIconComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + E26BB7E510E3BEE029962DD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Sampler.h"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.h"; sourceTree = "SOURCE_ROOT"; }; E27E9AF73E442C75C0091F8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; }; E33B4A0A655F6365B17CE1F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h"; sourceTree = "SOURCE_ROOT"; }; E368DF5C372BB7CCE82DC763 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + E4162459ED4C829EF7B19691 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "JUCE Network Graphics Demo.app"; sourceTree = "BUILT_PRODUCTS_DIR"; }; E41A33EB67E7E190A88A3AD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; }; E428D9BEA0B66A12448F3649 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; E44B8F906461AB6AC47B374A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LADSPAPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; E4546F8D14174EB8C05A47C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + E45C1684DCDBFD3B76F0B209 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + E4D3972CA0596447A3C0A5EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEValue.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp"; sourceTree = "SOURCE_ROOT"; }; E4D861851BBC388FE4CB5DFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; }; E526AF80946C3F077C1C63C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; }; E540A462EBB080CF14B31764 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; E614AF9C124E2CEE229954DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; }; E6526B2FBE4F9F3DF819A030 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; }; - E73144B6B99143468DB98842 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLShaderProgram.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.cpp"; sourceTree = "SOURCE_ROOT"; }; - E74DA5EF2C208608AF676212 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; }; - E8DE188896E5791E338D4EE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; - EA53F7F4674786EB152A2273 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MixerAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; - EA65F835FDB1DB86406C9471 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; }; - EC794872987FEA2E129C589A = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; - EE2712F5383D654D470BA1C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessage.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp"; sourceTree = "SOURCE_ROOT"; }; - F3292E3563DB7ABB076DB400 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; - 88B666E3E64434D066937972 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "JUCE Network Graphics Demo.app"; sourceTree = "BUILT_PRODUCTS_DIR"; }; - D9958673B7BFB76E4F815126 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LAMEEncoderAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; - E26BB7E510E3BEE029962DD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Sampler.h"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.h"; sourceTree = "SOURCE_ROOT"; }; - E325C8811CC4773321407E9B = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_formats/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; - E45C1684DCDBFD3B76F0B209 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; - E4D3972CA0596447A3C0A5EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEValue.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp"; sourceTree = "SOURCE_ROOT"; }; E7230A4CC16B57C93FCE675A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnail.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h"; sourceTree = "SOURCE_ROOT"; }; + E73144B6B99143468DB98842 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLShaderProgram.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.cpp"; sourceTree = "SOURCE_ROOT"; }; E74B5E2C22C81CA99C9CB473 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; }; + E74DA5EF2C208608AF676212 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; }; E75749124D1F2FD391C01787 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorPlayer.cpp"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; E78FFEA6B1BE4AD1EE43C60D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_android_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; E8649B16BA011770D16BF051 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; }; E89452B0110096760B06397C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_ClangBugWorkaround.h"; path = "../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h"; sourceTree = "SOURCE_ROOT"; }; E8B02F47799FC984D3FE1083 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; + E8DE188896E5791E338D4EE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; + EA53F7F4674786EB152A2273 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MixerAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + EA65F835FDB1DB86406C9471 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; }; EA8A250986871A036D42DB94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; }; EAED7C0A5FFE6D29DD0A0D9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; }; EB267F3D6CA06EDB2EB92BBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; EB5D5F550EC7617B00286524 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OSCAddress.h"; path = "../../../../modules/juce_osc/osc/juce_OSCAddress.h"; sourceTree = "SOURCE_ROOT"; }; EB990950081504EBD067FF9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; sourceTree = "SOURCE_ROOT"; }; + EC794872987FEA2E129C589A = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; EC97D7ABC489A5E1BD7BAF41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; }; ECB67354113361CDADA77BC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; ECD46DBA26680A8F86569C2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; }; ED256A12202BBE4615053DD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OSCReceiver.h"; path = "../../../../modules/juce_osc/osc/juce_OSCReceiver.h"; sourceTree = "SOURCE_ROOT"; }; ED2D3A163433149267F3C47D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + EE2712F5383D654D470BA1C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessage.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp"; sourceTree = "SOURCE_ROOT"; }; EE6895EE5020998469F17433 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; }; EE77BB1682ABC799703B5972 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; EE8916C220D09A855BDCB95C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; }; + EF15E2FA8F8D4DB6479A48B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; EF337D9B43E0569DE3E48279 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; }; - EF43908046753F20507CC3B0 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_core/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; EF805FA4F575DBCAF69C1AE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; EF8BAD426428948862257FC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; }; EFD1CE8574994B5B6D078FD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_OpenSL.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -947,6 +933,7 @@ F1AEC47949E75A0B4DBEA130 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; }; F22EB69681485A38365940DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MD5.h"; path = "../../../../modules/juce_cryptography/hashing/juce_MD5.h"; sourceTree = "SOURCE_ROOT"; }; F31752A999520E521BC507D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + F3292E3563DB7ABB076DB400 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; F3472E21D095DB91ADE8D714 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; }; F36CA213BBF312F093F8C6E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FloatVectorOperations.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h"; sourceTree = "SOURCE_ROOT"; }; F39E719901F12B16AD7D600C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; }; @@ -956,12 +943,12 @@ F57531462BB169A5F0224ADE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; F5A0AF00BD4B6471D5057B9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiBuffer.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; F5A991062FE0EEEFE0CAAC17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; }; + F5D1149D91939A33DE653BAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; F6440E90EC3193EBD07AD3D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; }; F672C9D6819D4CEA39A76445 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; F6943E7562D614D4D2F687E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; }; F6F314A674A9535D6425F794 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiDataConcatenator.h"; path = "../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h"; sourceTree = "SOURCE_ROOT"; }; F70EF841DE659606631FBD20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Base64.h"; path = "../../../../modules/juce_core/text/juce_Base64.h"; sourceTree = "SOURCE_ROOT"; }; - F756FBC7A6836696BCADD2B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; F765D762D0012A1607F5622A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; }; F7BF997FD40A633D0B519290 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; F80B331AD631D4F77A673691 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -1078,9 +1065,12 @@ 535BC18EA5604A8E324D5E7B, BCC14FB1DB5AF2D57E552587, B1873441490E1D82AFF483A9, - 3180211C7FFE65342212F8DC, A23791E205B22F21521DF9F4, ); name = "juce_audio_basics"; sourceTree = ""; }; - 4BEC77BC6E7CFADDDF9B8150 = {isa = PBXGroup; children = ( + FE2A7BD2DBBF5455858731DA = {isa = PBXGroup; children = ( + A127A78E54490885EA61239C, + 7E9DE536E504F1EDDF5532C3, + EC97D7ABC489A5E1BD7BAF41, ); name = "audio_cd"; sourceTree = ""; }; + CAF4120F7AF03F2B0CEDF196 = {isa = PBXGroup; children = ( A64B09FC5A333C71F069C890, 0566C8771A3278C82D183A98, 50E3DBC3F2D136A9A59ED1D8, @@ -1088,22 +1078,13 @@ 5C82D0E8AB39B155A987109A, 0EAE4A004CEB66D275142FCA, 3913A6C3147F55D7390405B5, ); name = "audio_io"; sourceTree = ""; }; - E59E95D4515B03C9EA7E9340 = {isa = PBXGroup; children = ( + 84472E4F555D5EF6DC2C67D9 = {isa = PBXGroup; children = ( DC9C7030E63CDD457DE54498, 9E2535830FEEC2462D0A01C0, C8C33E8254DF7A03B953FF91, B19456B2F153DD805FB2F660, 5D17004F2CE0F2DBFDE79EA4, ); name = "midi_io"; sourceTree = ""; }; - DC49ACA858E5F3CF488CE4A0 = {isa = PBXGroup; children = ( - 7F64D580AA191FBC2A74E943, - 8F2FACABB024833B7F932BC5, - 03F0E358E328911FE44415CC, - 666F7A0F487C9974AF12E8A9, ); name = sources; sourceTree = ""; }; - C66C381D76BA1142DA9D14B3 = {isa = PBXGroup; children = ( - A127A78E54490885EA61239C, - 7E9DE536E504F1EDDF5532C3, - EC97D7ABC489A5E1BD7BAF41, ); name = "audio_cd"; sourceTree = ""; }; - 96990D0DA7180EC733377986 = {isa = PBXGroup; children = ( + CD508012D7E439F5FE247F64 = {isa = PBXGroup; children = ( 25F7E2E0BF7DF2E71648BFFE, 51FFA102D25322925C454ACD, EFD1CE8574994B5B6D078FD9, @@ -1123,31 +1104,19 @@ 5614CF8ACD28587D8E9FC249, 2B14736595E3FFC604AFBD7C, 1E206D97A7B91545FE0D27CD, ); name = native; sourceTree = ""; }; + 2C4B5DD8F4B918768433680C = {isa = PBXGroup; children = ( + 7F64D580AA191FBC2A74E943, + 8F2FACABB024833B7F932BC5, + 03F0E358E328911FE44415CC, + 666F7A0F487C9974AF12E8A9, ); name = sources; sourceTree = ""; }; 05C8723D6B99C1C95FA1860E = {isa = PBXGroup; children = ( - 4BEC77BC6E7CFADDDF9B8150, - E59E95D4515B03C9EA7E9340, - DC49ACA858E5F3CF488CE4A0, - C66C381D76BA1142DA9D14B3, - 96990D0DA7180EC733377986, - 9270C4E5EF60DE6108311112, + FE2A7BD2DBBF5455858731DA, + CAF4120F7AF03F2B0CEDF196, + 84472E4F555D5EF6DC2C67D9, + CD508012D7E439F5FE247F64, + 2C4B5DD8F4B918768433680C, B8072A5DFFD892216550F18B, ); name = "juce_audio_devices"; sourceTree = ""; }; - 1554E277DE02E3B888375604 = {isa = PBXGroup; children = ( - 282B495AB94F47BD60C7E62F, - 9002A3D1CD5740D9C50A834C, - 5D2856B19DC13C57D70E42DE, - CD5B4BF3641DA629049AF981, - 72F927799B30E12B01E9C00A, - 5F43B58D079ECA063DEFCD0E, - 60DD038BF3685FF524C3A720, - 101637AD0747ECC48982FDAA, - 8784634AAD6079EF097FD751, - B4B9CE9038C38B848A3DEF42, - AD5D3156CBD517EB3835798A, - 2AA07C55625E1ADD22E9A4D5, - B599D417EDB736AB6D22321A, - 806774C77EBD99266FE68583, - A61EAEE68793E336E6F8BCF7, ); name = format; sourceTree = ""; }; - 8B72B48B4486011378022F46 = {isa = PBXGroup; children = ( + 5FCA8C56F0BE13FDC728F6CC = {isa = PBXGroup; children = ( 382C1DB36E41E2DEB77B11ED, 66E12916E12BBC042F715891, 5484B58D02279CE228079C12, @@ -1166,16 +1135,48 @@ 1172DC1C9E21CAAF0C82687D, 5864A3A4338CCCB6524CE499, F168A7541EBE16D46968C97D, ); name = codecs; sourceTree = ""; }; + CEF799BC3437652CC14A7F31 = {isa = PBXGroup; children = ( + 282B495AB94F47BD60C7E62F, + 9002A3D1CD5740D9C50A834C, + 5D2856B19DC13C57D70E42DE, + CD5B4BF3641DA629049AF981, + 72F927799B30E12B01E9C00A, + 5F43B58D079ECA063DEFCD0E, + 60DD038BF3685FF524C3A720, + 101637AD0747ECC48982FDAA, + 8784634AAD6079EF097FD751, + B4B9CE9038C38B848A3DEF42, + AD5D3156CBD517EB3835798A, + 2AA07C55625E1ADD22E9A4D5, + B599D417EDB736AB6D22321A, + 806774C77EBD99266FE68583, + A61EAEE68793E336E6F8BCF7, ); name = format; sourceTree = ""; }; AD3107F336CFB1ECE81D56C6 = {isa = PBXGroup; children = ( 505B41AE1B6E2B7FF4B0D859, E26BB7E510E3BEE029962DD3, ); name = sampler; sourceTree = ""; }; E645944AAADA77E0BF55B753 = {isa = PBXGroup; children = ( - 1554E277DE02E3B888375604, - 8B72B48B4486011378022F46, + 5FCA8C56F0BE13FDC728F6CC, + CEF799BC3437652CC14A7F31, AD3107F336CFB1ECE81D56C6, - E325C8811CC4773321407E9B, 1ED0FAAEFF9D4A6426E76E89, ); name = "juce_audio_formats"; sourceTree = ""; }; - 7BB74D988E491E6D61D92993 = {isa = PBXGroup; children = ( + FE300569F188EC00203BB722 = {isa = PBXGroup; children = ( + 6E27EBF864367EBA8B44DFA9, + E45C1684DCDBFD3B76F0B209, + DC50301B6C3FDAE98E224E76, + 9671131059C459A1E119535E, ); name = format; sourceTree = ""; }; + 8503E64B39A00D815D69DCF1 = {isa = PBXGroup; children = ( + 3F6BE2A8CAF1C23380D884F5, + 1D153366F6EA459B397CA356, + E44B8F906461AB6AC47B374A, + 914ED3B5EEB409125EADBB2F, + 10D5F9D8D44A252288D19F42, + 7A41A9C37A8BA7EFB6D1F518, + 264B51063F7AA584D23B426E, + 545C5A5F29523968A387FD91, + CE06CB9CD28DE31FA1528DE5, + F906FBF064A716C5EADF5708, + 5B8CE8EC0CEDF800AD5B71E1, ); name = "format_types"; sourceTree = ""; }; + E525C43251E1D1225CB95350 = {isa = PBXGroup; children = ( E8649B16BA011770D16BF051, 0DB078E2523AD3ABE77A95F6, 47C8219AACA73B2EBE302A35, @@ -1192,23 +1193,6 @@ 174350B11E9207B7038E2BFA, A42479D8A3AE579891E8741A, 487F7DFCFB0CF15BDFEBD24E, ); name = processors; sourceTree = ""; }; - 7DFB429912E7CFEEA12BA501 = {isa = PBXGroup; children = ( - 6E27EBF864367EBA8B44DFA9, - E45C1684DCDBFD3B76F0B209, - DC50301B6C3FDAE98E224E76, - 9671131059C459A1E119535E, ); name = format; sourceTree = ""; }; - BCF1810AF6CFAC9FA7F520BA = {isa = PBXGroup; children = ( - 3F6BE2A8CAF1C23380D884F5, - 1D153366F6EA459B397CA356, - E44B8F906461AB6AC47B374A, - 914ED3B5EEB409125EADBB2F, - 10D5F9D8D44A252288D19F42, - 7A41A9C37A8BA7EFB6D1F518, - 264B51063F7AA584D23B426E, - 545C5A5F29523968A387FD91, - CE06CB9CD28DE31FA1528DE5, - F906FBF064A716C5EADF5708, - 5B8CE8EC0CEDF800AD5B71E1, ); name = "format_types"; sourceTree = ""; }; 355D27971E753065A8756A77 = {isa = PBXGroup; children = ( 9411003BA4D471F2C95269ED, 4AA0B96439AA013BFDFED0FF, @@ -1226,12 +1210,11 @@ 5ED809701F235D958635DACA, 877FC50B817B57928FD4395C, ); name = utilities; sourceTree = ""; }; 5102C5BFB76FB218BB512EC7 = {isa = PBXGroup; children = ( - 7BB74D988E491E6D61D92993, - 7DFB429912E7CFEEA12BA501, - BCF1810AF6CFAC9FA7F520BA, + FE300569F188EC00203BB722, + 8503E64B39A00D815D69DCF1, + E525C43251E1D1225CB95350, 355D27971E753065A8756A77, CF3502266720B326C5ED5310, - 9905205B6EDA5FAFA31EA03F, A94C6EB19B9BF24D83054D60, ); name = "juce_audio_processors"; sourceTree = ""; }; 3622CFF351CF31035D444625 = {isa = PBXGroup; children = ( 26DDCC5B563483D67D645398, @@ -1248,73 +1231,21 @@ DDD307F9E18E442E43786B0E, BE6C77497C8F42747F797BBD, 181C1A360C01EFF44A3BB18A, ); name = gui; sourceTree = ""; }; - 56DDB21277B7847412918A37 = {isa = PBXGroup; children = ( - E75749124D1F2FD391C01787, - 97188A2D8CC4C0DACC6A4D2F, ); name = players; sourceTree = ""; }; - D8843096A672D4F2E84BA70B = {isa = PBXGroup; children = ( + A84F97B4063842C7891EE593 = {isa = PBXGroup; children = ( E78FFEA6B1BE4AD1EE43C60D, 7B0648C17B0C62706424B080, 7F23EFF727A93D53C8654687, B0DD6412314A0666002F9CB5, 1B9BCCBA7BA4D87454EC8710, ); name = native; sourceTree = ""; }; + A14FD89A2624B173921CBEEE = {isa = PBXGroup; children = ( + E75749124D1F2FD391C01787, + 97188A2D8CC4C0DACC6A4D2F, ); name = players; sourceTree = ""; }; 738E94C7871EC777AE05CA28 = {isa = PBXGroup; children = ( 3622CFF351CF31035D444625, - 56DDB21277B7847412918A37, - D8843096A672D4F2E84BA70B, - 6894C4ABEF5203014A0B665F, + A84F97B4063842C7891EE593, + A14FD89A2624B173921CBEEE, 0C573FF1309CE106DA2D2CF9, ); name = "juce_audio_utils"; sourceTree = ""; }; - 24F1C7CE0BA8B996E80B5383 = {isa = PBXGroup; children = ( - 23F3CBC829C0363C6C760957, - F70EF841DE659606631FBD20, - 0DBCEADB9A04439E66BE176E, - 0B37C06B070C6F069F23A812, - 2931409E5426C745CB3B6EE6, - 579117EBA45C1878DC55FF65, - 999ECAD45309F13369547FDB, - 210B445861AC2BD744D97F6D, - DE66F892ACF4DCAE897F3BE4, - C041D609CA330DE35D88B7EE, - 6BB634F1841C4BCE4775FF8D, - 9AFB00C8011E7902EF67789C, - 7CDAE6FBB85B787E8FA15B0C, - E8B02F47799FC984D3FE1083, - 0679221D71CD972EE07343B5, - 482D7E87F00C2888C2B8FC9E, - 74E60A8C1056FF1D64053A62, - 01641AA0EEDDC5059FC28EF9, - 8EE86B89C69AD4D9A802526D, - EAED7C0A5FFE6D29DD0A0D9A, - E27E9AF73E442C75C0091F8D, - A073692401C6D5C86D77E53C, - 0F98FB16D69403E94F1BB9C7, - B3D45312AB6F986CB3B4051C, ); name = text; sourceTree = ""; }; - C6B0A793A79BB7918A5A2337 = {isa = PBXGroup; children = ( - 1C99350395AE046857697B14, - 6B23639B2FD8C8FCFC241070, - C3538736DEAAF93829AB60A0, - 08CCA1B6C1824CE73281A769, - AC61701F361E5327D6BEEEDD, - 30D2B2F180671715D1CFAD5E, - EA8A250986871A036D42DB94, - 4E451FB3A0D657682324CEED, - 52058B3A331BFA856932EEED, - 20802D1854C7E66EBFCF2992, ); name = maths; sourceTree = ""; }; - 167969AC10CCB46C3FB57BD8 = {isa = PBXGroup; children = ( - FF7509FDC5B23104C7AF1665, - 42DA53757E1591ED0395C94E, - 4BE9A59D703E4CA4661252C1, - 9C20682A5F49B7BD2CEC3E2B, - 3601DA62C81D9C4FEB9CAA23, - 042DAFB982DBCB0940DAC979, - 81E803F2EB73BF09CB0CF2DE, - B6B133F816AD44FBFFBF8146, - AB6D9BF527527D3143CAC2A2, - B785E11D273E197A78C90597, - FF796B6850F1EE2F18668D06, - 6DAF8D36A60A6F606DCDBADB, - D05C8EB1FF06FB0A06C39518, - 3957E1F6F24F89D6DCB8829E, ); name = memory; sourceTree = ""; }; - 7A48C4CD434CC8B40E417307 = {isa = PBXGroup; children = ( + 3E88FA6BBB7307BDB4546665 = {isa = PBXGroup; children = ( 15D277FFB993448CDB52E307, 10F958EF56CFB17EA747F3B9, 8EF093827B72F444E74F5682, @@ -1336,37 +1267,7 @@ 51D8A242315E93AECE0D1B0E, BE65BDFEC645F36487A68F71, DA768EEF9A95E554F7903B60, ); name = containers; sourceTree = ""; }; - E2522538E4E168520D3AE9E6 = {isa = PBXGroup; children = ( - 11561CA1FD46FA08C2EF0C9E, - 3020CB57085A70221FC0042D, - 9DCB9FE79EDD770E0EC8A370, - B3B317778509714561A5E52F, - EB267F3D6CA06EDB2EB92BBE, - 6F3E59877038096FDA5B28DE, - 1ADD2315C0E364D635A88C2D, - 862A547990420303EBE1C849, - B8D70BA0254864A54E587B21, - B2A4F9CD6F95FB4EECC2FB10, - 55037EF642A280DAC85CE34D, - EE8916C220D09A855BDCB95C, - 6256BA6104CE254172D02804, - 306D2FC4CE156DB61D67C0E0, - B8D0006C486909BB51D8D818, - 64223866AD9D3D69464C198B, - 8AAEBEE37A67A5D01EBA6BB7, - 8FC33441590BA03C2EB5CD63, - C9EF40785DAD416946D6AAE1, - A54E763170141C2FC3BBD197, - 9DF463C5E206ADC98851C78A, - 16A3BFE2C5679BDD49A4F424, ); name = threads; sourceTree = ""; }; - 5287498162903ADA659A8E12 = {isa = PBXGroup; children = ( - BED621A030C4C37B2326EE4A, - 34CAFBB1E014F17C6111C716, - D4C5D7EE1A40AD018E5E6F02, - 724D1A80CA91E8ADB78287BE, - 32E5AD1B0A329492EDB0D49C, - 9D29AC99CA678DE27CAAAE31, ); name = time; sourceTree = ""; }; - 12BF6A615E82605F03493444 = {isa = PBXGroup; children = ( + 4259FE6E61733A28141C3DB5 = {isa = PBXGroup; children = ( 890BD2A64C7C25201E20C02F, 8E32705B99BB15E3586C067C, 4C816FF16C50AA5C87C8F7D3, @@ -1384,66 +1285,43 @@ 74D4B2EEC36940893BF7AC25, 09802FE2689EB8288E554B4B, 08EF9C1A184B049FA45DF95F, ); name = files; sourceTree = ""; }; - 5EFEFD2A4E3AAB61D642FFE8 = {isa = PBXGroup; children = ( - 621893AE2A99F8D4331194AD, - DC4E35EEAF01C08CFC4A4CAC, - 95139F961E2C7FB6421D04A5, - A6AC587CC82C4689D4C0D90E, - 4B2D5FBEF56C3D584E65D9AD, - 04609F32D6A859ED385DCBE6, - B4E70AE3447587BABF51A076, - 2AAA2414F61ABBBF1C571901, - 8FD227DE98DB156FBBC8DD1D, - 90348A625874E8DD3DCBF583, ); name = network; sourceTree = ""; }; - 72CEB8F82E75A1CFB00029A5 = {isa = PBXGroup; children = ( - E4546F8D14174EB8C05A47C3, - BAE421BF414A8713DC446E10, - E428D9BEA0B66A12448F3649, - F4825162600591FAF2F1F79E, - 60DC6B904E0A0ED7D5BACBD3, - 30B528362C388E5B51DF91D6, - D1CA4E7E20D80D0AC1614F98, - 357FB6126252FB4FC7551A59, - B594FC49609DB3E2CF3DCB0C, - C26C5CA5E6514CF7457B1ACB, - DE42EED0A04BB9F90D623BAF, - C0C7CB3229B2E54FFB785CA6, - 2253863C60C8AAB3DBA4B5F1, - 861F5C579BDAA33718FFE9CA, - FCFEAB9C67D9B7FB03AB51BD, ); name = streams; sourceTree = ""; }; - 1CE1CE477EC30641FD179C4A = {isa = PBXGroup; children = ( - 7E79FB8A1C88684D9961874F, - 2ACEBF748334BD2B0CBAE26E, - CC04871FDDC918BBD27FBA04, - B32E8849197AC0716AF288A3, ); name = logging; sourceTree = ""; }; - 2D1E53D6474EF042D74F7EB1 = {isa = PBXGroup; children = ( - 0F26080D0E46879414836AE2, - 01A0FE7CE574B63A82297143, - F13FB76427772F29EAD88728, - C41176B7A1D16BC5C67A5727, - 5DC79394D56549821815B376, - 2A10DFB3A22E8AABF4763F68, ); name = system; sourceTree = ""; }; - B639BECD83CD833126B067A3 = {isa = PBXGroup; children = ( - 50385CBC88D67EF57CBAF9F6, - D0E00FC62C3DA68962100AD6, - A8F0A5C9A372D5C57033B581, - D65C8F172D8C1FD532B67348, ); name = xml; sourceTree = ""; }; - AD49AC0FCF415EB54E2E0633 = {isa = PBXGroup; children = ( + 4F984803615AFEF01CA381E7 = {isa = PBXGroup; children = ( 43BE50DA24ABCAF9183FC535, F6943E7562D614D4D2F687E4, E74B5E2C22C81CA99C9CB473, B37C746F12C8413EA4DF8157, ); name = javascript; sourceTree = ""; }; - 3337230947C52C4E45CDDA71 = {isa = PBXGroup; children = ( - 777AA662407B7A91748C92A8, - FC4F3DA26D3500959DF7662A, - 1EE2B1FB37648506A369D269, - 8F9E95F991B215FFDD3F8E9B, - 10E1C3C331DF35D35508268B, - AABBDC405E85A02000A3991B, ); name = zip; sourceTree = ""; }; - 1008A5ADA2C02169D7BD422F = {isa = PBXGroup; children = ( - C938DCCA334DE363B27C1E65, - F163668D4C2343C282574A78, ); name = "unit_tests"; sourceTree = ""; }; - 2D72BF9EB6B50E02583A57E9 = {isa = PBXGroup; children = ( + D67328CFFC537A335859C29D = {isa = PBXGroup; children = ( + 7E79FB8A1C88684D9961874F, + 2ACEBF748334BD2B0CBAE26E, + CC04871FDDC918BBD27FBA04, + B32E8849197AC0716AF288A3, ); name = logging; sourceTree = ""; }; + 8B868B1DC66B91A6AE704940 = {isa = PBXGroup; children = ( + 1C99350395AE046857697B14, + 6B23639B2FD8C8FCFC241070, + C3538736DEAAF93829AB60A0, + 08CCA1B6C1824CE73281A769, + AC61701F361E5327D6BEEEDD, + 30D2B2F180671715D1CFAD5E, + EA8A250986871A036D42DB94, + 4E451FB3A0D657682324CEED, + 52058B3A331BFA856932EEED, + 20802D1854C7E66EBFCF2992, ); name = maths; sourceTree = ""; }; + CE6E404C245754A7B798C047 = {isa = PBXGroup; children = ( + FF7509FDC5B23104C7AF1665, + 42DA53757E1591ED0395C94E, + 4BE9A59D703E4CA4661252C1, + 9C20682A5F49B7BD2CEC3E2B, + 3601DA62C81D9C4FEB9CAA23, + 042DAFB982DBCB0940DAC979, + 81E803F2EB73BF09CB0CF2DE, + B6B133F816AD44FBFFBF8146, + AB6D9BF527527D3143CAC2A2, + B785E11D273E197A78C90597, + FF796B6850F1EE2F18668D06, + 6DAF8D36A60A6F606DCDBADB, + D05C8EB1FF06FB0A06C39518, + 3957E1F6F24F89D6DCB8829E, ); name = memory; sourceTree = ""; }; + 96537848E056768FEA73DD3F = {isa = PBXGroup; children = ( 9CAA1BFBE6B44233E6F1247E, 3481CFA2138FAF27F8514E06, F18B23CFD55FD0C26C21B539, @@ -1451,7 +1329,7 @@ BCDFDFFF924A8FDF40B82990, 837FC46135954E8144A996FD, 3F02521692ADDB7FFD0453AE, ); name = misc; sourceTree = ""; }; - C4BEFC49CBCE656D666CCC90 = {isa = PBXGroup; children = ( + 9D285913EB2E428AD35A173B = {isa = PBXGroup; children = ( AC2F6510662AD5D52E367FB8, 174E22634C4ADC7062948B9D, 8680FB438DEC3B3994B6CB9D, @@ -1481,25 +1359,128 @@ 54358D8A9A8DE6AF4F781E8B, 489FD44544F03774CBFA04E5, B8D9A7FDB054852EF59BF4AE, ); name = native; sourceTree = ""; }; + DBFA2DC65F153A012CFBA942 = {isa = PBXGroup; children = ( + 621893AE2A99F8D4331194AD, + DC4E35EEAF01C08CFC4A4CAC, + 95139F961E2C7FB6421D04A5, + A6AC587CC82C4689D4C0D90E, + 4B2D5FBEF56C3D584E65D9AD, + 04609F32D6A859ED385DCBE6, + B4E70AE3447587BABF51A076, + 2AAA2414F61ABBBF1C571901, + 8FD227DE98DB156FBBC8DD1D, + 90348A625874E8DD3DCBF583, ); name = network; sourceTree = ""; }; + 87474B9FD5EC93E50440C823 = {isa = PBXGroup; children = ( + E4546F8D14174EB8C05A47C3, + BAE421BF414A8713DC446E10, + E428D9BEA0B66A12448F3649, + F4825162600591FAF2F1F79E, + 60DC6B904E0A0ED7D5BACBD3, + 30B528362C388E5B51DF91D6, + D1CA4E7E20D80D0AC1614F98, + 357FB6126252FB4FC7551A59, + B594FC49609DB3E2CF3DCB0C, + C26C5CA5E6514CF7457B1ACB, + DE42EED0A04BB9F90D623BAF, + C0C7CB3229B2E54FFB785CA6, + 2253863C60C8AAB3DBA4B5F1, + 861F5C579BDAA33718FFE9CA, + FCFEAB9C67D9B7FB03AB51BD, ); name = streams; sourceTree = ""; }; + 2D1E53D6474EF042D74F7EB1 = {isa = PBXGroup; children = ( + 0F26080D0E46879414836AE2, + 01A0FE7CE574B63A82297143, + F13FB76427772F29EAD88728, + C41176B7A1D16BC5C67A5727, + 5DC79394D56549821815B376, + 2A10DFB3A22E8AABF4763F68, ); name = system; sourceTree = ""; }; + 64E59548E4DA43EF2DAD7D99 = {isa = PBXGroup; children = ( + 23F3CBC829C0363C6C760957, + F70EF841DE659606631FBD20, + 0DBCEADB9A04439E66BE176E, + 0B37C06B070C6F069F23A812, + 2931409E5426C745CB3B6EE6, + 579117EBA45C1878DC55FF65, + 999ECAD45309F13369547FDB, + 210B445861AC2BD744D97F6D, + DE66F892ACF4DCAE897F3BE4, + C041D609CA330DE35D88B7EE, + 6BB634F1841C4BCE4775FF8D, + 9AFB00C8011E7902EF67789C, + 7CDAE6FBB85B787E8FA15B0C, + E8B02F47799FC984D3FE1083, + 0679221D71CD972EE07343B5, + 482D7E87F00C2888C2B8FC9E, + 74E60A8C1056FF1D64053A62, + 01641AA0EEDDC5059FC28EF9, + 8EE86B89C69AD4D9A802526D, + EAED7C0A5FFE6D29DD0A0D9A, + E27E9AF73E442C75C0091F8D, + A073692401C6D5C86D77E53C, + 0F98FB16D69403E94F1BB9C7, + B3D45312AB6F986CB3B4051C, ); name = text; sourceTree = ""; }; + 4880536EC477C63956063CCF = {isa = PBXGroup; children = ( + 11561CA1FD46FA08C2EF0C9E, + 3020CB57085A70221FC0042D, + 9DCB9FE79EDD770E0EC8A370, + B3B317778509714561A5E52F, + EB267F3D6CA06EDB2EB92BBE, + 6F3E59877038096FDA5B28DE, + 1ADD2315C0E364D635A88C2D, + 862A547990420303EBE1C849, + B8D70BA0254864A54E587B21, + B2A4F9CD6F95FB4EECC2FB10, + 55037EF642A280DAC85CE34D, + EE8916C220D09A855BDCB95C, + 6256BA6104CE254172D02804, + 306D2FC4CE156DB61D67C0E0, + B8D0006C486909BB51D8D818, + 64223866AD9D3D69464C198B, + 8AAEBEE37A67A5D01EBA6BB7, + 8FC33441590BA03C2EB5CD63, + C9EF40785DAD416946D6AAE1, + A54E763170141C2FC3BBD197, + 9DF463C5E206ADC98851C78A, + 16A3BFE2C5679BDD49A4F424, ); name = threads; sourceTree = ""; }; + CD1005615E4677435D98EF24 = {isa = PBXGroup; children = ( + BED621A030C4C37B2326EE4A, + 34CAFBB1E014F17C6111C716, + D4C5D7EE1A40AD018E5E6F02, + 724D1A80CA91E8ADB78287BE, + 32E5AD1B0A329492EDB0D49C, + 9D29AC99CA678DE27CAAAE31, ); name = time; sourceTree = ""; }; + 1008A5ADA2C02169D7BD422F = {isa = PBXGroup; children = ( + C938DCCA334DE363B27C1E65, + F163668D4C2343C282574A78, ); name = "unit_tests"; sourceTree = ""; }; + D3627EF054BD0A0BA8D78125 = {isa = PBXGroup; children = ( + 50385CBC88D67EF57CBAF9F6, + D0E00FC62C3DA68962100AD6, + A8F0A5C9A372D5C57033B581, + D65C8F172D8C1FD532B67348, ); name = xml; sourceTree = ""; }; + 6C3CF67CABCBEF3047DC25FC = {isa = PBXGroup; children = ( + 777AA662407B7A91748C92A8, + FC4F3DA26D3500959DF7662A, + 1EE2B1FB37648506A369D269, + 8F9E95F991B215FFDD3F8E9B, + 10E1C3C331DF35D35508268B, + AABBDC405E85A02000A3991B, ); name = zip; sourceTree = ""; }; F7B521C7EB8A7EFC4DE2AD31 = {isa = PBXGroup; children = ( - 24F1C7CE0BA8B996E80B5383, - C6B0A793A79BB7918A5A2337, - 167969AC10CCB46C3FB57BD8, - 7A48C4CD434CC8B40E417307, - E2522538E4E168520D3AE9E6, - 5287498162903ADA659A8E12, - 12BF6A615E82605F03493444, - 5EFEFD2A4E3AAB61D642FFE8, - 72CEB8F82E75A1CFB00029A5, - 1CE1CE477EC30641FD179C4A, + 3E88FA6BBB7307BDB4546665, + 4259FE6E61733A28141C3DB5, + 4F984803615AFEF01CA381E7, + D67328CFFC537A335859C29D, + 8B868B1DC66B91A6AE704940, + CE6E404C245754A7B798C047, + 96537848E056768FEA73DD3F, + 9D285913EB2E428AD35A173B, + DBFA2DC65F153A012CFBA942, + 87474B9FD5EC93E50440C823, 2D1E53D6474EF042D74F7EB1, - B639BECD83CD833126B067A3, - AD49AC0FCF415EB54E2E0633, - 3337230947C52C4E45CDDA71, + 64E59548E4DA43EF2DAD7D99, + 4880536EC477C63956063CCF, + CD1005615E4677435D98EF24, 1008A5ADA2C02169D7BD422F, - 2D72BF9EB6B50E02583A57E9, - C4BEFC49CBCE656D666CCC90, - EF43908046753F20507CC3B0, + D3627EF054BD0A0BA8D78125, + 6C3CF67CABCBEF3047DC25FC, 5AAF6FD01A8ACE63E3FAEA56, ); name = "juce_core"; sourceTree = ""; }; 83E7F8F4C0F653DE37DD0D26 = {isa = PBXGroup; children = ( C7373F24FD2E886C50CB3903, @@ -1518,31 +1499,45 @@ 7C749B953A62BB34443CEA51 = {isa = PBXGroup; children = ( 83E7F8F4C0F653DE37DD0D26, 07E8C0ED0D5A016CCB79D6E7, - 23EC7FFD41859C9725D21B16, 53AB900649E4156D953DB1CA, ); name = "juce_cryptography"; sourceTree = ""; }; - 0C891309AA75AF8EAD3F2410 = {isa = PBXGroup; children = ( + B571D0335B8C8F01A9CEFEEA = {isa = PBXGroup; children = ( + 4F742E04B5AD194395A593C0, + 8DFA74E13F6E40A5B1C09C11, + D9FC957CB510399786D69D8D, + BDFEE2E6B40F3E47E3B16D38, ); name = "app_properties"; sourceTree = ""; }; + DB9E03F1DD7B48E3C0F38481 = {isa = PBXGroup; children = ( + 7C4111F98C8023097C14C138, + 60D9E4052C3FFFA026BB35C6, + D7F183070EDA8D6D7659BDA1, ); name = undomanager; sourceTree = ""; }; + 4EE55C06F92D4E1D6C7CBC88 = {isa = PBXGroup; children = ( 1140A39FF348973EE6F372CB, F39E719901F12B16AD7D600C, BB3265EFC32ADB68A59A90CF, 991A179EF480F6B3049D0CE2, 4D3007B3F8AECBDB658F7259, 82B25B30D756F75BDFDBBCD0, ); name = values; sourceTree = ""; }; - DB9E03F1DD7B48E3C0F38481 = {isa = PBXGroup; children = ( - 7C4111F98C8023097C14C138, - 60D9E4052C3FFFA026BB35C6, - D7F183070EDA8D6D7659BDA1, ); name = undomanager; sourceTree = ""; }; - 168252DC2B6D85C5D9B3C71D = {isa = PBXGroup; children = ( - 4F742E04B5AD194395A593C0, - 8DFA74E13F6E40A5B1C09C11, - D9FC957CB510399786D69D8D, - BDFEE2E6B40F3E47E3B16D38, ); name = "app_properties"; sourceTree = ""; }; FF81165C6DC0BE3D7DDDDB3C = {isa = PBXGroup; children = ( - 0C891309AA75AF8EAD3F2410, + B571D0335B8C8F01A9CEFEEA, DB9E03F1DD7B48E3C0F38481, - 168252DC2B6D85C5D9B3C71D, - DC76782D8BA40A4CA365C279, + 4EE55C06F92D4E1D6C7CBC88, AC98912B3226C0D29B0C8861, ); name = "juce_data_structures"; sourceTree = ""; }; - 21928033EBAEE82B66D3F9F4 = {isa = PBXGroup; children = ( + D2F6AFEB9AA55BE367590015 = {isa = PBXGroup; children = ( + 4E1C2B9C5692A96700C1A898, + 9F49BF4440F09115117F9615, + 5A26430C3B39E428B483F11D, + D88DBC78062ECA21D18C1D7C, + 3DD9BA50041192D1F28D87CC, + F57531462BB169A5F0224ADE, + C536B42EF0D28435B6410AC9, + 80D63910D7196D7DF849A239, ); name = broadcasters; sourceTree = ""; }; + 454743972062A85E92BCCC8A = {isa = PBXGroup; children = ( + 1F52A06FB3A565B54144FD8A, + 333E5AB794D5FC5A798A285C, + F540CB77351EAEFC2B3D05CA, + 208B3803558F7BECB0A0AA42, + 6821655BB8883B9A421666C3, + 1F999582FEA88311EC2EBF27, ); name = interprocess; sourceTree = ""; }; + 54F8D5BFEC9FBD89B3F13258 = {isa = PBXGroup; children = ( E526AF80946C3F077C1C63C6, 09532D678D2C41FEFACA71F3, DCE64BC49FFC96654D30AD87, @@ -1556,28 +1551,7 @@ EF337D9B43E0569DE3E48279, 5016A40C1850BBD55197D30E, 1AB81EC2CA06F18202F3049B, ); name = messages; sourceTree = ""; }; - BD202CDEBCAA90F124416FB7 = {isa = PBXGroup; children = ( - E540A462EBB080CF14B31764, - 9EEF2A75EDD5E8023F9AD6B0, - EE6895EE5020998469F17433, - C6CCDF5390C72C6C37F3446D, ); name = timers; sourceTree = ""; }; - 42068D6B4354DC77F34701E0 = {isa = PBXGroup; children = ( - 4E1C2B9C5692A96700C1A898, - 9F49BF4440F09115117F9615, - 5A26430C3B39E428B483F11D, - D88DBC78062ECA21D18C1D7C, - 3DD9BA50041192D1F28D87CC, - F57531462BB169A5F0224ADE, - C536B42EF0D28435B6410AC9, - 80D63910D7196D7DF849A239, ); name = broadcasters; sourceTree = ""; }; - 443BF89F57F585ED86F2ADA5 = {isa = PBXGroup; children = ( - 1F52A06FB3A565B54144FD8A, - 333E5AB794D5FC5A798A285C, - F540CB77351EAEFC2B3D05CA, - 208B3803558F7BECB0A0AA42, - 6821655BB8883B9A421666C3, - 1F999582FEA88311EC2EBF27, ); name = interprocess; sourceTree = ""; }; - 20360E9243409D2FA6F5E8B0 = {isa = PBXGroup; children = ( + 133942303ADEBA9443090E51 = {isa = PBXGroup; children = ( B576434956BD89F0B571B6C4, BB9242FB689B4DAEDF1963BE, AB26977EA68E27838B54A8E4, @@ -1586,13 +1560,17 @@ 001CA7EAF68DA335025FF01E, CB3DD188BB8AAB1931436CD4, DFC37DEA417DA0FC812FDAC2, ); name = native; sourceTree = ""; }; + F1FFEB45C855ED1D898DFB10 = {isa = PBXGroup; children = ( + E540A462EBB080CF14B31764, + 9EEF2A75EDD5E8023F9AD6B0, + EE6895EE5020998469F17433, + C6CCDF5390C72C6C37F3446D, ); name = timers; sourceTree = ""; }; 194518F009569975413BBA1F = {isa = PBXGroup; children = ( - 21928033EBAEE82B66D3F9F4, - BD202CDEBCAA90F124416FB7, - 42068D6B4354DC77F34701E0, - 443BF89F57F585ED86F2ADA5, - 20360E9243409D2FA6F5E8B0, - D697C54442250F5A720D2CBF, + D2F6AFEB9AA55BE367590015, + 454743972062A85E92BCCC8A, + 54F8D5BFEC9FBD89B3F13258, + 133942303ADEBA9443090E51, + F1FFEB45C855ED1D898DFB10, 3BAA4C5AFD5E6AE8B7447E17, ); name = "juce_events"; sourceTree = ""; }; DE5FE5E5C0261E389C091E12 = {isa = PBXGroup; children = ( 61F74754A7B5F0BD930A51DD, @@ -1612,19 +1590,25 @@ BBE01A9C5FD8C0656AEA9D3C, AE6120B318B44C69CEDA6321, A198E2290B15C62F68D21050, ); name = contexts; sourceTree = ""; }; - 0CFBDBCAC210067B8B49D659 = {isa = PBXGroup; children = ( - 965402AAAAF0A0D920DC7C36, - A55309C54076A01EA57315CE, - 5A2B63BC2433F17DB96CC411, - 3320CAFB079DBFED7E79D33E, - 276FBDD27027CDB3CDE7A1C3, - 21530C9C69B792CA80BE9398, - 3B92F7E81BAB71A0460668E6, - EA65F835FDB1DB86406C9471, ); name = images; sourceTree = ""; }; - 18A16F44D68A4E1E3545E4B8 = {isa = PBXGroup; children = ( - 39E116DC12FD26E3DB3F4DFA, - 8C2A93223809C1EFD6D7C404, - 9D05F58F8CE58D9D6952BF1D, ); name = "image_formats"; sourceTree = ""; }; + 54DC6101CF7C15EF6FB319B1 = {isa = PBXGroup; children = ( + 000EA162E25BC873954A9E48, + E41A33EB67E7E190A88A3AD3, + B1FD722E367F8B48B2C8F658, + 24711D9742CB31F36F71A36E, + 85D61362BF185DA51B00E00E, ); name = effects; sourceTree = ""; }; + A625E1CAB83679B5120F0B10 = {isa = PBXGroup; children = ( + 5B59DE0C6545CCC3FA26750E, + 99FC512DFBE57AAC3894FC20, + 98C797055FB6A630BD2AF26B, + D34F5512C192C172CCC479F7, + 98FE786D6DCAA1F39D0428E4, + D5313BED337DBBC9A1F7D9CB, + 82A654CA5A700A19A9A673BC, + 9BB341CFFB496948D5E9A16E, + 2FAFDCAFBC5054B61699B4F0, + CF6BAD445F116D03D5AC2E69, + 944B844043D0815614FD4CFD, + 8AADBD01ED8B177F160939D3, ); name = fonts; sourceTree = ""; }; 9F785FD816CB0B5C3B2C3113 = {isa = PBXGroup; children = ( 1296A96AEE50FD66957B71C1, CF1F536ECAA15F7AF8B20746, @@ -1641,30 +1625,20 @@ 2D4E5BBC19F41BB8512E5E03, 6EA97857D017530AE58ECA66, 672780D824A4CAD951DBB29B, ); name = geometry; sourceTree = ""; }; - 7A3AD3D13991794B6B51DD9A = {isa = PBXGroup; children = ( - B18369F3EF227348BAECC29F, - F3472E21D095DB91ADE8D714, - C56022F99B8FB808D00CE6D7, ); name = placement; sourceTree = ""; }; - 4A6A14045BB393F2E063EDDF = {isa = PBXGroup; children = ( - 5B59DE0C6545CCC3FA26750E, - 99FC512DFBE57AAC3894FC20, - 98C797055FB6A630BD2AF26B, - D34F5512C192C172CCC479F7, - 98FE786D6DCAA1F39D0428E4, - D5313BED337DBBC9A1F7D9CB, - 82A654CA5A700A19A9A673BC, - 9BB341CFFB496948D5E9A16E, - 2FAFDCAFBC5054B61699B4F0, - CF6BAD445F116D03D5AC2E69, - 944B844043D0815614FD4CFD, - 8AADBD01ED8B177F160939D3, ); name = fonts; sourceTree = ""; }; - 7AE62EF9190681EC903809C5 = {isa = PBXGroup; children = ( - 000EA162E25BC873954A9E48, - E41A33EB67E7E190A88A3AD3, - B1FD722E367F8B48B2C8F658, - 24711D9742CB31F36F71A36E, - 85D61362BF185DA51B00E00E, ); name = effects; sourceTree = ""; }; - 9D5DD150F3EAB90686880331 = {isa = PBXGroup; children = ( + 16E178138AD12602815F6005 = {isa = PBXGroup; children = ( + 39E116DC12FD26E3DB3F4DFA, + 8C2A93223809C1EFD6D7C404, + 9D05F58F8CE58D9D6952BF1D, ); name = "image_formats"; sourceTree = ""; }; + A9634FF7347ABFE165D94BC5 = {isa = PBXGroup; children = ( + 965402AAAAF0A0D920DC7C36, + A55309C54076A01EA57315CE, + 5A2B63BC2433F17DB96CC411, + 3320CAFB079DBFED7E79D33E, + 276FBDD27027CDB3CDE7A1C3, + 21530C9C69B792CA80BE9398, + 3B92F7E81BAB71A0460668E6, + EA65F835FDB1DB86406C9471, ); name = images; sourceTree = ""; }; + 91111B082348A9DE28FB8778 = {isa = PBXGroup; children = ( B97A4BE39BF95F50E67A4683, A1AF1E8ADB16AE21785390F5, DCA560DA0C66BB6D6EA92500, @@ -1678,19 +1652,54 @@ AE358D496192BAED93263F83, 758A85BA2A15681252AAC852, A6AFC4953E324CC5163256E6, ); name = native; sourceTree = ""; }; + 0C8363E82A0109D09920F871 = {isa = PBXGroup; children = ( + B18369F3EF227348BAECC29F, + F3472E21D095DB91ADE8D714, + C56022F99B8FB808D00CE6D7, ); name = placement; sourceTree = ""; }; 02D2BF1071BA036B1046217F = {isa = PBXGroup; children = ( DE5FE5E5C0261E389C091E12, 312F6818F7C175E16EFA49E6, - 0CFBDBCAC210067B8B49D659, - 18A16F44D68A4E1E3545E4B8, + 54DC6101CF7C15EF6FB319B1, + A625E1CAB83679B5120F0B10, 9F785FD816CB0B5C3B2C3113, - 7A3AD3D13991794B6B51DD9A, - 4A6A14045BB393F2E063EDDF, - 7AE62EF9190681EC903809C5, - 9D5DD150F3EAB90686880331, - 5794F3D9DC292B1603244735, + 16E178138AD12602815F6005, + A9634FF7347ABFE165D94BC5, + 91111B082348A9DE28FB8778, + 0C8363E82A0109D09920F871, 0CFDFC8B0EE4F67F3140A95E, ); name = "juce_graphics"; sourceTree = ""; }; - DE106FCD14E351677236CC4A = {isa = PBXGroup; children = ( + D4088159B90D7FB4EC40CF24 = {isa = PBXGroup; children = ( + 5BDA528B96063067AFD59CBB, + 0833B2844B74E56A7F375B99, ); name = application; sourceTree = ""; }; + 1C4E717E24B04BAB072097A2 = {isa = PBXGroup; children = ( + 3CFD6B00875759345575ECFD, + 03C5EFBEA606B1857E2E7E70, + ECD46DBA26680A8F86569C2E, + 35E9781C54B1729BDD73DEC9, + 61F3AAB84249F782A56E88A2, + 3121B99F19132789145FDF58, + F765D762D0012A1607F5622A, + 13A6B8661E1D605FCD86F1E0, + 82CF205CD196BF77B68EA75A, + 8AF3D4A8845EBB742E3F521C, + 096F493E855364B082CA966C, + 3153401B1C69B651D2AD37E5, + 5C9AF08626A44F2AF6783A53, + 1AC73EEBD03A5926652CB682, + 22A9BA274F3AD6FAF4331D11, + 5DBA889C8116242666F3C93B, + 63DB40AFD30CEFB03779AB79, + 665FF99D0D1BF3755FE7B803, ); name = buttons; sourceTree = ""; }; + 666DF2B2F0DCA026714B89DA = {isa = PBXGroup; children = ( + CD3D15787DE0633AF0F41D14, + 14B4A539EBA209BC22B91F76, + A9FE7AE10A02329F18BAF8BB, + 11FC5BF4D4CE5451BA651132, + 0DD52BE61E4DCA9575F5649F, + A4A507E78D1082DF5EDA723E, + 5127ACB1400962FB70BF6D07, + 53F664A2A3FE1983E183A431, + 1A25D684574EDD045683D4E8, ); name = commands; sourceTree = ""; }; + D26CB32508DFA94C2FB8BDDE = {isa = PBXGroup; children = ( 2DAF843B2C0DA27E8741E080, FD362E3DD7D0ED06015A52CB, 94363B04A83DFC9C02B023DE, @@ -1700,28 +1709,46 @@ 429925ABEF514DEDE33BF925, D2C6697A783580EE58B2C5EF, 91B931E774E4401630F74EE7, ); name = components; sourceTree = ""; }; - EAFD1F880E6790F3DFC2A32E = {isa = PBXGroup; children = ( - 5A99F85A02CACE2773FAF4AA, - FC4E3F4086054CB8E200F393, - 1197F204437B7E10650C45C9, - B2C692D20C6190AC831ED780, - 3F0618824A11684059926E73, - 13E0FBE11F1B5028F51D4A83, - 592C559B3CB1579907BC6452, - 9B88C701BE205AEB33ACC5FB, - BE92FB177CE8690F02DDCDCA, - 32053E605C421DA9F9C406BA, - 6F9461C9816AF7B764F73FC9, - E0069A75C60B6ECB8E8CBFDD, - 6BA526E7009CAA47F22B2FC3, - 883F407DDE5464DEC7ED1634, - 561DC7B5329A4719A85FB37E, - B7FC671CAA2FB61FA45FF25D, - 1199999650BF539117869187, - FCA5F5B553B92A4A49C3F1EF, - 6C42AAE33B1F86E496AA352C, - C00042157AE4788F1B7DD087, ); name = mouse; sourceTree = ""; }; - 2AA0EAA4D18373DEBC82DAF8 = {isa = PBXGroup; children = ( + 12269422D30EB1DFD95C69CB = {isa = PBXGroup; children = ( + 4E8939ACD0CB224ABD3B3C00, + 57C8BBE1EFA839C458DEF2F6, + 9817FEEE6C1D99BCE7DB2395, + D15B6AC0F49F8BAAAF71FDF6, + 40178653E67E3C6585653D38, + C10AF8B74E855D60A481CBD4, + C4D626F9CEE1FD851551D91C, + A1F1F469B33048DD0609E02E, + 4006D8A53AC91D81816BF576, + AE20126D491A4FD52D059EFB, + 02181D9B5A755E385CD47FD2, + 8924F9B3C5A5EF7B9771465F, + 39F7F18157821A256E23B868, + 77234EEA6FC39172D3B4B455, + EF805FA4F575DBCAF69C1AE4, ); name = drawables; sourceTree = ""; }; + 6DFD874DDF56441FE53A2D81 = {isa = PBXGroup; children = ( + 9808FC8EBDD993802B13E360, + 489251CA8BE0CA79BA247455, + CB0FCCF91CA21CA88D295932, + 8B73B43B30D1235C6F6C7472, + 918EAFFF65C0EBD273295D56, + 67706504E1E1E19B61E90903, + A6A0A10D492CB91AF88BCDCB, + A4C7C1D626E8F444FE84674C, + B94E7B4E08D0CE7D4B3AA470, + 9935025CC78B291623780878, + 1204FCBC82EA38A9512D0D81, + 0C487F069E493BF67537758A, + 4AB7557F71EB918F70B15F49, + D7D3D13E56861B7937B08EFF, + 78EB35E34BA8673695F92D6B, + 057E2AFB89FF0CF0CAA013AF, + 6B7EA4C617C2C129210C7F76, + E04A8F9E8B767CC682430498, + 27BC9669BDAA9F041FC21837, + 5BA3B4D0018FA0D5C976CA3E, + 4B73A2599617EEF450ACABAC, + 35A404D8F4164D65C3E4DCC4, ); name = filebrowser; sourceTree = ""; }; + 467FF0E8F3109E55EE75184F = {isa = PBXGroup; children = ( BAC4FD0C99CEBD2133F79C24, 1A5E7683202DE3D3B911F9C8, EF8BAD426428948862257FC4, @@ -1735,62 +1762,7 @@ FEF9EF55D1BF28C6A84DE4C0, 2E551D5175FA94E0FFBF08F4, 56FA5F3ABA3B0278767C107B, ); name = keyboard; sourceTree = ""; }; - FF93C45FC8A8E8F4935C575E = {isa = PBXGroup; children = ( - 1C36397644AEF2DC1576C3A6, - 0DA4C3278F6482DB3E59D9BA, - 2368F4F33C1FA1F250C0606C, - B700A20AB7FA4833FBE9FAF2, - E6526B2FBE4F9F3DF819A030, - 9AB6DA2CD6FC85ABC73DCA8C, - D8B377D58489B765A9369335, - 3EBDD668B2AAF5F5159D68F2, - B96670417A0708508B971C58, - 12F6DB893E5757C9F3D00F0D, - 67321193997802F731C9F3C8, - 06E0E9069EB3A4DED12A83DD, - 1D58402ABF05B2EF162769C7, - 14527382440E68E3F0EB8198, - 5E043C5F2F280FC934592EDD, - AD3AD8A8258B52524F9FD249, - 1D68D7036540404EFB82B35D, - 9E7319BC97DD7609E51BA8E6, - FF43622B9AAF3751B65DD81B, - 8A791C2E9E31061FB1114D0C, - B84FF21D1349C565A604B4D2, - 280CB58A46300BC229661DD6, - D93778DB7CCB4B438A59D8AB, - B0D4F13DF0278D8722F7C4B8, - BB422B25F3D67420F1A7A27C, - D9064DA71018E0FB2C02BD3B, - E4D861851BBC388FE4CB5DFA, ); name = widgets; sourceTree = ""; }; - 7E08533D7B37AC3A130E8033 = {isa = PBXGroup; children = ( - AB7E120B33CE6C4EA5AE1C03, - 9ABB34DD0089D3C1B2CB0448, - A93241AAFC2CA466E7F61D68, - 8034DEB0DE55C62EE0B5D2FB, - 1BFF9FF8A046E614580B8B78, - B4179816650495DEE17116FF, - 9473F75E32710D282051D93C, - 3FD16FE28FD9ABF22F0FF744, - 4A21D36388A0B6D9543A244D, - 874BD8915F9FC9EAF09AFB87, - A61D17AF31E2326EDA285C22, - C378389E66043AAF139C6426, - 334E1EA595F4B89AB02E1D2E, - 092152EAB569DB7795FD7B2F, - 6BE69871BE4A865ABF84BC7E, - C8E5F60ED66385553547961E, - CC8C5C667CA1A6EBAA1323E4, - 6ED2FF75E5F98253AA1C287F, - 0AD627D1D2B082D09E1AA078, ); name = windows; sourceTree = ""; }; - 73383E801888C9D719E5D2CD = {isa = PBXGroup; children = ( - BB7CA26CF4540A535BE229CA, - 8BD1742DEA98185FA7ED4152, - A84DBA7DBC8FBEA5740CB026, - 14340FB465ADE55CB3E9B66A, - FE11EB2D3A4040325E458261, - 7B441C4B6CF9473676EA3610, ); name = menus; sourceTree = ""; }; - C30EF995A31EC08218367298 = {isa = PBXGroup; children = ( + 1CB5509948AFE86F3911B78F = {isa = PBXGroup; children = ( 097E290A4679C103208EF789, C8A38D75BD930F3CC7634124, 26407477D58D92220A6AA6E8, @@ -1827,72 +1799,7 @@ 95738AF2EAF17A2FA9B8E069, 035144F9C35671488A15E9F6, 678B3B27F695152D396C09A3, ); name = layout; sourceTree = ""; }; - 1912E5DD1B0D040510925205 = {isa = PBXGroup; children = ( - 3CFD6B00875759345575ECFD, - 03C5EFBEA606B1857E2E7E70, - ECD46DBA26680A8F86569C2E, - 35E9781C54B1729BDD73DEC9, - 61F3AAB84249F782A56E88A2, - 3121B99F19132789145FDF58, - F765D762D0012A1607F5622A, - 13A6B8661E1D605FCD86F1E0, - 82CF205CD196BF77B68EA75A, - 8AF3D4A8845EBB742E3F521C, - 096F493E855364B082CA966C, - 3153401B1C69B651D2AD37E5, - 5C9AF08626A44F2AF6783A53, - 1AC73EEBD03A5926652CB682, - 22A9BA274F3AD6FAF4331D11, - 5DBA889C8116242666F3C93B, - 63DB40AFD30CEFB03779AB79, - 665FF99D0D1BF3755FE7B803, ); name = buttons; sourceTree = ""; }; - A44CD4C37170EFD44180E7D6 = {isa = PBXGroup; children = ( - 5A1C17DCA88F1D02ED5F401F, - 123CEDA734678EE95C34463D, - A118AD624CE30228686D51F3, - 00B6967A854897C9D379AAF4, - 6B59A53C3FB3B4462A5E10D0, - 648E0A0D55BE1D012C1D89B1, - 150135E20D3B4547F1B8A76F, - F81AAE65A3598A15825E6794, - 4D5112F69E06189A9318A69F, - A15770CD33E47FF114451904, - CCA843C191E1EC761E0C4B1B, - 382D4767A626A3D30826EE1B, - 82B807E750DB47D6FA6AA5F8, - 48EBF61EDF71322807F5AF4E, ); name = positioning; sourceTree = ""; }; - DCA8D2B60E2A3630B372680A = {isa = PBXGroup; children = ( - 4E8939ACD0CB224ABD3B3C00, - 57C8BBE1EFA839C458DEF2F6, - 9817FEEE6C1D99BCE7DB2395, - D15B6AC0F49F8BAAAF71FDF6, - 40178653E67E3C6585653D38, - C10AF8B74E855D60A481CBD4, - C4D626F9CEE1FD851551D91C, - A1F1F469B33048DD0609E02E, - 4006D8A53AC91D81816BF576, - AE20126D491A4FD52D059EFB, - 02181D9B5A755E385CD47FD2, - 8924F9B3C5A5EF7B9771465F, - 39F7F18157821A256E23B868, - 77234EEA6FC39172D3B4B455, - EF805FA4F575DBCAF69C1AE4, ); name = drawables; sourceTree = ""; }; - 35A6E785E6B623A66F7FEF46 = {isa = PBXGroup; children = ( - 4533B1E6786C588EEB5F17F1, - 2C8DB3B21316CF58A088AE4B, - 80B9B913DD55B0BD215AEC86, - ECB67354113361CDADA77BC6, - 57134B5B764CAAAEA07C56CE, - 1A89B025B5C028C536ED4A8F, - FD28016A7BC2B34138B3C986, - 27B46B69A1381640C0C14CF6, - 8D32D3B412213EC3153588E0, - D380F5AED297C4D7BE55911C, - 357921A7E994C213A2D768DE, - DDD38519DCDDE8BDE8AC092B, - 4D823926C18ED8ABD95035DB, - B7DA793390976975B7967E54, ); name = properties; sourceTree = ""; }; - 98C025B3DB9871C4A016D3D9 = {isa = PBXGroup; children = ( + 1B0931509E12B39F6B94241C = {isa = PBXGroup; children = ( 140159E9C38C975949494E5C, DCE5AE0A528365094776BE17, 047CB008052CCD126633FB9B, @@ -1901,48 +1808,40 @@ 48A798B2097EF59A8A53F1F5, F1AEC47949E75A0B4DBEA130, CCCF7AA714938B03DE4407FA, ); name = lookandfeel; sourceTree = ""; }; - CA4B62998A983A5AE6AFE0F9 = {isa = PBXGroup; children = ( - 9808FC8EBDD993802B13E360, - 489251CA8BE0CA79BA247455, - CB0FCCF91CA21CA88D295932, - 8B73B43B30D1235C6F6C7472, - 918EAFFF65C0EBD273295D56, - 67706504E1E1E19B61E90903, - A6A0A10D492CB91AF88BCDCB, - A4C7C1D626E8F444FE84674C, - B94E7B4E08D0CE7D4B3AA470, - 9935025CC78B291623780878, - 1204FCBC82EA38A9512D0D81, - 0C487F069E493BF67537758A, - 4AB7557F71EB918F70B15F49, - D7D3D13E56861B7937B08EFF, - 78EB35E34BA8673695F92D6B, - 057E2AFB89FF0CF0CAA013AF, - 6B7EA4C617C2C129210C7F76, - E04A8F9E8B767CC682430498, - 27BC9669BDAA9F041FC21837, - 5BA3B4D0018FA0D5C976CA3E, - 4B73A2599617EEF450ACABAC, - 35A404D8F4164D65C3E4DCC4, ); name = filebrowser; sourceTree = ""; }; - 78416A0B2F412465845BA10F = {isa = PBXGroup; children = ( - CD3D15787DE0633AF0F41D14, - 14B4A539EBA209BC22B91F76, - A9FE7AE10A02329F18BAF8BB, - 11FC5BF4D4CE5451BA651132, - 0DD52BE61E4DCA9575F5649F, - A4A507E78D1082DF5EDA723E, - 5127ACB1400962FB70BF6D07, - 53F664A2A3FE1983E183A431, - 1A25D684574EDD045683D4E8, ); name = commands; sourceTree = ""; }; - EF2D0AF0B8A4EF73BDE12526 = {isa = PBXGroup; children = ( + 78692A338E191322719F8A92 = {isa = PBXGroup; children = ( + BB7CA26CF4540A535BE229CA, + 8BD1742DEA98185FA7ED4152, + A84DBA7DBC8FBEA5740CB026, + 14340FB465ADE55CB3E9B66A, + FE11EB2D3A4040325E458261, + 7B441C4B6CF9473676EA3610, ); name = menus; sourceTree = ""; }; + D46728BF25FBBD4F071C6174 = {isa = PBXGroup; children = ( 56E7EE3C43947842BB8BDC1A, F80B331AD631D4F77A673691, 3F05E519F0B0931CE0347455, 0BAD16A58A9CBB0A2FC3C273, ); name = misc; sourceTree = ""; }; - 5FAD6E8C8995E6BB704305CF = {isa = PBXGroup; children = ( - 5BDA528B96063067AFD59CBB, - 0833B2844B74E56A7F375B99, ); name = application; sourceTree = ""; }; - D0B902078808A11AB68BCA1A = {isa = PBXGroup; children = ( + 01F4037CDE89AF7D798873F5 = {isa = PBXGroup; children = ( + 5A99F85A02CACE2773FAF4AA, + FC4E3F4086054CB8E200F393, + 1197F204437B7E10650C45C9, + B2C692D20C6190AC831ED780, + 3F0618824A11684059926E73, + 13E0FBE11F1B5028F51D4A83, + 592C559B3CB1579907BC6452, + 9B88C701BE205AEB33ACC5FB, + BE92FB177CE8690F02DDCDCA, + 32053E605C421DA9F9C406BA, + 6F9461C9816AF7B764F73FC9, + E0069A75C60B6ECB8E8CBFDD, + 6BA526E7009CAA47F22B2FC3, + 883F407DDE5464DEC7ED1634, + 561DC7B5329A4719A85FB37E, + B7FC671CAA2FB61FA45FF25D, + 1199999650BF539117869187, + FCA5F5B553B92A4A49C3F1EF, + 6C42AAE33B1F86E496AA352C, + C00042157AE4788F1B7DD087, ); name = mouse; sourceTree = ""; }; + 863A326C998107D89A9D7DEA = {isa = PBXGroup; children = ( 051B1F5CA25863E123C662B0, 82073AD531BE1009AE92477D, 795FF599087653F77C7E98D2, @@ -1959,25 +1858,102 @@ BA93F94CB1FC135E6F8D8910, 5C2B9D77C8CEB8A1F6C121E1, 94C3811F389418A6C4304554, ); name = native; sourceTree = ""; }; + 9CC4E3174919557428C044E9 = {isa = PBXGroup; children = ( + 5A1C17DCA88F1D02ED5F401F, + 123CEDA734678EE95C34463D, + A118AD624CE30228686D51F3, + 00B6967A854897C9D379AAF4, + 6B59A53C3FB3B4462A5E10D0, + 648E0A0D55BE1D012C1D89B1, + 150135E20D3B4547F1B8A76F, + F81AAE65A3598A15825E6794, + 4D5112F69E06189A9318A69F, + A15770CD33E47FF114451904, + CCA843C191E1EC761E0C4B1B, + 382D4767A626A3D30826EE1B, + 82B807E750DB47D6FA6AA5F8, + 48EBF61EDF71322807F5AF4E, ); name = positioning; sourceTree = ""; }; + 02F9E0A4DF6E8598ACBBEA6A = {isa = PBXGroup; children = ( + 4533B1E6786C588EEB5F17F1, + 2C8DB3B21316CF58A088AE4B, + 80B9B913DD55B0BD215AEC86, + ECB67354113361CDADA77BC6, + 57134B5B764CAAAEA07C56CE, + 1A89B025B5C028C536ED4A8F, + FD28016A7BC2B34138B3C986, + 27B46B69A1381640C0C14CF6, + 8D32D3B412213EC3153588E0, + D380F5AED297C4D7BE55911C, + 357921A7E994C213A2D768DE, + DDD38519DCDDE8BDE8AC092B, + 4D823926C18ED8ABD95035DB, + B7DA793390976975B7967E54, ); name = properties; sourceTree = ""; }; + 46ABF047CEDB85DFAA5F127D = {isa = PBXGroup; children = ( + 1C36397644AEF2DC1576C3A6, + 0DA4C3278F6482DB3E59D9BA, + 2368F4F33C1FA1F250C0606C, + B700A20AB7FA4833FBE9FAF2, + E6526B2FBE4F9F3DF819A030, + 9AB6DA2CD6FC85ABC73DCA8C, + D8B377D58489B765A9369335, + 3EBDD668B2AAF5F5159D68F2, + B96670417A0708508B971C58, + 12F6DB893E5757C9F3D00F0D, + 67321193997802F731C9F3C8, + 06E0E9069EB3A4DED12A83DD, + 1D58402ABF05B2EF162769C7, + 14527382440E68E3F0EB8198, + 5E043C5F2F280FC934592EDD, + AD3AD8A8258B52524F9FD249, + 1D68D7036540404EFB82B35D, + 9E7319BC97DD7609E51BA8E6, + FF43622B9AAF3751B65DD81B, + 8A791C2E9E31061FB1114D0C, + B84FF21D1349C565A604B4D2, + 280CB58A46300BC229661DD6, + D93778DB7CCB4B438A59D8AB, + B0D4F13DF0278D8722F7C4B8, + BB422B25F3D67420F1A7A27C, + D9064DA71018E0FB2C02BD3B, + E4D861851BBC388FE4CB5DFA, ); name = widgets; sourceTree = ""; }; + 69478F81B70887AFA96D372C = {isa = PBXGroup; children = ( + AB7E120B33CE6C4EA5AE1C03, + 9ABB34DD0089D3C1B2CB0448, + A93241AAFC2CA466E7F61D68, + 8034DEB0DE55C62EE0B5D2FB, + 1BFF9FF8A046E614580B8B78, + B4179816650495DEE17116FF, + 9473F75E32710D282051D93C, + 3FD16FE28FD9ABF22F0FF744, + 4A21D36388A0B6D9543A244D, + 874BD8915F9FC9EAF09AFB87, + A61D17AF31E2326EDA285C22, + C378389E66043AAF139C6426, + 334E1EA595F4B89AB02E1D2E, + 092152EAB569DB7795FD7B2F, + 6BE69871BE4A865ABF84BC7E, + C8E5F60ED66385553547961E, + CC8C5C667CA1A6EBAA1323E4, + 6ED2FF75E5F98253AA1C287F, + 0AD627D1D2B082D09E1AA078, ); name = windows; sourceTree = ""; }; A8198033A6100EDB28E54475 = {isa = PBXGroup; children = ( - DE106FCD14E351677236CC4A, - EAFD1F880E6790F3DFC2A32E, - 2AA0EAA4D18373DEBC82DAF8, - FF93C45FC8A8E8F4935C575E, - 7E08533D7B37AC3A130E8033, - 73383E801888C9D719E5D2CD, - C30EF995A31EC08218367298, - 1912E5DD1B0D040510925205, - A44CD4C37170EFD44180E7D6, - DCA8D2B60E2A3630B372680A, - 35A6E785E6B623A66F7FEF46, - 98C025B3DB9871C4A016D3D9, - CA4B62998A983A5AE6AFE0F9, - 78416A0B2F412465845BA10F, - EF2D0AF0B8A4EF73BDE12526, - 5FAD6E8C8995E6BB704305CF, - D0B902078808A11AB68BCA1A, - D01F1E62E142AEF92EFEF9A0, + D4088159B90D7FB4EC40CF24, + 1C4E717E24B04BAB072097A2, + 666DF2B2F0DCA026714B89DA, + D26CB32508DFA94C2FB8BDDE, + 12269422D30EB1DFD95C69CB, + 6DFD874DDF56441FE53A2D81, + 467FF0E8F3109E55EE75184F, + 1CB5509948AFE86F3911B78F, + 1B0931509E12B39F6B94241C, + 78692A338E191322719F8A92, + D46728BF25FBBD4F071C6174, + 01F4037CDE89AF7D798873F5, + 863A326C998107D89A9D7DEA, + 9CC4E3174919557428C044E9, + 02F9E0A4DF6E8598ACBBEA6A, + 46ABF047CEDB85DFAA5F127D, + 69478F81B70887AFA96D372C, 7FC7D527EA3B088288F8DA36, ); name = "juce_gui_basics"; sourceTree = ""; }; 676457E043CCB749AD9C996E = {isa = PBXGroup; children = ( 84DFB13BE79A86FC987A63C7, @@ -2039,9 +2015,21 @@ 961FD846C95FA83CB96E0E3E, 57B905251571D00290681E12, 34B0FDBBF6879DC73A0B59BD, - B94D80A7B5ADCC744E7CE7E6, A7DF0F471086004A6B81CD11, ); name = "juce_gui_extra"; sourceTree = ""; }; - D0CC2C98FF18A9025221B221 = {isa = PBXGroup; children = ( + 40C488926F781C6AD971DA44 = {isa = PBXGroup; children = ( + C3EE00C42BC5D0E1610F879A, + 26B7A212D6DBD337A4F8AB7C, + 93736C303F60B4DBF1D87989, + CB481B5E92CC1EF7898DD17F, ); name = geometry; sourceTree = ""; }; + 444D592E3E85DCB91FACCD6E = {isa = PBXGroup; children = ( + 55F8FDB2CE9EA9B6F6F750B1, + 613925F9A0F758ED88BBB3AB, + 118B1A6119520DC2CCE4E119, + F885D9146184104D5D7C05C2, + 414E7CA5C5AB18AE918F414D, + AEE7A4457DD1D960854EFFF2, + AA5DEFC178005AF6703DD8C2, ); name = native; sourceTree = ""; }; + F79997650AF525E408636142 = {isa = PBXGroup; children = ( 1ABEE94704EA506C399E9BB7, AC5460D2875AEE783D2A2AAD, 2373A1F1357D75E328517966, @@ -2059,28 +2047,14 @@ 72887C393A61739FD6C803A3, 60707845CE9EFAADCB5BB90F, 94F05A309F81C027AF3AA82C, ); name = opengl; sourceTree = ""; }; - 848B383D0E793418373C92A0 = {isa = PBXGroup; children = ( - C3EE00C42BC5D0E1610F879A, - 26B7A212D6DBD337A4F8AB7C, - 93736C303F60B4DBF1D87989, - CB481B5E92CC1EF7898DD17F, ); name = geometry; sourceTree = ""; }; - 13F7942CD1F8C764749719FD = {isa = PBXGroup; children = ( + 801A81F6DCDF82A19CB20C46 = {isa = PBXGroup; children = ( A630EDA780905F9CCC6EF5D8, AB0C82D0A432008DA9B02B67, ); name = utils; sourceTree = ""; }; - 06E255E5C0ECC537CBF35414 = {isa = PBXGroup; children = ( - 55F8FDB2CE9EA9B6F6F750B1, - 613925F9A0F758ED88BBB3AB, - 118B1A6119520DC2CCE4E119, - F885D9146184104D5D7C05C2, - 414E7CA5C5AB18AE918F414D, - AEE7A4457DD1D960854EFFF2, - AA5DEFC178005AF6703DD8C2, ); name = native; sourceTree = ""; }; 538DDB7E7BA2CEDE1BB9E479 = {isa = PBXGroup; children = ( - D0CC2C98FF18A9025221B221, - 848B383D0E793418373C92A0, - 13F7942CD1F8C764749719FD, - 06E255E5C0ECC537CBF35414, - B1EA7F743B1C77827CAB5707, + 40C488926F781C6AD971DA44, + 444D592E3E85DCB91FACCD6E, + F79997650AF525E408636142, + 801A81F6DCDF82A19CB20C46, B93D72307AE413B7A9A074C5, ); name = "juce_opengl"; sourceTree = ""; }; DCAAA3B7EE46E63D38167ABC = {isa = PBXGroup; children = ( BF62BF87517BCECDF7BFC044, @@ -2101,7 +2075,6 @@ B3342B74DDD833F6D04A7AD3, ); name = osc; sourceTree = ""; }; 3A7D17A61BAAFBFCAC026C49 = {isa = PBXGroup; children = ( DCAAA3B7EE46E63D38167ABC, - D4F3296FB4D267CD9DBAEC22, 913E0691329569D88E7AAB64, ); name = "juce_osc"; sourceTree = ""; }; EF0AACA84F1CEE7F45F56339 = {isa = PBXGroup; children = ( 81E8B4FDE23F10677BD70DCD, @@ -2122,23 +2095,23 @@ 0555BAE6156EAF15CA77A2D8, 74711D7544168CCAC4969A07, 92800676AF753D1A60108F11, - 39BADA2042495195394900F3, - 44301EEC47F5688D9BC0582E, - F756FBC7A6836696BCADD2B4, - 814EF15FC580DB2A5F426071, - CAD2BDFE8443FE5648EF5A9C, - C63EFC8D5E9FDC58BD4A9CA2, - DD866BA894AC019F86C5F4C9, - A67B57899953E98B2B52FA2C, - 13BEE456E0A7D58819C06B21, - A80E52C517801112E8F19350, - 3C02F146BFD3D2C8B0B3D8B8, - D185AFBBD6B50B5CCC2A9A3D, - 556B39875D557171B3E0D68C, - 71274DD47D3EFC3EB83ED73C, + C330F97CDD84D73ADFF32B6B, + 7426094FECDBDB73C1DDE58B, + 75F0E24A0BFFB573DA77B602, + 92B708D33562C06F382E615F, + 1D9299636D0100B772E26000, + F5D1149D91939A33DE653BAB, + 82F67360DC3AD52A255A3829, + 48C10DE9B2C0B0B6D874D2D2, + EF15E2FA8F8D4DB6479A48B6, + 8BA1BD3E0D16C4009774F319, + 5C8C2C045A2E27C9B23754D3, + A119D66FC1AD1E7BA31EFA46, + B431FB5881D1232F27DC05DA, + 70128920B5973BE15D2E58CF, D12A0DFFE18728E84D9AB739, ); name = "Juce Library Code"; sourceTree = ""; }; 4AA57E2B5FD5374D348EEF7F = {isa = PBXGroup; children = ( - 0D6692C87B6EEDFCB658A996, + 1FD6DBAC73414DD4C152E34E, 696F7896036B652369517438, 70F1CAF3C4C561DD81E6AFC1, ); name = Resources; sourceTree = ""; }; 71F5560BE0EE3A17A9CE44F6 = {isa = PBXGroup; children = ( @@ -2154,7 +2127,7 @@ 935CA85EF98714D3A17AE737, EC794872987FEA2E129C589A, ); name = Frameworks; sourceTree = ""; }; 8B59A884C62D960EE9DFEF47 = {isa = PBXGroup; children = ( - 88B666E3E64434D066937972, ); name = Products; sourceTree = ""; }; + E4162459ED4C829EF7B19691, ); name = Products; sourceTree = ""; }; D2EB65517396C974F0415A7F = {isa = PBXGroup; children = ( 856518502A948813C90E6761, EF0AACA84F1CEE7F45F56339, @@ -2162,7 +2135,7 @@ 4AA57E2B5FD5374D348EEF7F, 71F5560BE0EE3A17A9CE44F6, 8B59A884C62D960EE9DFEF47, ); name = Source; sourceTree = ""; }; - 48B76E3AFA2377D9DB65015D = {isa = XCBuildConfiguration; buildSettings = { + EE7498599191DDC73ECB55B0 = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; @@ -2178,13 +2151,13 @@ "JUCE_APP_VERSION_HEX=0x10000", ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.plist; INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET = 10.9; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; PRODUCT_BUNDLE_IDENTIFIER = com.juce.NetworkGraphicsDemo; SDKROOT_ppc = macosx10.5; }; name = Debug; }; - 5E673C38F805EC668720414D = {isa = XCBuildConfiguration; buildSettings = { + 2E06386CE7CCA5FF76819BFF = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; @@ -2201,7 +2174,7 @@ GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.plist; INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET = 10.9; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; @@ -2239,33 +2212,34 @@ PRODUCT_NAME = "JUCE Network Graphics Demo"; WARNING_CFLAGS = -Wreorder; ZERO_LINK = NO; }; name = Release; }; + 80BE97CC38B01FABC0E73204 = {isa = PBXTargetDependency; target = 4311FBCBD02948A0ED96C7DD; }; 02715337C584F3C721251428 = {isa = XCConfigurationList; buildConfigurations = ( 3BF0365A560ACD4FD24D40CE, 9C6D2FD441D79104734762A5, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - BDC88C5882EF70163B9C8B02 = {isa = XCConfigurationList; buildConfigurations = ( - 48B76E3AFA2377D9DB65015D, - 5E673C38F805EC668720414D, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 27D13F64374981C0D070073D = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + B73863F5D180C23D3EC40C38 = {isa = XCConfigurationList; buildConfigurations = ( + EE7498599191DDC73ECB55B0, + 2E06386CE7CCA5FF76819BFF, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 714944DB86A4D402E7FA269E = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( 65B2C4ED19229E0EDC8EF993, 006DF460F8DF66EFFA80D968, ); runOnlyForDeploymentPostprocessing = 0; }; - 8FA3466A9C5DCEF1CEC9D134 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + C2977559BF9148DB70CA10AE = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 987CBD5330E76B404F0D966C, 9F618C008A503063D10076C4, - F420418005A79DAF770E7735, - 96B6D565C6C5F9159EB6A55F, - 76B52030E43D3B5AB6127691, - 400043FD261C86FBBC627B22, - A1DF53840C31BE4F53C45FDC, - C0034230852C5B299E4E727F, - 723819DB39E466E20A7F3320, - C9E4DFC6834B1902D7B5ECB5, - 12BE09EBD1CD09058C84C052, - 6E0A0DA4E667AC2D4F11E690, - 47674ECBB496642ADA2FE208, - 5615BFDBF1F361687927B58C, - 2E23D07E4DE9480FB5B4C540, - B8AF173DBD1F487F943A2FE7, ); runOnlyForDeploymentPostprocessing = 0; }; - 6B8B22FD390097B066D6145E = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 718B99FAB1E8194D2B0206AC, + 33DF4133C9A034541881565B, + E450503516A898335FF1484C, + C2999D6FCD5C87F7BBE12E58, + 4CF197F817C8E39E9CBD1F37, + 09F3BF47BA1F8E671565F0CF, + 689F1BF1DA09BEE5EFD51E8C, + CDF8191688659B6FB4F69C8D, + B6BF743F7CD09709BE3E8139, + 6F2EF8469609CE8A16241E40, + 9FF3C9A4A206BF1180E3A8B5, + 5A9046883911D31579E1FA3A, + CD97DCDA3B81BE426F5430FF, + 682E2C7BF7CF308447AC4D11, ); runOnlyForDeploymentPostprocessing = 0; }; + 865E89B94B41EB14C202CBB0 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( 80EE2C27B466BAFD83881D3F, C4D6C466C41173D6970553D2, BED88ADEA4DC91AA8C810FA8, @@ -2277,11 +2251,11 @@ B323E5E5FBD5663B21A8E623, EC14DA30C090DDC62084DB4C, 8ECB0767EE340DD83869E37D, ); runOnlyForDeploymentPostprocessing = 0; }; - AC6EE7CFEC691FF6322586E4 = {isa = PBXNativeTarget; buildConfigurationList = BDC88C5882EF70163B9C8B02; buildPhases = ( - 27D13F64374981C0D070073D, - 8FA3466A9C5DCEF1CEC9D134, - 6B8B22FD390097B066D6145E, ); buildRules = ( ); dependencies = ( ); name = "JUCE Network Graphics Demo"; productName = "JUCE Network Graphics Demo"; productReference = 88B666E3E64434D066937972; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; - A5398ADB6F5B128C00EB935C = {isa = PBXProject; buildConfigurationList = 02715337C584F3C721251428; attributes = { LastUpgradeCheck = 0440; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = D2EB65517396C974F0415A7F; projectDirPath = ""; projectRoot = ""; targets = ( AC6EE7CFEC691FF6322586E4 ); }; + 4311FBCBD02948A0ED96C7DD = {isa = PBXNativeTarget; buildConfigurationList = B73863F5D180C23D3EC40C38; buildPhases = ( + 714944DB86A4D402E7FA269E, + C2977559BF9148DB70CA10AE, + 865E89B94B41EB14C202CBB0, ); buildRules = ( ); dependencies = ( ); name = "JUCE Network Graphics Demo (App)"; productName = "JUCE Network Graphics Demo"; productReference = E4162459ED4C829EF7B19691; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; + A5398ADB6F5B128C00EB935C = {isa = PBXProject; buildConfigurationList = 02715337C584F3C721251428; attributes = { LastUpgradeCheck = 0440; TargetAttributes = { 4311FBCBD02948A0ED96C7DD = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = D2EB65517396C974F0415A7F; projectDirPath = ""; projectRoot = ""; targets = (4311FBCBD02948A0ED96C7DD); }; }; rootObject = A5398ADB6F5B128C00EB935C; } diff --git a/examples/NetworkGraphicsDemo/Builds/VisualStudio2013/JUCE Network Graphics Demo.vcxproj b/examples/NetworkGraphicsDemo/Builds/VisualStudio2013/JUCE Network Graphics Demo.vcxproj index 796c87cd38..3fe5a31607 100644 --- a/examples/NetworkGraphicsDemo/Builds/VisualStudio2013/JUCE Network Graphics Demo.vcxproj +++ b/examples/NetworkGraphicsDemo/Builds/VisualStudio2013/JUCE Network Graphics Demo.vcxproj @@ -217,6 +217,9 @@ true + + true + true @@ -232,15 +235,6 @@ true - - true - - - true - - - true - true @@ -289,25 +283,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -337,9 +316,45 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + true + + true + + + true + + + true + + + true + + + true + true @@ -358,21 +373,6 @@ true - - true - - - true - - - true - - - true - - - true - true @@ -406,9 +406,6 @@ true - - true - true @@ -418,43 +415,7 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -472,33 +433,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -523,40 +457,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -565,31 +469,16 @@ true - + true - + true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -655,6 +544,117 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -673,6 +673,15 @@ true + + true + + + true + + + true + true @@ -682,33 +691,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -727,6 +709,18 @@ true + + true + + + true + + + true + + + true + true @@ -736,6 +730,12 @@ true + + true + + + true + true @@ -757,43 +757,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -814,10 +781,40 @@ true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -844,6 +841,51 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -856,6 +898,153 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -877,19 +1066,70 @@ true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -958,246 +1198,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -1316,20 +1316,20 @@ true - - - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -1372,6 +1372,8 @@ + + @@ -1379,20 +1381,10 @@ + - - - - - - - - - - - @@ -1402,8 +1394,25 @@ + + + + + + + + + + + + + + + + + @@ -1414,15 +1423,6 @@ - - - - - - - - - @@ -1443,21 +1443,35 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1478,22 +1492,49 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1513,53 +1554,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - @@ -1568,14 +1568,22 @@ + + + + - - - - + + + + + + + + @@ -1585,19 +1593,11 @@ - - - - - - - - - - + + @@ -1608,10 +1608,15 @@ - - - - + + + + + + + + + @@ -1622,26 +1627,91 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1655,14 +1725,21 @@ - - - - - - - - + + + + + + + + + + + + + + + @@ -1687,83 +1764,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1789,6 +1789,17 @@ + + + + + + + + + + + @@ -1798,18 +1809,7 @@ - - - - - - - - - - - @@ -1826,20 +1826,6 @@ - - - - - - - - - - - - - - diff --git a/examples/NetworkGraphicsDemo/Builds/VisualStudio2013/JUCE Network Graphics Demo.vcxproj.filters b/examples/NetworkGraphicsDemo/Builds/VisualStudio2013/JUCE Network Graphics Demo.vcxproj.filters index 3a68a2d201..b371b6a56d 100644 --- a/examples/NetworkGraphicsDemo/Builds/VisualStudio2013/JUCE Network Graphics Demo.vcxproj.filters +++ b/examples/NetworkGraphicsDemo/Builds/VisualStudio2013/JUCE Network Graphics Demo.vcxproj.filters @@ -35,45 +35,45 @@ {CACD7B50-4DB3-76AF-A6E8-90DF94F8F594} + + {45C2CE26-EC4B-BA52-58F3-297C408E1483} + {9D270B31-2425-8FDB-84A4-6A2288FF5B2F} {0F766DD4-A277-CB86-5647-42498C8B41E1} - - {D64942B4-6984-3623-3347-45D472AE1C61} - - - {45C2CE26-EC4B-BA52-58F3-297C408E1483} - {01603E05-423B-5FC3-1BEE-E15ED33B5688} + + {D64942B4-6984-3623-3347-45D472AE1C61} + {65CB28F8-0422-A8F3-9A17-959E12A1F8E2} - - {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} - {0CD9E281-DDD0-91EC-6F77-EA9D9D5E0E1A} + + {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} + {40C5CA7C-AEBB-05B1-11CE-AE41D87B5CCB} {0B0E7392-324B-088C-FBEB-5FE999D61782} - - {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} - {20254EFE-6CBD-31A7-2119-92B1E0E0E311} {70796D73-6D30-8A1B-4732-7C021E47C05A} + + {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} + {EB8DD942-E2CB-869F-D381-E02A65BA790B} @@ -86,17 +86,26 @@ {8167E753-09C7-5D1C-EF2B-32D297557443} - - {AEDCB7F7-7A36-5392-8E9A-715F5BDE35CB} - {B48C883A-8483-AF6D-808C-1D9A749048D8} + + {AEDCB7F7-7A36-5392-8E9A-715F5BDE35CB} + {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} - - {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + + {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + + {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + + {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} {476C69CE-0B67-6B85-E888-45D91E37A29E} @@ -104,17 +113,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} - - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -122,29 +125,26 @@ {91929C6F-7902-B87D-5260-2F6CBF8ACD93} - - {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} - {4634FFAE-9586-A970-364C-4FDDA635F99F} - - {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} - - {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - {F03654BC-34D8-F975-BEA3-750CC2783D23} + + {C9F6D785-BF78-5AA1-B479-111C65397864} {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} - - {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} - - {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + {F03654BC-34D8-F975-BEA3-750CC2783D23} {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} @@ -158,33 +158,33 @@ {928D8FCC-5E00-174B-6538-93E8D75AB396} - - {1988E68A-A964-64CA-0E0C-26FF9BC5176C} + + {358AEA11-3F96-36AE-7B32-71373B5C5396} {3DF036EA-3B80-553B-2494-3AAC835CAE75} - - {358AEA11-3F96-36AE-7B32-71373B5C5396} + + {1988E68A-A964-64CA-0E0C-26FF9BC5176C} {F2A38F45-6E55-E147-2E52-64A89FDD9D59} - - {6172822C-01A5-E824-12DA-FA43FA934D35} - - - {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} - {B098BC87-3298-7E6B-12DC-D26C09CDCAED} {6322B88F-984A-C3CD-6263-38D7AA49B6EC} + + {6172822C-01A5-E824-12DA-FA43FA934D35} + {73C1E759-AD90-59A3-942E-2D10FAA29107} + + {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} + {EE1AE8C3-0908-8F53-A4E5-D930C7C97C26} @@ -194,81 +194,81 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} - - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - - {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {E37D25CD-4350-4614-055B-7ABC55E67895} {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {C1A1A236-AB01-173E-96C3-0706BFF93B1E} + + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + + {413F481F-075C-2958-115C-D8268682FCB7} {FFC6E1CC-C772-75E6-5087-FB5D4E016799} + + {1182303F-ECA3-166D-AC0C-92C5E762CB93} + {8E43579F-C185-266D-DD67-F8B95BD80F2F} + + {61712B09-5783-ADFA-2001-5A0C3D7764EB} + + + {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + + {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} + {2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D} - - {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + {5A0AA36E-3957-E413-14C6-31CBE15271DF} + + + {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} {A92719C7-70BE-57C4-CE9E-A9BC9DFEB757} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} + + + {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} + + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} + + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + + {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} + + + {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} + {75F1F352-251A-75E0-D941-8431588F5C1E} {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} - - {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} - - - {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} - - - {5A0AA36E-3957-E413-14C6-31CBE15271DF} - - - {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} - - - {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} - - - {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} - - - {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} - - - {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - - {61712B09-5783-ADFA-2001-5A0C3D7764EB} - - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} - {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -290,18 +290,18 @@ {639E16C5-DA8B-ADBA-6E24-7B596378EAB2} - - {2D8D0E19-E676-83EB-38D9-F73500DD6B79} - {B3141847-8F13-F67D-45B2-E3ECF6E09088} - - {9E586194-C056-101C-5311-F2AF5191AC80} - {151B49D8-6102-F802-1C07-D59931BC0574} + + {2D8D0E19-E676-83EB-38D9-F73500DD6B79} + + + {9E586194-C056-101C-5311-F2AF5191AC80} + {1A62F82C-C14A-E14A-94DE-8A27E0F8A090} @@ -403,6 +403,9 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -418,15 +421,6 @@ Juce Modules\juce_audio_devices\midi_io - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\audio_cd - Juce Modules\juce_audio_devices\native @@ -481,26 +475,11 @@ Juce Modules\juce_audio_devices\native - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_formats\codecs @@ -529,27 +508,30 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - Juce Modules\juce_audio_processors\format @@ -568,6 +550,24 @@ Juce Modules\juce_audio_processors\format_types + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + Juce Modules\juce_audio_processors\scanning @@ -601,9 +601,6 @@ Juce Modules\juce_audio_utils\gui - - Juce Modules\juce_audio_utils\players - Juce Modules\juce_audio_utils\native @@ -619,44 +616,8 @@ Juce Modules\juce_audio_utils\native - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\memory + + Juce Modules\juce_audio_utils\players Juce Modules\juce_core\containers @@ -673,33 +634,6 @@ Juce Modules\juce_core\containers - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - Juce Modules\juce_core\files @@ -724,41 +658,11 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -766,32 +670,17 @@ Juce Modules\juce_core\logging - - Juce Modules\juce_core\system + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc @@ -871,6 +760,117 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + Juce Modules\juce_cryptography\encryption @@ -889,6 +889,15 @@ Juce Modules\juce_cryptography\hashing + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -898,33 +907,6 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - Juce Modules\juce_events\broadcasters @@ -943,6 +925,18 @@ Juce Modules\juce_events\interprocess + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + Juce Modules\juce_events\native @@ -958,6 +952,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_graphics\colour @@ -979,44 +979,11 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\effects Juce Modules\juce_graphics\fonts @@ -1036,11 +1003,41 @@ Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -1072,6 +1069,51 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -1084,6 +1126,153 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -1105,20 +1294,92 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -1186,267 +1447,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_extra\code_editor @@ -1579,46 +1579,46 @@ Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code @@ -1743,6 +1743,12 @@ Juce Modules\juce_audio_basics + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -1764,48 +1770,18 @@ Juce Modules\juce_audio_devices\midi_io + + Juce Modules\juce_audio_devices\native + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\native - Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - Juce Modules\juce_audio_formats\codecs @@ -1833,12 +1809,63 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + Juce Modules\juce_audio_processors\processors @@ -1869,33 +1896,6 @@ Juce Modules\juce_audio_processors\processors - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - Juce Modules\juce_audio_processors\scanning @@ -1956,50 +1956,92 @@ Juce Modules\juce_audio_utils - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -2061,53 +2103,134 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text Juce Modules\juce_core\threads @@ -2166,92 +2289,8 @@ Juce Modules\juce_core\time - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -2259,12 +2298,6 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - Juce Modules\juce_core\zip @@ -2274,39 +2307,6 @@ Juce Modules\juce_core\zip - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - Juce Modules\juce_core @@ -2331,6 +2331,18 @@ Juce Modules\juce_cryptography + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -2340,21 +2352,33 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - Juce Modules\juce_data_structures + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + Juce Modules\juce_events\messages @@ -2382,36 +2406,6 @@ Juce Modules\juce_events\messages - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - Juce Modules\juce_events\native @@ -2421,6 +2415,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_events @@ -2451,17 +2451,32 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -2493,38 +2508,17 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -2535,9 +2529,60 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + Juce Modules\juce_graphics + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -2553,6 +2598,171 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -2592,29 +2802,50 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -2688,237 +2919,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_basics @@ -2994,6 +2994,39 @@ Juce Modules\juce_gui_extra + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + Juce Modules\juce_opengl\opengl @@ -3021,42 +3054,9 @@ Juce Modules\juce_opengl\opengl - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - Juce Modules\juce_opengl\utils - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - Juce Modules\juce_opengl @@ -3101,48 +3101,6 @@ JUCE Network Graphics Demo - - Juce Modules\juce_audio_basics - - - Juce Modules\juce_audio_devices - - - Juce Modules\juce_audio_formats - - - Juce Modules\juce_audio_processors - - - Juce Modules\juce_audio_utils - - - Juce Modules\juce_core - - - Juce Modules\juce_cryptography - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_gui_extra - - - Juce Modules\juce_opengl - - - Juce Modules\juce_osc - Juce Library Code diff --git a/examples/NetworkGraphicsDemo/Builds/VisualStudio2013/icon.ico b/examples/NetworkGraphicsDemo/Builds/VisualStudio2013/icon.ico index 70bbdd511703aa10a8daa471f514680ae6f9edb2..09d32ad703e414097a17e969e7d765325e912c77 100644 GIT binary patch delta 18585 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 delta 18605 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 literal 44836 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 z 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 diff --git a/examples/NetworkGraphicsDemo/Builds/iOS/Info.plist b/examples/NetworkGraphicsDemo/Builds/iOS/Info-App.plist similarity index 84% rename from examples/NetworkGraphicsDemo/Builds/iOS/Info.plist rename to examples/NetworkGraphicsDemo/Builds/iOS/Info-App.plist index 4cac323a48..8814fa28e4 100644 --- a/examples/NetworkGraphicsDemo/Builds/iOS/Info.plist +++ b/examples/NetworkGraphicsDemo/Builds/iOS/Info-App.plist @@ -13,6 +13,8 @@ $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName JUCE Network Graphics Demo + CFBundleDisplayName + JUCE Network Graphics Demo CFBundlePackageType APPL CFBundleSignature @@ -27,12 +29,15 @@ UIRequiresFullScreen + UIStatusBarHidden + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight + UIBackgroundModes + diff --git a/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo.xcodeproj/project.pbxproj b/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo.xcodeproj/project.pbxproj index 9aa26c5e18..adf9cf21ed 100644 --- a/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo.xcodeproj/project.pbxproj +++ b/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo.xcodeproj/project.pbxproj @@ -6,6 +6,7 @@ objectVersion = 46; objects = { + F468E8C7B02DFD4D53911277 = {isa = PBXBuildFile; fileRef = E4162459ED4C829EF7B19691; }; 80EE2C27B466BAFD83881D3F = {isa = PBXBuildFile; fileRef = 2E13A899F4E3C99054A3656F; }; C4D6C466C41173D6970553D2 = {isa = PBXBuildFile; fileRef = 9E8129263CD42C6029FC2CAD; }; 3CC6DC6E223415B506D0CB75 = {isa = PBXBuildFile; fileRef = 080961C54C58ECF2346B4C23; }; @@ -22,20 +23,20 @@ 006DF460F8DF66EFFA80D968 = {isa = PBXBuildFile; fileRef = 70F1CAF3C4C561DD81E6AFC1; }; 987CBD5330E76B404F0D966C = {isa = PBXBuildFile; fileRef = 77C0AC21C1028911123844FC; }; 9F618C008A503063D10076C4 = {isa = PBXBuildFile; fileRef = 74711D7544168CCAC4969A07; }; - F420418005A79DAF770E7735 = {isa = PBXBuildFile; fileRef = 39BADA2042495195394900F3; }; - 96B6D565C6C5F9159EB6A55F = {isa = PBXBuildFile; fileRef = 44301EEC47F5688D9BC0582E; }; - 76B52030E43D3B5AB6127691 = {isa = PBXBuildFile; fileRef = F756FBC7A6836696BCADD2B4; }; - 400043FD261C86FBBC627B22 = {isa = PBXBuildFile; fileRef = 814EF15FC580DB2A5F426071; }; - A1DF53840C31BE4F53C45FDC = {isa = PBXBuildFile; fileRef = CAD2BDFE8443FE5648EF5A9C; }; - C0034230852C5B299E4E727F = {isa = PBXBuildFile; fileRef = C63EFC8D5E9FDC58BD4A9CA2; }; - 723819DB39E466E20A7F3320 = {isa = PBXBuildFile; fileRef = DD866BA894AC019F86C5F4C9; }; - C9E4DFC6834B1902D7B5ECB5 = {isa = PBXBuildFile; fileRef = A67B57899953E98B2B52FA2C; }; - 12BE09EBD1CD09058C84C052 = {isa = PBXBuildFile; fileRef = 13BEE456E0A7D58819C06B21; }; - 6E0A0DA4E667AC2D4F11E690 = {isa = PBXBuildFile; fileRef = A80E52C517801112E8F19350; }; - 47674ECBB496642ADA2FE208 = {isa = PBXBuildFile; fileRef = 3C02F146BFD3D2C8B0B3D8B8; }; - 5615BFDBF1F361687927B58C = {isa = PBXBuildFile; fileRef = D185AFBBD6B50B5CCC2A9A3D; }; - 2E23D07E4DE9480FB5B4C540 = {isa = PBXBuildFile; fileRef = 556B39875D557171B3E0D68C; }; - B8AF173DBD1F487F943A2FE7 = {isa = PBXBuildFile; fileRef = 71274DD47D3EFC3EB83ED73C; }; + 718B99FAB1E8194D2B0206AC = {isa = PBXBuildFile; fileRef = C330F97CDD84D73ADFF32B6B; }; + 33DF4133C9A034541881565B = {isa = PBXBuildFile; fileRef = 7426094FECDBDB73C1DDE58B; }; + E450503516A898335FF1484C = {isa = PBXBuildFile; fileRef = 75F0E24A0BFFB573DA77B602; }; + C2999D6FCD5C87F7BBE12E58 = {isa = PBXBuildFile; fileRef = 92B708D33562C06F382E615F; }; + 4CF197F817C8E39E9CBD1F37 = {isa = PBXBuildFile; fileRef = 1D9299636D0100B772E26000; }; + 09F3BF47BA1F8E671565F0CF = {isa = PBXBuildFile; fileRef = F5D1149D91939A33DE653BAB; }; + 689F1BF1DA09BEE5EFD51E8C = {isa = PBXBuildFile; fileRef = 82F67360DC3AD52A255A3829; }; + CDF8191688659B6FB4F69C8D = {isa = PBXBuildFile; fileRef = 48C10DE9B2C0B0B6D874D2D2; }; + B6BF743F7CD09709BE3E8139 = {isa = PBXBuildFile; fileRef = EF15E2FA8F8D4DB6479A48B6; }; + 6F2EF8469609CE8A16241E40 = {isa = PBXBuildFile; fileRef = 8BA1BD3E0D16C4009774F319; }; + 9FF3C9A4A206BF1180E3A8B5 = {isa = PBXBuildFile; fileRef = 5C8C2C045A2E27C9B23754D3; }; + 5A9046883911D31579E1FA3A = {isa = PBXBuildFile; fileRef = A119D66FC1AD1E7BA31EFA46; }; + CD97DCDA3B81BE426F5430FF = {isa = PBXBuildFile; fileRef = B431FB5881D1232F27DC05DA; }; + 682E2C7BF7CF308447AC4D11 = {isa = PBXBuildFile; fileRef = 70128920B5973BE15D2E58CF; }; 000265F702986DE8DD932309 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageSequence.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h"; sourceTree = "SOURCE_ROOT"; }; 000DAE49A15BE8D4DA5ADA8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; }; 000EA162E25BC873954A9E48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -95,7 +96,6 @@ 0C573FF1309CE106DA2D2CF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_utils.h"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.h"; sourceTree = "SOURCE_ROOT"; }; 0C58D2236F902CCD34EA4FCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_CommonFile.cpp"; path = "../../../../modules/juce_core/native/juce_linux_CommonFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 0CFDFC8B0EE4F67F3140A95E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; }; - 0D6692C87B6EEDFCB658A996 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = "SOURCE_ROOT"; }; 0DA4C3278F6482DB3E59D9BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; }; 0DB078E2523AD3ABE77A95F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; }; 0DBCEADB9A04439E66BE176E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -124,7 +124,6 @@ 1377617053AF07B0E571F77B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReverbAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 13A6B8661E1D605FCD86F1E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; 13BD4B06D1A341403533186D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCTimeTag.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCTimeTag.cpp"; sourceTree = "SOURCE_ROOT"; }; - 13BEE456E0A7D58819C06B21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; 13C50C345BB1AE097DE51F8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserVoice.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp"; sourceTree = "SOURCE_ROOT"; }; 13E0FBE11F1B5028F51D4A83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; 140159E9C38C975949494E5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -163,6 +162,7 @@ 1D153366F6EA459B397CA356 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; }; 1D58402ABF05B2EF162769C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 1D68D7036540404EFB82B35D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1D9299636D0100B772E26000 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../JuceLibraryCode/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; }; 1DE2689A8FBB19007E892906 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; }; 1DE819F8D407705C57EACD26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; 1E206D97A7B91545FE0D27CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -173,6 +173,7 @@ 1F3F5EE19B8CA78D9513AD94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LuaCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; 1F52A06FB3A565B54144FD8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; 1F999582FEA88311EC2EBF27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; }; + 1FD6DBAC73414DD4C152E34E = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-App.plist"; path = "Info-App.plist"; sourceTree = "SOURCE_ROOT"; }; 1FEF9A01DC5486A9FA1CDF04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnailCache.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp"; sourceTree = "SOURCE_ROOT"; }; 201270E933BAEFC855FF02FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; }; 20193027F5E90E62F44027B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Whirlpool.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_Whirlpool.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -187,7 +188,6 @@ 22A9BA274F3AD6FAF4331D11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 2368F4F33C1FA1F250C0606C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 2373A1F1357D75E328517966 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLFrameBuffer.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 23EC7FFD41859C9725D21B16 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_cryptography/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 23F3CBC829C0363C6C760957 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Base64.cpp"; path = "../../../../modules/juce_core/text/juce_Base64.cpp"; sourceTree = "SOURCE_ROOT"; }; 24711D9742CB31F36F71A36E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; }; 24FD7D015B6C46BDFC98E2DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -239,7 +239,6 @@ 30D2B2F180671715D1CFAD5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; }; 3121B99F19132789145FDF58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; 3153401B1C69B651D2AD37E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; }; - 3180211C7FFE65342212F8DC = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 3193E205AA627C635FF236E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp"; sourceTree = "SOURCE_ROOT"; }; 32053E605C421DA9F9C406BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; }; 3234FA3655EA51C78D5E2D87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -263,7 +262,6 @@ 382D4767A626A3D30826EE1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; }; 3913A6C3147F55D7390405B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemAudioVolume.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h"; sourceTree = "SOURCE_ROOT"; }; 3957E1F6F24F89D6DCB8829E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; }; - 39BADA2042495195394900F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 39E116DC12FD26E3DB3F4DFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; 39F7F18157821A256E23B868 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; }; 3A132DEDF59503D8AEE2E1F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; }; @@ -272,7 +270,6 @@ 3BA17634675701A90B92AA88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; }; 3BAA4C5AFD5E6AE8B7447E17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; }; 3BEA5E0CD39AABEAB92B425E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDirectoryScanner.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h"; sourceTree = "SOURCE_ROOT"; }; - 3C02F146BFD3D2C8B0B3D8B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 3CFD6B00875759345575ECFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 3D7BB39A9FCE43D8EAF6B6CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; 3DD9BA50041192D1F28D87CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; }; @@ -297,7 +294,6 @@ 42DA53757E1591ED0395C94E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; 43BE50DA24ABCAF9183FC535 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; }; 43BEA6B7451F512AC9B1ED38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Desktop.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.cpp"; sourceTree = "SOURCE_ROOT"; }; - 44301EEC47F5688D9BC0582E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; 445C1F432C6144BD2F6D3327 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 448838BE6E937D450A3C84CE = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; 4533B1E6786C588EEB5F17F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -311,6 +307,7 @@ 489251CA8BE0CA79BA247455 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; }; 489FD44544F03774CBFA04E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; 48A798B2097EF59A8A53F1F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; }; + 48C10DE9B2C0B0B6D874D2D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; 48EBF61EDF71322807F5AF4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; }; 49EEE3FAA41505E20A1587BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; 4A0C286E6CB8D31A8C048A88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -355,7 +352,6 @@ 5484B58D02279CE228079C12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CoreAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 54E5C8F4F9BF6B8228482AD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; 55037EF642A280DAC85CE34D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; }; - 556B39875D557171B3E0D68C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../../../modules/juce_opengl/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; 55F8FDB2CE9EA9B6F6F750B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MissingGLDefinitions.h"; path = "../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h"; sourceTree = "SOURCE_ROOT"; }; 5614CF8ACD28587D8E9FC249 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectSound.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp"; sourceTree = "SOURCE_ROOT"; }; 561DC7B5329A4719A85FB37E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; }; @@ -364,7 +360,6 @@ 56FA5F3ABA3B0278767C107B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextInputTarget.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h"; sourceTree = "SOURCE_ROOT"; }; 57134B5B764CAAAEA07C56CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 579117EBA45C1878DC55FF65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; }; - 5794F3D9DC292B1603244735 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_graphics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 57C8BBE1EFA839C458DEF2F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; }; 5864A3A4338CCCB6524CE499 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 58B4452DE10C4ABF8D8DC7EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; }; @@ -383,6 +378,7 @@ 5C2B9D77C8CEB8A1F6C121E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 5C5FBFC0D457D62BDC602F17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 5C82D0E8AB39B155A987109A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODeviceType.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5C8C2C045A2E27C9B23754D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 5C99C4705F0D6CE613DE7711 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCReceiver.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCReceiver.cpp"; sourceTree = "SOURCE_ROOT"; }; 5C9AF08626A44F2AF6783A53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 5CCB6DBE5D69271176CD9603 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -431,7 +427,6 @@ 678B3B27F695152D396C09A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; }; 6799B056504F9F017998B9E2 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; 6821655BB8883B9A421666C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 6894C4ABEF5203014A0B665F = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_utils/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 689962387B441B1770B53D6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; 69995C9ACA8B57DDB8E49495 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; }; 6B23639B2FD8C8FCFC241070 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; @@ -455,10 +450,10 @@ 6F4CD56079CABCB8F4FBA0D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; }; 6F9461C9816AF7B764F73FC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; }; 6FDDB32B35EF2BC6C4E353C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioAppComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 70128920B5973BE15D2E58CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_osc.cpp"; path = "../../JuceLibraryCode/juce_osc.cpp"; sourceTree = "SOURCE_ROOT"; }; 70736236C82A9ACE63DB3D3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; }; 709EB992B73BB302F0D9FC8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathIterator.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; 70F1CAF3C4C561DD81E6AFC1 = {isa = PBXFileReference; lastKnownFileType = file.icns; name = Icon.icns; path = Icon.icns; sourceTree = "SOURCE_ROOT"; }; - 71274DD47D3EFC3EB83ED73C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_osc.cpp"; path = "../../../../modules/juce_osc/juce_osc.cpp"; sourceTree = "SOURCE_ROOT"; }; 71359267D6C329BC132B88CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLHelpers.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp"; sourceTree = "SOURCE_ROOT"; }; 71894D722D549F75275D3D53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; 724D1A80CA91E8ADB78287BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; @@ -469,6 +464,7 @@ 72FD8AC04D2B0BEE1A5E2596 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiRPN.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h"; sourceTree = "SOURCE_ROOT"; }; 7319C1AFC4D882F649320DDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; 7414371325D7C8E4ECB043D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; }; + 7426094FECDBDB73C1DDE58B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../JuceLibraryCode/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; 74711D7544168CCAC4969A07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = BinaryData.cpp; path = ../../JuceLibraryCode/BinaryData.cpp; sourceTree = "SOURCE_ROOT"; }; 74A4500C4809EFB73D5FA36C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; 74C15BFC6E036DE767574778 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; }; @@ -477,6 +473,7 @@ 75636F75113CD1ABF8B01F08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; }; 758A85BA2A15681252AAC852 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; 75CBB4C7E9CBA8B36FA40FB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; }; + 75F0E24A0BFFB573DA77B602 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../JuceLibraryCode/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; 77234EEA6FC39172D3B4B455 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; }; 777AA662407B7A91748C92A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 77C0AC21C1028911123844FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = "SOURCE_ROOT"; }; @@ -506,13 +503,13 @@ 806774C77EBD99266FE68583 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; 80B9B913DD55B0BD215AEC86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 80D63910D7196D7DF849A239 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; }; - 814EF15FC580DB2A5F426071 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; 81E803F2EB73BF09CB0CF2DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; }; 82073AD531BE1009AE92477D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; 82A654CA5A700A19A9A673BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; 82B25B30D756F75BDFDBBCD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTreeSynchroniser.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h"; sourceTree = "SOURCE_ROOT"; }; 82B807E750DB47D6FA6AA5F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; 82CF205CD196BF77B68EA75A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 82F67360DC3AD52A255A3829 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../JuceLibraryCode/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; 834384DBC61E38E789FD9B7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; }; 837FC46135954E8144A996FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; 83E38E7D0548FCDF7B150F22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; }; @@ -543,6 +540,7 @@ 8AF3D4A8845EBB742E3F521C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; }; 8B73B43B30D1235C6F6C7472 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; }; 8B7B53B20BE2BD10F219B06A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_QuickTimeAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8BA1BD3E0D16C4009774F319 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../JuceLibraryCode/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; 8BB63BFDE6F8C634381B9CF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLHelpers.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 8BD1742DEA98185FA7ED4152 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarComponent.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h"; sourceTree = "SOURCE_ROOT"; }; 8C19D0C6E404A67C74D07A9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; @@ -575,9 +573,9 @@ 91B931E774E4401630F74EE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; }; 91BDECC58244D65FC321A8E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; }; 9247A389C11552FA21BAB71F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9270C4E5EF60DE6108311112 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_devices/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 9271A906B51A234888B79D68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LAMEEncoderAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 92800676AF753D1A60108F11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BinaryData.h; path = ../../JuceLibraryCode/BinaryData.h; sourceTree = "SOURCE_ROOT"; }; + 92B708D33562C06F382E615F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../JuceLibraryCode/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; 935CA85EF98714D3A17AE737 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; 93736C303F60B4DBF1D87989 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Quaternion.h"; path = "../../../../modules/juce_opengl/geometry/juce_Quaternion.h"; sourceTree = "SOURCE_ROOT"; }; 9411003BA4D471F2C95269ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KnownPluginList.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -602,7 +600,6 @@ 9817FEEE6C1D99BCE7DB2395 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; }; 98C797055FB6A630BD2AF26B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; 98FE786D6DCAA1F39D0428E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9905205B6EDA5FAFA31EA03F = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_processors/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 991A179EF480F6B3049D0CE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; }; 9935025CC78B291623780878 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 9982F39121710EFFD5FEEAEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MasterComponent.h; path = ../../Source/MasterComponent.h; sourceTree = "SOURCE_ROOT"; }; @@ -634,6 +631,7 @@ A073692401C6D5C86D77E53C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; }; A09A20116F929D337AE95CB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OSCSender.h"; path = "../../../../modules/juce_osc/osc/juce_OSCSender.h"; sourceTree = "SOURCE_ROOT"; }; A118AD624CE30228686D51F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; }; + A119D66FC1AD1E7BA31EFA46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; A127A78E54490885EA61239C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; }; A15770CD33E47FF114451904 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; }; A198E2290B15C62F68D21050 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; }; @@ -655,7 +653,6 @@ A61EAEE68793E336E6F8BCF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; A630EDA780905F9CCC6EF5D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLAppComponent.cpp"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; A64B09FC5A333C71F069C890 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceManager.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp"; sourceTree = "SOURCE_ROOT"; }; - A67B57899953E98B2B52FA2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; A6A0A10D492CB91AF88BCDCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; }; A6AC587CC82C4689D4C0D90E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MACAddress.h"; path = "../../../../modules/juce_core/network/juce_MACAddress.h"; sourceTree = "SOURCE_ROOT"; }; A6AFC4953E324CC5163256E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -664,7 +661,6 @@ A7050DB1488924F209A7B5CF = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = "JUCE Network Graphics Demo/Images.xcassets"; sourceTree = "SOURCE_ROOT"; }; A7198BFD9B0CC598BD50B587 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; }; A7DF0F471086004A6B81CD11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; }; - A80E52C517801112E8F19350 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; A84DBA7DBC8FBEA5740CB026 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; }; A89C8222531A7CBACE054C1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; }; A8A0AF041F30CB7F45D2FF47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -699,7 +695,6 @@ B14FEADC75BB9C57CF45D850 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; }; B18369F3EF227348BAECC29F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; }; B19456B2F153DD805FB2F660 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp"; sourceTree = "SOURCE_ROOT"; }; - B1EA7F743B1C77827CAB5707 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_opengl/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; B1FD722E367F8B48B2C8F658 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; B2A4F9CD6F95FB4EECC2FB10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; B2C692D20C6190AC831ED780 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; }; @@ -712,6 +707,7 @@ B3D45312AB6F986CB3B4051C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; }; B4179816650495DEE17116FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentPeer.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h"; sourceTree = "SOURCE_ROOT"; }; B42577EBD62A6AF7AC97DAF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; }; + B431FB5881D1232F27DC05DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../JuceLibraryCode/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; B4B9CE9038C38B848A3DEF42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatWriter.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h"; sourceTree = "SOURCE_ROOT"; }; B4E70AE3447587BABF51A076 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; }; B541B5E33CE3B2054B30FF03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -734,7 +730,6 @@ B8D70BA0254864A54E587B21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; }; B8D9A7FDB054852EF59BF4AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; B93D72307AE413B7A9A074C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_opengl.h"; path = "../../../../modules/juce_opengl/juce_opengl.h"; sourceTree = "SOURCE_ROOT"; }; - B94D80A7B5ADCC744E7CE7E6 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_extra/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; B94E7B4E08D0CE7D4B3AA470 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; }; B96670417A0708508B971C58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; }; B97A4BE39BF95F50E67A4683 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -774,6 +769,7 @@ C26C5CA5E6514CF7457B1ACB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; C2AF71A259E7FE29A378F063 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCTypes.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCTypes.cpp"; sourceTree = "SOURCE_ROOT"; }; C30F3519F6ADB14DD19DE1A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDirectoryScanner.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp"; sourceTree = "SOURCE_ROOT"; }; + C330F97CDD84D73ADFF32B6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../JuceLibraryCode/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; C3538736DEAAF93829AB60A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; C378389E66043AAF139C6426 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; C3EE00C42BC5D0E1610F879A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Draggable3DOrientation.h"; path = "../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h"; sourceTree = "SOURCE_ROOT"; }; @@ -782,7 +778,6 @@ C5104FA479708493D5396BAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLPixelFormat.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h"; sourceTree = "SOURCE_ROOT"; }; C536B42EF0D28435B6410AC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; C56022F99B8FB808D00CE6D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; }; - C63EFC8D5E9FDC58BD4A9CA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; C6BDBA40F172EF384F005E8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; sourceTree = "SOURCE_ROOT"; }; C6CCDF5390C72C6C37F3446D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; }; C7373F24FD2E886C50CB3903 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BlowFish.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -801,7 +796,6 @@ C9EF40785DAD416946D6AAE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; CA5CAB4B48FE75C6760BB780 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCBundle.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCBundle.cpp"; sourceTree = "SOURCE_ROOT"; }; CA7D20970FD9BCB45BB5822A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZone.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.cpp"; sourceTree = "SOURCE_ROOT"; }; - CAD2BDFE8443FE5648EF5A9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; }; CB0FCCF91CA21CA88D295932 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; }; CB3DD188BB8AAB1931436CD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; }; CB46FEDCD501D06F0B024134 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -819,7 +813,6 @@ CF1F536ECAA15F7AF8B20746 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; }; CF5C8009A1AB469B2A3EDAF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserBase.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h"; sourceTree = "SOURCE_ROOT"; }; CF6BAD445F116D03D5AC2E69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; - D01F1E62E142AEF92EFEF9A0 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; D0436D71AD541BF93E0585DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; }; D05C8EB1FF06FB0A06C39518 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; D080322D3DB943F3FAFE56CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToneGeneratorAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; @@ -827,7 +820,6 @@ D12A0DFFE18728E84D9AB739 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; D15B6AC0F49F8BAAAF71FDF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; }; D1696F4E539DDB4D7423051C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - D185AFBBD6B50B5CCC2A9A3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; D1CA4E7E20D80D0AC1614F98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputStream.h"; path = "../../../../modules/juce_core/streams/juce_InputStream.h"; sourceTree = "SOURCE_ROOT"; }; D215EF12EACEF7D1CF873FFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; }; D2C6697A783580EE58B2C5EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -839,14 +831,12 @@ D45979081B92930C507C3B87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; D4C20B86C7B0A9FFBCA8FE6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; D4C5D7EE1A40AD018E5E6F02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; - D4F3296FB4D267CD9DBAEC22 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_osc/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; D5313BED337DBBC9A1F7D9CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Font.h"; path = "../../../../modules/juce_graphics/fonts/juce_Font.h"; sourceTree = "SOURCE_ROOT"; }; D56935CBCD13662FDB475D86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; D62FB517B25339128E860F9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilterAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; D64370EA15694620740DAEF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GenericAudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; D656F7818C72485E3ECC50C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPENote.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.h"; sourceTree = "SOURCE_ROOT"; }; D65C8F172D8C1FD532B67348 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; }; - D697C54442250F5A720D2CBF = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_events/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; D79506405903905814D5B32B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; D7C7D8F1CD5FCCAD941DAB9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterChoice.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h"; sourceTree = "SOURCE_ROOT"; }; D7D3D13E56861B7937B08EFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -870,14 +860,12 @@ DC3AA6076CA4CFB066F146D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameterWithID.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h"; sourceTree = "SOURCE_ROOT"; }; DC4E35EEAF01C08CFC4A4CAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; }; DC50301B6C3FDAE98E224E76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormatManager.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; - DC76782D8BA40A4CA365C279 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_data_structures/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; DC9C7030E63CDD457DE54498 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiInput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h"; sourceTree = "SOURCE_ROOT"; }; DCA560DA0C66BB6D6EA92500 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; DCB2FAD653F074F08A916315 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; }; DCE5AE0A528365094776BE17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h"; sourceTree = "SOURCE_ROOT"; }; DCE64BC49FFC96654D30AD87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; }; DD6265BDB310A14072805592 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; - DD866BA894AC019F86C5F4C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../../../modules/juce_cryptography/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; DDD307F9E18E442E43786B0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BluetoothMidiDevicePairingDialogue.h"; path = "../../../../modules/juce_audio_utils/gui/juce_BluetoothMidiDevicePairingDialogue.h"; sourceTree = "SOURCE_ROOT"; }; DDD38519DCDDE8BDE8AC092B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; DE42EED0A04BB9F90D623BAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; @@ -893,9 +881,9 @@ E0F302E28F1CA85EE2A60BEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemTrayIconComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; E26BB7E510E3BEE029962DD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Sampler.h"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.h"; sourceTree = "SOURCE_ROOT"; }; E27E9AF73E442C75C0091F8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; }; - E325C8811CC4773321407E9B = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_formats/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; E33B4A0A655F6365B17CE1F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h"; sourceTree = "SOURCE_ROOT"; }; E368DF5C372BB7CCE82DC763 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + E4162459ED4C829EF7B19691 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "JUCE Network Graphics Demo.app"; sourceTree = "BUILT_PRODUCTS_DIR"; }; E41A33EB67E7E190A88A3AD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; }; E428D9BEA0B66A12448F3649 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; E44B8F906461AB6AC47B374A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LADSPAPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -933,8 +921,8 @@ EE6895EE5020998469F17433 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; }; EE77BB1682ABC799703B5972 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; EE8916C220D09A855BDCB95C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; }; + EF15E2FA8F8D4DB6479A48B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; EF337D9B43E0569DE3E48279 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; }; - EF43908046753F20507CC3B0 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_core/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; EF805FA4F575DBCAF69C1AE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; EF8BAD426428948862257FC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; }; EFD1CE8574994B5B6D078FD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_OpenSL.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -956,16 +944,15 @@ F57531462BB169A5F0224ADE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; F5A0AF00BD4B6471D5057B9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiBuffer.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; F5A991062FE0EEEFE0CAAC17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; }; + F5D1149D91939A33DE653BAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; + F6440E90EC3193EBD07AD3D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; }; F672C9D6819D4CEA39A76445 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; F6943E7562D614D4D2F687E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; }; F6F314A674A9535D6425F794 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiDataConcatenator.h"; path = "../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h"; sourceTree = "SOURCE_ROOT"; }; + F70EF841DE659606631FBD20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Base64.h"; path = "../../../../modules/juce_core/text/juce_Base64.h"; sourceTree = "SOURCE_ROOT"; }; + F765D762D0012A1607F5622A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; }; F7BF997FD40A633D0B519290 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; F7D557738137CA1A370BAA27 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; - 88B666E3E64434D066937972 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "JUCE Network Graphics Demo.app"; sourceTree = "BUILT_PRODUCTS_DIR"; }; - F6440E90EC3193EBD07AD3D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; }; - F70EF841DE659606631FBD20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Base64.h"; path = "../../../../modules/juce_core/text/juce_Base64.h"; sourceTree = "SOURCE_ROOT"; }; - F756FBC7A6836696BCADD2B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; - F765D762D0012A1607F5622A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; }; F80B331AD631D4F77A673691 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; }; F81AAE65A3598A15825E6794 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; }; F885D9146184104D5D7C05C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_linux.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_linux.h"; sourceTree = "SOURCE_ROOT"; }; @@ -1080,9 +1067,12 @@ 535BC18EA5604A8E324D5E7B, BCC14FB1DB5AF2D57E552587, B1873441490E1D82AFF483A9, - 3180211C7FFE65342212F8DC, A23791E205B22F21521DF9F4, ); name = "juce_audio_basics"; sourceTree = ""; }; - 4BEC77BC6E7CFADDDF9B8150 = {isa = PBXGroup; children = ( + FE2A7BD2DBBF5455858731DA = {isa = PBXGroup; children = ( + A127A78E54490885EA61239C, + 7E9DE536E504F1EDDF5532C3, + EC97D7ABC489A5E1BD7BAF41, ); name = "audio_cd"; sourceTree = ""; }; + CAF4120F7AF03F2B0CEDF196 = {isa = PBXGroup; children = ( A64B09FC5A333C71F069C890, 0566C8771A3278C82D183A98, 50E3DBC3F2D136A9A59ED1D8, @@ -1090,22 +1080,13 @@ 5C82D0E8AB39B155A987109A, 0EAE4A004CEB66D275142FCA, 3913A6C3147F55D7390405B5, ); name = "audio_io"; sourceTree = ""; }; - E59E95D4515B03C9EA7E9340 = {isa = PBXGroup; children = ( + 84472E4F555D5EF6DC2C67D9 = {isa = PBXGroup; children = ( DC9C7030E63CDD457DE54498, 9E2535830FEEC2462D0A01C0, C8C33E8254DF7A03B953FF91, B19456B2F153DD805FB2F660, 5D17004F2CE0F2DBFDE79EA4, ); name = "midi_io"; sourceTree = ""; }; - DC49ACA858E5F3CF488CE4A0 = {isa = PBXGroup; children = ( - 7F64D580AA191FBC2A74E943, - 8F2FACABB024833B7F932BC5, - 03F0E358E328911FE44415CC, - 666F7A0F487C9974AF12E8A9, ); name = sources; sourceTree = ""; }; - C66C381D76BA1142DA9D14B3 = {isa = PBXGroup; children = ( - A127A78E54490885EA61239C, - 7E9DE536E504F1EDDF5532C3, - EC97D7ABC489A5E1BD7BAF41, ); name = "audio_cd"; sourceTree = ""; }; - 96990D0DA7180EC733377986 = {isa = PBXGroup; children = ( + CD508012D7E439F5FE247F64 = {isa = PBXGroup; children = ( 25F7E2E0BF7DF2E71648BFFE, 51FFA102D25322925C454ACD, EFD1CE8574994B5B6D078FD9, @@ -1125,31 +1106,19 @@ 5614CF8ACD28587D8E9FC249, 2B14736595E3FFC604AFBD7C, 1E206D97A7B91545FE0D27CD, ); name = native; sourceTree = ""; }; + 2C4B5DD8F4B918768433680C = {isa = PBXGroup; children = ( + 7F64D580AA191FBC2A74E943, + 8F2FACABB024833B7F932BC5, + 03F0E358E328911FE44415CC, + 666F7A0F487C9974AF12E8A9, ); name = sources; sourceTree = ""; }; 05C8723D6B99C1C95FA1860E = {isa = PBXGroup; children = ( - 4BEC77BC6E7CFADDDF9B8150, - E59E95D4515B03C9EA7E9340, - DC49ACA858E5F3CF488CE4A0, - C66C381D76BA1142DA9D14B3, - 96990D0DA7180EC733377986, - 9270C4E5EF60DE6108311112, + FE2A7BD2DBBF5455858731DA, + CAF4120F7AF03F2B0CEDF196, + 84472E4F555D5EF6DC2C67D9, + CD508012D7E439F5FE247F64, + 2C4B5DD8F4B918768433680C, B8072A5DFFD892216550F18B, ); name = "juce_audio_devices"; sourceTree = ""; }; - 1554E277DE02E3B888375604 = {isa = PBXGroup; children = ( - 282B495AB94F47BD60C7E62F, - 9002A3D1CD5740D9C50A834C, - 5D2856B19DC13C57D70E42DE, - CD5B4BF3641DA629049AF981, - 72F927799B30E12B01E9C00A, - 5F43B58D079ECA063DEFCD0E, - 60DD038BF3685FF524C3A720, - 101637AD0747ECC48982FDAA, - 8784634AAD6079EF097FD751, - B4B9CE9038C38B848A3DEF42, - AD5D3156CBD517EB3835798A, - 2AA07C55625E1ADD22E9A4D5, - B599D417EDB736AB6D22321A, - 806774C77EBD99266FE68583, - A61EAEE68793E336E6F8BCF7, ); name = format; sourceTree = ""; }; - 8B72B48B4486011378022F46 = {isa = PBXGroup; children = ( + 5FCA8C56F0BE13FDC728F6CC = {isa = PBXGroup; children = ( 382C1DB36E41E2DEB77B11ED, 66E12916E12BBC042F715891, 5484B58D02279CE228079C12, @@ -1168,16 +1137,48 @@ 1172DC1C9E21CAAF0C82687D, 5864A3A4338CCCB6524CE499, F168A7541EBE16D46968C97D, ); name = codecs; sourceTree = ""; }; + CEF799BC3437652CC14A7F31 = {isa = PBXGroup; children = ( + 282B495AB94F47BD60C7E62F, + 9002A3D1CD5740D9C50A834C, + 5D2856B19DC13C57D70E42DE, + CD5B4BF3641DA629049AF981, + 72F927799B30E12B01E9C00A, + 5F43B58D079ECA063DEFCD0E, + 60DD038BF3685FF524C3A720, + 101637AD0747ECC48982FDAA, + 8784634AAD6079EF097FD751, + B4B9CE9038C38B848A3DEF42, + AD5D3156CBD517EB3835798A, + 2AA07C55625E1ADD22E9A4D5, + B599D417EDB736AB6D22321A, + 806774C77EBD99266FE68583, + A61EAEE68793E336E6F8BCF7, ); name = format; sourceTree = ""; }; AD3107F336CFB1ECE81D56C6 = {isa = PBXGroup; children = ( 505B41AE1B6E2B7FF4B0D859, E26BB7E510E3BEE029962DD3, ); name = sampler; sourceTree = ""; }; E645944AAADA77E0BF55B753 = {isa = PBXGroup; children = ( - 1554E277DE02E3B888375604, - 8B72B48B4486011378022F46, + 5FCA8C56F0BE13FDC728F6CC, + CEF799BC3437652CC14A7F31, AD3107F336CFB1ECE81D56C6, - E325C8811CC4773321407E9B, 1ED0FAAEFF9D4A6426E76E89, ); name = "juce_audio_formats"; sourceTree = ""; }; - 7BB74D988E491E6D61D92993 = {isa = PBXGroup; children = ( + FE300569F188EC00203BB722 = {isa = PBXGroup; children = ( + 6E27EBF864367EBA8B44DFA9, + E45C1684DCDBFD3B76F0B209, + DC50301B6C3FDAE98E224E76, + 9671131059C459A1E119535E, ); name = format; sourceTree = ""; }; + 8503E64B39A00D815D69DCF1 = {isa = PBXGroup; children = ( + 3F6BE2A8CAF1C23380D884F5, + 1D153366F6EA459B397CA356, + E44B8F906461AB6AC47B374A, + 914ED3B5EEB409125EADBB2F, + 10D5F9D8D44A252288D19F42, + 7A41A9C37A8BA7EFB6D1F518, + 264B51063F7AA584D23B426E, + 545C5A5F29523968A387FD91, + CE06CB9CD28DE31FA1528DE5, + F906FBF064A716C5EADF5708, + 5B8CE8EC0CEDF800AD5B71E1, ); name = "format_types"; sourceTree = ""; }; + E525C43251E1D1225CB95350 = {isa = PBXGroup; children = ( E8649B16BA011770D16BF051, 0DB078E2523AD3ABE77A95F6, 47C8219AACA73B2EBE302A35, @@ -1194,23 +1195,6 @@ 174350B11E9207B7038E2BFA, A42479D8A3AE579891E8741A, 487F7DFCFB0CF15BDFEBD24E, ); name = processors; sourceTree = ""; }; - 7DFB429912E7CFEEA12BA501 = {isa = PBXGroup; children = ( - 6E27EBF864367EBA8B44DFA9, - E45C1684DCDBFD3B76F0B209, - DC50301B6C3FDAE98E224E76, - 9671131059C459A1E119535E, ); name = format; sourceTree = ""; }; - BCF1810AF6CFAC9FA7F520BA = {isa = PBXGroup; children = ( - 3F6BE2A8CAF1C23380D884F5, - 1D153366F6EA459B397CA356, - E44B8F906461AB6AC47B374A, - 914ED3B5EEB409125EADBB2F, - 10D5F9D8D44A252288D19F42, - 7A41A9C37A8BA7EFB6D1F518, - 264B51063F7AA584D23B426E, - 545C5A5F29523968A387FD91, - CE06CB9CD28DE31FA1528DE5, - F906FBF064A716C5EADF5708, - 5B8CE8EC0CEDF800AD5B71E1, ); name = "format_types"; sourceTree = ""; }; 355D27971E753065A8756A77 = {isa = PBXGroup; children = ( 9411003BA4D471F2C95269ED, 4AA0B96439AA013BFDFED0FF, @@ -1228,12 +1212,11 @@ 5ED809701F235D958635DACA, 877FC50B817B57928FD4395C, ); name = utilities; sourceTree = ""; }; 5102C5BFB76FB218BB512EC7 = {isa = PBXGroup; children = ( - 7BB74D988E491E6D61D92993, - 7DFB429912E7CFEEA12BA501, - BCF1810AF6CFAC9FA7F520BA, + FE300569F188EC00203BB722, + 8503E64B39A00D815D69DCF1, + E525C43251E1D1225CB95350, 355D27971E753065A8756A77, CF3502266720B326C5ED5310, - 9905205B6EDA5FAFA31EA03F, A94C6EB19B9BF24D83054D60, ); name = "juce_audio_processors"; sourceTree = ""; }; 3622CFF351CF31035D444625 = {isa = PBXGroup; children = ( 26DDCC5B563483D67D645398, @@ -1250,73 +1233,21 @@ DDD307F9E18E442E43786B0E, BE6C77497C8F42747F797BBD, 181C1A360C01EFF44A3BB18A, ); name = gui; sourceTree = ""; }; - 56DDB21277B7847412918A37 = {isa = PBXGroup; children = ( - E75749124D1F2FD391C01787, - 97188A2D8CC4C0DACC6A4D2F, ); name = players; sourceTree = ""; }; - D8843096A672D4F2E84BA70B = {isa = PBXGroup; children = ( + A84F97B4063842C7891EE593 = {isa = PBXGroup; children = ( E78FFEA6B1BE4AD1EE43C60D, 7B0648C17B0C62706424B080, 7F23EFF727A93D53C8654687, B0DD6412314A0666002F9CB5, 1B9BCCBA7BA4D87454EC8710, ); name = native; sourceTree = ""; }; + A14FD89A2624B173921CBEEE = {isa = PBXGroup; children = ( + E75749124D1F2FD391C01787, + 97188A2D8CC4C0DACC6A4D2F, ); name = players; sourceTree = ""; }; 738E94C7871EC777AE05CA28 = {isa = PBXGroup; children = ( 3622CFF351CF31035D444625, - 56DDB21277B7847412918A37, - D8843096A672D4F2E84BA70B, - 6894C4ABEF5203014A0B665F, + A84F97B4063842C7891EE593, + A14FD89A2624B173921CBEEE, 0C573FF1309CE106DA2D2CF9, ); name = "juce_audio_utils"; sourceTree = ""; }; - 24F1C7CE0BA8B996E80B5383 = {isa = PBXGroup; children = ( - 23F3CBC829C0363C6C760957, - F70EF841DE659606631FBD20, - 0DBCEADB9A04439E66BE176E, - 0B37C06B070C6F069F23A812, - 2931409E5426C745CB3B6EE6, - 579117EBA45C1878DC55FF65, - 999ECAD45309F13369547FDB, - 210B445861AC2BD744D97F6D, - DE66F892ACF4DCAE897F3BE4, - C041D609CA330DE35D88B7EE, - 6BB634F1841C4BCE4775FF8D, - 9AFB00C8011E7902EF67789C, - 7CDAE6FBB85B787E8FA15B0C, - E8B02F47799FC984D3FE1083, - 0679221D71CD972EE07343B5, - 482D7E87F00C2888C2B8FC9E, - 74E60A8C1056FF1D64053A62, - 01641AA0EEDDC5059FC28EF9, - 8EE86B89C69AD4D9A802526D, - EAED7C0A5FFE6D29DD0A0D9A, - E27E9AF73E442C75C0091F8D, - A073692401C6D5C86D77E53C, - 0F98FB16D69403E94F1BB9C7, - B3D45312AB6F986CB3B4051C, ); name = text; sourceTree = ""; }; - C6B0A793A79BB7918A5A2337 = {isa = PBXGroup; children = ( - 1C99350395AE046857697B14, - 6B23639B2FD8C8FCFC241070, - C3538736DEAAF93829AB60A0, - 08CCA1B6C1824CE73281A769, - AC61701F361E5327D6BEEEDD, - 30D2B2F180671715D1CFAD5E, - EA8A250986871A036D42DB94, - 4E451FB3A0D657682324CEED, - 52058B3A331BFA856932EEED, - 20802D1854C7E66EBFCF2992, ); name = maths; sourceTree = ""; }; - 167969AC10CCB46C3FB57BD8 = {isa = PBXGroup; children = ( - FF7509FDC5B23104C7AF1665, - 42DA53757E1591ED0395C94E, - 4BE9A59D703E4CA4661252C1, - 9C20682A5F49B7BD2CEC3E2B, - 3601DA62C81D9C4FEB9CAA23, - 042DAFB982DBCB0940DAC979, - 81E803F2EB73BF09CB0CF2DE, - B6B133F816AD44FBFFBF8146, - AB6D9BF527527D3143CAC2A2, - B785E11D273E197A78C90597, - FF796B6850F1EE2F18668D06, - 6DAF8D36A60A6F606DCDBADB, - D05C8EB1FF06FB0A06C39518, - 3957E1F6F24F89D6DCB8829E, ); name = memory; sourceTree = ""; }; - 7A48C4CD434CC8B40E417307 = {isa = PBXGroup; children = ( + 3E88FA6BBB7307BDB4546665 = {isa = PBXGroup; children = ( 15D277FFB993448CDB52E307, 10F958EF56CFB17EA747F3B9, 8EF093827B72F444E74F5682, @@ -1338,37 +1269,7 @@ 51D8A242315E93AECE0D1B0E, BE65BDFEC645F36487A68F71, DA768EEF9A95E554F7903B60, ); name = containers; sourceTree = ""; }; - E2522538E4E168520D3AE9E6 = {isa = PBXGroup; children = ( - 11561CA1FD46FA08C2EF0C9E, - 3020CB57085A70221FC0042D, - 9DCB9FE79EDD770E0EC8A370, - B3B317778509714561A5E52F, - EB267F3D6CA06EDB2EB92BBE, - 6F3E59877038096FDA5B28DE, - 1ADD2315C0E364D635A88C2D, - 862A547990420303EBE1C849, - B8D70BA0254864A54E587B21, - B2A4F9CD6F95FB4EECC2FB10, - 55037EF642A280DAC85CE34D, - EE8916C220D09A855BDCB95C, - 6256BA6104CE254172D02804, - 306D2FC4CE156DB61D67C0E0, - B8D0006C486909BB51D8D818, - 64223866AD9D3D69464C198B, - 8AAEBEE37A67A5D01EBA6BB7, - 8FC33441590BA03C2EB5CD63, - C9EF40785DAD416946D6AAE1, - A54E763170141C2FC3BBD197, - 9DF463C5E206ADC98851C78A, - 16A3BFE2C5679BDD49A4F424, ); name = threads; sourceTree = ""; }; - 5287498162903ADA659A8E12 = {isa = PBXGroup; children = ( - BED621A030C4C37B2326EE4A, - 34CAFBB1E014F17C6111C716, - D4C5D7EE1A40AD018E5E6F02, - 724D1A80CA91E8ADB78287BE, - 32E5AD1B0A329492EDB0D49C, - 9D29AC99CA678DE27CAAAE31, ); name = time; sourceTree = ""; }; - 12BF6A615E82605F03493444 = {isa = PBXGroup; children = ( + 4259FE6E61733A28141C3DB5 = {isa = PBXGroup; children = ( 890BD2A64C7C25201E20C02F, 8E32705B99BB15E3586C067C, 4C816FF16C50AA5C87C8F7D3, @@ -1386,66 +1287,43 @@ 74D4B2EEC36940893BF7AC25, 09802FE2689EB8288E554B4B, 08EF9C1A184B049FA45DF95F, ); name = files; sourceTree = ""; }; - 5EFEFD2A4E3AAB61D642FFE8 = {isa = PBXGroup; children = ( - 621893AE2A99F8D4331194AD, - DC4E35EEAF01C08CFC4A4CAC, - 95139F961E2C7FB6421D04A5, - A6AC587CC82C4689D4C0D90E, - 4B2D5FBEF56C3D584E65D9AD, - 04609F32D6A859ED385DCBE6, - B4E70AE3447587BABF51A076, - 2AAA2414F61ABBBF1C571901, - 8FD227DE98DB156FBBC8DD1D, - 90348A625874E8DD3DCBF583, ); name = network; sourceTree = ""; }; - 72CEB8F82E75A1CFB00029A5 = {isa = PBXGroup; children = ( - E4546F8D14174EB8C05A47C3, - BAE421BF414A8713DC446E10, - E428D9BEA0B66A12448F3649, - F4825162600591FAF2F1F79E, - 60DC6B904E0A0ED7D5BACBD3, - 30B528362C388E5B51DF91D6, - D1CA4E7E20D80D0AC1614F98, - 357FB6126252FB4FC7551A59, - B594FC49609DB3E2CF3DCB0C, - C26C5CA5E6514CF7457B1ACB, - DE42EED0A04BB9F90D623BAF, - C0C7CB3229B2E54FFB785CA6, - 2253863C60C8AAB3DBA4B5F1, - 861F5C579BDAA33718FFE9CA, - FCFEAB9C67D9B7FB03AB51BD, ); name = streams; sourceTree = ""; }; - 1CE1CE477EC30641FD179C4A = {isa = PBXGroup; children = ( - 7E79FB8A1C88684D9961874F, - 2ACEBF748334BD2B0CBAE26E, - CC04871FDDC918BBD27FBA04, - B32E8849197AC0716AF288A3, ); name = logging; sourceTree = ""; }; - 2D1E53D6474EF042D74F7EB1 = {isa = PBXGroup; children = ( - 0F26080D0E46879414836AE2, - 01A0FE7CE574B63A82297143, - F13FB76427772F29EAD88728, - C41176B7A1D16BC5C67A5727, - 5DC79394D56549821815B376, - 2A10DFB3A22E8AABF4763F68, ); name = system; sourceTree = ""; }; - B639BECD83CD833126B067A3 = {isa = PBXGroup; children = ( - 50385CBC88D67EF57CBAF9F6, - D0E00FC62C3DA68962100AD6, - A8F0A5C9A372D5C57033B581, - D65C8F172D8C1FD532B67348, ); name = xml; sourceTree = ""; }; - AD49AC0FCF415EB54E2E0633 = {isa = PBXGroup; children = ( + 4F984803615AFEF01CA381E7 = {isa = PBXGroup; children = ( 43BE50DA24ABCAF9183FC535, F6943E7562D614D4D2F687E4, E74B5E2C22C81CA99C9CB473, B37C746F12C8413EA4DF8157, ); name = javascript; sourceTree = ""; }; - 3337230947C52C4E45CDDA71 = {isa = PBXGroup; children = ( - 777AA662407B7A91748C92A8, - FC4F3DA26D3500959DF7662A, - 1EE2B1FB37648506A369D269, - 8F9E95F991B215FFDD3F8E9B, - 10E1C3C331DF35D35508268B, - AABBDC405E85A02000A3991B, ); name = zip; sourceTree = ""; }; - 1008A5ADA2C02169D7BD422F = {isa = PBXGroup; children = ( - C938DCCA334DE363B27C1E65, - F163668D4C2343C282574A78, ); name = "unit_tests"; sourceTree = ""; }; - 2D72BF9EB6B50E02583A57E9 = {isa = PBXGroup; children = ( + D67328CFFC537A335859C29D = {isa = PBXGroup; children = ( + 7E79FB8A1C88684D9961874F, + 2ACEBF748334BD2B0CBAE26E, + CC04871FDDC918BBD27FBA04, + B32E8849197AC0716AF288A3, ); name = logging; sourceTree = ""; }; + 8B868B1DC66B91A6AE704940 = {isa = PBXGroup; children = ( + 1C99350395AE046857697B14, + 6B23639B2FD8C8FCFC241070, + C3538736DEAAF93829AB60A0, + 08CCA1B6C1824CE73281A769, + AC61701F361E5327D6BEEEDD, + 30D2B2F180671715D1CFAD5E, + EA8A250986871A036D42DB94, + 4E451FB3A0D657682324CEED, + 52058B3A331BFA856932EEED, + 20802D1854C7E66EBFCF2992, ); name = maths; sourceTree = ""; }; + CE6E404C245754A7B798C047 = {isa = PBXGroup; children = ( + FF7509FDC5B23104C7AF1665, + 42DA53757E1591ED0395C94E, + 4BE9A59D703E4CA4661252C1, + 9C20682A5F49B7BD2CEC3E2B, + 3601DA62C81D9C4FEB9CAA23, + 042DAFB982DBCB0940DAC979, + 81E803F2EB73BF09CB0CF2DE, + B6B133F816AD44FBFFBF8146, + AB6D9BF527527D3143CAC2A2, + B785E11D273E197A78C90597, + FF796B6850F1EE2F18668D06, + 6DAF8D36A60A6F606DCDBADB, + D05C8EB1FF06FB0A06C39518, + 3957E1F6F24F89D6DCB8829E, ); name = memory; sourceTree = ""; }; + 96537848E056768FEA73DD3F = {isa = PBXGroup; children = ( 9CAA1BFBE6B44233E6F1247E, 3481CFA2138FAF27F8514E06, F18B23CFD55FD0C26C21B539, @@ -1453,7 +1331,7 @@ BCDFDFFF924A8FDF40B82990, 837FC46135954E8144A996FD, 3F02521692ADDB7FFD0453AE, ); name = misc; sourceTree = ""; }; - C4BEFC49CBCE656D666CCC90 = {isa = PBXGroup; children = ( + 9D285913EB2E428AD35A173B = {isa = PBXGroup; children = ( AC2F6510662AD5D52E367FB8, 174E22634C4ADC7062948B9D, 8680FB438DEC3B3994B6CB9D, @@ -1483,25 +1361,128 @@ 54358D8A9A8DE6AF4F781E8B, 489FD44544F03774CBFA04E5, B8D9A7FDB054852EF59BF4AE, ); name = native; sourceTree = ""; }; + DBFA2DC65F153A012CFBA942 = {isa = PBXGroup; children = ( + 621893AE2A99F8D4331194AD, + DC4E35EEAF01C08CFC4A4CAC, + 95139F961E2C7FB6421D04A5, + A6AC587CC82C4689D4C0D90E, + 4B2D5FBEF56C3D584E65D9AD, + 04609F32D6A859ED385DCBE6, + B4E70AE3447587BABF51A076, + 2AAA2414F61ABBBF1C571901, + 8FD227DE98DB156FBBC8DD1D, + 90348A625874E8DD3DCBF583, ); name = network; sourceTree = ""; }; + 87474B9FD5EC93E50440C823 = {isa = PBXGroup; children = ( + E4546F8D14174EB8C05A47C3, + BAE421BF414A8713DC446E10, + E428D9BEA0B66A12448F3649, + F4825162600591FAF2F1F79E, + 60DC6B904E0A0ED7D5BACBD3, + 30B528362C388E5B51DF91D6, + D1CA4E7E20D80D0AC1614F98, + 357FB6126252FB4FC7551A59, + B594FC49609DB3E2CF3DCB0C, + C26C5CA5E6514CF7457B1ACB, + DE42EED0A04BB9F90D623BAF, + C0C7CB3229B2E54FFB785CA6, + 2253863C60C8AAB3DBA4B5F1, + 861F5C579BDAA33718FFE9CA, + FCFEAB9C67D9B7FB03AB51BD, ); name = streams; sourceTree = ""; }; + 2D1E53D6474EF042D74F7EB1 = {isa = PBXGroup; children = ( + 0F26080D0E46879414836AE2, + 01A0FE7CE574B63A82297143, + F13FB76427772F29EAD88728, + C41176B7A1D16BC5C67A5727, + 5DC79394D56549821815B376, + 2A10DFB3A22E8AABF4763F68, ); name = system; sourceTree = ""; }; + 64E59548E4DA43EF2DAD7D99 = {isa = PBXGroup; children = ( + 23F3CBC829C0363C6C760957, + F70EF841DE659606631FBD20, + 0DBCEADB9A04439E66BE176E, + 0B37C06B070C6F069F23A812, + 2931409E5426C745CB3B6EE6, + 579117EBA45C1878DC55FF65, + 999ECAD45309F13369547FDB, + 210B445861AC2BD744D97F6D, + DE66F892ACF4DCAE897F3BE4, + C041D609CA330DE35D88B7EE, + 6BB634F1841C4BCE4775FF8D, + 9AFB00C8011E7902EF67789C, + 7CDAE6FBB85B787E8FA15B0C, + E8B02F47799FC984D3FE1083, + 0679221D71CD972EE07343B5, + 482D7E87F00C2888C2B8FC9E, + 74E60A8C1056FF1D64053A62, + 01641AA0EEDDC5059FC28EF9, + 8EE86B89C69AD4D9A802526D, + EAED7C0A5FFE6D29DD0A0D9A, + E27E9AF73E442C75C0091F8D, + A073692401C6D5C86D77E53C, + 0F98FB16D69403E94F1BB9C7, + B3D45312AB6F986CB3B4051C, ); name = text; sourceTree = ""; }; + 4880536EC477C63956063CCF = {isa = PBXGroup; children = ( + 11561CA1FD46FA08C2EF0C9E, + 3020CB57085A70221FC0042D, + 9DCB9FE79EDD770E0EC8A370, + B3B317778509714561A5E52F, + EB267F3D6CA06EDB2EB92BBE, + 6F3E59877038096FDA5B28DE, + 1ADD2315C0E364D635A88C2D, + 862A547990420303EBE1C849, + B8D70BA0254864A54E587B21, + B2A4F9CD6F95FB4EECC2FB10, + 55037EF642A280DAC85CE34D, + EE8916C220D09A855BDCB95C, + 6256BA6104CE254172D02804, + 306D2FC4CE156DB61D67C0E0, + B8D0006C486909BB51D8D818, + 64223866AD9D3D69464C198B, + 8AAEBEE37A67A5D01EBA6BB7, + 8FC33441590BA03C2EB5CD63, + C9EF40785DAD416946D6AAE1, + A54E763170141C2FC3BBD197, + 9DF463C5E206ADC98851C78A, + 16A3BFE2C5679BDD49A4F424, ); name = threads; sourceTree = ""; }; + CD1005615E4677435D98EF24 = {isa = PBXGroup; children = ( + BED621A030C4C37B2326EE4A, + 34CAFBB1E014F17C6111C716, + D4C5D7EE1A40AD018E5E6F02, + 724D1A80CA91E8ADB78287BE, + 32E5AD1B0A329492EDB0D49C, + 9D29AC99CA678DE27CAAAE31, ); name = time; sourceTree = ""; }; + 1008A5ADA2C02169D7BD422F = {isa = PBXGroup; children = ( + C938DCCA334DE363B27C1E65, + F163668D4C2343C282574A78, ); name = "unit_tests"; sourceTree = ""; }; + D3627EF054BD0A0BA8D78125 = {isa = PBXGroup; children = ( + 50385CBC88D67EF57CBAF9F6, + D0E00FC62C3DA68962100AD6, + A8F0A5C9A372D5C57033B581, + D65C8F172D8C1FD532B67348, ); name = xml; sourceTree = ""; }; + 6C3CF67CABCBEF3047DC25FC = {isa = PBXGroup; children = ( + 777AA662407B7A91748C92A8, + FC4F3DA26D3500959DF7662A, + 1EE2B1FB37648506A369D269, + 8F9E95F991B215FFDD3F8E9B, + 10E1C3C331DF35D35508268B, + AABBDC405E85A02000A3991B, ); name = zip; sourceTree = ""; }; F7B521C7EB8A7EFC4DE2AD31 = {isa = PBXGroup; children = ( - 24F1C7CE0BA8B996E80B5383, - C6B0A793A79BB7918A5A2337, - 167969AC10CCB46C3FB57BD8, - 7A48C4CD434CC8B40E417307, - E2522538E4E168520D3AE9E6, - 5287498162903ADA659A8E12, - 12BF6A615E82605F03493444, - 5EFEFD2A4E3AAB61D642FFE8, - 72CEB8F82E75A1CFB00029A5, - 1CE1CE477EC30641FD179C4A, + 3E88FA6BBB7307BDB4546665, + 4259FE6E61733A28141C3DB5, + 4F984803615AFEF01CA381E7, + D67328CFFC537A335859C29D, + 8B868B1DC66B91A6AE704940, + CE6E404C245754A7B798C047, + 96537848E056768FEA73DD3F, + 9D285913EB2E428AD35A173B, + DBFA2DC65F153A012CFBA942, + 87474B9FD5EC93E50440C823, 2D1E53D6474EF042D74F7EB1, - B639BECD83CD833126B067A3, - AD49AC0FCF415EB54E2E0633, - 3337230947C52C4E45CDDA71, + 64E59548E4DA43EF2DAD7D99, + 4880536EC477C63956063CCF, + CD1005615E4677435D98EF24, 1008A5ADA2C02169D7BD422F, - 2D72BF9EB6B50E02583A57E9, - C4BEFC49CBCE656D666CCC90, - EF43908046753F20507CC3B0, + D3627EF054BD0A0BA8D78125, + 6C3CF67CABCBEF3047DC25FC, 5AAF6FD01A8ACE63E3FAEA56, ); name = "juce_core"; sourceTree = ""; }; 83E7F8F4C0F653DE37DD0D26 = {isa = PBXGroup; children = ( C7373F24FD2E886C50CB3903, @@ -1520,31 +1501,45 @@ 7C749B953A62BB34443CEA51 = {isa = PBXGroup; children = ( 83E7F8F4C0F653DE37DD0D26, 07E8C0ED0D5A016CCB79D6E7, - 23EC7FFD41859C9725D21B16, 53AB900649E4156D953DB1CA, ); name = "juce_cryptography"; sourceTree = ""; }; - 0C891309AA75AF8EAD3F2410 = {isa = PBXGroup; children = ( + B571D0335B8C8F01A9CEFEEA = {isa = PBXGroup; children = ( + 4F742E04B5AD194395A593C0, + 8DFA74E13F6E40A5B1C09C11, + D9FC957CB510399786D69D8D, + BDFEE2E6B40F3E47E3B16D38, ); name = "app_properties"; sourceTree = ""; }; + DB9E03F1DD7B48E3C0F38481 = {isa = PBXGroup; children = ( + 7C4111F98C8023097C14C138, + 60D9E4052C3FFFA026BB35C6, + D7F183070EDA8D6D7659BDA1, ); name = undomanager; sourceTree = ""; }; + 4EE55C06F92D4E1D6C7CBC88 = {isa = PBXGroup; children = ( 1140A39FF348973EE6F372CB, F39E719901F12B16AD7D600C, BB3265EFC32ADB68A59A90CF, 991A179EF480F6B3049D0CE2, 4D3007B3F8AECBDB658F7259, 82B25B30D756F75BDFDBBCD0, ); name = values; sourceTree = ""; }; - DB9E03F1DD7B48E3C0F38481 = {isa = PBXGroup; children = ( - 7C4111F98C8023097C14C138, - 60D9E4052C3FFFA026BB35C6, - D7F183070EDA8D6D7659BDA1, ); name = undomanager; sourceTree = ""; }; - 168252DC2B6D85C5D9B3C71D = {isa = PBXGroup; children = ( - 4F742E04B5AD194395A593C0, - 8DFA74E13F6E40A5B1C09C11, - D9FC957CB510399786D69D8D, - BDFEE2E6B40F3E47E3B16D38, ); name = "app_properties"; sourceTree = ""; }; FF81165C6DC0BE3D7DDDDB3C = {isa = PBXGroup; children = ( - 0C891309AA75AF8EAD3F2410, + B571D0335B8C8F01A9CEFEEA, DB9E03F1DD7B48E3C0F38481, - 168252DC2B6D85C5D9B3C71D, - DC76782D8BA40A4CA365C279, + 4EE55C06F92D4E1D6C7CBC88, AC98912B3226C0D29B0C8861, ); name = "juce_data_structures"; sourceTree = ""; }; - 21928033EBAEE82B66D3F9F4 = {isa = PBXGroup; children = ( + D2F6AFEB9AA55BE367590015 = {isa = PBXGroup; children = ( + 4E1C2B9C5692A96700C1A898, + 9F49BF4440F09115117F9615, + 5A26430C3B39E428B483F11D, + D88DBC78062ECA21D18C1D7C, + 3DD9BA50041192D1F28D87CC, + F57531462BB169A5F0224ADE, + C536B42EF0D28435B6410AC9, + 80D63910D7196D7DF849A239, ); name = broadcasters; sourceTree = ""; }; + 454743972062A85E92BCCC8A = {isa = PBXGroup; children = ( + 1F52A06FB3A565B54144FD8A, + 333E5AB794D5FC5A798A285C, + F540CB77351EAEFC2B3D05CA, + 208B3803558F7BECB0A0AA42, + 6821655BB8883B9A421666C3, + 1F999582FEA88311EC2EBF27, ); name = interprocess; sourceTree = ""; }; + 54F8D5BFEC9FBD89B3F13258 = {isa = PBXGroup; children = ( E526AF80946C3F077C1C63C6, 09532D678D2C41FEFACA71F3, DCE64BC49FFC96654D30AD87, @@ -1558,28 +1553,7 @@ EF337D9B43E0569DE3E48279, 5016A40C1850BBD55197D30E, 1AB81EC2CA06F18202F3049B, ); name = messages; sourceTree = ""; }; - BD202CDEBCAA90F124416FB7 = {isa = PBXGroup; children = ( - E540A462EBB080CF14B31764, - 9EEF2A75EDD5E8023F9AD6B0, - EE6895EE5020998469F17433, - C6CCDF5390C72C6C37F3446D, ); name = timers; sourceTree = ""; }; - 42068D6B4354DC77F34701E0 = {isa = PBXGroup; children = ( - 4E1C2B9C5692A96700C1A898, - 9F49BF4440F09115117F9615, - 5A26430C3B39E428B483F11D, - D88DBC78062ECA21D18C1D7C, - 3DD9BA50041192D1F28D87CC, - F57531462BB169A5F0224ADE, - C536B42EF0D28435B6410AC9, - 80D63910D7196D7DF849A239, ); name = broadcasters; sourceTree = ""; }; - 443BF89F57F585ED86F2ADA5 = {isa = PBXGroup; children = ( - 1F52A06FB3A565B54144FD8A, - 333E5AB794D5FC5A798A285C, - F540CB77351EAEFC2B3D05CA, - 208B3803558F7BECB0A0AA42, - 6821655BB8883B9A421666C3, - 1F999582FEA88311EC2EBF27, ); name = interprocess; sourceTree = ""; }; - 20360E9243409D2FA6F5E8B0 = {isa = PBXGroup; children = ( + 133942303ADEBA9443090E51 = {isa = PBXGroup; children = ( B576434956BD89F0B571B6C4, BB9242FB689B4DAEDF1963BE, AB26977EA68E27838B54A8E4, @@ -1588,13 +1562,17 @@ 001CA7EAF68DA335025FF01E, CB3DD188BB8AAB1931436CD4, DFC37DEA417DA0FC812FDAC2, ); name = native; sourceTree = ""; }; + F1FFEB45C855ED1D898DFB10 = {isa = PBXGroup; children = ( + E540A462EBB080CF14B31764, + 9EEF2A75EDD5E8023F9AD6B0, + EE6895EE5020998469F17433, + C6CCDF5390C72C6C37F3446D, ); name = timers; sourceTree = ""; }; 194518F009569975413BBA1F = {isa = PBXGroup; children = ( - 21928033EBAEE82B66D3F9F4, - BD202CDEBCAA90F124416FB7, - 42068D6B4354DC77F34701E0, - 443BF89F57F585ED86F2ADA5, - 20360E9243409D2FA6F5E8B0, - D697C54442250F5A720D2CBF, + D2F6AFEB9AA55BE367590015, + 454743972062A85E92BCCC8A, + 54F8D5BFEC9FBD89B3F13258, + 133942303ADEBA9443090E51, + F1FFEB45C855ED1D898DFB10, 3BAA4C5AFD5E6AE8B7447E17, ); name = "juce_events"; sourceTree = ""; }; DE5FE5E5C0261E389C091E12 = {isa = PBXGroup; children = ( 61F74754A7B5F0BD930A51DD, @@ -1614,19 +1592,25 @@ BBE01A9C5FD8C0656AEA9D3C, AE6120B318B44C69CEDA6321, A198E2290B15C62F68D21050, ); name = contexts; sourceTree = ""; }; - 0CFBDBCAC210067B8B49D659 = {isa = PBXGroup; children = ( - 965402AAAAF0A0D920DC7C36, - A55309C54076A01EA57315CE, - 5A2B63BC2433F17DB96CC411, - 3320CAFB079DBFED7E79D33E, - 276FBDD27027CDB3CDE7A1C3, - 21530C9C69B792CA80BE9398, - 3B92F7E81BAB71A0460668E6, - EA65F835FDB1DB86406C9471, ); name = images; sourceTree = ""; }; - 18A16F44D68A4E1E3545E4B8 = {isa = PBXGroup; children = ( - 39E116DC12FD26E3DB3F4DFA, - 8C2A93223809C1EFD6D7C404, - 9D05F58F8CE58D9D6952BF1D, ); name = "image_formats"; sourceTree = ""; }; + 54DC6101CF7C15EF6FB319B1 = {isa = PBXGroup; children = ( + 000EA162E25BC873954A9E48, + E41A33EB67E7E190A88A3AD3, + B1FD722E367F8B48B2C8F658, + 24711D9742CB31F36F71A36E, + 85D61362BF185DA51B00E00E, ); name = effects; sourceTree = ""; }; + A625E1CAB83679B5120F0B10 = {isa = PBXGroup; children = ( + 5B59DE0C6545CCC3FA26750E, + 99FC512DFBE57AAC3894FC20, + 98C797055FB6A630BD2AF26B, + D34F5512C192C172CCC479F7, + 98FE786D6DCAA1F39D0428E4, + D5313BED337DBBC9A1F7D9CB, + 82A654CA5A700A19A9A673BC, + 9BB341CFFB496948D5E9A16E, + 2FAFDCAFBC5054B61699B4F0, + CF6BAD445F116D03D5AC2E69, + 944B844043D0815614FD4CFD, + 8AADBD01ED8B177F160939D3, ); name = fonts; sourceTree = ""; }; 9F785FD816CB0B5C3B2C3113 = {isa = PBXGroup; children = ( 1296A96AEE50FD66957B71C1, CF1F536ECAA15F7AF8B20746, @@ -1643,30 +1627,20 @@ 2D4E5BBC19F41BB8512E5E03, 6EA97857D017530AE58ECA66, 672780D824A4CAD951DBB29B, ); name = geometry; sourceTree = ""; }; - 7A3AD3D13991794B6B51DD9A = {isa = PBXGroup; children = ( - B18369F3EF227348BAECC29F, - F3472E21D095DB91ADE8D714, - C56022F99B8FB808D00CE6D7, ); name = placement; sourceTree = ""; }; - 4A6A14045BB393F2E063EDDF = {isa = PBXGroup; children = ( - 5B59DE0C6545CCC3FA26750E, - 99FC512DFBE57AAC3894FC20, - 98C797055FB6A630BD2AF26B, - D34F5512C192C172CCC479F7, - 98FE786D6DCAA1F39D0428E4, - D5313BED337DBBC9A1F7D9CB, - 82A654CA5A700A19A9A673BC, - 9BB341CFFB496948D5E9A16E, - 2FAFDCAFBC5054B61699B4F0, - CF6BAD445F116D03D5AC2E69, - 944B844043D0815614FD4CFD, - 8AADBD01ED8B177F160939D3, ); name = fonts; sourceTree = ""; }; - 7AE62EF9190681EC903809C5 = {isa = PBXGroup; children = ( - 000EA162E25BC873954A9E48, - E41A33EB67E7E190A88A3AD3, - B1FD722E367F8B48B2C8F658, - 24711D9742CB31F36F71A36E, - 85D61362BF185DA51B00E00E, ); name = effects; sourceTree = ""; }; - 9D5DD150F3EAB90686880331 = {isa = PBXGroup; children = ( + 16E178138AD12602815F6005 = {isa = PBXGroup; children = ( + 39E116DC12FD26E3DB3F4DFA, + 8C2A93223809C1EFD6D7C404, + 9D05F58F8CE58D9D6952BF1D, ); name = "image_formats"; sourceTree = ""; }; + A9634FF7347ABFE165D94BC5 = {isa = PBXGroup; children = ( + 965402AAAAF0A0D920DC7C36, + A55309C54076A01EA57315CE, + 5A2B63BC2433F17DB96CC411, + 3320CAFB079DBFED7E79D33E, + 276FBDD27027CDB3CDE7A1C3, + 21530C9C69B792CA80BE9398, + 3B92F7E81BAB71A0460668E6, + EA65F835FDB1DB86406C9471, ); name = images; sourceTree = ""; }; + 91111B082348A9DE28FB8778 = {isa = PBXGroup; children = ( B97A4BE39BF95F50E67A4683, A1AF1E8ADB16AE21785390F5, DCA560DA0C66BB6D6EA92500, @@ -1680,19 +1654,54 @@ AE358D496192BAED93263F83, 758A85BA2A15681252AAC852, A6AFC4953E324CC5163256E6, ); name = native; sourceTree = ""; }; + 0C8363E82A0109D09920F871 = {isa = PBXGroup; children = ( + B18369F3EF227348BAECC29F, + F3472E21D095DB91ADE8D714, + C56022F99B8FB808D00CE6D7, ); name = placement; sourceTree = ""; }; 02D2BF1071BA036B1046217F = {isa = PBXGroup; children = ( DE5FE5E5C0261E389C091E12, 312F6818F7C175E16EFA49E6, - 0CFBDBCAC210067B8B49D659, - 18A16F44D68A4E1E3545E4B8, + 54DC6101CF7C15EF6FB319B1, + A625E1CAB83679B5120F0B10, 9F785FD816CB0B5C3B2C3113, - 7A3AD3D13991794B6B51DD9A, - 4A6A14045BB393F2E063EDDF, - 7AE62EF9190681EC903809C5, - 9D5DD150F3EAB90686880331, - 5794F3D9DC292B1603244735, + 16E178138AD12602815F6005, + A9634FF7347ABFE165D94BC5, + 91111B082348A9DE28FB8778, + 0C8363E82A0109D09920F871, 0CFDFC8B0EE4F67F3140A95E, ); name = "juce_graphics"; sourceTree = ""; }; - DE106FCD14E351677236CC4A = {isa = PBXGroup; children = ( + D4088159B90D7FB4EC40CF24 = {isa = PBXGroup; children = ( + 5BDA528B96063067AFD59CBB, + 0833B2844B74E56A7F375B99, ); name = application; sourceTree = ""; }; + 1C4E717E24B04BAB072097A2 = {isa = PBXGroup; children = ( + 3CFD6B00875759345575ECFD, + 03C5EFBEA606B1857E2E7E70, + ECD46DBA26680A8F86569C2E, + 35E9781C54B1729BDD73DEC9, + 61F3AAB84249F782A56E88A2, + 3121B99F19132789145FDF58, + F765D762D0012A1607F5622A, + 13A6B8661E1D605FCD86F1E0, + 82CF205CD196BF77B68EA75A, + 8AF3D4A8845EBB742E3F521C, + 096F493E855364B082CA966C, + 3153401B1C69B651D2AD37E5, + 5C9AF08626A44F2AF6783A53, + 1AC73EEBD03A5926652CB682, + 22A9BA274F3AD6FAF4331D11, + 5DBA889C8116242666F3C93B, + 63DB40AFD30CEFB03779AB79, + 665FF99D0D1BF3755FE7B803, ); name = buttons; sourceTree = ""; }; + 666DF2B2F0DCA026714B89DA = {isa = PBXGroup; children = ( + CD3D15787DE0633AF0F41D14, + 14B4A539EBA209BC22B91F76, + A9FE7AE10A02329F18BAF8BB, + 11FC5BF4D4CE5451BA651132, + 0DD52BE61E4DCA9575F5649F, + A4A507E78D1082DF5EDA723E, + 5127ACB1400962FB70BF6D07, + 53F664A2A3FE1983E183A431, + 1A25D684574EDD045683D4E8, ); name = commands; sourceTree = ""; }; + D26CB32508DFA94C2FB8BDDE = {isa = PBXGroup; children = ( 2DAF843B2C0DA27E8741E080, FD362E3DD7D0ED06015A52CB, 94363B04A83DFC9C02B023DE, @@ -1702,28 +1711,46 @@ 429925ABEF514DEDE33BF925, D2C6697A783580EE58B2C5EF, 91B931E774E4401630F74EE7, ); name = components; sourceTree = ""; }; - EAFD1F880E6790F3DFC2A32E = {isa = PBXGroup; children = ( - 5A99F85A02CACE2773FAF4AA, - FC4E3F4086054CB8E200F393, - 1197F204437B7E10650C45C9, - B2C692D20C6190AC831ED780, - 3F0618824A11684059926E73, - 13E0FBE11F1B5028F51D4A83, - 592C559B3CB1579907BC6452, - 9B88C701BE205AEB33ACC5FB, - BE92FB177CE8690F02DDCDCA, - 32053E605C421DA9F9C406BA, - 6F9461C9816AF7B764F73FC9, - E0069A75C60B6ECB8E8CBFDD, - 6BA526E7009CAA47F22B2FC3, - 883F407DDE5464DEC7ED1634, - 561DC7B5329A4719A85FB37E, - B7FC671CAA2FB61FA45FF25D, - 1199999650BF539117869187, - FCA5F5B553B92A4A49C3F1EF, - 6C42AAE33B1F86E496AA352C, - C00042157AE4788F1B7DD087, ); name = mouse; sourceTree = ""; }; - 2AA0EAA4D18373DEBC82DAF8 = {isa = PBXGroup; children = ( + 12269422D30EB1DFD95C69CB = {isa = PBXGroup; children = ( + 4E8939ACD0CB224ABD3B3C00, + 57C8BBE1EFA839C458DEF2F6, + 9817FEEE6C1D99BCE7DB2395, + D15B6AC0F49F8BAAAF71FDF6, + 40178653E67E3C6585653D38, + C10AF8B74E855D60A481CBD4, + C4D626F9CEE1FD851551D91C, + A1F1F469B33048DD0609E02E, + 4006D8A53AC91D81816BF576, + AE20126D491A4FD52D059EFB, + 02181D9B5A755E385CD47FD2, + 8924F9B3C5A5EF7B9771465F, + 39F7F18157821A256E23B868, + 77234EEA6FC39172D3B4B455, + EF805FA4F575DBCAF69C1AE4, ); name = drawables; sourceTree = ""; }; + 6DFD874DDF56441FE53A2D81 = {isa = PBXGroup; children = ( + 9808FC8EBDD993802B13E360, + 489251CA8BE0CA79BA247455, + CB0FCCF91CA21CA88D295932, + 8B73B43B30D1235C6F6C7472, + 918EAFFF65C0EBD273295D56, + 67706504E1E1E19B61E90903, + A6A0A10D492CB91AF88BCDCB, + A4C7C1D626E8F444FE84674C, + B94E7B4E08D0CE7D4B3AA470, + 9935025CC78B291623780878, + 1204FCBC82EA38A9512D0D81, + 0C487F069E493BF67537758A, + 4AB7557F71EB918F70B15F49, + D7D3D13E56861B7937B08EFF, + 78EB35E34BA8673695F92D6B, + 057E2AFB89FF0CF0CAA013AF, + 6B7EA4C617C2C129210C7F76, + E04A8F9E8B767CC682430498, + 27BC9669BDAA9F041FC21837, + 5BA3B4D0018FA0D5C976CA3E, + 4B73A2599617EEF450ACABAC, + 35A404D8F4164D65C3E4DCC4, ); name = filebrowser; sourceTree = ""; }; + 467FF0E8F3109E55EE75184F = {isa = PBXGroup; children = ( BAC4FD0C99CEBD2133F79C24, 1A5E7683202DE3D3B911F9C8, EF8BAD426428948862257FC4, @@ -1737,62 +1764,7 @@ FEF9EF55D1BF28C6A84DE4C0, 2E551D5175FA94E0FFBF08F4, 56FA5F3ABA3B0278767C107B, ); name = keyboard; sourceTree = ""; }; - FF93C45FC8A8E8F4935C575E = {isa = PBXGroup; children = ( - 1C36397644AEF2DC1576C3A6, - 0DA4C3278F6482DB3E59D9BA, - 2368F4F33C1FA1F250C0606C, - B700A20AB7FA4833FBE9FAF2, - E6526B2FBE4F9F3DF819A030, - 9AB6DA2CD6FC85ABC73DCA8C, - D8B377D58489B765A9369335, - 3EBDD668B2AAF5F5159D68F2, - B96670417A0708508B971C58, - 12F6DB893E5757C9F3D00F0D, - 67321193997802F731C9F3C8, - 06E0E9069EB3A4DED12A83DD, - 1D58402ABF05B2EF162769C7, - 14527382440E68E3F0EB8198, - 5E043C5F2F280FC934592EDD, - AD3AD8A8258B52524F9FD249, - 1D68D7036540404EFB82B35D, - 9E7319BC97DD7609E51BA8E6, - FF43622B9AAF3751B65DD81B, - 8A791C2E9E31061FB1114D0C, - B84FF21D1349C565A604B4D2, - 280CB58A46300BC229661DD6, - D93778DB7CCB4B438A59D8AB, - B0D4F13DF0278D8722F7C4B8, - BB422B25F3D67420F1A7A27C, - D9064DA71018E0FB2C02BD3B, - E4D861851BBC388FE4CB5DFA, ); name = widgets; sourceTree = ""; }; - 7E08533D7B37AC3A130E8033 = {isa = PBXGroup; children = ( - AB7E120B33CE6C4EA5AE1C03, - 9ABB34DD0089D3C1B2CB0448, - A93241AAFC2CA466E7F61D68, - 8034DEB0DE55C62EE0B5D2FB, - 1BFF9FF8A046E614580B8B78, - B4179816650495DEE17116FF, - 9473F75E32710D282051D93C, - 3FD16FE28FD9ABF22F0FF744, - 4A21D36388A0B6D9543A244D, - 874BD8915F9FC9EAF09AFB87, - A61D17AF31E2326EDA285C22, - C378389E66043AAF139C6426, - 334E1EA595F4B89AB02E1D2E, - 092152EAB569DB7795FD7B2F, - 6BE69871BE4A865ABF84BC7E, - C8E5F60ED66385553547961E, - CC8C5C667CA1A6EBAA1323E4, - 6ED2FF75E5F98253AA1C287F, - 0AD627D1D2B082D09E1AA078, ); name = windows; sourceTree = ""; }; - 73383E801888C9D719E5D2CD = {isa = PBXGroup; children = ( - BB7CA26CF4540A535BE229CA, - 8BD1742DEA98185FA7ED4152, - A84DBA7DBC8FBEA5740CB026, - 14340FB465ADE55CB3E9B66A, - FE11EB2D3A4040325E458261, - 7B441C4B6CF9473676EA3610, ); name = menus; sourceTree = ""; }; - C30EF995A31EC08218367298 = {isa = PBXGroup; children = ( + 1CB5509948AFE86F3911B78F = {isa = PBXGroup; children = ( 097E290A4679C103208EF789, C8A38D75BD930F3CC7634124, 26407477D58D92220A6AA6E8, @@ -1829,72 +1801,7 @@ 95738AF2EAF17A2FA9B8E069, 035144F9C35671488A15E9F6, 678B3B27F695152D396C09A3, ); name = layout; sourceTree = ""; }; - 1912E5DD1B0D040510925205 = {isa = PBXGroup; children = ( - 3CFD6B00875759345575ECFD, - 03C5EFBEA606B1857E2E7E70, - ECD46DBA26680A8F86569C2E, - 35E9781C54B1729BDD73DEC9, - 61F3AAB84249F782A56E88A2, - 3121B99F19132789145FDF58, - F765D762D0012A1607F5622A, - 13A6B8661E1D605FCD86F1E0, - 82CF205CD196BF77B68EA75A, - 8AF3D4A8845EBB742E3F521C, - 096F493E855364B082CA966C, - 3153401B1C69B651D2AD37E5, - 5C9AF08626A44F2AF6783A53, - 1AC73EEBD03A5926652CB682, - 22A9BA274F3AD6FAF4331D11, - 5DBA889C8116242666F3C93B, - 63DB40AFD30CEFB03779AB79, - 665FF99D0D1BF3755FE7B803, ); name = buttons; sourceTree = ""; }; - A44CD4C37170EFD44180E7D6 = {isa = PBXGroup; children = ( - 5A1C17DCA88F1D02ED5F401F, - 123CEDA734678EE95C34463D, - A118AD624CE30228686D51F3, - 00B6967A854897C9D379AAF4, - 6B59A53C3FB3B4462A5E10D0, - 648E0A0D55BE1D012C1D89B1, - 150135E20D3B4547F1B8A76F, - F81AAE65A3598A15825E6794, - 4D5112F69E06189A9318A69F, - A15770CD33E47FF114451904, - CCA843C191E1EC761E0C4B1B, - 382D4767A626A3D30826EE1B, - 82B807E750DB47D6FA6AA5F8, - 48EBF61EDF71322807F5AF4E, ); name = positioning; sourceTree = ""; }; - DCA8D2B60E2A3630B372680A = {isa = PBXGroup; children = ( - 4E8939ACD0CB224ABD3B3C00, - 57C8BBE1EFA839C458DEF2F6, - 9817FEEE6C1D99BCE7DB2395, - D15B6AC0F49F8BAAAF71FDF6, - 40178653E67E3C6585653D38, - C10AF8B74E855D60A481CBD4, - C4D626F9CEE1FD851551D91C, - A1F1F469B33048DD0609E02E, - 4006D8A53AC91D81816BF576, - AE20126D491A4FD52D059EFB, - 02181D9B5A755E385CD47FD2, - 8924F9B3C5A5EF7B9771465F, - 39F7F18157821A256E23B868, - 77234EEA6FC39172D3B4B455, - EF805FA4F575DBCAF69C1AE4, ); name = drawables; sourceTree = ""; }; - 35A6E785E6B623A66F7FEF46 = {isa = PBXGroup; children = ( - 4533B1E6786C588EEB5F17F1, - 2C8DB3B21316CF58A088AE4B, - 80B9B913DD55B0BD215AEC86, - ECB67354113361CDADA77BC6, - 57134B5B764CAAAEA07C56CE, - 1A89B025B5C028C536ED4A8F, - FD28016A7BC2B34138B3C986, - 27B46B69A1381640C0C14CF6, - 8D32D3B412213EC3153588E0, - D380F5AED297C4D7BE55911C, - 357921A7E994C213A2D768DE, - DDD38519DCDDE8BDE8AC092B, - 4D823926C18ED8ABD95035DB, - B7DA793390976975B7967E54, ); name = properties; sourceTree = ""; }; - 98C025B3DB9871C4A016D3D9 = {isa = PBXGroup; children = ( + 1B0931509E12B39F6B94241C = {isa = PBXGroup; children = ( 140159E9C38C975949494E5C, DCE5AE0A528365094776BE17, 047CB008052CCD126633FB9B, @@ -1903,48 +1810,40 @@ 48A798B2097EF59A8A53F1F5, F1AEC47949E75A0B4DBEA130, CCCF7AA714938B03DE4407FA, ); name = lookandfeel; sourceTree = ""; }; - CA4B62998A983A5AE6AFE0F9 = {isa = PBXGroup; children = ( - 9808FC8EBDD993802B13E360, - 489251CA8BE0CA79BA247455, - CB0FCCF91CA21CA88D295932, - 8B73B43B30D1235C6F6C7472, - 918EAFFF65C0EBD273295D56, - 67706504E1E1E19B61E90903, - A6A0A10D492CB91AF88BCDCB, - A4C7C1D626E8F444FE84674C, - B94E7B4E08D0CE7D4B3AA470, - 9935025CC78B291623780878, - 1204FCBC82EA38A9512D0D81, - 0C487F069E493BF67537758A, - 4AB7557F71EB918F70B15F49, - D7D3D13E56861B7937B08EFF, - 78EB35E34BA8673695F92D6B, - 057E2AFB89FF0CF0CAA013AF, - 6B7EA4C617C2C129210C7F76, - E04A8F9E8B767CC682430498, - 27BC9669BDAA9F041FC21837, - 5BA3B4D0018FA0D5C976CA3E, - 4B73A2599617EEF450ACABAC, - 35A404D8F4164D65C3E4DCC4, ); name = filebrowser; sourceTree = ""; }; - 78416A0B2F412465845BA10F = {isa = PBXGroup; children = ( - CD3D15787DE0633AF0F41D14, - 14B4A539EBA209BC22B91F76, - A9FE7AE10A02329F18BAF8BB, - 11FC5BF4D4CE5451BA651132, - 0DD52BE61E4DCA9575F5649F, - A4A507E78D1082DF5EDA723E, - 5127ACB1400962FB70BF6D07, - 53F664A2A3FE1983E183A431, - 1A25D684574EDD045683D4E8, ); name = commands; sourceTree = ""; }; - EF2D0AF0B8A4EF73BDE12526 = {isa = PBXGroup; children = ( + 78692A338E191322719F8A92 = {isa = PBXGroup; children = ( + BB7CA26CF4540A535BE229CA, + 8BD1742DEA98185FA7ED4152, + A84DBA7DBC8FBEA5740CB026, + 14340FB465ADE55CB3E9B66A, + FE11EB2D3A4040325E458261, + 7B441C4B6CF9473676EA3610, ); name = menus; sourceTree = ""; }; + D46728BF25FBBD4F071C6174 = {isa = PBXGroup; children = ( 56E7EE3C43947842BB8BDC1A, F80B331AD631D4F77A673691, 3F05E519F0B0931CE0347455, 0BAD16A58A9CBB0A2FC3C273, ); name = misc; sourceTree = ""; }; - 5FAD6E8C8995E6BB704305CF = {isa = PBXGroup; children = ( - 5BDA528B96063067AFD59CBB, - 0833B2844B74E56A7F375B99, ); name = application; sourceTree = ""; }; - D0B902078808A11AB68BCA1A = {isa = PBXGroup; children = ( + 01F4037CDE89AF7D798873F5 = {isa = PBXGroup; children = ( + 5A99F85A02CACE2773FAF4AA, + FC4E3F4086054CB8E200F393, + 1197F204437B7E10650C45C9, + B2C692D20C6190AC831ED780, + 3F0618824A11684059926E73, + 13E0FBE11F1B5028F51D4A83, + 592C559B3CB1579907BC6452, + 9B88C701BE205AEB33ACC5FB, + BE92FB177CE8690F02DDCDCA, + 32053E605C421DA9F9C406BA, + 6F9461C9816AF7B764F73FC9, + E0069A75C60B6ECB8E8CBFDD, + 6BA526E7009CAA47F22B2FC3, + 883F407DDE5464DEC7ED1634, + 561DC7B5329A4719A85FB37E, + B7FC671CAA2FB61FA45FF25D, + 1199999650BF539117869187, + FCA5F5B553B92A4A49C3F1EF, + 6C42AAE33B1F86E496AA352C, + C00042157AE4788F1B7DD087, ); name = mouse; sourceTree = ""; }; + 863A326C998107D89A9D7DEA = {isa = PBXGroup; children = ( 051B1F5CA25863E123C662B0, 82073AD531BE1009AE92477D, 795FF599087653F77C7E98D2, @@ -1961,25 +1860,102 @@ BA93F94CB1FC135E6F8D8910, 5C2B9D77C8CEB8A1F6C121E1, 94C3811F389418A6C4304554, ); name = native; sourceTree = ""; }; + 9CC4E3174919557428C044E9 = {isa = PBXGroup; children = ( + 5A1C17DCA88F1D02ED5F401F, + 123CEDA734678EE95C34463D, + A118AD624CE30228686D51F3, + 00B6967A854897C9D379AAF4, + 6B59A53C3FB3B4462A5E10D0, + 648E0A0D55BE1D012C1D89B1, + 150135E20D3B4547F1B8A76F, + F81AAE65A3598A15825E6794, + 4D5112F69E06189A9318A69F, + A15770CD33E47FF114451904, + CCA843C191E1EC761E0C4B1B, + 382D4767A626A3D30826EE1B, + 82B807E750DB47D6FA6AA5F8, + 48EBF61EDF71322807F5AF4E, ); name = positioning; sourceTree = ""; }; + 02F9E0A4DF6E8598ACBBEA6A = {isa = PBXGroup; children = ( + 4533B1E6786C588EEB5F17F1, + 2C8DB3B21316CF58A088AE4B, + 80B9B913DD55B0BD215AEC86, + ECB67354113361CDADA77BC6, + 57134B5B764CAAAEA07C56CE, + 1A89B025B5C028C536ED4A8F, + FD28016A7BC2B34138B3C986, + 27B46B69A1381640C0C14CF6, + 8D32D3B412213EC3153588E0, + D380F5AED297C4D7BE55911C, + 357921A7E994C213A2D768DE, + DDD38519DCDDE8BDE8AC092B, + 4D823926C18ED8ABD95035DB, + B7DA793390976975B7967E54, ); name = properties; sourceTree = ""; }; + 46ABF047CEDB85DFAA5F127D = {isa = PBXGroup; children = ( + 1C36397644AEF2DC1576C3A6, + 0DA4C3278F6482DB3E59D9BA, + 2368F4F33C1FA1F250C0606C, + B700A20AB7FA4833FBE9FAF2, + E6526B2FBE4F9F3DF819A030, + 9AB6DA2CD6FC85ABC73DCA8C, + D8B377D58489B765A9369335, + 3EBDD668B2AAF5F5159D68F2, + B96670417A0708508B971C58, + 12F6DB893E5757C9F3D00F0D, + 67321193997802F731C9F3C8, + 06E0E9069EB3A4DED12A83DD, + 1D58402ABF05B2EF162769C7, + 14527382440E68E3F0EB8198, + 5E043C5F2F280FC934592EDD, + AD3AD8A8258B52524F9FD249, + 1D68D7036540404EFB82B35D, + 9E7319BC97DD7609E51BA8E6, + FF43622B9AAF3751B65DD81B, + 8A791C2E9E31061FB1114D0C, + B84FF21D1349C565A604B4D2, + 280CB58A46300BC229661DD6, + D93778DB7CCB4B438A59D8AB, + B0D4F13DF0278D8722F7C4B8, + BB422B25F3D67420F1A7A27C, + D9064DA71018E0FB2C02BD3B, + E4D861851BBC388FE4CB5DFA, ); name = widgets; sourceTree = ""; }; + 69478F81B70887AFA96D372C = {isa = PBXGroup; children = ( + AB7E120B33CE6C4EA5AE1C03, + 9ABB34DD0089D3C1B2CB0448, + A93241AAFC2CA466E7F61D68, + 8034DEB0DE55C62EE0B5D2FB, + 1BFF9FF8A046E614580B8B78, + B4179816650495DEE17116FF, + 9473F75E32710D282051D93C, + 3FD16FE28FD9ABF22F0FF744, + 4A21D36388A0B6D9543A244D, + 874BD8915F9FC9EAF09AFB87, + A61D17AF31E2326EDA285C22, + C378389E66043AAF139C6426, + 334E1EA595F4B89AB02E1D2E, + 092152EAB569DB7795FD7B2F, + 6BE69871BE4A865ABF84BC7E, + C8E5F60ED66385553547961E, + CC8C5C667CA1A6EBAA1323E4, + 6ED2FF75E5F98253AA1C287F, + 0AD627D1D2B082D09E1AA078, ); name = windows; sourceTree = ""; }; A8198033A6100EDB28E54475 = {isa = PBXGroup; children = ( - DE106FCD14E351677236CC4A, - EAFD1F880E6790F3DFC2A32E, - 2AA0EAA4D18373DEBC82DAF8, - FF93C45FC8A8E8F4935C575E, - 7E08533D7B37AC3A130E8033, - 73383E801888C9D719E5D2CD, - C30EF995A31EC08218367298, - 1912E5DD1B0D040510925205, - A44CD4C37170EFD44180E7D6, - DCA8D2B60E2A3630B372680A, - 35A6E785E6B623A66F7FEF46, - 98C025B3DB9871C4A016D3D9, - CA4B62998A983A5AE6AFE0F9, - 78416A0B2F412465845BA10F, - EF2D0AF0B8A4EF73BDE12526, - 5FAD6E8C8995E6BB704305CF, - D0B902078808A11AB68BCA1A, - D01F1E62E142AEF92EFEF9A0, + D4088159B90D7FB4EC40CF24, + 1C4E717E24B04BAB072097A2, + 666DF2B2F0DCA026714B89DA, + D26CB32508DFA94C2FB8BDDE, + 12269422D30EB1DFD95C69CB, + 6DFD874DDF56441FE53A2D81, + 467FF0E8F3109E55EE75184F, + 1CB5509948AFE86F3911B78F, + 1B0931509E12B39F6B94241C, + 78692A338E191322719F8A92, + D46728BF25FBBD4F071C6174, + 01F4037CDE89AF7D798873F5, + 863A326C998107D89A9D7DEA, + 9CC4E3174919557428C044E9, + 02F9E0A4DF6E8598ACBBEA6A, + 46ABF047CEDB85DFAA5F127D, + 69478F81B70887AFA96D372C, 7FC7D527EA3B088288F8DA36, ); name = "juce_gui_basics"; sourceTree = ""; }; 676457E043CCB749AD9C996E = {isa = PBXGroup; children = ( 84DFB13BE79A86FC987A63C7, @@ -2041,9 +2017,21 @@ 961FD846C95FA83CB96E0E3E, 57B905251571D00290681E12, 34B0FDBBF6879DC73A0B59BD, - B94D80A7B5ADCC744E7CE7E6, A7DF0F471086004A6B81CD11, ); name = "juce_gui_extra"; sourceTree = ""; }; - D0CC2C98FF18A9025221B221 = {isa = PBXGroup; children = ( + 40C488926F781C6AD971DA44 = {isa = PBXGroup; children = ( + C3EE00C42BC5D0E1610F879A, + 26B7A212D6DBD337A4F8AB7C, + 93736C303F60B4DBF1D87989, + CB481B5E92CC1EF7898DD17F, ); name = geometry; sourceTree = ""; }; + 444D592E3E85DCB91FACCD6E = {isa = PBXGroup; children = ( + 55F8FDB2CE9EA9B6F6F750B1, + 613925F9A0F758ED88BBB3AB, + 118B1A6119520DC2CCE4E119, + F885D9146184104D5D7C05C2, + 414E7CA5C5AB18AE918F414D, + AEE7A4457DD1D960854EFFF2, + AA5DEFC178005AF6703DD8C2, ); name = native; sourceTree = ""; }; + F79997650AF525E408636142 = {isa = PBXGroup; children = ( 1ABEE94704EA506C399E9BB7, AC5460D2875AEE783D2A2AAD, 2373A1F1357D75E328517966, @@ -2061,28 +2049,14 @@ 72887C393A61739FD6C803A3, 60707845CE9EFAADCB5BB90F, 94F05A309F81C027AF3AA82C, ); name = opengl; sourceTree = ""; }; - 848B383D0E793418373C92A0 = {isa = PBXGroup; children = ( - C3EE00C42BC5D0E1610F879A, - 26B7A212D6DBD337A4F8AB7C, - 93736C303F60B4DBF1D87989, - CB481B5E92CC1EF7898DD17F, ); name = geometry; sourceTree = ""; }; - 13F7942CD1F8C764749719FD = {isa = PBXGroup; children = ( + 801A81F6DCDF82A19CB20C46 = {isa = PBXGroup; children = ( A630EDA780905F9CCC6EF5D8, AB0C82D0A432008DA9B02B67, ); name = utils; sourceTree = ""; }; - 06E255E5C0ECC537CBF35414 = {isa = PBXGroup; children = ( - 55F8FDB2CE9EA9B6F6F750B1, - 613925F9A0F758ED88BBB3AB, - 118B1A6119520DC2CCE4E119, - F885D9146184104D5D7C05C2, - 414E7CA5C5AB18AE918F414D, - AEE7A4457DD1D960854EFFF2, - AA5DEFC178005AF6703DD8C2, ); name = native; sourceTree = ""; }; 538DDB7E7BA2CEDE1BB9E479 = {isa = PBXGroup; children = ( - D0CC2C98FF18A9025221B221, - 848B383D0E793418373C92A0, - 13F7942CD1F8C764749719FD, - 06E255E5C0ECC537CBF35414, - B1EA7F743B1C77827CAB5707, + 40C488926F781C6AD971DA44, + 444D592E3E85DCB91FACCD6E, + F79997650AF525E408636142, + 801A81F6DCDF82A19CB20C46, B93D72307AE413B7A9A074C5, ); name = "juce_opengl"; sourceTree = ""; }; DCAAA3B7EE46E63D38167ABC = {isa = PBXGroup; children = ( BF62BF87517BCECDF7BFC044, @@ -2103,7 +2077,6 @@ B3342B74DDD833F6D04A7AD3, ); name = osc; sourceTree = ""; }; 3A7D17A61BAAFBFCAC026C49 = {isa = PBXGroup; children = ( DCAAA3B7EE46E63D38167ABC, - D4F3296FB4D267CD9DBAEC22, 913E0691329569D88E7AAB64, ); name = "juce_osc"; sourceTree = ""; }; EF0AACA84F1CEE7F45F56339 = {isa = PBXGroup; children = ( 81E8B4FDE23F10677BD70DCD, @@ -2124,23 +2097,23 @@ 0555BAE6156EAF15CA77A2D8, 74711D7544168CCAC4969A07, 92800676AF753D1A60108F11, - 39BADA2042495195394900F3, - 44301EEC47F5688D9BC0582E, - F756FBC7A6836696BCADD2B4, - 814EF15FC580DB2A5F426071, - CAD2BDFE8443FE5648EF5A9C, - C63EFC8D5E9FDC58BD4A9CA2, - DD866BA894AC019F86C5F4C9, - A67B57899953E98B2B52FA2C, - 13BEE456E0A7D58819C06B21, - A80E52C517801112E8F19350, - 3C02F146BFD3D2C8B0B3D8B8, - D185AFBBD6B50B5CCC2A9A3D, - 556B39875D557171B3E0D68C, - 71274DD47D3EFC3EB83ED73C, + C330F97CDD84D73ADFF32B6B, + 7426094FECDBDB73C1DDE58B, + 75F0E24A0BFFB573DA77B602, + 92B708D33562C06F382E615F, + 1D9299636D0100B772E26000, + F5D1149D91939A33DE653BAB, + 82F67360DC3AD52A255A3829, + 48C10DE9B2C0B0B6D874D2D2, + EF15E2FA8F8D4DB6479A48B6, + 8BA1BD3E0D16C4009774F319, + 5C8C2C045A2E27C9B23754D3, + A119D66FC1AD1E7BA31EFA46, + B431FB5881D1232F27DC05DA, + 70128920B5973BE15D2E58CF, D12A0DFFE18728E84D9AB739, ); name = "Juce Library Code"; sourceTree = ""; }; 4AA57E2B5FD5374D348EEF7F = {isa = PBXGroup; children = ( - 0D6692C87B6EEDFCB658A996, + 1FD6DBAC73414DD4C152E34E, A7050DB1488924F209A7B5CF, 70F1CAF3C4C561DD81E6AFC1, ); name = Resources; sourceTree = ""; }; 71F5560BE0EE3A17A9CE44F6 = {isa = PBXGroup; children = ( @@ -2157,7 +2130,7 @@ 935CA85EF98714D3A17AE737, 379F77D23BFAE3795282CEB3, ); name = Frameworks; sourceTree = ""; }; 8B59A884C62D960EE9DFEF47 = {isa = PBXGroup; children = ( - 88B666E3E64434D066937972, ); name = Products; sourceTree = ""; }; + E4162459ED4C829EF7B19691, ); name = Products; sourceTree = ""; }; D2EB65517396C974F0415A7F = {isa = PBXGroup; children = ( 856518502A948813C90E6761, EF0AACA84F1CEE7F45F56339, @@ -2165,7 +2138,7 @@ 4AA57E2B5FD5374D348EEF7F, 71F5560BE0EE3A17A9CE44F6, 8B59A884C62D960EE9DFEF47, ); name = Source; sourceTree = ""; }; - 48B76E3AFA2377D9DB65015D = {isa = XCBuildConfiguration; buildSettings = { + EE7498599191DDC73ECB55B0 = {isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -2183,10 +2156,10 @@ "JUCE_APP_VERSION_HEX=0x10000", ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.plist; INSTALL_PATH = "$(HOME)/Applications"; PRODUCT_BUNDLE_IDENTIFIER = com.juce.NetworkGraphicsDemo; }; name = Debug; }; - 5E673C38F805EC668720414D = {isa = XCBuildConfiguration; buildSettings = { + 2E06386CE7CCA5FF76819BFF = {isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -2205,7 +2178,7 @@ GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.plist; INSTALL_PATH = "$(HOME)/Applications"; PRODUCT_BUNDLE_IDENTIFIER = com.juce.NetworkGraphicsDemo; }; name = Release; }; 3BF0365A560ACD4FD24D40CE = {isa = XCBuildConfiguration; buildSettings = { @@ -2246,33 +2219,34 @@ TARGETED_DEVICE_FAMILY = "1,2"; WARNING_CFLAGS = -Wreorder; ZERO_LINK = NO; }; name = Release; }; + 80BE97CC38B01FABC0E73204 = {isa = PBXTargetDependency; target = 4311FBCBD02948A0ED96C7DD; }; 02715337C584F3C721251428 = {isa = XCConfigurationList; buildConfigurations = ( 3BF0365A560ACD4FD24D40CE, 9C6D2FD441D79104734762A5, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - BDC88C5882EF70163B9C8B02 = {isa = XCConfigurationList; buildConfigurations = ( - 48B76E3AFA2377D9DB65015D, - 5E673C38F805EC668720414D, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 27D13F64374981C0D070073D = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + B73863F5D180C23D3EC40C38 = {isa = XCConfigurationList; buildConfigurations = ( + EE7498599191DDC73ECB55B0, + 2E06386CE7CCA5FF76819BFF, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 714944DB86A4D402E7FA269E = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( 521016BFC5181B3170BD9E8A, 006DF460F8DF66EFFA80D968, ); runOnlyForDeploymentPostprocessing = 0; }; - 8FA3466A9C5DCEF1CEC9D134 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + C2977559BF9148DB70CA10AE = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 987CBD5330E76B404F0D966C, 9F618C008A503063D10076C4, - F420418005A79DAF770E7735, - 96B6D565C6C5F9159EB6A55F, - 76B52030E43D3B5AB6127691, - 400043FD261C86FBBC627B22, - A1DF53840C31BE4F53C45FDC, - C0034230852C5B299E4E727F, - 723819DB39E466E20A7F3320, - C9E4DFC6834B1902D7B5ECB5, - 12BE09EBD1CD09058C84C052, - 6E0A0DA4E667AC2D4F11E690, - 47674ECBB496642ADA2FE208, - 5615BFDBF1F361687927B58C, - 2E23D07E4DE9480FB5B4C540, - B8AF173DBD1F487F943A2FE7, ); runOnlyForDeploymentPostprocessing = 0; }; - 6B8B22FD390097B066D6145E = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 718B99FAB1E8194D2B0206AC, + 33DF4133C9A034541881565B, + E450503516A898335FF1484C, + C2999D6FCD5C87F7BBE12E58, + 4CF197F817C8E39E9CBD1F37, + 09F3BF47BA1F8E671565F0CF, + 689F1BF1DA09BEE5EFD51E8C, + CDF8191688659B6FB4F69C8D, + B6BF743F7CD09709BE3E8139, + 6F2EF8469609CE8A16241E40, + 9FF3C9A4A206BF1180E3A8B5, + 5A9046883911D31579E1FA3A, + CD97DCDA3B81BE426F5430FF, + 682E2C7BF7CF308447AC4D11, ); runOnlyForDeploymentPostprocessing = 0; }; + 865E89B94B41EB14C202CBB0 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( 80EE2C27B466BAFD83881D3F, C4D6C466C41173D6970553D2, 3CC6DC6E223415B506D0CB75, @@ -2285,11 +2259,11 @@ A6AA70BD9364BB974CDEB337, EC14DA30C090DDC62084DB4C, F714F0C84F5945BF3539239E, ); runOnlyForDeploymentPostprocessing = 0; }; - AC6EE7CFEC691FF6322586E4 = {isa = PBXNativeTarget; buildConfigurationList = BDC88C5882EF70163B9C8B02; buildPhases = ( - 27D13F64374981C0D070073D, - 8FA3466A9C5DCEF1CEC9D134, - 6B8B22FD390097B066D6145E, ); buildRules = ( ); dependencies = ( ); name = "JUCE Network Graphics Demo"; productName = "JUCE Network Graphics Demo"; productReference = 88B666E3E64434D066937972; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; - A5398ADB6F5B128C00EB935C = {isa = PBXProject; buildConfigurationList = 02715337C584F3C721251428; attributes = { LastUpgradeCheck = 0440; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = D2EB65517396C974F0415A7F; projectDirPath = ""; projectRoot = ""; targets = ( AC6EE7CFEC691FF6322586E4 ); }; + 4311FBCBD02948A0ED96C7DD = {isa = PBXNativeTarget; buildConfigurationList = B73863F5D180C23D3EC40C38; buildPhases = ( + 714944DB86A4D402E7FA269E, + C2977559BF9148DB70CA10AE, + 865E89B94B41EB14C202CBB0, ); buildRules = ( ); dependencies = ( ); name = "JUCE Network Graphics Demo (App)"; productName = "JUCE Network Graphics Demo"; productReference = E4162459ED4C829EF7B19691; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; + A5398ADB6F5B128C00EB935C = {isa = PBXProject; buildConfigurationList = 02715337C584F3C721251428; attributes = { LastUpgradeCheck = 0440; TargetAttributes = { 4311FBCBD02948A0ED96C7DD = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = D2EB65517396C974F0415A7F; projectDirPath = ""; projectRoot = ""; targets = (4311FBCBD02948A0ED96C7DD); }; }; rootObject = A5398ADB6F5B128C00EB935C; } diff --git a/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-29.png b/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-29.png index b4a6778bc9c70178e932d3569d852d9d68fcb51c..fab6ec160a4a3fa3898c1cb13d39dcad059c0f7d 100644 GIT binary patch delta 41 wcmaFC_kwT3BWA`alOHo1Ge&L}XR&1#Nm_6J?o7&>76u^jboFyt=akR{081(k&j0`b delta 41 wcmaFC_kwT3BWA{)$&ZtEboFyt=akR{095f0X#fBK diff --git a/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-29@2x.png b/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-29@2x.png index bb066a4439b4b351f6c4df6bbfacdfa69f85c2c0..18950aa151cdedd9207b9f72c3f847fc6da7c459 100644 GIT binary patch delta 4337 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 delta 4334 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 diff --git a/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-29@3x.png b/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-29@3x.png index 351d6d864ad2de2fd95644f2ba2a46e09071f58e..6ae2d1ec07db0816a674116fc19ae4f3ca1d7005 100644 GIT binary patch literal 7006 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 Z{y(**rglI|>=^(6002ovPDHLkV1j8k#OeS5 diff --git a/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png b/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png index 204a276565abc8290aae532e7c93b184b8d7ff2d..228096721c9e7123c0b16cd47b0a657049d2994e 100644 GIT binary patch literal 10946 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 S^~jef6--i8PNW)S5b%FbeVQ`> literal 10980 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 OLdi=jOI1pkg!~_DNuPfJ diff --git a/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-72.png b/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-72.png index 4ad2adae160db0c97c527887219dfb2c85b7db5f..c155e3cb66d1faeda85b4d83810c71ad7cf87da1 100644 GIT binary patch delta 4851 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 I3DeO30Z*U*?EnA( literal 10311 zcmZ8{WmFtY&-Ma~EG)K27l-04?heJFxRe%mcXzjw8ks{_P>pR_Dc6;x0+uW&`nZ73*&Y9 zW0*$+0Mq~l=?_}o*~d9P{#vuE19@(zIlRdhT*Gv95(~YMPanFm@rY`ePNKDcInK^? z*!~O%V7;z9)=PU=DeSnR(Wp}t{RyiUE2NegqZa-9H_>GCo3`xBXHFKkJryqQ;W2Z` zO9W$HcFXMwH}}Mf-?&@go>#DA>p^kW|4*I?sB>0>wKm%?eKU^;eD(Zrj!hZ}Nv1ty zdrG5VVSwmb77(yA6NR-ZQ#4+A@V1q-se0k$;E1mT`9%TwZQ7G(ddF?^%Civ4LFFAs zH2*~yw5UH^j@@u#*_#5t8!!N<;UIDj>C*ZU^R`x2QGMKH=i8Cyjhk<+(M{cUJUV$) zn)t6eQh@Sq)<2eUU8MLHt2oCQqKrk#sFI-+i&k|G&^#%Nr1-lCby@OFAo4J+jw0nf zRTaUBOh!Ou6yJaU@gD_PR;N#5c|ojlg3$~(m;#RRemcC8NdWgrH_H7yycaAYsBnD5m;)+i z$f6SI58MTj4C;(4;F%dN5j62HDAn7(O&%;LQkmZp>{c74wutu^UH_v9f>3M1Y3@Qmf7s6A@c@FHiMajhWl5O%j3Ik5X`4kNyQ?2<)8QmpRYq;%m2tDB({6n> zYwXd_xS(-~4Yf0nkNYL$6?Phd%3tw_rLlq|Z-WFkDqh2O~;st!avwv(6*ss4*l zh~VZ}@f53wT-o8TrKpd_IkH)a!A^beyy64cN$DX3(geS)TV1m}zrC#1yR>2C;eMx~ zAu-<>*eP1lbWhSDKuwqs8n^&klt4he1x$Od!8 z1jH}bv|ebE+b^Mv5FYdPlpbmSH>1;<_jGjvAI$eF7^W=(^0+a0Psb;-!-shN2Vlp0 zcz8RRSZC8)QEJ(|Z(~SF($}#MtHSgfN&aklz{W{~r>!r>c)3sqr@o0W!P(n<=W;)p6RJ<>Mc!hH?!PPsbSOhE4Xtq_ zsO;Xml3PlhC>we5%Zt)ND9?BRfE(VY|;?SoxU>B?p+66QD;pp|l(`YIjy&w%x> zaX;kIg!Wj2>-ErZf9>$Fw~g|N<9cUsyU&;od&~;%nZb&?Df{fu`E9QOcZ6nK`RRb~ zTJS5{ds7VgL+xbnlrBCnucMuI?S=VJMDOV-R0M}s(H4FX-*CjZ`AQv1f5Zs}XO(yM z*3zE#zHgISQlR$v%l|%+SFCYsZ5+gYK!^m_=Spt+l9hHTumJPDHqNYSwwKd| z@VvsC$uS+qFRoFUd=O*l{Q#ee04_@+aXONdwRXz8vTH`$twX3XpwaBolVZo%69Cf$su(M(3^o zm(UeKbK|-}bNM>O_G4vVkO+=b@fBsp0)>{p}#LGcW=C7#vzl#u_3Jq5@iNd z98AjhnT^-AV2PJ8$kSvq5k!=rMArK|Ep#}=g!{oil?C6!e+YugZIoj^{Le|ZYWi|J zbTmGcp7^WV@rW4-eTC=Qt?BF_Swl3c42K|2nWtJ^*=%HqwKV# zD$QFW&|oT*`<~tD`R=V9*HVV_|5@%D!a2t+iAy6yXvFz+%QCOjtF6IU`GfP!ih(3{&Q&HvOU{?WXymCp5=-?(zD z&w}juZne27sY*w@K_EBoRQT=b-wbYo`FZ8^;1hi@pGHoD7cJ+E5dO{Q%^-=~mTL(~ zhE{^zQ+FE-q+~ta070p|csaR_XdZ*ea(ySlK*tV5tsG>wA{=ACHEsOZYHYHL;*euq zWZ&cpdwvh(_-)wN5~nkFN2!%cR{4XGUwP*Qd zOyqnn_o`#BHv>B=G5%cDVK!S*U#&l-$%>z)QMZmo4-#3$cUOi{Vq@pflgLCC$#>sU z%wt-O1A``XG~YmS!5}uOEPj$Vx9tpvzTs=zKd4+BM6%|JrmoY`0yeePsl@qCAxa0l zn%V;{`V&SKnXN)=v~|sxL+;xcnirr&|> zXlZ_;=}n6He@FrpBPDxaZ_6kD$L7JK1 zm1Xk+mVDrXt%rgG$UbIqpTLf~a?5%Pa@A5vPdaXhvkOk(ypDBQCwj2%hLB1k8QPQN zER|_W(wN9)?76L#{!>UEYsZ~Nvi1vCC{S=nh?Jj5y!1=a!D1tMZV)?`UZS@@fBFQr z)cGBEM7Tr^E~d1a_6uI(u56*(UN7<%C-|v|!E<@O7P?mKh0m6ms{RIp3AoLq?PH>A zG~@eT?XMU?;>5q^4}I0lLiKJ_Q>zpXcKRn0yY>jGp7Dy@4N&60#}|EW!FSpxQkQ!U zvFjZ^Al*)1ZG?pjGMLs%Qk>->!CXgXC=a<0hK@9=BobEr_hrN30pP$&aLLCWel#uH zVz_!bK8Z(SI<%2DKzAII_W7VD*pfZho00u&J8abQ3X#D8PE`=&dD*@%J#=@{12K)z-CT?1{ncVi;;&=%xIh3Hh5X=Ik`9pBbRxE=e~`y(=oR|IT{!Fyvd z9X+onoW*pTy$2eNGCK1=v+h1fPY5w>iD{Fl0-t=ZjAlRP3z(+vTv?fRO5hz6Px4|7 zEV1|$r{S5SF2E!9lf^yO`Fy~aqmd&ctazNygsGJzs6!?rstx8 zJ&=3)x?J0T1KgN82seOc;)rXU=p>`rxAHN2ZZY4-UeIRW+kDt6^2m6NlH6oX4qj*; zv3Ti$K&+hCz|}rxl;5R>fKF#ouDK}I*uWVBO~iT&`C2h*^va$M#XB9TtBOyl_;@Qq z`#N}`a$aEawBoL^j(MB3|BLU}#H)2Z76IIm#u7uWW(>YlcbnTTB+spU{=oT%M3pKo z(J+^lV-EM8sW07h;NwfR=#$hlfi(${@2<^chQI=NIaga5Bbwe|=}6o`t6W(#-eL}bm-mf>vaBOE{1O-=TX4KylAdiCl5cADivpQ&%9W3JQ>X`&OhM{`t9(zg zkyYf1QPY&)rT7;&w$oU)k84s`5X10SsZ8<< zeCA0#mh>hxaDUkd`87j6-6Zmyw3p5q)YRi%)Hqf)Uz_OXG2!I&@7y+SoJK2n8; zjKCDqNFXDGNo>lZi`{}3`e+7Tft87xx)v7@PZkO$13y-suWi&mXY}zbsv*!neppp7 zSjVNF{Dou1M=CUIuT-e8KncB;bT31>bkC;TzF<>N&8Qe4(HZ|57|3Fagbjr+Bm1dl z+v7p2jtICe%)sN-Msij~6s`_;7*!sd@B#CL@$V*(0i2L(9~#LBKc6X8{HFl*5pbhA zv0r_IEGu&IO zfv#nvk!o?^W{j=NCJp#eq#?q8wK5m2D^bic9gp$dwo(1P#*#h?F$2Ctt&785spgoh zLC=*$9-{(-$ruM}OyTM}JtG~8yr+}fOqF{*^4riPo%mS4FEPC6KDQML)>|c?ot+FJ z&>Z?<`y+62jVMrrhPVHVtj`m zvy+E+nTOvaAD3kmILU;k>Eein^)NX+tl?)z=jAP&DjRN z?FbM?jTNcsprjO+TbF-)_mz)Kc==Uw;7QH=`gVr9LtNfP{#fa=>RO9 zirr&d)A##l)TwKLPZr6BaB}csDfZ=2>0&x5gGq%mtkxGMCGjoqQ{lVq>y_Yr+gRj& zbZw|!XG_TqRL+7&+k^B(IaZgKY?)v&UGY_d>APoPw$(c=#DohpUyuo`4wC1%c!#tY zcb{oixKuEuHCxuq&mQ8YJxEKY34gtv%)9B7h;b&o+}ONerlN8h9RVa}59X#MrO*2R z#6#^?qmKE=G+z~fEyFUMV$(SCmZe-wO)H1ESBl6z$7X1boOYHfvA8^?yJc6D~9(W?3YtF$7w{@H`$>Dp%k zm?Vi1A?%4Zvvv#n7L6=)+MdhsVPaVYF#(k-UMm*mP#6u|jz}%L9T!@%H7` z@Sr)Uj6T%lV|yLw!Qs3hl*Gy^nq0tAqvd`jEG~D=FMeCl;6;6IrEiejL4{S?KYWq# zs?oKTyX6ZL6N?Fif&`6@4(XF5NSZG)JwDu;D;zj-k9W>-r#VI!_h0ve&$WNim$WLe zXwECjq&F@qEVaRrOBJ>~wKdCZMFs*`*@CWUm0EorHu(B>dxJ-?*jG1On63cD4(IMk z@%dT2GL+SWj*x(&aK-%5Tddgu<5QUkBDh#t>rd(pK^R~YS14wqVa2PtH65&i; zc)e3ZzDeyYlo|}|F}A%9*Bq1<3J!y5U?I&PQW};dPQ9R;f1yW~Pp=O!Ai?QLWT$FA6yK)Pqfi2Lf zrsGO<4g5SNv%w#_4lP>|5FS?sptZt>DZ>Lb%jpsio` zU;E}CcSyyRoU_G&22U)MvDaAS*7~71y?Ypq95XTm<9Z*3R3ctv`Agjmy#5oQsQmk1 z5pefs2@PVijpy%U=SqYD)<+~{rhM=?A;z~i%>B2sD)!a(vazZI1j#dP?-H3Cr8WfY zg+C{!+;|bjDnv~pW%L>ST>2|_^Jl62o%GR;%=N~ecd6?P??XLRN|iiWQF=^zbu-}s z?mB9|rk}Yu%X)}GY$NqImru(DV%itaH<(YSy4P$-s)x*Wx3S%jNTg?984*9FKW?OZ$0-jK8P6eBEPJBnge0Z z#g*s#S$lw~ZwmYI*Krs&#ws~GUFXfGT?^Y^Ny5UzL*!EHs(E>C~&`-5va7$FiXQ zb#IPB9s67`VIv#qCdDuNdQ5p<$>O!1iJ6bdVAfg7p3tu<0Vq96)n=|5$wucvCt=S5 z!0&33F{~h5BhKE(Vn@1Kq_@Lsw@o@54S&qOg=(e5SZ>2|m!Q9>D1^0N9(43 z&)kn)>T;@bXUBP7$G2pfxE(_IY9h&{UT*<$^s!?7914+WZ@h=DDVfwI(E&PU8P9LAg4!;_zn5EXpNa7)D@~4E&>Qz;2nwjUYmY81 z&V71KSp4!9-}{pOzAxt*^t>awF8CvGFX@~?^HKV{gdW4D7iW6-`Pt~>66s2NtRw}FIq##DTU8Kz z_{p$&arb)Ptz#8FvgtS>!Z)Q+r-A*k)rqVcsl#uVA$F^rSf#d3qxv;4a+^34RWo@G z5*iKzLHfCJvwZF3vseShM-k?HN}&5nhUIp5?kDH$*30&;1L5eIpyJ?Q!FT%X{kmRb z$PZ8RdWj=%wH+dwez-=IGvWe;8nR__`dJL?Z6IuMT?$Zkp+5T^fl!)`ip&cqRsSCk zMmJLiA5Yf^ug?(fh+~@+I*r*oMDr!!Mrh_SHJOL|&uLeO=xmdM)$8lG8sLLxpCIr7 zb%bk@rPeYjQ5EgNDlE`eO$Kyso?l>qEYyBH$rz)g+NK)r{8~mV+ZEWRJLXfP`0@IP z(VhRPV3sZ;K7|vE<92)haQF85(6sl-j~Z^dYH!q`Q=x(FT5+l3-x4w*{*k6 z=|r)=Oo-v9-T#`S1$m+EHflVL6DV?x4O~VMTAzq1Kl?u6x!#@&7w)AY?gu@OaTZR# zzTfJxq81Qs_>d8rc-vL+rNOq{nkC$Di6X%C$FY1bEAy;LLWFc?yk!B7RP2nD7g}T@ z?wGbmE(l4}oU7~gPuLW^*5Tt3UotMv*j(|)AktP@a=Ud}OAMy|D z86{uDIF#E2b|3WkLAQnBuNK*I;JX=bfHfJ2=17zD8+nSA>jo&2*qQLIMM+L1M&N*~ z|JQoSl|8@TU`r^yt7(vJn{|JX@){uIU-hKhY_f{?R>7|xk}WXomg&Rf{p&~Clusi7 zi~`ikeK}iO&C1Wc#gvN*^V&7)+NJ+eT>iMl7_}~$qeD@s{AX;)d+WK>@^CqU?x-~& zSKfWb-W#t~_BO7vU45gec2iA{9u$W2Ot_7YkU=P4oPJR&R#ZPXTTJrm zkz6XK5+(mHZ~c#@MG`G&LghR=pVo5wo8hM`_{3yNkYOW0g_B7Y8A-bOZsiy1;F8iN z8MX_E%KznIHgA}+Jm&L?_6sYYwvE^6uN7Z|p9Qs5j*x-a8)?4GD`YmNslcj7^5t`f z*|c)5;hz-&doi<40|k{XvEtWrKDl%&87W0T;A;gRD=9KMd(R~6g-a<-AIL-q1FJD{ zQ8ptgI6&JndP(ugvcOMB+`zHk-fZ`=Odd7v!~D3dJ_LIRFaS=jx?y)!9@RiWU4?(< z{<}twftXyY^BN8!)>wAJYOqBw)6*0O~T>K&X z*fH`WQh|kTIo0TVE2wGp4WBk8Ag<;3ZQ*i5-@}VmE!_9%dgOae?#GSsOAhkR)x=d= z008~sf3pDJu0p}D3B+kB`^hqtbJ|u;{!a47=hiVTQ>A&LsP@9lxkdGSV`BM4F6T6S zm)vl0JLXML%nzN!gL>_%GJr)lcHiZ%-4hoRDkHWslAyJ7n5;-#Z43eWiW%|Buc|&x zq9l1mhVZWS+9{eA&K&ht{^k{C-pziB#0?4gI81=ENK_JkLf;OfRkwW|T|ox3%zx@p zU2vwJI!&}*YU{3If)lPMpGTCXL1K&4HQn=(iIY_rTq+&#y>W3iK}Ie!625;)R85;k zkei)Llu{a9$-CZdSzkb1$u249c;J(<&+oz^a?Qq*=S*ket%~tsIL@v6A2L;9FLZ59 z7l$6?B_$a=jIj59Y&C%{O0`L6hnRRtF+bm|CZCNsUfZQ;d)xKDU+=Pkdx4zx6~4FX zEmhIWQJ}D&p8w*M5|0Ixr#i0l+J{Ob_VWY@{fGDz+YKeET@aII-l{W4qDf~afmWa) zN6wA@1F5s_dl`AG%c1XO;Z7ssJ%f*XwyKt;o{ zji7d(0FH;{`sJ_4Az!Du0$+fNKXq)^_{|nh*)DOuxZge$*Dx}EQ(3HbIc*i{7ZPzW zkxdZPnLIZOHF8r_Uif^C%5}ZSRBxRoN089H#E6bkf)mC(8n=YdHg?I~QTi_!n7i?2 zJNE1kQ5feB)kaG`1fd_rGRJM(I&7(ORX0b`-R3gzmX~U^?uS%T#BtFy-;+pft?bf? z_{HC$A2Q1Axp|?mA;8y|g;!r{+d;&n$R4RM>6wojh9lU24|P@mT@jm(rPUbrW6X@d-!`;r!G0G?)9f*TsZ(b}-AlhtE2)ACgfUw+M@3#!`5>bzh zzALTR=pLau>#IHf)}C*>onk$7m=S+40oO=Hm@ZOQh(gxx?6E^=IS##_?A>Wj#F`kD zS{t42z+kv3is8~dl+>Sh>2|oA$)e3u?7AusJXR%VkdAZs!@r%y7H&Et*^o{3=D+xYJ1r!U)G%x@PU*tgX#9pM8`010no z)yh+vqKM8Ma2SWKhN47CI`2#9bB53E8xPsdL+2*4Tmp{YLZq6$tI>fO^!TUpC9v2Kt@`jx3>&f5bWxU-ALoX7VM@W&6dUMN>-f`spA&OMNJ;08Hg%2sYK4Hp&$ ztGMjdestped{-h!!OxT(B2UuaU6GXj*_$3sPp*%=xQ+t5B=owV0TtQBk!6dav2s(V zePR8IqEqx7)sx>IyDMG@#L{st{C97?!*`Z!2}L6;g%}TD40iVt4;Y?~R6-!ACwFax zK@*_n!ZXtB^=;SB*e#PTOKKD2(#4R>-)Qzf4Z?yb^i~d6(J(5YsRkpVC@)@T{QtIU zt{9REJA+kRCoVWGhx48vdD_m^2XvdL1bROVl5ot4kxa(~V*dQ$cKNBTkhp@yC{$V7 zsHgf)OAsVQL!RFBMYr3w9XCgxGxLIb*g*DG?+wn9)%83GW!YFqoJ~9$RMHQxO+a!@ zT<{p_*UiQ4sp&uBCOCX}={qaa%|wqB!s@4$k_BBV$sMeOXuG$3AK4`!>p?G(@y9Ce zlO(UxJvmz!f+$?R@yCyvDpAWolpxCdXckypFI{?)(+PH43tmgHW)uOc1WR0% z$Vih!jL{8g33c%D$u*bC1@)w95Pm|+aP&-Rd2YR1gJ+pmQqR85SP_oN+~QISINSD+ z*UfT-jf_b*@ADC>5XNyvY=2#!e_JWkSQe;K;ghbJQ>P+P((F18t#e4}KPe-efbUy$ z_J8}4)eEAFXa0Je2FVR(9^3O$_?gqtnFuEt(3n3dUn-h7I>Zb$hGhHe|B^t@Mk(zzU;H_vF_6F& zaa>Sao5*njo1mwBb~)dyJ$_&Q)-fZ1?~IBT#>X7`>xIeA@f6?Z<|zNFLdj3|zYiSg zW5jhhfOf|`mXSawDFd^*%kWY4mZp{}8)Xjzp2u>pX=VOZ_y3>37rS3jwwHEt^5wTd RuakiQ1sN6TDoNwe{|9+p`5OQL diff --git a/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-76.png b/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-76.png index 2f6dfe68bc215d363a0c08bff7297c1f8b7142ac..2e07ee828397011aba3f2d8fd72ff65faf62c770 100644 GIT binary patch delta 5554 zcmV;j6;0~4E3_++G=FPJL_t(|ob8->lvLHV|3By6TXR=+b@e;|4Wc3h5<##*O`~8? zK^!45FSs5C<46Ye&pzKid!N1cIe)j{7>?l>j^Y1bh_7<+ zCF_=`H8fcD0zA%K zzABx+bi$UboNO&TrRq%8rd+I9#L1?lLLpPt; z{ieQk+fCaNUw@|lUkYKDJyKs%SYn-zA{Gl(d`nS8ao;u$&4tV2#-`d)g#{28GDWwM zAessj*P~f-rIel0kXtb1#;ypP*IcrtZM5eyYJ{y^iPAdf>=F}xpjp+Q3V{ni2!UO7 z;?xS5RCF?veKR@UI~Awq9#CFfkMeow13nDA&BuYaiGS)55=IOuO#q}xLQffYYN_O^ z(zmv?-Eaf{XS>`L;&;NLTq*=UNE0=!csBLbiz#=G!EGr-5o%uYO=%EG zg=vd7vAuaC@3y~s1aUGbrQFbbp!K>9%XbDxZdPfGC}G#Ht8+w)JS#L!+$e;o1}Jq@ zQ&%ycQ-8|lQf#m2-NDo`!v`@#&6v>+gx!s0{23q)sU^`{w+Ejlowk>Gqh%{Cu>&8megUX zItRry4q+|IOv8`{+nP4;Lc`;Pk^ulr!+awd>0b7y3%2bUiFu9)VaqqnTjX$S4+}*U z0n}HY&%)Yez5J3HY9jH*A2IxUdq|Qwq)FWWum+)OM7Ax;-3$;~0ZPF*Y$sfcQZOO& zJb$i7*xc|}wj6l;&^Vz)Sij~^i?^;F?p%jOSpCX+ZSrZhUn*AR7l2agsA9>)t2wD? zIzlKQC3@2ik{>;T-n?^gLZz7|Ow)+Gybw?Z)lDt>I+mIX&`Re30*U0a;7-=>zK51r z1AsJid8a?n@Qd|JKT75|<6#iCWaVUQ$$vM;{y|Y$0dQi`H~9WZKgVfFuPU>vh3>c4 zklO!047g1CB2U5&K`Wk#_4un$oMQk;7%?9D_%=T9znRucHy@2PbYHQ0d4BO*Ufa}? zm6NR{XVg3^RB^Eoi2CZqTt4XrY^no*)ThrAfAJ2C&i#2vm)NFVj8GJk`_?kl|9`0& zZzk3J94Hpl!YOEqg_BFai2(M5b|HlLnx)V(Z}QygM|N)5uMbtbArn@=vR)fk@4H7R z%Edw;7S=9f@r30lLPe(HBwk%b_lFz7NDWnV4~9orT7-eo`5tE19#r296xGfN-f7r1 zC!Yl06+n&Vwj5V7W8$Vg&+QpfntwI4^$tur&Gt)0QC0|nSX8@=bH{xb(K9K%@f}io zUjy?iOZ5&zn&=&`W3<28^FVM`&Ba_i;Ytt)MdPyCDdsIh6+0xtmT#E1NV6#a3Q%9Y zm<8i5>)jw3AL{s{4%sKAnp<-r3v0gzfT}6iU%6@ivZ2TuG+|dfcIG&T$A7XKfjF_~ z8(e(cm6?@w2-?`0C{fJ4)jHEyUj1fEn>499~=(+=*H=c1RN&4JghUoU`sj z*h-ORh-BnBlF=8CW&}m3{D0#~|3al}90K97+SN7Jtg9~=l-$8Iig`WX7pgcD;L?d# zX9CjDQ+Lq$*slm}{4E{#Uxk^7A}mgv3vWRwD9d}Y!-cT=aLl+1VfBLSrmOWQL<4sb z_1{6%e+K|I)xpwy98e}q#(Cj$Rx#=r0Phs`pnEqRY#SJn=xb-I(sRNnsQ}MUx4yV(tiQcbq zPLCf}Y~shuR?o{SJN3nYgsohO;;s_E6GBwGtzH(^E<*?fBhWSpP+rL!vRDT@RIA^XxaaJP@KjD^ZF_NG4X=M@*J%W)sfIu*><`TTN5`++? z1y$;*m2%~PoDBG7>zuPogsNN$Ft_>wT$&rCq-*oN$W;GIsY{f`3N>|&@FjD;o&Qhj`cisb-I5Zav#(#br0HKNVI<~wvpt1v- zq-kE2cJ$TEtGN__?%i(?|7iPw-Hc!>{y+cduz4<6IjZIBS2lnd^AM^Ao|8*3??_!+xF6N z&vJ}lD~hWW*MGuWQM@%r?Ke~?jw+m|+>PR>LK*?Wt^XGzxqDE36J1ZGWeAnJif;j+ zT9j+AcyfMK&hc`6VRtEK3xP`r!6{{P0nj@R(7oraK~F{xG~xgAwHT2=I^Re zluE*ze#ek152Srs;4l9);^rx=J{%|ChOl^g%<$(qebzvTb^ZY`@mPzPRXz^@MHP#4 zweOd(B`YUeQIrKj2P9Du0k>kZ|jD7|Hw!s)pW(X{4*OXH=bsA{0=>S&MI*)9$~BzR*f>(L1lk%R>)3+$RJQZ#8z*RkIln3WIzd{>x3PQDjP|-^2(uuUS7-`1nYW?RS#aTmvskZ~53XK9w zAwuBnXz)Axw#y8*mo=)98$gKz}H9jy#=Gd-7(d%b69tW)WrznfqKzSQ&0CmQ%FI zT{w|wnAxh17}T6cdD*9sSz1Ix@hCRX%_Gh@r6ls;S|b1NF)&8u+7-6bW>R$fzxMmx zOFNs`(>&rgmw@y&tgqD;Q+HBDhBl+8Fq(*kvr?O^e`~NQ+y;;|4i^X$FMs`=$it7N z7nh=p_(v`A;rY=OIVUyq#B$tDD?%{hACP>ouY=DTI}gv-h=G8E`-3eF;x`*=}y!!Rm3}^y!QJom?;Cpl>GSVk7)`ga62qqH0L;q-1egj z%oFkM!xj}wbs?oRHBD>m+kY;LFsG^LKqRh5Gxti>(vne8QY|l`_`ctul=w)+le}>2 zM)v)EH->JYOUb5B+F7>leLCYQ>{gWvW>3K5vWI|S9|#dr6w5FR(CZt&uNJVm%EdnGrA6MrmQ_de02fkjnV zII|YFBP#$OHVR#7nFqQ)#gryO5Oi9SS=XYn2y0|a67U0j7LS>4H&z-v z(O=ts3ETaqzEzsCGhxJNi>I@At#%BG+m*LcYGpaTdv8UpDkl++^ZYOWMqmIl%!SYW zF)n@NU0S-jaoH`LUpF3aLH;YvqA8Sk(-#2)-EGA6C{oH;=lg+;{k89xux&SOOPHqI zBBjYI&FOxM&wqG=&o^e{9#V&2#oil?VZmREWPHd_Mh9vLRRdoPUHx!*Yu>Nl0n(cH7GUXvfuJ zoj!HY%BW=}`2KK9#=&p?_a}z6vif3gXN;w5-_2|Ui%uO+;Se^0GOv?LU)s&=XnzG$ z8X%<+kML}+J~;_nbIF!A(=hG?_@9<77&4t-xi0DVFeM9GO(i9N`5kIaI&|3bt0(jF zSx3X?fqxj^e)PRe$T5_RVDdO00H!o~qh&JydeVI0p^G**HJ*Z_m}hyBlZlmH0N!kU zfdgH;!ITlhPzSvCIv`=CZ*6OnJ@))U!{fyCNPpUw{b)HNyW9&# zF{n6exY!?z^PNZE%cN0@P92ZinL|fKaQfsbgh(ga&+LB$08`2>p@{q7K;sNZ*iAQK zHXmrYPDey-uR$P{@HXH$MOcf;$|5qlF-n{Z}_`eu=Gt7nE{wS9` z@_%k7VZY?`iTL`Mrw}l0d?`MU9gu8q+DIVLiZo?s>_GQ5M|<1%s5cNdEZ-TFN%MAq ztqqUySup(yjO(%sdqw}M&x`M#TM?dubWnQh#!)rHTxbp_xP0CF#Cmei^Xqz>XH{_l zr<{vrFRL?TVO%Ltfv4@UN&U$eOUnKO?oaN6DxQ24dtSzI~gm#BSS5bX}f(_}U0Pk)v) zB}@Oj0@JE7^{!V@hVlAXmD|o=zxxeJUA=voDNP>wN5851hN@ zo}tJa^1DX<&Zb`&y7?#)`NS6w@?zuPkUcA{>f~`$pInO=jvb8<6alA=D`LS3hpWY} z9(?+c-;&ahPx}4gA2Y;bupuvrkJh&vQ_ie;+TzvDLQ?Z_=MEu&358RzSbr_l&N&`c zQ)vIJ1!?ASBqw3Y1=EqL!o6=CIQ;te5MWgmR?Hm3EelS>VNo%q!M5g&tlxbv5>rYk zcZD0xh5!BC?Xjav>y5l@Xy=Cg`sBGaYc;p!IH53gcW4()kuR89d@7n^q4dN`#>|{R z*TEo>w(!vf9*JQRHodx#Rey`8uxL^lg7j{<`jg-CLgV9U@rK+GZZsFJxjerY=ksh-u#b+3_^+mICW4f$#vF zGww3x)m(x@J6v$|?`h@j)vpjf7$OzV{mQkJl5hX%N=&QDw7XwpAQ$7Zs*EYL^RqK2 za%#=t3o{8L#`dO-Y}~s#9cM|RdcwG|$H5Ql=zhe!^NOeEonW=AYlN!I1n}BQ_}18^ zoL+fe<_A5bDTxQ8bbs#aV9$#mb8y!IOuhF>dhKb)Gw160AmHYgK4;ClO})O?6hYls zFH5IYGPT@IS%DR`XBnE(GcE#DuD4UDNTGXq(-kl=U*hyDQh*%(kwZP7C^?#ExyR4M(#78Z3L{pTz zZPa=lOe}HY>Jz?1QXzJFFyw(fLok)A+9kmTv90dYTVLW&dBcdR}os zwfcLZh=oE)o2epHW|g1C=~W9Uu~($;VC6ZyL=sJP5lFQ1_m<~){owPNdYx&?h&1Kq zctiIO2a_8P6@R1mV?}bM(y-;V3aiNts!h8VfdxPj3J%SM+fu}|;yR`j&!pBf2~`Z7 z)*8}af7hpc7UGFyjXc+1(p@{q7X#K|6ml9!K@#Op}i$k2N zsA4gSI7?APueViG|gdhY2jFkDA znUouXA9OyI>vU(d@RjB;Ke&H}#a-*O#!^;mM}yzlZKP_-YTXr1m)i|0iC8#taDT8x z)3nBlsw>i{h(%I*XQaEo6X|0(hGRH}V>mkg7nbiLHrvy+q5uE@07*qoM6N<$f|=do Ac>n+a delta 5556 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⩔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 G4E`UnPy4X| diff --git a/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-@3x.png b/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-@3x.png index 40631d44c314e27836211719cc2e85090b89b475..90a424f47a2bd5424ea8048731071d5dcffa7732 100644 GIT binary patch literal 15434 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 WK=g6m7yW4t2FOY&Nmhy*1OEpRm*=kl literal 15442 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%0A<=) zbhvp*(b<^6Z>~}C-}vs9RI=tk?mUj0H3)f9vP1liDZ%oU#lpVF`3EPqWJ>}R!&O(N zhcN{lPJ0)FnQKQytj;m@Z(-NPLtc8ao1A54>g%ZKS^hj;HU{+D2I*jo+sFTWNmg_z zZuZ4?JN2oLJA5?o74Ew-lImmC73@`OTJyl&Q!52M9G~jwKv*l|P-B)4NlY;7sJiry zPlxNVRwJycY>ccWk?pZv!nu|0nE_Y2x~spr4)B@T*x&k{Upsj30~0O!r_4#iPfz9k z?ZO)BMP7Id)_YPrL1H2Px-ItOhp+t`+tRhvz)~Ck=ak$JpAf~xoU7vQ8V)*w)z=d z1pB0dY_Tt(o_ZqXoQW&#fJ`DR^;i1Kj&OJrkE2Q8DDPvkieXjjvuaN>k(Vc{1QOn1RHm0A-6woHCq>{^}hP1^+tA4u!kto{bHfV zfjqZ1FU29En>RHf%q#(c83icF1!n-6eydM^Kj<1vCk?+DWbY>hMYuZ3u%IdS)<2La(k%Dg*OJmfw=miMX#?uyVd!LuP!AsZ4YKPn0Y|y6THS zGU+7e+A3%WYpAQ)GwY{#ZNPvoum4&CYAmbVIP(g))3{>E=TAqm6^8+&hOGNtrFgiC zJ=f8W`{4&U(2tXBnc$K<8oXnT4Yv|m5WSH2LZ*8-MXX;jE^>Wv$ttwc8Y@G^5WV-b zJ9y5}f7bl6GHhmc?g;Sz_K5tYKQLnxNV2C=*0J;-k>{LCZC4_6 z(1}DnTlZ^A(=AY1>(rNWRq-f=TU3-d%s6U%^0`xN#K$muSJjh3b3ggT^G3CeGCece zr>+SK8j}I%WItHkV!Y^7{(3EPCzno26qrGu($O<#qtZ=~jLQDaiKnA1f80zFR67xl z6=uSTtX~9eK*kHh20v9v>MY9 zNsMdzo7)UxcJaz|IEcKS&=jrS?rEqFm&$M~ynh!S|9~+H%=Pn25-eQWsL;l=B+_mGMH?KuC2T8LZdB&(w>4h zcIZ$}b!27KU@Ij!GZbD8B+dbn-KFSwGvXL-4rEr>&!-{CRF=VF%59j*9H^Ygl;!Z7 zNy1i1dQ(JpVx2We?p@ecmy112e?mFnV_gns^CHA(L63r}FL{+!zvDm=(m;nvUg6u~!crL3lB;_HsOlfv zx_RGCr_G-`Om;?q;$&t+`(CVJ!KiDT$3GF&Q+U{dW+{Hl-2ZBaAwABNWctOc^_xGi z6h}A#r;+1(uP5CK(t)|TGcT+DwLJE3G*?1Oh8^k82@qj|Qh(5VFh&-&{$%{35lVk(e}2oCcm3=q_?DBhqW32D`bR+V|C_gkjN&Ftejv=SKQo>%_RB(s PgaPu>DpJ)FCL#X^+pxb~ diff --git a/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-Small-1.png b/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-Small-1.png index b4a6778bc9c70178e932d3569d852d9d68fcb51c..fab6ec160a4a3fa3898c1cb13d39dcad059c0f7d 100644 GIT binary patch delta 41 wcmaFC_kwT3BWA`alOHo1Ge&L}XR&1#Nm_6J?o7&>76u^jboFyt=akR{081(k&j0`b delta 41 wcmaFC_kwT3BWA{)$&ZtEboFyt=akR{095f0X#fBK diff --git a/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-Small-50.png b/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-Small-50.png index 8d5af75925f639b862813a1d98334a07c120d9a9..c2910182489e61f986894134d7f6ef63f8d04dd3 100644 GIT binary patch delta 3613 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 delta 3611 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 diff --git a/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png b/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png index 4eb1f60152c293959acdbe4628cddaf3bc464c88..6b774b1ffbab7594576b38b248fb161ef879003c 100644 GIT binary patch delta 8615 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 i0vrCbhx_dRGXDY9WJ6DEEljGM2#l( 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 delta 4334 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 diff --git a/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-Small@2x.png b/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-Small@2x.png deleted file mode 100644 index bb066a4439b4b351f6c4df6bbfacdfa69f85c2c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4596 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 diff --git a/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40.png b/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40.png index b7afba6a2a830ac02cd379950aa6729e3cc1c2d7..f673561b35ed83f6a898a064327a18e0f68bbb9b 100644 GIT binary patch delta 2320 zcmV+r3Geom6OGyzMIHEn;r=Y5v@yZ5=z-GJ}p`h;AM^XhlYY{ZNLCXgIZk}e7) z9so4T`Uxct##o0I(3)Q@Z*Y8TfGdwIiX%=npA)!eL{XS4@iGxP85TJe2~siuz^i%S z4)#K&A*e=(X}bE6p^~Tl96k2tyt@AX3t+|83dw45KgLS}z_&V`mNXs_v82pw*(rZ+z*l-Jx#^kgTe==kc8MT&j{b z|Bj3W#GbVjT)zwS!e`LBj>70^1q=2eZtibEWFXM|8xX+^E-4Q}%5-oExnOcC8oIXQ zKzA+c^`Eb&#CW2rr0#zt2-tN2R@RmlLgBYhvCU4oC-+e(Iz{NvX6RkbV0r*xSK=$P z9|JK1!4uC8Yk~+0c*|{&Z(f4{Ct+**1{^;Bv5WeRimHWm4bj@?qbXO{l`R())3zl! zD-xEBy&t4?4}u5&3Zu6Tpjw!{m^}kT0`#7J!xdBm_5T<8`38T8M8It~-j4)1MQQ6l z_Twq{-PC>LjrOA>F>oXNCzZ9Og_0z{a{q*%OZKcK(2j3M@W|_+{)^H26jhjd5o*U~ zXrI4@;>^W(@RnZ-vM9d1`hzk%SmbO*1YBEh&x68mFTd#_>2_PmB}*RHxhf3`;RFD{ zA5MkqLgCWJb3G?;oGwXVs0tK?CAix9!LTq zWhTTiUc>tQPmfsc{+e@5x<@;Nczc?R^6P zf#zsO@(Q5-LDtL_-RfS5u$`Vai$l7=C8Y9Bm1o`XDj8N_kLUvVS}#I!ph^aPDg*Nb5cm10V(fs1blBJFRuK~njX05br> zAdi{>|HZ#uDu@_EQ7?GHBUMR(1}F+7{_=Uw`oQzhonOQp93X(9gGkCH?hpi1 z0R+>nF-PEqEC7I6Oa{+$@nL{N>zVjv5LbV~HRjd-k3JV$WW(TBD!cg!&)k;n4V zJoq#ZC}qAdKthSb9qffpHE@aM*Z>KEGN%wq<%4K?Z9mc{X5sXxWHfYKz>`Hc0sw#7 zyWKI3q$Kd5%z!g+4g_TI4l|e+##o0+L-1)Hh!e-h)N6Ux?MV35qd2;~1sxxs0%Ht} z0q=k6z#sR0j_=))f$X%zm|~?REAVL^gp42e?`SQWnN#BuBJMx5UF7C!(=)2csHYH&iza&`;?xuj)Rzr|W$rKCu#)S9X$A;X@ zjR^SWyt;mBpn89IEej?Ii2r}l-GjQYf{2jTk%UGmoctS7zzZt&cI|{g>6Q(5Hu{G8 zhMlNIjcn}opIfxGeM8v;OV@(B`#?ki@(&l|lj_ESk^7obbIJj~YG8d?E-YpfG~K|& zY%8{QyoerOcVmE4U%J{S?AqD%R=aWAeYwpJ|Jh~cxD;jloMn)v-im)yyHDUu-SMbt z9W(7FIO7%UKGPdf&j5Vx@w4w8ApNO}*S4wxC zF#JZvdmWqf7Uw|#fF4w1nse6@2EeBp0DzOO!+5v7%FtBf-VJl>S|Zs;z84d)s)cn8 zs-~@e?bAPKja@aExMY7S3YN`)DRG45CkC-7A|9J{1AaOy8~e}IV$;d>hN`P;s^``1 z8tDln>dV5BH`!6991%kC|gE zs9KVbnb{`1_u0$Xb@pvfNYj^Am45ioXbjiB^)Qe%^$YSL;Dvutaii@;84F2CMmhR> ze7MljgYM=p;B0dsg zvLQiChQNu#>~*Tar+MHC^`Q0QQ8aeeFt6%9Nex;pYW&8R?%EytrU1#RdV3zvNzbJ! zY4h*MSU~JqOTqQKKreg-t?MX^o>s76AL8cz7DNUD&A$N=%;1vpAf!wOmyio4r=p>2 zI}UW$vR?oBdP9fsSl1A3d_J0TbzRwVQ88^> zlCvUV$=LfrTK6D$;IA-x+W@MC*^AjTKqNr#**9E4HBkS5p`U+mfJg+~cH{j>kW-Yl z{$oF$a^FqeN8V^ZIuZjn!vCbQwzN=^zYwFKJn?Fb%u9n^m@+MJ>aQ!hg8 z*bMFSw@{q97!Tg^Ye5#pmsfvKW(SL$&4_?&>+N|^`0eF4JtW<3E4gIJ<2t+2pb$;~ z08CDuh41IA5P5%z+qR~DL4Hht62Hkn4dY z5K?AB98->9-#ZAnH=}6u9862MTfnnFt*xCeU+p1W{fE`!emFHQWBxt4YY{xW1HQd) z03gsD?MVK?I^a+>wD!iYg(s$!K+1a@e%A|7{d)m0a9n>pD#lgfY+vh~^R)930Dm6p zGi(J{9$6H}3*4$ZMlT?ykdFQX|G1=K2%g#p&yMFHPhJLbT=7?2NdhtLPDr^AA>gip z>fZ-k>MlX=doYn8iZT`wjwdTB_Y|8)1SC#1-z+9gvS%%YxAreEyce!08AG7u1N7BZ z!!%DHJd@In>-yR6K;1E>8Guq+1bNmp7^)7PvG2&LlSu` zFU^Bb^MF$33j-vSINZTr=u`ujXpRk#5GZpBp;SJIrq}i(ePR|)k4i>E#|1oDbR&NN zpuO82(@IJL56TQU1Lr_M2JbL~d0~uos5Ath=7BhId`z>JXWfp3UpoUrw;sa-{<(=Eg8s8ON=R2TCxJ4=0V5^f-%++2B-zJX4MEWSEvW_%&FHrYn26d zn4f$UpHw&Ev%ROo^fjj(_(kn$Oq+i&8WYA?t_e8CmH=0<2PzFh*SO{|z*ox~9Ga#! zv|c<4@#Y+mI3;olVp5I`H>4+yIA>Ad zU`tYP#&Zmst{&WU*Y3_RKmaf_vaYeShGBFHh1#(1;{^Kj8Cc?2UhNDO3f(;{HlTVWx24JP0(}$ z6SJ+@+VLWKeBF%!PJQWWpRj9Z(_8JvZTICiJN##tnd4HF@pG0zntFdLPVGK{Gj+$K zrghA;o8XLBu=`AJL_GuWxyuhp;IO116Jtgt;1kDg>^l372byuurqYJat9>Hg>Ru_` zb;9r)74LOy(p#Jd0RVbXjcLzaOBev3Y5)LEx(?&r_9{bDje9rDt!s&7ANgKPz^WG3 zHK>}l`n6C0pfz^YVB&w0sVG=B1E$0g+D{B(QA9j8>jwOERyOvZtHq|1>kU;`*Hq7| z+cnY?NYs~wBX6`HEx0%Pz$wp>#V)-^xnstBj4Qka-t&D3y8A(m;a|v+QcM8ENjzqb zv7l;6K4xZ{@ZM)HW7pZYJt0kBT2=btKcg{R`_{ui*3>V^hk$<wS-|9s1eDxp#iaB^j7^rYuX_jfcI`xu zue*`y`r{ks*0o&s8-uZo`<0&wD)$tdwSYKPkh%4eC>Keb44GGu zs-(j#4m5V3=7BSC4k055l?I`y>OpGIb)2L&UESxtaloOns>YtlnZyFZBZpF!e)&t- rFlax)z!R{pam_=|*6-xomj3|=oA3nTX^2b!0000e3aF>$G_)&-`SH%GJzxzLc%7Cv>3r!a0$xd zMzvz0sG#>2#j4fY-rm-#y+zvE>(;96ZKYIu5ieCssa4!iqy!Ze1VlgvXMgbj7vhU{AP&Twho*an zj?YTZ9O!l!x+Mbj;c(5CEiXQMZE;Dm-z|9rO2opoGczU{`o0E$p>sBVU*jpd?2 zvl!zmY$dAqFr~r%`W?Jm_8JEQI|&;hENQmZFHI|AJ!ZB<9$WT}Vt=yw&ZH1HXU-he zcWdB&RTB$^5P67bJrlDoW^&Hu&Y&Kktf_<#E8b>H)p}%W2P&mJZW{90 zk5~C0*nhfgtDewGNi=~HvFNQC7ipUEd!dT)04X*vV||mjGXF*fx(1(OEW?dh!Ah(^ z8D`Z!O#fl5hH})*VK}FJ7bP`2YS~gv%ibq38}^{M2BV~mKusHq@C-$9<{<3pr@TsS zxQf?H|CinVEi~%&09d9xK!n?~K3uzg$r7wYy?=7T2rOD$q>a76@ra^{+l3;W0ONe; zGH=w~WH<&Qgc7qgYYq_kbTvlhUZfEQvtwYW=|k{b^BWL?(8u4$Y}nheQpJW)ov3MJ zu;pKmnl>)>N)kz+#m}k(OW9HLel$(W7HP=k<{|%G%Wg|dG$w?=JKmf*5*tsTDpv?l zvVYxq%qmzw;lPVxHZt6ReyAAz(EFJFLm;~j0^vv@kGn~aj5yKUs zFwQrLh2!qWrr4tvMhklBhlDmQjT>p57L%_734bSA_N55b8Fji0oYp zC)BZr5SktPxLF8AK|lI;Fk5<_Sz4GiA7R#RL2+iGxN}j2%7g(^$Z!r|Pu(^ome-!D z-hWW|`LL~9pF4E8SI)Kdv#;TW_{z)?eJQ=y1m5xH%#rpCXR)G)oK$-{-=FXZBhtplo*QL5Fzb#Go5+4CAhDW{ zVbpvWOBtFviXWZxIBE7w1Y&^0D>mHn#${*sw&Y$BShToE!^RUr5yMrXF?Zyhr+<(a z^;N=`Yr&)qPF4QA)KSbI{R1>bLkN*;cktUqf1KE>X;IG!l!&nxI37V&u26)+bt4zW znr&NXxf4(`hxNvX(*ngk6m7ud4(Vfk6PY*aE)=06gt$Z5Ds%kGKMoH=vUl=CBN6h#@F?at%w2@hdY z?8r!n+CP7frY-*`5RGtXdlF&yA+2VD z)jz{%*-f;MmRNcj;fB8epnoYgW(~Uu0HKIs!>$?ri^Yq(=cikPg==SKsG3*^FwQrT z!U56gS)}9>f*Y21P}|6nPx1fhcC6-xXmg(NQ&e9;Z{9m0P~3Sq3;!!dUSst==;3Yc ztR&%v)##y*065$CH6~_FjXn}$LFHFx4CuC=?hG^`?-oMjrP#d88-I0ov|2q(!`k0> zn#b@TrS32HA|qjh=EObyzSByg;?Bc$&aV(!3P^*dnqOkJeBOz*AXNW9NErfP_J~{Y z+I=Xh$dM`hwA;G6dU(s~q9Lt|p<=9W5*d!@e@OVVjp)bsby;xa$fx+9z8$l%2I2PM zzVer+MOdPO@dUz|g@3dHG*-onyi;N7B}9U60pPV~@Rb4Q1EAT}?=5_}Xk=G;yCl%& zbJ&HP;h(`C)o8*3&BvQ1{%APe$Ujdr;B_cbl)TP#jq}CoG9YUaFRKaY3iCIOl#edMyCvPE*NRONX&?`=l zuyigMJ%lugG_3=`YxglZXC?rOqFmcmwoVD0{q*E~MH5pLp)fh;vRHa}=enLd)rw>b zOV0$O2Yxnf;6%&%TK1)=LPKbxaQ=!5CUjbNXAcJErQ8Duhw3KRQviT|d=HWGuKT{u zkSt;8onUkgQ-42#9^MYXAWs1<%?%Pf+3tHgtv_Dk{1r1is$Kmiz;N%_)(s#@aN~1e z^?f@b(ZbRf!RQ*2mcR>u#I2<;);9?N&7n@a`K6-tcsb${=p1MiL^r+RqQSEOu$lry zN_X_bxhN7PEd3FTu3+eguuMMy7w3Kh04b%%<c&uhh3Y z^i^0AB^aGT8kqVa00e?To_vHrs4A1<`V%ivDB@gzELUzUEpl{M;+$+nZ-ph1g3+a4 z;m=~fPk(SAgmP|NpW-D7Rg3}fIkQd{TAp}E;e@c<(TT8}9IPi^Fgk~+AB_FZbVfJ# z5prxi+js;Dpa3AP&EBfvKb9~D+e5GTyo0dV&zgZy?VxDb249sF!RQRpJ}~;9m*$9a zpxTu|`T6ThU%v920K@MFj-*;WsBmFgk;3 z8^(zZOShH^fDl40_!n=7)fugQ!qD+q>0#jqDR8JK2~WG`$JDO;309*&X=l2Oni87c zf05J~i{d_yG`)@y`5d97CdUClQPc1Y_)+X{r|OFSkTC3=?2KY|p3)RM5STg8?Kl?l zBQ)TYV`pl{UpK)cR9h zcBU2Pk?M+*F$)uaK*}Z2NR5~$?He9_3VmmsBW4MNZOlmA*Im)+^HD?6DXDCrqOK`v zK7=C%|J-qutG_-x`nM5XsYbxjPb=%%+jnR$&puEbFm*Eo(4;rS()Hc@ljCtKw4u59 ze)9l|F9SUkVb80dAg$<0{pDMaQy(&L+ElJMFP}_rhps4Gp{NOjVp~1UMs!zETGHCL zF4!UbJ9an%i4Y|K4Uv%(w(vQf>#R3>}Z9*~gDgoQJJYvj>pz z@O`n!+xYmKRPQhE)P8SuklS9`6^q1~6Ni%K>3rDJS7fKVW526It)gi~Icbl$1S*Eu zH!h{LDw~hQR7lGog0S`NIzl|y#*8F$*(0$&ulUi|sor1FZN5F#K^CswMSV!eX;Zm+ z@^Eqzlkp5Ae@3_xGX`rf81Fo|hVnSgwli!i3o!469Z3-uO;zx^qbDzp1`pC0sRLwK zQPsFNpyCqf4@63Ypb_BRvR9*q8EM$Zoz;H_+X=>dPpqZ(a8<9%DXD8tim+s)I&eFp zEp21j8bE*$&2^2kB%Xa-0$0r~4(eg!HGl(wodop&e+Yr+rt3iI`$RaNVDu*P+9Mgl za?Xf>2mv9ZiCs0D0kCvybM}kAu8{(S?fg=2Ajt5Ck+=g&yiGPp1Sv|DBIMw@kU&k|rNkyd6yx0_XIOhbp^6 zd%@W7f9M-M5{#ZAQNl7}a9V68ytQfrhGk$Ga_5R0-`(6+-1xt-}nkQ?wV1^$)&6#jc}0&fimi!I0f+k`ER#lOlj^b|k-Sm55>pxo zfi!~Q=ex?+C4tXgTU=taSdRhhs@+VWCAwegoN+O>kzMzN9R=f+xHF7Iqc6gep5kC! zUUca`s0Y|lvk3q_Y(4YL?2TPs2kZ8HplpdeCZ#;y7^!E~fu#Tlr-PL5F6i_sLwvzV ze_Wr}9eOJ)6Gvua)1p+YIlP?umKvlbtHXNBe|A?_w*)TxMzP;CuyC~XBde_PlaXNP#?nwMfZO8)@^4~`C0&^C7&04-dCy!-lfB8c?2u6R#dHqFqGnQ1Bor$BOTeqe(c&%gw z5WS>bQ`_*9B}Hi3%j2IE?=I5^2*rTn#9^VtGedew8mLZoTkvnQO zvAOb{XaO1NxMoeqef3NfUpkSd7S{i24dqD~s`M4x$^zW*;tuLUI!?RF=ph-5$;-gw zj856MRlm#T%Jl$PCV$&!kG#>-f3kZ_;Hp)a)*=60mT9fGq{)k)|DMlkKki^xvGZ8J zA}?9kQx#I<)xo%Ie zGBQ;nYXXs49{c169Bo5l&iEmuW~Y6rJ}M=EAzmj%!%u!Gq`aw=N4EVNb>S)`vOZjE zUHbH_w?FA^*?qb%ykg!z4;c}2o|Lk|vP_olTEd>%tpGT^E-w4|b&R=u!k6OGrUd3q z7{sa@3&~E2js*`k?B)-VdFX}r9Tky z^T*vw_@Lq~Ole^EI5>Cy6pH@i3exj@-Itdn4EMQteAZYNPa8#s%Z4Q_KCarpfA6?2 z7I{X*{PxlrZ@t>r?k;clS~9 z!2trtYrAdU_7o@Ie|&O2Ru2gjK!MN2m7}w`c3d_?(oSwa?5*3*Yb7f<-1_Yq(~_GE z-MaJX%X;7E#j7_VSoFtNY=t7`n-@AOt}J3~UXa?W4psF~>v(^VUPK#1WGz4h~z0bl2;{2TGMIj||EBvjW- zu&ROjBQ;d-ub{rvPq4ay^t?VL5u~{kP zr8&t?v7@w^f0GCG2Hq%L$&Q*$)VI_`>$Bu>L$_|9SHU!5^Py7{T*e^T$HRq<7!;nLiU^G)KS+*uT) zjyc)9dkx9a;6XMXU&Ai{Wbq z_UnbBT&rlJu&sck*wPr}$tTN|OQtiMG=~qjmWoq#qbkv@1Jg1Hn<1KwMglFh)P^gm z3YSsde^f$a>$hM|yp3hZozmhZy)pDccZ;Ekz-gZ^%wKWA1W%6pUd^sflTvy>I7J^r zP)a1oFhVq25o=>}b?Bk4Hh_|WFKohf^GikPE{8TuqKrUgl2ABTAjT?oWsnd;MH2gn zq7c!4q$Mp&x5_2##gf}C!DdY5pxG!(p6O)YNjBN|63tkn$j{Gr7ToR~kUw^yFEici zv`k9`8-tKXt5002ovPDHLkV1g)% BfsOzG delta 5361 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 BfsOzG delta 5361 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 S^~jef6--i8PNW)S5b%FbeVQ`> literal 10980 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 OLdi=jOI1pkg!~_DNuPfJ diff --git a/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon.png b/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon.png index 5efcf0aff3423784e06dfbd8de4ef2943f6fb2a2..75780329cbd991d1b90a5f5dda6f7c936bc976b6 100644 GIT binary patch delta 4422 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 M07*qoM6N<$f>AXcjQ{`u delta 4423 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 N002ovPDHLkV1gzfUl;%Y diff --git a/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon@2x.png b/examples/NetworkGraphicsDemo/Builds/iOS/JUCE Network Graphics Demo/Images.xcassets/AppIcon.appiconset/Icon@2x.png index f4dd12f2f91eb644c21e1afc410e814e5ad9c067..44d24523e55394c1c170f0fead5157bb2240e50b 100644 GIT binary patch literal 10317 zcmY*fby!qiv>kegfuRR!7(kRpx?$*&6cD6C>F(~37?cJn>29RE5u`h%k!~0szxUUB z_q+F=|IYo+zI(5I&RQ$-y^1Ud>lGFN007C$!PH+yr~e)x`pY|RCDiw2Ky{Xs*95*? zK0vbw0DuM{50lXJ$T;@(bfK6@JvnL7nwcq0nr+vEvzi8z+H8Qxg^X-?Q388II6}Zc zB@0Q$-Lcjos6FGBtcrzaqP)dmMrw!+G|+}0Ns6MXs~>{WPwvsh3pdw&U~^S$bJtpV zKootNPO5K&G7WS%yTtxF)SfB7ziPXBYCmZ)MEc->_J8kWA*%+Vc)MxgPkEZef1A!p zgbYGMb+v~u`z8d)@N+y{+BOiierwfo;U}YsmhS*24G-yTkCOz=Ue?9sUWzlw=^u5w z$v#4vQ<$2HjIc)NBg=4L0W|n6G6Y~60%S=CDOgj#cVrGG#V$_fkI0Z1!c2D0@pi=W zP^XRIl9|IDA+vZKb!mbKNJT5sBx|aCS(0FdMRy)c<{RxF7Z41v+ieN!edq>z=d};A zSVf|%1~>9wN1G)EITmO`hH1M(BxOrR2UWCWaG zP7V{fPq_fT0s1BmBOqlMhs;p`fPc=jZGHY{XdZhhi6SLPM)=uz4FO>5VZN)Ob2^+Y zS08^`r7)J}(XgTfx^snU8%7C7=XbLS87F2|DY)sF3uP!U>MJlFMPZki1&8X=B;W+R z%>62k#v}xP`sq}V&6jMOUHc2Bv!+-*V{cdm*px<2`KmJoaTw!)X+@+lj1K8F^&-t+?aY zR_zmA@Wh9uA3g*=y@{h>i_Afcj{2buy{IMHNlI89Rm={!b91S@2K2Y$?zOvi-n?2M zvNy9+d0*9AmG@~a>@?s%D0?9HY@zwEYjOItr`-u*o$%~`s-ItnSfM#|Mnrvh6j@z+ z-sBF)m|9H5G`WsgM!(*3C7&yG+gAe{;7Ow4GXO{Hi8l|94mrdg^tP82)*E(u-Yi(w zMdQ=QAmm8BB#-%bMIyPMWG9JjlzBNYZSnP6Ekn+fjvGHM)%uHFk{z4j)JksC3)!)0 zQyfLZVK+gOt+zx9G}{YN)ip-+B)^jB2lRm9aL&y^LOtN}5^~QH7Uw(?)gF=yNZpU; zTgeqoi%`AqGczY*~TB8ixEt|p{wbCSg$iP@jW9c z8(fQE;lbe22qS#W-&9HHwS>8M%+&cnPJ7AG=?b(11f}EY%ZI7gQyrXRh|l6Ue;5n5 znySohJPuh;^VEZjLy?rwQ_$eG1aNNw=nWQ!_YeoUqIl=JAbK7Z#i1wRgPvixQJue4 zV%7RB4MBuYE#kGm?Q`OTrH#utBq8poX_cWgHr(vHZzhBoDkzRK;xxDUujDuFfZjVF z*)G~#i9OQQFgHK3n0EBUI! z_c-Zl00E)JgN?~XihY($%eG>?`V7*?FSvOW@|quj4oP9DoAD_ z{?jP~O!Sr~Cd*me=S>F9x8ZuDR0aS(tO(m{_mEI5cB1PEG|_S+h58WymwyU^`TAL66ka5U`mA|6=uBZf;yhcdK%}ps?DV3M5QM6+Qp2*`NR9jV; zGCGSKFiJG)sAZ~g=i8LCjm!Ui6y}W&>fGax+>>nqi#&Nl+O9hJ3nnJxCCxnGFh)VE z0E~}D9K8=t(^; zpE_U8AfapY^R6E=U=w9!z63E&&H%C%wDl8f2^z=m-jP_$b<*h)9)Cs1SXmlMUmlfm z2&$rZL0O;V-X=JnzV^t*U;coNzmLL9X7q&(Aa22Re*E*b+o(h@@IOG2+M~&(FtG{! zQhonnMfZL(;aGXH*wEn3AC>J{`^pA$_Tk%@{HjWVyk^w+&|)2fCbIOA6RA{ds{AIN zL07A*2e7~$@?{b|cq6dx+FUOpMq&@i;n@?o<{2Q{mGPYh-W5TsF(y%*hXo615J$nu zLCIEvS3!80>zow#Q(Y2Mwf{G;Cb6(IL(%rWdcH zO-BNUOco6+Y80n+AKI-flO9H0cioGYx4SJzh8PfB~G z`W>0L%@N}kvbm7(h#b6q2r|Z$LVvc}9JkdE_g2pe2O}@awivl&1##59%S3Pi=8Qa4 zC9Hih*M|ZNIEYKJ`8Ix+bl}JkM2OR*pbT8Q)AB&NrF-! z(^|fXRL0uss`C*a6oBFNTqhSJ1zArJ1==>@8F?bmeOeFji{KzYCuA&<<;bw3>ahQ= z=ank52IF}G*cl^(YgngZB%gRN1`frs1+5YQ@RHcj|a&XTT0#>_jL zK%m&$=ilRNh6#i2RZ&na*h4eiMdaM{YeJ=lIu|#Ws@}PShzcZu0nA580veB=V^ciC zn&YBBg%+we3qUo)?J6)5I>}ULHc@RSzLz8&k_nOuL8lF~l4`cXWKsNwG}07ee-%eG zss~WKE2P;iQ}Sbe2NX>)N!ZoHu5RCE(=^j3R+UaL!+uywFANI?UHQ;9}aJ)>E5`EukIc5VA`Fk=I{%!h)M8}gW`su*iHF)xx< z3=sX*Ywx@mr^1H_hP3_cR@XRFMde{pFU6zgKyUYY0U4Y7NA&VsbYSM1#O)>dL<@Pg zJFobOD4xadkZ&63aI>ly$*K%2NTy{$=x8bpoW)Lu^pSnAxfDg{ph zlw*d?0;H^ia@mkMNg|PGuWb z`JF@RAfGFAMeX8jNV%Gj@x064)~Sf(Wy`RGOhXsO`W=r}aZJ7rlX5L|VgUtwFa7Ct zSI!Nu@#*(Mu&to6s8EE&upwaS7gHxib7FItE|PAIvBB+J{PKtik`)rYUU>GdH%IPn zVDv?G2rjD&k=k=_H`o9Vv=zb0A8?(~OQxr9#_X+9dCeDMRX9@Ep`Z>sIsu-GzhHY%{f!I!E#6BFwuGA&l3%G2 zJz>ZuHrPPofYdBU_nBRSCC~ZriL;f7Me70Kq>bZ{n^1qrx-*zfnt8lpl7xYqSpMjr z5sfr3N-c4Z`W@L|v$YA5g)Al}m})V7=c!xgL$?^M&p#1h z1&UITdOJbV&mRHbT$>Z*86$~rq}X(RaM)a)MnWQ$w}fIivP1Etu&Gsrr3@5Ec#~Gi z6X|K-R^{;GvZX5fVBv%6Fr#Jn66>Ls=9ubqnrbJ2MZ-r#f3MrW8ycS-*1ad&EfMGo z6zv7s&-v3k?Epe@P?W;BEO}TI#T<3_l`P(dn2$fjV~ZxmL-h7u2dz?fPUtbZuvFZL zV^ab6?g`cm(i?I6Vif=YP9o0k0yMv3qkL1G!!`b;1Pf^%`6h-e;ntdU3$uO@g&obJ zAIXL@1`_AlG*MdzsGaYJ#O){on)iGT#GIgK+h%sq&Q?ojUe1vIi1hB}gm)Up?SVh7(?+mnre_Z!x5Ca(R};pXVl_3CKhDxl@?{KVs*rn2u==1j-uVOGWaKV*@8P=1WfNu`J3L45qjpC48=n08 zL}){COZCumaNo1Tg~TYq z{E<^ckXyy1@2UE=j1rTKii#4G3i4!UdH@GEBawwfLLPEzHIZULRn2>tF7GU7e=8xG zXVTc&XPyDQ6awpa!nRxIn@VW?;>mZT!rlqv`sbKanaN4i3Hxp>`6`#fBCPa|uW{Ol z!`x`knme_l^wW!TLcvw@f0z0N`%_?W7~jA%-v=xvX)lv}CGJav_U-i(>ISzxF0C_h z*@zfuC+*iblm{beIQ&luArm?hs|)|xkS(itMLmG17R`hr=02M8`{2w+MO*lA1#iq~`ASZBFDUwqoPBelJxz3KQsc_>t27WO6zoeOqBWA;7pgp-Q46@Y(X(c+n-j8 zDJ(8kfVY;PAQ6mNC{96^#4=cI{trH?AN~D2CgGYYVX!2Zf;3SM4G;-AQuy+&Pu-12 zE=}FZWii`(aou}sfcZ>`x$;#$kN$)9wLdGRY)&vKJ1s&01URy9@(&6Ha zCT6R%04;I0JLZEtqcbZ!z^M@oBtM`kHJ2pwNvkGsvbWJ(*8UkUzZZ5oagyym{nc{{ zr<@FbO_8In$@PuJRh(Rqi6O>}r?-MwIb0+QfkfMR{>GV`6Itf6gp|ZWSLh0W50Jr0 ziau!N{J^G9P95B4fgKY_rH?zsQY%RN_gn0W%5X5xmS2(22+rjfoA@L2M69m-X%@NY ze8#VoU~>xrS(Yarx&$~O76Fofl$Nd%nzLD;KutE0A&<>cnK4DIiwW-FEJG88pATc$ z+$oY0J@-ZcQaCrgbFbw>1niX{Q$$W*q0F3xzfZPHIcFxr*$sLlD{h8A9_iV8@rXOdK3(78=Wu3#(Tv`mbdr$^kj z6oWT9eoKKR41{U#qMd#%?jTC?G zyzX-=s$<`dWL7QifMl;oUH6`AO9aC6eu+H50>~j##4;$Z>?+DdalmpdjA`fK;-#KU zg6`@cBnN0c9PEs+W|D=T|HorWNwEVUlHu%LYU3qzzY%h%G|jc~XFp}LSL;a3)M%Q- zAI=zCpO;%s-(5=rFPNv+F*knPWDZzgwM{h1?_?m8&a$usP4QL}EKVUK&r9D-ReBPl zU4jfy$6Xp@b$)uj`)B~plL5RO)H`?qnM|_T`tjIs3wPVFZ;4+=D}6B!7QfTFHu9MIwMvZmKZU8$P|yeRei!H*c=3efvwMu~(Kv)H1q9<`)l$w^<(p~CGSW*Hh&}m8JuU zDe`2_WEuXf->2R_8`A?-q5GL1-VBSMH<4oh#6y+yv@?4=Htcj-Q5WZuztrFBO0ZlF zYHYUGRMZ4!50Q62uXy7QETVUX0`T9b9Cw1Eqc&=O$dSN;V-jYu|rh<+BWdL}GM2qoXhO8_MSR za>P^~mnhTL@(%>gU}Gix)g+8mA;RX(3YYb;Ynaaz#acuUjlUp4>Q4*6*Z3OQkL`l+{6!>+8P>^ zx$!ZnB&kf!o>u;W1pW`x5!pi1Nhx|?i;5ne)~FAt%x|hM^g_D`v4!q?3|^>M#s*z& zR+Q@fM*W|U`ut+)C4@_Hd>gm+xLrbMFSC;ax5U=k1LnrB3id|-&fE=F{T|)Q6K2;H zsTDJ6$BbYCWwt?jdc+v9)qXT6_QHj{dor2XITA*qXn&WcXbucu4`qhNu#4ijZY@G1 zso!n%kj8Z{E%OzJ){{yBnqDfxJ3LL9%T%y7w=;AG8@q5N&2@owa7;;*x<#ry5=jac zaer4ze@s3wKT=c1z3;vn!vY_eD|*+5jxLnpQ3*<5E!D;Y8;^=ybz?pP9^QH zK@EFFd8H40cZqh^CRHq0%Q7c$Ea+^f#+W}pTHs7c8OZ3-En?Aulh{>l%iPnG zhJmg2@Ycmvn*$ojML0Z4#xroa$nY!PD58IBo1}X8FwT&x92VH7t8G47)SCiBWbdR@ zNY^EU(?6x7A5Ksz6dYIMkWPb2Wfy(bg7KlMe;~{pt-$lZf*v= z5~1}mwHH~n?~t=(QxQuw_f+98FP{C9$KJpZMH3T%fIm!>aAq!U0Sl#yUZjY*(GAM! zrxzYPRDARuI{o~=d0-936tm0PZW;`QJgx}l`1m!MPFl|E4obG z?FQ4U?%b5|jC%nHx2&oD&WrZIhLh1J-dlFv#iLfrzxTxS!^dfK-%_8E=|%7ey2w21 z16$t5WsChm6HnpmsKGfn;7mUKI!TD$TnCH|KMDTj=PJo`J?p-)esg1zZM&_YHx=3- zkvJ;Fio!u4I2D=Zc{k{!S6If4T}wGQQpd!FD!f6JaUf*o2L@+EuaRfB zf;^w<8AOejy&mkWY4+53l^Qkr-T;oK#rZT7HsR=Z`fd?<=N^v@MoQ*mKe=Qr8zX_+ z=OLXPUvHJUzIoMTz1vnH0*UFjt74I8wh*1xN+kcTZcLSd=gXzVlx5X@X4uA;H?=Qk zMUJy284*cj#Xf>&QgmJQ*vx56j z-F2q~jc_j2O-n+{SSBjLx#UEo?sn8DaXmMk{L$6LL$Kd_)RD0Hsr^{yb#5CyzrWBm zqsEc-3X=U%7mj?8`2tPg7-lSiAmH(dlv2>)xGr%pV?<9w3_2jjM3sqnoF2I*}u zI2R3op7->^?q6(oab;B5t^%5WIgOe!xNg>js2qtd#S;Fe&f?AF*Mdl{`}l*`d<*e0 z7>l`ARERI4YK=4!#jfYl{J*xx?+W!G*t^Q}JJ;5@N z-vLu-ougIW%^QWMpNB}lEi^3SxGIC>nysQ3f;2S&bA}>VuF~*cME@slB3Cj9@0N5p z`%6brnMn<`6RPO=wFg%tlnH@TU{tWFdO1pZ0fb)peN(C;$nA?b{~>lW(WORDncST( zNm{?=WgFLZHv;Geyg*xT`|Jy)mY84S;P=l@hlCxqZ%P7+?x}*QALoO004gPz`n+~$ zNAbA2s{0+1C@q}jna@+qJ#wB=R6HKOWUdI+z{fwYu_-EM3y|hL3GdJIDD`DZ^Ko^g z1^=aJNk3$36;5qedb3|pjQN=6t#C-BrK=diCAD`dl z$D%``-Q)P%_WfL?3WV3da?xR%Nh6vmHcY^}Btb0$4V+`k5ky(o@`uXsQhGGMLO_@I zoB09_r(}Ut=u|}jXONUu{14lKn&!K~v52-n35RJfvCc!*CBjb>U1!Ggg-^%!)S|Nj zi+3{J`L%^Aj|D?5+ll6saJn@a)Q`Qu7iseSc1o}k4+bh1rhYxn!8t=!g(1k(k5~?_ zba)A?B~!IY6^$EH0%N9_W$okA{5F>Oxs*jy3mvFa*(EXWHdj>m+R%x1WQX9<^SRow z+CDv`MSQ1TtKS_Px;9o&+qlnrA3mJ6eKTE0+{{;HwqyFE>H?ht%W*4V;&{VS;r~E zcZINR1k=qSzW-&o@bC|MuHC1^HjFd3fw!mD$$mnmIb>F%(*cP7tdT{*%-2oeq7!T* zcLVmvNk#GuiIun;LBoNE75h|91LUT0cUa7XMoW9EwZaK~mQz;$?|%y?#J2}clK=q5 z?SEc?^=BK{9TFe{LQ7$_7TIIqoqe_;eQ*^KTg3cn^46jaO@``TSUHdRMR8)!i=dw-v<;oc4z z83@ifwBArY9vyY0-gLRxH;})2_EMyzgj8zyu;jDuc9>dXRQ@W>mZ;Zxf`{}4y+)Co z2!9GUPNp1e{N72Int*Iw0P_4mOe+YH86*tA&&=vpd|}srX_AqbEZ-i4H8%;0kqu)X z_)#4D5q6Y#zmcb#pmp&{_oV-gIGAkvTtsb0S02qbZeu_5pGt-QK^Fp>1AM~-et`&M zOYIHT6L&MF+oOHRd=r)QO-hXz=3@-=*{EX|%(SB;!{6BzI4fq5zCFJpeyt#XchV(9 zS-Ck=V3-yQ=Z{2xwws{7n~W1}_V4|!l_;_JVS{2}mB_%;a^Z81f@psg1g0A{F-c|B zYcw5f!-L1Bn6&>cp3JEfJ6`ty-4th|>-}(Af3b;R z9U7aF;bF8#qqF;YDsb{;NkV&Zk9(FkM?bc`d1U(QSPBJe+L-k`EmuF6ntVpfvyL1r z#|EwBxVfNxG)km&D7}kM*^hQ@${fs0#`_?_ND~mx2dGeP6JB%y?^ns`@C|$oPx`*z z-Y1wgY>iDQ8`w4c-VaPz+yCa=XCyrno$ zqtow$zTpc&Qq9Lu4z351NqpmfGfMh}kfs!iE2=jBgF!@D4aJ@sWtZslw>k^KNKI%M z@y}Eb8*>5C`h4I>H1~%3-`=wq6t!qo$YrZ?PHQvgFN2QyUeHq3LHXyi9|P=%2*Q(_*3dw? z4l+10|J-e~nv_rT_Da31-{TCmsx|W%*+;v}{{$>}w7*2P!ZSH+;cQ9~x^bWT(cvKj zLt{7sIlz;Tzk8Kt{6s9e!2OVOUVx**9Jv>mjyR**9)Ak}-WCnSsXpJMN^WJ;jBu4V z9hV6EIH}P_ahJtMggpU+e&JQ}Jfqt;w4<8JF%tuCV~WmJBJjQ5FkTm~g!1G?1FW+u z)V>TaHx6sx3qn|F<6oV~H1Lp;E1vY#d-8QMTS8Y`c!>15*FWz|JzyyBJysF7k0U{T zAsIV31WQ47%DZPNP-zamXcJ zw)p&F9qF(jdU=O+;&6AQK9eM4|={p)ou({yZDVC`+y33w41 zH1th6MSvHTVv_!GVdob%`^ml2Q_R=yoRq8kH+YXG1`TiL-1s=%FcSB@=!iha$s_Pk ztU0aM?pk?+oET^g>P_WnJ;SjD*lP4a2syrA!R32E-kb$@+^_A6FaSSpmvrO$W;X4q zLRC+rDc3&Pes38eW=iFgt?r|C>We^P8lv25MGqmK0vlGr2x_MFU$mG6)3>npa){?F z!HeZ5-gYe9zztL$z|RH*hFk)K6YMTSe@#$+kyR}M`EICOh6!z8-sI1&bGLD4>hIcP zv3(*8^XuIDZJS}0JMFSwL&Fsddf*+zepE+F{!D9nBm>`5kvEQJW80F0y;zy}%}8x( z2(=e*!#5?v`asEWH18v!P+gOsTw{6?uj1&+F#hv1S))K=u6rs$bS5F-=_lY9(U2IU zT&Ti%2w0!6zI$D$IlC?5oO|!oMG1Q1^2<>dpKRbo{kmy*q#wXHSw^MQ_ssRflEy}!KU z!~=R!<=%09yNfi-pU4sTV9tC42OI(RVGcvi({sd0m9HMYiJDF#g7UA5=6&+3sWbThVPk zTh=PjoSN!ZDDp|vYhr7zC&4JYxnXS1mFq}gYDJJ=&$jVxQ_%mr<@gX{Aq-w98u9W+ RFaAJ)ytE3eLeePce*k&rUJw8P literal 10319 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 +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + #include "BinaryData.h" #if ! DONT_SET_USING_JUCE_NAMESPACE diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/ReadMe.txt b/examples/NetworkGraphicsDemo/JuceLibraryCode/ReadMe.txt index f6c3564e99..091a5aa6eb 100644 --- a/examples/NetworkGraphicsDemo/JuceLibraryCode/ReadMe.txt +++ b/examples/NetworkGraphicsDemo/JuceLibraryCode/ReadMe.txt @@ -2,11 +2,11 @@ Important Note!! ================ -The purpose of this folder is to contain files that are auto-generated by the Introjucer, +The purpose of this folder is to contain files that are auto-generated by the Projucer, and ALL files in this folder will be mercilessly DELETED and completely re-written whenever -the Introjucer saves your project. +the Projucer saves your project. Therefore, it's a bad idea to make any manual changes to the files in here, or to put any of your own files in here if you don't want to lose them. (Of course you may choose to add the folder's contents to your version-control system so that you can re-merge your own -modifications after the Introjucer has saved its changes). +modifications after the Projucer has saved its changes). diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_audio_basics.cpp b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_audio_basics.cpp new file mode 100644 index 0000000000..418694873c --- /dev/null +++ b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_audio_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_audio_basics.mm b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_audio_basics.mm new file mode 100644 index 0000000000..e0e6c577cc --- /dev/null +++ b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_audio_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_audio_devices.cpp b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_audio_devices.cpp new file mode 100644 index 0000000000..fb5c2219d7 --- /dev/null +++ b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_audio_devices.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_audio_devices.mm b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_audio_devices.mm new file mode 100644 index 0000000000..e58b67ea49 --- /dev/null +++ b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_audio_devices.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_audio_formats.cpp b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_audio_formats.cpp new file mode 100644 index 0000000000..a3c61170eb --- /dev/null +++ b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_audio_formats.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_audio_formats.mm b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_audio_formats.mm new file mode 100644 index 0000000000..f325b8fb67 --- /dev/null +++ b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_audio_formats.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_audio_processors.cpp b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_audio_processors.cpp new file mode 100644 index 0000000000..bfe172edd0 --- /dev/null +++ b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_audio_processors.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_audio_processors.mm b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_audio_processors.mm new file mode 100644 index 0000000000..b80ae9017f --- /dev/null +++ b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_audio_processors.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_audio_utils.cpp b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_audio_utils.cpp new file mode 100644 index 0000000000..97bd2c568c --- /dev/null +++ b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_audio_utils.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_audio_utils.mm b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_audio_utils.mm new file mode 100644 index 0000000000..8eae7c6e2f --- /dev/null +++ b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_audio_utils.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_core.cpp b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_core.cpp new file mode 100644 index 0000000000..d0ce1636f0 --- /dev/null +++ b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_core.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_core.mm b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_core.mm new file mode 100644 index 0000000000..72b10bf817 --- /dev/null +++ b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_core.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_cryptography.cpp b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_cryptography.cpp new file mode 100644 index 0000000000..10b3401dbe --- /dev/null +++ b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_cryptography.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_cryptography.mm b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_cryptography.mm new file mode 100644 index 0000000000..9311ea0ffe --- /dev/null +++ b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_cryptography.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_data_structures.cpp b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_data_structures.cpp new file mode 100644 index 0000000000..9315aa1686 --- /dev/null +++ b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_data_structures.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_data_structures.mm b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_data_structures.mm new file mode 100644 index 0000000000..695ec43925 --- /dev/null +++ b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_data_structures.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_events.cpp b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_events.cpp new file mode 100644 index 0000000000..1bba110a97 --- /dev/null +++ b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_events.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_events.mm b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_events.mm new file mode 100644 index 0000000000..4cc34fc401 --- /dev/null +++ b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_events.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_graphics.cpp b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_graphics.cpp new file mode 100644 index 0000000000..319c76de0e --- /dev/null +++ b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_graphics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_graphics.mm b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_graphics.mm new file mode 100644 index 0000000000..b28e6dd056 --- /dev/null +++ b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_graphics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_gui_basics.cpp b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_gui_basics.cpp new file mode 100644 index 0000000000..216c76bb05 --- /dev/null +++ b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_gui_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_gui_basics.mm b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_gui_basics.mm new file mode 100644 index 0000000000..6a9726fa5f --- /dev/null +++ b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_gui_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_gui_extra.cpp b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_gui_extra.cpp new file mode 100644 index 0000000000..7226e19833 --- /dev/null +++ b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_gui_extra.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_gui_extra.mm b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_gui_extra.mm new file mode 100644 index 0000000000..c9b6c3bfc6 --- /dev/null +++ b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_gui_extra.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_opengl.cpp b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_opengl.cpp new file mode 100644 index 0000000000..d9895bce92 --- /dev/null +++ b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_opengl.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_opengl.mm b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_opengl.mm new file mode 100644 index 0000000000..6c2c32d095 --- /dev/null +++ b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_opengl.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_osc.cpp b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_osc.cpp new file mode 100644 index 0000000000..0c3b9ae974 --- /dev/null +++ b/examples/NetworkGraphicsDemo/JuceLibraryCode/juce_osc.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h b/examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h deleted file mode 100644 index 9befea8142..0000000000 --- a/examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_basics/juce_audio_basics.h" diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h b/examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h deleted file mode 100644 index eba6d3a9e5..0000000000 --- a/examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_devices/juce_audio_devices.h" diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h b/examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h deleted file mode 100644 index 4629b0ef2c..0000000000 --- a/examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_formats/juce_audio_formats.h" diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h b/examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h deleted file mode 100644 index 7d4583dbf8..0000000000 --- a/examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_processors/juce_audio_processors.h" diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h b/examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h deleted file mode 100644 index bb997d30d3..0000000000 --- a/examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_utils/juce_audio_utils.h" diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_core/juce_core.h b/examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_core/juce_core.h deleted file mode 100644 index 06e88f9352..0000000000 --- a/examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_core/juce_core.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_core/juce_core.h" diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h b/examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h deleted file mode 100644 index e4574f4749..0000000000 --- a/examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_cryptography/juce_cryptography.h" diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h b/examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h deleted file mode 100644 index 9d814fd953..0000000000 --- a/examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_data_structures/juce_data_structures.h" diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_events/juce_events.h b/examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_events/juce_events.h deleted file mode 100644 index 509b1df8d2..0000000000 --- a/examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_events/juce_events.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_events/juce_events.h" diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_graphics/juce_graphics.h b/examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_graphics/juce_graphics.h deleted file mode 100644 index 28edbf35e3..0000000000 --- a/examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_graphics/juce_graphics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_graphics/juce_graphics.h" diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h b/examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h deleted file mode 100644 index 81ad4b7297..0000000000 --- a/examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_gui_basics/juce_gui_basics.h" diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h b/examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h deleted file mode 100644 index 5c9b7a96b5..0000000000 --- a/examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_gui_extra/juce_gui_extra.h" diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_opengl/juce_opengl.h b/examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_opengl/juce_opengl.h deleted file mode 100644 index 718392ff72..0000000000 --- a/examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_opengl/juce_opengl.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_opengl/juce_opengl.h" diff --git a/examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_osc/juce_osc.h b/examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_osc/juce_osc.h deleted file mode 100644 index 40bdd4441b..0000000000 --- a/examples/NetworkGraphicsDemo/JuceLibraryCode/modules/juce_osc/juce_osc.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_osc/juce_osc.h" diff --git a/examples/NetworkGraphicsDemo/NetworkGraphicsDemo.jucer b/examples/NetworkGraphicsDemo/NetworkGraphicsDemo.jucer index cccb1f10e9..4a0f0e2563 100644 --- a/examples/NetworkGraphicsDemo/NetworkGraphicsDemo.jucer +++ b/examples/NetworkGraphicsDemo/NetworkGraphicsDemo.jucer @@ -2,7 +2,7 @@ + includeBinaryInAppConfig="1" jucerVersion="4.2.0"> @@ -64,7 +64,7 @@ - + @@ -117,7 +117,9 @@ androidKeyStore="${user.home}/.android/debug.keystore" androidKeyStorePass="android" androidKeyAlias="androiddebugkey" androidKeyAliasPass="android" androidCpp11="1" targetFolder="Builds/AndroidStudio" androidSDKPath="" - androidNDKPath="" bigIcon="Ww6bQw" androidScreenOrientation="unspecified"> + androidNDKPath="" bigIcon="Ww6bQw" androidScreenOrientation="unspecified" + gradleVersion="2.10" gradleWrapperVersion="0.6.0-beta5" gradleToolchain="clang" + gradleToolchainVersion="3.6" buildToolsVersion="23.0.1"> diff --git a/examples/NetworkGraphicsDemo/Source/MasterComponent.h b/examples/NetworkGraphicsDemo/Source/MasterComponent.h index e2ebd84e66..03951ae619 100644 --- a/examples/NetworkGraphicsDemo/Source/MasterComponent.h +++ b/examples/NetworkGraphicsDemo/Source/MasterComponent.h @@ -59,7 +59,7 @@ struct MasterContentComponent : public Component, OSCReceiver::removeListener (this); } - //========================================================================== + //============================================================================== struct Client { String name, ipAddress; @@ -273,7 +273,7 @@ private: total.getY() + total.getHeight() * (p.y / getHeight()) }; } - //========================================================================== + //============================================================================== struct DeviceComponent : public Component { DeviceComponent (MasterContentComponent& e, String name) @@ -327,7 +327,7 @@ private: return nullptr; } - //========================================================================== + //============================================================================== void broadcastNewCanvasState (const MemoryBlock& canvasData) { BlockPacketiser packetiser; @@ -376,7 +376,7 @@ private: return nullptr; } - //========================================================================== + //============================================================================== void oscMessageReceived (const OSCMessage& message) override { auto address = message.getAddressPattern(); @@ -403,7 +403,7 @@ private: } } - //========================================================================== + //============================================================================== AnimatedContent* content = nullptr; PropertiesFile& properties; OwnedArray devices; diff --git a/examples/NetworkGraphicsDemo/Source/SlaveComponent.h b/examples/NetworkGraphicsDemo/Source/SlaveComponent.h index bbc6d3ce3b..0dfd5a2748 100644 --- a/examples/NetworkGraphicsDemo/Source/SlaveComponent.h +++ b/examples/NetworkGraphicsDemo/Source/SlaveComponent.h @@ -86,7 +86,7 @@ private: } } - //========================================================================== + //============================================================================== void oscMessageReceived (const OSCMessage& message) override { auto address = message.getAddressPattern(); @@ -121,7 +121,7 @@ private: } } - //========================================================================== + //============================================================================== String getMachineInfoToDisplay() const { //auto display = Desktop::getInstance().getDisplays().getDisplayContaining (getScreenBounds().getCentre()); diff --git a/examples/OSCMonitor/Builds/LinuxMakefile/Makefile b/examples/OSCMonitor/Builds/LinuxMakefile/Makefile index 0bdce8baa8..17f3ca0df6 100644 --- a/examples/OSCMonitor/Builds/LinuxMakefile/Makefile +++ b/examples/OSCMonitor/Builds/LinuxMakefile/Makefile @@ -1,5 +1,5 @@ -# Automatically generated makefile, created by the Introjucer -# Don't edit this file! Your changes will be overwritten when you re-save the Introjucer project! +# Automatically generated makefile, created by the Projucer +# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project! # (this disables dependency generation if multiple architectures are set) DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) @@ -50,20 +50,20 @@ endif OBJECTS := \ $(OBJDIR)/Main_90ebc5c2.o \ - $(OBJDIR)/juce_audio_basics_399a455e.o \ - $(OBJDIR)/juce_audio_devices_c1c9ba9c.o \ - $(OBJDIR)/juce_audio_formats_f04b043c.o \ - $(OBJDIR)/juce_audio_processors_eb9ae116.o \ - $(OBJDIR)/juce_core_1ee54a40.o \ - $(OBJDIR)/juce_cryptography_3b1f489a.o \ - $(OBJDIR)/juce_data_structures_84790dfc.o \ - $(OBJDIR)/juce_events_584896b4.o \ - $(OBJDIR)/juce_graphics_f9afc18.o \ - $(OBJDIR)/juce_gui_basics_90929794.o \ - $(OBJDIR)/juce_gui_extra_b81d9e1c.o \ - $(OBJDIR)/juce_opengl_1890bee0.o \ - $(OBJDIR)/juce_osc_72ef0f3c.o \ - $(OBJDIR)/juce_video_86a19d3c.o \ + $(OBJDIR)/juce_audio_basics_6b797ca1.o \ + $(OBJDIR)/juce_audio_devices_a742c38b.o \ + $(OBJDIR)/juce_audio_formats_5a29c68a.o \ + $(OBJDIR)/juce_audio_processors_dea3173d.o \ + $(OBJDIR)/juce_core_75b14332.o \ + $(OBJDIR)/juce_cryptography_6de2ebff.o \ + $(OBJDIR)/juce_data_structures_72d3da2c.o \ + $(OBJDIR)/juce_events_d2be882c.o \ + $(OBJDIR)/juce_graphics_9c18891e.o \ + $(OBJDIR)/juce_gui_basics_8a6da59c.o \ + $(OBJDIR)/juce_gui_extra_4a026f23.o \ + $(OBJDIR)/juce_opengl_cd70b4c2.o \ + $(OBJDIR)/juce_osc_be4cee16.o \ + $(OBJDIR)/juce_video_f128c512.o \ .PHONY: clean @@ -87,72 +87,72 @@ $(OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp @echo "Compiling Main.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_basics_399a455e.o: ../../../../modules/juce_audio_basics/juce_audio_basics.cpp +$(OBJDIR)/juce_audio_basics_6b797ca1.o: ../../JuceLibraryCode/juce_audio_basics.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_audio_basics.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_devices_c1c9ba9c.o: ../../../../modules/juce_audio_devices/juce_audio_devices.cpp +$(OBJDIR)/juce_audio_devices_a742c38b.o: ../../JuceLibraryCode/juce_audio_devices.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_audio_devices.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_formats_f04b043c.o: ../../../../modules/juce_audio_formats/juce_audio_formats.cpp +$(OBJDIR)/juce_audio_formats_5a29c68a.o: ../../JuceLibraryCode/juce_audio_formats.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_audio_formats.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_processors_eb9ae116.o: ../../../../modules/juce_audio_processors/juce_audio_processors.cpp +$(OBJDIR)/juce_audio_processors_dea3173d.o: ../../JuceLibraryCode/juce_audio_processors.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_audio_processors.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_core_1ee54a40.o: ../../../../modules/juce_core/juce_core.cpp +$(OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_core.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_cryptography_3b1f489a.o: ../../../../modules/juce_cryptography/juce_cryptography.cpp +$(OBJDIR)/juce_cryptography_6de2ebff.o: ../../JuceLibraryCode/juce_cryptography.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_cryptography.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_data_structures_84790dfc.o: ../../../../modules/juce_data_structures/juce_data_structures.cpp +$(OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_data_structures.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_events_584896b4.o: ../../../../modules/juce_events/juce_events.cpp +$(OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_events.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_graphics_f9afc18.o: ../../../../modules/juce_graphics/juce_graphics.cpp +$(OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_graphics.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_basics_90929794.o: ../../../../modules/juce_gui_basics/juce_gui_basics.cpp +$(OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_gui_basics.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_extra_b81d9e1c.o: ../../../../modules/juce_gui_extra/juce_gui_extra.cpp +$(OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_gui_extra.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_opengl_1890bee0.o: ../../../../modules/juce_opengl/juce_opengl.cpp +$(OBJDIR)/juce_opengl_cd70b4c2.o: ../../JuceLibraryCode/juce_opengl.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_opengl.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_osc_72ef0f3c.o: ../../../../modules/juce_osc/juce_osc.cpp +$(OBJDIR)/juce_osc_be4cee16.o: ../../JuceLibraryCode/juce_osc.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_osc.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_video_86a19d3c.o: ../../../../modules/juce_video/juce_video.cpp +$(OBJDIR)/juce_video_f128c512.o: ../../JuceLibraryCode/juce_video.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_video.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" diff --git a/examples/OSCMonitor/Builds/MacOSX/Info.plist b/examples/OSCMonitor/Builds/MacOSX/Info-App.plist similarity index 89% rename from examples/OSCMonitor/Builds/MacOSX/Info.plist rename to examples/OSCMonitor/Builds/MacOSX/Info-App.plist index 1a7dffb802..f1dd7a4e4f 100644 --- a/examples/OSCMonitor/Builds/MacOSX/Info.plist +++ b/examples/OSCMonitor/Builds/MacOSX/Info-App.plist @@ -11,6 +11,8 @@ $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName OSCMonitor + CFBundleDisplayName + OSCMonitor CFBundlePackageType APPL CFBundleSignature diff --git a/examples/OSCMonitor/Builds/MacOSX/OSCMonitor.xcodeproj/project.pbxproj b/examples/OSCMonitor/Builds/MacOSX/OSCMonitor.xcodeproj/project.pbxproj index 78d89b8c24..d73bdccbb1 100644 --- a/examples/OSCMonitor/Builds/MacOSX/OSCMonitor.xcodeproj/project.pbxproj +++ b/examples/OSCMonitor/Builds/MacOSX/OSCMonitor.xcodeproj/project.pbxproj @@ -6,6 +6,7 @@ objectVersion = 46; objects = { + 1EC44BDE4227F2C966B75725 = {isa = PBXBuildFile; fileRef = 1997CE41947A0FA3AE6FD84C; }; EEF1C1AC7B804FD1DD290FF3 = {isa = PBXBuildFile; fileRef = 9919E2B6BB47D980D2621E05; }; 8F90CDDE444EA79E66718A5B = {isa = PBXBuildFile; fileRef = FBA6EB8BE426F4B718F80127; }; 0D4B330237E806FD83EAE57F = {isa = PBXBuildFile; fileRef = A00D6A45BDF5A73D8280A716; }; @@ -21,20 +22,20 @@ 98B1D424886DEABF643565CA = {isa = PBXBuildFile; fileRef = 943E32EC90312A13809CBE1E; }; FD37894ABB22F3806BDB6DD2 = {isa = PBXBuildFile; fileRef = 6C4247B39550441A1914323B; }; 7DF7FC3F321D0FD106D22923 = {isa = PBXBuildFile; fileRef = FF808EBE29B18293E3FD55CC; }; - BD5C684D3A60BDB042060A23 = {isa = PBXBuildFile; fileRef = 2FD05BF82591C31E51A38F00; }; - C4D38F6E6749FBACFF001A10 = {isa = PBXBuildFile; fileRef = 773E3BE403111A26BBE44585; }; - D1E210046EF972A95A802706 = {isa = PBXBuildFile; fileRef = A8AF947903C0976A1D45F0B2; }; - 273D90076BBBE09DE2821C39 = {isa = PBXBuildFile; fileRef = 7A8F1905710789B01FE1A14D; }; - 22ECF5DF869E447330382F21 = {isa = PBXBuildFile; fileRef = 139FE5BDC0CAD41194997C43; }; - AE4AA1DE338E42D9FA4126C1 = {isa = PBXBuildFile; fileRef = FC0949070ED3A847CF1BD5E3; }; - 9637EFB5B5F4341293C72651 = {isa = PBXBuildFile; fileRef = A066C539AE34EB28990E01CC; }; - C97F6597371CA28BCD13C0EB = {isa = PBXBuildFile; fileRef = 38FDAC6BD78D0C9CA797194F; }; - 317574CF4354EDEB82DBEE1E = {isa = PBXBuildFile; fileRef = D4BC5051ED3495BE68FF2D8B; }; - 7B6ACF90444EAC6F68C5DE8A = {isa = PBXBuildFile; fileRef = 58F833B530C1A1C3E615379F; }; - D8EB553568FABA6181CF9FCC = {isa = PBXBuildFile; fileRef = BE358E16CD9B3BC47DF0087B; }; - 69F96C38DB4723DC773362DA = {isa = PBXBuildFile; fileRef = A2989A2A41C59268D97EC910; }; - 687678AFAE5C56E56897B7C0 = {isa = PBXBuildFile; fileRef = C175252F593D94B80BDD21DA; }; - 07E135F3D15D36D5616FEF5D = {isa = PBXBuildFile; fileRef = B1039CCF4C73FC87D5BC3091; }; + 4161D885F4EF73853A759DDA = {isa = PBXBuildFile; fileRef = E5C25ABB003D5F9C6D58BE2A; }; + 654B0029D86EAA3F9E3A27DF = {isa = PBXBuildFile; fileRef = 4D77A8BFDA705927E9B26637; }; + DAB08978859FA8E7DE0C3F49 = {isa = PBXBuildFile; fileRef = 452FF66F5ECEFB9D0747D412; }; + E2F98B9B2BE5DCA6C4D73193 = {isa = PBXBuildFile; fileRef = 964377373F79A564617FC8BF; }; + B451A646FA950AE59A82D6FB = {isa = PBXBuildFile; fileRef = 65C54952AD6FB91B5A53C42E; }; + 3D0BBCE1E6289CBE199158D0 = {isa = PBXBuildFile; fileRef = C2A055A5DEB87F760C7097EA; }; + 32A991FB1694184F1B6AB82E = {isa = PBXBuildFile; fileRef = D3A787A9E9D07FFA2A3F6747; }; + C67B280EEB8B22E3F7805BAB = {isa = PBXBuildFile; fileRef = 394FB5F7B6ED8E4C33B36C16; }; + 09F61371AC5E6047C8D2AC9F = {isa = PBXBuildFile; fileRef = 2C2AD216F900AEB159EC7F9E; }; + B10116DA9DE37F07FCBF1518 = {isa = PBXBuildFile; fileRef = 88A0A3978080EF570739579F; }; + 24C280399D78BDF81F61AC52 = {isa = PBXBuildFile; fileRef = 87A901FB0499893CF1968E6D; }; + A32CF9A4E8CD54E5086D4842 = {isa = PBXBuildFile; fileRef = 14667EACB70B87CC667DA9E3; }; + C06DB40E4B34BB54DC18171B = {isa = PBXBuildFile; fileRef = B4CC1FBD4908C619AEF5E606; }; + 700E7E1757F459EAB6321E27 = {isa = PBXBuildFile; fileRef = 1E7D92143CA289DD3F8B9F32; }; 001CDEAF55B56911FAD8318B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 0038CF3465731B5F257EF8F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserBase.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h"; sourceTree = "SOURCE_ROOT"; }; 0040EFFA55DA79672691E1C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -49,7 +50,6 @@ 03B225BB600FDB2D5B519425 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; 0431F5F5E10097114C967F46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLAppComponent.cpp"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 04A8474539F4B563BECE244C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; - 04D4E9B7A6AF0183A58EA686 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_formats/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 05527C29D68C389FFFDB6A4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; 0635718F78505B87C8C45C5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 07D9756CD40A2257CE645AFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; }; @@ -97,12 +97,11 @@ 114FD2DCD1960985015BDBBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NewLine.h"; path = "../../../../modules/juce_core/text/juce_NewLine.h"; sourceTree = "SOURCE_ROOT"; }; 11BFCB057E970443884A815F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; 125ED32378DB28BA2C200408 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 139FE5BDC0CAD41194997C43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; 13F0E0ABB01B5C8DD425DBA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; 13FB39F0D297AA9A43ECA535 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; }; - 13FB921BD5364A43A3F186FE = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_cryptography/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 14014CC2072B573B06CB807E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; }; 1415A47484CF06AD685207A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; + 14667EACB70B87CC667DA9E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../JuceLibraryCode/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; 149C09A7B2DEED4AD3EAD71C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiFile.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.h"; sourceTree = "SOURCE_ROOT"; }; 14E16FA0B7973302A103B6CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; }; 1560985E2151FB5F22125149 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -127,6 +126,7 @@ 18B177F15EE47BE1AC851939 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiInput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h"; sourceTree = "SOURCE_ROOT"; }; 18CC1A6ADE609D201246E73A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; }; 18E270003975EC1D65BF82A8 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; }; + 1997CE41947A0FA3AE6FD84C = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = OSCMonitor.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; 19C4CDE07CD0E4BDC7C692CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; }; 19CB55D9BA33A4DFBB8A1E1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; 1A16E6185A85FAE540D39AC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -155,6 +155,7 @@ 1DF63834B9F72A20A19304D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; }; 1E40098BCA096EB5C9C6596D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextInputTarget.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h"; sourceTree = "SOURCE_ROOT"; }; 1E4426BD77F191D9FBE4FBDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReverbAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 1E7D92143CA289DD3F8B9F32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../JuceLibraryCode/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; 1E805AE9C0B42D966358C6D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; }; 1F249E983E9D32170A294720 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioUnitPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; 1F2CE673570F6C544FD544B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLContext.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h"; sourceTree = "SOURCE_ROOT"; }; @@ -164,7 +165,6 @@ 202FB43CE815BDDC72033A33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; }; 205318E4898CC1F92C3C97D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; }; 2061C6D4734E37456BE3B024 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; - 2072900E34F05ADC7F5BD2F5 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 20F4B4F3EDE99C7268219EAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; }; 21063ABF3276DB8C881A3364 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MD5.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_MD5.cpp"; sourceTree = "SOURCE_ROOT"; }; 210D71F83AC8AA19B8348253 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreMidi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -201,13 +201,13 @@ 2B24BCDFDECF4F9FD9085E45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; 2B2DA01B33D1617803EC767A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; 2C23A15BD379D6830DC85532 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2C2AD216F900AEB159EC7F9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../JuceLibraryCode/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; 2C328C778C699B1D78960D51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; 2C3A99F8E7B710927DDF6E07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; }; 2D1F2FEE1558A791E34C23C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCReceiver.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCReceiver.cpp"; sourceTree = "SOURCE_ROOT"; }; 2D72AC40DE6A6B5A2047486B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; }; 2D9688E230C7538076F08CC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 2E6360B62CFFED4839F7961C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; - 2EAC10EC519F9E28F01F6628 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_video/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 2EDDE759F2DBB4A868B10B40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; 2EF44D79A4A11BF6029C4742 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; }; 2F13071B3F288C3AA6842EF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; @@ -215,7 +215,6 @@ 2F66E4233B555D2540EC85B6 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; 2F98CF9FAA743BAD7EE2F9D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 2FB51B1963A69B4459AE782B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; }; - 2FD05BF82591C31E51A38F00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 3021FFB15274AFADF46F88BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CPlusPlusCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; 303CADB9CCF5F27F42833B32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooserDialogBox.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h"; sourceTree = "SOURCE_ROOT"; }; 306F25437106318BD777BF09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; @@ -232,6 +231,7 @@ 34F963D9423350CC9BC1AA2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; }; 34FF146BAA928F94CC4333C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; 3549DE9F591020FB503F36C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 358B56F4E9EADBE499A6E4AC = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-App.plist"; path = "Info-App.plist"; sourceTree = "SOURCE_ROOT"; }; 35BF7EA4D9297B11F5682DA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; }; 3640E214F8BEDF8E89FC914D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; }; 3692F9744F63568BB55C5832 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -245,7 +245,7 @@ 386AAACD51CB0D292C12100A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; 387FF82B5F100F68D12B51EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_QuickTimeMovieComponent.mm"; path = "../../../../modules/juce_video/native/juce_mac_QuickTimeMovieComponent.mm"; sourceTree = "SOURCE_ROOT"; }; 38ED0FC14CFE9864E4DEF269 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZoneLayout.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; - 38FDAC6BD78D0C9CA797194F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; + 394FB5F7B6ED8E4C33B36C16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; 39D1D5605F6A04795AF73812 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; }; 39DA57397F102CACE67EF508 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; }; 39DBAD73C57C90B15E72C198 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -294,6 +294,7 @@ 44F83C6ACE70D7CB9A40088D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; }; 4513B5D3187CB98C1155F3C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; }; 4526D885A0A759D82686539B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; }; + 452FF66F5ECEFB9D0747D412 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../JuceLibraryCode/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; 455A271D79613442DA6954A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 45C4BCCF0DC3E414644BA6F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; 45DF47F918E119829B97D35B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -314,7 +315,6 @@ 4A2ADAE7C7EA0DF38808E698 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; 4AA78CFAB63A32A600401439 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; }; 4AB8AA9C00AABD642EB89226 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiBuffer.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4AFE98947E77FA1290C3A8C4 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_data_structures/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 4B153C1FBEAC8C5E5511C0E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; }; 4B53D7057784C151C6B2A983 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; 4BBEF84CE407FC573032E7F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; }; @@ -322,6 +322,7 @@ 4C1E136AF707D37EB04FCD20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; }; 4C494940FDF1677137F47A87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; }; 4D1D1974424944E09F462A6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 4D77A8BFDA705927E9B26637 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../JuceLibraryCode/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; 4D8A9482F14C2B3F4DFC88D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; 4D905DF5C99A1F7338529C69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 4D9CE24E398FBF5424988A63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -371,14 +372,12 @@ 57E9A871D4F8D8877C4DB69E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 58807FAE2F1BDA3631CA0A12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReaderSource.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 58C28CA4617075BAB7A8038D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; }; - 58F833B530C1A1C3E615379F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 595D85E469F5D38B7266235E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; }; 59E652109EE2C2D27F2226B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; }; 5A0888C5A02B58EC0381072C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DeletedAtShutdown.h"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h"; sourceTree = "SOURCE_ROOT"; }; 5A229A581FCDB644F5C09BA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NotificationType.h"; path = "../../../../modules/juce_events/messages/juce_NotificationType.h"; sourceTree = "SOURCE_ROOT"; }; 5A5ADA094E5B624945CBBF75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; }; 5AFB16D313DC6350923E2F45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Font.h"; path = "../../../../modules/juce_graphics/fonts/juce_Font.h"; sourceTree = "SOURCE_ROOT"; }; - 5CB78AA388C4618C4468DB1C = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_extra/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 5D000081426F2E6FAE839D10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterInt.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h"; sourceTree = "SOURCE_ROOT"; }; 5D2F8A2AC5001B3F52E0C2B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_processors.h"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.h"; sourceTree = "SOURCE_ROOT"; }; 5DB90CF44731234A5B96E735 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -391,7 +390,6 @@ 5F5892878D743241AA1180D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; 5F6EFEBA2B9FBD64657D359F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; }; 60043D7873D72D6079E8C0E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScrollBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h"; sourceTree = "SOURCE_ROOT"; }; - 6049B54C8174211B60B2A055 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_processors/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 60B2246A7EB6823F13BBB690 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; }; 60C9D9BFE0E03F49685966C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; }; 60DB2A4DF3A5EF35DA70B4F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; @@ -404,7 +402,6 @@ 62D2F5391286CA7B98812D49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 62DF30A0CE4D887A5C0D4699 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 637F50C2A71D1F082EF59D2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODevice.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp"; sourceTree = "SOURCE_ROOT"; }; - 63B71455C122FC45B51802A5 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_osc/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 63CD373EBD8C663E48EAB6B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; }; 63D2D0BAF12BD5F0A74CCCC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; 642F05C6BA421FDC6725C57F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -413,6 +410,7 @@ 64DF4CCB05CC450AA96783CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; }; 656F956C47B9E1133FCD552D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; }; 658FEA554F26F5E68B8D57AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; }; + 65C54952AD6FB91B5A53C42E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; 65C6416A76A5AAC3CED238A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODeviceType.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h"; sourceTree = "SOURCE_ROOT"; }; 65ECEC24C06ECD557C27C1E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DeletedAtShutdown.cpp"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp"; sourceTree = "SOURCE_ROOT"; }; 66678F43F8D1DADD5294A609 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; }; @@ -421,7 +419,6 @@ 67CCE113486A1D392EF2DB0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; }; 68A4E22DDB4CED69F96A6259 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LagrangeInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; 68B3255F10534CD67E0CE011 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; - 68B582809A191485E9FD4D4C = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 690DA03D7108D91BE5A4768F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; 6913045C1CB139191111F55B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OSCAddress.h"; path = "../../../../modules/juce_osc/osc/juce_OSCAddress.h"; sourceTree = "SOURCE_ROOT"; }; 692627CFC92BF14B41EB5C53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -480,7 +477,6 @@ 769398735D0B51EF63C3A592 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; 76E2B0D040E119676ED7269C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; }; 773C5672A3C84C3378DFF981 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; - 773E3BE403111A26BBE44585 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; 77675F0CF9463BE424DC6483 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp"; sourceTree = "SOURCE_ROOT"; }; 779406AD9AC0E63313EA2EF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; 781F3993397D6162EB946821 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; }; @@ -494,7 +490,6 @@ 7A412996BF0FAC2277DE0103 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; }; 7A6E65ABAE14B7BA74AA0312 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; }; 7A701FE93EC4054A887A0229 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; - 7A8F1905710789B01FE1A14D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; 7AB7C52E9663FFAC21F1EA8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; }; 7AE5E470BD361C4329C2D2F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; }; 7B61FA627D4BDEC49D5F8BED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterFloat.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h"; sourceTree = "SOURCE_ROOT"; }; @@ -505,7 +500,6 @@ 7D89CB30EB93482F4129DCB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODeviceType.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp"; sourceTree = "SOURCE_ROOT"; }; 7D8E9CBB28B2F797833432AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; 7E358C7894FDBB00F8AA46DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; }; - 7E4550501E5A54888E7ED351 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_core/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 7E55B133BC24C97C51E5C879 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameterWithID.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h"; sourceTree = "SOURCE_ROOT"; }; 7E75ED738B0C5B23921807B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; }; 7EB94A8A33CC592A2A77A907 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -541,9 +535,11 @@ 870AEADDF5565056C9C95C60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; 8779BA1B52DB30945634F123 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h"; sourceTree = "SOURCE_ROOT"; }; 878B788045E7B04643D720F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; }; + 87A901FB0499893CF1968E6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; 881A06BE765B73B152D535C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_OpenSL.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp"; sourceTree = "SOURCE_ROOT"; }; 885DA9E9CF0C71C454630FB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 88964E03F3F86CDCA280D3CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3PluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 88A0A3978080EF570739579F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 88C4A682645BAB27918F50A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; 88DE251DF6AE9B26738AE499 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; 897EBF1E16066819F60D126A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -596,17 +592,16 @@ 950402C14F0031033AB280CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; }; 9515301F2975CE5A3A711331 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 95C8952F136BC7624DF21336 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PixelFormats.h"; path = "../../../../modules/juce_graphics/colour/juce_PixelFormats.h"; sourceTree = "SOURCE_ROOT"; }; + 964377373F79A564617FC8BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../JuceLibraryCode/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; 965994E01B22C3AF860CBAF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 968B57E185735EB4E9741976 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; }; 969DA55116588E8128A371FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; - 97067F1023B8787E7201D27D = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_events/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 977803830BEAC865D76D61F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorGraph.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h"; sourceTree = "SOURCE_ROOT"; }; 97E6D86C6D21F28543D1FA94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; }; 989F074217A5699F87FBD4F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 98BA34D00AABD12B7DD3A555 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemFactory.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h"; sourceTree = "SOURCE_ROOT"; }; 98FDCF7E5366C838F4A7748D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FFT.h"; path = "../../../../modules/juce_audio_basics/effects/juce_FFT.h"; sourceTree = "SOURCE_ROOT"; }; 9919E2B6BB47D980D2621E05 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; - 9949A38A5C0D1EC7B1E17714 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_devices/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 999FDE6BFC1818FA66547503 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; }; 99ABAD8E303465C39B19ACD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; }; 9A794173272771D15A53CCAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -644,7 +639,6 @@ A00D6A45BDF5A73D8280A716 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; A01EB53B96D357E450A1F030 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; A02347C6F4CD5616A88CB46C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; }; - A066C539AE34EB28990E01CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; A080B7644BB3E206CC08233B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; A09D6B41EBAAB68870731791 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZone.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.cpp"; sourceTree = "SOURCE_ROOT"; }; A0C485BE0290D4F19C951DD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLAppComponent.h"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -652,7 +646,6 @@ A0E5EA3EBDEBD6CC655D8C8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; }; A14832120E275AA681CA6A9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTreeSynchroniser.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h"; sourceTree = "SOURCE_ROOT"; }; A1577236843E6EDE602A891E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; }; - A2989A2A41C59268D97EC910 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../../../modules/juce_opengl/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; A2E5BFBBD60FA9648AC987BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; }; A408267C8C1A891DB7E1FA96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageCollector.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"; sourceTree = "SOURCE_ROOT"; }; A45144F7AA2A065205E6EF69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -669,7 +662,6 @@ A7CFE8BEA5AE971046F6ED07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; A86BA293740A836D28E4227D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceManager.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h"; sourceTree = "SOURCE_ROOT"; }; A89117012B929E6A602169C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; }; - A8AF947903C0976A1D45F0B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; A9429C185C35AB3C5B9C1364 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; }; A978950359CE60EE16EDD405 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; }; A9E8612B1DAFE0F39B1978C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; }; @@ -697,7 +689,6 @@ B08BCBEBE861F2E50007F8A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; }; B0CC31C7BD577C3F7AFCCD70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; }; B100A0B6EF7A3B7828DBD3CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - B1039CCF4C73FC87D5BC3091 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../../../modules/juce_video/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; B1391BA65BDF4C22431CE383 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; B1D39416372433D93B025EFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; }; B20E5FADE096019409390991 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -712,6 +703,7 @@ B41C992889141DD21A0007F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; }; B467F12B062575F1ACDF0724 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Whirlpool.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_Whirlpool.cpp"; sourceTree = "SOURCE_ROOT"; }; B48D54221C972777DB5E1DB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + B4CC1FBD4908C619AEF5E606 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_osc.cpp"; path = "../../JuceLibraryCode/juce_osc.cpp"; sourceTree = "SOURCE_ROOT"; }; B54D0E306C7DC81E7386C43B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; B5DE2E4BE83FF38AECFD6508 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; B5E07F627720E85BD6EB9C86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CatmullRomInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; @@ -751,16 +743,15 @@ BD4FD4732B0E4BD368F5B898 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLShaderProgram.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h"; sourceTree = "SOURCE_ROOT"; }; BD92453FE23A75ACF72FA6E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LADSPAPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; BDD3DED63DF7E85212EFC4DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; }; - BE358E16CD9B3BC47DF0087B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; BF3DCB21936F33AD0E45FC71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; }; BFBC6C8A6354FF5E99C94B7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; }; BFC095C3F3183BD4D874A669 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; }; BFCA4A5C80FF0F33F4CCBA24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; }; C0C1B6D7FB705FEF09B3D9E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; }; C168C173BF39312F42E695A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; }; - C175252F593D94B80BDD21DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_osc.cpp"; path = "../../../../modules/juce_osc/juce_osc.cpp"; sourceTree = "SOURCE_ROOT"; }; C1883D8A4315CD8DDF216DDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; C274477CF75CDD73B30E28C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; }; + C2A055A5DEB87F760C7097EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../JuceLibraryCode/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; C36FC32C2DF5CCB4A90306E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameter.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h"; sourceTree = "SOURCE_ROOT"; }; C41913780AA61B40B03B3D11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; }; C421BDB19B769FD6AF0183C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -815,9 +806,9 @@ D210CB0CE46A33BE0D8DB974 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; }; D22729A94EB5BD43F30295CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; D279F10A83EBFCB58B0FB7F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OSCSender.h"; path = "../../../../modules/juce_osc/osc/juce_OSCSender.h"; sourceTree = "SOURCE_ROOT"; }; + D3A787A9E9D07FFA2A3F6747 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; D3D9A723D24696D5AAF83BB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; }; D4AC0E3C702771BD4F09BA80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatWriter.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h"; sourceTree = "SOURCE_ROOT"; }; - D4BC5051ED3495BE68FF2D8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; D54133C053FD60BD3111440B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsPostScriptRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; D54873C8E2887BB1D4DDE0F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MP3AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; D6337E387A9C8DA80B7F9BEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; }; @@ -867,10 +858,10 @@ E4FF14B9F3E8708E8F2C160B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; }; E56B74585A437DC40DE78032 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; E59938EF72B9B1399F6252E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; }; + E5C25ABB003D5F9C6D58BE2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../JuceLibraryCode/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; E60695026D59B6B4C943E0D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Whirlpool.h"; path = "../../../../modules/juce_cryptography/hashing/juce_Whirlpool.h"; sourceTree = "SOURCE_ROOT"; }; E666EE471054BED56ABCD6C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OSCBundle.h"; path = "../../../../modules/juce_osc/osc/juce_OSCBundle.h"; sourceTree = "SOURCE_ROOT"; }; E684B32B706CB744D57256FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; - E75226FF57885A514E8128D0 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_graphics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; E7680CBA50F9F4A7D36892EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_cryptography.h"; path = "../../../../modules/juce_cryptography/juce_cryptography.h"; sourceTree = "SOURCE_ROOT"; }; E789357E2269F92C3A3E1AA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; }; E85D8CB4A146F9C3206BECB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -905,7 +896,6 @@ EF6E0AA7622256AD0A0F2DDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; }; EFD08844B4C9B4D00BC29DE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; F00A1CB03429A2883406C75E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; }; - F012F49A6D4DCAA388F4D896 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = "SOURCE_ROOT"; }; F02694B234A3FE3D1AA45DE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCAddress.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; F07E3DE303038428046BA4EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyListener.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h"; sourceTree = "SOURCE_ROOT"; }; F08B17728A87983E8743C500 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -924,6 +914,7 @@ F3691DDD08C473863F673CE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AiffAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; F3A189308CF5A0991275E951 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; }; F3BD7F962B365E0BCBFBBE12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; }; + F40305BC0F95331D37275E1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; F4111DD5E733F14EE13E6A91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; }; F424523A813298D45AF5609F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; }; F49B8A85A34D03B31B93A9A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; }; @@ -935,30 +926,26 @@ F631816532F24F531A68C53B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; F63E9A6CE243E37C5DC0FB29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; F64126345166E6E1761529E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; + F6DCAB7976BCD183C3344C3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; }; F6E52A81F4C3BA9C7B2972F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; }; F79F6DDBB0986E4830F4B721 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; }; F7FB0C6EC3A1C9DFDF4B0B5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; }; F826E94660C9F7EA2FA0D9F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Sampler.h"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.h"; sourceTree = "SOURCE_ROOT"; }; F82ADD6B9B6CCEA8EAE47381 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; }; - F85382AE96E54025DE76920C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; - F992CDC031E3207C1FA3D434 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; - F9A232538E8082942E3BE8EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; }; - FBA6EB8BE426F4B718F80127 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; - A047FB322984257B904B6C5C = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = OSCMonitor.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; - F40305BC0F95331D37275E1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; - F6DCAB7976BCD183C3344C3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; }; - F7B3F2B1489E2F4785C3EB70 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_opengl/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; F82AF592E54CB6318732A505 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserVoice.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp"; sourceTree = "SOURCE_ROOT"; }; F82F982C0EF7007112D3E6E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; }; + F85382AE96E54025DE76920C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; F9770C78FDCB76D2E70E984E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CameraDevice.mm"; path = "../../../../modules/juce_video/native/juce_mac_CameraDevice.mm"; sourceTree = "SOURCE_ROOT"; }; + F992CDC031E3207C1FA3D434 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; + F9A232538E8082942E3BE8EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; }; FA32FB49615A3B0E9086BA9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; FAC1B3D8FEB61B8A892C47DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; }; FB278F50B3A1F911E8D74E39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; }; FB3FB21E5BD47C02184247D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SHA256.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp"; sourceTree = "SOURCE_ROOT"; }; FB8CC2AAE7DE5B1322BEBBA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; }; + FBA6EB8BE426F4B718F80127 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; FBAC0AF23CF55B44D5862219 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; }; FBEB9027B0B573C67835E318 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; }; - FC0949070ED3A847CF1BD5E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../../../modules/juce_cryptography/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; FC404EDC4C79CF946E92E80F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; FC605ECBC8125885D00D0526 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; }; FC652BDD925087B1C5138EFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -1060,9 +1047,12 @@ EEC31DD5BC0144A1929F8DCE, BF272CF14F80BCFAD73C6A69, CA483CF50DDC0B6B3029BDA4, - 68B582809A191485E9FD4D4C, BC999BF11EAB7650B8287BCE, ); name = "juce_audio_basics"; sourceTree = ""; }; - 03B180A17D427308EEC6696B = {isa = PBXGroup; children = ( + 39226AEFD491AC75C3BEA407 = {isa = PBXGroup; children = ( + 15FA0D0EEA50529921168B25, + F602B7C59298D4C2E97F1B8E, + 78846FAD89A8024C2DF4A5B6, ); name = "audio_cd"; sourceTree = ""; }; + A0F508A8360D204B3E045B0C = {isa = PBXGroup; children = ( B290C41D6E05CBBA547F1E66, A86BA293740A836D28E4227D, 637F50C2A71D1F082EF59D2B, @@ -1070,22 +1060,13 @@ 7D89CB30EB93482F4129DCB3, 65C6416A76A5AAC3CED238A7, 4F4C2EF98147FF8D605E6D96, ); name = "audio_io"; sourceTree = ""; }; - 1DAD20199A6085A2557A5F2E = {isa = PBXGroup; children = ( + 1174579D14733A68DB3C44FE = {isa = PBXGroup; children = ( 18B177F15EE47BE1AC851939, A408267C8C1A891DB7E1FA96, A1577236843E6EDE602A891E, 0FDDEBCE30FA3E3075335D3C, 41D2304F199FBBD3FC33822D, ); name = "midi_io"; sourceTree = ""; }; - F0EF1051D859662D5EA66ED1 = {isa = PBXGroup; children = ( - F992CDC031E3207C1FA3D434, - 8779BA1B52DB30945634F123, - C91F9DCA97F600ABCBAE6D7F, - 0F811AEF01714D0718673F96, ); name = sources; sourceTree = ""; }; - 7766FD569C6F360797B4985D = {isa = PBXGroup; children = ( - 15FA0D0EEA50529921168B25, - F602B7C59298D4C2E97F1B8E, - 78846FAD89A8024C2DF4A5B6, ); name = "audio_cd"; sourceTree = ""; }; - DC66A5183DDABF2806F149DC = {isa = PBXGroup; children = ( + 7F42173E63D4FEA0CDF181B2 = {isa = PBXGroup; children = ( 8653A0233F520EA2BFD80046, 42A0DA889B07E54F7705AE59, 881A06BE765B73B152D535C9, @@ -1105,31 +1086,19 @@ 50CF4C6188B65866FCB2F4BE, 78696C016F20378383635650, 47D3A79943D449E43F412A21, ); name = native; sourceTree = ""; }; + 448A3C021022B2E278D60003 = {isa = PBXGroup; children = ( + F992CDC031E3207C1FA3D434, + 8779BA1B52DB30945634F123, + C91F9DCA97F600ABCBAE6D7F, + 0F811AEF01714D0718673F96, ); name = sources; sourceTree = ""; }; 63A93E1A6FD3FB74FE6DC5C7 = {isa = PBXGroup; children = ( - 03B180A17D427308EEC6696B, - 1DAD20199A6085A2557A5F2E, - F0EF1051D859662D5EA66ED1, - 7766FD569C6F360797B4985D, - DC66A5183DDABF2806F149DC, - 9949A38A5C0D1EC7B1E17714, + 39226AEFD491AC75C3BEA407, + A0F508A8360D204B3E045B0C, + 1174579D14733A68DB3C44FE, + 7F42173E63D4FEA0CDF181B2, + 448A3C021022B2E278D60003, 4DB71D5516FB189AAB65F5C3, ); name = "juce_audio_devices"; sourceTree = ""; }; - D1F2D482F3A6684AA7CFD2AC = {isa = PBXGroup; children = ( - B7EEE94FF7D01308A5C0C919, - 8CE6BA814CA26635E30FB638, - A0CD01955005913A92EE427E, - 164F70E2E821DAB11E9CF8A5, - C7F7761D7EDF1C9437CD3EFD, - D1F4C2D3DE449A5FBC521103, - 58807FAE2F1BDA3631CA0A12, - 427462132CCFF0852AE7BBA7, - 9F1070785921A815CD8DA14D, - D4AC0E3C702771BD4F09BA80, - EF6E0AA7622256AD0A0F2DDC, - 4C1A0683157E41566FE6D598, - B20E5FADE096019409390991, - C6EE4905A85C0298D4118585, - EA48B223B5A836773014E33A, ); name = format; sourceTree = ""; }; - CE3DECEB64F11893FFDC6300 = {isa = PBXGroup; children = ( + 5870835C591B7204EF491322 = {isa = PBXGroup; children = ( 3692F9744F63568BB55C5832, F3691DDD08C473863F673CE2, 9AA7ED1899A8D59824AC8FC0, @@ -1148,16 +1117,48 @@ 3C1300FAA182D25C698628A1, 86552B262FC4D6D47158B076, 2E6360B62CFFED4839F7961C, ); name = codecs; sourceTree = ""; }; + 416F1222227FC73F41FDBFB1 = {isa = PBXGroup; children = ( + B7EEE94FF7D01308A5C0C919, + 8CE6BA814CA26635E30FB638, + A0CD01955005913A92EE427E, + 164F70E2E821DAB11E9CF8A5, + C7F7761D7EDF1C9437CD3EFD, + D1F4C2D3DE449A5FBC521103, + 58807FAE2F1BDA3631CA0A12, + 427462132CCFF0852AE7BBA7, + 9F1070785921A815CD8DA14D, + D4AC0E3C702771BD4F09BA80, + EF6E0AA7622256AD0A0F2DDC, + 4C1A0683157E41566FE6D598, + B20E5FADE096019409390991, + C6EE4905A85C0298D4118585, + EA48B223B5A836773014E33A, ); name = format; sourceTree = ""; }; CD5C6E14FC4134879755EE8E = {isa = PBXGroup; children = ( 1BDC19DCD409213D9F7517CC, F826E94660C9F7EA2FA0D9F0, ); name = sampler; sourceTree = ""; }; 7FB63F87FF5252BDDAD349AD = {isa = PBXGroup; children = ( - D1F2D482F3A6684AA7CFD2AC, - CE3DECEB64F11893FFDC6300, + 5870835C591B7204EF491322, + 416F1222227FC73F41FDBFB1, CD5C6E14FC4134879755EE8E, - 04D4E9B7A6AF0183A58EA686, 9FFE49CBCD039E37C002D62E, ); name = "juce_audio_formats"; sourceTree = ""; }; - 12C5D6D914065669F676FD33 = {isa = PBXGroup; children = ( + C940D9A708BAD1E3D71E58C3 = {isa = PBXGroup; children = ( + EC67081B5745049B6BF7CBB0, + CD66E549F25814B7ADCBDB29, + 56AE9A2DF810FBD48B3BA9C6, + 329E82CA3BCB5AE3EC94E0E7, ); name = format; sourceTree = ""; }; + 6275E9B8B8E279FF8ABCEC53 = {isa = PBXGroup; children = ( + 1F249E983E9D32170A294720, + 349D17DB66E9B32A98CC3C18, + E36F4E6658950E867ECF189B, + BD92453FE23A75ACF72FA6E6, + E94B0560F5F44074C0FBBE77, + 6D88A3624F51E4B8C4386378, + C629913291BE1608B58ABF38, + 88964E03F3F86CDCA280D3CC, + 442D9B72ECE154D5D4E7C72F, + 1010FD77F32B1F7F525FC184, + 2F13071B3F288C3AA6842EF2, ); name = "format_types"; sourceTree = ""; }; + 705C3E45D85D61ED2F391230 = {isa = PBXGroup; children = ( 179F013F410ABCEB7D90C596, DE7EB6D4AA1377B537E5DA61, 5708133B2F0805351AC43D89, @@ -1174,23 +1175,6 @@ 49C0F640C9BEA3C4A3FE7096, 25D69ED7309518ADBDBBE198, 4013800D32C2018D9BE4F319, ); name = processors; sourceTree = ""; }; - 72763E036F9F243878879B77 = {isa = PBXGroup; children = ( - EC67081B5745049B6BF7CBB0, - CD66E549F25814B7ADCBDB29, - 56AE9A2DF810FBD48B3BA9C6, - 329E82CA3BCB5AE3EC94E0E7, ); name = format; sourceTree = ""; }; - 0C9FEDB522A79AD04451943E = {isa = PBXGroup; children = ( - 1F249E983E9D32170A294720, - 349D17DB66E9B32A98CC3C18, - E36F4E6658950E867ECF189B, - BD92453FE23A75ACF72FA6E6, - E94B0560F5F44074C0FBBE77, - 6D88A3624F51E4B8C4386378, - C629913291BE1608B58ABF38, - 88964E03F3F86CDCA280D3CC, - 442D9B72ECE154D5D4E7C72F, - 1010FD77F32B1F7F525FC184, - 2F13071B3F288C3AA6842EF2, ); name = "format_types"; sourceTree = ""; }; 314D690BDF36BE7C52C60F07 = {isa = PBXGroup; children = ( 157DD96EB1DD4D98C3F156FA, BB532258A959D6085D63B2BD, @@ -1208,65 +1192,13 @@ 0B7274E64537FF84DDB983BB, B285E664E174164A6988AFAE, ); name = utilities; sourceTree = ""; }; E212DC5AEF2D3B995C1F590B = {isa = PBXGroup; children = ( - 12C5D6D914065669F676FD33, - 72763E036F9F243878879B77, - 0C9FEDB522A79AD04451943E, + C940D9A708BAD1E3D71E58C3, + 6275E9B8B8E279FF8ABCEC53, + 705C3E45D85D61ED2F391230, 314D690BDF36BE7C52C60F07, 6E26057A2CF8C7301A74A913, - 6049B54C8174211B60B2A055, 5D2F8A2AC5001B3F52E0C2B9, ); name = "juce_audio_processors"; sourceTree = ""; }; - 0E8A813C60D191DFFB2FA5DF = {isa = PBXGroup; children = ( - 29255870A697551C8FA98D7A, - 6E81208884A2AC83F8B7272F, - E9FC87E2E04739D5E08F3FA2, - 595D85E469F5D38B7266235E, - 15B5781A1282801339DA76E0, - 76E2B0D040E119676ED7269C, - F4111DD5E733F14EE13E6A91, - BB92ACEDC1E0927224FB8E89, - 497510685AB657F03EDB49FE, - 0CD1C179A543158E062F80AA, - 1560985E2151FB5F22125149, - 902CA738F4833633FA3B9DC1, - 114FD2DCD1960985015BDBBF, - F1BEB0C8CB28B028C3729F74, - 6B9459BE4EC5314FCBE0F353, - 969DA55116588E8128A371FC, - 97E6D86C6D21F28543D1FA94, - 20F4B4F3EDE99C7268219EAE, - A9E8612B1DAFE0F39B1978C3, - 5A5ADA094E5B624945CBBF75, - 999FDE6BFC1818FA66547503, - D210CB0CE46A33BE0D8DB974, - 2EF44D79A4A11BF6029C4742, - BFC095C3F3183BD4D874A669, ); name = text; sourceTree = ""; }; - 7B4418814E9FA30DF1D0C62C = {isa = PBXGroup; children = ( - E56B74585A437DC40DE78032, - 1B300283FD8DEEF9DEC40BD9, - 4D8A9482F14C2B3F4DFC88D3, - 60C9D9BFE0E03F49685966C2, - 58C28CA4617075BAB7A8038D, - 1E805AE9C0B42D966358C6D5, - 424EFE12D38CCC7118C09C98, - 6973C70B3664F6D63CD86D75, - 7AB7C52E9663FFAC21F1EA8E, - 3640E214F8BEDF8E89FC914D, ); name = maths; sourceTree = ""; }; - 454032F31E0706030E582E8A = {isa = PBXGroup; children = ( - 94706AE83DC007EF8E7DC00F, - EB5B64960B581F8E9CCE293C, - B0CC31C7BD577C3F7AFCCD70, - 939A0EA1F257371A763028B8, - 9BDEEDEB30805D700581397C, - 3F04D121026029F52DA204ED, - 3EA76B3A32FAB33AC24694B5, - 07E22F69D1BD5DBC61EB6B57, - 2B24BCDFDECF4F9FD9085E45, - 8B23D1D8F1C991C53758D6A1, - 7299A9386CE1DD8C41EAD3CD, - E0FC1AC7FBDE7DC227224506, - 45EC230E69B0801C93615256, - F34BC9586F9E5C03B50E54FD, ); name = memory; sourceTree = ""; }; - 4693F6467173AA89726BAEFF = {isa = PBXGroup; children = ( + 249456E8B7110BC53AB6EBE0 = {isa = PBXGroup; children = ( BFCA4A5C80FF0F33F4CCBA24, 8507750652A865CBA6B95F4A, 538CDEC1A82653CF2B043768, @@ -1288,37 +1220,7 @@ DFA95E296DD42D1A5279204E, FC652BDD925087B1C5138EFC, 11BFCB057E970443884A815F, ); name = containers; sourceTree = ""; }; - 6964D844AF59B7755CE196FE = {isa = PBXGroup; children = ( - 64487A3372F2CFE88175C49F, - 521EE6D475BD296FBD490047, - A080B7644BB3E206CC08233B, - C81029DFF074D690E7FB8D45, - 55538300E62FDE690DA8D106, - C8A58DA57048F9AC3C450112, - 9FC08960050DAA542BFF6098, - 26C5F885CAB646DAD5ED7D69, - D7C17D95CFFB7D19BC91CDB7, - 627744948C009090770BCDA3, - 1DE01A48399CB6EA79ED65B5, - 43704F08595DA934AE3A943E, - 63D2D0BAF12BD5F0A74CCCC4, - 9DA832698B55D8F0ED3B959D, - 4513B5D3187CB98C1155F3C8, - 18CC1A6ADE609D201246E73A, - 66678F43F8D1DADD5294A609, - 8FD3BD52FB1BB4C18F79112A, - 6C0E8DD390ACCB54294FE33A, - F82ADD6B9B6CCEA8EAE47381, - 658FEA554F26F5E68B8D57AA, - 768FF89240BFE016B6E0B7F2, ); name = threads; sourceTree = ""; }; - 3804CB59C553AA196BAD24E4 = {isa = PBXGroup; children = ( - 35BF7EA4D9297B11F5682DA8, - F6225C8B7CC1B813ED258485, - 7D8E9CBB28B2F797833432AF, - 4B53D7057784C151C6B2A983, - 7F9B5150C04EC6D0A6322AD2, - FBAC0AF23CF55B44D5862219, ); name = time; sourceTree = ""; }; - 1BE2C598F380FCA7134530BB = {isa = PBXGroup; children = ( + 7C9AEE4E3547BB7BA0D4EA88 = {isa = PBXGroup; children = ( A4BEB89430315A384B09C4F0, 3D430654C1A8100D8456BCD2, C41913780AA61B40B03B3D11, @@ -1336,66 +1238,43 @@ BF3DCB21936F33AD0E45FC71, 4F10569C01808C7BB9CB8EF0, 769398735D0B51EF63C3A592, ); name = files; sourceTree = ""; }; - D5E5FF50428EF776E73AB64D = {isa = PBXGroup; children = ( - 712386EF4AED19DBB31455CB, - 692BB40AA8FB830B2B937142, - 0040EFFA55DA79672691E1C9, - D92660F5C732CA1569721441, - 4A2ADAE7C7EA0DF38808E698, - 1B651D7940B2A18230B010CD, - 22E2EF7FE8A98E380815B772, - 462D423963B1B96FA13F4CCC, - 39DA57397F102CACE67EF508, - 17385E08CF13E8A648C449E7, ); name = network; sourceTree = ""; }; - AF33516F030F249934E83081 = {isa = PBXGroup; children = ( - 0CE6EEBE234E83B3E2DAB95A, - 8EF1D9DC7431D93543EAB32C, - 41AC8843343204ADB93DA531, - F3BD7F962B365E0BCBFBBE12, - F49B8A85A34D03B31B93A9A7, - 4F35D94974B6805CFB5C0A62, - E4B7DF9375DB4CD8EF7FE1FF, - 6FC2F17D4E5D123C97F09F07, - C62AE50F5295DAAE4DF52814, - 6DC3EA763C070E0A86A6E4FD, - F631816532F24F531A68C53B, - 965994E01B22C3AF860CBAF0, - 07D9756CD40A2257CE645AFC, - 2AE92F43F180A63B166DE38D, - 49FD193755A233E48F13F680, ); name = streams; sourceTree = ""; }; - 7ABAF69EA3E773C960673FB7 = {isa = PBXGroup; children = ( - 83CBCCA7C4D52E55789D037D, - E2D720524D43512CDDC66EC7, - 489FAE16E149CD33F7537E50, - CDDD6D736C583E8C4149391F, ); name = logging; sourceTree = ""; }; - 8E2AEC98AE0456107A883D33 = {isa = PBXGroup; children = ( - 43BAFD24057A16AC4EF14656, - 6AA0A63D8CC3AA8384660C5A, - 908251F9681073304D768A70, - 7FC2861204BEEB508D724BDB, - 4090D3F4822C0FEE21DEB675, - E4FF14B9F3E8708E8F2C160B, ); name = system; sourceTree = ""; }; - 66ED79F1B2A6545F2A92C755 = {isa = PBXGroup; children = ( - 8B370086932633E444EF17C2, - 3ACD7E6C445B61480DD28999, - 60B2246A7EB6823F13BBB690, - 49F75B75D9E6382256D2CF7B, ); name = xml; sourceTree = ""; }; - BFBD50ECA4A031B3F042625A = {isa = PBXGroup; children = ( + 6A41686985A7787AC100CA15 = {isa = PBXGroup; children = ( 63CD373EBD8C663E48EAB6B1, 6D5CB45A2740C630325C6267, 4283A732CE8EE04034999E6E, 60DB2A4DF3A5EF35DA70B4F4, ); name = javascript; sourceTree = ""; }; - 9BE0DD9AB7DE1A768334953A = {isa = PBXGroup; children = ( - FF12EDEC6BDB2316EADD020D, - B03225051683D8CEB15FD6B7, - 9A794173272771D15A53CCAD, - 0BCF6AC43324F9021FF16748, - 1CB14C3A0B8355BCE373FBF9, - 85AF243A59C3D9275CEB0378, ); name = zip; sourceTree = ""; }; - 1B7BEDF25D7ECDE8D49F1218 = {isa = PBXGroup; children = ( - ABA483F71FF6E7B4CC8AF22E, - 7BA009163B2817D60F384F5B, ); name = "unit_tests"; sourceTree = ""; }; - 8FBE3103EEF8B7C31B62A3AB = {isa = PBXGroup; children = ( + 43BA5E4AB7A498B75E22EF27 = {isa = PBXGroup; children = ( + 83CBCCA7C4D52E55789D037D, + E2D720524D43512CDDC66EC7, + 489FAE16E149CD33F7537E50, + CDDD6D736C583E8C4149391F, ); name = logging; sourceTree = ""; }; + E2CF5F3C9F8C40D73B3B518A = {isa = PBXGroup; children = ( + E56B74585A437DC40DE78032, + 1B300283FD8DEEF9DEC40BD9, + 4D8A9482F14C2B3F4DFC88D3, + 60C9D9BFE0E03F49685966C2, + 58C28CA4617075BAB7A8038D, + 1E805AE9C0B42D966358C6D5, + 424EFE12D38CCC7118C09C98, + 6973C70B3664F6D63CD86D75, + 7AB7C52E9663FFAC21F1EA8E, + 3640E214F8BEDF8E89FC914D, ); name = maths; sourceTree = ""; }; + EFD60BF9569A8CF293FC83D7 = {isa = PBXGroup; children = ( + 94706AE83DC007EF8E7DC00F, + EB5B64960B581F8E9CCE293C, + B0CC31C7BD577C3F7AFCCD70, + 939A0EA1F257371A763028B8, + 9BDEEDEB30805D700581397C, + 3F04D121026029F52DA204ED, + 3EA76B3A32FAB33AC24694B5, + 07E22F69D1BD5DBC61EB6B57, + 2B24BCDFDECF4F9FD9085E45, + 8B23D1D8F1C991C53758D6A1, + 7299A9386CE1DD8C41EAD3CD, + E0FC1AC7FBDE7DC227224506, + 45EC230E69B0801C93615256, + F34BC9586F9E5C03B50E54FD, ); name = memory; sourceTree = ""; }; + E5CD6CE63D24772C0CAD46A9 = {isa = PBXGroup; children = ( 8DB6B031A36AAA1339D8F334, F79F6DDBB0986E4830F4B721, 22BD4FA140C1697A93C22BE1, @@ -1403,7 +1282,7 @@ 0B6399463624923B1F4CFC38, BB4595EAD7AAD26DEA947502, 16A74CB1F6FA181515A39A4F, ); name = misc; sourceTree = ""; }; - DFDB747A601B62654178BA70 = {isa = PBXGroup; children = ( + C703291E9E1AE4ADDECBF474 = {isa = PBXGroup; children = ( 8BF8C9D23F4B9731216E745D, 4D905DF5C99A1F7338529C69, 1DF63834B9F72A20A19304D4, @@ -1433,25 +1312,128 @@ 4C1E136AF707D37EB04FCD20, FA32FB49615A3B0E9086BA9A, 6C1EF9323884AD8EA79597C1, ); name = native; sourceTree = ""; }; + 0EC533C664CC59961E41723E = {isa = PBXGroup; children = ( + 712386EF4AED19DBB31455CB, + 692BB40AA8FB830B2B937142, + 0040EFFA55DA79672691E1C9, + D92660F5C732CA1569721441, + 4A2ADAE7C7EA0DF38808E698, + 1B651D7940B2A18230B010CD, + 22E2EF7FE8A98E380815B772, + 462D423963B1B96FA13F4CCC, + 39DA57397F102CACE67EF508, + 17385E08CF13E8A648C449E7, ); name = network; sourceTree = ""; }; + F16E5E2D1A106EE2A49F372C = {isa = PBXGroup; children = ( + 0CE6EEBE234E83B3E2DAB95A, + 8EF1D9DC7431D93543EAB32C, + 41AC8843343204ADB93DA531, + F3BD7F962B365E0BCBFBBE12, + F49B8A85A34D03B31B93A9A7, + 4F35D94974B6805CFB5C0A62, + E4B7DF9375DB4CD8EF7FE1FF, + 6FC2F17D4E5D123C97F09F07, + C62AE50F5295DAAE4DF52814, + 6DC3EA763C070E0A86A6E4FD, + F631816532F24F531A68C53B, + 965994E01B22C3AF860CBAF0, + 07D9756CD40A2257CE645AFC, + 2AE92F43F180A63B166DE38D, + 49FD193755A233E48F13F680, ); name = streams; sourceTree = ""; }; + 8E2AEC98AE0456107A883D33 = {isa = PBXGroup; children = ( + 43BAFD24057A16AC4EF14656, + 6AA0A63D8CC3AA8384660C5A, + 908251F9681073304D768A70, + 7FC2861204BEEB508D724BDB, + 4090D3F4822C0FEE21DEB675, + E4FF14B9F3E8708E8F2C160B, ); name = system; sourceTree = ""; }; + 9CA882279C193E73BC563255 = {isa = PBXGroup; children = ( + 29255870A697551C8FA98D7A, + 6E81208884A2AC83F8B7272F, + E9FC87E2E04739D5E08F3FA2, + 595D85E469F5D38B7266235E, + 15B5781A1282801339DA76E0, + 76E2B0D040E119676ED7269C, + F4111DD5E733F14EE13E6A91, + BB92ACEDC1E0927224FB8E89, + 497510685AB657F03EDB49FE, + 0CD1C179A543158E062F80AA, + 1560985E2151FB5F22125149, + 902CA738F4833633FA3B9DC1, + 114FD2DCD1960985015BDBBF, + F1BEB0C8CB28B028C3729F74, + 6B9459BE4EC5314FCBE0F353, + 969DA55116588E8128A371FC, + 97E6D86C6D21F28543D1FA94, + 20F4B4F3EDE99C7268219EAE, + A9E8612B1DAFE0F39B1978C3, + 5A5ADA094E5B624945CBBF75, + 999FDE6BFC1818FA66547503, + D210CB0CE46A33BE0D8DB974, + 2EF44D79A4A11BF6029C4742, + BFC095C3F3183BD4D874A669, ); name = text; sourceTree = ""; }; + DF239BCBE6A2F59C266299CF = {isa = PBXGroup; children = ( + 64487A3372F2CFE88175C49F, + 521EE6D475BD296FBD490047, + A080B7644BB3E206CC08233B, + C81029DFF074D690E7FB8D45, + 55538300E62FDE690DA8D106, + C8A58DA57048F9AC3C450112, + 9FC08960050DAA542BFF6098, + 26C5F885CAB646DAD5ED7D69, + D7C17D95CFFB7D19BC91CDB7, + 627744948C009090770BCDA3, + 1DE01A48399CB6EA79ED65B5, + 43704F08595DA934AE3A943E, + 63D2D0BAF12BD5F0A74CCCC4, + 9DA832698B55D8F0ED3B959D, + 4513B5D3187CB98C1155F3C8, + 18CC1A6ADE609D201246E73A, + 66678F43F8D1DADD5294A609, + 8FD3BD52FB1BB4C18F79112A, + 6C0E8DD390ACCB54294FE33A, + F82ADD6B9B6CCEA8EAE47381, + 658FEA554F26F5E68B8D57AA, + 768FF89240BFE016B6E0B7F2, ); name = threads; sourceTree = ""; }; + C954DD21F903D77C697E1CED = {isa = PBXGroup; children = ( + 35BF7EA4D9297B11F5682DA8, + F6225C8B7CC1B813ED258485, + 7D8E9CBB28B2F797833432AF, + 4B53D7057784C151C6B2A983, + 7F9B5150C04EC6D0A6322AD2, + FBAC0AF23CF55B44D5862219, ); name = time; sourceTree = ""; }; + 1B7BEDF25D7ECDE8D49F1218 = {isa = PBXGroup; children = ( + ABA483F71FF6E7B4CC8AF22E, + 7BA009163B2817D60F384F5B, ); name = "unit_tests"; sourceTree = ""; }; + BF71434E8A4E83C94B75B6F7 = {isa = PBXGroup; children = ( + 8B370086932633E444EF17C2, + 3ACD7E6C445B61480DD28999, + 60B2246A7EB6823F13BBB690, + 49F75B75D9E6382256D2CF7B, ); name = xml; sourceTree = ""; }; + B7BFD805BADE2E571F03152B = {isa = PBXGroup; children = ( + FF12EDEC6BDB2316EADD020D, + B03225051683D8CEB15FD6B7, + 9A794173272771D15A53CCAD, + 0BCF6AC43324F9021FF16748, + 1CB14C3A0B8355BCE373FBF9, + 85AF243A59C3D9275CEB0378, ); name = zip; sourceTree = ""; }; 04530BE441509256B41B129C = {isa = PBXGroup; children = ( - 0E8A813C60D191DFFB2FA5DF, - 7B4418814E9FA30DF1D0C62C, - 454032F31E0706030E582E8A, - 4693F6467173AA89726BAEFF, - 6964D844AF59B7755CE196FE, - 3804CB59C553AA196BAD24E4, - 1BE2C598F380FCA7134530BB, - D5E5FF50428EF776E73AB64D, - AF33516F030F249934E83081, - 7ABAF69EA3E773C960673FB7, + 249456E8B7110BC53AB6EBE0, + 7C9AEE4E3547BB7BA0D4EA88, + 6A41686985A7787AC100CA15, + 43BA5E4AB7A498B75E22EF27, + E2CF5F3C9F8C40D73B3B518A, + EFD60BF9569A8CF293FC83D7, + E5CD6CE63D24772C0CAD46A9, + C703291E9E1AE4ADDECBF474, + 0EC533C664CC59961E41723E, + F16E5E2D1A106EE2A49F372C, 8E2AEC98AE0456107A883D33, - 66ED79F1B2A6545F2A92C755, - BFBD50ECA4A031B3F042625A, - 9BE0DD9AB7DE1A768334953A, + 9CA882279C193E73BC563255, + DF239BCBE6A2F59C266299CF, + C954DD21F903D77C697E1CED, 1B7BEDF25D7ECDE8D49F1218, - 8FBE3103EEF8B7C31B62A3AB, - DFDB747A601B62654178BA70, - 7E4550501E5A54888E7ED351, + BF71434E8A4E83C94B75B6F7, + B7BFD805BADE2E571F03152B, 306F25437106318BD777BF09, ); name = "juce_core"; sourceTree = ""; }; CBC1750812C618AD5EBCF244 = {isa = PBXGroup; children = ( 70CD9F04B8C4E8585A47B7A9, @@ -1470,31 +1452,45 @@ 2364693A9D930389CDA83796 = {isa = PBXGroup; children = ( CBC1750812C618AD5EBCF244, 8312E72C58140E7769A25660, - 13FB921BD5364A43A3F186FE, E7680CBA50F9F4A7D36892EC, ); name = "juce_cryptography"; sourceTree = ""; }; - CDADA9AEAD759821F12FC6CA = {isa = PBXGroup; children = ( + 73410E70DFF2B4C6B71DC306 = {isa = PBXGroup; children = ( + AE5445BC3DE960A29D3A326A, + BA7A76CCDA7706963A2F9498, + B2D5CEEECCBDA18218663DDE, + 8D6490CAC20F94D0E4D07B07, ); name = "app_properties"; sourceTree = ""; }; + CDDE28AB5179E0B6065ACF43 = {isa = PBXGroup; children = ( + 0834DCEB2DC13BDD835B441A, + 7E358C7894FDBB00F8AA46DC, + 83C608D4305CEFA8843EAC44, ); name = undomanager; sourceTree = ""; }; + D92EDF0CF7E1E30B11DF3D4B = {isa = PBXGroup; children = ( DDE417C268A7F07384AE598C, 52C5FA12E963B920CA9928B5, 0AE91DB866D8AE676C2BB8B7, BD49E0B99A454337AEF0255E, E358F540B316FC5C7907FEC2, A14832120E275AA681CA6A9C, ); name = values; sourceTree = ""; }; - CDDE28AB5179E0B6065ACF43 = {isa = PBXGroup; children = ( - 0834DCEB2DC13BDD835B441A, - 7E358C7894FDBB00F8AA46DC, - 83C608D4305CEFA8843EAC44, ); name = undomanager; sourceTree = ""; }; - 2A3E0B11DF85B74CAF13E923 = {isa = PBXGroup; children = ( - AE5445BC3DE960A29D3A326A, - BA7A76CCDA7706963A2F9498, - B2D5CEEECCBDA18218663DDE, - 8D6490CAC20F94D0E4D07B07, ); name = "app_properties"; sourceTree = ""; }; 6F938FAE50F51BE3D312A229 = {isa = PBXGroup; children = ( - CDADA9AEAD759821F12FC6CA, + 73410E70DFF2B4C6B71DC306, CDDE28AB5179E0B6065ACF43, - 2A3E0B11DF85B74CAF13E923, - 4AFE98947E77FA1290C3A8C4, + D92EDF0CF7E1E30B11DF3D4B, 3C9E6C5E6EDB9E845A605510, ); name = "juce_data_structures"; sourceTree = ""; }; - 65B7CB9016F7B6E8274C24DE = {isa = PBXGroup; children = ( + 896D62E47FFBEA4084772F9D = {isa = PBXGroup; children = ( + 1689FD3E472FFEE920E276CF, + EDD12DE23FB78F1A6DA4B838, + 0C9908DBBB251080767CB7B6, + ECEEAC8BDD56B722EAAAB855, + 9C5A6F413B1ADD24229D1179, + EE8BAB9A2B017754997FA6EC, + DB4D763F2417D65B4B714CF0, + 02B97BE4DF9048B6592E4E0E, ); name = broadcasters; sourceTree = ""; }; + 0D5A73916765CCB44C77B86D = {isa = PBXGroup; children = ( + 256073A521B6C37C224E2187, + 9B193E0AB956EEF9BB78BFDA, + B3418720FCA262A1CD1908BC, + B08BCBEBE861F2E50007F8A5, + 968B57E185735EB4E9741976, + 8CFC2A3A28FDAD0E15DADC26, ); name = interprocess; sourceTree = ""; }; + C2CDA3DDEC690FD2C040CF08 = {isa = PBXGroup; children = ( 75235FDF5790F4BF3F296868, 386AAACD51CB0D292C12100A, 718F9D6323697CA7C31F5771, @@ -1508,28 +1504,7 @@ A5E528975CEDA4C62FBD7EF6, 8C93C44495AC4D1527201634, 5A229A581FCDB644F5C09BA1, ); name = messages; sourceTree = ""; }; - 2F707E4BB8CA772057BC7F9F = {isa = PBXGroup; children = ( - 57A5F6CB3C8DAED67B3420BB, - 3197ECA158ADC679CEC7C1FA, - B90BFDC91636E77EDB4FA432, - 4BBEF84CE407FC573032E7F4, ); name = timers; sourceTree = ""; }; - C420F1CA85E52005991C4130 = {isa = PBXGroup; children = ( - 1689FD3E472FFEE920E276CF, - EDD12DE23FB78F1A6DA4B838, - 0C9908DBBB251080767CB7B6, - ECEEAC8BDD56B722EAAAB855, - 9C5A6F413B1ADD24229D1179, - EE8BAB9A2B017754997FA6EC, - DB4D763F2417D65B4B714CF0, - 02B97BE4DF9048B6592E4E0E, ); name = broadcasters; sourceTree = ""; }; - 4EE1E47DA20EB6C2DD451DF1 = {isa = PBXGroup; children = ( - 256073A521B6C37C224E2187, - 9B193E0AB956EEF9BB78BFDA, - B3418720FCA262A1CD1908BC, - B08BCBEBE861F2E50007F8A5, - 968B57E185735EB4E9741976, - 8CFC2A3A28FDAD0E15DADC26, ); name = interprocess; sourceTree = ""; }; - 1511B4BCAE2E2D4D9F9D6CE4 = {isa = PBXGroup; children = ( + 5F10216BBAA1DB34B6AEEBC7 = {isa = PBXGroup; children = ( 79A578B4E39C1F03DA98123E, 018DA3E8748C6F315B914247, 71BAA1581CEA26400FC2CCC4, @@ -1538,13 +1513,17 @@ 0FD049CADEA606E86B5EB2D3, 511278C785AC5B1CBB69D6CA, C703A87721102B3D4A951647, ); name = native; sourceTree = ""; }; + 01E4B93BD4A57ABA65E00768 = {isa = PBXGroup; children = ( + 57A5F6CB3C8DAED67B3420BB, + 3197ECA158ADC679CEC7C1FA, + B90BFDC91636E77EDB4FA432, + 4BBEF84CE407FC573032E7F4, ); name = timers; sourceTree = ""; }; A6F169A2B7BA617174343A9D = {isa = PBXGroup; children = ( - 65B7CB9016F7B6E8274C24DE, - 2F707E4BB8CA772057BC7F9F, - C420F1CA85E52005991C4130, - 4EE1E47DA20EB6C2DD451DF1, - 1511B4BCAE2E2D4D9F9D6CE4, - 97067F1023B8787E7201D27D, + 896D62E47FFBEA4084772F9D, + 0D5A73916765CCB44C77B86D, + C2CDA3DDEC690FD2C040CF08, + 5F10216BBAA1DB34B6AEEBC7, + 01E4B93BD4A57ABA65E00768, FC8782E00B9947A49AA68E46, ); name = "juce_events"; sourceTree = ""; }; 193FA90E69CB286A2CD57C13 = {isa = PBXGroup; children = ( 50EC51517B6987D5031F71BD, @@ -1564,19 +1543,25 @@ 56C82FF4728693D04AAA38BC, 6979C786438B387A708F998C, 702BA72BF7AEE824B2DEAEA6, ); name = contexts; sourceTree = ""; }; - 2A18197C6BA35764DFBB4F61 = {isa = PBXGroup; children = ( - B2C44BD9DC0BC43833291C31, - 4161F12A1FD93F9DE57905EE, - C61175EC56A3396F7A655A1A, - 929AAC6BA3EE488D258EDD82, - 670A85A6ED2DE16E9C7604E5, - 1DDF96105DC0A71370D897A1, - 1D55171F1D2B0B9DC4C602EC, - C274477CF75CDD73B30E28C5, ); name = images; sourceTree = ""; }; - 5E880712890877C209020053 = {isa = PBXGroup; children = ( - 9BB586E269D50D4CE1B98DB6, - AC6C0541D84539578CD41683, - 2C23A15BD379D6830DC85532, ); name = "image_formats"; sourceTree = ""; }; + 6FBD2D380AFF0DA891D035C2 = {isa = PBXGroup; children = ( + E11E12956051DEE747D056DE, + A61B6CC0519B2B6A3927B0F0, + FCCE4BBC18DBC962ADC2E1D0, + AEEE2D47C9004E2CB03099EB, + E3CA8789B581A3CCDEE9BF9D, ); name = effects; sourceTree = ""; }; + 0C6A15AA82BE04D928903BB7 = {isa = PBXGroup; children = ( + 0871563B8BDFAC16F5251093, + 690DA03D7108D91BE5A4768F, + 5F5892878D743241AA1180D8, + 34BC2A1543E66162CE397D7F, + D3D9A723D24696D5AAF83BB5, + 5AFB16D313DC6350923E2F45, + 779406AD9AC0E63313EA2EF3, + 2EDDE759F2DBB4A868B10B40, + B1391BA65BDF4C22431CE383, + 04A8474539F4B563BECE244C, + D024257A226A8285D314258E, + DB99F33F70011679062076D4, ); name = fonts; sourceTree = ""; }; 4E18B01D9164F469A96C5AD1 = {isa = PBXGroup; children = ( FC404EDC4C79CF946E92E80F, A89117012B929E6A602169C5, @@ -1593,30 +1578,20 @@ F424523A813298D45AF5609F, FC96894322C5B0C1A2BEEC18, 5DD304453634D0A35498AAF0, ); name = geometry; sourceTree = ""; }; - B11C51E14C3721B2FF79E15B = {isa = PBXGroup; children = ( - 6DBD223556B6358059AB1403, - 3852D02AFF1A6622E89B3065, - D76F7038A4C53439F7D5A9C0, ); name = placement; sourceTree = ""; }; - CAB4A19602F9A8405B278577 = {isa = PBXGroup; children = ( - 0871563B8BDFAC16F5251093, - 690DA03D7108D91BE5A4768F, - 5F5892878D743241AA1180D8, - 34BC2A1543E66162CE397D7F, - D3D9A723D24696D5AAF83BB5, - 5AFB16D313DC6350923E2F45, - 779406AD9AC0E63313EA2EF3, - 2EDDE759F2DBB4A868B10B40, - B1391BA65BDF4C22431CE383, - 04A8474539F4B563BECE244C, - D024257A226A8285D314258E, - DB99F33F70011679062076D4, ); name = fonts; sourceTree = ""; }; - 087AB3A2D7744DA8D667D947 = {isa = PBXGroup; children = ( - E11E12956051DEE747D056DE, - A61B6CC0519B2B6A3927B0F0, - FCCE4BBC18DBC962ADC2E1D0, - AEEE2D47C9004E2CB03099EB, - E3CA8789B581A3CCDEE9BF9D, ); name = effects; sourceTree = ""; }; - 33656CBC336A3CEDA4638572 = {isa = PBXGroup; children = ( + E132F0C76779428E383C02A2 = {isa = PBXGroup; children = ( + 9BB586E269D50D4CE1B98DB6, + AC6C0541D84539578CD41683, + 2C23A15BD379D6830DC85532, ); name = "image_formats"; sourceTree = ""; }; + 0D845255889F34203F6B61BC = {isa = PBXGroup; children = ( + B2C44BD9DC0BC43833291C31, + 4161F12A1FD93F9DE57905EE, + C61175EC56A3396F7A655A1A, + 929AAC6BA3EE488D258EDD82, + 670A85A6ED2DE16E9C7604E5, + 1DDF96105DC0A71370D897A1, + 1D55171F1D2B0B9DC4C602EC, + C274477CF75CDD73B30E28C5, ); name = images; sourceTree = ""; }; + 48393444B1E64F5EBAE9AC99 = {isa = PBXGroup; children = ( 1AC8746F44493CB2A10988CE, F40305BC0F95331D37275E1B, 5DDB34F1460752BDB8E858BE, @@ -1630,19 +1605,54 @@ 9CA8D3775F4482E63D79918C, 4449C89CEFC61424356435C6, 1B0BC2531E700CB7B80EBA0A, ); name = native; sourceTree = ""; }; + B72DCA1B8C0B37229FE1A645 = {isa = PBXGroup; children = ( + 6DBD223556B6358059AB1403, + 3852D02AFF1A6622E89B3065, + D76F7038A4C53439F7D5A9C0, ); name = placement; sourceTree = ""; }; 1A864CA1C037AEF8651F04B6 = {isa = PBXGroup; children = ( 193FA90E69CB286A2CD57C13, 8CDAEE4123C457704E64C266, - 2A18197C6BA35764DFBB4F61, - 5E880712890877C209020053, + 6FBD2D380AFF0DA891D035C2, + 0C6A15AA82BE04D928903BB7, 4E18B01D9164F469A96C5AD1, - B11C51E14C3721B2FF79E15B, - CAB4A19602F9A8405B278577, - 087AB3A2D7744DA8D667D947, - 33656CBC336A3CEDA4638572, - E75226FF57885A514E8128D0, + E132F0C76779428E383C02A2, + 0D845255889F34203F6B61BC, + 48393444B1E64F5EBAE9AC99, + B72DCA1B8C0B37229FE1A645, 86A0609131EE92B994CD198E, ); name = "juce_graphics"; sourceTree = ""; }; - AFEE3E46C43FAF1F045F3FD2 = {isa = PBXGroup; children = ( + AD9283DD4E67A881E31D0DC2 = {isa = PBXGroup; children = ( + A66CDC01DDA634EC52387A9F, + F63E9A6CE243E37C5DC0FB29, ); name = application; sourceTree = ""; }; + B334534D1A094A2B38789A03 = {isa = PBXGroup; children = ( + 9515301F2975CE5A3A711331, + 577657AAAA317267A5720420, + E99CA588DFBC5CB04207ABB0, + 9AF021C7C1903B0CA58931F1, + 79F4B049934ABF6CE6469758, + 266A4835116E96CAE8C0C2F5, + 0A573194C14F5E358AB6058C, + F64126345166E6E1761529E2, + F0D76BB6A6F9EE5F9565E20B, + 175C70C20B5074616F3FC422, + 550A9E3DB80630699503DC5E, + 5182AC0EF0286956C02C58D5, + 4EF9E77337FCA3679883AD18, + E59938EF72B9B1399F6252E9, + 1B05AEE049AC25AD321EA2BB, + 781F3993397D6162EB946821, + A45144F7AA2A065205E6EF69, + FB8CC2AAE7DE5B1322BEBBA2, ); name = buttons; sourceTree = ""; }; + 213789A052B03C5F551674A5 = {isa = PBXGroup; children = ( + E0A4254ED08A431980C43E82, + 621FFF1AFD85D8EC07BABC0E, + E06F54C05FAE3CC7EA944088, + 29DBE389E1B355F875D78678, + E939825CA0EEBC815F70F33E, + 205318E4898CC1F92C3C97D4, + 8BAA9A5EB8A4E29191005B69, + 8F42FFF548336F1D49D1751D, + 34F963D9423350CC9BC1AA2D, ); name = commands; sourceTree = ""; }; + 86604479C6F4E833F8F8420B = {isa = PBXGroup; children = ( C978ECD3E0C26210796FD720, B07FDCAAE27B8F1071624755, 6AF346DF4F9CB8D62772936D, @@ -1652,28 +1662,46 @@ 80D06819AAD5DADEFA49E368, 85B22C8F806360EC8B2324F2, 2FB51B1963A69B4459AE782B, ); name = components; sourceTree = ""; }; - FD8CA66D459AE12D5183704F = {isa = PBXGroup; children = ( - 805234B5BD52EADB4DA09003, - A5AEC6772F3634B8FA17CCE0, - 99ABAD8E303465C39B19ACD5, - A5EF608B0904CBC341441157, - 46175DD8DD8511DA50CEA9A2, - BC7B1AB4284EBECD4257905E, - FD1C3FBD64077AEF13E25E14, - 2B2DA01B33D1617803EC767A, - DA9EA6821F0C8D8B0A49C419, - 7AE5E470BD361C4329C2D2F7, - B978975E52F0BEAE7B9EFFFC, - 64DF4CCB05CC450AA96783CF, - D840776B8DCC081A45C645C2, - 090D7A003EFBAC2DA007DE2A, - B6875E27BB7D6368546103F2, - 01957B4ED33A17238922B200, - E0E9FBBDCBE859621BEBB793, - 9211518D85B0A6E047E1D69E, - 8D1824289116C86B1FD46EBF, - BA57C985836A5BFC5BFB7B7F, ); name = mouse; sourceTree = ""; }; - C49E7EA36F2E9A1E88825A46 = {isa = PBXGroup; children = ( + B1A578AB57394C4D81438C04 = {isa = PBXGroup; children = ( + C168C173BF39312F42E695A0, + 15838577621F565985121DB7, + BDD3DED63DF7E85212EFC4DD, + B7096B25A9A75BDEDB4A18C7, + 19C4CDE07CD0E4BDC7C692CC, + 6DD39268E6D0E01ED0452F41, + EAD0D749404AC9F2F1355016, + C431C4B65FFD4CE6140020E6, + 05527C29D68C389FFFDB6A4B, + 2D72AC40DE6A6B5A2047486B, + 17D1AE835BB6F69441F039C4, + 3EF24EFFE77D709A08F7B95B, + B94E840D38EE5717DA2CE143, + 1FE499D425A1D7B00817E21D, + 8CE6C0B5D91D86EF1A0A4C82, ); name = drawables; sourceTree = ""; }; + 728567DF8F2BBE4760532320 = {isa = PBXGroup; children = ( + 3E1AE20954C34AA9F036B5AB, + ADFA9CAF4004ABAE0AD3E303, + 3D5FCD43EF70370CF65E0D83, + 704B3C1731A15F6B592C00D4, + 989F074217A5699F87FBD4F2, + 45F0BC9FD5A2D8A50C09E463, + 69FDD439374E74C6FD65DD89, + 0F5A8B23DE353199B5F5283E, + 212FFEC2F3F546181AE14D9A, + 692627CFC92BF14B41EB5C53, + 303CADB9CCF5F27F42833B32, + 125ED32378DB28BA2C200408, + E85D8CB4A146F9C3206BECB8, + 0635718F78505B87C8C45C5A, + FAC1B3D8FEB61B8A892C47DF, + 8B70006FA24F4AB5FDA19629, + 50C2D93FADD605AB3EFC6395, + 6B92A087BFDDCBDCCDBA2D48, + 89D550B5461CA34FA952AE89, + 897EBF1E16066819F60D126A, + 57E9A871D4F8D8877C4DB69E, + 3B75732836FDBC325648BD15, ); name = filebrowser; sourceTree = ""; }; + 34FFFD2443C94751716AA5CD = {isa = PBXGroup; children = ( B48D54221C972777DB5E1DB7, 8AC99C5AA7B0B07459E2D44E, E86BD94114E2428144CF8BEE, @@ -1687,62 +1715,7 @@ FC605ECBC8125885D00D0526, BBD681E0438764FACE1EA5C3, 1E40098BCA096EB5C9C6596D, ); name = keyboard; sourceTree = ""; }; - 9DEA35A043C375862DFC2E11 = {isa = PBXGroup; children = ( - 0E2B40062C5D6544BE55CBB3, - C0C1B6D7FB705FEF09B3D9E6, - 0E65C00550EDB61CC5E5FF40, - 345587066EDDE69F75428058, - 2319FD854AEDE5DA7A1EE44D, - 6118ECDDD7A0C59435DED65D, - D84423D0039B320C71571FCC, - 5E550C0743F7F482378D1111, - 86EEA574B70AF42545893527, - 7F527095A51540B79804CD7C, - CF976AA0959CE47A261345BF, - 425CD43CC5F5651E5C7A2F22, - CF3C4CFE6039FB3057B27C6C, - 39DBAD73C57C90B15E72C198, - C1883D8A4315CD8DDF216DDD, - 9317D08358E3C29D04BA18C8, - CF25F9F3C0B9F289DEF2482B, - 1A6F4CAD8CDBB0B0F3042460, - 13FB39F0D297AA9A43ECA535, - 9C3C31E6EB4A8D4BAF3F012D, - 3549DE9F591020FB503F36C2, - 0A65A1D753AE280B69C236A0, - 98BA34D00AABD12B7DD3A555, - F6DCAB7976BCD183C3344C3B, - 8E861422F29DA820ED7F3945, - 3AC4EF5519352B9718374AA4, - 7F97E4F4E4BF1A3D66A3B6AA, ); name = widgets; sourceTree = ""; }; - C0363609B446F2D3BC720103 = {isa = PBXGroup; children = ( - 885DA9E9CF0C71C454630FB6, - ACE47FBC8BA954531F30B7E5, - 4E841B8918329CBB21300408, - 27EDF665F88CD3C5B137992A, - 14014CC2072B573B06CB807E, - CD3B8BA8B63B711DFF484BB2, - 0180548C53E46C0C333CC266, - 4EC63ADD493CDD4E68CEFB35, - 1633D377612A0BE68DE61769, - 821CE9C4168E49691D94BE45, - F82F982C0EF7007112D3E6E3, - FFC023104C5E283ABFA5FC04, - 4E8364A84D361DDAACEFA0B3, - BB91926472F729EB183B17BA, - 54BF7DC44AE03C4E338812B6, - 007DB556D6D8F4416B6DE242, - 8F9B4199C875D7144DAF145F, - 7EB94A8A33CC592A2A77A907, - 2061C6D4734E37456BE3B024, ); name = windows; sourceTree = ""; }; - B877AF9D28A19ECE0151B89A = {isa = PBXGroup; children = ( - 09EA4A83F537E580914C15F8, - 6DCE27AD94A35948C935793C, - 4AA78CFAB63A32A600401439, - 802996F9D73F9E19BF068262, - 8C1D74B6E452037701E3B1A6, - FBEB9027B0B573C67835E318, ); name = menus; sourceTree = ""; }; - 4CCB39C45F0DFBCFEB1D2711 = {isa = PBXGroup; children = ( + 83627F91590F7CC13F128FFA = {isa = PBXGroup; children = ( 6D21535E79FAE30423635568, 68B3255F10534CD67E0CE011, 5272A8388DC70C91202CAA0E, @@ -1779,72 +1752,7 @@ 27BF90280023BA08E1278AAD, 0D66F38F10E92C396696ACF6, DDF58F993D5C3FDC1BCC3F2A, ); name = layout; sourceTree = ""; }; - CBDD7ECFCF1F407F075F715F = {isa = PBXGroup; children = ( - 9515301F2975CE5A3A711331, - 577657AAAA317267A5720420, - E99CA588DFBC5CB04207ABB0, - 9AF021C7C1903B0CA58931F1, - 79F4B049934ABF6CE6469758, - 266A4835116E96CAE8C0C2F5, - 0A573194C14F5E358AB6058C, - F64126345166E6E1761529E2, - F0D76BB6A6F9EE5F9565E20B, - 175C70C20B5074616F3FC422, - 550A9E3DB80630699503DC5E, - 5182AC0EF0286956C02C58D5, - 4EF9E77337FCA3679883AD18, - E59938EF72B9B1399F6252E9, - 1B05AEE049AC25AD321EA2BB, - 781F3993397D6162EB946821, - A45144F7AA2A065205E6EF69, - FB8CC2AAE7DE5B1322BEBBA2, ); name = buttons; sourceTree = ""; }; - 01A496F3C8E2330CD3BD5218 = {isa = PBXGroup; children = ( - 5E8C21AC2A1B8B0B58C37955, - 84AEE4F8A28635C15D906000, - 950402C14F0031033AB280CE, - 1893FA4609AAF5DD33145B9B, - 165DCE208FB600EFD1D43397, - F1E74B467C2D75E4541B0089, - 7E75ED738B0C5B23921807B4, - 469372BCD2E4A19BA918C8B2, - A7B4FBA164C49941A0C44524, - 90BF13AA1F1AA780E2C68EBE, - FE73287049CAD4511D3B2E6B, - D0C258A46B09A01C0783CDE0, - 9E90724F45380929532DB25B, - 39D1D5605F6A04795AF73812, ); name = positioning; sourceTree = ""; }; - 6CDD69C340D2F529CD1E9236 = {isa = PBXGroup; children = ( - C168C173BF39312F42E695A0, - 15838577621F565985121DB7, - BDD3DED63DF7E85212EFC4DD, - B7096B25A9A75BDEDB4A18C7, - 19C4CDE07CD0E4BDC7C692CC, - 6DD39268E6D0E01ED0452F41, - EAD0D749404AC9F2F1355016, - C431C4B65FFD4CE6140020E6, - 05527C29D68C389FFFDB6A4B, - 2D72AC40DE6A6B5A2047486B, - 17D1AE835BB6F69441F039C4, - 3EF24EFFE77D709A08F7B95B, - B94E840D38EE5717DA2CE143, - 1FE499D425A1D7B00817E21D, - 8CE6C0B5D91D86EF1A0A4C82, ); name = drawables; sourceTree = ""; }; - 16360855AEBE6CCE84932505 = {isa = PBXGroup; children = ( - 1DD4E07B4A6CAD50B3FC9B90, - 093FD81AC22F2360CB37B521, - 4D9CE24E398FBF5424988A63, - 334948AD783C8AF3F2F79EC0, - 502A9F538EEAE40A8293254B, - 9BE18ECE67A4225EA024ECAE, - EB7702F51FACD00F9B4D2052, - 45DF47F918E119829B97D35B, - 0A9E895E546EE06D88C06244, - 32B9239DB65A4155D9359AEE, - E45C222FAA9FDD6B77F0B908, - 4D1D1974424944E09F462A6A, - C66AE85EED85DF1401157F7C, - 62DF30A0CE4D887A5C0D4699, ); name = properties; sourceTree = ""; }; - 05CCB3B7728A1367B4C87EDD = {isa = PBXGroup; children = ( + B301C40E0599FD2C3E41774E = {isa = PBXGroup; children = ( EFD08844B4C9B4D00BC29DE7, 91D40C7B4DEEB7251ED4DDD5, 9AE7965BD2EBA345DAA07E25, @@ -1853,48 +1761,40 @@ C9F989742EA146EC8F7ADF06, 7FD3E666F28FF5A576C059D7, 11262CA618824ECCC0A0C8A4, ); name = lookandfeel; sourceTree = ""; }; - 4922861301B9FBA7307424FA = {isa = PBXGroup; children = ( - 3E1AE20954C34AA9F036B5AB, - ADFA9CAF4004ABAE0AD3E303, - 3D5FCD43EF70370CF65E0D83, - 704B3C1731A15F6B592C00D4, - 989F074217A5699F87FBD4F2, - 45F0BC9FD5A2D8A50C09E463, - 69FDD439374E74C6FD65DD89, - 0F5A8B23DE353199B5F5283E, - 212FFEC2F3F546181AE14D9A, - 692627CFC92BF14B41EB5C53, - 303CADB9CCF5F27F42833B32, - 125ED32378DB28BA2C200408, - E85D8CB4A146F9C3206BECB8, - 0635718F78505B87C8C45C5A, - FAC1B3D8FEB61B8A892C47DF, - 8B70006FA24F4AB5FDA19629, - 50C2D93FADD605AB3EFC6395, - 6B92A087BFDDCBDCCDBA2D48, - 89D550B5461CA34FA952AE89, - 897EBF1E16066819F60D126A, - 57E9A871D4F8D8877C4DB69E, - 3B75732836FDBC325648BD15, ); name = filebrowser; sourceTree = ""; }; - 37735166A980647B6A1D3950 = {isa = PBXGroup; children = ( - E0A4254ED08A431980C43E82, - 621FFF1AFD85D8EC07BABC0E, - E06F54C05FAE3CC7EA944088, - 29DBE389E1B355F875D78678, - E939825CA0EEBC815F70F33E, - 205318E4898CC1F92C3C97D4, - 8BAA9A5EB8A4E29191005B69, - 8F42FFF548336F1D49D1751D, - 34F963D9423350CC9BC1AA2D, ); name = commands; sourceTree = ""; }; - A777F9A9DA58479A7155B8C0 = {isa = PBXGroup; children = ( + ACB7A82D2D0D88A02BEDEFDF = {isa = PBXGroup; children = ( + 09EA4A83F537E580914C15F8, + 6DCE27AD94A35948C935793C, + 4AA78CFAB63A32A600401439, + 802996F9D73F9E19BF068262, + 8C1D74B6E452037701E3B1A6, + FBEB9027B0B573C67835E318, ); name = menus; sourceTree = ""; }; + 55467878BABC6D99DBB22FB2 = {isa = PBXGroup; children = ( 573DFC5BB8AE505A0284B4F1, 1DA22FB2625B0BBBE988B47C, CE9E18CC3DD526FFB49C7C2F, B7EDE5E99C9546634D789AF0, ); name = misc; sourceTree = ""; }; - 9761B4254CD555BA968431BA = {isa = PBXGroup; children = ( - A66CDC01DDA634EC52387A9F, - F63E9A6CE243E37C5DC0FB29, ); name = application; sourceTree = ""; }; - FCBB31DC84430DC151BD8505 = {isa = PBXGroup; children = ( + BD0937E51E7B19AE268A7C6F = {isa = PBXGroup; children = ( + 805234B5BD52EADB4DA09003, + A5AEC6772F3634B8FA17CCE0, + 99ABAD8E303465C39B19ACD5, + A5EF608B0904CBC341441157, + 46175DD8DD8511DA50CEA9A2, + BC7B1AB4284EBECD4257905E, + FD1C3FBD64077AEF13E25E14, + 2B2DA01B33D1617803EC767A, + DA9EA6821F0C8D8B0A49C419, + 7AE5E470BD361C4329C2D2F7, + B978975E52F0BEAE7B9EFFFC, + 64DF4CCB05CC450AA96783CF, + D840776B8DCC081A45C645C2, + 090D7A003EFBAC2DA007DE2A, + B6875E27BB7D6368546103F2, + 01957B4ED33A17238922B200, + E0E9FBBDCBE859621BEBB793, + 9211518D85B0A6E047E1D69E, + 8D1824289116C86B1FD46EBF, + BA57C985836A5BFC5BFB7B7F, ); name = mouse; sourceTree = ""; }; + C8478043115A1E9B79E98589 = {isa = PBXGroup; children = ( ADD141B902E704C94F8B3B20, 3E8E28F4F11176F2871880CC, 9EE2C6C971AE76CB5573AA98, @@ -1911,25 +1811,102 @@ CCDE12A0ED5F595995B6E251, 6C3A809E35B50ED0F74CC7EE, E96F7A0D984A6658550AA6B7, ); name = native; sourceTree = ""; }; + 7BC1A0F4BCAE1F02243E5595 = {isa = PBXGroup; children = ( + 5E8C21AC2A1B8B0B58C37955, + 84AEE4F8A28635C15D906000, + 950402C14F0031033AB280CE, + 1893FA4609AAF5DD33145B9B, + 165DCE208FB600EFD1D43397, + F1E74B467C2D75E4541B0089, + 7E75ED738B0C5B23921807B4, + 469372BCD2E4A19BA918C8B2, + A7B4FBA164C49941A0C44524, + 90BF13AA1F1AA780E2C68EBE, + FE73287049CAD4511D3B2E6B, + D0C258A46B09A01C0783CDE0, + 9E90724F45380929532DB25B, + 39D1D5605F6A04795AF73812, ); name = positioning; sourceTree = ""; }; + 96B3BB94F37590AFF2ACDDEA = {isa = PBXGroup; children = ( + 1DD4E07B4A6CAD50B3FC9B90, + 093FD81AC22F2360CB37B521, + 4D9CE24E398FBF5424988A63, + 334948AD783C8AF3F2F79EC0, + 502A9F538EEAE40A8293254B, + 9BE18ECE67A4225EA024ECAE, + EB7702F51FACD00F9B4D2052, + 45DF47F918E119829B97D35B, + 0A9E895E546EE06D88C06244, + 32B9239DB65A4155D9359AEE, + E45C222FAA9FDD6B77F0B908, + 4D1D1974424944E09F462A6A, + C66AE85EED85DF1401157F7C, + 62DF30A0CE4D887A5C0D4699, ); name = properties; sourceTree = ""; }; + 4073EB46BDB62A412C13942F = {isa = PBXGroup; children = ( + 0E2B40062C5D6544BE55CBB3, + C0C1B6D7FB705FEF09B3D9E6, + 0E65C00550EDB61CC5E5FF40, + 345587066EDDE69F75428058, + 2319FD854AEDE5DA7A1EE44D, + 6118ECDDD7A0C59435DED65D, + D84423D0039B320C71571FCC, + 5E550C0743F7F482378D1111, + 86EEA574B70AF42545893527, + 7F527095A51540B79804CD7C, + CF976AA0959CE47A261345BF, + 425CD43CC5F5651E5C7A2F22, + CF3C4CFE6039FB3057B27C6C, + 39DBAD73C57C90B15E72C198, + C1883D8A4315CD8DDF216DDD, + 9317D08358E3C29D04BA18C8, + CF25F9F3C0B9F289DEF2482B, + 1A6F4CAD8CDBB0B0F3042460, + 13FB39F0D297AA9A43ECA535, + 9C3C31E6EB4A8D4BAF3F012D, + 3549DE9F591020FB503F36C2, + 0A65A1D753AE280B69C236A0, + 98BA34D00AABD12B7DD3A555, + F6DCAB7976BCD183C3344C3B, + 8E861422F29DA820ED7F3945, + 3AC4EF5519352B9718374AA4, + 7F97E4F4E4BF1A3D66A3B6AA, ); name = widgets; sourceTree = ""; }; + C42A4D546126120B06EA5C55 = {isa = PBXGroup; children = ( + 885DA9E9CF0C71C454630FB6, + ACE47FBC8BA954531F30B7E5, + 4E841B8918329CBB21300408, + 27EDF665F88CD3C5B137992A, + 14014CC2072B573B06CB807E, + CD3B8BA8B63B711DFF484BB2, + 0180548C53E46C0C333CC266, + 4EC63ADD493CDD4E68CEFB35, + 1633D377612A0BE68DE61769, + 821CE9C4168E49691D94BE45, + F82F982C0EF7007112D3E6E3, + FFC023104C5E283ABFA5FC04, + 4E8364A84D361DDAACEFA0B3, + BB91926472F729EB183B17BA, + 54BF7DC44AE03C4E338812B6, + 007DB556D6D8F4416B6DE242, + 8F9B4199C875D7144DAF145F, + 7EB94A8A33CC592A2A77A907, + 2061C6D4734E37456BE3B024, ); name = windows; sourceTree = ""; }; 88E7CC78C666385B7A2FCE19 = {isa = PBXGroup; children = ( - AFEE3E46C43FAF1F045F3FD2, - FD8CA66D459AE12D5183704F, - C49E7EA36F2E9A1E88825A46, - 9DEA35A043C375862DFC2E11, - C0363609B446F2D3BC720103, - B877AF9D28A19ECE0151B89A, - 4CCB39C45F0DFBCFEB1D2711, - CBDD7ECFCF1F407F075F715F, - 01A496F3C8E2330CD3BD5218, - 6CDD69C340D2F529CD1E9236, - 16360855AEBE6CCE84932505, - 05CCB3B7728A1367B4C87EDD, - 4922861301B9FBA7307424FA, - 37735166A980647B6A1D3950, - A777F9A9DA58479A7155B8C0, - 9761B4254CD555BA968431BA, - FCBB31DC84430DC151BD8505, - 2072900E34F05ADC7F5BD2F5, + AD9283DD4E67A881E31D0DC2, + B334534D1A094A2B38789A03, + 213789A052B03C5F551674A5, + 86604479C6F4E833F8F8420B, + B1A578AB57394C4D81438C04, + 728567DF8F2BBE4760532320, + 34FFFD2443C94751716AA5CD, + 83627F91590F7CC13F128FFA, + B301C40E0599FD2C3E41774E, + ACB7A82D2D0D88A02BEDEFDF, + 55467878BABC6D99DBB22FB2, + BD0937E51E7B19AE268A7C6F, + C8478043115A1E9B79E98589, + 7BC1A0F4BCAE1F02243E5595, + 96B3BB94F37590AFF2ACDDEA, + 4073EB46BDB62A412C13942F, + C42A4D546126120B06EA5C55, 2AA7FF1FB0D464A4E7B93360, ); name = "juce_gui_basics"; sourceTree = ""; }; B8E6CEE17FD58461BD95F1CE = {isa = PBXGroup; children = ( F59581D8631D6A684736D6FC, @@ -1991,9 +1968,21 @@ BD854673D1CB82FD3ACFA668, 131555DB93941B3E5B9BACFF, C4F10243A619A916FD713FAE, - 5CB78AA388C4618C4468DB1C, 27336149BE1D29412DC73E12, ); name = "juce_gui_extra"; sourceTree = ""; }; - E5AC5C6557B38D35C5FF8178 = {isa = PBXGroup; children = ( + 7B66D8CFAC344793875FBA28 = {isa = PBXGroup; children = ( + 6D690C2CDE841D840C052CE9, + 1F61AA2380037F90324BE5BF, + 3F275F94A58B457F4BECFA54, + DFE92977799232F2452D2062, ); name = geometry; sourceTree = ""; }; + 7785917FC82D874A491E0E74 = {isa = PBXGroup; children = ( + 3BD3A16A0E68EC8A1FA8168F, + 2339D4A97BF9E2653F8D3F61, + 6F0F3AF804B7AD6F8D53C13E, + 6A9B2C2EBCB45F4BA1D54D4D, + 574E9861D59F93927231A836, + E437F20962AB967F67FCDDA6, + 78528FE6D711A3BBB927573B, ); name = native; sourceTree = ""; }; + 66496EB4C9E0051B17B86C0C = {isa = PBXGroup; children = ( 1AD4C1F6D1E6ED83EB5DBBDD, 1F2CE673570F6C544FD544B3, 3C40C365FAB7497575E2D5A2, @@ -2011,28 +2000,14 @@ BD4FD4732B0E4BD368F5B898, C624611F6A868DF1A16DEED0, B9AFD1D82A8CD4C118FDDBF9, ); name = opengl; sourceTree = ""; }; - 893B6EEEA66D4F65D3CB6147 = {isa = PBXGroup; children = ( - 6D690C2CDE841D840C052CE9, - 1F61AA2380037F90324BE5BF, - 3F275F94A58B457F4BECFA54, - DFE92977799232F2452D2062, ); name = geometry; sourceTree = ""; }; - 83D94F3A45BE3111914F7D5C = {isa = PBXGroup; children = ( + CF6A614580D1071DF3A9AB8B = {isa = PBXGroup; children = ( 0431F5F5E10097114C967F46, A0C485BE0290D4F19C951DD4, ); name = utils; sourceTree = ""; }; - 9EB72D209F03F98F6D785CA5 = {isa = PBXGroup; children = ( - 3BD3A16A0E68EC8A1FA8168F, - 2339D4A97BF9E2653F8D3F61, - 6F0F3AF804B7AD6F8D53C13E, - 6A9B2C2EBCB45F4BA1D54D4D, - 574E9861D59F93927231A836, - E437F20962AB967F67FCDDA6, - 78528FE6D711A3BBB927573B, ); name = native; sourceTree = ""; }; 88CD0FFC98154FA34117D768 = {isa = PBXGroup; children = ( - E5AC5C6557B38D35C5FF8178, - 893B6EEEA66D4F65D3CB6147, - 83D94F3A45BE3111914F7D5C, - 9EB72D209F03F98F6D785CA5, - F7B3F2B1489E2F4785C3EB70, + 7B66D8CFAC344793875FBA28, + 7785917FC82D874A491E0E74, + 66496EB4C9E0051B17B86C0C, + CF6A614580D1071DF3A9AB8B, F61D480253AF8F68D427401D, ); name = "juce_opengl"; sourceTree = ""; }; 44990DE89D324D6B81E6A8E2 = {isa = PBXGroup; children = ( F02694B234A3FE3D1AA45DE5, @@ -2053,26 +2028,24 @@ 702DD6473F829AF063982E74, ); name = osc; sourceTree = ""; }; 8265888AF82733C9A1BA0D7F = {isa = PBXGroup; children = ( 44990DE89D324D6B81E6A8E2, - 63B71455C122FC45B51802A5, 263E3E0A442EF6EB3805B9A3, ); name = "juce_osc"; sourceTree = ""; }; - EC485C1724B21160EEC35B9F = {isa = PBXGroup; children = ( - ABCA61BC987590C3899EC412, - 9FF00873ACBF0083987EBA61, ); name = playback; sourceTree = ""; }; - 94E3A33E881385C33E608E1B = {isa = PBXGroup; children = ( + A81F42EEC8A9250E43D2A21D = {isa = PBXGroup; children = ( 561FE318335738D4B9354BB4, EBBDAF9C0412A88B5C3BA813, ); name = capture; sourceTree = ""; }; - D0830723721FDF3634581173 = {isa = PBXGroup; children = ( + 13FC75953BD9D6063D2AD8A3 = {isa = PBXGroup; children = ( 09E8A68A55FC89AB30031896, F9770C78FDCB76D2E70E984E, 387FF82B5F100F68D12B51EA, 9FC7AD578C975B3DFF2F1AC9, 4279E606197772E53A3CEC1B, 7F6D98AC02F8582F8923A6EB, ); name = native; sourceTree = ""; }; + 65066F35BAA0C7F8B7EFC627 = {isa = PBXGroup; children = ( + ABCA61BC987590C3899EC412, + 9FF00873ACBF0083987EBA61, ); name = playback; sourceTree = ""; }; 3CDF05F15F0FB510E12EC14D = {isa = PBXGroup; children = ( - EC485C1724B21160EEC35B9F, - 94E3A33E881385C33E608E1B, - D0830723721FDF3634581173, - 2EAC10EC519F9E28F01F6628, + A81F42EEC8A9250E43D2A21D, + 13FC75953BD9D6063D2AD8A3, + 65066F35BAA0C7F8B7EFC627, C4A48003D715E59DBBF845B6, ); name = "juce_video"; sourceTree = ""; }; B62CDACBF44910C40A0B36B5 = {isa = PBXGroup; children = ( 02E8AEA25C47897EDD8B9B19, @@ -2091,23 +2064,23 @@ 3CDF05F15F0FB510E12EC14D, ); name = "Juce Modules"; sourceTree = ""; }; 4C2E8C836F59650F806D2382 = {isa = PBXGroup; children = ( 739D70DB4A75270A6A803A70, - 2FD05BF82591C31E51A38F00, - 773E3BE403111A26BBE44585, - A8AF947903C0976A1D45F0B2, - 7A8F1905710789B01FE1A14D, - 139FE5BDC0CAD41194997C43, - FC0949070ED3A847CF1BD5E3, - A066C539AE34EB28990E01CC, - 38FDAC6BD78D0C9CA797194F, - D4BC5051ED3495BE68FF2D8B, - 58F833B530C1A1C3E615379F, - BE358E16CD9B3BC47DF0087B, - A2989A2A41C59268D97EC910, - C175252F593D94B80BDD21DA, - B1039CCF4C73FC87D5BC3091, + E5C25ABB003D5F9C6D58BE2A, + 4D77A8BFDA705927E9B26637, + 452FF66F5ECEFB9D0747D412, + 964377373F79A564617FC8BF, + 65C54952AD6FB91B5A53C42E, + C2A055A5DEB87F760C7097EA, + D3A787A9E9D07FFA2A3F6747, + 394FB5F7B6ED8E4C33B36C16, + 2C2AD216F900AEB159EC7F9E, + 88A0A3978080EF570739579F, + 87A901FB0499893CF1968E6D, + 14667EACB70B87CC667DA9E3, + B4CC1FBD4908C619AEF5E606, + 1E7D92143CA289DD3F8B9F32, 1415A47484CF06AD685207A7, ); name = "Juce Library Code"; sourceTree = ""; }; 6B08A8E037A4B02299D8C5F1 = {isa = PBXGroup; children = ( - F012F49A6D4DCAA388F4D896, + 358B56F4E9EADBE499A6E4AC, 6C4247B39550441A1914323B, ); name = Resources; sourceTree = ""; }; 5AC077DA631E45BA65F308A0 = {isa = PBXGroup; children = ( 9919E2B6BB47D980D2621E05, @@ -2124,7 +2097,7 @@ 0ACBAF3F9407F2B934D24D88, 943E32EC90312A13809CBE1E, ); name = Frameworks; sourceTree = ""; }; 6778E8BDE76400A1AF2624CB = {isa = PBXGroup; children = ( - A047FB322984257B904B6C5C, ); name = Products; sourceTree = ""; }; + 1997CE41947A0FA3AE6FD84C, ); name = Products; sourceTree = ""; }; 6A9D07656A985D7935C7FE29 = {isa = PBXGroup; children = ( 1C8FA7F39C7073AF87993BFB, B62CDACBF44910C40A0B36B5, @@ -2132,7 +2105,7 @@ 6B08A8E037A4B02299D8C5F1, 5AC077DA631E45BA65F308A0, 6778E8BDE76400A1AF2624CB, ); name = Source; sourceTree = ""; }; - 8F6E2570D70D2121754BF430 = {isa = XCBuildConfiguration; buildSettings = { + 53FD85A07B8E353D5FDA8342 = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; @@ -2148,12 +2121,12 @@ "JUCE_APP_VERSION_HEX=0x10000", ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.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 = { + 9E3735C587170DFFA5FD0E4F = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; @@ -2170,7 +2143,7 @@ GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.plist; INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; PRODUCT_BUNDLE_IDENTIFIER = com.rawmaterialsoftware.OSCMonitor; @@ -2207,31 +2180,32 @@ PRODUCT_NAME = "OSCMonitor"; WARNING_CFLAGS = -Wreorder; ZERO_LINK = NO; }; name = Release; }; + 0348D6E4190BA2E1C3516DF1 = {isa = PBXTargetDependency; target = CE4CE10FF3A0FD3AA7FF7605; }; 167C45A180F421917A997478 = {isa = XCConfigurationList; buildConfigurations = ( A73601CA8085AB937DA91A68, DDE4A8B5C0E28817D91763B8, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - A763CE2D6D5D1804862FD465 = {isa = XCConfigurationList; buildConfigurations = ( - 8F6E2570D70D2121754BF430, - 80316F7B5D906280809F977A, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 289EC916544F9AB376EC2D34 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 20DF35B3F00C62D341F77E2B = {isa = XCConfigurationList; buildConfigurations = ( + 53FD85A07B8E353D5FDA8342, + 9E3735C587170DFFA5FD0E4F, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 5EAEC7382D18903A6CC34743 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( FD37894ABB22F3806BDB6DD2, ); runOnlyForDeploymentPostprocessing = 0; }; - 735799A47A9FE4FA7E97F00A = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + F3B61DF6E57FDFD6B2F506F2 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 7DF7FC3F321D0FD106D22923, - BD5C684D3A60BDB042060A23, - C4D38F6E6749FBACFF001A10, - D1E210046EF972A95A802706, - 273D90076BBBE09DE2821C39, - 22ECF5DF869E447330382F21, - AE4AA1DE338E42D9FA4126C1, - 9637EFB5B5F4341293C72651, - C97F6597371CA28BCD13C0EB, - 317574CF4354EDEB82DBEE1E, - 7B6ACF90444EAC6F68C5DE8A, - D8EB553568FABA6181CF9FCC, - 69F96C38DB4723DC773362DA, - 687678AFAE5C56E56897B7C0, - 07E135F3D15D36D5616FEF5D, ); runOnlyForDeploymentPostprocessing = 0; }; - AFA7CB1A2222CAEC025ED779 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 4161D885F4EF73853A759DDA, + 654B0029D86EAA3F9E3A27DF, + DAB08978859FA8E7DE0C3F49, + E2F98B9B2BE5DCA6C4D73193, + B451A646FA950AE59A82D6FB, + 3D0BBCE1E6289CBE199158D0, + 32A991FB1694184F1B6AB82E, + C67B280EEB8B22E3F7805BAB, + 09F61371AC5E6047C8D2AC9F, + B10116DA9DE37F07FCBF1518, + 24C280399D78BDF81F61AC52, + A32CF9A4E8CD54E5086D4842, + C06DB40E4B34BB54DC18171B, + 700E7E1757F459EAB6321E27, ); runOnlyForDeploymentPostprocessing = 0; }; + F246BDBFC565CFD500CC8D8B = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( EEF1C1AC7B804FD1DD290FF3, 8F90CDDE444EA79E66718A5B, 0D4B330237E806FD83EAE57F, @@ -2245,11 +2219,11 @@ 9A3D01640540671E3E6892F2, 19FF8A49CDF83C24BB56A538, 98B1D424886DEABF643565CA, ); runOnlyForDeploymentPostprocessing = 0; }; - A1E97138A34B8DC8CFDF09A6 = {isa = PBXNativeTarget; buildConfigurationList = A763CE2D6D5D1804862FD465; buildPhases = ( - 289EC916544F9AB376EC2D34, - 735799A47A9FE4FA7E97F00A, - AFA7CB1A2222CAEC025ED779, ); buildRules = ( ); dependencies = ( ); name = OSCMonitor; productName = OSCMonitor; productReference = A047FB322984257B904B6C5C; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; - 6AEE7D5FA068DDF4AE3BC412 = {isa = PBXProject; buildConfigurationList = 167C45A180F421917A997478; attributes = { LastUpgradeCheck = 0440; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 6A9D07656A985D7935C7FE29; projectDirPath = ""; projectRoot = ""; targets = ( A1E97138A34B8DC8CFDF09A6 ); }; + CE4CE10FF3A0FD3AA7FF7605 = {isa = PBXNativeTarget; buildConfigurationList = 20DF35B3F00C62D341F77E2B; buildPhases = ( + 5EAEC7382D18903A6CC34743, + F3B61DF6E57FDFD6B2F506F2, + F246BDBFC565CFD500CC8D8B, ); buildRules = ( ); dependencies = ( ); name = "OSCMonitor (App)"; productName = OSCMonitor; productReference = 1997CE41947A0FA3AE6FD84C; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; + 6AEE7D5FA068DDF4AE3BC412 = {isa = PBXProject; buildConfigurationList = 167C45A180F421917A997478; attributes = { LastUpgradeCheck = 0440; TargetAttributes = { CE4CE10FF3A0FD3AA7FF7605 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 6A9D07656A985D7935C7FE29; projectDirPath = ""; projectRoot = ""; targets = (CE4CE10FF3A0FD3AA7FF7605); }; }; rootObject = 6AEE7D5FA068DDF4AE3BC412; } diff --git a/examples/OSCMonitor/Builds/VisualStudio2015/OSCMonitor.vcxproj b/examples/OSCMonitor/Builds/VisualStudio2015/OSCMonitor.vcxproj index 54eb278a18..2251a28add 100644 --- a/examples/OSCMonitor/Builds/VisualStudio2015/OSCMonitor.vcxproj +++ b/examples/OSCMonitor/Builds/VisualStudio2015/OSCMonitor.vcxproj @@ -217,6 +217,9 @@ true + + true + true @@ -232,15 +235,6 @@ true - - true - - - true - - - true - true @@ -289,25 +283,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -337,9 +316,45 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + true + + true + + + true + + + true + + + true + + + true + true @@ -358,21 +373,6 @@ true - - true - - - true - - - true - - - true - - - true - true @@ -388,45 +388,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -442,33 +403,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -493,40 +427,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -535,31 +439,16 @@ true - + true - + true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -625,6 +514,117 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -643,6 +643,15 @@ true + + true + + + true + + + true + true @@ -652,33 +661,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -697,6 +679,18 @@ true + + true + + + true + + + true + + + true + true @@ -706,6 +700,12 @@ true + + true + + + true + true @@ -727,43 +727,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -784,10 +751,40 @@ true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -814,6 +811,51 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -826,6 +868,153 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -847,19 +1036,70 @@ true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -928,246 +1168,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -1300,20 +1300,20 @@ true - - - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -1354,6 +1354,8 @@ + + @@ -1361,20 +1363,10 @@ + - - - - - - - - - - - @@ -1384,8 +1376,25 @@ + + + + + + + + + + + + + + + + + @@ -1396,15 +1405,6 @@ - - - - - - - - - @@ -1415,21 +1415,35 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1450,22 +1464,49 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1485,53 +1526,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - @@ -1540,14 +1540,22 @@ + + + + - - - - + + + + + + + + @@ -1557,19 +1565,11 @@ - - - - - - - - - - + + @@ -1580,10 +1580,15 @@ - - - - + + + + + + + + + @@ -1594,26 +1599,91 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1627,14 +1697,21 @@ - - - - - - - - + + + + + + + + + + + + + + + @@ -1659,83 +1736,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1761,6 +1761,17 @@ + + + + + + + + + + + @@ -1770,18 +1781,7 @@ - - - - - - - - - - - @@ -1792,29 +1792,13 @@ + - - - - - - - - - - - - - - - - - diff --git a/examples/OSCMonitor/Builds/VisualStudio2015/OSCMonitor.vcxproj.filters b/examples/OSCMonitor/Builds/VisualStudio2015/OSCMonitor.vcxproj.filters index 2323c8ed5e..83fcfa16aa 100644 --- a/examples/OSCMonitor/Builds/VisualStudio2015/OSCMonitor.vcxproj.filters +++ b/examples/OSCMonitor/Builds/VisualStudio2015/OSCMonitor.vcxproj.filters @@ -35,45 +35,45 @@ {CACD7B50-4DB3-76AF-A6E8-90DF94F8F594} + + {45C2CE26-EC4B-BA52-58F3-297C408E1483} + {9D270B31-2425-8FDB-84A4-6A2288FF5B2F} {0F766DD4-A277-CB86-5647-42498C8B41E1} - - {D64942B4-6984-3623-3347-45D472AE1C61} - - - {45C2CE26-EC4B-BA52-58F3-297C408E1483} - {01603E05-423B-5FC3-1BEE-E15ED33B5688} + + {D64942B4-6984-3623-3347-45D472AE1C61} + {65CB28F8-0422-A8F3-9A17-959E12A1F8E2} - - {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} - {0CD9E281-DDD0-91EC-6F77-EA9D9D5E0E1A} + + {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} + {40C5CA7C-AEBB-05B1-11CE-AE41D87B5CCB} {0B0E7392-324B-088C-FBEB-5FE999D61782} - - {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} - {20254EFE-6CBD-31A7-2119-92B1E0E0E311} {70796D73-6D30-8A1B-4732-7C021E47C05A} + + {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} + {EB8DD942-E2CB-869F-D381-E02A65BA790B} @@ -83,8 +83,17 @@ {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} - - {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + + {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + + {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + + {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} {476C69CE-0B67-6B85-E888-45D91E37A29E} @@ -92,17 +101,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} - - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -110,29 +113,26 @@ {91929C6F-7902-B87D-5260-2F6CBF8ACD93} - - {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} - {4634FFAE-9586-A970-364C-4FDDA635F99F} - - {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} - - {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - {F03654BC-34D8-F975-BEA3-750CC2783D23} + + {C9F6D785-BF78-5AA1-B479-111C65397864} {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} - - {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} - - {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + {F03654BC-34D8-F975-BEA3-750CC2783D23} {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} @@ -146,33 +146,33 @@ {928D8FCC-5E00-174B-6538-93E8D75AB396} - - {1988E68A-A964-64CA-0E0C-26FF9BC5176C} + + {358AEA11-3F96-36AE-7B32-71373B5C5396} {3DF036EA-3B80-553B-2494-3AAC835CAE75} - - {358AEA11-3F96-36AE-7B32-71373B5C5396} + + {1988E68A-A964-64CA-0E0C-26FF9BC5176C} {F2A38F45-6E55-E147-2E52-64A89FDD9D59} - - {6172822C-01A5-E824-12DA-FA43FA934D35} - - - {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} - {B098BC87-3298-7E6B-12DC-D26C09CDCAED} {6322B88F-984A-C3CD-6263-38D7AA49B6EC} + + {6172822C-01A5-E824-12DA-FA43FA934D35} + {73C1E759-AD90-59A3-942E-2D10FAA29107} + + {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} + {EE1AE8C3-0908-8F53-A4E5-D930C7C97C26} @@ -182,81 +182,81 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} - - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - - {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {E37D25CD-4350-4614-055B-7ABC55E67895} {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {C1A1A236-AB01-173E-96C3-0706BFF93B1E} + + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + + {413F481F-075C-2958-115C-D8268682FCB7} {FFC6E1CC-C772-75E6-5087-FB5D4E016799} + + {1182303F-ECA3-166D-AC0C-92C5E762CB93} + {8E43579F-C185-266D-DD67-F8B95BD80F2F} + + {61712B09-5783-ADFA-2001-5A0C3D7764EB} + + + {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + + {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} + {2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D} - - {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + {5A0AA36E-3957-E413-14C6-31CBE15271DF} + + + {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} {A92719C7-70BE-57C4-CE9E-A9BC9DFEB757} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} + + + {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} + + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} + + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + + {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} + + + {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} + {75F1F352-251A-75E0-D941-8431588F5C1E} {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} - - {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} - - - {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} - - - {5A0AA36E-3957-E413-14C6-31CBE15271DF} - - - {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} - - - {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} - - - {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} - - - {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} - - - {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - - {61712B09-5783-ADFA-2001-5A0C3D7764EB} - - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} - {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -278,18 +278,18 @@ {639E16C5-DA8B-ADBA-6E24-7B596378EAB2} - - {2D8D0E19-E676-83EB-38D9-F73500DD6B79} - {B3141847-8F13-F67D-45B2-E3ECF6E09088} - - {9E586194-C056-101C-5311-F2AF5191AC80} - {151B49D8-6102-F802-1C07-D59931BC0574} + + {2D8D0E19-E676-83EB-38D9-F73500DD6B79} + + + {9E586194-C056-101C-5311-F2AF5191AC80} + {1A62F82C-C14A-E14A-94DE-8A27E0F8A090} @@ -299,15 +299,15 @@ {72A923E2-C729-DB92-D7BF-A9D4AFAE5896} - - {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} - {7F11E7D2-54C0-2A36-5F15-BEC0A5374A08} {EE985DEA-CD83-8132-7219-542BB1DAD560} + + {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} + {8B4D1BAA-6DB4-CAEC-A0FA-271F354D5C61} @@ -403,6 +403,9 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -418,15 +421,6 @@ Juce Modules\juce_audio_devices\midi_io - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\audio_cd - Juce Modules\juce_audio_devices\native @@ -481,26 +475,11 @@ Juce Modules\juce_audio_devices\native - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_formats\codecs @@ -529,27 +508,30 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - Juce Modules\juce_audio_processors\format @@ -568,6 +550,24 @@ Juce Modules\juce_audio_processors\format_types + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + Juce Modules\juce_audio_processors\scanning @@ -583,45 +583,6 @@ Juce Modules\juce_audio_processors\utilities - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\memory - Juce Modules\juce_core\containers @@ -637,33 +598,6 @@ Juce Modules\juce_core\containers - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - Juce Modules\juce_core\files @@ -688,41 +622,11 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -730,32 +634,17 @@ Juce Modules\juce_core\logging - - Juce Modules\juce_core\system + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc @@ -835,6 +724,117 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + Juce Modules\juce_cryptography\encryption @@ -853,6 +853,15 @@ Juce Modules\juce_cryptography\hashing + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -862,33 +871,6 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - Juce Modules\juce_events\broadcasters @@ -907,6 +889,18 @@ Juce Modules\juce_events\interprocess + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + Juce Modules\juce_events\native @@ -922,6 +916,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_graphics\colour @@ -943,44 +943,11 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\effects Juce Modules\juce_graphics\fonts @@ -1000,11 +967,41 @@ Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -1036,6 +1033,51 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -1048,6 +1090,153 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -1069,20 +1258,92 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -1150,267 +1411,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_extra\code_editor @@ -1561,46 +1561,46 @@ Juce Modules\juce_video\native - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code @@ -1719,6 +1719,12 @@ Juce Modules\juce_audio_basics + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -1740,48 +1746,18 @@ Juce Modules\juce_audio_devices\midi_io + + Juce Modules\juce_audio_devices\native + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\native - Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - Juce Modules\juce_audio_formats\codecs @@ -1809,12 +1785,63 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + Juce Modules\juce_audio_processors\processors @@ -1845,33 +1872,6 @@ Juce Modules\juce_audio_processors\processors - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - Juce Modules\juce_audio_processors\scanning @@ -1902,50 +1902,92 @@ Juce Modules\juce_audio_processors - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -2007,53 +2049,134 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text Juce Modules\juce_core\threads @@ -2112,92 +2235,8 @@ Juce Modules\juce_core\time - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -2205,12 +2244,6 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - Juce Modules\juce_core\zip @@ -2220,39 +2253,6 @@ Juce Modules\juce_core\zip - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - Juce Modules\juce_core @@ -2277,6 +2277,18 @@ Juce Modules\juce_cryptography + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -2286,21 +2298,33 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - Juce Modules\juce_data_structures + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + Juce Modules\juce_events\messages @@ -2328,36 +2352,6 @@ Juce Modules\juce_events\messages - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - Juce Modules\juce_events\native @@ -2367,6 +2361,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_events @@ -2397,17 +2397,32 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -2439,38 +2454,17 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -2481,9 +2475,60 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + Juce Modules\juce_graphics + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -2499,6 +2544,171 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -2538,29 +2748,50 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -2634,237 +2865,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_basics @@ -2940,6 +2940,39 @@ Juce Modules\juce_gui_extra + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + Juce Modules\juce_opengl\opengl @@ -2967,42 +3000,9 @@ Juce Modules\juce_opengl\opengl - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - Juce Modules\juce_opengl\utils - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - Juce Modules\juce_opengl @@ -3033,15 +3033,15 @@ Juce Modules\juce_osc + + Juce Modules\juce_video\capture + Juce Modules\juce_video\playback Juce Modules\juce_video\playback - - Juce Modules\juce_video\capture - Juce Modules\juce_video @@ -3052,50 +3052,6 @@ Juce Library Code - - - Juce Modules\juce_audio_basics - - - Juce Modules\juce_audio_devices - - - Juce Modules\juce_audio_formats - - - Juce Modules\juce_audio_processors - - - Juce Modules\juce_core - - - Juce Modules\juce_cryptography - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_gui_extra - - - Juce Modules\juce_opengl - - - Juce Modules\juce_osc - - - Juce Modules\juce_video - - Juce Library Code diff --git a/examples/OSCMonitor/JuceLibraryCode/AppConfig.h b/examples/OSCMonitor/JuceLibraryCode/AppConfig.h index 77c4aac16f..b48b2cb966 100644 --- a/examples/OSCMonitor/JuceLibraryCode/AppConfig.h +++ b/examples/OSCMonitor/JuceLibraryCode/AppConfig.h @@ -4,8 +4,8 @@ project - if you alter its contents, your changes may be overwritten! There's a section below where you can add your own custom code safely, and the - Introjucer will preserve the contents of that block, but the best way to change - any of these definitions is by using the Introjucer's project settings. + Projucer will preserve the contents of that block, but the best way to change + any of these definitions is by using the Projucer's project settings. Any commented-out settings will assume their default values. @@ -17,7 +17,7 @@ //============================================================================== // [BEGIN_USER_CODE_SECTION] -// (You can add your own code in this section, and the Introjucer will not overwrite it) +// (You can add your own code in this section, and the Projucer will not overwrite it) // [END_USER_CODE_SECTION] @@ -39,9 +39,15 @@ //============================================================================== #ifndef JUCE_STANDALONE_APPLICATION - #define JUCE_STANDALONE_APPLICATION 1 + #ifdef JucePlugin_Build_Standalone + #define JUCE_STANDALONE_APPLICATION JucePlugin_Build_Standalone + #else + #define JUCE_STANDALONE_APPLICATION 1 + #endif #endif +#define JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED 1 + //============================================================================== // juce_audio_devices flags: diff --git a/examples/OSCMonitor/JuceLibraryCode/JuceHeader.h b/examples/OSCMonitor/JuceLibraryCode/JuceHeader.h index 91248fad80..422cbb85c3 100644 --- a/examples/OSCMonitor/JuceLibraryCode/JuceHeader.h +++ b/examples/OSCMonitor/JuceLibraryCode/JuceHeader.h @@ -14,20 +14,22 @@ #define __APPHEADERFILE_IHMIKJ__ #include "AppConfig.h" -#include "modules/juce_audio_basics/juce_audio_basics.h" -#include "modules/juce_audio_devices/juce_audio_devices.h" -#include "modules/juce_audio_formats/juce_audio_formats.h" -#include "modules/juce_audio_processors/juce_audio_processors.h" -#include "modules/juce_core/juce_core.h" -#include "modules/juce_cryptography/juce_cryptography.h" -#include "modules/juce_data_structures/juce_data_structures.h" -#include "modules/juce_events/juce_events.h" -#include "modules/juce_graphics/juce_graphics.h" -#include "modules/juce_gui_basics/juce_gui_basics.h" -#include "modules/juce_gui_extra/juce_gui_extra.h" -#include "modules/juce_opengl/juce_opengl.h" -#include "modules/juce_osc/juce_osc.h" -#include "modules/juce_video/juce_video.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + #if ! DONT_SET_USING_JUCE_NAMESPACE // If your code uses a lot of JUCE classes, then this will obviously save you diff --git a/examples/OSCMonitor/JuceLibraryCode/ReadMe.txt b/examples/OSCMonitor/JuceLibraryCode/ReadMe.txt index f6c3564e99..091a5aa6eb 100644 --- a/examples/OSCMonitor/JuceLibraryCode/ReadMe.txt +++ b/examples/OSCMonitor/JuceLibraryCode/ReadMe.txt @@ -2,11 +2,11 @@ Important Note!! ================ -The purpose of this folder is to contain files that are auto-generated by the Introjucer, +The purpose of this folder is to contain files that are auto-generated by the Projucer, and ALL files in this folder will be mercilessly DELETED and completely re-written whenever -the Introjucer saves your project. +the Projucer saves your project. Therefore, it's a bad idea to make any manual changes to the files in here, or to put any of your own files in here if you don't want to lose them. (Of course you may choose to add the folder's contents to your version-control system so that you can re-merge your own -modifications after the Introjucer has saved its changes). +modifications after the Projucer has saved its changes). diff --git a/examples/OSCMonitor/JuceLibraryCode/juce_audio_basics.cpp b/examples/OSCMonitor/JuceLibraryCode/juce_audio_basics.cpp new file mode 100644 index 0000000000..418694873c --- /dev/null +++ b/examples/OSCMonitor/JuceLibraryCode/juce_audio_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCMonitor/JuceLibraryCode/juce_audio_basics.mm b/examples/OSCMonitor/JuceLibraryCode/juce_audio_basics.mm new file mode 100644 index 0000000000..e0e6c577cc --- /dev/null +++ b/examples/OSCMonitor/JuceLibraryCode/juce_audio_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCMonitor/JuceLibraryCode/juce_audio_devices.cpp b/examples/OSCMonitor/JuceLibraryCode/juce_audio_devices.cpp new file mode 100644 index 0000000000..fb5c2219d7 --- /dev/null +++ b/examples/OSCMonitor/JuceLibraryCode/juce_audio_devices.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCMonitor/JuceLibraryCode/juce_audio_devices.mm b/examples/OSCMonitor/JuceLibraryCode/juce_audio_devices.mm new file mode 100644 index 0000000000..e58b67ea49 --- /dev/null +++ b/examples/OSCMonitor/JuceLibraryCode/juce_audio_devices.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCMonitor/JuceLibraryCode/juce_audio_formats.cpp b/examples/OSCMonitor/JuceLibraryCode/juce_audio_formats.cpp new file mode 100644 index 0000000000..a3c61170eb --- /dev/null +++ b/examples/OSCMonitor/JuceLibraryCode/juce_audio_formats.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCMonitor/JuceLibraryCode/juce_audio_formats.mm b/examples/OSCMonitor/JuceLibraryCode/juce_audio_formats.mm new file mode 100644 index 0000000000..f325b8fb67 --- /dev/null +++ b/examples/OSCMonitor/JuceLibraryCode/juce_audio_formats.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCMonitor/JuceLibraryCode/juce_audio_processors.cpp b/examples/OSCMonitor/JuceLibraryCode/juce_audio_processors.cpp new file mode 100644 index 0000000000..bfe172edd0 --- /dev/null +++ b/examples/OSCMonitor/JuceLibraryCode/juce_audio_processors.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCMonitor/JuceLibraryCode/juce_audio_processors.mm b/examples/OSCMonitor/JuceLibraryCode/juce_audio_processors.mm new file mode 100644 index 0000000000..b80ae9017f --- /dev/null +++ b/examples/OSCMonitor/JuceLibraryCode/juce_audio_processors.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCMonitor/JuceLibraryCode/juce_core.cpp b/examples/OSCMonitor/JuceLibraryCode/juce_core.cpp new file mode 100644 index 0000000000..d0ce1636f0 --- /dev/null +++ b/examples/OSCMonitor/JuceLibraryCode/juce_core.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCMonitor/JuceLibraryCode/juce_core.mm b/examples/OSCMonitor/JuceLibraryCode/juce_core.mm new file mode 100644 index 0000000000..72b10bf817 --- /dev/null +++ b/examples/OSCMonitor/JuceLibraryCode/juce_core.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCMonitor/JuceLibraryCode/juce_cryptography.cpp b/examples/OSCMonitor/JuceLibraryCode/juce_cryptography.cpp new file mode 100644 index 0000000000..10b3401dbe --- /dev/null +++ b/examples/OSCMonitor/JuceLibraryCode/juce_cryptography.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCMonitor/JuceLibraryCode/juce_cryptography.mm b/examples/OSCMonitor/JuceLibraryCode/juce_cryptography.mm new file mode 100644 index 0000000000..9311ea0ffe --- /dev/null +++ b/examples/OSCMonitor/JuceLibraryCode/juce_cryptography.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCMonitor/JuceLibraryCode/juce_data_structures.cpp b/examples/OSCMonitor/JuceLibraryCode/juce_data_structures.cpp new file mode 100644 index 0000000000..9315aa1686 --- /dev/null +++ b/examples/OSCMonitor/JuceLibraryCode/juce_data_structures.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCMonitor/JuceLibraryCode/juce_data_structures.mm b/examples/OSCMonitor/JuceLibraryCode/juce_data_structures.mm new file mode 100644 index 0000000000..695ec43925 --- /dev/null +++ b/examples/OSCMonitor/JuceLibraryCode/juce_data_structures.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCMonitor/JuceLibraryCode/juce_events.cpp b/examples/OSCMonitor/JuceLibraryCode/juce_events.cpp new file mode 100644 index 0000000000..1bba110a97 --- /dev/null +++ b/examples/OSCMonitor/JuceLibraryCode/juce_events.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCMonitor/JuceLibraryCode/juce_events.mm b/examples/OSCMonitor/JuceLibraryCode/juce_events.mm new file mode 100644 index 0000000000..4cc34fc401 --- /dev/null +++ b/examples/OSCMonitor/JuceLibraryCode/juce_events.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCMonitor/JuceLibraryCode/juce_graphics.cpp b/examples/OSCMonitor/JuceLibraryCode/juce_graphics.cpp new file mode 100644 index 0000000000..319c76de0e --- /dev/null +++ b/examples/OSCMonitor/JuceLibraryCode/juce_graphics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCMonitor/JuceLibraryCode/juce_graphics.mm b/examples/OSCMonitor/JuceLibraryCode/juce_graphics.mm new file mode 100644 index 0000000000..b28e6dd056 --- /dev/null +++ b/examples/OSCMonitor/JuceLibraryCode/juce_graphics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCMonitor/JuceLibraryCode/juce_gui_basics.cpp b/examples/OSCMonitor/JuceLibraryCode/juce_gui_basics.cpp new file mode 100644 index 0000000000..216c76bb05 --- /dev/null +++ b/examples/OSCMonitor/JuceLibraryCode/juce_gui_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCMonitor/JuceLibraryCode/juce_gui_basics.mm b/examples/OSCMonitor/JuceLibraryCode/juce_gui_basics.mm new file mode 100644 index 0000000000..6a9726fa5f --- /dev/null +++ b/examples/OSCMonitor/JuceLibraryCode/juce_gui_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCMonitor/JuceLibraryCode/juce_gui_extra.cpp b/examples/OSCMonitor/JuceLibraryCode/juce_gui_extra.cpp new file mode 100644 index 0000000000..7226e19833 --- /dev/null +++ b/examples/OSCMonitor/JuceLibraryCode/juce_gui_extra.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCMonitor/JuceLibraryCode/juce_gui_extra.mm b/examples/OSCMonitor/JuceLibraryCode/juce_gui_extra.mm new file mode 100644 index 0000000000..c9b6c3bfc6 --- /dev/null +++ b/examples/OSCMonitor/JuceLibraryCode/juce_gui_extra.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCMonitor/JuceLibraryCode/juce_opengl.cpp b/examples/OSCMonitor/JuceLibraryCode/juce_opengl.cpp new file mode 100644 index 0000000000..d9895bce92 --- /dev/null +++ b/examples/OSCMonitor/JuceLibraryCode/juce_opengl.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCMonitor/JuceLibraryCode/juce_opengl.mm b/examples/OSCMonitor/JuceLibraryCode/juce_opengl.mm new file mode 100644 index 0000000000..6c2c32d095 --- /dev/null +++ b/examples/OSCMonitor/JuceLibraryCode/juce_opengl.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCMonitor/JuceLibraryCode/juce_osc.cpp b/examples/OSCMonitor/JuceLibraryCode/juce_osc.cpp new file mode 100644 index 0000000000..0c3b9ae974 --- /dev/null +++ b/examples/OSCMonitor/JuceLibraryCode/juce_osc.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCMonitor/JuceLibraryCode/juce_video.cpp b/examples/OSCMonitor/JuceLibraryCode/juce_video.cpp new file mode 100644 index 0000000000..bdf22ee131 --- /dev/null +++ b/examples/OSCMonitor/JuceLibraryCode/juce_video.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCMonitor/JuceLibraryCode/juce_video.mm b/examples/OSCMonitor/JuceLibraryCode/juce_video.mm new file mode 100644 index 0000000000..3da705bccd --- /dev/null +++ b/examples/OSCMonitor/JuceLibraryCode/juce_video.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCMonitor/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h b/examples/OSCMonitor/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h deleted file mode 100644 index 9befea8142..0000000000 --- a/examples/OSCMonitor/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_basics/juce_audio_basics.h" diff --git a/examples/OSCMonitor/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h b/examples/OSCMonitor/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h deleted file mode 100644 index eba6d3a9e5..0000000000 --- a/examples/OSCMonitor/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_devices/juce_audio_devices.h" diff --git a/examples/OSCMonitor/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h b/examples/OSCMonitor/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h deleted file mode 100644 index 4629b0ef2c..0000000000 --- a/examples/OSCMonitor/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_formats/juce_audio_formats.h" diff --git a/examples/OSCMonitor/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h b/examples/OSCMonitor/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h deleted file mode 100644 index 7d4583dbf8..0000000000 --- a/examples/OSCMonitor/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_processors/juce_audio_processors.h" diff --git a/examples/OSCMonitor/JuceLibraryCode/modules/juce_core/juce_core.h b/examples/OSCMonitor/JuceLibraryCode/modules/juce_core/juce_core.h deleted file mode 100644 index 06e88f9352..0000000000 --- a/examples/OSCMonitor/JuceLibraryCode/modules/juce_core/juce_core.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_core/juce_core.h" diff --git a/examples/OSCMonitor/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h b/examples/OSCMonitor/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h deleted file mode 100644 index e4574f4749..0000000000 --- a/examples/OSCMonitor/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_cryptography/juce_cryptography.h" diff --git a/examples/OSCMonitor/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h b/examples/OSCMonitor/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h deleted file mode 100644 index 9d814fd953..0000000000 --- a/examples/OSCMonitor/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_data_structures/juce_data_structures.h" diff --git a/examples/OSCMonitor/JuceLibraryCode/modules/juce_events/juce_events.h b/examples/OSCMonitor/JuceLibraryCode/modules/juce_events/juce_events.h deleted file mode 100644 index 509b1df8d2..0000000000 --- a/examples/OSCMonitor/JuceLibraryCode/modules/juce_events/juce_events.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_events/juce_events.h" diff --git a/examples/OSCMonitor/JuceLibraryCode/modules/juce_graphics/juce_graphics.h b/examples/OSCMonitor/JuceLibraryCode/modules/juce_graphics/juce_graphics.h deleted file mode 100644 index 28edbf35e3..0000000000 --- a/examples/OSCMonitor/JuceLibraryCode/modules/juce_graphics/juce_graphics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_graphics/juce_graphics.h" diff --git a/examples/OSCMonitor/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h b/examples/OSCMonitor/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h deleted file mode 100644 index 81ad4b7297..0000000000 --- a/examples/OSCMonitor/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_gui_basics/juce_gui_basics.h" diff --git a/examples/OSCMonitor/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h b/examples/OSCMonitor/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h deleted file mode 100644 index 5c9b7a96b5..0000000000 --- a/examples/OSCMonitor/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_gui_extra/juce_gui_extra.h" diff --git a/examples/OSCMonitor/JuceLibraryCode/modules/juce_opengl/juce_opengl.h b/examples/OSCMonitor/JuceLibraryCode/modules/juce_opengl/juce_opengl.h deleted file mode 100644 index 718392ff72..0000000000 --- a/examples/OSCMonitor/JuceLibraryCode/modules/juce_opengl/juce_opengl.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_opengl/juce_opengl.h" diff --git a/examples/OSCMonitor/JuceLibraryCode/modules/juce_osc/juce_osc.h b/examples/OSCMonitor/JuceLibraryCode/modules/juce_osc/juce_osc.h deleted file mode 100644 index 40bdd4441b..0000000000 --- a/examples/OSCMonitor/JuceLibraryCode/modules/juce_osc/juce_osc.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_osc/juce_osc.h" diff --git a/examples/OSCMonitor/JuceLibraryCode/modules/juce_video/juce_video.h b/examples/OSCMonitor/JuceLibraryCode/modules/juce_video/juce_video.h deleted file mode 100644 index 0dd1636ec2..0000000000 --- a/examples/OSCMonitor/JuceLibraryCode/modules/juce_video/juce_video.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_video/juce_video.h" diff --git a/examples/OSCMonitor/OSCMonitor.jucer b/examples/OSCMonitor/OSCMonitor.jucer index fa584e5e48..1be83fc096 100644 --- a/examples/OSCMonitor/OSCMonitor.jucer +++ b/examples/OSCMonitor/OSCMonitor.jucer @@ -2,7 +2,7 @@ + jucerVersion="4.2.0"> diff --git a/examples/OSCMonitor/Source/Main.cpp b/examples/OSCMonitor/Source/Main.cpp index b253d03ef7..58e5ee7a43 100644 --- a/examples/OSCMonitor/Source/Main.cpp +++ b/examples/OSCMonitor/Source/Main.cpp @@ -1,7 +1,7 @@ /* ============================================================================== - This file was auto-generated by the Introjucer! + This file was auto-generated by the Projucer! It contains the basic startup code for a Juce application. diff --git a/examples/OSCMonitor/Source/MainComponent.h b/examples/OSCMonitor/Source/MainComponent.h index e94c4ee636..9d6976bd19 100644 --- a/examples/OSCMonitor/Source/MainComponent.h +++ b/examples/OSCMonitor/Source/MainComponent.h @@ -20,7 +20,7 @@ class MainContentComponent : public Component, { public: - //========================================================================== + //============================================================================== MainContentComponent() : portNumberLabel (new Label), portNumberField (new Label), @@ -67,7 +67,7 @@ public: } private: - //========================================================================== + //============================================================================== ScopedPointer @@ -1179,50 +1179,92 @@ OSCReceiver\Source - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -1284,53 +1326,134 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text Juce Modules\juce_core\threads @@ -1389,92 +1512,8 @@ Juce Modules\juce_core\time - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -1482,12 +1521,6 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - Juce Modules\juce_core\zip @@ -1497,39 +1530,6 @@ Juce Modules\juce_core\zip - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - Juce Modules\juce_core @@ -1554,6 +1554,18 @@ Juce Modules\juce_cryptography + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -1563,21 +1575,33 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - Juce Modules\juce_data_structures + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + Juce Modules\juce_events\messages @@ -1605,36 +1629,6 @@ Juce Modules\juce_events\messages - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - Juce Modules\juce_events\native @@ -1644,6 +1638,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_events @@ -1674,17 +1674,32 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -1716,38 +1731,17 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -1758,9 +1752,60 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + Juce Modules\juce_graphics + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -1776,6 +1821,171 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -1815,29 +2025,50 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -1911,237 +2142,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_basics @@ -2251,32 +2251,6 @@ Juce Library Code - - - Juce Modules\juce_core - - - Juce Modules\juce_cryptography - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_gui_extra - - - Juce Modules\juce_osc - - Juce Library Code diff --git a/examples/OSCReceiver/Builds/iOS/Info.plist b/examples/OSCReceiver/Builds/iOS/Info-App.plist similarity index 85% rename from examples/OSCReceiver/Builds/iOS/Info.plist rename to examples/OSCReceiver/Builds/iOS/Info-App.plist index 1ca42d2410..2c2d4c922c 100644 --- a/examples/OSCReceiver/Builds/iOS/Info.plist +++ b/examples/OSCReceiver/Builds/iOS/Info-App.plist @@ -13,6 +13,8 @@ $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName OSCReceiver + CFBundleDisplayName + OSCReceiver CFBundlePackageType APPL CFBundleSignature @@ -27,12 +29,15 @@ UIRequiresFullScreen + UIStatusBarHidden + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight + UIBackgroundModes + diff --git a/examples/OSCReceiver/Builds/iOS/OSCReceiver.xcodeproj/project.pbxproj b/examples/OSCReceiver/Builds/iOS/OSCReceiver.xcodeproj/project.pbxproj index 1e14b36456..2741762062 100644 --- a/examples/OSCReceiver/Builds/iOS/OSCReceiver.xcodeproj/project.pbxproj +++ b/examples/OSCReceiver/Builds/iOS/OSCReceiver.xcodeproj/project.pbxproj @@ -6,6 +6,7 @@ objectVersion = 46; objects = { + DEB467A3B42DB8A35DAFC3BF = {isa = PBXBuildFile; fileRef = 0AB2F0BDAF44CF1FE7BA007A; }; D8AD187002F25052453AAA7D = {isa = PBXBuildFile; fileRef = B4012AD4A80B8D23CDB2A7A2; }; 31096D23A1EA98E43FBA9D95 = {isa = PBXBuildFile; fileRef = 64D307BA4E7C75AB1648DEF6; }; B569A926F04E72DCCCADF553 = {isa = PBXBuildFile; fileRef = 1AD3B58EF82A3E2C666DBFE0; }; @@ -13,14 +14,14 @@ 00B4AE20961B6E35789ACE19 = {isa = PBXBuildFile; fileRef = B035AE57473F86C5121B2A3E; }; BC9100A3FB5977F0F4EE7D5A = {isa = PBXBuildFile; fileRef = F45092B8BF45760A7C6E162A; }; AB634B48FB9C4F066D7E5639 = {isa = PBXBuildFile; fileRef = 4BC4186543E95EBF0CD58A27; }; - 306569A050E6741DB96E5CA6 = {isa = PBXBuildFile; fileRef = 626F0D75A5519028C44B4CF1; }; - 211FAAA05E90AB1769FBE94D = {isa = PBXBuildFile; fileRef = 2F4C92EFC95FE5318931035E; }; - 6F67B894E3583D35B565CE37 = {isa = PBXBuildFile; fileRef = 4DAB65524949B4339D76298D; }; - 8893C9051BE2C22DD629E1A3 = {isa = PBXBuildFile; fileRef = 3F73EB500D747EB6820A0527; }; - 9F47ABC27914B187E22FAF89 = {isa = PBXBuildFile; fileRef = AC784033583E622DB1464805; }; - 04E83A225DB419CE1DF2768E = {isa = PBXBuildFile; fileRef = 51158CCA4B7971020DECB9AF; }; - 24600FC4CA239CAB602D7CF3 = {isa = PBXBuildFile; fileRef = 9D38793FCA710DACB59923EC; }; - 14942B19EA035B6A4E4F6D6E = {isa = PBXBuildFile; fileRef = 0D5509E7051D4434009C25E4; }; + 67369B569476260A5D9D47AD = {isa = PBXBuildFile; fileRef = CB1530E14DFA4557BFC9B83D; }; + 91A622E2DEA21547BD4FA11C = {isa = PBXBuildFile; fileRef = DD0518371AAA6FDE27C648C9; }; + 1B0D2D8611212A0D84D0A6F3 = {isa = PBXBuildFile; fileRef = FFBF4F820F32F94615A43588; }; + 5103BF2B4D823302EFB5FDE7 = {isa = PBXBuildFile; fileRef = DFD68BBF3B08639B6D1A15F7; }; + 59EE99E6503A3D04A462DA2F = {isa = PBXBuildFile; fileRef = 253C6032391175841D7B25B7; }; + CE03B0C5E766E10B0C8948EB = {isa = PBXBuildFile; fileRef = 10C470B63DB039FAE2EBDF6E; }; + 7E81CAB36E087B8122CB82F9 = {isa = PBXBuildFile; fileRef = 9A2B2280124B2C4C43A89D7D; }; + 34B3E269DA7EB99036670552 = {isa = PBXBuildFile; fileRef = 027849642988B56A9F2DF849; }; 0028C92C4974244F9F2C0552 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 002E89CB123D85A57409EEE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; }; 007FBF4123FD27F38EC9F28E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -29,6 +30,7 @@ 01949AD16E75F910AD407D27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; }; 020787EB7CB4A8CB5888EF73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 0274BC3438864250B2DDD21E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 027849642988B56A9F2DF849 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_osc.cpp"; path = "../../JuceLibraryCode/juce_osc.cpp"; sourceTree = "SOURCE_ROOT"; }; 02902070CB983B5C660E9353 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; }; 036003CDECC05581F3B33AB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarComponent.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h"; sourceTree = "SOURCE_ROOT"; }; 03BE409172B031356D5BB2B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; @@ -50,6 +52,7 @@ 0955C6AFD51BE8B0D2BD428B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; 0A2E154591BD8604258A718A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; }; 0A596F8DC135FE9557563DA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; }; + 0AB2F0BDAF44CF1FE7BA007A = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = OSCReceiver.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; 0AD2E79E441D0E5D17F4BF77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; 0AF96CE53586C9DDE1D147F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; }; 0B242045A5263836B8DFC5B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -60,7 +63,6 @@ 0CE5F7457382ADF9A1BDC171 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; 0D1E523DA48929FBB8F24A0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 0D405D76DD203CA21681C1B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; }; - 0D5509E7051D4434009C25E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_osc.cpp"; path = "../../../../modules/juce_osc/juce_osc.cpp"; sourceTree = "SOURCE_ROOT"; }; 0E2D67E4FB1C2A7F4B539F69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsRegistry.h"; path = "../../../../modules/juce_core/misc/juce_WindowsRegistry.h"; sourceTree = "SOURCE_ROOT"; }; 0F0F22CC4EE2711A0EBB1337 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; 0F3A10B4D4B3E25F1955F27C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCTimeTag.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCTimeTag.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -71,6 +73,7 @@ 10396B8DE3CE6AB812C75065 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MainComponent.h; path = ../../Source/MainComponent.h; sourceTree = "SOURCE_ROOT"; }; 1071DB173D561A5841FF0F30 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; 1074CAEE6474E42D127DD39E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; }; + 10C470B63DB039FAE2EBDF6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 10DD43F69C410464D4699920 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 120823E0E106DE55E2F8B38C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; }; 12AD04B60AA5266B82582089 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; }; @@ -124,6 +127,7 @@ 2455551574318D87CA73DDFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 24CEC2AE253DA876582FC176 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MD5.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_MD5.cpp"; sourceTree = "SOURCE_ROOT"; }; 252D3950A4124CE60E9DAD73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 253C6032391175841D7B25B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../JuceLibraryCode/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; 26B97B73DC75AF55EEC7F6EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; }; 284939D25B52F2D2F1EF9D73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 284A5A4EA48E221E964683D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -139,7 +143,6 @@ 2B103F6E08849A9AE36A2165 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; }; 2B69DF69E0ECCC5DFEF6710A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 2B7B1D5CED081D2F0390C46B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; }; - 2B7CD02A2496F74A835F85EC = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_core/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 2BBCE022AB819439997B08AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; }; 2BBF562AFD6A56C8129EC787 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; }; 2BF5A509EA2254A00E78B7CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; }; @@ -148,7 +151,6 @@ 2DAD3CDFC8D7A77D93A2A6AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsPostScriptRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; 2DC13DC88C4B1078BBC49E15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; 2EB9FCBE2059503570F9E509 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 2F4C92EFC95FE5318931035E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../../../modules/juce_cryptography/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; 2F5D91A8BEED8BDDEA3A3B76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; }; 2FB22C2B905BD2481D707EA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_cryptography.h"; path = "../../../../modules/juce_cryptography/juce_cryptography.h"; sourceTree = "SOURCE_ROOT"; }; 2FD954B756125387A70515A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -186,9 +188,7 @@ 3BD3440C2FFC460C41E84AE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; 3C57EF63B92CBE5BAAF22A42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCSender.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCSender.cpp"; sourceTree = "SOURCE_ROOT"; }; 3C9A527231181774DC31F3AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OSCAddress.h"; path = "../../../../modules/juce_osc/osc/juce_OSCAddress.h"; sourceTree = "SOURCE_ROOT"; }; - 3CBCB4FB36DFE00921657A92 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = "SOURCE_ROOT"; }; 3E3D86CFB920FE4F508AF2E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_ClangBugWorkaround.h"; path = "../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h"; sourceTree = "SOURCE_ROOT"; }; - 3F73EB500D747EB6820A0527 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; 3FE59126846263AB26CB0774 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; 406E2D810454736FB86488AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 407726CDC6691529862022A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -221,7 +221,6 @@ 4A2EB481B1BA47307FEF2FBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; }; 4A3707EA9A1DB779BA3545E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 4A55C5C35A82EA82F775EB5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4AEFBB60F0DD354125B318AB = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_extra/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 4B1DB875493C3F2BC64277EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; }; 4B6136F2637F4FAA26595EFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; 4BC4186543E95EBF0CD58A27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = "SOURCE_ROOT"; }; @@ -230,7 +229,6 @@ 4C40985F12E5C2F00D5326B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; 4CC72F1AD3ECB6090A9EE0F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; }; 4D4B61EEA153E7CDDC580FDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; - 4DAB65524949B4339D76298D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; 4DAE62EFD35AD7A806783935 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; }; 4DBB16306F66F9CCEE2AE45B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; }; 4DCA6E103B57A2209E489745 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; }; @@ -242,7 +240,6 @@ 507DCF40818D5D16D19A5328 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; }; 50CF2812AFA8028AED0928B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; 50E452823758DBEBD07E457C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; }; - 51158CCA4B7971020DECB9AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 513DCF2A9CF7107A46F24DED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; 516250A86D1681B6276AAB73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; }; 516C05953144D34053401870 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MarkerList.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h"; sourceTree = "SOURCE_ROOT"; }; @@ -286,7 +283,6 @@ 60CF471975C3513CC425AF74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; }; 61973EEE0E11E99AA66B39CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 61F68A9EAE73779AB6B03394 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; }; - 626F0D75A5519028C44B4CF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; 62D2D14EC86E1B51FF58DE8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OSCArgument.h"; path = "../../../../modules/juce_osc/osc/juce_OSCArgument.h"; sourceTree = "SOURCE_ROOT"; }; 63393190CE8F59EA87D708D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; 63ACD466D68FCF1C2961D998 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -347,7 +343,6 @@ 76CE3A3D3B5E3DAE4AC69C9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 7788FA84B3179B3D5B1D19CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; 77BF294A83B6D781A0AB2780 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; - 77CB8165F0BA65153FCB1C9B = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 78244B47E9D27361DD91FF4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GroupComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h"; sourceTree = "SOURCE_ROOT"; }; 7854B6E7AAC228809A779F16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Desktop.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.cpp"; sourceTree = "SOURCE_ROOT"; }; 787A3937A8B0DBE96BAC0830 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; }; @@ -424,17 +419,16 @@ 96E572E605BD2921A0C56843 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; }; 97920C44ECF8B71BB55E10C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; }; 987F918DF03658A5B2475E0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; }; - 98E1274F9510AEB691B15037 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_events/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 98E4E646E9D2FA7D4DC5ABFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; }; 991EA37A1F34ACD041234E65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; 9930C7E17284B8470A2BD163 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9A2B2280124B2C4C43A89D7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; 9A3D877E587069ADB7365B92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; }; 9AAA046520355AF9CBE79A22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; }; 9BDE044995C61562A64F6117 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; 9C36FDC3D97BACD663020D7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; 9CA34293E4273F295FFBB660 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; }; 9CE6BD59BBC6F3E36BFD3057 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 9D38793FCA710DACB59923EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; 9D653C195F29295A6A7A7B8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 9DADB3BE2CCD5C6A185E378C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; 9DBF3D04BE7DCB44FDFFB017 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -451,35 +445,30 @@ A1AFDB2B941E367474F58B6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; }; A1EF889B3140DFD9252AF63F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; A23E82FE8B442AED12FDD918 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; + A28DEB804458D726B1C7B6F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; }; A30DB48976D59DC60840F2D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; }; A352E75E6A1DFE70A465BD18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; }; A3CE09672D8D6F494F237D41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; }; A3EFB4BDD3E984732EC7C5B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; A44D40B3EFD665DB9AEFA52D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; }; A47D261209CCC83E2F0F5FD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; }; + A4C1F3D1AA69ADDC5963CCA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; A50DFE0EB9BAA4101CD7340D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; - A696A473DCB2949D180C32F3 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_osc/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + A59A548A83894E4467F2A304 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + A5D9302F7D2068B825EC0530 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; }; A6FC42D71A57BC3F1E7D9DA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; }; + A76D99FB25C1EC8A8ABBB438 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; }; A7C0E93448583F843C68C7A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleMessageComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; A7C919D8B93563494712C2D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; }; A7DAEB85503755559BC332BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; - A9075C2C2085DB0064BE4B38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; - B035AE57473F86C5121B2A3E = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; - B4012AD4A80B8D23CDB2A7A2 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; - 8E433B1A05AA2D18AB894B09 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = OSCReceiver.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; - A28DEB804458D726B1C7B6F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; }; - A4C1F3D1AA69ADDC5963CCA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; - A59A548A83894E4467F2A304 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; }; - A5D9302F7D2068B825EC0530 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; }; - A76D99FB25C1EC8A8ABBB438 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; }; A805FCFA6FEA8BD5EF3A9E44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; }; A8EDA3B8057F16EEF1E365C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; }; + A9075C2C2085DB0064BE4B38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; A949782BC8060E4E273CB6EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; }; A9B4F052D838C107FAFD1942 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; A9FB6B2915599D0E950A4FD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; AA0B81BDA437F4B13D067E04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; }; AA7499EBFB8B3AC6EC05FF9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colours.h"; path = "../../../../modules/juce_graphics/colour/juce_Colours.h"; sourceTree = "SOURCE_ROOT"; }; - AA9900BC5F986A7CA0881A42 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_data_structures/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; AAE5C9E934B9FE4239968E06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; }; AB485B79A834EAE2423070B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; }; AB48C11409BEF7DAC112B5A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -487,18 +476,17 @@ ABBB192D4B75A5C26EFB1664 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; AC0CAE055F510FEF3BC468FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; }; AC34C394EE1177F153EDFC91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; }; - AC784033583E622DB1464805 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; AC7DAA723FAE3F02E1C4CEE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; ACCA52F26CCCA0AFFA6A8CD7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; AD3D5554C179E7D360D47EC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; AD99C72C47E171330CB2A5EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; }; AD9BB4836D2AD807A786F900 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; - AD9F6FD5885C1A30F8A4137B = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_cryptography/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; ADD96A54A83A2E838B0C74D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; AE2B4BC80BC121E5F5896ED7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; }; AE5BB3271AB74718285FD1F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; AEC09E933E9A444B8F080595 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; }; AEF19EECBDACD5322BD01B1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; + B035AE57473F86C5121B2A3E = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; B08E6A2662576EF3D1241C12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCMessage.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCMessage.cpp"; sourceTree = "SOURCE_ROOT"; }; B0DC7CF123BFC8C862C8912F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; }; B0FB61DFF5854BC47A65491D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInputSource.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -510,6 +498,7 @@ B2E54401AC9034B818581420 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; B3A8FC970191316EE921B1C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; }; B3B5CF55063B47C199C6B23C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; }; + B4012AD4A80B8D23CDB2A7A2 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; B41AC6A01A3EF9A79F257C1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemTrayIconComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; B489C68D21D8C363C22B22A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; }; B4FC4474E9E10774B47604A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -572,6 +561,7 @@ CAA237A47E903868BC099B4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; CAA6FB9E0CA3309EBE543A4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; }; CAB607544E4BFF30E9A7B3EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Files.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + CB1530E14DFA4557BFC9B83D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; CB3E2E48A52B38CC5E301745 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; }; CB6F91AA01E99EF0FA3A8F6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; }; CCB277860CB4C2978AA0B3C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -612,10 +602,12 @@ DAD8D98D05016F4B35F30F89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; }; DB739DFF6ADCB091B538221A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; DBA4E9F95DCBDA9A16F97039 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + DBB4370FE47F2C2AA8193558 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-App.plist"; path = "Info-App.plist"; sourceTree = "SOURCE_ROOT"; }; DC32B1EF220490E611EC037F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; }; DC72DD3BD9A383213F066945 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; }; DC75AEAC3A950823735446E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; }; DC774BDEB713B96D5CC8250B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + DD0518371AAA6FDE27C648C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../JuceLibraryCode/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; DD416E2602A72DECFB0E795B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; }; DD4A05C51C6B34C1659F62C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; }; DE32BF1DC1767F18ADBA9C6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; @@ -623,6 +615,7 @@ DEDCFFBDAED5D311B3AA20CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; }; DF4DA1A004A8E6ED5D98BE34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; }; DF909D1FCFAB8F569053E9DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; + DFD68BBF3B08639B6D1A15F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; DFF186883141036033CE8348 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; E0553658BE0C87D88BAF6F25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; E08589A8355E8C1DC9D754F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -671,7 +664,6 @@ F1D3D26DC605F752A04CC6C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; }; F23C5769A7FC4B9DB4DF5C2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; F25C3FD19868F480AE07C8B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; }; - F268ABCD7EBF4C2E4EA2E96D = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_graphics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; F26E02D6360ECA56393F94F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; F291A8E4DBD8D2BC7FB33290 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; }; F2A22BCDF323121A2B138E66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V1.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h"; sourceTree = "SOURCE_ROOT"; }; @@ -714,63 +706,13 @@ FDF291A167D6CDDC341DBEE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; FF006A0A87C5447597AF32CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; }; FF2912161027B88F1B2E4C42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyMappingEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + FFBF4F820F32F94615A43588 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; 7C9B8A16DB8F1F3BDA926294 = {isa = PBXGroup; children = ( 10396B8DE3CE6AB812C75065, 4BC4186543E95EBF0CD58A27, ); name = Source; sourceTree = ""; }; 298BAA7A2AE152C7E1883471 = {isa = PBXGroup; children = ( 7C9B8A16DB8F1F3BDA926294, ); name = OSCReceiver; sourceTree = ""; }; - 3196D8462A7A9ECA38B99608 = {isa = PBXGroup; children = ( - 227ED53751B254BCFCC9D397, - D0B23622748D41DAD10AE768, - 7A3F2D0B4E8977D4F41C3642, - B489C68D21D8C363C22B22A8, - AEC09E933E9A444B8F080595, - F7FF860DC3ACED469A2BFEC3, - B1D4714A5E35558DC0033921, - 7C811924DDDEF5654444C3AA, - 52EAC38A4B2EE708652EF3CA, - 86DBC972CC727372E133473A, - D5A80039BD85EA3BCF5FEB5B, - A47D261209CCC83E2F0F5FD8, - 86E8AD089E8C80217A0E6A85, - 991EA37A1F34ACD041234E65, - 8730CA56455547F05A254344, - 51BB659AC916C458568E520B, - 08C6B6F983C2D6EF2FEC45EF, - 4DF03935FA3ABEFC424AC0B3, - 498DB22441F2505AA7925156, - EFE8D0D7DA06E1363D2FF558, - 7B2C220BA2F031FD0B41CB0C, - D8FA9CFF62186C13E59E6777, - 35BF20471F66D6A6F5A88EDE, - 8F1FE388326ADC209857F67B, ); name = text; sourceTree = ""; }; - 19ED8E59DC256BA38F91B3D0 = {isa = PBXGroup; children = ( - 3FE59126846263AB26CB0774, - A50DFE0EB9BAA4101CD7340D, - 92D7BDB32E71543CE71197FA, - A28DEB804458D726B1C7B6F3, - 53F7A707EB7DF75E7BFB1F46, - 6E6DD2EBF8B46DA19CE4FDD0, - 33E821C107D7EFCA4D6AE625, - F25C3FD19868F480AE07C8B1, - 3A5C25CF94C5E9EDD134E98B, - 5D40831CED82E2AA2BE78F80, ); name = maths; sourceTree = ""; }; - AB026E843C263E19F49B34A8 = {isa = PBXGroup; children = ( - E7EADC825F5DF0028801B29A, - 933071AE01A499C371BE3B91, - 0A596F8DC135FE9557563DA7, - DC72DD3BD9A383213F066945, - 79A9CBF81E14BA9DEF349A42, - 4CC72F1AD3ECB6090A9EE0F1, - 50E452823758DBEBD07E457C, - E2FBD8ADD1D1BA17C9BF9E0E, - 8CD817E5218875AAB997DC5B, - D4FB0A83D4A7485C7A4B3C5B, - 1FF424FF6292C3A261881465, - E3002E30D244778EBB37DD59, - 3BD3440C2FFC460C41E84AE5, - C967E0681EBDCC72C15DB20B, ); name = memory; sourceTree = ""; }; - BEBB1CD0E30A3621CDF1F0DA = {isa = PBXGroup; children = ( + E62C2ACEA9611975525586ED = {isa = PBXGroup; children = ( 02902070CB983B5C660E9353, A30DB48976D59DC60840F2D5, 19A5887B8C9338C515FB8037, @@ -792,37 +734,7 @@ 9C36FDC3D97BACD663020D7C, 77BF294A83B6D781A0AB2780, 058B9BB7CBFF10B3C5BC5C6F, ); name = containers; sourceTree = ""; }; - C32C57EBCBB4781E90D32FEC = {isa = PBXGroup; children = ( - 9F15D0FCA578D0194CEC1704, - 03BE409172B031356D5BB2B9, - EE0D03B7B6AB32FA40449259, - 0F0F22CC4EE2711A0EBB1337, - D91B35DAD2EECF65BFB5DE7C, - C5048036C884ACDE81672A35, - 31C2051A10AFD4C8BDEA37E8, - 56A85728869D613DD63B09D9, - 35283E43621A3EE05DE5DD03, - DE32BF1DC1767F18ADBA9C6F, - 7C71DAAB94218D3D74E16080, - 2BF5A509EA2254A00E78B7CA, - 5A90CF4D189DC6E8E485045D, - 553B2991C1D6F6919DD21D66, - C978C00BC9E9AF3D047CB776, - A1628C7ABD1FB6DEBE04DF9D, - 84C219D8A050D0CB2CECF3FE, - E6C9B0084D387397C927FA59, - 4D4B61EEA153E7CDDC580FDF, - 13000566D7C09683EFE53E6C, - 89BB992F7266F537D8F00AF6, - C2B03A4889FC5F0A4E54AE12, ); name = threads; sourceTree = ""; }; - BB75F759C1593B81724A91DC = {isa = PBXGroup; children = ( - 73BFE7053BFEB7048361CDD7, - 08E80056F3657A4A09CD2959, - A0F56E204C579B3092C93B94, - 154CDA29F1FB80E53572163A, - 3B38D39DE9EBA8BE3717DEA9, - 787A3937A8B0DBE96BAC0830, ); name = time; sourceTree = ""; }; - F9238429FDAA04F670AC6857 = {isa = PBXGroup; children = ( + C40EF08C782D62658054A1C7 = {isa = PBXGroup; children = ( E42028FA6B1F69AB78BD49A6, 7AC60F45B53E544C73444A4E, E2261AD6C631588B92DC35C9, @@ -840,66 +752,43 @@ A10BDD742143769FB54E7B04, 424B11AA3AD5C76780279F1A, 12FCBB996C1B4A7FA292D433, ); name = files; sourceTree = ""; }; - 0E0C978D78667D0A6D1C0E66 = {isa = PBXGroup; children = ( - 5971D31EDEC2065BE5037233, - E0B34CA80FF62EA906C4C243, - A1EF889B3140DFD9252AF63F, - F951A9EACDB1F9CAAF40F669, - A3EFB4BDD3E984732EC7C5B8, - 60CF471975C3513CC425AF74, - 7E5929781730A36E236FE175, - 58DDDC9F9A246900A39CD543, - 43C2F15C3A916D74C6F7BECD, - B95E3992A72900539ECA613B, ); name = network; sourceTree = ""; }; - D023AAAAE7A51DE0ED2BBBB0 = {isa = PBXGroup; children = ( - 34E480C353B9C741DF744493, - 1B1E99DA1D133DE21750F2B5, - ACCA52F26CCCA0AFFA6A8CD7, - 53996814B52F9D0E9469E2F1, - 466945F053EE1F17B1EA2965, - 6DD42F1C0C1F431E52AE33B7, - FB8B4AFEB7AF382156A62D74, - D4D56ABACAB91708B2C7F429, - 3718E5BB4634A35053091D2A, - 2455551574318D87CA73DDFA, - EB3359254304B69D05D67FB4, - 8ABEB7DF1A5191CF1AEE8AE6, - 22C3DC40F0504496216B1606, - 06545463B8174C7C16547ACA, - 2938AF03FFF27AA8325D67E4, ); name = streams; sourceTree = ""; }; - AE26E6CD3A04F69975FA6EA7 = {isa = PBXGroup; children = ( - 63ACD466D68FCF1C2961D998, - 42F516156B0D21D30AAB8C99, - 8F6B662381AA854DA2BB135A, - 346175F3C3EBEDF87593C922, ); name = logging; sourceTree = ""; }; - EA3BBAD4740E39D494A89B7F = {isa = PBXGroup; children = ( - FCAFE9D9D365B0D81CD0ADBB, - 68997969EBB0698521F23F03, - 5D1B48AD0BBD56E4CCA903E1, - B174DA3281047C7EAC6094F3, - 468E251A8BFF9094F2A1F40B, - 34626B67E295B5CCC14EA574, ); name = system; sourceTree = ""; }; - B86D1813C40F514F7CCB3CBF = {isa = PBXGroup; children = ( - AC7DAA723FAE3F02E1C4CEE9, - 0274BC3438864250B2DDD21E, - A8EDA3B8057F16EEF1E365C3, - AB485B79A834EAE2423070B2, ); name = xml; sourceTree = ""; }; - 9D86176CB35770E086683E0F = {isa = PBXGroup; children = ( + 4D81DB87850CA1F09E3E8158 = {isa = PBXGroup; children = ( 2F5D91A8BEED8BDDEA3A3B76, DE65E7CCEA32CA6DE503E6BB, 9CA34293E4273F295FFBB660, 513DCF2A9CF7107A46F24DED, ); name = javascript; sourceTree = ""; }; - 45AEF1B2E6EFDBF31DCC916F = {isa = PBXGroup; children = ( - F8353823A3BAC4B973DCCD1C, - E739A5F3B28EBAC342D4CA8E, - C2FEF8DFF4C563E87C3996DF, - 497BEB91984847A2EA58696A, - F46AEB053CAA7CAA1B6E8F20, - 19B1C2B51A9B511819348135, ); name = zip; sourceTree = ""; }; - ECAE52D2648814EEF73DEE75 = {isa = PBXGroup; children = ( - 6520C9924FEF72AABB3D549E, - F91E4EDC09685B5D28610183, ); name = "unit_tests"; sourceTree = ""; }; - D434E5B79E878B46550AA98C = {isa = PBXGroup; children = ( + 0FA9D481D7A7C4D831B1A015 = {isa = PBXGroup; children = ( + 63ACD466D68FCF1C2961D998, + 42F516156B0D21D30AAB8C99, + 8F6B662381AA854DA2BB135A, + 346175F3C3EBEDF87593C922, ); name = logging; sourceTree = ""; }; + F77FF5D26C3CD3D7F8E80BE0 = {isa = PBXGroup; children = ( + 3FE59126846263AB26CB0774, + A50DFE0EB9BAA4101CD7340D, + 92D7BDB32E71543CE71197FA, + A28DEB804458D726B1C7B6F3, + 53F7A707EB7DF75E7BFB1F46, + 6E6DD2EBF8B46DA19CE4FDD0, + 33E821C107D7EFCA4D6AE625, + F25C3FD19868F480AE07C8B1, + 3A5C25CF94C5E9EDD134E98B, + 5D40831CED82E2AA2BE78F80, ); name = maths; sourceTree = ""; }; + 4B89EC5EA876049ECA8B4096 = {isa = PBXGroup; children = ( + E7EADC825F5DF0028801B29A, + 933071AE01A499C371BE3B91, + 0A596F8DC135FE9557563DA7, + DC72DD3BD9A383213F066945, + 79A9CBF81E14BA9DEF349A42, + 4CC72F1AD3ECB6090A9EE0F1, + 50E452823758DBEBD07E457C, + E2FBD8ADD1D1BA17C9BF9E0E, + 8CD817E5218875AAB997DC5B, + D4FB0A83D4A7485C7A4B3C5B, + 1FF424FF6292C3A261881465, + E3002E30D244778EBB37DD59, + 3BD3440C2FFC460C41E84AE5, + C967E0681EBDCC72C15DB20B, ); name = memory; sourceTree = ""; }; + 81F96D23DCC8793C81597472 = {isa = PBXGroup; children = ( 7AE60B16383CCCE42DB2B5C4, 82E73EB5D8B07BF5ACC4D324, 495292E448D50AF789D8285F, @@ -907,7 +796,7 @@ D4D6D58A5E8D012F2C6BE6A8, E921864FBDD7EA06B80B174D, 0E2D67E4FB1C2A7F4B539F69, ); name = misc; sourceTree = ""; }; - 7838DB57EC9E88D3143FC1F9 = {isa = PBXGroup; children = ( + 845E61D771869898D502419B = {isa = PBXGroup; children = ( 71FB886A43C4C12F09DD8F83, 4330C6D3102A1CE34EF07274, FC690C1A6B49F5FB0FB4BFF1, @@ -937,25 +826,128 @@ 81D8A310C3EC50822819FAAB, 0FDA0F674C5C5285F2AA3BB5, F9DDF5ECEA898480B8C0682B, ); name = native; sourceTree = ""; }; + 13C71FF4500F5193D4189DF8 = {isa = PBXGroup; children = ( + 5971D31EDEC2065BE5037233, + E0B34CA80FF62EA906C4C243, + A1EF889B3140DFD9252AF63F, + F951A9EACDB1F9CAAF40F669, + A3EFB4BDD3E984732EC7C5B8, + 60CF471975C3513CC425AF74, + 7E5929781730A36E236FE175, + 58DDDC9F9A246900A39CD543, + 43C2F15C3A916D74C6F7BECD, + B95E3992A72900539ECA613B, ); name = network; sourceTree = ""; }; + 8C7A769F01ADD5702B07B2AE = {isa = PBXGroup; children = ( + 34E480C353B9C741DF744493, + 1B1E99DA1D133DE21750F2B5, + ACCA52F26CCCA0AFFA6A8CD7, + 53996814B52F9D0E9469E2F1, + 466945F053EE1F17B1EA2965, + 6DD42F1C0C1F431E52AE33B7, + FB8B4AFEB7AF382156A62D74, + D4D56ABACAB91708B2C7F429, + 3718E5BB4634A35053091D2A, + 2455551574318D87CA73DDFA, + EB3359254304B69D05D67FB4, + 8ABEB7DF1A5191CF1AEE8AE6, + 22C3DC40F0504496216B1606, + 06545463B8174C7C16547ACA, + 2938AF03FFF27AA8325D67E4, ); name = streams; sourceTree = ""; }; + EA3BBAD4740E39D494A89B7F = {isa = PBXGroup; children = ( + FCAFE9D9D365B0D81CD0ADBB, + 68997969EBB0698521F23F03, + 5D1B48AD0BBD56E4CCA903E1, + B174DA3281047C7EAC6094F3, + 468E251A8BFF9094F2A1F40B, + 34626B67E295B5CCC14EA574, ); name = system; sourceTree = ""; }; + 402C9F82CF778E9C2E860A77 = {isa = PBXGroup; children = ( + 227ED53751B254BCFCC9D397, + D0B23622748D41DAD10AE768, + 7A3F2D0B4E8977D4F41C3642, + B489C68D21D8C363C22B22A8, + AEC09E933E9A444B8F080595, + F7FF860DC3ACED469A2BFEC3, + B1D4714A5E35558DC0033921, + 7C811924DDDEF5654444C3AA, + 52EAC38A4B2EE708652EF3CA, + 86DBC972CC727372E133473A, + D5A80039BD85EA3BCF5FEB5B, + A47D261209CCC83E2F0F5FD8, + 86E8AD089E8C80217A0E6A85, + 991EA37A1F34ACD041234E65, + 8730CA56455547F05A254344, + 51BB659AC916C458568E520B, + 08C6B6F983C2D6EF2FEC45EF, + 4DF03935FA3ABEFC424AC0B3, + 498DB22441F2505AA7925156, + EFE8D0D7DA06E1363D2FF558, + 7B2C220BA2F031FD0B41CB0C, + D8FA9CFF62186C13E59E6777, + 35BF20471F66D6A6F5A88EDE, + 8F1FE388326ADC209857F67B, ); name = text; sourceTree = ""; }; + 0FAD6B7E9DDA4581C753C9A7 = {isa = PBXGroup; children = ( + 9F15D0FCA578D0194CEC1704, + 03BE409172B031356D5BB2B9, + EE0D03B7B6AB32FA40449259, + 0F0F22CC4EE2711A0EBB1337, + D91B35DAD2EECF65BFB5DE7C, + C5048036C884ACDE81672A35, + 31C2051A10AFD4C8BDEA37E8, + 56A85728869D613DD63B09D9, + 35283E43621A3EE05DE5DD03, + DE32BF1DC1767F18ADBA9C6F, + 7C71DAAB94218D3D74E16080, + 2BF5A509EA2254A00E78B7CA, + 5A90CF4D189DC6E8E485045D, + 553B2991C1D6F6919DD21D66, + C978C00BC9E9AF3D047CB776, + A1628C7ABD1FB6DEBE04DF9D, + 84C219D8A050D0CB2CECF3FE, + E6C9B0084D387397C927FA59, + 4D4B61EEA153E7CDDC580FDF, + 13000566D7C09683EFE53E6C, + 89BB992F7266F537D8F00AF6, + C2B03A4889FC5F0A4E54AE12, ); name = threads; sourceTree = ""; }; + 208E93041CD298573170D658 = {isa = PBXGroup; children = ( + 73BFE7053BFEB7048361CDD7, + 08E80056F3657A4A09CD2959, + A0F56E204C579B3092C93B94, + 154CDA29F1FB80E53572163A, + 3B38D39DE9EBA8BE3717DEA9, + 787A3937A8B0DBE96BAC0830, ); name = time; sourceTree = ""; }; + ECAE52D2648814EEF73DEE75 = {isa = PBXGroup; children = ( + 6520C9924FEF72AABB3D549E, + F91E4EDC09685B5D28610183, ); name = "unit_tests"; sourceTree = ""; }; + D1A7FCF5A27D4043C971690E = {isa = PBXGroup; children = ( + AC7DAA723FAE3F02E1C4CEE9, + 0274BC3438864250B2DDD21E, + A8EDA3B8057F16EEF1E365C3, + AB485B79A834EAE2423070B2, ); name = xml; sourceTree = ""; }; + AB3DD01E07D81BE66AC7F76B = {isa = PBXGroup; children = ( + F8353823A3BAC4B973DCCD1C, + E739A5F3B28EBAC342D4CA8E, + C2FEF8DFF4C563E87C3996DF, + 497BEB91984847A2EA58696A, + F46AEB053CAA7CAA1B6E8F20, + 19B1C2B51A9B511819348135, ); name = zip; sourceTree = ""; }; A441ACE8FE8C90C1C24D6113 = {isa = PBXGroup; children = ( - 3196D8462A7A9ECA38B99608, - 19ED8E59DC256BA38F91B3D0, - AB026E843C263E19F49B34A8, - BEBB1CD0E30A3621CDF1F0DA, - C32C57EBCBB4781E90D32FEC, - BB75F759C1593B81724A91DC, - F9238429FDAA04F670AC6857, - 0E0C978D78667D0A6D1C0E66, - D023AAAAE7A51DE0ED2BBBB0, - AE26E6CD3A04F69975FA6EA7, + E62C2ACEA9611975525586ED, + C40EF08C782D62658054A1C7, + 4D81DB87850CA1F09E3E8158, + 0FA9D481D7A7C4D831B1A015, + F77FF5D26C3CD3D7F8E80BE0, + 4B89EC5EA876049ECA8B4096, + 81F96D23DCC8793C81597472, + 845E61D771869898D502419B, + 13C71FF4500F5193D4189DF8, + 8C7A769F01ADD5702B07B2AE, EA3BBAD4740E39D494A89B7F, - B86D1813C40F514F7CCB3CBF, - 9D86176CB35770E086683E0F, - 45AEF1B2E6EFDBF31DCC916F, + 402C9F82CF778E9C2E860A77, + 0FAD6B7E9DDA4581C753C9A7, + 208E93041CD298573170D658, ECAE52D2648814EEF73DEE75, - D434E5B79E878B46550AA98C, - 7838DB57EC9E88D3143FC1F9, - 2B7CD02A2496F74A835F85EC, + D1A7FCF5A27D4043C971690E, + AB3DD01E07D81BE66AC7F76B, A18A90FA1552283B6BDF2DC8, ); name = "juce_core"; sourceTree = ""; }; 5D861E98DF674CEBCFEA5218 = {isa = PBXGroup; children = ( 2AB9AB1A4332D87324152CA3, @@ -974,31 +966,45 @@ 94896443AE0D0B2A7E932DB2 = {isa = PBXGroup; children = ( 5D861E98DF674CEBCFEA5218, 1415FBACFE8A4726B934C7F4, - AD9F6FD5885C1A30F8A4137B, 2FB22C2B905BD2481D707EA3, ); name = "juce_cryptography"; sourceTree = ""; }; - F3523D31E135A94C9B144F2E = {isa = PBXGroup; children = ( + 85CCB68EC5E502C96B4ABA49 = {isa = PBXGroup; children = ( + 4C25A8DD71351D96AF7C2D5A, + 682CE152DBD7B715D9304027, + BC094BC2DA8B23E658A6B819, + 2DC13DC88C4B1078BBC49E15, ); name = "app_properties"; sourceTree = ""; }; + 07E12511F5CCC94359BE727D = {isa = PBXGroup; children = ( + F51CEDBA1DF53D624E267294, + 0028C92C4974244F9F2C0552, + 1074CAEE6474E42D127DD39E, ); name = undomanager; sourceTree = ""; }; + C7ACFE3BD03080F804248E1E = {isa = PBXGroup; children = ( 4B1DB875493C3F2BC64277EC, C6BBF7B5ED8309831D08E839, 6F45B51D34423C5B4D5E7C30, 8E020AF967498BB4870389A6, FC5AE9218A08034A6F7A93F7, 889C83C5CDF2CDD466F94DE0, ); name = values; sourceTree = ""; }; - 07E12511F5CCC94359BE727D = {isa = PBXGroup; children = ( - F51CEDBA1DF53D624E267294, - 0028C92C4974244F9F2C0552, - 1074CAEE6474E42D127DD39E, ); name = undomanager; sourceTree = ""; }; - D0D01BD5585C49ABAA7D630F = {isa = PBXGroup; children = ( - 4C25A8DD71351D96AF7C2D5A, - 682CE152DBD7B715D9304027, - BC094BC2DA8B23E658A6B819, - 2DC13DC88C4B1078BBC49E15, ); name = "app_properties"; sourceTree = ""; }; 745BABE36E4043189005574C = {isa = PBXGroup; children = ( - F3523D31E135A94C9B144F2E, + 85CCB68EC5E502C96B4ABA49, 07E12511F5CCC94359BE727D, - D0D01BD5585C49ABAA7D630F, - AA9900BC5F986A7CA0881A42, + C7ACFE3BD03080F804248E1E, DA4A97E7126D60678E605F6F, ); name = "juce_data_structures"; sourceTree = ""; }; - 2EF1594F28DEC6B7B3CD07CC = {isa = PBXGroup; children = ( + 42F7ADAFEA5E31413D87DB80 = {isa = PBXGroup; children = ( + E6066C6390B02A9A4F2CE371, + 71F744EF88196254BC8723A6, + 2BBF562AFD6A56C8129EC787, + A7DAEB85503755559BC332BF, + E89E48AFA00E5622F1692438, + 9E38266E6C788A84B23EFF38, + 49F68460B468D1A74BBA6D33, + 6802363FC4A4AFD660F9ED4E, ); name = broadcasters; sourceTree = ""; }; + 65125D683ED4C14FB397242E = {isa = PBXGroup; children = ( + 348630263969F53E99701B67, + F23C5769A7FC4B9DB4DF5C2C, + 29B53A4517C0BD861F290282, + 2B7B1D5CED081D2F0390C46B, + 20B89D3C3AC21790B1E0D236, + A022F5153117EDD144C535EB, ); name = interprocess; sourceTree = ""; }; + A9669E39D67951918DD9AD42 = {isa = PBXGroup; children = ( 0862462F411727C384F44BC8, 84D987C97E5C00276E8DE77A, D0D4EC860432570FE05603C6, @@ -1012,28 +1018,7 @@ 04549F6731AF483F963B9B96, F1893D7942C374078098DE2C, 73035CCE543396241CF1CC6D, ); name = messages; sourceTree = ""; }; - 0916B216684A064A4C26E284 = {isa = PBXGroup; children = ( - 562543990F40D511D35860B1, - E8E6ABC353168BEE959E71C0, - 2BBCE022AB819439997B08AA, - A7C919D8B93563494712C2D9, ); name = timers; sourceTree = ""; }; - 65D64FED748E0D5C0FFAC466 = {isa = PBXGroup; children = ( - E6066C6390B02A9A4F2CE371, - 71F744EF88196254BC8723A6, - 2BBF562AFD6A56C8129EC787, - A7DAEB85503755559BC332BF, - E89E48AFA00E5622F1692438, - 9E38266E6C788A84B23EFF38, - 49F68460B468D1A74BBA6D33, - 6802363FC4A4AFD660F9ED4E, ); name = broadcasters; sourceTree = ""; }; - A6897CD2446220A13F897CF0 = {isa = PBXGroup; children = ( - 348630263969F53E99701B67, - F23C5769A7FC4B9DB4DF5C2C, - 29B53A4517C0BD861F290282, - 2B7B1D5CED081D2F0390C46B, - 20B89D3C3AC21790B1E0D236, - A022F5153117EDD144C535EB, ); name = interprocess; sourceTree = ""; }; - 1D42746B81267028D31594A2 = {isa = PBXGroup; children = ( + 566C7A218FB74FDEA3180FC0 = {isa = PBXGroup; children = ( 0B60A600A4680D8EEDC49C19, CE494A925774A25F0DCB6C8B, 06160D99938D8DB84E9F905E, @@ -1042,13 +1027,17 @@ 39DA58633C1211C747F67DA9, 51E9D1E004857083B730EF36, 33D27513B795542ADA640B1A, ); name = native; sourceTree = ""; }; + 398CA68879DB5EFBFEE5C67C = {isa = PBXGroup; children = ( + 562543990F40D511D35860B1, + E8E6ABC353168BEE959E71C0, + 2BBCE022AB819439997B08AA, + A7C919D8B93563494712C2D9, ); name = timers; sourceTree = ""; }; 75AA84A7BB64BF365EB55A2E = {isa = PBXGroup; children = ( - 2EF1594F28DEC6B7B3CD07CC, - 0916B216684A064A4C26E284, - 65D64FED748E0D5C0FFAC466, - A6897CD2446220A13F897CF0, - 1D42746B81267028D31594A2, - 98E1274F9510AEB691B15037, + 42F7ADAFEA5E31413D87DB80, + 65125D683ED4C14FB397242E, + A9669E39D67951918DD9AD42, + 566C7A218FB74FDEA3180FC0, + 398CA68879DB5EFBFEE5C67C, F3DA4CEDB1B0B934B98683B1, ); name = "juce_events"; sourceTree = ""; }; 92E5D5E7D3A2564FE48537D0 = {isa = PBXGroup; children = ( 6AD6B0C08F078B725494547C, @@ -1068,19 +1057,25 @@ F7C3DF66D78EA1D211019D88, EAD8CB0E424AE7D4AE816A27, EF5192ADE6E17ACC78041FAF, ); name = contexts; sourceTree = ""; }; - 5BF419E75E5511FC7F98D036 = {isa = PBXGroup; children = ( - 2B103F6E08849A9AE36A2165, - B0DC7CF123BFC8C862C8912F, - 8AB8FDC910690D28C897F9DA, - 6602C7EF80420D32E355D30D, - AC34C394EE1177F153EDFC91, - 0F72CC9F80BE50B08C101621, - AB6C04C1633A778DF95EB92A, - B6E234273F54AC461DE0972E, ); name = images; sourceTree = ""; }; - F613D720BE2285804EF1F805 = {isa = PBXGroup; children = ( - 58CFEBC52C4F0EEBCF0F032F, - AD3D5554C179E7D360D47EC0, - C1304780621DE055F575181F, ); name = "image_formats"; sourceTree = ""; }; + 056BCB00FE118E97C6BD8196 = {isa = PBXGroup; children = ( + 91C1CD8BADF76DC0E267AEDF, + CD0C65FCD0F776B3E69FD40A, + D21D5DCBCA5DA09A33309382, + 81DE400BF155228DE78775AB, + 6EDB811A231F6073015BDEFA, ); name = effects; sourceTree = ""; }; + 998A0B03EA375AEC063A43F7 = {isa = PBXGroup; children = ( + 67C9E8A6417097BD3B6B9B61, + F5ACA7711E16C71E09FC73B0, + 7AEC40C6AA4C53417310F4F1, + DF909D1FCFAB8F569053E9DF, + 03DD32FBD029C82D3F22A3FE, + 66AC03843AF96085EB9A4B7D, + A23E82FE8B442AED12FDD918, + FA06EAE4AC561D9F7E8C2CD8, + C71335CC680C84ED2F7A10F5, + 1357360553EB805A741CE8C5, + 8FB1291D7DF43665AA16B8DA, + 3725361DF38C906442276C14, ); name = fonts; sourceTree = ""; }; 5343BD1505AC38EFBE4188CE = {isa = PBXGroup; children = ( F26E02D6360ECA56393F94F0, 858B1B4B5D86499655B2F90E, @@ -1097,30 +1092,20 @@ 0D405D76DD203CA21681C1B1, BD967DC309387DC521ABCFCD, 6C5128F5931411DA99798615, ); name = geometry; sourceTree = ""; }; - 7F703C40D1BAF189229D4B71 = {isa = PBXGroup; children = ( - F9EF35668A2A35EE4397CF97, - 8DBDFD4842B217A36D854305, - 543D99A819656A9CE0C6705E, ); name = placement; sourceTree = ""; }; - FC482DDDC045CB22E0A15901 = {isa = PBXGroup; children = ( - 67C9E8A6417097BD3B6B9B61, - F5ACA7711E16C71E09FC73B0, - 7AEC40C6AA4C53417310F4F1, - DF909D1FCFAB8F569053E9DF, - 03DD32FBD029C82D3F22A3FE, - 66AC03843AF96085EB9A4B7D, - A23E82FE8B442AED12FDD918, - FA06EAE4AC561D9F7E8C2CD8, - C71335CC680C84ED2F7A10F5, - 1357360553EB805A741CE8C5, - 8FB1291D7DF43665AA16B8DA, - 3725361DF38C906442276C14, ); name = fonts; sourceTree = ""; }; - 6868F876ECC26F71BB86D908 = {isa = PBXGroup; children = ( - 91C1CD8BADF76DC0E267AEDF, - CD0C65FCD0F776B3E69FD40A, - D21D5DCBCA5DA09A33309382, - 81DE400BF155228DE78775AB, - 6EDB811A231F6073015BDEFA, ); name = effects; sourceTree = ""; }; - 9FD58B7D1C820DF19DC543A5 = {isa = PBXGroup; children = ( + C4C73D2B9A0720DCB4A5B09B = {isa = PBXGroup; children = ( + 58CFEBC52C4F0EEBCF0F032F, + AD3D5554C179E7D360D47EC0, + C1304780621DE055F575181F, ); name = "image_formats"; sourceTree = ""; }; + 59C5B7B05441CDABC29BCAEC = {isa = PBXGroup; children = ( + 2B103F6E08849A9AE36A2165, + B0DC7CF123BFC8C862C8912F, + 8AB8FDC910690D28C897F9DA, + 6602C7EF80420D32E355D30D, + AC34C394EE1177F153EDFC91, + 0F72CC9F80BE50B08C101621, + AB6C04C1633A778DF95EB92A, + B6E234273F54AC461DE0972E, ); name = images; sourceTree = ""; }; + BCB33FF5BF2DCFBCCA9896C0 = {isa = PBXGroup; children = ( 90DDC8CFB5372CC67C55A064, B1BCE232AB62B32B4383B5A5, 420EC00184E732853B859498, @@ -1134,19 +1119,54 @@ 47420E9F2C3992BBEC304169, E08589A8355E8C1DC9D754F2, 9F442098CC5C1F10406A0470, ); name = native; sourceTree = ""; }; + AEA7155EA50AB388CB459EE2 = {isa = PBXGroup; children = ( + F9EF35668A2A35EE4397CF97, + 8DBDFD4842B217A36D854305, + 543D99A819656A9CE0C6705E, ); name = placement; sourceTree = ""; }; C0210E5A0AA217EE1EED9707 = {isa = PBXGroup; children = ( 92E5D5E7D3A2564FE48537D0, 34C75DEAD3F72EF2C034DEB0, - 5BF419E75E5511FC7F98D036, - F613D720BE2285804EF1F805, + 056BCB00FE118E97C6BD8196, + 998A0B03EA375AEC063A43F7, 5343BD1505AC38EFBE4188CE, - 7F703C40D1BAF189229D4B71, - FC482DDDC045CB22E0A15901, - 6868F876ECC26F71BB86D908, - 9FD58B7D1C820DF19DC543A5, - F268ABCD7EBF4C2E4EA2E96D, + C4C73D2B9A0720DCB4A5B09B, + 59C5B7B05441CDABC29BCAEC, + BCB33FF5BF2DCFBCCA9896C0, + AEA7155EA50AB388CB459EE2, 69FCF31091B8DF1F66A11F9C, ); name = "juce_graphics"; sourceTree = ""; }; - 4873AF61C732EBA18D2797EA = {isa = PBXGroup; children = ( + A4D69546A609DD45C2A36D57 = {isa = PBXGroup; children = ( + 9A3D877E587069ADB7365B92, + 32F6164EDD380F56C109812C, ); name = application; sourceTree = ""; }; + 32CB2BD910E7477C79C72E4C = {isa = PBXGroup; children = ( + 73300B38F6FAD7DCCFA3ABBB, + C00E476E25C38140F2843A28, + D7382C91BBE7BED7EEC2593D, + 69FF902817DCFF546435B59F, + 020787EB7CB4A8CB5888EF73, + FAF8F3BA152C98B141435E65, + 7522049EA64D3602F2F1F43B, + A4C1F3D1AA69ADDC5963CCA2, + A949782BC8060E4E273CB6EF, + 1E56948AF06BFD1A718921DF, + 4BD6885A97318128113BF740, + FC4E4F4D6C30CC3815F48F1E, + F772BBF20D29A55B03ED584C, + C9DEF4317B0B08D7FDC829D9, + 33EF376C9E6EC58512F7136D, + E52B0E1B01B45F002711218C, + 57ADFC0BC8B66239C100B3C5, + 7C3789FDC48E242E998828EF, ); name = buttons; sourceTree = ""; }; + BB501DD399947E80DF94F9C2 = {isa = PBXGroup; children = ( + D38FC62D98E4DE9A4B49D87F, + E2FC567A845AFBB111DA3AD9, + B3B5CF55063B47C199C6B23C, + 252D3950A4124CE60E9DAD73, + 987F918DF03658A5B2475E0C, + F1D3D26DC605F752A04CC6C1, + BF210F1FC404D8E7E584070D, + D8CFBF2ABCEA59DA64F2CA97, + 4DBB16306F66F9CCEE2AE45B, ); name = commands; sourceTree = ""; }; + C154E2552A92C86805CE242D = {isa = PBXGroup; children = ( 4FB0FF076CFBED51C87BC038, E2C6BC6DBC6E1820F35064F3, CB3E2E48A52B38CC5E301745, @@ -1156,28 +1176,46 @@ AD9BB4836D2AD807A786F900, 708D1E96D60FE0623CCA6F5B, B64F8233DE23C99D7B470A25, ); name = components; sourceTree = ""; }; - 767DAD95AEDD0B297A9CFAF1 = {isa = PBXGroup; children = ( - A44D40B3EFD665DB9AEFA52D, - 9F6452874CE54BE04A310FEE, - AA0B81BDA437F4B13D067E04, - C28118368FF1AD6BC7510AC7, - 5EF0B5CB5268F14E7E6AAC76, - 63393190CE8F59EA87D708D0, - 6569B75A56CA9DB2B46B3CB3, - 4C40985F12E5C2F00D5326B4, - 1D47D2DB82AC84807428E138, - 6AD5540618A016B896BFEDEF, - 0A2E154591BD8604258A718A, - 76CB04A787E1A56B081E78D4, - EA0C72B080C0210059FFF3B1, - B0FB61DFF5854BC47A65491D, - 97920C44ECF8B71BB55E10C0, - 9F73A3F60DAA10EFFBF931F1, - 38111E53FDBDFD636E2453C6, - B7D5A64ABEB5E95D79AAB93C, - 8EA27B8650D742E1E55B6904, - 365CA1C30494E05772FA1758, ); name = mouse; sourceTree = ""; }; - F8D756220370CA9BE5EB0BE3 = {isa = PBXGroup; children = ( + 44D141B026285DD288985E8B = {isa = PBXGroup; children = ( + 7DF816E9B4FA154F6DF79E69, + 39DBD4799E7BF499F1358411, + 666D964599014AAEFD4D0B13, + E9C7F2012E864AF0E3A0C54F, + F64B83D11FA65FE8007E283C, + BBE630009C367704659D83AB, + 1AF04033312925AEFBE5D29E, + C3A9159139BE77281F911AD9, + 4F5953E8E7D7606E49DD7E87, + B8286F716D48E4F3F40D18C6, + 002E89CB123D85A57409EEE8, + 2211383539F401D4FF235230, + 47AE5D950463462AD0119DB3, + 51FF65B7843D85110E1C641D, + AB48C11409BEF7DAC112B5A5, ); name = drawables; sourceTree = ""; }; + 55629B08898E516D0ACF6FEE = {isa = PBXGroup; children = ( + 813F143E827AC7B7F6824A5B, + 6EB39BDEF5F11CED693D158A, + F291A8E4DBD8D2BC7FB33290, + DEDCFFBDAED5D311B3AA20CD, + EEAE83B80684E9D36AC68FB6, + 6B84BE30660A88E971421EED, + 811B1A490EC72442A97325A8, + 16A2E47C403086AADA95D89D, + A1AFDB2B941E367474F58B6E, + 5F102FB2CFF1A1E9980A9798, + 1A5EAFD302A7CBDA42CA1355, + 5C20D38EEE8CD19F9DB35C25, + 50CF2812AFA8028AED0928B1, + 8E6D5BA7C926EF91846751DD, + 64069872E48DFBEB4C088986, + 9CE6BD59BBC6F3E36BFD3057, + FDF291A167D6CDDC341DBEE4, + 2EB9FCBE2059503570F9E509, + 869EDF1244DA631F6BEA6E7D, + 3435C62930CD5F96792611E9, + 173219850B72DEC19B1DC9DB, + BD0EA80C4BC4E18285D9EEF0, ); name = filebrowser; sourceTree = ""; }; + 065AAD1E2691D6D35941A12F = {isa = PBXGroup; children = ( CAA237A47E903868BC099B4E, 1EA34D5D6B7812FA51756875, F3D96294341F0B641C216844, @@ -1191,62 +1229,7 @@ 366E8BCE770D3349576FB244, C990035023ECD9A1571F6C67, 55AFCC03E3846A148D39F107, ); name = keyboard; sourceTree = ""; }; - E43CD2B8F2073F0A9C842753 = {isa = PBXGroup; children = ( - A9B4F052D838C107FAFD1942, - AD99C72C47E171330CB2A5EB, - D5A0C3B70D24018BC390AA55, - 88AF2BCA98B58E2AB32A0EAC, - A352E75E6A1DFE70A465BD18, - 8F8307A395A898224E34DAAC, - 0D1E523DA48929FBB8F24A0A, - 12BA7F117478172C52E61101, - 4A2EB481B1BA47307FEF2FBC, - 35BFF5464BA49EC6BB5CE1DD, - 38170DB569DC8B502EEF97EC, - BA9F7CFA56AA7D02371740CB, - EE1B3E14D3030AC7E9264F9A, - B1C8AA5976BE10A0868A0D7C, - DBA4E9F95DCBDA9A16F97039, - 68508F5169D637A6960B33C0, - 930C575DA251C43E3557A6B4, - DAD8D98D05016F4B35F30F89, - 4DF9AB4E580F818276D5D928, - 72DD5CD034CD303C2B18A57C, - 284939D25B52F2D2F1EF9D73, - 146662AACE23059F32F38D24, - CFBAFA1196752BB486D3AED1, - 87514E4BDDAE2062B110B7EB, - 653CE3FB5B357C398C9109F9, - 4DAE62EFD35AD7A806783935, - 2AEA375F71EFD9D008DD46D6, ); name = widgets; sourceTree = ""; }; - CDF9AE067BF66107510C8338 = {isa = PBXGroup; children = ( - 44EF07F9D55CF240D2C6829F, - A3CE09672D8D6F494F237D41, - 136DD9685BC8065405309C35, - 48DBDC402957B8813D34889F, - AC0CAE055F510FEF3BC468FB, - F45BDB2985A10ECD03CDC4F0, - ECF4234FEAE6C75137E5DB79, - D6DE4E497283A637232DFEAB, - 12B8A9654B0E0AA7306E3755, - 12AD04B60AA5266B82582089, - 75FA5584B971194439D53F2D, - 406E2D810454736FB86488AA, - CAA6FB9E0CA3309EBE543A4A, - C2FFC6B3077CE4D5DDB9BB2C, - AE2B4BC80BC121E5F5896ED7, - 6CFCF06D79C5E1BE561C0449, - 28F86C3E7825F031664E0D22, - 307D331C2581536C95F44EBF, - 454BB027AFF25595005FCDCB, ); name = windows; sourceTree = ""; }; - E2D33CE6F12FA2EBE145D9F3 = {isa = PBXGroup; children = ( - 53308A06254AEA925E67A1C9, - 036003CDECC05581F3B33AB5, - 35CF7EC4E042EC67B20A1975, - 01949AD16E75F910AD407D27, - 9AAA046520355AF9CBE79A22, - 53031DDCF5A3C59B68A0DF43, ); name = menus; sourceTree = ""; }; - 1A86861FDDDFB2E6F1F8C3C1 = {isa = PBXGroup; children = ( + 91CEE107040B73C076A4298B = {isa = PBXGroup; children = ( 34EBFF98FC16464C109B0888, 414C3FC8261D0E20FE5DFE29, 6F9E2B4F294C514975CDEC88, @@ -1283,72 +1266,7 @@ CB6F91AA01E99EF0FA3A8F6C, E4C54D3907CE724D23C723F3, DD4A05C51C6B34C1659F62C4, ); name = layout; sourceTree = ""; }; - 490D3704999D20D55D3AC419 = {isa = PBXGroup; children = ( - 73300B38F6FAD7DCCFA3ABBB, - C00E476E25C38140F2843A28, - D7382C91BBE7BED7EEC2593D, - 69FF902817DCFF546435B59F, - 020787EB7CB4A8CB5888EF73, - FAF8F3BA152C98B141435E65, - 7522049EA64D3602F2F1F43B, - A4C1F3D1AA69ADDC5963CCA2, - A949782BC8060E4E273CB6EF, - 1E56948AF06BFD1A718921DF, - 4BD6885A97318128113BF740, - FC4E4F4D6C30CC3815F48F1E, - F772BBF20D29A55B03ED584C, - C9DEF4317B0B08D7FDC829D9, - 33EF376C9E6EC58512F7136D, - E52B0E1B01B45F002711218C, - 57ADFC0BC8B66239C100B3C5, - 7C3789FDC48E242E998828EF, ); name = buttons; sourceTree = ""; }; - 9D409C9AB2BEF3ACF474C352 = {isa = PBXGroup; children = ( - 8A82CE68FDD855A84A38D5DC, - 516C05953144D34053401870, - 516250A86D1681B6276AAB73, - 789577FEA20AB28765755B59, - CA8B268DFEED1165BC990BA7, - 83B9D853DD2F33FD72C7729B, - F6EBABE2BFE9070CDC224B6E, - C003FA05EC37D3C2AC194912, - FA886A244681AD88F97E6BB2, - 0F66EDBB3C3EC855D3F3F7A7, - 5AD77E4580E993027F6E66DA, - 21BCE05567F675BFCAC7C521, - 89BDDD906ABBA3B304C3D2F0, - C0487595B34A677EAA6A9506, ); name = positioning; sourceTree = ""; }; - 52848D985D1FC686D28F4E56 = {isa = PBXGroup; children = ( - 7DF816E9B4FA154F6DF79E69, - 39DBD4799E7BF499F1358411, - 666D964599014AAEFD4D0B13, - E9C7F2012E864AF0E3A0C54F, - F64B83D11FA65FE8007E283C, - BBE630009C367704659D83AB, - 1AF04033312925AEFBE5D29E, - C3A9159139BE77281F911AD9, - 4F5953E8E7D7606E49DD7E87, - B8286F716D48E4F3F40D18C6, - 002E89CB123D85A57409EEE8, - 2211383539F401D4FF235230, - 47AE5D950463462AD0119DB3, - 51FF65B7843D85110E1C641D, - AB48C11409BEF7DAC112B5A5, ); name = drawables; sourceTree = ""; }; - 505E6EED46493E404BCEBD83 = {isa = PBXGroup; children = ( - B4FC4474E9E10774B47604A6, - 295C33C2F1D9BE164A65B7D1, - F00734AD60B70D43265F0E38, - 07B02E77BDF9D385D5E46239, - BEFE75AD197E5D5381CD4C3E, - 01786050DE815DB51FA995C2, - 08DF4F29B96477C92ED7A5B5, - 2B69DF69E0ECCC5DFEF6710A, - B8627F7B3341190CD7ED8D41, - A805FCFA6FEA8BD5EF3A9E44, - 76CE3A3D3B5E3DAE4AC69C9F, - E6CC0C7CB5FD2237C5BC99F5, - 9930C7E17284B8470A2BD163, - 78C7C0B5C9BFB288EB6FA90A, ); name = properties; sourceTree = ""; }; - 63044B4F3742E4BC4A63F773 = {isa = PBXGroup; children = ( + D3A9BC4028492D7F24E34769 = {isa = PBXGroup; children = ( 68B9FFB0261D994A7B40111C, E0D81F0D3F9D870A9BA2E982, 5F1DCA84DC0A781223820C78, @@ -1357,48 +1275,40 @@ 0B329EC6741C5272F6A316E4, C2CE15126F0D9C35001BA09B, 14DC9351DD4BAE5BA2AFB4FF, ); name = lookandfeel; sourceTree = ""; }; - BEC1D84C160E3207516BBDEB = {isa = PBXGroup; children = ( - 813F143E827AC7B7F6824A5B, - 6EB39BDEF5F11CED693D158A, - F291A8E4DBD8D2BC7FB33290, - DEDCFFBDAED5D311B3AA20CD, - EEAE83B80684E9D36AC68FB6, - 6B84BE30660A88E971421EED, - 811B1A490EC72442A97325A8, - 16A2E47C403086AADA95D89D, - A1AFDB2B941E367474F58B6E, - 5F102FB2CFF1A1E9980A9798, - 1A5EAFD302A7CBDA42CA1355, - 5C20D38EEE8CD19F9DB35C25, - 50CF2812AFA8028AED0928B1, - 8E6D5BA7C926EF91846751DD, - 64069872E48DFBEB4C088986, - 9CE6BD59BBC6F3E36BFD3057, - FDF291A167D6CDDC341DBEE4, - 2EB9FCBE2059503570F9E509, - 869EDF1244DA631F6BEA6E7D, - 3435C62930CD5F96792611E9, - 173219850B72DEC19B1DC9DB, - BD0EA80C4BC4E18285D9EEF0, ); name = filebrowser; sourceTree = ""; }; - 136184A78938C6EF8FCD4399 = {isa = PBXGroup; children = ( - D38FC62D98E4DE9A4B49D87F, - E2FC567A845AFBB111DA3AD9, - B3B5CF55063B47C199C6B23C, - 252D3950A4124CE60E9DAD73, - 987F918DF03658A5B2475E0C, - F1D3D26DC605F752A04CC6C1, - BF210F1FC404D8E7E584070D, - D8CFBF2ABCEA59DA64F2CA97, - 4DBB16306F66F9CCEE2AE45B, ); name = commands; sourceTree = ""; }; - CAA10F5542C0355BD315899D = {isa = PBXGroup; children = ( + B1835A3F1598FCF482159B5A = {isa = PBXGroup; children = ( + 53308A06254AEA925E67A1C9, + 036003CDECC05581F3B33AB5, + 35CF7EC4E042EC67B20A1975, + 01949AD16E75F910AD407D27, + 9AAA046520355AF9CBE79A22, + 53031DDCF5A3C59B68A0DF43, ); name = menus; sourceTree = ""; }; + 51EE0642D6D11B0F7B549D07 = {isa = PBXGroup; children = ( E36DAEFD4C05E5BFC3BA578C, AAE5C9E934B9FE4239968E06, A6FC42D71A57BC3F1E7D9DA4, D94F6A1F7528E796BCCA5133, ); name = misc; sourceTree = ""; }; - A173F1540E281B4BD926D941 = {isa = PBXGroup; children = ( - 9A3D877E587069ADB7365B92, - 32F6164EDD380F56C109812C, ); name = application; sourceTree = ""; }; - 40644189C11E97CC955F2056 = {isa = PBXGroup; children = ( + FEDD3BD81CFFB51F253751DB = {isa = PBXGroup; children = ( + A44D40B3EFD665DB9AEFA52D, + 9F6452874CE54BE04A310FEE, + AA0B81BDA437F4B13D067E04, + C28118368FF1AD6BC7510AC7, + 5EF0B5CB5268F14E7E6AAC76, + 63393190CE8F59EA87D708D0, + 6569B75A56CA9DB2B46B3CB3, + 4C40985F12E5C2F00D5326B4, + 1D47D2DB82AC84807428E138, + 6AD5540618A016B896BFEDEF, + 0A2E154591BD8604258A718A, + 76CB04A787E1A56B081E78D4, + EA0C72B080C0210059FFF3B1, + B0FB61DFF5854BC47A65491D, + 97920C44ECF8B71BB55E10C0, + 9F73A3F60DAA10EFFBF931F1, + 38111E53FDBDFD636E2453C6, + B7D5A64ABEB5E95D79AAB93C, + 8EA27B8650D742E1E55B6904, + 365CA1C30494E05772FA1758, ); name = mouse; sourceTree = ""; }; + CA50DF05CA50047C2FF14419 = {isa = PBXGroup; children = ( DB739DFF6ADCB091B538221A, 9242007BBBF5DD3CD58CBE58, 43889CC80C386BE6083465BA, @@ -1415,25 +1325,102 @@ 55CD0CF473F7DD360414F853, 46BA387B9846DE95B9734A6B, E0553658BE0C87D88BAF6F25, ); name = native; sourceTree = ""; }; + 395FC49D1610003345DE1A4C = {isa = PBXGroup; children = ( + 8A82CE68FDD855A84A38D5DC, + 516C05953144D34053401870, + 516250A86D1681B6276AAB73, + 789577FEA20AB28765755B59, + CA8B268DFEED1165BC990BA7, + 83B9D853DD2F33FD72C7729B, + F6EBABE2BFE9070CDC224B6E, + C003FA05EC37D3C2AC194912, + FA886A244681AD88F97E6BB2, + 0F66EDBB3C3EC855D3F3F7A7, + 5AD77E4580E993027F6E66DA, + 21BCE05567F675BFCAC7C521, + 89BDDD906ABBA3B304C3D2F0, + C0487595B34A677EAA6A9506, ); name = positioning; sourceTree = ""; }; + BA9964051415F70BCC883320 = {isa = PBXGroup; children = ( + B4FC4474E9E10774B47604A6, + 295C33C2F1D9BE164A65B7D1, + F00734AD60B70D43265F0E38, + 07B02E77BDF9D385D5E46239, + BEFE75AD197E5D5381CD4C3E, + 01786050DE815DB51FA995C2, + 08DF4F29B96477C92ED7A5B5, + 2B69DF69E0ECCC5DFEF6710A, + B8627F7B3341190CD7ED8D41, + A805FCFA6FEA8BD5EF3A9E44, + 76CE3A3D3B5E3DAE4AC69C9F, + E6CC0C7CB5FD2237C5BC99F5, + 9930C7E17284B8470A2BD163, + 78C7C0B5C9BFB288EB6FA90A, ); name = properties; sourceTree = ""; }; + 1BF2A3E2BEF6271DE48A7DEF = {isa = PBXGroup; children = ( + A9B4F052D838C107FAFD1942, + AD99C72C47E171330CB2A5EB, + D5A0C3B70D24018BC390AA55, + 88AF2BCA98B58E2AB32A0EAC, + A352E75E6A1DFE70A465BD18, + 8F8307A395A898224E34DAAC, + 0D1E523DA48929FBB8F24A0A, + 12BA7F117478172C52E61101, + 4A2EB481B1BA47307FEF2FBC, + 35BFF5464BA49EC6BB5CE1DD, + 38170DB569DC8B502EEF97EC, + BA9F7CFA56AA7D02371740CB, + EE1B3E14D3030AC7E9264F9A, + B1C8AA5976BE10A0868A0D7C, + DBA4E9F95DCBDA9A16F97039, + 68508F5169D637A6960B33C0, + 930C575DA251C43E3557A6B4, + DAD8D98D05016F4B35F30F89, + 4DF9AB4E580F818276D5D928, + 72DD5CD034CD303C2B18A57C, + 284939D25B52F2D2F1EF9D73, + 146662AACE23059F32F38D24, + CFBAFA1196752BB486D3AED1, + 87514E4BDDAE2062B110B7EB, + 653CE3FB5B357C398C9109F9, + 4DAE62EFD35AD7A806783935, + 2AEA375F71EFD9D008DD46D6, ); name = widgets; sourceTree = ""; }; + 21813AA19C53F14228EBE3FE = {isa = PBXGroup; children = ( + 44EF07F9D55CF240D2C6829F, + A3CE09672D8D6F494F237D41, + 136DD9685BC8065405309C35, + 48DBDC402957B8813D34889F, + AC0CAE055F510FEF3BC468FB, + F45BDB2985A10ECD03CDC4F0, + ECF4234FEAE6C75137E5DB79, + D6DE4E497283A637232DFEAB, + 12B8A9654B0E0AA7306E3755, + 12AD04B60AA5266B82582089, + 75FA5584B971194439D53F2D, + 406E2D810454736FB86488AA, + CAA6FB9E0CA3309EBE543A4A, + C2FFC6B3077CE4D5DDB9BB2C, + AE2B4BC80BC121E5F5896ED7, + 6CFCF06D79C5E1BE561C0449, + 28F86C3E7825F031664E0D22, + 307D331C2581536C95F44EBF, + 454BB027AFF25595005FCDCB, ); name = windows; sourceTree = ""; }; AEEE55522E9DA021C42272FE = {isa = PBXGroup; children = ( - 4873AF61C732EBA18D2797EA, - 767DAD95AEDD0B297A9CFAF1, - F8D756220370CA9BE5EB0BE3, - E43CD2B8F2073F0A9C842753, - CDF9AE067BF66107510C8338, - E2D33CE6F12FA2EBE145D9F3, - 1A86861FDDDFB2E6F1F8C3C1, - 490D3704999D20D55D3AC419, - 9D409C9AB2BEF3ACF474C352, - 52848D985D1FC686D28F4E56, - 505E6EED46493E404BCEBD83, - 63044B4F3742E4BC4A63F773, - BEC1D84C160E3207516BBDEB, - 136184A78938C6EF8FCD4399, - CAA10F5542C0355BD315899D, - A173F1540E281B4BD926D941, - 40644189C11E97CC955F2056, - 77CB8165F0BA65153FCB1C9B, + A4D69546A609DD45C2A36D57, + 32CB2BD910E7477C79C72E4C, + BB501DD399947E80DF94F9C2, + C154E2552A92C86805CE242D, + 44D141B026285DD288985E8B, + 55629B08898E516D0ACF6FEE, + 065AAD1E2691D6D35941A12F, + 91CEE107040B73C076A4298B, + D3A9BC4028492D7F24E34769, + B1835A3F1598FCF482159B5A, + 51EE0642D6D11B0F7B549D07, + FEDD3BD81CFFB51F253751DB, + CA50DF05CA50047C2FF14419, + 395FC49D1610003345DE1A4C, + BA9964051415F70BCC883320, + 1BF2A3E2BEF6271DE48A7DEF, + 21813AA19C53F14228EBE3FE, 802F0F00B21260AE4387989C, ); name = "juce_gui_basics"; sourceTree = ""; }; 8ECA73C8DE170721F1FF8414 = {isa = PBXGroup; children = ( 7F032CBC31D932C62734354A, @@ -1495,7 +1482,6 @@ 9D6EF582E8B80A64F0F16586, CEFA97363DA625E1E470F960, 2F16245B73E7D3547586F766, - 4AEFBB60F0DD354125B318AB, EC755497D39FA520E93F3370, ); name = "juce_gui_extra"; sourceTree = ""; }; CD79F39BDB14E1322AD19538 = {isa = PBXGroup; children = ( FB21EA7E80B2E8AC2E212FBA, @@ -1516,7 +1502,6 @@ 6A07BB23E500A0E820AB54C7, ); name = osc; sourceTree = ""; }; 58AFAA47F8DB52EB18DA1627 = {isa = PBXGroup; children = ( CD79F39BDB14E1322AD19538, - A696A473DCB2949D180C32F3, CE1EBFE8CB48D17396D136FE, ); name = "juce_osc"; sourceTree = ""; }; 3A5215130DB93D8BC069DF39 = {isa = PBXGroup; children = ( A441ACE8FE8C90C1C24D6113, @@ -1529,17 +1514,17 @@ 58AFAA47F8DB52EB18DA1627, ); name = "Juce Modules"; sourceTree = ""; }; 07DB55D8172357541074D54E = {isa = PBXGroup; children = ( B703A6B2748D906CAD72890E, - 626F0D75A5519028C44B4CF1, - 2F4C92EFC95FE5318931035E, - 4DAB65524949B4339D76298D, - 3F73EB500D747EB6820A0527, - AC784033583E622DB1464805, - 51158CCA4B7971020DECB9AF, - 9D38793FCA710DACB59923EC, - 0D5509E7051D4434009C25E4, + CB1530E14DFA4557BFC9B83D, + DD0518371AAA6FDE27C648C9, + FFBF4F820F32F94615A43588, + DFD68BBF3B08639B6D1A15F7, + 253C6032391175841D7B25B7, + 10C470B63DB039FAE2EBDF6E, + 9A2B2280124B2C4C43A89D7D, + 027849642988B56A9F2DF849, 7788FA84B3179B3D5B1D19CC, ); name = "Juce Library Code"; sourceTree = ""; }; 84DA11D7E421FA7DCB18AFFA = {isa = PBXGroup; children = ( - 3CBCB4FB36DFE00921657A92, + DBB4370FE47F2C2AA8193558, F45092B8BF45760A7C6E162A, ); name = Resources; sourceTree = ""; }; 1CE4EC4CC850DCB4A4676A8A = {isa = PBXGroup; children = ( B4012AD4A80B8D23CDB2A7A2, @@ -1548,7 +1533,7 @@ 1071DB173D561A5841FF0F30, B035AE57473F86C5121B2A3E, ); name = Frameworks; sourceTree = ""; }; C4C4A8503D11FA400E85EDB5 = {isa = PBXGroup; children = ( - 8E433B1A05AA2D18AB894B09, ); name = Products; sourceTree = ""; }; + 0AB2F0BDAF44CF1FE7BA007A, ); name = Products; sourceTree = ""; }; 9C0E80FC020192937C98CFC2 = {isa = PBXGroup; children = ( 298BAA7A2AE152C7E1883471, 3A5215130DB93D8BC069DF39, @@ -1556,7 +1541,7 @@ 84DA11D7E421FA7DCB18AFFA, 1CE4EC4CC850DCB4A4676A8A, C4C4A8503D11FA400E85EDB5, ); name = Source; sourceTree = ""; }; - A6DD381047FAA17725F5F4B5 = {isa = XCBuildConfiguration; buildSettings = { + 35EA263E2229633CFF9BA17A = {isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -1574,10 +1559,10 @@ "JUCE_APP_VERSION_HEX=0x10000", ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.plist; INSTALL_PATH = "$(HOME)/Applications"; PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.OSCReceiver; }; name = Debug; }; - BC27690A38327AE29CC81DE0 = {isa = XCBuildConfiguration; buildSettings = { + 7FE2E6B09FEAE455422E1496 = {isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -1596,7 +1581,7 @@ GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.plist; INSTALL_PATH = "$(HOME)/Applications"; PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.OSCReceiver; }; name = Release; }; AEC2629A4CDDB6132D9118A8 = {isa = XCBuildConfiguration; buildSettings = { @@ -1637,35 +1622,36 @@ TARGETED_DEVICE_FAMILY = "1,2"; WARNING_CFLAGS = -Wreorder; ZERO_LINK = NO; }; name = Release; }; + 0C4984286C7A87A9F2A1E69C = {isa = PBXTargetDependency; target = 5E1B6101A5D94EDEE60C306A; }; 26D2BBF40A8AF71F3DDC53E0 = {isa = XCConfigurationList; buildConfigurations = ( AEC2629A4CDDB6132D9118A8, 1C079BE0437E0F0DC3C2E542, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 25B1370582A5EAA7CA887DE3 = {isa = XCConfigurationList; buildConfigurations = ( - A6DD381047FAA17725F5F4B5, - BC27690A38327AE29CC81DE0, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - E16AD639674060555D8A7039 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + C8C7ABB6629DDECEDC110752 = {isa = XCConfigurationList; buildConfigurations = ( + 35EA263E2229633CFF9BA17A, + 7FE2E6B09FEAE455422E1496, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 2EA5C343F865CED412BD5E20 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( BC9100A3FB5977F0F4EE7D5A, ); runOnlyForDeploymentPostprocessing = 0; }; - C7349C080BBD20466F924A37 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + E95E181406F96A95EF81C474 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( AB634B48FB9C4F066D7E5639, - 306569A050E6741DB96E5CA6, - 211FAAA05E90AB1769FBE94D, - 6F67B894E3583D35B565CE37, - 8893C9051BE2C22DD629E1A3, - 9F47ABC27914B187E22FAF89, - 04E83A225DB419CE1DF2768E, - 24600FC4CA239CAB602D7CF3, - 14942B19EA035B6A4E4F6D6E, ); runOnlyForDeploymentPostprocessing = 0; }; - F9E3A70B27C66CB496B37DA7 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 67369B569476260A5D9D47AD, + 91A622E2DEA21547BD4FA11C, + 1B0D2D8611212A0D84D0A6F3, + 5103BF2B4D823302EFB5FDE7, + 59EE99E6503A3D04A462DA2F, + CE03B0C5E766E10B0C8948EB, + 7E81CAB36E087B8122CB82F9, + 34B3E269DA7EB99036670552, ); runOnlyForDeploymentPostprocessing = 0; }; + 98DB1513FFCA4DC380991BE7 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( D8AD187002F25052453AAA7D, 31096D23A1EA98E43FBA9D95, B569A926F04E72DCCCADF553, BEAC0D3BDB4671F8E47E441E, 00B4AE20961B6E35789ACE19, ); runOnlyForDeploymentPostprocessing = 0; }; - 4C5402C9A77FAB3A6B170A18 = {isa = PBXNativeTarget; buildConfigurationList = 25B1370582A5EAA7CA887DE3; buildPhases = ( - E16AD639674060555D8A7039, - C7349C080BBD20466F924A37, - F9E3A70B27C66CB496B37DA7, ); buildRules = ( ); dependencies = ( ); name = OSCReceiver; productName = OSCReceiver; productReference = 8E433B1A05AA2D18AB894B09; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; - 9CDCD4F1CF6D5405D574A953 = {isa = PBXProject; buildConfigurationList = 26D2BBF40A8AF71F3DDC53E0; attributes = { LastUpgradeCheck = 0440; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 9C0E80FC020192937C98CFC2; projectDirPath = ""; projectRoot = ""; targets = ( 4C5402C9A77FAB3A6B170A18 ); }; + 5E1B6101A5D94EDEE60C306A = {isa = PBXNativeTarget; buildConfigurationList = C8C7ABB6629DDECEDC110752; buildPhases = ( + 2EA5C343F865CED412BD5E20, + E95E181406F96A95EF81C474, + 98DB1513FFCA4DC380991BE7, ); buildRules = ( ); dependencies = ( ); name = "OSCReceiver (App)"; productName = OSCReceiver; productReference = 0AB2F0BDAF44CF1FE7BA007A; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; + 9CDCD4F1CF6D5405D574A953 = {isa = PBXProject; buildConfigurationList = 26D2BBF40A8AF71F3DDC53E0; attributes = { LastUpgradeCheck = 0440; TargetAttributes = { 5E1B6101A5D94EDEE60C306A = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 9C0E80FC020192937C98CFC2; projectDirPath = ""; projectRoot = ""; targets = (5E1B6101A5D94EDEE60C306A); }; }; rootObject = 9CDCD4F1CF6D5405D574A953; } diff --git a/examples/OSCReceiver/JuceLibraryCode/AppConfig.h b/examples/OSCReceiver/JuceLibraryCode/AppConfig.h index 5ee3fec42d..9d4a6b197a 100644 --- a/examples/OSCReceiver/JuceLibraryCode/AppConfig.h +++ b/examples/OSCReceiver/JuceLibraryCode/AppConfig.h @@ -4,8 +4,8 @@ project - if you alter its contents, your changes may be overwritten! There's a section below where you can add your own custom code safely, and the - Introjucer will preserve the contents of that block, but the best way to change - any of these definitions is by using the Introjucer's project settings. + Projucer will preserve the contents of that block, but the best way to change + any of these definitions is by using the Projucer's project settings. Any commented-out settings will assume their default values. @@ -17,7 +17,7 @@ //============================================================================== // [BEGIN_USER_CODE_SECTION] -// (You can add your own code in this section, and the Introjucer will not overwrite it) +// (You can add your own code in this section, and the Projucer will not overwrite it) // [END_USER_CODE_SECTION] @@ -33,9 +33,15 @@ //============================================================================== #ifndef JUCE_STANDALONE_APPLICATION - #define JUCE_STANDALONE_APPLICATION 1 + #ifdef JucePlugin_Build_Standalone + #define JUCE_STANDALONE_APPLICATION JucePlugin_Build_Standalone + #else + #define JUCE_STANDALONE_APPLICATION 1 + #endif #endif +#define JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED 1 + //============================================================================== // juce_core flags: diff --git a/examples/OSCReceiver/JuceLibraryCode/JuceHeader.h b/examples/OSCReceiver/JuceLibraryCode/JuceHeader.h index c344b1bcfb..d6e282a333 100644 --- a/examples/OSCReceiver/JuceLibraryCode/JuceHeader.h +++ b/examples/OSCReceiver/JuceLibraryCode/JuceHeader.h @@ -14,14 +14,16 @@ #define __APPHEADERFILE_PDOCPT__ #include "AppConfig.h" -#include "modules/juce_core/juce_core.h" -#include "modules/juce_cryptography/juce_cryptography.h" -#include "modules/juce_data_structures/juce_data_structures.h" -#include "modules/juce_events/juce_events.h" -#include "modules/juce_graphics/juce_graphics.h" -#include "modules/juce_gui_basics/juce_gui_basics.h" -#include "modules/juce_gui_extra/juce_gui_extra.h" -#include "modules/juce_osc/juce_osc.h" + +#include +#include +#include +#include +#include +#include +#include +#include + #if ! DONT_SET_USING_JUCE_NAMESPACE // If your code uses a lot of JUCE classes, then this will obviously save you diff --git a/examples/OSCReceiver/JuceLibraryCode/ReadMe.txt b/examples/OSCReceiver/JuceLibraryCode/ReadMe.txt index f6c3564e99..091a5aa6eb 100644 --- a/examples/OSCReceiver/JuceLibraryCode/ReadMe.txt +++ b/examples/OSCReceiver/JuceLibraryCode/ReadMe.txt @@ -2,11 +2,11 @@ Important Note!! ================ -The purpose of this folder is to contain files that are auto-generated by the Introjucer, +The purpose of this folder is to contain files that are auto-generated by the Projucer, and ALL files in this folder will be mercilessly DELETED and completely re-written whenever -the Introjucer saves your project. +the Projucer saves your project. Therefore, it's a bad idea to make any manual changes to the files in here, or to put any of your own files in here if you don't want to lose them. (Of course you may choose to add the folder's contents to your version-control system so that you can re-merge your own -modifications after the Introjucer has saved its changes). +modifications after the Projucer has saved its changes). diff --git a/examples/OSCReceiver/JuceLibraryCode/juce_core.cpp b/examples/OSCReceiver/JuceLibraryCode/juce_core.cpp new file mode 100644 index 0000000000..d0ce1636f0 --- /dev/null +++ b/examples/OSCReceiver/JuceLibraryCode/juce_core.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCReceiver/JuceLibraryCode/juce_core.mm b/examples/OSCReceiver/JuceLibraryCode/juce_core.mm new file mode 100644 index 0000000000..72b10bf817 --- /dev/null +++ b/examples/OSCReceiver/JuceLibraryCode/juce_core.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCReceiver/JuceLibraryCode/juce_cryptography.cpp b/examples/OSCReceiver/JuceLibraryCode/juce_cryptography.cpp new file mode 100644 index 0000000000..10b3401dbe --- /dev/null +++ b/examples/OSCReceiver/JuceLibraryCode/juce_cryptography.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCReceiver/JuceLibraryCode/juce_cryptography.mm b/examples/OSCReceiver/JuceLibraryCode/juce_cryptography.mm new file mode 100644 index 0000000000..9311ea0ffe --- /dev/null +++ b/examples/OSCReceiver/JuceLibraryCode/juce_cryptography.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCReceiver/JuceLibraryCode/juce_data_structures.cpp b/examples/OSCReceiver/JuceLibraryCode/juce_data_structures.cpp new file mode 100644 index 0000000000..9315aa1686 --- /dev/null +++ b/examples/OSCReceiver/JuceLibraryCode/juce_data_structures.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCReceiver/JuceLibraryCode/juce_data_structures.mm b/examples/OSCReceiver/JuceLibraryCode/juce_data_structures.mm new file mode 100644 index 0000000000..695ec43925 --- /dev/null +++ b/examples/OSCReceiver/JuceLibraryCode/juce_data_structures.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCReceiver/JuceLibraryCode/juce_events.cpp b/examples/OSCReceiver/JuceLibraryCode/juce_events.cpp new file mode 100644 index 0000000000..1bba110a97 --- /dev/null +++ b/examples/OSCReceiver/JuceLibraryCode/juce_events.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCReceiver/JuceLibraryCode/juce_events.mm b/examples/OSCReceiver/JuceLibraryCode/juce_events.mm new file mode 100644 index 0000000000..4cc34fc401 --- /dev/null +++ b/examples/OSCReceiver/JuceLibraryCode/juce_events.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCReceiver/JuceLibraryCode/juce_graphics.cpp b/examples/OSCReceiver/JuceLibraryCode/juce_graphics.cpp new file mode 100644 index 0000000000..319c76de0e --- /dev/null +++ b/examples/OSCReceiver/JuceLibraryCode/juce_graphics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCReceiver/JuceLibraryCode/juce_graphics.mm b/examples/OSCReceiver/JuceLibraryCode/juce_graphics.mm new file mode 100644 index 0000000000..b28e6dd056 --- /dev/null +++ b/examples/OSCReceiver/JuceLibraryCode/juce_graphics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCReceiver/JuceLibraryCode/juce_gui_basics.cpp b/examples/OSCReceiver/JuceLibraryCode/juce_gui_basics.cpp new file mode 100644 index 0000000000..216c76bb05 --- /dev/null +++ b/examples/OSCReceiver/JuceLibraryCode/juce_gui_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCReceiver/JuceLibraryCode/juce_gui_basics.mm b/examples/OSCReceiver/JuceLibraryCode/juce_gui_basics.mm new file mode 100644 index 0000000000..6a9726fa5f --- /dev/null +++ b/examples/OSCReceiver/JuceLibraryCode/juce_gui_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCReceiver/JuceLibraryCode/juce_gui_extra.cpp b/examples/OSCReceiver/JuceLibraryCode/juce_gui_extra.cpp new file mode 100644 index 0000000000..7226e19833 --- /dev/null +++ b/examples/OSCReceiver/JuceLibraryCode/juce_gui_extra.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCReceiver/JuceLibraryCode/juce_gui_extra.mm b/examples/OSCReceiver/JuceLibraryCode/juce_gui_extra.mm new file mode 100644 index 0000000000..c9b6c3bfc6 --- /dev/null +++ b/examples/OSCReceiver/JuceLibraryCode/juce_gui_extra.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCReceiver/JuceLibraryCode/juce_osc.cpp b/examples/OSCReceiver/JuceLibraryCode/juce_osc.cpp new file mode 100644 index 0000000000..0c3b9ae974 --- /dev/null +++ b/examples/OSCReceiver/JuceLibraryCode/juce_osc.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCReceiver/JuceLibraryCode/modules/juce_core/juce_core.h b/examples/OSCReceiver/JuceLibraryCode/modules/juce_core/juce_core.h deleted file mode 100644 index 06e88f9352..0000000000 --- a/examples/OSCReceiver/JuceLibraryCode/modules/juce_core/juce_core.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_core/juce_core.h" diff --git a/examples/OSCReceiver/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h b/examples/OSCReceiver/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h deleted file mode 100644 index e4574f4749..0000000000 --- a/examples/OSCReceiver/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_cryptography/juce_cryptography.h" diff --git a/examples/OSCReceiver/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h b/examples/OSCReceiver/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h deleted file mode 100644 index 9d814fd953..0000000000 --- a/examples/OSCReceiver/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_data_structures/juce_data_structures.h" diff --git a/examples/OSCReceiver/JuceLibraryCode/modules/juce_events/juce_events.h b/examples/OSCReceiver/JuceLibraryCode/modules/juce_events/juce_events.h deleted file mode 100644 index 509b1df8d2..0000000000 --- a/examples/OSCReceiver/JuceLibraryCode/modules/juce_events/juce_events.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_events/juce_events.h" diff --git a/examples/OSCReceiver/JuceLibraryCode/modules/juce_graphics/juce_graphics.h b/examples/OSCReceiver/JuceLibraryCode/modules/juce_graphics/juce_graphics.h deleted file mode 100644 index 28edbf35e3..0000000000 --- a/examples/OSCReceiver/JuceLibraryCode/modules/juce_graphics/juce_graphics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_graphics/juce_graphics.h" diff --git a/examples/OSCReceiver/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h b/examples/OSCReceiver/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h deleted file mode 100644 index 81ad4b7297..0000000000 --- a/examples/OSCReceiver/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_gui_basics/juce_gui_basics.h" diff --git a/examples/OSCReceiver/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h b/examples/OSCReceiver/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h deleted file mode 100644 index 5c9b7a96b5..0000000000 --- a/examples/OSCReceiver/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_gui_extra/juce_gui_extra.h" diff --git a/examples/OSCReceiver/JuceLibraryCode/modules/juce_osc/juce_osc.h b/examples/OSCReceiver/JuceLibraryCode/modules/juce_osc/juce_osc.h deleted file mode 100644 index 40bdd4441b..0000000000 --- a/examples/OSCReceiver/JuceLibraryCode/modules/juce_osc/juce_osc.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_osc/juce_osc.h" diff --git a/examples/OSCReceiver/OSCReceiver.jucer b/examples/OSCReceiver/OSCReceiver.jucer index 8c76792032..eeba33c93a 100644 --- a/examples/OSCReceiver/OSCReceiver.jucer +++ b/examples/OSCReceiver/OSCReceiver.jucer @@ -2,7 +2,7 @@ + jucerVersion="4.2.0"> @@ -64,7 +64,7 @@ - + @@ -86,7 +86,9 @@ androidMinimumSDK="10" androidInternetNeeded="1" androidBluetoothNeeded="1" androidKeyStore="${user.home}/.android/debug.keystore" androidKeyStorePass="android" androidKeyAlias="androiddebugkey" androidKeyAliasPass="android" - androidCpp11="1" targetFolder="Builds/AndroidStudio" androidScreenOrientation="unspecified"> + androidCpp11="1" targetFolder="Builds/AndroidStudio" androidScreenOrientation="unspecified" + gradleVersion="2.10" gradleWrapperVersion="0.6.0-beta5" gradleToolchain="clang" + gradleToolchainVersion="3.6" buildToolsVersion="23.0.1"> diff --git a/examples/OSCReceiver/Source/Main.cpp b/examples/OSCReceiver/Source/Main.cpp index c16390f4c5..87ec3e54d0 100644 --- a/examples/OSCReceiver/Source/Main.cpp +++ b/examples/OSCReceiver/Source/Main.cpp @@ -1,7 +1,7 @@ /* ============================================================================== - This file was auto-generated by the Introjucer! + This file was auto-generated by the Projucer! It contains the basic startup code for a Juce application. diff --git a/examples/OSCReceiver/Source/MainComponent.h b/examples/OSCReceiver/Source/MainComponent.h index 9fe26bb21d..b9d90fc28c 100644 --- a/examples/OSCReceiver/Source/MainComponent.h +++ b/examples/OSCReceiver/Source/MainComponent.h @@ -22,7 +22,7 @@ class MainContentComponent : public Component, private OSCReceiver::ListenerWithOSCAddress { public: - //========================================================================== + //============================================================================== MainContentComponent() { setSize (200, 200); @@ -43,7 +43,7 @@ public: } private: - //========================================================================== + //============================================================================== void oscMessageReceived (const OSCMessage& message) override { if (message.size() == 1 && message[0].isFloat32()) @@ -59,7 +59,7 @@ private: "OK"); } - //========================================================================== + //============================================================================== Slider rotaryKnob; JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainContentComponent) diff --git a/examples/OSCSender/Builds/LinuxMakefile/Makefile b/examples/OSCSender/Builds/LinuxMakefile/Makefile index d0e73a0e36..70de81b7c4 100644 --- a/examples/OSCSender/Builds/LinuxMakefile/Makefile +++ b/examples/OSCSender/Builds/LinuxMakefile/Makefile @@ -1,5 +1,5 @@ -# Automatically generated makefile, created by the Introjucer -# Don't edit this file! Your changes will be overwritten when you re-save the Introjucer project! +# Automatically generated makefile, created by the Projucer +# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project! # (this disables dependency generation if multiple architectures are set) DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) @@ -50,12 +50,12 @@ endif OBJECTS := \ $(OBJDIR)/Main_90ebc5c2.o \ - $(OBJDIR)/juce_core_1ee54a40.o \ - $(OBJDIR)/juce_data_structures_84790dfc.o \ - $(OBJDIR)/juce_events_584896b4.o \ - $(OBJDIR)/juce_graphics_f9afc18.o \ - $(OBJDIR)/juce_gui_basics_90929794.o \ - $(OBJDIR)/juce_osc_72ef0f3c.o \ + $(OBJDIR)/juce_core_75b14332.o \ + $(OBJDIR)/juce_data_structures_72d3da2c.o \ + $(OBJDIR)/juce_events_d2be882c.o \ + $(OBJDIR)/juce_graphics_9c18891e.o \ + $(OBJDIR)/juce_gui_basics_8a6da59c.o \ + $(OBJDIR)/juce_osc_be4cee16.o \ .PHONY: clean @@ -79,32 +79,32 @@ $(OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp @echo "Compiling Main.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_core_1ee54a40.o: ../../../../modules/juce_core/juce_core.cpp +$(OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_core.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_data_structures_84790dfc.o: ../../../../modules/juce_data_structures/juce_data_structures.cpp +$(OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_data_structures.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_events_584896b4.o: ../../../../modules/juce_events/juce_events.cpp +$(OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_events.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_graphics_f9afc18.o: ../../../../modules/juce_graphics/juce_graphics.cpp +$(OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_graphics.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_basics_90929794.o: ../../../../modules/juce_gui_basics/juce_gui_basics.cpp +$(OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_gui_basics.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_osc_72ef0f3c.o: ../../../../modules/juce_osc/juce_osc.cpp +$(OBJDIR)/juce_osc_be4cee16.o: ../../JuceLibraryCode/juce_osc.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_osc.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" diff --git a/examples/OSCSender/Builds/MacOSX/Info.plist b/examples/OSCSender/Builds/MacOSX/Info-App.plist similarity index 89% rename from examples/OSCSender/Builds/MacOSX/Info.plist rename to examples/OSCSender/Builds/MacOSX/Info-App.plist index 717a5d72f0..0d711c345b 100644 --- a/examples/OSCSender/Builds/MacOSX/Info.plist +++ b/examples/OSCSender/Builds/MacOSX/Info-App.plist @@ -11,6 +11,8 @@ $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName OSCSender + CFBundleDisplayName + OSCSender CFBundlePackageType APPL CFBundleSignature diff --git a/examples/OSCSender/Builds/MacOSX/OSCSender.xcodeproj/project.pbxproj b/examples/OSCSender/Builds/MacOSX/OSCSender.xcodeproj/project.pbxproj index 930cd4e9b9..79e4e162d1 100644 --- a/examples/OSCSender/Builds/MacOSX/OSCSender.xcodeproj/project.pbxproj +++ b/examples/OSCSender/Builds/MacOSX/OSCSender.xcodeproj/project.pbxproj @@ -6,18 +6,19 @@ objectVersion = 46; objects = { + A6EB15B02B1D0A6FADABE7C2 = {isa = PBXBuildFile; fileRef = E6F7F38EEF1BA55231F5B1D4; }; B4D7BB7DFEBE72BCD3DD605C = {isa = PBXBuildFile; fileRef = F8410F1BD7BF4C092080F229; }; BAD6E04B07004B5F27F9A822 = {isa = PBXBuildFile; fileRef = B8C8B0B970A303B26BC67C25; }; DFC4B6CA5A1EA956F9C0C6DD = {isa = PBXBuildFile; fileRef = 1A889B5B8A437BA1E0D6DFB4; }; 91BBD074F724A10436BEF6F2 = {isa = PBXBuildFile; fileRef = 42DBAA5FEB22C47EB3E9A465; }; 7B70DA4946C06CABDCACCBEF = {isa = PBXBuildFile; fileRef = 7F3DDEA0ECF58906664734C9; }; BBB11FE465015EA2246D0BB6 = {isa = PBXBuildFile; fileRef = ED4E215F7CA65E0BD389D502; }; - 1F513C7D5F08D931CCFC2E8C = {isa = PBXBuildFile; fileRef = B88E3863BBF92D6B99FAF80D; }; - 15107DF286EC1E38D1CE8585 = {isa = PBXBuildFile; fileRef = 2C48D8AB740EC67F50362309; }; - 3E612804D48097CE749934F7 = {isa = PBXBuildFile; fileRef = FE9E614EEFF0DB6698FFB50A; }; - CF48DF912BCB35C5C1D2FA9F = {isa = PBXBuildFile; fileRef = B12DDE5BF035D875DFF3618F; }; - 1BC02582055A355837640A73 = {isa = PBXBuildFile; fileRef = 36F5932B212DC45F306782B6; }; - 75E34972D84652086761FF17 = {isa = PBXBuildFile; fileRef = 231A1BAE4463A07BA69EA3FF; }; + 76A91C0B038E3D28457B1124 = {isa = PBXBuildFile; fileRef = 3435DC389125F7A59BE3A085; }; + 42E17BAAFBB2CAFAB027AEDD = {isa = PBXBuildFile; fileRef = F09F75B04E23E4727374C42E; }; + 45D0E3A723BFE64C37BF46DB = {isa = PBXBuildFile; fileRef = 135B3CAD8DF1F1EF3EFD73E4; }; + 445DFD7645161E372AB50F5B = {isa = PBXBuildFile; fileRef = A3453A7F3CAB5625EE190588; }; + F2123ED9B3FB4980D36F80D4 = {isa = PBXBuildFile; fileRef = 2CD2159773ACCE5CAAABDDB6; }; + 345DA5934BAD8ACA0434B957 = {isa = PBXBuildFile; fileRef = 4ACBB6CAFC90015EE05E3B5E; }; 00183F1253D862D398F3B3B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; }; 004BF8BF0139265B0A384671 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; }; 00A0857D39F6F898F2951AB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -64,6 +65,7 @@ 12C01E7ECAD6EBD170002969 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; 12FC1C5E956BFD6A0032FA12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableObjectResizer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp"; sourceTree = "SOURCE_ROOT"; }; 13264B0D46B7A04ED8AD3A0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; }; + 135B3CAD8DF1F1EF3EFD73E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; 13DA741368E8E045C23B0386 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Font.h"; path = "../../../../modules/juce_graphics/fonts/juce_Font.h"; sourceTree = "SOURCE_ROOT"; }; 13F687566D3E463971D50CD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; }; 1475D57AE9E4A8D6342AA1A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; }; @@ -109,10 +111,8 @@ 22D1A5FF83D9FE487EB17AA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; 22DA3B310056F9288264BDF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; 22FB6CDBF9536FCACFFC702A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; - 231A1BAE4463A07BA69EA3FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_osc.cpp"; path = "../../../../modules/juce_osc/juce_osc.cpp"; sourceTree = "SOURCE_ROOT"; }; 241B1014F4230EF7A0E93C49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 246973030604D072397B76B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 263BFB38AA9FAAC750C7EA0A = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_events/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 2665E67F421892FA58ED6204 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; }; 266DABCCAC8727B7289E1709 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; 267C22AEA7BEAE2C6FBFDB48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -125,8 +125,8 @@ 2B4A57C484A8251250F4C3AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; 2B7B1E8E3E11EB39BC797413 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; }; 2BEFFC241B646BD70E3B5ABE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; }; - 2C48D8AB740EC67F50362309 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; 2C506A2FB3878C94AE27D6CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2CD2159773ACCE5CAAABDDB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 2CE73880E4F4117B106C06AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; 2CE74FAB118D8C0227C876AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OSCBundle.h"; path = "../../../../modules/juce_osc/osc/juce_OSCBundle.h"; sourceTree = "SOURCE_ROOT"; }; 2D1AF9A4988EDFDCFABA2AF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; }; @@ -141,6 +141,7 @@ 316185ED9E49F306C772F057 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; }; 31CFD63C73DFC5B7309058F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 3265394635B1C027552EBC97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3435DC389125F7A59BE3A085 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; 3472D7D8A4E7C337CA7AD81C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; 34B5E2EFD4A34CEAAE67C8D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCTypes.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCTypes.cpp"; sourceTree = "SOURCE_ROOT"; }; 34BD55EE695F248239C046C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -149,7 +150,6 @@ 35C07BF1273F1F1611E65BE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; }; 3638A335D7D1C48855C20D90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; }; 36ED189DB8E8EC117710B993 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 36F5932B212DC45F306782B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 371D30FA280FD0CD39132955 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; }; 371E1AB8ED884447E9C3948F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; }; 374EE591A155C88E0D731A45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -189,6 +189,7 @@ 482FD6D43CB94752B1DD0243 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; }; 48FC2233096E11940A6D930D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; 4AC2FDF0FB5E0BF4011335BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4ACBB6CAFC90015EE05E3B5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_osc.cpp"; path = "../../JuceLibraryCode/juce_osc.cpp"; sourceTree = "SOURCE_ROOT"; }; 4AE3787EBA02DE0DFEFF32F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; }; 4AFFB00C50E5188C6173F81A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; 4B0EEF94059BD4AC991F3246 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -203,7 +204,6 @@ 4F8B25661F28FBC413BD9B26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; 4FAFB96AEBAE28375DACB61E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; }; 4FEABCAED113F77993CDBCDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; }; - 504EAAECE90FD59545F4CEEE = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 50EEC53303203398324F2ADE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; }; 51ED9BC4B23811D5F8E5A308 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; 521F9C77E72B674D61010C1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; }; @@ -329,7 +329,6 @@ 8945994512C9A329EF5C2F8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; }; 89B20AD32703AF1A4A7789D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; }; 89B5ED0A2F8E1F3DC8B1FFFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; }; - 8A070D8C83690074AC5FF3B5 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = "SOURCE_ROOT"; }; 8A0E7639BA2EC2B118F0820D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; }; 8A129151479A5AAD2BD39091 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; 8A5080FEECD8BD2FDA32C65D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -338,7 +337,6 @@ 8AF7EBF16C1AADA1E9A29866 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 8BC822C23CC0A74A0297DCF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; }; 8BCB7EB19A1E561980251BBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; }; - 8C3DF2E0C907479C3DA1FD32 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_osc/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 8D8AB59A85C4C44B70984E44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableEdgeComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h"; sourceTree = "SOURCE_ROOT"; }; 8DDEF1513C451116AA0E965A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; }; 8F057B95D3C4F9BF8DE76453 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -389,6 +387,7 @@ A0D18D61E3687135112B48C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; }; A1904550CAE440F85C89AAF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MarkerList.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h"; sourceTree = "SOURCE_ROOT"; }; A21F474AEBDCBA4B8FC3ECAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; + A3453A7F3CAB5625EE190588 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../JuceLibraryCode/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; A45E7289771DAFB321797B4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; A4D808F48A57E5401EE2E28D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; A4D855D1ADAAFB1BE7DA16FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; }; @@ -422,7 +421,6 @@ ACCE1BA4E775D7838E4AAB3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; }; AD15BCA918CB97B82F057CE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; AD3F47F068C0A25B5D4328EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; - B12DDE5BF035D875DFF3618F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; B1A9CE337A68096FE89B7EFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; }; B1C65AD0886DF44A61D70939 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; }; B1E516520B36FD7CA932BFE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -445,7 +443,6 @@ B74C683A165E21901633D393 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; }; B80E5F5FF2C25D743460A055 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarComponent.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h"; sourceTree = "SOURCE_ROOT"; }; B81742C3FCA681925AAA3427 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; }; - B88E3863BBF92D6B99FAF80D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; B8C8B0B970A303B26BC67C25 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; BA07C21FD4F38B2264BCE715 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; BA4DE2B0C739A63E6D4D20D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -532,7 +529,6 @@ D85E5DDBCC12253BEE6B368D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; D8E4E84B18C9763EA6691DA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; }; D9453DCB804821349686056F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; }; - D94EF76F396180083C2C59BE = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_core/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; D9E235F13969D41DE2334965 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; }; DA20E6CAE3C953C102507753 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; }; DA57BC0681DDCA88FE5F312E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; @@ -555,16 +551,17 @@ E1CF9A4ADE4123124FED0E9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; }; E20AA19ADC95465F8387780E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; }; E2F186EFF4E392744FC0848E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; + E3586F7C2316AC6BD9CA1293 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-App.plist"; path = "Info-App.plist"; sourceTree = "SOURCE_ROOT"; }; E380F437948E68251B4DA178 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; }; E46D31A094F9A6F1D162D707 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; E4E21650A774C8418AFC33B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; }; E50254E2B991FBAF9771185C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; E65281690EA762F5FAE84653 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; }; E68F882E1376628DE35F57FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; + E6F7F38EEF1BA55231F5B1D4 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = OSCSender.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; E74939618FF51AB431812853 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; E76AE46151CB7187848DA9AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; }; E76B7CFCC39F3907C1874D4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; - E815543B6E2665185D07433D = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_data_structures/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; E82ECF1FE6E0D6DBF63A33D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; }; E864E951F29D6C9E719ECDD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; E9EBD4257BAC6B3DD377F64B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; }; @@ -591,6 +588,7 @@ EFE0A6D09D69C4210D26BCBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; }; F0157423E0EEE18AC73ACA3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Base64.h"; path = "../../../../modules/juce_core/text/juce_Base64.h"; sourceTree = "SOURCE_ROOT"; }; F041FD178F6C8187DDBB046D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; }; + F09F75B04E23E4727374C42E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; F0A3B21A5E0FB04F59010235 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; }; F0CC8A577FF723874C9F2B91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; }; F0D1D03EDDB9B4E4CCCE8079 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; @@ -605,6 +603,7 @@ F4B01D8535627B2E60E7C174 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCTimeTag.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCTimeTag.cpp"; sourceTree = "SOURCE_ROOT"; }; F4B7A5AD3F4AEE12E5AC51D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; }; F509A91694B01BC57C7A2D6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; }; + F52EAC03D98BBFC53C143CF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTreeSynchroniser.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"; sourceTree = "SOURCE_ROOT"; }; F67426274F90FFFDD017BC05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; }; F711CF6B7B5C28A6A0FA8418 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; F7123F50EA511941DE626E79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -612,8 +611,6 @@ F8306341C38FC9F71F9C289C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; }; F8360E50FF29AE25E6D10C60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; }; F8410F1BD7BF4C092080F229 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; - E7A37D21EA1E79DA2B8682C5 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = OSCSender.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; - F52EAC03D98BBFC53C143CF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTreeSynchroniser.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"; sourceTree = "SOURCE_ROOT"; }; F8A7322DFB3FDDCFE4504FD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; }; F8F208696192F671B5C5E25F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; F917AC1B20761A5CBA104955 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsRegistry.h"; path = "../../../../modules/juce_core/misc/juce_WindowsRegistry.h"; sourceTree = "SOURCE_ROOT"; }; @@ -634,12 +631,10 @@ FCB1ADA208906DCFD9553E86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; }; FCD57A996940414954D3A16C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; }; FCF9D7260822F0D1C530063F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Slider.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp"; sourceTree = "SOURCE_ROOT"; }; - FD58AC0D48956C5E5EE22300 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_graphics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; FD8944C5B057E4029E64E701 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; FDF5FA2CDA01F5017075EC53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp"; sourceTree = "SOURCE_ROOT"; }; FE32C6D41D1624EDF3A1B25D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; FE52AE3A7D89784CC2108049 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; - FE9E614EEFF0DB6698FFB50A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; FF0A25C484FF14D68A7FA84C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; }; FF18535FBFBE8BDD88D6E7BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; FF834F94FFF3F513D8380C99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; }; @@ -648,58 +643,7 @@ ED4E215F7CA65E0BD389D502, ); name = Source; sourceTree = ""; }; AF6DBEE9D9113EFB7464CADD = {isa = PBXGroup; children = ( 8CCFF6D3806EBC5EABB75DC3, ); name = OSCSender; sourceTree = ""; }; - 5266C3C7C760374BBAD548B3 = {isa = PBXGroup; children = ( - 6C8482B28590113DC3D093DF, - F0157423E0EEE18AC73ACA3E, - 075E8F5B0CE507EA241E7820, - AAE256E4F057457CEDD27A90, - 482FD6D43CB94752B1DD0243, - 00183F1253D862D398F3B3B7, - A0D18D61E3687135112B48C2, - 1BA1941BE9831878420374C8, - D800E473B1A6BF368C967B8C, - 68C660B543CCF8E23F4FCFAA, - C37E01CD441BB57B0BD6C2D8, - 2D1AF9A4988EDFDCFABA2AF8, - EBDD2C57D46E0E4207AD32E3, - 79F23F85772E0B3B028B7DA4, - C68BD7F904FB1079B6924931, - 7358A3673D7E85B6E2BD42BE, - 028A331429FB24687E6F4178, - 316185ED9E49F306C772F057, - B4C9EE22A48A894A442FDEF5, - 87A59A16FFB7F76FE61F21F2, - 71FA38AF9B9190BCBB0DF9CB, - 89B5ED0A2F8E1F3DC8B1FFFB, - 300B798AE6D1456AF71725F3, - 8945994512C9A329EF5C2F8D, ); name = text; sourceTree = ""; }; - 44D717CFBACAB1B4708480BC = {isa = PBXGroup; children = ( - 6C536C513F6B5AEEE5647FC1, - 946EE5AB4425456B8DC0F534, - 22FB6CDBF9536FCACFFC702A, - 17DA11859066C1A6550541DC, - 45DE191D497670E66BB5252C, - 953B8119D4983047502355C3, - 0625FE8FB912E392F2710EAF, - 1CC3CC3615F549A3714403FB, - 7088CCB58F437B0DE9524E00, - 56171D5E50C275618ED8E595, ); name = maths; sourceTree = ""; }; - 3BB2F8CF52A119966C680F2C = {isa = PBXGroup; children = ( - 8754500BE079EAC8F32D6EDF, - 4AFFB00C50E5188C6173F81A, - F8306341C38FC9F71F9C289C, - 41D7BC4C569213AF26F18B0C, - 5998888018A6809EB12543AB, - DC146BC82E9DF5DE3387E5A0, - 3E0874E1F6F508F4848D483E, - 940FAD7463B2A21CAF68ABD8, - 9CF199A5DB26993BA4842ACF, - DA57BC0681DDCA88FE5F312E, - FC8C3B125B6526B9845DAD20, - 8A129151479A5AAD2BD39091, - 9373C6EA5BA89D5EBCFFAF6E, - 71CA0EBE5516DA53A6054514, ); name = memory; sourceTree = ""; }; - B5A1175E39DFF66C86750114 = {isa = PBXGroup; children = ( + BEDE6F55A1C124E30C407B45 = {isa = PBXGroup; children = ( A5D217BC9E2D0717B5FEC88D, ACA16BA92B5E2C735AF5F0AB, BFF09EF3282D581DA210F092, @@ -721,37 +665,7 @@ 37B3ADE4412D615A5F386B74, A9450EC319A9D37307AB7D7C, ED4420CC02B25ED88E45BCC8, ); name = containers; sourceTree = ""; }; - A57D0A9AD6F4BCEAC8BE2F7A = {isa = PBXGroup; children = ( - 029299521469F64490977419, - C322E79A7FBD6CD1A0F555C0, - F0D1D03EDDB9B4E4CCCE8079, - AA776E87EF55F5B39DB3E6E5, - FAF73612E3CEE8981A15E6DB, - 13F687566D3E463971D50CD2, - 6530C248DC2C3B048F34DDFE, - 45880C2CED1DE53F368D6DC7, - B6AEC740150DFD18D1C77566, - A7A838ACAE3CF1FD63FF6915, - 9D7A373ECD058548A106A2A1, - 2EC883766946EBDB683674AF, - FF18535FBFBE8BDD88D6E7BB, - 5A79DC94DC3EC18871CFF123, - D9453DCB804821349686056F, - 5579A809BAAEC707977D7515, - 7A0CB2B04ADE780AF3BF4219, - D7BBF74441A1D9233AC4941E, - 16D238D027A1F900F190A59A, - 8211C74FDAD1E9C986DA24FA, - 357A2DBCBE8F804D541C1DFB, - EEE692963F002CB11038A61D, ); name = threads; sourceTree = ""; }; - 0FE1613FE62D5B180B6807C9 = {isa = PBXGroup; children = ( - FF0A25C484FF14D68A7FA84C, - 4AE3787EBA02DE0DFEFF32F0, - 0DB62E76787DA030C07650DF, - A4D808F48A57E5401EE2E28D, - 5F1DCEEEC0AF0DAEFAE558C3, - 8DDEF1513C451116AA0E965A, ); name = time; sourceTree = ""; }; - C55558366533E30609E33554 = {isa = PBXGroup; children = ( + 1FF5F096E3AAF069A51ECEF1 = {isa = PBXGroup; children = ( E2F186EFF4E392744FC0848E, C2B211151D7D3B7B96DA01A1, C38135F3C6287FD3860C4527, @@ -769,66 +683,43 @@ F17D77A72E81AA8F8D6B3476, BA8CFC69F1C04974E93BE59C, A813CA7CC0D3D2724B95D8FE, ); name = files; sourceTree = ""; }; - F06C05002537FAF7F1D13770 = {isa = PBXGroup; children = ( - 5D14BB057C1DCC194D4110A4, - FAB7137B238411F408A7359F, - 3265394635B1C027552EBC97, - EA809B25ABEF15A77FD7F7F9, - 64A4085FAB8D536155D630CC, - 775586DF3FED31DE6FAF7A48, - CBCE2DE10CF82B5A463AEE00, - 6F11C39FA9C8E2F1DCD6CB53, - C3D367C0B3573411FE70D226, - 1EED7017C33745D0E23EFED7, ); name = network; sourceTree = ""; }; - 59B49F16B2CCDFD9149D3435 = {isa = PBXGroup; children = ( - 9F80A197F695CE97616BD1E2, - D53140323325368C36FF0980, - FD8944C5B057E4029E64E701, - C445C9169161BC685264BB15, - 0F173E9956EC7F3F26F55472, - E50254E2B991FBAF9771185C, - 52E0D954C8E8AFD254EAC05B, - 6B8EABF5A1B9555BF8E672F4, - 1D421BF3B85E99CD596765AE, - DF833FBE7FAB055403EBAE29, - 85C00E1440983A2F4F6A0430, - B343FF79A8B4ED9BA3C5AF58, - 76FA69159E195EC73C54C166, - F305B5B71B3B44364A70FB81, - D52CEEA36B26A91E1599CF90, ); name = streams; sourceTree = ""; }; - C0C2173267ABCBDD61C10A41 = {isa = PBXGroup; children = ( - C9D88946156002CE878BC4D2, - 52893977D68DFB4A91DCEF20, - 5786605F1BC2DCBC066F122D, - 21BF0CAF7A4F1263372A5C8B, ); name = logging; sourceTree = ""; }; - F06D7C2FFE79B1C5E77ABABF = {isa = PBXGroup; children = ( - 7804C945A084AFEE73DF0D42, - 11371D3819C11870351DF5D4, - A83D209F7375389768B82994, - 52EC460B51B671A78DA0B0D0, - D73AD91EB6FB85DD8C129E31, - EBA76494AF0634E852001C0E, ); name = system; sourceTree = ""; }; - 7976EE937AFBFC4A673985AD = {isa = PBXGroup; children = ( - 3E3FEDBFDE2D9B7BB5C78127, - 2DF80EDCBEC3706EEE3DF8BF, - EBD65185E6F4C735BA39DFDD, - F509A91694B01BC57C7A2D6C, ); name = xml; sourceTree = ""; }; - 50C1F008D33888DAECED2C54 = {isa = PBXGroup; children = ( + D5D71C875BECD6FAC904624D = {isa = PBXGroup; children = ( 4B13D66B82B420CD8B8C5AB7, E4E21650A774C8418AFC33B9, 11D53565B6B910B4C6D3B5D1, 0E3613C3AD773AB362CA45EC, ); name = javascript; sourceTree = ""; }; - E863DA674CF86507033B7199 = {isa = PBXGroup; children = ( - C5A813AEF580F0DD29CC9BE8, - CC91DE14E4ACC0D61C0FCC79, - 7F1D13704277EDA6CD435392, - 29953F0649A18831E891815C, - 844D65F83A1B7DA2E0CAB652, - 663607A2A052262E3F04EC1B, ); name = zip; sourceTree = ""; }; - AA05FE9A13A8F6A47C0B0203 = {isa = PBXGroup; children = ( - 5A58E4097153888A8A8C1CD9, - F041FD178F6C8187DDBB046D, ); name = "unit_tests"; sourceTree = ""; }; - 38B197F3796A41FFB20E61F6 = {isa = PBXGroup; children = ( + EFD22A6191673EA8F7945EB7 = {isa = PBXGroup; children = ( + C9D88946156002CE878BC4D2, + 52893977D68DFB4A91DCEF20, + 5786605F1BC2DCBC066F122D, + 21BF0CAF7A4F1263372A5C8B, ); name = logging; sourceTree = ""; }; + A36879835302A8C4F76A0E50 = {isa = PBXGroup; children = ( + 6C536C513F6B5AEEE5647FC1, + 946EE5AB4425456B8DC0F534, + 22FB6CDBF9536FCACFFC702A, + 17DA11859066C1A6550541DC, + 45DE191D497670E66BB5252C, + 953B8119D4983047502355C3, + 0625FE8FB912E392F2710EAF, + 1CC3CC3615F549A3714403FB, + 7088CCB58F437B0DE9524E00, + 56171D5E50C275618ED8E595, ); name = maths; sourceTree = ""; }; + E9A18CAE0D85DDC6DE0254AF = {isa = PBXGroup; children = ( + 8754500BE079EAC8F32D6EDF, + 4AFFB00C50E5188C6173F81A, + F8306341C38FC9F71F9C289C, + 41D7BC4C569213AF26F18B0C, + 5998888018A6809EB12543AB, + DC146BC82E9DF5DE3387E5A0, + 3E0874E1F6F508F4848D483E, + 940FAD7463B2A21CAF68ABD8, + 9CF199A5DB26993BA4842ACF, + DA57BC0681DDCA88FE5F312E, + FC8C3B125B6526B9845DAD20, + 8A129151479A5AAD2BD39091, + 9373C6EA5BA89D5EBCFFAF6E, + 71CA0EBE5516DA53A6054514, ); name = memory; sourceTree = ""; }; + 9F30BB4DBACC5212B06AA421 = {isa = PBXGroup; children = ( 35C07BF1273F1F1611E65BE0, ABACE0FD4603F0AC6DC24986, 88CEF894CF89C020C0969646, @@ -836,7 +727,7 @@ 73ECE098454A1E93F65F750C, 869E8C4D5C7C71BBD9D3DE13, F917AC1B20761A5CBA104955, ); name = misc; sourceTree = ""; }; - 3ABF5204E322FD3121ACF9A9 = {isa = PBXGroup; children = ( + 5D4335D65131D54BB64F563A = {isa = PBXGroup; children = ( 924B8AEE63D51A88C424236D, FA1E705CDB469910D9CD45DD, F0A3B21A5E0FB04F59010235, @@ -866,49 +757,167 @@ 1CEC669517AEFB9DA60654F3, E76B7CFCC39F3907C1874D4B, 68757349C662D48B6E8D95F0, ); name = native; sourceTree = ""; }; + D42AD465B5BC07DED88E7FEA = {isa = PBXGroup; children = ( + 5D14BB057C1DCC194D4110A4, + FAB7137B238411F408A7359F, + 3265394635B1C027552EBC97, + EA809B25ABEF15A77FD7F7F9, + 64A4085FAB8D536155D630CC, + 775586DF3FED31DE6FAF7A48, + CBCE2DE10CF82B5A463AEE00, + 6F11C39FA9C8E2F1DCD6CB53, + C3D367C0B3573411FE70D226, + 1EED7017C33745D0E23EFED7, ); name = network; sourceTree = ""; }; + CFE256AAF1301A94D3E3B1E2 = {isa = PBXGroup; children = ( + 9F80A197F695CE97616BD1E2, + D53140323325368C36FF0980, + FD8944C5B057E4029E64E701, + C445C9169161BC685264BB15, + 0F173E9956EC7F3F26F55472, + E50254E2B991FBAF9771185C, + 52E0D954C8E8AFD254EAC05B, + 6B8EABF5A1B9555BF8E672F4, + 1D421BF3B85E99CD596765AE, + DF833FBE7FAB055403EBAE29, + 85C00E1440983A2F4F6A0430, + B343FF79A8B4ED9BA3C5AF58, + 76FA69159E195EC73C54C166, + F305B5B71B3B44364A70FB81, + D52CEEA36B26A91E1599CF90, ); name = streams; sourceTree = ""; }; + F06D7C2FFE79B1C5E77ABABF = {isa = PBXGroup; children = ( + 7804C945A084AFEE73DF0D42, + 11371D3819C11870351DF5D4, + A83D209F7375389768B82994, + 52EC460B51B671A78DA0B0D0, + D73AD91EB6FB85DD8C129E31, + EBA76494AF0634E852001C0E, ); name = system; sourceTree = ""; }; + 4388AD06729036651D2438B3 = {isa = PBXGroup; children = ( + 6C8482B28590113DC3D093DF, + F0157423E0EEE18AC73ACA3E, + 075E8F5B0CE507EA241E7820, + AAE256E4F057457CEDD27A90, + 482FD6D43CB94752B1DD0243, + 00183F1253D862D398F3B3B7, + A0D18D61E3687135112B48C2, + 1BA1941BE9831878420374C8, + D800E473B1A6BF368C967B8C, + 68C660B543CCF8E23F4FCFAA, + C37E01CD441BB57B0BD6C2D8, + 2D1AF9A4988EDFDCFABA2AF8, + EBDD2C57D46E0E4207AD32E3, + 79F23F85772E0B3B028B7DA4, + C68BD7F904FB1079B6924931, + 7358A3673D7E85B6E2BD42BE, + 028A331429FB24687E6F4178, + 316185ED9E49F306C772F057, + B4C9EE22A48A894A442FDEF5, + 87A59A16FFB7F76FE61F21F2, + 71FA38AF9B9190BCBB0DF9CB, + 89B5ED0A2F8E1F3DC8B1FFFB, + 300B798AE6D1456AF71725F3, + 8945994512C9A329EF5C2F8D, ); name = text; sourceTree = ""; }; + 207ED5FADC2F8277687FA3E6 = {isa = PBXGroup; children = ( + 029299521469F64490977419, + C322E79A7FBD6CD1A0F555C0, + F0D1D03EDDB9B4E4CCCE8079, + AA776E87EF55F5B39DB3E6E5, + FAF73612E3CEE8981A15E6DB, + 13F687566D3E463971D50CD2, + 6530C248DC2C3B048F34DDFE, + 45880C2CED1DE53F368D6DC7, + B6AEC740150DFD18D1C77566, + A7A838ACAE3CF1FD63FF6915, + 9D7A373ECD058548A106A2A1, + 2EC883766946EBDB683674AF, + FF18535FBFBE8BDD88D6E7BB, + 5A79DC94DC3EC18871CFF123, + D9453DCB804821349686056F, + 5579A809BAAEC707977D7515, + 7A0CB2B04ADE780AF3BF4219, + D7BBF74441A1D9233AC4941E, + 16D238D027A1F900F190A59A, + 8211C74FDAD1E9C986DA24FA, + 357A2DBCBE8F804D541C1DFB, + EEE692963F002CB11038A61D, ); name = threads; sourceTree = ""; }; + 6C5F573396B72493F93019ED = {isa = PBXGroup; children = ( + FF0A25C484FF14D68A7FA84C, + 4AE3787EBA02DE0DFEFF32F0, + 0DB62E76787DA030C07650DF, + A4D808F48A57E5401EE2E28D, + 5F1DCEEEC0AF0DAEFAE558C3, + 8DDEF1513C451116AA0E965A, ); name = time; sourceTree = ""; }; + AA05FE9A13A8F6A47C0B0203 = {isa = PBXGroup; children = ( + 5A58E4097153888A8A8C1CD9, + F041FD178F6C8187DDBB046D, ); name = "unit_tests"; sourceTree = ""; }; + AE9352469128E5E34EBA24FE = {isa = PBXGroup; children = ( + 3E3FEDBFDE2D9B7BB5C78127, + 2DF80EDCBEC3706EEE3DF8BF, + EBD65185E6F4C735BA39DFDD, + F509A91694B01BC57C7A2D6C, ); name = xml; sourceTree = ""; }; + 59B3061979EA06672063E6BA = {isa = PBXGroup; children = ( + C5A813AEF580F0DD29CC9BE8, + CC91DE14E4ACC0D61C0FCC79, + 7F1D13704277EDA6CD435392, + 29953F0649A18831E891815C, + 844D65F83A1B7DA2E0CAB652, + 663607A2A052262E3F04EC1B, ); name = zip; sourceTree = ""; }; 3E082BBABDA4AFA223BBE04B = {isa = PBXGroup; children = ( - 5266C3C7C760374BBAD548B3, - 44D717CFBACAB1B4708480BC, - 3BB2F8CF52A119966C680F2C, - B5A1175E39DFF66C86750114, - A57D0A9AD6F4BCEAC8BE2F7A, - 0FE1613FE62D5B180B6807C9, - C55558366533E30609E33554, - F06C05002537FAF7F1D13770, - 59B49F16B2CCDFD9149D3435, - C0C2173267ABCBDD61C10A41, + BEDE6F55A1C124E30C407B45, + 1FF5F096E3AAF069A51ECEF1, + D5D71C875BECD6FAC904624D, + EFD22A6191673EA8F7945EB7, + A36879835302A8C4F76A0E50, + E9A18CAE0D85DDC6DE0254AF, + 9F30BB4DBACC5212B06AA421, + 5D4335D65131D54BB64F563A, + D42AD465B5BC07DED88E7FEA, + CFE256AAF1301A94D3E3B1E2, F06D7C2FFE79B1C5E77ABABF, - 7976EE937AFBFC4A673985AD, - 50C1F008D33888DAECED2C54, - E863DA674CF86507033B7199, + 4388AD06729036651D2438B3, + 207ED5FADC2F8277687FA3E6, + 6C5F573396B72493F93019ED, AA05FE9A13A8F6A47C0B0203, - 38B197F3796A41FFB20E61F6, - 3ABF5204E322FD3121ACF9A9, - D94EF76F396180083C2C59BE, + AE9352469128E5E34EBA24FE, + 59B3061979EA06672063E6BA, 01C827740BEFED5D0C0568DA, ); name = "juce_core"; sourceTree = ""; }; - 01307D8B957801021225C358 = {isa = PBXGroup; children = ( + 08A834EE359B774D80BB5D13 = {isa = PBXGroup; children = ( + 357615E8CFB3033813CCBE7E, + DCFE0625D38D5F8F25767F83, + 7B8EBDFC8FC37BAF659298DB, + A509336C0CACBF48AE588564, ); name = "app_properties"; sourceTree = ""; }; + 7D609A3DACE30A47E7636733 = {isa = PBXGroup; children = ( + AD15BCA918CB97B82F057CE7, + EBFFEFCE6CB0E4D77E05D225, + 8457A426244850B181C5B86A, ); name = undomanager; sourceTree = ""; }; + 00EEEBB08AF562D9077C354E = {isa = PBXGroup; children = ( 18B5B1CFAFF39440F3429D12, EFE0A6D09D69C4210D26BCBB, 6D81EC26DD64274A3BB77D96, AC58FD5A424E46C552699C39, F52EAC03D98BBFC53C143CF4, 9E49961EF2D77807606E9AA9, ); name = values; sourceTree = ""; }; - 7D609A3DACE30A47E7636733 = {isa = PBXGroup; children = ( - AD15BCA918CB97B82F057CE7, - EBFFEFCE6CB0E4D77E05D225, - 8457A426244850B181C5B86A, ); name = undomanager; sourceTree = ""; }; - 29948B583E16D2C6EC417837 = {isa = PBXGroup; children = ( - 357615E8CFB3033813CCBE7E, - DCFE0625D38D5F8F25767F83, - 7B8EBDFC8FC37BAF659298DB, - A509336C0CACBF48AE588564, ); name = "app_properties"; sourceTree = ""; }; 2F86893F3AC21E2B007A790C = {isa = PBXGroup; children = ( - 01307D8B957801021225C358, + 08A834EE359B774D80BB5D13, 7D609A3DACE30A47E7636733, - 29948B583E16D2C6EC417837, - E815543B6E2665185D07433D, + 00EEEBB08AF562D9077C354E, 51ED9BC4B23811D5F8E5A308, ); name = "juce_data_structures"; sourceTree = ""; }; - 9A9BC239C9C3588A2C48AB1C = {isa = PBXGroup; children = ( + F721F32B0C19CD313B4DEACF = {isa = PBXGroup; children = ( + 22DA3B310056F9288264BDF6, + E9F857BCDFD748ED45340B08, + 0E090204426B67CAF8B93481, + A21F474AEBDCBA4B8FC3ECAF, + 1C13BEC629F1DD9B093CC885, + D7D15CBB82F1C93719CCA56B, + 2B4A57C484A8251250F4C3AA, + 3A649F8B1FFCA953E354BDE3, ); name = broadcasters; sourceTree = ""; }; + EBED1183ABD5F29D85BC9ED7 = {isa = PBXGroup; children = ( + 162B88C97B3B2FE6FF0506D5, + 18373E02365D98A26CDA435B, + 7E6E6D14D6F86626B1F85469, + 5EAE8337D70E2F0C8388CD5B, + F8A7322DFB3FDDCFE4504FD8, + FCB1ADA208906DCFD9553E86, ); name = interprocess; sourceTree = ""; }; + B5AC9538911996F20DE7E79F = {isa = PBXGroup; children = ( 7B79F66C174BAC99CD5FA90A, 7DF41CF3989F4AAEE3ED5020, 1F983F682C7C39739FF66DFD, @@ -922,28 +931,7 @@ 031466AAD3240E4468588275, 8A8EB41D7E88B03839083874, 0C77794DF4B68DB97D174834, ); name = messages; sourceTree = ""; }; - 4F28D3E6CE3FF17A11481867 = {isa = PBXGroup; children = ( - 2CE73880E4F4117B106C06AD, - 1D2D5DCA104967DEDCE2E900, - 6431731E6FF1D9E30B3F0105, - 9B4D73256D25275FB309DAAF, ); name = timers; sourceTree = ""; }; - A607A5A3F534D69E87B47F85 = {isa = PBXGroup; children = ( - 22DA3B310056F9288264BDF6, - E9F857BCDFD748ED45340B08, - 0E090204426B67CAF8B93481, - A21F474AEBDCBA4B8FC3ECAF, - 1C13BEC629F1DD9B093CC885, - D7D15CBB82F1C93719CCA56B, - 2B4A57C484A8251250F4C3AA, - 3A649F8B1FFCA953E354BDE3, ); name = broadcasters; sourceTree = ""; }; - EA5B9AE51700241A6AAB1503 = {isa = PBXGroup; children = ( - 162B88C97B3B2FE6FF0506D5, - 18373E02365D98A26CDA435B, - 7E6E6D14D6F86626B1F85469, - 5EAE8337D70E2F0C8388CD5B, - F8A7322DFB3FDDCFE4504FD8, - FCB1ADA208906DCFD9553E86, ); name = interprocess; sourceTree = ""; }; - 6209BB20FCC498F6FC3630D2 = {isa = PBXGroup; children = ( + 6E201B46B591A1D476DA82B3 = {isa = PBXGroup; children = ( 8A5080FEECD8BD2FDA32C65D, 3BF906798B72C53AA17C42E5, 6EBC7A20DAF0299082F3C48D, @@ -952,13 +940,17 @@ C1F93E08ECF4BD864AAF914B, F8360E50FF29AE25E6D10C60, A029C65BC0ABFF7181A63158, ); name = native; sourceTree = ""; }; + FB6905B73B959471383FA35C = {isa = PBXGroup; children = ( + 2CE73880E4F4117B106C06AD, + 1D2D5DCA104967DEDCE2E900, + 6431731E6FF1D9E30B3F0105, + 9B4D73256D25275FB309DAAF, ); name = timers; sourceTree = ""; }; 30F00850FB3DAE66AD9DC7C6 = {isa = PBXGroup; children = ( - 9A9BC239C9C3588A2C48AB1C, - 4F28D3E6CE3FF17A11481867, - A607A5A3F534D69E87B47F85, - EA5B9AE51700241A6AAB1503, - 6209BB20FCC498F6FC3630D2, - 263BFB38AA9FAAC750C7EA0A, + F721F32B0C19CD313B4DEACF, + EBED1183ABD5F29D85BC9ED7, + B5AC9538911996F20DE7E79F, + 6E201B46B591A1D476DA82B3, + FB6905B73B959471383FA35C, FCD57A996940414954D3A16C, ); name = "juce_events"; sourceTree = ""; }; 1740BE8D8C5C7BBAA2120711 = {isa = PBXGroup; children = ( 4B6F14663424B4075D37D75A, @@ -978,19 +970,25 @@ 284CCCC60E6FFE144D03053B, C078149F5EC57FB18E899494, A5126591F282448150C0A30A, ); name = contexts; sourceTree = ""; }; - 13DF8011E9D1DEE60F9E9970 = {isa = PBXGroup; children = ( - 0DC03E9375671E457891A729, - FBA3D65086497BDD3F684CA9, - 7F2303D10B03C641C7F70296, - 7C33F1B4BF7CBFE66731D34C, - 6FD5D94B5C936F45C3223D71, - D294EA753ECFF016927BA7A2, - 666A2459C2BD2C5048749A3F, - D4463A8D4C9C7BBBECDBBF54, ); name = images; sourceTree = ""; }; - 02C6B4ABA7C452EC2AA2511D = {isa = PBXGroup; children = ( - 5306E2E1E4D3EDB584CB9957, - BA07C21FD4F38B2264BCE715, - 3C6266E06512926AA719ED6C, ); name = "image_formats"; sourceTree = ""; }; + A71A056E8FFCD1B34A7D539A = {isa = PBXGroup; children = ( + 267C22AEA7BEAE2C6FBFDB48, + 50EEC53303203398324F2ADE, + 8599EDB720D284DF684DDD57, + 45896F16C409721A1988D036, + D1ED8C510F4DB36BB68FC2E7, ); name = effects; sourceTree = ""; }; + 5DC923EAE25164D3FC77695C = {isa = PBXGroup; children = ( + 1D7FAD7035F31C49C233D74E, + 431D37DEF42489D3D2BAA92C, + A979A96E5616479B39218B2E, + 0DA97F6DF97050683F834CA4, + D3FFEFC1B56E0CBEB3385B20, + 13DA741368E8E045C23B0386, + D35BB13A98176E269CE615FD, + 869B84A46023D33AFDC0D1A2, + DBDD822F9E2E1D6C876E5A0A, + E68F882E1376628DE35F57FE, + 935007CA595A6A01AAD4CA08, + D85E5DDBCC12253BEE6B368D, ); name = fonts; sourceTree = ""; }; 7E9202D43BB01B54DE6C7CF9 = {isa = PBXGroup; children = ( 1B3AD48503A5E6E50A632BFA, 3BE904F9AEA4B987BA08C4BF, @@ -1007,30 +1005,20 @@ E1A752C30F9E9CBF6AB409C7, EE1E34B8A9F658BB0E57CB44, 105993ED238D528CD399FF92, ); name = geometry; sourceTree = ""; }; - D3836109FDDFDD715F2BAB8B = {isa = PBXGroup; children = ( - E1CF9A4ADE4123124FED0E9D, - 2F77D1AAC55792234A1A12CC, - DEACC6D7655717F30F59FB06, ); name = placement; sourceTree = ""; }; - 5240A27651F9E34F2992D4BE = {isa = PBXGroup; children = ( - 1D7FAD7035F31C49C233D74E, - 431D37DEF42489D3D2BAA92C, - A979A96E5616479B39218B2E, - 0DA97F6DF97050683F834CA4, - D3FFEFC1B56E0CBEB3385B20, - 13DA741368E8E045C23B0386, - D35BB13A98176E269CE615FD, - 869B84A46023D33AFDC0D1A2, - DBDD822F9E2E1D6C876E5A0A, - E68F882E1376628DE35F57FE, - 935007CA595A6A01AAD4CA08, - D85E5DDBCC12253BEE6B368D, ); name = fonts; sourceTree = ""; }; - 9F6522EE613666A811E66B03 = {isa = PBXGroup; children = ( - 267C22AEA7BEAE2C6FBFDB48, - 50EEC53303203398324F2ADE, - 8599EDB720D284DF684DDD57, - 45896F16C409721A1988D036, - D1ED8C510F4DB36BB68FC2E7, ); name = effects; sourceTree = ""; }; - 43ACB9A5DA7F4D3314F835BC = {isa = PBXGroup; children = ( + B1C6D2D409ED7B8235D2F290 = {isa = PBXGroup; children = ( + 5306E2E1E4D3EDB584CB9957, + BA07C21FD4F38B2264BCE715, + 3C6266E06512926AA719ED6C, ); name = "image_formats"; sourceTree = ""; }; + 56B04E14A7CEE3E219181797 = {isa = PBXGroup; children = ( + 0DC03E9375671E457891A729, + FBA3D65086497BDD3F684CA9, + 7F2303D10B03C641C7F70296, + 7C33F1B4BF7CBFE66731D34C, + 6FD5D94B5C936F45C3223D71, + D294EA753ECFF016927BA7A2, + 666A2459C2BD2C5048749A3F, + D4463A8D4C9C7BBBECDBBF54, ); name = images; sourceTree = ""; }; + F8837EFDEF6E35AAE82FDB33 = {isa = PBXGroup; children = ( 266DABCCAC8727B7289E1709, A5A702D48E339F30DBAA70F3, 4F8B25661F28FBC413BD9B26, @@ -1044,19 +1032,54 @@ BA4DE2B0C739A63E6D4D20D8, FE52AE3A7D89784CC2108049, 2C506A2FB3878C94AE27D6CB, ); name = native; sourceTree = ""; }; + 0CBD2BCD5BAC1A2674929488 = {isa = PBXGroup; children = ( + E1CF9A4ADE4123124FED0E9D, + 2F77D1AAC55792234A1A12CC, + DEACC6D7655717F30F59FB06, ); name = placement; sourceTree = ""; }; CB4F8BAD557D46ED28907420 = {isa = PBXGroup; children = ( 1740BE8D8C5C7BBAA2120711, 5FFE6515D67F14A30EC82B03, - 13DF8011E9D1DEE60F9E9970, - 02C6B4ABA7C452EC2AA2511D, + A71A056E8FFCD1B34A7D539A, + 5DC923EAE25164D3FC77695C, 7E9202D43BB01B54DE6C7CF9, - D3836109FDDFDD715F2BAB8B, - 5240A27651F9E34F2992D4BE, - 9F6522EE613666A811E66B03, - 43ACB9A5DA7F4D3314F835BC, - FD58AC0D48956C5E5EE22300, + B1C6D2D409ED7B8235D2F290, + 56B04E14A7CEE3E219181797, + F8837EFDEF6E35AAE82FDB33, + 0CBD2BCD5BAC1A2674929488, 9E8E1B569EDFEF8F08B0165A, ); name = "juce_graphics"; sourceTree = ""; }; - 10E3EA03E37910A38A810D1B = {isa = PBXGroup; children = ( + 11C5A204C9FCEF877DCBD98B = {isa = PBXGroup; children = ( + 61EEC07DDEAA85061C5D86C9, + F8F208696192F671B5C5E25F, ); name = application; sourceTree = ""; }; + 2B27B67EF766DFFE63189A65 = {isa = PBXGroup; children = ( + 062E93756C4C2047BFFE2DB8, + 0A57964A96FEA9A9FB66B41C, + 8907D739246B0F33CAB468DF, + 3638A335D7D1C48855C20D90, + 17BFF0DFD2596C177802B80E, + AD3F47F068C0A25B5D4328EE, + A546CD3EF21D18732319AC05, + 088320650994388DB9A6F9C1, + 72BD2080835C585D96780DBE, + 766243F2E499522B0BCF90D7, + 3A7CAA9C93698244C9DB8256, + C48C63AAD19E578DFF4F1178, + FDF5FA2CDA01F5017075EC53, + EED951C77E3A15B9C60BF3D4, + 431E90D8119368A51F45F9F7, + D9E235F13969D41DE2334965, + F3B12C442C73A5CD0642C9D3, + 0577DF2A977E1812176767A6, ); name = buttons; sourceTree = ""; }; + AC619C340A422FED6E1D2B8E = {isa = PBXGroup; children = ( + FC62184F4FC5E35781238309, + 4B11E3C6B1D6F06038F8E5A9, + D79D027C940D63921A6A4652, + D11A190329FB2207215105C5, + 8BC822C23CC0A74A0297DCF4, + B24CA0F38F848CB0C859BC05, + 48FC2233096E11940A6D930D, + 2F405AF1917FCFC23D0B64E3, + 6C72CD267B04F64DA9B3CA96, ); name = commands; sourceTree = ""; }; + F3E4C4950B56BCDD97FA9CE3 = {isa = PBXGroup; children = ( BB8C54D34EF4FC862F2A91C8, C408339286C0EDCE7DE32E85, 7020143E6EF838A9745860A2, @@ -1066,28 +1089,46 @@ C794AB7DC16EA991F2E27273, 741AE4CDEAAA1AB1657A4A53, 60E7CE9882A1AA233E6A76AD, ); name = components; sourceTree = ""; }; - 91037A1ED93D2F0BD1F06865 = {isa = PBXGroup; children = ( - A54ACE760625D295ECEA6184, - 7A837CCEB790F6D08687BD1C, - 36ED189DB8E8EC117710B993, - A6FDE2242C78B3C04ECEC3B1, - DBE81F5EBB60AB5BE68ACF2F, - 95F93BD8F14A45FD7A5209FD, - 004BF8BF0139265B0A384671, - BF728F1A80664B788402B94B, - 67C284A0D80710E1E2AC0C0F, - 1AF4E278AD09B6A367CC4057, - 28E913EFE1CEB57ED8935740, - 4AC2FDF0FB5E0BF4011335BF, - C42155548358E30AD7DE4E25, - 39C178FC908B0BBFF4D18D3B, - 95CC7A0F377F28D182DFC100, - B48FEF193584C4735B8DAEA5, - 3968F31E4D3A8FD1F060E073, - 521F9C77E72B674D61010C1F, - E084AFE8575D1EED6EC41BC6, - 43FB864DB11F4A6D182EECBD, ); name = mouse; sourceTree = ""; }; - 135E3B61C4578FF5DC481256 = {isa = PBXGroup; children = ( + E34AF63BEB92648DEB162E95 = {isa = PBXGroup; children = ( + F80B6F65E57D2AB96730C877, + 57CDB5AFD561349F179D658D, + DBC8C5695E5DF33DA755D47E, + A8FD638BD93E8B4332CC8F7F, + 9C9B05F2934F0EA6E998D125, + ACCE1BA4E775D7838E4AAB3F, + D5724FDB5A378C2F07D22B19, + E380F437948E68251B4DA178, + 6E461813B7DC6631B7FCCB58, + 6AF8CC00C9B0A71AFA20F408, + 1CDCE8137C9253926AF5BC1A, + 0FF5B7A3E7ACE2C0C4F4941F, + 34BD55EE695F248239C046C6, + 7ACB4BC6D063A4BF3EDA90FC, + 9B561B5E684B00FE1BA27C13, ); name = drawables; sourceTree = ""; }; + 85BA0E64E342BC883C3AE865 = {isa = PBXGroup; children = ( + CF089C2F19939657FF77F446, + 960F94AF0EF3028E024367D0, + DA20E6CAE3C953C102507753, + B437041269FE1ABCACE8FC67, + E46D31A094F9A6F1D162D707, + A5994B699F6FFC9522420A4A, + EDFA816F0A1B807DDC469251, + 16B08F86012631AE74FCF89B, + F38DD3C9585C616FCA538086, + 31CFD63C73DFC5B7309058F4, + D1C3D8A699E3410F7693E9F5, + C80154A9702E9F4140FD8573, + 246973030604D072397B76B9, + 055B7DA1F77CE5309B99A1E0, + 95A08C5E4371DC78ED40584A, + C9FF6E12A8FD051CF6193B24, + 90A2E9747EF5DEBFC946B1ED, + 1992D0DCDF02285A00ED5E7C, + 6FED5F95A8440CECE2040510, + 4BCB6AF53C2A972E4AC20EFA, + B66ECE8537A65C2AE20F3200, + F19A4B985C96C873FCC33389, ); name = filebrowser; sourceTree = ""; }; + 8F577ADFA344AFFFF1517D88 = {isa = PBXGroup; children = ( FBE4BC80A9BD7723C4BAFD57, E65281690EA762F5FAE84653, BA81B30FD657CCE058ACC8AB, @@ -1101,62 +1142,7 @@ 4FEABCAED113F77993CDBCDD, 86C81C569A8BC04DF417D5CE, 9342F0B8C5CB9A17945F4FA7, ); name = keyboard; sourceTree = ""; }; - E67D2CB84EDFC3688F0475B9 = {isa = PBXGroup; children = ( - 126A516090327A3B6C9EFCE8, - D5CA92B53DCF1BBA6C85D831, - EFDF703433E79FFE732D3BEB, - 468BF60A1A0E9550C34419E0, - 9057E39B7C935E0C4267F1D0, - D4221133594B3BD87CEF7231, - AA08ACAB3B8317DB35F9F209, - BC2496AD58936DD70AF96330, - 371E1AB8ED884447E9C3948F, - 3BD8A2292E1D6E597620DB27, - FCF9D7260822F0D1C530063F, - B81742C3FCA681925AAA3427, - A45E7289771DAFB321797B4D, - 9876963CD42E5F7628B342F5, - AAAA831490496F47D3807C0E, - 10F537FABCC653D1C8F05FF5, - 4BEFC693D321BA224832D997, - 4FAFB96AEBAE28375DACB61E, - 268224AA60D1E6AEC9A63E1C, - AAD5211C8E9EC185BF2E0513, - 022A85562D9308EC164A2692, - 9C5ED7962D76591FDB35BFD8, - 80017BB0FC9B98D83678AC3D, - AB95FBA10A6D6932024DF891, - 930C79B931A277C606BBD276, - 158F4537318DB4C7AD372039, - 0ABFC69420764D47876F90C8, ); name = widgets; sourceTree = ""; }; - 4D1D7E8AB3DB4A1377ABEBB8 = {isa = PBXGroup; children = ( - 90B9485F81E7AC1AA1D23A84, - EAD6B3AC8B0C4F020B0901AF, - CD0ED8112E5882C2A43D822F, - 044052990FE21E86105CDC27, - 1DDFBB0F225E4F95F635052C, - 19B351DB5C10487CCB2E11BD, - 90ED005B741F592CC5036F09, - 9070498C10B88FB07312D2F6, - 9E1A96973540D99215064233, - 572DD86F800699B320C50718, - 2BEFFC241B646BD70E3B5ABE, - 290841815EF10FEB2685BDF5, - 5D8BFB8CBCF7DA74A375D6A7, - D535F0D6E9FF45E90928E160, - 8A0E7639BA2EC2B118F0820D, - 8773F84FA14F288D8ABAADFD, - 92293355657B4BB04FF54ABD, - F711CF6B7B5C28A6A0FA8418, - 791FF25A18905D86E00AD36F, ); name = windows; sourceTree = ""; }; - 2CAF98938D6A7EAD052E54ED = {isa = PBXGroup; children = ( - 5F1E8479743F4F07A15194B7, - B80E5F5FF2C25D743460A055, - DF7BD21111CBD2184C999702, - 0DA79E1F9EBBF20B153CE1B5, - EFD71855BBB95E5D466D1857, - B74C683A165E21901633D393, ); name = menus; sourceTree = ""; }; - 6E27FBA98ED53988BAE5BC54 = {isa = PBXGroup; children = ( + FAB56EEFBB9546E14858B09B = {isa = PBXGroup; children = ( 5B16B30659106EA13D373E5A, BFFCE59B4D94538113E12C1E, F67426274F90FFFDD017BC05, @@ -1193,72 +1179,7 @@ BC779F0EF23E0FD73F142602, C107196A74FA34A35EBFD8BC, F4B7A5AD3F4AEE12E5AC51D1, ); name = layout; sourceTree = ""; }; - 7DD23487730E6DE6786F8F71 = {isa = PBXGroup; children = ( - 062E93756C4C2047BFFE2DB8, - 0A57964A96FEA9A9FB66B41C, - 8907D739246B0F33CAB468DF, - 3638A335D7D1C48855C20D90, - 17BFF0DFD2596C177802B80E, - AD3F47F068C0A25B5D4328EE, - A546CD3EF21D18732319AC05, - 088320650994388DB9A6F9C1, - 72BD2080835C585D96780DBE, - 766243F2E499522B0BCF90D7, - 3A7CAA9C93698244C9DB8256, - C48C63AAD19E578DFF4F1178, - FDF5FA2CDA01F5017075EC53, - EED951C77E3A15B9C60BF3D4, - 431E90D8119368A51F45F9F7, - D9E235F13969D41DE2334965, - F3B12C442C73A5CD0642C9D3, - 0577DF2A977E1812176767A6, ); name = buttons; sourceTree = ""; }; - 68D4EB740BD1F4D114C5473A = {isa = PBXGroup; children = ( - 936220D32E68A1F659E7E0E4, - A1904550CAE440F85C89AAF5, - 217C36243EA5DDFFA94B9F12, - D3D7C420E73EF5BCAD146AD8, - 79629645AD54B50428C710F0, - 4BDB4220849AF86BC1348E9E, - 6BAE2060DE5C2E78779A0470, - BA865C9C5F9A81A41ABC2AF4, - 0110BEC9ADF4DAB83E81DB7B, - 79FD6D91D317339650EBAE92, - F0CC8A577FF723874C9F2B91, - 2E58A12EE1FDB1796FA2962E, - 1084CA2EA8D003161FDB7824, - D15419DD90C0B320FBFE18A4, ); name = positioning; sourceTree = ""; }; - F4F95CE056A1E3BE5A23D7CD = {isa = PBXGroup; children = ( - F80B6F65E57D2AB96730C877, - 57CDB5AFD561349F179D658D, - DBC8C5695E5DF33DA755D47E, - A8FD638BD93E8B4332CC8F7F, - 9C9B05F2934F0EA6E998D125, - ACCE1BA4E775D7838E4AAB3F, - D5724FDB5A378C2F07D22B19, - E380F437948E68251B4DA178, - 6E461813B7DC6631B7FCCB58, - 6AF8CC00C9B0A71AFA20F408, - 1CDCE8137C9253926AF5BC1A, - 0FF5B7A3E7ACE2C0C4F4941F, - 34BD55EE695F248239C046C6, - 7ACB4BC6D063A4BF3EDA90FC, - 9B561B5E684B00FE1BA27C13, ); name = drawables; sourceTree = ""; }; - 973FA006A0E7FC2DD64D01D4 = {isa = PBXGroup; children = ( - 8AF7EBF16C1AADA1E9A29866, - 44D6F268BB9D222CF15E8152, - 5536E5B6A109E3A6A5279D0E, - 852ECAB7F74A33E19D3DE9DC, - 7ECF6918C01E45A2AE2A2D80, - 1B2CE985F2202FA1FA7A8416, - 374EE591A155C88E0D731A45, - 03266C50EF5A5A72232F1340, - 0998D7987146E954282FEB33, - 1BB767A8B8DCC526D621A37E, - 8F057B95D3C4F9BF8DE76453, - F41DF60BE07032C30DC4776E, - A5F9F0BFFD4FE587919899CF, - BD7E1441C110B2EB18580673, ); name = properties; sourceTree = ""; }; - CF0FB438B2F4CAF5C5EBD66B = {isa = PBXGroup; children = ( + AE9A65DF7EEE00C94FF045A5 = {isa = PBXGroup; children = ( 190A8701F6AED1C8F3E6ED94, 92FFD4D11ACFACDFE5232553, DC4BB656CA2804DA293E30BD, @@ -1267,48 +1188,40 @@ 807B25A0BCF04BFE911798EA, 4B3200BF90A9A56DA0BACDAA, 388DCC10D876F1865BB0312C, ); name = lookandfeel; sourceTree = ""; }; - 2B791EDAFF03DAD2915B1426 = {isa = PBXGroup; children = ( - CF089C2F19939657FF77F446, - 960F94AF0EF3028E024367D0, - DA20E6CAE3C953C102507753, - B437041269FE1ABCACE8FC67, - E46D31A094F9A6F1D162D707, - A5994B699F6FFC9522420A4A, - EDFA816F0A1B807DDC469251, - 16B08F86012631AE74FCF89B, - F38DD3C9585C616FCA538086, - 31CFD63C73DFC5B7309058F4, - D1C3D8A699E3410F7693E9F5, - C80154A9702E9F4140FD8573, - 246973030604D072397B76B9, - 055B7DA1F77CE5309B99A1E0, - 95A08C5E4371DC78ED40584A, - C9FF6E12A8FD051CF6193B24, - 90A2E9747EF5DEBFC946B1ED, - 1992D0DCDF02285A00ED5E7C, - 6FED5F95A8440CECE2040510, - 4BCB6AF53C2A972E4AC20EFA, - B66ECE8537A65C2AE20F3200, - F19A4B985C96C873FCC33389, ); name = filebrowser; sourceTree = ""; }; - 0BAB26AA8A67A6434AB3B814 = {isa = PBXGroup; children = ( - FC62184F4FC5E35781238309, - 4B11E3C6B1D6F06038F8E5A9, - D79D027C940D63921A6A4652, - D11A190329FB2207215105C5, - 8BC822C23CC0A74A0297DCF4, - B24CA0F38F848CB0C859BC05, - 48FC2233096E11940A6D930D, - 2F405AF1917FCFC23D0B64E3, - 6C72CD267B04F64DA9B3CA96, ); name = commands; sourceTree = ""; }; - 105118AA1920D22DBAB69E83 = {isa = PBXGroup; children = ( + 8B6440E84B064661433BD535 = {isa = PBXGroup; children = ( + 5F1E8479743F4F07A15194B7, + B80E5F5FF2C25D743460A055, + DF7BD21111CBD2184C999702, + 0DA79E1F9EBBF20B153CE1B5, + EFD71855BBB95E5D466D1857, + B74C683A165E21901633D393, ); name = menus; sourceTree = ""; }; + 97DB8D3A89C2CBD7E17647CE = {isa = PBXGroup; children = ( 183E0E12AA5F4786A54896BE, D1B90C0AE61F469081A6B8F6, CB0C151B6FC39A6B8DD9F69A, 5893171B6BA4AF650B8C1D41, ); name = misc; sourceTree = ""; }; - 2D707ECCE1A3654A0FF7A862 = {isa = PBXGroup; children = ( - 61EEC07DDEAA85061C5D86C9, - F8F208696192F671B5C5E25F, ); name = application; sourceTree = ""; }; - 2242952BFE772C70EB2680E9 = {isa = PBXGroup; children = ( + 080C70FDDC4DFA1127D8EF81 = {isa = PBXGroup; children = ( + A54ACE760625D295ECEA6184, + 7A837CCEB790F6D08687BD1C, + 36ED189DB8E8EC117710B993, + A6FDE2242C78B3C04ECEC3B1, + DBE81F5EBB60AB5BE68ACF2F, + 95F93BD8F14A45FD7A5209FD, + 004BF8BF0139265B0A384671, + BF728F1A80664B788402B94B, + 67C284A0D80710E1E2AC0C0F, + 1AF4E278AD09B6A367CC4057, + 28E913EFE1CEB57ED8935740, + 4AC2FDF0FB5E0BF4011335BF, + C42155548358E30AD7DE4E25, + 39C178FC908B0BBFF4D18D3B, + 95CC7A0F377F28D182DFC100, + B48FEF193584C4735B8DAEA5, + 3968F31E4D3A8FD1F060E073, + 521F9C77E72B674D61010C1F, + E084AFE8575D1EED6EC41BC6, + 43FB864DB11F4A6D182EECBD, ); name = mouse; sourceTree = ""; }; + B57FAE439446BF159DCC8B5D = {isa = PBXGroup; children = ( B20888B6A393C55FDF98A804, B43D3771C0B8A99592E7F36B, DD16F5C89E4C362296B0DC49, @@ -1325,25 +1238,102 @@ DE6F38DBFDCB87036772C055, D29E6D92BC1F9A4FAF616D36, 3DC7587D2334C184382A0521, ); name = native; sourceTree = ""; }; + 1810CFA1190B5B91047CB868 = {isa = PBXGroup; children = ( + 936220D32E68A1F659E7E0E4, + A1904550CAE440F85C89AAF5, + 217C36243EA5DDFFA94B9F12, + D3D7C420E73EF5BCAD146AD8, + 79629645AD54B50428C710F0, + 4BDB4220849AF86BC1348E9E, + 6BAE2060DE5C2E78779A0470, + BA865C9C5F9A81A41ABC2AF4, + 0110BEC9ADF4DAB83E81DB7B, + 79FD6D91D317339650EBAE92, + F0CC8A577FF723874C9F2B91, + 2E58A12EE1FDB1796FA2962E, + 1084CA2EA8D003161FDB7824, + D15419DD90C0B320FBFE18A4, ); name = positioning; sourceTree = ""; }; + 07A018BDEB00B3F4573D5823 = {isa = PBXGroup; children = ( + 8AF7EBF16C1AADA1E9A29866, + 44D6F268BB9D222CF15E8152, + 5536E5B6A109E3A6A5279D0E, + 852ECAB7F74A33E19D3DE9DC, + 7ECF6918C01E45A2AE2A2D80, + 1B2CE985F2202FA1FA7A8416, + 374EE591A155C88E0D731A45, + 03266C50EF5A5A72232F1340, + 0998D7987146E954282FEB33, + 1BB767A8B8DCC526D621A37E, + 8F057B95D3C4F9BF8DE76453, + F41DF60BE07032C30DC4776E, + A5F9F0BFFD4FE587919899CF, + BD7E1441C110B2EB18580673, ); name = properties; sourceTree = ""; }; + 33E5A9A72A3412AFFC732391 = {isa = PBXGroup; children = ( + 126A516090327A3B6C9EFCE8, + D5CA92B53DCF1BBA6C85D831, + EFDF703433E79FFE732D3BEB, + 468BF60A1A0E9550C34419E0, + 9057E39B7C935E0C4267F1D0, + D4221133594B3BD87CEF7231, + AA08ACAB3B8317DB35F9F209, + BC2496AD58936DD70AF96330, + 371E1AB8ED884447E9C3948F, + 3BD8A2292E1D6E597620DB27, + FCF9D7260822F0D1C530063F, + B81742C3FCA681925AAA3427, + A45E7289771DAFB321797B4D, + 9876963CD42E5F7628B342F5, + AAAA831490496F47D3807C0E, + 10F537FABCC653D1C8F05FF5, + 4BEFC693D321BA224832D997, + 4FAFB96AEBAE28375DACB61E, + 268224AA60D1E6AEC9A63E1C, + AAD5211C8E9EC185BF2E0513, + 022A85562D9308EC164A2692, + 9C5ED7962D76591FDB35BFD8, + 80017BB0FC9B98D83678AC3D, + AB95FBA10A6D6932024DF891, + 930C79B931A277C606BBD276, + 158F4537318DB4C7AD372039, + 0ABFC69420764D47876F90C8, ); name = widgets; sourceTree = ""; }; + C2CFD1D6351297676D02F761 = {isa = PBXGroup; children = ( + 90B9485F81E7AC1AA1D23A84, + EAD6B3AC8B0C4F020B0901AF, + CD0ED8112E5882C2A43D822F, + 044052990FE21E86105CDC27, + 1DDFBB0F225E4F95F635052C, + 19B351DB5C10487CCB2E11BD, + 90ED005B741F592CC5036F09, + 9070498C10B88FB07312D2F6, + 9E1A96973540D99215064233, + 572DD86F800699B320C50718, + 2BEFFC241B646BD70E3B5ABE, + 290841815EF10FEB2685BDF5, + 5D8BFB8CBCF7DA74A375D6A7, + D535F0D6E9FF45E90928E160, + 8A0E7639BA2EC2B118F0820D, + 8773F84FA14F288D8ABAADFD, + 92293355657B4BB04FF54ABD, + F711CF6B7B5C28A6A0FA8418, + 791FF25A18905D86E00AD36F, ); name = windows; sourceTree = ""; }; 92908F68DD721F17263359DA = {isa = PBXGroup; children = ( - 10E3EA03E37910A38A810D1B, - 91037A1ED93D2F0BD1F06865, - 135E3B61C4578FF5DC481256, - E67D2CB84EDFC3688F0475B9, - 4D1D7E8AB3DB4A1377ABEBB8, - 2CAF98938D6A7EAD052E54ED, - 6E27FBA98ED53988BAE5BC54, - 7DD23487730E6DE6786F8F71, - 68D4EB740BD1F4D114C5473A, - F4F95CE056A1E3BE5A23D7CD, - 973FA006A0E7FC2DD64D01D4, - CF0FB438B2F4CAF5C5EBD66B, - 2B791EDAFF03DAD2915B1426, - 0BAB26AA8A67A6434AB3B814, - 105118AA1920D22DBAB69E83, - 2D707ECCE1A3654A0FF7A862, - 2242952BFE772C70EB2680E9, - 504EAAECE90FD59545F4CEEE, + 11C5A204C9FCEF877DCBD98B, + 2B27B67EF766DFFE63189A65, + AC619C340A422FED6E1D2B8E, + F3E4C4950B56BCDD97FA9CE3, + E34AF63BEB92648DEB162E95, + 85BA0E64E342BC883C3AE865, + 8F577ADFA344AFFFF1517D88, + FAB56EEFBB9546E14858B09B, + AE9A65DF7EEE00C94FF045A5, + 8B6440E84B064661433BD535, + 97DB8D3A89C2CBD7E17647CE, + 080C70FDDC4DFA1127D8EF81, + B57FAE439446BF159DCC8B5D, + 1810CFA1190B5B91047CB868, + 07A018BDEB00B3F4573D5823, + 33E5A9A72A3412AFFC732391, + C2CFD1D6351297676D02F761, A4D855D1ADAAFB1BE7DA16FC, ); name = "juce_gui_basics"; sourceTree = ""; }; 0AC7ABED25A93BBFEB13594B = {isa = PBXGroup; children = ( 393773350CA3B3EA68F785E0, @@ -1364,7 +1354,6 @@ F9D73B4708EF9C39C234B79B, ); name = osc; sourceTree = ""; }; 5BBA8D9ECB9EFD5AD6240FAC = {isa = PBXGroup; children = ( 0AC7ABED25A93BBFEB13594B, - 8C3DF2E0C907479C3DA1FD32, 399469BA3496C8C0CB413C56, ); name = "juce_osc"; sourceTree = ""; }; 3053E0F517C1BD34D36C59CC = {isa = PBXGroup; children = ( 3E082BBABDA4AFA223BBE04B, @@ -1375,15 +1364,15 @@ 5BBA8D9ECB9EFD5AD6240FAC, ); name = "Juce Modules"; sourceTree = ""; }; 795F86C623498B10469AD3CA = {isa = PBXGroup; children = ( 1475D57AE9E4A8D6342AA1A0, - B88E3863BBF92D6B99FAF80D, - 2C48D8AB740EC67F50362309, - FE9E614EEFF0DB6698FFB50A, - B12DDE5BF035D875DFF3618F, - 36F5932B212DC45F306782B6, - 231A1BAE4463A07BA69EA3FF, + 3435DC389125F7A59BE3A085, + F09F75B04E23E4727374C42E, + 135B3CAD8DF1F1EF3EFD73E4, + A3453A7F3CAB5625EE190588, + 2CD2159773ACCE5CAAABDDB6, + 4ACBB6CAFC90015EE05E3B5E, BB5F825662E1D0FFF44D22DF, ); name = "Juce Library Code"; sourceTree = ""; }; C122EA6FE750FD1CF2D3D22D = {isa = PBXGroup; children = ( - 8A070D8C83690074AC5FF3B5, + E3586F7C2316AC6BD9CA1293, 7F3DDEA0ECF58906664734C9, ); name = Resources; sourceTree = ""; }; A68DF290C9C5236595AEAEB7 = {isa = PBXGroup; children = ( F8410F1BD7BF4C092080F229, @@ -1391,7 +1380,7 @@ 1A889B5B8A437BA1E0D6DFB4, 42DBAA5FEB22C47EB3E9A465, ); name = Frameworks; sourceTree = ""; }; E978A0812D52861A2786F473 = {isa = PBXGroup; children = ( - E7A37D21EA1E79DA2B8682C5, ); name = Products; sourceTree = ""; }; + E6F7F38EEF1BA55231F5B1D4, ); name = Products; sourceTree = ""; }; 168BF90B7EF8C12090B0A9B2 = {isa = PBXGroup; children = ( AF6DBEE9D9113EFB7464CADD, 3053E0F517C1BD34D36C59CC, @@ -1399,7 +1388,7 @@ C122EA6FE750FD1CF2D3D22D, A68DF290C9C5236595AEAEB7, E978A0812D52861A2786F473, ); name = Source; sourceTree = ""; }; - DE72B53D3B2406B67A2AEFF2 = {isa = XCBuildConfiguration; buildSettings = { + A2C030EBB24C1B7344C6AE2B = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; @@ -1415,12 +1404,12 @@ "JUCE_APP_VERSION_HEX=0x10000", ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.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 = { + 78984703F810FFE630C99455 = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; @@ -1437,7 +1426,7 @@ GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.plist; INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.OSCSender; @@ -1474,32 +1463,33 @@ PRODUCT_NAME = "OSCSender"; WARNING_CFLAGS = -Wreorder; ZERO_LINK = NO; }; name = Release; }; + BAA77A7C6509FD70914EF8EE = {isa = PBXTargetDependency; target = 3D76C0E767055A9B4699DD95; }; ABFD3DA91CD9955D1FEC14F5 = {isa = XCConfigurationList; buildConfigurations = ( 37EE6DAA0F0B202D10D0995B, 7EB14792C6494863A729B9F4, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 09B78D96C6605C37A3D54CE2 = {isa = XCConfigurationList; buildConfigurations = ( - DE72B53D3B2406B67A2AEFF2, - 7FD72A877FE3166C5C80C732, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - D19EF0AAB89876655B5F7D88 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 39783C8C7DACE951DC0EA0C9 = {isa = XCConfigurationList; buildConfigurations = ( + A2C030EBB24C1B7344C6AE2B, + 78984703F810FFE630C99455, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 1E9F219D82037569524E98CF = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( 7B70DA4946C06CABDCACCBEF, ); runOnlyForDeploymentPostprocessing = 0; }; - 25531F11DD67D2C97AE51336 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + CDCF3ED48FB54EFBE0DD9046 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( BBB11FE465015EA2246D0BB6, - 1F513C7D5F08D931CCFC2E8C, - 15107DF286EC1E38D1CE8585, - 3E612804D48097CE749934F7, - CF48DF912BCB35C5C1D2FA9F, - 1BC02582055A355837640A73, - 75E34972D84652086761FF17, ); runOnlyForDeploymentPostprocessing = 0; }; - 1681683EC45679A3F8A1A1F2 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 76A91C0B038E3D28457B1124, + 42E17BAAFBB2CAFAB027AEDD, + 45D0E3A723BFE64C37BF46DB, + 445DFD7645161E372AB50F5B, + F2123ED9B3FB4980D36F80D4, + 345DA5934BAD8ACA0434B957, ); runOnlyForDeploymentPostprocessing = 0; }; + 53E02F5676BF451851C9C06E = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( B4D7BB7DFEBE72BCD3DD605C, BAD6E04B07004B5F27F9A822, DFC4B6CA5A1EA956F9C0C6DD, 91BBD074F724A10436BEF6F2, ); runOnlyForDeploymentPostprocessing = 0; }; - ADE1FFA5285E137F07F72012 = {isa = PBXNativeTarget; buildConfigurationList = 09B78D96C6605C37A3D54CE2; buildPhases = ( - D19EF0AAB89876655B5F7D88, - 25531F11DD67D2C97AE51336, - 1681683EC45679A3F8A1A1F2, ); buildRules = ( ); dependencies = ( ); name = OSCSender; productName = OSCSender; productReference = E7A37D21EA1E79DA2B8682C5; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; - 9CD8E1E30EDAF4E86990F260 = {isa = PBXProject; buildConfigurationList = ABFD3DA91CD9955D1FEC14F5; attributes = { LastUpgradeCheck = 0440; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 168BF90B7EF8C12090B0A9B2; projectDirPath = ""; projectRoot = ""; targets = ( ADE1FFA5285E137F07F72012 ); }; + 3D76C0E767055A9B4699DD95 = {isa = PBXNativeTarget; buildConfigurationList = 39783C8C7DACE951DC0EA0C9; buildPhases = ( + 1E9F219D82037569524E98CF, + CDCF3ED48FB54EFBE0DD9046, + 53E02F5676BF451851C9C06E, ); buildRules = ( ); dependencies = ( ); name = "OSCSender (App)"; productName = OSCSender; productReference = E6F7F38EEF1BA55231F5B1D4; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; + 9CD8E1E30EDAF4E86990F260 = {isa = PBXProject; buildConfigurationList = ABFD3DA91CD9955D1FEC14F5; attributes = { LastUpgradeCheck = 0440; TargetAttributes = { 3D76C0E767055A9B4699DD95 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 168BF90B7EF8C12090B0A9B2; projectDirPath = ""; projectRoot = ""; targets = (3D76C0E767055A9B4699DD95); }; }; rootObject = 9CD8E1E30EDAF4E86990F260; } diff --git a/examples/OSCSender/Builds/VisualStudio2015/OSCSender.vcxproj b/examples/OSCSender/Builds/VisualStudio2015/OSCSender.vcxproj index 630cd7d482..f602bc29c0 100644 --- a/examples/OSCSender/Builds/VisualStudio2015/OSCSender.vcxproj +++ b/examples/OSCSender/Builds/VisualStudio2015/OSCSender.vcxproj @@ -130,45 +130,6 @@ - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -184,33 +145,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -235,40 +169,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -277,31 +181,16 @@ true - + true - + true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -367,16 +256,115 @@ true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -385,22 +373,16 @@ true - + true - + true - + true - - true - - - true - - + true @@ -421,6 +403,18 @@ true + + true + + + true + + + true + + + true + true @@ -430,6 +424,12 @@ true + + true + + + true + true @@ -451,43 +451,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -508,10 +475,40 @@ true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -538,6 +535,51 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -550,6 +592,153 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -571,19 +760,70 @@ true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -652,246 +892,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -916,30 +916,44 @@ true - - - - - - + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -960,22 +974,49 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -995,62 +1036,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - + + + + - - - - + + + + + + + + @@ -1060,19 +1068,11 @@ - - - - - - - - - - + + @@ -1083,10 +1083,15 @@ - - - - + + + + + + + + + @@ -1097,26 +1102,91 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1130,14 +1200,21 @@ - - - - - - - - + + + + + + + + + + + + + + + @@ -1162,83 +1239,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1252,14 +1252,6 @@ - - - - - - - - diff --git a/examples/OSCSender/Builds/VisualStudio2015/OSCSender.vcxproj.filters b/examples/OSCSender/Builds/VisualStudio2015/OSCSender.vcxproj.filters index db69215251..e8378823c7 100644 --- a/examples/OSCSender/Builds/VisualStudio2015/OSCSender.vcxproj.filters +++ b/examples/OSCSender/Builds/VisualStudio2015/OSCSender.vcxproj.filters @@ -14,8 +14,17 @@ {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} - - {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + + {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + + {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + + {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} {476C69CE-0B67-6B85-E888-45D91E37A29E} @@ -23,17 +32,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} - - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -41,60 +44,57 @@ {91929C6F-7902-B87D-5260-2F6CBF8ACD93} - - {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} - {4634FFAE-9586-A970-364C-4FDDA635F99F} - - {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} - - {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - {F03654BC-34D8-F975-BEA3-750CC2783D23} + + {C9F6D785-BF78-5AA1-B479-111C65397864} {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} - - {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} - - {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + {F03654BC-34D8-F975-BEA3-750CC2783D23} {928D8FCC-5E00-174B-6538-93E8D75AB396} - - {1988E68A-A964-64CA-0E0C-26FF9BC5176C} + + {358AEA11-3F96-36AE-7B32-71373B5C5396} {3DF036EA-3B80-553B-2494-3AAC835CAE75} - - {358AEA11-3F96-36AE-7B32-71373B5C5396} + + {1988E68A-A964-64CA-0E0C-26FF9BC5176C} {F2A38F45-6E55-E147-2E52-64A89FDD9D59} - - {6172822C-01A5-E824-12DA-FA43FA934D35} - - - {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} - {B098BC87-3298-7E6B-12DC-D26C09CDCAED} {6322B88F-984A-C3CD-6263-38D7AA49B6EC} + + {6172822C-01A5-E824-12DA-FA43FA934D35} + {73C1E759-AD90-59A3-942E-2D10FAA29107} + + {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} + {EE1AE8C3-0908-8F53-A4E5-D930C7C97C26} @@ -104,81 +104,81 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} - - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - - {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {E37D25CD-4350-4614-055B-7ABC55E67895} {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {C1A1A236-AB01-173E-96C3-0706BFF93B1E} + + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + + {413F481F-075C-2958-115C-D8268682FCB7} {FFC6E1CC-C772-75E6-5087-FB5D4E016799} + + {1182303F-ECA3-166D-AC0C-92C5E762CB93} + {8E43579F-C185-266D-DD67-F8B95BD80F2F} + + {61712B09-5783-ADFA-2001-5A0C3D7764EB} + + + {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + + {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} + {2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D} - - {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + {5A0AA36E-3957-E413-14C6-31CBE15271DF} + + + {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} {A92719C7-70BE-57C4-CE9E-A9BC9DFEB757} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} + + + {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} + + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} + + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + + {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} + + + {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} + {75F1F352-251A-75E0-D941-8431588F5C1E} {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} - - {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} - - - {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} - - - {5A0AA36E-3957-E413-14C6-31CBE15271DF} - - - {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} - - - {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} - - - {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} - - - {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} - - - {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - - {61712B09-5783-ADFA-2001-5A0C3D7764EB} - - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} - {1A62F82C-C14A-E14A-94DE-8A27E0F8A090} @@ -193,45 +193,6 @@ OSCSender\Source - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\memory - Juce Modules\juce_core\containers @@ -247,33 +208,6 @@ Juce Modules\juce_core\containers - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - Juce Modules\juce_core\files @@ -298,41 +232,11 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -340,32 +244,17 @@ Juce Modules\juce_core\logging - - Juce Modules\juce_core\system + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc @@ -445,6 +334,126 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -454,33 +463,6 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - Juce Modules\juce_events\broadcasters @@ -499,6 +481,18 @@ Juce Modules\juce_events\interprocess + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + Juce Modules\juce_events\native @@ -514,6 +508,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_graphics\colour @@ -535,44 +535,11 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\effects Juce Modules\juce_graphics\fonts @@ -592,11 +559,41 @@ Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -628,6 +625,51 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -640,6 +682,153 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -661,20 +850,92 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -742,267 +1003,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_osc\osc @@ -1027,22 +1027,22 @@ Juce Modules\juce_osc\osc - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code @@ -1050,50 +1050,92 @@ OSCSender\Source - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -1155,53 +1197,134 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text Juce Modules\juce_core\threads @@ -1260,92 +1383,8 @@ Juce Modules\juce_core\time - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -1353,12 +1392,6 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - Juce Modules\juce_core\zip @@ -1368,42 +1401,21 @@ Juce Modules\juce_core\zip - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - Juce Modules\juce_core + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -1413,21 +1425,33 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - Juce Modules\juce_data_structures + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + Juce Modules\juce_events\messages @@ -1455,36 +1479,6 @@ Juce Modules\juce_events\messages - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - Juce Modules\juce_events\native @@ -1494,6 +1488,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_events @@ -1524,17 +1524,32 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -1566,38 +1581,17 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -1608,9 +1602,60 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + Juce Modules\juce_graphics + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -1626,6 +1671,171 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -1665,29 +1875,50 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -1761,237 +1992,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_basics @@ -2029,26 +2029,6 @@ Juce Library Code - - - Juce Modules\juce_core - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_osc - - Juce Library Code diff --git a/examples/OSCSender/Builds/iOS/Info.plist b/examples/OSCSender/Builds/iOS/Info-App.plist similarity index 85% rename from examples/OSCSender/Builds/iOS/Info.plist rename to examples/OSCSender/Builds/iOS/Info-App.plist index 72fd9828a4..452bc6e316 100644 --- a/examples/OSCSender/Builds/iOS/Info.plist +++ b/examples/OSCSender/Builds/iOS/Info-App.plist @@ -13,6 +13,8 @@ $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName OSCSender + CFBundleDisplayName + OSCSender CFBundlePackageType APPL CFBundleSignature @@ -27,12 +29,15 @@ UIRequiresFullScreen + UIStatusBarHidden + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight + UIBackgroundModes + diff --git a/examples/OSCSender/Builds/iOS/OSCSender.xcodeproj/project.pbxproj b/examples/OSCSender/Builds/iOS/OSCSender.xcodeproj/project.pbxproj index 64228dad5b..ebc946803a 100644 --- a/examples/OSCSender/Builds/iOS/OSCSender.xcodeproj/project.pbxproj +++ b/examples/OSCSender/Builds/iOS/OSCSender.xcodeproj/project.pbxproj @@ -6,6 +6,7 @@ objectVersion = 46; objects = { + A6EB15B02B1D0A6FADABE7C2 = {isa = PBXBuildFile; fileRef = E6F7F38EEF1BA55231F5B1D4; }; 1F529E86E1AC69ECADCF9EC1 = {isa = PBXBuildFile; fileRef = 69841546D58D64E5BCC0CD09; }; B1058124749A55CE21C5D191 = {isa = PBXBuildFile; fileRef = 4AA22AD4184103B8D35183D7; }; 8ECB96C6693FC1C2E663B93C = {isa = PBXBuildFile; fileRef = 51FCB04D98B49DA7B24C3231; }; @@ -13,12 +14,12 @@ 6808305AD050DD69D8392084 = {isa = PBXBuildFile; fileRef = 9E51C46CCF8A330F769678CE; }; FAC23E7DD6613584348E47CE = {isa = PBXBuildFile; fileRef = B250E795EBF72C06F0B9B4C0; }; BBB11FE465015EA2246D0BB6 = {isa = PBXBuildFile; fileRef = ED4E215F7CA65E0BD389D502; }; - 1F513C7D5F08D931CCFC2E8C = {isa = PBXBuildFile; fileRef = B88E3863BBF92D6B99FAF80D; }; - 15107DF286EC1E38D1CE8585 = {isa = PBXBuildFile; fileRef = 2C48D8AB740EC67F50362309; }; - 3E612804D48097CE749934F7 = {isa = PBXBuildFile; fileRef = FE9E614EEFF0DB6698FFB50A; }; - CF48DF912BCB35C5C1D2FA9F = {isa = PBXBuildFile; fileRef = B12DDE5BF035D875DFF3618F; }; - 1BC02582055A355837640A73 = {isa = PBXBuildFile; fileRef = 36F5932B212DC45F306782B6; }; - 75E34972D84652086761FF17 = {isa = PBXBuildFile; fileRef = 231A1BAE4463A07BA69EA3FF; }; + 76A91C0B038E3D28457B1124 = {isa = PBXBuildFile; fileRef = 3435DC389125F7A59BE3A085; }; + 42E17BAAFBB2CAFAB027AEDD = {isa = PBXBuildFile; fileRef = F09F75B04E23E4727374C42E; }; + 45D0E3A723BFE64C37BF46DB = {isa = PBXBuildFile; fileRef = 135B3CAD8DF1F1EF3EFD73E4; }; + 445DFD7645161E372AB50F5B = {isa = PBXBuildFile; fileRef = A3453A7F3CAB5625EE190588; }; + F2123ED9B3FB4980D36F80D4 = {isa = PBXBuildFile; fileRef = 2CD2159773ACCE5CAAABDDB6; }; + 345DA5934BAD8ACA0434B957 = {isa = PBXBuildFile; fileRef = 4ACBB6CAFC90015EE05E3B5E; }; 00183F1253D862D398F3B3B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; }; 004BF8BF0139265B0A384671 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; }; 00A0857D39F6F898F2951AB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -65,6 +66,7 @@ 12C01E7ECAD6EBD170002969 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; 12FC1C5E956BFD6A0032FA12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableObjectResizer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp"; sourceTree = "SOURCE_ROOT"; }; 13264B0D46B7A04ED8AD3A0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; }; + 135B3CAD8DF1F1EF3EFD73E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; 13DA741368E8E045C23B0386 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Font.h"; path = "../../../../modules/juce_graphics/fonts/juce_Font.h"; sourceTree = "SOURCE_ROOT"; }; 13F687566D3E463971D50CD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; }; 1475D57AE9E4A8D6342AA1A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; }; @@ -109,10 +111,8 @@ 22D1A5FF83D9FE487EB17AA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; 22DA3B310056F9288264BDF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; 22FB6CDBF9536FCACFFC702A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; - 231A1BAE4463A07BA69EA3FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_osc.cpp"; path = "../../../../modules/juce_osc/juce_osc.cpp"; sourceTree = "SOURCE_ROOT"; }; 241B1014F4230EF7A0E93C49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 246973030604D072397B76B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 263BFB38AA9FAAC750C7EA0A = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_events/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 2665E67F421892FA58ED6204 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; }; 266DABCCAC8727B7289E1709 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; 267C22AEA7BEAE2C6FBFDB48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -125,8 +125,8 @@ 2B4A57C484A8251250F4C3AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; 2B7B1E8E3E11EB39BC797413 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; }; 2BEFFC241B646BD70E3B5ABE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; }; - 2C48D8AB740EC67F50362309 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; 2C506A2FB3878C94AE27D6CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2CD2159773ACCE5CAAABDDB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 2CE73880E4F4117B106C06AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; 2CE74FAB118D8C0227C876AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OSCBundle.h"; path = "../../../../modules/juce_osc/osc/juce_OSCBundle.h"; sourceTree = "SOURCE_ROOT"; }; 2D1AF9A4988EDFDCFABA2AF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; }; @@ -141,6 +141,7 @@ 316185ED9E49F306C772F057 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; }; 31CFD63C73DFC5B7309058F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 3265394635B1C027552EBC97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3435DC389125F7A59BE3A085 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; 3472D7D8A4E7C337CA7AD81C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; 34B5E2EFD4A34CEAAE67C8D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCTypes.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCTypes.cpp"; sourceTree = "SOURCE_ROOT"; }; 34BD55EE695F248239C046C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -149,7 +150,6 @@ 35C07BF1273F1F1611E65BE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; }; 3638A335D7D1C48855C20D90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; }; 36ED189DB8E8EC117710B993 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 36F5932B212DC45F306782B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 371D30FA280FD0CD39132955 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; }; 371E1AB8ED884447E9C3948F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; }; 374EE591A155C88E0D731A45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -190,6 +190,7 @@ 48FC2233096E11940A6D930D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; 4AA22AD4184103B8D35183D7 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; }; 4AC2FDF0FB5E0BF4011335BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4ACBB6CAFC90015EE05E3B5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_osc.cpp"; path = "../../JuceLibraryCode/juce_osc.cpp"; sourceTree = "SOURCE_ROOT"; }; 4AE3787EBA02DE0DFEFF32F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; }; 4AFFB00C50E5188C6173F81A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; 4B0EEF94059BD4AC991F3246 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -204,7 +205,6 @@ 4F8B25661F28FBC413BD9B26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; 4FAFB96AEBAE28375DACB61E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; }; 4FEABCAED113F77993CDBCDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; }; - 504EAAECE90FD59545F4CEEE = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 50EEC53303203398324F2ADE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; }; 51ED9BC4B23811D5F8E5A308 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; 51FCB04D98B49DA7B24C3231 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; @@ -331,7 +331,6 @@ 8945994512C9A329EF5C2F8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; }; 89B20AD32703AF1A4A7789D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; }; 89B5ED0A2F8E1F3DC8B1FFFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; }; - 8A070D8C83690074AC5FF3B5 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = "SOURCE_ROOT"; }; 8A0E7639BA2EC2B118F0820D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; }; 8A129151479A5AAD2BD39091 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; 8A5080FEECD8BD2FDA32C65D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -340,7 +339,6 @@ 8AF7EBF16C1AADA1E9A29866 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 8BC822C23CC0A74A0297DCF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; }; 8BCB7EB19A1E561980251BBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; }; - 8C3DF2E0C907479C3DA1FD32 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_osc/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 8D8AB59A85C4C44B70984E44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableEdgeComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h"; sourceTree = "SOURCE_ROOT"; }; 8DDEF1513C451116AA0E965A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; }; 8F057B95D3C4F9BF8DE76453 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -392,6 +390,7 @@ A0D18D61E3687135112B48C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; }; A1904550CAE440F85C89AAF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MarkerList.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h"; sourceTree = "SOURCE_ROOT"; }; A21F474AEBDCBA4B8FC3ECAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; + A3453A7F3CAB5625EE190588 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../JuceLibraryCode/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; A45E7289771DAFB321797B4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; A4D808F48A57E5401EE2E28D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; A4D855D1ADAAFB1BE7DA16FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; }; @@ -425,7 +424,6 @@ ACCE1BA4E775D7838E4AAB3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; }; AD15BCA918CB97B82F057CE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; AD3F47F068C0A25B5D4328EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; - B12DDE5BF035D875DFF3618F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; B1A9CE337A68096FE89B7EFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; }; B1C65AD0886DF44A61D70939 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; }; B1E516520B36FD7CA932BFE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -449,7 +447,6 @@ B74C683A165E21901633D393 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; }; B80E5F5FF2C25D743460A055 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarComponent.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h"; sourceTree = "SOURCE_ROOT"; }; B81742C3FCA681925AAA3427 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; }; - B88E3863BBF92D6B99FAF80D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; BA07C21FD4F38B2264BCE715 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; BA4DE2B0C739A63E6D4D20D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; BA81B30FD657CCE058ACC8AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -535,7 +532,6 @@ D85E5DDBCC12253BEE6B368D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; D8E4E84B18C9763EA6691DA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; }; D9453DCB804821349686056F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; }; - D94EF76F396180083C2C59BE = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_core/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; D9E235F13969D41DE2334965 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; }; DA20E6CAE3C953C102507753 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; }; DA57BC0681DDCA88FE5F312E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; @@ -558,17 +554,17 @@ E1CF9A4ADE4123124FED0E9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; }; E20AA19ADC95465F8387780E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; }; E2F186EFF4E392744FC0848E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; + E3586F7C2316AC6BD9CA1293 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-App.plist"; path = "Info-App.plist"; sourceTree = "SOURCE_ROOT"; }; E380F437948E68251B4DA178 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; }; E46D31A094F9A6F1D162D707 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; E4E21650A774C8418AFC33B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; }; E50254E2B991FBAF9771185C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; E65281690EA762F5FAE84653 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; }; E68F882E1376628DE35F57FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; + E6F7F38EEF1BA55231F5B1D4 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = OSCSender.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; E74939618FF51AB431812853 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; E76AE46151CB7187848DA9AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; }; E76B7CFCC39F3907C1874D4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; - E7A37D21EA1E79DA2B8682C5 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = OSCSender.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; - E815543B6E2665185D07433D = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_data_structures/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; E82ECF1FE6E0D6DBF63A33D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; }; E864E951F29D6C9E719ECDD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; E9EBD4257BAC6B3DD377F64B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; }; @@ -595,6 +591,7 @@ EFE0A6D09D69C4210D26BCBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; }; F0157423E0EEE18AC73ACA3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Base64.h"; path = "../../../../modules/juce_core/text/juce_Base64.h"; sourceTree = "SOURCE_ROOT"; }; F041FD178F6C8187DDBB046D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; }; + F09F75B04E23E4727374C42E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; F0A3B21A5E0FB04F59010235 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; }; F0CC8A577FF723874C9F2B91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; }; F0D1D03EDDB9B4E4CCCE8079 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; @@ -636,12 +633,10 @@ FCB1ADA208906DCFD9553E86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; }; FCD57A996940414954D3A16C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; }; FCF9D7260822F0D1C530063F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Slider.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp"; sourceTree = "SOURCE_ROOT"; }; - FD58AC0D48956C5E5EE22300 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_graphics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; FD8944C5B057E4029E64E701 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; FDF5FA2CDA01F5017075EC53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp"; sourceTree = "SOURCE_ROOT"; }; FE32C6D41D1624EDF3A1B25D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; FE52AE3A7D89784CC2108049 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; - FE9E614EEFF0DB6698FFB50A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; FF0A25C484FF14D68A7FA84C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; }; FF18535FBFBE8BDD88D6E7BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; FF834F94FFF3F513D8380C99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; }; @@ -650,58 +645,7 @@ ED4E215F7CA65E0BD389D502, ); name = Source; sourceTree = ""; }; AF6DBEE9D9113EFB7464CADD = {isa = PBXGroup; children = ( 8CCFF6D3806EBC5EABB75DC3, ); name = OSCSender; sourceTree = ""; }; - 5266C3C7C760374BBAD548B3 = {isa = PBXGroup; children = ( - 6C8482B28590113DC3D093DF, - F0157423E0EEE18AC73ACA3E, - 075E8F5B0CE507EA241E7820, - AAE256E4F057457CEDD27A90, - 482FD6D43CB94752B1DD0243, - 00183F1253D862D398F3B3B7, - A0D18D61E3687135112B48C2, - 1BA1941BE9831878420374C8, - D800E473B1A6BF368C967B8C, - 68C660B543CCF8E23F4FCFAA, - C37E01CD441BB57B0BD6C2D8, - 2D1AF9A4988EDFDCFABA2AF8, - EBDD2C57D46E0E4207AD32E3, - 79F23F85772E0B3B028B7DA4, - C68BD7F904FB1079B6924931, - 7358A3673D7E85B6E2BD42BE, - 028A331429FB24687E6F4178, - 316185ED9E49F306C772F057, - B4C9EE22A48A894A442FDEF5, - 87A59A16FFB7F76FE61F21F2, - 71FA38AF9B9190BCBB0DF9CB, - 89B5ED0A2F8E1F3DC8B1FFFB, - 300B798AE6D1456AF71725F3, - 8945994512C9A329EF5C2F8D, ); name = text; sourceTree = ""; }; - 44D717CFBACAB1B4708480BC = {isa = PBXGroup; children = ( - 6C536C513F6B5AEEE5647FC1, - 946EE5AB4425456B8DC0F534, - 22FB6CDBF9536FCACFFC702A, - 17DA11859066C1A6550541DC, - 45DE191D497670E66BB5252C, - 953B8119D4983047502355C3, - 0625FE8FB912E392F2710EAF, - 1CC3CC3615F549A3714403FB, - 7088CCB58F437B0DE9524E00, - 56171D5E50C275618ED8E595, ); name = maths; sourceTree = ""; }; - 3BB2F8CF52A119966C680F2C = {isa = PBXGroup; children = ( - 8754500BE079EAC8F32D6EDF, - 4AFFB00C50E5188C6173F81A, - F8306341C38FC9F71F9C289C, - 41D7BC4C569213AF26F18B0C, - 5998888018A6809EB12543AB, - DC146BC82E9DF5DE3387E5A0, - 3E0874E1F6F508F4848D483E, - 940FAD7463B2A21CAF68ABD8, - 9CF199A5DB26993BA4842ACF, - DA57BC0681DDCA88FE5F312E, - FC8C3B125B6526B9845DAD20, - 8A129151479A5AAD2BD39091, - 9373C6EA5BA89D5EBCFFAF6E, - 71CA0EBE5516DA53A6054514, ); name = memory; sourceTree = ""; }; - B5A1175E39DFF66C86750114 = {isa = PBXGroup; children = ( + BEDE6F55A1C124E30C407B45 = {isa = PBXGroup; children = ( A5D217BC9E2D0717B5FEC88D, ACA16BA92B5E2C735AF5F0AB, BFF09EF3282D581DA210F092, @@ -723,37 +667,7 @@ 37B3ADE4412D615A5F386B74, A9450EC319A9D37307AB7D7C, ED4420CC02B25ED88E45BCC8, ); name = containers; sourceTree = ""; }; - A57D0A9AD6F4BCEAC8BE2F7A = {isa = PBXGroup; children = ( - 029299521469F64490977419, - C322E79A7FBD6CD1A0F555C0, - F0D1D03EDDB9B4E4CCCE8079, - AA776E87EF55F5B39DB3E6E5, - FAF73612E3CEE8981A15E6DB, - 13F687566D3E463971D50CD2, - 6530C248DC2C3B048F34DDFE, - 45880C2CED1DE53F368D6DC7, - B6AEC740150DFD18D1C77566, - A7A838ACAE3CF1FD63FF6915, - 9D7A373ECD058548A106A2A1, - 2EC883766946EBDB683674AF, - FF18535FBFBE8BDD88D6E7BB, - 5A79DC94DC3EC18871CFF123, - D9453DCB804821349686056F, - 5579A809BAAEC707977D7515, - 7A0CB2B04ADE780AF3BF4219, - D7BBF74441A1D9233AC4941E, - 16D238D027A1F900F190A59A, - 8211C74FDAD1E9C986DA24FA, - 357A2DBCBE8F804D541C1DFB, - EEE692963F002CB11038A61D, ); name = threads; sourceTree = ""; }; - 0FE1613FE62D5B180B6807C9 = {isa = PBXGroup; children = ( - FF0A25C484FF14D68A7FA84C, - 4AE3787EBA02DE0DFEFF32F0, - 0DB62E76787DA030C07650DF, - A4D808F48A57E5401EE2E28D, - 5F1DCEEEC0AF0DAEFAE558C3, - 8DDEF1513C451116AA0E965A, ); name = time; sourceTree = ""; }; - C55558366533E30609E33554 = {isa = PBXGroup; children = ( + 1FF5F096E3AAF069A51ECEF1 = {isa = PBXGroup; children = ( E2F186EFF4E392744FC0848E, C2B211151D7D3B7B96DA01A1, C38135F3C6287FD3860C4527, @@ -771,66 +685,43 @@ F17D77A72E81AA8F8D6B3476, BA8CFC69F1C04974E93BE59C, A813CA7CC0D3D2724B95D8FE, ); name = files; sourceTree = ""; }; - F06C05002537FAF7F1D13770 = {isa = PBXGroup; children = ( - 5D14BB057C1DCC194D4110A4, - FAB7137B238411F408A7359F, - 3265394635B1C027552EBC97, - EA809B25ABEF15A77FD7F7F9, - 64A4085FAB8D536155D630CC, - 775586DF3FED31DE6FAF7A48, - CBCE2DE10CF82B5A463AEE00, - 6F11C39FA9C8E2F1DCD6CB53, - C3D367C0B3573411FE70D226, - 1EED7017C33745D0E23EFED7, ); name = network; sourceTree = ""; }; - 59B49F16B2CCDFD9149D3435 = {isa = PBXGroup; children = ( - 9F80A197F695CE97616BD1E2, - D53140323325368C36FF0980, - FD8944C5B057E4029E64E701, - C445C9169161BC685264BB15, - 0F173E9956EC7F3F26F55472, - E50254E2B991FBAF9771185C, - 52E0D954C8E8AFD254EAC05B, - 6B8EABF5A1B9555BF8E672F4, - 1D421BF3B85E99CD596765AE, - DF833FBE7FAB055403EBAE29, - 85C00E1440983A2F4F6A0430, - B343FF79A8B4ED9BA3C5AF58, - 76FA69159E195EC73C54C166, - F305B5B71B3B44364A70FB81, - D52CEEA36B26A91E1599CF90, ); name = streams; sourceTree = ""; }; - C0C2173267ABCBDD61C10A41 = {isa = PBXGroup; children = ( - C9D88946156002CE878BC4D2, - 52893977D68DFB4A91DCEF20, - 5786605F1BC2DCBC066F122D, - 21BF0CAF7A4F1263372A5C8B, ); name = logging; sourceTree = ""; }; - F06D7C2FFE79B1C5E77ABABF = {isa = PBXGroup; children = ( - 7804C945A084AFEE73DF0D42, - 11371D3819C11870351DF5D4, - A83D209F7375389768B82994, - 52EC460B51B671A78DA0B0D0, - D73AD91EB6FB85DD8C129E31, - EBA76494AF0634E852001C0E, ); name = system; sourceTree = ""; }; - 7976EE937AFBFC4A673985AD = {isa = PBXGroup; children = ( - 3E3FEDBFDE2D9B7BB5C78127, - 2DF80EDCBEC3706EEE3DF8BF, - EBD65185E6F4C735BA39DFDD, - F509A91694B01BC57C7A2D6C, ); name = xml; sourceTree = ""; }; - 50C1F008D33888DAECED2C54 = {isa = PBXGroup; children = ( + D5D71C875BECD6FAC904624D = {isa = PBXGroup; children = ( 4B13D66B82B420CD8B8C5AB7, E4E21650A774C8418AFC33B9, 11D53565B6B910B4C6D3B5D1, 0E3613C3AD773AB362CA45EC, ); name = javascript; sourceTree = ""; }; - E863DA674CF86507033B7199 = {isa = PBXGroup; children = ( - C5A813AEF580F0DD29CC9BE8, - CC91DE14E4ACC0D61C0FCC79, - 7F1D13704277EDA6CD435392, - 29953F0649A18831E891815C, - 844D65F83A1B7DA2E0CAB652, - 663607A2A052262E3F04EC1B, ); name = zip; sourceTree = ""; }; - AA05FE9A13A8F6A47C0B0203 = {isa = PBXGroup; children = ( - 5A58E4097153888A8A8C1CD9, - F041FD178F6C8187DDBB046D, ); name = "unit_tests"; sourceTree = ""; }; - 38B197F3796A41FFB20E61F6 = {isa = PBXGroup; children = ( + EFD22A6191673EA8F7945EB7 = {isa = PBXGroup; children = ( + C9D88946156002CE878BC4D2, + 52893977D68DFB4A91DCEF20, + 5786605F1BC2DCBC066F122D, + 21BF0CAF7A4F1263372A5C8B, ); name = logging; sourceTree = ""; }; + A36879835302A8C4F76A0E50 = {isa = PBXGroup; children = ( + 6C536C513F6B5AEEE5647FC1, + 946EE5AB4425456B8DC0F534, + 22FB6CDBF9536FCACFFC702A, + 17DA11859066C1A6550541DC, + 45DE191D497670E66BB5252C, + 953B8119D4983047502355C3, + 0625FE8FB912E392F2710EAF, + 1CC3CC3615F549A3714403FB, + 7088CCB58F437B0DE9524E00, + 56171D5E50C275618ED8E595, ); name = maths; sourceTree = ""; }; + E9A18CAE0D85DDC6DE0254AF = {isa = PBXGroup; children = ( + 8754500BE079EAC8F32D6EDF, + 4AFFB00C50E5188C6173F81A, + F8306341C38FC9F71F9C289C, + 41D7BC4C569213AF26F18B0C, + 5998888018A6809EB12543AB, + DC146BC82E9DF5DE3387E5A0, + 3E0874E1F6F508F4848D483E, + 940FAD7463B2A21CAF68ABD8, + 9CF199A5DB26993BA4842ACF, + DA57BC0681DDCA88FE5F312E, + FC8C3B125B6526B9845DAD20, + 8A129151479A5AAD2BD39091, + 9373C6EA5BA89D5EBCFFAF6E, + 71CA0EBE5516DA53A6054514, ); name = memory; sourceTree = ""; }; + 9F30BB4DBACC5212B06AA421 = {isa = PBXGroup; children = ( 35C07BF1273F1F1611E65BE0, ABACE0FD4603F0AC6DC24986, 88CEF894CF89C020C0969646, @@ -838,7 +729,7 @@ 73ECE098454A1E93F65F750C, 869E8C4D5C7C71BBD9D3DE13, F917AC1B20761A5CBA104955, ); name = misc; sourceTree = ""; }; - 3ABF5204E322FD3121ACF9A9 = {isa = PBXGroup; children = ( + 5D4335D65131D54BB64F563A = {isa = PBXGroup; children = ( 924B8AEE63D51A88C424236D, FA1E705CDB469910D9CD45DD, F0A3B21A5E0FB04F59010235, @@ -868,49 +759,167 @@ 1CEC669517AEFB9DA60654F3, E76B7CFCC39F3907C1874D4B, 68757349C662D48B6E8D95F0, ); name = native; sourceTree = ""; }; + D42AD465B5BC07DED88E7FEA = {isa = PBXGroup; children = ( + 5D14BB057C1DCC194D4110A4, + FAB7137B238411F408A7359F, + 3265394635B1C027552EBC97, + EA809B25ABEF15A77FD7F7F9, + 64A4085FAB8D536155D630CC, + 775586DF3FED31DE6FAF7A48, + CBCE2DE10CF82B5A463AEE00, + 6F11C39FA9C8E2F1DCD6CB53, + C3D367C0B3573411FE70D226, + 1EED7017C33745D0E23EFED7, ); name = network; sourceTree = ""; }; + CFE256AAF1301A94D3E3B1E2 = {isa = PBXGroup; children = ( + 9F80A197F695CE97616BD1E2, + D53140323325368C36FF0980, + FD8944C5B057E4029E64E701, + C445C9169161BC685264BB15, + 0F173E9956EC7F3F26F55472, + E50254E2B991FBAF9771185C, + 52E0D954C8E8AFD254EAC05B, + 6B8EABF5A1B9555BF8E672F4, + 1D421BF3B85E99CD596765AE, + DF833FBE7FAB055403EBAE29, + 85C00E1440983A2F4F6A0430, + B343FF79A8B4ED9BA3C5AF58, + 76FA69159E195EC73C54C166, + F305B5B71B3B44364A70FB81, + D52CEEA36B26A91E1599CF90, ); name = streams; sourceTree = ""; }; + F06D7C2FFE79B1C5E77ABABF = {isa = PBXGroup; children = ( + 7804C945A084AFEE73DF0D42, + 11371D3819C11870351DF5D4, + A83D209F7375389768B82994, + 52EC460B51B671A78DA0B0D0, + D73AD91EB6FB85DD8C129E31, + EBA76494AF0634E852001C0E, ); name = system; sourceTree = ""; }; + 4388AD06729036651D2438B3 = {isa = PBXGroup; children = ( + 6C8482B28590113DC3D093DF, + F0157423E0EEE18AC73ACA3E, + 075E8F5B0CE507EA241E7820, + AAE256E4F057457CEDD27A90, + 482FD6D43CB94752B1DD0243, + 00183F1253D862D398F3B3B7, + A0D18D61E3687135112B48C2, + 1BA1941BE9831878420374C8, + D800E473B1A6BF368C967B8C, + 68C660B543CCF8E23F4FCFAA, + C37E01CD441BB57B0BD6C2D8, + 2D1AF9A4988EDFDCFABA2AF8, + EBDD2C57D46E0E4207AD32E3, + 79F23F85772E0B3B028B7DA4, + C68BD7F904FB1079B6924931, + 7358A3673D7E85B6E2BD42BE, + 028A331429FB24687E6F4178, + 316185ED9E49F306C772F057, + B4C9EE22A48A894A442FDEF5, + 87A59A16FFB7F76FE61F21F2, + 71FA38AF9B9190BCBB0DF9CB, + 89B5ED0A2F8E1F3DC8B1FFFB, + 300B798AE6D1456AF71725F3, + 8945994512C9A329EF5C2F8D, ); name = text; sourceTree = ""; }; + 207ED5FADC2F8277687FA3E6 = {isa = PBXGroup; children = ( + 029299521469F64490977419, + C322E79A7FBD6CD1A0F555C0, + F0D1D03EDDB9B4E4CCCE8079, + AA776E87EF55F5B39DB3E6E5, + FAF73612E3CEE8981A15E6DB, + 13F687566D3E463971D50CD2, + 6530C248DC2C3B048F34DDFE, + 45880C2CED1DE53F368D6DC7, + B6AEC740150DFD18D1C77566, + A7A838ACAE3CF1FD63FF6915, + 9D7A373ECD058548A106A2A1, + 2EC883766946EBDB683674AF, + FF18535FBFBE8BDD88D6E7BB, + 5A79DC94DC3EC18871CFF123, + D9453DCB804821349686056F, + 5579A809BAAEC707977D7515, + 7A0CB2B04ADE780AF3BF4219, + D7BBF74441A1D9233AC4941E, + 16D238D027A1F900F190A59A, + 8211C74FDAD1E9C986DA24FA, + 357A2DBCBE8F804D541C1DFB, + EEE692963F002CB11038A61D, ); name = threads; sourceTree = ""; }; + 6C5F573396B72493F93019ED = {isa = PBXGroup; children = ( + FF0A25C484FF14D68A7FA84C, + 4AE3787EBA02DE0DFEFF32F0, + 0DB62E76787DA030C07650DF, + A4D808F48A57E5401EE2E28D, + 5F1DCEEEC0AF0DAEFAE558C3, + 8DDEF1513C451116AA0E965A, ); name = time; sourceTree = ""; }; + AA05FE9A13A8F6A47C0B0203 = {isa = PBXGroup; children = ( + 5A58E4097153888A8A8C1CD9, + F041FD178F6C8187DDBB046D, ); name = "unit_tests"; sourceTree = ""; }; + AE9352469128E5E34EBA24FE = {isa = PBXGroup; children = ( + 3E3FEDBFDE2D9B7BB5C78127, + 2DF80EDCBEC3706EEE3DF8BF, + EBD65185E6F4C735BA39DFDD, + F509A91694B01BC57C7A2D6C, ); name = xml; sourceTree = ""; }; + 59B3061979EA06672063E6BA = {isa = PBXGroup; children = ( + C5A813AEF580F0DD29CC9BE8, + CC91DE14E4ACC0D61C0FCC79, + 7F1D13704277EDA6CD435392, + 29953F0649A18831E891815C, + 844D65F83A1B7DA2E0CAB652, + 663607A2A052262E3F04EC1B, ); name = zip; sourceTree = ""; }; 3E082BBABDA4AFA223BBE04B = {isa = PBXGroup; children = ( - 5266C3C7C760374BBAD548B3, - 44D717CFBACAB1B4708480BC, - 3BB2F8CF52A119966C680F2C, - B5A1175E39DFF66C86750114, - A57D0A9AD6F4BCEAC8BE2F7A, - 0FE1613FE62D5B180B6807C9, - C55558366533E30609E33554, - F06C05002537FAF7F1D13770, - 59B49F16B2CCDFD9149D3435, - C0C2173267ABCBDD61C10A41, + BEDE6F55A1C124E30C407B45, + 1FF5F096E3AAF069A51ECEF1, + D5D71C875BECD6FAC904624D, + EFD22A6191673EA8F7945EB7, + A36879835302A8C4F76A0E50, + E9A18CAE0D85DDC6DE0254AF, + 9F30BB4DBACC5212B06AA421, + 5D4335D65131D54BB64F563A, + D42AD465B5BC07DED88E7FEA, + CFE256AAF1301A94D3E3B1E2, F06D7C2FFE79B1C5E77ABABF, - 7976EE937AFBFC4A673985AD, - 50C1F008D33888DAECED2C54, - E863DA674CF86507033B7199, + 4388AD06729036651D2438B3, + 207ED5FADC2F8277687FA3E6, + 6C5F573396B72493F93019ED, AA05FE9A13A8F6A47C0B0203, - 38B197F3796A41FFB20E61F6, - 3ABF5204E322FD3121ACF9A9, - D94EF76F396180083C2C59BE, + AE9352469128E5E34EBA24FE, + 59B3061979EA06672063E6BA, 01C827740BEFED5D0C0568DA, ); name = "juce_core"; sourceTree = ""; }; - 01307D8B957801021225C358 = {isa = PBXGroup; children = ( + 08A834EE359B774D80BB5D13 = {isa = PBXGroup; children = ( + 357615E8CFB3033813CCBE7E, + DCFE0625D38D5F8F25767F83, + 7B8EBDFC8FC37BAF659298DB, + A509336C0CACBF48AE588564, ); name = "app_properties"; sourceTree = ""; }; + 7D609A3DACE30A47E7636733 = {isa = PBXGroup; children = ( + AD15BCA918CB97B82F057CE7, + EBFFEFCE6CB0E4D77E05D225, + 8457A426244850B181C5B86A, ); name = undomanager; sourceTree = ""; }; + 00EEEBB08AF562D9077C354E = {isa = PBXGroup; children = ( 18B5B1CFAFF39440F3429D12, EFE0A6D09D69C4210D26BCBB, 6D81EC26DD64274A3BB77D96, AC58FD5A424E46C552699C39, F52EAC03D98BBFC53C143CF4, 9E49961EF2D77807606E9AA9, ); name = values; sourceTree = ""; }; - 7D609A3DACE30A47E7636733 = {isa = PBXGroup; children = ( - AD15BCA918CB97B82F057CE7, - EBFFEFCE6CB0E4D77E05D225, - 8457A426244850B181C5B86A, ); name = undomanager; sourceTree = ""; }; - 29948B583E16D2C6EC417837 = {isa = PBXGroup; children = ( - 357615E8CFB3033813CCBE7E, - DCFE0625D38D5F8F25767F83, - 7B8EBDFC8FC37BAF659298DB, - A509336C0CACBF48AE588564, ); name = "app_properties"; sourceTree = ""; }; 2F86893F3AC21E2B007A790C = {isa = PBXGroup; children = ( - 01307D8B957801021225C358, + 08A834EE359B774D80BB5D13, 7D609A3DACE30A47E7636733, - 29948B583E16D2C6EC417837, - E815543B6E2665185D07433D, + 00EEEBB08AF562D9077C354E, 51ED9BC4B23811D5F8E5A308, ); name = "juce_data_structures"; sourceTree = ""; }; - 9A9BC239C9C3588A2C48AB1C = {isa = PBXGroup; children = ( + F721F32B0C19CD313B4DEACF = {isa = PBXGroup; children = ( + 22DA3B310056F9288264BDF6, + E9F857BCDFD748ED45340B08, + 0E090204426B67CAF8B93481, + A21F474AEBDCBA4B8FC3ECAF, + 1C13BEC629F1DD9B093CC885, + D7D15CBB82F1C93719CCA56B, + 2B4A57C484A8251250F4C3AA, + 3A649F8B1FFCA953E354BDE3, ); name = broadcasters; sourceTree = ""; }; + EBED1183ABD5F29D85BC9ED7 = {isa = PBXGroup; children = ( + 162B88C97B3B2FE6FF0506D5, + 18373E02365D98A26CDA435B, + 7E6E6D14D6F86626B1F85469, + 5EAE8337D70E2F0C8388CD5B, + F8A7322DFB3FDDCFE4504FD8, + FCB1ADA208906DCFD9553E86, ); name = interprocess; sourceTree = ""; }; + B5AC9538911996F20DE7E79F = {isa = PBXGroup; children = ( 7B79F66C174BAC99CD5FA90A, 7DF41CF3989F4AAEE3ED5020, 1F983F682C7C39739FF66DFD, @@ -924,28 +933,7 @@ 031466AAD3240E4468588275, 8A8EB41D7E88B03839083874, 0C77794DF4B68DB97D174834, ); name = messages; sourceTree = ""; }; - 4F28D3E6CE3FF17A11481867 = {isa = PBXGroup; children = ( - 2CE73880E4F4117B106C06AD, - 1D2D5DCA104967DEDCE2E900, - 6431731E6FF1D9E30B3F0105, - 9B4D73256D25275FB309DAAF, ); name = timers; sourceTree = ""; }; - A607A5A3F534D69E87B47F85 = {isa = PBXGroup; children = ( - 22DA3B310056F9288264BDF6, - E9F857BCDFD748ED45340B08, - 0E090204426B67CAF8B93481, - A21F474AEBDCBA4B8FC3ECAF, - 1C13BEC629F1DD9B093CC885, - D7D15CBB82F1C93719CCA56B, - 2B4A57C484A8251250F4C3AA, - 3A649F8B1FFCA953E354BDE3, ); name = broadcasters; sourceTree = ""; }; - EA5B9AE51700241A6AAB1503 = {isa = PBXGroup; children = ( - 162B88C97B3B2FE6FF0506D5, - 18373E02365D98A26CDA435B, - 7E6E6D14D6F86626B1F85469, - 5EAE8337D70E2F0C8388CD5B, - F8A7322DFB3FDDCFE4504FD8, - FCB1ADA208906DCFD9553E86, ); name = interprocess; sourceTree = ""; }; - 6209BB20FCC498F6FC3630D2 = {isa = PBXGroup; children = ( + 6E201B46B591A1D476DA82B3 = {isa = PBXGroup; children = ( 8A5080FEECD8BD2FDA32C65D, 3BF906798B72C53AA17C42E5, 6EBC7A20DAF0299082F3C48D, @@ -954,13 +942,17 @@ C1F93E08ECF4BD864AAF914B, F8360E50FF29AE25E6D10C60, A029C65BC0ABFF7181A63158, ); name = native; sourceTree = ""; }; + FB6905B73B959471383FA35C = {isa = PBXGroup; children = ( + 2CE73880E4F4117B106C06AD, + 1D2D5DCA104967DEDCE2E900, + 6431731E6FF1D9E30B3F0105, + 9B4D73256D25275FB309DAAF, ); name = timers; sourceTree = ""; }; 30F00850FB3DAE66AD9DC7C6 = {isa = PBXGroup; children = ( - 9A9BC239C9C3588A2C48AB1C, - 4F28D3E6CE3FF17A11481867, - A607A5A3F534D69E87B47F85, - EA5B9AE51700241A6AAB1503, - 6209BB20FCC498F6FC3630D2, - 263BFB38AA9FAAC750C7EA0A, + F721F32B0C19CD313B4DEACF, + EBED1183ABD5F29D85BC9ED7, + B5AC9538911996F20DE7E79F, + 6E201B46B591A1D476DA82B3, + FB6905B73B959471383FA35C, FCD57A996940414954D3A16C, ); name = "juce_events"; sourceTree = ""; }; 1740BE8D8C5C7BBAA2120711 = {isa = PBXGroup; children = ( 4B6F14663424B4075D37D75A, @@ -980,19 +972,25 @@ 284CCCC60E6FFE144D03053B, C078149F5EC57FB18E899494, A5126591F282448150C0A30A, ); name = contexts; sourceTree = ""; }; - 13DF8011E9D1DEE60F9E9970 = {isa = PBXGroup; children = ( - 0DC03E9375671E457891A729, - FBA3D65086497BDD3F684CA9, - 7F2303D10B03C641C7F70296, - 7C33F1B4BF7CBFE66731D34C, - 6FD5D94B5C936F45C3223D71, - D294EA753ECFF016927BA7A2, - 666A2459C2BD2C5048749A3F, - D4463A8D4C9C7BBBECDBBF54, ); name = images; sourceTree = ""; }; - 02C6B4ABA7C452EC2AA2511D = {isa = PBXGroup; children = ( - 5306E2E1E4D3EDB584CB9957, - BA07C21FD4F38B2264BCE715, - 3C6266E06512926AA719ED6C, ); name = "image_formats"; sourceTree = ""; }; + A71A056E8FFCD1B34A7D539A = {isa = PBXGroup; children = ( + 267C22AEA7BEAE2C6FBFDB48, + 50EEC53303203398324F2ADE, + 8599EDB720D284DF684DDD57, + 45896F16C409721A1988D036, + D1ED8C510F4DB36BB68FC2E7, ); name = effects; sourceTree = ""; }; + 5DC923EAE25164D3FC77695C = {isa = PBXGroup; children = ( + 1D7FAD7035F31C49C233D74E, + 431D37DEF42489D3D2BAA92C, + A979A96E5616479B39218B2E, + 0DA97F6DF97050683F834CA4, + D3FFEFC1B56E0CBEB3385B20, + 13DA741368E8E045C23B0386, + D35BB13A98176E269CE615FD, + 869B84A46023D33AFDC0D1A2, + DBDD822F9E2E1D6C876E5A0A, + E68F882E1376628DE35F57FE, + 935007CA595A6A01AAD4CA08, + D85E5DDBCC12253BEE6B368D, ); name = fonts; sourceTree = ""; }; 7E9202D43BB01B54DE6C7CF9 = {isa = PBXGroup; children = ( 1B3AD48503A5E6E50A632BFA, 3BE904F9AEA4B987BA08C4BF, @@ -1009,30 +1007,20 @@ E1A752C30F9E9CBF6AB409C7, EE1E34B8A9F658BB0E57CB44, 105993ED238D528CD399FF92, ); name = geometry; sourceTree = ""; }; - D3836109FDDFDD715F2BAB8B = {isa = PBXGroup; children = ( - E1CF9A4ADE4123124FED0E9D, - 2F77D1AAC55792234A1A12CC, - DEACC6D7655717F30F59FB06, ); name = placement; sourceTree = ""; }; - 5240A27651F9E34F2992D4BE = {isa = PBXGroup; children = ( - 1D7FAD7035F31C49C233D74E, - 431D37DEF42489D3D2BAA92C, - A979A96E5616479B39218B2E, - 0DA97F6DF97050683F834CA4, - D3FFEFC1B56E0CBEB3385B20, - 13DA741368E8E045C23B0386, - D35BB13A98176E269CE615FD, - 869B84A46023D33AFDC0D1A2, - DBDD822F9E2E1D6C876E5A0A, - E68F882E1376628DE35F57FE, - 935007CA595A6A01AAD4CA08, - D85E5DDBCC12253BEE6B368D, ); name = fonts; sourceTree = ""; }; - 9F6522EE613666A811E66B03 = {isa = PBXGroup; children = ( - 267C22AEA7BEAE2C6FBFDB48, - 50EEC53303203398324F2ADE, - 8599EDB720D284DF684DDD57, - 45896F16C409721A1988D036, - D1ED8C510F4DB36BB68FC2E7, ); name = effects; sourceTree = ""; }; - 43ACB9A5DA7F4D3314F835BC = {isa = PBXGroup; children = ( + B1C6D2D409ED7B8235D2F290 = {isa = PBXGroup; children = ( + 5306E2E1E4D3EDB584CB9957, + BA07C21FD4F38B2264BCE715, + 3C6266E06512926AA719ED6C, ); name = "image_formats"; sourceTree = ""; }; + 56B04E14A7CEE3E219181797 = {isa = PBXGroup; children = ( + 0DC03E9375671E457891A729, + FBA3D65086497BDD3F684CA9, + 7F2303D10B03C641C7F70296, + 7C33F1B4BF7CBFE66731D34C, + 6FD5D94B5C936F45C3223D71, + D294EA753ECFF016927BA7A2, + 666A2459C2BD2C5048749A3F, + D4463A8D4C9C7BBBECDBBF54, ); name = images; sourceTree = ""; }; + F8837EFDEF6E35AAE82FDB33 = {isa = PBXGroup; children = ( 266DABCCAC8727B7289E1709, A5A702D48E339F30DBAA70F3, 4F8B25661F28FBC413BD9B26, @@ -1046,19 +1034,54 @@ BA4DE2B0C739A63E6D4D20D8, FE52AE3A7D89784CC2108049, 2C506A2FB3878C94AE27D6CB, ); name = native; sourceTree = ""; }; + 0CBD2BCD5BAC1A2674929488 = {isa = PBXGroup; children = ( + E1CF9A4ADE4123124FED0E9D, + 2F77D1AAC55792234A1A12CC, + DEACC6D7655717F30F59FB06, ); name = placement; sourceTree = ""; }; CB4F8BAD557D46ED28907420 = {isa = PBXGroup; children = ( 1740BE8D8C5C7BBAA2120711, 5FFE6515D67F14A30EC82B03, - 13DF8011E9D1DEE60F9E9970, - 02C6B4ABA7C452EC2AA2511D, + A71A056E8FFCD1B34A7D539A, + 5DC923EAE25164D3FC77695C, 7E9202D43BB01B54DE6C7CF9, - D3836109FDDFDD715F2BAB8B, - 5240A27651F9E34F2992D4BE, - 9F6522EE613666A811E66B03, - 43ACB9A5DA7F4D3314F835BC, - FD58AC0D48956C5E5EE22300, + B1C6D2D409ED7B8235D2F290, + 56B04E14A7CEE3E219181797, + F8837EFDEF6E35AAE82FDB33, + 0CBD2BCD5BAC1A2674929488, 9E8E1B569EDFEF8F08B0165A, ); name = "juce_graphics"; sourceTree = ""; }; - 10E3EA03E37910A38A810D1B = {isa = PBXGroup; children = ( + 11C5A204C9FCEF877DCBD98B = {isa = PBXGroup; children = ( + 61EEC07DDEAA85061C5D86C9, + F8F208696192F671B5C5E25F, ); name = application; sourceTree = ""; }; + 2B27B67EF766DFFE63189A65 = {isa = PBXGroup; children = ( + 062E93756C4C2047BFFE2DB8, + 0A57964A96FEA9A9FB66B41C, + 8907D739246B0F33CAB468DF, + 3638A335D7D1C48855C20D90, + 17BFF0DFD2596C177802B80E, + AD3F47F068C0A25B5D4328EE, + A546CD3EF21D18732319AC05, + 088320650994388DB9A6F9C1, + 72BD2080835C585D96780DBE, + 766243F2E499522B0BCF90D7, + 3A7CAA9C93698244C9DB8256, + C48C63AAD19E578DFF4F1178, + FDF5FA2CDA01F5017075EC53, + EED951C77E3A15B9C60BF3D4, + 431E90D8119368A51F45F9F7, + D9E235F13969D41DE2334965, + F3B12C442C73A5CD0642C9D3, + 0577DF2A977E1812176767A6, ); name = buttons; sourceTree = ""; }; + AC619C340A422FED6E1D2B8E = {isa = PBXGroup; children = ( + FC62184F4FC5E35781238309, + 4B11E3C6B1D6F06038F8E5A9, + D79D027C940D63921A6A4652, + D11A190329FB2207215105C5, + 8BC822C23CC0A74A0297DCF4, + B24CA0F38F848CB0C859BC05, + 48FC2233096E11940A6D930D, + 2F405AF1917FCFC23D0B64E3, + 6C72CD267B04F64DA9B3CA96, ); name = commands; sourceTree = ""; }; + F3E4C4950B56BCDD97FA9CE3 = {isa = PBXGroup; children = ( BB8C54D34EF4FC862F2A91C8, C408339286C0EDCE7DE32E85, 7020143E6EF838A9745860A2, @@ -1068,28 +1091,46 @@ C794AB7DC16EA991F2E27273, 741AE4CDEAAA1AB1657A4A53, 60E7CE9882A1AA233E6A76AD, ); name = components; sourceTree = ""; }; - 91037A1ED93D2F0BD1F06865 = {isa = PBXGroup; children = ( - A54ACE760625D295ECEA6184, - 7A837CCEB790F6D08687BD1C, - 36ED189DB8E8EC117710B993, - A6FDE2242C78B3C04ECEC3B1, - DBE81F5EBB60AB5BE68ACF2F, - 95F93BD8F14A45FD7A5209FD, - 004BF8BF0139265B0A384671, - BF728F1A80664B788402B94B, - 67C284A0D80710E1E2AC0C0F, - 1AF4E278AD09B6A367CC4057, - 28E913EFE1CEB57ED8935740, - 4AC2FDF0FB5E0BF4011335BF, - C42155548358E30AD7DE4E25, - 39C178FC908B0BBFF4D18D3B, - 95CC7A0F377F28D182DFC100, - B48FEF193584C4735B8DAEA5, - 3968F31E4D3A8FD1F060E073, - 521F9C77E72B674D61010C1F, - E084AFE8575D1EED6EC41BC6, - 43FB864DB11F4A6D182EECBD, ); name = mouse; sourceTree = ""; }; - 135E3B61C4578FF5DC481256 = {isa = PBXGroup; children = ( + E34AF63BEB92648DEB162E95 = {isa = PBXGroup; children = ( + F80B6F65E57D2AB96730C877, + 57CDB5AFD561349F179D658D, + DBC8C5695E5DF33DA755D47E, + A8FD638BD93E8B4332CC8F7F, + 9C9B05F2934F0EA6E998D125, + ACCE1BA4E775D7838E4AAB3F, + D5724FDB5A378C2F07D22B19, + E380F437948E68251B4DA178, + 6E461813B7DC6631B7FCCB58, + 6AF8CC00C9B0A71AFA20F408, + 1CDCE8137C9253926AF5BC1A, + 0FF5B7A3E7ACE2C0C4F4941F, + 34BD55EE695F248239C046C6, + 7ACB4BC6D063A4BF3EDA90FC, + 9B561B5E684B00FE1BA27C13, ); name = drawables; sourceTree = ""; }; + 85BA0E64E342BC883C3AE865 = {isa = PBXGroup; children = ( + CF089C2F19939657FF77F446, + 960F94AF0EF3028E024367D0, + DA20E6CAE3C953C102507753, + B437041269FE1ABCACE8FC67, + E46D31A094F9A6F1D162D707, + A5994B699F6FFC9522420A4A, + EDFA816F0A1B807DDC469251, + 16B08F86012631AE74FCF89B, + F38DD3C9585C616FCA538086, + 31CFD63C73DFC5B7309058F4, + D1C3D8A699E3410F7693E9F5, + C80154A9702E9F4140FD8573, + 246973030604D072397B76B9, + 055B7DA1F77CE5309B99A1E0, + 95A08C5E4371DC78ED40584A, + C9FF6E12A8FD051CF6193B24, + 90A2E9747EF5DEBFC946B1ED, + 1992D0DCDF02285A00ED5E7C, + 6FED5F95A8440CECE2040510, + 4BCB6AF53C2A972E4AC20EFA, + B66ECE8537A65C2AE20F3200, + F19A4B985C96C873FCC33389, ); name = filebrowser; sourceTree = ""; }; + 8F577ADFA344AFFFF1517D88 = {isa = PBXGroup; children = ( FBE4BC80A9BD7723C4BAFD57, E65281690EA762F5FAE84653, BA81B30FD657CCE058ACC8AB, @@ -1103,62 +1144,7 @@ 4FEABCAED113F77993CDBCDD, 86C81C569A8BC04DF417D5CE, 9342F0B8C5CB9A17945F4FA7, ); name = keyboard; sourceTree = ""; }; - E67D2CB84EDFC3688F0475B9 = {isa = PBXGroup; children = ( - 126A516090327A3B6C9EFCE8, - D5CA92B53DCF1BBA6C85D831, - EFDF703433E79FFE732D3BEB, - 468BF60A1A0E9550C34419E0, - 9057E39B7C935E0C4267F1D0, - D4221133594B3BD87CEF7231, - AA08ACAB3B8317DB35F9F209, - BC2496AD58936DD70AF96330, - 371E1AB8ED884447E9C3948F, - 3BD8A2292E1D6E597620DB27, - FCF9D7260822F0D1C530063F, - B81742C3FCA681925AAA3427, - A45E7289771DAFB321797B4D, - 9876963CD42E5F7628B342F5, - AAAA831490496F47D3807C0E, - 10F537FABCC653D1C8F05FF5, - 4BEFC693D321BA224832D997, - 4FAFB96AEBAE28375DACB61E, - 268224AA60D1E6AEC9A63E1C, - AAD5211C8E9EC185BF2E0513, - 022A85562D9308EC164A2692, - 9C5ED7962D76591FDB35BFD8, - 80017BB0FC9B98D83678AC3D, - AB95FBA10A6D6932024DF891, - 930C79B931A277C606BBD276, - 158F4537318DB4C7AD372039, - 0ABFC69420764D47876F90C8, ); name = widgets; sourceTree = ""; }; - 4D1D7E8AB3DB4A1377ABEBB8 = {isa = PBXGroup; children = ( - 90B9485F81E7AC1AA1D23A84, - EAD6B3AC8B0C4F020B0901AF, - CD0ED8112E5882C2A43D822F, - 044052990FE21E86105CDC27, - 1DDFBB0F225E4F95F635052C, - 19B351DB5C10487CCB2E11BD, - 90ED005B741F592CC5036F09, - 9070498C10B88FB07312D2F6, - 9E1A96973540D99215064233, - 572DD86F800699B320C50718, - 2BEFFC241B646BD70E3B5ABE, - 290841815EF10FEB2685BDF5, - 5D8BFB8CBCF7DA74A375D6A7, - D535F0D6E9FF45E90928E160, - 8A0E7639BA2EC2B118F0820D, - 8773F84FA14F288D8ABAADFD, - 92293355657B4BB04FF54ABD, - F711CF6B7B5C28A6A0FA8418, - 791FF25A18905D86E00AD36F, ); name = windows; sourceTree = ""; }; - 2CAF98938D6A7EAD052E54ED = {isa = PBXGroup; children = ( - 5F1E8479743F4F07A15194B7, - B80E5F5FF2C25D743460A055, - DF7BD21111CBD2184C999702, - 0DA79E1F9EBBF20B153CE1B5, - EFD71855BBB95E5D466D1857, - B74C683A165E21901633D393, ); name = menus; sourceTree = ""; }; - 6E27FBA98ED53988BAE5BC54 = {isa = PBXGroup; children = ( + FAB56EEFBB9546E14858B09B = {isa = PBXGroup; children = ( 5B16B30659106EA13D373E5A, BFFCE59B4D94538113E12C1E, F67426274F90FFFDD017BC05, @@ -1195,72 +1181,7 @@ BC779F0EF23E0FD73F142602, C107196A74FA34A35EBFD8BC, F4B7A5AD3F4AEE12E5AC51D1, ); name = layout; sourceTree = ""; }; - 7DD23487730E6DE6786F8F71 = {isa = PBXGroup; children = ( - 062E93756C4C2047BFFE2DB8, - 0A57964A96FEA9A9FB66B41C, - 8907D739246B0F33CAB468DF, - 3638A335D7D1C48855C20D90, - 17BFF0DFD2596C177802B80E, - AD3F47F068C0A25B5D4328EE, - A546CD3EF21D18732319AC05, - 088320650994388DB9A6F9C1, - 72BD2080835C585D96780DBE, - 766243F2E499522B0BCF90D7, - 3A7CAA9C93698244C9DB8256, - C48C63AAD19E578DFF4F1178, - FDF5FA2CDA01F5017075EC53, - EED951C77E3A15B9C60BF3D4, - 431E90D8119368A51F45F9F7, - D9E235F13969D41DE2334965, - F3B12C442C73A5CD0642C9D3, - 0577DF2A977E1812176767A6, ); name = buttons; sourceTree = ""; }; - 68D4EB740BD1F4D114C5473A = {isa = PBXGroup; children = ( - 936220D32E68A1F659E7E0E4, - A1904550CAE440F85C89AAF5, - 217C36243EA5DDFFA94B9F12, - D3D7C420E73EF5BCAD146AD8, - 79629645AD54B50428C710F0, - 4BDB4220849AF86BC1348E9E, - 6BAE2060DE5C2E78779A0470, - BA865C9C5F9A81A41ABC2AF4, - 0110BEC9ADF4DAB83E81DB7B, - 79FD6D91D317339650EBAE92, - F0CC8A577FF723874C9F2B91, - 2E58A12EE1FDB1796FA2962E, - 1084CA2EA8D003161FDB7824, - D15419DD90C0B320FBFE18A4, ); name = positioning; sourceTree = ""; }; - F4F95CE056A1E3BE5A23D7CD = {isa = PBXGroup; children = ( - F80B6F65E57D2AB96730C877, - 57CDB5AFD561349F179D658D, - DBC8C5695E5DF33DA755D47E, - A8FD638BD93E8B4332CC8F7F, - 9C9B05F2934F0EA6E998D125, - ACCE1BA4E775D7838E4AAB3F, - D5724FDB5A378C2F07D22B19, - E380F437948E68251B4DA178, - 6E461813B7DC6631B7FCCB58, - 6AF8CC00C9B0A71AFA20F408, - 1CDCE8137C9253926AF5BC1A, - 0FF5B7A3E7ACE2C0C4F4941F, - 34BD55EE695F248239C046C6, - 7ACB4BC6D063A4BF3EDA90FC, - 9B561B5E684B00FE1BA27C13, ); name = drawables; sourceTree = ""; }; - 973FA006A0E7FC2DD64D01D4 = {isa = PBXGroup; children = ( - 8AF7EBF16C1AADA1E9A29866, - 44D6F268BB9D222CF15E8152, - 5536E5B6A109E3A6A5279D0E, - 852ECAB7F74A33E19D3DE9DC, - 7ECF6918C01E45A2AE2A2D80, - 1B2CE985F2202FA1FA7A8416, - 374EE591A155C88E0D731A45, - 03266C50EF5A5A72232F1340, - 0998D7987146E954282FEB33, - 1BB767A8B8DCC526D621A37E, - 8F057B95D3C4F9BF8DE76453, - F41DF60BE07032C30DC4776E, - A5F9F0BFFD4FE587919899CF, - BD7E1441C110B2EB18580673, ); name = properties; sourceTree = ""; }; - CF0FB438B2F4CAF5C5EBD66B = {isa = PBXGroup; children = ( + AE9A65DF7EEE00C94FF045A5 = {isa = PBXGroup; children = ( 190A8701F6AED1C8F3E6ED94, 92FFD4D11ACFACDFE5232553, DC4BB656CA2804DA293E30BD, @@ -1269,48 +1190,40 @@ 807B25A0BCF04BFE911798EA, 4B3200BF90A9A56DA0BACDAA, 388DCC10D876F1865BB0312C, ); name = lookandfeel; sourceTree = ""; }; - 2B791EDAFF03DAD2915B1426 = {isa = PBXGroup; children = ( - CF089C2F19939657FF77F446, - 960F94AF0EF3028E024367D0, - DA20E6CAE3C953C102507753, - B437041269FE1ABCACE8FC67, - E46D31A094F9A6F1D162D707, - A5994B699F6FFC9522420A4A, - EDFA816F0A1B807DDC469251, - 16B08F86012631AE74FCF89B, - F38DD3C9585C616FCA538086, - 31CFD63C73DFC5B7309058F4, - D1C3D8A699E3410F7693E9F5, - C80154A9702E9F4140FD8573, - 246973030604D072397B76B9, - 055B7DA1F77CE5309B99A1E0, - 95A08C5E4371DC78ED40584A, - C9FF6E12A8FD051CF6193B24, - 90A2E9747EF5DEBFC946B1ED, - 1992D0DCDF02285A00ED5E7C, - 6FED5F95A8440CECE2040510, - 4BCB6AF53C2A972E4AC20EFA, - B66ECE8537A65C2AE20F3200, - F19A4B985C96C873FCC33389, ); name = filebrowser; sourceTree = ""; }; - 0BAB26AA8A67A6434AB3B814 = {isa = PBXGroup; children = ( - FC62184F4FC5E35781238309, - 4B11E3C6B1D6F06038F8E5A9, - D79D027C940D63921A6A4652, - D11A190329FB2207215105C5, - 8BC822C23CC0A74A0297DCF4, - B24CA0F38F848CB0C859BC05, - 48FC2233096E11940A6D930D, - 2F405AF1917FCFC23D0B64E3, - 6C72CD267B04F64DA9B3CA96, ); name = commands; sourceTree = ""; }; - 105118AA1920D22DBAB69E83 = {isa = PBXGroup; children = ( + 8B6440E84B064661433BD535 = {isa = PBXGroup; children = ( + 5F1E8479743F4F07A15194B7, + B80E5F5FF2C25D743460A055, + DF7BD21111CBD2184C999702, + 0DA79E1F9EBBF20B153CE1B5, + EFD71855BBB95E5D466D1857, + B74C683A165E21901633D393, ); name = menus; sourceTree = ""; }; + 97DB8D3A89C2CBD7E17647CE = {isa = PBXGroup; children = ( 183E0E12AA5F4786A54896BE, D1B90C0AE61F469081A6B8F6, CB0C151B6FC39A6B8DD9F69A, 5893171B6BA4AF650B8C1D41, ); name = misc; sourceTree = ""; }; - 2D707ECCE1A3654A0FF7A862 = {isa = PBXGroup; children = ( - 61EEC07DDEAA85061C5D86C9, - F8F208696192F671B5C5E25F, ); name = application; sourceTree = ""; }; - 2242952BFE772C70EB2680E9 = {isa = PBXGroup; children = ( + 080C70FDDC4DFA1127D8EF81 = {isa = PBXGroup; children = ( + A54ACE760625D295ECEA6184, + 7A837CCEB790F6D08687BD1C, + 36ED189DB8E8EC117710B993, + A6FDE2242C78B3C04ECEC3B1, + DBE81F5EBB60AB5BE68ACF2F, + 95F93BD8F14A45FD7A5209FD, + 004BF8BF0139265B0A384671, + BF728F1A80664B788402B94B, + 67C284A0D80710E1E2AC0C0F, + 1AF4E278AD09B6A367CC4057, + 28E913EFE1CEB57ED8935740, + 4AC2FDF0FB5E0BF4011335BF, + C42155548358E30AD7DE4E25, + 39C178FC908B0BBFF4D18D3B, + 95CC7A0F377F28D182DFC100, + B48FEF193584C4735B8DAEA5, + 3968F31E4D3A8FD1F060E073, + 521F9C77E72B674D61010C1F, + E084AFE8575D1EED6EC41BC6, + 43FB864DB11F4A6D182EECBD, ); name = mouse; sourceTree = ""; }; + B57FAE439446BF159DCC8B5D = {isa = PBXGroup; children = ( B20888B6A393C55FDF98A804, B43D3771C0B8A99592E7F36B, DD16F5C89E4C362296B0DC49, @@ -1327,25 +1240,102 @@ DE6F38DBFDCB87036772C055, D29E6D92BC1F9A4FAF616D36, 3DC7587D2334C184382A0521, ); name = native; sourceTree = ""; }; + 1810CFA1190B5B91047CB868 = {isa = PBXGroup; children = ( + 936220D32E68A1F659E7E0E4, + A1904550CAE440F85C89AAF5, + 217C36243EA5DDFFA94B9F12, + D3D7C420E73EF5BCAD146AD8, + 79629645AD54B50428C710F0, + 4BDB4220849AF86BC1348E9E, + 6BAE2060DE5C2E78779A0470, + BA865C9C5F9A81A41ABC2AF4, + 0110BEC9ADF4DAB83E81DB7B, + 79FD6D91D317339650EBAE92, + F0CC8A577FF723874C9F2B91, + 2E58A12EE1FDB1796FA2962E, + 1084CA2EA8D003161FDB7824, + D15419DD90C0B320FBFE18A4, ); name = positioning; sourceTree = ""; }; + 07A018BDEB00B3F4573D5823 = {isa = PBXGroup; children = ( + 8AF7EBF16C1AADA1E9A29866, + 44D6F268BB9D222CF15E8152, + 5536E5B6A109E3A6A5279D0E, + 852ECAB7F74A33E19D3DE9DC, + 7ECF6918C01E45A2AE2A2D80, + 1B2CE985F2202FA1FA7A8416, + 374EE591A155C88E0D731A45, + 03266C50EF5A5A72232F1340, + 0998D7987146E954282FEB33, + 1BB767A8B8DCC526D621A37E, + 8F057B95D3C4F9BF8DE76453, + F41DF60BE07032C30DC4776E, + A5F9F0BFFD4FE587919899CF, + BD7E1441C110B2EB18580673, ); name = properties; sourceTree = ""; }; + 33E5A9A72A3412AFFC732391 = {isa = PBXGroup; children = ( + 126A516090327A3B6C9EFCE8, + D5CA92B53DCF1BBA6C85D831, + EFDF703433E79FFE732D3BEB, + 468BF60A1A0E9550C34419E0, + 9057E39B7C935E0C4267F1D0, + D4221133594B3BD87CEF7231, + AA08ACAB3B8317DB35F9F209, + BC2496AD58936DD70AF96330, + 371E1AB8ED884447E9C3948F, + 3BD8A2292E1D6E597620DB27, + FCF9D7260822F0D1C530063F, + B81742C3FCA681925AAA3427, + A45E7289771DAFB321797B4D, + 9876963CD42E5F7628B342F5, + AAAA831490496F47D3807C0E, + 10F537FABCC653D1C8F05FF5, + 4BEFC693D321BA224832D997, + 4FAFB96AEBAE28375DACB61E, + 268224AA60D1E6AEC9A63E1C, + AAD5211C8E9EC185BF2E0513, + 022A85562D9308EC164A2692, + 9C5ED7962D76591FDB35BFD8, + 80017BB0FC9B98D83678AC3D, + AB95FBA10A6D6932024DF891, + 930C79B931A277C606BBD276, + 158F4537318DB4C7AD372039, + 0ABFC69420764D47876F90C8, ); name = widgets; sourceTree = ""; }; + C2CFD1D6351297676D02F761 = {isa = PBXGroup; children = ( + 90B9485F81E7AC1AA1D23A84, + EAD6B3AC8B0C4F020B0901AF, + CD0ED8112E5882C2A43D822F, + 044052990FE21E86105CDC27, + 1DDFBB0F225E4F95F635052C, + 19B351DB5C10487CCB2E11BD, + 90ED005B741F592CC5036F09, + 9070498C10B88FB07312D2F6, + 9E1A96973540D99215064233, + 572DD86F800699B320C50718, + 2BEFFC241B646BD70E3B5ABE, + 290841815EF10FEB2685BDF5, + 5D8BFB8CBCF7DA74A375D6A7, + D535F0D6E9FF45E90928E160, + 8A0E7639BA2EC2B118F0820D, + 8773F84FA14F288D8ABAADFD, + 92293355657B4BB04FF54ABD, + F711CF6B7B5C28A6A0FA8418, + 791FF25A18905D86E00AD36F, ); name = windows; sourceTree = ""; }; 92908F68DD721F17263359DA = {isa = PBXGroup; children = ( - 10E3EA03E37910A38A810D1B, - 91037A1ED93D2F0BD1F06865, - 135E3B61C4578FF5DC481256, - E67D2CB84EDFC3688F0475B9, - 4D1D7E8AB3DB4A1377ABEBB8, - 2CAF98938D6A7EAD052E54ED, - 6E27FBA98ED53988BAE5BC54, - 7DD23487730E6DE6786F8F71, - 68D4EB740BD1F4D114C5473A, - F4F95CE056A1E3BE5A23D7CD, - 973FA006A0E7FC2DD64D01D4, - CF0FB438B2F4CAF5C5EBD66B, - 2B791EDAFF03DAD2915B1426, - 0BAB26AA8A67A6434AB3B814, - 105118AA1920D22DBAB69E83, - 2D707ECCE1A3654A0FF7A862, - 2242952BFE772C70EB2680E9, - 504EAAECE90FD59545F4CEEE, + 11C5A204C9FCEF877DCBD98B, + 2B27B67EF766DFFE63189A65, + AC619C340A422FED6E1D2B8E, + F3E4C4950B56BCDD97FA9CE3, + E34AF63BEB92648DEB162E95, + 85BA0E64E342BC883C3AE865, + 8F577ADFA344AFFFF1517D88, + FAB56EEFBB9546E14858B09B, + AE9A65DF7EEE00C94FF045A5, + 8B6440E84B064661433BD535, + 97DB8D3A89C2CBD7E17647CE, + 080C70FDDC4DFA1127D8EF81, + B57FAE439446BF159DCC8B5D, + 1810CFA1190B5B91047CB868, + 07A018BDEB00B3F4573D5823, + 33E5A9A72A3412AFFC732391, + C2CFD1D6351297676D02F761, A4D855D1ADAAFB1BE7DA16FC, ); name = "juce_gui_basics"; sourceTree = ""; }; 0AC7ABED25A93BBFEB13594B = {isa = PBXGroup; children = ( 393773350CA3B3EA68F785E0, @@ -1366,7 +1356,6 @@ F9D73B4708EF9C39C234B79B, ); name = osc; sourceTree = ""; }; 5BBA8D9ECB9EFD5AD6240FAC = {isa = PBXGroup; children = ( 0AC7ABED25A93BBFEB13594B, - 8C3DF2E0C907479C3DA1FD32, 399469BA3496C8C0CB413C56, ); name = "juce_osc"; sourceTree = ""; }; 3053E0F517C1BD34D36C59CC = {isa = PBXGroup; children = ( 3E082BBABDA4AFA223BBE04B, @@ -1377,15 +1366,15 @@ 5BBA8D9ECB9EFD5AD6240FAC, ); name = "Juce Modules"; sourceTree = ""; }; 795F86C623498B10469AD3CA = {isa = PBXGroup; children = ( 1475D57AE9E4A8D6342AA1A0, - B88E3863BBF92D6B99FAF80D, - 2C48D8AB740EC67F50362309, - FE9E614EEFF0DB6698FFB50A, - B12DDE5BF035D875DFF3618F, - 36F5932B212DC45F306782B6, - 231A1BAE4463A07BA69EA3FF, + 3435DC389125F7A59BE3A085, + F09F75B04E23E4727374C42E, + 135B3CAD8DF1F1EF3EFD73E4, + A3453A7F3CAB5625EE190588, + 2CD2159773ACCE5CAAABDDB6, + 4ACBB6CAFC90015EE05E3B5E, BB5F825662E1D0FFF44D22DF, ); name = "Juce Library Code"; sourceTree = ""; }; C122EA6FE750FD1CF2D3D22D = {isa = PBXGroup; children = ( - 8A070D8C83690074AC5FF3B5, + E3586F7C2316AC6BD9CA1293, B250E795EBF72C06F0B9B4C0, ); name = Resources; sourceTree = ""; }; A68DF290C9C5236595AEAEB7 = {isa = PBXGroup; children = ( 69841546D58D64E5BCC0CD09, @@ -1394,7 +1383,7 @@ 42DBAA5FEB22C47EB3E9A465, 9E51C46CCF8A330F769678CE, ); name = Frameworks; sourceTree = ""; }; E978A0812D52861A2786F473 = {isa = PBXGroup; children = ( - E7A37D21EA1E79DA2B8682C5, ); name = Products; sourceTree = ""; }; + E6F7F38EEF1BA55231F5B1D4, ); name = Products; sourceTree = ""; }; 168BF90B7EF8C12090B0A9B2 = {isa = PBXGroup; children = ( AF6DBEE9D9113EFB7464CADD, 3053E0F517C1BD34D36C59CC, @@ -1402,7 +1391,7 @@ C122EA6FE750FD1CF2D3D22D, A68DF290C9C5236595AEAEB7, E978A0812D52861A2786F473, ); name = Source; sourceTree = ""; }; - DE72B53D3B2406B67A2AEFF2 = {isa = XCBuildConfiguration; buildSettings = { + A2C030EBB24C1B7344C6AE2B = {isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -1420,10 +1409,10 @@ "JUCE_APP_VERSION_HEX=0x10000", ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.plist; INSTALL_PATH = "$(HOME)/Applications"; PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.OSCSender; }; name = Debug; }; - 7FD72A877FE3166C5C80C732 = {isa = XCBuildConfiguration; buildSettings = { + 78984703F810FFE630C99455 = {isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -1442,7 +1431,7 @@ GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.plist; INSTALL_PATH = "$(HOME)/Applications"; PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.OSCSender; }; name = Release; }; 37EE6DAA0F0B202D10D0995B = {isa = XCBuildConfiguration; buildSettings = { @@ -1483,33 +1472,34 @@ TARGETED_DEVICE_FAMILY = "1,2"; WARNING_CFLAGS = -Wreorder; ZERO_LINK = NO; }; name = Release; }; + BAA77A7C6509FD70914EF8EE = {isa = PBXTargetDependency; target = 3D76C0E767055A9B4699DD95; }; ABFD3DA91CD9955D1FEC14F5 = {isa = XCConfigurationList; buildConfigurations = ( 37EE6DAA0F0B202D10D0995B, 7EB14792C6494863A729B9F4, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 09B78D96C6605C37A3D54CE2 = {isa = XCConfigurationList; buildConfigurations = ( - DE72B53D3B2406B67A2AEFF2, - 7FD72A877FE3166C5C80C732, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - D19EF0AAB89876655B5F7D88 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 39783C8C7DACE951DC0EA0C9 = {isa = XCConfigurationList; buildConfigurations = ( + A2C030EBB24C1B7344C6AE2B, + 78984703F810FFE630C99455, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 1E9F219D82037569524E98CF = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( FAC23E7DD6613584348E47CE, ); runOnlyForDeploymentPostprocessing = 0; }; - 25531F11DD67D2C97AE51336 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + CDCF3ED48FB54EFBE0DD9046 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( BBB11FE465015EA2246D0BB6, - 1F513C7D5F08D931CCFC2E8C, - 15107DF286EC1E38D1CE8585, - 3E612804D48097CE749934F7, - CF48DF912BCB35C5C1D2FA9F, - 1BC02582055A355837640A73, - 75E34972D84652086761FF17, ); runOnlyForDeploymentPostprocessing = 0; }; - 1681683EC45679A3F8A1A1F2 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 76A91C0B038E3D28457B1124, + 42E17BAAFBB2CAFAB027AEDD, + 45D0E3A723BFE64C37BF46DB, + 445DFD7645161E372AB50F5B, + F2123ED9B3FB4980D36F80D4, + 345DA5934BAD8ACA0434B957, ); runOnlyForDeploymentPostprocessing = 0; }; + 53E02F5676BF451851C9C06E = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( 1F529E86E1AC69ECADCF9EC1, B1058124749A55CE21C5D191, 8ECB96C6693FC1C2E663B93C, 91BBD074F724A10436BEF6F2, 6808305AD050DD69D8392084, ); runOnlyForDeploymentPostprocessing = 0; }; - ADE1FFA5285E137F07F72012 = {isa = PBXNativeTarget; buildConfigurationList = 09B78D96C6605C37A3D54CE2; buildPhases = ( - D19EF0AAB89876655B5F7D88, - 25531F11DD67D2C97AE51336, - 1681683EC45679A3F8A1A1F2, ); buildRules = ( ); dependencies = ( ); name = OSCSender; productName = OSCSender; productReference = E7A37D21EA1E79DA2B8682C5; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; - 9CD8E1E30EDAF4E86990F260 = {isa = PBXProject; buildConfigurationList = ABFD3DA91CD9955D1FEC14F5; attributes = { LastUpgradeCheck = 0440; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 168BF90B7EF8C12090B0A9B2; projectDirPath = ""; projectRoot = ""; targets = ( ADE1FFA5285E137F07F72012 ); }; + 3D76C0E767055A9B4699DD95 = {isa = PBXNativeTarget; buildConfigurationList = 39783C8C7DACE951DC0EA0C9; buildPhases = ( + 1E9F219D82037569524E98CF, + CDCF3ED48FB54EFBE0DD9046, + 53E02F5676BF451851C9C06E, ); buildRules = ( ); dependencies = ( ); name = "OSCSender (App)"; productName = OSCSender; productReference = E6F7F38EEF1BA55231F5B1D4; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; + 9CD8E1E30EDAF4E86990F260 = {isa = PBXProject; buildConfigurationList = ABFD3DA91CD9955D1FEC14F5; attributes = { LastUpgradeCheck = 0440; TargetAttributes = { 3D76C0E767055A9B4699DD95 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 168BF90B7EF8C12090B0A9B2; projectDirPath = ""; projectRoot = ""; targets = (3D76C0E767055A9B4699DD95); }; }; rootObject = 9CD8E1E30EDAF4E86990F260; } diff --git a/examples/OSCSender/JuceLibraryCode/AppConfig.h b/examples/OSCSender/JuceLibraryCode/AppConfig.h index c68212ec84..0a7d60ab4e 100644 --- a/examples/OSCSender/JuceLibraryCode/AppConfig.h +++ b/examples/OSCSender/JuceLibraryCode/AppConfig.h @@ -4,8 +4,8 @@ project - if you alter its contents, your changes may be overwritten! There's a section below where you can add your own custom code safely, and the - Introjucer will preserve the contents of that block, but the best way to change - any of these definitions is by using the Introjucer's project settings. + Projucer will preserve the contents of that block, but the best way to change + any of these definitions is by using the Projucer's project settings. Any commented-out settings will assume their default values. @@ -17,7 +17,7 @@ //============================================================================== // [BEGIN_USER_CODE_SECTION] -// (You can add your own code in this section, and the Introjucer will not overwrite it) +// (You can add your own code in this section, and the Projucer will not overwrite it) // [END_USER_CODE_SECTION] @@ -31,9 +31,15 @@ //============================================================================== #ifndef JUCE_STANDALONE_APPLICATION - #define JUCE_STANDALONE_APPLICATION 1 + #ifdef JucePlugin_Build_Standalone + #define JUCE_STANDALONE_APPLICATION JucePlugin_Build_Standalone + #else + #define JUCE_STANDALONE_APPLICATION 1 + #endif #endif +#define JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED 1 + //============================================================================== // juce_core flags: diff --git a/examples/OSCSender/JuceLibraryCode/JuceHeader.h b/examples/OSCSender/JuceLibraryCode/JuceHeader.h index 1ee9b7153d..2e2c99ba4d 100644 --- a/examples/OSCSender/JuceLibraryCode/JuceHeader.h +++ b/examples/OSCSender/JuceLibraryCode/JuceHeader.h @@ -14,12 +14,14 @@ #define __APPHEADERFILE_RYSVAR__ #include "AppConfig.h" -#include "modules/juce_core/juce_core.h" -#include "modules/juce_data_structures/juce_data_structures.h" -#include "modules/juce_events/juce_events.h" -#include "modules/juce_graphics/juce_graphics.h" -#include "modules/juce_gui_basics/juce_gui_basics.h" -#include "modules/juce_osc/juce_osc.h" + +#include +#include +#include +#include +#include +#include + #if ! DONT_SET_USING_JUCE_NAMESPACE // If your code uses a lot of JUCE classes, then this will obviously save you diff --git a/examples/OSCSender/JuceLibraryCode/ReadMe.txt b/examples/OSCSender/JuceLibraryCode/ReadMe.txt index f6c3564e99..091a5aa6eb 100644 --- a/examples/OSCSender/JuceLibraryCode/ReadMe.txt +++ b/examples/OSCSender/JuceLibraryCode/ReadMe.txt @@ -2,11 +2,11 @@ Important Note!! ================ -The purpose of this folder is to contain files that are auto-generated by the Introjucer, +The purpose of this folder is to contain files that are auto-generated by the Projucer, and ALL files in this folder will be mercilessly DELETED and completely re-written whenever -the Introjucer saves your project. +the Projucer saves your project. Therefore, it's a bad idea to make any manual changes to the files in here, or to put any of your own files in here if you don't want to lose them. (Of course you may choose to add the folder's contents to your version-control system so that you can re-merge your own -modifications after the Introjucer has saved its changes). +modifications after the Projucer has saved its changes). diff --git a/examples/OSCSender/JuceLibraryCode/juce_core.cpp b/examples/OSCSender/JuceLibraryCode/juce_core.cpp new file mode 100644 index 0000000000..d0ce1636f0 --- /dev/null +++ b/examples/OSCSender/JuceLibraryCode/juce_core.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCSender/JuceLibraryCode/juce_core.mm b/examples/OSCSender/JuceLibraryCode/juce_core.mm new file mode 100644 index 0000000000..72b10bf817 --- /dev/null +++ b/examples/OSCSender/JuceLibraryCode/juce_core.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCSender/JuceLibraryCode/juce_data_structures.cpp b/examples/OSCSender/JuceLibraryCode/juce_data_structures.cpp new file mode 100644 index 0000000000..9315aa1686 --- /dev/null +++ b/examples/OSCSender/JuceLibraryCode/juce_data_structures.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCSender/JuceLibraryCode/juce_data_structures.mm b/examples/OSCSender/JuceLibraryCode/juce_data_structures.mm new file mode 100644 index 0000000000..695ec43925 --- /dev/null +++ b/examples/OSCSender/JuceLibraryCode/juce_data_structures.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCSender/JuceLibraryCode/juce_events.cpp b/examples/OSCSender/JuceLibraryCode/juce_events.cpp new file mode 100644 index 0000000000..1bba110a97 --- /dev/null +++ b/examples/OSCSender/JuceLibraryCode/juce_events.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCSender/JuceLibraryCode/juce_events.mm b/examples/OSCSender/JuceLibraryCode/juce_events.mm new file mode 100644 index 0000000000..4cc34fc401 --- /dev/null +++ b/examples/OSCSender/JuceLibraryCode/juce_events.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCSender/JuceLibraryCode/juce_graphics.cpp b/examples/OSCSender/JuceLibraryCode/juce_graphics.cpp new file mode 100644 index 0000000000..319c76de0e --- /dev/null +++ b/examples/OSCSender/JuceLibraryCode/juce_graphics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCSender/JuceLibraryCode/juce_graphics.mm b/examples/OSCSender/JuceLibraryCode/juce_graphics.mm new file mode 100644 index 0000000000..b28e6dd056 --- /dev/null +++ b/examples/OSCSender/JuceLibraryCode/juce_graphics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCSender/JuceLibraryCode/juce_gui_basics.cpp b/examples/OSCSender/JuceLibraryCode/juce_gui_basics.cpp new file mode 100644 index 0000000000..216c76bb05 --- /dev/null +++ b/examples/OSCSender/JuceLibraryCode/juce_gui_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCSender/JuceLibraryCode/juce_gui_basics.mm b/examples/OSCSender/JuceLibraryCode/juce_gui_basics.mm new file mode 100644 index 0000000000..6a9726fa5f --- /dev/null +++ b/examples/OSCSender/JuceLibraryCode/juce_gui_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCSender/JuceLibraryCode/juce_osc.cpp b/examples/OSCSender/JuceLibraryCode/juce_osc.cpp new file mode 100644 index 0000000000..0c3b9ae974 --- /dev/null +++ b/examples/OSCSender/JuceLibraryCode/juce_osc.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OSCSender/JuceLibraryCode/modules/juce_core/juce_core.h b/examples/OSCSender/JuceLibraryCode/modules/juce_core/juce_core.h deleted file mode 100644 index 06e88f9352..0000000000 --- a/examples/OSCSender/JuceLibraryCode/modules/juce_core/juce_core.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_core/juce_core.h" diff --git a/examples/OSCSender/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h b/examples/OSCSender/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h deleted file mode 100644 index 9d814fd953..0000000000 --- a/examples/OSCSender/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_data_structures/juce_data_structures.h" diff --git a/examples/OSCSender/JuceLibraryCode/modules/juce_events/juce_events.h b/examples/OSCSender/JuceLibraryCode/modules/juce_events/juce_events.h deleted file mode 100644 index 509b1df8d2..0000000000 --- a/examples/OSCSender/JuceLibraryCode/modules/juce_events/juce_events.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_events/juce_events.h" diff --git a/examples/OSCSender/JuceLibraryCode/modules/juce_graphics/juce_graphics.h b/examples/OSCSender/JuceLibraryCode/modules/juce_graphics/juce_graphics.h deleted file mode 100644 index 28edbf35e3..0000000000 --- a/examples/OSCSender/JuceLibraryCode/modules/juce_graphics/juce_graphics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_graphics/juce_graphics.h" diff --git a/examples/OSCSender/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h b/examples/OSCSender/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h deleted file mode 100644 index 81ad4b7297..0000000000 --- a/examples/OSCSender/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_gui_basics/juce_gui_basics.h" diff --git a/examples/OSCSender/JuceLibraryCode/modules/juce_osc/juce_osc.h b/examples/OSCSender/JuceLibraryCode/modules/juce_osc/juce_osc.h deleted file mode 100644 index 40bdd4441b..0000000000 --- a/examples/OSCSender/JuceLibraryCode/modules/juce_osc/juce_osc.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_osc/juce_osc.h" diff --git a/examples/OSCSender/OSCSender.jucer b/examples/OSCSender/OSCSender.jucer index da61fa6238..f2dbcadc8b 100644 --- a/examples/OSCSender/OSCSender.jucer +++ b/examples/OSCSender/OSCSender.jucer @@ -2,7 +2,7 @@ + jucerVersion="4.2.0"> @@ -58,7 +58,7 @@ - + @@ -79,7 +79,9 @@ androidKeyStore="${user.home}/.android/debug.keystore" androidKeyStorePass="android" androidKeyAlias="androiddebugkey" androidKeyAliasPass="android" androidCpp11="1" targetFolder="Builds/AndroidStudio" androidSDKPath="" - androidNDKPath="" androidScreenOrientation="unspecified"> + androidNDKPath="" androidScreenOrientation="unspecified" gradleVersion="2.10" + gradleWrapperVersion="0.6.0-beta5" gradleToolchain="clang" gradleToolchainVersion="3.6" + buildToolsVersion="23.0.1"> diff --git a/examples/OSCSender/Source/Main.cpp b/examples/OSCSender/Source/Main.cpp index 5828b1eefe..1d1e0bfa87 100644 --- a/examples/OSCSender/Source/Main.cpp +++ b/examples/OSCSender/Source/Main.cpp @@ -1,7 +1,7 @@ /* ============================================================================== - This file was auto-generated by the Introjucer! + This file was auto-generated by the Projucer! It contains the basic startup code for a Juce application. diff --git a/examples/OSCSender/Source/MainComponent.h b/examples/OSCSender/Source/MainComponent.h index 3b4e5e959d..85997bb344 100644 --- a/examples/OSCSender/Source/MainComponent.h +++ b/examples/OSCSender/Source/MainComponent.h @@ -20,7 +20,7 @@ class MainContentComponent : public Component, private Slider::Listener { public: - //========================================================================== + //============================================================================== MainContentComponent() { setSize (200, 200); @@ -38,7 +38,7 @@ public: } private: - //========================================================================== + //============================================================================== void sliderValueChanged (Slider* slider) override { if (slider == &rotaryKnob) @@ -58,7 +58,7 @@ private: "OK"); } - //========================================================================== + //============================================================================== Slider rotaryKnob; OSCSender sender; diff --git a/examples/OpenGLAppExample/Builds/MacOSX/Info.plist b/examples/OpenGLAppExample/Builds/MacOSX/Info-App.plist similarity index 88% rename from examples/OpenGLAppExample/Builds/MacOSX/Info.plist rename to examples/OpenGLAppExample/Builds/MacOSX/Info-App.plist index 7dd557e9c1..ddde97cb2e 100644 --- a/examples/OpenGLAppExample/Builds/MacOSX/Info.plist +++ b/examples/OpenGLAppExample/Builds/MacOSX/Info-App.plist @@ -11,6 +11,8 @@ $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName OpenGLAppExample + CFBundleDisplayName + OpenGLAppExample CFBundlePackageType APPL CFBundleSignature diff --git a/examples/OpenGLAppExample/Builds/MacOSX/OpenGLAppExample.xcodeproj/project.pbxproj b/examples/OpenGLAppExample/Builds/MacOSX/OpenGLAppExample.xcodeproj/project.pbxproj index 31d00de638..f24b2bc6d4 100644 --- a/examples/OpenGLAppExample/Builds/MacOSX/OpenGLAppExample.xcodeproj/project.pbxproj +++ b/examples/OpenGLAppExample/Builds/MacOSX/OpenGLAppExample.xcodeproj/project.pbxproj @@ -6,6 +6,7 @@ objectVersion = 46; objects = { + A795ACBDD9D51ADDC86EAA03 = {isa = PBXBuildFile; fileRef = 7451C664E0B1FF42F028813E; }; F2E327A47E10F43D6991A306 = {isa = PBXBuildFile; fileRef = 50151F5E1EA38C0768AD9AC8; }; 7FF434A451FC85BF1B79BC7F = {isa = PBXBuildFile; fileRef = 3948321FE783006946DC8F1F; }; 96CB0F03F9B80A334DEA2147 = {isa = PBXBuildFile; fileRef = DB3D37600C745E6F62C5A04B; }; @@ -23,22 +24,21 @@ 5211AFD1D8E7FD62EDA703A9 = {isa = PBXBuildFile; fileRef = 75A8F56B635DA7158E472382; }; 6A909F1AEE38A7340456EBBD = {isa = PBXBuildFile; fileRef = 82443CD4F42884B9D33A85EA; }; 1E0BAEC7950969D956E912F1 = {isa = PBXBuildFile; fileRef = 9BBC3E0155BC3F36F21F7EBB; }; - 4FC452CEC761FB0515E83B9C = {isa = PBXBuildFile; fileRef = C62300B9478B60BCBE254256; }; - 6790BEB5EE46E3DF6332536F = {isa = PBXBuildFile; fileRef = D4A815675983D742D87E37A5; }; - D4371AC9EBB0CA9B69C81C98 = {isa = PBXBuildFile; fileRef = FBDBBE33AEF062A1457DAA42; }; - 5EB3C30963D75E7D43D6AD9A = {isa = PBXBuildFile; fileRef = BA895F5D0FC2F40DA0566469; }; - 238A6E94B07DB483C42E0D18 = {isa = PBXBuildFile; fileRef = 3ED09149246BD2CC3D114FB1; }; - 8A7C3FEF41B5A5913396E7B1 = {isa = PBXBuildFile; fileRef = 7BE9659292437455B77D53F1; }; - 148EA191DA9D3066A3C4EEEC = {isa = PBXBuildFile; fileRef = 353C4A5B04236912332BDB1E; }; - BEE9A8C926B45616AC4426AB = {isa = PBXBuildFile; fileRef = 4DDD5CACDD472784437AB83C; }; - 0A0FD3B4C732A965C2642CC8 = {isa = PBXBuildFile; fileRef = C0C66A94FBDE992AAD71C698; }; - 978A2567AA64957C61694427 = {isa = PBXBuildFile; fileRef = C3B0CE7BC50EE3F20BB261EC; }; - 913CB51D1475C7F94739502A = {isa = PBXBuildFile; fileRef = D782993D6DAF0AF948A62517; }; - D54B744850AA08DC348CE8D8 = {isa = PBXBuildFile; fileRef = F07914AFCF34610BAC0D3B0B; }; - 938FA7CCB4CD0A844BE6509F = {isa = PBXBuildFile; fileRef = 757D9E8B34634C0E899922F9; }; + 89E271F0AA9BE0BAE25C81BE = {isa = PBXBuildFile; fileRef = B83B338872C55E6D45712876; }; + 07D2DA592C4771FDEFDC4C7C = {isa = PBXBuildFile; fileRef = 4F63D18FC561C73DB30F8DDF; }; + 476330359A11D92B4857933B = {isa = PBXBuildFile; fileRef = F1614F65F78F3C92905C4606; }; + 408AED5D2F268207F80FC34E = {isa = PBXBuildFile; fileRef = C8F0C1EE7EFDCAA00E60D0D3; }; + 27D522CB1FB5FF45E7F8020B = {isa = PBXBuildFile; fileRef = 7AA89B16C96F2D93ACCD890A; }; + 3918D477E26B62DEBAA8CA73 = {isa = PBXBuildFile; fileRef = B08F95FF3710D93311D9A632; }; + C53A706E7463F512B6EDDFDB = {isa = PBXBuildFile; fileRef = FA1913317AD3CD9084390E3A; }; + F757610703AC3F5B846F5A91 = {isa = PBXBuildFile; fileRef = 9452E573D4F681FC69684E37; }; + F0BD17D5E6592DBEAE2A6E32 = {isa = PBXBuildFile; fileRef = 668F50B473043F3047171F60; }; + 75AAD97ED0D47661D8E53E44 = {isa = PBXBuildFile; fileRef = 842E70AA39E7DAF8F20A094C; }; + 469074B4DBAAC675F9030DB7 = {isa = PBXBuildFile; fileRef = 290556EFA38716E08426338C; }; + 9FC0D7597A01E798BAB9097F = {isa = PBXBuildFile; fileRef = 25BAF0F0D2A6BF4BDC23C78A; }; + 79F1A1735711D07C259AEF15 = {isa = PBXBuildFile; fileRef = 5A920C68F8B3292144B1BC95; }; 003AAB5BFC9435FA4823BA2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_CameraDevice.cpp"; path = "../../../../modules/juce_video/native/juce_win32_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; 00A864993620E35F6951A372 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; - 014A45F4DF5D4B850A2E712D = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_data_structures/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 015766ED6CD9D55279FC884A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; }; 019CD85E295A7290855D0C24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; }; 01B29765150B583E2460837C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarComponent.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -74,7 +74,6 @@ 0E1CA391708ADDE3952BF147 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; 0ED63C3FFD7B718988BDDAFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLExtensions.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h"; sourceTree = "SOURCE_ROOT"; }; 0F0458EF50C559CFF42DDC67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; }; - 0F1752D7FC9D89588551D5C3 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 0F7BCDE5E324E86EEA86BA7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; }; 0F7EB01A494A7D2D347B9167 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 103DC7AD553B89B350BDB4BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEInstrument.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -149,6 +148,7 @@ 254F2F62D02E4B48191083CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; }; 2553F95186E2565315E012CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_linux.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_linux.h"; sourceTree = "SOURCE_ROOT"; }; 25B327FEFEA517FB80B16EA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; }; + 25BAF0F0D2A6BF4BDC23C78A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../JuceLibraryCode/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; 25D7DC711CE171A1F8DBFF05 = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; sourceTree = "SOURCE_ROOT"; }; 260D03D00CBF739BB3A2F604 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; }; 266A60D0C3095B8F7F16751E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; @@ -167,12 +167,12 @@ 28BF10B49B1D14FE05CBC5DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; }; 28DEE4AF47201ED83DFD5875 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 28ECC3EF6106E7DB0E4F256C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; }; + 290556EFA38716E08426338C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; 2931E23782DDD4761EA6E711 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; }; 293D0E58C45CE26287E99822 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 2951B1B0EE3CE714426016F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; 2A274CF384892F3968889E0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; }; 2A5F9649D883210E5C67CEE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; }; - 2A765F108608FDD8B2089BD1 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_cryptography/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 2B0C5F6413890F30078E6B59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterInt.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h"; sourceTree = "SOURCE_ROOT"; }; 2B3AC78362419CA5F13A91F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserVoice.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h"; sourceTree = "SOURCE_ROOT"; }; 2B594B1579F4770CA36E870C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -212,7 +212,6 @@ 33FDA12B0256C2A4BD51B11E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 343BF0E7697F399B08D42CB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; }; 34CBE9CCD9B23B1405C76D9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; }; - 353C4A5B04236912332BDB1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; 3545CC1CCF501BDBFF528908 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 354636C92CDB97DAF80D1E6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; }; 355B143DFA326CC401844099 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; }; @@ -220,13 +219,13 @@ 35641C490EE335DDFF004FEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnection.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp"; sourceTree = "SOURCE_ROOT"; }; 356A77E7E341874950015BD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; 35748B2B69B3A54D19679F3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; }; - 3594634D87002997155671C1 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_formats/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 35B404161217DAE32CC143CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLGraphicsContext.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; 35F6D65077550D282646AC8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; }; 360B3CDCB046B9D69C6F5ED4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; }; 36632604A700FC8F53169301 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; }; 3693D26AD61B3B089A2B9CEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; }; 36C81D39EEE59DF7D8AB0E0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; }; + 37A2A74491B5D8BB1A04C813 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-App.plist"; path = "Info-App.plist"; sourceTree = "SOURCE_ROOT"; }; 37BD426B7B7DD8BB3EF562A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 38043242051AD4996B081769 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; }; 38A0CFC456FB82927DF8B990 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyListener.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h"; sourceTree = "SOURCE_ROOT"; }; @@ -263,13 +262,11 @@ 3E85ACEDFE88D01251E25E24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LeakedObjectDetector.h"; path = "../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h"; sourceTree = "SOURCE_ROOT"; }; 3EA7A5F6F6D13A68653F06E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_File.h"; path = "../../../../modules/juce_core/files/juce_File.h"; sourceTree = "SOURCE_ROOT"; }; 3ECBCBB5D76AD9DDE65BD81A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; }; - 3ED09149246BD2CC3D114FB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; 3F02F103D0EA0D398FA2A95D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; 3F20765E456B1B8FF59C2461 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 3F312C95E458F86E5D814AD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; }; 3F32203D512AD417AE3548E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; }; 3F57F6B58B93E88A29F90809 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; }; - 3FB32BF0AB8E9BD398E92361 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_opengl/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 406587D828CD424333E55C81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; }; 40ACA092AB6B933E39268DAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; 40E971224B83783243521871 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -317,11 +314,11 @@ 4C9A8BA6A094DC3490CF25B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; }; 4CAE848C3F30163816E921DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MD5.h"; path = "../../../../modules/juce_cryptography/hashing/juce_MD5.h"; sourceTree = "SOURCE_ROOT"; }; 4D95426C0ADAF01F92462C1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorListener.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h"; sourceTree = "SOURCE_ROOT"; }; - 4DDD5CACDD472784437AB83C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; 4E053EF00EC72441FCC9A6ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLPixelFormat.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 4E4A47F8BEEF90A57C0C98C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Sampler.h"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.h"; sourceTree = "SOURCE_ROOT"; }; 4EBBA20040624174084744DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; 4EDEB6768212BFBBDFC1CEFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4F63D18FC561C73DB30F8DDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../JuceLibraryCode/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; 4F70D57A0CFEEC0D7FADCB9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 4F9D0FABF1E74572460D086C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLImage.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLImage.cpp"; sourceTree = "SOURCE_ROOT"; }; 4FBA6C32DE977B1330BAD5DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; }; @@ -361,6 +358,7 @@ 5989B7979A4446D163FD7E13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; 59B2E8822B445FDD2BC590B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; 59C461E6BF35CEC17FB2C9DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Primes.h"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.h"; sourceTree = "SOURCE_ROOT"; }; + 5A920C68F8B3292144B1BC95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../JuceLibraryCode/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; 5AFAF9A5651C30F1FF28A76A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_osx.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_osx.h"; sourceTree = "SOURCE_ROOT"; }; 5B546C6ED44CAF4197788BC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BooleanPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 5B5D589850B147BE94D01D42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; }; @@ -398,6 +396,7 @@ 663F74D8282001BEA5E93096 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_QuickTimeAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 665600E48FF051CFE90C698D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; 66634B351B20F6B1F16ED9D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; }; + 668F50B473043F3047171F60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../JuceLibraryCode/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; 66B35673D58EF4ABC6C50824 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiDataConcatenator.h"; path = "../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h"; sourceTree = "SOURCE_ROOT"; }; 66CFF6B31868957CCF9A1C68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDirectoryScanner.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h"; sourceTree = "SOURCE_ROOT"; }; 67066EE59E69BCD634D38ABA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; }; @@ -426,7 +425,6 @@ 6C3B851F65AB406E5B6CAF7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; }; 6C4A5B3781D999AFA15F1016 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; }; 6C5F536D935CF788C07424CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; - 6C8C142D26BAD246C4ECC102 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_video/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 6C91F33E01BD39630B255C47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; 6CDDF198D9632DA763449E05 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; 6CE60A4F64042BC1A2391987 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; }; @@ -463,9 +461,9 @@ 73861DEE4EEBFF77B6293F90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 7392F4B60E4E28A340E465BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 73B62E5AA67F4B0483ED680F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; + 7451C664E0B1FF42F028813E = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = OpenGLAppExample.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; 74E1A5ECBC09930A520D1A98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; }; 74E37866C31A35A559E1E80D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 757D9E8B34634C0E899922F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../../../modules/juce_video/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; 7581EDAFA0B1746EC8139077 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; }; 759899A48CDE9705331F456E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h"; sourceTree = "SOURCE_ROOT"; }; 75A8F56B635DA7158E472382 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MainComponent.cpp; path = ../../Source/MainComponent.cpp; sourceTree = "SOURCE_ROOT"; }; @@ -492,12 +490,12 @@ 79F7E702E92F8B23B6BCA74E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 7A76BF61E569CCC96B9E16DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; 7A9C6994055A82AFC438626A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageSequence.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h"; sourceTree = "SOURCE_ROOT"; }; + 7AA89B16C96F2D93ACCD890A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; 7B1C3855706B615C704556DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToneGeneratorAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 7B751B8BF3344D7C0980DAD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; 7B7B6659C2DD68F2373F9D3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; 7BAEC8D30E310460FB3FC406 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; 7BD85F5BFF691F3E548BC8B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; }; - 7BE9659292437455B77D53F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../../../modules/juce_cryptography/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; 7C2A56B41F84CF25DC4D7C7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleMessageComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 7C2C344C1697462278777A3C = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = System/Library/Frameworks/QTKit.framework; sourceTree = SDKROOT; }; 7C388E6394CB0A8C4C919751 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -522,6 +520,7 @@ 838BB45D693ED0AAD43B93C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Draggable3DOrientation.h"; path = "../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h"; sourceTree = "SOURCE_ROOT"; }; 83C4DBF3382367051A65FF4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemStats.cpp"; path = "../../../../modules/juce_core/system/juce_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; 83ED74D05C2699811929138C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SHA256.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp"; sourceTree = "SOURCE_ROOT"; }; + 842E70AA39E7DAF8F20A094C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 842FF0D158A48BD9C1651800 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; }; 84E689978B0D7D84B1A39C77 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; 850622AD96A6D025EC1E832D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -572,6 +571,7 @@ 92C99A9D9E9BCABE2AE26B9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 92E26ABEFD096B05F99EE036 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableEdgeComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h"; sourceTree = "SOURCE_ROOT"; }; 942393EC874CEC183B67641C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9452E573D4F681FC69684E37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; 94D011BBB3D330AEDAC86D11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; }; 9538D93554F08C0FDA9393E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTreeSynchroniser.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h"; sourceTree = "SOURCE_ROOT"; }; 966F24941F855EA74A2A8914 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LADSPAPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -579,7 +579,6 @@ 975BBC01D0C62E087E6246ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; }; 976CA25A81DCEEA8E07D2508 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginListComponent.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 976E37CE9482096F8A82A8CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; }; - 97C71C2DD318EDB304FC1CEB = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_extra/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 983FBC7E850263512E41D13D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReaderSource.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 985C549EBDB26AF7BFD6E8A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CameraDevice.h"; path = "../../../../modules/juce_video/capture/juce_CameraDevice.h"; sourceTree = "SOURCE_ROOT"; }; 98EC0D95FAEDE6ACB31FE1AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Whirlpool.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_Whirlpool.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -595,7 +594,6 @@ 9BECE88C6AB34861AF408C37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; }; 9C0906C06A9D1558C2982BC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; }; 9C52165BC295637D495791C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 9C56D1AE6B7768F6E27D8F31 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_processors/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 9CABACB9A2FF46A8B3059D8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; }; 9CF41B989B4516C8DB6CF7A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; }; 9D87175DE3988B783002560D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLFrameBuffer.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -607,7 +605,6 @@ 9FC9151FD7741CA152E57FDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZoneLayout.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; 9FE8D5E52AC84BCDEE8B414B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; A021D917DFD4DD5D4703913C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; }; - A061F1646238A35ED0BDA32A = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_events/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; A07D0C5C60BE446FD41ADE51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceManager.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h"; sourceTree = "SOURCE_ROOT"; }; A1593C95C327810AC73A73F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPENote.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp"; sourceTree = "SOURCE_ROOT"; }; A19D3050F95BFD17129EA013 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; }; @@ -634,10 +631,12 @@ A878B40B811C4B83658F6A60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; A87A60BF515078DF23E1F737 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; }; A8A190EDD8CED5ACF3AEE2C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiInput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h"; sourceTree = "SOURCE_ROOT"; }; + A937C45D53029A6BD6DA500B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiFile.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.h"; sourceTree = "SOURCE_ROOT"; }; AA54E821F947C9A9DC359693 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; AA55BD139AEC1B8272ABE461 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; AA6A795F8A452B980C91770B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlacAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; AA8A3E0CF7623249B2907DB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; }; + AA921522ADD7F6F4A371C1EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPENote.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.h"; sourceTree = "SOURCE_ROOT"; }; AABFFB2D2D9F9BB39C95BA25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioTransportSource.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp"; sourceTree = "SOURCE_ROOT"; }; AB3CF49071E6EEF217783B8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; AB540AC77FB76E3B498E98A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; }; @@ -659,6 +658,7 @@ AF80D629DF6AF8EEB11DE598 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; }; AFBCB46AC109F4982F012C0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; }; B05257BD950E35B28F9E88CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + B08F95FF3710D93311D9A632 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../JuceLibraryCode/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; B0E21FE9C68B99E4C751DF13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_QuickTimeMovieComponent.cpp"; path = "../../../../modules/juce_video/native/juce_win32_QuickTimeMovieComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; B0FB5996D7068C230DC6D8E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; B0FE76D91413C32F64610594 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; }; @@ -684,22 +684,25 @@ B73DF787FC51F08E279923A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; B7612EA3B34C6AC48079A447 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Headers.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h"; sourceTree = "SOURCE_ROOT"; }; B77BD5847F412656109A378E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextInputTarget.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h"; sourceTree = "SOURCE_ROOT"; }; + B83B338872C55E6D45712876 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../JuceLibraryCode/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; B84BA430E8F477AB2EDC45CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PositionableAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; B8A6BFA35FDD1F48C1E4E688 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; B8C996306428DFB642CBFB14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; }; B8EF2AF777B74156958B72CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; }; B91A8133C3474D98AB6300CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Desktop.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.cpp"; sourceTree = "SOURCE_ROOT"; }; + B97C816F9CBDE00E567E3144 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp"; sourceTree = "SOURCE_ROOT"; }; + B9871E42658CC4E48462960A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZone.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.cpp"; sourceTree = "SOURCE_ROOT"; }; B99DD4C6D8C8F58C83ADD7CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_win32.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_win32.h"; sourceTree = "SOURCE_ROOT"; }; B9B0A3004948FA2387C28829 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Matrix3D.h"; path = "../../../../modules/juce_opengl/geometry/juce_Matrix3D.h"; sourceTree = "SOURCE_ROOT"; }; B9EB38A9A966EBB9A359DED3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; }; BA5A9BB00CD8BEA408371875 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V1.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp"; sourceTree = "SOURCE_ROOT"; }; BA5DE80E67A74A41D57E7663 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; - BA895F5D0FC2F40DA0566469 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; BA99F87A1BC936C566A0DFA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; BB4B7332B8B456297344608E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; }; BB7442FBD89AFCE6AE14E0AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; }; BB8AD6D858D518E804AFA0C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; }; BBECF34C65D1DD35DE8C6F9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_QuickTimeMovieComponent.mm"; path = "../../../../modules/juce_video/native/juce_mac_QuickTimeMovieComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + BC35263317084BA60132B43D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; }; BC586A21CD33D786C4472FD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; }; BC7C088D053711418A5A5698 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; BCD3969359F2EB2EB970C412 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; }; @@ -715,65 +718,53 @@ BEFB2034FC381E2DD019E372 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; }; C007BC3372F44746BD6E98C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; C02F8C844FAD835F09408406 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + C04188D62834AAE749694751 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; C05E16AAF0CF0676135C0C9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; }; C0A37CB25E8C40792454E820 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; - C0C66A94FBDE992AAD71C698 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; + C0AC297D17FA68BBAB417A64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; }; C159C35E078C5B5B9BFEFB52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; }; C1A299D4A5AAEA645975EEB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; C24880A7007CE75B7F8BBD71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; }; C2B61447889E781465E49AC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; }; C33DDF76E058D3E11E61DE63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; + C3983DF936C4501C564FFF0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserBase.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h"; sourceTree = "SOURCE_ROOT"; }; C3A68B435020C80FC29DB89D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; - C3B0CE7BC50EE3F20BB261EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; C3B93391519DA8A352766580 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; C3E4252156EDD0E001A10DE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; + C407BCC7CEC505584B25682E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; C45B9350ECC13FC8096D3873 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; }; C48140923F2A4DEDBA063DFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; }; + C50CE0A0485507647C78F30E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; }; C50DA493E57234B3820BD77A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; }; C52847A293D0E8958E88DFD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MarkerList.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h"; sourceTree = "SOURCE_ROOT"; }; C568E8888819EAFDCAEAF04F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; }; C57BA5F014343276128923F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WebBrowserComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; - C7BB125979760AE4264BF23E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; }; - C82D3226C2974C9A7A567173 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FFT.h"; path = "../../../../modules/juce_audio_basics/effects/juce_FFT.h"; sourceTree = "SOURCE_ROOT"; }; - C936095A19665316F5B675CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; - CA3D1FE94B500CF86704EB13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; - CC42DBFB2ABA84046DD69E1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; }; - CE11BC7911220E9CFA1283D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; - CE28252C42BBA94C930CF460 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = "SOURCE_ROOT"; }; - D476B9FCEF30511BC736C744 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; - D8FDF81708D362F909F5421B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LagrangeInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; - DB3D37600C745E6F62C5A04B = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; - 5802E3490BEAFD892C837E2A = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = OpenGLAppExample.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; - A937C45D53029A6BD6DA500B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiFile.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.h"; sourceTree = "SOURCE_ROOT"; }; - AA921522ADD7F6F4A371C1EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPENote.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.h"; sourceTree = "SOURCE_ROOT"; }; - B97C816F9CBDE00E567E3144 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp"; sourceTree = "SOURCE_ROOT"; }; - B9871E42658CC4E48462960A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZone.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.cpp"; sourceTree = "SOURCE_ROOT"; }; - BC35263317084BA60132B43D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; }; - C04188D62834AAE749694751 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; - C0AC297D17FA68BBAB417A64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; }; - C3983DF936C4501C564FFF0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserBase.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h"; sourceTree = "SOURCE_ROOT"; }; - C407BCC7CEC505584B25682E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; - C50CE0A0485507647C78F30E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; }; C599A55407B6EB6AD55AE73C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; }; - C62300B9478B60BCBE254256 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; C64D47A361026A76FC9BA9B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; C66D4CDC39A565833178EB0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; C6B9F01A0AAA2A1DA8122912 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; }; C719606229204044D7C85339 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; C7BABEEA061F989A0A74F708 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; }; + C7BB125979760AE4264BF23E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; }; C7F47C1BEDD7EE514BA40C27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + C82D3226C2974C9A7A567173 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FFT.h"; path = "../../../../modules/juce_audio_basics/effects/juce_FFT.h"; sourceTree = "SOURCE_ROOT"; }; C8B71823C30A65066A852942 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; }; C8CEDA86517FE447F3A3DCF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + C8F0C1EE7EFDCAA00E60D0D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../JuceLibraryCode/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; C8FDA55A72DC4A244703C8F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + C936095A19665316F5B675CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; C9CD8A1AB4DAA664557DEBDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Common.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h"; sourceTree = "SOURCE_ROOT"; }; + CA3D1FE94B500CF86704EB13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; CBF3ED31F58A0874E0E9A64B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; CC0ED57DE1266CEB11001787 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; CC1AE8EECC77B1915D24C9DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilterAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; CC3E6F8333AA2D98AAC1235E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; }; + CC42DBFB2ABA84046DD69E1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; }; CC83A115FBF5C65772BBFAE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectShowComponent.h"; path = "../../../../modules/juce_video/playback/juce_DirectShowComponent.h"; sourceTree = "SOURCE_ROOT"; }; CD27B64646C58118052C3459 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; CD44827B5286ADE94DB0B79C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Vector3D.h"; path = "../../../../modules/juce_opengl/geometry/juce_Vector3D.h"; sourceTree = "SOURCE_ROOT"; }; CD71ED4911896207B303106F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + CE11BC7911220E9CFA1283D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; CE5CDD52C447D5DCC7DE1259 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODeviceType.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h"; sourceTree = "SOURCE_ROOT"; }; CE9CAFB040BE90431A432537 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; CEB259E27BB64776AF6BF076 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -796,7 +787,7 @@ D2EBB6A92000349A92809F02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; }; D33BA771F1FA8F73233004EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; D37936ED5B5A415DF1F5F2C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; }; - D4A815675983D742D87E37A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; + D476B9FCEF30511BC736C744 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; D4CA818D9DA2269EBCE376DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemAudioVolume.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h"; sourceTree = "SOURCE_ROOT"; }; D521465375DD0F179649668B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; }; D53FD6223C4A997E441E1F80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -806,11 +797,10 @@ D6AC70136461C6F3FD1987F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; D6EDBF07E4162364DB8825D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; D74B9C3F462333A72B889773 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; }; - D782993D6DAF0AF948A62517 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; D85876E3373EF8AC5F39A5A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathIterator.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; - D8C269D8BFE34CF33A2B243C = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_core/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; D8EB2E5BDF6806B37482DE70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatWriter.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h"; sourceTree = "SOURCE_ROOT"; }; D8F75466ADD0287144087C5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VSTPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + D8FDF81708D362F909F5421B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LagrangeInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; D92B6F28EF1D46625BC2A18B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; D93861E50D66746DF070A158 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; }; D99465F417B8D56C2C9A212D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; }; @@ -821,6 +811,7 @@ DA223B209C3FF00A91FAA1DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; }; DA67F5A5693214A2189039D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; DB348CBC6734FFD0B7ED8A34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; }; + DB3D37600C745E6F62C5A04B = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; DB59695708606C9604E11F0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; DB78DC43F40BD675F342D4B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameterWithID.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h"; sourceTree = "SOURCE_ROOT"; }; DC209283C24A9C0B601DB860 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; @@ -887,7 +878,6 @@ EE49ECC80B5D7D0DEFA0EF7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ASIO.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp"; sourceTree = "SOURCE_ROOT"; }; EEBA2A14B5473C1F19BF3D3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LADSPAPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; EEDD0D3608DCB2E459F3BF24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; - EEE157CFCD553CC2F4D15CBB = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_devices/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; EEE1F3257D7C9A527D6647E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; EF0061905AEAC90A86145D40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; }; EF073EC891B2731068542C61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -897,9 +887,9 @@ F0074D8C86D3265AF7889CCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; F0260E36C06C76C1BE1F7D8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiser.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; F05511231DB8D8615D4A336C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - F07914AFCF34610BAC0D3B0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../../../modules/juce_opengl/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; F0A8EA8AEA260ED20ED40247 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; F0F7DE7E362D726569559501 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; + F1614F65F78F3C92905C4606 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../JuceLibraryCode/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; F1830606ECDFB808597E5A8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; F1BE04264A690B5EFA99FCA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DeletedAtShutdown.cpp"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp"; sourceTree = "SOURCE_ROOT"; }; F1EB95EC0156CE6D16280A45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -915,14 +905,12 @@ F4EA57711C5E9DC6746728FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; }; F5DBF428153938207320675F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; }; F5EB78612A35D53F005597D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; - F6086AE27F4DEB9C75A8FFB5 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; F616A5D8C022126707081DC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLRenderer.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h"; sourceTree = "SOURCE_ROOT"; }; F6625EF536284FBD73183EA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; }; F67C770333721A5D9BFEFCF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; F67FF8B4FA78D4E285AC0242 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; }; F6A4E47EA1AA7392CFA6D8AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; F7487F2DEA61873B12C6CAC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; }; - F7D32C5CE1D85C542190C26C = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_graphics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; F7D98798130B4AB14E4E82F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; }; F7E246B8F8600787C3F10552 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_processors.h"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.h"; sourceTree = "SOURCE_ROOT"; }; F84732FE450246B23C813288 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; @@ -934,6 +922,7 @@ F93D065EB34B3E5270F5626D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; F9A0A82AA4D8EDB4B2305849 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; F9EED40DD78515ADF3189694 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; }; + FA1913317AD3CD9084390E3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; FA6BDA8882AAEE02FB04E36F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; }; FA9CE8D2EEF012CB74C1E8CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; FAD5D9101D6427D96558C37F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -941,7 +930,6 @@ FB748B4E5E7E7CB38BBF07AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; FBA60035993B1D5796D202DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; }; FBD1053AF6BF9575682BCAF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; }; - FBDBBE33AEF062A1457DAA42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; FBF25BFCF0541B78909B16C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; FBFB17CDB832B533BEF3BFAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; FC00E5ABDD903617E7498A0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -1048,9 +1036,12 @@ A0AD69242AF85A596CBC183E, 2336D69CE0AC8B24294664D3, EFE15661AA2B9FA0F29792FB, - F6086AE27F4DEB9C75A8FFB5, 66634B351B20F6B1F16ED9D2, ); name = "juce_audio_basics"; sourceTree = ""; }; - 5C2DC77520F6E8AB1413621E = {isa = PBXGroup; children = ( + 410F9915273E34E5371699E7 = {isa = PBXGroup; children = ( + 7703A0B63AFF2C5FE9587CBF, + 2E1213ABCA6E339D156C6825, + 619377E030188B909977D85B, ); name = "audio_cd"; sourceTree = ""; }; + 2CFD21CF7755E59C29E6531C = {isa = PBXGroup; children = ( D276367530731B2C732C50CB, A07D0C5C60BE446FD41ADE51, 70687CABD6ABBC69E717B73D, @@ -1058,22 +1049,13 @@ 9A67CA8503FB1E02090F5FAD, CE5CDD52C447D5DCC7DE1259, D4CA818D9DA2269EBCE376DE, ); name = "audio_io"; sourceTree = ""; }; - ED484B85EA0EC12853FAC2A6 = {isa = PBXGroup; children = ( + 78B4F326575E0D36826B32EF = {isa = PBXGroup; children = ( A8A190EDD8CED5ACF3AEE2C9, 0411B541BEDEC5A67ECEAA31, 36C81D39EEE59DF7D8AB0E0B, 62ABA7CF7D0CE2D7B3F7BFCD, ACEC05FF097A56FB7F3EF6B9, ); name = "midi_io"; sourceTree = ""; }; - 9116D006293FCD1E0A12EE16 = {isa = PBXGroup; children = ( - CD27B64646C58118052C3459, - 51C3B7D6330C765ADFB672FF, - AABFFB2D2D9F9BB39C95BA25, - 45693266645F0549AD1FEA88, ); name = sources; sourceTree = ""; }; - 729710EC0419FCEE902079EF = {isa = PBXGroup; children = ( - 7703A0B63AFF2C5FE9587CBF, - 2E1213ABCA6E339D156C6825, - 619377E030188B909977D85B, ); name = "audio_cd"; sourceTree = ""; }; - 6BB4269ECC3477AD8A7A32A3 = {isa = PBXGroup; children = ( + 46499E24A63021501490A40B = {isa = PBXGroup; children = ( 59B2E8822B445FDD2BC590B2, ED4FD41F6F5825084831A29C, 1542F586268CE982EE1C9607, @@ -1093,31 +1075,19 @@ DD542B6F61E6C27A0D5A5F2A, 2951B1B0EE3CE714426016F1, E488221DF5AFED73C4518AE7, ); name = native; sourceTree = ""; }; + AD6A2E6D0B2ABBF67051971F = {isa = PBXGroup; children = ( + CD27B64646C58118052C3459, + 51C3B7D6330C765ADFB672FF, + AABFFB2D2D9F9BB39C95BA25, + 45693266645F0549AD1FEA88, ); name = sources; sourceTree = ""; }; EFBCC9AA9132896CF439C9BD = {isa = PBXGroup; children = ( - 5C2DC77520F6E8AB1413621E, - ED484B85EA0EC12853FAC2A6, - 9116D006293FCD1E0A12EE16, - 729710EC0419FCEE902079EF, - 6BB4269ECC3477AD8A7A32A3, - EEE157CFCD553CC2F4D15CBB, + 410F9915273E34E5371699E7, + 2CFD21CF7755E59C29E6531C, + 78B4F326575E0D36826B32EF, + 46499E24A63021501490A40B, + AD6A2E6D0B2ABBF67051971F, EBABE678E857A993B3753B83, ); name = "juce_audio_devices"; sourceTree = ""; }; - D285EE2EABEF952CC46877BA = {isa = PBXGroup; children = ( - B5A8A3579F03D2CCE4894848, - 2DBFFAB8701557418A4C7CA2, - EA77ADEA8100DFE7C2E0ABB6, - A3C0B621A37595B09825518B, - A1C21D6CF6F456E34A0E7FBE, - 819B5DAEB3840F04881F7CBD, - 983FBC7E850263512E41D13D, - 3E157C0C9F33470C32DE6008, - 31416E7F36800B9ACAEA176F, - D8EB2E5BDF6806B37482DE70, - BC35263317084BA60132B43D, - 509FC03682CA45E87F7E0A67, - 13FF137ABBAC726B7785FE0B, - 108D2A323EA2D7B31289AFFE, - 2822F9B316AEF7797E0F04B4, ); name = format; sourceTree = ""; }; - F0E2F377D5961CE0CF2EEEC1 = {isa = PBXGroup; children = ( + D571FF6C422F6398A0666572 = {isa = PBXGroup; children = ( 5F49099628EF3662332FDB0D, AEBF8C2FCAF972F014D43738, 73636C4935CD275E66A85104, @@ -1136,16 +1106,48 @@ 1742A7C8BB2AA11AE93DA43D, 16D38AE110B44FE0D5E26F9D, C8CEDA86517FE447F3A3DCF2, ); name = codecs; sourceTree = ""; }; + 4FC8205FE67042F6C2BAF5CF = {isa = PBXGroup; children = ( + B5A8A3579F03D2CCE4894848, + 2DBFFAB8701557418A4C7CA2, + EA77ADEA8100DFE7C2E0ABB6, + A3C0B621A37595B09825518B, + A1C21D6CF6F456E34A0E7FBE, + 819B5DAEB3840F04881F7CBD, + 983FBC7E850263512E41D13D, + 3E157C0C9F33470C32DE6008, + 31416E7F36800B9ACAEA176F, + D8EB2E5BDF6806B37482DE70, + BC35263317084BA60132B43D, + 509FC03682CA45E87F7E0A67, + 13FF137ABBAC726B7785FE0B, + 108D2A323EA2D7B31289AFFE, + 2822F9B316AEF7797E0F04B4, ); name = format; sourceTree = ""; }; CD94C234A6AF95D63133D736 = {isa = PBXGroup; children = ( E22C09309C11DAE1AA0AA148, 4E4A47F8BEEF90A57C0C98C5, ); name = sampler; sourceTree = ""; }; 8BB98CFCE02C8F888DEAD934 = {isa = PBXGroup; children = ( - D285EE2EABEF952CC46877BA, - F0E2F377D5961CE0CF2EEEC1, + D571FF6C422F6398A0666572, + 4FC8205FE67042F6C2BAF5CF, CD94C234A6AF95D63133D736, - 3594634D87002997155671C1, 0737A415932C93579574CE2D, ); name = "juce_audio_formats"; sourceTree = ""; }; - D7A7AC6EED05D3EFB23E0FBD = {isa = PBXGroup; children = ( + B0088CFDDCC36853053A9778 = {isa = PBXGroup; children = ( + 9FE8D5E52AC84BCDEE8B414B, + 266A60D0C3095B8F7F16751E, + 1A366C1E8FF34F708C0AF994, + 20F2CFC88281301E30E08682, ); name = format; sourceTree = ""; }; + BBC03ABCEC02A875FBB28103 = {isa = PBXGroup; children = ( + 23EA0178C7150CBA80E79215, + 1CC05551F14FFC0161D8E12A, + 966F24941F855EA74A2A8914, + EEBA2A14B5473C1F19BF3D3E, + C9CD8A1AB4DAA664557DEBDC, + B7612EA3B34C6AC48079A447, + 58C9B8F93CF63036CA33A6C3, + AD0DBF0531130EAD4DF2A8FA, + 8E0D42B79853ED7FC60F931B, + D8F75466ADD0287144087C5B, + 794DEE7E5CC51940507F676F, ); name = "format_types"; sourceTree = ""; }; + F99F1A538EA61E5E4935484A = {isa = PBXGroup; children = ( 09B659F4A61EA3BDC6521FEC, EF7A3AF54294E08EB489D9AF, 52057B317B0FC98209D5BEC9, @@ -1162,23 +1164,6 @@ 80648C9ABD2B763398568A0B, 48285F283B8D98122DB9D028, E66B64B5619AFCB389836C06, ); name = processors; sourceTree = ""; }; - 3D87BE7DE866701CC5B6C485 = {isa = PBXGroup; children = ( - 9FE8D5E52AC84BCDEE8B414B, - 266A60D0C3095B8F7F16751E, - 1A366C1E8FF34F708C0AF994, - 20F2CFC88281301E30E08682, ); name = format; sourceTree = ""; }; - 98BF95789FAFC50466F1A1DC = {isa = PBXGroup; children = ( - 23EA0178C7150CBA80E79215, - 1CC05551F14FFC0161D8E12A, - 966F24941F855EA74A2A8914, - EEBA2A14B5473C1F19BF3D3E, - C9CD8A1AB4DAA664557DEBDC, - B7612EA3B34C6AC48079A447, - 58C9B8F93CF63036CA33A6C3, - AD0DBF0531130EAD4DF2A8FA, - 8E0D42B79853ED7FC60F931B, - D8F75466ADD0287144087C5B, - 794DEE7E5CC51940507F676F, ); name = "format_types"; sourceTree = ""; }; D943062B41CDE85FA2B03472 = {isa = PBXGroup; children = ( 4ADEE86E1B443E58DA6A90FC, E388DABC27B6A417CE9B7F7B, @@ -1196,65 +1181,13 @@ 8684BC420922F40BD629C51C, 49EE14EEEF6EADB9F20306E4, ); name = utilities; sourceTree = ""; }; B0A8A78F56D39E5C52AB1C76 = {isa = PBXGroup; children = ( - D7A7AC6EED05D3EFB23E0FBD, - 3D87BE7DE866701CC5B6C485, - 98BF95789FAFC50466F1A1DC, + B0088CFDDCC36853053A9778, + BBC03ABCEC02A875FBB28103, + F99F1A538EA61E5E4935484A, D943062B41CDE85FA2B03472, 1B61782F94F534A6144C3496, - 9C56D1AE6B7768F6E27D8F31, F7E246B8F8600787C3F10552, ); name = "juce_audio_processors"; sourceTree = ""; }; - 9DB85B0F2371EE26F3E89D82 = {isa = PBXGroup; children = ( - 9A9455318FAE348D58C369D5, - 11AA656929A0D7F50667583B, - 22D01A956BCD31F2C54E4E38, - E45F076842C926BA5400B70B, - 07A41B027C9FC2A6DAC801F3, - 975BBC01D0C62E087E6246ED, - E0FF460CC2AACA09D6C7412E, - 16094015FECE7F7A1EE6B751, - 80BE3657BDC9B08AB3570055, - 6B107438F2E31C0BF985A733, - C407BCC7CEC505584B25682E, - FBD1053AF6BF9575682BCAF8, - E9BB6F5CCB22B9CBEA0DFAB6, - 6AC21250C86C558A82EE3B25, - 60B2BAA3043C667FE98E94CC, - 6C91F33E01BD39630B255C47, - 71F494877324567960FC3F84, - 976E37CE9482096F8A82A8CE, - 842FF0D158A48BD9C1651800, - 355F2CA65E4117FDE2391872, - 48FCAA413FA6EC7E02B33A6E, - A2D465168084C9FFAE312E3C, - 6EAF92417BE40684D0FAA797, - 3197F342A372898714E25F70, ); name = text; sourceTree = ""; }; - C9A88DFF6E95D969C2A09F24 = {isa = PBXGroup; children = ( - FB748B4E5E7E7CB38BBF07AD, - C33DDF76E058D3E11E61DE63, - 7BAEC8D30E310460FB3FC406, - 3E3D664A12153D29FC1D42ED, - 05F871A5DA3290898E2EBFBE, - 5D998A4BC436D82C3A6E8606, - 41F9BAD0BC589CC46CFEF495, - 0F0458EF50C559CFF42DDC67, - C0AC297D17FA68BBAB417A64, - 61EFB1120837C4B54493568E, ); name = maths; sourceTree = ""; }; - EDEB768592E2E04E19CBBB39 = {isa = PBXGroup; children = ( - F2DFFAA96667B5897702E4B6, - 5989B7979A4446D163FD7E13, - DEE9366528ACF7F2CC0A9F73, - FD6A6D3E26D069707DD51652, - 3E85ACEDFE88D01251E25E24, - BEFB2034FC381E2DD019E372, - 4660BCF2E3BB5D499FA4A5EF, - BE4CF2165544FB2D720E1DD6, - 671B91E2FBEFF3E1A411B28A, - C66D4CDC39A565833178EB0D, - 773BD1E9176FB073B71705A0, - DA67F5A5693214A2189039D4, - 1DC4AC19C53D307B6007D02F, - C7BABEEA061F989A0A74F708, ); name = memory; sourceTree = ""; }; - 1EB689C939940E8ABE1AD59B = {isa = PBXGroup; children = ( + 732D8DEF87E57691636A768B = {isa = PBXGroup; children = ( E5F97C758712010CF0E6D1B5, 160486C90F388089629BA392, FC865A2B46F423E11725FFBC, @@ -1276,37 +1209,7 @@ 46258D3B622AB0E2EF63F709, 9F8B21E7C672840ACD02251E, F1830606ECDFB808597E5A8F, ); name = containers; sourceTree = ""; }; - 312A62049C445C01FDD661BD = {isa = PBXGroup; children = ( - BC7C088D053711418A5A5698, - A646D188288588F6FB9E8C53, - B1B76C913B09E3F684F76824, - 13FC99389707E91E7EB6D000, - 4AB3D9133A3357A3FDAD3BB1, - B9EB38A9A966EBB9A359DED3, - 2E355DED51A6E9DFBFDA84CC, - FE42628E4890B2FC1D85E574, - 2BEA66F83F12716439729EEA, - 6D36D69499FD940CAD1E7484, - ABCD1CB78CD58A79D0A728D0, - A6B50D109A50FD28AE1D3F9A, - F6A4E47EA1AA7392CFA6D8AD, - 097B8DA5C29B16C544CEA626, - 140AFDDDAB2B88153F46692E, - B1C6C92A15E4605A40404381, - CC3E6F8333AA2D98AAC1235E, - 61448959C09144CC093AA715, - 6DC6E88C0FC0045CD52064F1, - 8A011075C19F974A22685EAA, - 8E06EBA4362C66A9040A2EC6, - 77A353D0E709D31E3BE00A8C, ); name = threads; sourceTree = ""; }; - 447896868A39D1BBF6C215C4 = {isa = PBXGroup; children = ( - 8FA29927B18439A066241F38, - BB4B7332B8B456297344608E, - A5A883D3DAD1D2BF2F044379, - 7609867A9F36324EA1C9F228, - 56CAE507F1D59D551C26B998, - 5C51BB323073B2AD0320825A, ); name = time; sourceTree = ""; }; - B2800371CE1A826ABDD312A5 = {isa = PBXGroup; children = ( + B3851DBC1F9FCDFDC17AD646 = {isa = PBXGroup; children = ( 23E996355EF7DFDCECA97B64, DE3832516FB6969C0E3210D4, 55C1F41C94C7C8ED73FC3288, @@ -1324,66 +1227,43 @@ E068F61F296A52D25E329978, CEB259E27BB64776AF6BF076, AB3CF49071E6EEF217783B8A, ); name = files; sourceTree = ""; }; - 22AF4BABA7E4362DABCA3E9D = {isa = PBXGroup; children = ( - E2B33608E3097EE1E7801707, - 82327EBDDBDE6104A0FFE08D, - 7B7B6659C2DD68F2373F9D3C, - 70C9E5BB2C3C4F1314DD8F4B, - 434AB1A1510034290ED3FBA8, - 3ECBCBB5D76AD9DDE65BD81A, - E81332E1BCBF978D86F92DFE, - 7A76BF61E569CCC96B9E16DE, - F1EB95EC0156CE6D16280A45, - 2517140ED8C0697A51CF87AA, ); name = network; sourceTree = ""; }; - 6B04E6A30689BE379804BC1C = {isa = PBXGroup; children = ( - 3F20765E456B1B8FF59C2461, - 5BB4A463E17E9C4AD5F43FFE, - DF2B90185FBA2C86DE767F46, - 417D4A3533F8C72814441F51, - 972D271918F957FB6FCD6CFB, - BD69D8ABDB6741F717E0DD1C, - 2D23BD941B1F4B65E5A2C2F3, - E2EEB444EC638B0C72A8A7E6, - D99465F417B8D56C2C9A212D, - C7F47C1BEDD7EE514BA40C27, - 5375E8C69E76D1570BE36946, - F8E83B5544E2379CB0B323D8, - 3AD3CC5787E119E3A1F6A55F, - F05511231DB8D8615D4A336C, - 34CBE9CCD9B23B1405C76D9C, ); name = streams; sourceTree = ""; }; - 1D0C55594A9BAF09CB69ABA6 = {isa = PBXGroup; children = ( - 791D605377E089529EA264D0, - 5784477EFEEAAD041BDF34D4, - 3DCD8AA2FF25FBE6919E8F64, - 0F7BCDE5E324E86EEA86BA7A, ); name = logging; sourceTree = ""; }; - 810ABDB24E2FE53C90BFDDFA = {isa = PBXGroup; children = ( - 2A274CF384892F3968889E0C, - F2C08F60BC16ABA3BE1F3A36, - 509031D02C057DCD1F713B6B, - 83C4DBF3382367051A65FF4D, - D37936ED5B5A415DF1F5F2C2, - F67FF8B4FA78D4E285AC0242, ); name = system; sourceTree = ""; }; - 5A97C8FA90181188140B83A0 = {isa = PBXGroup; children = ( - E5D5588D0F985DB2D5A8BAF5, - BDB1FA875F2C8263E3D2650A, - C50CE0A0485507647C78F30E, - 5CD7B0F647F366AC5510A13E, ); name = xml; sourceTree = ""; }; - 96DA2309744F7B1844D7EADE = {isa = PBXGroup; children = ( + 7EB900DA593438C21EEC9498 = {isa = PBXGroup; children = ( 36632604A700FC8F53169301, ED9CF9B1476F08D13A1E636E, 8F81943FE96DB8DD0ABB9DF7, 0D158239399CB7487C663168, ); name = javascript; sourceTree = ""; }; - EAFC9A1D80CBC941C7724431 = {isa = PBXGroup; children = ( - 0F7EB01A494A7D2D347B9167, - 1E6168E98312F552A0C57E54, - FBFB17CDB832B533BEF3BFAB, - C02F8C844FAD835F09408406, - 32D11E8A57FD1B5250A5E493, - 396986DB8689B7C6909777E3, ); name = zip; sourceTree = ""; }; - 2C36774A2938F4DE66EA7B1F = {isa = PBXGroup; children = ( - 6549876733A874A58F78CE78, - 20A48C39E51031BF57458A55, ); name = "unit_tests"; sourceTree = ""; }; - CCC10C50368A3362DAC1E895 = {isa = PBXGroup; children = ( + 565C31CAE02182F304D6E997 = {isa = PBXGroup; children = ( + 791D605377E089529EA264D0, + 5784477EFEEAAD041BDF34D4, + 3DCD8AA2FF25FBE6919E8F64, + 0F7BCDE5E324E86EEA86BA7A, ); name = logging; sourceTree = ""; }; + 980D12FC561728322A7F3915 = {isa = PBXGroup; children = ( + FB748B4E5E7E7CB38BBF07AD, + C33DDF76E058D3E11E61DE63, + 7BAEC8D30E310460FB3FC406, + 3E3D664A12153D29FC1D42ED, + 05F871A5DA3290898E2EBFBE, + 5D998A4BC436D82C3A6E8606, + 41F9BAD0BC589CC46CFEF495, + 0F0458EF50C559CFF42DDC67, + C0AC297D17FA68BBAB417A64, + 61EFB1120837C4B54493568E, ); name = maths; sourceTree = ""; }; + 1DBE02BC0B3D21055528E935 = {isa = PBXGroup; children = ( + F2DFFAA96667B5897702E4B6, + 5989B7979A4446D163FD7E13, + DEE9366528ACF7F2CC0A9F73, + FD6A6D3E26D069707DD51652, + 3E85ACEDFE88D01251E25E24, + BEFB2034FC381E2DD019E372, + 4660BCF2E3BB5D499FA4A5EF, + BE4CF2165544FB2D720E1DD6, + 671B91E2FBEFF3E1A411B28A, + C66D4CDC39A565833178EB0D, + 773BD1E9176FB073B71705A0, + DA67F5A5693214A2189039D4, + 1DC4AC19C53D307B6007D02F, + C7BABEEA061F989A0A74F708, ); name = memory; sourceTree = ""; }; + A7895BC878133E46FFCE0A77 = {isa = PBXGroup; children = ( D74B9C3F462333A72B889773, D23F862EE7BAEDAC24479902, 4EDEB6768212BFBBDFC1CEFF, @@ -1391,7 +1271,7 @@ F937ACD8AA15A27F13F85A88, 6364C602FBB1C4D7915DF708, 6B5BE388D982E05CD2C7BE10, ); name = misc; sourceTree = ""; }; - 791BA85C5C83D6BFBBF82631 = {isa = PBXGroup; children = ( + 4C5D4C48647ACB5E43D04B8E = {isa = PBXGroup; children = ( 57FE8CC6D36C0376D4065444, 19B1556541E4426450C8397C, 274FB7736A16D65B40E1EA71, @@ -1421,25 +1301,128 @@ 32940D3F55D43FA834DAD545, CEE5BF72C9D7E467212D8973, 332346809620F9AFA7CF3D59, ); name = native; sourceTree = ""; }; + 8344871D205866581ADBA52A = {isa = PBXGroup; children = ( + E2B33608E3097EE1E7801707, + 82327EBDDBDE6104A0FFE08D, + 7B7B6659C2DD68F2373F9D3C, + 70C9E5BB2C3C4F1314DD8F4B, + 434AB1A1510034290ED3FBA8, + 3ECBCBB5D76AD9DDE65BD81A, + E81332E1BCBF978D86F92DFE, + 7A76BF61E569CCC96B9E16DE, + F1EB95EC0156CE6D16280A45, + 2517140ED8C0697A51CF87AA, ); name = network; sourceTree = ""; }; + 4A22A3B7AF7F95FFC19F9980 = {isa = PBXGroup; children = ( + 3F20765E456B1B8FF59C2461, + 5BB4A463E17E9C4AD5F43FFE, + DF2B90185FBA2C86DE767F46, + 417D4A3533F8C72814441F51, + 972D271918F957FB6FCD6CFB, + BD69D8ABDB6741F717E0DD1C, + 2D23BD941B1F4B65E5A2C2F3, + E2EEB444EC638B0C72A8A7E6, + D99465F417B8D56C2C9A212D, + C7F47C1BEDD7EE514BA40C27, + 5375E8C69E76D1570BE36946, + F8E83B5544E2379CB0B323D8, + 3AD3CC5787E119E3A1F6A55F, + F05511231DB8D8615D4A336C, + 34CBE9CCD9B23B1405C76D9C, ); name = streams; sourceTree = ""; }; + 810ABDB24E2FE53C90BFDDFA = {isa = PBXGroup; children = ( + 2A274CF384892F3968889E0C, + F2C08F60BC16ABA3BE1F3A36, + 509031D02C057DCD1F713B6B, + 83C4DBF3382367051A65FF4D, + D37936ED5B5A415DF1F5F2C2, + F67FF8B4FA78D4E285AC0242, ); name = system; sourceTree = ""; }; + DD7D1DB0B5B89AE2FE71EE1D = {isa = PBXGroup; children = ( + 9A9455318FAE348D58C369D5, + 11AA656929A0D7F50667583B, + 22D01A956BCD31F2C54E4E38, + E45F076842C926BA5400B70B, + 07A41B027C9FC2A6DAC801F3, + 975BBC01D0C62E087E6246ED, + E0FF460CC2AACA09D6C7412E, + 16094015FECE7F7A1EE6B751, + 80BE3657BDC9B08AB3570055, + 6B107438F2E31C0BF985A733, + C407BCC7CEC505584B25682E, + FBD1053AF6BF9575682BCAF8, + E9BB6F5CCB22B9CBEA0DFAB6, + 6AC21250C86C558A82EE3B25, + 60B2BAA3043C667FE98E94CC, + 6C91F33E01BD39630B255C47, + 71F494877324567960FC3F84, + 976E37CE9482096F8A82A8CE, + 842FF0D158A48BD9C1651800, + 355F2CA65E4117FDE2391872, + 48FCAA413FA6EC7E02B33A6E, + A2D465168084C9FFAE312E3C, + 6EAF92417BE40684D0FAA797, + 3197F342A372898714E25F70, ); name = text; sourceTree = ""; }; + 650207F1C5359B178179F6D9 = {isa = PBXGroup; children = ( + BC7C088D053711418A5A5698, + A646D188288588F6FB9E8C53, + B1B76C913B09E3F684F76824, + 13FC99389707E91E7EB6D000, + 4AB3D9133A3357A3FDAD3BB1, + B9EB38A9A966EBB9A359DED3, + 2E355DED51A6E9DFBFDA84CC, + FE42628E4890B2FC1D85E574, + 2BEA66F83F12716439729EEA, + 6D36D69499FD940CAD1E7484, + ABCD1CB78CD58A79D0A728D0, + A6B50D109A50FD28AE1D3F9A, + F6A4E47EA1AA7392CFA6D8AD, + 097B8DA5C29B16C544CEA626, + 140AFDDDAB2B88153F46692E, + B1C6C92A15E4605A40404381, + CC3E6F8333AA2D98AAC1235E, + 61448959C09144CC093AA715, + 6DC6E88C0FC0045CD52064F1, + 8A011075C19F974A22685EAA, + 8E06EBA4362C66A9040A2EC6, + 77A353D0E709D31E3BE00A8C, ); name = threads; sourceTree = ""; }; + FE8D503390BA6182FA15433C = {isa = PBXGroup; children = ( + 8FA29927B18439A066241F38, + BB4B7332B8B456297344608E, + A5A883D3DAD1D2BF2F044379, + 7609867A9F36324EA1C9F228, + 56CAE507F1D59D551C26B998, + 5C51BB323073B2AD0320825A, ); name = time; sourceTree = ""; }; + 2C36774A2938F4DE66EA7B1F = {isa = PBXGroup; children = ( + 6549876733A874A58F78CE78, + 20A48C39E51031BF57458A55, ); name = "unit_tests"; sourceTree = ""; }; + 0E38339F9511F04CD0DEBE2A = {isa = PBXGroup; children = ( + E5D5588D0F985DB2D5A8BAF5, + BDB1FA875F2C8263E3D2650A, + C50CE0A0485507647C78F30E, + 5CD7B0F647F366AC5510A13E, ); name = xml; sourceTree = ""; }; + 425B07C5F90693ED10EC5F39 = {isa = PBXGroup; children = ( + 0F7EB01A494A7D2D347B9167, + 1E6168E98312F552A0C57E54, + FBFB17CDB832B533BEF3BFAB, + C02F8C844FAD835F09408406, + 32D11E8A57FD1B5250A5E493, + 396986DB8689B7C6909777E3, ); name = zip; sourceTree = ""; }; 6D357C7BC335FFE2B3877318 = {isa = PBXGroup; children = ( - 9DB85B0F2371EE26F3E89D82, - C9A88DFF6E95D969C2A09F24, - EDEB768592E2E04E19CBBB39, - 1EB689C939940E8ABE1AD59B, - 312A62049C445C01FDD661BD, - 447896868A39D1BBF6C215C4, - B2800371CE1A826ABDD312A5, - 22AF4BABA7E4362DABCA3E9D, - 6B04E6A30689BE379804BC1C, - 1D0C55594A9BAF09CB69ABA6, + 732D8DEF87E57691636A768B, + B3851DBC1F9FCDFDC17AD646, + 7EB900DA593438C21EEC9498, + 565C31CAE02182F304D6E997, + 980D12FC561728322A7F3915, + 1DBE02BC0B3D21055528E935, + A7895BC878133E46FFCE0A77, + 4C5D4C48647ACB5E43D04B8E, + 8344871D205866581ADBA52A, + 4A22A3B7AF7F95FFC19F9980, 810ABDB24E2FE53C90BFDDFA, - 5A97C8FA90181188140B83A0, - 96DA2309744F7B1844D7EADE, - EAFC9A1D80CBC941C7724431, + DD7D1DB0B5B89AE2FE71EE1D, + 650207F1C5359B178179F6D9, + FE8D503390BA6182FA15433C, 2C36774A2938F4DE66EA7B1F, - CCC10C50368A3362DAC1E895, - 791BA85C5C83D6BFBBF82631, - D8C269D8BFE34CF33A2B243C, + 0E38339F9511F04CD0DEBE2A, + 425B07C5F90693ED10EC5F39, D476B9FCEF30511BC736C744, ); name = "juce_core"; sourceTree = ""; }; C65F5142919A93D5CB350F76 = {isa = PBXGroup; children = ( 198B97A4FB9B21A3357160C0, @@ -1458,31 +1441,45 @@ 6BC6B2DDDAEB6F4F64D1A010 = {isa = PBXGroup; children = ( C65F5142919A93D5CB350F76, 37082FEFC588B71DD2E9F80C, - 2A765F108608FDD8B2089BD1, 8B1374A21A81C82233EBC523, ); name = "juce_cryptography"; sourceTree = ""; }; - A6D444FE8D85CED1C171C0EC = {isa = PBXGroup; children = ( + 77AF317BDD3865F8D65819AA = {isa = PBXGroup; children = ( + 260D03D00CBF739BB3A2F604, + 623C7B6BD0B564F60F1F4012, + 6D3191834A1567C5C18A13AA, + 4411214CB9D7F986DA5A92FD, ); name = "app_properties"; sourceTree = ""; }; + FF74D4493903CDAEF7181A06 = {isa = PBXGroup; children = ( + 73B62E5AA67F4B0483ED680F, + 0CB9B8098AB7F4CFF3991565, + 14254C2E6F168DB69F9F6494, ); name = undomanager; sourceTree = ""; }; + 169C103F9191DD2874A7B556 = {isa = PBXGroup; children = ( B2E2A77534D9104C78E8F3E2, D1A2603E46734D31975B7540, 4EBBA20040624174084744DF, 9E46C8356029EC009F7A1C46, 68E02DEEF1E25B386C206C05, 9538D93554F08C0FDA9393E8, ); name = values; sourceTree = ""; }; - FF74D4493903CDAEF7181A06 = {isa = PBXGroup; children = ( - 73B62E5AA67F4B0483ED680F, - 0CB9B8098AB7F4CFF3991565, - 14254C2E6F168DB69F9F6494, ); name = undomanager; sourceTree = ""; }; - FA2F4F69BFFFAE7A215E77CA = {isa = PBXGroup; children = ( - 260D03D00CBF739BB3A2F604, - 623C7B6BD0B564F60F1F4012, - 6D3191834A1567C5C18A13AA, - 4411214CB9D7F986DA5A92FD, ); name = "app_properties"; sourceTree = ""; }; 1E71D5778D41DB63E6350D93 = {isa = PBXGroup; children = ( - A6D444FE8D85CED1C171C0EC, + 77AF317BDD3865F8D65819AA, FF74D4493903CDAEF7181A06, - FA2F4F69BFFFAE7A215E77CA, - 014A45F4DF5D4B850A2E712D, + 169C103F9191DD2874A7B556, 8B8CEF7A6937C76CA7642C8F, ); name = "juce_data_structures"; sourceTree = ""; }; - 6B69835D713DBE0AA1335554 = {isa = PBXGroup; children = ( + F123E47F5D7F92BCE8E75634 = {isa = PBXGroup; children = ( + E8ED8CA85BE4E1BF7C5ADF53, + C3E4252156EDD0E001A10DE3, + 51713BEF84B3A58844692401, + FDC6858C3E455F9E8376B58B, + E49C04EACE55BED74E156911, + 8F9A2F59A71422296C56C8A5, + DC209283C24A9C0B601DB860, + 58301731C17BEF7BF07541AF, ); name = broadcasters; sourceTree = ""; }; + F70B9207BEBA1807FCC437F2 = {isa = PBXGroup; children = ( + BA5DE80E67A74A41D57E7663, + 0E1CA391708ADDE3952BF147, + 35641C490EE335DDFF004FEC, + 54B30BCC43C6CBF57A69A654, + E31FDA8F23FEAB726361C8DB, + 3CCB2447E4FA1C412FEEE551, ); name = interprocess; sourceTree = ""; }; + FF921D2222169AB18518E66B = {isa = PBXGroup; children = ( F9EED40DD78515ADF3189694, FA9CE8D2EEF012CB74C1E8CA, 8FAA47BE39D087684520C15F, @@ -1496,28 +1493,7 @@ 5576ADF82B58BDBBCC75477C, 1E21F56456B1A05606B1A328, 6A972E2430F4B2D9A07D44D2, ); name = messages; sourceTree = ""; }; - 21AE815F08BE75F4B146FF17 = {isa = PBXGroup; children = ( - CC0ED57DE1266CEB11001787, - BEA260469BBB48EB998AA4DB, - E7EF18BE4F22063894C6FF61, - F3868CB33CA2805C31829647, ); name = timers; sourceTree = ""; }; - CFA962EE09603F3370751E99 = {isa = PBXGroup; children = ( - E8ED8CA85BE4E1BF7C5ADF53, - C3E4252156EDD0E001A10DE3, - 51713BEF84B3A58844692401, - FDC6858C3E455F9E8376B58B, - E49C04EACE55BED74E156911, - 8F9A2F59A71422296C56C8A5, - DC209283C24A9C0B601DB860, - 58301731C17BEF7BF07541AF, ); name = broadcasters; sourceTree = ""; }; - C6AA6C3360946FAC6A1E4CFF = {isa = PBXGroup; children = ( - BA5DE80E67A74A41D57E7663, - 0E1CA391708ADDE3952BF147, - 35641C490EE335DDFF004FEC, - 54B30BCC43C6CBF57A69A654, - E31FDA8F23FEAB726361C8DB, - 3CCB2447E4FA1C412FEEE551, ); name = interprocess; sourceTree = ""; }; - ED26DB941C1087A481ED9C8B = {isa = PBXGroup; children = ( + 4EDB1EA420BC7F17BB163696 = {isa = PBXGroup; children = ( A878B40B811C4B83658F6A60, 3B3FC34DE0D784314690A93C, 656CA5CB0EF44C76ACFFDCEA, @@ -1526,13 +1502,17 @@ DC254EFF0D95657D703FA8F6, 121C4D9B35F16FF170A9D4E3, 502503CB0C00102976DF1023, ); name = native; sourceTree = ""; }; + 180CADCADCD26800C3647781 = {isa = PBXGroup; children = ( + CC0ED57DE1266CEB11001787, + BEA260469BBB48EB998AA4DB, + E7EF18BE4F22063894C6FF61, + F3868CB33CA2805C31829647, ); name = timers; sourceTree = ""; }; 1B0890891B764226EB568489 = {isa = PBXGroup; children = ( - 6B69835D713DBE0AA1335554, - 21AE815F08BE75F4B146FF17, - CFA962EE09603F3370751E99, - C6AA6C3360946FAC6A1E4CFF, - ED26DB941C1087A481ED9C8B, - A061F1646238A35ED0BDA32A, + F123E47F5D7F92BCE8E75634, + F70B9207BEBA1807FCC437F2, + FF921D2222169AB18518E66B, + 4EDB1EA420BC7F17BB163696, + 180CADCADCD26800C3647781, 887EE77979249B8A3E7C2C49, ); name = "juce_events"; sourceTree = ""; }; 76BAE43251ED78FD6BE739E9 = {isa = PBXGroup; children = ( 2A5F9649D883210E5C67CEE4, @@ -1552,19 +1532,25 @@ EF0061905AEAC90A86145D40, B2A85C1813641574E4D15BF2, 1E7CA4A04A182412B3ECEBF6, ); name = contexts; sourceTree = ""; }; - DDD3EBD3493F3D8076685D09 = {isa = PBXGroup; children = ( - 1565307D5DC70CAC563B579F, - 14BF2173D8CD3520B21E01E0, - AEA5E43C19B3566D5B2655E9, - 6BC5C181AD876196213378C2, - 9BECE88C6AB34861AF408C37, - 6E35055BA3436FC2F9B77365, - E441F10A3241806474779D5A, - 91A5A6A217FA091F2ADBE3C5, ); name = images; sourceTree = ""; }; - 240D1F671827DE817DDE901B = {isa = PBXGroup; children = ( - 793E09206EDE78138AB56CC5, - F0074D8C86D3265AF7889CCF, - 2B594B1579F4770CA36E870C, ); name = "image_formats"; sourceTree = ""; }; + 45D86610726C47FEC1CE303F = {isa = PBXGroup; children = ( + CE11BC7911220E9CFA1283D1, + DC9D4AE01FB7CF8D2877B198, + 4142E8BA365FE77662B11891, + 473E98AA655246EECA75EDD1, + C7BB125979760AE4264BF23E, ); name = effects; sourceTree = ""; }; + D3FC9F88D8C0499272B0D54A = {isa = PBXGroup; children = ( + AA55BD139AEC1B8272ABE461, + 506DE1D3A739746007E33852, + D6AC70136461C6F3FD1987F1, + CA3D1FE94B500CF86704EB13, + 279A6546016EEB8F9264EB39, + E0544ED1BC8832C4D1296FAB, + 4271A817DD6497D0023C43A3, + C1A299D4A5AAEA645975EEB8, + A4F075DFF243F6BB90CD5950, + 3CF6CC164ED4826B4DF73177, + 2CB561058728D0EA3A66AF4A, + F0A8EA8AEA260ED20ED40247, ); name = fonts; sourceTree = ""; }; 9F57E3145B8DE085C7435C7D = {isa = PBXGroup; children = ( CE9CAFB040BE90431A432537, A19D3050F95BFD17129EA013, @@ -1581,30 +1567,20 @@ 7EEFCCCD23C883F6B797834E, 015766ED6CD9D55279FC884A, A021D917DFD4DD5D4703913C, ); name = geometry; sourceTree = ""; }; - 997C7BFF828EBD6BDD06D036 = {isa = PBXGroup; children = ( - 7E5D04471A75DF9057A4D73E, - 6CF6624AD370E4716D42CEDF, - 284C742F571D494237C52C2D, ); name = placement; sourceTree = ""; }; - 013403E10034C0DA7BEE1F39 = {isa = PBXGroup; children = ( - AA55BD139AEC1B8272ABE461, - 506DE1D3A739746007E33852, - D6AC70136461C6F3FD1987F1, - CA3D1FE94B500CF86704EB13, - 279A6546016EEB8F9264EB39, - E0544ED1BC8832C4D1296FAB, - 4271A817DD6497D0023C43A3, - C1A299D4A5AAEA645975EEB8, - A4F075DFF243F6BB90CD5950, - 3CF6CC164ED4826B4DF73177, - 2CB561058728D0EA3A66AF4A, - F0A8EA8AEA260ED20ED40247, ); name = fonts; sourceTree = ""; }; - 556560AAD3C29E08F7AFBCBA = {isa = PBXGroup; children = ( - CE11BC7911220E9CFA1283D1, - DC9D4AE01FB7CF8D2877B198, - 4142E8BA365FE77662B11891, - 473E98AA655246EECA75EDD1, - C7BB125979760AE4264BF23E, ); name = effects; sourceTree = ""; }; - 66DC0A97992202B7629A58C7 = {isa = PBXGroup; children = ( + D0DECD1BFD36B7FD11835F29 = {isa = PBXGroup; children = ( + 793E09206EDE78138AB56CC5, + F0074D8C86D3265AF7889CCF, + 2B594B1579F4770CA36E870C, ); name = "image_formats"; sourceTree = ""; }; + D3E638B35828CBBFDD2A0286 = {isa = PBXGroup; children = ( + 1565307D5DC70CAC563B579F, + 14BF2173D8CD3520B21E01E0, + AEA5E43C19B3566D5B2655E9, + 6BC5C181AD876196213378C2, + 9BECE88C6AB34861AF408C37, + 6E35055BA3436FC2F9B77365, + E441F10A3241806474779D5A, + 91A5A6A217FA091F2ADBE3C5, ); name = images; sourceTree = ""; }; + EE7B0E65DC3C1F9FFB888B1A = {isa = PBXGroup; children = ( 3A8EA18FCAE5801EF1AECC06, E041ABD2C503FCB7EB7E49F8, 2E62B2A1D5FE20D7E675DC3F, @@ -1618,19 +1594,54 @@ 6741B65B42E9858C7B580A36, D9FDDAC72C576633FD41B2E7, 4AB453F1DFC4EA7AE058B0EA, ); name = native; sourceTree = ""; }; + EF8AEAC001D4279F7B5C5D40 = {isa = PBXGroup; children = ( + 7E5D04471A75DF9057A4D73E, + 6CF6624AD370E4716D42CEDF, + 284C742F571D494237C52C2D, ); name = placement; sourceTree = ""; }; B4351AB8FE980A7A843DD7EB = {isa = PBXGroup; children = ( 76BAE43251ED78FD6BE739E9, F0740B98E17BCB69B54B4619, - DDD3EBD3493F3D8076685D09, - 240D1F671827DE817DDE901B, + 45D86610726C47FEC1CE303F, + D3FC9F88D8C0499272B0D54A, 9F57E3145B8DE085C7435C7D, - 997C7BFF828EBD6BDD06D036, - 013403E10034C0DA7BEE1F39, - 556560AAD3C29E08F7AFBCBA, - 66DC0A97992202B7629A58C7, - F7D32C5CE1D85C542190C26C, + D0DECD1BFD36B7FD11835F29, + D3E638B35828CBBFDD2A0286, + EE7B0E65DC3C1F9FFB888B1A, + EF8AEAC001D4279F7B5C5D40, 30CBDFC5F16FD990ABC2C486, ); name = "juce_graphics"; sourceTree = ""; }; - 5A794D6AA7ACA03DC348F94D = {isa = PBXGroup; children = ( + B7A822DE12252B1E117BB4FE = {isa = PBXGroup; children = ( + FC00E5ABDD903617E7498A0B, + 489D9B3F2489315DBF5C552E, ); name = application; sourceTree = ""; }; + 02DD1BC21EB57A857B5ACB50 = {isa = PBXGroup; children = ( + F5DBF428153938207320675F, + BB8AD6D858D518E804AFA0C7, + 6536E6457A8B77FDCC506401, + A87A60BF515078DF23E1F737, + AA54E821F947C9A9DC359693, + BEAB03E92089D87D7D6A2353, + 3935FEBDBA2F8025F602042C, + 5CE4484E6BAB76C9B49E6ADE, + 3B883BA33260250D6C443F87, + 80A6B9266A11D6977AD84546, + 5848A09E20AA6FE9EF1E6898, + 28BF10B49B1D14FE05CBC5DA, + F2ED5A15267070B560EFFA2B, + ECE3837512B3E620155A8432, + F7487F2DEA61873B12C6CAC0, + 449FC2FAA282C731A58D51E6, + 0892B622D73826BB91C8E418, + 6436F4F5D143E72BD77EE053, ); name = buttons; sourceTree = ""; }; + 1A57F64C42423054D05C7082 = {isa = PBXGroup; children = ( + 2CD2FBF66999807E0B86E0B0, + C568E8888819EAFDCAEAF04F, + 8DBDCF6753B9AE327FC8E382, + A23A20A098747A2449C47047, + 31B42F889DD1C79540881B97, + 62935FD655DDDCE70536555F, + EEDD0D3608DCB2E459F3BF24, + EFDD05E3C006BA460761594C, + 01D4F510A1EE5495A8A419C0, ); name = commands; sourceTree = ""; }; + 1F83F63AC1DAB355176752DC = {isa = PBXGroup; children = ( AC2A502E05BB93CB0840344D, 31CD83018DA7BED28A70EC1C, 2D6A1D77D896FF6DDD5EC49F, @@ -1640,28 +1651,46 @@ 3F02F103D0EA0D398FA2A95D, 293D0E58C45CE26287E99822, B8C996306428DFB642CBFB14, ); name = components; sourceTree = ""; }; - 4AA38BF06A0BA16074879F26 = {isa = PBXGroup; children = ( - 1782B7FCE431430BD11700EB, - B8EF2AF777B74156958B72CA, - 40E971224B83783243521871, - 7246A65F3B8646D764F3A355, - 81556F6E103D6843193EA1EC, - C936095A19665316F5B675CF, - 850622AD96A6D025EC1E832D, - B0FB5996D7068C230DC6D8E0, - DB348CBC6734FFD0B7ED8A34, - C50DA493E57234B3820BD77A, - BC586A21CD33D786C4472FD4, - 9986CD0D1752D063F3DC2652, - 16421110FEB104E290E3F13C, - 1A424A0B9D68C68CD5B075E7, - 74E1A5ECBC09930A520D1A98, - 1C196D0BC6B08623601273FF, - 2740DD21925484E4BC243630, - 484ACD3191DB5BEB198EEF97, - FBF25BFCF0541B78909B16C6, - 5B5D589850B147BE94D01D42, ); name = mouse; sourceTree = ""; }; - 9AF6FBC13AA9F0C35EC524A1 = {isa = PBXGroup; children = ( + 5CC9A175B599CACF9EBED960 = {isa = PBXGroup; children = ( + EA2BE0B9C8E1546D25A02D67, + 38043242051AD4996B081769, + 0D79BD52315BE837BAD64A82, + 9CABACB9A2FF46A8B3059D8E, + FAD5D9101D6427D96558C37F, + FC50C6150E60281125E69115, + 3F57F6B58B93E88A29F90809, + FDFE40162E4F5CCAA833061C, + 9F3DCE572188E0085FCF1956, + ADA1339F195F699D7F5369F9, + 9B9B8DBEBEA5051A602DA6C1, + DE1A6A1C0CCC94A3E3A887E3, + DCB52EFF8A9F5D9F6CF3D3FC, + 61596F68A47C4BEA8F9A4D68, + D6EDBF07E4162364DB8825D9, ); name = drawables; sourceTree = ""; }; + 773F7F2ED36C18EB6B04B554 = {isa = PBXGroup; children = ( + 37BD426B7B7DD8BB3EF562A6, + 3B2C9FC5B754F29B4BFF7EA9, + 541C3E9F5E720BF6D99D94CD, + 426B31F8A63727D575B2C782, + 546D112DEC6A685B52E4D7AA, + D92B6F28EF1D46625BC2A18B, + B1C7A541DFF31B38F0A17C16, + D9F41579025D12F2CCF079C4, + 281ADBFFA54CFADAE46AAE79, + EEE1F3257D7C9A527D6647E1, + 7987CDDDE250EA56F0B26A0F, + 69F89AFBA54B48038B47DDED, + FDB3097BE7C87FF74895E875, + DA12229986D485B2E2DE059B, + D24F3C46F1A46422C080A0A7, + 144BF62327063E0017BB7B0A, + B49E98EF01462277526C417D, + D01183D850457CA55516B3B2, + 7E278ACE0E80F59FBEB3122F, + 6C3B851F65AB406E5B6CAF7B, + 39DAB20FE9D55152EB2D224A, + C8FDA55A72DC4A244703C8F4, ); name = filebrowser; sourceTree = ""; }; + 25289DC12EA28052C6042EF1 = {isa = PBXGroup; children = ( 6D1D3AFCBD704E2E3A9AB0D9, 776FC3A674D9CCD21CB2D7A0, E90FDEEB9C536E5E1124B00D, @@ -1675,62 +1704,7 @@ 42AE889B4D596FF23E2D77CB, B1E4A1F07EFCCA50D963CF4F, B77BD5847F412656109A378E, ); name = keyboard; sourceTree = ""; }; - 6401A528C034A7FE4E59C5C4 = {isa = PBXGroup; children = ( - 8FFF7C1572807209B9A8A08D, - 1D6EA6E2DC8F03826454F21D, - BE635BACA572437D8DFDEEC8, - 759899A48CDE9705331F456E, - 7069BF224A795890367AB809, - F84732FE450246B23C813288, - 9AD78BC87097481DDC1815B2, - 8BA590FF6DD42B77C70BA092, - 795DBB9CDC6751C052A03827, - 355B143DFA326CC401844099, - 17AB5E83E71D5864435A011B, - C24880A7007CE75B7F8BBD71, - DE8A6DAED12A99017D7341E1, - 168D70A9989ECA609D355DA6, - 1AB2337020B7AA4AD329405A, - 67066EE59E69BCD634D38ABA, - D1C13988EF76674213DF92F4, - B2D09E29CCC80C27956BF314, - A80BB5CEC5BB5398B155F980, - 3E5E15C429B5D8BDA6815193, - DB59695708606C9604E11F0B, - 354636C92CDB97DAF80D1E6A, - 4676425D91097FBD1689298C, - 6F974A4B1AC400251425C8CA, - 99BF73D0D5B995E84BAB52B2, - 2DA8BDECC570B976D34D9263, - 4B409B90CC47BF0477D7F6E4, ); name = widgets; sourceTree = ""; }; - 17E7CDE6EA0A435BF5A4DC15 = {isa = PBXGroup; children = ( - C3A68B435020C80FC29DB89D, - 44EFBCE30DD206F4A55E4E81, - 876EE7E42127474428BE3BFF, - 76372445FC076FB8D26CEEC4, - D93861E50D66746DF070A158, - AD7CF8E55597C12D264E26D5, - EA53B7692D5E224F0477A791, - 019CD85E295A7290855D0C24, - 61C1B6B3336D774EAE4994F9, - C8B71823C30A65066A852942, - 94D011BBB3D330AEDAC86D11, - 0769D44014FDF069ECA54115, - 7581EDAFA0B1746EC8139077, - 4391785C112C65C6C1F4E05A, - 856F3C72739BD34C8CA40F3A, - E7D88F20FB6FEA84BFEC67D1, - B1C695101BE3D6A84272B6C8, - 92C99A9D9E9BCABE2AE26B9C, - C719606229204044D7C85339, ); name = windows; sourceTree = ""; }; - 39294ED083C056829DCC6B0C = {isa = PBXGroup; children = ( - E9164448EE60F4DB5F2A14D1, - 01B29765150B583E2460837C, - 275CF9CA5A34E2825DB8792C, - C2B61447889E781465E49AC3, - 1B0BEB542ED5BA84E52AEA2E, - E50BADB05430CBE8BF33F8F5, ); name = menus; sourceTree = ""; }; - 68E400580DF6F5DE436B39EB = {isa = PBXGroup; children = ( + 9332A62E76F4AD8F7A08D6C7 = {isa = PBXGroup; children = ( 2EC200E7CF8C908AC3DF4416, 1BC364DFD3A975A0CBA0AC61, 77802A78E9D43C940C14B0BF, @@ -1767,72 +1741,7 @@ ECD6C0DDB8587984580C96B0, 8D57423CD5A1B516B5374499, 6C4A5B3781D999AFA15F1016, ); name = layout; sourceTree = ""; }; - 82356BA2755E3E9A105EE32C = {isa = PBXGroup; children = ( - F5DBF428153938207320675F, - BB8AD6D858D518E804AFA0C7, - 6536E6457A8B77FDCC506401, - A87A60BF515078DF23E1F737, - AA54E821F947C9A9DC359693, - BEAB03E92089D87D7D6A2353, - 3935FEBDBA2F8025F602042C, - 5CE4484E6BAB76C9B49E6ADE, - 3B883BA33260250D6C443F87, - 80A6B9266A11D6977AD84546, - 5848A09E20AA6FE9EF1E6898, - 28BF10B49B1D14FE05CBC5DA, - F2ED5A15267070B560EFFA2B, - ECE3837512B3E620155A8432, - F7487F2DEA61873B12C6CAC0, - 449FC2FAA282C731A58D51E6, - 0892B622D73826BB91C8E418, - 6436F4F5D143E72BD77EE053, ); name = buttons; sourceTree = ""; }; - 9A1C5344E2500919F67C1907 = {isa = PBXGroup; children = ( - 8D11B58353EBDC8EBE9C641D, - C52847A293D0E8958E88DFD5, - 17A033D6C28B1E76FA8BEFCF, - 816CA082336A8BC8A9AA61BD, - C3B93391519DA8A352766580, - 406587D828CD424333E55C81, - 33B9E6212D92FB49C792ACE9, - C6B9F01A0AAA2A1DA8122912, - 9CF41B989B4516C8DB6CF7A0, - 35748B2B69B3A54D19679F3A, - ACD7FAE9EE61A4085580912B, - 360B3CDCB046B9D69C6F5ED4, - 56C2444E299E030DE7243C7D, - 220732F05D2DEBC2ADF2D45C, ); name = positioning; sourceTree = ""; }; - 6373BAB4261AEB403399D2DE = {isa = PBXGroup; children = ( - EA2BE0B9C8E1546D25A02D67, - 38043242051AD4996B081769, - 0D79BD52315BE837BAD64A82, - 9CABACB9A2FF46A8B3059D8E, - FAD5D9101D6427D96558C37F, - FC50C6150E60281125E69115, - 3F57F6B58B93E88A29F90809, - FDFE40162E4F5CCAA833061C, - 9F3DCE572188E0085FCF1956, - ADA1339F195F699D7F5369F9, - 9B9B8DBEBEA5051A602DA6C1, - DE1A6A1C0CCC94A3E3A887E3, - DCB52EFF8A9F5D9F6CF3D3FC, - 61596F68A47C4BEA8F9A4D68, - D6EDBF07E4162364DB8825D9, ); name = drawables; sourceTree = ""; }; - 4A5017F3DFD59498929C74A1 = {isa = PBXGroup; children = ( - 87C173B4D57F00E5523D3395, - 5B546C6ED44CAF4197788BC0, - 6555D39D3BE572E611DCA8EB, - 3545CC1CCF501BDBFF528908, - 78C9531A81D34333AEF14019, - 1ED3843AC8AC67374F6F5F77, - 3B3B1BB15DFF71215E86A175, - EA19F37E2AB4C42A1ACF17CE, - 70407DF33563B729D4758A17, - 3134A6BDE49CF0D3F0B12FE2, - AF5C2B3C5CF657FA722F9A68, - 1633D4A7385E8AB77FB6723E, - 5F6BDD2491C4086940AAE045, - 7392F4B60E4E28A340E465BE, ); name = properties; sourceTree = ""; }; - 7C2B9213A4FC92A23B91DB75 = {isa = PBXGroup; children = ( + 1C45128C334F881D7E30F76F = {isa = PBXGroup; children = ( 046591508FC3F71F74126E81, 8594A236A434383AA96AEB53, BA5A9BB00CD8BEA408371875, @@ -1841,48 +1750,40 @@ C48140923F2A4DEDBA063DFD, FA6BDA8882AAEE02FB04E36F, 8DFA760FAD9756305F9C7515, ); name = lookandfeel; sourceTree = ""; }; - 42F8790BBB2D6EAC6A228F28 = {isa = PBXGroup; children = ( - 37BD426B7B7DD8BB3EF562A6, - 3B2C9FC5B754F29B4BFF7EA9, - 541C3E9F5E720BF6D99D94CD, - 426B31F8A63727D575B2C782, - 546D112DEC6A685B52E4D7AA, - D92B6F28EF1D46625BC2A18B, - B1C7A541DFF31B38F0A17C16, - D9F41579025D12F2CCF079C4, - 281ADBFFA54CFADAE46AAE79, - EEE1F3257D7C9A527D6647E1, - 7987CDDDE250EA56F0B26A0F, - 69F89AFBA54B48038B47DDED, - FDB3097BE7C87FF74895E875, - DA12229986D485B2E2DE059B, - D24F3C46F1A46422C080A0A7, - 144BF62327063E0017BB7B0A, - B49E98EF01462277526C417D, - D01183D850457CA55516B3B2, - 7E278ACE0E80F59FBEB3122F, - 6C3B851F65AB406E5B6CAF7B, - 39DAB20FE9D55152EB2D224A, - C8FDA55A72DC4A244703C8F4, ); name = filebrowser; sourceTree = ""; }; - EB0838BDF3EDD2A6C56D1B10 = {isa = PBXGroup; children = ( - 2CD2FBF66999807E0B86E0B0, - C568E8888819EAFDCAEAF04F, - 8DBDCF6753B9AE327FC8E382, - A23A20A098747A2449C47047, - 31B42F889DD1C79540881B97, - 62935FD655DDDCE70536555F, - EEDD0D3608DCB2E459F3BF24, - EFDD05E3C006BA460761594C, - 01D4F510A1EE5495A8A419C0, ); name = commands; sourceTree = ""; }; - 3F09D506DAF77142944CD206 = {isa = PBXGroup; children = ( + 900EE88FAF7F3CE7F7260EE4 = {isa = PBXGroup; children = ( + E9164448EE60F4DB5F2A14D1, + 01B29765150B583E2460837C, + 275CF9CA5A34E2825DB8792C, + C2B61447889E781465E49AC3, + 1B0BEB542ED5BA84E52AEA2E, + E50BADB05430CBE8BF33F8F5, ); name = menus; sourceTree = ""; }; + 6D2EFB4A3E89BD21BAC547C3 = {isa = PBXGroup; children = ( B25D9BF429F016963A545287, 343BF0E7697F399B08D42CB7, 60F110007A8248E4318D9B0D, B68B3E0BE0396ACD3CA52250, ); name = misc; sourceTree = ""; }; - 2EFA9503FCACF0651BB57D5A = {isa = PBXGroup; children = ( - FC00E5ABDD903617E7498A0B, - 489D9B3F2489315DBF5C552E, ); name = application; sourceTree = ""; }; - BC1C3CB4DF57CE8A1B29522F = {isa = PBXGroup; children = ( + 15099FEDA05F5B2369A1BF36 = {isa = PBXGroup; children = ( + 1782B7FCE431430BD11700EB, + B8EF2AF777B74156958B72CA, + 40E971224B83783243521871, + 7246A65F3B8646D764F3A355, + 81556F6E103D6843193EA1EC, + C936095A19665316F5B675CF, + 850622AD96A6D025EC1E832D, + B0FB5996D7068C230DC6D8E0, + DB348CBC6734FFD0B7ED8A34, + C50DA493E57234B3820BD77A, + BC586A21CD33D786C4472FD4, + 9986CD0D1752D063F3DC2652, + 16421110FEB104E290E3F13C, + 1A424A0B9D68C68CD5B075E7, + 74E1A5ECBC09930A520D1A98, + 1C196D0BC6B08623601273FF, + 2740DD21925484E4BC243630, + 484ACD3191DB5BEB198EEF97, + FBF25BFCF0541B78909B16C6, + 5B5D589850B147BE94D01D42, ); name = mouse; sourceTree = ""; }; + 966B54017AB32203A1A0E16D = {isa = PBXGroup; children = ( 4717C14F84229B39FA2FA86B, 3A5C86CF6276058B0D5AC399, AF6001FA947F3A7DF15CBF8B, @@ -1899,25 +1800,102 @@ C05E16AAF0CF0676135C0C9B, 279D354D902DE91EB32B1BE6, 6C5F536D935CF788C07424CC, ); name = native; sourceTree = ""; }; + 28F36128CCD5758A7A18FC11 = {isa = PBXGroup; children = ( + 8D11B58353EBDC8EBE9C641D, + C52847A293D0E8958E88DFD5, + 17A033D6C28B1E76FA8BEFCF, + 816CA082336A8BC8A9AA61BD, + C3B93391519DA8A352766580, + 406587D828CD424333E55C81, + 33B9E6212D92FB49C792ACE9, + C6B9F01A0AAA2A1DA8122912, + 9CF41B989B4516C8DB6CF7A0, + 35748B2B69B3A54D19679F3A, + ACD7FAE9EE61A4085580912B, + 360B3CDCB046B9D69C6F5ED4, + 56C2444E299E030DE7243C7D, + 220732F05D2DEBC2ADF2D45C, ); name = positioning; sourceTree = ""; }; + AE22EF162AFFC50B3BEACB37 = {isa = PBXGroup; children = ( + 87C173B4D57F00E5523D3395, + 5B546C6ED44CAF4197788BC0, + 6555D39D3BE572E611DCA8EB, + 3545CC1CCF501BDBFF528908, + 78C9531A81D34333AEF14019, + 1ED3843AC8AC67374F6F5F77, + 3B3B1BB15DFF71215E86A175, + EA19F37E2AB4C42A1ACF17CE, + 70407DF33563B729D4758A17, + 3134A6BDE49CF0D3F0B12FE2, + AF5C2B3C5CF657FA722F9A68, + 1633D4A7385E8AB77FB6723E, + 5F6BDD2491C4086940AAE045, + 7392F4B60E4E28A340E465BE, ); name = properties; sourceTree = ""; }; + 5A6A01C299A5311466904669 = {isa = PBXGroup; children = ( + 8FFF7C1572807209B9A8A08D, + 1D6EA6E2DC8F03826454F21D, + BE635BACA572437D8DFDEEC8, + 759899A48CDE9705331F456E, + 7069BF224A795890367AB809, + F84732FE450246B23C813288, + 9AD78BC87097481DDC1815B2, + 8BA590FF6DD42B77C70BA092, + 795DBB9CDC6751C052A03827, + 355B143DFA326CC401844099, + 17AB5E83E71D5864435A011B, + C24880A7007CE75B7F8BBD71, + DE8A6DAED12A99017D7341E1, + 168D70A9989ECA609D355DA6, + 1AB2337020B7AA4AD329405A, + 67066EE59E69BCD634D38ABA, + D1C13988EF76674213DF92F4, + B2D09E29CCC80C27956BF314, + A80BB5CEC5BB5398B155F980, + 3E5E15C429B5D8BDA6815193, + DB59695708606C9604E11F0B, + 354636C92CDB97DAF80D1E6A, + 4676425D91097FBD1689298C, + 6F974A4B1AC400251425C8CA, + 99BF73D0D5B995E84BAB52B2, + 2DA8BDECC570B976D34D9263, + 4B409B90CC47BF0477D7F6E4, ); name = widgets; sourceTree = ""; }; + A4467EF8F1D03FBF14F90AC9 = {isa = PBXGroup; children = ( + C3A68B435020C80FC29DB89D, + 44EFBCE30DD206F4A55E4E81, + 876EE7E42127474428BE3BFF, + 76372445FC076FB8D26CEEC4, + D93861E50D66746DF070A158, + AD7CF8E55597C12D264E26D5, + EA53B7692D5E224F0477A791, + 019CD85E295A7290855D0C24, + 61C1B6B3336D774EAE4994F9, + C8B71823C30A65066A852942, + 94D011BBB3D330AEDAC86D11, + 0769D44014FDF069ECA54115, + 7581EDAFA0B1746EC8139077, + 4391785C112C65C6C1F4E05A, + 856F3C72739BD34C8CA40F3A, + E7D88F20FB6FEA84BFEC67D1, + B1C695101BE3D6A84272B6C8, + 92C99A9D9E9BCABE2AE26B9C, + C719606229204044D7C85339, ); name = windows; sourceTree = ""; }; 1EFC1E01B0C1ECC1EA973E50 = {isa = PBXGroup; children = ( - 5A794D6AA7ACA03DC348F94D, - 4AA38BF06A0BA16074879F26, - 9AF6FBC13AA9F0C35EC524A1, - 6401A528C034A7FE4E59C5C4, - 17E7CDE6EA0A435BF5A4DC15, - 39294ED083C056829DCC6B0C, - 68E400580DF6F5DE436B39EB, - 82356BA2755E3E9A105EE32C, - 9A1C5344E2500919F67C1907, - 6373BAB4261AEB403399D2DE, - 4A5017F3DFD59498929C74A1, - 7C2B9213A4FC92A23B91DB75, - 42F8790BBB2D6EAC6A228F28, - EB0838BDF3EDD2A6C56D1B10, - 3F09D506DAF77142944CD206, - 2EFA9503FCACF0651BB57D5A, - BC1C3CB4DF57CE8A1B29522F, - 0F1752D7FC9D89588551D5C3, + B7A822DE12252B1E117BB4FE, + 02DD1BC21EB57A857B5ACB50, + 1A57F64C42423054D05C7082, + 1F83F63AC1DAB355176752DC, + 5CC9A175B599CACF9EBED960, + 773F7F2ED36C18EB6B04B554, + 25289DC12EA28052C6042EF1, + 9332A62E76F4AD8F7A08D6C7, + 1C45128C334F881D7E30F76F, + 900EE88FAF7F3CE7F7260EE4, + 6D2EFB4A3E89BD21BAC547C3, + 15099FEDA05F5B2369A1BF36, + 966B54017AB32203A1A0E16D, + 28F36128CCD5758A7A18FC11, + AE22EF162AFFC50B3BEACB37, + 5A6A01C299A5311466904669, + A4467EF8F1D03FBF14F90AC9, A85BBB0551113A7CD910AA16, ); name = "juce_gui_basics"; sourceTree = ""; }; 7B917E77D4B25A14822B94CB = {isa = PBXGroup; children = ( 1233B57573AB9503E0625ECB, @@ -1979,9 +1957,21 @@ 8AB5C3D67E25D52FC85A482D, 284172C32915E2B9B95F2B0A, 7934D8F0485905857255419D, - 97C71C2DD318EDB304FC1CEB, B121FF657B96C6FFEB2C2DC1, ); name = "juce_gui_extra"; sourceTree = ""; }; - B88C560247F2D57D82F21CBB = {isa = PBXGroup; children = ( + 18601C0504DE065AA31DDE8E = {isa = PBXGroup; children = ( + 838BB45D693ED0AAD43B93C3, + B9B0A3004948FA2387C28829, + 21FAFC1D8D92872E96F56764, + CD44827B5286ADE94DB0B79C, ); name = geometry; sourceTree = ""; }; + FDECB45B15F8636560950ECA = {isa = PBXGroup; children = ( + DF42C1B300CA66580D0AED1D, + 32CFACA9C637ABD27F8A874F, + A3EFD0BE919B2F7AD7295F2D, + 2553F95186E2565315E012CF, + 5AFAF9A5651C30F1FF28A76A, + B99DD4C6D8C8F58C83ADD7CA, + 0ED63C3FFD7B718988BDDAFF, ); name = native; sourceTree = ""; }; + 5ED3D13821859F2D811BA1EF = {isa = PBXGroup; children = ( DF53D8FD5DE7B15694D26E91, 01FC5A0075F643D703F56555, 9D87175DE3988B783002560D, @@ -1999,47 +1989,32 @@ B2B042F73709D0057DE8A51E, 6F0A25914D95D4F547F91C79, E046CC53401A9551BDEA2D83, ); name = opengl; sourceTree = ""; }; - FEE6ACB178D213783FF6E964 = {isa = PBXGroup; children = ( - 838BB45D693ED0AAD43B93C3, - B9B0A3004948FA2387C28829, - 21FAFC1D8D92872E96F56764, - CD44827B5286ADE94DB0B79C, ); name = geometry; sourceTree = ""; }; - AC7F13F5542D3403D8F2ACB8 = {isa = PBXGroup; children = ( + D317ED667C0958D46822EB26 = {isa = PBXGroup; children = ( CED808C5809FF89D32131CB4, 7CD48F7A63EA97AF58ED7C5F, ); name = utils; sourceTree = ""; }; - B04BB024408E06CCC786C13E = {isa = PBXGroup; children = ( - DF42C1B300CA66580D0AED1D, - 32CFACA9C637ABD27F8A874F, - A3EFD0BE919B2F7AD7295F2D, - 2553F95186E2565315E012CF, - 5AFAF9A5651C30F1FF28A76A, - B99DD4C6D8C8F58C83ADD7CA, - 0ED63C3FFD7B718988BDDAFF, ); name = native; sourceTree = ""; }; 8C1FC7FA6E1B36498E7EB987 = {isa = PBXGroup; children = ( - B88C560247F2D57D82F21CBB, - FEE6ACB178D213783FF6E964, - AC7F13F5542D3403D8F2ACB8, - B04BB024408E06CCC786C13E, - 3FB32BF0AB8E9BD398E92361, + 18601C0504DE065AA31DDE8E, + FDECB45B15F8636560950ECA, + 5ED3D13821859F2D811BA1EF, + D317ED667C0958D46822EB26, E0E847621EEAEEFB21B87986, ); name = "juce_opengl"; sourceTree = ""; }; - E1A6B922CD26B2E238FFE633 = {isa = PBXGroup; children = ( - CC83A115FBF5C65772BBFAE3, - 3D26B83681D1E47ADFB2D8A9, ); name = playback; sourceTree = ""; }; - B43E665356CC8841DCE56D07 = {isa = PBXGroup; children = ( + C0FDB9A1ABAEDD1B9CD58AC0 = {isa = PBXGroup; children = ( 83619BFC8B92A2B5F17F596C, 985C549EBDB26AF7BFD6E8A4, ); name = capture; sourceTree = ""; }; - 9BD07AD149BE8BBE4BA6B001 = {isa = PBXGroup; children = ( + 3703C45C8E47244EE7EBBA6A = {isa = PBXGroup; children = ( D2C557606FD68958DC545A2B, 6894AE00A49D15E9C4A31355, BBECF34C65D1DD35DE8C6F9B, 003AAB5BFC9435FA4823BA2F, 72723038519B5AB5FFB52EB9, B0E21FE9C68B99E4C751DF13, ); name = native; sourceTree = ""; }; + DFE776317D90B3D3BD911CC3 = {isa = PBXGroup; children = ( + CC83A115FBF5C65772BBFAE3, + 3D26B83681D1E47ADFB2D8A9, ); name = playback; sourceTree = ""; }; 01C4A7ED89A1564ED222862E = {isa = PBXGroup; children = ( - E1A6B922CD26B2E238FFE633, - B43E665356CC8841DCE56D07, - 9BD07AD149BE8BBE4BA6B001, - 6C8C142D26BAD246C4ECC102, + C0FDB9A1ABAEDD1B9CD58AC0, + 3703C45C8E47244EE7EBBA6A, + DFE776317D90B3D3BD911CC3, 317988D9466ECCE83B91CD24, ); name = "juce_video"; sourceTree = ""; }; 128007CA5E777E8B423777F8 = {isa = PBXGroup; children = ( 333F7FC9E4E695D243B51D53, @@ -2059,22 +2034,22 @@ 80C983055BC197AE9FEF51D0, 9BBC3E0155BC3F36F21F7EBB, 7DDF23FA0DDE4FCFB121CA68, - C62300B9478B60BCBE254256, - D4A815675983D742D87E37A5, - FBDBBE33AEF062A1457DAA42, - BA895F5D0FC2F40DA0566469, - 3ED09149246BD2CC3D114FB1, - 7BE9659292437455B77D53F1, - 353C4A5B04236912332BDB1E, - 4DDD5CACDD472784437AB83C, - C0C66A94FBDE992AAD71C698, - C3B0CE7BC50EE3F20BB261EC, - D782993D6DAF0AF948A62517, - F07914AFCF34610BAC0D3B0B, - 757D9E8B34634C0E899922F9, + B83B338872C55E6D45712876, + 4F63D18FC561C73DB30F8DDF, + F1614F65F78F3C92905C4606, + C8F0C1EE7EFDCAA00E60D0D3, + 7AA89B16C96F2D93ACCD890A, + B08F95FF3710D93311D9A632, + FA1913317AD3CD9084390E3A, + 9452E573D4F681FC69684E37, + 668F50B473043F3047171F60, + 842E70AA39E7DAF8F20A094C, + 290556EFA38716E08426338C, + 25BAF0F0D2A6BF4BDC23C78A, + 5A920C68F8B3292144B1BC95, 27C1C1AD957D9955A13E3A4E, ); name = "Juce Library Code"; sourceTree = ""; }; 0483BF4E3FB318109FA0F8A5 = {isa = PBXGroup; children = ( - CE28252C42BBA94C930CF460, + 37A2A74491B5D8BB1A04C813, 25D7DC711CE171A1F8DBFF05, ); name = Resources; sourceTree = ""; }; 6F68D1090F539F5A1A041FAA = {isa = PBXGroup; children = ( 50151F5E1EA38C0768AD9AC8, @@ -2091,7 +2066,7 @@ 201259150E2168D8B93D9C87, 56B04319D227E406E44AD15D, ); name = Frameworks; sourceTree = ""; }; 5D365257108A916858E3947F = {isa = PBXGroup; children = ( - 5802E3490BEAFD892C837E2A, ); name = Products; sourceTree = ""; }; + 7451C664E0B1FF42F028813E, ); name = Products; sourceTree = ""; }; 5EB8D0E327356FA2D5323013 = {isa = PBXGroup; children = ( 853E25E8F0EA391EE8D4A3B8, 128007CA5E777E8B423777F8, @@ -2099,7 +2074,7 @@ 0483BF4E3FB318109FA0F8A5, 6F68D1090F539F5A1A041FAA, 5D365257108A916858E3947F, ); name = Source; sourceTree = ""; }; - 8DA6C115CCBD9A0699A71FA5 = {isa = XCBuildConfiguration; buildSettings = { + F08A9A77D1D83904C32A87BF = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; @@ -2115,12 +2090,12 @@ "JUCE_APP_VERSION_HEX=0x10000", ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.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 = { + B1560FC01F28141593B7C16C = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; @@ -2137,7 +2112,7 @@ GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.plist; INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.OpenGLAppExample; @@ -2174,32 +2149,33 @@ PRODUCT_NAME = "OpenGLAppExample"; WARNING_CFLAGS = -Wreorder; ZERO_LINK = NO; }; name = Release; }; + 74660B3A9E72089FD0C78653 = {isa = PBXTargetDependency; target = 9F2051B91F59B036C151A2F9; }; 46FEBDB3E8E7421830E627F2 = {isa = XCConfigurationList; buildConfigurations = ( 3132BF724B47EEFACACC0FF2, 71C0F419A1E2F06DF9155ABE, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 72A1EE1BA283790385236C82 = {isa = XCConfigurationList; buildConfigurations = ( - 8DA6C115CCBD9A0699A71FA5, - D10126CC8CE60E150025A42D, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 5B757FF4605862B33A33271E = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + DFEC4A70ACFDEF29698A9ACE = {isa = XCConfigurationList; buildConfigurations = ( + F08A9A77D1D83904C32A87BF, + B1560FC01F28141593B7C16C, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 56C1AB4D5E9F6E55C4A4D18C = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( 4A3B2112EAB24C18FCD790DD, ); runOnlyForDeploymentPostprocessing = 0; }; - F1D06D2C0F24121D958BCCF0 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 9C76B98AD0B6E256C4C90D77 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 5211AFD1D8E7FD62EDA703A9, 6A909F1AEE38A7340456EBBD, 1E0BAEC7950969D956E912F1, - 4FC452CEC761FB0515E83B9C, - 6790BEB5EE46E3DF6332536F, - D4371AC9EBB0CA9B69C81C98, - 5EB3C30963D75E7D43D6AD9A, - 238A6E94B07DB483C42E0D18, - 8A7C3FEF41B5A5913396E7B1, - 148EA191DA9D3066A3C4EEEC, - BEE9A8C926B45616AC4426AB, - 0A0FD3B4C732A965C2642CC8, - 978A2567AA64957C61694427, - 913CB51D1475C7F94739502A, - D54B744850AA08DC348CE8D8, - 938FA7CCB4CD0A844BE6509F, ); runOnlyForDeploymentPostprocessing = 0; }; - 54D4A7BDAE854DE0AE2D5E3E = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 89E271F0AA9BE0BAE25C81BE, + 07D2DA592C4771FDEFDC4C7C, + 476330359A11D92B4857933B, + 408AED5D2F268207F80FC34E, + 27D522CB1FB5FF45E7F8020B, + 3918D477E26B62DEBAA8CA73, + C53A706E7463F512B6EDDFDB, + F757610703AC3F5B846F5A91, + F0BD17D5E6592DBEAE2A6E32, + 75AAD97ED0D47661D8E53E44, + 469074B4DBAAC675F9030DB7, + 9FC0D7597A01E798BAB9097F, + 79F1A1735711D07C259AEF15, ); runOnlyForDeploymentPostprocessing = 0; }; + 9CAA70AAF55A5D696C59AA51 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( F2E327A47E10F43D6991A306, 7FF434A451FC85BF1B79BC7F, 96CB0F03F9B80A334DEA2147, @@ -2213,11 +2189,11 @@ 6243594E2BFD65B88D9F9918, 70755FD2C3B5797C7BD66CF3, A449C4B4D524AF85F99933DB, ); runOnlyForDeploymentPostprocessing = 0; }; - 7B81D348370C15990CC3A1BD = {isa = PBXNativeTarget; buildConfigurationList = 72A1EE1BA283790385236C82; buildPhases = ( - 5B757FF4605862B33A33271E, - F1D06D2C0F24121D958BCCF0, - 54D4A7BDAE854DE0AE2D5E3E, ); buildRules = ( ); dependencies = ( ); name = OpenGLAppExample; productName = OpenGLAppExample; productReference = 5802E3490BEAFD892C837E2A; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; - 92078120DD024E75D724B8AB = {isa = PBXProject; buildConfigurationList = 46FEBDB3E8E7421830E627F2; attributes = { LastUpgradeCheck = 0440; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 5EB8D0E327356FA2D5323013; projectDirPath = ""; projectRoot = ""; targets = ( 7B81D348370C15990CC3A1BD ); }; + 9F2051B91F59B036C151A2F9 = {isa = PBXNativeTarget; buildConfigurationList = DFEC4A70ACFDEF29698A9ACE; buildPhases = ( + 56C1AB4D5E9F6E55C4A4D18C, + 9C76B98AD0B6E256C4C90D77, + 9CAA70AAF55A5D696C59AA51, ); buildRules = ( ); dependencies = ( ); name = "OpenGLAppExample (App)"; productName = OpenGLAppExample; productReference = 7451C664E0B1FF42F028813E; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; + 92078120DD024E75D724B8AB = {isa = PBXProject; buildConfigurationList = 46FEBDB3E8E7421830E627F2; attributes = { LastUpgradeCheck = 0440; TargetAttributes = { 9F2051B91F59B036C151A2F9 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 5EB8D0E327356FA2D5323013; projectDirPath = ""; projectRoot = ""; targets = (9F2051B91F59B036C151A2F9); }; }; rootObject = 92078120DD024E75D724B8AB; } diff --git a/examples/OpenGLAppExample/Builds/VisualStudio2010/OpenGLAppExample.vcxproj b/examples/OpenGLAppExample/Builds/VisualStudio2010/OpenGLAppExample.vcxproj index 8eade5cb23..594e0039d8 100644 --- a/examples/OpenGLAppExample/Builds/VisualStudio2010/OpenGLAppExample.vcxproj +++ b/examples/OpenGLAppExample/Builds/VisualStudio2010/OpenGLAppExample.vcxproj @@ -212,6 +212,9 @@ true + + true + true @@ -227,15 +230,6 @@ true - - true - - - true - - - true - true @@ -284,25 +278,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -332,9 +311,45 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + true + + true + + + true + + + true + + + true + + + true + true @@ -353,21 +368,6 @@ true - - true - - - true - - - true - - - true - - - true - true @@ -383,45 +383,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -437,33 +398,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -488,40 +422,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -530,31 +434,16 @@ true - + true - + true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -620,6 +509,117 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -638,6 +638,15 @@ true + + true + + + true + + + true + true @@ -647,33 +656,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -692,6 +674,18 @@ true + + true + + + true + + + true + + + true + true @@ -701,6 +695,12 @@ true + + true + + + true + true @@ -722,43 +722,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -779,10 +746,40 @@ true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -809,6 +806,51 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -821,6 +863,153 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -842,19 +1031,70 @@ true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -923,246 +1163,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -1272,19 +1272,19 @@ true - - - - - - - - - - - - - + + + + + + + + + + + + + @@ -1324,6 +1324,8 @@ + + @@ -1331,20 +1333,10 @@ + - - - - - - - - - - - @@ -1354,8 +1346,25 @@ + + + + + + + + + + + + + + + + + @@ -1366,15 +1375,6 @@ - - - - - - - - - @@ -1385,21 +1385,35 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1420,22 +1434,49 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1455,53 +1496,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - @@ -1510,14 +1510,22 @@ + + + + - - - - + + + + + + + + @@ -1527,19 +1535,11 @@ - - - - - - - - - - + + @@ -1550,10 +1550,15 @@ - - - - + + + + + + + + + @@ -1564,26 +1569,91 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1597,14 +1667,21 @@ - - - - - - - - + + + + + + + + + + + + + + + @@ -1629,83 +1706,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1731,6 +1731,17 @@ + + + + + + + + + + + @@ -1740,22 +1751,11 @@ - - - - - - - - - - - + - @@ -1763,19 +1763,6 @@ - - - - - - - - - - - - - diff --git a/examples/OpenGLAppExample/Builds/VisualStudio2010/OpenGLAppExample.vcxproj.filters b/examples/OpenGLAppExample/Builds/VisualStudio2010/OpenGLAppExample.vcxproj.filters index dde38879b2..084ed93ca6 100644 --- a/examples/OpenGLAppExample/Builds/VisualStudio2010/OpenGLAppExample.vcxproj.filters +++ b/examples/OpenGLAppExample/Builds/VisualStudio2010/OpenGLAppExample.vcxproj.filters @@ -38,45 +38,45 @@ {CACD7B50-4DB3-76AF-A6E8-90DF94F8F594} + + {45C2CE26-EC4B-BA52-58F3-297C408E1483} + {9D270B31-2425-8FDB-84A4-6A2288FF5B2F} {0F766DD4-A277-CB86-5647-42498C8B41E1} - - {D64942B4-6984-3623-3347-45D472AE1C61} - - - {45C2CE26-EC4B-BA52-58F3-297C408E1483} - {01603E05-423B-5FC3-1BEE-E15ED33B5688} + + {D64942B4-6984-3623-3347-45D472AE1C61} + {65CB28F8-0422-A8F3-9A17-959E12A1F8E2} - - {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} - {0CD9E281-DDD0-91EC-6F77-EA9D9D5E0E1A} + + {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} + {40C5CA7C-AEBB-05B1-11CE-AE41D87B5CCB} {0B0E7392-324B-088C-FBEB-5FE999D61782} - - {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} - {20254EFE-6CBD-31A7-2119-92B1E0E0E311} {70796D73-6D30-8A1B-4732-7C021E47C05A} + + {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} + {EB8DD942-E2CB-869F-D381-E02A65BA790B} @@ -86,8 +86,17 @@ {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} - - {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + + {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + + {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + + {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} {476C69CE-0B67-6B85-E888-45D91E37A29E} @@ -95,17 +104,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} - - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -113,29 +116,26 @@ {91929C6F-7902-B87D-5260-2F6CBF8ACD93} - - {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} - {4634FFAE-9586-A970-364C-4FDDA635F99F} - - {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} - - {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - {F03654BC-34D8-F975-BEA3-750CC2783D23} + + {C9F6D785-BF78-5AA1-B479-111C65397864} {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} - - {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} - - {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + {F03654BC-34D8-F975-BEA3-750CC2783D23} {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} @@ -149,33 +149,33 @@ {928D8FCC-5E00-174B-6538-93E8D75AB396} - - {1988E68A-A964-64CA-0E0C-26FF9BC5176C} + + {358AEA11-3F96-36AE-7B32-71373B5C5396} {3DF036EA-3B80-553B-2494-3AAC835CAE75} - - {358AEA11-3F96-36AE-7B32-71373B5C5396} + + {1988E68A-A964-64CA-0E0C-26FF9BC5176C} {F2A38F45-6E55-E147-2E52-64A89FDD9D59} - - {6172822C-01A5-E824-12DA-FA43FA934D35} - - - {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} - {B098BC87-3298-7E6B-12DC-D26C09CDCAED} {6322B88F-984A-C3CD-6263-38D7AA49B6EC} + + {6172822C-01A5-E824-12DA-FA43FA934D35} + {73C1E759-AD90-59A3-942E-2D10FAA29107} + + {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} + {EE1AE8C3-0908-8F53-A4E5-D930C7C97C26} @@ -185,81 +185,81 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} - - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - - {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {E37D25CD-4350-4614-055B-7ABC55E67895} {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {C1A1A236-AB01-173E-96C3-0706BFF93B1E} + + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + + {413F481F-075C-2958-115C-D8268682FCB7} {FFC6E1CC-C772-75E6-5087-FB5D4E016799} + + {1182303F-ECA3-166D-AC0C-92C5E762CB93} + {8E43579F-C185-266D-DD67-F8B95BD80F2F} + + {61712B09-5783-ADFA-2001-5A0C3D7764EB} + + + {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + + {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} + {2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D} - - {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + {5A0AA36E-3957-E413-14C6-31CBE15271DF} + + + {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} {A92719C7-70BE-57C4-CE9E-A9BC9DFEB757} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} + + + {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} + + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} + + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + + {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} + + + {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} + {75F1F352-251A-75E0-D941-8431588F5C1E} {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} - - {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} - - - {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} - - - {5A0AA36E-3957-E413-14C6-31CBE15271DF} - - - {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} - - - {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} - - - {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} - - - {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} - - - {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - - {61712B09-5783-ADFA-2001-5A0C3D7764EB} - - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} - {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -281,30 +281,30 @@ {639E16C5-DA8B-ADBA-6E24-7B596378EAB2} - - {2D8D0E19-E676-83EB-38D9-F73500DD6B79} - {B3141847-8F13-F67D-45B2-E3ECF6E09088} - - {9E586194-C056-101C-5311-F2AF5191AC80} - {151B49D8-6102-F802-1C07-D59931BC0574} + + {2D8D0E19-E676-83EB-38D9-F73500DD6B79} + + + {9E586194-C056-101C-5311-F2AF5191AC80} + {72A923E2-C729-DB92-D7BF-A9D4AFAE5896} - - {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} - {7F11E7D2-54C0-2A36-5F15-BEC0A5374A08} {EE985DEA-CD83-8132-7219-542BB1DAD560} + + {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} + {8B4D1BAA-6DB4-CAEC-A0FA-271F354D5C61} @@ -403,6 +403,9 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -418,15 +421,6 @@ Juce Modules\juce_audio_devices\midi_io - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\audio_cd - Juce Modules\juce_audio_devices\native @@ -481,26 +475,11 @@ Juce Modules\juce_audio_devices\native - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_formats\codecs @@ -529,27 +508,30 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - Juce Modules\juce_audio_processors\format @@ -568,6 +550,24 @@ Juce Modules\juce_audio_processors\format_types + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + Juce Modules\juce_audio_processors\scanning @@ -583,45 +583,6 @@ Juce Modules\juce_audio_processors\utilities - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\memory - Juce Modules\juce_core\containers @@ -637,33 +598,6 @@ Juce Modules\juce_core\containers - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - Juce Modules\juce_core\files @@ -688,41 +622,11 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -730,32 +634,17 @@ Juce Modules\juce_core\logging - - Juce Modules\juce_core\system + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc @@ -835,6 +724,117 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + Juce Modules\juce_cryptography\encryption @@ -853,6 +853,15 @@ Juce Modules\juce_cryptography\hashing + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -862,33 +871,6 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - Juce Modules\juce_events\broadcasters @@ -907,6 +889,18 @@ Juce Modules\juce_events\interprocess + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + Juce Modules\juce_events\native @@ -922,6 +916,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_graphics\colour @@ -943,44 +943,11 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\effects Juce Modules\juce_graphics\fonts @@ -1000,11 +967,41 @@ Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -1036,6 +1033,51 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -1048,6 +1090,153 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -1069,20 +1258,92 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -1150,267 +1411,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_extra\code_editor @@ -1540,43 +1540,43 @@ Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code @@ -1692,6 +1692,12 @@ Juce Modules\juce_audio_basics + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -1713,48 +1719,18 @@ Juce Modules\juce_audio_devices\midi_io + + Juce Modules\juce_audio_devices\native + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\native - Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - Juce Modules\juce_audio_formats\codecs @@ -1782,12 +1758,63 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + Juce Modules\juce_audio_processors\processors @@ -1818,33 +1845,6 @@ Juce Modules\juce_audio_processors\processors - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - Juce Modules\juce_audio_processors\scanning @@ -1875,50 +1875,92 @@ Juce Modules\juce_audio_processors - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -1980,53 +2022,134 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text Juce Modules\juce_core\threads @@ -2085,92 +2208,8 @@ Juce Modules\juce_core\time - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -2178,12 +2217,6 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - Juce Modules\juce_core\zip @@ -2193,39 +2226,6 @@ Juce Modules\juce_core\zip - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - Juce Modules\juce_core @@ -2250,6 +2250,18 @@ Juce Modules\juce_cryptography + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -2259,21 +2271,33 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - Juce Modules\juce_data_structures + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + Juce Modules\juce_events\messages @@ -2301,36 +2325,6 @@ Juce Modules\juce_events\messages - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - Juce Modules\juce_events\native @@ -2340,6 +2334,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_events @@ -2370,17 +2370,32 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -2412,38 +2427,17 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -2454,9 +2448,60 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + Juce Modules\juce_graphics + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -2472,6 +2517,171 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -2511,29 +2721,50 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -2607,237 +2838,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_basics @@ -2913,6 +2913,39 @@ Juce Modules\juce_gui_extra + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + Juce Modules\juce_opengl\opengl @@ -2940,54 +2973,21 @@ Juce Modules\juce_opengl\opengl - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - Juce Modules\juce_opengl\utils - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - Juce Modules\juce_opengl + + Juce Modules\juce_video\capture + Juce Modules\juce_video\playback Juce Modules\juce_video\playback - - Juce Modules\juce_video\capture - Juce Modules\juce_video @@ -3005,45 +3005,6 @@ OpenGLAppExample\Source\Resources - - Juce Modules\juce_audio_basics - - - Juce Modules\juce_audio_devices - - - Juce Modules\juce_audio_formats - - - Juce Modules\juce_audio_processors - - - Juce Modules\juce_core - - - Juce Modules\juce_cryptography - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_gui_extra - - - Juce Modules\juce_opengl - - - Juce Modules\juce_video - diff --git a/examples/OpenGLAppExample/Builds/iOS/Info.plist b/examples/OpenGLAppExample/Builds/iOS/Info-App.plist similarity index 84% rename from examples/OpenGLAppExample/Builds/iOS/Info.plist rename to examples/OpenGLAppExample/Builds/iOS/Info-App.plist index 6eda77e030..2e9d67b4e6 100644 --- a/examples/OpenGLAppExample/Builds/iOS/Info.plist +++ b/examples/OpenGLAppExample/Builds/iOS/Info-App.plist @@ -13,6 +13,8 @@ $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName OpenGLAppExample + CFBundleDisplayName + OpenGLAppExample CFBundlePackageType APPL CFBundleSignature @@ -27,12 +29,15 @@ UIRequiresFullScreen + UIStatusBarHidden + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight + UIBackgroundModes + diff --git a/examples/OpenGLAppExample/Builds/iOS/OpenGLAppExample.xcodeproj/project.pbxproj b/examples/OpenGLAppExample/Builds/iOS/OpenGLAppExample.xcodeproj/project.pbxproj index 9779af0e41..f3f2171f6f 100644 --- a/examples/OpenGLAppExample/Builds/iOS/OpenGLAppExample.xcodeproj/project.pbxproj +++ b/examples/OpenGLAppExample/Builds/iOS/OpenGLAppExample.xcodeproj/project.pbxproj @@ -6,6 +6,7 @@ objectVersion = 46; objects = { + A795ACBDD9D51ADDC86EAA03 = {isa = PBXBuildFile; fileRef = 7451C664E0B1FF42F028813E; }; F2E327A47E10F43D6991A306 = {isa = PBXBuildFile; fileRef = 50151F5E1EA38C0768AD9AC8; }; 7FF434A451FC85BF1B79BC7F = {isa = PBXBuildFile; fileRef = 3948321FE783006946DC8F1F; }; F9B99B7794442B691803718A = {isa = PBXBuildFile; fileRef = CC144EDF680633EC54BB6C7C; }; @@ -21,22 +22,21 @@ 5211AFD1D8E7FD62EDA703A9 = {isa = PBXBuildFile; fileRef = 75A8F56B635DA7158E472382; }; 6A909F1AEE38A7340456EBBD = {isa = PBXBuildFile; fileRef = 82443CD4F42884B9D33A85EA; }; 1E0BAEC7950969D956E912F1 = {isa = PBXBuildFile; fileRef = 9BBC3E0155BC3F36F21F7EBB; }; - 4FC452CEC761FB0515E83B9C = {isa = PBXBuildFile; fileRef = C62300B9478B60BCBE254256; }; - 6790BEB5EE46E3DF6332536F = {isa = PBXBuildFile; fileRef = D4A815675983D742D87E37A5; }; - D4371AC9EBB0CA9B69C81C98 = {isa = PBXBuildFile; fileRef = FBDBBE33AEF062A1457DAA42; }; - 5EB3C30963D75E7D43D6AD9A = {isa = PBXBuildFile; fileRef = BA895F5D0FC2F40DA0566469; }; - 238A6E94B07DB483C42E0D18 = {isa = PBXBuildFile; fileRef = 3ED09149246BD2CC3D114FB1; }; - 8A7C3FEF41B5A5913396E7B1 = {isa = PBXBuildFile; fileRef = 7BE9659292437455B77D53F1; }; - 148EA191DA9D3066A3C4EEEC = {isa = PBXBuildFile; fileRef = 353C4A5B04236912332BDB1E; }; - BEE9A8C926B45616AC4426AB = {isa = PBXBuildFile; fileRef = 4DDD5CACDD472784437AB83C; }; - 0A0FD3B4C732A965C2642CC8 = {isa = PBXBuildFile; fileRef = C0C66A94FBDE992AAD71C698; }; - 978A2567AA64957C61694427 = {isa = PBXBuildFile; fileRef = C3B0CE7BC50EE3F20BB261EC; }; - 913CB51D1475C7F94739502A = {isa = PBXBuildFile; fileRef = D782993D6DAF0AF948A62517; }; - D54B744850AA08DC348CE8D8 = {isa = PBXBuildFile; fileRef = F07914AFCF34610BAC0D3B0B; }; - 938FA7CCB4CD0A844BE6509F = {isa = PBXBuildFile; fileRef = 757D9E8B34634C0E899922F9; }; + 89E271F0AA9BE0BAE25C81BE = {isa = PBXBuildFile; fileRef = B83B338872C55E6D45712876; }; + 07D2DA592C4771FDEFDC4C7C = {isa = PBXBuildFile; fileRef = 4F63D18FC561C73DB30F8DDF; }; + 476330359A11D92B4857933B = {isa = PBXBuildFile; fileRef = F1614F65F78F3C92905C4606; }; + 408AED5D2F268207F80FC34E = {isa = PBXBuildFile; fileRef = C8F0C1EE7EFDCAA00E60D0D3; }; + 27D522CB1FB5FF45E7F8020B = {isa = PBXBuildFile; fileRef = 7AA89B16C96F2D93ACCD890A; }; + 3918D477E26B62DEBAA8CA73 = {isa = PBXBuildFile; fileRef = B08F95FF3710D93311D9A632; }; + C53A706E7463F512B6EDDFDB = {isa = PBXBuildFile; fileRef = FA1913317AD3CD9084390E3A; }; + F757610703AC3F5B846F5A91 = {isa = PBXBuildFile; fileRef = 9452E573D4F681FC69684E37; }; + F0BD17D5E6592DBEAE2A6E32 = {isa = PBXBuildFile; fileRef = 668F50B473043F3047171F60; }; + 75AAD97ED0D47661D8E53E44 = {isa = PBXBuildFile; fileRef = 842E70AA39E7DAF8F20A094C; }; + 469074B4DBAAC675F9030DB7 = {isa = PBXBuildFile; fileRef = 290556EFA38716E08426338C; }; + 9FC0D7597A01E798BAB9097F = {isa = PBXBuildFile; fileRef = 25BAF0F0D2A6BF4BDC23C78A; }; + 79F1A1735711D07C259AEF15 = {isa = PBXBuildFile; fileRef = 5A920C68F8B3292144B1BC95; }; 003AAB5BFC9435FA4823BA2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_CameraDevice.cpp"; path = "../../../../modules/juce_video/native/juce_win32_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; 00A864993620E35F6951A372 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; - 014A45F4DF5D4B850A2E712D = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_data_structures/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 015766ED6CD9D55279FC884A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; }; 019CD85E295A7290855D0C24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; }; 01B29765150B583E2460837C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarComponent.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -72,7 +72,6 @@ 0E1CA391708ADDE3952BF147 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; 0ED63C3FFD7B718988BDDAFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLExtensions.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h"; sourceTree = "SOURCE_ROOT"; }; 0F0458EF50C559CFF42DDC67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; }; - 0F1752D7FC9D89588551D5C3 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 0F7BCDE5E324E86EEA86BA7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; }; 0F7EB01A494A7D2D347B9167 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 103DC7AD553B89B350BDB4BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEInstrument.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -145,6 +144,7 @@ 254F2F62D02E4B48191083CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; }; 2553F95186E2565315E012CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_linux.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_linux.h"; sourceTree = "SOURCE_ROOT"; }; 25B327FEFEA517FB80B16EA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; }; + 25BAF0F0D2A6BF4BDC23C78A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../JuceLibraryCode/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; 260D03D00CBF739BB3A2F604 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; }; 266A60D0C3095B8F7F16751E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; 270682BD87D4E3E0C264D05E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Whirlpool.h"; path = "../../../../modules/juce_cryptography/hashing/juce_Whirlpool.h"; sourceTree = "SOURCE_ROOT"; }; @@ -162,12 +162,12 @@ 28BF10B49B1D14FE05CBC5DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; }; 28DEE4AF47201ED83DFD5875 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 28ECC3EF6106E7DB0E4F256C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; }; + 290556EFA38716E08426338C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; 2931E23782DDD4761EA6E711 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; }; 293D0E58C45CE26287E99822 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 2951B1B0EE3CE714426016F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; 2A274CF384892F3968889E0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; }; 2A5F9649D883210E5C67CEE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; }; - 2A765F108608FDD8B2089BD1 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_cryptography/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 2B0C5F6413890F30078E6B59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterInt.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h"; sourceTree = "SOURCE_ROOT"; }; 2B3AC78362419CA5F13A91F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserVoice.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h"; sourceTree = "SOURCE_ROOT"; }; 2B594B1579F4770CA36E870C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -208,7 +208,6 @@ 342622E99E9622EDF376B782 = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = OpenGLAppExample/Images.xcassets; sourceTree = "SOURCE_ROOT"; }; 343BF0E7697F399B08D42CB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; }; 34CBE9CCD9B23B1405C76D9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; }; - 353C4A5B04236912332BDB1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; 3545CC1CCF501BDBFF528908 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 354636C92CDB97DAF80D1E6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; }; 355B143DFA326CC401844099 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; }; @@ -216,13 +215,13 @@ 35641C490EE335DDFF004FEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnection.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp"; sourceTree = "SOURCE_ROOT"; }; 356A77E7E341874950015BD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; 35748B2B69B3A54D19679F3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; }; - 3594634D87002997155671C1 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_formats/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 35B404161217DAE32CC143CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLGraphicsContext.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; 35F6D65077550D282646AC8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; }; 360B3CDCB046B9D69C6F5ED4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; }; 36632604A700FC8F53169301 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; }; 3693D26AD61B3B089A2B9CEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; }; 36C81D39EEE59DF7D8AB0E0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; }; + 37A2A74491B5D8BB1A04C813 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-App.plist"; path = "Info-App.plist"; sourceTree = "SOURCE_ROOT"; }; 37BD426B7B7DD8BB3EF562A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 38043242051AD4996B081769 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; }; 38A0CFC456FB82927DF8B990 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyListener.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h"; sourceTree = "SOURCE_ROOT"; }; @@ -259,13 +258,11 @@ 3E85ACEDFE88D01251E25E24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LeakedObjectDetector.h"; path = "../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h"; sourceTree = "SOURCE_ROOT"; }; 3EA7A5F6F6D13A68653F06E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_File.h"; path = "../../../../modules/juce_core/files/juce_File.h"; sourceTree = "SOURCE_ROOT"; }; 3ECBCBB5D76AD9DDE65BD81A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; }; - 3ED09149246BD2CC3D114FB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; 3F02F103D0EA0D398FA2A95D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; 3F20765E456B1B8FF59C2461 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 3F312C95E458F86E5D814AD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; }; 3F32203D512AD417AE3548E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; }; 3F57F6B58B93E88A29F90809 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; }; - 3FB32BF0AB8E9BD398E92361 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_opengl/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 406587D828CD424333E55C81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; }; 40ACA092AB6B933E39268DAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; 40E971224B83783243521871 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -313,11 +310,11 @@ 4C9A8BA6A094DC3490CF25B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; }; 4CAE848C3F30163816E921DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MD5.h"; path = "../../../../modules/juce_cryptography/hashing/juce_MD5.h"; sourceTree = "SOURCE_ROOT"; }; 4D95426C0ADAF01F92462C1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorListener.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h"; sourceTree = "SOURCE_ROOT"; }; - 4DDD5CACDD472784437AB83C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; 4E053EF00EC72441FCC9A6ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLPixelFormat.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 4E4A47F8BEEF90A57C0C98C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Sampler.h"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.h"; sourceTree = "SOURCE_ROOT"; }; 4EBBA20040624174084744DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; 4EDEB6768212BFBBDFC1CEFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4F63D18FC561C73DB30F8DDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../JuceLibraryCode/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; 4F70D57A0CFEEC0D7FADCB9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 4F9D0FABF1E74572460D086C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLImage.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLImage.cpp"; sourceTree = "SOURCE_ROOT"; }; 4FBA6C32DE977B1330BAD5DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; }; @@ -357,6 +354,7 @@ 5989B7979A4446D163FD7E13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; 59B2E8822B445FDD2BC590B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; 59C461E6BF35CEC17FB2C9DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Primes.h"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.h"; sourceTree = "SOURCE_ROOT"; }; + 5A920C68F8B3292144B1BC95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../JuceLibraryCode/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; 5AFAF9A5651C30F1FF28A76A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_osx.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_osx.h"; sourceTree = "SOURCE_ROOT"; }; 5B546C6ED44CAF4197788BC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BooleanPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 5B5D589850B147BE94D01D42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; }; @@ -394,6 +392,7 @@ 663F74D8282001BEA5E93096 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_QuickTimeAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 665600E48FF051CFE90C698D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; 66634B351B20F6B1F16ED9D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; }; + 668F50B473043F3047171F60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../JuceLibraryCode/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; 66B35673D58EF4ABC6C50824 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiDataConcatenator.h"; path = "../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h"; sourceTree = "SOURCE_ROOT"; }; 66CFF6B31868957CCF9A1C68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDirectoryScanner.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h"; sourceTree = "SOURCE_ROOT"; }; 67066EE59E69BCD634D38ABA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; }; @@ -422,7 +421,6 @@ 6C3B851F65AB406E5B6CAF7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; }; 6C4A5B3781D999AFA15F1016 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; }; 6C5F536D935CF788C07424CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; - 6C8C142D26BAD246C4ECC102 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_video/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 6C91F33E01BD39630B255C47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; 6CDDF198D9632DA763449E05 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; 6CE60A4F64042BC1A2391987 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; }; @@ -460,9 +458,9 @@ 7392F4B60E4E28A340E465BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 73B62E5AA67F4B0483ED680F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; 740AFAC150EAC7E6A6D6E6FA = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + 7451C664E0B1FF42F028813E = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = OpenGLAppExample.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; 74E1A5ECBC09930A520D1A98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; }; 74E37866C31A35A559E1E80D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 757D9E8B34634C0E899922F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../../../modules/juce_video/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; 7581EDAFA0B1746EC8139077 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; }; 759899A48CDE9705331F456E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h"; sourceTree = "SOURCE_ROOT"; }; 75A8F56B635DA7158E472382 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MainComponent.cpp; path = ../../Source/MainComponent.cpp; sourceTree = "SOURCE_ROOT"; }; @@ -489,12 +487,12 @@ 79F7E702E92F8B23B6BCA74E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 7A76BF61E569CCC96B9E16DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; 7A9C6994055A82AFC438626A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageSequence.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h"; sourceTree = "SOURCE_ROOT"; }; + 7AA89B16C96F2D93ACCD890A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; 7B1C3855706B615C704556DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToneGeneratorAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 7B751B8BF3344D7C0980DAD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; 7B7B6659C2DD68F2373F9D3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; 7BAEC8D30E310460FB3FC406 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; 7BD85F5BFF691F3E548BC8B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; }; - 7BE9659292437455B77D53F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../../../modules/juce_cryptography/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; 7C2A56B41F84CF25DC4D7C7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleMessageComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 7C388E6394CB0A8C4C919751 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp"; sourceTree = "SOURCE_ROOT"; }; 7CD48F7A63EA97AF58ED7C5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLAppComponent.h"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -518,6 +516,7 @@ 838BB45D693ED0AAD43B93C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Draggable3DOrientation.h"; path = "../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h"; sourceTree = "SOURCE_ROOT"; }; 83C4DBF3382367051A65FF4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemStats.cpp"; path = "../../../../modules/juce_core/system/juce_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; 83ED74D05C2699811929138C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SHA256.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp"; sourceTree = "SOURCE_ROOT"; }; + 842E70AA39E7DAF8F20A094C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 842FF0D158A48BD9C1651800 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; }; 844820FE23753AF260B13D1D = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; 850622AD96A6D025EC1E832D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -531,6 +530,7 @@ 8768714C4890B02A1719AC89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODevice.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h"; sourceTree = "SOURCE_ROOT"; }; 876EE7E42127474428BE3BFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 87C173B4D57F00E5523D3395 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 87EBB9223B9943D09D0ABA97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; 88060C7661160C61E794D2B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; }; 880A65D7F29BF8701826BF81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreMidi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp"; sourceTree = "SOURCE_ROOT"; }; 887EE77979249B8A3E7C2C49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; }; @@ -566,6 +566,7 @@ 92C99A9D9E9BCABE2AE26B9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 92E26ABEFD096B05F99EE036 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableEdgeComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h"; sourceTree = "SOURCE_ROOT"; }; 942393EC874CEC183B67641C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9452E573D4F681FC69684E37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; 94D011BBB3D330AEDAC86D11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; }; 9538D93554F08C0FDA9393E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTreeSynchroniser.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h"; sourceTree = "SOURCE_ROOT"; }; 966F24941F855EA74A2A8914 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LADSPAPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -573,7 +574,6 @@ 975BBC01D0C62E087E6246ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; }; 976CA25A81DCEEA8E07D2508 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginListComponent.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 976E37CE9482096F8A82A8CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; }; - 97C71C2DD318EDB304FC1CEB = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_extra/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 983FBC7E850263512E41D13D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReaderSource.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 985C549EBDB26AF7BFD6E8A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CameraDevice.h"; path = "../../../../modules/juce_video/capture/juce_CameraDevice.h"; sourceTree = "SOURCE_ROOT"; }; 98EC0D95FAEDE6ACB31FE1AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Whirlpool.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_Whirlpool.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -589,7 +589,6 @@ 9BECE88C6AB34861AF408C37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; }; 9C0906C06A9D1558C2982BC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; }; 9C52165BC295637D495791C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 9C56D1AE6B7768F6E27D8F31 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_processors/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 9CABACB9A2FF46A8B3059D8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; }; 9CF41B989B4516C8DB6CF7A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; }; 9D87175DE3988B783002560D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLFrameBuffer.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -602,7 +601,6 @@ 9FC9151FD7741CA152E57FDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZoneLayout.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; 9FE8D5E52AC84BCDEE8B414B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; A021D917DFD4DD5D4703913C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; }; - A061F1646238A35ED0BDA32A = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_events/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; A07D0C5C60BE446FD41ADE51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceManager.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h"; sourceTree = "SOURCE_ROOT"; }; A1593C95C327810AC73A73F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPENote.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp"; sourceTree = "SOURCE_ROOT"; }; A19D3050F95BFD17129EA013 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; }; @@ -616,6 +614,7 @@ A4F075DFF243F6BB90CD5950 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; A59F49F937F6C5E6E35B8B86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h"; sourceTree = "SOURCE_ROOT"; }; A5A883D3DAD1D2BF2F044379 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; + A5CC5E8F46D0A61F7FD2E01A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CatmullRomInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; A646D188288588F6FB9E8C53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; A66D765ECC0059E0B1C686A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorParameters.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp"; sourceTree = "SOURCE_ROOT"; }; A6B50D109A50FD28AE1D3F9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; }; @@ -632,14 +631,17 @@ AA55BD139AEC1B8272ABE461 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; AA6A795F8A452B980C91770B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlacAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; AA8A3E0CF7623249B2907DB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; }; + AA921522ADD7F6F4A371C1EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPENote.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.h"; sourceTree = "SOURCE_ROOT"; }; AABFFB2D2D9F9BB39C95BA25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioTransportSource.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp"; sourceTree = "SOURCE_ROOT"; }; AB3CF49071E6EEF217783B8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; AB540AC77FB76E3B498E98A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; }; ABCD1CB78CD58A79D0A728D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; }; + AC2A502E05BB93CB0840344D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; }; AC4730773DE422AE346C6D6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; ACD7FAE9EE61A4085580912B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; }; ACEC05FF097A56FB7F3EF6B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiOutput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h"; sourceTree = "SOURCE_ROOT"; }; AD0DBF0531130EAD4DF2A8FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3PluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + AD16BF0DECF3EEFD7AE11457 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; }; AD7CF8E55597C12D264E26D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentPeer.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h"; sourceTree = "SOURCE_ROOT"; }; ADA1339F195F699D7F5369F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; }; ADFFCCFC47120AF338FD8C22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ElementComparator.h"; path = "../../../../modules/juce_core/containers/juce_ElementComparator.h"; sourceTree = "SOURCE_ROOT"; }; @@ -651,7 +653,9 @@ AF80D629DF6AF8EEB11DE598 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; }; AFBCB46AC109F4982F012C0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; }; B05257BD950E35B28F9E88CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + B08F95FF3710D93311D9A632 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../JuceLibraryCode/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; B0E21FE9C68B99E4C751DF13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_QuickTimeMovieComponent.cpp"; path = "../../../../modules/juce_video/native/juce_win32_QuickTimeMovieComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + B0FB5996D7068C230DC6D8E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; B0FE76D91413C32F64610594 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; }; B121FF657B96C6FFEB2C2DC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; }; B1440ED412E2277340903AB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -659,10 +663,12 @@ B1C695101BE3D6A84272B6C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; }; B1C6C92A15E4605A40404381 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; }; B1C7A541DFF31B38F0A17C16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; }; + B1E4A1F07EFCCA50D963CF4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; }; B25D9BF429F016963A545287 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleComponent.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; B28DFE72ADE03393BE8B764C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; B2A85C1813641574E4D15BF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; B2B042F73709D0057DE8A51E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLShaderProgram.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h"; sourceTree = "SOURCE_ROOT"; }; + B2D09E29CCC80C27956BF314 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; }; B2E2A77534D9104C78E8F3E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; }; B2EE6F9509A435D69B2508AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; }; B36AA5249B5B2242486B4153 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -672,70 +678,56 @@ B68B3E0BE0396ACD3CA52250 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; }; B73DF787FC51F08E279923A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; B7612EA3B34C6AC48079A447 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Headers.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h"; sourceTree = "SOURCE_ROOT"; }; + B77BD5847F412656109A378E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextInputTarget.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h"; sourceTree = "SOURCE_ROOT"; }; + B83B338872C55E6D45712876 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../JuceLibraryCode/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; B84BA430E8F477AB2EDC45CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PositionableAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; B8A6BFA35FDD1F48C1E4E688 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + B8C996306428DFB642CBFB14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; }; + B8EF2AF777B74156958B72CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; }; + B91A8133C3474D98AB6300CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Desktop.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.cpp"; sourceTree = "SOURCE_ROOT"; }; + B97C816F9CBDE00E567E3144 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp"; sourceTree = "SOURCE_ROOT"; }; B9871E42658CC4E48462960A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZone.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.cpp"; sourceTree = "SOURCE_ROOT"; }; B99DD4C6D8C8F58C83ADD7CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_win32.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_win32.h"; sourceTree = "SOURCE_ROOT"; }; B9B0A3004948FA2387C28829 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Matrix3D.h"; path = "../../../../modules/juce_opengl/geometry/juce_Matrix3D.h"; sourceTree = "SOURCE_ROOT"; }; B9EB38A9A966EBB9A359DED3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; }; + BA5A9BB00CD8BEA408371875 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V1.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp"; sourceTree = "SOURCE_ROOT"; }; BA5DE80E67A74A41D57E7663 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; - BA895F5D0FC2F40DA0566469 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; BA99F87A1BC936C566A0DFA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; BB4B7332B8B456297344608E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; }; BB7442FBD89AFCE6AE14E0AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; }; + BB8AD6D858D518E804AFA0C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; }; BBECF34C65D1DD35DE8C6F9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_QuickTimeMovieComponent.mm"; path = "../../../../modules/juce_video/native/juce_mac_QuickTimeMovieComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + BC35263317084BA60132B43D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + BC586A21CD33D786C4472FD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; }; BC7C088D053711418A5A5698 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; + BCD3969359F2EB2EB970C412 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; }; + BCD60A4DBAB2007ECBCAB17D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; }; BD4C015152FD7519E50C9BCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; BD69D8ABDB6741F717E0DD1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; BDB1FA875F2C8263E3D2650A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; BDBC99D827A9F6C5B1B0ED5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; BE4CF2165544FB2D720E1DD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; }; + BE635BACA572437D8DFDEEC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; BEA260469BBB48EB998AA4DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; }; + BEAB03E92089D87D7D6A2353 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; BEFB2034FC381E2DD019E372 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; }; + C007BC3372F44746BD6E98C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; C02F8C844FAD835F09408406 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; }; C04188D62834AAE749694751 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; + C05E16AAF0CF0676135C0C9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; }; C0A37CB25E8C40792454E820 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; C0AC297D17FA68BBAB417A64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; }; - C1A299D4A5AAEA645975EEB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; - C33DDF76E058D3E11E61DE63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; - C3983DF936C4501C564FFF0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserBase.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h"; sourceTree = "SOURCE_ROOT"; }; - C3C776709CFEB52B87A9E260 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; - C407BCC7CEC505584B25682E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; - C64D47A361026A76FC9BA9B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; - C7BABEEA061F989A0A74F708 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; }; - CC144EDF680633EC54BB6C7C = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; - 5802E3490BEAFD892C837E2A = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = OpenGLAppExample.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; - 87EBB9223B9943D09D0ABA97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; - A5CC5E8F46D0A61F7FD2E01A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CatmullRomInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; - AA921522ADD7F6F4A371C1EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPENote.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.h"; sourceTree = "SOURCE_ROOT"; }; - AC2A502E05BB93CB0840344D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; }; - AD16BF0DECF3EEFD7AE11457 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; }; - B0FB5996D7068C230DC6D8E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; - B1E4A1F07EFCCA50D963CF4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; }; - B2D09E29CCC80C27956BF314 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; }; - B77BD5847F412656109A378E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextInputTarget.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h"; sourceTree = "SOURCE_ROOT"; }; - B8C996306428DFB642CBFB14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; }; - B8EF2AF777B74156958B72CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; }; - B91A8133C3474D98AB6300CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Desktop.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.cpp"; sourceTree = "SOURCE_ROOT"; }; - B97C816F9CBDE00E567E3144 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp"; sourceTree = "SOURCE_ROOT"; }; - BA5A9BB00CD8BEA408371875 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V1.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp"; sourceTree = "SOURCE_ROOT"; }; - BB8AD6D858D518E804AFA0C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; }; - BC35263317084BA60132B43D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; }; - BC586A21CD33D786C4472FD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; }; - BCD3969359F2EB2EB970C412 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; }; - BCD60A4DBAB2007ECBCAB17D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; }; - BE635BACA572437D8DFDEEC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - BEAB03E92089D87D7D6A2353 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; - C007BC3372F44746BD6E98C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; - C05E16AAF0CF0676135C0C9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; }; - C0C66A94FBDE992AAD71C698 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; C159C35E078C5B5B9BFEFB52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; }; + C1A299D4A5AAEA645975EEB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; C24880A7007CE75B7F8BBD71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; }; C2B61447889E781465E49AC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; }; + C33DDF76E058D3E11E61DE63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; + C3983DF936C4501C564FFF0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserBase.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h"; sourceTree = "SOURCE_ROOT"; }; C3A68B435020C80FC29DB89D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; - C3B0CE7BC50EE3F20BB261EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; C3B93391519DA8A352766580 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; + C3C776709CFEB52B87A9E260 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; C3E4252156EDD0E001A10DE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; + C407BCC7CEC505584B25682E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; C45B9350ECC13FC8096D3873 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; }; C48140923F2A4DEDBA063DFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; }; C50CE0A0485507647C78F30E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -744,21 +736,24 @@ C568E8888819EAFDCAEAF04F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; }; C57BA5F014343276128923F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WebBrowserComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; C599A55407B6EB6AD55AE73C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; }; - C62300B9478B60BCBE254256 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; + C64D47A361026A76FC9BA9B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; C66D4CDC39A565833178EB0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; C6B9F01A0AAA2A1DA8122912 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; }; C719606229204044D7C85339 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; + C7BABEEA061F989A0A74F708 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; }; C7BB125979760AE4264BF23E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; }; C7F47C1BEDD7EE514BA40C27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; C82D3226C2974C9A7A567173 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FFT.h"; path = "../../../../modules/juce_audio_basics/effects/juce_FFT.h"; sourceTree = "SOURCE_ROOT"; }; C8B71823C30A65066A852942 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; }; C8CEDA86517FE447F3A3DCF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + C8F0C1EE7EFDCAA00E60D0D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../JuceLibraryCode/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; C8FDA55A72DC4A244703C8F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; C936095A19665316F5B675CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; C9CD8A1AB4DAA664557DEBDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Common.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h"; sourceTree = "SOURCE_ROOT"; }; CA3D1FE94B500CF86704EB13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; CBF3ED31F58A0874E0E9A64B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; CC0ED57DE1266CEB11001787 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; + CC144EDF680633EC54BB6C7C = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; CC1AE8EECC77B1915D24C9DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilterAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; CC3E6F8333AA2D98AAC1235E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; }; CC42DBFB2ABA84046DD69E1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; }; @@ -767,7 +762,6 @@ CD44827B5286ADE94DB0B79C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Vector3D.h"; path = "../../../../modules/juce_opengl/geometry/juce_Vector3D.h"; sourceTree = "SOURCE_ROOT"; }; CD71ED4911896207B303106F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; CE11BC7911220E9CFA1283D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; - CE28252C42BBA94C930CF460 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = "SOURCE_ROOT"; }; CE5CDD52C447D5DCC7DE1259 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODeviceType.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h"; sourceTree = "SOURCE_ROOT"; }; CE9CAFB040BE90431A432537 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; CEB259E27BB64776AF6BF076 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -791,7 +785,6 @@ D33BA771F1FA8F73233004EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; D37936ED5B5A415DF1F5F2C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; }; D476B9FCEF30511BC736C744 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; - D4A815675983D742D87E37A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; D4CA818D9DA2269EBCE376DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemAudioVolume.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h"; sourceTree = "SOURCE_ROOT"; }; D521465375DD0F179649668B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; }; D53FD6223C4A997E441E1F80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -801,9 +794,7 @@ D6AC70136461C6F3FD1987F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; D6EDBF07E4162364DB8825D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; D74B9C3F462333A72B889773 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; }; - D782993D6DAF0AF948A62517 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; D85876E3373EF8AC5F39A5A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathIterator.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; - D8C269D8BFE34CF33A2B243C = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_core/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; D8EB2E5BDF6806B37482DE70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatWriter.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h"; sourceTree = "SOURCE_ROOT"; }; D8F75466ADD0287144087C5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VSTPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; D8FDF81708D362F909F5421B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LagrangeInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; @@ -883,7 +874,6 @@ EE49ECC80B5D7D0DEFA0EF7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ASIO.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp"; sourceTree = "SOURCE_ROOT"; }; EEBA2A14B5473C1F19BF3D3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LADSPAPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; EEDD0D3608DCB2E459F3BF24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; - EEE157CFCD553CC2F4D15CBB = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_devices/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; EEE1F3257D7C9A527D6647E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; EF0061905AEAC90A86145D40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; }; EF073EC891B2731068542C61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -893,9 +883,9 @@ F0074D8C86D3265AF7889CCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; F0260E36C06C76C1BE1F7D8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiser.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; F05511231DB8D8615D4A336C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - F07914AFCF34610BAC0D3B0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../../../modules/juce_opengl/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; F0A8EA8AEA260ED20ED40247 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; F0F7DE7E362D726569559501 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; + F1614F65F78F3C92905C4606 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../JuceLibraryCode/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; F1830606ECDFB808597E5A8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; F1BE04264A690B5EFA99FCA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DeletedAtShutdown.cpp"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp"; sourceTree = "SOURCE_ROOT"; }; F1EB95EC0156CE6D16280A45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -911,14 +901,12 @@ F4EA57711C5E9DC6746728FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; }; F5DBF428153938207320675F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; }; F5EB78612A35D53F005597D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; - F6086AE27F4DEB9C75A8FFB5 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; F616A5D8C022126707081DC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLRenderer.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h"; sourceTree = "SOURCE_ROOT"; }; F6625EF536284FBD73183EA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; }; F67C770333721A5D9BFEFCF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; F67FF8B4FA78D4E285AC0242 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; }; F6A4E47EA1AA7392CFA6D8AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; F7487F2DEA61873B12C6CAC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; }; - F7D32C5CE1D85C542190C26C = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_graphics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; F7D98798130B4AB14E4E82F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; }; F7E246B8F8600787C3F10552 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_processors.h"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.h"; sourceTree = "SOURCE_ROOT"; }; F84732FE450246B23C813288 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; @@ -930,6 +918,7 @@ F93D065EB34B3E5270F5626D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; F9A0A82AA4D8EDB4B2305849 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; F9EED40DD78515ADF3189694 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; }; + FA1913317AD3CD9084390E3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; FA6BDA8882AAEE02FB04E36F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; }; FA9CE8D2EEF012CB74C1E8CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; FAD5D9101D6427D96558C37F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -937,7 +926,6 @@ FB748B4E5E7E7CB38BBF07AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; FBA60035993B1D5796D202DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; }; FBD1053AF6BF9575682BCAF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; }; - FBDBBE33AEF062A1457DAA42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; FBF25BFCF0541B78909B16C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; FBFB17CDB832B533BEF3BFAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; FC00E5ABDD903617E7498A0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -1044,9 +1032,12 @@ A0AD69242AF85A596CBC183E, 2336D69CE0AC8B24294664D3, EFE15661AA2B9FA0F29792FB, - F6086AE27F4DEB9C75A8FFB5, 66634B351B20F6B1F16ED9D2, ); name = "juce_audio_basics"; sourceTree = ""; }; - 5C2DC77520F6E8AB1413621E = {isa = PBXGroup; children = ( + 410F9915273E34E5371699E7 = {isa = PBXGroup; children = ( + 7703A0B63AFF2C5FE9587CBF, + 2E1213ABCA6E339D156C6825, + 619377E030188B909977D85B, ); name = "audio_cd"; sourceTree = ""; }; + 2CFD21CF7755E59C29E6531C = {isa = PBXGroup; children = ( D276367530731B2C732C50CB, A07D0C5C60BE446FD41ADE51, 70687CABD6ABBC69E717B73D, @@ -1054,22 +1045,13 @@ 9A67CA8503FB1E02090F5FAD, CE5CDD52C447D5DCC7DE1259, D4CA818D9DA2269EBCE376DE, ); name = "audio_io"; sourceTree = ""; }; - ED484B85EA0EC12853FAC2A6 = {isa = PBXGroup; children = ( + 78B4F326575E0D36826B32EF = {isa = PBXGroup; children = ( A8A190EDD8CED5ACF3AEE2C9, 0411B541BEDEC5A67ECEAA31, 36C81D39EEE59DF7D8AB0E0B, 62ABA7CF7D0CE2D7B3F7BFCD, ACEC05FF097A56FB7F3EF6B9, ); name = "midi_io"; sourceTree = ""; }; - 9116D006293FCD1E0A12EE16 = {isa = PBXGroup; children = ( - CD27B64646C58118052C3459, - 51C3B7D6330C765ADFB672FF, - AABFFB2D2D9F9BB39C95BA25, - 45693266645F0549AD1FEA88, ); name = sources; sourceTree = ""; }; - 729710EC0419FCEE902079EF = {isa = PBXGroup; children = ( - 7703A0B63AFF2C5FE9587CBF, - 2E1213ABCA6E339D156C6825, - 619377E030188B909977D85B, ); name = "audio_cd"; sourceTree = ""; }; - 6BB4269ECC3477AD8A7A32A3 = {isa = PBXGroup; children = ( + 46499E24A63021501490A40B = {isa = PBXGroup; children = ( 59B2E8822B445FDD2BC590B2, ED4FD41F6F5825084831A29C, 1542F586268CE982EE1C9607, @@ -1089,31 +1071,19 @@ DD542B6F61E6C27A0D5A5F2A, 2951B1B0EE3CE714426016F1, E488221DF5AFED73C4518AE7, ); name = native; sourceTree = ""; }; + AD6A2E6D0B2ABBF67051971F = {isa = PBXGroup; children = ( + CD27B64646C58118052C3459, + 51C3B7D6330C765ADFB672FF, + AABFFB2D2D9F9BB39C95BA25, + 45693266645F0549AD1FEA88, ); name = sources; sourceTree = ""; }; EFBCC9AA9132896CF439C9BD = {isa = PBXGroup; children = ( - 5C2DC77520F6E8AB1413621E, - ED484B85EA0EC12853FAC2A6, - 9116D006293FCD1E0A12EE16, - 729710EC0419FCEE902079EF, - 6BB4269ECC3477AD8A7A32A3, - EEE157CFCD553CC2F4D15CBB, + 410F9915273E34E5371699E7, + 2CFD21CF7755E59C29E6531C, + 78B4F326575E0D36826B32EF, + 46499E24A63021501490A40B, + AD6A2E6D0B2ABBF67051971F, EBABE678E857A993B3753B83, ); name = "juce_audio_devices"; sourceTree = ""; }; - D285EE2EABEF952CC46877BA = {isa = PBXGroup; children = ( - B5A8A3579F03D2CCE4894848, - 2DBFFAB8701557418A4C7CA2, - EA77ADEA8100DFE7C2E0ABB6, - A3C0B621A37595B09825518B, - A1C21D6CF6F456E34A0E7FBE, - 819B5DAEB3840F04881F7CBD, - 983FBC7E850263512E41D13D, - 3E157C0C9F33470C32DE6008, - 31416E7F36800B9ACAEA176F, - D8EB2E5BDF6806B37482DE70, - BC35263317084BA60132B43D, - 509FC03682CA45E87F7E0A67, - 13FF137ABBAC726B7785FE0B, - 108D2A323EA2D7B31289AFFE, - 2822F9B316AEF7797E0F04B4, ); name = format; sourceTree = ""; }; - F0E2F377D5961CE0CF2EEEC1 = {isa = PBXGroup; children = ( + D571FF6C422F6398A0666572 = {isa = PBXGroup; children = ( 5F49099628EF3662332FDB0D, AEBF8C2FCAF972F014D43738, 73636C4935CD275E66A85104, @@ -1132,16 +1102,48 @@ 1742A7C8BB2AA11AE93DA43D, 16D38AE110B44FE0D5E26F9D, C8CEDA86517FE447F3A3DCF2, ); name = codecs; sourceTree = ""; }; + 4FC8205FE67042F6C2BAF5CF = {isa = PBXGroup; children = ( + B5A8A3579F03D2CCE4894848, + 2DBFFAB8701557418A4C7CA2, + EA77ADEA8100DFE7C2E0ABB6, + A3C0B621A37595B09825518B, + A1C21D6CF6F456E34A0E7FBE, + 819B5DAEB3840F04881F7CBD, + 983FBC7E850263512E41D13D, + 3E157C0C9F33470C32DE6008, + 31416E7F36800B9ACAEA176F, + D8EB2E5BDF6806B37482DE70, + BC35263317084BA60132B43D, + 509FC03682CA45E87F7E0A67, + 13FF137ABBAC726B7785FE0B, + 108D2A323EA2D7B31289AFFE, + 2822F9B316AEF7797E0F04B4, ); name = format; sourceTree = ""; }; CD94C234A6AF95D63133D736 = {isa = PBXGroup; children = ( E22C09309C11DAE1AA0AA148, 4E4A47F8BEEF90A57C0C98C5, ); name = sampler; sourceTree = ""; }; 8BB98CFCE02C8F888DEAD934 = {isa = PBXGroup; children = ( - D285EE2EABEF952CC46877BA, - F0E2F377D5961CE0CF2EEEC1, + D571FF6C422F6398A0666572, + 4FC8205FE67042F6C2BAF5CF, CD94C234A6AF95D63133D736, - 3594634D87002997155671C1, 0737A415932C93579574CE2D, ); name = "juce_audio_formats"; sourceTree = ""; }; - D7A7AC6EED05D3EFB23E0FBD = {isa = PBXGroup; children = ( + B0088CFDDCC36853053A9778 = {isa = PBXGroup; children = ( + 9FE8D5E52AC84BCDEE8B414B, + 266A60D0C3095B8F7F16751E, + 1A366C1E8FF34F708C0AF994, + 20F2CFC88281301E30E08682, ); name = format; sourceTree = ""; }; + BBC03ABCEC02A875FBB28103 = {isa = PBXGroup; children = ( + 23EA0178C7150CBA80E79215, + 1CC05551F14FFC0161D8E12A, + 966F24941F855EA74A2A8914, + EEBA2A14B5473C1F19BF3D3E, + C9CD8A1AB4DAA664557DEBDC, + B7612EA3B34C6AC48079A447, + 58C9B8F93CF63036CA33A6C3, + AD0DBF0531130EAD4DF2A8FA, + 8E0D42B79853ED7FC60F931B, + D8F75466ADD0287144087C5B, + 794DEE7E5CC51940507F676F, ); name = "format_types"; sourceTree = ""; }; + F99F1A538EA61E5E4935484A = {isa = PBXGroup; children = ( 09B659F4A61EA3BDC6521FEC, EF7A3AF54294E08EB489D9AF, 52057B317B0FC98209D5BEC9, @@ -1158,23 +1160,6 @@ 80648C9ABD2B763398568A0B, 48285F283B8D98122DB9D028, E66B64B5619AFCB389836C06, ); name = processors; sourceTree = ""; }; - 3D87BE7DE866701CC5B6C485 = {isa = PBXGroup; children = ( - 9FE8D5E52AC84BCDEE8B414B, - 266A60D0C3095B8F7F16751E, - 1A366C1E8FF34F708C0AF994, - 20F2CFC88281301E30E08682, ); name = format; sourceTree = ""; }; - 98BF95789FAFC50466F1A1DC = {isa = PBXGroup; children = ( - 23EA0178C7150CBA80E79215, - 1CC05551F14FFC0161D8E12A, - 966F24941F855EA74A2A8914, - EEBA2A14B5473C1F19BF3D3E, - C9CD8A1AB4DAA664557DEBDC, - B7612EA3B34C6AC48079A447, - 58C9B8F93CF63036CA33A6C3, - AD0DBF0531130EAD4DF2A8FA, - 8E0D42B79853ED7FC60F931B, - D8F75466ADD0287144087C5B, - 794DEE7E5CC51940507F676F, ); name = "format_types"; sourceTree = ""; }; D943062B41CDE85FA2B03472 = {isa = PBXGroup; children = ( 4ADEE86E1B443E58DA6A90FC, E388DABC27B6A417CE9B7F7B, @@ -1192,65 +1177,13 @@ 8684BC420922F40BD629C51C, 49EE14EEEF6EADB9F20306E4, ); name = utilities; sourceTree = ""; }; B0A8A78F56D39E5C52AB1C76 = {isa = PBXGroup; children = ( - D7A7AC6EED05D3EFB23E0FBD, - 3D87BE7DE866701CC5B6C485, - 98BF95789FAFC50466F1A1DC, + B0088CFDDCC36853053A9778, + BBC03ABCEC02A875FBB28103, + F99F1A538EA61E5E4935484A, D943062B41CDE85FA2B03472, 1B61782F94F534A6144C3496, - 9C56D1AE6B7768F6E27D8F31, F7E246B8F8600787C3F10552, ); name = "juce_audio_processors"; sourceTree = ""; }; - 9DB85B0F2371EE26F3E89D82 = {isa = PBXGroup; children = ( - 9A9455318FAE348D58C369D5, - 11AA656929A0D7F50667583B, - 22D01A956BCD31F2C54E4E38, - E45F076842C926BA5400B70B, - 07A41B027C9FC2A6DAC801F3, - 975BBC01D0C62E087E6246ED, - E0FF460CC2AACA09D6C7412E, - 16094015FECE7F7A1EE6B751, - 80BE3657BDC9B08AB3570055, - 6B107438F2E31C0BF985A733, - C407BCC7CEC505584B25682E, - FBD1053AF6BF9575682BCAF8, - E9BB6F5CCB22B9CBEA0DFAB6, - 6AC21250C86C558A82EE3B25, - 60B2BAA3043C667FE98E94CC, - 6C91F33E01BD39630B255C47, - 71F494877324567960FC3F84, - 976E37CE9482096F8A82A8CE, - 842FF0D158A48BD9C1651800, - 355F2CA65E4117FDE2391872, - 48FCAA413FA6EC7E02B33A6E, - A2D465168084C9FFAE312E3C, - 6EAF92417BE40684D0FAA797, - 3197F342A372898714E25F70, ); name = text; sourceTree = ""; }; - C9A88DFF6E95D969C2A09F24 = {isa = PBXGroup; children = ( - FB748B4E5E7E7CB38BBF07AD, - C33DDF76E058D3E11E61DE63, - 7BAEC8D30E310460FB3FC406, - 3E3D664A12153D29FC1D42ED, - 05F871A5DA3290898E2EBFBE, - 5D998A4BC436D82C3A6E8606, - 41F9BAD0BC589CC46CFEF495, - 0F0458EF50C559CFF42DDC67, - C0AC297D17FA68BBAB417A64, - 61EFB1120837C4B54493568E, ); name = maths; sourceTree = ""; }; - EDEB768592E2E04E19CBBB39 = {isa = PBXGroup; children = ( - F2DFFAA96667B5897702E4B6, - 5989B7979A4446D163FD7E13, - DEE9366528ACF7F2CC0A9F73, - FD6A6D3E26D069707DD51652, - 3E85ACEDFE88D01251E25E24, - BEFB2034FC381E2DD019E372, - 4660BCF2E3BB5D499FA4A5EF, - BE4CF2165544FB2D720E1DD6, - 671B91E2FBEFF3E1A411B28A, - C66D4CDC39A565833178EB0D, - 773BD1E9176FB073B71705A0, - DA67F5A5693214A2189039D4, - 1DC4AC19C53D307B6007D02F, - C7BABEEA061F989A0A74F708, ); name = memory; sourceTree = ""; }; - 1EB689C939940E8ABE1AD59B = {isa = PBXGroup; children = ( + 732D8DEF87E57691636A768B = {isa = PBXGroup; children = ( E5F97C758712010CF0E6D1B5, 160486C90F388089629BA392, FC865A2B46F423E11725FFBC, @@ -1272,37 +1205,7 @@ 46258D3B622AB0E2EF63F709, 9F8B21E7C672840ACD02251E, F1830606ECDFB808597E5A8F, ); name = containers; sourceTree = ""; }; - 312A62049C445C01FDD661BD = {isa = PBXGroup; children = ( - BC7C088D053711418A5A5698, - A646D188288588F6FB9E8C53, - B1B76C913B09E3F684F76824, - 13FC99389707E91E7EB6D000, - 4AB3D9133A3357A3FDAD3BB1, - B9EB38A9A966EBB9A359DED3, - 2E355DED51A6E9DFBFDA84CC, - FE42628E4890B2FC1D85E574, - 2BEA66F83F12716439729EEA, - 6D36D69499FD940CAD1E7484, - ABCD1CB78CD58A79D0A728D0, - A6B50D109A50FD28AE1D3F9A, - F6A4E47EA1AA7392CFA6D8AD, - 097B8DA5C29B16C544CEA626, - 140AFDDDAB2B88153F46692E, - B1C6C92A15E4605A40404381, - CC3E6F8333AA2D98AAC1235E, - 61448959C09144CC093AA715, - 6DC6E88C0FC0045CD52064F1, - 8A011075C19F974A22685EAA, - 8E06EBA4362C66A9040A2EC6, - 77A353D0E709D31E3BE00A8C, ); name = threads; sourceTree = ""; }; - 447896868A39D1BBF6C215C4 = {isa = PBXGroup; children = ( - 8FA29927B18439A066241F38, - BB4B7332B8B456297344608E, - A5A883D3DAD1D2BF2F044379, - 7609867A9F36324EA1C9F228, - 56CAE507F1D59D551C26B998, - 5C51BB323073B2AD0320825A, ); name = time; sourceTree = ""; }; - B2800371CE1A826ABDD312A5 = {isa = PBXGroup; children = ( + B3851DBC1F9FCDFDC17AD646 = {isa = PBXGroup; children = ( 23E996355EF7DFDCECA97B64, DE3832516FB6969C0E3210D4, 55C1F41C94C7C8ED73FC3288, @@ -1320,66 +1223,43 @@ E068F61F296A52D25E329978, CEB259E27BB64776AF6BF076, AB3CF49071E6EEF217783B8A, ); name = files; sourceTree = ""; }; - 22AF4BABA7E4362DABCA3E9D = {isa = PBXGroup; children = ( - E2B33608E3097EE1E7801707, - 82327EBDDBDE6104A0FFE08D, - 7B7B6659C2DD68F2373F9D3C, - 70C9E5BB2C3C4F1314DD8F4B, - 434AB1A1510034290ED3FBA8, - 3ECBCBB5D76AD9DDE65BD81A, - E81332E1BCBF978D86F92DFE, - 7A76BF61E569CCC96B9E16DE, - F1EB95EC0156CE6D16280A45, - 2517140ED8C0697A51CF87AA, ); name = network; sourceTree = ""; }; - 6B04E6A30689BE379804BC1C = {isa = PBXGroup; children = ( - 3F20765E456B1B8FF59C2461, - 5BB4A463E17E9C4AD5F43FFE, - DF2B90185FBA2C86DE767F46, - 417D4A3533F8C72814441F51, - 972D271918F957FB6FCD6CFB, - BD69D8ABDB6741F717E0DD1C, - 2D23BD941B1F4B65E5A2C2F3, - E2EEB444EC638B0C72A8A7E6, - D99465F417B8D56C2C9A212D, - C7F47C1BEDD7EE514BA40C27, - 5375E8C69E76D1570BE36946, - F8E83B5544E2379CB0B323D8, - 3AD3CC5787E119E3A1F6A55F, - F05511231DB8D8615D4A336C, - 34CBE9CCD9B23B1405C76D9C, ); name = streams; sourceTree = ""; }; - 1D0C55594A9BAF09CB69ABA6 = {isa = PBXGroup; children = ( - 791D605377E089529EA264D0, - 5784477EFEEAAD041BDF34D4, - 3DCD8AA2FF25FBE6919E8F64, - 0F7BCDE5E324E86EEA86BA7A, ); name = logging; sourceTree = ""; }; - 810ABDB24E2FE53C90BFDDFA = {isa = PBXGroup; children = ( - 2A274CF384892F3968889E0C, - F2C08F60BC16ABA3BE1F3A36, - 509031D02C057DCD1F713B6B, - 83C4DBF3382367051A65FF4D, - D37936ED5B5A415DF1F5F2C2, - F67FF8B4FA78D4E285AC0242, ); name = system; sourceTree = ""; }; - 5A97C8FA90181188140B83A0 = {isa = PBXGroup; children = ( - E5D5588D0F985DB2D5A8BAF5, - BDB1FA875F2C8263E3D2650A, - C50CE0A0485507647C78F30E, - 5CD7B0F647F366AC5510A13E, ); name = xml; sourceTree = ""; }; - 96DA2309744F7B1844D7EADE = {isa = PBXGroup; children = ( + 7EB900DA593438C21EEC9498 = {isa = PBXGroup; children = ( 36632604A700FC8F53169301, ED9CF9B1476F08D13A1E636E, 8F81943FE96DB8DD0ABB9DF7, 0D158239399CB7487C663168, ); name = javascript; sourceTree = ""; }; - EAFC9A1D80CBC941C7724431 = {isa = PBXGroup; children = ( - 0F7EB01A494A7D2D347B9167, - 1E6168E98312F552A0C57E54, - FBFB17CDB832B533BEF3BFAB, - C02F8C844FAD835F09408406, - 32D11E8A57FD1B5250A5E493, - 396986DB8689B7C6909777E3, ); name = zip; sourceTree = ""; }; - 2C36774A2938F4DE66EA7B1F = {isa = PBXGroup; children = ( - 6549876733A874A58F78CE78, - 20A48C39E51031BF57458A55, ); name = "unit_tests"; sourceTree = ""; }; - CCC10C50368A3362DAC1E895 = {isa = PBXGroup; children = ( + 565C31CAE02182F304D6E997 = {isa = PBXGroup; children = ( + 791D605377E089529EA264D0, + 5784477EFEEAAD041BDF34D4, + 3DCD8AA2FF25FBE6919E8F64, + 0F7BCDE5E324E86EEA86BA7A, ); name = logging; sourceTree = ""; }; + 980D12FC561728322A7F3915 = {isa = PBXGroup; children = ( + FB748B4E5E7E7CB38BBF07AD, + C33DDF76E058D3E11E61DE63, + 7BAEC8D30E310460FB3FC406, + 3E3D664A12153D29FC1D42ED, + 05F871A5DA3290898E2EBFBE, + 5D998A4BC436D82C3A6E8606, + 41F9BAD0BC589CC46CFEF495, + 0F0458EF50C559CFF42DDC67, + C0AC297D17FA68BBAB417A64, + 61EFB1120837C4B54493568E, ); name = maths; sourceTree = ""; }; + 1DBE02BC0B3D21055528E935 = {isa = PBXGroup; children = ( + F2DFFAA96667B5897702E4B6, + 5989B7979A4446D163FD7E13, + DEE9366528ACF7F2CC0A9F73, + FD6A6D3E26D069707DD51652, + 3E85ACEDFE88D01251E25E24, + BEFB2034FC381E2DD019E372, + 4660BCF2E3BB5D499FA4A5EF, + BE4CF2165544FB2D720E1DD6, + 671B91E2FBEFF3E1A411B28A, + C66D4CDC39A565833178EB0D, + 773BD1E9176FB073B71705A0, + DA67F5A5693214A2189039D4, + 1DC4AC19C53D307B6007D02F, + C7BABEEA061F989A0A74F708, ); name = memory; sourceTree = ""; }; + A7895BC878133E46FFCE0A77 = {isa = PBXGroup; children = ( D74B9C3F462333A72B889773, D23F862EE7BAEDAC24479902, 4EDEB6768212BFBBDFC1CEFF, @@ -1387,7 +1267,7 @@ F937ACD8AA15A27F13F85A88, 6364C602FBB1C4D7915DF708, 6B5BE388D982E05CD2C7BE10, ); name = misc; sourceTree = ""; }; - 791BA85C5C83D6BFBBF82631 = {isa = PBXGroup; children = ( + 4C5D4C48647ACB5E43D04B8E = {isa = PBXGroup; children = ( 57FE8CC6D36C0376D4065444, 19B1556541E4426450C8397C, 274FB7736A16D65B40E1EA71, @@ -1417,25 +1297,128 @@ 32940D3F55D43FA834DAD545, CEE5BF72C9D7E467212D8973, 332346809620F9AFA7CF3D59, ); name = native; sourceTree = ""; }; + 8344871D205866581ADBA52A = {isa = PBXGroup; children = ( + E2B33608E3097EE1E7801707, + 82327EBDDBDE6104A0FFE08D, + 7B7B6659C2DD68F2373F9D3C, + 70C9E5BB2C3C4F1314DD8F4B, + 434AB1A1510034290ED3FBA8, + 3ECBCBB5D76AD9DDE65BD81A, + E81332E1BCBF978D86F92DFE, + 7A76BF61E569CCC96B9E16DE, + F1EB95EC0156CE6D16280A45, + 2517140ED8C0697A51CF87AA, ); name = network; sourceTree = ""; }; + 4A22A3B7AF7F95FFC19F9980 = {isa = PBXGroup; children = ( + 3F20765E456B1B8FF59C2461, + 5BB4A463E17E9C4AD5F43FFE, + DF2B90185FBA2C86DE767F46, + 417D4A3533F8C72814441F51, + 972D271918F957FB6FCD6CFB, + BD69D8ABDB6741F717E0DD1C, + 2D23BD941B1F4B65E5A2C2F3, + E2EEB444EC638B0C72A8A7E6, + D99465F417B8D56C2C9A212D, + C7F47C1BEDD7EE514BA40C27, + 5375E8C69E76D1570BE36946, + F8E83B5544E2379CB0B323D8, + 3AD3CC5787E119E3A1F6A55F, + F05511231DB8D8615D4A336C, + 34CBE9CCD9B23B1405C76D9C, ); name = streams; sourceTree = ""; }; + 810ABDB24E2FE53C90BFDDFA = {isa = PBXGroup; children = ( + 2A274CF384892F3968889E0C, + F2C08F60BC16ABA3BE1F3A36, + 509031D02C057DCD1F713B6B, + 83C4DBF3382367051A65FF4D, + D37936ED5B5A415DF1F5F2C2, + F67FF8B4FA78D4E285AC0242, ); name = system; sourceTree = ""; }; + DD7D1DB0B5B89AE2FE71EE1D = {isa = PBXGroup; children = ( + 9A9455318FAE348D58C369D5, + 11AA656929A0D7F50667583B, + 22D01A956BCD31F2C54E4E38, + E45F076842C926BA5400B70B, + 07A41B027C9FC2A6DAC801F3, + 975BBC01D0C62E087E6246ED, + E0FF460CC2AACA09D6C7412E, + 16094015FECE7F7A1EE6B751, + 80BE3657BDC9B08AB3570055, + 6B107438F2E31C0BF985A733, + C407BCC7CEC505584B25682E, + FBD1053AF6BF9575682BCAF8, + E9BB6F5CCB22B9CBEA0DFAB6, + 6AC21250C86C558A82EE3B25, + 60B2BAA3043C667FE98E94CC, + 6C91F33E01BD39630B255C47, + 71F494877324567960FC3F84, + 976E37CE9482096F8A82A8CE, + 842FF0D158A48BD9C1651800, + 355F2CA65E4117FDE2391872, + 48FCAA413FA6EC7E02B33A6E, + A2D465168084C9FFAE312E3C, + 6EAF92417BE40684D0FAA797, + 3197F342A372898714E25F70, ); name = text; sourceTree = ""; }; + 650207F1C5359B178179F6D9 = {isa = PBXGroup; children = ( + BC7C088D053711418A5A5698, + A646D188288588F6FB9E8C53, + B1B76C913B09E3F684F76824, + 13FC99389707E91E7EB6D000, + 4AB3D9133A3357A3FDAD3BB1, + B9EB38A9A966EBB9A359DED3, + 2E355DED51A6E9DFBFDA84CC, + FE42628E4890B2FC1D85E574, + 2BEA66F83F12716439729EEA, + 6D36D69499FD940CAD1E7484, + ABCD1CB78CD58A79D0A728D0, + A6B50D109A50FD28AE1D3F9A, + F6A4E47EA1AA7392CFA6D8AD, + 097B8DA5C29B16C544CEA626, + 140AFDDDAB2B88153F46692E, + B1C6C92A15E4605A40404381, + CC3E6F8333AA2D98AAC1235E, + 61448959C09144CC093AA715, + 6DC6E88C0FC0045CD52064F1, + 8A011075C19F974A22685EAA, + 8E06EBA4362C66A9040A2EC6, + 77A353D0E709D31E3BE00A8C, ); name = threads; sourceTree = ""; }; + FE8D503390BA6182FA15433C = {isa = PBXGroup; children = ( + 8FA29927B18439A066241F38, + BB4B7332B8B456297344608E, + A5A883D3DAD1D2BF2F044379, + 7609867A9F36324EA1C9F228, + 56CAE507F1D59D551C26B998, + 5C51BB323073B2AD0320825A, ); name = time; sourceTree = ""; }; + 2C36774A2938F4DE66EA7B1F = {isa = PBXGroup; children = ( + 6549876733A874A58F78CE78, + 20A48C39E51031BF57458A55, ); name = "unit_tests"; sourceTree = ""; }; + 0E38339F9511F04CD0DEBE2A = {isa = PBXGroup; children = ( + E5D5588D0F985DB2D5A8BAF5, + BDB1FA875F2C8263E3D2650A, + C50CE0A0485507647C78F30E, + 5CD7B0F647F366AC5510A13E, ); name = xml; sourceTree = ""; }; + 425B07C5F90693ED10EC5F39 = {isa = PBXGroup; children = ( + 0F7EB01A494A7D2D347B9167, + 1E6168E98312F552A0C57E54, + FBFB17CDB832B533BEF3BFAB, + C02F8C844FAD835F09408406, + 32D11E8A57FD1B5250A5E493, + 396986DB8689B7C6909777E3, ); name = zip; sourceTree = ""; }; 6D357C7BC335FFE2B3877318 = {isa = PBXGroup; children = ( - 9DB85B0F2371EE26F3E89D82, - C9A88DFF6E95D969C2A09F24, - EDEB768592E2E04E19CBBB39, - 1EB689C939940E8ABE1AD59B, - 312A62049C445C01FDD661BD, - 447896868A39D1BBF6C215C4, - B2800371CE1A826ABDD312A5, - 22AF4BABA7E4362DABCA3E9D, - 6B04E6A30689BE379804BC1C, - 1D0C55594A9BAF09CB69ABA6, + 732D8DEF87E57691636A768B, + B3851DBC1F9FCDFDC17AD646, + 7EB900DA593438C21EEC9498, + 565C31CAE02182F304D6E997, + 980D12FC561728322A7F3915, + 1DBE02BC0B3D21055528E935, + A7895BC878133E46FFCE0A77, + 4C5D4C48647ACB5E43D04B8E, + 8344871D205866581ADBA52A, + 4A22A3B7AF7F95FFC19F9980, 810ABDB24E2FE53C90BFDDFA, - 5A97C8FA90181188140B83A0, - 96DA2309744F7B1844D7EADE, - EAFC9A1D80CBC941C7724431, + DD7D1DB0B5B89AE2FE71EE1D, + 650207F1C5359B178179F6D9, + FE8D503390BA6182FA15433C, 2C36774A2938F4DE66EA7B1F, - CCC10C50368A3362DAC1E895, - 791BA85C5C83D6BFBBF82631, - D8C269D8BFE34CF33A2B243C, + 0E38339F9511F04CD0DEBE2A, + 425B07C5F90693ED10EC5F39, D476B9FCEF30511BC736C744, ); name = "juce_core"; sourceTree = ""; }; C65F5142919A93D5CB350F76 = {isa = PBXGroup; children = ( 198B97A4FB9B21A3357160C0, @@ -1454,31 +1437,45 @@ 6BC6B2DDDAEB6F4F64D1A010 = {isa = PBXGroup; children = ( C65F5142919A93D5CB350F76, 37082FEFC588B71DD2E9F80C, - 2A765F108608FDD8B2089BD1, 8B1374A21A81C82233EBC523, ); name = "juce_cryptography"; sourceTree = ""; }; - A6D444FE8D85CED1C171C0EC = {isa = PBXGroup; children = ( + 77AF317BDD3865F8D65819AA = {isa = PBXGroup; children = ( + 260D03D00CBF739BB3A2F604, + 623C7B6BD0B564F60F1F4012, + 6D3191834A1567C5C18A13AA, + 4411214CB9D7F986DA5A92FD, ); name = "app_properties"; sourceTree = ""; }; + FF74D4493903CDAEF7181A06 = {isa = PBXGroup; children = ( + 73B62E5AA67F4B0483ED680F, + 0CB9B8098AB7F4CFF3991565, + 14254C2E6F168DB69F9F6494, ); name = undomanager; sourceTree = ""; }; + 169C103F9191DD2874A7B556 = {isa = PBXGroup; children = ( B2E2A77534D9104C78E8F3E2, D1A2603E46734D31975B7540, 4EBBA20040624174084744DF, 9E46C8356029EC009F7A1C46, 68E02DEEF1E25B386C206C05, 9538D93554F08C0FDA9393E8, ); name = values; sourceTree = ""; }; - FF74D4493903CDAEF7181A06 = {isa = PBXGroup; children = ( - 73B62E5AA67F4B0483ED680F, - 0CB9B8098AB7F4CFF3991565, - 14254C2E6F168DB69F9F6494, ); name = undomanager; sourceTree = ""; }; - FA2F4F69BFFFAE7A215E77CA = {isa = PBXGroup; children = ( - 260D03D00CBF739BB3A2F604, - 623C7B6BD0B564F60F1F4012, - 6D3191834A1567C5C18A13AA, - 4411214CB9D7F986DA5A92FD, ); name = "app_properties"; sourceTree = ""; }; 1E71D5778D41DB63E6350D93 = {isa = PBXGroup; children = ( - A6D444FE8D85CED1C171C0EC, + 77AF317BDD3865F8D65819AA, FF74D4493903CDAEF7181A06, - FA2F4F69BFFFAE7A215E77CA, - 014A45F4DF5D4B850A2E712D, + 169C103F9191DD2874A7B556, 8B8CEF7A6937C76CA7642C8F, ); name = "juce_data_structures"; sourceTree = ""; }; - 6B69835D713DBE0AA1335554 = {isa = PBXGroup; children = ( + F123E47F5D7F92BCE8E75634 = {isa = PBXGroup; children = ( + E8ED8CA85BE4E1BF7C5ADF53, + C3E4252156EDD0E001A10DE3, + 51713BEF84B3A58844692401, + FDC6858C3E455F9E8376B58B, + E49C04EACE55BED74E156911, + 8F9A2F59A71422296C56C8A5, + DC209283C24A9C0B601DB860, + 58301731C17BEF7BF07541AF, ); name = broadcasters; sourceTree = ""; }; + F70B9207BEBA1807FCC437F2 = {isa = PBXGroup; children = ( + BA5DE80E67A74A41D57E7663, + 0E1CA391708ADDE3952BF147, + 35641C490EE335DDFF004FEC, + 54B30BCC43C6CBF57A69A654, + E31FDA8F23FEAB726361C8DB, + 3CCB2447E4FA1C412FEEE551, ); name = interprocess; sourceTree = ""; }; + FF921D2222169AB18518E66B = {isa = PBXGroup; children = ( F9EED40DD78515ADF3189694, FA9CE8D2EEF012CB74C1E8CA, 8FAA47BE39D087684520C15F, @@ -1492,28 +1489,7 @@ 5576ADF82B58BDBBCC75477C, 1E21F56456B1A05606B1A328, 6A972E2430F4B2D9A07D44D2, ); name = messages; sourceTree = ""; }; - 21AE815F08BE75F4B146FF17 = {isa = PBXGroup; children = ( - CC0ED57DE1266CEB11001787, - BEA260469BBB48EB998AA4DB, - E7EF18BE4F22063894C6FF61, - F3868CB33CA2805C31829647, ); name = timers; sourceTree = ""; }; - CFA962EE09603F3370751E99 = {isa = PBXGroup; children = ( - E8ED8CA85BE4E1BF7C5ADF53, - C3E4252156EDD0E001A10DE3, - 51713BEF84B3A58844692401, - FDC6858C3E455F9E8376B58B, - E49C04EACE55BED74E156911, - 8F9A2F59A71422296C56C8A5, - DC209283C24A9C0B601DB860, - 58301731C17BEF7BF07541AF, ); name = broadcasters; sourceTree = ""; }; - C6AA6C3360946FAC6A1E4CFF = {isa = PBXGroup; children = ( - BA5DE80E67A74A41D57E7663, - 0E1CA391708ADDE3952BF147, - 35641C490EE335DDFF004FEC, - 54B30BCC43C6CBF57A69A654, - E31FDA8F23FEAB726361C8DB, - 3CCB2447E4FA1C412FEEE551, ); name = interprocess; sourceTree = ""; }; - ED26DB941C1087A481ED9C8B = {isa = PBXGroup; children = ( + 4EDB1EA420BC7F17BB163696 = {isa = PBXGroup; children = ( A878B40B811C4B83658F6A60, 3B3FC34DE0D784314690A93C, 656CA5CB0EF44C76ACFFDCEA, @@ -1522,13 +1498,17 @@ DC254EFF0D95657D703FA8F6, 121C4D9B35F16FF170A9D4E3, 502503CB0C00102976DF1023, ); name = native; sourceTree = ""; }; + 180CADCADCD26800C3647781 = {isa = PBXGroup; children = ( + CC0ED57DE1266CEB11001787, + BEA260469BBB48EB998AA4DB, + E7EF18BE4F22063894C6FF61, + F3868CB33CA2805C31829647, ); name = timers; sourceTree = ""; }; 1B0890891B764226EB568489 = {isa = PBXGroup; children = ( - 6B69835D713DBE0AA1335554, - 21AE815F08BE75F4B146FF17, - CFA962EE09603F3370751E99, - C6AA6C3360946FAC6A1E4CFF, - ED26DB941C1087A481ED9C8B, - A061F1646238A35ED0BDA32A, + F123E47F5D7F92BCE8E75634, + F70B9207BEBA1807FCC437F2, + FF921D2222169AB18518E66B, + 4EDB1EA420BC7F17BB163696, + 180CADCADCD26800C3647781, 887EE77979249B8A3E7C2C49, ); name = "juce_events"; sourceTree = ""; }; 76BAE43251ED78FD6BE739E9 = {isa = PBXGroup; children = ( 2A5F9649D883210E5C67CEE4, @@ -1548,19 +1528,25 @@ EF0061905AEAC90A86145D40, B2A85C1813641574E4D15BF2, 1E7CA4A04A182412B3ECEBF6, ); name = contexts; sourceTree = ""; }; - DDD3EBD3493F3D8076685D09 = {isa = PBXGroup; children = ( - 1565307D5DC70CAC563B579F, - 14BF2173D8CD3520B21E01E0, - AEA5E43C19B3566D5B2655E9, - 6BC5C181AD876196213378C2, - 9BECE88C6AB34861AF408C37, - 6E35055BA3436FC2F9B77365, - E441F10A3241806474779D5A, - 91A5A6A217FA091F2ADBE3C5, ); name = images; sourceTree = ""; }; - 240D1F671827DE817DDE901B = {isa = PBXGroup; children = ( - 793E09206EDE78138AB56CC5, - F0074D8C86D3265AF7889CCF, - 2B594B1579F4770CA36E870C, ); name = "image_formats"; sourceTree = ""; }; + 45D86610726C47FEC1CE303F = {isa = PBXGroup; children = ( + CE11BC7911220E9CFA1283D1, + DC9D4AE01FB7CF8D2877B198, + 4142E8BA365FE77662B11891, + 473E98AA655246EECA75EDD1, + C7BB125979760AE4264BF23E, ); name = effects; sourceTree = ""; }; + D3FC9F88D8C0499272B0D54A = {isa = PBXGroup; children = ( + AA55BD139AEC1B8272ABE461, + 506DE1D3A739746007E33852, + D6AC70136461C6F3FD1987F1, + CA3D1FE94B500CF86704EB13, + 279A6546016EEB8F9264EB39, + E0544ED1BC8832C4D1296FAB, + 4271A817DD6497D0023C43A3, + C1A299D4A5AAEA645975EEB8, + A4F075DFF243F6BB90CD5950, + 3CF6CC164ED4826B4DF73177, + 2CB561058728D0EA3A66AF4A, + F0A8EA8AEA260ED20ED40247, ); name = fonts; sourceTree = ""; }; 9F57E3145B8DE085C7435C7D = {isa = PBXGroup; children = ( CE9CAFB040BE90431A432537, A19D3050F95BFD17129EA013, @@ -1577,30 +1563,20 @@ 7EEFCCCD23C883F6B797834E, 015766ED6CD9D55279FC884A, A021D917DFD4DD5D4703913C, ); name = geometry; sourceTree = ""; }; - 997C7BFF828EBD6BDD06D036 = {isa = PBXGroup; children = ( - 7E5D04471A75DF9057A4D73E, - 6CF6624AD370E4716D42CEDF, - 284C742F571D494237C52C2D, ); name = placement; sourceTree = ""; }; - 013403E10034C0DA7BEE1F39 = {isa = PBXGroup; children = ( - AA55BD139AEC1B8272ABE461, - 506DE1D3A739746007E33852, - D6AC70136461C6F3FD1987F1, - CA3D1FE94B500CF86704EB13, - 279A6546016EEB8F9264EB39, - E0544ED1BC8832C4D1296FAB, - 4271A817DD6497D0023C43A3, - C1A299D4A5AAEA645975EEB8, - A4F075DFF243F6BB90CD5950, - 3CF6CC164ED4826B4DF73177, - 2CB561058728D0EA3A66AF4A, - F0A8EA8AEA260ED20ED40247, ); name = fonts; sourceTree = ""; }; - 556560AAD3C29E08F7AFBCBA = {isa = PBXGroup; children = ( - CE11BC7911220E9CFA1283D1, - DC9D4AE01FB7CF8D2877B198, - 4142E8BA365FE77662B11891, - 473E98AA655246EECA75EDD1, - C7BB125979760AE4264BF23E, ); name = effects; sourceTree = ""; }; - 66DC0A97992202B7629A58C7 = {isa = PBXGroup; children = ( + D0DECD1BFD36B7FD11835F29 = {isa = PBXGroup; children = ( + 793E09206EDE78138AB56CC5, + F0074D8C86D3265AF7889CCF, + 2B594B1579F4770CA36E870C, ); name = "image_formats"; sourceTree = ""; }; + D3E638B35828CBBFDD2A0286 = {isa = PBXGroup; children = ( + 1565307D5DC70CAC563B579F, + 14BF2173D8CD3520B21E01E0, + AEA5E43C19B3566D5B2655E9, + 6BC5C181AD876196213378C2, + 9BECE88C6AB34861AF408C37, + 6E35055BA3436FC2F9B77365, + E441F10A3241806474779D5A, + 91A5A6A217FA091F2ADBE3C5, ); name = images; sourceTree = ""; }; + EE7B0E65DC3C1F9FFB888B1A = {isa = PBXGroup; children = ( 3A8EA18FCAE5801EF1AECC06, E041ABD2C503FCB7EB7E49F8, 2E62B2A1D5FE20D7E675DC3F, @@ -1614,19 +1590,54 @@ 6741B65B42E9858C7B580A36, D9FDDAC72C576633FD41B2E7, 4AB453F1DFC4EA7AE058B0EA, ); name = native; sourceTree = ""; }; + EF8AEAC001D4279F7B5C5D40 = {isa = PBXGroup; children = ( + 7E5D04471A75DF9057A4D73E, + 6CF6624AD370E4716D42CEDF, + 284C742F571D494237C52C2D, ); name = placement; sourceTree = ""; }; B4351AB8FE980A7A843DD7EB = {isa = PBXGroup; children = ( 76BAE43251ED78FD6BE739E9, F0740B98E17BCB69B54B4619, - DDD3EBD3493F3D8076685D09, - 240D1F671827DE817DDE901B, + 45D86610726C47FEC1CE303F, + D3FC9F88D8C0499272B0D54A, 9F57E3145B8DE085C7435C7D, - 997C7BFF828EBD6BDD06D036, - 013403E10034C0DA7BEE1F39, - 556560AAD3C29E08F7AFBCBA, - 66DC0A97992202B7629A58C7, - F7D32C5CE1D85C542190C26C, + D0DECD1BFD36B7FD11835F29, + D3E638B35828CBBFDD2A0286, + EE7B0E65DC3C1F9FFB888B1A, + EF8AEAC001D4279F7B5C5D40, 30CBDFC5F16FD990ABC2C486, ); name = "juce_graphics"; sourceTree = ""; }; - 5A794D6AA7ACA03DC348F94D = {isa = PBXGroup; children = ( + B7A822DE12252B1E117BB4FE = {isa = PBXGroup; children = ( + FC00E5ABDD903617E7498A0B, + 489D9B3F2489315DBF5C552E, ); name = application; sourceTree = ""; }; + 02DD1BC21EB57A857B5ACB50 = {isa = PBXGroup; children = ( + F5DBF428153938207320675F, + BB8AD6D858D518E804AFA0C7, + 6536E6457A8B77FDCC506401, + A87A60BF515078DF23E1F737, + AA54E821F947C9A9DC359693, + BEAB03E92089D87D7D6A2353, + 3935FEBDBA2F8025F602042C, + 5CE4484E6BAB76C9B49E6ADE, + 3B883BA33260250D6C443F87, + 80A6B9266A11D6977AD84546, + 5848A09E20AA6FE9EF1E6898, + 28BF10B49B1D14FE05CBC5DA, + F2ED5A15267070B560EFFA2B, + ECE3837512B3E620155A8432, + F7487F2DEA61873B12C6CAC0, + 449FC2FAA282C731A58D51E6, + 0892B622D73826BB91C8E418, + 6436F4F5D143E72BD77EE053, ); name = buttons; sourceTree = ""; }; + 1A57F64C42423054D05C7082 = {isa = PBXGroup; children = ( + 2CD2FBF66999807E0B86E0B0, + C568E8888819EAFDCAEAF04F, + 8DBDCF6753B9AE327FC8E382, + A23A20A098747A2449C47047, + 31B42F889DD1C79540881B97, + 62935FD655DDDCE70536555F, + EEDD0D3608DCB2E459F3BF24, + EFDD05E3C006BA460761594C, + 01D4F510A1EE5495A8A419C0, ); name = commands; sourceTree = ""; }; + 1F83F63AC1DAB355176752DC = {isa = PBXGroup; children = ( AC2A502E05BB93CB0840344D, 31CD83018DA7BED28A70EC1C, 2D6A1D77D896FF6DDD5EC49F, @@ -1636,28 +1647,46 @@ 3F02F103D0EA0D398FA2A95D, 293D0E58C45CE26287E99822, B8C996306428DFB642CBFB14, ); name = components; sourceTree = ""; }; - 4AA38BF06A0BA16074879F26 = {isa = PBXGroup; children = ( - 1782B7FCE431430BD11700EB, - B8EF2AF777B74156958B72CA, - 40E971224B83783243521871, - 7246A65F3B8646D764F3A355, - 81556F6E103D6843193EA1EC, - C936095A19665316F5B675CF, - 850622AD96A6D025EC1E832D, - B0FB5996D7068C230DC6D8E0, - DB348CBC6734FFD0B7ED8A34, - C50DA493E57234B3820BD77A, - BC586A21CD33D786C4472FD4, - 9986CD0D1752D063F3DC2652, - 16421110FEB104E290E3F13C, - 1A424A0B9D68C68CD5B075E7, - 74E1A5ECBC09930A520D1A98, - 1C196D0BC6B08623601273FF, - 2740DD21925484E4BC243630, - 484ACD3191DB5BEB198EEF97, - FBF25BFCF0541B78909B16C6, - 5B5D589850B147BE94D01D42, ); name = mouse; sourceTree = ""; }; - 9AF6FBC13AA9F0C35EC524A1 = {isa = PBXGroup; children = ( + 5CC9A175B599CACF9EBED960 = {isa = PBXGroup; children = ( + EA2BE0B9C8E1546D25A02D67, + 38043242051AD4996B081769, + 0D79BD52315BE837BAD64A82, + 9CABACB9A2FF46A8B3059D8E, + FAD5D9101D6427D96558C37F, + FC50C6150E60281125E69115, + 3F57F6B58B93E88A29F90809, + FDFE40162E4F5CCAA833061C, + 9F3DCE572188E0085FCF1956, + ADA1339F195F699D7F5369F9, + 9B9B8DBEBEA5051A602DA6C1, + DE1A6A1C0CCC94A3E3A887E3, + DCB52EFF8A9F5D9F6CF3D3FC, + 61596F68A47C4BEA8F9A4D68, + D6EDBF07E4162364DB8825D9, ); name = drawables; sourceTree = ""; }; + 773F7F2ED36C18EB6B04B554 = {isa = PBXGroup; children = ( + 37BD426B7B7DD8BB3EF562A6, + 3B2C9FC5B754F29B4BFF7EA9, + 541C3E9F5E720BF6D99D94CD, + 426B31F8A63727D575B2C782, + 546D112DEC6A685B52E4D7AA, + D92B6F28EF1D46625BC2A18B, + B1C7A541DFF31B38F0A17C16, + D9F41579025D12F2CCF079C4, + 281ADBFFA54CFADAE46AAE79, + EEE1F3257D7C9A527D6647E1, + 7987CDDDE250EA56F0B26A0F, + 69F89AFBA54B48038B47DDED, + FDB3097BE7C87FF74895E875, + DA12229986D485B2E2DE059B, + D24F3C46F1A46422C080A0A7, + 144BF62327063E0017BB7B0A, + B49E98EF01462277526C417D, + D01183D850457CA55516B3B2, + 7E278ACE0E80F59FBEB3122F, + 6C3B851F65AB406E5B6CAF7B, + 39DAB20FE9D55152EB2D224A, + C8FDA55A72DC4A244703C8F4, ); name = filebrowser; sourceTree = ""; }; + 25289DC12EA28052C6042EF1 = {isa = PBXGroup; children = ( 6D1D3AFCBD704E2E3A9AB0D9, 776FC3A674D9CCD21CB2D7A0, E90FDEEB9C536E5E1124B00D, @@ -1671,62 +1700,7 @@ 42AE889B4D596FF23E2D77CB, B1E4A1F07EFCCA50D963CF4F, B77BD5847F412656109A378E, ); name = keyboard; sourceTree = ""; }; - 6401A528C034A7FE4E59C5C4 = {isa = PBXGroup; children = ( - 8FFF7C1572807209B9A8A08D, - 1D6EA6E2DC8F03826454F21D, - BE635BACA572437D8DFDEEC8, - 759899A48CDE9705331F456E, - 7069BF224A795890367AB809, - F84732FE450246B23C813288, - 9AD78BC87097481DDC1815B2, - 8BA590FF6DD42B77C70BA092, - 795DBB9CDC6751C052A03827, - 355B143DFA326CC401844099, - 17AB5E83E71D5864435A011B, - C24880A7007CE75B7F8BBD71, - DE8A6DAED12A99017D7341E1, - 168D70A9989ECA609D355DA6, - 1AB2337020B7AA4AD329405A, - 67066EE59E69BCD634D38ABA, - D1C13988EF76674213DF92F4, - B2D09E29CCC80C27956BF314, - A80BB5CEC5BB5398B155F980, - 3E5E15C429B5D8BDA6815193, - DB59695708606C9604E11F0B, - 354636C92CDB97DAF80D1E6A, - 4676425D91097FBD1689298C, - 6F974A4B1AC400251425C8CA, - 99BF73D0D5B995E84BAB52B2, - 2DA8BDECC570B976D34D9263, - 4B409B90CC47BF0477D7F6E4, ); name = widgets; sourceTree = ""; }; - 17E7CDE6EA0A435BF5A4DC15 = {isa = PBXGroup; children = ( - C3A68B435020C80FC29DB89D, - 44EFBCE30DD206F4A55E4E81, - 876EE7E42127474428BE3BFF, - 76372445FC076FB8D26CEEC4, - D93861E50D66746DF070A158, - AD7CF8E55597C12D264E26D5, - EA53B7692D5E224F0477A791, - 019CD85E295A7290855D0C24, - 61C1B6B3336D774EAE4994F9, - C8B71823C30A65066A852942, - 94D011BBB3D330AEDAC86D11, - 0769D44014FDF069ECA54115, - 7581EDAFA0B1746EC8139077, - 4391785C112C65C6C1F4E05A, - 856F3C72739BD34C8CA40F3A, - E7D88F20FB6FEA84BFEC67D1, - B1C695101BE3D6A84272B6C8, - 92C99A9D9E9BCABE2AE26B9C, - C719606229204044D7C85339, ); name = windows; sourceTree = ""; }; - 39294ED083C056829DCC6B0C = {isa = PBXGroup; children = ( - E9164448EE60F4DB5F2A14D1, - 01B29765150B583E2460837C, - 275CF9CA5A34E2825DB8792C, - C2B61447889E781465E49AC3, - 1B0BEB542ED5BA84E52AEA2E, - E50BADB05430CBE8BF33F8F5, ); name = menus; sourceTree = ""; }; - 68E400580DF6F5DE436B39EB = {isa = PBXGroup; children = ( + 9332A62E76F4AD8F7A08D6C7 = {isa = PBXGroup; children = ( 2EC200E7CF8C908AC3DF4416, 1BC364DFD3A975A0CBA0AC61, 77802A78E9D43C940C14B0BF, @@ -1763,72 +1737,7 @@ ECD6C0DDB8587984580C96B0, 8D57423CD5A1B516B5374499, 6C4A5B3781D999AFA15F1016, ); name = layout; sourceTree = ""; }; - 82356BA2755E3E9A105EE32C = {isa = PBXGroup; children = ( - F5DBF428153938207320675F, - BB8AD6D858D518E804AFA0C7, - 6536E6457A8B77FDCC506401, - A87A60BF515078DF23E1F737, - AA54E821F947C9A9DC359693, - BEAB03E92089D87D7D6A2353, - 3935FEBDBA2F8025F602042C, - 5CE4484E6BAB76C9B49E6ADE, - 3B883BA33260250D6C443F87, - 80A6B9266A11D6977AD84546, - 5848A09E20AA6FE9EF1E6898, - 28BF10B49B1D14FE05CBC5DA, - F2ED5A15267070B560EFFA2B, - ECE3837512B3E620155A8432, - F7487F2DEA61873B12C6CAC0, - 449FC2FAA282C731A58D51E6, - 0892B622D73826BB91C8E418, - 6436F4F5D143E72BD77EE053, ); name = buttons; sourceTree = ""; }; - 9A1C5344E2500919F67C1907 = {isa = PBXGroup; children = ( - 8D11B58353EBDC8EBE9C641D, - C52847A293D0E8958E88DFD5, - 17A033D6C28B1E76FA8BEFCF, - 816CA082336A8BC8A9AA61BD, - C3B93391519DA8A352766580, - 406587D828CD424333E55C81, - 33B9E6212D92FB49C792ACE9, - C6B9F01A0AAA2A1DA8122912, - 9CF41B989B4516C8DB6CF7A0, - 35748B2B69B3A54D19679F3A, - ACD7FAE9EE61A4085580912B, - 360B3CDCB046B9D69C6F5ED4, - 56C2444E299E030DE7243C7D, - 220732F05D2DEBC2ADF2D45C, ); name = positioning; sourceTree = ""; }; - 6373BAB4261AEB403399D2DE = {isa = PBXGroup; children = ( - EA2BE0B9C8E1546D25A02D67, - 38043242051AD4996B081769, - 0D79BD52315BE837BAD64A82, - 9CABACB9A2FF46A8B3059D8E, - FAD5D9101D6427D96558C37F, - FC50C6150E60281125E69115, - 3F57F6B58B93E88A29F90809, - FDFE40162E4F5CCAA833061C, - 9F3DCE572188E0085FCF1956, - ADA1339F195F699D7F5369F9, - 9B9B8DBEBEA5051A602DA6C1, - DE1A6A1C0CCC94A3E3A887E3, - DCB52EFF8A9F5D9F6CF3D3FC, - 61596F68A47C4BEA8F9A4D68, - D6EDBF07E4162364DB8825D9, ); name = drawables; sourceTree = ""; }; - 4A5017F3DFD59498929C74A1 = {isa = PBXGroup; children = ( - 87C173B4D57F00E5523D3395, - 5B546C6ED44CAF4197788BC0, - 6555D39D3BE572E611DCA8EB, - 3545CC1CCF501BDBFF528908, - 78C9531A81D34333AEF14019, - 1ED3843AC8AC67374F6F5F77, - 3B3B1BB15DFF71215E86A175, - EA19F37E2AB4C42A1ACF17CE, - 70407DF33563B729D4758A17, - 3134A6BDE49CF0D3F0B12FE2, - AF5C2B3C5CF657FA722F9A68, - 1633D4A7385E8AB77FB6723E, - 5F6BDD2491C4086940AAE045, - 7392F4B60E4E28A340E465BE, ); name = properties; sourceTree = ""; }; - 7C2B9213A4FC92A23B91DB75 = {isa = PBXGroup; children = ( + 1C45128C334F881D7E30F76F = {isa = PBXGroup; children = ( 046591508FC3F71F74126E81, 8594A236A434383AA96AEB53, BA5A9BB00CD8BEA408371875, @@ -1837,48 +1746,40 @@ C48140923F2A4DEDBA063DFD, FA6BDA8882AAEE02FB04E36F, 8DFA760FAD9756305F9C7515, ); name = lookandfeel; sourceTree = ""; }; - 42F8790BBB2D6EAC6A228F28 = {isa = PBXGroup; children = ( - 37BD426B7B7DD8BB3EF562A6, - 3B2C9FC5B754F29B4BFF7EA9, - 541C3E9F5E720BF6D99D94CD, - 426B31F8A63727D575B2C782, - 546D112DEC6A685B52E4D7AA, - D92B6F28EF1D46625BC2A18B, - B1C7A541DFF31B38F0A17C16, - D9F41579025D12F2CCF079C4, - 281ADBFFA54CFADAE46AAE79, - EEE1F3257D7C9A527D6647E1, - 7987CDDDE250EA56F0B26A0F, - 69F89AFBA54B48038B47DDED, - FDB3097BE7C87FF74895E875, - DA12229986D485B2E2DE059B, - D24F3C46F1A46422C080A0A7, - 144BF62327063E0017BB7B0A, - B49E98EF01462277526C417D, - D01183D850457CA55516B3B2, - 7E278ACE0E80F59FBEB3122F, - 6C3B851F65AB406E5B6CAF7B, - 39DAB20FE9D55152EB2D224A, - C8FDA55A72DC4A244703C8F4, ); name = filebrowser; sourceTree = ""; }; - EB0838BDF3EDD2A6C56D1B10 = {isa = PBXGroup; children = ( - 2CD2FBF66999807E0B86E0B0, - C568E8888819EAFDCAEAF04F, - 8DBDCF6753B9AE327FC8E382, - A23A20A098747A2449C47047, - 31B42F889DD1C79540881B97, - 62935FD655DDDCE70536555F, - EEDD0D3608DCB2E459F3BF24, - EFDD05E3C006BA460761594C, - 01D4F510A1EE5495A8A419C0, ); name = commands; sourceTree = ""; }; - 3F09D506DAF77142944CD206 = {isa = PBXGroup; children = ( + 900EE88FAF7F3CE7F7260EE4 = {isa = PBXGroup; children = ( + E9164448EE60F4DB5F2A14D1, + 01B29765150B583E2460837C, + 275CF9CA5A34E2825DB8792C, + C2B61447889E781465E49AC3, + 1B0BEB542ED5BA84E52AEA2E, + E50BADB05430CBE8BF33F8F5, ); name = menus; sourceTree = ""; }; + 6D2EFB4A3E89BD21BAC547C3 = {isa = PBXGroup; children = ( B25D9BF429F016963A545287, 343BF0E7697F399B08D42CB7, 60F110007A8248E4318D9B0D, B68B3E0BE0396ACD3CA52250, ); name = misc; sourceTree = ""; }; - 2EFA9503FCACF0651BB57D5A = {isa = PBXGroup; children = ( - FC00E5ABDD903617E7498A0B, - 489D9B3F2489315DBF5C552E, ); name = application; sourceTree = ""; }; - BC1C3CB4DF57CE8A1B29522F = {isa = PBXGroup; children = ( + 15099FEDA05F5B2369A1BF36 = {isa = PBXGroup; children = ( + 1782B7FCE431430BD11700EB, + B8EF2AF777B74156958B72CA, + 40E971224B83783243521871, + 7246A65F3B8646D764F3A355, + 81556F6E103D6843193EA1EC, + C936095A19665316F5B675CF, + 850622AD96A6D025EC1E832D, + B0FB5996D7068C230DC6D8E0, + DB348CBC6734FFD0B7ED8A34, + C50DA493E57234B3820BD77A, + BC586A21CD33D786C4472FD4, + 9986CD0D1752D063F3DC2652, + 16421110FEB104E290E3F13C, + 1A424A0B9D68C68CD5B075E7, + 74E1A5ECBC09930A520D1A98, + 1C196D0BC6B08623601273FF, + 2740DD21925484E4BC243630, + 484ACD3191DB5BEB198EEF97, + FBF25BFCF0541B78909B16C6, + 5B5D589850B147BE94D01D42, ); name = mouse; sourceTree = ""; }; + 966B54017AB32203A1A0E16D = {isa = PBXGroup; children = ( 4717C14F84229B39FA2FA86B, 3A5C86CF6276058B0D5AC399, AF6001FA947F3A7DF15CBF8B, @@ -1895,25 +1796,102 @@ C05E16AAF0CF0676135C0C9B, 279D354D902DE91EB32B1BE6, 6C5F536D935CF788C07424CC, ); name = native; sourceTree = ""; }; + 28F36128CCD5758A7A18FC11 = {isa = PBXGroup; children = ( + 8D11B58353EBDC8EBE9C641D, + C52847A293D0E8958E88DFD5, + 17A033D6C28B1E76FA8BEFCF, + 816CA082336A8BC8A9AA61BD, + C3B93391519DA8A352766580, + 406587D828CD424333E55C81, + 33B9E6212D92FB49C792ACE9, + C6B9F01A0AAA2A1DA8122912, + 9CF41B989B4516C8DB6CF7A0, + 35748B2B69B3A54D19679F3A, + ACD7FAE9EE61A4085580912B, + 360B3CDCB046B9D69C6F5ED4, + 56C2444E299E030DE7243C7D, + 220732F05D2DEBC2ADF2D45C, ); name = positioning; sourceTree = ""; }; + AE22EF162AFFC50B3BEACB37 = {isa = PBXGroup; children = ( + 87C173B4D57F00E5523D3395, + 5B546C6ED44CAF4197788BC0, + 6555D39D3BE572E611DCA8EB, + 3545CC1CCF501BDBFF528908, + 78C9531A81D34333AEF14019, + 1ED3843AC8AC67374F6F5F77, + 3B3B1BB15DFF71215E86A175, + EA19F37E2AB4C42A1ACF17CE, + 70407DF33563B729D4758A17, + 3134A6BDE49CF0D3F0B12FE2, + AF5C2B3C5CF657FA722F9A68, + 1633D4A7385E8AB77FB6723E, + 5F6BDD2491C4086940AAE045, + 7392F4B60E4E28A340E465BE, ); name = properties; sourceTree = ""; }; + 5A6A01C299A5311466904669 = {isa = PBXGroup; children = ( + 8FFF7C1572807209B9A8A08D, + 1D6EA6E2DC8F03826454F21D, + BE635BACA572437D8DFDEEC8, + 759899A48CDE9705331F456E, + 7069BF224A795890367AB809, + F84732FE450246B23C813288, + 9AD78BC87097481DDC1815B2, + 8BA590FF6DD42B77C70BA092, + 795DBB9CDC6751C052A03827, + 355B143DFA326CC401844099, + 17AB5E83E71D5864435A011B, + C24880A7007CE75B7F8BBD71, + DE8A6DAED12A99017D7341E1, + 168D70A9989ECA609D355DA6, + 1AB2337020B7AA4AD329405A, + 67066EE59E69BCD634D38ABA, + D1C13988EF76674213DF92F4, + B2D09E29CCC80C27956BF314, + A80BB5CEC5BB5398B155F980, + 3E5E15C429B5D8BDA6815193, + DB59695708606C9604E11F0B, + 354636C92CDB97DAF80D1E6A, + 4676425D91097FBD1689298C, + 6F974A4B1AC400251425C8CA, + 99BF73D0D5B995E84BAB52B2, + 2DA8BDECC570B976D34D9263, + 4B409B90CC47BF0477D7F6E4, ); name = widgets; sourceTree = ""; }; + A4467EF8F1D03FBF14F90AC9 = {isa = PBXGroup; children = ( + C3A68B435020C80FC29DB89D, + 44EFBCE30DD206F4A55E4E81, + 876EE7E42127474428BE3BFF, + 76372445FC076FB8D26CEEC4, + D93861E50D66746DF070A158, + AD7CF8E55597C12D264E26D5, + EA53B7692D5E224F0477A791, + 019CD85E295A7290855D0C24, + 61C1B6B3336D774EAE4994F9, + C8B71823C30A65066A852942, + 94D011BBB3D330AEDAC86D11, + 0769D44014FDF069ECA54115, + 7581EDAFA0B1746EC8139077, + 4391785C112C65C6C1F4E05A, + 856F3C72739BD34C8CA40F3A, + E7D88F20FB6FEA84BFEC67D1, + B1C695101BE3D6A84272B6C8, + 92C99A9D9E9BCABE2AE26B9C, + C719606229204044D7C85339, ); name = windows; sourceTree = ""; }; 1EFC1E01B0C1ECC1EA973E50 = {isa = PBXGroup; children = ( - 5A794D6AA7ACA03DC348F94D, - 4AA38BF06A0BA16074879F26, - 9AF6FBC13AA9F0C35EC524A1, - 6401A528C034A7FE4E59C5C4, - 17E7CDE6EA0A435BF5A4DC15, - 39294ED083C056829DCC6B0C, - 68E400580DF6F5DE436B39EB, - 82356BA2755E3E9A105EE32C, - 9A1C5344E2500919F67C1907, - 6373BAB4261AEB403399D2DE, - 4A5017F3DFD59498929C74A1, - 7C2B9213A4FC92A23B91DB75, - 42F8790BBB2D6EAC6A228F28, - EB0838BDF3EDD2A6C56D1B10, - 3F09D506DAF77142944CD206, - 2EFA9503FCACF0651BB57D5A, - BC1C3CB4DF57CE8A1B29522F, - 0F1752D7FC9D89588551D5C3, + B7A822DE12252B1E117BB4FE, + 02DD1BC21EB57A857B5ACB50, + 1A57F64C42423054D05C7082, + 1F83F63AC1DAB355176752DC, + 5CC9A175B599CACF9EBED960, + 773F7F2ED36C18EB6B04B554, + 25289DC12EA28052C6042EF1, + 9332A62E76F4AD8F7A08D6C7, + 1C45128C334F881D7E30F76F, + 900EE88FAF7F3CE7F7260EE4, + 6D2EFB4A3E89BD21BAC547C3, + 15099FEDA05F5B2369A1BF36, + 966B54017AB32203A1A0E16D, + 28F36128CCD5758A7A18FC11, + AE22EF162AFFC50B3BEACB37, + 5A6A01C299A5311466904669, + A4467EF8F1D03FBF14F90AC9, A85BBB0551113A7CD910AA16, ); name = "juce_gui_basics"; sourceTree = ""; }; 7B917E77D4B25A14822B94CB = {isa = PBXGroup; children = ( 1233B57573AB9503E0625ECB, @@ -1975,9 +1953,21 @@ 8AB5C3D67E25D52FC85A482D, 284172C32915E2B9B95F2B0A, 7934D8F0485905857255419D, - 97C71C2DD318EDB304FC1CEB, B121FF657B96C6FFEB2C2DC1, ); name = "juce_gui_extra"; sourceTree = ""; }; - B88C560247F2D57D82F21CBB = {isa = PBXGroup; children = ( + 18601C0504DE065AA31DDE8E = {isa = PBXGroup; children = ( + 838BB45D693ED0AAD43B93C3, + B9B0A3004948FA2387C28829, + 21FAFC1D8D92872E96F56764, + CD44827B5286ADE94DB0B79C, ); name = geometry; sourceTree = ""; }; + FDECB45B15F8636560950ECA = {isa = PBXGroup; children = ( + DF42C1B300CA66580D0AED1D, + 32CFACA9C637ABD27F8A874F, + A3EFD0BE919B2F7AD7295F2D, + 2553F95186E2565315E012CF, + 5AFAF9A5651C30F1FF28A76A, + B99DD4C6D8C8F58C83ADD7CA, + 0ED63C3FFD7B718988BDDAFF, ); name = native; sourceTree = ""; }; + 5ED3D13821859F2D811BA1EF = {isa = PBXGroup; children = ( DF53D8FD5DE7B15694D26E91, 01FC5A0075F643D703F56555, 9D87175DE3988B783002560D, @@ -1995,47 +1985,32 @@ B2B042F73709D0057DE8A51E, 6F0A25914D95D4F547F91C79, E046CC53401A9551BDEA2D83, ); name = opengl; sourceTree = ""; }; - FEE6ACB178D213783FF6E964 = {isa = PBXGroup; children = ( - 838BB45D693ED0AAD43B93C3, - B9B0A3004948FA2387C28829, - 21FAFC1D8D92872E96F56764, - CD44827B5286ADE94DB0B79C, ); name = geometry; sourceTree = ""; }; - AC7F13F5542D3403D8F2ACB8 = {isa = PBXGroup; children = ( + D317ED667C0958D46822EB26 = {isa = PBXGroup; children = ( CED808C5809FF89D32131CB4, 7CD48F7A63EA97AF58ED7C5F, ); name = utils; sourceTree = ""; }; - B04BB024408E06CCC786C13E = {isa = PBXGroup; children = ( - DF42C1B300CA66580D0AED1D, - 32CFACA9C637ABD27F8A874F, - A3EFD0BE919B2F7AD7295F2D, - 2553F95186E2565315E012CF, - 5AFAF9A5651C30F1FF28A76A, - B99DD4C6D8C8F58C83ADD7CA, - 0ED63C3FFD7B718988BDDAFF, ); name = native; sourceTree = ""; }; 8C1FC7FA6E1B36498E7EB987 = {isa = PBXGroup; children = ( - B88C560247F2D57D82F21CBB, - FEE6ACB178D213783FF6E964, - AC7F13F5542D3403D8F2ACB8, - B04BB024408E06CCC786C13E, - 3FB32BF0AB8E9BD398E92361, + 18601C0504DE065AA31DDE8E, + FDECB45B15F8636560950ECA, + 5ED3D13821859F2D811BA1EF, + D317ED667C0958D46822EB26, E0E847621EEAEEFB21B87986, ); name = "juce_opengl"; sourceTree = ""; }; - E1A6B922CD26B2E238FFE633 = {isa = PBXGroup; children = ( - CC83A115FBF5C65772BBFAE3, - 3D26B83681D1E47ADFB2D8A9, ); name = playback; sourceTree = ""; }; - B43E665356CC8841DCE56D07 = {isa = PBXGroup; children = ( + C0FDB9A1ABAEDD1B9CD58AC0 = {isa = PBXGroup; children = ( 83619BFC8B92A2B5F17F596C, 985C549EBDB26AF7BFD6E8A4, ); name = capture; sourceTree = ""; }; - 9BD07AD149BE8BBE4BA6B001 = {isa = PBXGroup; children = ( + 3703C45C8E47244EE7EBBA6A = {isa = PBXGroup; children = ( D2C557606FD68958DC545A2B, 6894AE00A49D15E9C4A31355, BBECF34C65D1DD35DE8C6F9B, 003AAB5BFC9435FA4823BA2F, 72723038519B5AB5FFB52EB9, B0E21FE9C68B99E4C751DF13, ); name = native; sourceTree = ""; }; + DFE776317D90B3D3BD911CC3 = {isa = PBXGroup; children = ( + CC83A115FBF5C65772BBFAE3, + 3D26B83681D1E47ADFB2D8A9, ); name = playback; sourceTree = ""; }; 01C4A7ED89A1564ED222862E = {isa = PBXGroup; children = ( - E1A6B922CD26B2E238FFE633, - B43E665356CC8841DCE56D07, - 9BD07AD149BE8BBE4BA6B001, - 6C8C142D26BAD246C4ECC102, + C0FDB9A1ABAEDD1B9CD58AC0, + 3703C45C8E47244EE7EBBA6A, + DFE776317D90B3D3BD911CC3, 317988D9466ECCE83B91CD24, ); name = "juce_video"; sourceTree = ""; }; 128007CA5E777E8B423777F8 = {isa = PBXGroup; children = ( 333F7FC9E4E695D243B51D53, @@ -2055,22 +2030,22 @@ 80C983055BC197AE9FEF51D0, 9BBC3E0155BC3F36F21F7EBB, 7DDF23FA0DDE4FCFB121CA68, - C62300B9478B60BCBE254256, - D4A815675983D742D87E37A5, - FBDBBE33AEF062A1457DAA42, - BA895F5D0FC2F40DA0566469, - 3ED09149246BD2CC3D114FB1, - 7BE9659292437455B77D53F1, - 353C4A5B04236912332BDB1E, - 4DDD5CACDD472784437AB83C, - C0C66A94FBDE992AAD71C698, - C3B0CE7BC50EE3F20BB261EC, - D782993D6DAF0AF948A62517, - F07914AFCF34610BAC0D3B0B, - 757D9E8B34634C0E899922F9, + B83B338872C55E6D45712876, + 4F63D18FC561C73DB30F8DDF, + F1614F65F78F3C92905C4606, + C8F0C1EE7EFDCAA00E60D0D3, + 7AA89B16C96F2D93ACCD890A, + B08F95FF3710D93311D9A632, + FA1913317AD3CD9084390E3A, + 9452E573D4F681FC69684E37, + 668F50B473043F3047171F60, + 842E70AA39E7DAF8F20A094C, + 290556EFA38716E08426338C, + 25BAF0F0D2A6BF4BDC23C78A, + 5A920C68F8B3292144B1BC95, 27C1C1AD957D9955A13E3A4E, ); name = "Juce Library Code"; sourceTree = ""; }; 0483BF4E3FB318109FA0F8A5 = {isa = PBXGroup; children = ( - CE28252C42BBA94C930CF460, + 37A2A74491B5D8BB1A04C813, 342622E99E9622EDF376B782, ); name = Resources; sourceTree = ""; }; 6F68D1090F539F5A1A041FAA = {isa = PBXGroup; children = ( 50151F5E1EA38C0768AD9AC8, @@ -2085,7 +2060,7 @@ 525E733E59BB89937210A34E, 844820FE23753AF260B13D1D, ); name = Frameworks; sourceTree = ""; }; 5D365257108A916858E3947F = {isa = PBXGroup; children = ( - 5802E3490BEAFD892C837E2A, ); name = Products; sourceTree = ""; }; + 7451C664E0B1FF42F028813E, ); name = Products; sourceTree = ""; }; 5EB8D0E327356FA2D5323013 = {isa = PBXGroup; children = ( 853E25E8F0EA391EE8D4A3B8, 128007CA5E777E8B423777F8, @@ -2093,7 +2068,7 @@ 0483BF4E3FB318109FA0F8A5, 6F68D1090F539F5A1A041FAA, 5D365257108A916858E3947F, ); name = Source; sourceTree = ""; }; - 8DA6C115CCBD9A0699A71FA5 = {isa = XCBuildConfiguration; buildSettings = { + F08A9A77D1D83904C32A87BF = {isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -2111,10 +2086,10 @@ "JUCE_APP_VERSION_HEX=0x10000", ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.plist; INSTALL_PATH = "$(HOME)/Applications"; PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.OpenGLAppExample; }; name = Debug; }; - D10126CC8CE60E150025A42D = {isa = XCBuildConfiguration; buildSettings = { + B1560FC01F28141593B7C16C = {isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -2133,7 +2108,7 @@ GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.plist; INSTALL_PATH = "$(HOME)/Applications"; PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.OpenGLAppExample; }; name = Release; }; 3132BF724B47EEFACACC0FF2 = {isa = XCBuildConfiguration; buildSettings = { @@ -2174,32 +2149,33 @@ TARGETED_DEVICE_FAMILY = "1,2"; WARNING_CFLAGS = -Wreorder; ZERO_LINK = NO; }; name = Release; }; + 74660B3A9E72089FD0C78653 = {isa = PBXTargetDependency; target = 9F2051B91F59B036C151A2F9; }; 46FEBDB3E8E7421830E627F2 = {isa = XCConfigurationList; buildConfigurations = ( 3132BF724B47EEFACACC0FF2, 71C0F419A1E2F06DF9155ABE, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 72A1EE1BA283790385236C82 = {isa = XCConfigurationList; buildConfigurations = ( - 8DA6C115CCBD9A0699A71FA5, - D10126CC8CE60E150025A42D, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 5B757FF4605862B33A33271E = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + DFEC4A70ACFDEF29698A9ACE = {isa = XCConfigurationList; buildConfigurations = ( + F08A9A77D1D83904C32A87BF, + B1560FC01F28141593B7C16C, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 56C1AB4D5E9F6E55C4A4D18C = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( E7FB9D1F12020A9A921577AB, ); runOnlyForDeploymentPostprocessing = 0; }; - F1D06D2C0F24121D958BCCF0 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 9C76B98AD0B6E256C4C90D77 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 5211AFD1D8E7FD62EDA703A9, 6A909F1AEE38A7340456EBBD, 1E0BAEC7950969D956E912F1, - 4FC452CEC761FB0515E83B9C, - 6790BEB5EE46E3DF6332536F, - D4371AC9EBB0CA9B69C81C98, - 5EB3C30963D75E7D43D6AD9A, - 238A6E94B07DB483C42E0D18, - 8A7C3FEF41B5A5913396E7B1, - 148EA191DA9D3066A3C4EEEC, - BEE9A8C926B45616AC4426AB, - 0A0FD3B4C732A965C2642CC8, - 978A2567AA64957C61694427, - 913CB51D1475C7F94739502A, - D54B744850AA08DC348CE8D8, - 938FA7CCB4CD0A844BE6509F, ); runOnlyForDeploymentPostprocessing = 0; }; - 54D4A7BDAE854DE0AE2D5E3E = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 89E271F0AA9BE0BAE25C81BE, + 07D2DA592C4771FDEFDC4C7C, + 476330359A11D92B4857933B, + 408AED5D2F268207F80FC34E, + 27D522CB1FB5FF45E7F8020B, + 3918D477E26B62DEBAA8CA73, + C53A706E7463F512B6EDDFDB, + F757610703AC3F5B846F5A91, + F0BD17D5E6592DBEAE2A6E32, + 75AAD97ED0D47661D8E53E44, + 469074B4DBAAC675F9030DB7, + 9FC0D7597A01E798BAB9097F, + 79F1A1735711D07C259AEF15, ); runOnlyForDeploymentPostprocessing = 0; }; + 9CAA70AAF55A5D696C59AA51 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( F2E327A47E10F43D6991A306, 7FF434A451FC85BF1B79BC7F, F9B99B7794442B691803718A, @@ -2211,11 +2187,11 @@ FF3345FBD014D97240E35C15, 6243594E2BFD65B88D9F9918, 31F4958CEE4B57FD45310A05, ); runOnlyForDeploymentPostprocessing = 0; }; - 7B81D348370C15990CC3A1BD = {isa = PBXNativeTarget; buildConfigurationList = 72A1EE1BA283790385236C82; buildPhases = ( - 5B757FF4605862B33A33271E, - F1D06D2C0F24121D958BCCF0, - 54D4A7BDAE854DE0AE2D5E3E, ); buildRules = ( ); dependencies = ( ); name = OpenGLAppExample; productName = OpenGLAppExample; productReference = 5802E3490BEAFD892C837E2A; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; - 92078120DD024E75D724B8AB = {isa = PBXProject; buildConfigurationList = 46FEBDB3E8E7421830E627F2; attributes = { LastUpgradeCheck = 0440; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 5EB8D0E327356FA2D5323013; projectDirPath = ""; projectRoot = ""; targets = ( 7B81D348370C15990CC3A1BD ); }; + 9F2051B91F59B036C151A2F9 = {isa = PBXNativeTarget; buildConfigurationList = DFEC4A70ACFDEF29698A9ACE; buildPhases = ( + 56C1AB4D5E9F6E55C4A4D18C, + 9C76B98AD0B6E256C4C90D77, + 9CAA70AAF55A5D696C59AA51, ); buildRules = ( ); dependencies = ( ); name = "OpenGLAppExample (App)"; productName = OpenGLAppExample; productReference = 7451C664E0B1FF42F028813E; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; + 92078120DD024E75D724B8AB = {isa = PBXProject; buildConfigurationList = 46FEBDB3E8E7421830E627F2; attributes = { LastUpgradeCheck = 0440; TargetAttributes = { 9F2051B91F59B036C151A2F9 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 5EB8D0E327356FA2D5323013; projectDirPath = ""; projectRoot = ""; targets = (9F2051B91F59B036C151A2F9); }; }; rootObject = 92078120DD024E75D724B8AB; } diff --git a/examples/OpenGLAppExample/JuceLibraryCode/AppConfig.h b/examples/OpenGLAppExample/JuceLibraryCode/AppConfig.h index c7ca182b47..3b3913824b 100644 --- a/examples/OpenGLAppExample/JuceLibraryCode/AppConfig.h +++ b/examples/OpenGLAppExample/JuceLibraryCode/AppConfig.h @@ -4,8 +4,8 @@ project - if you alter its contents, your changes may be overwritten! There's a section below where you can add your own custom code safely, and the - Introjucer will preserve the contents of that block, but the best way to change - any of these definitions is by using the Introjucer's project settings. + Projucer will preserve the contents of that block, but the best way to change + any of these definitions is by using the Projucer's project settings. Any commented-out settings will assume their default values. @@ -17,7 +17,7 @@ //============================================================================== // [BEGIN_USER_CODE_SECTION] -// (You can add your own code in this section, and the Introjucer will not overwrite it) +// (You can add your own code in this section, and the Projucer will not overwrite it) // [END_USER_CODE_SECTION] @@ -38,9 +38,15 @@ //============================================================================== #ifndef JUCE_STANDALONE_APPLICATION - #define JUCE_STANDALONE_APPLICATION 1 + #ifdef JucePlugin_Build_Standalone + #define JUCE_STANDALONE_APPLICATION JucePlugin_Build_Standalone + #else + #define JUCE_STANDALONE_APPLICATION 1 + #endif #endif +#define JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED 1 + //============================================================================== // juce_audio_devices flags: diff --git a/examples/OpenGLAppExample/JuceLibraryCode/JuceHeader.h b/examples/OpenGLAppExample/JuceLibraryCode/JuceHeader.h index 0af28d33be..b79be6e1f8 100644 --- a/examples/OpenGLAppExample/JuceLibraryCode/JuceHeader.h +++ b/examples/OpenGLAppExample/JuceLibraryCode/JuceHeader.h @@ -14,19 +14,21 @@ #define __APPHEADERFILE_C3KRLE__ #include "AppConfig.h" -#include "modules/juce_audio_basics/juce_audio_basics.h" -#include "modules/juce_audio_devices/juce_audio_devices.h" -#include "modules/juce_audio_formats/juce_audio_formats.h" -#include "modules/juce_audio_processors/juce_audio_processors.h" -#include "modules/juce_core/juce_core.h" -#include "modules/juce_cryptography/juce_cryptography.h" -#include "modules/juce_data_structures/juce_data_structures.h" -#include "modules/juce_events/juce_events.h" -#include "modules/juce_graphics/juce_graphics.h" -#include "modules/juce_gui_basics/juce_gui_basics.h" -#include "modules/juce_gui_extra/juce_gui_extra.h" -#include "modules/juce_opengl/juce_opengl.h" -#include "modules/juce_video/juce_video.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + #include "BinaryData.h" #if ! DONT_SET_USING_JUCE_NAMESPACE diff --git a/examples/OpenGLAppExample/JuceLibraryCode/ReadMe.txt b/examples/OpenGLAppExample/JuceLibraryCode/ReadMe.txt index f6c3564e99..091a5aa6eb 100644 --- a/examples/OpenGLAppExample/JuceLibraryCode/ReadMe.txt +++ b/examples/OpenGLAppExample/JuceLibraryCode/ReadMe.txt @@ -2,11 +2,11 @@ Important Note!! ================ -The purpose of this folder is to contain files that are auto-generated by the Introjucer, +The purpose of this folder is to contain files that are auto-generated by the Projucer, and ALL files in this folder will be mercilessly DELETED and completely re-written whenever -the Introjucer saves your project. +the Projucer saves your project. Therefore, it's a bad idea to make any manual changes to the files in here, or to put any of your own files in here if you don't want to lose them. (Of course you may choose to add the folder's contents to your version-control system so that you can re-merge your own -modifications after the Introjucer has saved its changes). +modifications after the Projucer has saved its changes). diff --git a/examples/OpenGLAppExample/JuceLibraryCode/juce_audio_basics.cpp b/examples/OpenGLAppExample/JuceLibraryCode/juce_audio_basics.cpp new file mode 100644 index 0000000000..418694873c --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/juce_audio_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OpenGLAppExample/JuceLibraryCode/juce_audio_basics.mm b/examples/OpenGLAppExample/JuceLibraryCode/juce_audio_basics.mm new file mode 100644 index 0000000000..e0e6c577cc --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/juce_audio_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OpenGLAppExample/JuceLibraryCode/juce_audio_devices.cpp b/examples/OpenGLAppExample/JuceLibraryCode/juce_audio_devices.cpp new file mode 100644 index 0000000000..fb5c2219d7 --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/juce_audio_devices.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OpenGLAppExample/JuceLibraryCode/juce_audio_devices.mm b/examples/OpenGLAppExample/JuceLibraryCode/juce_audio_devices.mm new file mode 100644 index 0000000000..e58b67ea49 --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/juce_audio_devices.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OpenGLAppExample/JuceLibraryCode/juce_audio_formats.cpp b/examples/OpenGLAppExample/JuceLibraryCode/juce_audio_formats.cpp new file mode 100644 index 0000000000..a3c61170eb --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/juce_audio_formats.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OpenGLAppExample/JuceLibraryCode/juce_audio_formats.mm b/examples/OpenGLAppExample/JuceLibraryCode/juce_audio_formats.mm new file mode 100644 index 0000000000..f325b8fb67 --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/juce_audio_formats.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OpenGLAppExample/JuceLibraryCode/juce_audio_processors.cpp b/examples/OpenGLAppExample/JuceLibraryCode/juce_audio_processors.cpp new file mode 100644 index 0000000000..bfe172edd0 --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/juce_audio_processors.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OpenGLAppExample/JuceLibraryCode/juce_audio_processors.mm b/examples/OpenGLAppExample/JuceLibraryCode/juce_audio_processors.mm new file mode 100644 index 0000000000..b80ae9017f --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/juce_audio_processors.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OpenGLAppExample/JuceLibraryCode/juce_core.cpp b/examples/OpenGLAppExample/JuceLibraryCode/juce_core.cpp new file mode 100644 index 0000000000..d0ce1636f0 --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/juce_core.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OpenGLAppExample/JuceLibraryCode/juce_core.mm b/examples/OpenGLAppExample/JuceLibraryCode/juce_core.mm new file mode 100644 index 0000000000..72b10bf817 --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/juce_core.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OpenGLAppExample/JuceLibraryCode/juce_cryptography.cpp b/examples/OpenGLAppExample/JuceLibraryCode/juce_cryptography.cpp new file mode 100644 index 0000000000..10b3401dbe --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/juce_cryptography.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OpenGLAppExample/JuceLibraryCode/juce_cryptography.mm b/examples/OpenGLAppExample/JuceLibraryCode/juce_cryptography.mm new file mode 100644 index 0000000000..9311ea0ffe --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/juce_cryptography.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OpenGLAppExample/JuceLibraryCode/juce_data_structures.cpp b/examples/OpenGLAppExample/JuceLibraryCode/juce_data_structures.cpp new file mode 100644 index 0000000000..9315aa1686 --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/juce_data_structures.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OpenGLAppExample/JuceLibraryCode/juce_data_structures.mm b/examples/OpenGLAppExample/JuceLibraryCode/juce_data_structures.mm new file mode 100644 index 0000000000..695ec43925 --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/juce_data_structures.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OpenGLAppExample/JuceLibraryCode/juce_events.cpp b/examples/OpenGLAppExample/JuceLibraryCode/juce_events.cpp new file mode 100644 index 0000000000..1bba110a97 --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/juce_events.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OpenGLAppExample/JuceLibraryCode/juce_events.mm b/examples/OpenGLAppExample/JuceLibraryCode/juce_events.mm new file mode 100644 index 0000000000..4cc34fc401 --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/juce_events.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OpenGLAppExample/JuceLibraryCode/juce_graphics.cpp b/examples/OpenGLAppExample/JuceLibraryCode/juce_graphics.cpp new file mode 100644 index 0000000000..319c76de0e --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/juce_graphics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OpenGLAppExample/JuceLibraryCode/juce_graphics.mm b/examples/OpenGLAppExample/JuceLibraryCode/juce_graphics.mm new file mode 100644 index 0000000000..b28e6dd056 --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/juce_graphics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OpenGLAppExample/JuceLibraryCode/juce_gui_basics.cpp b/examples/OpenGLAppExample/JuceLibraryCode/juce_gui_basics.cpp new file mode 100644 index 0000000000..216c76bb05 --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/juce_gui_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OpenGLAppExample/JuceLibraryCode/juce_gui_basics.mm b/examples/OpenGLAppExample/JuceLibraryCode/juce_gui_basics.mm new file mode 100644 index 0000000000..6a9726fa5f --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/juce_gui_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OpenGLAppExample/JuceLibraryCode/juce_gui_extra.cpp b/examples/OpenGLAppExample/JuceLibraryCode/juce_gui_extra.cpp new file mode 100644 index 0000000000..7226e19833 --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/juce_gui_extra.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OpenGLAppExample/JuceLibraryCode/juce_gui_extra.mm b/examples/OpenGLAppExample/JuceLibraryCode/juce_gui_extra.mm new file mode 100644 index 0000000000..c9b6c3bfc6 --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/juce_gui_extra.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OpenGLAppExample/JuceLibraryCode/juce_opengl.cpp b/examples/OpenGLAppExample/JuceLibraryCode/juce_opengl.cpp new file mode 100644 index 0000000000..d9895bce92 --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/juce_opengl.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OpenGLAppExample/JuceLibraryCode/juce_opengl.mm b/examples/OpenGLAppExample/JuceLibraryCode/juce_opengl.mm new file mode 100644 index 0000000000..6c2c32d095 --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/juce_opengl.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OpenGLAppExample/JuceLibraryCode/juce_video.cpp b/examples/OpenGLAppExample/JuceLibraryCode/juce_video.cpp new file mode 100644 index 0000000000..bdf22ee131 --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/juce_video.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OpenGLAppExample/JuceLibraryCode/juce_video.mm b/examples/OpenGLAppExample/JuceLibraryCode/juce_video.mm new file mode 100644 index 0000000000..3da705bccd --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/juce_video.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h b/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h deleted file mode 100644 index 9befea8142..0000000000 --- a/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_basics/juce_audio_basics.h" diff --git a/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h b/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h deleted file mode 100644 index eba6d3a9e5..0000000000 --- a/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_devices/juce_audio_devices.h" diff --git a/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h b/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h deleted file mode 100644 index 4629b0ef2c..0000000000 --- a/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_formats/juce_audio_formats.h" diff --git a/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h b/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h deleted file mode 100644 index 7d4583dbf8..0000000000 --- a/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_processors/juce_audio_processors.h" diff --git a/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_core/juce_core.h b/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_core/juce_core.h deleted file mode 100644 index 06e88f9352..0000000000 --- a/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_core/juce_core.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_core/juce_core.h" diff --git a/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h b/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h deleted file mode 100644 index e4574f4749..0000000000 --- a/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_cryptography/juce_cryptography.h" diff --git a/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h b/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h deleted file mode 100644 index 9d814fd953..0000000000 --- a/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_data_structures/juce_data_structures.h" diff --git a/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_events/juce_events.h b/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_events/juce_events.h deleted file mode 100644 index 509b1df8d2..0000000000 --- a/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_events/juce_events.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_events/juce_events.h" diff --git a/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_graphics/juce_graphics.h b/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_graphics/juce_graphics.h deleted file mode 100644 index 28edbf35e3..0000000000 --- a/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_graphics/juce_graphics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_graphics/juce_graphics.h" diff --git a/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h b/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h deleted file mode 100644 index 81ad4b7297..0000000000 --- a/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_gui_basics/juce_gui_basics.h" diff --git a/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h b/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h deleted file mode 100644 index 5c9b7a96b5..0000000000 --- a/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_gui_extra/juce_gui_extra.h" diff --git a/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_opengl/juce_opengl.h b/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_opengl/juce_opengl.h deleted file mode 100644 index 718392ff72..0000000000 --- a/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_opengl/juce_opengl.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_opengl/juce_opengl.h" diff --git a/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_video/juce_video.h b/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_video/juce_video.h deleted file mode 100644 index 0dd1636ec2..0000000000 --- a/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_video/juce_video.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_video/juce_video.h" diff --git a/examples/OpenGLAppExample/OpenGLAppExample.jucer b/examples/OpenGLAppExample/OpenGLAppExample.jucer index 3d9081e21d..d160b4b485 100644 --- a/examples/OpenGLAppExample/OpenGLAppExample.jucer +++ b/examples/OpenGLAppExample/OpenGLAppExample.jucer @@ -2,7 +2,7 @@ + jucerVersion="4.2.0"> @@ -39,7 +39,7 @@ - + diff --git a/examples/OpenGLAppExample/Source/Main.cpp b/examples/OpenGLAppExample/Source/Main.cpp index f21b0d2868..3dd6a83bfe 100644 --- a/examples/OpenGLAppExample/Source/Main.cpp +++ b/examples/OpenGLAppExample/Source/Main.cpp @@ -1,7 +1,7 @@ /* ============================================================================== - This file was auto-generated by the Introjucer! + This file was auto-generated by the Projucer! It contains the basic startup code for a Juce application. diff --git a/examples/PluckedStringsDemo/Builds/MacOSX/Info.plist b/examples/PluckedStringsDemo/Builds/MacOSX/Info-App.plist similarity index 88% rename from examples/PluckedStringsDemo/Builds/MacOSX/Info.plist rename to examples/PluckedStringsDemo/Builds/MacOSX/Info-App.plist index 5ff1e10687..c2b74a1ef6 100644 --- a/examples/PluckedStringsDemo/Builds/MacOSX/Info.plist +++ b/examples/PluckedStringsDemo/Builds/MacOSX/Info-App.plist @@ -11,6 +11,8 @@ $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName PluckedStringsDemo + CFBundleDisplayName + PluckedStringsDemo CFBundlePackageType APPL CFBundleSignature diff --git a/examples/PluckedStringsDemo/Builds/MacOSX/PluckedStringsDemo.xcodeproj/project.pbxproj b/examples/PluckedStringsDemo/Builds/MacOSX/PluckedStringsDemo.xcodeproj/project.pbxproj index 8442b8741c..1c65d1f46d 100644 --- a/examples/PluckedStringsDemo/Builds/MacOSX/PluckedStringsDemo.xcodeproj/project.pbxproj +++ b/examples/PluckedStringsDemo/Builds/MacOSX/PluckedStringsDemo.xcodeproj/project.pbxproj @@ -6,6 +6,7 @@ objectVersion = 46; objects = { + 3C85FDB82E768332164F4687 = {isa = PBXBuildFile; fileRef = 3A8608CBA979E2BD17B50D0E; }; 5DB87BE4DACA6D68C6CC1128 = {isa = PBXBuildFile; fileRef = CFD295ABA919F0CB29D632B7; }; 420FD2541AEEECE57AD8C15B = {isa = PBXBuildFile; fileRef = 1EF18D4C0A33770BA15CE400; }; 4D4DB9D1AFC7D68D3BFF7E18 = {isa = PBXBuildFile; fileRef = 69FCFCFB27C813FA54433E47; }; @@ -18,22 +19,21 @@ E56F4B67FCBA79C85AD18F89 = {isa = PBXBuildFile; fileRef = 712579DB83B0E0A46D9CBE4C; }; 99E3800C76148E211A7024E4 = {isa = PBXBuildFile; fileRef = 492FD600FC422E5F17C99DCE; }; 18BC145C7F84CCACB65D6F65 = {isa = PBXBuildFile; fileRef = 15E2C6DA9D186E7097C501B9; }; - CA4FDCCF071E8C03F61D2348 = {isa = PBXBuildFile; fileRef = A761485A8D6D7DAA5F331CEF; }; - 3843860D613A5C4164240E90 = {isa = PBXBuildFile; fileRef = F9F345826E9AB0968CC27C06; }; - 475C96ED4258C7679F193370 = {isa = PBXBuildFile; fileRef = E2B2428CBB8BF06CD4A23DF7; }; - EB65FC88994BEBF63F15690A = {isa = PBXBuildFile; fileRef = F1F815174417773FAA117E9C; }; - 4C8299AD20BF9B14083A21E8 = {isa = PBXBuildFile; fileRef = 34777773F3AA232A567F897D; }; - A11CCBB2800D325624895C63 = {isa = PBXBuildFile; fileRef = F7ADFA1034518CF57CDD88C1; }; - 8DF767F55884E286B131874F = {isa = PBXBuildFile; fileRef = 0B8752EB2FFF2981159478D7; }; - C13351FC6EBEDD2D16AB4176 = {isa = PBXBuildFile; fileRef = 33244D8C8D28426A4E6A9336; }; - 53EC58F02DD3FE423579949F = {isa = PBXBuildFile; fileRef = A5F937B46BE758E0CE8153C5; }; - FAF98233C67FC7CB62EFD93F = {isa = PBXBuildFile; fileRef = 25169A980919B2B03FBDCFB0; }; - 9A557CF181F091F150964DD6 = {isa = PBXBuildFile; fileRef = FDE77778E47EF43B44987E6C; }; + F75B086CB4953D8861154A9A = {isa = PBXBuildFile; fileRef = 03A9698D25B1EFB3D981377B; }; + 2B4BC1BE4BB8DC2A2CC279D7 = {isa = PBXBuildFile; fileRef = 59BAD2AB51CEECCD39CDCD90; }; + A20FC701E43B944207BA9D6A = {isa = PBXBuildFile; fileRef = D03B70CA4A963D2B366C9DE6; }; + E5C0D675D4F6FF5A01525B6D = {isa = PBXBuildFile; fileRef = 09D113F1ACE38E7FF87EC471; }; + FDC2E6E1733C36BC567F6071 = {isa = PBXBuildFile; fileRef = 426025455AB65622E056E08D; }; + 37A1506253E9F6A55C7F4CE9 = {isa = PBXBuildFile; fileRef = 914E378F49533A2BB820B0E4; }; + 875B14967A0C684FE3E665CB = {isa = PBXBuildFile; fileRef = 6CAFA238B5CCA9BC23DEE729; }; + 5FE935AFB413A74812CE9DF6 = {isa = PBXBuildFile; fileRef = 5A825A3CDC26CD79F7C6890D; }; + 8E2DE1EB5F19391B0B7CDE15 = {isa = PBXBuildFile; fileRef = A2F5DC072FF4CB3FDEF0C96E; }; + 89F82E826F53A1BAA85E0396 = {isa = PBXBuildFile; fileRef = E711C9ED44AC78BC687F2DE8; }; + 6BE9996737ACECA74F92946D = {isa = PBXBuildFile; fileRef = D1E3E5AD73DF3F85868BBA58; }; 000E85B9B266671D4BA6A03D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; }; 0025D90AF17DCF2407B7BF92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; }; 00421451ABA7FFF804082750 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; }; 0066DBF7B3EEA048F63D1B16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; - 008D750457886981EC00455A = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_utils/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 00DC00925C90439F4E9A0325 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; }; 00DE16C7A681D2B27139271C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_formats.h"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.h"; sourceTree = "SOURCE_ROOT"; }; 015937D2520B97D0EE2AC994 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -45,6 +45,7 @@ 024425FEBCFE12BA19C215B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; }; 02AD698829E1194BF26E249C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; }; 02E0359692B001FDD7991015 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_devices.h"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.h"; sourceTree = "SOURCE_ROOT"; }; + 03A9698D25B1EFB3D981377B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../JuceLibraryCode/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 03AD27A7D8E20DA4B206BE4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AiffAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 03D45C885206C2DFDC726855 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; }; 0404DF62AC58E6BA39959478 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -71,6 +72,7 @@ 08FA6FBDFA378D7DEB2A80D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; }; 091FA27535E993FACA7E0FF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginInstance.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h"; sourceTree = "SOURCE_ROOT"; }; 09A2BC7290878D59D9991ED3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 09D113F1ACE38E7FF87EC471 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../JuceLibraryCode/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; 09E1EB16E6EFFDCDD2B09892 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; }; 0AAE29186ED2AD6A0DACA056 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; 0B275425EFD052C58E457BFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -78,7 +80,6 @@ 0B514D0B98769247D9DB3E6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; 0B5769CA411D90BC0B0DAE4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; 0B710A3B42FB548608CEB37F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; - 0B8752EB2FFF2981159478D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; 0BBF29CDC4F8948EC5EC5EE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; }; 0BD93205FE1E64537EEB7148 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 0C3F184B2917FBE760623D6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnail.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -138,7 +139,6 @@ 19FC0A766DB79A1E0A0554A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; }; 19FEB895BB54FCACFA501B6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; 1A338ED27F04799A114753A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; }; - 1AA1E7294026D1683D2BABB7 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = "SOURCE_ROOT"; }; 1ACB2FD497D4D5832E93B12D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; 1B4C545909510CA516471CFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V1.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h"; sourceTree = "SOURCE_ROOT"; }; 1B6F19BD083D58BB33090398 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; }; @@ -170,7 +170,6 @@ 2428C5301C5544A5173310E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; }; 243D35409669FD6B5D1040F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODeviceType.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp"; sourceTree = "SOURCE_ROOT"; }; 24550E30805CE3AB84F77A46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; }; - 25169A980919B2B03FBDCFB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 255E20240534172D3BE24CFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; }; 25785D7BB7C04A6FF5839577 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; }; 2669B736DCE3942A6ECABF23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; @@ -179,6 +178,7 @@ 2997C443B652C787BEFCDB6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; }; 2A35E6780C5647502C24E29F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; }; 2A896A4242C9F93BFF338CE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2B3565E95DD1CBC88D61C655 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-App.plist"; path = "Info-App.plist"; sourceTree = "SOURCE_ROOT"; }; 2BDE07A4990696333E636DF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; 2C4FDC5C1CA9535CCEF100A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; }; 2C9137215F433FC781CD4E4A = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; @@ -206,12 +206,10 @@ 32C633E55DB50E3A121A9952 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToneGeneratorAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 32E648ABD22AA5F6A0D46F4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; 33125035D6A45AA2814AEB9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MixerAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; - 33244D8C8D28426A4E6A9336 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; 33AC0E7F811D47D390AFBED4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilter.h"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h"; sourceTree = "SOURCE_ROOT"; }; 33CC05362C83675C98D9466E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; 3407482F0DCAFBE3C1E272A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 3412232343FC9D9558CCE800 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; }; - 34777773F3AA232A567F897D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; }; 34A22196BC0E1DDF88D31647 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; }; 35107190BEADCF109E77F9C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DeletedAtShutdown.cpp"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp"; sourceTree = "SOURCE_ROOT"; }; 352E77C6182FC7BF6A021A0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -238,6 +236,7 @@ 3A17A2128C147903DAF8C7B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; }; 3A607B65328748D6F1D742FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPlayHead.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPlayHead.h"; sourceTree = "SOURCE_ROOT"; }; 3A79441D4CAD1A2176A58961 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3A8608CBA979E2BD17B50D0E = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = PluckedStringsDemo.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; 3B73D57902457BA933CBF889 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 3BBAB68642D04BE833EE8D09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 3BE93E02F4DC87E09FC9A0D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; }; @@ -245,7 +244,6 @@ 3C1E30CA042DBE257F05913A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; }; 3C42E75C470788A9FDDA3604 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; }; 3CD2FA1911E347C5ED1257FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; - 3D08E5F861CE4E8A4C77CC94 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 3D310C545ABB7673054872B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 3DE9ACC436583326342DD06D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; 3DED258C3988EA0D9AF6049B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; }; @@ -270,6 +268,7 @@ 422C7D87DB73615294A716F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; }; 4235987D6A65167C3984C8E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; }; 423FCA9A4F7308626AE2C47A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 426025455AB65622E056E08D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../JuceLibraryCode/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; }; 42BA7BA8CEA979CB3B409F07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginListComponent.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 42CF992F9CCD4C05F46B52D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; }; 4322E018259102A6F9D1F63A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -348,8 +347,9 @@ 584B4CCDAF7106E99AC52813 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_QuickTimeAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 5895CBDE3C1717110102E430 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 58FC211C847065896BF74E4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; }; + 59BAD2AB51CEECCD39CDCD90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../JuceLibraryCode/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; 5A40FD30E8401DA9D26CD764 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; - 5BADD2C2CBC10DCEB83C124B = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_events/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 5A825A3CDC26CD79F7C6890D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; 5C71F7F3FF08BC9F21EC77EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; }; 5C97DB54302C7134AF6F330C = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; 5CA76C2CCF20BB9CD5EF228F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -362,7 +362,6 @@ 5EB20E60D32277FD65334F8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; 5F6A369358D1C88AC2CB22C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; }; 5F77250443F807A1F3D70C59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MP3AudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; - 5F944C122A33CC9E872C2670 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_core/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 6039576B5B237830E35DD21F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; }; 606257D6A21BE0E51DBA934F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; }; 606C073FBA068C18A01DE870 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; }; @@ -385,7 +384,6 @@ 6526D66836BA4E9CD0553521 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlacAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 653362923506155E5F2F43AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; }; 657610365F9F7708FFF7E906 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; }; - 65901CAD34BED898683861C6 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_devices/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 65F3CDA0D0479E6FC42013FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; }; 663207923A3359F998A52792 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; }; 66C4584304E7F5B3D4470C85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; @@ -411,6 +409,7 @@ 6BC2EE2C476654385265F253 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FFT.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_FFT.cpp"; sourceTree = "SOURCE_ROOT"; }; 6C7537BA1166E49A947D449F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; }; 6C925C01C9CE27D48B8D4F23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6CAFA238B5CCA9BC23DEE729 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; 6CF4FF1BE015DDE172DD3D62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KnownPluginList.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h"; sourceTree = "SOURCE_ROOT"; }; 6D2E75D789D8DBE96D150726 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; }; 6D4014D53E921A858989CA18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; }; @@ -439,7 +438,6 @@ 74B37EC7C5FC19FCA69ABF09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 75063DAB93DB8E1D75359AE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; 760B3251AD6F61E226DE09D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CoreAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - 761D1DCEA3574C0C306505D2 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_extra/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 763DCBAE3CF3469D3C8A7A98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; 76A7EE9C3BB35382EB7D558E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CPlusPlusCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; 7716D55EE7EDF933E1557B7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -527,6 +525,7 @@ 8F942F0C076D2892C12F9E66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; 8FBE4944D550101677152F7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; }; 909677F3DAB12526043BFA08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 914E378F49533A2BB820B0E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; 919D39066CE50FABB7FFC9D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; }; 92016E62BDE99F07EDE18933 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; }; 926E195EF31FC67637A38AED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -573,7 +572,6 @@ 9B6A795A588B873B421EA141 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; 9C0EA946F5233DCA6D462CC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; }; 9C66FAB8BEB89C9F359235AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; - 9C6C68347FA9F8EE8E72E315 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 9C8F8E92078570992957DF89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; 9CF085AEEEA762EE08B33A8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiRPN.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h"; sourceTree = "SOURCE_ROOT"; }; 9CF5AF1E653DE38FEA6F35EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; }; @@ -591,6 +589,7 @@ A2370D36C840FF9D28E15317 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; }; A24BC68465F3DD50799E23F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FFT.h"; path = "../../../../modules/juce_audio_basics/effects/juce_FFT.h"; sourceTree = "SOURCE_ROOT"; }; A26803FC6D32F5F5D8F7F548 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; }; + A2F5DC072FF4CB3FDEF0C96E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../JuceLibraryCode/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; A32EE20C70F0CF71D1C20A7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp"; sourceTree = "SOURCE_ROOT"; }; A3B6F2221A1AE34DC89F61B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; A3CF597496FF0A007A7EA424 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; @@ -603,9 +602,7 @@ A510B76DB11EFD76A03B3947 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; }; A5C8FBD75DDB329377542750 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; }; A5E71966B19A75002EBBF129 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; - A5F937B46BE758E0CE8153C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; A66E0E0BD4892EC5C4C494A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; }; - A761485A8D6D7DAA5F331CEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; A7B4B96A7D3C1AFC1951C4E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; A7CFEAB5213E21D1E53E98E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; A7EA5BB9A43B645A88B1DDAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiFile.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -621,7 +618,6 @@ AAC0C83157516B5A6179C6CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; }; AAE9BA15319841F67BB57DC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colours.h"; path = "../../../../modules/juce_graphics/colour/juce_Colours.h"; sourceTree = "SOURCE_ROOT"; }; AAEB41C22FB8D42BACA0B9C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatWriter.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h"; sourceTree = "SOURCE_ROOT"; }; - AB850E316157500DF685B1D2 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_graphics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; ABCEE2A08CB653C4351ADFF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; }; AC78D94D0CBA36F91DBD444A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; ACBE532437A5ACF57AC86CFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -629,7 +625,6 @@ ACFD62831F8EFD102CE608A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; AD37A6DE85DC02131D7A014B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; AD6202071634B0443A6A89C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; }; - AE0900763DA0BB9486C60CAD = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_formats/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; AE2B4BFF464427660D68C4E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; }; AE5FF36EDB7C5DBB7C4D1541 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; AF22A041A0752D8F345274BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilterAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; @@ -643,7 +638,6 @@ B219608263929D89DF7919AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; }; B232E5A4B4DD4064BAD14BFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; }; B26875E4F4F335C57CFB0068 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; }; - B2B06FE1B4D9F6DC9138E5B3 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_processors/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; B3342B7C7F0AAEC4CD952EDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; }; B3672E99F9CEEB4E2F574635 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; B36C4D97408B391308BE3AE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; @@ -741,38 +735,35 @@ CF527AE73088E3DB41E0465A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; }; CFD295ABA919F0CB29D632B7 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; D030679DF5005C91A419CA88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZone.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.h"; sourceTree = "SOURCE_ROOT"; }; + D03B70CA4A963D2B366C9DE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../JuceLibraryCode/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; D03DD363B33030D11E1D8755 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; }; D04FD8A890D7576BE0797857 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; }; D06F3D48F9A8CC52BCA62AA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + D0AB542F1EB35ABCE1E44B99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; }; D0B644D77B9391EE809D5729 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDataConverters.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h"; sourceTree = "SOURCE_ROOT"; }; D1114D6AD8DBEE47C9833B78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceManager.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp"; sourceTree = "SOURCE_ROOT"; }; D12B4A83D656755E9C9BAC4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; }; + D12E1C4617AD0ADACF7957E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; D146BB260657F5F63B360B2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemTrayIconComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + D1E3E5AD73DF3F85868BBA58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; D25618C3A3352D6263869E65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; }; D280A954231A4A33ACA7EA40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + D2D3C66A41C957F3B6DA44FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZone.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.cpp"; sourceTree = "SOURCE_ROOT"; }; D2E27C78F28269FCB48DA401 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WavAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; D3623005A3521C24ED3EF9EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; }; - D3FA695190E3D13E374836B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; - D7446DC6A22B8D9943370E13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; - D7BF400FACA4E7C46D4720F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; }; - D825E43CCC90DC98855B91EE = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_data_structures/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; - D87FDED519CFBB992B41648B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; - D8978A001F09E89AEBF03542 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; - DF743B3F7C5D4E39357B2ABD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; }; - E13EA07F317B5CABDA7C28D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinearSmoothedValue.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h"; sourceTree = "SOURCE_ROOT"; }; - EA67BDFC350AC7ACBA793381 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; }; - 25DCC900CF70D433427E37A8 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = PluckedStringsDemo.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; - D0AB542F1EB35ABCE1E44B99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; }; - D12E1C4617AD0ADACF7957E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; - D2D3C66A41C957F3B6DA44FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZone.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.cpp"; sourceTree = "SOURCE_ROOT"; }; D3BBE4AD39020A9B644F1C4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + D3FA695190E3D13E374836B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; D451535498DC3AD41A6B1C52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; }; D49251DC02B56E702AAF667F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; }; D4E2028638FF1DFC04CB78A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; }; D5245684E6E92FA88D673362 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; }; D6179C5FEB964DE02DFA1A4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; D66D939DFA09FFD394F11A79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + D7446DC6A22B8D9943370E13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; + D7BF400FACA4E7C46D4720F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; }; D874653E5D123090F8BB2F74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; }; + D87FDED519CFBB992B41648B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + D8978A001F09E89AEBF03542 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; D8BAD46ADE56B85DFB419647 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; D8F15628570603156374AD8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModifierKeys.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h"; sourceTree = "SOURCE_ROOT"; }; DA6AE55F057A2E5AF38D0CA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameter.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h"; sourceTree = "SOURCE_ROOT"; }; @@ -790,16 +781,17 @@ DE8FF2462362152A54097844 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; DEA5B956F9B17FDDFB21F3D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; DF1BC3535F31B126584889D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; + DF743B3F7C5D4E39357B2ABD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; }; DF8F22B2BA37D04EAFCEE4B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; DFE372DB89F74CFFF38F79F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; E05D127A813EEEB7D3EA3FD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; }; E11ED6D69A7AF196FC02B4DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; + E13EA07F317B5CABDA7C28D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinearSmoothedValue.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h"; sourceTree = "SOURCE_ROOT"; }; E1ABC9E6B24B3D7CDF0CA22A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEMessages.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp"; sourceTree = "SOURCE_ROOT"; }; E1B4D21F3E429CCCA0549692 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; E22B72FE3AE2CF2538A92493 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; }; E2899DB06FA2ACD7907E218A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; }; E2A0935487433A10A8839CCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormatManager.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; - E2B2428CBB8BF06CD4A23DF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; E2C09023F672D8E5EB8948FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; }; E359E0675D9A22857A282598 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; E3BA75E2B23B4EC7F040F9F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -815,6 +807,7 @@ E69D60F04BCEA7B1F039F157 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; E6B57B097825330545DE5F94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; E70E79938BA521CADD5969F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; }; + E711C9ED44AC78BC687F2DE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; E73D11EE1A91B746E05B594A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; }; E748AF5DD3ECF3F3B38BE624 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooserDialogBox.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h"; sourceTree = "SOURCE_ROOT"; }; E75D4EEB6E2C59D626FC6F09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -825,6 +818,7 @@ E9D53D48588D99F2B7F8F343 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; }; E9E264D7F0922F938A230189 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; E9F48CFFCCED35CAF6DB9AFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + EA67BDFC350AC7ACBA793381 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; }; EABEAA187BB08079ADF9C71F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormatManager.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; EB4293E1A08F9C4591EDD62E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; }; EBB0CCB80A0162539892103D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; }; @@ -851,7 +845,6 @@ F1210CDD58B1AE2C1AAAC94A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessage.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp"; sourceTree = "SOURCE_ROOT"; }; F1745282B0DC25714A95443D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; }; F179A306C7797D36ADDD0113 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; }; - F1F815174417773FAA117E9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; F27A22EF8DC3458BDCD4D6A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; }; F27DB335E0F5846ED454BD9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; }; F2FE49C21B17141B640E39EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -873,7 +866,6 @@ F74FF7CF42A07161AFF7710D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; }; F78E555FDD06265DF3021487 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; F797A98160D9898B235018D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; - F7ADFA1034518CF57CDD88C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; F7B35B431ED74EE1B2E16EE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_BluetoothMidiDevicePairingDialogue.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_BluetoothMidiDevicePairingDialogue.mm"; sourceTree = "SOURCE_ROOT"; }; F7E37D672F20410F549A0ACB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPress.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h"; sourceTree = "SOURCE_ROOT"; }; F7E8A13B2CA9CD14B8593000 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -886,7 +878,6 @@ F96A1911DD7C5832CFD4720A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; F99B629FA3A9D815B2962DC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; }; F9B1FEA25C0432DB22D5D962 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; - F9F345826E9AB0968CC27C06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; FA1C3482A549B7173000DDAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_OpenSL.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp"; sourceTree = "SOURCE_ROOT"; }; FA2F29262E49A9462AA2243C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginListComponent.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h"; sourceTree = "SOURCE_ROOT"; }; FA63E754F310AC21AD5CB86A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; @@ -907,7 +898,6 @@ FDC44C62DF0E5884B36E57DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; FDCACC3D4F9CC9BF5EEFE56B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; FDD893934A16A8526055D342 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; }; - FDE77778E47EF43B44987E6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; FE503FEEE818268B1A239513 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; FE5CD32BBDFB9D5675764E93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GenericAudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; FE5ED0D314B1ADBB37CED75E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -997,9 +987,12 @@ 233ABC94309D4A69E88862CE, 9F88BBB03CD6C89EA6522DBE, 3EF5E929FCA56658C70C00FF, - 9C6C68347FA9F8EE8E72E315, E4EAF1E1D83261CA8E4C9DA2, ); name = "juce_audio_basics"; sourceTree = ""; }; - E21AE5687FBAC3628742B0DF = {isa = PBXGroup; children = ( + EA7A49F82DCBB4C463402AEB = {isa = PBXGroup; children = ( + 7250AA25548636949FF5B68B, + 2A896A4242C9F93BFF338CE3, + 38D001655D30BC38B4DE4C6B, ); name = "audio_cd"; sourceTree = ""; }; + BDF8ABBDEFF43CE5607BF1B1 = {isa = PBXGroup; children = ( D1114D6AD8DBEE47C9833B78, CA647FA729CD4CB3AEB1C3B4, 804EEAC995CAB8564151AB19, @@ -1007,22 +1000,13 @@ 243D35409669FD6B5D1040F9, B6EF2D221B2FBEE591ECF465, FBF6E07CE4C8DD2CC43CE0C1, ); name = "audio_io"; sourceTree = ""; }; - DC4234036733F1CAB3F5DA95 = {isa = PBXGroup; children = ( + 8EA79A16BD591722FA2C8FEC = {isa = PBXGroup; children = ( 0218289D0D8F7785C7F504EE, 80930811C3C2D1F258F426AE, 8C8FEDE65D4CBECC38D2BB62, 17342DAA7DDCE8A758F4A353, EF03C224897C250349FA8A68, ); name = "midi_io"; sourceTree = ""; }; - 31E966EA5519C0F0A16C5707 = {isa = PBXGroup; children = ( - 5E60BCC59FCD7A7C4BFC12C0, - 4D2A30F16BB38A1D63CD289E, - 9AFF4A0F14B8749DC0E0D4C5, - 443708F62791FF0D4F639D51, ); name = sources; sourceTree = ""; }; - 640720AD74C12C2D844C3F09 = {isa = PBXGroup; children = ( - 7250AA25548636949FF5B68B, - 2A896A4242C9F93BFF338CE3, - 38D001655D30BC38B4DE4C6B, ); name = "audio_cd"; sourceTree = ""; }; - 758A8C9926267454CA6561FC = {isa = PBXGroup; children = ( + 25CE990BC9BC6807A6B75201 = {isa = PBXGroup; children = ( 051188AC62E1F2F1EC3B8172, 7920FB43FBC0BCBE4913419D, FA1C3482A549B7173000DDAB, @@ -1042,31 +1026,19 @@ 217581A16B821915FDAAA6B1, 890ADCDB18D11CF064499EBA, 5506210306B34612B94A4F73, ); name = native; sourceTree = ""; }; + A93732A8C31DD9971829D3E3 = {isa = PBXGroup; children = ( + 5E60BCC59FCD7A7C4BFC12C0, + 4D2A30F16BB38A1D63CD289E, + 9AFF4A0F14B8749DC0E0D4C5, + 443708F62791FF0D4F639D51, ); name = sources; sourceTree = ""; }; CB43F53DE66A3B8476A26B14 = {isa = PBXGroup; children = ( - E21AE5687FBAC3628742B0DF, - DC4234036733F1CAB3F5DA95, - 31E966EA5519C0F0A16C5707, - 640720AD74C12C2D844C3F09, - 758A8C9926267454CA6561FC, - 65901CAD34BED898683861C6, + EA7A49F82DCBB4C463402AEB, + BDF8ABBDEFF43CE5607BF1B1, + 8EA79A16BD591722FA2C8FEC, + 25CE990BC9BC6807A6B75201, + A93732A8C31DD9971829D3E3, 02E0359692B001FDD7991015, ); name = "juce_audio_devices"; sourceTree = ""; }; - A0661F403337215362DA48F0 = {isa = PBXGroup; children = ( - B545F7556A6B837BB79234CB, - 4E080A8DD941D56ED59BF61F, - 4362C2C82F72B8FADB0A75BF, - 30E73DA3869DD88FF98B7A0A, - 423FCA9A4F7308626AE2C47A, - C3C0A1529556EA398661542D, - 8543BC7A9B7C06BA2D7492BC, - 019E78590DA10653E304AC0B, - D874653E5D123090F8BB2F74, - AAEB41C22FB8D42BACA0B9C0, - 11A1A738ADA6DD6D7C545D2C, - 01964DD7F75941420488F7FF, - 96C9F66E6147673C7C62FF17, - 89A3E00AB8BBFCCE9CFECB16, - 3F6CDD15E54516860979CDB1, ); name = format; sourceTree = ""; }; - 8A0C0C1E8990A427D355F1CB = {isa = PBXGroup; children = ( + CB3C9CA75AD371DAFEFF1C8C = {isa = PBXGroup; children = ( BAA4EFAE7924CB84918B1828, 03AD27A7D8E20DA4B206BE4D, 760B3251AD6F61E226DE09D8, @@ -1085,16 +1057,48 @@ 6949A4D08A318AD0325C789D, 5705584FED86AFC880D29636, AA47E3BC963AF7DC3AC577A0, ); name = codecs; sourceTree = ""; }; + 9D0C3A8896004C1EAC7400C6 = {isa = PBXGroup; children = ( + B545F7556A6B837BB79234CB, + 4E080A8DD941D56ED59BF61F, + 4362C2C82F72B8FADB0A75BF, + 30E73DA3869DD88FF98B7A0A, + 423FCA9A4F7308626AE2C47A, + C3C0A1529556EA398661542D, + 8543BC7A9B7C06BA2D7492BC, + 019E78590DA10653E304AC0B, + D874653E5D123090F8BB2F74, + AAEB41C22FB8D42BACA0B9C0, + 11A1A738ADA6DD6D7C545D2C, + 01964DD7F75941420488F7FF, + 96C9F66E6147673C7C62FF17, + 89A3E00AB8BBFCCE9CFECB16, + 3F6CDD15E54516860979CDB1, ); name = format; sourceTree = ""; }; C5595E63275CFF9786809C28 = {isa = PBXGroup; children = ( CBD271686134A8F8BA7B23B7, 19969ABC3D4021D65FEF8365, ); name = sampler; sourceTree = ""; }; 3E76B4CB1684504553FA4EB1 = {isa = PBXGroup; children = ( - A0661F403337215362DA48F0, - 8A0C0C1E8990A427D355F1CB, + CB3C9CA75AD371DAFEFF1C8C, + 9D0C3A8896004C1EAC7400C6, C5595E63275CFF9786809C28, - AE0900763DA0BB9486C60CAD, 00DE16C7A681D2B27139271C, ); name = "juce_audio_formats"; sourceTree = ""; }; - 2DDA4BE5A40EE34524B4EF63 = {isa = PBXGroup; children = ( + 035C5CF54C013AC363E3B613 = {isa = PBXGroup; children = ( + 9639A177FA54F29024B9144A, + DFE372DB89F74CFFF38F79F1, + EABEAA187BB08079ADF9C71F, + E2A0935487433A10A8839CCB, ); name = format; sourceTree = ""; }; + 89D20F660B02B2D3EDCCF03A = {isa = PBXGroup; children = ( + 9FE22FA506D161BA152CE6E4, + 3EE734341645DBB78BA4A05B, + B8DC9E6368B53B15909A65C7, + 48C181B3A236B53DD3EBAC95, + 20C5434A8E167634150883A3, + 54420A7FCB25BAEEEB0FEEA0, + B3CD2EAF0DAB67CFA880BF8A, + 826E3E424F0A7BDF5FECE7F0, + 237404D7EAAD696962C85B05, + 92E9E50DCD5CC8113296C700, + 6B5E4C82FF829907B7AAD9E3, ); name = "format_types"; sourceTree = ""; }; + 5D493A2D4F158FB6D1175B7F = {isa = PBXGroup; children = ( 3610BCE8F9B56531CFC35E07, E70E79938BA521CADD5969F1, 3A607B65328748D6F1D742FD, @@ -1111,23 +1115,6 @@ FE5CD32BBDFB9D5675764E93, 2F13A3FBE68B316F7925D448, BFE09034425CFDD68681C2E4, ); name = processors; sourceTree = ""; }; - C86FB5BADA4D4A4904464BEF = {isa = PBXGroup; children = ( - 9639A177FA54F29024B9144A, - DFE372DB89F74CFFF38F79F1, - EABEAA187BB08079ADF9C71F, - E2A0935487433A10A8839CCB, ); name = format; sourceTree = ""; }; - 4512A2DFCB9EC8F64CFCEBFC = {isa = PBXGroup; children = ( - 9FE22FA506D161BA152CE6E4, - 3EE734341645DBB78BA4A05B, - B8DC9E6368B53B15909A65C7, - 48C181B3A236B53DD3EBAC95, - 20C5434A8E167634150883A3, - 54420A7FCB25BAEEEB0FEEA0, - B3CD2EAF0DAB67CFA880BF8A, - 826E3E424F0A7BDF5FECE7F0, - 237404D7EAAD696962C85B05, - 92E9E50DCD5CC8113296C700, - 6B5E4C82FF829907B7AAD9E3, ); name = "format_types"; sourceTree = ""; }; 99B49F16C746C30937A0C7AB = {isa = PBXGroup; children = ( C2BB5BC7F60923C61B3680A5, 6CF4FF1BE015DDE172DD3D62, @@ -1145,12 +1132,11 @@ 549EB2D372E93DD52A2B530C, BF8E69AF5C7E25E40C5EE291, ); name = utilities; sourceTree = ""; }; 9C7B8FD05619E353C4F00D95 = {isa = PBXGroup; children = ( - 2DDA4BE5A40EE34524B4EF63, - C86FB5BADA4D4A4904464BEF, - 4512A2DFCB9EC8F64CFCEBFC, + 035C5CF54C013AC363E3B613, + 89D20F660B02B2D3EDCCF03A, + 5D493A2D4F158FB6D1175B7F, 99B49F16C746C30937A0C7AB, 212F4ABE69E383D3A19B2CED, - B2B06FE1B4D9F6DC9138E5B3, 61697E991AD1E66C0C594B94, ); name = "juce_audio_processors"; sourceTree = ""; }; E9F168323DBF4E66116C2C46 = {isa = PBXGroup; children = ( 2DCC9E193676CF4A46D3B0C2, @@ -1167,73 +1153,21 @@ CCBFC06C62E598A89B08607D, 729C925A39C2E4171B1F83D7, 44DB0CBEE1E2BCE2B8AB6F2B, ); name = gui; sourceTree = ""; }; - F3E88FEA0F2DE2EEA31A0B8B = {isa = PBXGroup; children = ( - EBFBECF955B0489E81BA44E3, - 409A8214F15A0388D24ABC5F, ); name = players; sourceTree = ""; }; - EE0C77DEB1014675C9880DB1 = {isa = PBXGroup; children = ( + 327E4E9090320B5348FCE27B = {isa = PBXGroup; children = ( EE30D384E567AE7F475E348F, 6DD569C2FEB6B74B781B81C9, 10797BCF6AB6944C7FB2E608, F7B35B431ED74EE1B2E16EE9, DF8F22B2BA37D04EAFCEE4B5, ); name = native; sourceTree = ""; }; + 292531AF0C479EA510F15DE6 = {isa = PBXGroup; children = ( + EBFBECF955B0489E81BA44E3, + 409A8214F15A0388D24ABC5F, ); name = players; sourceTree = ""; }; 43B3766A05E88BFC2AD2D322 = {isa = PBXGroup; children = ( E9F168323DBF4E66116C2C46, - F3E88FEA0F2DE2EEA31A0B8B, - EE0C77DEB1014675C9880DB1, - 008D750457886981EC00455A, + 327E4E9090320B5348FCE27B, + 292531AF0C479EA510F15DE6, BA4FAB8D8AE2625409DC5422, ); name = "juce_audio_utils"; sourceTree = ""; }; - 0EA4D254248FFAA7EDCDA035 = {isa = PBXGroup; children = ( - 696DBFCE44ECE9F36CF91EAA, - 30C51CA8BAB614A3B7238D97, - 0B2DCC91EDFA460CBDB846D4, - 70500CEFC87676A0527B9BEB, - 089E449CF41E25FD385B0350, - F74FF7CF42A07161AFF7710D, - F27DB335E0F5846ED454BD9D, - 0E2F963D8586DCC6CC882F04, - 7A39255EE30193D7E4FF47BC, - 7268E8DF4FB06FC006A066BD, - 19FEB895BB54FCACFA501B6D, - 51F28DA357C5A3B905F89558, - 9D637E3832477D92F0D4683A, - 9C8F8E92078570992957DF89, - 85E556EC089992434FC9D059, - EE77D55083776A0A61489211, - 06024288BA6D0A6AAE3691A7, - 860AB680399C2884FE9B0D19, - BA54EE326A7C4C9E09D5FB32, - 5CA76C2CCF20BB9CD5EF228F, - 4ECB6626915207232EC908E8, - CCA7477C888AFC9D43115078, - 8D8FE20F9365F60BBDB0CDA4, - ACE6547962A383D98A9458D7, ); name = text; sourceTree = ""; }; - 834E433E15F2D104F04C2274 = {isa = PBXGroup; children = ( - C3CF3D9FA217B7C5AE21167F, - F78E555FDD06265DF3021487, - 2097FB033C90004348C3FBDF, - B5549BFA101F6BD22DD7361B, - 4515D9EE3321B3EC5AA70907, - BC24FD941412387765EA0843, - AAC0C83157516B5A6179C6CB, - FD571868A7827D0DAD77AB49, - 8F70D446A5AD5055B345DC3F, - 5D43EDC56BE59D4B097BD7C9, ); name = maths; sourceTree = ""; }; - 8A9C3DDC54CB0251D00B7ABC = {isa = PBXGroup; children = ( - 2196C8481B4177D9055AA47E, - 5A40FD30E8401DA9D26CD764, - 6A4E715CFA17D90E1D3357FA, - DB0EC90DD8242F2D1B131770, - 9F56E89727F8239EE4145EFB, - EF47881F88AEDF39FA83D7DA, - 36854C5E554CFF0CDE0CE3C6, - 09E1EB16E6EFFDCDD2B09892, - 0443919411CFFA599C096373, - 0DD021F0FADE79B577913355, - 153D6913F7AD9BDF2880ECB9, - DF1BC3535F31B126584889D0, - 3CD2FA1911E347C5ED1257FC, - 94902285B15191250640CEE0, ); name = memory; sourceTree = ""; }; - 48313304E64D9E83BBD4F8D7 = {isa = PBXGroup; children = ( + FB43C4E344055861D5A63604 = {isa = PBXGroup; children = ( 17C1B88CF8910492B6FBBEC3, 25785D7BB7C04A6FF5839577, CE852E4C7B5F304AC9129966, @@ -1255,37 +1189,7 @@ 5EB20E60D32277FD65334F8F, 0066DBF7B3EEA048F63D1B16, D12E1C4617AD0ADACF7957E5, ); name = containers; sourceTree = ""; }; - 9D4B5C517593D7A6D94726A9 = {isa = PBXGroup; children = ( - F9B1FEA25C0432DB22D5D962, - CE64D69FD11D6D1E24C52456, - 1E8799CA24CF6C92BB6CDA2F, - 7C023E2D96542807EEE8F067, - C0E8615A163EEF3306166782, - 40A728B4E37B9AA8951BEC93, - 3926616EC56E25F66F6CD790, - A26803FC6D32F5F5D8F7F548, - A07EA02269FDA6F1D5E7D082, - F797A98160D9898B235018D2, - 8FBE4944D550101677152F7F, - 65F3CDA0D0479E6FC42013FE, - 66C4584304E7F5B3D4470C85, - 1F128E562352950E3DD49EE4, - B3342B7C7F0AAEC4CD952EDC, - B531308B067B95D321F2931D, - 108DD27DC3130A3179E6FD00, - 3769082FE18021FB19823EB3, - 89A0F6183BB37176E209C27C, - 4C1851ACE9DED43B706CFFC0, - 3A17A2128C147903DAF8C7B6, - 71B9CF373B6D94E72463BB98, ); name = threads; sourceTree = ""; }; - 425C900FB375ABE5836E41A5 = {isa = PBXGroup; children = ( - EF1C7165B6D23C2BDBD465D2, - 2D5A7388583D32A8F1BC278B, - 4852E3C8682ABCE67D5636A2, - 1ACB2FD497D4D5832E93B12D, - A510B76DB11EFD76A03B3947, - C3BC3A0D22B369882AC8BE04, ); name = time; sourceTree = ""; }; - D474EB06C18F403399441B55 = {isa = PBXGroup; children = ( + 872F1FA324ADB9055103D532 = {isa = PBXGroup; children = ( 50F1440EAD86D78748E9A0AC, 6A4DDCFA6085BF3B1C3EA8B6, 505CD8376F8F4A2FB3398B9D, @@ -1303,66 +1207,43 @@ 71B26FC46CC356F68522156A, FB4894C6FD05CEB53DCE471C, 60C3BAD5EFA0919868397BE3, ); name = files; sourceTree = ""; }; - 7824A1487860EEACBD72D747 = {isa = PBXGroup; children = ( - 1618E3050F66723769E3BED1, - E9D53D48588D99F2B7F8F343, - 181BAB8AC09C013CB3516356, - 557F3E42750A6F32078F0156, - 0D9BD2274AA6F9081E60A196, - 9A627134360A815F8EC2BC4E, - D49251DC02B56E702AAF667F, - 631C04DB8E078ACFBCE88899, - 1FF72CF8D18F36023DBA52FF, - A87535BCCA1FADDD74E5B71F, ); name = network; sourceTree = ""; }; - 659F0A87DEC674E05AE4C6FB = {isa = PBXGroup; children = ( - EDF22F22D7353773E15461E6, - 4B6A8C8A7737818D196A9CAB, - 226DE5CC38A1677D7B19643A, - 2E36AFC7A8EA135C6A48DBAE, - 9987C8227A4C405F8102D7ED, - 926E195EF31FC67637A38AED, - 990725C2640BABF1AE3F9ED5, - DEA5B956F9B17FDDFB21F3D9, - 80187D9602541B6520358225, - F9225A6BFB30D7D007C7D2AD, - 30EC4A1E0395536C084915FD, - 0BD93205FE1E64537EEB7148, - 3412232343FC9D9558CCE800, - 0874F696E38C170FBF0DB8E1, - E5021ACBFEC2AE96AFCF905C, ); name = streams; sourceTree = ""; }; - 721EDF1C87A88E7EB2646313 = {isa = PBXGroup; children = ( - 2CDE3A3C56111B028372BB8A, - 525B5225F9D36FF1DB0F61BC, - ABCEE2A08CB653C4351ADFF1, - 92C6E8140B7A11207A75BC92, ); name = logging; sourceTree = ""; }; - 138812974340AB2735A99911 = {isa = PBXGroup; children = ( - E2C09023F672D8E5EB8948FB, - 0C45B35CE37C03769612DA88, - 49B6080018A76A6B43E4BD09, - 11F00F11DEE5884CC184E1B0, - 3DED258C3988EA0D9AF6049B, - 1B6F19BD083D58BB33090398, ); name = system; sourceTree = ""; }; - 4E10B2D399D40EB49BD5EEDD = {isa = PBXGroup; children = ( - 43F2C84ABB35BCF45A2DD126, - 33CC05362C83675C98D9466E, - 4235987D6A65167C3984C8E8, - 7026C717D9CA96D4284F2EA5, ); name = xml; sourceTree = ""; }; - 87861E3544954A838ADD5CE4 = {isa = PBXGroup; children = ( + DD98FA9CAADBBEF432E852A8 = {isa = PBXGroup; children = ( 93E55817F62A230AE17BFFBF, 663207923A3359F998A52792, 501415264FFFED81A47BE9B8, 9B6A795A588B873B421EA141, ); name = javascript; sourceTree = ""; }; - 34125E9ED71AB20F2BC1E5E9 = {isa = PBXGroup; children = ( - AC78D94D0CBA36F91DBD444A, - B92BA92DA9F0E6E4477FFA1D, - E75D4EEB6E2C59D626FC6F09, - 2E0621F79571D5AD77112111, - 15521C05CD2760EEF83F91DC, - F36D1FF45A7C491B89EDBE34, ); name = zip; sourceTree = ""; }; - B500EEE02E8AD16C67AC8421 = {isa = PBXGroup; children = ( - 1FB3A473C4ACCC87DFBCC969, - DC224A6FC6231EB7A814FB67, ); name = "unit_tests"; sourceTree = ""; }; - B1913D2DF6D5AACFF5A083DD = {isa = PBXGroup; children = ( + 4FFA066F543F1B5DFDA27D14 = {isa = PBXGroup; children = ( + 2CDE3A3C56111B028372BB8A, + 525B5225F9D36FF1DB0F61BC, + ABCEE2A08CB653C4351ADFF1, + 92C6E8140B7A11207A75BC92, ); name = logging; sourceTree = ""; }; + D973448B434ED295D3CC2AE8 = {isa = PBXGroup; children = ( + C3CF3D9FA217B7C5AE21167F, + F78E555FDD06265DF3021487, + 2097FB033C90004348C3FBDF, + B5549BFA101F6BD22DD7361B, + 4515D9EE3321B3EC5AA70907, + BC24FD941412387765EA0843, + AAC0C83157516B5A6179C6CB, + FD571868A7827D0DAD77AB49, + 8F70D446A5AD5055B345DC3F, + 5D43EDC56BE59D4B097BD7C9, ); name = maths; sourceTree = ""; }; + B7123873C42FA393FC7456CA = {isa = PBXGroup; children = ( + 2196C8481B4177D9055AA47E, + 5A40FD30E8401DA9D26CD764, + 6A4E715CFA17D90E1D3357FA, + DB0EC90DD8242F2D1B131770, + 9F56E89727F8239EE4145EFB, + EF47881F88AEDF39FA83D7DA, + 36854C5E554CFF0CDE0CE3C6, + 09E1EB16E6EFFDCDD2B09892, + 0443919411CFFA599C096373, + 0DD021F0FADE79B577913355, + 153D6913F7AD9BDF2880ECB9, + DF1BC3535F31B126584889D0, + 3CD2FA1911E347C5ED1257FC, + 94902285B15191250640CEE0, ); name = memory; sourceTree = ""; }; + CF88E47752E0D3B9B2DF8502 = {isa = PBXGroup; children = ( C05FC23CC318A72488B619B0, 0025D90AF17DCF2407B7BF92, ACBE532437A5ACF57AC86CFA, @@ -1370,7 +1251,7 @@ B13129B0D10094D12C55CEE2, 3E1A293411F1EB1A686856F1, 633D6298B1EFB62992608980, ); name = misc; sourceTree = ""; }; - F20B9AC5264499D618033C48 = {isa = PBXGroup; children = ( + 71DEAF628C9BCCC1D0FFED2F = {isa = PBXGroup; children = ( CAA78838723B7B3A26FE1F60, F82559A2981409B934394A39, 657610365F9F7708FFF7E906, @@ -1400,49 +1281,167 @@ 18CF0A5873315FEEE140C633, 532F702298845A3332A17275, CBE66465FE1EEBAFB01C2FC5, ); name = native; sourceTree = ""; }; + 38F83513A9B6DAFB3D97BD20 = {isa = PBXGroup; children = ( + 1618E3050F66723769E3BED1, + E9D53D48588D99F2B7F8F343, + 181BAB8AC09C013CB3516356, + 557F3E42750A6F32078F0156, + 0D9BD2274AA6F9081E60A196, + 9A627134360A815F8EC2BC4E, + D49251DC02B56E702AAF667F, + 631C04DB8E078ACFBCE88899, + 1FF72CF8D18F36023DBA52FF, + A87535BCCA1FADDD74E5B71F, ); name = network; sourceTree = ""; }; + 1C64587F25F513975E6650F2 = {isa = PBXGroup; children = ( + EDF22F22D7353773E15461E6, + 4B6A8C8A7737818D196A9CAB, + 226DE5CC38A1677D7B19643A, + 2E36AFC7A8EA135C6A48DBAE, + 9987C8227A4C405F8102D7ED, + 926E195EF31FC67637A38AED, + 990725C2640BABF1AE3F9ED5, + DEA5B956F9B17FDDFB21F3D9, + 80187D9602541B6520358225, + F9225A6BFB30D7D007C7D2AD, + 30EC4A1E0395536C084915FD, + 0BD93205FE1E64537EEB7148, + 3412232343FC9D9558CCE800, + 0874F696E38C170FBF0DB8E1, + E5021ACBFEC2AE96AFCF905C, ); name = streams; sourceTree = ""; }; + 138812974340AB2735A99911 = {isa = PBXGroup; children = ( + E2C09023F672D8E5EB8948FB, + 0C45B35CE37C03769612DA88, + 49B6080018A76A6B43E4BD09, + 11F00F11DEE5884CC184E1B0, + 3DED258C3988EA0D9AF6049B, + 1B6F19BD083D58BB33090398, ); name = system; sourceTree = ""; }; + 5D904797A45C7C1BF33396BA = {isa = PBXGroup; children = ( + 696DBFCE44ECE9F36CF91EAA, + 30C51CA8BAB614A3B7238D97, + 0B2DCC91EDFA460CBDB846D4, + 70500CEFC87676A0527B9BEB, + 089E449CF41E25FD385B0350, + F74FF7CF42A07161AFF7710D, + F27DB335E0F5846ED454BD9D, + 0E2F963D8586DCC6CC882F04, + 7A39255EE30193D7E4FF47BC, + 7268E8DF4FB06FC006A066BD, + 19FEB895BB54FCACFA501B6D, + 51F28DA357C5A3B905F89558, + 9D637E3832477D92F0D4683A, + 9C8F8E92078570992957DF89, + 85E556EC089992434FC9D059, + EE77D55083776A0A61489211, + 06024288BA6D0A6AAE3691A7, + 860AB680399C2884FE9B0D19, + BA54EE326A7C4C9E09D5FB32, + 5CA76C2CCF20BB9CD5EF228F, + 4ECB6626915207232EC908E8, + CCA7477C888AFC9D43115078, + 8D8FE20F9365F60BBDB0CDA4, + ACE6547962A383D98A9458D7, ); name = text; sourceTree = ""; }; + F9FB62C42F728CF3D1966F37 = {isa = PBXGroup; children = ( + F9B1FEA25C0432DB22D5D962, + CE64D69FD11D6D1E24C52456, + 1E8799CA24CF6C92BB6CDA2F, + 7C023E2D96542807EEE8F067, + C0E8615A163EEF3306166782, + 40A728B4E37B9AA8951BEC93, + 3926616EC56E25F66F6CD790, + A26803FC6D32F5F5D8F7F548, + A07EA02269FDA6F1D5E7D082, + F797A98160D9898B235018D2, + 8FBE4944D550101677152F7F, + 65F3CDA0D0479E6FC42013FE, + 66C4584304E7F5B3D4470C85, + 1F128E562352950E3DD49EE4, + B3342B7C7F0AAEC4CD952EDC, + B531308B067B95D321F2931D, + 108DD27DC3130A3179E6FD00, + 3769082FE18021FB19823EB3, + 89A0F6183BB37176E209C27C, + 4C1851ACE9DED43B706CFFC0, + 3A17A2128C147903DAF8C7B6, + 71B9CF373B6D94E72463BB98, ); name = threads; sourceTree = ""; }; + ADAFACB33D3BC0AED615CA9D = {isa = PBXGroup; children = ( + EF1C7165B6D23C2BDBD465D2, + 2D5A7388583D32A8F1BC278B, + 4852E3C8682ABCE67D5636A2, + 1ACB2FD497D4D5832E93B12D, + A510B76DB11EFD76A03B3947, + C3BC3A0D22B369882AC8BE04, ); name = time; sourceTree = ""; }; + B500EEE02E8AD16C67AC8421 = {isa = PBXGroup; children = ( + 1FB3A473C4ACCC87DFBCC969, + DC224A6FC6231EB7A814FB67, ); name = "unit_tests"; sourceTree = ""; }; + 8E506F7F7BF9B0C357C852A6 = {isa = PBXGroup; children = ( + 43F2C84ABB35BCF45A2DD126, + 33CC05362C83675C98D9466E, + 4235987D6A65167C3984C8E8, + 7026C717D9CA96D4284F2EA5, ); name = xml; sourceTree = ""; }; + BC5335CA23D372E669F49459 = {isa = PBXGroup; children = ( + AC78D94D0CBA36F91DBD444A, + B92BA92DA9F0E6E4477FFA1D, + E75D4EEB6E2C59D626FC6F09, + 2E0621F79571D5AD77112111, + 15521C05CD2760EEF83F91DC, + F36D1FF45A7C491B89EDBE34, ); name = zip; sourceTree = ""; }; 4121866205F7007D3429B67D = {isa = PBXGroup; children = ( - 0EA4D254248FFAA7EDCDA035, - 834E433E15F2D104F04C2274, - 8A9C3DDC54CB0251D00B7ABC, - 48313304E64D9E83BBD4F8D7, - 9D4B5C517593D7A6D94726A9, - 425C900FB375ABE5836E41A5, - D474EB06C18F403399441B55, - 7824A1487860EEACBD72D747, - 659F0A87DEC674E05AE4C6FB, - 721EDF1C87A88E7EB2646313, + FB43C4E344055861D5A63604, + 872F1FA324ADB9055103D532, + DD98FA9CAADBBEF432E852A8, + 4FFA066F543F1B5DFDA27D14, + D973448B434ED295D3CC2AE8, + B7123873C42FA393FC7456CA, + CF88E47752E0D3B9B2DF8502, + 71DEAF628C9BCCC1D0FFED2F, + 38F83513A9B6DAFB3D97BD20, + 1C64587F25F513975E6650F2, 138812974340AB2735A99911, - 4E10B2D399D40EB49BD5EEDD, - 87861E3544954A838ADD5CE4, - 34125E9ED71AB20F2BC1E5E9, + 5D904797A45C7C1BF33396BA, + F9FB62C42F728CF3D1966F37, + ADAFACB33D3BC0AED615CA9D, B500EEE02E8AD16C67AC8421, - B1913D2DF6D5AACFF5A083DD, - F20B9AC5264499D618033C48, - 5F944C122A33CC9E872C2670, + 8E506F7F7BF9B0C357C852A6, + BC5335CA23D372E669F49459, 1FE10636EE995317A9D7E90D, ); name = "juce_core"; sourceTree = ""; }; - 1AEC602B04C74CC581E316FE = {isa = PBXGroup; children = ( + DC93DE56A1D9ABAC4C2EE4AE = {isa = PBXGroup; children = ( + 2D83F272ADEE60DD58B77923, + 8651D69ED86CAC13B4966053, + 54FA71D224ADA5BB1D7609F3, + FE503FEEE818268B1A239513, ); name = "app_properties"; sourceTree = ""; }; + EB9AA4C73E4D179AB47AE54C = {isa = PBXGroup; children = ( + 366EF1FAB22EAE0059C61C20, + 95D963E74D3B94C7DF6E1ADF, + F74DA30CDA5ED0BF3BA71AA3, ); name = undomanager; sourceTree = ""; }; + C79ACA92C3F77EAF70732BD7 = {isa = PBXGroup; children = ( 919D39066CE50FABB7FFC9D3, 9E188388D731F86A3462278E, 6A1EBAD397DC24CC101A95C3, 606257D6A21BE0E51DBA934F, FCBC2B2CF8C5EB7E4601E209, 4DD5F05C19788FAEE003A0CF, ); name = values; sourceTree = ""; }; - EB9AA4C73E4D179AB47AE54C = {isa = PBXGroup; children = ( - 366EF1FAB22EAE0059C61C20, - 95D963E74D3B94C7DF6E1ADF, - F74DA30CDA5ED0BF3BA71AA3, ); name = undomanager; sourceTree = ""; }; - 683164DFC1E2789C7BAA2F1C = {isa = PBXGroup; children = ( - 2D83F272ADEE60DD58B77923, - 8651D69ED86CAC13B4966053, - 54FA71D224ADA5BB1D7609F3, - FE503FEEE818268B1A239513, ); name = "app_properties"; sourceTree = ""; }; E984FB130F8330ECDB5A4900 = {isa = PBXGroup; children = ( - 1AEC602B04C74CC581E316FE, + DC93DE56A1D9ABAC4C2EE4AE, EB9AA4C73E4D179AB47AE54C, - 683164DFC1E2789C7BAA2F1C, - D825E43CCC90DC98855B91EE, + C79ACA92C3F77EAF70732BD7, B089FEE15E183235208CFDD1, ); name = "juce_data_structures"; sourceTree = ""; }; - E9CC1B831833F6398E4A2A6D = {isa = PBXGroup; children = ( + 300AF183F3DD992F9E37EE39 = {isa = PBXGroup; children = ( + E359E0675D9A22857A282598, + DE7C6A2BEAA65A22198CA907, + C418AB58AA16DB4C8268AABA, + A3B6F2221A1AE34DC89F61B7, + 811F028338F22E417E63D050, + 0AAE29186ED2AD6A0DACA056, + 407989B30D7A9D62F8614E23, + 05D52C29D5FC0795ABD77566, ); name = broadcasters; sourceTree = ""; }; + 8B847BBFE6E33DA5EA73C5E6 = {isa = PBXGroup; children = ( + 8835E7FFB9417A1832512418, + B6AA2BA5701F9CE29C1BB0CA, + A80EFB26F8289ADBB916857F, + 6FC1F892958558D151C82829, + 53D76D8E982DC666B7927E51, + 653362923506155E5F2F43AE, ); name = interprocess; sourceTree = ""; }; + 95B56DB5CE2A22602EF7CCEB = {isa = PBXGroup; children = ( 74B37EC7C5FC19FCA69ABF09, 8F942F0C076D2892C12F9E66, 1F55762746835FBFBD009901, @@ -1456,28 +1455,7 @@ EDAADE66F7AEA9FCA7E3AAF9, AD6202071634B0443A6A89C1, 141D4274F3335DADD5A3FAF5, ); name = messages; sourceTree = ""; }; - 83F797C17CE8E72F5E2E000A = {isa = PBXGroup; children = ( - 9ADD13C236FD22766AE34F3D, - 44FF97E9AEA7D1DA42B2AEF7, - 78EE4EBBF9AFABEEE141C7F7, - 617FE5BBAEFCD2B7DD028BB1, ); name = timers; sourceTree = ""; }; - 10E5C7814773A24F06F39927 = {isa = PBXGroup; children = ( - E359E0675D9A22857A282598, - DE7C6A2BEAA65A22198CA907, - C418AB58AA16DB4C8268AABA, - A3B6F2221A1AE34DC89F61B7, - 811F028338F22E417E63D050, - 0AAE29186ED2AD6A0DACA056, - 407989B30D7A9D62F8614E23, - 05D52C29D5FC0795ABD77566, ); name = broadcasters; sourceTree = ""; }; - 6BDB33B263D6922487534E1E = {isa = PBXGroup; children = ( - 8835E7FFB9417A1832512418, - B6AA2BA5701F9CE29C1BB0CA, - A80EFB26F8289ADBB916857F, - 6FC1F892958558D151C82829, - 53D76D8E982DC666B7927E51, - 653362923506155E5F2F43AE, ); name = interprocess; sourceTree = ""; }; - BA1F469322765796FE6EC223 = {isa = PBXGroup; children = ( + 191EE581368D65E93C2C2046 = {isa = PBXGroup; children = ( 4680925B001761374318240B, 730EED541EB21207503B9215, F7E8A13B2CA9CD14B8593000, @@ -1486,13 +1464,17 @@ FA63E754F310AC21AD5CB86A, 92016E62BDE99F07EDE18933, 2FB3AA94E588843A3BE38537, ); name = native; sourceTree = ""; }; + DBC83A99C09B714763BF4D0C = {isa = PBXGroup; children = ( + 9ADD13C236FD22766AE34F3D, + 44FF97E9AEA7D1DA42B2AEF7, + 78EE4EBBF9AFABEEE141C7F7, + 617FE5BBAEFCD2B7DD028BB1, ); name = timers; sourceTree = ""; }; 2E552CD64B4AA1D8130BDF79 = {isa = PBXGroup; children = ( - E9CC1B831833F6398E4A2A6D, - 83F797C17CE8E72F5E2E000A, - 10E5C7814773A24F06F39927, - 6BDB33B263D6922487534E1E, - BA1F469322765796FE6EC223, - 5BADD2C2CBC10DCEB83C124B, + 300AF183F3DD992F9E37EE39, + 8B847BBFE6E33DA5EA73C5E6, + 95B56DB5CE2A22602EF7CCEB, + 191EE581368D65E93C2C2046, + DBC83A99C09B714763BF4D0C, 411C432CB74EE05BCBFCD97A, ); name = "juce_events"; sourceTree = ""; }; E96D0892FFD5CC0DF2FF9DC9 = {isa = PBXGroup; children = ( 34A22196BC0E1DDF88D31647, @@ -1512,19 +1494,25 @@ B1AC9A7D91E8207A3E04DCC2, A7B4B96A7D3C1AFC1951C4E3, 93A3C5ECF52768C902C38456, ); name = contexts; sourceTree = ""; }; - C20F7F1482A80612CCE9EF5F = {isa = PBXGroup; children = ( - 24550E30805CE3AB84F77A46, - 1BE9D8227B34614C24E0842C, - F6197F4E59C3A9614B1DF0CC, - 6397580998352AB0A523EC40, - 3E28A94049CBBBF7126DA4F1, - 5DE447B4EF54671CDB3D6312, - 3B73D57902457BA933CBF889, - 0C49557BF55D702CD49B3E34, ); name = images; sourceTree = ""; }; - 50448039818A099DB1F80B91 = {isa = PBXGroup; children = ( - 455428DF4B6C1E56587AC645, - 9299E13B7EF69BD5EAEBDD71, - 7430B5997F301D74E500CD57, ); name = "image_formats"; sourceTree = ""; }; + F94BFE4561818B659BC1C130 = {isa = PBXGroup; children = ( + 7F463F63EE03C82B924DBF32, + D7BF400FACA4E7C46D4720F3, + C07F74F9E8E9F8EC006DDA71, + A66E0E0BD4892EC5C4C494A0, + 8E03AAF11FA54C45D7E914E5, ); name = effects; sourceTree = ""; }; + 437E9457010163F1F25039D9 = {isa = PBXGroup; children = ( + 08DAD9D21DE357B43B7F67C4, + 6E77389AF95D5755785BCB22, + 7ACF47AD08EDD9B5F8D11864, + E11ED6D69A7AF196FC02B4DF, + C98DCED50766D656CE34A929, + EC303381151F18BD42F44A1C, + E9E264D7F0922F938A230189, + 1642EA4FD27E6AA0D3ED294F, + 2BDE07A4990696333E636DF8, + FDCACC3D4F9CC9BF5EEFE56B, + BA192E3FA3DBF81A8D8ADC44, + 4D373130354DE470B987AC9B, ); name = fonts; sourceTree = ""; }; 9BCD5AC5D202216F43813252 = {isa = PBXGroup; children = ( CE7D49BB78F421CCF35597DE, 0EA5903594EF4DADFF6812DB, @@ -1541,30 +1529,20 @@ 0BBF29CDC4F8948EC5EC5EE2, 880FD85A41F02F3748CFCAE3, 41048C2B19AE4E33265A968C, ); name = geometry; sourceTree = ""; }; - DE08523B5E4A4E15EE0EB32E = {isa = PBXGroup; children = ( - 0657DB56FB23A6BE67208B3A, - 422C7D87DB73615294A716F9, - C5D85EA3957DB426A64D9BA7, ); name = placement; sourceTree = ""; }; - 9A53A1F1CB474DD0D6851C8E = {isa = PBXGroup; children = ( - 08DAD9D21DE357B43B7F67C4, - 6E77389AF95D5755785BCB22, - 7ACF47AD08EDD9B5F8D11864, - E11ED6D69A7AF196FC02B4DF, - C98DCED50766D656CE34A929, - EC303381151F18BD42F44A1C, - E9E264D7F0922F938A230189, - 1642EA4FD27E6AA0D3ED294F, - 2BDE07A4990696333E636DF8, - FDCACC3D4F9CC9BF5EEFE56B, - BA192E3FA3DBF81A8D8ADC44, - 4D373130354DE470B987AC9B, ); name = fonts; sourceTree = ""; }; - EE526CE84859006ED02806C7 = {isa = PBXGroup; children = ( - 7F463F63EE03C82B924DBF32, - D7BF400FACA4E7C46D4720F3, - C07F74F9E8E9F8EC006DDA71, - A66E0E0BD4892EC5C4C494A0, - 8E03AAF11FA54C45D7E914E5, ); name = effects; sourceTree = ""; }; - 8D57C82D0E05A2766CDF3109 = {isa = PBXGroup; children = ( + E7CD527D0D48435EBE7FEDB4 = {isa = PBXGroup; children = ( + 455428DF4B6C1E56587AC645, + 9299E13B7EF69BD5EAEBDD71, + 7430B5997F301D74E500CD57, ); name = "image_formats"; sourceTree = ""; }; + 42BCCE3BF6D292AA00CB7804 = {isa = PBXGroup; children = ( + 24550E30805CE3AB84F77A46, + 1BE9D8227B34614C24E0842C, + F6197F4E59C3A9614B1DF0CC, + 6397580998352AB0A523EC40, + 3E28A94049CBBBF7126DA4F1, + 5DE447B4EF54671CDB3D6312, + 3B73D57902457BA933CBF889, + 0C49557BF55D702CD49B3E34, ); name = images; sourceTree = ""; }; + 351559002A2DDE463FDCE23A = {isa = PBXGroup; children = ( 38FA44918179696A2DB14FA0, A89C87C35469029FA34797EB, 99A5AD422178B3A018FDEB83, @@ -1578,19 +1556,54 @@ E55D296396D8FEC9CDD0E369, 3EAF92239F942E0CBE392918, 065FD18DF86C99CF5F654EB0, ); name = native; sourceTree = ""; }; + 31DA5ECC19685D9D99EB6B2E = {isa = PBXGroup; children = ( + 0657DB56FB23A6BE67208B3A, + 422C7D87DB73615294A716F9, + C5D85EA3957DB426A64D9BA7, ); name = placement; sourceTree = ""; }; 31116D882BE2A744EE789329 = {isa = PBXGroup; children = ( E96D0892FFD5CC0DF2FF9DC9, 158D370008F577E75DB2591B, - C20F7F1482A80612CCE9EF5F, - 50448039818A099DB1F80B91, + F94BFE4561818B659BC1C130, + 437E9457010163F1F25039D9, 9BCD5AC5D202216F43813252, - DE08523B5E4A4E15EE0EB32E, - 9A53A1F1CB474DD0D6851C8E, - EE526CE84859006ED02806C7, - 8D57C82D0E05A2766CDF3109, - AB850E316157500DF685B1D2, + E7CD527D0D48435EBE7FEDB4, + 42BCCE3BF6D292AA00CB7804, + 351559002A2DDE463FDCE23A, + 31DA5ECC19685D9D99EB6B2E, 2C4FDC5C1CA9535CCEF100A1, ); name = "juce_graphics"; sourceTree = ""; }; - 11E86639229D0958B058CA25 = {isa = PBXGroup; children = ( + 0509F53A9F7201A9CF4FFC7F = {isa = PBXGroup; children = ( + 42CF992F9CCD4C05F46B52D5, + DCE1EC089E977139F6C190D6, ); name = application; sourceTree = ""; }; + 85896ECD97276C7CC3E07BE7 = {isa = PBXGroup; children = ( + F4A4AEB7D999BB0E3CC8268F, + 071B5F7BDAEA5AA4254259B3, + C5FC3F71B878B3F1245ECC15, + FA820970967B9CCCFAE3937F, + 9A4FCAF90402686244787CE7, + A5E71966B19A75002EBBF129, + E05D127A813EEEB7D3EA3FD2, + 815625B94E5D2820523EE42E, + 7BA82B05FC2A8AF2FA9B2D88, + E73D11EE1A91B746E05B594A, + E516F38B903377B691FBE767, + 50EFDAD1CF4D170B9C77FA6F, + 638A1C1044639BDBC6BBDEA6, + FC6B217E600350A8449C93E4, + 318AD324AD2776F94479F312, + 00421451ABA7FFF804082750, + 497468A8CC4D864512C2044E, + 9DE5E783CE5089EFF9212374, ); name = buttons; sourceTree = ""; }; + 9EEE5D6BE100064F37F428D6 = {isa = PBXGroup; children = ( + B120BADD5BB2F8E2A3998958, + 255E20240534172D3BE24CFF, + F0415313AE3DCA21BB82B875, + D280A954231A4A33ACA7EA40, + B9D904CBFD681C16050DD003, + E5E2F72493898D67D148AC4C, + 0B514D0B98769247D9DB3E6B, + 9857EFB48E070409825FDA6E, + BF59C1448C078BB05C98D035, ); name = commands; sourceTree = ""; }; + E004021BFFEBF3E61E1D8E25 = {isa = PBXGroup; children = ( E2899DB06FA2ACD7907E218A, 3803DF879F943052A088A2ED, CCD4E304060F628CCC39705E, @@ -1600,28 +1613,46 @@ 85D62EA4246A12A275DEECFF, 4DBF452C79EE80E24C239E08, 1866A678D99FFFE45214D7B9, ); name = components; sourceTree = ""; }; - 847F8A46957F4A5B58AFF8B0 = {isa = PBXGroup; children = ( - F8A93A5E9C0145FDBF0A7609, - 89849B7AB6E5D57C0CE397E4, - FE6FD5EB93C699F9439707F1, - 670F8235428374C1F56CE450, - CDDBCDEAE729889B8B4111E3, - 15C28011601DBC0F34357232, - 3C1E30CA042DBE257F05913A, - 840091BD6C22FB22A4E8192C, - 15B46852B7937B0DA874D4C9, - 391ACB947CB2D4F529FDABE5, - CD405F081F7096FAA21668DF, - 000E85B9B266671D4BA6A03D, - 1B8ED11F96E026525CFA6D6B, - 845A9684EBA3F3DA32FF3F1E, - B3C3B55E5E9A22A5D36B8F74, - 0404DF62AC58E6BA39959478, - BA890C3213ED550A0141AC92, - 2428C5301C5544A5173310E5, - B97AB3A5544FD10545BD1594, - F374D2F9019374F058C4C1C6, ); name = mouse; sourceTree = ""; }; - F0764CC37EB2213D2AFF0600 = {isa = PBXGroup; children = ( + BFA87039D0E925F8CCD08AB4 = {isa = PBXGroup; children = ( + B219608263929D89DF7919AC, + 3E2C736727628CD760922260, + F64044802A19E57515621082, + ECB25BB7E3AE61B60747E096, + 074E5A380EA7F8C8EF88F13A, + 116F7F51ABF57B6B9CB04F09, + 18D8C24E922819A4677998FD, + B9E5B501BF83EF3B9EB77097, + B0696DD3E84E7CE790B9B700, + B26875E4F4F335C57CFB0068, + 685DE9D3F2D761B6D72034EB, + 12506DCD567B7DBD7992073A, + 27C406540653447AC2D3661B, + DE7C78699796CD76524D63DC, + 0B710A3B42FB548608CEB37F, ); name = drawables; sourceTree = ""; }; + 64AAF800DF562786435C4712 = {isa = PBXGroup; children = ( + 8BE1C7BAA2883D1C9DDFE99C, + 93C4F70FF4F4EB41AA6F6C88, + 6360570DABFD84135EDFDAE2, + 8DCE74B86647D84771CB024C, + FAA6A2799E263DF240FB637E, + B51D8078F3E56D6290BA34C6, + D5245684E6E92FA88D673362, + D6179C5FEB964DE02DFA1A4C, + 1FA375B96726D1A59A3317F0, + E8D54B01E3C3AB80310631D9, + E748AF5DD3ECF3F3B38BE624, + 9A57575E631655CCA06424FB, + 4F0D3F89EBD39C37BEBC9340, + 065B650CEAFA60C45A04F371, + 89F8EC0A779876BC128CD0EB, + 2DD3A3091937DC3C573C66E4, + 37CD5176510F1D00AA249F1D, + 72FF837400C45FE952F21A02, + 3209873602E32EEB08B9C2A3, + 68486F8758F2EEF9993D7857, + B47C818242E6977693162FF2, + 5208CAFD939FF7D78DA8CB44, ); name = filebrowser; sourceTree = ""; }; + CC3B704C44DE5F005EC6D7DD = {isa = PBXGroup; children = ( ED820EE7FC7DD09FB7410168, 8870F99E05F806275E16F368, EE5C63DB91FE13D85C6BA24E, @@ -1635,62 +1666,7 @@ EE70A7C10CED040476D95688, DE58DB49BBBC219F6604099D, C0DFAE9FDA8F7BCC3119F627, ); name = keyboard; sourceTree = ""; }; - A9C15F0410C3E77E3DFD3C33 = {isa = PBXGroup; children = ( - 04295555907497FD556E015D, - 6D2E75D789D8DBE96D150726, - F94E4682FCCB5A3EB53EC639, - 959434E052E50D47675F1811, - 5CF7CD3EEF448305C0379EF9, - FDC44C62DF0E5884B36E57DB, - 3BBAB68642D04BE833EE8D09, - C33AC239363961A26AFA62AE, - 1F30953C77B8AC011AFC60E4, - 4C48373D60E3301F266AF2E6, - 19334C2ACF4BDF3AF33A4E81, - 131206AE581D9D95D1260C5D, - 8B453908A456A72326B755B4, - DAD40A9B9883D61C3C5215CB, - 68BA9B4F25D21E387AFC5508, - 956F09347CA5B17BB6D4A506, - 8A415D7B252A423FEB14D2AC, - 9CF5AF1E653DE38FEA6F35EE, - 0D603AD75714B7CC474A45D5, - 03D45C885206C2DFDC726855, - F64424C92797A275E994E4E0, - 02AD698829E1194BF26E249C, - 3FBDC06224F727D17DFCBAD6, - 64663FA1B06165CB8FBB3517, - 191D7A6F4B53B4F73D84FBD4, - 17EC7096935B5A928FC2AB9C, - FF5E0EA0E0538FAEF075FED0, ); name = widgets; sourceTree = ""; }; - A39CBD4937665C3D13879DFA = {isa = PBXGroup; children = ( - 390A8762C627F40E99D7118C, - 898B0CD6E7B9D1609952EB1F, - 78B360C6C7E04877B34FC0FF, - E22B72FE3AE2CF2538A92493, - 6851538A94D2AC48F4B98DF0, - 7451A2B6892F6EBEC1BDCBFE, - 52069187E92126A332F75BA8, - FAC181B11D4931548FE3FBAF, - 8CC335AE8A93FEB0D9C0A7A9, - FDB6C527CF039C10DE265C6F, - AA33C344977218A340CE19CB, - 7941F601CD5179239D8913A4, - AE2B4BFF464427660D68C4E4, - 64C3164FC697A6FCFE6B3E27, - E637CFECE4E79BC39A715D2A, - 70DD9F9787C44382F78AFE49, - D3623005A3521C24ED3EF9EF, - 9FC19D4909D07B58C9B9775C, - 763DCBAE3CF3469D3C8A7A98, ); name = windows; sourceTree = ""; }; - A15FBE9460BC473235350C6A = {isa = PBXGroup; children = ( - CBEA531828841A6CAA17D24D, - 52932CDF22B1A84C7932A97B, - F179A306C7797D36ADDD0113, - 58FC211C847065896BF74E4D, - 8581D64579233BEA8A83B310, - 5C71F7F3FF08BC9F21EC77EE, ); name = menus; sourceTree = ""; }; - DE5BA28604E8C87ECBBE7AE1 = {isa = PBXGroup; children = ( + 5BD8EB0B8E940C5285B928DA = {isa = PBXGroup; children = ( BA81FD80EC93028C25149C4A, B36C4D97408B391308BE3AE8, 4532BCD402C284ECFC51E0BB, @@ -1727,72 +1703,7 @@ 1245BD61C17D6F2965A11E58, 35C65A78610026BAA448D956, F5376A1DA30DF0D8447CBF61, ); name = layout; sourceTree = ""; }; - 15A73A4AF08D3CAA2031C362 = {isa = PBXGroup; children = ( - F4A4AEB7D999BB0E3CC8268F, - 071B5F7BDAEA5AA4254259B3, - C5FC3F71B878B3F1245ECC15, - FA820970967B9CCCFAE3937F, - 9A4FCAF90402686244787CE7, - A5E71966B19A75002EBBF129, - E05D127A813EEEB7D3EA3FD2, - 815625B94E5D2820523EE42E, - 7BA82B05FC2A8AF2FA9B2D88, - E73D11EE1A91B746E05B594A, - E516F38B903377B691FBE767, - 50EFDAD1CF4D170B9C77FA6F, - 638A1C1044639BDBC6BBDEA6, - FC6B217E600350A8449C93E4, - 318AD324AD2776F94479F312, - 00421451ABA7FFF804082750, - 497468A8CC4D864512C2044E, - 9DE5E783CE5089EFF9212374, ); name = buttons; sourceTree = ""; }; - 7C71A8758792F280F655579E = {isa = PBXGroup; children = ( - CA67ED34495C07BC5AB3BB54, - 1B833D7158AFD9908157D66E, - 4322E018259102A6F9D1F63A, - F06AA97373B477217CC8B17E, - DE8FF2462362152A54097844, - 19FC0A766DB79A1E0A0554A7, - 7D3BFBDD7850948E412B8902, - A45593371E92730F50225901, - 0DA09911CF116E73799CA0B3, - 3C42E75C470788A9FDDA3604, - D451535498DC3AD41A6B1C52, - A2370D36C840FF9D28E15317, - 32E648ABD22AA5F6A0D46F4E, - D04FD8A890D7576BE0797857, ); name = positioning; sourceTree = ""; }; - B0897734DB565F45C8A9EFBC = {isa = PBXGroup; children = ( - B219608263929D89DF7919AC, - 3E2C736727628CD760922260, - F64044802A19E57515621082, - ECB25BB7E3AE61B60747E096, - 074E5A380EA7F8C8EF88F13A, - 116F7F51ABF57B6B9CB04F09, - 18D8C24E922819A4677998FD, - B9E5B501BF83EF3B9EB77097, - B0696DD3E84E7CE790B9B700, - B26875E4F4F335C57CFB0068, - 685DE9D3F2D761B6D72034EB, - 12506DCD567B7DBD7992073A, - 27C406540653447AC2D3661B, - DE7C78699796CD76524D63DC, - 0B710A3B42FB548608CEB37F, ); name = drawables; sourceTree = ""; }; - DE18B5F970FACD482F935651 = {isa = PBXGroup; children = ( - 464373F538C13408F13947D7, - 4D64649C1A00FD2CB2A0E0B1, - D3BBE4AD39020A9B644F1C4C, - 13A92B80C221EF73AFCD9E3C, - DDD50D9B532BC1EDE871B388, - 01848E51D0F9E4BAB83D2E67, - E638ABADF69A0A68FFB9B105, - EBCE186D7F2135C433EFEDD1, - BB48E48339D63F95EF3C54E3, - D4E2028638FF1DFC04CB78A9, - 3A79441D4CAD1A2176A58961, - 5895CBDE3C1717110102E430, - 9491FFC209914E9C2B21B57B, - 410CF1DF89133411F1434CAE, ); name = properties; sourceTree = ""; }; - F18C12EEEBC95901595D4B2B = {isa = PBXGroup; children = ( + F1770ADD6CD6492BE50BBE53 = {isa = PBXGroup; children = ( 0B5769CA411D90BC0B0DAE4B, 3F242FA70F83D66325F196CC, F8FD0289432D95DD071D3A3E, @@ -1801,48 +1712,40 @@ 96658A7F21EDB5D93AF050F2, 5F6A369358D1C88AC2CB22C7, 435D7DEACB2181B6E5FAE51D, ); name = lookandfeel; sourceTree = ""; }; - CEF62D1A7C52A4F10E272818 = {isa = PBXGroup; children = ( - 8BE1C7BAA2883D1C9DDFE99C, - 93C4F70FF4F4EB41AA6F6C88, - 6360570DABFD84135EDFDAE2, - 8DCE74B86647D84771CB024C, - FAA6A2799E263DF240FB637E, - B51D8078F3E56D6290BA34C6, - D5245684E6E92FA88D673362, - D6179C5FEB964DE02DFA1A4C, - 1FA375B96726D1A59A3317F0, - E8D54B01E3C3AB80310631D9, - E748AF5DD3ECF3F3B38BE624, - 9A57575E631655CCA06424FB, - 4F0D3F89EBD39C37BEBC9340, - 065B650CEAFA60C45A04F371, - 89F8EC0A779876BC128CD0EB, - 2DD3A3091937DC3C573C66E4, - 37CD5176510F1D00AA249F1D, - 72FF837400C45FE952F21A02, - 3209873602E32EEB08B9C2A3, - 68486F8758F2EEF9993D7857, - B47C818242E6977693162FF2, - 5208CAFD939FF7D78DA8CB44, ); name = filebrowser; sourceTree = ""; }; - B0C3317FCF729361A7B953F2 = {isa = PBXGroup; children = ( - B120BADD5BB2F8E2A3998958, - 255E20240534172D3BE24CFF, - F0415313AE3DCA21BB82B875, - D280A954231A4A33ACA7EA40, - B9D904CBFD681C16050DD003, - E5E2F72493898D67D148AC4C, - 0B514D0B98769247D9DB3E6B, - 9857EFB48E070409825FDA6E, - BF59C1448C078BB05C98D035, ); name = commands; sourceTree = ""; }; - C938554284563D3444F9D656 = {isa = PBXGroup; children = ( + DEA6A84148F9CA1F6B5A5B51 = {isa = PBXGroup; children = ( + CBEA531828841A6CAA17D24D, + 52932CDF22B1A84C7932A97B, + F179A306C7797D36ADDD0113, + 58FC211C847065896BF74E4D, + 8581D64579233BEA8A83B310, + 5C71F7F3FF08BC9F21EC77EE, ); name = menus; sourceTree = ""; }; + 5AE811C409262AE00B58A932 = {isa = PBXGroup; children = ( 1D0B71248C75667B0F722396, CBB108D4DA755885A25E8AAD, FDD893934A16A8526055D342, 5E08B451958D053503C7D4B6, ); name = misc; sourceTree = ""; }; - FEABFE7AEABC73B9A1FCA240 = {isa = PBXGroup; children = ( - 42CF992F9CCD4C05F46B52D5, - DCE1EC089E977139F6C190D6, ); name = application; sourceTree = ""; }; - 0F9F0FABB8F722455D2A63BC = {isa = PBXGroup; children = ( + 0339D856A3D1021A94C1F4EE = {isa = PBXGroup; children = ( + F8A93A5E9C0145FDBF0A7609, + 89849B7AB6E5D57C0CE397E4, + FE6FD5EB93C699F9439707F1, + 670F8235428374C1F56CE450, + CDDBCDEAE729889B8B4111E3, + 15C28011601DBC0F34357232, + 3C1E30CA042DBE257F05913A, + 840091BD6C22FB22A4E8192C, + 15B46852B7937B0DA874D4C9, + 391ACB947CB2D4F529FDABE5, + CD405F081F7096FAA21668DF, + 000E85B9B266671D4BA6A03D, + 1B8ED11F96E026525CFA6D6B, + 845A9684EBA3F3DA32FF3F1E, + B3C3B55E5E9A22A5D36B8F74, + 0404DF62AC58E6BA39959478, + BA890C3213ED550A0141AC92, + 2428C5301C5544A5173310E5, + B97AB3A5544FD10545BD1594, + F374D2F9019374F058C4C1C6, ); name = mouse; sourceTree = ""; }; + 04EDE7FBEBDC60953EECFE92 = {isa = PBXGroup; children = ( 042CD950A801DB1AF7C72360, 047BF8614C28582A36F829E7, 9C66FAB8BEB89C9F359235AF, @@ -1859,25 +1762,102 @@ E49589BBCACCFA22EDBB89FD, C713F8502BD622BD3E2B905C, 4BB8A999BA53A8863FF0FB53, ); name = native; sourceTree = ""; }; + 93864A29DD5279230242F6EC = {isa = PBXGroup; children = ( + CA67ED34495C07BC5AB3BB54, + 1B833D7158AFD9908157D66E, + 4322E018259102A6F9D1F63A, + F06AA97373B477217CC8B17E, + DE8FF2462362152A54097844, + 19FC0A766DB79A1E0A0554A7, + 7D3BFBDD7850948E412B8902, + A45593371E92730F50225901, + 0DA09911CF116E73799CA0B3, + 3C42E75C470788A9FDDA3604, + D451535498DC3AD41A6B1C52, + A2370D36C840FF9D28E15317, + 32E648ABD22AA5F6A0D46F4E, + D04FD8A890D7576BE0797857, ); name = positioning; sourceTree = ""; }; + E9F8BE62F67CC18399E898CF = {isa = PBXGroup; children = ( + 464373F538C13408F13947D7, + 4D64649C1A00FD2CB2A0E0B1, + D3BBE4AD39020A9B644F1C4C, + 13A92B80C221EF73AFCD9E3C, + DDD50D9B532BC1EDE871B388, + 01848E51D0F9E4BAB83D2E67, + E638ABADF69A0A68FFB9B105, + EBCE186D7F2135C433EFEDD1, + BB48E48339D63F95EF3C54E3, + D4E2028638FF1DFC04CB78A9, + 3A79441D4CAD1A2176A58961, + 5895CBDE3C1717110102E430, + 9491FFC209914E9C2B21B57B, + 410CF1DF89133411F1434CAE, ); name = properties; sourceTree = ""; }; + 69B5B5BA763FF344A1790587 = {isa = PBXGroup; children = ( + 04295555907497FD556E015D, + 6D2E75D789D8DBE96D150726, + F94E4682FCCB5A3EB53EC639, + 959434E052E50D47675F1811, + 5CF7CD3EEF448305C0379EF9, + FDC44C62DF0E5884B36E57DB, + 3BBAB68642D04BE833EE8D09, + C33AC239363961A26AFA62AE, + 1F30953C77B8AC011AFC60E4, + 4C48373D60E3301F266AF2E6, + 19334C2ACF4BDF3AF33A4E81, + 131206AE581D9D95D1260C5D, + 8B453908A456A72326B755B4, + DAD40A9B9883D61C3C5215CB, + 68BA9B4F25D21E387AFC5508, + 956F09347CA5B17BB6D4A506, + 8A415D7B252A423FEB14D2AC, + 9CF5AF1E653DE38FEA6F35EE, + 0D603AD75714B7CC474A45D5, + 03D45C885206C2DFDC726855, + F64424C92797A275E994E4E0, + 02AD698829E1194BF26E249C, + 3FBDC06224F727D17DFCBAD6, + 64663FA1B06165CB8FBB3517, + 191D7A6F4B53B4F73D84FBD4, + 17EC7096935B5A928FC2AB9C, + FF5E0EA0E0538FAEF075FED0, ); name = widgets; sourceTree = ""; }; + 57DF5404409A6FDDC274F566 = {isa = PBXGroup; children = ( + 390A8762C627F40E99D7118C, + 898B0CD6E7B9D1609952EB1F, + 78B360C6C7E04877B34FC0FF, + E22B72FE3AE2CF2538A92493, + 6851538A94D2AC48F4B98DF0, + 7451A2B6892F6EBEC1BDCBFE, + 52069187E92126A332F75BA8, + FAC181B11D4931548FE3FBAF, + 8CC335AE8A93FEB0D9C0A7A9, + FDB6C527CF039C10DE265C6F, + AA33C344977218A340CE19CB, + 7941F601CD5179239D8913A4, + AE2B4BFF464427660D68C4E4, + 64C3164FC697A6FCFE6B3E27, + E637CFECE4E79BC39A715D2A, + 70DD9F9787C44382F78AFE49, + D3623005A3521C24ED3EF9EF, + 9FC19D4909D07B58C9B9775C, + 763DCBAE3CF3469D3C8A7A98, ); name = windows; sourceTree = ""; }; C7A90372463A95C8CFB01405 = {isa = PBXGroup; children = ( - 11E86639229D0958B058CA25, - 847F8A46957F4A5B58AFF8B0, - F0764CC37EB2213D2AFF0600, - A9C15F0410C3E77E3DFD3C33, - A39CBD4937665C3D13879DFA, - A15FBE9460BC473235350C6A, - DE5BA28604E8C87ECBBE7AE1, - 15A73A4AF08D3CAA2031C362, - 7C71A8758792F280F655579E, - B0897734DB565F45C8A9EFBC, - DE18B5F970FACD482F935651, - F18C12EEEBC95901595D4B2B, - CEF62D1A7C52A4F10E272818, - B0C3317FCF729361A7B953F2, - C938554284563D3444F9D656, - FEABFE7AEABC73B9A1FCA240, - 0F9F0FABB8F722455D2A63BC, - 3D08E5F861CE4E8A4C77CC94, + 0509F53A9F7201A9CF4FFC7F, + 85896ECD97276C7CC3E07BE7, + 9EEE5D6BE100064F37F428D6, + E004021BFFEBF3E61E1D8E25, + BFA87039D0E925F8CCD08AB4, + 64AAF800DF562786435C4712, + CC3B704C44DE5F005EC6D7DD, + 5BD8EB0B8E940C5285B928DA, + F1770ADD6CD6492BE50BBE53, + DEA6A84148F9CA1F6B5A5B51, + 5AE811C409262AE00B58A932, + 0339D856A3D1021A94C1F4EE, + 04EDE7FBEBDC60953EECFE92, + 93864A29DD5279230242F6EC, + E9F8BE62F67CC18399E898CF, + 69B5B5BA763FF344A1790587, + 57DF5404409A6FDDC274F566, EF43B3C3C2C1B5DE176BDA1F, ); name = "juce_gui_basics"; sourceTree = ""; }; 7D128303F1820D6A22086522 = {isa = PBXGroup; children = ( 372F90511F33764DA46D0219, @@ -1939,7 +1919,6 @@ 6A4E34A440BC146D4AE5445B, 7CA13A4B0E456AC6FB83D5FF, 7E5FB3F0C6D8E38885D18B42, - 761D1DCEA3574C0C306505D2, 8B319833FDC197EEF5673B1A, ); name = "juce_gui_extra"; sourceTree = ""; }; DC1786BC30994F0B627A2F15 = {isa = PBXGroup; children = ( 72EEB46C16381A28CD77F6CF, @@ -1955,20 +1934,20 @@ 2F352D90D13184A5042F582B, ); name = "Juce Modules"; sourceTree = ""; }; 3ACE49468AAFAFCC42515995 = {isa = PBXGroup; children = ( 01D0C7A0B34FFF48BADA212F, - A761485A8D6D7DAA5F331CEF, - F9F345826E9AB0968CC27C06, - E2B2428CBB8BF06CD4A23DF7, - F1F815174417773FAA117E9C, - 34777773F3AA232A567F897D, - F7ADFA1034518CF57CDD88C1, - 0B8752EB2FFF2981159478D7, - 33244D8C8D28426A4E6A9336, - A5F937B46BE758E0CE8153C5, - 25169A980919B2B03FBDCFB0, - FDE77778E47EF43B44987E6C, + 03A9698D25B1EFB3D981377B, + 59BAD2AB51CEECCD39CDCD90, + D03B70CA4A963D2B366C9DE6, + 09D113F1ACE38E7FF87EC471, + 426025455AB65622E056E08D, + 914E378F49533A2BB820B0E4, + 6CAFA238B5CCA9BC23DEE729, + 5A825A3CDC26CD79F7C6890D, + A2F5DC072FF4CB3FDEF0C96E, + E711C9ED44AC78BC687F2DE8, + D1E3E5AD73DF3F85868BBA58, 365EC6C15E12BCBDD0657D0F, ); name = "Juce Library Code"; sourceTree = ""; }; E8C3A2F315B032E896A5C613 = {isa = PBXGroup; children = ( - 1AA1E7294026D1683D2BABB7, + 2B3565E95DD1CBC88D61C655, 492FD600FC422E5F17C99DCE, ); name = Resources; sourceTree = ""; }; 5EB92310230AD637515B4497 = {isa = PBXGroup; children = ( CFD295ABA919F0CB29D632B7, @@ -1982,7 +1961,7 @@ 2C9137215F433FC781CD4E4A, 712579DB83B0E0A46D9CBE4C, ); name = Frameworks; sourceTree = ""; }; 523A7ACD38232D3FDF284960 = {isa = PBXGroup; children = ( - 25DCC900CF70D433427E37A8, ); name = Products; sourceTree = ""; }; + 3A8608CBA979E2BD17B50D0E, ); name = Products; sourceTree = ""; }; B4D11720461A13D5D9F3E047 = {isa = PBXGroup; children = ( BBDA2DD68415C10F0E4A2E7F, DC1786BC30994F0B627A2F15, @@ -1990,7 +1969,7 @@ E8C3A2F315B032E896A5C613, 5EB92310230AD637515B4497, 523A7ACD38232D3FDF284960, ); name = Source; sourceTree = ""; }; - C5327B6EC819502155359746 = {isa = XCBuildConfiguration; buildSettings = { + 7D76E0A2FCFE69F148B1F16C = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; @@ -2006,12 +1985,12 @@ "JUCE_APP_VERSION_HEX=0x10000", ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.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 = { + FDEFB240EE2325D0CAEF2186 = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; @@ -2028,7 +2007,7 @@ GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.plist; INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; PRODUCT_BUNDLE_IDENTIFIER = com.timurdoumler.PluckedStringsDemo; @@ -2065,28 +2044,29 @@ PRODUCT_NAME = "PluckedStringsDemo"; WARNING_CFLAGS = -Wreorder; ZERO_LINK = NO; }; name = Release; }; + 7D8701595751084F7C1095F9 = {isa = PBXTargetDependency; target = B15B6C659E27D8982A94F805; }; DE12D5F044F75EB7B3CF17BB = {isa = XCConfigurationList; buildConfigurations = ( 501C3AFCB1DADC94A49F25E8, D7116658BB17E924C59B4076, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - BE2E37E80E56F15ECFD7DCBE = {isa = XCConfigurationList; buildConfigurations = ( - C5327B6EC819502155359746, - DA71A54BE35C4C5D852DF72C, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - D2C57CFA18B743D51BE9E984 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 849791D67A098129A7068BA8 = {isa = XCConfigurationList; buildConfigurations = ( + 7D76E0A2FCFE69F148B1F16C, + FDEFB240EE2325D0CAEF2186, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 28277E0496F9A366F1E8A121 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( 99E3800C76148E211A7024E4, ); runOnlyForDeploymentPostprocessing = 0; }; - 49F1CDEC216FA778BFD6B358 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 5EDB4F61A6B9E9073901673E = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 18BC145C7F84CCACB65D6F65, - CA4FDCCF071E8C03F61D2348, - 3843860D613A5C4164240E90, - 475C96ED4258C7679F193370, - EB65FC88994BEBF63F15690A, - 4C8299AD20BF9B14083A21E8, - A11CCBB2800D325624895C63, - 8DF767F55884E286B131874F, - C13351FC6EBEDD2D16AB4176, - 53EC58F02DD3FE423579949F, - FAF98233C67FC7CB62EFD93F, - 9A557CF181F091F150964DD6, ); runOnlyForDeploymentPostprocessing = 0; }; - 3B2B242DC0421928FFC17667 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + F75B086CB4953D8861154A9A, + 2B4BC1BE4BB8DC2A2CC279D7, + A20FC701E43B944207BA9D6A, + E5C0D675D4F6FF5A01525B6D, + FDC2E6E1733C36BC567F6071, + 37A1506253E9F6A55C7F4CE9, + 875B14967A0C684FE3E665CB, + 5FE935AFB413A74812CE9DF6, + 8E2DE1EB5F19391B0B7CDE15, + 89F82E826F53A1BAA85E0396, + 6BE9996737ACECA74F92946D, ); runOnlyForDeploymentPostprocessing = 0; }; + 922CC2B83A0B55C36D188E46 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( 5DB87BE4DACA6D68C6CC1128, 420FD2541AEEECE57AD8C15B, 4D4DB9D1AFC7D68D3BFF7E18, @@ -2097,11 +2077,11 @@ DDE68FD34D6D7DCA0BC7FC5A, 024E1CE9F8007B98829718C9, E56F4B67FCBA79C85AD18F89, ); runOnlyForDeploymentPostprocessing = 0; }; - F99C38CC293EEBAE5EDF7C47 = {isa = PBXNativeTarget; buildConfigurationList = BE2E37E80E56F15ECFD7DCBE; buildPhases = ( - D2C57CFA18B743D51BE9E984, - 49F1CDEC216FA778BFD6B358, - 3B2B242DC0421928FFC17667, ); buildRules = ( ); dependencies = ( ); name = PluckedStringsDemo; productName = PluckedStringsDemo; productReference = 25DCC900CF70D433427E37A8; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; - 209D68C0E5F80B54B99D6435 = {isa = PBXProject; buildConfigurationList = DE12D5F044F75EB7B3CF17BB; attributes = { LastUpgradeCheck = 0440; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = B4D11720461A13D5D9F3E047; projectDirPath = ""; projectRoot = ""; targets = ( F99C38CC293EEBAE5EDF7C47 ); }; + B15B6C659E27D8982A94F805 = {isa = PBXNativeTarget; buildConfigurationList = 849791D67A098129A7068BA8; buildPhases = ( + 28277E0496F9A366F1E8A121, + 5EDB4F61A6B9E9073901673E, + 922CC2B83A0B55C36D188E46, ); buildRules = ( ); dependencies = ( ); name = "PluckedStringsDemo (App)"; productName = PluckedStringsDemo; productReference = 3A8608CBA979E2BD17B50D0E; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; + 209D68C0E5F80B54B99D6435 = {isa = PBXProject; buildConfigurationList = DE12D5F044F75EB7B3CF17BB; attributes = { LastUpgradeCheck = 0440; TargetAttributes = { B15B6C659E27D8982A94F805 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = B4D11720461A13D5D9F3E047; projectDirPath = ""; projectRoot = ""; targets = (B15B6C659E27D8982A94F805); }; }; rootObject = 209D68C0E5F80B54B99D6435; } diff --git a/examples/PluckedStringsDemo/Builds/VisualStudio2013/PluckedStringsDemo.vcxproj b/examples/PluckedStringsDemo/Builds/VisualStudio2013/PluckedStringsDemo.vcxproj index bebcadd674..fb3fa4d4f8 100644 --- a/examples/PluckedStringsDemo/Builds/VisualStudio2013/PluckedStringsDemo.vcxproj +++ b/examples/PluckedStringsDemo/Builds/VisualStudio2013/PluckedStringsDemo.vcxproj @@ -217,6 +217,9 @@ true + + true + true @@ -232,15 +235,6 @@ true - - true - - - true - - - true - true @@ -289,25 +283,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -337,9 +316,45 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + true + + true + + + true + + + true + + + true + + + true + true @@ -358,21 +373,6 @@ true - - true - - - true - - - true - - - true - - - true - true @@ -406,9 +406,6 @@ true - - true - true @@ -418,43 +415,7 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -472,33 +433,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -523,40 +457,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -565,31 +469,16 @@ true - + true - + true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -655,16 +544,115 @@ true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -673,22 +661,16 @@ true - + true - + true - + true - - true - - - true - - + true @@ -709,6 +691,18 @@ true + + true + + + true + + + true + + + true + true @@ -718,6 +712,12 @@ true + + true + + + true + true @@ -739,43 +739,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -796,10 +763,40 @@ true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -826,6 +823,51 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -838,6 +880,153 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -859,19 +1048,70 @@ true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -940,246 +1180,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -1246,17 +1246,17 @@ true - - - - - - - - - - - + + + + + + + + + + + @@ -1298,6 +1298,8 @@ + + @@ -1305,20 +1307,10 @@ + - - - - - - - - - - - @@ -1328,8 +1320,25 @@ + + + + + + + + + + + + + + + + + @@ -1340,15 +1349,6 @@ - - - - - - - - - @@ -1369,21 +1369,35 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1404,22 +1418,49 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1439,62 +1480,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - + + + + - - - - + + + + + + + + @@ -1504,19 +1512,11 @@ - - - - - - - - - - + + @@ -1527,10 +1527,15 @@ - - - - + + + + + + + + + @@ -1541,26 +1546,91 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1574,14 +1644,21 @@ - - - - - - - - + + + + + + + + + + + + + + + @@ -1606,83 +1683,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1711,19 +1711,6 @@ - - - - - - - - - - - - - diff --git a/examples/PluckedStringsDemo/Builds/VisualStudio2013/PluckedStringsDemo.vcxproj.filters b/examples/PluckedStringsDemo/Builds/VisualStudio2013/PluckedStringsDemo.vcxproj.filters index 27e9441a86..618826b92b 100644 --- a/examples/PluckedStringsDemo/Builds/VisualStudio2013/PluckedStringsDemo.vcxproj.filters +++ b/examples/PluckedStringsDemo/Builds/VisualStudio2013/PluckedStringsDemo.vcxproj.filters @@ -35,45 +35,45 @@ {CACD7B50-4DB3-76AF-A6E8-90DF94F8F594} + + {45C2CE26-EC4B-BA52-58F3-297C408E1483} + {9D270B31-2425-8FDB-84A4-6A2288FF5B2F} {0F766DD4-A277-CB86-5647-42498C8B41E1} - - {D64942B4-6984-3623-3347-45D472AE1C61} - - - {45C2CE26-EC4B-BA52-58F3-297C408E1483} - {01603E05-423B-5FC3-1BEE-E15ED33B5688} + + {D64942B4-6984-3623-3347-45D472AE1C61} + {65CB28F8-0422-A8F3-9A17-959E12A1F8E2} - - {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} - {0CD9E281-DDD0-91EC-6F77-EA9D9D5E0E1A} + + {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} + {40C5CA7C-AEBB-05B1-11CE-AE41D87B5CCB} {0B0E7392-324B-088C-FBEB-5FE999D61782} - - {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} - {20254EFE-6CBD-31A7-2119-92B1E0E0E311} {70796D73-6D30-8A1B-4732-7C021E47C05A} + + {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} + {EB8DD942-E2CB-869F-D381-E02A65BA790B} @@ -86,17 +86,26 @@ {8167E753-09C7-5D1C-EF2B-32D297557443} - - {AEDCB7F7-7A36-5392-8E9A-715F5BDE35CB} - {B48C883A-8483-AF6D-808C-1D9A749048D8} + + {AEDCB7F7-7A36-5392-8E9A-715F5BDE35CB} + {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} - - {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + + {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + + {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + + {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} {476C69CE-0B67-6B85-E888-45D91E37A29E} @@ -104,17 +113,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} - - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -122,60 +125,57 @@ {91929C6F-7902-B87D-5260-2F6CBF8ACD93} - - {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} - {4634FFAE-9586-A970-364C-4FDDA635F99F} - - {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} - - {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - {F03654BC-34D8-F975-BEA3-750CC2783D23} + + {C9F6D785-BF78-5AA1-B479-111C65397864} {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} - - {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} - - {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + {F03654BC-34D8-F975-BEA3-750CC2783D23} {928D8FCC-5E00-174B-6538-93E8D75AB396} - - {1988E68A-A964-64CA-0E0C-26FF9BC5176C} + + {358AEA11-3F96-36AE-7B32-71373B5C5396} {3DF036EA-3B80-553B-2494-3AAC835CAE75} - - {358AEA11-3F96-36AE-7B32-71373B5C5396} + + {1988E68A-A964-64CA-0E0C-26FF9BC5176C} {F2A38F45-6E55-E147-2E52-64A89FDD9D59} - - {6172822C-01A5-E824-12DA-FA43FA934D35} - - - {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} - {B098BC87-3298-7E6B-12DC-D26C09CDCAED} {6322B88F-984A-C3CD-6263-38D7AA49B6EC} + + {6172822C-01A5-E824-12DA-FA43FA934D35} + {73C1E759-AD90-59A3-942E-2D10FAA29107} + + {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} + {EE1AE8C3-0908-8F53-A4E5-D930C7C97C26} @@ -185,81 +185,81 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} - - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - - {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {E37D25CD-4350-4614-055B-7ABC55E67895} {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {C1A1A236-AB01-173E-96C3-0706BFF93B1E} + + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + + {413F481F-075C-2958-115C-D8268682FCB7} {FFC6E1CC-C772-75E6-5087-FB5D4E016799} + + {1182303F-ECA3-166D-AC0C-92C5E762CB93} + {8E43579F-C185-266D-DD67-F8B95BD80F2F} + + {61712B09-5783-ADFA-2001-5A0C3D7764EB} + + + {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + + {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} + {2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D} - - {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + {5A0AA36E-3957-E413-14C6-31CBE15271DF} + + + {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} {A92719C7-70BE-57C4-CE9E-A9BC9DFEB757} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} + + + {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} + + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} + + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + + {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} + + + {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} + {75F1F352-251A-75E0-D941-8431588F5C1E} {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} - - {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} - - - {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} - - - {5A0AA36E-3957-E413-14C6-31CBE15271DF} - - - {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} - - - {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} - - - {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} - - - {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} - - - {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - - {61712B09-5783-ADFA-2001-5A0C3D7764EB} - - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} - {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -373,6 +373,9 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -388,15 +391,6 @@ Juce Modules\juce_audio_devices\midi_io - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\audio_cd - Juce Modules\juce_audio_devices\native @@ -451,26 +445,11 @@ Juce Modules\juce_audio_devices\native - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_formats\codecs @@ -499,27 +478,30 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - Juce Modules\juce_audio_processors\format @@ -538,6 +520,24 @@ Juce Modules\juce_audio_processors\format_types + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + Juce Modules\juce_audio_processors\scanning @@ -571,9 +571,6 @@ Juce Modules\juce_audio_utils\gui - - Juce Modules\juce_audio_utils\players - Juce Modules\juce_audio_utils\native @@ -589,44 +586,8 @@ Juce Modules\juce_audio_utils\native - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\memory + + Juce Modules\juce_audio_utils\players Juce Modules\juce_core\containers @@ -643,33 +604,6 @@ Juce Modules\juce_core\containers - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - Juce Modules\juce_core\files @@ -694,41 +628,11 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -736,32 +640,17 @@ Juce Modules\juce_core\logging - - Juce Modules\juce_core\system + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc @@ -841,6 +730,126 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -850,33 +859,6 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - Juce Modules\juce_events\broadcasters @@ -895,6 +877,18 @@ Juce Modules\juce_events\interprocess + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + Juce Modules\juce_events\native @@ -910,6 +904,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_graphics\colour @@ -931,44 +931,11 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\effects Juce Modules\juce_graphics\fonts @@ -988,11 +955,41 @@ Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -1024,6 +1021,51 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -1036,6 +1078,153 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -1057,20 +1246,92 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -1138,267 +1399,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_extra\code_editor @@ -1477,37 +1477,37 @@ Juce Modules\juce_gui_extra\native - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code @@ -1629,6 +1629,12 @@ Juce Modules\juce_audio_basics + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -1650,48 +1656,18 @@ Juce Modules\juce_audio_devices\midi_io + + Juce Modules\juce_audio_devices\native + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\native - Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - Juce Modules\juce_audio_formats\codecs @@ -1719,12 +1695,63 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + Juce Modules\juce_audio_processors\processors @@ -1755,33 +1782,6 @@ Juce Modules\juce_audio_processors\processors - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - Juce Modules\juce_audio_processors\scanning @@ -1842,50 +1842,92 @@ Juce Modules\juce_audio_utils - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -1947,53 +1989,134 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text Juce Modules\juce_core\threads @@ -2052,92 +2175,8 @@ Juce Modules\juce_core\time - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -2145,12 +2184,6 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - Juce Modules\juce_core\zip @@ -2160,42 +2193,21 @@ Juce Modules\juce_core\zip - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - Juce Modules\juce_core + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -2205,21 +2217,33 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - Juce Modules\juce_data_structures + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + Juce Modules\juce_events\messages @@ -2247,36 +2271,6 @@ Juce Modules\juce_events\messages - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - Juce Modules\juce_events\native @@ -2286,6 +2280,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_events @@ -2316,17 +2316,32 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -2358,38 +2373,17 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -2400,9 +2394,60 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + Juce Modules\juce_graphics + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -2418,6 +2463,171 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -2457,29 +2667,50 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -2553,237 +2784,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_basics @@ -2866,41 +2866,6 @@ Juce Library Code - - - Juce Modules\juce_audio_basics - - - Juce Modules\juce_audio_devices - - - Juce Modules\juce_audio_formats - - - Juce Modules\juce_audio_processors - - - Juce Modules\juce_audio_utils - - - Juce Modules\juce_core - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_gui_extra - - Juce Library Code diff --git a/examples/PluckedStringsDemo/JuceLibraryCode/AppConfig.h b/examples/PluckedStringsDemo/JuceLibraryCode/AppConfig.h index a4c6633b27..9aa2034e72 100644 --- a/examples/PluckedStringsDemo/JuceLibraryCode/AppConfig.h +++ b/examples/PluckedStringsDemo/JuceLibraryCode/AppConfig.h @@ -4,8 +4,8 @@ project - if you alter its contents, your changes may be overwritten! There's a section below where you can add your own custom code safely, and the - Introjucer will preserve the contents of that block, but the best way to change - any of these definitions is by using the Introjucer's project settings. + Projucer will preserve the contents of that block, but the best way to change + any of these definitions is by using the Projucer's project settings. Any commented-out settings will assume their default values. @@ -17,7 +17,7 @@ //============================================================================== // [BEGIN_USER_CODE_SECTION] -// (You can add your own code in this section, and the Introjucer will not overwrite it) +// (You can add your own code in this section, and the Projucer will not overwrite it) // [END_USER_CODE_SECTION] @@ -36,9 +36,15 @@ //============================================================================== #ifndef JUCE_STANDALONE_APPLICATION - #define JUCE_STANDALONE_APPLICATION 1 + #ifdef JucePlugin_Build_Standalone + #define JUCE_STANDALONE_APPLICATION JucePlugin_Build_Standalone + #else + #define JUCE_STANDALONE_APPLICATION 1 + #endif #endif +#define JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED 1 + //============================================================================== // juce_audio_devices flags: diff --git a/examples/PluckedStringsDemo/JuceLibraryCode/JuceHeader.h b/examples/PluckedStringsDemo/JuceLibraryCode/JuceHeader.h index 42cb719d6e..40f73ab9ae 100644 --- a/examples/PluckedStringsDemo/JuceLibraryCode/JuceHeader.h +++ b/examples/PluckedStringsDemo/JuceLibraryCode/JuceHeader.h @@ -14,17 +14,19 @@ #define __APPHEADERFILE_JKHEJM__ #include "AppConfig.h" -#include "modules/juce_audio_basics/juce_audio_basics.h" -#include "modules/juce_audio_devices/juce_audio_devices.h" -#include "modules/juce_audio_formats/juce_audio_formats.h" -#include "modules/juce_audio_processors/juce_audio_processors.h" -#include "modules/juce_audio_utils/juce_audio_utils.h" -#include "modules/juce_core/juce_core.h" -#include "modules/juce_data_structures/juce_data_structures.h" -#include "modules/juce_events/juce_events.h" -#include "modules/juce_graphics/juce_graphics.h" -#include "modules/juce_gui_basics/juce_gui_basics.h" -#include "modules/juce_gui_extra/juce_gui_extra.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + #if ! DONT_SET_USING_JUCE_NAMESPACE // If your code uses a lot of JUCE classes, then this will obviously save you diff --git a/examples/PluckedStringsDemo/JuceLibraryCode/ReadMe.txt b/examples/PluckedStringsDemo/JuceLibraryCode/ReadMe.txt index f6c3564e99..091a5aa6eb 100644 --- a/examples/PluckedStringsDemo/JuceLibraryCode/ReadMe.txt +++ b/examples/PluckedStringsDemo/JuceLibraryCode/ReadMe.txt @@ -2,11 +2,11 @@ Important Note!! ================ -The purpose of this folder is to contain files that are auto-generated by the Introjucer, +The purpose of this folder is to contain files that are auto-generated by the Projucer, and ALL files in this folder will be mercilessly DELETED and completely re-written whenever -the Introjucer saves your project. +the Projucer saves your project. Therefore, it's a bad idea to make any manual changes to the files in here, or to put any of your own files in here if you don't want to lose them. (Of course you may choose to add the folder's contents to your version-control system so that you can re-merge your own -modifications after the Introjucer has saved its changes). +modifications after the Projucer has saved its changes). diff --git a/examples/PluckedStringsDemo/JuceLibraryCode/juce_audio_basics.cpp b/examples/PluckedStringsDemo/JuceLibraryCode/juce_audio_basics.cpp new file mode 100644 index 0000000000..418694873c --- /dev/null +++ b/examples/PluckedStringsDemo/JuceLibraryCode/juce_audio_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PluckedStringsDemo/JuceLibraryCode/juce_audio_basics.mm b/examples/PluckedStringsDemo/JuceLibraryCode/juce_audio_basics.mm new file mode 100644 index 0000000000..e0e6c577cc --- /dev/null +++ b/examples/PluckedStringsDemo/JuceLibraryCode/juce_audio_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PluckedStringsDemo/JuceLibraryCode/juce_audio_devices.cpp b/examples/PluckedStringsDemo/JuceLibraryCode/juce_audio_devices.cpp new file mode 100644 index 0000000000..fb5c2219d7 --- /dev/null +++ b/examples/PluckedStringsDemo/JuceLibraryCode/juce_audio_devices.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PluckedStringsDemo/JuceLibraryCode/juce_audio_devices.mm b/examples/PluckedStringsDemo/JuceLibraryCode/juce_audio_devices.mm new file mode 100644 index 0000000000..e58b67ea49 --- /dev/null +++ b/examples/PluckedStringsDemo/JuceLibraryCode/juce_audio_devices.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PluckedStringsDemo/JuceLibraryCode/juce_audio_formats.cpp b/examples/PluckedStringsDemo/JuceLibraryCode/juce_audio_formats.cpp new file mode 100644 index 0000000000..a3c61170eb --- /dev/null +++ b/examples/PluckedStringsDemo/JuceLibraryCode/juce_audio_formats.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PluckedStringsDemo/JuceLibraryCode/juce_audio_formats.mm b/examples/PluckedStringsDemo/JuceLibraryCode/juce_audio_formats.mm new file mode 100644 index 0000000000..f325b8fb67 --- /dev/null +++ b/examples/PluckedStringsDemo/JuceLibraryCode/juce_audio_formats.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PluckedStringsDemo/JuceLibraryCode/juce_audio_processors.cpp b/examples/PluckedStringsDemo/JuceLibraryCode/juce_audio_processors.cpp new file mode 100644 index 0000000000..bfe172edd0 --- /dev/null +++ b/examples/PluckedStringsDemo/JuceLibraryCode/juce_audio_processors.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PluckedStringsDemo/JuceLibraryCode/juce_audio_processors.mm b/examples/PluckedStringsDemo/JuceLibraryCode/juce_audio_processors.mm new file mode 100644 index 0000000000..b80ae9017f --- /dev/null +++ b/examples/PluckedStringsDemo/JuceLibraryCode/juce_audio_processors.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PluckedStringsDemo/JuceLibraryCode/juce_audio_utils.cpp b/examples/PluckedStringsDemo/JuceLibraryCode/juce_audio_utils.cpp new file mode 100644 index 0000000000..97bd2c568c --- /dev/null +++ b/examples/PluckedStringsDemo/JuceLibraryCode/juce_audio_utils.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PluckedStringsDemo/JuceLibraryCode/juce_audio_utils.mm b/examples/PluckedStringsDemo/JuceLibraryCode/juce_audio_utils.mm new file mode 100644 index 0000000000..8eae7c6e2f --- /dev/null +++ b/examples/PluckedStringsDemo/JuceLibraryCode/juce_audio_utils.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PluckedStringsDemo/JuceLibraryCode/juce_core.cpp b/examples/PluckedStringsDemo/JuceLibraryCode/juce_core.cpp new file mode 100644 index 0000000000..d0ce1636f0 --- /dev/null +++ b/examples/PluckedStringsDemo/JuceLibraryCode/juce_core.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PluckedStringsDemo/JuceLibraryCode/juce_core.mm b/examples/PluckedStringsDemo/JuceLibraryCode/juce_core.mm new file mode 100644 index 0000000000..72b10bf817 --- /dev/null +++ b/examples/PluckedStringsDemo/JuceLibraryCode/juce_core.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PluckedStringsDemo/JuceLibraryCode/juce_data_structures.cpp b/examples/PluckedStringsDemo/JuceLibraryCode/juce_data_structures.cpp new file mode 100644 index 0000000000..9315aa1686 --- /dev/null +++ b/examples/PluckedStringsDemo/JuceLibraryCode/juce_data_structures.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PluckedStringsDemo/JuceLibraryCode/juce_data_structures.mm b/examples/PluckedStringsDemo/JuceLibraryCode/juce_data_structures.mm new file mode 100644 index 0000000000..695ec43925 --- /dev/null +++ b/examples/PluckedStringsDemo/JuceLibraryCode/juce_data_structures.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PluckedStringsDemo/JuceLibraryCode/juce_events.cpp b/examples/PluckedStringsDemo/JuceLibraryCode/juce_events.cpp new file mode 100644 index 0000000000..1bba110a97 --- /dev/null +++ b/examples/PluckedStringsDemo/JuceLibraryCode/juce_events.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PluckedStringsDemo/JuceLibraryCode/juce_events.mm b/examples/PluckedStringsDemo/JuceLibraryCode/juce_events.mm new file mode 100644 index 0000000000..4cc34fc401 --- /dev/null +++ b/examples/PluckedStringsDemo/JuceLibraryCode/juce_events.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PluckedStringsDemo/JuceLibraryCode/juce_graphics.cpp b/examples/PluckedStringsDemo/JuceLibraryCode/juce_graphics.cpp new file mode 100644 index 0000000000..319c76de0e --- /dev/null +++ b/examples/PluckedStringsDemo/JuceLibraryCode/juce_graphics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PluckedStringsDemo/JuceLibraryCode/juce_graphics.mm b/examples/PluckedStringsDemo/JuceLibraryCode/juce_graphics.mm new file mode 100644 index 0000000000..b28e6dd056 --- /dev/null +++ b/examples/PluckedStringsDemo/JuceLibraryCode/juce_graphics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PluckedStringsDemo/JuceLibraryCode/juce_gui_basics.cpp b/examples/PluckedStringsDemo/JuceLibraryCode/juce_gui_basics.cpp new file mode 100644 index 0000000000..216c76bb05 --- /dev/null +++ b/examples/PluckedStringsDemo/JuceLibraryCode/juce_gui_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PluckedStringsDemo/JuceLibraryCode/juce_gui_basics.mm b/examples/PluckedStringsDemo/JuceLibraryCode/juce_gui_basics.mm new file mode 100644 index 0000000000..6a9726fa5f --- /dev/null +++ b/examples/PluckedStringsDemo/JuceLibraryCode/juce_gui_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PluckedStringsDemo/JuceLibraryCode/juce_gui_extra.cpp b/examples/PluckedStringsDemo/JuceLibraryCode/juce_gui_extra.cpp new file mode 100644 index 0000000000..7226e19833 --- /dev/null +++ b/examples/PluckedStringsDemo/JuceLibraryCode/juce_gui_extra.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PluckedStringsDemo/JuceLibraryCode/juce_gui_extra.mm b/examples/PluckedStringsDemo/JuceLibraryCode/juce_gui_extra.mm new file mode 100644 index 0000000000..c9b6c3bfc6 --- /dev/null +++ b/examples/PluckedStringsDemo/JuceLibraryCode/juce_gui_extra.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h b/examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h deleted file mode 100644 index 9befea8142..0000000000 --- a/examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_basics/juce_audio_basics.h" diff --git a/examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h b/examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h deleted file mode 100644 index eba6d3a9e5..0000000000 --- a/examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_devices/juce_audio_devices.h" diff --git a/examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h b/examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h deleted file mode 100644 index 4629b0ef2c..0000000000 --- a/examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_formats/juce_audio_formats.h" diff --git a/examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h b/examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h deleted file mode 100644 index 7d4583dbf8..0000000000 --- a/examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_processors/juce_audio_processors.h" diff --git a/examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h b/examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h deleted file mode 100644 index bb997d30d3..0000000000 --- a/examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_utils/juce_audio_utils.h" diff --git a/examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_core/juce_core.h b/examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_core/juce_core.h deleted file mode 100644 index 06e88f9352..0000000000 --- a/examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_core/juce_core.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_core/juce_core.h" diff --git a/examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h b/examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h deleted file mode 100644 index 9d814fd953..0000000000 --- a/examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_data_structures/juce_data_structures.h" diff --git a/examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_events/juce_events.h b/examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_events/juce_events.h deleted file mode 100644 index 509b1df8d2..0000000000 --- a/examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_events/juce_events.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_events/juce_events.h" diff --git a/examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_graphics/juce_graphics.h b/examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_graphics/juce_graphics.h deleted file mode 100644 index 28edbf35e3..0000000000 --- a/examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_graphics/juce_graphics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_graphics/juce_graphics.h" diff --git a/examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h b/examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h deleted file mode 100644 index 81ad4b7297..0000000000 --- a/examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_gui_basics/juce_gui_basics.h" diff --git a/examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h b/examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h deleted file mode 100644 index 5c9b7a96b5..0000000000 --- a/examples/PluckedStringsDemo/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_gui_extra/juce_gui_extra.h" diff --git a/examples/PluckedStringsDemo/PluckedStringsDemo.jucer b/examples/PluckedStringsDemo/PluckedStringsDemo.jucer index ce2747149b..82ed6dd17e 100644 --- a/examples/PluckedStringsDemo/PluckedStringsDemo.jucer +++ b/examples/PluckedStringsDemo/PluckedStringsDemo.jucer @@ -2,7 +2,7 @@ + jucerVersion="4.2.0"> stringLines; OwnedArray stringSynths; diff --git a/examples/PluckedStringsDemo/Source/StringSynthesiser.h b/examples/PluckedStringsDemo/Source/StringSynthesiser.h index d1901385e8..f7a237ee32 100644 --- a/examples/PluckedStringsDemo/Source/StringSynthesiser.h +++ b/examples/PluckedStringsDemo/Source/StringSynthesiser.h @@ -16,7 +16,7 @@ class StringSynthesiser { public: - //======================================================================= + //============================================================================== /** Constructor. @param sampleRate The audio sample rate to use. @@ -29,7 +29,7 @@ public: prepareSynthesiserState (sampleRate, frequencyInHz); } - //======================================================================= + //============================================================================== /** Excite the simulated string by plucking it at a given position. @param pluckPosition The position of the plucking, relative to the length @@ -51,7 +51,7 @@ public: } } - //======================================================================= + //============================================================================== /** Generate next chunk of mono audio output and add it into a buffer. @param outBuffer Buffer to fill (one channel only). New sound will be @@ -78,7 +78,7 @@ public: } private: - //======================================================================= + //============================================================================== void prepareSynthesiserState (double sampleRate, double frequencyInHz) { size_t delayLineLength = (size_t) roundToInt (sampleRate / frequencyInHz); @@ -112,7 +112,7 @@ private: [this] (double sample) { return amplitude * sample; } ); }; - //======================================================================= + //============================================================================== const double decay = 0.998; double amplitude = 0.0; diff --git a/examples/PlugInSamples/Arpeggiator/Arpeggiator.jucer b/examples/PlugInSamples/Arpeggiator/Arpeggiator.jucer index 6c22134072..1d7239c76b 100644 --- a/examples/PlugInSamples/Arpeggiator/Arpeggiator.jucer +++ b/examples/PlugInSamples/Arpeggiator/Arpeggiator.jucer @@ -9,8 +9,8 @@ pluginIsMidiEffectPlugin="1" pluginSilenceInIsSilenceOut="0" pluginEditorRequiresKeys="0" pluginAUExportPrefix="ArpeggiatorAU" pluginRTASCategory="" aaxIdentifier="com.ROLI.Arpeggiator" pluginAAXCategory="AAX_EPlugInCategory_Effect" - jucerVersion="4.1.0" companyName="ROLI Ltd." companyWebsite="www.juce.com" - companyEmail="info@juce.com"> + jucerVersion="4.2.0" companyName="ROLI Ltd." companyWebsite="www.juce.com" + companyEmail="info@juce.com" buildAUv3="0"> diff --git a/examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Arpeggiator.entitlements b/examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Arpeggiator.entitlements new file mode 100644 index 0000000000..22194a6d2d --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Arpeggiator.entitlements @@ -0,0 +1 @@ + com.apple.security.app-sandbox \ No newline at end of file diff --git a/examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Arpeggiator.xcodeproj/project.pbxproj b/examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Arpeggiator.xcodeproj/project.pbxproj index 60c5263fc7..0bd2a8dec1 100644 --- a/examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Arpeggiator.xcodeproj/project.pbxproj +++ b/examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Arpeggiator.xcodeproj/project.pbxproj @@ -6,6 +6,11 @@ objectVersion = 46; objects = { + 9ADBCE19EA833AC4AF2E70F8 = {isa = PBXBuildFile; fileRef = B7A2991D3F6CDC78EE921F1D; }; + FC2E54A3E7703D3815DF4A43 = {isa = PBXBuildFile; fileRef = 9B925B22A539EFE048C4F2D0; }; + 4DD23843607E8EA8A90CE524 = {isa = PBXBuildFile; fileRef = 40D80A7071E7DF99EF20511D; }; + 18765C2A6C2876621317D7A5 = {isa = PBXBuildFile; fileRef = 14CD0689B0BFC8758FA6C408; }; + 4006ECEA053125B2706BB403 = {isa = PBXBuildFile; fileRef = 6C612817F52B969A5F16CE94; }; E1EAF7A85355978D529D0FAA = {isa = PBXBuildFile; fileRef = C3F6222E9059F8CCD9674AD0; }; D0DA0BDE4746B7B12FD847CF = {isa = PBXBuildFile; fileRef = AC840D910B076A8D6E11D0E3; }; 762272ABD27938B84C8E9CB1 = {isa = PBXBuildFile; fileRef = 6965419522A8F4EE3C0E2F45; }; @@ -21,52 +26,28 @@ 2652F9F9C3F4DBC1C5D34974 = {isa = PBXBuildFile; fileRef = FAC1B0E5511BBD94A50A2E49; }; 6056E4708065C48B5DBEC734 = {isa = PBXBuildFile; fileRef = 970820EDE1527139F0A21632; }; EFD318C0120FF5F53BE57A95 = {isa = PBXBuildFile; fileRef = 2F12CFEB1E95BC54E1CD3C7D; }; + E3609826518EFA6E8E7589AB = {isa = PBXBuildFile; fileRef = ACE47F30020C3E4144BD108A; }; CBE3170A78C2C2BA01C59EB0 = {isa = PBXBuildFile; fileRef = C74725F506BB44F32F0D8E50; }; - 8E8059E466BC1C49119582FB = {isa = PBXBuildFile; fileRef = 8050245A4FDA661B38C56FB7; settings = {COMPILER_FLAGS = "-w"; }; }; - 236D1B76E719C1A8C30F3B6E = {isa = PBXBuildFile; fileRef = 4E117F7C74DCEB70A1F377E6; settings = {COMPILER_FLAGS = "-w"; }; }; - 3CD7BB01B8C5A7E6230ABCC1 = {isa = PBXBuildFile; fileRef = BA528AB76690AF9F8ACE8A57; settings = {COMPILER_FLAGS = "-w"; }; }; - 5EE0301357957CBD70A338FD = {isa = PBXBuildFile; fileRef = BC27929DAEAC6B259D898C9F; settings = {COMPILER_FLAGS = "-w"; }; }; - 66AF7C8CD8BADB0BA9280FBC = {isa = PBXBuildFile; fileRef = A7C5D1A29C28C505913F01F7; settings = {COMPILER_FLAGS = "-w"; }; }; - 9FB532DA2737CB68C86FB456 = {isa = PBXBuildFile; fileRef = 7807EDBF280BD86BA4B54170; settings = {COMPILER_FLAGS = "-w"; }; }; - 001582D31AC15F12A5D06072 = {isa = PBXBuildFile; fileRef = D8F61BA5399E97BE1B28FB14; settings = {COMPILER_FLAGS = "-w"; }; }; - 721F7488CFD36B907D2B912A = {isa = PBXBuildFile; fileRef = 3AD79BA42B077E0A5F529E32; settings = {COMPILER_FLAGS = "-w"; }; }; - 823BC41BE674DD3D0CDA2EB0 = {isa = PBXBuildFile; fileRef = 69B2E6C4996E538FBA2F0DE6; settings = {COMPILER_FLAGS = "-w"; }; }; - 937498B88E3D14EFCE936297 = {isa = PBXBuildFile; fileRef = CBDF4DF6A7679ECC81BACF3E; settings = {COMPILER_FLAGS = "-w"; }; }; - 703526A385F013BE4D503BB1 = {isa = PBXBuildFile; fileRef = 2DE0D81D1002AACD733312D3; settings = {COMPILER_FLAGS = "-w"; }; }; - 21D0D3314EB8ECA022D8720D = {isa = PBXBuildFile; fileRef = EF849D7AC1EE182A681688E3; settings = {COMPILER_FLAGS = "-w"; }; }; - E96834301A3080ED84FDB553 = {isa = PBXBuildFile; fileRef = F53482E8CB053854980E8C86; settings = {COMPILER_FLAGS = "-w"; }; }; - 28B15B6B86FEAC1A231FB44F = {isa = PBXBuildFile; fileRef = 2DF4931504468BD9E20AE3E6; settings = {COMPILER_FLAGS = "-w"; }; }; - 69EAE53E671B0C45EB655544 = {isa = PBXBuildFile; fileRef = A548F9E69AE986B2EB619FE6; settings = {COMPILER_FLAGS = "-w"; }; }; - B1CCA302E23A1EAC8F83DE72 = {isa = PBXBuildFile; fileRef = C5B4C33C4CACB952D0084A25; settings = {COMPILER_FLAGS = "-w"; }; }; - 6E6554285725192A1C390A63 = {isa = PBXBuildFile; fileRef = 2CFC098BABAF6F3A9DFA615A; settings = {COMPILER_FLAGS = "-w"; }; }; - 8ADC1626B2873FD555F55E7E = {isa = PBXBuildFile; fileRef = 17D954B1EE6DD96B6905508C; settings = {COMPILER_FLAGS = "-w"; }; }; - 72A1597024A31494E56CACC3 = {isa = PBXBuildFile; fileRef = 38286B4A32B4D3C255E0A871; }; - 830659C70EB7EA49FD9ED2C8 = {isa = PBXBuildFile; fileRef = 7A7498DE64975C48348E349C; }; - 70088451222089BBC8D0B36B = {isa = PBXBuildFile; fileRef = 7AB443DA64083C900D748B1B; }; - 4D4347CFA36F1029CE3D4537 = {isa = PBXBuildFile; fileRef = 7E48708D1F7B5C675C2317FA; }; - 41F1D608C5860015D92371DD = {isa = PBXBuildFile; fileRef = BCA4C93B24E774413746F944; }; - 6129DD962CA100387E0351B1 = {isa = PBXBuildFile; fileRef = AED6A0E57D5F1CB9CEB1DECB; }; - 051921763D899757AD837CA8 = {isa = PBXBuildFile; fileRef = C0EDB3E56321B663CEA2E600; }; - 2F642F8BB16C4C01B7DA8AB4 = {isa = PBXBuildFile; fileRef = 2C96D1EF867911A0E68FFBFF; }; - 50C444E6E6F7262A3BD03622 = {isa = PBXBuildFile; fileRef = 4CC978CFF6C2F65FD0283757; }; - F025FD067DE6B0F7E0931E01 = {isa = PBXBuildFile; fileRef = CA015A7287D01104AE5E1553; }; - 3555C9C77BA126B09C36F872 = {isa = PBXBuildFile; fileRef = 5E13D21827E76C6ACCFA7358; }; - DE000D5278A8409857CD1ACC = {isa = PBXBuildFile; fileRef = 12EB0C9DF7DCA4D94CF8EE18; }; - 6CC7711186999FA3907A85B8 = {isa = PBXBuildFile; fileRef = 70ABCE8D77A662C690A1E6DF; }; - 1898711DB1A6667E2C9ED121 = {isa = PBXBuildFile; fileRef = 65CD5793B45D2D33CA74646E; }; - 9D3DF509B069D16A86C1D619 = {isa = PBXBuildFile; fileRef = 121208AF12C8CE7E9A72A27B; }; - F20D218D4F7B574D60C66C74 = {isa = PBXBuildFile; fileRef = F0C3DA304E28C86EA46626CE; }; - 7AAC0E6CE79DA7F7E183CB01 = {isa = PBXBuildFile; fileRef = 54ED3AEF6A560DA2A2C9A6A1; }; - FB36AC3423955239A748F956 = {isa = PBXBuildFile; fileRef = 26EFE7738F4209B87E675B48; settings = {COMPILER_FLAGS = "-w"; }; }; - 6B7171AB9EC3D5184ECB3832 = {isa = PBXBuildFile; fileRef = 8495D4AC707047B56331794B; settings = {COMPILER_FLAGS = "-w"; }; }; - A3B5242B33269406A90E12BC = {isa = PBXBuildFile; fileRef = 09E8A551CD342D08E0FCFC7E; settings = {COMPILER_FLAGS = "-w"; }; }; - 0CA25DBD723BA1702ABF0D06 = {isa = PBXBuildFile; fileRef = 2C88000D1FD0FF38CE9A45DC; }; - 7F98D052ABEB15F5488EDE3A = {isa = PBXBuildFile; fileRef = EBC20070F34FA195234BE6DF; settings = {COMPILER_FLAGS = "-w"; }; }; - 68395BA070CA23584C1542FB = {isa = PBXBuildFile; fileRef = 14F1769BC9227265335CE7E1; }; - 1CE05E9280E80B2AFE9397FC = {isa = PBXBuildFile; fileRef = 0462FCF4041854C357138EB2; }; - CE69D3EBEE22DDF5E92E686C = {isa = PBXBuildFile; fileRef = C18A26D290AB9B1B16DDF330; }; - 29C7686F94F38A92B4FF1DAC = {isa = PBXBuildFile; fileRef = EAAA5DE166254FF08BBF56C4; }; - D52B0D08613D8F45CF7FA7D0 = {isa = PBXBuildFile; fileRef = B6E62CA67E425664815BB3FA; settings = {COMPILER_FLAGS = "-w"; }; }; + CD51ABAA6EF40CBA996A4E90 = {isa = PBXBuildFile; fileRef = 2E94A5BF0507304C7FBE7DAC; }; + F9286BDCED2819E0411D290B = {isa = PBXBuildFile; fileRef = 2F4E8F666770D3FE1819841C; }; + E121C97227FD69E95BC0B848 = {isa = PBXBuildFile; fileRef = B88670F8C43CDC4E1C93F040; }; + 0C147FBEF5B1A66FBFBB01F4 = {isa = PBXBuildFile; fileRef = 5AB6B81BA52870C0AD33341E; }; + 7FD723582B7BF1775729023D = {isa = PBXBuildFile; fileRef = 530EF6F2E307D0652B974CF4; }; + 1935BD4130D5954448BC9B9D = {isa = PBXBuildFile; fileRef = F3329DC874973DF520276066; }; + 6CFEA843342A89A46A3F087C = {isa = PBXBuildFile; fileRef = EC519AF44CCE0881235FB4EB; }; + 3B76B94843D8BC7B2AA45CBC = {isa = PBXBuildFile; fileRef = 5087D4BAAE6FE9828E8B8ED3; }; + 3F4774290CDA1A5712701353 = {isa = PBXBuildFile; fileRef = 8998F48F783F40A3C08AFD0E; }; + 087F53B6CB2E5291253A1662 = {isa = PBXBuildFile; fileRef = 09A11E2B06C9254B90D33931; }; + 0AA3C7D7D4C3474EEF28118C = {isa = PBXBuildFile; fileRef = E2F7D83F51D8257B263771B6; }; + 6673243E0C47DB46A54386A7 = {isa = PBXBuildFile; fileRef = EF01A1FC7C85F759038CC4D1; }; + 42406DF00F2BEBF9EF31CB14 = {isa = PBXBuildFile; fileRef = 8D256AABEE9F2E8B11736E86; }; + F334E4C7C99829FF1DA93A96 = {isa = PBXBuildFile; fileRef = 1433B21863210729F0530CE6; }; + 90AF57171A5FDAD1C84CD457 = {isa = PBXBuildFile; fileRef = 42CC4A0B344E62ED93EC74D7; }; + 8DC7B76BEF0F1610AE804DA7 = {isa = PBXBuildFile; fileRef = EE9F607958A73BD8084C690D; }; + 945C74C3BE756DD625B54D4B = {isa = PBXBuildFile; fileRef = B61F1E0D31A376A3C251F16B; }; + 52BFEA1704A6D3D55BD9C752 = {isa = PBXBuildFile; fileRef = 3CC3CCB36E5E08DCA857C796; }; + 2D9494700DCDA6E524726943 = {isa = PBXBuildFile; fileRef = D8F52EB57878B5762C0FD866; }; + 9E93B5D7B33591139054C54E = {isa = PBXBuildFile; fileRef = BED8FCD9183EF5E54F0E03BC; }; 000482712FB943049ADA488E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 0006D862EC3A374B150CC1FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 00364B9ACDDE1061B0F8B6A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -93,7 +74,6 @@ 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"; }; 05AF07C01F4E117D4778B845 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginListComponent.h"; path = "../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h"; sourceTree = "SOURCE_ROOT"; }; 05FDE473035418E9F261D3FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; 06226074569D4153DBF2B89A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -106,6 +86,8 @@ 08CE424649F64407EB759932 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreAudio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; 08DE9AECCB957725B8CF2939 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; }; 091A10CFA01394E26C54AFB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LADSPAPluginFormat.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 0976BFC1400DB1F6254192FC = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-VST.plist"; path = "Info-VST.plist"; sourceTree = "SOURCE_ROOT"; }; + 09A11E2B06C9254B90D33931 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_VST3.cpp"; path = "../../JuceLibraryCode/juce_audio_plugin_client_VST3.cpp"; sourceTree = "SOURCE_ROOT"; }; 09C0A2226E87D56321B8319E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 09E390AA7B1FE6AD560030B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; 09E8A551CD342D08E0FCFC7E = {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"; }; @@ -126,7 +108,6 @@ 0DE771499C57EF171A4B80C2 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = System/Library/Frameworks/QTKit.framework; sourceTree = SDKROOT; }; 0E17E299A552E354D32495A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 0E488474E503D822F21E7ED1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 0F0135E3626B5CF2073669EE = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_graphics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 0F1E7837A0941C47E29A47BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Sampler.cpp"; path = "../../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp"; sourceTree = "SOURCE_ROOT"; }; 0F25E9C8B1848C4B8922BFE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; }; 0F7563C42FF3E0324DB9DABC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; }; @@ -134,13 +115,12 @@ 109E5923921C477425766667 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 10E0EE1A81E3ED13FA223D20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; 11734EB6782BA7878DB279EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 121208AF12C8CE7E9A72A27B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; 122D84868EE99DCC232215CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 12EB0C9DF7DCA4D94CF8EE18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; + 12351FF0F32DCFFD8F9B753E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandaloneFilterWindow.h"; path = "../../../../../modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterWindow.h"; sourceTree = "SOURCE_ROOT"; }; 1391051B07375667336EF320 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; }; 140715EB943E21564EBCF34B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1433B21863210729F0530CE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; 149DE318630BB06FE1878110 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; - 14F1769BC9227265335CE7E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../../../../modules/juce_video/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; 152066FBE6F7FF3D1E7F487A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; }; 159EEFE7D5A5EE877FCEDA9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; }; 15ABAB25ED7FBC1AB35D4155 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; }; @@ -152,7 +132,6 @@ 1727DCA5EF0641010D04F7A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; 176555A72094768334C34A06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NotificationType.h"; path = "../../../../../modules/juce_events/messages/juce_NotificationType.h"; sourceTree = "SOURCE_ROOT"; }; 17B8CB9D94CA67C4CF214B1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ASIO.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp"; sourceTree = "SOURCE_ROOT"; }; - 17D954B1EE6DD96B6905508C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ComponentBase.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/ComponentBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 17F524091349DA3298887390 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 18373EB91F07E7333438F2C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; }; 184372F608B224D33549FAD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; }; @@ -208,21 +187,17 @@ 2A7EED1861BF3B69BF30B895 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioTransportSource.cpp"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; - 2CFC098BABAF6F3A9DFA615A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAVectorUnit.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAVectorUnit.cpp"; sourceTree = "SOURCE_ROOT"; }; 2D0FF4338F332D5D2EF467BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; 2DB885170C23EF6315B01E07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; 2DBEA9C65CE70C0A16C832F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Primes.cpp"; path = "../../../../../modules/juce_cryptography/encryption/juce_Primes.cpp"; sourceTree = "SOURCE_ROOT"; }; 2DD523352F6EE4FCFCE9A6F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; }; - 2DE0D81D1002AACD733312D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUScopeElement.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUScopeElement.cpp"; sourceTree = "SOURCE_ROOT"; }; - 2DF4931504468BD9E20AE3E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAMutex.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAMutex.cpp"; sourceTree = "SOURCE_ROOT"; }; 2E05B3795F27137B74532DCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; }; 2E3E4D0B6E49AB73AC95942C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 2F12CFEB1E95BC54E1CD3C7D = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; sourceTree = "SOURCE_ROOT"; }; + 2E94A5BF0507304C7FBE7DAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../JuceLibraryCode/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; + 2F4E8F666770D3FE1819841C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../JuceLibraryCode/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; 2F9B863B3208F7FDC2DFB5C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; }; 2FFF28CCC21983E2097F661E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; 3076EC4F52A19CE9017D3F25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -232,14 +207,11 @@ 326380A033B511A7D6C908B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../../../../modules/juce_gui_basics/components/juce_Component.cpp"; sourceTree = "SOURCE_ROOT"; }; 32A851BECAA8CB552DA0C92B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; }; 32AAD6851954F58C57AAF699 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; }; - 330BC8F273DC358F523CFFEE = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_video/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 333B1B17AC6BBF4E5330BA2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; - 3386ED2F4A9DAB248368B729 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_opengl/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 3393B8D4E413710805AAD1FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_osx.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_osx.h"; sourceTree = "SOURCE_ROOT"; }; 33FA636BC069C12099595FF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; }; 341FDAB807E3998D5B7D7293 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; 3447AC4248751CBF85190EAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; - 34598FD58DF590AF07F907D9 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_audio_formats/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 34A5198B33BE63C226542043 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; }; 34D919EE29BFF65E7B058F7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; }; 34E23BC027A8B05CC5F418FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -259,23 +231,21 @@ 38611AE4F0B78E647A39BDD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuntimePermissions.cpp"; path = "../../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; 38EB4858B45965104516E7E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLShaderProgram.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h"; sourceTree = "SOURCE_ROOT"; }; 391348A415637487C38D51AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CarbonVisibility.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_CarbonVisibility.h"; sourceTree = "SOURCE_ROOT"; }; - 39BE88EF0E3BD6B4AB68F2B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; }; 39E39B9AFF88B9F835F957D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectSound.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp"; sourceTree = "SOURCE_ROOT"; }; 39F8F53BF45ACA0E41F974EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_File.h"; path = "../../../../../modules/juce_core/files/juce_File.h"; sourceTree = "SOURCE_ROOT"; }; 3A6A9719BB36357980C72839 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; 3A6D5F85E162CCD7F75647A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; }; 3A71E1C5B7DCBFD3D6AC3500 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Whirlpool.h"; path = "../../../../../modules/juce_cryptography/hashing/juce_Whirlpool.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 3C5308C4C1F27A3EDA01A6AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../../modules/juce_audio_plugin_client/AU/juce_AU_Shared.h"; 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"; }; + 3CC3CCB36E5E08DCA857C796 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; 3D0CCD07C46996AE37840D61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; - 3D2489A30EEA07EF31EE23EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; }; 3D81F640FA89136773847667 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; }; - 3DD0FD0BC2F231862DB27C0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilter.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; 3DF64E77DF55D4CFF0445C51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 3E529E187845C0FDDD75B26E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; }; 3E6F506A01B3C306158AC0D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -289,18 +259,31 @@ 3FAE00C6F53873793905F666 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 3FDFA20C48FCE702C316D86D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; 403A941E43D6A93F973478CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 422AF00EC7C820E48BC8589A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; + 43CFBB6C7966B05599C2EF1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlacAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 4622F41461A9F5CC78026CAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KnownPluginList.cpp"; path = "../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp"; sourceTree = "SOURCE_ROOT"; }; + 46B133D823CE97AF7F5C8F7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + B7A2991D3F6CDC78EE921F1D = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Arpeggiator.vst; sourceTree = "BUILT_PRODUCTS_DIR"; }; + 9B925B22A539EFE048C4F2D0 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Arpeggiator.vst3; sourceTree = "BUILT_PRODUCTS_DIR"; }; + 40D80A7071E7DF99EF20511D = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Arpeggiator.component; sourceTree = "BUILT_PRODUCTS_DIR"; }; + 14CD0689B0BFC8758FA6C408 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Arpeggiator.aaxplugin; sourceTree = "BUILT_PRODUCTS_DIR"; }; + 2B44B90F3CEDD45A731586AD = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; + 2F12CFEB1E95BC54E1CD3C7D = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; sourceTree = "SOURCE_ROOT"; }; + 39BE88EF0E3BD6B4AB68F2B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; }; + 3D2489A30EEA07EF31EE23EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; }; + 3DD0FD0BC2F231862DB27C0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilter.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; 41A9981696960C4B09746E63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; }; 4220849FC5D24D5998470B27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; }; - 422AF00EC7C820E48BC8589A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; 4239E67EB3885D23F4E180FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; 4242930DB36B116AF72C417F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DeletedAtShutdown.h"; path = "../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h"; sourceTree = "SOURCE_ROOT"; }; 425CE8E9D6EE24F5E6D9FCC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectShowComponent.cpp"; path = "../../../../../modules/juce_video/native/juce_win32_DirectShowComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 427916B14A13C9592134DE85 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; + 42CC4A0B344E62ED93EC74D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; 437EBCEEE86D33C4B8E4659F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 4383F22A2A80A06AD2CC494A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StandaloneFilterApp.cpp"; path = "../../../../../modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterApp.cpp"; sourceTree = "SOURCE_ROOT"; }; 43992B14AB58E611565CA2F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_CameraDevice.cpp"; path = "../../../../../modules/juce_video/native/juce_android_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; 43AC2AFE626BBAE13688C6FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; 43C0871F6450B9E78D446124 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MD5.cpp"; path = "../../../../../modules/juce_cryptography/hashing/juce_MD5.cpp"; sourceTree = "SOURCE_ROOT"; }; - 43CFBB6C7966B05599C2EF1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlacAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 4417F54F37F30E4C74C6E525 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; }; 4435BB07E32DD1CE20C39367 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 44A65A3B60BCDA4EC97C1A10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -310,9 +293,7 @@ 45AF86AE84C0F53EFD0AD8E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageCache.h"; path = "../../../../../modules/juce_graphics/images/juce_ImageCache.h"; sourceTree = "SOURCE_ROOT"; }; 45D5492FCA78D56493818316 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormat.h"; path = "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; 45F73CCC7FB87EDDDC61B422 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WebBrowserComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 4622F41461A9F5CC78026CAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KnownPluginList.cpp"; path = "../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp"; sourceTree = "SOURCE_ROOT"; }; 466A9F12236DE37BACE09B42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LagrangeInterpolator.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; - 46B133D823CE97AF7F5C8F7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 475E1E61DFAC2CDC4DBC14B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; }; 4769340688C2F6A5594A47C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 47828A582B8937C8132488D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -323,7 +304,6 @@ 49420D1F1ACCC8B9AF38E071 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; }; 49AFBCDF0F1770D740559E52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; }; 49C492AED59C0BE2D0065B7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; }; - 49FF9D223B090B6A5EF0A442 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_audio_plugin_client/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 4A43E2F65187E76BA7247DC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; 4AE9ADC1EA86A99697C85590 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; }; 4AEBEBE4B90474886F481481 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -337,14 +317,12 @@ 4C15CA6FC99A36343CAEA7FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; 4C2521E196D9F39AEE5A9A3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginHostType.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_PluginHostType.h"; sourceTree = "SOURCE_ROOT"; }; 4C88E0FDC3F83F0EF487620A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; }; - 4CC978CFF6C2F65FD0283757 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; 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"; }; 4E61189BE360E1836A21EC3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; }; 4EA9286868B01C823FCDBA56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -355,6 +333,7 @@ 4F933C9EC68532064A2A6862 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel.h"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h"; sourceTree = "SOURCE_ROOT"; }; 4FD1EFAA5AE123C1FDDAAD07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MP3AudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 5039A250AF06AEC38C4E2944 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; }; + 5087D4BAAE6FE9828E8B8ED3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_VST_utils.mm"; path = "../../JuceLibraryCode/juce_audio_plugin_client_VST_utils.mm"; sourceTree = "SOURCE_ROOT"; }; 509EAB8A04273892F0DFB9AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -365,6 +344,7 @@ 51EC52C302A91D04D7852C8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Files.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; 52D07E91B7080B25CB7ED6F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedAudioFormatReader.h"; path = "../../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; 52DDB87AC124C5AC08BC387D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorGraph.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h"; sourceTree = "SOURCE_ROOT"; }; + 530EF6F2E307D0652B974CF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AU_1.mm"; path = "../../JuceLibraryCode/juce_audio_plugin_client_AU_1.mm"; sourceTree = "SOURCE_ROOT"; }; 5359007FF58F0E446ACBE348 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; 539A2442CB743B6A01BF0852 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; }; 53DA9754D2E65BD5FC519D02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -375,7 +355,6 @@ 54A9C4FC2DE90BDE60BF0519 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; }; 54ED3AEF6A560DA2A2C9A6A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginUtilities.cpp"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_PluginUtilities.cpp"; sourceTree = "SOURCE_ROOT"; }; 54FF73BE742C8C07481C342E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; }; - 55954824537DA68C94196CF3 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 55ACA0F958FF9E4C3420B8D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; 55E802D30D0C90CACE5A1507 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 5637A9A73A985297F5F15B4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; }; @@ -397,8 +376,10 @@ 59BCCAFE2BAAF12D52C2E4D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; }; 59D1F379F1100BA563ABC14B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTPluginFormat.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; 59F5C035A5C5B91F3DEEE4FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5AB6B81BA52870C0AD33341E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AAX.mm"; path = "../../JuceLibraryCode/juce_audio_plugin_client_AAX.mm"; sourceTree = "SOURCE_ROOT"; }; 5AD0D3D9D071EF79F4D2CEA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; 5B0B8A3938CE0F3DAB33C27B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Sampler.h"; path = "../../../../../modules/juce_audio_formats/sampler/juce_Sampler.h"; sourceTree = "SOURCE_ROOT"; }; + 5B391F3E3B16BFFA2E2E022F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AUv3_Wrapper.mm"; path = "../../../../../modules/juce_audio_plugin_client/AU/juce_AUv3_Wrapper.mm"; sourceTree = "SOURCE_ROOT"; }; 5B53101DF03F661003E571D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; }; 5C045A60C690BEA1949F0058 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Audio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; 5C19214F0B69A3870A60BB57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; @@ -410,7 +391,6 @@ 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"; }; 5E141F12062283522B42D8EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; 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"; }; @@ -422,7 +402,6 @@ 60887069093B99EFB6343769 = {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"; }; 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"; }; @@ -438,11 +417,11 @@ 635548BBD744D420AF8C746E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; }; 63C5FC2DA4CBD065C780D768 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; 63EADF1FD0F657A9526EFC14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 63ECB1B6A7032F52FD1426CB = {isa = PBXFileReference; lastKnownFileType = file.def; name = "juce_RTAS_WinExports.def"; path = "../../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_WinExports.def"; sourceTree = "SOURCE_ROOT"; }; 63F7E4F969AB0EE18F937A1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; 64C7F5482B135482355F6207 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; 6568C39813A01F8292C43180 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginListComponent.cpp"; path = "../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 656B561C18024F666338110D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; - 65CD5793B45D2D33CA74646E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 6660E40C2EC1B034F2ADF4D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemFactory.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h"; sourceTree = "SOURCE_ROOT"; }; 666A31978FB69AB0C300F424 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 6673EEDB3408D810CF0A43F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; }; @@ -464,7 +443,6 @@ 6966F44BE8B15F279DD220B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; }; 697C69452850D5C1756C89AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; }; 69B162683CA492C8029257F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_CameraDevice.cpp"; path = "../../../../../modules/juce_video/native/juce_win32_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; - 69B2E6C4996E538FBA2F0DE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUOutputBase.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUOutputBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 69C53B0B3EB4AED29A553C5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 6A075659E87CA389BE7638B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; 6A379B0CAB0C93AB550076F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -472,10 +450,10 @@ 6AE260B5C5FB523C9FD4640D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioUnitPluginFormat.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; 6B15B0E4FEBFDF7FCE76C50D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleMessageComponent.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 6B438A36E2EE87D56954A73C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; }; - 6B6BC26837948329DC9F76AB = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_audio_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 6BEE63786BE539AD97CB1F47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; }; 6BF7603CA1E14C2C80D40726 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 6C19FE63ACDD0EBD83309E01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6C612817F52B969A5F16CE94 = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Arpeggiator.framework; sourceTree = "BUILT_PRODUCTS_DIR"; }; 6CA1EB19C6F36C21C419221B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormatManager.cpp"; path = "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 6CD7ABDED0020E052216B77F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; 6D29860CEF10F07D5C9914EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLHelpers.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h"; sourceTree = "SOURCE_ROOT"; }; @@ -490,7 +468,6 @@ 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"; }; 7150191620777B001103827C = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudioKit.framework; path = System/Library/Frameworks/CoreAudioKit.framework; sourceTree = SDKROOT; }; 71D5F5EC90CD7A1059BB5F7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -516,18 +493,15 @@ 767D0E7F4407F03918727AD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; 776C04C7B34057F025DDE66D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_QuickTimeMovieComponent.mm"; path = "../../../../../modules/juce_video/native/juce_mac_QuickTimeMovieComponent.mm"; sourceTree = "SOURCE_ROOT"; }; 77DC16B3BD2388DA192C6647 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 7807EDBF280BD86BA4B54170 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUDispatch.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUDispatch.cpp"; sourceTree = "SOURCE_ROOT"; }; 78D0EFF6B00CF5212817A815 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; }; 790EAA1EDC414D531140EACD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; }; 79BAABFF142E737F1B69E92D = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; 79C50D9C6DE5E39776F58173 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; }; 79C5A1D41767B542933DBA72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; 7A7498DE64975C48348E349C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AAX_Wrapper.mm"; path = "../../../../../modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.mm"; sourceTree = "SOURCE_ROOT"; }; - 7AB443DA64083C900D748B1B = {isa = PBXFileReference; lastKnownFileType = file.r; name = "juce_AU_Resources.r"; path = "../../../../../modules/juce_audio_plugin_client/AU/juce_AU_Resources.r"; sourceTree = "SOURCE_ROOT"; }; 7ABF23E7BCFA4CDB0544DC8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_OpenSL.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp"; sourceTree = "SOURCE_ROOT"; }; 7AD47666B2CAF6C3EAE5A313 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; 7AD630FFC55965FB8A890772 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; }; - 7B68E1380A6F9D42CEC21D14 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_audio_processors/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 7B7BF481D99E9F925847185B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -547,7 +521,6 @@ 7FC0E4A1FA1C7A44F2EC5443 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 7FE651EF8AD0786A4CCA9CFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLHelpers.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp"; sourceTree = "SOURCE_ROOT"; }; 7FE8F6BCC7156AD27860D6E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceManager.cpp"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp"; sourceTree = "SOURCE_ROOT"; }; - 8050245A4FDA661B38C56FB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUBase.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 8094CC0901A13990DFC879AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReaderSource.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 80A52FDE45F694884F1523C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; 80FB36D5B92F25E25B501840 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; @@ -588,6 +561,7 @@ 894251560964A87E2BC4909A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentPeer.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h"; sourceTree = "SOURCE_ROOT"; }; 894E9C561AC434FC288A4E71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; }; 896F5130508C85B708AA564A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; }; + 8998F48F783F40A3C08AFD0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_VST2.cpp"; path = "../../JuceLibraryCode/juce_audio_plugin_client_VST2.cpp"; sourceTree = "SOURCE_ROOT"; }; 89C5AA5B6E8CF94B1B170BC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; 8A07E458232DB58AA67DD6D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; }; 8A64535D698A878E8431C0D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODeviceType.h"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h"; sourceTree = "SOURCE_ROOT"; }; @@ -599,6 +573,7 @@ 8C04D8DABC2942913A910430 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPlayHead.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioPlayHead.h"; sourceTree = "SOURCE_ROOT"; }; 8C726B77603CE8392105E520 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLTexture.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.h"; sourceTree = "SOURCE_ROOT"; }; 8CA9FA7385D634706DAF1689 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8D256AABEE9F2E8B11736E86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../JuceLibraryCode/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; 8DBF0E0133D6E47F1EA854C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 8EA738A3C5C1397273F0395B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; }; 90E93402AA2A9BEB06529BFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Slider.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -675,10 +650,8 @@ A3B49348A091E7AB374B453D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; }; A3CD317F3EE5C06F2EA1A08C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; A42D10D549BC0D20A8F94101 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLContext.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp"; sourceTree = "SOURCE_ROOT"; }; - A440F9DB1C395CE15CEA2DFE = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_gui_extra/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; A4934E1C24CBC9827ECC9149 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; }; A50D92F86A2EB7A30689A6CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; }; - A548F9E69AE986B2EB619FE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CarbonEventHandler.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CarbonEventHandler.cpp"; sourceTree = "SOURCE_ROOT"; }; A5CF048AD8F2FD41388B0FB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; }; A66B7243A44889DEEE50467C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; A67CA8CE7A776292BBF0A771 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; }; @@ -686,7 +659,6 @@ A70CD40E74861F0F74AF773F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; A726DEA0B31DF2ED2838A9DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; A79B07DB15B328363BE39CAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; }; - A7C5D1A29C28C505913F01F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUCarbonViewDispatch.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewDispatch.cpp"; sourceTree = "SOURCE_ROOT"; }; A7EF20D469A5BBFA195A10FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; }; A7FD8E227A733D8D7FDF8A18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputStream.h"; path = "../../../../../modules/juce_core/streams/juce_InputStream.h"; sourceTree = "SOURCE_ROOT"; }; A877191FBC55682722BEE674 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; }; @@ -708,14 +680,15 @@ 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"; }; + ACE47F30020C3E4144BD108A = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Arpeggiator.entitlements; path = Arpeggiator.entitlements; 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"; }; + AD33FF34F267508546D24E26 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-VST3.plist"; path = "Info-VST3.plist"; sourceTree = "SOURCE_ROOT"; }; AE29D4EFF513314D9F20C937 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; AE2F3704110604BE4CE711FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; }; AE4A2DE3D919CFC9864AD473 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; AE8FD51225B2EE1236EA6B7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; }; AEBFBF316C4C46E809E75948 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; AEC2C3E4D6FD3687B337E2B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3PluginFormat.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; - AED6A0E57D5F1CB9CEB1DECB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../../../../modules/juce_audio_devices/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; AED94368F213623E1308908A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; }; AF28E787D2143EC213AAD707 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; }; AF29767D1BBFFB2FC061FBD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -740,14 +713,15 @@ B4E1E74B0592674D8C84A040 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; }; B4F21FE2C6382633783FF727 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST3PluginFormat.cpp"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; B59F61A8729AD624747E535D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; + B61F1E0D31A376A3C251F16B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; B66B13F1CC2AFB46FE2BBB7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; }; B67F09CB3C82DBFF9C46647C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; B6AFC3373241669C6402F6D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; }; B6DA91B13BCE64E239DB0769 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; - B6E62CA67E425664815BB3FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MusicDeviceBase.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/MusicDeviceBase.cpp"; sourceTree = "SOURCE_ROOT"; }; B72C9BECB6F8437F8D1AB431 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; }; B82F9F15893C8C75414BB2D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; }; B86FFB991F7841AB991C4A68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + B88670F8C43CDC4E1C93F040 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../JuceLibraryCode/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; B89394626E9F23C27025D7B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModifierKeys.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h"; sourceTree = "SOURCE_ROOT"; }; B8C3F774ED9A0C46A43C71CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CPlusPlusCodeTokeniser.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; B8C6E4497BD264030302F083 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Synthesiser.cpp"; path = "../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -758,14 +732,11 @@ BA2245F4BF3B14E3F299B329 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; }; BA307BE1E213FA2C2FC90303 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Quaternion.h"; path = "../../../../../modules/juce_opengl/geometry/juce_Quaternion.h"; sourceTree = "SOURCE_ROOT"; }; BA48E3BD8995D2D55AB378B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLImage.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h"; sourceTree = "SOURCE_ROOT"; }; - BA528AB76690AF9F8ACE8A57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUCarbonViewBase.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewBase.cpp"; sourceTree = "SOURCE_ROOT"; }; BAF83EA0108C7776CCB5AFB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLFrameBuffer.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; BB129364B045C14D4C48C64A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; }; BBFCD9D00A034B9613AB18A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; - BC27929DAEAC6B259D898C9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUCarbonViewControl.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewControl.cpp"; sourceTree = "SOURCE_ROOT"; }; BC3D57A8496D6B16F30CD05E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; }; BC98FBECC88BAEE5DAC6A0CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Font.h"; path = "../../../../../modules/juce_graphics/fonts/juce_Font.h"; sourceTree = "SOURCE_ROOT"; }; - BCA4C93B24E774413746F944 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../../modules/juce_audio_basics/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; BCB8FA268E0576EC1E3C5C8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; }; BCFB2C87FB787F7BFCCD463D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTreeSynchroniser.cpp"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"; sourceTree = "SOURCE_ROOT"; }; BD0B17A0977C1AC492E7BB3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; }; @@ -774,6 +745,7 @@ BD57F71D127F56050D4D002D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; }; BDE78DB6F6B8189269511ED9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; BE7B750818F416A6A9F3E118 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLImage.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.cpp"; sourceTree = "SOURCE_ROOT"; }; + BED8FCD9183EF5E54F0E03BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../JuceLibraryCode/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; BEE6ECA6AA47943E918616E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; }; BFA67297423E95858391CA22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; BFECF594C2FD0446420DD833 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; }; @@ -781,7 +753,6 @@ C017F828FD2A3467C18C011D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; }; C074EBC958968B4BB00E0FE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; C093327FA834C040A78FD206 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Primes.h"; path = "../../../../../modules/juce_cryptography/encryption/juce_Primes.h"; sourceTree = "SOURCE_ROOT"; }; - C0EDB3E56321B663CEA2E600 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../../../../modules/juce_audio_formats/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; C10ABAA3BD59DAF94F6E8B19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; C155AA1B4897630C869644E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; }; C175608A57B2756CA559759E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; @@ -791,6 +762,7 @@ C207B42DBD931192FED30C23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; }; C25F6446C7B798B834916598 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; }; C2B80E174578A7BD91FA76CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; + C2D825F3154DD550AAA5290E = {isa = PBXFileReference; lastKnownFileType = file.rsr; name = "juce_RTAS_WinResources.rsr"; path = "../../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_WinResources.rsr"; sourceTree = "SOURCE_ROOT"; }; C2E269880B104D1E2FEFF081 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; }; C2F36C167B1F82716B343E1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Identifier.cpp"; path = "../../../../../modules/juce_core/text/juce_Identifier.cpp"; sourceTree = "SOURCE_ROOT"; }; C308951E47677BDBD013591B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -806,7 +778,6 @@ C50A7F0F1E44D056BA6A94A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; }; C5A9992B474C05D8CEF6799F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; }; C5AF6FAC02DCF0BB43E512F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Base64.cpp"; path = "../../../../../modules/juce_core/text/juce_Base64.cpp"; sourceTree = "SOURCE_ROOT"; }; - C5B4C33C4CACB952D0084A25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAStreamBasicDescription.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAStreamBasicDescription.cpp"; sourceTree = "SOURCE_ROOT"; }; C5CADF18CD457967F7D6727A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_CommonFile.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_CommonFile.cpp"; sourceTree = "SOURCE_ROOT"; }; C5D36BB9351C95D3FD8D9F94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; }; C609AAB8EED8AA8E3DB7ADDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -822,7 +793,6 @@ C85DC37FA77BE505BF92CC82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; }; C931F16DFBE4E14ADA76F36E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; C9CA7420E100BDB8BEBF9169 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDirectoryScanner.cpp"; path = "../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp"; sourceTree = "SOURCE_ROOT"; }; - CA015A7287D01104AE5E1553 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../../../../modules/juce_cryptography/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; CA57CE25D3529D9BEDB9387F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; }; CA69F6BC994936C8B14DB9DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; CA770EA7951A4A06312B74D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; @@ -835,8 +805,6 @@ CB0423C1CAC3F0CFC56DEBF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; CB4E1657499BD2FF5940573A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; }; CB9F9C32A3215BB9EA29564A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnection.cpp"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp"; sourceTree = "SOURCE_ROOT"; }; - CBDF4DF6A7679ECC81BACF3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUOutputElement.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUOutputElement.cpp"; sourceTree = "SOURCE_ROOT"; }; - CC1D358321D0FEE9363FAB5A = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_events/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; CC2246C0B5CD65742AF62C54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorGraph.cpp"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp"; sourceTree = "SOURCE_ROOT"; }; CC559586787FB85735F0E869 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; CC55CC9502C19A5AFE161657 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; }; @@ -853,6 +821,7 @@ CFC53DF49FFE72C3E03E144B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameterWithID.h"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h"; sourceTree = "SOURCE_ROOT"; }; CFEB5D729B84A70AE7F83390 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; D01C26439072DB6EA631409C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CoreAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + D025600CC5C87F6589458DF5 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-Shared_Code.plist"; path = "Info-Shared_Code.plist"; sourceTree = "SOURCE_ROOT"; }; D0360891DD9FB3D8A04557F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; D0970CCFF9ECE3E9DE992AD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; }; D0BD78E12072E613FE991406 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageComponent.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -869,6 +838,7 @@ D58D61AEA353B42D1905583A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; }; D61C2D56241425E9FA706660 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLShaderProgram.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.cpp"; sourceTree = "SOURCE_ROOT"; }; D6637E63530A6CA5A1E34E7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; }; + D67D2A6E5C3F59CD621EA248 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FFT.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_FFT.cpp"; sourceTree = "SOURCE_ROOT"; }; D6854EFAC3CA722C839D8E5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; D6933D89D33E8EC119DD7F00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; D6A29DF6E729F492FC67438E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KnownPluginList.h"; path = "../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h"; sourceTree = "SOURCE_ROOT"; }; @@ -883,44 +853,40 @@ D8882263BE4EE05B47117074 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_RuntimePermissions.cpp"; path = "../../../../../modules/juce_core/native/juce_android_RuntimePermissions.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"; }; + D8F52EB57878B5762C0FD866 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../JuceLibraryCode/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; D92A8BCA53C081C8A7B8C97A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; }; + D98341182A767E1AA6E40ECA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResamplingAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; D9C70854AE8E65AC508B433B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; D9E681AC6B3A9CA5F2FC1EA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BooleanPropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; D9EE28830510345F6C32FFAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyListener.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h"; sourceTree = "SOURCE_ROOT"; }; + DA0A7A52519D940C4411D23C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; }; DA258B9F933143DF5AAA43B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLGraphicsContext.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; DA4367070DD1561B28355941 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; }; DAB01420B5EC8DF3067D57C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; }; DAF907ABF4DE87F35748F3D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_formats.h"; path = "../../../../../modules/juce_audio_formats/juce_audio_formats.h"; sourceTree = "SOURCE_ROOT"; }; DBDBCD141BE8A16BC15EEB2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; }; DC6400CB6526711C8D3B02A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; }; - DCF9F4ED549A3C2318247B0E = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_audio_devices/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; - DD833F22E3C4F178833099EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; }; - DE3E2E49819D521BB2714F3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - DF297548426FD2E74B1A011E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorEditor.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; - E06C44C9919D6BEA39ADD6DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.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"; }; - E54BB76B739DAD6A6A2CADDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WavAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; - E6F7CAADB46C85C02D79E432 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp"; sourceTree = "SOURCE_ROOT"; }; - F175178B06C128804FE8B2DD = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; - 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"; }; - D67D2A6E5C3F59CD621EA248 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FFT.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_FFT.cpp"; sourceTree = "SOURCE_ROOT"; }; - D98341182A767E1AA6E40ECA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResamplingAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; - DA0A7A52519D940C4411D23C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; }; DC7D445397BE2D6B9CA5E028 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + DD833F22E3C4F178833099EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; }; DD9043EC83BFC1DC8EF57868 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; }; DDD3A80CE6EADF7C19B52C00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + DE0DBA6DFFF3F7B3024D78AF = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-AAX.plist"; path = "Info-AAX.plist"; sourceTree = "SOURCE_ROOT"; }; + DE3E2E49819D521BB2714F3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + DF297548426FD2E74B1A011E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorEditor.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; DF9BC1627F11E58C4E294F04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; }; DFB11A01A5F93DE884F33906 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; }; E02C32444D0AB4B491EAC31A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; }; + E06C44C9919D6BEA39ADD6DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; }; E09104861140563DE73A0329 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + E2F7D83F51D8257B263771B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../JuceLibraryCode/juce_audio_processors.mm"; 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"; }; + E39E8398B8A26F3F99A37341 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-AU.plist"; path = "Info-AU.plist"; sourceTree = "SOURCE_ROOT"; }; E3CBE4CAE0CDA467C0CCED9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; }; E3FDBAE011E9EE9FD1A85FAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; E456C1440250FE4DEFFEF5AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLFrameBuffer.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h"; sourceTree = "SOURCE_ROOT"; }; @@ -932,10 +898,12 @@ E5277016CA6722F001B92408 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; E53A58995768A278F1113BCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; E542AE45B51CE76A1FA7553C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Vector3D.h"; path = "../../../../../modules/juce_opengl/geometry/juce_Vector3D.h"; sourceTree = "SOURCE_ROOT"; }; + E54BB76B739DAD6A6A2CADDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WavAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; E54F26E09F9C98D1F53AB517 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SHA256.h"; path = "../../../../../modules/juce_cryptography/hashing/juce_SHA256.h"; sourceTree = "SOURCE_ROOT"; }; E671D1B76872FD27DEA2BA6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterInt.h"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h"; sourceTree = "SOURCE_ROOT"; }; E67FA1075C36B536E2753A2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableEdgeComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; E6A71314C8ACF78D6A4C243C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; }; + E6F7CAADB46C85C02D79E432 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp"; sourceTree = "SOURCE_ROOT"; }; E6FCC7E47574DFBEF222A74B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; }; E700239ADBE7DEDA333FE7A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; }; E72D5327D14110C205EC9ABF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; }; @@ -959,6 +927,7 @@ EBED719E6FDBBE3473CD8FFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Midi.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; EBFE7ACD399E7C7F30762156 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiInput.h"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h"; sourceTree = "SOURCE_ROOT"; }; EC31A0D1FC5868D414573AE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + EC519AF44CCE0881235FB4EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_utils.cpp"; path = "../../JuceLibraryCode/juce_audio_plugin_client_utils.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"; }; @@ -966,34 +935,33 @@ 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"; }; EE427AF2FF55C0F15FC75CCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + EE9F607958A73BD8084C690D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../JuceLibraryCode/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; EEE77CF0D58771039499047C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; - EF849D7AC1EE182A681688E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAAudioChannelLayout.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAudioChannelLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + EF01A1FC7C85F759038CC4D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; EFCABE77C46DF57C4A115D35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LAMEEncoderAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; F04DF2587A3735FD7CBD29C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FakeMouseMoveGenerator.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_FakeMouseMoveGenerator.h"; sourceTree = "SOURCE_ROOT"; }; F05C2A7C59522867174911EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_win32.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_win32.h"; sourceTree = "SOURCE_ROOT"; }; F0A17AE5EBBD91BD44AC2DDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiBuffer.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; F0B3523750CADDF5FB1BBF93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; }; - F0C3DA304E28C86EA46626CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../../../../modules/juce_opengl/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; F0CD88F5BC44DAFFB048D959 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; F0EDC758B738494603D96566 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; }; F111D37EE566120B6FB68DEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; }; F14CDF0462EBEDEE9BA22F1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; }; + F175178B06C128804FE8B2DD = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; F1790C723923E2E4BAEF39F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; }; F1DC3498F703C947C4341167 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; }; F20FF370FABE6F8B9A91EE16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; F25B3C734D1776CF6E87EE8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; F2ECE1178FFC1E48742FE6A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - F32BBD5FAFF317AA831ADB63 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_data_structures/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + F3329DC874973DF520276066 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AU_2.mm"; path = "../../JuceLibraryCode/juce_audio_plugin_client_AU_2.mm"; sourceTree = "SOURCE_ROOT"; }; F3462C3C4D10ED70A8EADC77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; }; F3863870BC90E557B58BFF64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; F3932F10F0BB15FDC4B3FCCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; }; F3ACB6DE3915DDD06925799D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiser.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; - F3C7F75DE1EEB64D6FF4786D = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_cryptography/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; F3E4495446E5E75F3AFAB466 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; F3F66A53F2EEAED105A83E5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReaderSource.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h"; sourceTree = "SOURCE_ROOT"; }; F4451645A03CFFD1D8C8BF58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_ClangBugWorkaround.h"; path = "../../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h"; sourceTree = "SOURCE_ROOT"; }; F4AFD4E9AEACE1644C6E9A38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; - F53482E8CB053854980E8C86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAAUParameter.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAUParameter.cpp"; sourceTree = "SOURCE_ROOT"; }; F57574FC47D7AF891F3295C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LAMEEncoderAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h"; 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"; }; F65C6FEA297DBD53427E4038 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -1012,6 +980,7 @@ 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"; }; FAA620FEDA9C820373E684D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + FAC1B0E5511BBD94A50A2E49 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; FBC3851FAB8CCED771CB20BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CameraDevice.h"; path = "../../../../../modules/juce_video/capture/juce_CameraDevice.h"; sourceTree = "SOURCE_ROOT"; }; FBED251F42BE8287FBC5D1C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; FC6FF5C300E9FCE4B246D6A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; @@ -1114,9 +1083,12 @@ F35A50D2D034136B6D91E2B2, 6F72B2B6AAA728BF3FE71551, 7F3E0419F9C0DBCF92B84C6D, - 6B6BC26837948329DC9F76AB, 1AEDC787DD547DD40727B3AD, ); name = "juce_audio_basics"; sourceTree = ""; }; - B5571584010E7737E68C42DC = {isa = PBXGroup; children = ( + B00A24F8D804AF4080C32CD3 = {isa = PBXGroup; children = ( + 35D50824AD807A721FA1ED0D, + 0006D862EC3A374B150CC1FD, + 81D8A366649648469D2DC760, ); name = "audio_cd"; sourceTree = ""; }; + B2846FD126978E81E6CF70E0 = {isa = PBXGroup; children = ( 7FE8F6BCC7156AD27860D6E4, 1AA75C2ACEBBC88A9690CA64, 29BF1F5D248E3ECC4C3D187C, @@ -1124,22 +1096,13 @@ 867C3B1BCE6F830734F490B0, 8A64535D698A878E8431C0D8, A192DA6FDD08662E55DE912F, ); name = "audio_io"; sourceTree = ""; }; - 96C6F62AC99E22623B617A51 = {isa = PBXGroup; children = ( + D9177A15433D3905F7DE4473 = {isa = PBXGroup; children = ( EBFE7ACD399E7C7F30762156, 7BC8E6DF436B44F55237F9A6, D6637E63530A6CA5A1E34E7C, E6F7CAADB46C85C02D79E432, 546CE08C45FAEC27AB62A360, ); name = "midi_io"; sourceTree = ""; }; - 836AAA7878CE2E15DCF7FFDF = {isa = PBXGroup; children = ( - 6A379B0CAB0C93AB550076F4, - 08C67D8F898198038E7B55B1, - 2A7EED1861BF3B69BF30B895, - 0A6F3D20A53C3556D04EBFF9, ); name = sources; sourceTree = ""; }; - ADFA14C127E60405E56146CD = {isa = PBXGroup; children = ( - 35D50824AD807A721FA1ED0D, - 0006D862EC3A374B150CC1FD, - 81D8A366649648469D2DC760, ); name = "audio_cd"; sourceTree = ""; }; - 15E42162BEB5CFC99C395539 = {isa = PBXGroup; children = ( + EA0DFC437B6458665E5E0AEF = {isa = PBXGroup; children = ( 5C045A60C690BEA1949F0058, BD2C45FADC3EEA943520059D, 7ABF23E7BCFA4CDB0544DC8B, @@ -1159,31 +1122,19 @@ 39E39B9AFF88B9F835F957D0, F6E7047A4B14DF67FC06B116, 50F39057CB7BDC9068D7F3E4, ); name = native; sourceTree = ""; }; + 6E8FA25D077755223BC86D7C = {isa = PBXGroup; children = ( + 6A379B0CAB0C93AB550076F4, + 08C67D8F898198038E7B55B1, + 2A7EED1861BF3B69BF30B895, + 0A6F3D20A53C3556D04EBFF9, ); name = sources; sourceTree = ""; }; 9B4021595672E4CE56049355 = {isa = PBXGroup; children = ( - B5571584010E7737E68C42DC, - 96C6F62AC99E22623B617A51, - 836AAA7878CE2E15DCF7FFDF, - ADFA14C127E60405E56146CD, - 15E42162BEB5CFC99C395539, - DCF9F4ED549A3C2318247B0E, + B00A24F8D804AF4080C32CD3, + B2846FD126978E81E6CF70E0, + D9177A15433D3905F7DE4473, + EA0DFC437B6458665E5E0AEF, + 6E8FA25D077755223BC86D7C, 4F64864B8C89AC8CE0C7AE55, ); name = "juce_audio_devices"; sourceTree = ""; }; - FD85D14991BDF4DC4B018D57 = {isa = PBXGroup; children = ( - 23E177D6A88134FB2ACD7628, - 35A89273665F75DDA18CDC47, - 86FD44F4DA4399B817CA1B65, - 743A7F36F05E6094E49E5983, - 055518CF86E540F102797639, - E7A1D0C8F514D56B950875A5, - 8094CC0901A13990DFC879AC, - F3F66A53F2EEAED105A83E5A, - 4B11A05A3882766130E5B82F, - 9AD0AD199A93E9FBDEA73DD7, - 6C19FE63ACDD0EBD83309E01, - 673F3D42A0B3727A15559503, - 7E7C9B3A5011D8B359BCCB34, - 91CDF5D34E5E7A2AE2395AFE, - 52D07E91B7080B25CB7ED6F4, ); name = format; sourceTree = ""; }; - BA85C6DA6F55BB10A0797FC5 = {isa = PBXGroup; children = ( + D7591D7D9693C0E71B1BBAA6 = {isa = PBXGroup; children = ( DE3E2E49819D521BB2714F3C, 61E35FDB62BAAE1F600E2BA5, D01C26439072DB6EA631409C, @@ -1202,34 +1153,51 @@ E54BB76B739DAD6A6A2CADDB, CC559586787FB85735F0E869, 86700606E829607118843514, ); name = codecs; sourceTree = ""; }; + 8F1EA565A9177BD1A9586F3D = {isa = PBXGroup; children = ( + 23E177D6A88134FB2ACD7628, + 35A89273665F75DDA18CDC47, + 86FD44F4DA4399B817CA1B65, + 743A7F36F05E6094E49E5983, + 055518CF86E540F102797639, + E7A1D0C8F514D56B950875A5, + 8094CC0901A13990DFC879AC, + F3F66A53F2EEAED105A83E5A, + 4B11A05A3882766130E5B82F, + 9AD0AD199A93E9FBDEA73DD7, + 6C19FE63ACDD0EBD83309E01, + 673F3D42A0B3727A15559503, + 7E7C9B3A5011D8B359BCCB34, + 91CDF5D34E5E7A2AE2395AFE, + 52D07E91B7080B25CB7ED6F4, ); name = format; sourceTree = ""; }; FDD2EBCF9D6499F8A06104F1 = {isa = PBXGroup; children = ( 0F1E7837A0941C47E29A47BB, 5B0B8A3938CE0F3DAB33C27B, ); name = sampler; sourceTree = ""; }; E697DD5B6A03925CF969A35B = {isa = PBXGroup; children = ( - FD85D14991BDF4DC4B018D57, - BA85C6DA6F55BB10A0797FC5, + D7591D7D9693C0E71B1BBAA6, + 8F1EA565A9177BD1A9586F3D, FDD2EBCF9D6499F8A06104F1, - 34598FD58DF590AF07F907D9, DAF907ABF4DE87F35748F3D6, ); name = "juce_audio_formats"; sourceTree = ""; }; - BA137B835216E7860F255BD8 = {isa = PBXGroup; children = ( - 7E48708D1F7B5C675C2317FA, ); name = AU; sourceTree = ""; }; - BBB57EBD2A76DB948EC98113 = {isa = PBXGroup; children = ( + A804F290D9704F964B9415C5 = {isa = PBXGroup; children = ( + 38286B4A32B4D3C255E0A871, + 7A7498DE64975C48348E349C, ); name = AAX; sourceTree = ""; }; + 5D8907824BAB5C285FD9311F = {isa = PBXGroup; children = ( + 3C5308C4C1F27A3EDA01A6AE, + 7E48708D1F7B5C675C2317FA, + 5B391F3E3B16BFFA2E2E022F, ); name = AU; sourceTree = ""; }; + 6B77C46123F1BF954B9FEF92 = {isa = PBXGroup; children = ( + 60887069093B99EFB6343769, 26EFE7738F4209B87E675B48, 8495D4AC707047B56331794B, 09E8A551CD342D08E0FCFC7E, - 85762464FE37AFE1886FEC22, - EBC20070F34FA195234BE6DF, 2C88000D1FD0FF38CE9A45DC, - 60887069093B99EFB6343769, ); name = RTAS; sourceTree = ""; }; - 4A8BF3CB342DCD2D42D60102 = {isa = PBXGroup; children = ( - 0462FCF4041854C357138EB2, - C18A26D290AB9B1B16DDF330, ); name = VST; sourceTree = ""; }; - 9FC2F3B15D93AF1C9AC7F887 = {isa = PBXGroup; children = ( - EAAA5DE166254FF08BBF56C4, ); name = VST3; sourceTree = ""; }; - 55374ACF6A20F57BAC5F9E6F = {isa = PBXGroup; children = ( - 38286B4A32B4D3C255E0A871, - 7A7498DE64975C48348E349C, ); name = AAX; sourceTree = ""; }; - B381CDF1DDA6CD242A1F719F = {isa = PBXGroup; children = ( + 63ECB1B6A7032F52FD1426CB, + C2D825F3154DD550AAA5290E, + 85762464FE37AFE1886FEC22, + EBC20070F34FA195234BE6DF, ); name = RTAS; sourceTree = ""; }; + FB7E083107E107691B126E3F = {isa = PBXGroup; children = ( + 4383F22A2A80A06AD2CC494A, + 12351FF0F32DCFFD8F9B753E, ); name = Standalone; sourceTree = ""; }; + CC28291FC513C989C9C19EC5 = {isa = PBXGroup; children = ( 391348A415637487C38D51AF, 689997DCF29C4EA0BBE54FB3, F04DF2587A3735FD7CBD29C0, @@ -1239,16 +1207,38 @@ 4C2521E196D9F39AEE5A9A3C, 54ED3AEF6A560DA2A2C9A6A1, 73967B10B92F7FAB36839F0C, ); name = utility; sourceTree = ""; }; + 4139640D15546FA905BE8647 = {isa = PBXGroup; children = ( + 0462FCF4041854C357138EB2, + C18A26D290AB9B1B16DDF330, ); name = VST; sourceTree = ""; }; + 90335C07D42B71E19668B6A5 = {isa = PBXGroup; children = ( + EAAA5DE166254FF08BBF56C4, ); name = VST3; sourceTree = ""; }; 7FF931018B659697B544BFF0 = {isa = PBXGroup; children = ( - BA137B835216E7860F255BD8, - BBB57EBD2A76DB948EC98113, - 4A8BF3CB342DCD2D42D60102, - 9FC2F3B15D93AF1C9AC7F887, - 55374ACF6A20F57BAC5F9E6F, - B381CDF1DDA6CD242A1F719F, - 49FF9D223B090B6A5EF0A442, + A804F290D9704F964B9415C5, + 5D8907824BAB5C285FD9311F, + 6B77C46123F1BF954B9FEF92, + FB7E083107E107691B126E3F, + CC28291FC513C989C9C19EC5, + 4139640D15546FA905BE8647, + 90335C07D42B71E19668B6A5, 735F5B2D82B337DC3E3F2B4C, ); name = "juce_audio_plugin_client"; sourceTree = ""; }; - CDBAAC426F55B6F8924A180A = {isa = PBXGroup; children = ( + CEC23FE988BAA1A4D1D78965 = {isa = PBXGroup; children = ( + 9FDB51EECD49FDCCA59044D8, + 45D5492FCA78D56493818316, + 6CA1EB19C6F36C21C419221B, + 82A9C5375121FE33CC7F40BC, ); name = format; sourceTree = ""; }; + 3C0FBEDCB02B0C0AE3C206F3 = {isa = PBXGroup; children = ( + 6AE260B5C5FB523C9FD4640D, + 6FCC51A0993766D53206A13B, + 979712708B1E25F1C971B73B, + 091A10CFA01394E26C54AFB0, + D1D43810FD94A2728CC43D7F, + 984BE3EEB980581B9CF1BD1C, + B4F21FE2C6382633783FF727, + AEC2C3E4D6FD3687B337E2B2, + 9ECB42E31DD6B72D21BC4195, + 738D739A17DA063893459D74, + 59D1F379F1100BA563ABC14B, ); name = "format_types"; sourceTree = ""; }; + DCC42A0FDA294880B0F18C3C = {isa = PBXGroup; children = ( CA993FA3EB1F4457AE3FDD4B, 5039A250AF06AEC38C4E2944, 8C04D8DABC2942913A910430, @@ -1265,23 +1255,6 @@ 837A1CD7F661E55CE457AF36, 1F1F45E88D89328ABE527F50, 5CF362F3F89B2CA00EF86107, ); name = processors; sourceTree = ""; }; - 29EAB89D03FB4A15DB775A65 = {isa = PBXGroup; children = ( - 9FDB51EECD49FDCCA59044D8, - 45D5492FCA78D56493818316, - 6CA1EB19C6F36C21C419221B, - 82A9C5375121FE33CC7F40BC, ); name = format; sourceTree = ""; }; - 0AB26B170601E70D46F20BB0 = {isa = PBXGroup; children = ( - 6AE260B5C5FB523C9FD4640D, - 6FCC51A0993766D53206A13B, - 979712708B1E25F1C971B73B, - 091A10CFA01394E26C54AFB0, - D1D43810FD94A2728CC43D7F, - 984BE3EEB980581B9CF1BD1C, - B4F21FE2C6382633783FF727, - AEC2C3E4D6FD3687B337E2B2, - 9ECB42E31DD6B72D21BC4195, - 738D739A17DA063893459D74, - 59D1F379F1100BA563ABC14B, ); name = "format_types"; sourceTree = ""; }; A3CD76C7C477B51F33870031 = {isa = PBXGroup; children = ( 4622F41461A9F5CC78026CAA, D6A29DF6E729F492FC67438E, @@ -1299,65 +1272,13 @@ 4538E0CC75638572E0AB6F5D, 9ADD1D5D091D77E36ED23DC5, ); name = utilities; sourceTree = ""; }; 18257A0DC7986102E9271656 = {isa = PBXGroup; children = ( - CDBAAC426F55B6F8924A180A, - 29EAB89D03FB4A15DB775A65, - 0AB26B170601E70D46F20BB0, + CEC23FE988BAA1A4D1D78965, + 3C0FBEDCB02B0C0AE3C206F3, + DCC42A0FDA294880B0F18C3C, A3CD76C7C477B51F33870031, B83F565F3FBADBBB4B9281ED, - 7B68E1380A6F9D42CEC21D14, CEF05823FBA7C824BF7E2217, ); name = "juce_audio_processors"; sourceTree = ""; }; - 86D68CD120C7D7C25BE3FADC = {isa = PBXGroup; children = ( - C5AF6FAC02DCF0BB43E512F7, - 5DDC06B78943DE8EE8019F93, - AF3E748F017DCB096F2010AF, - A314AE4F8F7681C94A6D7F71, - E7977B8BB288C866AD3E8BF7, - FC901AD682ED3BC9A5D553BB, - C5A9992B474C05D8CEF6799F, - B59F61A8729AD624747E535D, - C2F36C167B1F82716B343E1A, - E73028CA2D545D05A96A81FC, - 05FDE473035418E9F261D3FE, - 6E7F762907BDC37A3F52F75A, - 6A84D1E3AB93AD15EA7EC420, - 7ED6C71D661AEFC0A5CEFB51, - 1AFE6520DA03E9EEEBD6635C, - 99EC35FE84A139EC412884EE, - 57982076F48853C239423EE6, - 4D3E4D2991E77F61EE7FB496, - BFECF594C2FD0446420DD833, - 4F6A7C1AD6E7135905A9B083, - 152066FBE6F7FF3D1E7F487A, - 5C26F49D71004A08E3A0CF1E, - 53FEDB9F7251B436B650A686, - A79B07DB15B328363BE39CAD, ); name = text; sourceTree = ""; }; - 30AA5DAB93D9FDB8D2600532 = {isa = PBXGroup; children = ( - 690AC6BB512004D030142220, - 688F6AD0D4CB5064530296FA, - C074EBC958968B4BB00E0FE3, - 60D827697FC6A9DC7EB2A1D9, - 7302C6A9643DBAAE038F6852, - 0A9B2CB9CFBE3C8F86CEDB49, - 41A9981696960C4B09746E63, - D8CA7F4025AE3A715CD4F242, - 4535CD39E01BF704706F59FB, - 5E141F12062283522B42D8EE, ); name = maths; sourceTree = ""; }; - 16373F311B83DBA074AB734B = {isa = PBXGroup; children = ( - 8279F272A781F072C109DC98, - 2D0FF4338F332D5D2EF467BA, - 6066327446579AEB6131550F, - 790EAA1EDC414D531140EACD, - 3E98E3F4125BE92757B3785D, - DA0A7A52519D940C4411D23C, - C1AF9163089C64C157ADC646, - 03A0E98730249C2FEF14500F, - C71190ADD758B74B9A235B27, - 0298E00E1A18200242AC069C, - C4B3E2BC33DD5CE9C2F64CB5, - B48A88558C61104240BB677A, - B03946A7332A9CA655E47260, - 34D919EE29BFF65E7B058F7B, ); name = memory; sourceTree = ""; }; - 9499F09B298014E982190A48 = {isa = PBXGroup; children = ( + 24113135B96D9DB8405BA6FD = {isa = PBXGroup; children = ( E4EBE41A7A39C23DD1C35CA0, E9D514DF14180AAC8013083A, 160B3BC74F358E778FD4AD67, @@ -1379,37 +1300,7 @@ 3EACD224C0545921B299C0CE, FBED251F42BE8287FBC5D1C2, 09E390AA7B1FE6AD560030B7, ); name = containers; sourceTree = ""; }; - A59EC08A802688DDEBDD37A8 = {isa = PBXGroup; children = ( - F25B3C734D1776CF6E87EE8A, - E53A58995768A278F1113BCC, - BFA67297423E95858391CA22, - 37506BAF1DE7956F29B94FC3, - 9839BDAE01D6E775EB7083C6, - BC3D57A8496D6B16F30CD05E, - 60056464347F5AB0DB5C7392, - 8BC3860A462D44222F624DB9, - 3F21EE81799D044AAA159766, - 056162DB2F31CDEC1A6C891D, - 32AAD6851954F58C57AAF699, - 3D81F640FA89136773847667, - D6933D89D33E8EC119DD7F00, - A877191FBC55682722BEE674, - 34E23BC027A8B05CC5F418FC, - E19EED16694ACA3701319473, - 681AE4154AF1983E325F805C, - 0496E5839A51835BB5FF93DD, - 5DC3F807B9FD5319F2A3651A, - 8A888B3BA6C2B669D255B171, - DD9043EC83BFC1DC8EF57868, - E6A71314C8ACF78D6A4C243C, ); name = threads; sourceTree = ""; }; - 5F5C67DB4866EE0E914FD09C = {isa = PBXGroup; children = ( - B9EF73FAFB8DD5781C98587C, - A7EF20D469A5BBFA195A10FB, - 616A14F72BE19655866F9808, - C444DAEF136B74E73ED85A40, - C50A7F0F1E44D056BA6A94A9, - 0F25E9C8B1848C4B8922BFE9, ); name = time; sourceTree = ""; }; - 9FA8421FBE7B86038DB291C1 = {isa = PBXGroup; children = ( + 59EAEE5D018D944B4D911DD2 = {isa = PBXGroup; children = ( 55ACA0F958FF9E4C3420B8D2, 709A020234578C644C580BFF, 51DECB09AB2D7EE7288014B7, @@ -1427,66 +1318,43 @@ DD833F22E3C4F178833099EE, 25D3E152A4A2A6C8C3CE0FD8, 63C5FC2DA4CBD065C780D768, ); name = files; sourceTree = ""; }; - E5BF920536D2752168EEC181 = {isa = PBXGroup; children = ( - 0D615752F26D4369E708FA71, - 6966F44BE8B15F279DD220B4, - A70CD40E74861F0F74AF773F, - B076487D097918E3D510801B, - 5AD0D3D9D071EF79F4D2CEA9, - 159EEFE7D5A5EE877FCEDA9F, - 1C510CCD7B8234F455CAB860, - 1727DCA5EF0641010D04F7A1, - 10632C4F008A111031D05448, - 1391051B07375667336EF320, ); name = network; sourceTree = ""; }; - 09E7F5F7371CCDF3E188F820 = {isa = PBXGroup; children = ( - 666A31978FB69AB0C300F424, - C18684F220FB0814153BE4E0, - F20FF370FABE6F8B9A91EE16, - B3F35EAEEB32BFA5250B0083, - 4577613E4F31381535A05F83, - 4435BB07E32DD1CE20C39367, - A7FD8E227A733D8D7FDF8A18, - F5B6DC6A96EF0A5FE46C3DA0, - 1CAA2344959E3119A1FD81FD, - 68B285955D0CA37D80B32C52, - 9E2B4A512419565FDA7C1E9B, - C931F16DFBE4E14ADA76F36E, - 8184301C69D7AD1CCD0151F5, - 37CB0A4D4B303E50117CE937, - 598EBD3B89A10DFBCD14314C, ); name = streams; sourceTree = ""; }; - B4C364A982428B101F77CD31 = {isa = PBXGroup; children = ( - 140715EB943E21564EBCF34B, - 08DE9AECCB957725B8CF2939, - 3BEF840C88D9862A0FC85942, - 47C8734E53B5CB91EC39C589, ); name = logging; sourceTree = ""; }; - 4F3C5D80FF499F66AF47AAC2 = {isa = PBXGroup; children = ( - 4BDD4F273422E965926BB39C, - EE39BF0D5B60F251A414EAC2, - 5D772B2770B73BDA1AF8B815, - 889A076E2701F552B5FEF800, - B2315CF4C3757346D888D3DB, - DFB11A01A5F93DE884F33906, ); name = system; sourceTree = ""; }; - AB1315D86237F08759173ABA = {isa = PBXGroup; children = ( - 3E6F506A01B3C306158AC0D0, - FC834EDE6FBC3673B234A2E2, - 7BD5243B77DAE17EA12970BA, - A88D5A9910F5A4C31BD87DF3, ); name = xml; sourceTree = ""; }; - 9E9CFFCC62CC9944C101E023 = {isa = PBXGroup; children = ( + B023E6714A3733C243754145 = {isa = PBXGroup; children = ( 8A07E458232DB58AA67DD6D6, 78D0EFF6B00CF5212817A815, 30C6744AD7589406A556BB04, 1B52A6301832DDDC24CF78EB, ); name = javascript; sourceTree = ""; }; - 39873E98A19F454E5B0F1E7D = {isa = PBXGroup; children = ( - 7B7BF481D99E9F925847185B, - FAA620FEDA9C820373E684D2, - F2ECE1178FFC1E48742FE6A5, - 0D26949FF7CA2C08085377A4, - E4978F7BCEC3B2D9C6E3B463, - 02898E6A1F367D9992579BAE, ); name = zip; sourceTree = ""; }; - 0827735517BB0502EBE1C184 = {isa = PBXGroup; children = ( - 34F7EF8094F8E02C29C9851B, - AFC9146FE0BAFFDCFD121F03, ); name = "unit_tests"; sourceTree = ""; }; - 62EF479A01388D72DBE74C49 = {isa = PBXGroup; children = ( + 8EAD9C97287083A1EA8797B2 = {isa = PBXGroup; children = ( + 140715EB943E21564EBCF34B, + 08DE9AECCB957725B8CF2939, + 3BEF840C88D9862A0FC85942, + 47C8734E53B5CB91EC39C589, ); name = logging; sourceTree = ""; }; + 35274B483A143F648555639C = {isa = PBXGroup; children = ( + 690AC6BB512004D030142220, + 688F6AD0D4CB5064530296FA, + C074EBC958968B4BB00E0FE3, + 60D827697FC6A9DC7EB2A1D9, + 7302C6A9643DBAAE038F6852, + 0A9B2CB9CFBE3C8F86CEDB49, + 41A9981696960C4B09746E63, + D8CA7F4025AE3A715CD4F242, + 4535CD39E01BF704706F59FB, + 5E141F12062283522B42D8EE, ); name = maths; sourceTree = ""; }; + 59AC9ED2D8214F004DDCADF3 = {isa = PBXGroup; children = ( + 8279F272A781F072C109DC98, + 2D0FF4338F332D5D2EF467BA, + 6066327446579AEB6131550F, + 790EAA1EDC414D531140EACD, + 3E98E3F4125BE92757B3785D, + DA0A7A52519D940C4411D23C, + C1AF9163089C64C157ADC646, + 03A0E98730249C2FEF14500F, + C71190ADD758B74B9A235B27, + 0298E00E1A18200242AC069C, + C4B3E2BC33DD5CE9C2F64CB5, + B48A88558C61104240BB677A, + B03946A7332A9CA655E47260, + 34D919EE29BFF65E7B058F7B, ); name = memory; sourceTree = ""; }; + 407D85B1D2CD0B1730D04ED3 = {isa = PBXGroup; children = ( BCB8FA268E0576EC1E3C5C8C, 475E1E61DFAC2CDC4DBC14B8, 38611AE4F0B78E647A39BDD4, @@ -1494,7 +1362,7 @@ 06226074569D4153DBF2B89A, 43AC2AFE626BBAE13688C6FD, BD0E33F2C7A47033C3C530C0, ); name = misc; sourceTree = ""; }; - FF7FB1E177B3867A190A4C70 = {isa = PBXGroup; children = ( + 5D30F34D74D80204F34009C8 = {isa = PBXGroup; children = ( CAD8005D0F6DA5133957F9BE, 9505177FDBE77061A7AF8E65, A108A51E35F519769877E045, @@ -1524,25 +1392,128 @@ C5D36BB9351C95D3FD8D9F94, E3FDBAE011E9EE9FD1A85FAD, 4AEBEBE4B90474886F481481, ); name = native; sourceTree = ""; }; + F5E80F0BCE05956B49D2D26F = {isa = PBXGroup; children = ( + 0D615752F26D4369E708FA71, + 6966F44BE8B15F279DD220B4, + A70CD40E74861F0F74AF773F, + B076487D097918E3D510801B, + 5AD0D3D9D071EF79F4D2CEA9, + 159EEFE7D5A5EE877FCEDA9F, + 1C510CCD7B8234F455CAB860, + 1727DCA5EF0641010D04F7A1, + 10632C4F008A111031D05448, + 1391051B07375667336EF320, ); name = network; sourceTree = ""; }; + 0530C5406607103C14822B97 = {isa = PBXGroup; children = ( + 666A31978FB69AB0C300F424, + C18684F220FB0814153BE4E0, + F20FF370FABE6F8B9A91EE16, + B3F35EAEEB32BFA5250B0083, + 4577613E4F31381535A05F83, + 4435BB07E32DD1CE20C39367, + A7FD8E227A733D8D7FDF8A18, + F5B6DC6A96EF0A5FE46C3DA0, + 1CAA2344959E3119A1FD81FD, + 68B285955D0CA37D80B32C52, + 9E2B4A512419565FDA7C1E9B, + C931F16DFBE4E14ADA76F36E, + 8184301C69D7AD1CCD0151F5, + 37CB0A4D4B303E50117CE937, + 598EBD3B89A10DFBCD14314C, ); name = streams; sourceTree = ""; }; + 4F3C5D80FF499F66AF47AAC2 = {isa = PBXGroup; children = ( + 4BDD4F273422E965926BB39C, + EE39BF0D5B60F251A414EAC2, + 5D772B2770B73BDA1AF8B815, + 889A076E2701F552B5FEF800, + B2315CF4C3757346D888D3DB, + DFB11A01A5F93DE884F33906, ); name = system; sourceTree = ""; }; + CFE012D215170BEB3318FB55 = {isa = PBXGroup; children = ( + C5AF6FAC02DCF0BB43E512F7, + 5DDC06B78943DE8EE8019F93, + AF3E748F017DCB096F2010AF, + A314AE4F8F7681C94A6D7F71, + E7977B8BB288C866AD3E8BF7, + FC901AD682ED3BC9A5D553BB, + C5A9992B474C05D8CEF6799F, + B59F61A8729AD624747E535D, + C2F36C167B1F82716B343E1A, + E73028CA2D545D05A96A81FC, + 05FDE473035418E9F261D3FE, + 6E7F762907BDC37A3F52F75A, + 6A84D1E3AB93AD15EA7EC420, + 7ED6C71D661AEFC0A5CEFB51, + 1AFE6520DA03E9EEEBD6635C, + 99EC35FE84A139EC412884EE, + 57982076F48853C239423EE6, + 4D3E4D2991E77F61EE7FB496, + BFECF594C2FD0446420DD833, + 4F6A7C1AD6E7135905A9B083, + 152066FBE6F7FF3D1E7F487A, + 5C26F49D71004A08E3A0CF1E, + 53FEDB9F7251B436B650A686, + A79B07DB15B328363BE39CAD, ); name = text; sourceTree = ""; }; + 289D968DF21DECB5294AA20D = {isa = PBXGroup; children = ( + F25B3C734D1776CF6E87EE8A, + E53A58995768A278F1113BCC, + BFA67297423E95858391CA22, + 37506BAF1DE7956F29B94FC3, + 9839BDAE01D6E775EB7083C6, + BC3D57A8496D6B16F30CD05E, + 60056464347F5AB0DB5C7392, + 8BC3860A462D44222F624DB9, + 3F21EE81799D044AAA159766, + 056162DB2F31CDEC1A6C891D, + 32AAD6851954F58C57AAF699, + 3D81F640FA89136773847667, + D6933D89D33E8EC119DD7F00, + A877191FBC55682722BEE674, + 34E23BC027A8B05CC5F418FC, + E19EED16694ACA3701319473, + 681AE4154AF1983E325F805C, + 0496E5839A51835BB5FF93DD, + 5DC3F807B9FD5319F2A3651A, + 8A888B3BA6C2B669D255B171, + DD9043EC83BFC1DC8EF57868, + E6A71314C8ACF78D6A4C243C, ); name = threads; sourceTree = ""; }; + 3AE4A812B1057C1E17C753CD = {isa = PBXGroup; children = ( + B9EF73FAFB8DD5781C98587C, + A7EF20D469A5BBFA195A10FB, + 616A14F72BE19655866F9808, + C444DAEF136B74E73ED85A40, + C50A7F0F1E44D056BA6A94A9, + 0F25E9C8B1848C4B8922BFE9, ); name = time; sourceTree = ""; }; + 0827735517BB0502EBE1C184 = {isa = PBXGroup; children = ( + 34F7EF8094F8E02C29C9851B, + AFC9146FE0BAFFDCFD121F03, ); name = "unit_tests"; sourceTree = ""; }; + A0354A82D08FA2074CA86E76 = {isa = PBXGroup; children = ( + 3E6F506A01B3C306158AC0D0, + FC834EDE6FBC3673B234A2E2, + 7BD5243B77DAE17EA12970BA, + A88D5A9910F5A4C31BD87DF3, ); name = xml; sourceTree = ""; }; + BA7B35D4DB1BACD2F13E1F9C = {isa = PBXGroup; children = ( + 7B7BF481D99E9F925847185B, + FAA620FEDA9C820373E684D2, + F2ECE1178FFC1E48742FE6A5, + 0D26949FF7CA2C08085377A4, + E4978F7BCEC3B2D9C6E3B463, + 02898E6A1F367D9992579BAE, ); name = zip; sourceTree = ""; }; 68A8E133440377ADADD4C848 = {isa = PBXGroup; children = ( - 86D68CD120C7D7C25BE3FADC, - 30AA5DAB93D9FDB8D2600532, - 16373F311B83DBA074AB734B, - 9499F09B298014E982190A48, - A59EC08A802688DDEBDD37A8, - 5F5C67DB4866EE0E914FD09C, - 9FA8421FBE7B86038DB291C1, - E5BF920536D2752168EEC181, - 09E7F5F7371CCDF3E188F820, - B4C364A982428B101F77CD31, + 24113135B96D9DB8405BA6FD, + 59EAEE5D018D944B4D911DD2, + B023E6714A3733C243754145, + 8EAD9C97287083A1EA8797B2, + 35274B483A143F648555639C, + 59AC9ED2D8214F004DDCADF3, + 407D85B1D2CD0B1730D04ED3, + 5D30F34D74D80204F34009C8, + F5E80F0BCE05956B49D2D26F, + 0530C5406607103C14822B97, 4F3C5D80FF499F66AF47AAC2, - AB1315D86237F08759173ABA, - 9E9CFFCC62CC9944C101E023, - 39873E98A19F454E5B0F1E7D, + CFE012D215170BEB3318FB55, + 289D968DF21DECB5294AA20D, + 3AE4A812B1057C1E17C753CD, 0827735517BB0502EBE1C184, - 62EF479A01388D72DBE74C49, - FF7FB1E177B3867A190A4C70, - 05AB083553352BD26D6D3C4A, + A0354A82D08FA2074CA86E76, + BA7B35D4DB1BACD2F13E1F9C, B3E22594AF1C50B96CB53BA4, ); name = "juce_core"; sourceTree = ""; }; E3E6FE0771747D2E9FFFD9B8 = {isa = PBXGroup; children = ( 66DE678A6737BA0BDC9DAD31, @@ -1561,31 +1532,45 @@ 17ABC2F81BA9C81271EEB690 = {isa = PBXGroup; children = ( E3E6FE0771747D2E9FFFD9B8, 684F194E06306FAF63270938, - F3C7F75DE1EEB64D6FF4786D, 0689E4234BFF309D55BC9EE6, ); name = "juce_cryptography"; sourceTree = ""; }; - E30C85B0F661F16535E75D6A = {isa = PBXGroup; children = ( + 09135AFEE516755B1D8D1088 = {isa = PBXGroup; children = ( + 00B396B0FE706AA23B729E8F, + 73C90F53323DF156C710BFDA, + 8DBF0E0133D6E47F1EA854C7, + ACB2BB311E0E549224D8D48E, ); name = "app_properties"; sourceTree = ""; }; + 32DCBF1A130D32A59FD47DD6 = {isa = PBXGroup; children = ( + F7089FFFA18BCBE67D5C9E3D, + 50E68A1E94741689526D5436, + 7D1DC285EF285E3BC3FEA88A, ); name = undomanager; sourceTree = ""; }; + 51ADFBAF9ED103A0632F4698 = {isa = PBXGroup; children = ( B3EE51DF93336DBE729252C5, 5F6D44158DFFDE893C0193EB, D9C70854AE8E65AC508B433B, 7E2A782AD0FCCEF576EA5337, BCFB2C87FB787F7BFCCD463D, D7B5624DFFC5F0D465324ABD, ); name = values; sourceTree = ""; }; - 32DCBF1A130D32A59FD47DD6 = {isa = PBXGroup; children = ( - F7089FFFA18BCBE67D5C9E3D, - 50E68A1E94741689526D5436, - 7D1DC285EF285E3BC3FEA88A, ); name = undomanager; sourceTree = ""; }; - AB6DBE322367E218876380D1 = {isa = PBXGroup; children = ( - 00B396B0FE706AA23B729E8F, - 73C90F53323DF156C710BFDA, - 8DBF0E0133D6E47F1EA854C7, - ACB2BB311E0E549224D8D48E, ); name = "app_properties"; sourceTree = ""; }; A0FA3D171C73CEB9AD874299 = {isa = PBXGroup; children = ( - E30C85B0F661F16535E75D6A, + 09135AFEE516755B1D8D1088, 32DCBF1A130D32A59FD47DD6, - AB6DBE322367E218876380D1, - F32BBD5FAFF317AA831ADB63, + 51ADFBAF9ED103A0632F4698, 293076BD0110954E1CE7095C, ); name = "juce_data_structures"; sourceTree = ""; }; - 058FFA1D737D9CA4ABD6F63E = {isa = PBXGroup; children = ( + 1BF1C13D50B56B1DCC88D63F = {isa = PBXGroup; children = ( + C2B80E174578A7BD91FA76CF, + 93BE84F17B447226BEFDE5A4, + 32A851BECAA8CB552DA0C92B, + 3D0CCD07C46996AE37840D61, + DAB01420B5EC8DF3067D57C8, + 9A68EFB4F4ADD8E02B77D574, + 2367FC583388A40FD177FAC7, + CF460BB59AE1A3CB56C2CC97, ); name = broadcasters; sourceTree = ""; }; + 7E404E41C8FF51908FAE3621 = {isa = PBXGroup; children = ( + FEBEF52CF458D9C80275863D, + 4A43E2F65187E76BA7247DC8, + CB9F9C32A3215BB9EA29564A, + A9743DB20BE0DD01D992C078, + 77DC16B3BD2388DA192C6647, + 66F25CAA696325431D582B01, ); name = interprocess; sourceTree = ""; }; + 0BBCBDFF5D36B0DB7924BB87 = {isa = PBXGroup; children = ( BB129364B045C14D4C48C64A, 81DCA1CF090A56300D6B78F9, CC55CC9502C19A5AFE161657, @@ -1599,28 +1584,7 @@ B82F9F15893C8C75414BB2D7, D0970CCFF9ECE3E9DE992AD3, 176555A72094768334C34A06, ); name = messages; sourceTree = ""; }; - 73631F200F5922DC1345BBC5 = {isa = PBXGroup; children = ( - 5876C4A9AC4C7AD71F7D3935, - 7DEEBCA254A8C0A0F0EE3D0A, - D58D61AEA353B42D1905583A, - 5E7F940669620DB0130FCD3F, ); name = timers; sourceTree = ""; }; - A8C3FEFDFCBD4F97E712D086 = {isa = PBXGroup; children = ( - C2B80E174578A7BD91FA76CF, - 93BE84F17B447226BEFDE5A4, - 32A851BECAA8CB552DA0C92B, - 3D0CCD07C46996AE37840D61, - DAB01420B5EC8DF3067D57C8, - 9A68EFB4F4ADD8E02B77D574, - 2367FC583388A40FD177FAC7, - CF460BB59AE1A3CB56C2CC97, ); name = broadcasters; sourceTree = ""; }; - AC0F8CF82712912729A1787D = {isa = PBXGroup; children = ( - FEBEF52CF458D9C80275863D, - 4A43E2F65187E76BA7247DC8, - CB9F9C32A3215BB9EA29564A, - A9743DB20BE0DD01D992C078, - 77DC16B3BD2388DA192C6647, - 66F25CAA696325431D582B01, ); name = interprocess; sourceTree = ""; }; - EED3B403D59A2FE7A1B0BB04 = {isa = PBXGroup; children = ( + 3174B1438C10FF5F084026AD = {isa = PBXGroup; children = ( 961B80F089DB0E7A8DFAB4BD, 07E05B5CF19C717522C85751, 7AD47666B2CAF6C3EAE5A313, @@ -1629,13 +1593,17 @@ 5C19214F0B69A3870A60BB57, C35471544C7C07AF9E9E7225, DDD3A80CE6EADF7C19B52C00, ); name = native; sourceTree = ""; }; + EB2FFE08AB29AA5DC4D848F2 = {isa = PBXGroup; children = ( + 5876C4A9AC4C7AD71F7D3935, + 7DEEBCA254A8C0A0F0EE3D0A, + D58D61AEA353B42D1905583A, + 5E7F940669620DB0130FCD3F, ); name = timers; sourceTree = ""; }; D43355CA9C66DED748ECF241 = {isa = PBXGroup; children = ( - 058FFA1D737D9CA4ABD6F63E, - 73631F200F5922DC1345BBC5, - A8C3FEFDFCBD4F97E712D086, - AC0F8CF82712912729A1787D, - EED3B403D59A2FE7A1B0BB04, - CC1D358321D0FEE9363FAB5A, + 1BF1C13D50B56B1DCC88D63F, + 7E404E41C8FF51908FAE3621, + 0BBCBDFF5D36B0DB7924BB87, + 3174B1438C10FF5F084026AD, + EB2FFE08AB29AA5DC4D848F2, B72C9BECB6F8437F8D1AB431, ); name = "juce_events"; sourceTree = ""; }; 613F56024B806E4651217C3D = {isa = PBXGroup; children = ( AE2F3704110604BE4CE711FB, @@ -1655,19 +1623,25 @@ 33FA636BC069C12099595FF7, 83FF68839D7F16BF1BD63998, F3932F10F0BB15FDC4B3FCCE, ); name = contexts; sourceTree = ""; }; - CE4E8B684568FF454FD4E982 = {isa = PBXGroup; children = ( - ACF3900CAC422A821B49724B, - 56C909DFA885FF7924FE9B52, - 79C50D9C6DE5E39776F58173, - 45AF86AE84C0F53EFD0AD8E6, - 2E05B3795F27137B74532DCF, - 18DB65C18DA8D26FA91660E9, - 91166AAF7D28C830DD1A01FF, - EB1836E7A020E27A7531DD9A, ); name = images; sourceTree = ""; }; - 1809D5C3D4E11DFFBC3CD51F = {isa = PBXGroup; children = ( - BFF3F7F9ADE1564E2A95E761, - A66B7243A44889DEEE50467C, - 996D10F67F8BA4165F763F6D, ); name = "image_formats"; sourceTree = ""; }; + 33FA708C2690D742E72D940D = {isa = PBXGroup; children = ( + 3A6A9719BB36357980C72839, + 9EC98C361A9EAB0D8320681A, + A24BDC61F0D26A1A548B7D0F, + D15E217771D21F009AD82865, + 94482542F1F7ECFC19F8A733, ); name = effects; sourceTree = ""; }; + 418B37F18751E667091C9523 = {isa = PBXGroup; children = ( + 1F397A7E48CFC9AEAEADBE27, + D6854EFAC3CA722C839D8E5E, + 31C6340CFAED51F9297A247B, + A1E986A82F01EE173CFC7D85, + 54FF73BE742C8C07481C342E, + BC98FBECC88BAEE5DAC6A0CD, + 422AF00EC7C820E48BC8589A, + 03B2E898BCEC879C92272294, + EEE77CF0D58771039499047C, + C4AFDBF9F2FFB781244CC538, + 7603F1DA879AF5A55D33AFA9, + 80FB36D5B92F25E25B501840, ); name = fonts; sourceTree = ""; }; 34D87A17A69B536F8A3D4E5D = {isa = PBXGroup; children = ( 62F2C4DD34181441E8ED1421, E96CA677440E7233CCEC4002, @@ -1684,30 +1658,20 @@ 49358E09D03BE80AC5FC6DFF, CB4E1657499BD2FF5940573A, 75D31F45D2A20C1A1F43AECE, ); name = geometry; sourceTree = ""; }; - FB9C5A77E6D11C3FCAB82629 = {isa = PBXGroup; children = ( - 4BADD763D121353287878645, - BA2245F4BF3B14E3F299B329, - 5637A9A73A985297F5F15B4E, ); name = placement; sourceTree = ""; }; - BA0B73026BCFFB4D2B9574C0 = {isa = PBXGroup; children = ( - 1F397A7E48CFC9AEAEADBE27, - D6854EFAC3CA722C839D8E5E, - 31C6340CFAED51F9297A247B, - A1E986A82F01EE173CFC7D85, - 54FF73BE742C8C07481C342E, - BC98FBECC88BAEE5DAC6A0CD, - 422AF00EC7C820E48BC8589A, - 03B2E898BCEC879C92272294, - EEE77CF0D58771039499047C, - C4AFDBF9F2FFB781244CC538, - 7603F1DA879AF5A55D33AFA9, - 80FB36D5B92F25E25B501840, ); name = fonts; sourceTree = ""; }; - A033283E9AC63CCDC113A403 = {isa = PBXGroup; children = ( - 3A6A9719BB36357980C72839, - 9EC98C361A9EAB0D8320681A, - A24BDC61F0D26A1A548B7D0F, - D15E217771D21F009AD82865, - 94482542F1F7ECFC19F8A733, ); name = effects; sourceTree = ""; }; - DC6100C2ECD3D03BA25859FD = {isa = PBXGroup; children = ( + 531E4F17C5DBB4DEDDB518FC = {isa = PBXGroup; children = ( + BFF3F7F9ADE1564E2A95E761, + A66B7243A44889DEEE50467C, + 996D10F67F8BA4165F763F6D, ); name = "image_formats"; sourceTree = ""; }; + 26BEF7E1ABE7C70EC97B4C70 = {isa = PBXGroup; children = ( + ACF3900CAC422A821B49724B, + 56C909DFA885FF7924FE9B52, + 79C50D9C6DE5E39776F58173, + 45AF86AE84C0F53EFD0AD8E6, + 2E05B3795F27137B74532DCF, + 18DB65C18DA8D26FA91660E9, + 91166AAF7D28C830DD1A01FF, + EB1836E7A020E27A7531DD9A, ); name = images; sourceTree = ""; }; + 9AE31EE373075FF48BFE26C2 = {isa = PBXGroup; children = ( 64C7F5482B135482355F6207, F81654393A6815CD487BEEEA, 44A65A3B60BCDA4EC97C1A10, @@ -1721,19 +1685,54 @@ 6F2BBE7C1898A14AB6384FC5, AF29767D1BBFFB2FC061FBD3, 2DB885170C23EF6315B01E07, ); name = native; sourceTree = ""; }; + 398E72B0F683FA0A8979D504 = {isa = PBXGroup; children = ( + 4BADD763D121353287878645, + BA2245F4BF3B14E3F299B329, + 5637A9A73A985297F5F15B4E, ); name = placement; sourceTree = ""; }; 45AF61331D913AC88A070B16 = {isa = PBXGroup; children = ( 613F56024B806E4651217C3D, CD0E8EBFFDF5DEFE2D8C4F8A, - CE4E8B684568FF454FD4E982, - 1809D5C3D4E11DFFBC3CD51F, + 33FA708C2690D742E72D940D, + 418B37F18751E667091C9523, 34D87A17A69B536F8A3D4E5D, - FB9C5A77E6D11C3FCAB82629, - BA0B73026BCFFB4D2B9574C0, - A033283E9AC63CCDC113A403, - DC6100C2ECD3D03BA25859FD, - 0F0135E3626B5CF2073669EE, + 531E4F17C5DBB4DEDDB518FC, + 26BEF7E1ABE7C70EC97B4C70, + 9AE31EE373075FF48BFE26C2, + 398E72B0F683FA0A8979D504, 6B438A36E2EE87D56954A73C, ); name = "juce_graphics"; sourceTree = ""; }; - 7074F11E6148B780EAB99BAE = {isa = PBXGroup; children = ( + 78BCCD6A7EE9144D3EAE16DF = {isa = PBXGroup; children = ( + D799C7F000EC4D33C2DABADB, + CE9208896DC1AB22AE2C0C71, ); name = application; sourceTree = ""; }; + E78ABE58A772107EB0D61C51 = {isa = PBXGroup; children = ( + F7F3649AF02F4C3C751B6F19, + 814F03A5FDB4C571DC56365A, + 4E61189BE360E1836A21EC3B, + 34A5198B33BE63C226542043, + B67F09CB3C82DBFF9C46647C, + AFE21D6D3B962F8B04CAD469, + 55E802D30D0C90CACE5A1507, + 8ACBDA03FF94F66CA93F2C24, + A13F50653877ABDB365F5384, + 896F5130508C85B708AA564A, + CA57CE25D3529D9BEDB9387F, + AA631B89FF74E3891808468B, + 00364B9ACDDE1061B0F8B6A3, + 99D5D71E46161D72F355E5CA, + 7AD630FFC55965FB8A890772, + F111D37EE566120B6FB68DEE, + 765A6CADA12A2522B62C56E5, + 02F59FA6C6DC1DD84590F4F7, ); name = buttons; sourceTree = ""; }; + F05580231F41F28C8570C8A9 = {isa = PBXGroup; children = ( + C207B42DBD931192FED30C23, + 6E27AC7FE0E003A8C09E6229, + FDCA5DC82DF2C77E6644C7C0, + BDE78DB6F6B8189269511ED9, + 49AFBCDF0F1770D740559E52, + 6349D4A49819CB2128783EF2, + 2FFF28CCC21983E2097F661E, + D4407C9C36B5C4B11373015F, + E21B47053F279BEB6E77ABBE, ); name = commands; sourceTree = ""; }; + 489A3D3DFD97C6751192A0C7 = {isa = PBXGroup; children = ( 0A917E9DC067F70CA5F649A4, 326380A033B511A7D6C908B6, 635548BBD744D420AF8C746E, @@ -1743,28 +1742,46 @@ 35BC4E6396C07229A7B57058, 21C6491E13FD144522A50532, 3E529E187845C0FDDD75B26E, ); name = components; sourceTree = ""; }; - 6EA9748D61C88D1BA2EA31C0 = {isa = PBXGroup; children = ( - 22D3395F98C7DB08BE5806EA, - 2F9B863B3208F7FDC2DFB5C2, - 21E6E63E7EABF1E3FF96B623, - FFE52E95F44B6C2A1577F0D1, - A074BFDF2EC5AE63E20B7333, - ABE2D29E90DC804807565090, - 403A941E43D6A93F973478CE, - 98842D203B95774D965E2516, - 2507D25163CA3B0FADF6C690, - 6EE9BA1411E60B2C9FB8C218, - 96532A36D7F49D0D9C97785E, - C85DC37FA77BE505BF92CC82, - 7D6722EFBE3E6810921ACFC6, - 6DA1B84A13A83407015F00D5, - 3A8ACE496CEEF5A87A114AB7, - FD8CEE43FE42E3CE4268E135, - 5697A592703327116AA50ED4, - 2B00D9E27D910E13DE0C221A, - EB47EFA97F37130CBFA3BBBD, - E770F9193AC992B8B8529425, ); name = mouse; sourceTree = ""; }; - ED99D4B18A38A6CB0F014A39 = {isa = PBXGroup; children = ( + E3F66002049EA86B5BD0401F = {isa = PBXGroup; children = ( + 4EA9286868B01C823FCDBA56, + DC6400CB6526711C8D3B02A5, + 86545EB9FE8A308D9C4EDE38, + 1CAAE99247B398FFF508E4B3, + 2B27A10CE5AE76648A90D11B, + 0BFF39815B8EF703CD5B527E, + C155AA1B4897630C869644E4, + AE8FD51225B2EE1236EA6B7F, + 80A52FDE45F694884F1523C1, + F0EDC758B738494603D96566, + 58E85EC374D9BB7DF4554DCA, + 15ABAB25ED7FBC1AB35D4155, + A1F4F524B120158DAF6CC73C, + 162D319D9C0F82FF3A06CB31, + C609AAB8EED8AA8E3DB7ADDA, ); name = drawables; sourceTree = ""; }; + A3252EAE0835523401A7B334 = {isa = PBXGroup; children = ( + 2E3E4D0B6E49AB73AC95942C, + CFC07E265C4DA1A72CF556C0, + 97CB9AB3388C899C959480D7, + 5B53101DF03F661003E571D6, + 9A5CF11ABBC6A0003F5789B1, + 749BA5EE297AAC71A788FA1A, + 24FD97BA70E904627B8152E8, + 4ECF602349D1439B777B9801, + 3E7DC1C7BF61898D2B652DFB, + AC48FAE2DA3B12A483E7255A, + 29D3BA5AD1954DFF9DEEC4EE, + 000482712FB943049ADA488E, + 63F7E4F969AB0EE18F937A1D, + 17F524091349DA3298887390, + C4E013FC175AB6FFBC231FF5, + 7D571ED2829EE892879C1C6B, + B3D81C8539CC39AD8D7BDA60, + EE427AF2FF55C0F15FC75CCA, + 0E17E299A552E354D32495A9, + C2E269880B104D1E2FEFF081, + EC31A0D1FC5868D414573AE3, + 437EBCEEE86D33C4B8E4659F, ); name = filebrowser; sourceTree = ""; }; + 24B9CB3FB77026FD163FDB26 = {isa = PBXGroup; children = ( F7CFD58445F29C592E1CA3D2, 37CC572A9EBB11B044700DD9, 49420D1F1ACCC8B9AF38E071, @@ -1778,62 +1795,7 @@ 5923676B966C61C3DF80F2F4, 6249FDB026DDB5231AE6F257, D4F2C2BBAE51280E9FA0524F, ); name = keyboard; sourceTree = ""; }; - 38748CE8A511EB01613D6AC7 = {isa = PBXGroup; children = ( - 4BD53FD98913407DED8C5CA2, - FC7D4F5D069051772CAEF9D5, - E8B758282455D28365888987, - D0BD78E12072E613FE991406, - 99FC7A15C6014517ACAD22C5, - C175608A57B2756CA559759E, - EDBCB0EA94E2EFAFD754B922, - 697C69452850D5C1756C89AF, - A01E650AD29BAE32923765DF, - 8B5B921159AA52E9395886A7, - 90E93402AA2A9BEB06529BFB, - E4CB436C6C34622D4FB0DB95, - 850C65899288D17479330623, - A4934E1C24CBC9827ECC9149, - 364C3095D20CCE47471C4DB0, - D92A8BCA53C081C8A7B8C97A, - 149DE318630BB06FE1878110, - A5CF048AD8F2FD41388B0FB1, - A0A82A6C6DCDC381F74B55AA, - D72C17DE76B0FFDA9002AB48, - AE29D4EFF513314D9F20C937, - AB48308160674E4A0DDEA76E, - 6660E40C2EC1B034F2ADF4D0, - 3076EC4F52A19CE9017D3F25, - 910BD0E17BDFEE4814A221B9, - B66B13F1CC2AFB46FE2BBB7A, - EA0497ADC2D82C3B7062F22D, ); name = widgets; sourceTree = ""; }; - EDA05F557CC486BF1BBB4F32 = {isa = PBXGroup; children = ( - 656B561C18024F666338110D, - D433408E46A1409A9C033143, - 998A1B7B9A661B11E4F6ACD2, - E3272E71920EC2E2951EA51D, - E3CBE4CAE0CDA467C0CCED9A, - 894251560964A87E2BC4909A, - B984F32EE03514B90E16F4D7, - 3A6D5F85E162CCD7F75647A2, - 58E0845792538E8040E1B765, - E7F6DD206D0900DE7B792B75, - 0F7563C42FF3E0324DB9DABC, - 045ACEE1477BF94B82E24CFB, - B4E1E74B0592674D8C84A040, - 36B5D78633D30EBA28D70796, - D8DAAFAF2D5E846E675E7FAA, - 28B99FD0B56D3AB6DC426145, - 865513C0143175F8590E3E70, - 91016B15B0E327FE9896DAED, - AF2C173BA6D3F87D9CBE28CB, ); name = windows; sourceTree = ""; }; - 30500C3D33B1EA676B0F1F2D = {isa = PBXGroup; children = ( - 952BE11CAD4455C1B1E1D830, - 5CE7F367D76371C1FFF3C664, - 7439AF021E15C53135D6F5A1, - E06C44C9919D6BEA39ADD6DD, - 688DF902DE3574DE95EDBC75, - 5720A8E61C5C69F1FBF2FF19, ); name = menus; sourceTree = ""; }; - 6C214569AF1380B92C98362F = {isa = PBXGroup; children = ( + AF4A2F19C874EB54FA77077F = {isa = PBXGroup; children = ( EE01B0F4B428C5A225912CB1, CF9FF93F5E11C52F2E774BFD, F1DC3498F703C947C4341167, @@ -1870,72 +1832,7 @@ 11734EB6782BA7878DB279EF, 74B87646372E1E50ECF87E47, 4AE9ADC1EA86A99697C85590, ); name = layout; sourceTree = ""; }; - 7683272330CE2E2982D60581 = {isa = PBXGroup; children = ( - F7F3649AF02F4C3C751B6F19, - 814F03A5FDB4C571DC56365A, - 4E61189BE360E1836A21EC3B, - 34A5198B33BE63C226542043, - B67F09CB3C82DBFF9C46647C, - AFE21D6D3B962F8B04CAD469, - 55E802D30D0C90CACE5A1507, - 8ACBDA03FF94F66CA93F2C24, - A13F50653877ABDB365F5384, - 896F5130508C85B708AA564A, - CA57CE25D3529D9BEDB9387F, - AA631B89FF74E3891808468B, - 00364B9ACDDE1061B0F8B6A3, - 99D5D71E46161D72F355E5CA, - 7AD630FFC55965FB8A890772, - F111D37EE566120B6FB68DEE, - 765A6CADA12A2522B62C56E5, - 02F59FA6C6DC1DD84590F4F7, ); name = buttons; sourceTree = ""; }; - F0F6C6401B5B6E27B06A647D = {isa = PBXGroup; children = ( - A194F4576EECAED9B78B2F02, - D52E8A14F2E48978956EA90E, - 894E9C561AC434FC288A4E71, - 0754B874739E1D1C320CBC06, - 049E1ED618DB7447529B850E, - 290B68C558B84CC4D3AA34A9, - FF1AE41EDD12811007C7E08B, - 91B3A6E88D84B251C79A1F73, - 2742803ABB5332CAEABDF71D, - 599A927491E80A43506A4331, - 1A7B44D364B75EA89393C950, - 6BEE63786BE539AD97CB1F47, - A726DEA0B31DF2ED2838A9DF, - FA644A83DBB0DDE419A33EC1, ); name = positioning; sourceTree = ""; }; - 0FC10F2F4DD73CDF64787F1E = {isa = PBXGroup; children = ( - 4EA9286868B01C823FCDBA56, - DC6400CB6526711C8D3B02A5, - 86545EB9FE8A308D9C4EDE38, - 1CAAE99247B398FFF508E4B3, - 2B27A10CE5AE76648A90D11B, - 0BFF39815B8EF703CD5B527E, - C155AA1B4897630C869644E4, - AE8FD51225B2EE1236EA6B7F, - 80A52FDE45F694884F1523C1, - F0EDC758B738494603D96566, - 58E85EC374D9BB7DF4554DCA, - 15ABAB25ED7FBC1AB35D4155, - A1F4F524B120158DAF6CC73C, - 162D319D9C0F82FF3A06CB31, - C609AAB8EED8AA8E3DB7ADDA, ); name = drawables; sourceTree = ""; }; - BEBEE36671E604B8EC6072F6 = {isa = PBXGroup; children = ( - D0360891DD9FB3D8A04557F9, - D9E681AC6B3A9CA5F2FC1EA1, - 3FAE00C6F53873793905F666, - D6F02B228C9BDC927841C47F, - C85B4304206767431F345EBF, - 8509464FD3D19A00F2327CE9, - 2A6DB4DD639D1E65AA24DCB3, - 122D84868EE99DCC232215CA, - 10E0EE1A81E3ED13FA223D20, - 5EBABFCFC48AAC97FFCBCFD6, - F8EC2EB5F339D51BD491E8E2, - 6308CF3170DD547793663148, - 7E037018FEBBFC1216C554E5, - 7FC0E4A1FA1C7A44F2EC5443, ); name = properties; sourceTree = ""; }; - E5E863C0B3CDA46C15E0C124 = {isa = PBXGroup; children = ( + 3027C4270E66213E75BEF488 = {isa = PBXGroup; children = ( CAAB995B6AF9B3BD4AF0F2FE, 4F933C9EC68532064A2A6862, C6491631692B3AF4DF8859E5, @@ -1944,48 +1841,40 @@ 892CF04418B2C4DBAD94EDD6, 999C764293E3127A2A9977EA, BEE6ECA6AA47943E918616E7, ); name = lookandfeel; sourceTree = ""; }; - 2FF66B301E047FF93BFEC2F0 = {isa = PBXGroup; children = ( - 2E3E4D0B6E49AB73AC95942C, - CFC07E265C4DA1A72CF556C0, - 97CB9AB3388C899C959480D7, - 5B53101DF03F661003E571D6, - 9A5CF11ABBC6A0003F5789B1, - 749BA5EE297AAC71A788FA1A, - 24FD97BA70E904627B8152E8, - 4ECF602349D1439B777B9801, - 3E7DC1C7BF61898D2B652DFB, - AC48FAE2DA3B12A483E7255A, - 29D3BA5AD1954DFF9DEEC4EE, - 000482712FB943049ADA488E, - 63F7E4F969AB0EE18F937A1D, - 17F524091349DA3298887390, - C4E013FC175AB6FFBC231FF5, - 7D571ED2829EE892879C1C6B, - B3D81C8539CC39AD8D7BDA60, - EE427AF2FF55C0F15FC75CCA, - 0E17E299A552E354D32495A9, - C2E269880B104D1E2FEFF081, - EC31A0D1FC5868D414573AE3, - 437EBCEEE86D33C4B8E4659F, ); name = filebrowser; sourceTree = ""; }; - 360E0AA799975B0B69996414 = {isa = PBXGroup; children = ( - C207B42DBD931192FED30C23, - 6E27AC7FE0E003A8C09E6229, - FDCA5DC82DF2C77E6644C7C0, - BDE78DB6F6B8189269511ED9, - 49AFBCDF0F1770D740559E52, - 6349D4A49819CB2128783EF2, - 2FFF28CCC21983E2097F661E, - D4407C9C36B5C4B11373015F, - E21B47053F279BEB6E77ABBE, ); name = commands; sourceTree = ""; }; - B37F65DE2A8F9E5BBEED08E6 = {isa = PBXGroup; children = ( + 63F75B92B7E6403B028CF4A5 = {isa = PBXGroup; children = ( + 952BE11CAD4455C1B1E1D830, + 5CE7F367D76371C1FFF3C664, + 7439AF021E15C53135D6F5A1, + E06C44C9919D6BEA39ADD6DD, + 688DF902DE3574DE95EDBC75, + 5720A8E61C5C69F1FBF2FF19, ); name = menus; sourceTree = ""; }; + F534429E760058963291AFF9 = {isa = PBXGroup; children = ( 0C67E291FE255FB494FC4EB7, 4D9DA654C2620E32726086FC, 295645FD5D881575AC979FDE, 9E48FC4A9F7AA29418616C51, ); name = misc; sourceTree = ""; }; - C7A190D20E3E3FDB24D02FF2 = {isa = PBXGroup; children = ( - D799C7F000EC4D33C2DABADB, - CE9208896DC1AB22AE2C0C71, ); name = application; sourceTree = ""; }; - 21022CE27135D0915CB930DF = {isa = PBXGroup; children = ( + EDC53FFAC60B52230F732995 = {isa = PBXGroup; children = ( + 22D3395F98C7DB08BE5806EA, + 2F9B863B3208F7FDC2DFB5C2, + 21E6E63E7EABF1E3FF96B623, + FFE52E95F44B6C2A1577F0D1, + A074BFDF2EC5AE63E20B7333, + ABE2D29E90DC804807565090, + 403A941E43D6A93F973478CE, + 98842D203B95774D965E2516, + 2507D25163CA3B0FADF6C690, + 6EE9BA1411E60B2C9FB8C218, + 96532A36D7F49D0D9C97785E, + C85DC37FA77BE505BF92CC82, + 7D6722EFBE3E6810921ACFC6, + 6DA1B84A13A83407015F00D5, + 3A8ACE496CEEF5A87A114AB7, + FD8CEE43FE42E3CE4268E135, + 5697A592703327116AA50ED4, + 2B00D9E27D910E13DE0C221A, + EB47EFA97F37130CBFA3BBBD, + E770F9193AC992B8B8529425, ); name = mouse; sourceTree = ""; }; + E55ACE0BBFADE341424672A8 = {isa = PBXGroup; children = ( 0A5B2D79C1823A400BF78E19, 74F6AE983BB2F69371807C67, 9391842AF510CE33CDBE0694, @@ -2002,25 +1891,102 @@ E32EC58E8FFABD6AA3236B7A, F3863870BC90E557B58BFF64, 4EC09A0953FB8870DD1882D0, ); name = native; sourceTree = ""; }; + ED48C5DA28B1C541B328D94D = {isa = PBXGroup; children = ( + A194F4576EECAED9B78B2F02, + D52E8A14F2E48978956EA90E, + 894E9C561AC434FC288A4E71, + 0754B874739E1D1C320CBC06, + 049E1ED618DB7447529B850E, + 290B68C558B84CC4D3AA34A9, + FF1AE41EDD12811007C7E08B, + 91B3A6E88D84B251C79A1F73, + 2742803ABB5332CAEABDF71D, + 599A927491E80A43506A4331, + 1A7B44D364B75EA89393C950, + 6BEE63786BE539AD97CB1F47, + A726DEA0B31DF2ED2838A9DF, + FA644A83DBB0DDE419A33EC1, ); name = positioning; sourceTree = ""; }; + 4BD14345D01C44727E21EF18 = {isa = PBXGroup; children = ( + D0360891DD9FB3D8A04557F9, + D9E681AC6B3A9CA5F2FC1EA1, + 3FAE00C6F53873793905F666, + D6F02B228C9BDC927841C47F, + C85B4304206767431F345EBF, + 8509464FD3D19A00F2327CE9, + 2A6DB4DD639D1E65AA24DCB3, + 122D84868EE99DCC232215CA, + 10E0EE1A81E3ED13FA223D20, + 5EBABFCFC48AAC97FFCBCFD6, + F8EC2EB5F339D51BD491E8E2, + 6308CF3170DD547793663148, + 7E037018FEBBFC1216C554E5, + 7FC0E4A1FA1C7A44F2EC5443, ); name = properties; sourceTree = ""; }; + FD604D42AD4432537042D97D = {isa = PBXGroup; children = ( + 4BD53FD98913407DED8C5CA2, + FC7D4F5D069051772CAEF9D5, + E8B758282455D28365888987, + D0BD78E12072E613FE991406, + 99FC7A15C6014517ACAD22C5, + C175608A57B2756CA559759E, + EDBCB0EA94E2EFAFD754B922, + 697C69452850D5C1756C89AF, + A01E650AD29BAE32923765DF, + 8B5B921159AA52E9395886A7, + 90E93402AA2A9BEB06529BFB, + E4CB436C6C34622D4FB0DB95, + 850C65899288D17479330623, + A4934E1C24CBC9827ECC9149, + 364C3095D20CCE47471C4DB0, + D92A8BCA53C081C8A7B8C97A, + 149DE318630BB06FE1878110, + A5CF048AD8F2FD41388B0FB1, + A0A82A6C6DCDC381F74B55AA, + D72C17DE76B0FFDA9002AB48, + AE29D4EFF513314D9F20C937, + AB48308160674E4A0DDEA76E, + 6660E40C2EC1B034F2ADF4D0, + 3076EC4F52A19CE9017D3F25, + 910BD0E17BDFEE4814A221B9, + B66B13F1CC2AFB46FE2BBB7A, + EA0497ADC2D82C3B7062F22D, ); name = widgets; sourceTree = ""; }; + 7B5796AB22FE7717FF29D2D5 = {isa = PBXGroup; children = ( + 656B561C18024F666338110D, + D433408E46A1409A9C033143, + 998A1B7B9A661B11E4F6ACD2, + E3272E71920EC2E2951EA51D, + E3CBE4CAE0CDA467C0CCED9A, + 894251560964A87E2BC4909A, + B984F32EE03514B90E16F4D7, + 3A6D5F85E162CCD7F75647A2, + 58E0845792538E8040E1B765, + E7F6DD206D0900DE7B792B75, + 0F7563C42FF3E0324DB9DABC, + 045ACEE1477BF94B82E24CFB, + B4E1E74B0592674D8C84A040, + 36B5D78633D30EBA28D70796, + D8DAAFAF2D5E846E675E7FAA, + 28B99FD0B56D3AB6DC426145, + 865513C0143175F8590E3E70, + 91016B15B0E327FE9896DAED, + AF2C173BA6D3F87D9CBE28CB, ); name = windows; sourceTree = ""; }; 95A28C4821E904641944C14F = {isa = PBXGroup; children = ( - 7074F11E6148B780EAB99BAE, - 6EA9748D61C88D1BA2EA31C0, - ED99D4B18A38A6CB0F014A39, - 38748CE8A511EB01613D6AC7, - EDA05F557CC486BF1BBB4F32, - 30500C3D33B1EA676B0F1F2D, - 6C214569AF1380B92C98362F, - 7683272330CE2E2982D60581, - F0F6C6401B5B6E27B06A647D, - 0FC10F2F4DD73CDF64787F1E, - BEBEE36671E604B8EC6072F6, - E5E863C0B3CDA46C15E0C124, - 2FF66B301E047FF93BFEC2F0, - 360E0AA799975B0B69996414, - B37F65DE2A8F9E5BBEED08E6, - C7A190D20E3E3FDB24D02FF2, - 21022CE27135D0915CB930DF, - 55954824537DA68C94196CF3, + 78BCCD6A7EE9144D3EAE16DF, + E78ABE58A772107EB0D61C51, + F05580231F41F28C8570C8A9, + 489A3D3DFD97C6751192A0C7, + E3F66002049EA86B5BD0401F, + A3252EAE0835523401A7B334, + 24B9CB3FB77026FD163FDB26, + AF4A2F19C874EB54FA77077F, + 3027C4270E66213E75BEF488, + 63F75B92B7E6403B028CF4A5, + F534429E760058963291AFF9, + EDC53FFAC60B52230F732995, + E55ACE0BBFADE341424672A8, + ED48C5DA28B1C541B328D94D, + 4BD14345D01C44727E21EF18, + FD604D42AD4432537042D97D, + 7B5796AB22FE7717FF29D2D5, CAD3AC17AF42E2BED68AB0B8, ); name = "juce_gui_basics"; sourceTree = ""; }; 9DBB004DD2BA1FB1CB850730 = {isa = PBXGroup; children = ( 92F456A06460B3037D4633CB, @@ -2082,9 +2048,21 @@ 019C933D8A6D01E3970AD0ED, 165D7D6AFB3E074832CF427D, 0CE5B2FF9D8043660D00C3F3, - A440F9DB1C395CE15CEA2DFE, A67CA8CE7A776292BBF0A771, ); name = "juce_gui_extra"; sourceTree = ""; }; - 19D3B67549F53322BDA6476E = {isa = PBXGroup; children = ( + 93F9BF65A35A2FF0C827F3E6 = {isa = PBXGroup; children = ( + 24D1FDEEA6015179481DA066, + 72D7B65362F5153AE2211427, + BA307BE1E213FA2C2FC90303, + E542AE45B51CE76A1FA7553C, ); name = geometry; sourceTree = ""; }; + 9D9FB5811CF15A3B00D4D333 = {isa = PBXGroup; children = ( + 0B34288A77B2F7AA260954B2, + CAA37E216AE23C66143090E9, + 168126095202C9BB6296D6CF, + 01ED8F522ABA76BF0E0D9249, + 3393B8D4E413710805AAD1FE, + F05C2A7C59522867174911EC, + 1EBD453FA4CD3BA3AFC8C301, ); name = native; sourceTree = ""; }; + 3F709B710667C7CAB71EF1A4 = {isa = PBXGroup; children = ( A42D10D549BC0D20A8F94101, 24D577E3FEB7A3A17E97C11E, BAF83EA0108C7776CCB5AFB9, @@ -2102,47 +2080,32 @@ 38EB4858B45965104516E7E9, 8499FB509CF42C2224E45442, 8C726B77603CE8392105E520, ); name = opengl; sourceTree = ""; }; - 4D21C1FB7FA47649213E0AFD = {isa = PBXGroup; children = ( - 24D1FDEEA6015179481DA066, - 72D7B65362F5153AE2211427, - BA307BE1E213FA2C2FC90303, - E542AE45B51CE76A1FA7553C, ); name = geometry; sourceTree = ""; }; - 298D73B8B41FF7753D63B043 = {isa = PBXGroup; children = ( + A873EA7B594A5DD7C61CB03E = {isa = PBXGroup; children = ( 3F08C9123F1F4581E558A5BE, 3ED5512FB3A63A94B6F8CD6A, ); name = utils; sourceTree = ""; }; - 8861A0F66C21007DA350357F = {isa = PBXGroup; children = ( - 0B34288A77B2F7AA260954B2, - CAA37E216AE23C66143090E9, - 168126095202C9BB6296D6CF, - 01ED8F522ABA76BF0E0D9249, - 3393B8D4E413710805AAD1FE, - F05C2A7C59522867174911EC, - 1EBD453FA4CD3BA3AFC8C301, ); name = native; sourceTree = ""; }; 57354018198399529619EAAE = {isa = PBXGroup; children = ( - 19D3B67549F53322BDA6476E, - 4D21C1FB7FA47649213E0AFD, - 298D73B8B41FF7753D63B043, - 8861A0F66C21007DA350357F, - 3386ED2F4A9DAB248368B729, + 93F9BF65A35A2FF0C827F3E6, + 9D9FB5811CF15A3B00D4D333, + 3F709B710667C7CAB71EF1A4, + A873EA7B594A5DD7C61CB03E, 2953F71F67DEE8E7894076BE, ); name = "juce_opengl"; sourceTree = ""; }; - A349653C19280AABF9D551EA = {isa = PBXGroup; children = ( - 627AE95AF5CC80C1BC70A525, - 4B181F9D6BF555181E04C99D, ); name = playback; sourceTree = ""; }; - 0A8E4D138D060C89BFC82C3C = {isa = PBXGroup; children = ( + 8B19A96347B1CE51DAA5E947 = {isa = PBXGroup; children = ( 729502C8500B9182BD21E21A, FBC3851FAB8CCED771CB20BA, ); name = capture; sourceTree = ""; }; - B26ABDA90C7B0A2F7F68EB98 = {isa = PBXGroup; children = ( + B1996DA0F218BAF05528D7E5 = {isa = PBXGroup; children = ( 43992B14AB58E611565CA2F1, 3BE81A29DE9DE7360D59EC46, 776C04C7B34057F025DDE66D, 69B162683CA492C8029257F5, 425CE8E9D6EE24F5E6D9FCC2, 99F4D664ABFF2A2A4CF19823, ); name = native; sourceTree = ""; }; + 1AE2E61DCCFA795B7719120D = {isa = PBXGroup; children = ( + 627AE95AF5CC80C1BC70A525, + 4B181F9D6BF555181E04C99D, ); name = playback; sourceTree = ""; }; 3ECBE33EFF17F8349E2FFB42 = {isa = PBXGroup; children = ( - A349653C19280AABF9D551EA, - 0A8E4D138D060C89BFC82C3C, - B26ABDA90C7B0A2F7F68EB98, - 330BC8F273DC358F523CFFEE, + 8B19A96347B1CE51DAA5E947, + B1996DA0F218BAF05528D7E5, + 1AE2E61DCCFA795B7719120D, 1A2B5A442D099FA377DE4E1A, ); name = "juce_video"; sourceTree = ""; }; 64F7AE8683C9272534B33B96 = {isa = PBXGroup; children = ( EDCB4DA5D2A8138374D81A81, @@ -2161,55 +2124,35 @@ 3ECBE33EFF17F8349E2FFB42, ); name = "Juce Modules"; sourceTree = ""; }; BDC9CF371654CB75F310688D = {isa = PBXGroup; children = ( 509EAB8A04273892F0DFB9AD, - 8050245A4FDA661B38C56FB7, - 4E117F7C74DCEB70A1F377E6, - BA528AB76690AF9F8ACE8A57, - BC27929DAEAC6B259D898C9F, - A7C5D1A29C28C505913F01F7, - 7807EDBF280BD86BA4B54170, - D8F61BA5399E97BE1B28FB14, - 3AD79BA42B077E0A5F529E32, - 69B2E6C4996E538FBA2F0DE6, - CBDF4DF6A7679ECC81BACF3E, - 2DE0D81D1002AACD733312D3, - EF849D7AC1EE182A681688E3, - F53482E8CB053854980E8C86, - 2DF4931504468BD9E20AE3E6, - A548F9E69AE986B2EB619FE6, - C5B4C33C4CACB952D0084A25, - 2CFC098BABAF6F3A9DFA615A, - 17D954B1EE6DD96B6905508C, - 38286B4A32B4D3C255E0A871, - 7A7498DE64975C48348E349C, - 7AB443DA64083C900D748B1B, - 7E48708D1F7B5C675C2317FA, - BCA4C93B24E774413746F944, - AED6A0E57D5F1CB9CEB1DECB, - C0EDB3E56321B663CEA2E600, - 2C96D1EF867911A0E68FFBFF, - 4CC978CFF6C2F65FD0283757, - CA015A7287D01104AE5E1553, - 5E13D21827E76C6ACCFA7358, - 12EB0C9DF7DCA4D94CF8EE18, - 70ABCE8D77A662C690A1E6DF, - 65CD5793B45D2D33CA74646E, - 121208AF12C8CE7E9A72A27B, - F0C3DA304E28C86EA46626CE, - 54ED3AEF6A560DA2A2C9A6A1, - 26EFE7738F4209B87E675B48, - 8495D4AC707047B56331794B, - 09E8A551CD342D08E0FCFC7E, - 2C88000D1FD0FF38CE9A45DC, - EBC20070F34FA195234BE6DF, - 14F1769BC9227265335CE7E1, - 0462FCF4041854C357138EB2, - C18A26D290AB9B1B16DDF330, - EAAA5DE166254FF08BBF56C4, - F4AFD4E9AEACE1644C6E9A38, - B6E62CA67E425664815BB3FA, ); name = "Juce Library Code"; sourceTree = ""; }; + 2E94A5BF0507304C7FBE7DAC, + 2F4E8F666770D3FE1819841C, + B88670F8C43CDC4E1C93F040, + 5AB6B81BA52870C0AD33341E, + 530EF6F2E307D0652B974CF4, + F3329DC874973DF520276066, + EC519AF44CCE0881235FB4EB, + 5087D4BAAE6FE9828E8B8ED3, + 8998F48F783F40A3C08AFD0E, + 09A11E2B06C9254B90D33931, + E2F7D83F51D8257B263771B6, + EF01A1FC7C85F759038CC4D1, + 8D256AABEE9F2E8B11736E86, + 1433B21863210729F0530CE6, + 42CC4A0B344E62ED93EC74D7, + EE9F607958A73BD8084C690D, + B61F1E0D31A376A3C251F16B, + 3CC3CCB36E5E08DCA857C796, + D8F52EB57878B5762C0FD866, + BED8FCD9183EF5E54F0E03BC, + F4AFD4E9AEACE1644C6E9A38, ); name = "Juce Library Code"; sourceTree = ""; }; 467A24411BA7A185B2C53178 = {isa = PBXGroup; children = ( - 6116E21BC29C08EE4E5393F4, - 2F12CFEB1E95BC54E1CD3C7D, ); name = Resources; sourceTree = ""; }; + 0976BFC1400DB1F6254192FC, + AD33FF34F267508546D24E26, + E39E8398B8A26F3F99A37341, + DE0DBA6DFFF3F7B3024D78AF, + D025600CC5C87F6589458DF5, + 2F12CFEB1E95BC54E1CD3C7D, + ACE47F30020C3E4144BD108A, ); name = Resources; sourceTree = ""; }; 61D8F5CF64FE3EC528B85D1B = {isa = PBXGroup; children = ( C3F6222E9059F8CCD9674AD0, AC840D910B076A8D6E11D0E3, @@ -2226,73 +2169,392 @@ FAC1B0E5511BBD94A50A2E49, 970820EDE1527139F0A21632, ); name = Frameworks; sourceTree = ""; }; 34E9DBEC61D3C0809DAF1AB4 = {isa = PBXGroup; children = ( - A1F5A8172293896A1789B630, ); name = Products; sourceTree = ""; }; + B7A2991D3F6CDC78EE921F1D, + 9B925B22A539EFE048C4F2D0, + 40D80A7071E7DF99EF20511D, + 14CD0689B0BFC8758FA6C408, + 6C612817F52B969A5F16CE94, ); name = Products; sourceTree = ""; }; 7678EFC533FC99BEEF151913 = {isa = PBXGroup; children = ( + ACE47F30020C3E4144BD108A, 911865057C71D7643E1F513A, 64F7AE8683C9272534B33B96, BDC9CF371654CB75F310688D, 467A24411BA7A185B2C53178, 61D8F5CF64FE3EC528B85D1B, 34E9DBEC61D3C0809DAF1AB4, ); name = Source; sourceTree = ""; }; - 2545E8BA13591E4BE3CB4642 = {isa = XCBuildConfiguration; buildSettings = { + 6A83695CF366C87636A392BE = {isa = XCBuildConfiguration; buildSettings = { }; name = Debug; }; + 024F8B1B5C243015CA8FEF35 = {isa = XCBuildConfiguration; buildSettings = { }; name = Release; }; + D83A1735FBD5B491316453B8 = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; COPY_PHASE_STRIP = NO; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( "_DEBUG=1", "DEBUG=1", + "JucePlugin_Build_VST=1", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", "JUCER_XCODE_MAC_F6D2F4CF=1", "JUCE_APP_VERSION=1.0.0", "JUCE_APP_VERSION_HEX=0x10000", ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GENERATE_PKGINFO_FILE = YES; - HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "../../../../../modules", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "$(inherited)"); - INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; - LIBRARY_SEARCH_PATHS = ("$(inherited)", "\"$(HOME)/SDKs/AAX/Libs/Debug\""); + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-VST.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; LIBRARY_STYLE = Bundle; 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"; - 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\""; + OTHER_LDFLAGS = "-bundle"; PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.Arpeggiator; SDKROOT_ppc = macosx10.5; - WRAPPER_EXTENSION = component; }; name = Debug; }; - BE9E3EF2B9B86E30560190F3 = {isa = XCBuildConfiguration; buildSettings = { + WRAPPER_EXTENSION = vst; }; name = Debug; }; + AC0ABA95F0350939E21390E1 = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; DEAD_CODE_STRIPPING = YES; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_OPTIMIZATION_LEVEL = 3; GCC_PREPROCESSOR_DEFINITIONS = ( "_NDEBUG=1", "NDEBUG=1", + "JucePlugin_Build_VST=1", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", "JUCER_XCODE_MAC_F6D2F4CF=1", "JUCE_APP_VERSION=1.0.0", "JUCE_APP_VERSION_HEX=0x10000", ); GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GENERATE_PKGINFO_FILE = YES; - HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "../../../../../modules", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-VST.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + LIBRARY_STYLE = Bundle; + 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"; + OTHER_LDFLAGS = "-bundle"; + PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.Arpeggiator; + SDKROOT_ppc = macosx10.5; + WRAPPER_EXTENSION = vst; }; name = Release; }; + D42A639827E2709B5AF668D8 = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + COPY_PHASE_STRIP = NO; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_DEBUG=1", + "DEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=1", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-VST3.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST3/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + LIBRARY_STYLE = Bundle; + 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"; + OTHER_LDFLAGS = "-bundle"; + PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.Arpeggiator; + SDKROOT_ppc = macosx10.5; + WRAPPER_EXTENSION = vst3; }; name = Debug; }; + 07B9E8F70529950A47F22BA0 = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + DEAD_CODE_STRIPPING = YES; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_NDEBUG=1", + "NDEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=1", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-VST3.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST3/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + LIBRARY_STYLE = Bundle; + 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"; + OTHER_LDFLAGS = "-bundle"; + PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.Arpeggiator; + SDKROOT_ppc = macosx10.5; + WRAPPER_EXTENSION = vst3; }; name = Release; }; + 575D0AC8DD9926D1C8349BE2 = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + COPY_PHASE_STRIP = NO; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_DEBUG=1", + "DEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=1", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-AU.plist; INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + LIBRARY_STYLE = Bundle; + 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"; + 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.ROLI.Arpeggiator; + SDKROOT_ppc = macosx10.5; + WRAPPER_EXTENSION = component; }; name = Debug; }; + 6B6E02F5844A057FE3738154 = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + DEAD_CODE_STRIPPING = YES; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_NDEBUG=1", + "NDEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=1", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-AU.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + LIBRARY_STYLE = Bundle; + 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"; + 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.ROLI.Arpeggiator; + SDKROOT_ppc = macosx10.5; + WRAPPER_EXTENSION = component; }; name = Release; }; + 515B9E5E69F486633922E731 = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + COPY_PHASE_STRIP = NO; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_DEBUG=1", + "DEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=1", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-AAX.plist; + INSTALL_PATH = "/Library/Application Support/Avid/Audio/Plug-Ins/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + LIBRARY_SEARCH_PATHS = ("$(inherited)", "\"$(HOME)/SDKs/AAX/Libs/Debug\""); + LIBRARY_STYLE = Bundle; + 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"; + OTHER_LDFLAGS = "-bundle -lAAXLibrary"; + PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.Arpeggiator; + SDKROOT_ppc = macosx10.5; + WRAPPER_EXTENSION = aaxplugin; }; name = Debug; }; + 3F21DFC5AA6C44E97BE3588C = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + DEAD_CODE_STRIPPING = YES; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_NDEBUG=1", + "NDEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=1", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-AAX.plist; + INSTALL_PATH = "/Library/Application Support/Avid/Audio/Plug-Ins/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; LIBRARY_SEARCH_PATHS = ("$(inherited)", "\"$(HOME)/SDKs/AAX/Libs/Release\""); LIBRARY_STYLE = Bundle; 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"; 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; }; + WRAPPER_EXTENSION = aaxplugin; }; name = Release; }; + 47B6BE82623EE30A5AA944A2 = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + COPY_PHASE_STRIP = NO; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_DEBUG=1", + "DEBUG=1", + "JUCE_SHARED_CODE=1", + "JucePlugin_Build_VST=1", + "JucePlugin_Build_VST3=1", + "JucePlugin_Build_AU=1", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=1", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-Shared_Code.plist; + INSTALL_PATH = "@executable_path/../Frameworks"; + LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)"; + 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.Arpeggiator.ArpeggiatorFramework; + SDKROOT_ppc = macosx10.5; }; name = Debug; }; + 3C43BDBC68E42CE3DAB2F269 = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + DEAD_CODE_STRIPPING = YES; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_NDEBUG=1", + "NDEBUG=1", + "JUCE_SHARED_CODE=1", + "JucePlugin_Build_VST=1", + "JucePlugin_Build_VST3=1", + "JucePlugin_Build_AU=1", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=1", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-Shared_Code.plist; + INSTALL_PATH = "@executable_path/../Frameworks"; + LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)"; + 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.Arpeggiator.ArpeggiatorFramework; + SDKROOT_ppc = macosx10.5; }; name = Release; }; A6E581C14CB7121F9770B6E8 = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; @@ -2325,63 +2587,95 @@ PRODUCT_NAME = "Arpeggiator"; WARNING_CFLAGS = -Wreorder; ZERO_LINK = NO; }; name = Release; }; + D65F24B83710D0DAEB515331 = {isa = PBXTargetDependency; target = 892A28E616D56F05C8C11049; }; + FB5FCA02BA29016482B2C525 = {isa = PBXTargetDependency; target = 805B0B33D0A41CE1F7297E21; }; + 78D7AF4AA023DEF36CFB4694 = {isa = PBXTargetDependency; target = 07D9D33E3466A8A497086BEE; }; + 32DBB1DF9706638992667EDB = {isa = PBXTargetDependency; target = 68FD79ED9C88703C522C7995; }; + E096AE1D1B8906A691BBBE6F = {isa = PBXTargetDependency; target = 319717B733C323BE76160BD4; }; B601BADC34558F9AD61C80D7 = {isa = XCConfigurationList; buildConfigurations = ( A6E581C14CB7121F9770B6E8, EFCCE2C580425A3CD207D953, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - B66D9C9105DDB485F09A24F4 = {isa = XCConfigurationList; buildConfigurations = ( - 2545E8BA13591E4BE3CB4642, - BE9E3EF2B9B86E30560190F3, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - D11E639AE4B2562D5ED38BDF = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - EFD318C0120FF5F53BE57A95, ); runOnlyForDeploymentPostprocessing = 0; }; - 1A4D563B71777E88014A8583 = {isa = PBXRezBuildPhase; buildActionMask = 2147483647; files = ( - 70088451222089BBC8D0B36B, ); runOnlyForDeploymentPostprocessing = 0; }; - 42462C064EF44D4908230114 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - CBE3170A78C2C2BA01C59EB0, - 8E8059E466BC1C49119582FB, - 236D1B76E719C1A8C30F3B6E, - 3CD7BB01B8C5A7E6230ABCC1, - 5EE0301357957CBD70A338FD, - 66AF7C8CD8BADB0BA9280FBC, - 9FB532DA2737CB68C86FB456, - 001582D31AC15F12A5D06072, - 721F7488CFD36B907D2B912A, - 823BC41BE674DD3D0CDA2EB0, - 937498B88E3D14EFCE936297, - 703526A385F013BE4D503BB1, - 21D0D3314EB8ECA022D8720D, - E96834301A3080ED84FDB553, - 28B15B6B86FEAC1A231FB44F, - 69EAE53E671B0C45EB655544, - B1CCA302E23A1EAC8F83DE72, - 6E6554285725192A1C390A63, - 8ADC1626B2873FD555F55E7E, - 72A1597024A31494E56CACC3, - 830659C70EB7EA49FD9ED2C8, - 4D4347CFA36F1029CE3D4537, - 41F1D608C5860015D92371DD, - 6129DD962CA100387E0351B1, - 051921763D899757AD837CA8, - 2F642F8BB16C4C01B7DA8AB4, - 50C444E6E6F7262A3BD03622, - F025FD067DE6B0F7E0931E01, - 3555C9C77BA126B09C36F872, - DE000D5278A8409857CD1ACC, - 6CC7711186999FA3907A85B8, - 1898711DB1A6667E2C9ED121, - 9D3DF509B069D16A86C1D619, - F20D218D4F7B574D60C66C74, - 7AAC0E6CE79DA7F7E183CB01, - FB36AC3423955239A748F956, - 6B7171AB9EC3D5184ECB3832, - A3B5242B33269406A90E12BC, - 0CA25DBD723BA1702ABF0D06, - 7F98D052ABEB15F5488EDE3A, - 68395BA070CA23584C1542FB, - 1CE05E9280E80B2AFE9397FC, - CE69D3EBEE22DDF5E92E686C, - 29C7686F94F38A92B4FF1DAC, - D52B0D08613D8F45CF7FA7D0, ); runOnlyForDeploymentPostprocessing = 0; }; - E15F959F07ABD0BE32FBDE91 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 3C2FB38C546E3A4CBD11DD08 = {isa = XCConfigurationList; buildConfigurations = ( + 6A83695CF366C87636A392BE, + 024F8B1B5C243015CA8FEF35, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 08D74DB290FCD09A8D4810BB = {isa = PBXAggregateTarget; buildConfigurationList = 3C2FB38C546E3A4CBD11DD08; dependencies = ( + D65F24B83710D0DAEB515331, + FB5FCA02BA29016482B2C525, + 78D7AF4AA023DEF36CFB4694, + 32DBB1DF9706638992667EDB, + E096AE1D1B8906A691BBBE6F, ); name = "Arpeggiator (All)"; productName = Arpeggiator; }; + 8743CAE2B16AA12050DFC703 = {isa = XCConfigurationList; buildConfigurations = ( + D83A1735FBD5B491316453B8, + AC0ABA95F0350939E21390E1, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + DD2730D2C73FAF12FC2A2FE1 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + EFD318C0120FF5F53BE57A95, + E3609826518EFA6E8E7589AB, ); runOnlyForDeploymentPostprocessing = 0; }; + D2FD77A11F7A9E9750F58BFA = {isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; files = ( + 4006ECEA053125B2706BB403, ); runOnlyForDeploymentPostprocessing = 0; name = "Embed Frameworks"; dstPath = ""; dstSubfolderSpec = 10; }; + 374615B793201971BEB6ACD7 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 3F4774290CDA1A5712701353, ); runOnlyForDeploymentPostprocessing = 0; }; + C536519964353A302E775B31 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + E1EAF7A85355978D529D0FAA, + D0DA0BDE4746B7B12FD847CF, + 6AAE082359758785B89D3620, + 35F81D0026609F1B1F03C592, + 8A0C4A63928476A51A5ABA85, + 42249366F95C3CE5A3FB0B27, + 3077B2084E87797DD942DD7A, + 9F2B4549218AC0A51FB01877, + 568F6C3382967F18B3398DC4, + 82DB33B4356E013942B2B130, + 2652F9F9C3F4DBC1C5D34974, + 6056E4708065C48B5DBEC734, + 4006ECEA053125B2706BB403, ); runOnlyForDeploymentPostprocessing = 0; }; + 892A28E616D56F05C8C11049 = {isa = PBXNativeTarget; buildConfigurationList = 8743CAE2B16AA12050DFC703; buildPhases = ( + DD2730D2C73FAF12FC2A2FE1, + D2FD77A11F7A9E9750F58BFA, + 374615B793201971BEB6ACD7, + C536519964353A302E775B31, ); buildRules = ( ); dependencies = ( + E096AE1D1B8906A691BBBE6F, ); name = "Arpeggiator (VST)"; productName = Arpeggiator; productReference = B7A2991D3F6CDC78EE921F1D; productInstallPath = "$(HOME)/Library/Audio/Plug-Ins/VST/"; productType = "com.apple.product-type.bundle"; }; + D6CB2F705702254FEDACDA4D = {isa = XCConfigurationList; buildConfigurations = ( + D42A639827E2709B5AF668D8, + 07B9E8F70529950A47F22BA0, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 6E5217D875151ACA03487C5F = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + EFD318C0120FF5F53BE57A95, + E3609826518EFA6E8E7589AB, ); runOnlyForDeploymentPostprocessing = 0; }; + 7BD67801B56AB1B9B9B7C39E = {isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; files = ( + 4006ECEA053125B2706BB403, ); runOnlyForDeploymentPostprocessing = 0; name = "Embed Frameworks"; dstPath = ""; dstSubfolderSpec = 10; }; + D6A7B6CC63294E7F4E4C2669 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 087F53B6CB2E5291253A1662, ); runOnlyForDeploymentPostprocessing = 0; }; + FD25AA0E45A27BC734181E25 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + E1EAF7A85355978D529D0FAA, + D0DA0BDE4746B7B12FD847CF, + 6AAE082359758785B89D3620, + 35F81D0026609F1B1F03C592, + 8A0C4A63928476A51A5ABA85, + 42249366F95C3CE5A3FB0B27, + 3077B2084E87797DD942DD7A, + 9F2B4549218AC0A51FB01877, + 568F6C3382967F18B3398DC4, + 82DB33B4356E013942B2B130, + 2652F9F9C3F4DBC1C5D34974, + 6056E4708065C48B5DBEC734, + 4006ECEA053125B2706BB403, ); runOnlyForDeploymentPostprocessing = 0; }; + 805B0B33D0A41CE1F7297E21 = {isa = PBXNativeTarget; buildConfigurationList = D6CB2F705702254FEDACDA4D; buildPhases = ( + 6E5217D875151ACA03487C5F, + 7BD67801B56AB1B9B9B7C39E, + D6A7B6CC63294E7F4E4C2669, + FD25AA0E45A27BC734181E25, ); buildRules = ( ); dependencies = ( + E096AE1D1B8906A691BBBE6F, ); name = "Arpeggiator (VST3)"; productName = Arpeggiator; productReference = 9B925B22A539EFE048C4F2D0; productInstallPath = "$(HOME)/Library/Audio/Plug-Ins/VST3/"; productType = "com.apple.product-type.bundle"; }; + 6E29A49617F400783841C529 = {isa = XCConfigurationList; buildConfigurations = ( + 575D0AC8DD9926D1C8349BE2, + 6B6E02F5844A057FE3738154, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + D4AFA92A095134140E436078 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + EFD318C0120FF5F53BE57A95, + E3609826518EFA6E8E7589AB, ); runOnlyForDeploymentPostprocessing = 0; }; + 48BDE2774118D6CAF5388DBE = {isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; files = ( + 4006ECEA053125B2706BB403, ); runOnlyForDeploymentPostprocessing = 0; name = "Embed Frameworks"; dstPath = ""; dstSubfolderSpec = 10; }; + CE1F70D63BB05DCAD3BA3110 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 7FD723582B7BF1775729023D, + 1935BD4130D5954448BC9B9D, ); runOnlyForDeploymentPostprocessing = 0; }; + 040001CD4E8585137BF43942 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( E1EAF7A85355978D529D0FAA, D0DA0BDE4746B7B12FD847CF, 762272ABD27938B84C8E9CB1, @@ -2395,15 +2689,81 @@ 568F6C3382967F18B3398DC4, 82DB33B4356E013942B2B130, 2652F9F9C3F4DBC1C5D34974, + 6056E4708065C48B5DBEC734, + 4006ECEA053125B2706BB403, ); runOnlyForDeploymentPostprocessing = 0; }; + 07D9D33E3466A8A497086BEE = {isa = PBXNativeTarget; buildConfigurationList = 6E29A49617F400783841C529; buildPhases = ( + D4AFA92A095134140E436078, + 48BDE2774118D6CAF5388DBE, + CE1F70D63BB05DCAD3BA3110, + 040001CD4E8585137BF43942, ); buildRules = ( ); dependencies = ( + E096AE1D1B8906A691BBBE6F, ); name = "Arpeggiator (AU)"; productName = Arpeggiator; productReference = 40D80A7071E7DF99EF20511D; productInstallPath = "$(HOME)/Library/Audio/Plug-Ins/Components/"; productType = "com.apple.product-type.bundle"; }; + 10C13AD68F0A4BADBD3E3A7E = {isa = XCConfigurationList; buildConfigurations = ( + 515B9E5E69F486633922E731, + 3F21DFC5AA6C44E97BE3588C, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 56971B7CCCA861C76980BF5F = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + EFD318C0120FF5F53BE57A95, + E3609826518EFA6E8E7589AB, ); runOnlyForDeploymentPostprocessing = 0; }; + C48D0B8A33037EFB50FF74AC = {isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; files = ( + 4006ECEA053125B2706BB403, ); runOnlyForDeploymentPostprocessing = 0; name = "Embed Frameworks"; dstPath = ""; dstSubfolderSpec = 10; }; + A74DE6A1732099BA13F670AD = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 0C147FBEF5B1A66FBFBB01F4, ); runOnlyForDeploymentPostprocessing = 0; }; + B6D4E134F7DDBE5BEE94F2B0 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + E1EAF7A85355978D529D0FAA, + D0DA0BDE4746B7B12FD847CF, + 6AAE082359758785B89D3620, + 35F81D0026609F1B1F03C592, + 8A0C4A63928476A51A5ABA85, + 42249366F95C3CE5A3FB0B27, + 3077B2084E87797DD942DD7A, + 9F2B4549218AC0A51FB01877, + 568F6C3382967F18B3398DC4, + 82DB33B4356E013942B2B130, + 2652F9F9C3F4DBC1C5D34974, + 6056E4708065C48B5DBEC734, + 4006ECEA053125B2706BB403, ); runOnlyForDeploymentPostprocessing = 0; }; + 68FD79ED9C88703C522C7995 = {isa = PBXNativeTarget; buildConfigurationList = 10C13AD68F0A4BADBD3E3A7E; buildPhases = ( + 56971B7CCCA861C76980BF5F, + C48D0B8A33037EFB50FF74AC, + A74DE6A1732099BA13F670AD, + B6D4E134F7DDBE5BEE94F2B0, ); buildRules = ( ); dependencies = ( + E096AE1D1B8906A691BBBE6F, ); name = "Arpeggiator (AAX)"; productName = Arpeggiator; productReference = 14CD0689B0BFC8758FA6C408; productInstallPath = "/Library/Application Support/Avid/Audio/Plug-Ins/"; productType = "com.apple.product-type.bundle"; }; + AFF7B7B2889999928579D32F = {isa = XCConfigurationList; buildConfigurations = ( + 47B6BE82623EE30A5AA944A2, + 3C43BDBC68E42CE3DAB2F269, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 1CDAF3706AC2D6D164846859 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + CBE3170A78C2C2BA01C59EB0, + CD51ABAA6EF40CBA996A4E90, + F9286BDCED2819E0411D290B, + E121C97227FD69E95BC0B848, + 6CFEA843342A89A46A3F087C, + 3B76B94843D8BC7B2AA45CBC, + 0AA3C7D7D4C3474EEF28118C, + 6673243E0C47DB46A54386A7, + 42406DF00F2BEBF9EF31CB14, + F334E4C7C99829FF1DA93A96, + 90AF57171A5FDAD1C84CD457, + 8DC7B76BEF0F1610AE804DA7, + 945C74C3BE756DD625B54D4B, + 52BFEA1704A6D3D55BD9C752, + 2D9494700DCDA6E524726943, + 9E93B5D7B33591139054C54E, ); runOnlyForDeploymentPostprocessing = 0; }; + 27255AB80EFD5B08A44472DE = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + E1EAF7A85355978D529D0FAA, + D0DA0BDE4746B7B12FD847CF, + 6AAE082359758785B89D3620, + 35F81D0026609F1B1F03C592, + 8A0C4A63928476A51A5ABA85, + 42249366F95C3CE5A3FB0B27, + 3077B2084E87797DD942DD7A, + 9F2B4549218AC0A51FB01877, + 568F6C3382967F18B3398DC4, + 82DB33B4356E013942B2B130, + 2652F9F9C3F4DBC1C5D34974, 6056E4708065C48B5DBEC734, ); runOnlyForDeploymentPostprocessing = 0; }; - 7C0847D6674F19331A0054A5 = {isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; name = "Post-build script"; shellPath = /bin/sh; shellScript = "\n# This script takes the build product and copies it to the AU, VST, VST3, RTAS and AAX folders, depending on \n# which plugin types you've built\n\noriginal=$CONFIGURATION_BUILD_DIR/$FULL_PRODUCT_NAME\n\n# this looks inside the binary to detect which platforms are needed.. \ncopyAU=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'AudioUnit' | wc -l`\ncopyVST=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'VSTPlugin' | wc -l`\ncopyVST3=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'GetPluginFactory' | wc -l`\ncopyRTAS=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'CProcess' | wc -l`\ncopyAAX=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'ACFStartup' | wc -l`\n\nif [ $copyAU -gt 0 ]; then\n echo \"Copying to AudioUnit folder...\"\n AUDir=~/Library/Audio/Plug-Ins/Components\n mkdir -p \"$AUDir\"\n AU=$AUDir/$PRODUCT_NAME.component\n if [ -d \"$AU\" ]; then \n rm -r \"$AU\"\n fi\n\n cp -r \"$original\" \"$AU\"\n sed -i \"\" -e 's/TDMwPTul/BNDLPTul/g' \"$AU/Contents/PkgInfo\"\n sed -i \"\" -e 's/TDMw/BNDL/g' \"$AU/Contents/$INFOPLIST_FILE\"\nfi\n\nif [ $copyVST -gt 0 ]; then\n echo \"Copying to VST folder...\"\n VSTDir=~/Library/Audio/Plug-Ins/VST\n mkdir -p \"$VSTDir\"\n VST=$VSTDir/$PRODUCT_NAME.vst\n if [ -d \"$VST\" ]; then \n rm -r \"$VST\"\n fi\n\n cp -r \"$original\" \"$VST\"\n sed -i \"\" -e 's/TDMwPTul/BNDLPTul/g' \"$VST/Contents/PkgInfo\"\n sed -i \"\" -e 's/TDMw/BNDL/g' \"$VST/Contents/$INFOPLIST_FILE\"\nfi\n\nif [ $copyVST3 -gt 0 ]; then\n echo \"Copying to VST3 folder...\"\n VST3Dir=~/Library/Audio/Plug-Ins/VST3\n mkdir -p \"$VST3Dir\"\n VST3=$VST3Dir/$PRODUCT_NAME.vst3\n if [ -d \"$VST3\" ]; then \n rm -r \"$VST3\"\n fi\n\n cp -r \"$original\" \"$VST3\"\n sed -i \"\" -e 's/TDMwPTul/BNDLPTul/g' \"$VST3/Contents/PkgInfo\"\n sed -i \"\" -e 's/TDMw/BNDL/g' \"$VST3/Contents/$INFOPLIST_FILE\"\nfi\n\nif [ $copyRTAS -gt 0 ]; then\n echo \"Copying to RTAS folder...\"\n RTASDir=/Library/Application\\ Support/Digidesign/Plug-Ins\n if [ -d \"$RTASDir\" ]; then\n RTAS=$RTASDir/$PRODUCT_NAME.dpm\n if [ -d \"$RTAS\" ]; then\n rm -r \"$RTAS\"\n fi\n\n cp -r \"$original\" \"$RTAS\"\n fi\nfi\n\nif [ $copyAAX -gt 0 ]; then\n echo \"Copying to AAX folder...\"\n\n if [ -d \"/Applications/ProTools_3PDev/Plug-Ins\" ]; then\n AAX1=\"/Applications/ProTools_3PDev/Plug-Ins/$PRODUCT_NAME.aaxplugin\"\n\n if [ -d \"$AAX1\" ]; then\n rm -r \"$AAX1\"\n fi\n\n cp -R -H \"$original\" \"$AAX1\"\n fi\n\n if [ -d \"/Library/Application Support/Avid/Audio/Plug-Ins\" ]; then\n AAX2=\"/Library/Application Support/Avid/Audio/Plug-Ins/$PRODUCT_NAME.aaxplugin\"\n\n if [ -d \"$AAX2\" ]; then\n rm -r \"$AAX2\"\n fi\n\n cp -R -H \"$original\" \"$AAX2\"\n fi\nfi\n"; }; - EFEB837CA0A6623ECB87ABF7 = {isa = PBXNativeTarget; buildConfigurationList = B66D9C9105DDB485F09A24F4; buildPhases = ( - D11E639AE4B2562D5ED38BDF, - 1A4D563B71777E88014A8583, - 42462C064EF44D4908230114, - E15F959F07ABD0BE32FBDE91, - 7C0847D6674F19331A0054A5, ); buildRules = ( ); dependencies = ( ); name = Arpeggiator; productName = Arpeggiator; productReference = A1F5A8172293896A1789B630; productInstallPath = "$(HOME)/Library/Audio/Plug-Ins/Components/"; productType = "com.apple.product-type.bundle"; }; - 4A5323BE8842B95E4FCCD6ED = {isa = PBXProject; buildConfigurationList = B601BADC34558F9AD61C80D7; attributes = { LastUpgradeCheck = 0440; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 7678EFC533FC99BEEF151913; projectDirPath = ""; projectRoot = ""; targets = ( EFEB837CA0A6623ECB87ABF7 ); }; + 319717B733C323BE76160BD4 = {isa = PBXNativeTarget; buildConfigurationList = AFF7B7B2889999928579D32F; buildPhases = ( + 1CDAF3706AC2D6D164846859, + 27255AB80EFD5B08A44472DE, ); buildRules = ( ); dependencies = ( ); name = "Arpeggiator (Shared Code)"; productName = Arpeggiator; productReference = 6C612817F52B969A5F16CE94; productInstallPath = "@executable_path/../Frameworks"; productType = "com.apple.product-type.framework"; }; + 4A5323BE8842B95E4FCCD6ED = {isa = PBXProject; buildConfigurationList = B601BADC34558F9AD61C80D7; attributes = { LastUpgradeCheck = 0440; TargetAttributes = { 08D74DB290FCD09A8D4810BB = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };892A28E616D56F05C8C11049 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };805B0B33D0A41CE1F7297E21 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };07D9D33E3466A8A497086BEE = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };68FD79ED9C88703C522C7995 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };319717B733C323BE76160BD4 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 7678EFC533FC99BEEF151913; projectDirPath = ""; projectRoot = ""; targets = (08D74DB290FCD09A8D4810BB, 892A28E616D56F05C8C11049, 805B0B33D0A41CE1F7297E21, 07D9D33E3466A8A497086BEE, 68FD79ED9C88703C522C7995, 319717B733C323BE76160BD4); }; }; rootObject = 4A5323BE8842B95E4FCCD6ED; } diff --git a/examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Info-AAX.plist b/examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Info-AAX.plist new file mode 100644 index 0000000000..57c6c0094e --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Info-AAX.plist @@ -0,0 +1,29 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + Arpeggiator + CFBundleDisplayName + Arpeggiator + CFBundlePackageType + TDMw + CFBundleSignature + PTul + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + ROLI Ltd. + NSHighResolutionCapable + + + diff --git a/examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Info.plist b/examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Info-AU.plist similarity index 88% rename from examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Info.plist rename to examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Info-AU.plist index f9f29f16cb..3e571482cf 100644 --- a/examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Info.plist +++ b/examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Info-AU.plist @@ -11,10 +11,12 @@ $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName Arpeggiator + CFBundleDisplayName + Arpeggiator CFBundlePackageType - TDMw + BNDL CFBundleSignature - PTul + ???? CFBundleShortVersionString 1.0.0 CFBundleVersion diff --git a/examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Info-Shared_Code.plist b/examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Info-Shared_Code.plist new file mode 100644 index 0000000000..43df714c70 --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Info-Shared_Code.plist @@ -0,0 +1,29 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + Arpeggiator + CFBundleDisplayName + Arpeggiator + CFBundlePackageType + FMWK + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + ROLI Ltd. + NSHighResolutionCapable + + + diff --git a/examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Info-VST.plist b/examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Info-VST.plist new file mode 100644 index 0000000000..0198096a5e --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Info-VST.plist @@ -0,0 +1,29 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + Arpeggiator + CFBundleDisplayName + Arpeggiator + CFBundlePackageType + BNDL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + ROLI Ltd. + NSHighResolutionCapable + + + diff --git a/examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Info-VST3.plist b/examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Info-VST3.plist new file mode 100644 index 0000000000..0198096a5e --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Info-VST3.plist @@ -0,0 +1,29 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + Arpeggiator + CFBundleDisplayName + Arpeggiator + CFBundlePackageType + BNDL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + ROLI Ltd. + NSHighResolutionCapable + + + diff --git a/examples/PlugInSamples/Arpeggiator/Builds/VisualStudio2015/Arpeggiator.vcxproj b/examples/PlugInSamples/Arpeggiator/Builds/VisualStudio2015/Arpeggiator.vcxproj index 7695ffcca2..9e7c13b996 100644 --- a/examples/PlugInSamples/Arpeggiator/Builds/VisualStudio2015/Arpeggiator.vcxproj +++ b/examples/PlugInSamples/Arpeggiator/Builds/VisualStudio2015/Arpeggiator.vcxproj @@ -55,7 +55,7 @@ Disabled EditAndContinue - c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;..\..\..\..\..\modules;c:\SDKs\AAX;c:\SDKs\AAX\Interfaces;c:\SDKs\AAX\Interfaces\ACF;%(AdditionalIncludeDirectories) + c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;c:\SDKs\AAX;c:\SDKs\AAX\Interfaces;c:\SDKs\AAX\Interfaces\ACF;..\..\..\..\..\modules;%(AdditionalIncludeDirectories) _CRT_SECURE_NO_WARNINGS;JucePlugin_AAXLibs_path="c:\\SDKs\\AAX\\Libs";WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions) MultiThreadedDebugDLL true @@ -99,7 +99,7 @@ Full - c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;..\..\..\..\..\modules;c:\SDKs\AAX;c:\SDKs\AAX\Interfaces;c:\SDKs\AAX\Interfaces\ACF;%(AdditionalIncludeDirectories) + c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;c:\SDKs\AAX;c:\SDKs\AAX\Interfaces;c:\SDKs\AAX\Interfaces\ACF;..\..\..\..\..\modules;%(AdditionalIncludeDirectories) _CRT_SECURE_NO_WARNINGS;JucePlugin_AAXLibs_path="c:\\SDKs\\AAX\\Libs";WIN32;_WINDOWS;NDEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions) MultiThreadedDLL true @@ -223,6 +223,9 @@ true + + true + true @@ -238,15 +241,6 @@ true - - true - - - true - - - true - true @@ -295,25 +289,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -343,9 +322,75 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -364,21 +409,6 @@ true - - true - - - true - - - true - - - true - - - true - true @@ -394,45 +424,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -448,33 +439,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -499,40 +463,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -541,31 +475,16 @@ true - + true - + true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -631,6 +550,117 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -649,6 +679,15 @@ true + + true + + + true + + + true + true @@ -658,33 +697,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -703,6 +715,18 @@ true + + true + + + true + + + true + + + true + true @@ -712,6 +736,12 @@ true + + true + + + true + true @@ -733,43 +763,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -790,10 +787,40 @@ true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -820,6 +847,51 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -832,6 +904,153 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -853,19 +1072,70 @@ true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -934,246 +1204,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -1282,38 +1312,23 @@ true - - - - - - - - - - - - - - - - StdCall - - - StdCall - - - StdCall - - - StdCall - - - StdCall - - - - + + + + + + + + + + + + + + + + + @@ -1352,6 +1367,8 @@ + + @@ -1359,20 +1376,10 @@ + - - - - - - - - - - - @@ -1382,9 +1389,19 @@ + + + + + + + + + + @@ -1394,6 +1411,15 @@ + + + + + + + + + @@ -1404,15 +1430,6 @@ - - - - - - - - - @@ -1423,21 +1440,35 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1458,22 +1489,49 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1493,53 +1551,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - @@ -1548,14 +1565,22 @@ + + + + - - - - + + + + + + + + @@ -1565,19 +1590,11 @@ - - - - - - - - - - + + @@ -1588,10 +1605,15 @@ - - - - + + + + + + + + + @@ -1602,26 +1624,91 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1635,14 +1722,21 @@ - - - - - - - - + + + + + + + + + + + + + + + @@ -1667,83 +1761,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1769,6 +1786,17 @@ + + + + + + + + + + + @@ -1778,41 +1806,17 @@ - - - - - - - - - - - + - - - - - - - - - - - - - - - + diff --git a/examples/PlugInSamples/Arpeggiator/Builds/VisualStudio2015/Arpeggiator.vcxproj.filters b/examples/PlugInSamples/Arpeggiator/Builds/VisualStudio2015/Arpeggiator.vcxproj.filters index 0b8be983df..18491ce7ab 100644 --- a/examples/PlugInSamples/Arpeggiator/Builds/VisualStudio2015/Arpeggiator.vcxproj.filters +++ b/examples/PlugInSamples/Arpeggiator/Builds/VisualStudio2015/Arpeggiator.vcxproj.filters @@ -35,63 +35,69 @@ {CACD7B50-4DB3-76AF-A6E8-90DF94F8F594} + + {45C2CE26-EC4B-BA52-58F3-297C408E1483} + {9D270B31-2425-8FDB-84A4-6A2288FF5B2F} {0F766DD4-A277-CB86-5647-42498C8B41E1} - - {D64942B4-6984-3623-3347-45D472AE1C61} - - - {45C2CE26-EC4B-BA52-58F3-297C408E1483} - {01603E05-423B-5FC3-1BEE-E15ED33B5688} + + {D64942B4-6984-3623-3347-45D472AE1C61} + {65CB28F8-0422-A8F3-9A17-959E12A1F8E2} - - {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} - {0CD9E281-DDD0-91EC-6F77-EA9D9D5E0E1A} + + {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} + {40C5CA7C-AEBB-05B1-11CE-AE41D87B5CCB} {EE36D8B9-408C-AEC9-66E7-BEA9E407F27F} + + {F0C10808-8C36-BCD0-D25F-523774B0ADA2} + {1ED92A41-D496-5397-A4B0-9FA52DBA9215} {50F044B3-0D39-198B-CA5F-BE5E6C078D04} - - {AF5F4789-D607-BFD8-D853-09473C27449C} - - - {F0C10808-8C36-BCD0-D25F-523774B0ADA2} + + {25DD3A16-4BC7-35BD-F32E-0310D1887564} {EA1913F9-0E99-FEC5-0192-0C197611B8F8} + + {AF5F4789-D607-BFD8-D853-09473C27449C} + + + {22689F25-8C5C-52CF-09E4-4308D1521B9B} + {0B0E7392-324B-088C-FBEB-5FE999D61782} - - {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} - {20254EFE-6CBD-31A7-2119-92B1E0E0E311} {70796D73-6D30-8A1B-4732-7C021E47C05A} + + {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} + {EB8DD942-E2CB-869F-D381-E02A65BA790B} @@ -101,8 +107,17 @@ {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} - - {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + + {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + + {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + + {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} {476C69CE-0B67-6B85-E888-45D91E37A29E} @@ -110,17 +125,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} - - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -128,29 +137,26 @@ {91929C6F-7902-B87D-5260-2F6CBF8ACD93} - - {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} - {4634FFAE-9586-A970-364C-4FDDA635F99F} - - {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} - - {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - {F03654BC-34D8-F975-BEA3-750CC2783D23} + + {C9F6D785-BF78-5AA1-B479-111C65397864} {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} - - {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} - - {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + {F03654BC-34D8-F975-BEA3-750CC2783D23} {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} @@ -164,33 +170,33 @@ {928D8FCC-5E00-174B-6538-93E8D75AB396} - - {1988E68A-A964-64CA-0E0C-26FF9BC5176C} + + {358AEA11-3F96-36AE-7B32-71373B5C5396} {3DF036EA-3B80-553B-2494-3AAC835CAE75} - - {358AEA11-3F96-36AE-7B32-71373B5C5396} + + {1988E68A-A964-64CA-0E0C-26FF9BC5176C} {F2A38F45-6E55-E147-2E52-64A89FDD9D59} - - {6172822C-01A5-E824-12DA-FA43FA934D35} - - - {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} - {B098BC87-3298-7E6B-12DC-D26C09CDCAED} {6322B88F-984A-C3CD-6263-38D7AA49B6EC} + + {6172822C-01A5-E824-12DA-FA43FA934D35} + {73C1E759-AD90-59A3-942E-2D10FAA29107} + + {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} + {EE1AE8C3-0908-8F53-A4E5-D930C7C97C26} @@ -200,81 +206,81 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} - - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - - {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {E37D25CD-4350-4614-055B-7ABC55E67895} {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {C1A1A236-AB01-173E-96C3-0706BFF93B1E} + + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + + {413F481F-075C-2958-115C-D8268682FCB7} {FFC6E1CC-C772-75E6-5087-FB5D4E016799} + + {1182303F-ECA3-166D-AC0C-92C5E762CB93} + {8E43579F-C185-266D-DD67-F8B95BD80F2F} + + {61712B09-5783-ADFA-2001-5A0C3D7764EB} + + + {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + + {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} + {2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D} - - {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + {5A0AA36E-3957-E413-14C6-31CBE15271DF} + + + {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} {A92719C7-70BE-57C4-CE9E-A9BC9DFEB757} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} + + + {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} + + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} + + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + + {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} + + + {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} + {75F1F352-251A-75E0-D941-8431588F5C1E} {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} - - {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} - - - {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} - - - {5A0AA36E-3957-E413-14C6-31CBE15271DF} - - - {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} - - - {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} - - - {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} - - - {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} - - - {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - - {61712B09-5783-ADFA-2001-5A0C3D7764EB} - - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} - {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -296,30 +302,30 @@ {639E16C5-DA8B-ADBA-6E24-7B596378EAB2} - - {2D8D0E19-E676-83EB-38D9-F73500DD6B79} - {B3141847-8F13-F67D-45B2-E3ECF6E09088} - - {9E586194-C056-101C-5311-F2AF5191AC80} - {151B49D8-6102-F802-1C07-D59931BC0574} + + {2D8D0E19-E676-83EB-38D9-F73500DD6B79} + + + {9E586194-C056-101C-5311-F2AF5191AC80} + {72A923E2-C729-DB92-D7BF-A9D4AFAE5896} - - {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} - {7F11E7D2-54C0-2A36-5F15-BEC0A5374A08} {EE985DEA-CD83-8132-7219-542BB1DAD560} + + {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} + {8B4D1BAA-6DB4-CAEC-A0FA-271F354D5C61} @@ -415,6 +421,9 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -430,15 +439,6 @@ Juce Modules\juce_audio_devices\midi_io - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\audio_cd - Juce Modules\juce_audio_devices\native @@ -493,26 +493,11 @@ Juce Modules\juce_audio_devices\native - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_formats\codecs @@ -541,38 +526,74 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_plugin_client\AU - - - Juce Modules\juce_audio_plugin_client\RTAS - - - Juce Modules\juce_audio_plugin_client\VST + + Juce Modules\juce_audio_plugin_client\AAX Juce Modules\juce_audio_plugin_client\AAX - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client\AU - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client\AU - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client\RTAS - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client\RTAS - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client\RTAS - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client\RTAS + + + Juce Modules\juce_audio_plugin_client\RTAS + + + Juce Modules\juce_audio_plugin_client\RTAS + + + Juce Modules\juce_audio_plugin_client\Standalone + + + Juce Modules\juce_audio_plugin_client\utility + + + Juce Modules\juce_audio_plugin_client\VST + + + Juce Modules\juce_audio_plugin_client\VST + + + Juce Modules\juce_audio_plugin_client\VST3 Juce Modules\juce_audio_processors\format @@ -592,6 +613,24 @@ Juce Modules\juce_audio_processors\format_types + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + Juce Modules\juce_audio_processors\scanning @@ -607,45 +646,6 @@ Juce Modules\juce_audio_processors\utilities - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\memory - Juce Modules\juce_core\containers @@ -661,33 +661,6 @@ Juce Modules\juce_core\containers - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - Juce Modules\juce_core\files @@ -712,41 +685,11 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -754,32 +697,17 @@ Juce Modules\juce_core\logging - - Juce Modules\juce_core\system + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc @@ -859,6 +787,117 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + Juce Modules\juce_cryptography\encryption @@ -877,6 +916,15 @@ Juce Modules\juce_cryptography\hashing + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -886,33 +934,6 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - Juce Modules\juce_events\broadcasters @@ -931,6 +952,18 @@ Juce Modules\juce_events\interprocess + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + Juce Modules\juce_events\native @@ -946,6 +979,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_graphics\colour @@ -967,44 +1006,11 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\effects Juce Modules\juce_graphics\fonts @@ -1024,11 +1030,41 @@ Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -1060,6 +1096,51 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -1072,6 +1153,153 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -1093,20 +1321,92 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -1174,267 +1474,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_extra\code_editor @@ -1561,70 +1600,55 @@ Juce Modules\juce_video\native - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - + Juce Library Code @@ -1737,6 +1761,12 @@ Juce Modules\juce_audio_basics + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -1758,48 +1788,18 @@ Juce Modules\juce_audio_devices\midi_io + + Juce Modules\juce_audio_devices\native + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\native - Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - Juce Modules\juce_audio_formats\codecs @@ -1827,15 +1827,45 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_plugin_client\AU + Juce Modules\juce_audio_plugin_client\RTAS + + Juce Modules\juce_audio_plugin_client\Standalone + Juce Modules\juce_audio_plugin_client\utility @@ -1863,6 +1893,33 @@ Juce Modules\juce_audio_plugin_client + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + Juce Modules\juce_audio_processors\processors @@ -1893,33 +1950,6 @@ Juce Modules\juce_audio_processors\processors - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - Juce Modules\juce_audio_processors\scanning @@ -1950,50 +1980,92 @@ Juce Modules\juce_audio_processors - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -2055,53 +2127,134 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text Juce Modules\juce_core\threads @@ -2160,92 +2313,8 @@ Juce Modules\juce_core\time - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -2253,12 +2322,6 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - Juce Modules\juce_core\zip @@ -2268,39 +2331,6 @@ Juce Modules\juce_core\zip - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - Juce Modules\juce_core @@ -2325,6 +2355,18 @@ Juce Modules\juce_cryptography + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -2334,21 +2376,33 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - Juce Modules\juce_data_structures + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + Juce Modules\juce_events\messages @@ -2376,36 +2430,6 @@ Juce Modules\juce_events\messages - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - Juce Modules\juce_events\native @@ -2415,6 +2439,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_events @@ -2445,17 +2475,32 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -2487,38 +2532,17 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -2529,9 +2553,60 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + Juce Modules\juce_graphics + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -2547,6 +2622,171 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -2586,29 +2826,50 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -2682,237 +2943,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_basics @@ -2988,6 +3018,39 @@ Juce Modules\juce_gui_extra + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + Juce Modules\juce_opengl\opengl @@ -3015,54 +3078,21 @@ Juce Modules\juce_opengl\opengl - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - Juce Modules\juce_opengl\utils - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - Juce Modules\juce_opengl + + Juce Modules\juce_video\capture + Juce Modules\juce_video\playback Juce Modules\juce_video\playback - - Juce Modules\juce_video\capture - Juce Modules\juce_video @@ -3074,50 +3104,11 @@ - - Juce Modules\juce_audio_basics - - - Juce Modules\juce_audio_devices - - - Juce Modules\juce_audio_formats - - - Juce Modules\juce_audio_plugin_client - - - Juce Modules\juce_audio_processors - - - Juce Modules\juce_core - - - Juce Modules\juce_cryptography - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_gui_extra - - - Juce Modules\juce_opengl - - - Juce Modules\juce_video + + Juce Modules\juce_audio_plugin_client\RTAS - Juce Library Code + Juce Modules\juce_audio_plugin_client\RTAS diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/AppConfig.h b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/AppConfig.h index 93814d7d13..7a74eb2a39 100644 --- a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/AppConfig.h +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/AppConfig.h @@ -4,8 +4,8 @@ project - if you alter its contents, your changes may be overwritten! There's a section below where you can add your own custom code safely, and the - Introjucer will preserve the contents of that block, but the best way to change - any of these definitions is by using the Introjucer's project settings. + Projucer will preserve the contents of that block, but the best way to change + any of these definitions is by using the Projucer's project settings. Any commented-out settings will assume their default values. @@ -17,7 +17,7 @@ //============================================================================== // [BEGIN_USER_CODE_SECTION] -// (You can add your own code in this section, and the Introjucer will not overwrite it) +// (You can add your own code in this section, and the Projucer will not overwrite it) // [END_USER_CODE_SECTION] @@ -39,9 +39,15 @@ //============================================================================== #ifndef JUCE_STANDALONE_APPLICATION - #define JUCE_STANDALONE_APPLICATION 0 + #ifdef JucePlugin_Build_Standalone + #define JUCE_STANDALONE_APPLICATION JucePlugin_Build_Standalone + #else + #define JUCE_STANDALONE_APPLICATION 0 + #endif #endif +#define JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED 1 + //============================================================================== // juce_audio_devices flags: @@ -219,12 +225,18 @@ #ifndef JucePlugin_Build_AU #define JucePlugin_Build_AU 1 #endif +#ifndef JucePlugin_Build_AUv3 + #define JucePlugin_Build_AUv3 0 +#endif #ifndef JucePlugin_Build_RTAS #define JucePlugin_Build_RTAS 0 #endif #ifndef JucePlugin_Build_AAX #define JucePlugin_Build_AAX 1 #endif +#ifndef JucePlugin_Build_STANDALONE + #define JucePlugin_Build_STANDALONE 0 +#endif #ifndef JucePlugin_Name #define JucePlugin_Name "Arpeggiator" #endif diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/JuceHeader.h b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/JuceHeader.h index 81c5709c96..1c2c57578e 100644 --- a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/JuceHeader.h +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/JuceHeader.h @@ -14,20 +14,22 @@ #define __APPHEADERFILE_NXASZK__ #include "AppConfig.h" -#include "modules/juce_audio_basics/juce_audio_basics.h" -#include "modules/juce_audio_devices/juce_audio_devices.h" -#include "modules/juce_audio_formats/juce_audio_formats.h" -#include "modules/juce_audio_plugin_client/juce_audio_plugin_client.h" -#include "modules/juce_audio_processors/juce_audio_processors.h" -#include "modules/juce_core/juce_core.h" -#include "modules/juce_cryptography/juce_cryptography.h" -#include "modules/juce_data_structures/juce_data_structures.h" -#include "modules/juce_events/juce_events.h" -#include "modules/juce_graphics/juce_graphics.h" -#include "modules/juce_gui_basics/juce_gui_basics.h" -#include "modules/juce_gui_extra/juce_gui_extra.h" -#include "modules/juce_opengl/juce_opengl.h" -#include "modules/juce_video/juce_video.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + #if ! DONT_SET_USING_JUCE_NAMESPACE // If your code uses a lot of JUCE classes, then this will obviously save you diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/ReadMe.txt b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/ReadMe.txt index f6c3564e99..091a5aa6eb 100644 --- a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/ReadMe.txt +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/ReadMe.txt @@ -2,11 +2,11 @@ Important Note!! ================ -The purpose of this folder is to contain files that are auto-generated by the Introjucer, +The purpose of this folder is to contain files that are auto-generated by the Projucer, and ALL files in this folder will be mercilessly DELETED and completely re-written whenever -the Introjucer saves your project. +the Projucer saves your project. Therefore, it's a bad idea to make any manual changes to the files in here, or to put any of your own files in here if you don't want to lose them. (Of course you may choose to add the folder's contents to your version-control system so that you can re-merge your own -modifications after the Introjucer has saved its changes). +modifications after the Projucer has saved its changes). diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_basics.cpp b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_basics.cpp new file mode 100644 index 0000000000..418694873c --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_basics.mm b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_basics.mm new file mode 100644 index 0000000000..e0e6c577cc --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_devices.cpp b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_devices.cpp new file mode 100644 index 0000000000..fb5c2219d7 --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_devices.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_devices.mm b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_devices.mm new file mode 100644 index 0000000000..e58b67ea49 --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_devices.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_formats.cpp b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_formats.cpp new file mode 100644 index 0000000000..a3c61170eb --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_formats.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_formats.mm b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_formats.mm new file mode 100644 index 0000000000..f325b8fb67 --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_formats.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_AAX.cpp b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_AAX.cpp new file mode 100644 index 0000000000..c599b8759f --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_AAX.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_AAX.mm b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_AAX.mm new file mode 100644 index 0000000000..d4b8c31117 --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_AAX.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_AU_1.mm b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_AU_1.mm new file mode 100644 index 0000000000..a4fdf7f366 --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_AU_1.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_AU_2.mm b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_AU_2.mm new file mode 100644 index 0000000000..175b30047f --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_AU_2.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_AUv3.mm b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_AUv3.mm new file mode 100644 index 0000000000..0ac2b2f599 --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_AUv3.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_RTAS_1.cpp b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_RTAS_1.cpp new file mode 100644 index 0000000000..29d48f3faa --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_RTAS_1.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_RTAS_2.cpp b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_RTAS_2.cpp new file mode 100644 index 0000000000..2da08c6dc3 --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_RTAS_2.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_RTAS_3.cpp b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_RTAS_3.cpp new file mode 100644 index 0000000000..72a8426cbe --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_RTAS_3.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_RTAS_4.cpp b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_RTAS_4.cpp new file mode 100644 index 0000000000..6064f99d28 --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_RTAS_4.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.cpp b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.cpp new file mode 100644 index 0000000000..5c5509abde --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.mm b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.mm new file mode 100644 index 0000000000..56af9aebab --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_Standalone.cpp b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_Standalone.cpp new file mode 100644 index 0000000000..d3b6529a80 --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_Standalone.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_VST2.cpp b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_VST2.cpp new file mode 100644 index 0000000000..c35394b418 --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_VST2.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_VST3.cpp b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_VST3.cpp new file mode 100644 index 0000000000..8e2e5cde2e --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_VST3.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_VST_utils.mm b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_VST_utils.mm new file mode 100644 index 0000000000..ee2f414e66 --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_VST_utils.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_utils.cpp b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_utils.cpp new file mode 100644 index 0000000000..183f61b238 --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_plugin_client_utils.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_processors.cpp b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_processors.cpp new file mode 100644 index 0000000000..bfe172edd0 --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_processors.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_processors.mm b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_processors.mm new file mode 100644 index 0000000000..b80ae9017f --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_audio_processors.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_core.cpp b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_core.cpp new file mode 100644 index 0000000000..d0ce1636f0 --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_core.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_core.mm b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_core.mm new file mode 100644 index 0000000000..72b10bf817 --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_core.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_cryptography.cpp b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_cryptography.cpp new file mode 100644 index 0000000000..10b3401dbe --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_cryptography.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_cryptography.mm b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_cryptography.mm new file mode 100644 index 0000000000..9311ea0ffe --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_cryptography.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_data_structures.cpp b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_data_structures.cpp new file mode 100644 index 0000000000..9315aa1686 --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_data_structures.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_data_structures.mm b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_data_structures.mm new file mode 100644 index 0000000000..695ec43925 --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_data_structures.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_events.cpp b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_events.cpp new file mode 100644 index 0000000000..1bba110a97 --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_events.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_events.mm b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_events.mm new file mode 100644 index 0000000000..4cc34fc401 --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_events.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_graphics.cpp b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_graphics.cpp new file mode 100644 index 0000000000..319c76de0e --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_graphics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_graphics.mm b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_graphics.mm new file mode 100644 index 0000000000..b28e6dd056 --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_graphics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_gui_basics.cpp b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_gui_basics.cpp new file mode 100644 index 0000000000..216c76bb05 --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_gui_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_gui_basics.mm b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_gui_basics.mm new file mode 100644 index 0000000000..6a9726fa5f --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_gui_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_gui_extra.cpp b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_gui_extra.cpp new file mode 100644 index 0000000000..7226e19833 --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_gui_extra.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_gui_extra.mm b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_gui_extra.mm new file mode 100644 index 0000000000..c9b6c3bfc6 --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_gui_extra.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_opengl.cpp b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_opengl.cpp new file mode 100644 index 0000000000..d9895bce92 --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_opengl.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_opengl.mm b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_opengl.mm new file mode 100644 index 0000000000..6c2c32d095 --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_opengl.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_video.cpp b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_video.cpp new file mode 100644 index 0000000000..bdf22ee131 --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_video.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_video.mm b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_video.mm new file mode 100644 index 0000000000..3da705bccd --- /dev/null +++ b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/juce_video.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h deleted file mode 100644 index 39e1aa1405..0000000000 --- a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_audio_basics/juce_audio_basics.h" diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h deleted file mode 100644 index 9069e65391..0000000000 --- a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_audio_devices/juce_audio_devices.h" diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h deleted file mode 100644 index 4270ffa168..0000000000 --- a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_audio_formats/juce_audio_formats.h" diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_audio_plugin_client/juce_audio_plugin_client.h b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_audio_plugin_client/juce_audio_plugin_client.h deleted file mode 100644 index 57abba643f..0000000000 --- a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_audio_plugin_client/juce_audio_plugin_client.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client.h" diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h deleted file mode 100644 index 48c0bf08c8..0000000000 --- a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_audio_processors/juce_audio_processors.h" diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_core/juce_core.h b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_core/juce_core.h deleted file mode 100644 index 3c400000e0..0000000000 --- a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_core/juce_core.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_core/juce_core.h" diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h deleted file mode 100644 index b3df81338e..0000000000 --- a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_cryptography/juce_cryptography.h" diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h deleted file mode 100644 index e815ff2c51..0000000000 --- a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_data_structures/juce_data_structures.h" diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_events/juce_events.h b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_events/juce_events.h deleted file mode 100644 index 88f8bafd21..0000000000 --- a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_events/juce_events.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_events/juce_events.h" diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_graphics/juce_graphics.h b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_graphics/juce_graphics.h deleted file mode 100644 index 0c5c690211..0000000000 --- a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_graphics/juce_graphics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_graphics/juce_graphics.h" diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h deleted file mode 100644 index 7fa455d687..0000000000 --- a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_gui_basics/juce_gui_basics.h" diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h deleted file mode 100644 index 11866a121d..0000000000 --- a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_gui_extra/juce_gui_extra.h" diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_opengl/juce_opengl.h b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_opengl/juce_opengl.h deleted file mode 100644 index f156f5c69c..0000000000 --- a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_opengl/juce_opengl.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_opengl/juce_opengl.h" diff --git a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_video/juce_video.h b/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_video/juce_video.h deleted file mode 100644 index 6b5e743372..0000000000 --- a/examples/PlugInSamples/Arpeggiator/JuceLibraryCode/modules/juce_video/juce_video.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_video/juce_video.h" diff --git a/examples/PlugInSamples/GainPlugIn/Builds/MacOSX/GainPlugIn.entitlements b/examples/PlugInSamples/GainPlugIn/Builds/MacOSX/GainPlugIn.entitlements new file mode 100644 index 0000000000..22194a6d2d --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/Builds/MacOSX/GainPlugIn.entitlements @@ -0,0 +1 @@ + com.apple.security.app-sandbox \ No newline at end of file diff --git a/examples/PlugInSamples/GainPlugIn/Builds/MacOSX/GainPlugIn.xcodeproj/project.pbxproj b/examples/PlugInSamples/GainPlugIn/Builds/MacOSX/GainPlugIn.xcodeproj/project.pbxproj index 821c943b73..ee6f34d3fa 100644 --- a/examples/PlugInSamples/GainPlugIn/Builds/MacOSX/GainPlugIn.xcodeproj/project.pbxproj +++ b/examples/PlugInSamples/GainPlugIn/Builds/MacOSX/GainPlugIn.xcodeproj/project.pbxproj @@ -6,6 +6,11 @@ objectVersion = 46; objects = { + 0F026B7B55C2BE2C84B2DAB4 = {isa = PBXBuildFile; fileRef = 169146CE0C9730602B3D31BD; }; + AB55966A405A5A2262B2258C = {isa = PBXBuildFile; fileRef = E5C2175FF96CED1519F2B7D6; }; + 068A921912EBCF967623E359 = {isa = PBXBuildFile; fileRef = F8D93BA03DB14514E2F9D007; }; + CE5290A38E4167322311FE73 = {isa = PBXBuildFile; fileRef = C43A527A45129CF421296BD0; }; + 221F64B3B662038BA2BF5FC3 = {isa = PBXBuildFile; fileRef = 074F1E0FAFBD4B127B869BC2; }; FA171B2FEC24575B5157EB15 = {isa = PBXBuildFile; fileRef = 71B73129FAEF3B7CB3FF6993; }; 46AB8BC7FA7E34563E5F005C = {isa = PBXBuildFile; fileRef = 9D6BD8DE6FC16E28FE2169F0; }; 9F2D7A648AEF91BE4D602EAF = {isa = PBXBuildFile; fileRef = F8F9E0D474403C57C8F0D211; }; @@ -21,52 +26,28 @@ 6B4E64CC0DA5E1DC53159376 = {isa = PBXBuildFile; fileRef = 28754784774E7974CF215965; }; 14E482AFF9CC9F18BA3798BD = {isa = PBXBuildFile; fileRef = 8B25F581B3FC77FB9FE0079B; }; 434F6E14A0DACDAA2BF2212B = {isa = PBXBuildFile; fileRef = E13512F9451169A200CA63BF; }; + 685F85F881C02A3AAA5E9B47 = {isa = PBXBuildFile; fileRef = BF909DFBC9B899C6119F556B; }; FADD82E463A2C5169B5F72E9 = {isa = PBXBuildFile; fileRef = ECD7D7FB3760E3792BAAC6CE; }; - C8F813D78CECE2263ADE9A4E = {isa = PBXBuildFile; fileRef = F12E2F9633C0C10172C7EB29; settings = {COMPILER_FLAGS = "-w"; }; }; - EAFF53299120D1D0760080E1 = {isa = PBXBuildFile; fileRef = 680EE9033FAD98035F81563A; settings = {COMPILER_FLAGS = "-w"; }; }; - 170B4C7B8369B690CCE7E66C = {isa = PBXBuildFile; fileRef = 1037E8A51A3D832955005F27; settings = {COMPILER_FLAGS = "-w"; }; }; - 44C69011AB185FC123B25490 = {isa = PBXBuildFile; fileRef = E407EB81948286696C44549D; settings = {COMPILER_FLAGS = "-w"; }; }; - 48E303DE0981A6ABEFF3CC25 = {isa = PBXBuildFile; fileRef = 62A8511AB481A8E078ADBF89; settings = {COMPILER_FLAGS = "-w"; }; }; - A9AD43C334E9C018F04F870F = {isa = PBXBuildFile; fileRef = 5DCD4BC5BC61EC41393FE43A; settings = {COMPILER_FLAGS = "-w"; }; }; - E89C7A096E8309D3111702C0 = {isa = PBXBuildFile; fileRef = 8E1599C21C3311F159546B59; settings = {COMPILER_FLAGS = "-w"; }; }; - 7FB5E63A167E547F673B57F4 = {isa = PBXBuildFile; fileRef = D0981B4C01A638233E8A14B0; settings = {COMPILER_FLAGS = "-w"; }; }; - 51C96C4DA04345C323B8467C = {isa = PBXBuildFile; fileRef = 6C2B7D995AEF715D3AE1CAFE; settings = {COMPILER_FLAGS = "-w"; }; }; - 13C9A83407809E0F21E2D7E4 = {isa = PBXBuildFile; fileRef = 77345FFA1F7E85CBCEA19F5C; settings = {COMPILER_FLAGS = "-w"; }; }; - 10930E16386F77FF022BF72A = {isa = PBXBuildFile; fileRef = 3BD14BCFCBEA34845E70C6D4; settings = {COMPILER_FLAGS = "-w"; }; }; - 94C0533F2AC8A0AEB2825349 = {isa = PBXBuildFile; fileRef = B512D47362D65160CC380F59; settings = {COMPILER_FLAGS = "-w"; }; }; - 22F776A761B0E3A307399544 = {isa = PBXBuildFile; fileRef = FF1A34EA7C9475D4DE62720E; settings = {COMPILER_FLAGS = "-w"; }; }; - C775BB0518BA2FD78E9A05FA = {isa = PBXBuildFile; fileRef = F8E73EFE3DB75B34783A0862; settings = {COMPILER_FLAGS = "-w"; }; }; - 8A2FFCA9FC78B1D2A1867945 = {isa = PBXBuildFile; fileRef = EE3D9D885DC024F73E7BA834; settings = {COMPILER_FLAGS = "-w"; }; }; - EB6C5B0EEAC3BA6D3227A8B9 = {isa = PBXBuildFile; fileRef = A0FF2B79C7575B47746D6BF0; settings = {COMPILER_FLAGS = "-w"; }; }; - 2BAEC124EED145FE4671785D = {isa = PBXBuildFile; fileRef = 91938585F6DC07619334DF13; settings = {COMPILER_FLAGS = "-w"; }; }; - CB43B8CC154219E9F14C329F = {isa = PBXBuildFile; fileRef = A964E1303BB880F796AA41D1; settings = {COMPILER_FLAGS = "-w"; }; }; - CEBF30C6F1960E4B7F19C403 = {isa = PBXBuildFile; fileRef = B41DB1D9877BC61AB0558A69; }; - 7D0FC2107446637060CF5A65 = {isa = PBXBuildFile; fileRef = 24DE5291F2DC05ADA305E480; }; - 25D27D9142CD3A1D6C6FBA79 = {isa = PBXBuildFile; fileRef = B5602051B4C5488057F6DA78; }; - DF2E5069407DCA9810384FA7 = {isa = PBXBuildFile; fileRef = B15D003DE2F4E963EC111711; }; - E65D2AA3CFFEA01B616BD8DD = {isa = PBXBuildFile; fileRef = BB9C40C7BE4EC37243B0FF5A; }; - F0CE7FD2A7790B58C5D33311 = {isa = PBXBuildFile; fileRef = 2D62D02F2AA382CA14418324; }; - 51527FD62AC8A69301DC247D = {isa = PBXBuildFile; fileRef = 56FF5DCB746A2F7485406F63; }; - 02912AA09199F9F36D4252B4 = {isa = PBXBuildFile; fileRef = 4AF0140AA4611A48B70E8824; }; - 1AE00AD5AF177934A996D113 = {isa = PBXBuildFile; fileRef = F6D0C31C49847196CB56EF7C; }; - CCF43AEA071BE23E452E2206 = {isa = PBXBuildFile; fileRef = F9504B50D649AAEC9854241B; }; - 7F280B60E49DD9385C2535C2 = {isa = PBXBuildFile; fileRef = ECDE37F9E82739051FB71056; }; - B4E9B23C8ECAF375D1D46CAF = {isa = PBXBuildFile; fileRef = DD70F00A670265594A3FB409; }; - 99C8A62423FEBA0EF1428828 = {isa = PBXBuildFile; fileRef = E1A9F79528C9F4D5695F16A2; }; - 2CE4C1B9FDBE1B48727E1817 = {isa = PBXBuildFile; fileRef = FB954DE9B8BEC80A9B7E33DD; }; - 26364653AE7E5BA1ECE372B2 = {isa = PBXBuildFile; fileRef = 6E61CA0F4811593A6F0AE1F1; }; - E8E9514C789EA8DD178574E3 = {isa = PBXBuildFile; fileRef = 819DC25DA6B0ACD4725A8046; }; - 89F5E34C6F60F57A8FDFB201 = {isa = PBXBuildFile; fileRef = E9FEFC46FF2B51B8C3A520F4; }; - 0CCD34743C9763A66561AFDE = {isa = PBXBuildFile; fileRef = 2B7C784CF333CA6BEEF5038A; settings = {COMPILER_FLAGS = "-w"; }; }; - C73A0CB30C7A98F0FDF89DE9 = {isa = PBXBuildFile; fileRef = CF608BF804CB06BCBB51B9C2; settings = {COMPILER_FLAGS = "-w"; }; }; - EBA29AB9E887E1EC1B1BDB81 = {isa = PBXBuildFile; fileRef = 3AB3CC89F7508F63306AD7C1; settings = {COMPILER_FLAGS = "-w"; }; }; - D9FF9428A715F28912EEA511 = {isa = PBXBuildFile; fileRef = 6701AB4D2F5DAD2EA72ACFE9; }; - C5C686109F976F5FA963224C = {isa = PBXBuildFile; fileRef = DBF11B9083F40C0C849B9302; settings = {COMPILER_FLAGS = "-w"; }; }; - A70FC9D357DC92BAF5FFE5DD = {isa = PBXBuildFile; fileRef = 5DC42627E6F5518217529A9F; }; - CDFA28397FCE458B2526191C = {isa = PBXBuildFile; fileRef = 9548631628595F1576CD7B73; }; - CB0EF751B887686BFEDE0223 = {isa = PBXBuildFile; fileRef = C3D43F992D8AAA5EF9D23288; }; - 9325C3FF32C869A2602CA495 = {isa = PBXBuildFile; fileRef = 8676D218DB100E6B4636A82E; }; - BA044590E85D4A99C15F22F9 = {isa = PBXBuildFile; fileRef = BC143154D01C14EC6438FD2E; settings = {COMPILER_FLAGS = "-w"; }; }; + BE1CCB2BA25C1B9CC93BD180 = {isa = PBXBuildFile; fileRef = 2A42EB4E6808C916CD805B55; }; + 6A823DA60FD178B0AE4F7795 = {isa = PBXBuildFile; fileRef = 539D8FB917601AE0FEF2EDD0; }; + 6859170B30F156B4628F7476 = {isa = PBXBuildFile; fileRef = 3F62CC0D964ADA2C5FEE8780; }; + 920289CA43FF41424E0F0AE9 = {isa = PBXBuildFile; fileRef = 09EBA9B824955D1E0C3FFD47; }; + 27BAA78181CB9EA282A6AC64 = {isa = PBXBuildFile; fileRef = CD8FCD56FD26EAE31AC22952; }; + 7EFB529B9EA74539375A96E0 = {isa = PBXBuildFile; fileRef = 9F805238C9CE8C52469C6355; }; + 339CCDD31A03CAA2BD693844 = {isa = PBXBuildFile; fileRef = A0F05FB7BDBD3AFAA1004003; }; + 1CF2129651F64CABCC924BFC = {isa = PBXBuildFile; fileRef = 54E8D527C9932DAC3C37036E; }; + C396DBDD84D1162113B3ABD7 = {isa = PBXBuildFile; fileRef = 83AC9494BD2349B30766D871; }; + 60A23086F8F04399960054A9 = {isa = PBXBuildFile; fileRef = 04F18A367847FEC22DC4EC6D; }; + 6D61EF1110D4BD0E2C2D1C19 = {isa = PBXBuildFile; fileRef = FCF26B7D47F36E7B33EB92A3; }; + 0354B7E58FE0EDB7CBD56959 = {isa = PBXBuildFile; fileRef = F18474D1FC76E023231638CA; }; + E0C3BF6170B493ED4F3EEC40 = {isa = PBXBuildFile; fileRef = 28F52099566ADBE2A84CC126; }; + 475E3C39EF95458D3AEAE44B = {isa = PBXBuildFile; fileRef = 88FD93B39B20FCD1A8F1560D; }; + B18EACFF98A2A34BDB1B23D9 = {isa = PBXBuildFile; fileRef = 7AC84CB7C43F47FCE3CEC890; }; + 0103ED6FEA3EB9B100349B2C = {isa = PBXBuildFile; fileRef = 8356AE854EEB438758BAA97C; }; + 75BEF11B74EA4C101687CADE = {isa = PBXBuildFile; fileRef = 51DEC805D6C6C42952DA9555; }; + C9DD20D66EE17A910A48C7F5 = {isa = PBXBuildFile; fileRef = 0396B888DA44A2F726D4BBF2; }; + 4BE2D2BC6F1DC08BB64BAC78 = {isa = PBXBuildFile; fileRef = CA1634E25956CDC18C4449E0; }; + DBB093FB9913BE37F564E2AE = {isa = PBXBuildFile; fileRef = F79776F078375AA287A24AB1; }; 0022D310074F4B82ED8704D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessage.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp"; sourceTree = "SOURCE_ROOT"; }; 00261126291DE9BBA1D5F4B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 00331249782B01804B16A72B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V1.h"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h"; sourceTree = "SOURCE_ROOT"; }; @@ -83,12 +64,14 @@ 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"; }; + 0396B888DA44A2F726D4BBF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; 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"; }; 0434FC5DD82B500B48F35226 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; }; 048260964A87F1AC85B9D21F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; }; 049BBD21034D1AD714D6DEF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; }; 04CA57FC254097FCAF7D4C82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; }; + 04F18A367847FEC22DC4EC6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_VST3.cpp"; path = "../../JuceLibraryCode/juce_audio_plugin_client_VST3.cpp"; sourceTree = "SOURCE_ROOT"; }; 051C7C983BA68F0332B964B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; }; 05214F029B4F78722B9642EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiBuffer.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; 052E09FF6B5A729C131448B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KnownPluginList.h"; path = "../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h"; sourceTree = "SOURCE_ROOT"; }; @@ -106,6 +89,7 @@ 085DC06BD66C811F608CC732 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; 08D82B3EB51F3BD62279463D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WebBrowserComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; 094D7AD9353A04229B7268D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; }; + 09EBA9B824955D1E0C3FFD47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AAX.mm"; path = "../../JuceLibraryCode/juce_audio_plugin_client_AAX.mm"; sourceTree = "SOURCE_ROOT"; }; 0A4DABB2172A1DA1F32B14F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel.h"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h"; sourceTree = "SOURCE_ROOT"; }; 0A91FE71C03112448C0D92B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SHA256.h"; path = "../../../../../modules/juce_cryptography/hashing/juce_SHA256.h"; sourceTree = "SOURCE_ROOT"; }; 0AD28BCC027B18558EDC9C66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CatmullRomInterpolator.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; @@ -132,7 +116,6 @@ 0F855B8881DF396B1BD4592B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; }; 0FAD152FB0FA9D29CE87B4F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Font.h"; path = "../../../../../modules/juce_graphics/fonts/juce_Font.h"; sourceTree = "SOURCE_ROOT"; }; 0FE644E685D3B1CD6B31F952 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorListener.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h"; sourceTree = "SOURCE_ROOT"; }; - 1037E8A51A3D832955005F27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUCarbonViewBase.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 10397C6C3362FA663CEAE2BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; }; 107EDBCEAAEFE09F5EED425A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; 10927CA28A3C411F2F40490C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -166,6 +149,7 @@ 1663F0B0CBD991F57F497DAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; }; 166B96CEA26780E83A3D2C55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../../../../modules/juce_gui_basics/components/juce_Component.cpp"; sourceTree = "SOURCE_ROOT"; }; 167A331857E2C569DCD49503 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; }; + 169146CE0C9730602B3D31BD = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = GainPlugIn.vst; sourceTree = "BUILT_PRODUCTS_DIR"; }; 16AA0774C9C905089427796B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; }; 17F8F5D68492B7AA9085C409 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 18602F0B69EF7D2A12C1BD9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; }; @@ -232,17 +216,18 @@ 28C7EDA8645DF63870F382E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; }; 28CB7032FD0E6947E62EB8DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; 28D11EF0D5D758D42F0B17A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; }; + 28F52099566ADBE2A84CC126 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../JuceLibraryCode/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; 291196A3F403A3B9BDDD4347 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LADSPAPluginFormat.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; 291D6973949549F4201ED6CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLAppComponent.cpp"; path = "../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 294D4C371E51B27996257FF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; 2967E486C3DDCCE10E378F76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; 29BC321A44EEE9AD6D3184B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LADSPAPluginFormat.cpp"; path = "../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 29F8A5279DF16CA6EDD7248B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; }; + 2A42EB4E6808C916CD805B55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../JuceLibraryCode/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 2A511FB313E5B922397391D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; }; 2A82E5161B97B6069162FE62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_osx.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_osx.h"; sourceTree = "SOURCE_ROOT"; }; 2AD03EDDDD82ACD07D5D636E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; 2ADE41159ABE08AF13EA6A0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Base64.h"; path = "../../../../../modules/juce_core/text/juce_Base64.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; @@ -252,7 +237,6 @@ 2C2A53E2546FDEE298339E3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Primes.cpp"; path = "../../../../../modules/juce_cryptography/encryption/juce_Primes.cpp"; sourceTree = "SOURCE_ROOT"; }; 2C64646BCDF14A5CD6B0E190 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; 2CA124DED3BC606AF1A3A15F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormatManager.h"; path = "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; - 2D62D02F2AA382CA14418324 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../../../../modules/juce_audio_devices/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; 2D7DF6B46EEA794F91DF2C7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_win32.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_win32.h"; sourceTree = "SOURCE_ROOT"; }; 2D87FFDD381908613B795851 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KnownPluginList.cpp"; path = "../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp"; sourceTree = "SOURCE_ROOT"; }; 2DC49F6C781DEDA731049D0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; @@ -299,7 +283,6 @@ 38549FEE722FCC103E878E6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NotificationType.h"; path = "../../../../../modules/juce_events/messages/juce_NotificationType.h"; sourceTree = "SOURCE_ROOT"; }; 38687DB2FEC47B8E4826346E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CheckSettingMacros.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h"; sourceTree = "SOURCE_ROOT"; }; 391A3E779BFDA8887A2F2605 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - 39330F7494158748B164557E = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_data_structures/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 3984D3D7BA3FA045B9207F01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; }; 398F1886CDD46561B2322507 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; }; 399281FFA9E6E780B26001A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -313,16 +296,15 @@ 3B2A045DA04B16D3802A4765 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; }; 3BCFFDB55D7246DE5AF0A9A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; }; 3BD022046757BBBE78B6A5ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; }; - 3BD14BCFCBEA34845E70C6D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUScopeElement.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUScopeElement.cpp"; sourceTree = "SOURCE_ROOT"; }; 3BE1721AE5B2CD1CA772B08A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; }; 3D970B80CAEC916AC1F36A27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; 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"; }; 3F4EDBFE2E6A219731956727 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3F62CC0D964ADA2C5FEE8780 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../JuceLibraryCode/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; 3F784DB16865F0F35378137D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; 3FD310DABE980D77BB6C184F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colours.h"; path = "../../../../../modules/juce_graphics/colour/juce_Colours.h"; sourceTree = "SOURCE_ROOT"; }; 400052B3427A286681E0EBFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeMovieComponent.h"; path = "../../../../../modules/juce_video/playback/juce_QuickTimeMovieComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -340,10 +322,10 @@ 42D9B426361C16B471C49B95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ASIO.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp"; sourceTree = "SOURCE_ROOT"; }; 4320B724298ABD97C6D72C6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 436FF177370A314447BF9E3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; + 43B51F79EFF2E9673AA1BCE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StandaloneFilterApp.cpp"; path = "../../../../../modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterApp.cpp"; sourceTree = "SOURCE_ROOT"; }; 4536FA73D9A14A63B4CDC21A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -352,7 +334,6 @@ 491A45F3C51EDD4852593D22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; }; 4921ECFD4B35F109FC1E30F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReader.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 492D97142A8A9CAB658AC5C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; }; - 4944D74AFDAD75D539AEB8D4 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_audio_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 49481BBFF8E931E4E0AE02F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; }; 495EC26D96D8C4886E473082 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; }; 4965AC53A297D4E581B4214A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -361,7 +342,6 @@ 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"; }; 4B78D8101E99922564A885D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; @@ -369,7 +349,6 @@ 4BE069F5558C7202D5E40031 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; 4C139FF1648177E32BFA64A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Sampler.h"; path = "../../../../../modules/juce_audio_formats/sampler/juce_Sampler.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -391,6 +370,7 @@ 5143903C31836D463184C010 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; }; 5186B3040BBCD6A1F8086C50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; 51BA3EA628114EC835077EA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; }; + 51DEC805D6C6C42952DA9555 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 51F4A835C41B57C4F9B60A7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MissingGLDefinitions.h"; path = "../../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h"; sourceTree = "SOURCE_ROOT"; }; 52004B6130853795C1D7C5EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; 525D12C78477C23F2A8F461F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Midi.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -399,6 +379,7 @@ 52968F8D3038D5E776348C1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; }; 52B3A797835ED0B7474BD7C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_QuickTimeMovieComponent.cpp"; path = "../../../../../modules/juce_video/native/juce_win32_QuickTimeMovieComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 52E047F304B418DC34B7961D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; }; + 539D8FB917601AE0FEF2EDD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../JuceLibraryCode/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; 53C8168EAD3420C0EFD34BE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CoreAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 53F794C42FF269F389C0371A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; }; 53FEBD7B5890FFC4B0D7DD7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -410,11 +391,11 @@ 54AAF0EC3599CBFD0E11ED62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; }; 54C150A60024A52BA87E09AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 54C8F788A548E17FDF2A8D37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; }; + 54E8D527C9932DAC3C37036E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_VST_utils.mm"; path = "../../JuceLibraryCode/juce_audio_plugin_client_VST_utils.mm"; sourceTree = "SOURCE_ROOT"; }; 5514CCFCE497B35F4A92F4B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; }; 559A3F7EE8B48B393A35FD9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 5655B03A7E02DB37AFC641FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; }; 569A4293CDC75A9164DF0913 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; }; - 56FF5DCB746A2F7485406F63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../../../../modules/juce_audio_formats/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; 570C8E7F5E85ACD59810929F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLAppComponent.h"; path = "../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; 571A96855775673F83ECA807 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameter.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h"; sourceTree = "SOURCE_ROOT"; }; 577AED3F8F27D09BC90023D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; @@ -435,9 +416,6 @@ 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"; }; - 5DE746778DA254E9908CDE7D = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_graphics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 5DE9960F75AF03F94EBA0896 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; }; 5E1AF694CF535FEF2C18118B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; }; 5E34D7DEE78F8D3FF1A3DA0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; }; @@ -455,7 +433,6 @@ 6241C371E712B4C7D76F1BAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; }; 62429D10C41469663BE34CCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTreeSynchroniser.cpp"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"; sourceTree = "SOURCE_ROOT"; }; 624AA65328BC70E77EDBE3BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_QuickTimeAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - 62A8511AB481A8E078ADBF89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUCarbonViewDispatch.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewDispatch.cpp"; sourceTree = "SOURCE_ROOT"; }; 6313B2FEEB1A0F214B31BF57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; }; 636625628E24C24E6124ED7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; }; 63D697E8356519D0153174B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; @@ -472,27 +449,23 @@ 671EC2D01567B7783C126897 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 675E29494313E6B3584E72A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; }; 67B09F48479BBE53E4290697 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; }; - 680EE9033FAD98035F81563A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUBuffer.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; 68334EB40393BA4C380039F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; }; 6886255CD3AB0E3FC87AE4C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; }; 690F39797FCF9D96368006C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Common.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h"; sourceTree = "SOURCE_ROOT"; }; 692DA5BCD01D8FBCEEF636A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; 69D787DC4AF091A7E629B6D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; 6A4CABB2ED2D0CED36AE0730 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; - 6AAC3094BC78A183C81CC28C = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_video/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 6ACF6D83F23F1FC16D410F61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; }; 6AEEB71A2EE45079D97C06DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 6AF0F56FACEF5F8F62CABABD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; 6B23759F8A8C1C46B3B6F257 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp"; sourceTree = "SOURCE_ROOT"; }; 6BD5E8EF37EC87C2C359E133 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; }; 6BFC2ACB8A3A9E75007D8EE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; }; - 6C2B7D995AEF715D3AE1CAFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUOutputBase.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUOutputBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 6CCC43F0415F56D3EDA6465D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; 6CFCABC6B50C43F1D69A769D = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; 6DAE7A631250A68930AD6487 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; }; 6DE55D6FEBD2B42C85020516 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; 6E069AC581AB4100841E16CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; - 6E61CA0F4811593A6F0AE1F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; 6E65CDFE580D890FAC8B693A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnection.cpp"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp"; sourceTree = "SOURCE_ROOT"; }; 6EA011341AB73A8B3B0FC3DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LuaCodeTokeniser.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; 6EA4C00CE4BCF41A18EE3BEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; @@ -515,7 +488,6 @@ 72B8C870F4839CA1FCCB6D88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableEdgeComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 73000489A7AB9734676DB05A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MD5.h"; path = "../../../../../modules/juce_cryptography/hashing/juce_MD5.h"; sourceTree = "SOURCE_ROOT"; }; 734A9A4B348961A5DBCC8F24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; - 735FF64A3D2801ADACD366AA = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_audio_processors/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 736B86E18DB9D419C97CCEB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; 737C9ECE713EC9FD83C95BF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 7384441A787AD36DCFE01C8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; }; @@ -533,7 +505,6 @@ 76466CA2E12D114BAE79714E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_android.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_android.h"; sourceTree = "SOURCE_ROOT"; }; 76AB2B60A535BB5D29165639 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; 76B45AC5CFE8421B5FF1542D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 77345FFA1F7E85CBCEA19F5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUOutputElement.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUOutputElement.cpp"; sourceTree = "SOURCE_ROOT"; }; 7755EC3BC5D7F4FE1D9865CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; }; 77710805979F31A5D04A7981 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; 78E518127DE643A0FB14AF3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; }; @@ -543,7 +514,7 @@ 7994DDE43DEA787F20F3F49A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; }; 7A1318088B0D8CB9D9EA8C48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; 7A493F619E3F23E831414EDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; - 7B2E93EB8985C8094F837C08 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_opengl/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 7AC84CB7C43F47FCE3CEC890 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; 7B4B931B90ADD3ACF741A4E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Midi.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; 7B64553371B350A8E8C66CD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PositionableAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 7B6C627CBED05E7EFB11BF68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_CameraDevice.cpp"; path = "../../../../../modules/juce_video/native/juce_win32_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -570,13 +541,15 @@ 8172DC65D346038F886F8174 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemFactory.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h"; sourceTree = "SOURCE_ROOT"; }; 81732A165D74FF960F41E3F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; 818C5F876925C6FAC62ACD3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CameraDevice.mm"; path = "../../../../../modules/juce_video/native/juce_mac_CameraDevice.mm"; sourceTree = "SOURCE_ROOT"; }; - 819DC25DA6B0ACD4725A8046 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../../../../modules/juce_opengl/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; 82027DEA6B2F0395A2DAB06E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; }; 821B71A0C653F53584DC700F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_ClangBugWorkaround.h"; path = "../../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h"; sourceTree = "SOURCE_ROOT"; }; 82E4DD23BFB7183EFE123CC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 831D749DCB7374F9737F0A65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; + 8323AB8EF5430A81A4FDD26E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandaloneFilterWindow.h"; path = "../../../../../modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 8356AE854EEB438758BAA97C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../JuceLibraryCode/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; 839025056234563257AE4999 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLPixelFormat.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h"; sourceTree = "SOURCE_ROOT"; }; 839E732C6A0D6E541D9C1AD1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 83AC9494BD2349B30766D871 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_VST2.cpp"; path = "../../JuceLibraryCode/juce_audio_plugin_client_VST2.cpp"; sourceTree = "SOURCE_ROOT"; }; 83FBB1FB818257BCAA788551 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 84524DDFE7F4A266E1AE35EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; 846FADA9C00CCE031559F78D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -592,9 +565,11 @@ 870FA56E135C7A74B4931AC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; }; 873F25A982432FDF2A9509C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInputSource.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 874A74073D6A9F5604818314 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8782AADF74783EA3DD066529 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AUv3_Wrapper.mm"; path = "../../../../../modules/juce_audio_plugin_client/AU/juce_AUv3_Wrapper.mm"; sourceTree = "SOURCE_ROOT"; }; 8791B975D75392F7B168AB66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GroupComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h"; sourceTree = "SOURCE_ROOT"; }; 87B1405EEABDD20DF7C28D42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GenericAudioProcessorEditor.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; 88276F23FC6769402CABDAF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageCollector.cpp"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"; sourceTree = "SOURCE_ROOT"; }; + 88FD93B39B20FCD1A8F1560D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; 891BCBCBDF27F21940FB2370 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; }; 8954C39D048E14E732216520 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; }; 8966613EDBD1E8842919D315 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; }; @@ -610,6 +585,7 @@ 8C68CCB04F23709D332A85A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTPluginFormat.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 8CABBDFF3D48FA622F561D56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../../modules/juce_audio_plugin_client/AU/juce_AU_Shared.h"; 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"; }; @@ -617,15 +593,14 @@ 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"; }; 8DE0E425E40E8C90D2EBE82A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 8E1599C21C3311F159546B59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUInputElement.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUInputElement.cpp"; sourceTree = "SOURCE_ROOT"; }; 8E7796B188EB36E19A534567 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; }; 8E822CCCBC0F7DB3E9B9F04B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; }; 8EE08328D3A165E0B9041EC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 9079597BEBFAC1474AE04618 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Synthesiser.cpp"; path = "../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 909354451447E566493F48C1 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-VST.plist"; path = "Info-VST.plist"; sourceTree = "SOURCE_ROOT"; }; 90CDDF132C7CA3C971891293 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDescription.cpp"; path = "../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp"; sourceTree = "SOURCE_ROOT"; }; 91099044A6D344954DA3184D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScrollBar.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h"; sourceTree = "SOURCE_ROOT"; }; 9182AAD1041F6B404F91F6F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MarkerList.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h"; sourceTree = "SOURCE_ROOT"; }; - 91938585F6DC07619334DF13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAVectorUnit.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAVectorUnit.cpp"; sourceTree = "SOURCE_ROOT"; }; 91B9D1808D14F59C06F25390 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 91D109AC1431F65165EA4BCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; }; 91FE73EDB273548E0968D631 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BlowFish.cpp"; path = "../../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -666,6 +641,7 @@ 9C317F8D5362324F67C5C044 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; }; 9C56F4062FF3C832E916CCBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CatmullRomInterpolator.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; 9C8C01A4D3DD95FC110686B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; }; + 9D1C58BBAA0B7F70D6EB7724 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-AAX.plist"; path = "Info-AAX.plist"; sourceTree = "SOURCE_ROOT"; }; 9D34A2CF22F94CB8E1E3E93C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; }; 9D6BD8DE6FC16E28FE2169F0 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; 9D71A93E47412CB9B4C037F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -677,11 +653,12 @@ 9F34629FD043A7752644BAC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; }; 9F56E1F9CF75D555C677A38D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginHostType.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_PluginHostType.h"; sourceTree = "SOURCE_ROOT"; }; 9F6632AF99AEA0B099A3760E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9F805238C9CE8C52469C6355 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AU_2.mm"; path = "../../JuceLibraryCode/juce_audio_plugin_client_AU_2.mm"; sourceTree = "SOURCE_ROOT"; }; 9F89171E7E2CBBB1FBD3234C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; }; 9F955C0F0158B73A87CE6DC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; }; 9FFDFEF724E548FA67194DA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; }; A07F5201BD739AE9D1467A87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - A0FF2B79C7575B47746D6BF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAStreamBasicDescription.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAStreamBasicDescription.cpp"; sourceTree = "SOURCE_ROOT"; }; + A0F05FB7BDBD3AFAA1004003 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_utils.cpp"; path = "../../JuceLibraryCode/juce_audio_plugin_client_utils.cpp"; sourceTree = "SOURCE_ROOT"; }; A14920DF295C8C1203169426 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; }; A334C8833A73D69B0060F5F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; }; A361C360821B1E71E81F7CA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -700,10 +677,10 @@ A6BC8B4FEC0C9A2FF8551941 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; }; A6E0E0AD85AA368BFF7700A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; }; A76761587EC7D7F51BE24220 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; }; + A7A8A6D4CD03ED3AC1B8B0A4 = {isa = PBXFileReference; lastKnownFileType = file.rsr; name = "juce_RTAS_WinResources.rsr"; path = "../../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_WinResources.rsr"; sourceTree = "SOURCE_ROOT"; }; A80DB27BE42B7216E6FE64E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; A815FDA15080EB5374693B3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; }; A81C5E5E3D767F3749F55C45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; }; - A964E1303BB880F796AA41D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ComponentBase.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/ComponentBase.cpp"; sourceTree = "SOURCE_ROOT"; }; A96902342DD16FF1AAFB4CEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; }; A970D3F194D02E962DFBA282 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; A980287D72A27FFD5870A393 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; }; @@ -738,13 +715,12 @@ B24F5C6EC49FA1CBE3E9F76A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLTexture.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.h"; sourceTree = "SOURCE_ROOT"; }; B27A9D33D351006D133C2A4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; B28A17E23DF0DCDA94E53D24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Identifier.h"; path = "../../../../../modules/juce_core/text/juce_Identifier.h"; sourceTree = "SOURCE_ROOT"; }; + B2AE3E6AD988E981E7FEBF6C = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-Shared_Code.plist"; path = "Info-Shared_Code.plist"; sourceTree = "SOURCE_ROOT"; }; B37A4AA60856836984FD7F08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Vector3D.h"; path = "../../../../../modules/juce_opengl/geometry/juce_Vector3D.h"; sourceTree = "SOURCE_ROOT"; }; B3C0C30D7F463149807A83A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; }; B41DB1D9877BC61AB0558A69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AAX_Wrapper.cpp"; path = "../../../../../modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp"; sourceTree = "SOURCE_ROOT"; }; B480AA30CA4A3E925CD4D7BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTMidiEventList.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h"; sourceTree = "SOURCE_ROOT"; }; B4F1CAD86080A0835A48574B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; }; - B512D47362D65160CC380F59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAAudioChannelLayout.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAudioChannelLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; - B5602051B4C5488057F6DA78 = {isa = PBXFileReference; lastKnownFileType = file.r; name = "juce_AU_Resources.r"; path = "../../../../../modules/juce_audio_plugin_client/AU/juce_AU_Resources.r"; sourceTree = "SOURCE_ROOT"; }; B566DBDE091406062C46075A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; }; B5D4DB73568113270FAA6E28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioUnitPluginFormat.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; B5F601E64CCEDC477481A4ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_plugin_client.h"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client.h"; sourceTree = "SOURCE_ROOT"; }; @@ -762,16 +738,13 @@ B8D091C1997C32CDCE65DD2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; }; B94FE1E3B11783B2F3AFE2D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsPostScriptRenderer.cpp"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; BA0CE984DED427DAB0BEFD5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; }; - BA24C9237FA5362ADB1EA210 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_events/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; BAB4AB07420F7DF1F29884B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; }; BB36CEA13A709AB5A9474E51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; }; BB577DFECBF45C9FA42A79A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; }; BB5F8B6F5F3E6AADB448DCB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; }; BB877598B32E54D42661CFF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BooleanPropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; BB969E05025ABE5B3BFA9430 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; }; - BB9C40C7BE4EC37243B0FF5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../../modules/juce_audio_basics/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; BBEA7A388017FCD86AC00823 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - BC143154D01C14EC6438FD2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MusicDeviceBase.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/MusicDeviceBase.cpp"; sourceTree = "SOURCE_ROOT"; }; BC63E229A46DB24B3D8D8935 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; }; BCAAA3A76C65BBCDAF588FFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; }; BCF707C7AD2AEEB783F1C625 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -784,6 +757,7 @@ BE4DB001303610874FB9A69C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; BE5CCCF1AF368672C05133F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IncludeSystemHeaders.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_IncludeSystemHeaders.h"; sourceTree = "SOURCE_ROOT"; }; BE72EBC044887D80F0FFF704 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; }; + BF909DFBC9B899C6119F556B = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = GainPlugIn.entitlements; path = GainPlugIn.entitlements; sourceTree = "SOURCE_ROOT"; }; BFE61F899AF0279A95B429AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; }; C0265338871410F43211A1FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; }; C032B6A49B3CC72DABA691D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -801,7 +775,6 @@ C28831A4642998ED859895D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LAMEEncoderAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; C30778322F41B4BDE56C8E5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; sourceTree = "SOURCE_ROOT"; }; C312F13030052FE4290459A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; - C34154A75199D0615ADE1730 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_audio_plugin_client/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; C3791087C5BBAEE2288BE370 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; }; C39BE441D12E81E42CD3EB58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; }; C3A8780130D9F4203C993F7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; @@ -809,7 +782,6 @@ C3D43F992D8AAA5EF9D23288 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_VST_Wrapper.mm"; path = "../../../../../modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.mm"; sourceTree = "SOURCE_ROOT"; }; C41288A028A85D0C9DB2BBC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; C421ACD0285059C56F480091 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; }; - C42A7081D027F402FC05FB13 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_core/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; C4332D36297A0520D1C6EF15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; C51050E8F13CA1D21D3C94F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; C551754E76FD41D975988229 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorEditor.cpp"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -824,6 +796,7 @@ C8EC8EF51D8B2C9718655C87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreAudio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; C9639F414226108D7197DEEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; C9DBEF7D9E66E1971FB83543 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleComponent.cpp"; path = "../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + CA1634E25956CDC18C4449E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../JuceLibraryCode/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; CA26DA522E4998DF00EC3927 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilter.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; CA8A03AA754B6D2E50407614 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; CB34431F3FBED2F791F39467 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; }; @@ -833,6 +806,7 @@ 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"; }; + CD8FCD56FD26EAE31AC22952 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AU_1.mm"; path = "../../JuceLibraryCode/juce_audio_plugin_client_AU_1.mm"; 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"; }; CE57E03FD67001AF17AE9348 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST3PluginFormat.cpp"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -845,7 +819,6 @@ CF5C324AB10CDB215EE1B6EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V1.cpp"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp"; sourceTree = "SOURCE_ROOT"; }; CF608BF804CB06BCBB51B9C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RTAS_DigiCode2.cpp"; path = "../../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode2.cpp"; sourceTree = "SOURCE_ROOT"; }; CF784B2EB47D53C5A7CA824F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; }; - D0981B4C01A638233E8A14B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUMIDIBase.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUMIDIBase.cpp"; sourceTree = "SOURCE_ROOT"; }; D12A713DA14521B90404F672 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FFT.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_FFT.cpp"; sourceTree = "SOURCE_ROOT"; }; D19D0E0C7FEB5B650ED4AFDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; }; D1D8D5B5C6C026C45D74A5E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectSound.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -866,6 +839,7 @@ D513D324C35DB0ABE2072669 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; }; D5473FF02298634F76630131 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; }; D601A90F770806AED115977A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; }; + D6258F49C36DCD82F526944D = {isa = PBXFileReference; lastKnownFileType = file.def; name = "juce_RTAS_WinExports.def"; path = "../../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_WinExports.def"; sourceTree = "SOURCE_ROOT"; }; D62DD34152AB6896D6DFD7E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; }; D6E7F3951FC4EA8338F2485C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; D70B910003F47D2B45347B66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; }; @@ -892,7 +866,6 @@ DD10F1099692064E2FBE77C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; DD46DBD35B7EE7C6630C0D7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; DD4F001525BF4622952CA920 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; }; - DD70F00A670265594A3FB409 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; DDACD84EA35780FD14126B74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; }; DE09A70C49724CB946B1F4E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; DE20225795996F2378ED6B3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; }; @@ -906,10 +879,8 @@ E015A474DBD77D3DF642824E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; }; E0267B24813297C007C7852D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Draggable3DOrientation.h"; path = "../../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h"; sourceTree = "SOURCE_ROOT"; }; E037994F56F204928A1A1D13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - E0A4E9FE37519AE2C243CE07 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; E0B5382005ECBA0594C7A164 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; }; E13512F9451169A200CA63BF = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; sourceTree = "SOURCE_ROOT"; }; - E1A9F79528C9F4D5695F16A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; E1C48B17262E8D00B2087413 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MP3AudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; E1E7DD4B2FE79F14F618121C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; }; E219774D186DF70D694D2768 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FakeMouseMoveGenerator.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_FakeMouseMoveGenerator.h"; sourceTree = "SOURCE_ROOT"; }; @@ -918,11 +889,11 @@ 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"; }; E42A195B994219BE55CC23A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; E447A920E1B94499D9CD8007 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorValueTreeState.cpp"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp"; sourceTree = "SOURCE_ROOT"; }; E52C9CE6870145C1B27963B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageSequence.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h"; sourceTree = "SOURCE_ROOT"; }; E596F3CFF5E5EE762B97BB4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; }; + E5C2175FF96CED1519F2B7D6 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = GainPlugIn.vst3; sourceTree = "BUILT_PRODUCTS_DIR"; }; E60B842A68174E08460E23F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; }; E62446DFC19EDB3E05FC0EBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; E67C5BB4F61D2E0379CCB9FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Files.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -955,33 +926,36 @@ EC55B4BEC8507B5E5E0D58F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; ECC7D00DDD27E5BBC9B1D79C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; }; ECD7D7FB3760E3792BAAC6CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = GainProcessor.cpp; path = ../../Source/GainProcessor.cpp; sourceTree = "SOURCE_ROOT"; }; - 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"; }; + EDFE3B976573F01C8D3AA486 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-AU.plist"; path = "Info-AU.plist"; 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"; }; EE68D617C21D6400FFDC08E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; }; EEE02CD512C902DD7B0C5D13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; }; EF055DD10D73DD84E657AB0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; }; EF0ED3DFA2926694133E27E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; EF2973B7FF13AAFFFA54BC65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + F1A0F0881D3C62C8E705120E = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-VST3.plist"; path = "Info-VST3.plist"; 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"; }; + F3BFC5ADFAD663890D658894 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + F8D93BA03DB14514E2F9D007 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = GainPlugIn.component; sourceTree = "BUILT_PRODUCTS_DIR"; }; + C43A527A45129CF421296BD0 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = GainPlugIn.aaxplugin; sourceTree = "BUILT_PRODUCTS_DIR"; }; + 074F1E0FAFBD4B127B869BC2 = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = GainPlugIn.framework; sourceTree = "BUILT_PRODUCTS_DIR"; }; + EF9CFCD6A5BEAD685E992C75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../../modules/juce_events/messages/juce_ApplicationBase.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"; }; + F18474D1FC76E023231638CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; 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"; }; F3500A2990DBE4DEBE4405B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; }; F3B8EEB02E5588D99021DD10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AiffAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; - F3BFC5ADFAD663890D658894 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; F507AE61AF55B2101383B1E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectShowComponent.h"; path = "../../../../../modules/juce_video/playback/juce_DirectShowComponent.h"; sourceTree = "SOURCE_ROOT"; }; F527FEA0852AA21984AD9F47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; }; F549ECCF4D91FC7A30105297 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; }; @@ -993,11 +967,11 @@ F5BA7AF6CEAD6AEB13F0FBA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; }; F5C623942E20C541382097E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; F6AC635E17C2745BA801256F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; }; - F6D0C31C49847196CB56EF7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; F6D61FC781A1532ACF955A56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; }; F758A3A014E70D7F75D889D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; }; F76BAD45163B80F58A11FE42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatManager.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; F7837342DC31305E98733379 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorGraph.cpp"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp"; sourceTree = "SOURCE_ROOT"; }; + F79776F078375AA287A24AB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../JuceLibraryCode/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; F7FA3CA65C2B371C902CA9EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; F807CBC9ECF854D2887F359F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; }; F828B3646CF270C460B90D6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; @@ -1015,22 +989,17 @@ 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"; }; - F8E73EFE3DB75B34783A0862 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAMutex.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAMutex.cpp"; sourceTree = "SOURCE_ROOT"; }; - F9504B50D649AAEC9854241B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../../../../modules/juce_cryptography/juce_cryptography.mm"; 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"; }; FCCB7A9F2BD719E6DD4932EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; }; FCDB7F5F45F85A080B79D942 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; }; + FCF26B7D47F36E7B33EB92A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../JuceLibraryCode/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; FD13300994464AA33BE6FA36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; }; FD61CCFB4E650BDE5D74106F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; FDD2D90E89B0D685BB735E99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; FDD76061FBF3FDF0DE3383E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterBool.h"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h"; sourceTree = "SOURCE_ROOT"; }; FDE535CAC232BC783CBCA4C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; FE1861D0B96C1FDF85E16F52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; }; - FE6F1831CD44A09554D4B2DD = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_gui_extra/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; - FF1A34EA7C9475D4DE62720E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAAUParameter.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAUParameter.cpp"; sourceTree = "SOURCE_ROOT"; }; FF488C1A861B14233FBF06A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuntimePermissions.cpp"; path = "../../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; FF7279CB94E4A416AEEF8AA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLContext.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h"; sourceTree = "SOURCE_ROOT"; }; C8F3DE8D004443AC01CDFCAE = {isa = PBXGroup; children = ( @@ -1114,9 +1083,12 @@ 4FC4DCB960A47FF99D235E40, 913FA6ECB5D8A89C282D9F25, EDAF359D3673E30BB3E188DE, - 4944D74AFDAD75D539AEB8D4, 5015777ECDDAC17D0C132F34, ); name = "juce_audio_basics"; sourceTree = ""; }; - 690D35B2436D4D22FB1ABF16 = {isa = PBXGroup; children = ( + 213F8006C5F60E09C877A258 = {isa = PBXGroup; children = ( + B1D88569B0E48296BFB11BAB, + 701C2B1410E366088FC0D8BA, + 95567324C834BBE5D5215DE7, ); name = "audio_cd"; sourceTree = ""; }; + 20EBD2007675F401D4160FDD = {isa = PBXGroup; children = ( 4C1DDE053C0E6BAF542394F5, 8C2320DE66C95441D6270478, C1844937AFECFF7929C91CBF, @@ -1124,22 +1096,13 @@ 1B17928327544C6808B05586, EB32B97D1544A74457EEA3B4, 4F4B6F7986EE31F0D2B59182, ); name = "audio_io"; sourceTree = ""; }; - 80C3616D368DF55CFBC4AEFE = {isa = PBXGroup; children = ( + 710229B4DF1DCB753EC655F7 = {isa = PBXGroup; children = ( DA467D2628B8A2D73BCA00BB, 88276F23FC6769402CABDAF0, 569A4293CDC75A9164DF0913, 6B23759F8A8C1C46B3B6F257, B12F11AEBF1105472B9DCD99, ); name = "midi_io"; sourceTree = ""; }; - 8CB32CC5DF9ABD267A471887 = {isa = PBXGroup; children = ( - 57D9A02362712935FBB7A37A, - 1EE3777A2BAD2E09AF829CBD, - 7FDB2B0F674DAAF0090B7D8C, - 590991BD50DE7582475B7661, ); name = sources; sourceTree = ""; }; - 9A0DD4154D863AD7E71AA92E = {isa = PBXGroup; children = ( - B1D88569B0E48296BFB11BAB, - 701C2B1410E366088FC0D8BA, - 95567324C834BBE5D5215DE7, ); name = "audio_cd"; sourceTree = ""; }; - 41FA7564A4B6550750CFC93F = {isa = PBXGroup; children = ( + E89C4A85EA9C567A297789E2 = {isa = PBXGroup; children = ( EA70BFFD4C19914A10A253B6, 7B4B931B90ADD3ACF741A4E3, 66F68C82E5E1526A5201A6C4, @@ -1159,31 +1122,19 @@ D1D8D5B5C6C026C45D74A5E2, 51314EF946587D18990D7B0F, E596F3CFF5E5EE762B97BB4E, ); name = native; sourceTree = ""; }; + D67103B474E02DB6FEF65E1F = {isa = PBXGroup; children = ( + 57D9A02362712935FBB7A37A, + 1EE3777A2BAD2E09AF829CBD, + 7FDB2B0F674DAAF0090B7D8C, + 590991BD50DE7582475B7661, ); name = sources; sourceTree = ""; }; D1D0AA916A58377C675E5F24 = {isa = PBXGroup; children = ( - 690D35B2436D4D22FB1ABF16, - 80C3616D368DF55CFBC4AEFE, - 8CB32CC5DF9ABD267A471887, - 9A0DD4154D863AD7E71AA92E, - 41FA7564A4B6550750CFC93F, - 464061B97667C9E017E05B99, + 213F8006C5F60E09C877A258, + 20EBD2007675F401D4160FDD, + 710229B4DF1DCB753EC655F7, + E89C4A85EA9C567A297789E2, + D67103B474E02DB6FEF65E1F, 543870AAC11B131FB3F6F372, ); name = "juce_audio_devices"; sourceTree = ""; }; - 7646BA921E415AA7AD01FF1C = {isa = PBXGroup; children = ( - 00261126291DE9BBA1D5F4B2, - E3958C99991C2CDD36DB609D, - F76BAD45163B80F58A11FE42, - 73C659F3EA1D2C09395C7A0D, - 4921ECFD4B35F109FC1E30F8, - 4E2D55AD5C0799596BAD8A95, - 0B67C3B6C22FCA346E3DF158, - 8CD7B01A646341ACCBB0A732, - B6A4461427B4EE8D5C15B545, - 12CACA7B3A7C79544B110B8A, - DC76C8CFA72B8F9DDA42B1CF, - 208077B4080CC33E3734DE20, - 5E3FCA667305A9E433375707, - 7992A843F3FE232608E9A428, - 547294B685D821DA97B4274C, ); name = format; sourceTree = ""; }; - 498B2F51E15BFA44A79E3333 = {isa = PBXGroup; children = ( + 55B1CA28269EFFA66960399D = {isa = PBXGroup; children = ( 754FD974215C7B29C3D36B59, F3B8EEB02E5588D99021DD10, 53C8168EAD3420C0EFD34BE8, @@ -1202,34 +1153,51 @@ 4075F109779D2CBDAAE69745, EBDDD726048DD176D7AE17E6, ABFC1D79D41A1BDE7B6BEA7E, ); name = codecs; sourceTree = ""; }; + CF96BD274C96700C1343BB00 = {isa = PBXGroup; children = ( + 00261126291DE9BBA1D5F4B2, + E3958C99991C2CDD36DB609D, + F76BAD45163B80F58A11FE42, + 73C659F3EA1D2C09395C7A0D, + 4921ECFD4B35F109FC1E30F8, + 4E2D55AD5C0799596BAD8A95, + 0B67C3B6C22FCA346E3DF158, + 8CD7B01A646341ACCBB0A732, + B6A4461427B4EE8D5C15B545, + 12CACA7B3A7C79544B110B8A, + DC76C8CFA72B8F9DDA42B1CF, + 208077B4080CC33E3734DE20, + 5E3FCA667305A9E433375707, + 7992A843F3FE232608E9A428, + 547294B685D821DA97B4274C, ); name = format; sourceTree = ""; }; 27E93C908947AF25F947A79D = {isa = PBXGroup; children = ( 4ED140257265D08ED9CB3B64, 4C139FF1648177E32BFA64A7, ); name = sampler; sourceTree = ""; }; 18C4E98FCC0885F02459165B = {isa = PBXGroup; children = ( - 7646BA921E415AA7AD01FF1C, - 498B2F51E15BFA44A79E3333, + 55B1CA28269EFFA66960399D, + CF96BD274C96700C1343BB00, 27E93C908947AF25F947A79D, - 2B16BEE619F42394E6CFB6A8, 18B7B5B0C06A1C96ED45C9AB, ); name = "juce_audio_formats"; sourceTree = ""; }; - F2D5F877258DB2BBF0433F23 = {isa = PBXGroup; children = ( - B15D003DE2F4E963EC111711, ); name = AU; sourceTree = ""; }; - B72A30539E39AF73D7373B56 = {isa = PBXGroup; children = ( + ACD80D137D40FF3D98E4BDD9 = {isa = PBXGroup; children = ( + B41DB1D9877BC61AB0558A69, + 24DE5291F2DC05ADA305E480, ); name = AAX; sourceTree = ""; }; + 40670BA45D5A8B83FFD1D43D = {isa = PBXGroup; children = ( + 8CABBDFF3D48FA622F561D56, + B15D003DE2F4E963EC111711, + 8782AADF74783EA3DD066529, ); name = AU; sourceTree = ""; }; + 481A2320BE06B39707A658B9 = {isa = PBXGroup; children = ( + B7EC6979B78232E97C67586D, 2B7C784CF333CA6BEEF5038A, CF608BF804CB06BCBB51B9C2, 3AB3CC89F7508F63306AD7C1, - DC55FBABEB3A839B6602D678, - DBF11B9083F40C0C849B9302, 6701AB4D2F5DAD2EA72ACFE9, - B7EC6979B78232E97C67586D, ); name = RTAS; sourceTree = ""; }; - ACB40A827BEB66A2619B656A = {isa = PBXGroup; children = ( - 9548631628595F1576CD7B73, - C3D43F992D8AAA5EF9D23288, ); name = VST; sourceTree = ""; }; - 1815B1538BC13B78AE2CE64D = {isa = PBXGroup; children = ( - 8676D218DB100E6B4636A82E, ); name = VST3; sourceTree = ""; }; - 322586F167B93E8334EED94F = {isa = PBXGroup; children = ( - B41DB1D9877BC61AB0558A69, - 24DE5291F2DC05ADA305E480, ); name = AAX; sourceTree = ""; }; - D2EF477112A478216F84E4EA = {isa = PBXGroup; children = ( + D6258F49C36DCD82F526944D, + A7A8A6D4CD03ED3AC1B8B0A4, + DC55FBABEB3A839B6602D678, + DBF11B9083F40C0C849B9302, ); name = RTAS; sourceTree = ""; }; + 5D349B4D28D366B78DC84E0C = {isa = PBXGroup; children = ( + 43B51F79EFF2E9673AA1BCE6, + 8323AB8EF5430A81A4FDD26E, ); name = Standalone; sourceTree = ""; }; + 2ED175377245DA0931B9590C = {isa = PBXGroup; children = ( 9B5CE97BAC0AAD8EEAF75ABF, 38687DB2FEC47B8E4826346E, E219774D186DF70D694D2768, @@ -1239,16 +1207,38 @@ 9F56E1F9CF75D555C677A38D, E9FEFC46FF2B51B8C3A520F4, 21F8A643A1D07AE29337D139, ); name = utility; sourceTree = ""; }; + 13C5382A438FE0F8B5A25265 = {isa = PBXGroup; children = ( + 9548631628595F1576CD7B73, + C3D43F992D8AAA5EF9D23288, ); name = VST; sourceTree = ""; }; + CAE18DD8900EEA5EE94BB849 = {isa = PBXGroup; children = ( + 8676D218DB100E6B4636A82E, ); name = VST3; sourceTree = ""; }; F7173AE77C51F8BD4B4476AC = {isa = PBXGroup; children = ( - F2D5F877258DB2BBF0433F23, - B72A30539E39AF73D7373B56, - ACB40A827BEB66A2619B656A, - 1815B1538BC13B78AE2CE64D, - 322586F167B93E8334EED94F, - D2EF477112A478216F84E4EA, - C34154A75199D0615ADE1730, + ACD80D137D40FF3D98E4BDD9, + 40670BA45D5A8B83FFD1D43D, + 481A2320BE06B39707A658B9, + 5D349B4D28D366B78DC84E0C, + 2ED175377245DA0931B9590C, + 13C5382A438FE0F8B5A25265, + CAE18DD8900EEA5EE94BB849, B5F601E64CCEDC477481A4ED, ); name = "juce_audio_plugin_client"; sourceTree = ""; }; - D8A17ABC7C1ACF4BF8623CAA = {isa = PBXGroup; children = ( + 5A4568EB714508066344BFCA = {isa = PBXGroup; children = ( + 8978DDECC8749C80F3C959C6, + E877FE89092942CF21E4EC77, + 75F9EE2CA69812F94F813F00, + 2CA124DED3BC606AF1A3A15F, ); name = format; sourceTree = ""; }; + FA24CBF6419F8003B9086D0B = {isa = PBXGroup; children = ( + B5D4DB73568113270FAA6E28, + A815FDA15080EB5374693B3C, + 29BC321A44EEE9AD6D3184B8, + 291196A3F403A3B9BDDD4347, + 690F39797FCF9D96368006C9, + 3E750A56336FE91FE4190D0B, + CE57E03FD67001AF17AE9348, + 115075E87FFDE3A0562DAB11, + B480AA30CA4A3E925CD4D7BA, + 8BE1CAAB600CECDD6390B937, + 8C68CCB04F23709D332A85A3, ); name = "format_types"; sourceTree = ""; }; + A64997E88684035AAB666E5E = {isa = PBXGroup; children = ( FB543B91C7E0C32D35F9936B, 9E16DD9C4AA8FD94DF161ECF, AFDF57386DA66E87DABD6E76, @@ -1265,23 +1255,6 @@ 87B1405EEABDD20DF7C28D42, 90CDDF132C7CA3C971891293, B6365D312D10010C76C40249, ); name = processors; sourceTree = ""; }; - 73BFEF2D45963975C5BE189A = {isa = PBXGroup; children = ( - 8978DDECC8749C80F3C959C6, - E877FE89092942CF21E4EC77, - 75F9EE2CA69812F94F813F00, - 2CA124DED3BC606AF1A3A15F, ); name = format; sourceTree = ""; }; - 6A281AB66BF5E7A0C63625B0 = {isa = PBXGroup; children = ( - B5D4DB73568113270FAA6E28, - A815FDA15080EB5374693B3C, - 29BC321A44EEE9AD6D3184B8, - 291196A3F403A3B9BDDD4347, - 690F39797FCF9D96368006C9, - 3E750A56336FE91FE4190D0B, - CE57E03FD67001AF17AE9348, - 115075E87FFDE3A0562DAB11, - B480AA30CA4A3E925CD4D7BA, - 8BE1CAAB600CECDD6390B937, - 8C68CCB04F23709D332A85A3, ); name = "format_types"; sourceTree = ""; }; CBA9B1F6C0C63C93ACCF7864 = {isa = PBXGroup; children = ( 2D87FFDD381908613B795851, 052E09FF6B5A729C131448B6, @@ -1299,65 +1272,13 @@ E447A920E1B94499D9CD8007, 37CC2B12CFD3D4CB4295C7FA, ); name = utilities; sourceTree = ""; }; 2EDCD855F108DE8D7599C742 = {isa = PBXGroup; children = ( - D8A17ABC7C1ACF4BF8623CAA, - 73BFEF2D45963975C5BE189A, - 6A281AB66BF5E7A0C63625B0, + 5A4568EB714508066344BFCA, + FA24CBF6419F8003B9086D0B, + A64997E88684035AAB666E5E, CBA9B1F6C0C63C93ACCF7864, 7630C889BDA939A6A2109BAE, - 735FF64A3D2801ADACD366AA, 4BBB6CBFD5E7F2FD6B2537D4, ); name = "juce_audio_processors"; sourceTree = ""; }; - 85070F0EA4003DA628B1FB6A = {isa = PBXGroup; children = ( - 0541E636866AA676FA4418EE, - 2ADE41159ABE08AF13EA6A0F, - B651E61D827862B25D3B0737, - BDD217941B2E1794D43EBCF7, - 7994DDE43DEA787F20F3F49A, - 28D11EF0D5D758D42F0B17A6, - D79AD5A507E39490F4C0DA79, - 085DC06BD66C811F608CC732, - B6C2B6E81E1DF9E8505A0801, - B28A17E23DF0DCDA94E53D24, - DE09A70C49724CB946B1F4E6, - 39E364B02116DA91F0586C64, - 077D5141707A5EB4513D7CC0, - 702C5F57A4F85944F7B80CC7, - A430118F4286EEA840420243, - 436FF177370A314447BF9E3F, - 71748E84427CFB30EEBE367F, - 3BCFFDB55D7246DE5AF0A9A2, - 54C8F788A548E17FDF2A8D37, - 9F955C0F0158B73A87CE6DC8, - DF54BAFE0AEF09B6D7F923F0, - 7384441A787AD36DCFE01C8A, - 52660CBAAAEEB36E816BE911, - 9AD03390BB5791C7C1A74655, ); name = text; sourceTree = ""; }; - E32EB5192889633A924D35BB = {isa = PBXGroup; children = ( - 4F592D3805EBB5B55C41AFE5, - C6724F8B6CEB05AC9584BEEC, - 6ECFE741A2982E1B03C0F680, - BAB4AB07420F7DF1F29884B7, - 322ABD979A3A76315AD1EE5B, - 7E75A68F5AFF795C7D82FC14, - 3189E9672D8CDD691EE21D9C, - DCF492D1976FAA8E7CA19078, - CF784B2EB47D53C5A7CA824F, - C39BE441D12E81E42CD3EB58, ); name = maths; sourceTree = ""; }; - 6165153DC247F59C97067473 = {isa = PBXGroup; children = ( - B8D091C1997C32CDCE65DD2F, - A9FB6C224EB01F7400C82868, - 5459F433A2ADFF5E2EBDCC27, - 4012B9C674714A4133A940D3, - 9A80761AED6FC41F08BBA0F1, - EB1523A1496A3D747E3DC7E2, - B1A2C930457AC20DBF8E2654, - 8A7A1029D5A65165F9048006, - 6E069AC581AB4100841E16CF, - 74B72225635A9543000B3F2F, - 734A9A4B348961A5DBCC8F24, - 1872828183DA08AD0926E7B9, - F8E48C01C791BEFDDAA6A47C, - DE20225795996F2378ED6B3A, ); name = memory; sourceTree = ""; }; - 0B893E4B301C2EBE6D3CB539 = {isa = PBXGroup; children = ( + 5767960B1D013CC1F3D47F30 = {isa = PBXGroup; children = ( 18ABDD9754AC6DFABC2BAB0C, 7F887FFD625CDAE17D22ED55, 5514CCFCE497B35F4A92F4B2, @@ -1379,37 +1300,7 @@ 64B806A30A3221DA83EBB3BF, D882AE71433B9277B5B96D4B, 2147F477AF3713D33E1E50CD, ); name = containers; sourceTree = ""; }; - A46C5C6B0E17B1D5D06C8F54 = {isa = PBXGroup; children = ( - AE55D30734D56196C55AE45D, - C51050E8F13CA1D21D3C94F2, - 01289CC3E9BA1019F36C139A, - 63D697E8356519D0153174B8, - 69D787DC4AF091A7E629B6D2, - 4F76E9E18F62FB9FBCB0DB38, - AF8552319D5284C8D5B9FA8F, - EEE02CD512C902DD7B0C5D13, - 9E0CDFA686934102489C5083, - 654E096AB267157F9BCF808B, - 306307F24A708785FE1232ED, - 094D7AD9353A04229B7268D7, - 81732A165D74FF960F41E3F5, - 86A278A218FEDDC9BBB3CA52, - 4972E1584C45932FCD463970, - 048260964A87F1AC85B9D21F, - 7755EC3BC5D7F4FE1D9865CE, - D601A90F770806AED115977A, - 497FA1C5A1D9A978D8D1B163, - 33F9968F0EDDD26BB38C6745, - BC63E229A46DB24B3D8D8935, - 28C7EDA8645DF63870F382E2, ); name = threads; sourceTree = ""; }; - D514B7A6E75D25FACF56FADA = {isa = PBXGroup; children = ( - D41D8C004C8FDC0E81659CA2, - FCCB7A9F2BD719E6DD4932EA, - 187E0AAD72DB1D84DEF6B292, - 76AB2B60A535BB5D29165639, - E015A474DBD77D3DF642824E, - CE2EAFD2AE799027E2F90866, ); name = time; sourceTree = ""; }; - 104F327F1EA9D2BFDBCDBCB9 = {isa = PBXGroup; children = ( + E8E65F4C65A4A038744B0EF4 = {isa = PBXGroup; children = ( 231B63FE7F9001BA2B214DB4, C669D4478310A2EE6CB3C411, F6AC635E17C2745BA801256F, @@ -1427,66 +1318,43 @@ 0DE3329E6C98F8DAB5196BB6, 36848D600B96A3E233D7BE51, 1DB4BF1DBAF75A6BC28CB422, ); name = files; sourceTree = ""; }; - 82F6C998685B31103C3C7A22 = {isa = PBXGroup; children = ( - EA18AC5E7FC18423FEC5BC3F, - 0DF061DB8912054E31DA9EB1, - 379D38DFAEB9CB4E9C647DDF, - A69017C73E1B1B4866239E86, - C1E2F61DC5117176388AFB09, - F549ECCF4D91FC7A30105297, - 3A51540ABD1A39C9E4F5B697, - 072EC0BD45686F0D876AFC9F, - CD117363B0E312AAFD54FA9C, - A14920DF295C8C1203169426, ); name = network; sourceTree = ""; }; - 4CFFDBB0B6C11AB254E70717 = {isa = PBXGroup; children = ( - 2B5BFA938F8B7DD4456242C8, - 33751A84F74C4C3F97292623, - 1C9B8192895AB862A5D3C536, - 3098350258468195A296EA8C, - F5668CB3DFA61B679030C25F, - 372D7F48A492CF7B74D52510, - 6FC77559711769BE4ED8EA11, - CF5806A75B14A0E95E7798F7, - 11B28D5E49EE0F1CD510DF98, - 391A3E779BFDA8887A2F2605, - 58353AA4D81CBB4870CAC783, - F5C623942E20C541382097E9, - 6536B63E757FD1C4B764F45A, - 5A6CF3D6421FB6C6831D5F09, - 1C4C7A65DA862F517E65B3A8, ); name = streams; sourceTree = ""; }; - 97411B30DE597CB41AF7AF54 = {isa = PBXGroup; children = ( - FCB0A5982114DD8E9C3C48BC, - 0837E472178D483FA7AFEDFB, - 4CF34417FEEB19B3F86F6BF4, - 706E3D520DD80B051738227C, ); name = logging; sourceTree = ""; }; - 8B8439C6DB01320366F5A471 = {isa = PBXGroup; children = ( - D391B80CE8529FDD2ABCD8BD, - 12759DCF0E74DF0087F10917, - 8966613EDBD1E8842919D315, - 511B63B3C1AA5E8513E36156, - 9952808BE67944CFEAF10309, - DDACD84EA35780FD14126B74, ); name = system; sourceTree = ""; }; - 6EE131D8057595F54367C434 = {isa = PBXGroup; children = ( - F7FA3CA65C2B371C902CA9EA, - 3703C159AC48FA542FD65398, - 846FADA9C00CCE031559F78D, - 9A846589DA28FB405D6D2638, ); name = xml; sourceTree = ""; }; - 198FA737D895834EB8ABA389 = {isa = PBXGroup; children = ( + 7BF78643009898F0B574F590 = {isa = PBXGroup; children = ( 305ECBAB22C56C76FB9702D5, A980287D72A27FFD5870A393, 9C0EC72DF39C49F84958CCE0, 365037A479900D98EA46C78D, ); name = javascript; sourceTree = ""; }; - 91E323D03DBD810E4363A927 = {isa = PBXGroup; children = ( - ED921D42FF3C5D33AEFF5609, - 3EBEC98CB93144341E24A75A, - F5A96B9783E559CB9FB56B93, - CE899E815EF3B83E6C1B201E, - EE29E33BC698ECA4ED4C44B0, - C0B631A5AAF29066C83CE231, ); name = zip; sourceTree = ""; }; - 86E69E88160E050F5136E511 = {isa = PBXGroup; children = ( - 52E047F304B418DC34B7961D, - 68334EB40393BA4C380039F5, ); name = "unit_tests"; sourceTree = ""; }; - CED2E4172C73F16DB80E95CA = {isa = PBXGroup; children = ( + 14963D97466FBA82C8191BB6 = {isa = PBXGroup; children = ( + FCB0A5982114DD8E9C3C48BC, + 0837E472178D483FA7AFEDFB, + 4CF34417FEEB19B3F86F6BF4, + 706E3D520DD80B051738227C, ); name = logging; sourceTree = ""; }; + F4159E18CE63281E2F979737 = {isa = PBXGroup; children = ( + 4F592D3805EBB5B55C41AFE5, + C6724F8B6CEB05AC9584BEEC, + 6ECFE741A2982E1B03C0F680, + BAB4AB07420F7DF1F29884B7, + 322ABD979A3A76315AD1EE5B, + 7E75A68F5AFF795C7D82FC14, + 3189E9672D8CDD691EE21D9C, + DCF492D1976FAA8E7CA19078, + CF784B2EB47D53C5A7CA824F, + C39BE441D12E81E42CD3EB58, ); name = maths; sourceTree = ""; }; + 77A8D677CC7A620311602492 = {isa = PBXGroup; children = ( + B8D091C1997C32CDCE65DD2F, + A9FB6C224EB01F7400C82868, + 5459F433A2ADFF5E2EBDCC27, + 4012B9C674714A4133A940D3, + 9A80761AED6FC41F08BBA0F1, + EB1523A1496A3D747E3DC7E2, + B1A2C930457AC20DBF8E2654, + 8A7A1029D5A65165F9048006, + 6E069AC581AB4100841E16CF, + 74B72225635A9543000B3F2F, + 734A9A4B348961A5DBCC8F24, + 1872828183DA08AD0926E7B9, + F8E48C01C791BEFDDAA6A47C, + DE20225795996F2378ED6B3A, ); name = memory; sourceTree = ""; }; + 95E118BA676EE2274A62131A = {isa = PBXGroup; children = ( 3335CFAF02DFD22D3EFC65E6, C73835DB991ED8F57E4C3C38, FF488C1A861B14233FBF06A6, @@ -1494,7 +1362,7 @@ 3984D3D7BA3FA045B9207F01, 1251EFF2CF96BABFCB30EC84, A60B20BF96635F55352A27EB, ); name = misc; sourceTree = ""; }; - E4C4E0D1707A131C7C46E17C = {isa = PBXGroup; children = ( + 661C93C90F9A400A46CCA6CB = {isa = PBXGroup; children = ( 1099CE26942DBEB321EE7FE2, E22A8C6006C3BD972035B132, 608B9F4FC2FB1CBE4E1C7016, @@ -1524,25 +1392,128 @@ E1E7DD4B2FE79F14F618121C, 874A74073D6A9F5604818314, C3B5B38EF696231652756D32, ); name = native; sourceTree = ""; }; + 995B232C14E9F14A647C9A0A = {isa = PBXGroup; children = ( + EA18AC5E7FC18423FEC5BC3F, + 0DF061DB8912054E31DA9EB1, + 379D38DFAEB9CB4E9C647DDF, + A69017C73E1B1B4866239E86, + C1E2F61DC5117176388AFB09, + F549ECCF4D91FC7A30105297, + 3A51540ABD1A39C9E4F5B697, + 072EC0BD45686F0D876AFC9F, + CD117363B0E312AAFD54FA9C, + A14920DF295C8C1203169426, ); name = network; sourceTree = ""; }; + C6CFF39E301CE4E9342E2D3D = {isa = PBXGroup; children = ( + 2B5BFA938F8B7DD4456242C8, + 33751A84F74C4C3F97292623, + 1C9B8192895AB862A5D3C536, + 3098350258468195A296EA8C, + F5668CB3DFA61B679030C25F, + 372D7F48A492CF7B74D52510, + 6FC77559711769BE4ED8EA11, + CF5806A75B14A0E95E7798F7, + 11B28D5E49EE0F1CD510DF98, + 391A3E779BFDA8887A2F2605, + 58353AA4D81CBB4870CAC783, + F5C623942E20C541382097E9, + 6536B63E757FD1C4B764F45A, + 5A6CF3D6421FB6C6831D5F09, + 1C4C7A65DA862F517E65B3A8, ); name = streams; sourceTree = ""; }; + 8B8439C6DB01320366F5A471 = {isa = PBXGroup; children = ( + D391B80CE8529FDD2ABCD8BD, + 12759DCF0E74DF0087F10917, + 8966613EDBD1E8842919D315, + 511B63B3C1AA5E8513E36156, + 9952808BE67944CFEAF10309, + DDACD84EA35780FD14126B74, ); name = system; sourceTree = ""; }; + E19CEA5EBC4FACD131490E01 = {isa = PBXGroup; children = ( + 0541E636866AA676FA4418EE, + 2ADE41159ABE08AF13EA6A0F, + B651E61D827862B25D3B0737, + BDD217941B2E1794D43EBCF7, + 7994DDE43DEA787F20F3F49A, + 28D11EF0D5D758D42F0B17A6, + D79AD5A507E39490F4C0DA79, + 085DC06BD66C811F608CC732, + B6C2B6E81E1DF9E8505A0801, + B28A17E23DF0DCDA94E53D24, + DE09A70C49724CB946B1F4E6, + 39E364B02116DA91F0586C64, + 077D5141707A5EB4513D7CC0, + 702C5F57A4F85944F7B80CC7, + A430118F4286EEA840420243, + 436FF177370A314447BF9E3F, + 71748E84427CFB30EEBE367F, + 3BCFFDB55D7246DE5AF0A9A2, + 54C8F788A548E17FDF2A8D37, + 9F955C0F0158B73A87CE6DC8, + DF54BAFE0AEF09B6D7F923F0, + 7384441A787AD36DCFE01C8A, + 52660CBAAAEEB36E816BE911, + 9AD03390BB5791C7C1A74655, ); name = text; sourceTree = ""; }; + C963F2EE76124E87F5B0C454 = {isa = PBXGroup; children = ( + AE55D30734D56196C55AE45D, + C51050E8F13CA1D21D3C94F2, + 01289CC3E9BA1019F36C139A, + 63D697E8356519D0153174B8, + 69D787DC4AF091A7E629B6D2, + 4F76E9E18F62FB9FBCB0DB38, + AF8552319D5284C8D5B9FA8F, + EEE02CD512C902DD7B0C5D13, + 9E0CDFA686934102489C5083, + 654E096AB267157F9BCF808B, + 306307F24A708785FE1232ED, + 094D7AD9353A04229B7268D7, + 81732A165D74FF960F41E3F5, + 86A278A218FEDDC9BBB3CA52, + 4972E1584C45932FCD463970, + 048260964A87F1AC85B9D21F, + 7755EC3BC5D7F4FE1D9865CE, + D601A90F770806AED115977A, + 497FA1C5A1D9A978D8D1B163, + 33F9968F0EDDD26BB38C6745, + BC63E229A46DB24B3D8D8935, + 28C7EDA8645DF63870F382E2, ); name = threads; sourceTree = ""; }; + E4E095CC0EAA66DFEA3D3CF9 = {isa = PBXGroup; children = ( + D41D8C004C8FDC0E81659CA2, + FCCB7A9F2BD719E6DD4932EA, + 187E0AAD72DB1D84DEF6B292, + 76AB2B60A535BB5D29165639, + E015A474DBD77D3DF642824E, + CE2EAFD2AE799027E2F90866, ); name = time; sourceTree = ""; }; + 86E69E88160E050F5136E511 = {isa = PBXGroup; children = ( + 52E047F304B418DC34B7961D, + 68334EB40393BA4C380039F5, ); name = "unit_tests"; sourceTree = ""; }; + 19B7F73249224E050FC1DC56 = {isa = PBXGroup; children = ( + F7FA3CA65C2B371C902CA9EA, + 3703C159AC48FA542FD65398, + 846FADA9C00CCE031559F78D, + 9A846589DA28FB405D6D2638, ); name = xml; sourceTree = ""; }; + F117D51F86E154913EA24CE2 = {isa = PBXGroup; children = ( + ED921D42FF3C5D33AEFF5609, + 3EBEC98CB93144341E24A75A, + F5A96B9783E559CB9FB56B93, + CE899E815EF3B83E6C1B201E, + EE29E33BC698ECA4ED4C44B0, + C0B631A5AAF29066C83CE231, ); name = zip; sourceTree = ""; }; DD2C3259350C638BB74A3E9F = {isa = PBXGroup; children = ( - 85070F0EA4003DA628B1FB6A, - E32EB5192889633A924D35BB, - 6165153DC247F59C97067473, - 0B893E4B301C2EBE6D3CB539, - A46C5C6B0E17B1D5D06C8F54, - D514B7A6E75D25FACF56FADA, - 104F327F1EA9D2BFDBCDBCB9, - 82F6C998685B31103C3C7A22, - 4CFFDBB0B6C11AB254E70717, - 97411B30DE597CB41AF7AF54, + 5767960B1D013CC1F3D47F30, + E8E65F4C65A4A038744B0EF4, + 7BF78643009898F0B574F590, + 14963D97466FBA82C8191BB6, + F4159E18CE63281E2F979737, + 77A8D677CC7A620311602492, + 95E118BA676EE2274A62131A, + 661C93C90F9A400A46CCA6CB, + 995B232C14E9F14A647C9A0A, + C6CFF39E301CE4E9342E2D3D, 8B8439C6DB01320366F5A471, - 6EE131D8057595F54367C434, - 198FA737D895834EB8ABA389, - 91E323D03DBD810E4363A927, + E19CEA5EBC4FACD131490E01, + C963F2EE76124E87F5B0C454, + E4E095CC0EAA66DFEA3D3CF9, 86E69E88160E050F5136E511, - CED2E4172C73F16DB80E95CA, - E4C4E0D1707A131C7C46E17C, - C42A7081D027F402FC05FB13, + 19B7F73249224E050FC1DC56, + F117D51F86E154913EA24CE2, BD370E88EF39ED6B4BB749D9, ); name = "juce_core"; sourceTree = ""; }; 3BB1AC65E57A6CEE2296BEBE = {isa = PBXGroup; children = ( 91FE73EDB273548E0968D631, @@ -1561,31 +1532,45 @@ 6BBA0D0A6AC5DDC3063E9DE6 = {isa = PBXGroup; children = ( 3BB1AC65E57A6CEE2296BEBE, F3A19E50630E45A6732EC607, - 4C8443CA0D7DEE719DD49A6F, B7272F573644C109E13069D3, ); name = "juce_cryptography"; sourceTree = ""; }; - 58F213C91F0B708CBF80BB6D = {isa = PBXGroup; children = ( + CB79BE52023F45202B1A1604 = {isa = PBXGroup; children = ( + 80AD9BCB2D9E541E10E37FEA, + 854E72E69B0F71350172CBE3, + 9917873B77C0466DCF5C5D89, + FA905D2AD00F1A5ED9D55D36, ); name = "app_properties"; sourceTree = ""; }; + 4DBDEDC54B6167C1FC62CBE5 = {isa = PBXGroup; children = ( + 0C2D7C6FB347CEA06CC25E41, + 10AC5DD4504B88617FA9B1B4, + 35B4ED2CB96C0BB28AA63805, ); name = undomanager; sourceTree = ""; }; + 093BAFCD0477BE4189CFDB23 = {isa = PBXGroup; children = ( BCAAA3A76C65BBCDAF588FFA, 0F34C1D3DEE90416576E69FC, E8377090D95557FD1AC33920, 1ACF415F9067A08747440107, 62429D10C41469663BE34CCB, 189E302B7B8DC2ADA7BB9A13, ); name = values; sourceTree = ""; }; - 4DBDEDC54B6167C1FC62CBE5 = {isa = PBXGroup; children = ( - 0C2D7C6FB347CEA06CC25E41, - 10AC5DD4504B88617FA9B1B4, - 35B4ED2CB96C0BB28AA63805, ); name = undomanager; sourceTree = ""; }; - D674C88C48D111FC0AC47921 = {isa = PBXGroup; children = ( - 80AD9BCB2D9E541E10E37FEA, - 854E72E69B0F71350172CBE3, - 9917873B77C0466DCF5C5D89, - FA905D2AD00F1A5ED9D55D36, ); name = "app_properties"; sourceTree = ""; }; 5AC7CE2AE466D5FBE671EE0B = {isa = PBXGroup; children = ( - 58F213C91F0B708CBF80BB6D, + CB79BE52023F45202B1A1604, 4DBDEDC54B6167C1FC62CBE5, - D674C88C48D111FC0AC47921, - 39330F7494158748B164557E, + 093BAFCD0477BE4189CFDB23, 6452C600806134C93DD25002, ); name = "juce_data_structures"; sourceTree = ""; }; - 2836DA2BAC23D0AD96D08C9C = {isa = PBXGroup; children = ( + 177E05B54EAFBB84786BEAEF = {isa = PBXGroup; children = ( + 28C22C7AB995BA64F587B816, + 6CCC43F0415F56D3EDA6465D, + 19FFD96D0A6AE3AE2EC79FCD, + BCF707C7AD2AEEB783F1C625, + D513D324C35DB0ABE2072669, + B27A9D33D351006D133C2A4F, + 741EA80E2D8B179A8CC3C486, + D5473FF02298634F76630131, ); name = broadcasters; sourceTree = ""; }; + 1C9FFA7B82F64CB4AAD2FF28 = {isa = PBXGroup; children = ( + 2152D28F9FCD5E968AB74A6D, + 6AF0F56FACEF5F8F62CABABD, + 6E65CDFE580D890FAC8B693A, + 9740A9390ECA80CAA92382D4, + EB42562C9F767B17FB08FFBC, + 3BD022046757BBBE78B6A5ED, ); name = interprocess; sourceTree = ""; }; + 66DD36BA0C1FE2A78699D7F4 = {isa = PBXGroup; children = ( EF9CFCD6A5BEAD685E992C75, 341944AED03DEB1528002993, 939172D714BB97C1064800F2, @@ -1599,28 +1584,7 @@ E932A4C9D9BE7DEF7E74A9D4, C14B7273C672CB907A5DE7D9, 38549FEE722FCC103E878E6C, ); name = messages; sourceTree = ""; }; - D7701FD68D887796626B6791 = {isa = PBXGroup; children = ( - C9639F414226108D7197DEEE, - D321B6288EA42F4A4F62EB14, - A4755DECD268F039C35E94C1, - E90BE75D1FF36FF48C43A8DC, ); name = timers; sourceTree = ""; }; - 9A613CBFCC30A257C88934D4 = {isa = PBXGroup; children = ( - 28C22C7AB995BA64F587B816, - 6CCC43F0415F56D3EDA6465D, - 19FFD96D0A6AE3AE2EC79FCD, - BCF707C7AD2AEEB783F1C625, - D513D324C35DB0ABE2072669, - B27A9D33D351006D133C2A4F, - 741EA80E2D8B179A8CC3C486, - D5473FF02298634F76630131, ); name = broadcasters; sourceTree = ""; }; - EB300AC888CF5699661F9982 = {isa = PBXGroup; children = ( - 2152D28F9FCD5E968AB74A6D, - 6AF0F56FACEF5F8F62CABABD, - 6E65CDFE580D890FAC8B693A, - 9740A9390ECA80CAA92382D4, - EB42562C9F767B17FB08FFBC, - 3BD022046757BBBE78B6A5ED, ); name = interprocess; sourceTree = ""; }; - 88221FEF8945CA3549CFB159 = {isa = PBXGroup; children = ( + B0133F656CAD2790A2F32F7D = {isa = PBXGroup; children = ( 99D3EFE74EE88FF015266746, 3F784DB16865F0F35378137D, 736B86E18DB9D419C97CCEB8, @@ -1629,13 +1593,17 @@ 58CCC45E1087F0FB80AA707D, 34A9E5274015FD7BC26B5112, 7D3F0FBBE2ABC05D8D7D92EF, ); name = native; sourceTree = ""; }; + FF8C62D307121ED3732C2176 = {isa = PBXGroup; children = ( + C9639F414226108D7197DEEE, + D321B6288EA42F4A4F62EB14, + A4755DECD268F039C35E94C1, + E90BE75D1FF36FF48C43A8DC, ); name = timers; sourceTree = ""; }; 59786260984C43CA0DC4ADB0 = {isa = PBXGroup; children = ( - 2836DA2BAC23D0AD96D08C9C, - D7701FD68D887796626B6791, - 9A613CBFCC30A257C88934D4, - EB300AC888CF5699661F9982, - 88221FEF8945CA3549CFB159, - BA24C9237FA5362ADB1EA210, + 177E05B54EAFBB84786BEAEF, + 1C9FFA7B82F64CB4AAD2FF28, + 66DD36BA0C1FE2A78699D7F4, + B0133F656CAD2790A2F32F7D, + FF8C62D307121ED3732C2176, D62DD34152AB6896D6DFD7E7, ); name = "juce_events"; sourceTree = ""; }; 883417F217DD9F372BAC84B0 = {isa = PBXGroup; children = ( C179F19DB3001A25ECBD020D, @@ -1655,19 +1623,25 @@ 491A45F3C51EDD4852593D22, 3A1D50EB5C738D58763D1EA5, 3F2C73A503CF2A3EEB2FA37D, ); name = contexts; sourceTree = ""; }; - 41F41E7B47A4418300A1DC89 = {isa = PBXGroup; children = ( - FD13300994464AA33BE6FA36, - B4F1CAD86080A0835A48574B, - E221C545F4A08B1422CC6708, - AFAA06FBE50194094AB9C51E, - BB969E05025ABE5B3BFA9430, - 10FAC3FED378E83BBD80220A, - B18BB150BC4CE04956F39A7D, - 417CA21A8E872609E8C54DEE, ); name = images; sourceTree = ""; }; - 42F8376FD073A5859BB5A56A = {isa = PBXGroup; children = ( - 7A493F619E3F23E831414EDC, - 0F5B8E9B1B49FFBB4C5617B3, - 4BE069F5558C7202D5E40031, ); name = "image_formats"; sourceTree = ""; }; + 353C48FDFD0C1E16030095C2 = {isa = PBXGroup; children = ( + 52004B6130853795C1D7C5EC, + 2428E2AC74D4BA0AF279E1D9, + 547760B9F36C3859CE38FB33, + 7102B3B8313578D4ECC8D6C1, + F3500A2990DBE4DEBE4405B5, ); name = effects; sourceTree = ""; }; + 855AE475C1AA97972B1C2499 = {isa = PBXGroup; children = ( + 02325FB27988AABC15E9F7D1, + 4B78D8101E99922564A885D9, + C312F13030052FE4290459A4, + BDB846E8085DB5A0E41287E0, + AC61EED4CB3F67E6C636214A, + 0FAD152FB0FA9D29CE87B4F6, + 12CF82623211831CCEAD1CED, + 77710805979F31A5D04A7981, + B74737CDC16DD601904CD554, + 9232266CF6E3FDD5C40F971E, + 9D34A2CF22F94CB8E1E3E93C, + CB37427485C34A8733E644BE, ); name = fonts; sourceTree = ""; }; 290D491A7202DEF7A1BF0C1A = {isa = PBXGroup; children = ( 711B4EBCE4858BA0604CBDF9, C089ABE5161EAA85FD1790E5, @@ -1684,30 +1658,20 @@ 00A987C5DA52FF7C0EDF35FE, 67B09F48479BBE53E4290697, 5143903C31836D463184C010, ); name = geometry; sourceTree = ""; }; - 3255F09A8BDF99CC0A51FDD8 = {isa = PBXGroup; children = ( - 54AAF0EC3599CBFD0E11ED62, - 3AA2C8F3CAEE9372B6CF1192, - C0265338871410F43211A1FE, ); name = placement; sourceTree = ""; }; - EC17969AE9608E3DF9FD33E2 = {isa = PBXGroup; children = ( - 02325FB27988AABC15E9F7D1, - 4B78D8101E99922564A885D9, - C312F13030052FE4290459A4, - BDB846E8085DB5A0E41287E0, - AC61EED4CB3F67E6C636214A, - 0FAD152FB0FA9D29CE87B4F6, - 12CF82623211831CCEAD1CED, - 77710805979F31A5D04A7981, - B74737CDC16DD601904CD554, - 9232266CF6E3FDD5C40F971E, - 9D34A2CF22F94CB8E1E3E93C, - CB37427485C34A8733E644BE, ); name = fonts; sourceTree = ""; }; - 8FD25FCA435D1DE535A652CF = {isa = PBXGroup; children = ( - 52004B6130853795C1D7C5EC, - 2428E2AC74D4BA0AF279E1D9, - 547760B9F36C3859CE38FB33, - 7102B3B8313578D4ECC8D6C1, - F3500A2990DBE4DEBE4405B5, ); name = effects; sourceTree = ""; }; - 44A49C1C4BAAB269692DFEB0 = {isa = PBXGroup; children = ( + ED8F0A28571810B73EA739ED = {isa = PBXGroup; children = ( + 7A493F619E3F23E831414EDC, + 0F5B8E9B1B49FFBB4C5617B3, + 4BE069F5558C7202D5E40031, ); name = "image_formats"; sourceTree = ""; }; + 67C31FA6010825DBBAC9CD9E = {isa = PBXGroup; children = ( + FD13300994464AA33BE6FA36, + B4F1CAD86080A0835A48574B, + E221C545F4A08B1422CC6708, + AFAA06FBE50194094AB9C51E, + BB969E05025ABE5B3BFA9430, + 10FAC3FED378E83BBD80220A, + B18BB150BC4CE04956F39A7D, + 417CA21A8E872609E8C54DEE, ); name = images; sourceTree = ""; }; + 0B5F82DF93009A97F02CBCFC = {isa = PBXGroup; children = ( 692DA5BCD01D8FBCEEF636A5, 7CDDA85DCFA8A1F9C6B24B7F, 99D4ED39DFD051F1610CD8C7, @@ -1721,19 +1685,54 @@ 8C6C84652D446F0FA1C71637, 2F3C06EC8BD4A73922E98F96, 308216E3B6FF17A230848CC1, ); name = native; sourceTree = ""; }; + E77D953491AD8B810C071CFD = {isa = PBXGroup; children = ( + 54AAF0EC3599CBFD0E11ED62, + 3AA2C8F3CAEE9372B6CF1192, + C0265338871410F43211A1FE, ); name = placement; sourceTree = ""; }; D3B5173EBB01ED5DD0BE69AD = {isa = PBXGroup; children = ( 883417F217DD9F372BAC84B0, 102C13B3D272F339995B2BD0, - 41F41E7B47A4418300A1DC89, - 42F8376FD073A5859BB5A56A, + 353C48FDFD0C1E16030095C2, + 855AE475C1AA97972B1C2499, 290D491A7202DEF7A1BF0C1A, - 3255F09A8BDF99CC0A51FDD8, - EC17969AE9608E3DF9FD33E2, - 8FD25FCA435D1DE535A652CF, - 44A49C1C4BAAB269692DFEB0, - 5DE746778DA254E9908CDE7D, + ED8F0A28571810B73EA739ED, + 67C31FA6010825DBBAC9CD9E, + 0B5F82DF93009A97F02CBCFC, + E77D953491AD8B810C071CFD, A38AF6E0A21C86A2C6422BF9, ); name = "juce_graphics"; sourceTree = ""; }; - 037DABEE210A75BAFBFC835D = {isa = PBXGroup; children = ( + 3E58C5EF114647688FA4046A = {isa = PBXGroup; children = ( + 64306EC75358EFF4DE60F9BB, + F86E0D4727FD2F22EABE6AF3, ); name = application; sourceTree = ""; }; + 51389A167FC26A5C386908B1 = {isa = PBXGroup; children = ( + A6E0E0AD85AA368BFF7700A0, + F9B2244F5EFA1FFA722DA562, + F807CBC9ECF854D2887F359F, + B751AAE21DEEAB7B91615223, + 20317E175096480960EAFD9D, + 1AC30D6E05DD7231F63950C8, + F8F60A8C4A04BBF285A9C392, + AF6EDB5EBC864ACCD2DA9DA1, + 6BFC2ACB8A3A9E75007D8EE2, + DC21FC12D0B137714B0D6C17, + BB5F8B6F5F3E6AADB448DCB5, + 2660C199089DAEEC545A87A1, + 737C9ECE713EC9FD83C95BF7, + 1237FC2746459E7FB10CD5A7, + 671EC2D01567B7783C126897, + C21901C295DAC52328F5AD0F, + 97E3D56E1E5016E8069EB3F5, + 6886255CD3AB0E3FC87AE4C2, ); name = buttons; sourceTree = ""; }; + 7D988807446C0E35F2CE21B9 = {isa = PBXGroup; children = ( + 429E2ED654BEB8151CA60C37, + F758A3A014E70D7F75D889D1, + D7E7EA03B41E2DC2F13C0524, + 83FBB1FB818257BCAA788551, + EF2973B7FF13AAFFFA54BC65, + 230053FD586FBDFC91DDBABC, + 3675E748AF7B4196C2DAD7BB, + 25C611EE8D42AFBFEAE3A6EE, + 78E518127DE643A0FB14AF3F, ); name = commands; sourceTree = ""; }; + 2EB09530248860E0FE283A10 = {isa = PBXGroup; children = ( 9F34629FD043A7752644BAC3, 166B96CEA26780E83A3D2C55, 80990CBB65DD8467C591CF89, @@ -1743,28 +1742,46 @@ 6DE55D6FEBD2B42C85020516, EF0ED3DFA2926694133E27E6, E6A76FFDCD328792750B2018, ); name = components; sourceTree = ""; }; - 3C8C01553B95282A71E52FC0 = {isa = PBXGroup; children = ( - 8E7796B188EB36E19A534567, - 8E822CCCBC0F7DB3E9B9F04B, - AA7B874966C8FC9752F9E4D3, - 870FA56E135C7A74B4931AC5, - A3A27C86C166FAC77D70B26D, - 2DC49F6C781DEDA731049D0C, - 981DA305340363E4119DC2F6, - A80DB27BE42B7216E6FE64E8, - 07AB0727D7D9D9DE22CFE455, - 113D54BFCBF4E2FB929AF341, - D89726C55724A5B51F6CDEA8, - 11506A5A3B9249D3BCAAC7D2, - E8876D223D37B2820A5021BA, - 873F25A982432FDF2A9509C1, - 3F1B1BB001E0EF0215638018, - F5BA7AF6CEAD6AEB13F0FBA1, - 81606B069A2F4F764D62494D, - 009CC890C8F30C4253A811EA, - 2E014F018C4AAF85EEB17FA7, - 1EE8D00BC928686927A2FF7D, ); name = mouse; sourceTree = ""; }; - 318CB7E069A25F6E07189408 = {isa = PBXGroup; children = ( + A8988C9642D8ADB451972182 = {isa = PBXGroup; children = ( + 91D109AC1431F65165EA4BCF, + 0434FC5DD82B500B48F35226, + 7B95F4D9C9E0D0D0F4A5BF70, + DD4F001525BF4622952CA920, + 6FDBE97B5987335D1ACC3DB0, + 1636051E376E809563E1A221, + ECC7D00DDD27E5BBC9B1D79C, + 1ECF230AF6B4AE00B255BAD8, + 39E319F5639C88E17094351F, + 310A2450E4BB1B0EB569E3CA, + 51BA3EA628114EC835077EA6, + 33ABA58B9622A2EA3BF11AF6, + 00DBD480B140A3C56A96A05B, + 6313B2FEEB1A0F214B31BF57, + 3480107E09BD85A65DFD1DC5, ); name = drawables; sourceTree = ""; }; + 290CF1CCD2AB69E1FBDECF8C = {isa = PBXGroup; children = ( + E6B0D8E7D26CDEE5DDB21B43, + 95FC2D683A0E0F41FAD02E8B, + EBFE19F71751A99CCE015B6A, + DFBC65248D72654DD45F3E68, + 8DE0E425E40E8C90D2EBE82A, + EBF9EC92C3AF514632C86FD1, + F6D61FC781A1532ACF955A56, + F1B4EC755365729CF9850E27, + 4B126CA90C9CEBD9103B601E, + 11A2FBF84F17249615DC8DAF, + F8F8C7A669DFE8266C91EC84, + 4320B724298ABD97C6D72C6F, + 10ADBBF6AE37D363C7CC5E83, + BBEA7A388017FCD86AC00823, + 839E732C6A0D6E541D9C1AD1, + B8B473712F5473815263F6F2, + C4332D36297A0520D1C6EF15, + 471D92ACB8B31557BCA3B255, + D83B3885644D866F68D896A1, + D90748AAB57CC871613C4AA1, + 01947181134AC4100C1E9540, + 294D4C371E51B27996257FF9, ); name = filebrowser; sourceTree = ""; }; + 2EC9D4440AEC03B8C3A81041 = {isa = PBXGroup; children = ( AC55867CE5015665152C1A29, 7DA52BDECC737E0E6F15C198, 049BBD21034D1AD714D6DEF7, @@ -1778,62 +1795,7 @@ 61A7CD6BCE003B9143FCA268, D3F2CEC88C645481A0E13B17, 19382C02578F6F422F4D4318, ); name = keyboard; sourceTree = ""; }; - 43A6EB82114F12A49080E2E7 = {isa = PBXGroup; children = ( - D879F462E213EF7D2B909B0A, - 492D97142A8A9CAB658AC5C3, - DD10F1099692064E2FBE77C9, - F56D86C6CA26D7CAC01053B7, - 99DAB50C9456E7B4ED16342E, - 5186B3040BBCD6A1F8086C50, - 3D970B80CAEC916AC1F36A27, - 04CA57FC254097FCAF7D4C82, - 9FFDFEF724E548FA67194DA2, - 2A511FB313E5B922397391D5, - 8D76E6F96920A62F49C247AA, - 5E34D7DEE78F8D3FF1A3DA0A, - ABE98983B5BA9E9EF0FCE9D6, - 00517AE00C6FA9BF796D54C9, - AA0B029A74B96E129BE2CC47, - CEC5BCBBC773E9E507A21474, - 80460E0FED71D68975C52034, - D19D0E0C7FEB5B650ED4AFDF, - 0F855B8881DF396B1BD4592B, - F28941FBBB1C31040CDFEA67, - EC55B4BEC8507B5E5E0D58F3, - 9A43AE2E337CFFE26DF595D6, - 8172DC65D346038F886F8174, - 52968F8D3038D5E776348C1E, - A334C8833A73D69B0060F5F3, - 675E29494313E6B3584E72A5, - 6DAE7A631250A68930AD6487, ); name = widgets; sourceTree = ""; }; - F0FBDF4B05C77637230C2B49 = {isa = PBXGroup; children = ( - 559A3F7EE8B48B393A35FD9A, - 5DE9960F75AF03F94EBA0896, - 0BF4500BB949003D8997640C, - 6ACF6D83F23F1FC16D410F61, - 10C1A45449AFEAAECD62FBD4, - 06DE65F9C3237B91CA3E4626, - 123A6B31D9C1BA8DA606D6FC, - 5C205FD9971CD48899BBF5FD, - 7587EA4C7776CD377785687F, - 6BD5E8EF37EC87C2C359E133, - 02B9FBB01F321F92651F6281, - 6A4CABB2ED2D0CED36AE0730, - 41D0166713AB38C0063348A2, - 14385DE5D8A01FC916A243A5, - 5BD40BA42D700476595054D4, - 4D99940AA662A7F82431ADEA, - 85874B0E0073831E7739EE6A, - 98B0BA1AE40B5C9896E10B5D, - 7554A45516CA0D4D326BF16A, ); name = windows; sourceTree = ""; }; - 7514F41EE4B46F07B2825B98 = {isa = PBXGroup; children = ( - E62446DFC19EDB3E05FC0EBB, - DE6322CA9AF654B88402B5A7, - DAC3E4BED0E3F0EEEDE61C90, - 29F8A5279DF16CA6EDD7248B, - 1A7AF40B4A04B36A7D6BF905, - 398F1886CDD46561B2322507, ); name = menus; sourceTree = ""; }; - C94BF2C5A64050270B00037B = {isa = PBXGroup; children = ( + 770D8F585A691A5BED9E8F50 = {isa = PBXGroup; children = ( CC8A51BAA9DFE6BF2E35F72E, BE4DB001303610874FB9A69C, 5E1AF694CF535FEF2C18118B, @@ -1870,72 +1832,7 @@ 76B45AC5CFE8421B5FF1542D, 1DCE505077A6C5324710A87D, B780A330489E40B96DCBC640, ); name = layout; sourceTree = ""; }; - 60EC048F290DA7025573D189 = {isa = PBXGroup; children = ( - A6E0E0AD85AA368BFF7700A0, - F9B2244F5EFA1FFA722DA562, - F807CBC9ECF854D2887F359F, - B751AAE21DEEAB7B91615223, - 20317E175096480960EAFD9D, - 1AC30D6E05DD7231F63950C8, - F8F60A8C4A04BBF285A9C392, - AF6EDB5EBC864ACCD2DA9DA1, - 6BFC2ACB8A3A9E75007D8EE2, - DC21FC12D0B137714B0D6C17, - BB5F8B6F5F3E6AADB448DCB5, - 2660C199089DAEEC545A87A1, - 737C9ECE713EC9FD83C95BF7, - 1237FC2746459E7FB10CD5A7, - 671EC2D01567B7783C126897, - C21901C295DAC52328F5AD0F, - 97E3D56E1E5016E8069EB3F5, - 6886255CD3AB0E3FC87AE4C2, ); name = buttons; sourceTree = ""; }; - 838DD20C3C53127A71879BDF = {isa = PBXGroup; children = ( - 5D9B19FA05348ED861D60B2B, - 9182AAD1041F6B404F91F6F1, - 9F89171E7E2CBBB1FBD3234C, - 495EC26D96D8C4886E473082, - 054501731F7A59C6FC38062D, - 9E8230460D5C4094B17679B1, - 22F0D648C76539066CB11C30, - 7DAF56C8078AE240CA905124, - 1F1711EBA6670C3F67AC4FE9, - 5B140E4A2581EB1EABAC7AC1, - BB577DFECBF45C9FA42A79A5, - 6FB08AE94E95CEAAC20AFB45, - 404EE755EF8551C1AFBF3E7D, - DB851D18363A7239C962FCC4, ); name = positioning; sourceTree = ""; }; - BEC4C12A2DB7F31E0AE75F12 = {isa = PBXGroup; children = ( - 91D109AC1431F65165EA4BCF, - 0434FC5DD82B500B48F35226, - 7B95F4D9C9E0D0D0F4A5BF70, - DD4F001525BF4622952CA920, - 6FDBE97B5987335D1ACC3DB0, - 1636051E376E809563E1A221, - ECC7D00DDD27E5BBC9B1D79C, - 1ECF230AF6B4AE00B255BAD8, - 39E319F5639C88E17094351F, - 310A2450E4BB1B0EB569E3CA, - 51BA3EA628114EC835077EA6, - 33ABA58B9622A2EA3BF11AF6, - 00DBD480B140A3C56A96A05B, - 6313B2FEEB1A0F214B31BF57, - 3480107E09BD85A65DFD1DC5, ); name = drawables; sourceTree = ""; }; - C5CD8D264B87DBCA400631B9 = {isa = PBXGroup; children = ( - 8EE08328D3A165E0B9041EC3, - BB877598B32E54D42661CFF3, - C8DABAB08C149DED48D7F30C, - F02702BECFB98B36CED9D3F9, - E037994F56F204928A1A1D13, - 26645DB6BE9B468CC71C17DB, - 0655CEC15D94DC7F61DAD918, - 92EC9D7739D7B8886EC93C87, - 5019F7672EF120300ABD94CF, - BE72EBC044887D80F0FFF704, - 349D12CFA076F3039B4508DE, - E77B6509E1413F886CE8D329, - 6AEEB71A2EE45079D97C06DD, - CEDC8043F4EF1052131BFF34, ); name = properties; sourceTree = ""; }; - 1F2B5B0F65099255DFF7D842 = {isa = PBXGroup; children = ( + 097EA9347D2194F9356BE80E = {isa = PBXGroup; children = ( E42A195B994219BE55CC23A8, 0A4DABB2172A1DA1F32B14F7, CF5C324AB10CDB215EE1B6EA, @@ -1944,48 +1841,40 @@ 3BE1721AE5B2CD1CA772B08A, E394CA84B664710B3771ACAC, 32BD5573DAD443D0C3C1CB76, ); name = lookandfeel; sourceTree = ""; }; - E294C557CB0FA7B8207EAB2E = {isa = PBXGroup; children = ( - E6B0D8E7D26CDEE5DDB21B43, - 95FC2D683A0E0F41FAD02E8B, - EBFE19F71751A99CCE015B6A, - DFBC65248D72654DD45F3E68, - 8DE0E425E40E8C90D2EBE82A, - EBF9EC92C3AF514632C86FD1, - F6D61FC781A1532ACF955A56, - F1B4EC755365729CF9850E27, - 4B126CA90C9CEBD9103B601E, - 11A2FBF84F17249615DC8DAF, - F8F8C7A669DFE8266C91EC84, - 4320B724298ABD97C6D72C6F, - 10ADBBF6AE37D363C7CC5E83, - BBEA7A388017FCD86AC00823, - 839E732C6A0D6E541D9C1AD1, - B8B473712F5473815263F6F2, - C4332D36297A0520D1C6EF15, - 471D92ACB8B31557BCA3B255, - D83B3885644D866F68D896A1, - D90748AAB57CC871613C4AA1, - 01947181134AC4100C1E9540, - 294D4C371E51B27996257FF9, ); name = filebrowser; sourceTree = ""; }; - 0F9714EF03A38E8080D0F597 = {isa = PBXGroup; children = ( - 429E2ED654BEB8151CA60C37, - F758A3A014E70D7F75D889D1, - D7E7EA03B41E2DC2F13C0524, - 83FBB1FB818257BCAA788551, - EF2973B7FF13AAFFFA54BC65, - 230053FD586FBDFC91DDBABC, - 3675E748AF7B4196C2DAD7BB, - 25C611EE8D42AFBFEAE3A6EE, - 78E518127DE643A0FB14AF3F, ); name = commands; sourceTree = ""; }; - 0EAD310662D1CC1004B91B06 = {isa = PBXGroup; children = ( + 34906B8DA7BB2BC79888EFFF = {isa = PBXGroup; children = ( + E62446DFC19EDB3E05FC0EBB, + DE6322CA9AF654B88402B5A7, + DAC3E4BED0E3F0EEEDE61C90, + 29F8A5279DF16CA6EDD7248B, + 1A7AF40B4A04B36A7D6BF905, + 398F1886CDD46561B2322507, ); name = menus; sourceTree = ""; }; + A4911B19751AE0FF2D08EE19 = {isa = PBXGroup; children = ( C9DBEF7D9E66E1971FB83543, A3DA63FA68719F73C1881A5D, 7FF9A2223CD949A135A16948, 3ACC0D252DB4FA10E1394B5D, ); name = misc; sourceTree = ""; }; - E507233B0553375AD8EB8B21 = {isa = PBXGroup; children = ( - 64306EC75358EFF4DE60F9BB, - F86E0D4727FD2F22EABE6AF3, ); name = application; sourceTree = ""; }; - A351A48405D200E178F608F2 = {isa = PBXGroup; children = ( + 5B4D18B7C6FA8E4F58235C71 = {isa = PBXGroup; children = ( + 8E7796B188EB36E19A534567, + 8E822CCCBC0F7DB3E9B9F04B, + AA7B874966C8FC9752F9E4D3, + 870FA56E135C7A74B4931AC5, + A3A27C86C166FAC77D70B26D, + 2DC49F6C781DEDA731049D0C, + 981DA305340363E4119DC2F6, + A80DB27BE42B7216E6FE64E8, + 07AB0727D7D9D9DE22CFE455, + 113D54BFCBF4E2FB929AF341, + D89726C55724A5B51F6CDEA8, + 11506A5A3B9249D3BCAAC7D2, + E8876D223D37B2820A5021BA, + 873F25A982432FDF2A9509C1, + 3F1B1BB001E0EF0215638018, + F5BA7AF6CEAD6AEB13F0FBA1, + 81606B069A2F4F764D62494D, + 009CC890C8F30C4253A811EA, + 2E014F018C4AAF85EEB17FA7, + 1EE8D00BC928686927A2FF7D, ); name = mouse; sourceTree = ""; }; + A1CC3C10E125374A5A18961D = {isa = PBXGroup; children = ( 0E9105C4A43935DFA8D996AD, 8A663A1F5392E050AEBF078B, 66CC728AA541D35F256EA0DF, @@ -2002,25 +1891,102 @@ 344CF7942E5497FB9BA6F8AB, 0D2A7858B11DFF41AE0F0D18, 5A979CD34146925D0E963D9B, ); name = native; sourceTree = ""; }; + 31905A186881CFB821418BA3 = {isa = PBXGroup; children = ( + 5D9B19FA05348ED861D60B2B, + 9182AAD1041F6B404F91F6F1, + 9F89171E7E2CBBB1FBD3234C, + 495EC26D96D8C4886E473082, + 054501731F7A59C6FC38062D, + 9E8230460D5C4094B17679B1, + 22F0D648C76539066CB11C30, + 7DAF56C8078AE240CA905124, + 1F1711EBA6670C3F67AC4FE9, + 5B140E4A2581EB1EABAC7AC1, + BB577DFECBF45C9FA42A79A5, + 6FB08AE94E95CEAAC20AFB45, + 404EE755EF8551C1AFBF3E7D, + DB851D18363A7239C962FCC4, ); name = positioning; sourceTree = ""; }; + E37F02C9033DAE611933A491 = {isa = PBXGroup; children = ( + 8EE08328D3A165E0B9041EC3, + BB877598B32E54D42661CFF3, + C8DABAB08C149DED48D7F30C, + F02702BECFB98B36CED9D3F9, + E037994F56F204928A1A1D13, + 26645DB6BE9B468CC71C17DB, + 0655CEC15D94DC7F61DAD918, + 92EC9D7739D7B8886EC93C87, + 5019F7672EF120300ABD94CF, + BE72EBC044887D80F0FFF704, + 349D12CFA076F3039B4508DE, + E77B6509E1413F886CE8D329, + 6AEEB71A2EE45079D97C06DD, + CEDC8043F4EF1052131BFF34, ); name = properties; sourceTree = ""; }; + DA507ABBC42137C348161AA0 = {isa = PBXGroup; children = ( + D879F462E213EF7D2B909B0A, + 492D97142A8A9CAB658AC5C3, + DD10F1099692064E2FBE77C9, + F56D86C6CA26D7CAC01053B7, + 99DAB50C9456E7B4ED16342E, + 5186B3040BBCD6A1F8086C50, + 3D970B80CAEC916AC1F36A27, + 04CA57FC254097FCAF7D4C82, + 9FFDFEF724E548FA67194DA2, + 2A511FB313E5B922397391D5, + 8D76E6F96920A62F49C247AA, + 5E34D7DEE78F8D3FF1A3DA0A, + ABE98983B5BA9E9EF0FCE9D6, + 00517AE00C6FA9BF796D54C9, + AA0B029A74B96E129BE2CC47, + CEC5BCBBC773E9E507A21474, + 80460E0FED71D68975C52034, + D19D0E0C7FEB5B650ED4AFDF, + 0F855B8881DF396B1BD4592B, + F28941FBBB1C31040CDFEA67, + EC55B4BEC8507B5E5E0D58F3, + 9A43AE2E337CFFE26DF595D6, + 8172DC65D346038F886F8174, + 52968F8D3038D5E776348C1E, + A334C8833A73D69B0060F5F3, + 675E29494313E6B3584E72A5, + 6DAE7A631250A68930AD6487, ); name = widgets; sourceTree = ""; }; + 68506EE7FD8EC8FD003BF0DF = {isa = PBXGroup; children = ( + 559A3F7EE8B48B393A35FD9A, + 5DE9960F75AF03F94EBA0896, + 0BF4500BB949003D8997640C, + 6ACF6D83F23F1FC16D410F61, + 10C1A45449AFEAAECD62FBD4, + 06DE65F9C3237B91CA3E4626, + 123A6B31D9C1BA8DA606D6FC, + 5C205FD9971CD48899BBF5FD, + 7587EA4C7776CD377785687F, + 6BD5E8EF37EC87C2C359E133, + 02B9FBB01F321F92651F6281, + 6A4CABB2ED2D0CED36AE0730, + 41D0166713AB38C0063348A2, + 14385DE5D8A01FC916A243A5, + 5BD40BA42D700476595054D4, + 4D99940AA662A7F82431ADEA, + 85874B0E0073831E7739EE6A, + 98B0BA1AE40B5C9896E10B5D, + 7554A45516CA0D4D326BF16A, ); name = windows; sourceTree = ""; }; FBC65F9FE74A8EA11F37CE01 = {isa = PBXGroup; children = ( - 037DABEE210A75BAFBFC835D, - 3C8C01553B95282A71E52FC0, - 318CB7E069A25F6E07189408, - 43A6EB82114F12A49080E2E7, - F0FBDF4B05C77637230C2B49, - 7514F41EE4B46F07B2825B98, - C94BF2C5A64050270B00037B, - 60EC048F290DA7025573D189, - 838DD20C3C53127A71879BDF, - BEC4C12A2DB7F31E0AE75F12, - C5CD8D264B87DBCA400631B9, - 1F2B5B0F65099255DFF7D842, - E294C557CB0FA7B8207EAB2E, - 0F9714EF03A38E8080D0F597, - 0EAD310662D1CC1004B91B06, - E507233B0553375AD8EB8B21, - A351A48405D200E178F608F2, - E0A4E9FE37519AE2C243CE07, + 3E58C5EF114647688FA4046A, + 51389A167FC26A5C386908B1, + 7D988807446C0E35F2CE21B9, + 2EB09530248860E0FE283A10, + A8988C9642D8ADB451972182, + 290CF1CCD2AB69E1FBDECF8C, + 2EC9D4440AEC03B8C3A81041, + 770D8F585A691A5BED9E8F50, + 097EA9347D2194F9356BE80E, + 34906B8DA7BB2BC79888EFFF, + A4911B19751AE0FF2D08EE19, + 5B4D18B7C6FA8E4F58235C71, + A1CC3C10E125374A5A18961D, + 31905A186881CFB821418BA3, + E37F02C9033DAE611933A491, + DA507ABBC42137C348161AA0, + 68506EE7FD8EC8FD003BF0DF, DFA67ED6B9EAD4001C945694, ); name = "juce_gui_basics"; sourceTree = ""; }; 02867D2CFF6AF92318C75ADF = {isa = PBXGroup; children = ( 2967E486C3DDCCE10E378F76, @@ -2082,9 +2048,21 @@ 60846A465EC1438C69614BF9, 3133400B2ADD913653A0C9AD, 6E310FB1007C16CA458BFB85, - FE6F1831CD44A09554D4B2DD, EF055DD10D73DD84E657AB0B, ); name = "juce_gui_extra"; sourceTree = ""; }; - 9BDB090558BF2997715157D8 = {isa = PBXGroup; children = ( + 54D10D48685D7815A80A8EE4 = {isa = PBXGroup; children = ( + E0267B24813297C007C7852D, + D1F269BE5049E33E4581DDB3, + 9517F9EEE18C1038E1497FA1, + B37A4AA60856836984FD7F08, ); name = geometry; sourceTree = ""; }; + 97FDA6584D183104BF66247F = {isa = PBXGroup; children = ( + 51F4A835C41B57C4F9B60A7A, + 76466CA2E12D114BAE79714E, + 0DD046EBFAD0AC88E36223BC, + 239260CC434D4405F151666E, + 2A82E5161B97B6069162FE62, + 2D7DF6B46EEA794F91DF2C7B, + 45CF9FC46ECEB2B97446A51C, ); name = native; sourceTree = ""; }; + 745B9707CFC1D6C40388EDDF = {isa = PBXGroup; children = ( FA8D7F0CB75953BD21B37929, FF7279CB94E4A416AEEF8AA3, 2134DC1B33511F87D54B2D8A, @@ -2102,47 +2080,32 @@ 067F87AAA6D0615FE189F604, 8A222E11CA12CEE75EBFAC1B, B24F5C6EC49FA1CBE3E9F76A, ); name = opengl; sourceTree = ""; }; - CA000B43E598BF0D6AFD821A = {isa = PBXGroup; children = ( - E0267B24813297C007C7852D, - D1F269BE5049E33E4581DDB3, - 9517F9EEE18C1038E1497FA1, - B37A4AA60856836984FD7F08, ); name = geometry; sourceTree = ""; }; - E674248F2AC7D0CA62A8166A = {isa = PBXGroup; children = ( + 90AF21ECDEAE57965C5187BF = {isa = PBXGroup; children = ( 291D6973949549F4201ED6CB, 570C8E7F5E85ACD59810929F, ); name = utils; sourceTree = ""; }; - 2C5632524052CB088E83A5CA = {isa = PBXGroup; children = ( - 51F4A835C41B57C4F9B60A7A, - 76466CA2E12D114BAE79714E, - 0DD046EBFAD0AC88E36223BC, - 239260CC434D4405F151666E, - 2A82E5161B97B6069162FE62, - 2D7DF6B46EEA794F91DF2C7B, - 45CF9FC46ECEB2B97446A51C, ); name = native; sourceTree = ""; }; A5D14DDDD00C10C6EE73905A = {isa = PBXGroup; children = ( - 9BDB090558BF2997715157D8, - CA000B43E598BF0D6AFD821A, - E674248F2AC7D0CA62A8166A, - 2C5632524052CB088E83A5CA, - 7B2E93EB8985C8094F837C08, + 54D10D48685D7815A80A8EE4, + 97FDA6584D183104BF66247F, + 745B9707CFC1D6C40388EDDF, + 90AF21ECDEAE57965C5187BF, C1700341DAE67966E3055BF3, ); name = "juce_opengl"; sourceTree = ""; }; - F7B68CB03FA6D40015D93B91 = {isa = PBXGroup; children = ( - F507AE61AF55B2101383B1E1, - 400052B3427A286681E0EBFA, ); name = playback; sourceTree = ""; }; - DC7CF954F2588973470AC4C5 = {isa = PBXGroup; children = ( + 3DDDF5EA3F185C9C748F5F9E = {isa = PBXGroup; children = ( 0403E9194FBB5396D56C0D17, 7984D7F0AB41B09B58929F22, ); name = capture; sourceTree = ""; }; - 813230EEA94EA8D57F0C35A3 = {isa = PBXGroup; children = ( + 86DF6FF757338BE67FB235B0 = {isa = PBXGroup; children = ( 54442B4E8E55A6DD3F24621E, 818C5F876925C6FAC62ACD3D, 603EC66EEA86BE9F635AEC8F, 7B6C627CBED05E7EFB11BF68, E73B59E375182484EEF84D2F, 52B3A797835ED0B7474BD7C5, ); name = native; sourceTree = ""; }; + 59439B7392F59EED8BA3D88C = {isa = PBXGroup; children = ( + F507AE61AF55B2101383B1E1, + 400052B3427A286681E0EBFA, ); name = playback; sourceTree = ""; }; 12FCF5FE82A605E2C479E504 = {isa = PBXGroup; children = ( - F7B68CB03FA6D40015D93B91, - DC7CF954F2588973470AC4C5, - 813230EEA94EA8D57F0C35A3, - 6AAC3094BC78A183C81CC28C, + 3DDDF5EA3F185C9C748F5F9E, + 86DF6FF757338BE67FB235B0, + 59439B7392F59EED8BA3D88C, AD6549B00D7A187A4D2AEE40, ); name = "juce_video"; sourceTree = ""; }; C86CB082D2D4B80591868D78 = {isa = PBXGroup; children = ( 9F77553445814637D3E8C676, @@ -2161,55 +2124,35 @@ 12FCF5FE82A605E2C479E504, ); name = "Juce Modules"; sourceTree = ""; }; B7B17BDF71D8372116E1756A = {isa = PBXGroup; children = ( 950E2B80BD70E212D87E31D2, - F12E2F9633C0C10172C7EB29, - 680EE9033FAD98035F81563A, - 1037E8A51A3D832955005F27, - E407EB81948286696C44549D, - 62A8511AB481A8E078ADBF89, - 5DCD4BC5BC61EC41393FE43A, - 8E1599C21C3311F159546B59, - D0981B4C01A638233E8A14B0, - 6C2B7D995AEF715D3AE1CAFE, - 77345FFA1F7E85CBCEA19F5C, - 3BD14BCFCBEA34845E70C6D4, - B512D47362D65160CC380F59, - FF1A34EA7C9475D4DE62720E, - F8E73EFE3DB75B34783A0862, - EE3D9D885DC024F73E7BA834, - A0FF2B79C7575B47746D6BF0, - 91938585F6DC07619334DF13, - A964E1303BB880F796AA41D1, - B41DB1D9877BC61AB0558A69, - 24DE5291F2DC05ADA305E480, - B5602051B4C5488057F6DA78, - B15D003DE2F4E963EC111711, - BB9C40C7BE4EC37243B0FF5A, - 2D62D02F2AA382CA14418324, - 56FF5DCB746A2F7485406F63, - 4AF0140AA4611A48B70E8824, - F6D0C31C49847196CB56EF7C, - F9504B50D649AAEC9854241B, - ECDE37F9E82739051FB71056, - DD70F00A670265594A3FB409, - E1A9F79528C9F4D5695F16A2, - FB954DE9B8BEC80A9B7E33DD, - 6E61CA0F4811593A6F0AE1F1, - 819DC25DA6B0ACD4725A8046, - E9FEFC46FF2B51B8C3A520F4, - 2B7C784CF333CA6BEEF5038A, - CF608BF804CB06BCBB51B9C2, - 3AB3CC89F7508F63306AD7C1, - 6701AB4D2F5DAD2EA72ACFE9, - DBF11B9083F40C0C849B9302, - 5DC42627E6F5518217529A9F, - 9548631628595F1576CD7B73, - C3D43F992D8AAA5EF9D23288, - 8676D218DB100E6B4636A82E, - 2C29E6A7967E9244FC3CDE85, - BC143154D01C14EC6438FD2E, ); name = "Juce Library Code"; sourceTree = ""; }; + 2A42EB4E6808C916CD805B55, + 539D8FB917601AE0FEF2EDD0, + 3F62CC0D964ADA2C5FEE8780, + 09EBA9B824955D1E0C3FFD47, + CD8FCD56FD26EAE31AC22952, + 9F805238C9CE8C52469C6355, + A0F05FB7BDBD3AFAA1004003, + 54E8D527C9932DAC3C37036E, + 83AC9494BD2349B30766D871, + 04F18A367847FEC22DC4EC6D, + FCF26B7D47F36E7B33EB92A3, + F18474D1FC76E023231638CA, + 28F52099566ADBE2A84CC126, + 88FD93B39B20FCD1A8F1560D, + 7AC84CB7C43F47FCE3CEC890, + 8356AE854EEB438758BAA97C, + 51DEC805D6C6C42952DA9555, + 0396B888DA44A2F726D4BBF2, + CA1634E25956CDC18C4449E0, + F79776F078375AA287A24AB1, + 2C29E6A7967E9244FC3CDE85, ); name = "Juce Library Code"; sourceTree = ""; }; 1402E3C0F79281C4BD943CA0 = {isa = PBXGroup; children = ( - 3E42BB9BCDFBE6496FFF1363, - E13512F9451169A200CA63BF, ); name = Resources; sourceTree = ""; }; + 909354451447E566493F48C1, + F1A0F0881D3C62C8E705120E, + EDFE3B976573F01C8D3AA486, + 9D1C58BBAA0B7F70D6EB7724, + B2AE3E6AD988E981E7FEBF6C, + E13512F9451169A200CA63BF, + BF909DFBC9B899C6119F556B, ); name = Resources; sourceTree = ""; }; 00DE399BF0EF1D2BB5C99DF6 = {isa = PBXGroup; children = ( 71B73129FAEF3B7CB3FF6993, 9D6BD8DE6FC16E28FE2169F0, @@ -2226,71 +2169,392 @@ 28754784774E7974CF215965, 8B25F581B3FC77FB9FE0079B, ); name = Frameworks; sourceTree = ""; }; 48602625ABE5D301DEFFE36D = {isa = PBXGroup; children = ( - 87149B629BF27D063AFF0BB9, ); name = Products; sourceTree = ""; }; + 169146CE0C9730602B3D31BD, + E5C2175FF96CED1519F2B7D6, + F8D93BA03DB14514E2F9D007, + C43A527A45129CF421296BD0, + 074F1E0FAFBD4B127B869BC2, ); name = Products; sourceTree = ""; }; 807311746F9F870D03BE88D9 = {isa = PBXGroup; children = ( + BF909DFBC9B899C6119F556B, A1FE33C49F2701A6520F72A4, C86CB082D2D4B80591868D78, B7B17BDF71D8372116E1756A, 1402E3C0F79281C4BD943CA0, 00DE399BF0EF1D2BB5C99DF6, 48602625ABE5D301DEFFE36D, ); name = Source; sourceTree = ""; }; - FA7FD6995CDB469A89A9E542 = {isa = XCBuildConfiguration; buildSettings = { + 28E3B1FE50FFC5B2A58897A0 = {isa = XCBuildConfiguration; buildSettings = { }; name = Debug; }; + 987E131B9EAD1C8CE9786F9C = {isa = XCBuildConfiguration; buildSettings = { }; name = Release; }; + 2258034E5AABF301ACB109C1 = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; COPY_PHASE_STRIP = NO; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( "_DEBUG=1", "DEBUG=1", + "JucePlugin_Build_VST=1", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", "JUCER_XCODE_MAC_F6D2F4CF=1", "JUCE_APP_VERSION=1.0.0", "JUCE_APP_VERSION_HEX=0x10000", ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GENERATE_PKGINFO_FILE = YES; - HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "../../../../../modules", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "$(inherited)"); - INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; - LIBRARY_SEARCH_PATHS = ("$(inherited)", "\"$(HOME)/SDKs/AAX/Libs/Debug\""); + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-VST.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; LIBRARY_STYLE = Bundle; MACOSX_DEPLOYMENT_TARGET = 10.10; 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\""; + 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"; PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.GainPlugIn; SDKROOT_ppc = macosx10.5; - WRAPPER_EXTENSION = component; }; name = Debug; }; - A1C396C5187D6F9F4B486EDD = {isa = XCBuildConfiguration; buildSettings = { + WRAPPER_EXTENSION = vst; }; name = Debug; }; + B5B4DDE9429C2F747AEAFEBC = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; DEAD_CODE_STRIPPING = YES; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_OPTIMIZATION_LEVEL = 3; GCC_PREPROCESSOR_DEFINITIONS = ( "_NDEBUG=1", "NDEBUG=1", + "JucePlugin_Build_VST=1", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", "JUCER_XCODE_MAC_F6D2F4CF=1", "JUCE_APP_VERSION=1.0.0", "JUCE_APP_VERSION_HEX=0x10000", ); GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GENERATE_PKGINFO_FILE = YES; - HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "../../../../../modules", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "$(inherited)"); - INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; - LIBRARY_SEARCH_PATHS = ("$(inherited)", "\"$(HOME)/SDKs/AAX/Libs/Release\""); + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-VST.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; LIBRARY_STYLE = Bundle; MACOSX_DEPLOYMENT_TARGET = 10.10; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; - OTHER_LDFLAGS = "-bundle -lAAXLibrary"; + 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"; + PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.GainPlugIn; + SDKROOT_ppc = macosx10.5; + WRAPPER_EXTENSION = vst; }; name = Release; }; + 1F8B7104586EEA017DC9E66D = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + COPY_PHASE_STRIP = NO; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_DEBUG=1", + "DEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=1", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-VST3.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST3/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + LIBRARY_STYLE = Bundle; + 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"; + OTHER_LDFLAGS = "-bundle"; + PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.GainPlugIn; + SDKROOT_ppc = macosx10.5; + WRAPPER_EXTENSION = vst3; }; name = Debug; }; + 8C4CBD97ADA22451A0CBDB2A = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + DEAD_CODE_STRIPPING = YES; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_NDEBUG=1", + "NDEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=1", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-VST3.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST3/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + LIBRARY_STYLE = Bundle; + 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"; + OTHER_LDFLAGS = "-bundle"; + PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.GainPlugIn; + SDKROOT_ppc = macosx10.5; + WRAPPER_EXTENSION = vst3; }; name = Release; }; + 913C8DA77769EF7E429930F2 = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + COPY_PHASE_STRIP = NO; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_DEBUG=1", + "DEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=1", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-AU.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + LIBRARY_STYLE = Bundle; + 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"; + 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.ROLI.GainPlugIn; + SDKROOT_ppc = macosx10.5; + WRAPPER_EXTENSION = component; }; name = Debug; }; + 93405247663082AE0B727930 = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + DEAD_CODE_STRIPPING = YES; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_NDEBUG=1", + "NDEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=1", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-AU.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + LIBRARY_STYLE = Bundle; + 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"; + 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.ROLI.GainPlugIn; SDKROOT_ppc = macosx10.5; WRAPPER_EXTENSION = component; }; name = Release; }; + 71BC79A3E5FEBDB257DE068E = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + COPY_PHASE_STRIP = NO; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_DEBUG=1", + "DEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=1", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-AAX.plist; + INSTALL_PATH = "/Library/Application Support/Avid/Audio/Plug-Ins/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + LIBRARY_SEARCH_PATHS = ("$(inherited)", "\"$(HOME)/SDKs/AAX/Libs/Debug\""); + LIBRARY_STYLE = Bundle; + 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"; + OTHER_LDFLAGS = "-bundle -lAAXLibrary"; + PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.GainPlugIn; + SDKROOT_ppc = macosx10.5; + WRAPPER_EXTENSION = aaxplugin; }; name = Debug; }; + A1AD203AE69C428760D3AD4A = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + DEAD_CODE_STRIPPING = YES; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_NDEBUG=1", + "NDEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=1", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-AAX.plist; + INSTALL_PATH = "/Library/Application Support/Avid/Audio/Plug-Ins/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + LIBRARY_SEARCH_PATHS = ("$(inherited)", "\"$(HOME)/SDKs/AAX/Libs/Release\""); + LIBRARY_STYLE = Bundle; + 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"; + OTHER_LDFLAGS = "-bundle -lAAXLibrary"; + PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.GainPlugIn; + SDKROOT_ppc = macosx10.5; + WRAPPER_EXTENSION = aaxplugin; }; name = Release; }; + 2CB812B0DEE790549B33EA23 = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + COPY_PHASE_STRIP = NO; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_DEBUG=1", + "DEBUG=1", + "JUCE_SHARED_CODE=1", + "JucePlugin_Build_VST=1", + "JucePlugin_Build_VST3=1", + "JucePlugin_Build_AU=1", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=1", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-Shared_Code.plist; + INSTALL_PATH = "@executable_path/../Frameworks"; + LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)"; + 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.GainPlugIn.GainPlugInFramework; + SDKROOT_ppc = macosx10.5; }; name = Debug; }; + 1A69EAB78F178B933E748B51 = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + DEAD_CODE_STRIPPING = YES; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_NDEBUG=1", + "NDEBUG=1", + "JUCE_SHARED_CODE=1", + "JucePlugin_Build_VST=1", + "JucePlugin_Build_VST3=1", + "JucePlugin_Build_AU=1", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=1", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-Shared_Code.plist; + INSTALL_PATH = "@executable_path/../Frameworks"; + LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)"; + 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.GainPlugIn.GainPlugInFramework; + SDKROOT_ppc = macosx10.5; }; name = Release; }; 12107CEF96782BFB9B82B7AC = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; @@ -2323,63 +2587,95 @@ PRODUCT_NAME = "GainPlugIn"; WARNING_CFLAGS = -Wreorder; ZERO_LINK = NO; }; name = Release; }; + 60FCED8B68702AB28A4297C4 = {isa = PBXTargetDependency; target = BBE761975F619DAA1B4D0F57; }; + 0F3A38F7A210718AC51B5B67 = {isa = PBXTargetDependency; target = 8777AC1501FECCF360363C10; }; + 6FBE3D1D1900F691ECD1E9CF = {isa = PBXTargetDependency; target = 95B232D53C8384ECDA8C519B; }; + 18134589BE12E7F4D2D82DFB = {isa = PBXTargetDependency; target = AD71869D70E2F5CD06AF8831; }; + 88ABDE275ED6C6AF05876C8F = {isa = PBXTargetDependency; target = EF7E12AA943CABF4C9ACE9FC; }; 738DD13F786359A977312E92 = {isa = XCConfigurationList; buildConfigurations = ( 12107CEF96782BFB9B82B7AC, 45D810B7791D9C5C8C959A8B, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 1B761059C669A23DBD664316 = {isa = XCConfigurationList; buildConfigurations = ( - FA7FD6995CDB469A89A9E542, - A1C396C5187D6F9F4B486EDD, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - D18C2871444485FE2B53DBC6 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 434F6E14A0DACDAA2BF2212B, ); runOnlyForDeploymentPostprocessing = 0; }; - 490BF49EF0FF433163831CAD = {isa = PBXRezBuildPhase; buildActionMask = 2147483647; files = ( - 25D27D9142CD3A1D6C6FBA79, ); runOnlyForDeploymentPostprocessing = 0; }; - FB01CE4DB90BA7232EFFFC20 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - FADD82E463A2C5169B5F72E9, - C8F813D78CECE2263ADE9A4E, - EAFF53299120D1D0760080E1, - 170B4C7B8369B690CCE7E66C, - 44C69011AB185FC123B25490, - 48E303DE0981A6ABEFF3CC25, - A9AD43C334E9C018F04F870F, - E89C7A096E8309D3111702C0, - 7FB5E63A167E547F673B57F4, - 51C96C4DA04345C323B8467C, - 13C9A83407809E0F21E2D7E4, - 10930E16386F77FF022BF72A, - 94C0533F2AC8A0AEB2825349, - 22F776A761B0E3A307399544, - C775BB0518BA2FD78E9A05FA, - 8A2FFCA9FC78B1D2A1867945, - EB6C5B0EEAC3BA6D3227A8B9, - 2BAEC124EED145FE4671785D, - CB43B8CC154219E9F14C329F, - CEBF30C6F1960E4B7F19C403, - 7D0FC2107446637060CF5A65, - DF2E5069407DCA9810384FA7, - E65D2AA3CFFEA01B616BD8DD, - F0CE7FD2A7790B58C5D33311, - 51527FD62AC8A69301DC247D, - 02912AA09199F9F36D4252B4, - 1AE00AD5AF177934A996D113, - CCF43AEA071BE23E452E2206, - 7F280B60E49DD9385C2535C2, - B4E9B23C8ECAF375D1D46CAF, - 99C8A62423FEBA0EF1428828, - 2CE4C1B9FDBE1B48727E1817, - 26364653AE7E5BA1ECE372B2, - E8E9514C789EA8DD178574E3, - 89F5E34C6F60F57A8FDFB201, - 0CCD34743C9763A66561AFDE, - C73A0CB30C7A98F0FDF89DE9, - EBA29AB9E887E1EC1B1BDB81, - D9FF9428A715F28912EEA511, - C5C686109F976F5FA963224C, - A70FC9D357DC92BAF5FFE5DD, - CDFA28397FCE458B2526191C, - CB0EF751B887686BFEDE0223, - 9325C3FF32C869A2602CA495, - BA044590E85D4A99C15F22F9, ); runOnlyForDeploymentPostprocessing = 0; }; - 2EFD4F47AA47D48431ECE454 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 960E82451D9B9C0C256DE750 = {isa = XCConfigurationList; buildConfigurations = ( + 28E3B1FE50FFC5B2A58897A0, + 987E131B9EAD1C8CE9786F9C, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 67946078D4B1207C2A6BDB4F = {isa = PBXAggregateTarget; buildConfigurationList = 960E82451D9B9C0C256DE750; dependencies = ( + 60FCED8B68702AB28A4297C4, + 0F3A38F7A210718AC51B5B67, + 6FBE3D1D1900F691ECD1E9CF, + 18134589BE12E7F4D2D82DFB, + 88ABDE275ED6C6AF05876C8F, ); name = "GainPlugIn (All)"; productName = GainPlugIn; }; + BFCD4A7D0A1F6DB0A953047C = {isa = XCConfigurationList; buildConfigurations = ( + 2258034E5AABF301ACB109C1, + B5B4DDE9429C2F747AEAFEBC, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + AAA7EBE70E20807CF2102118 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 434F6E14A0DACDAA2BF2212B, + 685F85F881C02A3AAA5E9B47, ); runOnlyForDeploymentPostprocessing = 0; }; + D751EAE19631A157B10D04ED = {isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; files = ( + 221F64B3B662038BA2BF5FC3, ); runOnlyForDeploymentPostprocessing = 0; name = "Embed Frameworks"; dstPath = ""; dstSubfolderSpec = 10; }; + 006D5D33A2A2D68C9354B32D = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + C396DBDD84D1162113B3ABD7, ); runOnlyForDeploymentPostprocessing = 0; }; + 911E05FA69C1B8015EA96560 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + FA171B2FEC24575B5157EB15, + 46AB8BC7FA7E34563E5F005C, + CE59F17AE351D2C1CE9576C3, + 353BAEC02C6386CEE3594B18, + C4CDB09203A906EA7EAA2026, + FBB6DF69B4E4774056CA59CE, + 428763007D4B4F27095FC927, + 9A8029F7D3A5673112C6CD48, + E35621718EE50BEA328E3CD9, + 0F58D649AF5E12F772510165, + 6B4E64CC0DA5E1DC53159376, + 14E482AFF9CC9F18BA3798BD, + 221F64B3B662038BA2BF5FC3, ); runOnlyForDeploymentPostprocessing = 0; }; + BBE761975F619DAA1B4D0F57 = {isa = PBXNativeTarget; buildConfigurationList = BFCD4A7D0A1F6DB0A953047C; buildPhases = ( + AAA7EBE70E20807CF2102118, + D751EAE19631A157B10D04ED, + 006D5D33A2A2D68C9354B32D, + 911E05FA69C1B8015EA96560, ); buildRules = ( ); dependencies = ( + 88ABDE275ED6C6AF05876C8F, ); name = "GainPlugIn (VST)"; productName = GainPlugIn; productReference = 169146CE0C9730602B3D31BD; productInstallPath = "$(HOME)/Library/Audio/Plug-Ins/VST/"; productType = "com.apple.product-type.bundle"; }; + 391979B4660EDD6E009E0AD5 = {isa = XCConfigurationList; buildConfigurations = ( + 1F8B7104586EEA017DC9E66D, + 8C4CBD97ADA22451A0CBDB2A, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + F779790510354BCC375B6866 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 434F6E14A0DACDAA2BF2212B, + 685F85F881C02A3AAA5E9B47, ); runOnlyForDeploymentPostprocessing = 0; }; + D7BCC30C63CAC7A7920D8047 = {isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; files = ( + 221F64B3B662038BA2BF5FC3, ); runOnlyForDeploymentPostprocessing = 0; name = "Embed Frameworks"; dstPath = ""; dstSubfolderSpec = 10; }; + 961B720A39DE7A36993450FB = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 60A23086F8F04399960054A9, ); runOnlyForDeploymentPostprocessing = 0; }; + B97CFDFCFBB3263FBE4CE9DA = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + FA171B2FEC24575B5157EB15, + 46AB8BC7FA7E34563E5F005C, + CE59F17AE351D2C1CE9576C3, + 353BAEC02C6386CEE3594B18, + C4CDB09203A906EA7EAA2026, + FBB6DF69B4E4774056CA59CE, + 428763007D4B4F27095FC927, + 9A8029F7D3A5673112C6CD48, + E35621718EE50BEA328E3CD9, + 0F58D649AF5E12F772510165, + 6B4E64CC0DA5E1DC53159376, + 14E482AFF9CC9F18BA3798BD, + 221F64B3B662038BA2BF5FC3, ); runOnlyForDeploymentPostprocessing = 0; }; + 8777AC1501FECCF360363C10 = {isa = PBXNativeTarget; buildConfigurationList = 391979B4660EDD6E009E0AD5; buildPhases = ( + F779790510354BCC375B6866, + D7BCC30C63CAC7A7920D8047, + 961B720A39DE7A36993450FB, + B97CFDFCFBB3263FBE4CE9DA, ); buildRules = ( ); dependencies = ( + 88ABDE275ED6C6AF05876C8F, ); name = "GainPlugIn (VST3)"; productName = GainPlugIn; productReference = E5C2175FF96CED1519F2B7D6; productInstallPath = "$(HOME)/Library/Audio/Plug-Ins/VST3/"; productType = "com.apple.product-type.bundle"; }; + BC01B854A2B1C169532B3C40 = {isa = XCConfigurationList; buildConfigurations = ( + 913C8DA77769EF7E429930F2, + 93405247663082AE0B727930, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + A8BFD81EACAF4420A2D9C7E7 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 434F6E14A0DACDAA2BF2212B, + 685F85F881C02A3AAA5E9B47, ); runOnlyForDeploymentPostprocessing = 0; }; + F64B4E3D3CB6B1C555806A9C = {isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; files = ( + 221F64B3B662038BA2BF5FC3, ); runOnlyForDeploymentPostprocessing = 0; name = "Embed Frameworks"; dstPath = ""; dstSubfolderSpec = 10; }; + 7CD5DF20930E5FD4B8978F68 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 27BAA78181CB9EA282A6AC64, + 7EFB529B9EA74539375A96E0, ); runOnlyForDeploymentPostprocessing = 0; }; + 0466EDF982628A74C5EF25A0 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( FA171B2FEC24575B5157EB15, 46AB8BC7FA7E34563E5F005C, 9F2D7A648AEF91BE4D602EAF, @@ -2393,15 +2689,81 @@ E35621718EE50BEA328E3CD9, 0F58D649AF5E12F772510165, 6B4E64CC0DA5E1DC53159376, + 14E482AFF9CC9F18BA3798BD, + 221F64B3B662038BA2BF5FC3, ); runOnlyForDeploymentPostprocessing = 0; }; + 95B232D53C8384ECDA8C519B = {isa = PBXNativeTarget; buildConfigurationList = BC01B854A2B1C169532B3C40; buildPhases = ( + A8BFD81EACAF4420A2D9C7E7, + F64B4E3D3CB6B1C555806A9C, + 7CD5DF20930E5FD4B8978F68, + 0466EDF982628A74C5EF25A0, ); buildRules = ( ); dependencies = ( + 88ABDE275ED6C6AF05876C8F, ); name = "GainPlugIn (AU)"; productName = GainPlugIn; productReference = F8D93BA03DB14514E2F9D007; productInstallPath = "$(HOME)/Library/Audio/Plug-Ins/Components/"; productType = "com.apple.product-type.bundle"; }; + 4BDDEC55EDB7DC56497AC19A = {isa = XCConfigurationList; buildConfigurations = ( + 71BC79A3E5FEBDB257DE068E, + A1AD203AE69C428760D3AD4A, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 87D9874ECD12A1F70BE4B01C = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 434F6E14A0DACDAA2BF2212B, + 685F85F881C02A3AAA5E9B47, ); runOnlyForDeploymentPostprocessing = 0; }; + 711822CA5418D9A6BEBB7723 = {isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; files = ( + 221F64B3B662038BA2BF5FC3, ); runOnlyForDeploymentPostprocessing = 0; name = "Embed Frameworks"; dstPath = ""; dstSubfolderSpec = 10; }; + 5ED60E79CB2B11C45637CA8A = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 920289CA43FF41424E0F0AE9, ); runOnlyForDeploymentPostprocessing = 0; }; + B4837EEA7868B856A37F43BD = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + FA171B2FEC24575B5157EB15, + 46AB8BC7FA7E34563E5F005C, + CE59F17AE351D2C1CE9576C3, + 353BAEC02C6386CEE3594B18, + C4CDB09203A906EA7EAA2026, + FBB6DF69B4E4774056CA59CE, + 428763007D4B4F27095FC927, + 9A8029F7D3A5673112C6CD48, + E35621718EE50BEA328E3CD9, + 0F58D649AF5E12F772510165, + 6B4E64CC0DA5E1DC53159376, + 14E482AFF9CC9F18BA3798BD, + 221F64B3B662038BA2BF5FC3, ); runOnlyForDeploymentPostprocessing = 0; }; + AD71869D70E2F5CD06AF8831 = {isa = PBXNativeTarget; buildConfigurationList = 4BDDEC55EDB7DC56497AC19A; buildPhases = ( + 87D9874ECD12A1F70BE4B01C, + 711822CA5418D9A6BEBB7723, + 5ED60E79CB2B11C45637CA8A, + B4837EEA7868B856A37F43BD, ); buildRules = ( ); dependencies = ( + 88ABDE275ED6C6AF05876C8F, ); name = "GainPlugIn (AAX)"; productName = GainPlugIn; productReference = C43A527A45129CF421296BD0; productInstallPath = "/Library/Application Support/Avid/Audio/Plug-Ins/"; productType = "com.apple.product-type.bundle"; }; + 2D1D1BFA76D5FF752D06187F = {isa = XCConfigurationList; buildConfigurations = ( + 2CB812B0DEE790549B33EA23, + 1A69EAB78F178B933E748B51, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + E57E58AA3A8632B697CF894F = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + FADD82E463A2C5169B5F72E9, + BE1CCB2BA25C1B9CC93BD180, + 6A823DA60FD178B0AE4F7795, + 6859170B30F156B4628F7476, + 339CCDD31A03CAA2BD693844, + 1CF2129651F64CABCC924BFC, + 6D61EF1110D4BD0E2C2D1C19, + 0354B7E58FE0EDB7CBD56959, + E0C3BF6170B493ED4F3EEC40, + 475E3C39EF95458D3AEAE44B, + B18EACFF98A2A34BDB1B23D9, + 0103ED6FEA3EB9B100349B2C, + 75BEF11B74EA4C101687CADE, + C9DD20D66EE17A910A48C7F5, + 4BE2D2BC6F1DC08BB64BAC78, + DBB093FB9913BE37F564E2AE, ); runOnlyForDeploymentPostprocessing = 0; }; + 9C508A8FAB3E51327104655F = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + FA171B2FEC24575B5157EB15, + 46AB8BC7FA7E34563E5F005C, + CE59F17AE351D2C1CE9576C3, + 353BAEC02C6386CEE3594B18, + C4CDB09203A906EA7EAA2026, + FBB6DF69B4E4774056CA59CE, + 428763007D4B4F27095FC927, + 9A8029F7D3A5673112C6CD48, + E35621718EE50BEA328E3CD9, + 0F58D649AF5E12F772510165, + 6B4E64CC0DA5E1DC53159376, 14E482AFF9CC9F18BA3798BD, ); runOnlyForDeploymentPostprocessing = 0; }; - 63D16F1491322825D912BC4B = {isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; name = "Post-build script"; shellPath = /bin/sh; shellScript = "\n# This script takes the build product and copies it to the AU, VST, VST3, RTAS and AAX folders, depending on \n# which plugin types you've built\n\noriginal=$CONFIGURATION_BUILD_DIR/$FULL_PRODUCT_NAME\n\n# this looks inside the binary to detect which platforms are needed.. \ncopyAU=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'AudioUnit' | wc -l`\ncopyVST=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'VSTPlugin' | wc -l`\ncopyVST3=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'GetPluginFactory' | wc -l`\ncopyRTAS=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'CProcess' | wc -l`\ncopyAAX=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'ACFStartup' | wc -l`\n\nif [ $copyAU -gt 0 ]; then\n echo \"Copying to AudioUnit folder...\"\n AUDir=~/Library/Audio/Plug-Ins/Components\n mkdir -p \"$AUDir\"\n AU=$AUDir/$PRODUCT_NAME.component\n if [ -d \"$AU\" ]; then \n rm -r \"$AU\"\n fi\n\n cp -r \"$original\" \"$AU\"\n sed -i \"\" -e 's/TDMwPTul/BNDLPTul/g' \"$AU/Contents/PkgInfo\"\n sed -i \"\" -e 's/TDMw/BNDL/g' \"$AU/Contents/$INFOPLIST_FILE\"\nfi\n\nif [ $copyVST -gt 0 ]; then\n echo \"Copying to VST folder...\"\n VSTDir=~/Library/Audio/Plug-Ins/VST\n mkdir -p \"$VSTDir\"\n VST=$VSTDir/$PRODUCT_NAME.vst\n if [ -d \"$VST\" ]; then \n rm -r \"$VST\"\n fi\n\n cp -r \"$original\" \"$VST\"\n sed -i \"\" -e 's/TDMwPTul/BNDLPTul/g' \"$VST/Contents/PkgInfo\"\n sed -i \"\" -e 's/TDMw/BNDL/g' \"$VST/Contents/$INFOPLIST_FILE\"\nfi\n\nif [ $copyVST3 -gt 0 ]; then\n echo \"Copying to VST3 folder...\"\n VST3Dir=~/Library/Audio/Plug-Ins/VST3\n mkdir -p \"$VST3Dir\"\n VST3=$VST3Dir/$PRODUCT_NAME.vst3\n if [ -d \"$VST3\" ]; then \n rm -r \"$VST3\"\n fi\n\n cp -r \"$original\" \"$VST3\"\n sed -i \"\" -e 's/TDMwPTul/BNDLPTul/g' \"$VST3/Contents/PkgInfo\"\n sed -i \"\" -e 's/TDMw/BNDL/g' \"$VST3/Contents/$INFOPLIST_FILE\"\nfi\n\nif [ $copyRTAS -gt 0 ]; then\n echo \"Copying to RTAS folder...\"\n RTASDir=/Library/Application\\ Support/Digidesign/Plug-Ins\n if [ -d \"$RTASDir\" ]; then\n RTAS=$RTASDir/$PRODUCT_NAME.dpm\n if [ -d \"$RTAS\" ]; then\n rm -r \"$RTAS\"\n fi\n\n cp -r \"$original\" \"$RTAS\"\n fi\nfi\n\nif [ $copyAAX -gt 0 ]; then\n echo \"Copying to AAX folder...\"\n\n if [ -d \"/Applications/ProTools_3PDev/Plug-Ins\" ]; then\n AAX1=\"/Applications/ProTools_3PDev/Plug-Ins/$PRODUCT_NAME.aaxplugin\"\n\n if [ -d \"$AAX1\" ]; then\n rm -r \"$AAX1\"\n fi\n\n cp -R -H \"$original\" \"$AAX1\"\n fi\n\n if [ -d \"/Library/Application Support/Avid/Audio/Plug-Ins\" ]; then\n AAX2=\"/Library/Application Support/Avid/Audio/Plug-Ins/$PRODUCT_NAME.aaxplugin\"\n\n if [ -d \"$AAX2\" ]; then\n rm -r \"$AAX2\"\n fi\n\n cp -R -H \"$original\" \"$AAX2\"\n fi\nfi\n"; }; - 84B5420F871BB6A43158F625 = {isa = PBXNativeTarget; buildConfigurationList = 1B761059C669A23DBD664316; buildPhases = ( - D18C2871444485FE2B53DBC6, - 490BF49EF0FF433163831CAD, - FB01CE4DB90BA7232EFFFC20, - 2EFD4F47AA47D48431ECE454, - 63D16F1491322825D912BC4B, ); buildRules = ( ); dependencies = ( ); name = GainPlugIn; productName = GainPlugIn; productReference = 87149B629BF27D063AFF0BB9; productInstallPath = "$(HOME)/Library/Audio/Plug-Ins/Components/"; productType = "com.apple.product-type.bundle"; }; - 14B1FDE882BA4A9678780A26 = {isa = PBXProject; buildConfigurationList = 738DD13F786359A977312E92; attributes = { LastUpgradeCheck = 0440; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 807311746F9F870D03BE88D9; projectDirPath = ""; projectRoot = ""; targets = ( 84B5420F871BB6A43158F625 ); }; + EF7E12AA943CABF4C9ACE9FC = {isa = PBXNativeTarget; buildConfigurationList = 2D1D1BFA76D5FF752D06187F; buildPhases = ( + E57E58AA3A8632B697CF894F, + 9C508A8FAB3E51327104655F, ); buildRules = ( ); dependencies = ( ); name = "GainPlugIn (Shared Code)"; productName = GainPlugIn; productReference = 074F1E0FAFBD4B127B869BC2; productInstallPath = "@executable_path/../Frameworks"; productType = "com.apple.product-type.framework"; }; + 14B1FDE882BA4A9678780A26 = {isa = PBXProject; buildConfigurationList = 738DD13F786359A977312E92; attributes = { LastUpgradeCheck = 0440; TargetAttributes = { 67946078D4B1207C2A6BDB4F = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };BBE761975F619DAA1B4D0F57 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };8777AC1501FECCF360363C10 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };95B232D53C8384ECDA8C519B = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };AD71869D70E2F5CD06AF8831 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };EF7E12AA943CABF4C9ACE9FC = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 807311746F9F870D03BE88D9; projectDirPath = ""; projectRoot = ""; targets = (67946078D4B1207C2A6BDB4F, BBE761975F619DAA1B4D0F57, 8777AC1501FECCF360363C10, 95B232D53C8384ECDA8C519B, AD71869D70E2F5CD06AF8831, EF7E12AA943CABF4C9ACE9FC); }; }; rootObject = 14B1FDE882BA4A9678780A26; } diff --git a/examples/PlugInSamples/GainPlugIn/Builds/MacOSX/Info-AAX.plist b/examples/PlugInSamples/GainPlugIn/Builds/MacOSX/Info-AAX.plist new file mode 100644 index 0000000000..c161b584d7 --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/Builds/MacOSX/Info-AAX.plist @@ -0,0 +1,29 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + GainPlugIn + CFBundleDisplayName + GainPlugIn + CFBundlePackageType + TDMw + CFBundleSignature + PTul + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + + diff --git a/examples/PlugInSamples/GainPlugIn/Builds/MacOSX/Info.plist b/examples/PlugInSamples/GainPlugIn/Builds/MacOSX/Info-AU.plist similarity index 88% rename from examples/PlugInSamples/GainPlugIn/Builds/MacOSX/Info.plist rename to examples/PlugInSamples/GainPlugIn/Builds/MacOSX/Info-AU.plist index 107b93b782..c24f125562 100644 --- a/examples/PlugInSamples/GainPlugIn/Builds/MacOSX/Info.plist +++ b/examples/PlugInSamples/GainPlugIn/Builds/MacOSX/Info-AU.plist @@ -11,10 +11,12 @@ $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName GainPlugIn + CFBundleDisplayName + GainPlugIn CFBundlePackageType - TDMw + BNDL CFBundleSignature - PTul + ???? CFBundleShortVersionString 1.0.0 CFBundleVersion diff --git a/examples/PlugInSamples/GainPlugIn/Builds/MacOSX/Info-Shared_Code.plist b/examples/PlugInSamples/GainPlugIn/Builds/MacOSX/Info-Shared_Code.plist new file mode 100644 index 0000000000..07cc33dedf --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/Builds/MacOSX/Info-Shared_Code.plist @@ -0,0 +1,29 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + GainPlugIn + CFBundleDisplayName + GainPlugIn + CFBundlePackageType + FMWK + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + + diff --git a/examples/PlugInSamples/GainPlugIn/Builds/MacOSX/Info-VST.plist b/examples/PlugInSamples/GainPlugIn/Builds/MacOSX/Info-VST.plist new file mode 100644 index 0000000000..66596eeb3f --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/Builds/MacOSX/Info-VST.plist @@ -0,0 +1,29 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + GainPlugIn + CFBundleDisplayName + GainPlugIn + CFBundlePackageType + BNDL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + + diff --git a/examples/PlugInSamples/GainPlugIn/Builds/MacOSX/Info-VST3.plist b/examples/PlugInSamples/GainPlugIn/Builds/MacOSX/Info-VST3.plist new file mode 100644 index 0000000000..66596eeb3f --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/Builds/MacOSX/Info-VST3.plist @@ -0,0 +1,29 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + GainPlugIn + CFBundleDisplayName + GainPlugIn + CFBundlePackageType + BNDL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + + diff --git a/examples/PlugInSamples/GainPlugIn/Builds/VisualStudio2015/GainPlugIn.vcxproj b/examples/PlugInSamples/GainPlugIn/Builds/VisualStudio2015/GainPlugIn.vcxproj index 962e5a510b..7f6022ce65 100644 --- a/examples/PlugInSamples/GainPlugIn/Builds/VisualStudio2015/GainPlugIn.vcxproj +++ b/examples/PlugInSamples/GainPlugIn/Builds/VisualStudio2015/GainPlugIn.vcxproj @@ -55,7 +55,7 @@ Disabled EditAndContinue - c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;..\..\..\..\..\modules;c:\SDKs\AAX;c:\SDKs\AAX\Interfaces;c:\SDKs\AAX\Interfaces\ACF;%(AdditionalIncludeDirectories) + c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;c:\SDKs\AAX;c:\SDKs\AAX\Interfaces;c:\SDKs\AAX\Interfaces\ACF;..\..\..\..\..\modules;%(AdditionalIncludeDirectories) _CRT_SECURE_NO_WARNINGS;JucePlugin_AAXLibs_path="c:\\SDKs\\AAX\\Libs";WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions) MultiThreadedDebugDLL true @@ -99,7 +99,7 @@ Full - c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;..\..\..\..\..\modules;c:\SDKs\AAX;c:\SDKs\AAX\Interfaces;c:\SDKs\AAX\Interfaces\ACF;%(AdditionalIncludeDirectories) + c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;c:\SDKs\AAX;c:\SDKs\AAX\Interfaces;c:\SDKs\AAX\Interfaces\ACF;..\..\..\..\..\modules;%(AdditionalIncludeDirectories) _CRT_SECURE_NO_WARNINGS;JucePlugin_AAXLibs_path="c:\\SDKs\\AAX\\Libs";WIN32;_WINDOWS;NDEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions) MultiThreadedDLL true @@ -223,6 +223,9 @@ true + + true + true @@ -238,15 +241,6 @@ true - - true - - - true - - - true - true @@ -295,25 +289,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -343,9 +322,75 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -364,21 +409,6 @@ true - - true - - - true - - - true - - - true - - - true - true @@ -394,45 +424,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -448,33 +439,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -499,40 +463,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -541,31 +475,16 @@ true - + true - + true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -631,6 +550,117 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -649,6 +679,15 @@ true + + true + + + true + + + true + true @@ -658,33 +697,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -703,6 +715,18 @@ true + + true + + + true + + + true + + + true + true @@ -712,6 +736,12 @@ true + + true + + + true + true @@ -733,43 +763,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -790,10 +787,40 @@ true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -820,6 +847,51 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -832,6 +904,153 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -853,19 +1072,70 @@ true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -934,246 +1204,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -1282,38 +1312,23 @@ true - - - - - - - - - - - - - - - - StdCall - - - StdCall - - - StdCall - - - StdCall - - - StdCall - - - - + + + + + + + + + + + + + + + + + @@ -1352,6 +1367,8 @@ + + @@ -1359,20 +1376,10 @@ + - - - - - - - - - - - @@ -1382,9 +1389,19 @@ + + + + + + + + + + @@ -1394,6 +1411,15 @@ + + + + + + + + + @@ -1404,15 +1430,6 @@ - - - - - - - - - @@ -1423,21 +1440,35 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1458,22 +1489,49 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1493,53 +1551,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - @@ -1548,14 +1565,22 @@ + + + + - - - - + + + + + + + + @@ -1565,19 +1590,11 @@ - - - - - - - - - - + + @@ -1588,10 +1605,15 @@ - - - - + + + + + + + + + @@ -1602,26 +1624,91 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1635,14 +1722,21 @@ - - - - - - - - + + + + + + + + + + + + + + + @@ -1667,83 +1761,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1769,6 +1786,17 @@ + + + + + + + + + + + @@ -1778,41 +1806,17 @@ - - - - - - - - - - - + - - - - - - - - - - - - - - - + diff --git a/examples/PlugInSamples/GainPlugIn/Builds/VisualStudio2015/GainPlugIn.vcxproj.filters b/examples/PlugInSamples/GainPlugIn/Builds/VisualStudio2015/GainPlugIn.vcxproj.filters index d0db51760a..b8226180ce 100644 --- a/examples/PlugInSamples/GainPlugIn/Builds/VisualStudio2015/GainPlugIn.vcxproj.filters +++ b/examples/PlugInSamples/GainPlugIn/Builds/VisualStudio2015/GainPlugIn.vcxproj.filters @@ -35,63 +35,69 @@ {CACD7B50-4DB3-76AF-A6E8-90DF94F8F594} + + {45C2CE26-EC4B-BA52-58F3-297C408E1483} + {9D270B31-2425-8FDB-84A4-6A2288FF5B2F} {0F766DD4-A277-CB86-5647-42498C8B41E1} - - {D64942B4-6984-3623-3347-45D472AE1C61} - - - {45C2CE26-EC4B-BA52-58F3-297C408E1483} - {01603E05-423B-5FC3-1BEE-E15ED33B5688} + + {D64942B4-6984-3623-3347-45D472AE1C61} + {65CB28F8-0422-A8F3-9A17-959E12A1F8E2} - - {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} - {0CD9E281-DDD0-91EC-6F77-EA9D9D5E0E1A} + + {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} + {40C5CA7C-AEBB-05B1-11CE-AE41D87B5CCB} {EE36D8B9-408C-AEC9-66E7-BEA9E407F27F} + + {F0C10808-8C36-BCD0-D25F-523774B0ADA2} + {1ED92A41-D496-5397-A4B0-9FA52DBA9215} {50F044B3-0D39-198B-CA5F-BE5E6C078D04} - - {AF5F4789-D607-BFD8-D853-09473C27449C} - - - {F0C10808-8C36-BCD0-D25F-523774B0ADA2} + + {25DD3A16-4BC7-35BD-F32E-0310D1887564} {EA1913F9-0E99-FEC5-0192-0C197611B8F8} + + {AF5F4789-D607-BFD8-D853-09473C27449C} + + + {22689F25-8C5C-52CF-09E4-4308D1521B9B} + {0B0E7392-324B-088C-FBEB-5FE999D61782} - - {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} - {20254EFE-6CBD-31A7-2119-92B1E0E0E311} {70796D73-6D30-8A1B-4732-7C021E47C05A} + + {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} + {EB8DD942-E2CB-869F-D381-E02A65BA790B} @@ -101,8 +107,17 @@ {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} - - {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + + {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + + {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + + {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} {476C69CE-0B67-6B85-E888-45D91E37A29E} @@ -110,17 +125,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} - - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -128,29 +137,26 @@ {91929C6F-7902-B87D-5260-2F6CBF8ACD93} - - {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} - {4634FFAE-9586-A970-364C-4FDDA635F99F} - - {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} - - {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - {F03654BC-34D8-F975-BEA3-750CC2783D23} + + {C9F6D785-BF78-5AA1-B479-111C65397864} {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} - - {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} - - {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + {F03654BC-34D8-F975-BEA3-750CC2783D23} {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} @@ -164,33 +170,33 @@ {928D8FCC-5E00-174B-6538-93E8D75AB396} - - {1988E68A-A964-64CA-0E0C-26FF9BC5176C} + + {358AEA11-3F96-36AE-7B32-71373B5C5396} {3DF036EA-3B80-553B-2494-3AAC835CAE75} - - {358AEA11-3F96-36AE-7B32-71373B5C5396} + + {1988E68A-A964-64CA-0E0C-26FF9BC5176C} {F2A38F45-6E55-E147-2E52-64A89FDD9D59} - - {6172822C-01A5-E824-12DA-FA43FA934D35} - - - {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} - {B098BC87-3298-7E6B-12DC-D26C09CDCAED} {6322B88F-984A-C3CD-6263-38D7AA49B6EC} + + {6172822C-01A5-E824-12DA-FA43FA934D35} + {73C1E759-AD90-59A3-942E-2D10FAA29107} + + {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} + {EE1AE8C3-0908-8F53-A4E5-D930C7C97C26} @@ -200,81 +206,81 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} - - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - - {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {E37D25CD-4350-4614-055B-7ABC55E67895} {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {C1A1A236-AB01-173E-96C3-0706BFF93B1E} + + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + + {413F481F-075C-2958-115C-D8268682FCB7} {FFC6E1CC-C772-75E6-5087-FB5D4E016799} + + {1182303F-ECA3-166D-AC0C-92C5E762CB93} + {8E43579F-C185-266D-DD67-F8B95BD80F2F} + + {61712B09-5783-ADFA-2001-5A0C3D7764EB} + + + {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + + {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} + {2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D} - - {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + {5A0AA36E-3957-E413-14C6-31CBE15271DF} + + + {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} {A92719C7-70BE-57C4-CE9E-A9BC9DFEB757} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} + + + {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} + + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} + + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + + {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} + + + {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} + {75F1F352-251A-75E0-D941-8431588F5C1E} {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} - - {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} - - - {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} - - - {5A0AA36E-3957-E413-14C6-31CBE15271DF} - - - {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} - - - {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} - - - {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} - - - {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} - - - {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - - {61712B09-5783-ADFA-2001-5A0C3D7764EB} - - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} - {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -296,30 +302,30 @@ {639E16C5-DA8B-ADBA-6E24-7B596378EAB2} - - {2D8D0E19-E676-83EB-38D9-F73500DD6B79} - {B3141847-8F13-F67D-45B2-E3ECF6E09088} - - {9E586194-C056-101C-5311-F2AF5191AC80} - {151B49D8-6102-F802-1C07-D59931BC0574} + + {2D8D0E19-E676-83EB-38D9-F73500DD6B79} + + + {9E586194-C056-101C-5311-F2AF5191AC80} + {72A923E2-C729-DB92-D7BF-A9D4AFAE5896} - - {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} - {7F11E7D2-54C0-2A36-5F15-BEC0A5374A08} {EE985DEA-CD83-8132-7219-542BB1DAD560} + + {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} + {8B4D1BAA-6DB4-CAEC-A0FA-271F354D5C61} @@ -415,6 +421,9 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -430,15 +439,6 @@ Juce Modules\juce_audio_devices\midi_io - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\audio_cd - Juce Modules\juce_audio_devices\native @@ -493,26 +493,11 @@ Juce Modules\juce_audio_devices\native - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_formats\codecs @@ -541,38 +526,74 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_plugin_client\AU - - - Juce Modules\juce_audio_plugin_client\RTAS - - - Juce Modules\juce_audio_plugin_client\VST + + Juce Modules\juce_audio_plugin_client\AAX Juce Modules\juce_audio_plugin_client\AAX - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client\AU - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client\AU - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client\RTAS - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client\RTAS - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client\RTAS - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client\RTAS + + + Juce Modules\juce_audio_plugin_client\RTAS + + + Juce Modules\juce_audio_plugin_client\RTAS + + + Juce Modules\juce_audio_plugin_client\Standalone + + + Juce Modules\juce_audio_plugin_client\utility + + + Juce Modules\juce_audio_plugin_client\VST + + + Juce Modules\juce_audio_plugin_client\VST + + + Juce Modules\juce_audio_plugin_client\VST3 Juce Modules\juce_audio_processors\format @@ -592,6 +613,24 @@ Juce Modules\juce_audio_processors\format_types + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + Juce Modules\juce_audio_processors\scanning @@ -607,45 +646,6 @@ Juce Modules\juce_audio_processors\utilities - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\memory - Juce Modules\juce_core\containers @@ -661,33 +661,6 @@ Juce Modules\juce_core\containers - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - Juce Modules\juce_core\files @@ -712,41 +685,11 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -754,32 +697,17 @@ Juce Modules\juce_core\logging - - Juce Modules\juce_core\system + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc @@ -859,6 +787,117 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + Juce Modules\juce_cryptography\encryption @@ -877,6 +916,15 @@ Juce Modules\juce_cryptography\hashing + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -886,33 +934,6 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - Juce Modules\juce_events\broadcasters @@ -931,6 +952,18 @@ Juce Modules\juce_events\interprocess + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + Juce Modules\juce_events\native @@ -946,6 +979,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_graphics\colour @@ -967,44 +1006,11 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\effects Juce Modules\juce_graphics\fonts @@ -1024,11 +1030,41 @@ Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -1060,6 +1096,51 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -1072,6 +1153,153 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -1093,20 +1321,92 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -1174,267 +1474,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_extra\code_editor @@ -1561,70 +1600,55 @@ Juce Modules\juce_video\native - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - + Juce Library Code @@ -1737,6 +1761,12 @@ Juce Modules\juce_audio_basics + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -1758,48 +1788,18 @@ Juce Modules\juce_audio_devices\midi_io + + Juce Modules\juce_audio_devices\native + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\native - Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - Juce Modules\juce_audio_formats\codecs @@ -1827,15 +1827,45 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_plugin_client\AU + Juce Modules\juce_audio_plugin_client\RTAS + + Juce Modules\juce_audio_plugin_client\Standalone + Juce Modules\juce_audio_plugin_client\utility @@ -1863,6 +1893,33 @@ Juce Modules\juce_audio_plugin_client + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + Juce Modules\juce_audio_processors\processors @@ -1893,33 +1950,6 @@ Juce Modules\juce_audio_processors\processors - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - Juce Modules\juce_audio_processors\scanning @@ -1950,50 +1980,92 @@ Juce Modules\juce_audio_processors - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -2055,53 +2127,134 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text Juce Modules\juce_core\threads @@ -2160,92 +2313,8 @@ Juce Modules\juce_core\time - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -2253,12 +2322,6 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - Juce Modules\juce_core\zip @@ -2268,39 +2331,6 @@ Juce Modules\juce_core\zip - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - Juce Modules\juce_core @@ -2325,6 +2355,18 @@ Juce Modules\juce_cryptography + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -2334,21 +2376,33 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - Juce Modules\juce_data_structures + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + Juce Modules\juce_events\messages @@ -2376,36 +2430,6 @@ Juce Modules\juce_events\messages - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - Juce Modules\juce_events\native @@ -2415,6 +2439,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_events @@ -2445,17 +2475,32 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -2487,38 +2532,17 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -2529,9 +2553,60 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + Juce Modules\juce_graphics + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -2547,6 +2622,171 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -2586,29 +2826,50 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -2682,237 +2943,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_basics @@ -2988,6 +3018,39 @@ Juce Modules\juce_gui_extra + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + Juce Modules\juce_opengl\opengl @@ -3015,54 +3078,21 @@ Juce Modules\juce_opengl\opengl - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - Juce Modules\juce_opengl\utils - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - Juce Modules\juce_opengl + + Juce Modules\juce_video\capture + Juce Modules\juce_video\playback Juce Modules\juce_video\playback - - Juce Modules\juce_video\capture - Juce Modules\juce_video @@ -3074,50 +3104,11 @@ - - Juce Modules\juce_audio_basics - - - Juce Modules\juce_audio_devices - - - Juce Modules\juce_audio_formats - - - Juce Modules\juce_audio_plugin_client - - - Juce Modules\juce_audio_processors - - - Juce Modules\juce_core - - - Juce Modules\juce_cryptography - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_gui_extra - - - Juce Modules\juce_opengl - - - Juce Modules\juce_video + + Juce Modules\juce_audio_plugin_client\RTAS - Juce Library Code + Juce Modules\juce_audio_plugin_client\RTAS diff --git a/examples/PlugInSamples/GainPlugIn/GainPlugIn.jucer b/examples/PlugInSamples/GainPlugIn/GainPlugIn.jucer index 8aeb183a5c..04b4abd6ac 100644 --- a/examples/PlugInSamples/GainPlugIn/GainPlugIn.jucer +++ b/examples/PlugInSamples/GainPlugIn/GainPlugIn.jucer @@ -8,8 +8,8 @@ pluginIsSynth="0" pluginWantsMidiIn="0" pluginProducesMidiOut="0" pluginSilenceInIsSilenceOut="1" pluginEditorRequiresKeys="0" pluginAUExportPrefix="GainPlugInAU" pluginRTASCategory="" aaxIdentifier="com.ROLI.GainPlugIn" - pluginAAXCategory="AAX_ePlugInCategory_Dynamics" jucerVersion="4.1.0" - pluginIsMidiEffectPlugin="0"> + pluginAAXCategory="AAX_ePlugInCategory_Dynamics" jucerVersion="4.2.0" + pluginIsMidiEffectPlugin="0" buildAUv3="0"> - + diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/AppConfig.h b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/AppConfig.h index 8a26f1826b..fb02c044c4 100644 --- a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/AppConfig.h +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/AppConfig.h @@ -4,8 +4,8 @@ project - if you alter its contents, your changes may be overwritten! There's a section below where you can add your own custom code safely, and the - Introjucer will preserve the contents of that block, but the best way to change - any of these definitions is by using the Introjucer's project settings. + Projucer will preserve the contents of that block, but the best way to change + any of these definitions is by using the Projucer's project settings. Any commented-out settings will assume their default values. @@ -17,7 +17,7 @@ //============================================================================== // [BEGIN_USER_CODE_SECTION] -// (You can add your own code in this section, and the Introjucer will not overwrite it) +// (You can add your own code in this section, and the Projucer will not overwrite it) // [END_USER_CODE_SECTION] @@ -39,9 +39,15 @@ //============================================================================== #ifndef JUCE_STANDALONE_APPLICATION - #define JUCE_STANDALONE_APPLICATION 0 + #ifdef JucePlugin_Build_Standalone + #define JUCE_STANDALONE_APPLICATION JucePlugin_Build_Standalone + #else + #define JUCE_STANDALONE_APPLICATION 0 + #endif #endif +#define JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED 1 + //============================================================================== // juce_audio_devices flags: @@ -219,12 +225,18 @@ #ifndef JucePlugin_Build_AU #define JucePlugin_Build_AU 1 #endif +#ifndef JucePlugin_Build_AUv3 + #define JucePlugin_Build_AUv3 0 +#endif #ifndef JucePlugin_Build_RTAS #define JucePlugin_Build_RTAS 0 #endif #ifndef JucePlugin_Build_AAX #define JucePlugin_Build_AAX 1 #endif +#ifndef JucePlugin_Build_STANDALONE + #define JucePlugin_Build_STANDALONE 0 +#endif #ifndef JucePlugin_Name #define JucePlugin_Name "GainPlugIn" #endif diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/JuceHeader.h b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/JuceHeader.h index 92a80a5de1..18f258d502 100644 --- a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/JuceHeader.h +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/JuceHeader.h @@ -14,20 +14,22 @@ #define __APPHEADERFILE_JXBTGS__ #include "AppConfig.h" -#include "modules/juce_audio_basics/juce_audio_basics.h" -#include "modules/juce_audio_devices/juce_audio_devices.h" -#include "modules/juce_audio_formats/juce_audio_formats.h" -#include "modules/juce_audio_plugin_client/juce_audio_plugin_client.h" -#include "modules/juce_audio_processors/juce_audio_processors.h" -#include "modules/juce_core/juce_core.h" -#include "modules/juce_cryptography/juce_cryptography.h" -#include "modules/juce_data_structures/juce_data_structures.h" -#include "modules/juce_events/juce_events.h" -#include "modules/juce_graphics/juce_graphics.h" -#include "modules/juce_gui_basics/juce_gui_basics.h" -#include "modules/juce_gui_extra/juce_gui_extra.h" -#include "modules/juce_opengl/juce_opengl.h" -#include "modules/juce_video/juce_video.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + #if ! DONT_SET_USING_JUCE_NAMESPACE // If your code uses a lot of JUCE classes, then this will obviously save you diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/ReadMe.txt b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/ReadMe.txt index f6c3564e99..091a5aa6eb 100644 --- a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/ReadMe.txt +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/ReadMe.txt @@ -2,11 +2,11 @@ Important Note!! ================ -The purpose of this folder is to contain files that are auto-generated by the Introjucer, +The purpose of this folder is to contain files that are auto-generated by the Projucer, and ALL files in this folder will be mercilessly DELETED and completely re-written whenever -the Introjucer saves your project. +the Projucer saves your project. Therefore, it's a bad idea to make any manual changes to the files in here, or to put any of your own files in here if you don't want to lose them. (Of course you may choose to add the folder's contents to your version-control system so that you can re-merge your own -modifications after the Introjucer has saved its changes). +modifications after the Projucer has saved its changes). diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_basics.cpp b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_basics.cpp new file mode 100644 index 0000000000..418694873c --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_basics.mm b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_basics.mm new file mode 100644 index 0000000000..e0e6c577cc --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_devices.cpp b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_devices.cpp new file mode 100644 index 0000000000..fb5c2219d7 --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_devices.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_devices.mm b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_devices.mm new file mode 100644 index 0000000000..e58b67ea49 --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_devices.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_formats.cpp b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_formats.cpp new file mode 100644 index 0000000000..a3c61170eb --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_formats.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_formats.mm b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_formats.mm new file mode 100644 index 0000000000..f325b8fb67 --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_formats.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_AAX.cpp b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_AAX.cpp new file mode 100644 index 0000000000..c599b8759f --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_AAX.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_AAX.mm b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_AAX.mm new file mode 100644 index 0000000000..d4b8c31117 --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_AAX.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_AU_1.mm b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_AU_1.mm new file mode 100644 index 0000000000..a4fdf7f366 --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_AU_1.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_AU_2.mm b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_AU_2.mm new file mode 100644 index 0000000000..175b30047f --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_AU_2.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_AUv3.mm b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_AUv3.mm new file mode 100644 index 0000000000..0ac2b2f599 --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_AUv3.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_RTAS_1.cpp b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_RTAS_1.cpp new file mode 100644 index 0000000000..29d48f3faa --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_RTAS_1.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_RTAS_2.cpp b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_RTAS_2.cpp new file mode 100644 index 0000000000..2da08c6dc3 --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_RTAS_2.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_RTAS_3.cpp b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_RTAS_3.cpp new file mode 100644 index 0000000000..72a8426cbe --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_RTAS_3.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_RTAS_4.cpp b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_RTAS_4.cpp new file mode 100644 index 0000000000..6064f99d28 --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_RTAS_4.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.cpp b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.cpp new file mode 100644 index 0000000000..5c5509abde --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.mm b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.mm new file mode 100644 index 0000000000..56af9aebab --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_Standalone.cpp b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_Standalone.cpp new file mode 100644 index 0000000000..d3b6529a80 --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_Standalone.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_VST2.cpp b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_VST2.cpp new file mode 100644 index 0000000000..c35394b418 --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_VST2.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_VST3.cpp b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_VST3.cpp new file mode 100644 index 0000000000..8e2e5cde2e --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_VST3.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_VST_utils.mm b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_VST_utils.mm new file mode 100644 index 0000000000..ee2f414e66 --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_VST_utils.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_utils.cpp b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_utils.cpp new file mode 100644 index 0000000000..183f61b238 --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_plugin_client_utils.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_processors.cpp b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_processors.cpp new file mode 100644 index 0000000000..bfe172edd0 --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_processors.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_processors.mm b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_processors.mm new file mode 100644 index 0000000000..b80ae9017f --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_audio_processors.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_core.cpp b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_core.cpp new file mode 100644 index 0000000000..d0ce1636f0 --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_core.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_core.mm b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_core.mm new file mode 100644 index 0000000000..72b10bf817 --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_core.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_cryptography.cpp b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_cryptography.cpp new file mode 100644 index 0000000000..10b3401dbe --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_cryptography.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_cryptography.mm b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_cryptography.mm new file mode 100644 index 0000000000..9311ea0ffe --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_cryptography.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_data_structures.cpp b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_data_structures.cpp new file mode 100644 index 0000000000..9315aa1686 --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_data_structures.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_data_structures.mm b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_data_structures.mm new file mode 100644 index 0000000000..695ec43925 --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_data_structures.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_events.cpp b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_events.cpp new file mode 100644 index 0000000000..1bba110a97 --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_events.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_events.mm b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_events.mm new file mode 100644 index 0000000000..4cc34fc401 --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_events.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_graphics.cpp b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_graphics.cpp new file mode 100644 index 0000000000..319c76de0e --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_graphics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_graphics.mm b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_graphics.mm new file mode 100644 index 0000000000..b28e6dd056 --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_graphics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_gui_basics.cpp b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_gui_basics.cpp new file mode 100644 index 0000000000..216c76bb05 --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_gui_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_gui_basics.mm b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_gui_basics.mm new file mode 100644 index 0000000000..6a9726fa5f --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_gui_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_gui_extra.cpp b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_gui_extra.cpp new file mode 100644 index 0000000000..7226e19833 --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_gui_extra.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_gui_extra.mm b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_gui_extra.mm new file mode 100644 index 0000000000..c9b6c3bfc6 --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_gui_extra.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_opengl.cpp b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_opengl.cpp new file mode 100644 index 0000000000..d9895bce92 --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_opengl.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_opengl.mm b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_opengl.mm new file mode 100644 index 0000000000..6c2c32d095 --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_opengl.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_video.cpp b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_video.cpp new file mode 100644 index 0000000000..bdf22ee131 --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_video.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_video.mm b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_video.mm new file mode 100644 index 0000000000..3da705bccd --- /dev/null +++ b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/juce_video.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h deleted file mode 100644 index 39e1aa1405..0000000000 --- a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_audio_basics/juce_audio_basics.h" diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h deleted file mode 100644 index 9069e65391..0000000000 --- a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_audio_devices/juce_audio_devices.h" diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h deleted file mode 100644 index 4270ffa168..0000000000 --- a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_audio_formats/juce_audio_formats.h" diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_audio_plugin_client/juce_audio_plugin_client.h b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_audio_plugin_client/juce_audio_plugin_client.h deleted file mode 100644 index 57abba643f..0000000000 --- a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_audio_plugin_client/juce_audio_plugin_client.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client.h" diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h deleted file mode 100644 index 48c0bf08c8..0000000000 --- a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_audio_processors/juce_audio_processors.h" diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_core/juce_core.h b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_core/juce_core.h deleted file mode 100644 index 3c400000e0..0000000000 --- a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_core/juce_core.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_core/juce_core.h" diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h deleted file mode 100644 index b3df81338e..0000000000 --- a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_cryptography/juce_cryptography.h" diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h deleted file mode 100644 index e815ff2c51..0000000000 --- a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_data_structures/juce_data_structures.h" diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_events/juce_events.h b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_events/juce_events.h deleted file mode 100644 index 88f8bafd21..0000000000 --- a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_events/juce_events.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_events/juce_events.h" diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_graphics/juce_graphics.h b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_graphics/juce_graphics.h deleted file mode 100644 index 0c5c690211..0000000000 --- a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_graphics/juce_graphics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_graphics/juce_graphics.h" diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h deleted file mode 100644 index 7fa455d687..0000000000 --- a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_gui_basics/juce_gui_basics.h" diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h deleted file mode 100644 index 11866a121d..0000000000 --- a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_gui_extra/juce_gui_extra.h" diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_opengl/juce_opengl.h b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_opengl/juce_opengl.h deleted file mode 100644 index f156f5c69c..0000000000 --- a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_opengl/juce_opengl.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_opengl/juce_opengl.h" diff --git a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_video/juce_video.h b/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_video/juce_video.h deleted file mode 100644 index 6b5e743372..0000000000 --- a/examples/PlugInSamples/GainPlugIn/JuceLibraryCode/modules/juce_video/juce_video.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_video/juce_video.h" diff --git a/examples/PlugInSamples/GainPlugIn/Source/GainProcessor.cpp b/examples/PlugInSamples/GainPlugIn/Source/GainProcessor.cpp index c70a9babc4..51d9c3af12 100644 --- a/examples/PlugInSamples/GainPlugIn/Source/GainProcessor.cpp +++ b/examples/PlugInSamples/GainPlugIn/Source/GainProcessor.cpp @@ -36,12 +36,19 @@ public: GainProcessor() { addParameter (gain = new AudioParameterFloat ("gain", "Gain", 0.0f, 1.0f, 0.5f)); + + // Some VST-2 DAWs want the maximum amount of channels to be enabled by default + if (wrapperType == wrapperType_VST) + { + busArrangement.inputBuses. getReference (0).channels = AudioChannelSet::discreteChannels (kVST2MaxChannels); + busArrangement.outputBuses.getReference (0).channels = AudioChannelSet::discreteChannels (kVST2MaxChannels); + } } ~GainProcessor() {} //============================================================================== - void prepareToPlay (double sampleRate, int samplesPerBlock) override {} + void prepareToPlay (double, int) override {} void releaseResources() override {} void processBlock (AudioSampleBuffer& buffer, MidiBuffer&) override @@ -74,7 +81,7 @@ public: void setStateInformation (const void* data, int sizeInBytes) override { - gain->setValueNotifyingHost (MemoryInputStream (data, sizeInBytes, false).readFloat()); + gain->setValueNotifyingHost (MemoryInputStream (data, static_cast (sizeInBytes), false).readFloat()); } //============================================================================== @@ -84,7 +91,12 @@ public: const int numChannels = preferred.size(); // do not allow disabling channels - if (numChannels == 0) return false; + if (numChannels == 0) + return false; + + // limit the amount of channels for VST-2 + if (wrapperType == wrapperType_VST && numChannels > kVST2MaxChannels) + return false; // always have the same channel layout on both input and output on the main bus if (! AudioProcessor::setPreferredBusArrangement (! isInputBus, busIndex, preferred)) @@ -97,6 +109,8 @@ private: //============================================================================== AudioParameterFloat* gain; + enum { kVST2MaxChannels = 16 }; + //============================================================================== JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (GainProcessor) }; diff --git a/examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/Info-AAX.plist b/examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/Info-AAX.plist new file mode 100644 index 0000000000..e8e12278c1 --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/Info-AAX.plist @@ -0,0 +1,29 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + MultiOutSynth + CFBundleDisplayName + MultiOutSynth + CFBundlePackageType + TDMw + CFBundleSignature + PTul + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + ROLI Ltd. + NSHighResolutionCapable + + + diff --git a/examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/Info.plist b/examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/Info-AU.plist similarity index 88% rename from examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/Info.plist rename to examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/Info-AU.plist index e0c5ec1206..de5f84d378 100644 --- a/examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/Info.plist +++ b/examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/Info-AU.plist @@ -11,10 +11,12 @@ $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName MultiOutSynth + CFBundleDisplayName + MultiOutSynth CFBundlePackageType - TDMw + BNDL CFBundleSignature - PTul + ???? CFBundleShortVersionString 1.0.0 CFBundleVersion diff --git a/examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/Info-Shared_Code.plist b/examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/Info-Shared_Code.plist new file mode 100644 index 0000000000..0a092a8888 --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/Info-Shared_Code.plist @@ -0,0 +1,29 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + MultiOutSynth + CFBundleDisplayName + MultiOutSynth + CFBundlePackageType + FMWK + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + ROLI Ltd. + NSHighResolutionCapable + + + diff --git a/examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/Info-VST.plist b/examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/Info-VST.plist new file mode 100644 index 0000000000..f7dc1aec09 --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/Info-VST.plist @@ -0,0 +1,29 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + MultiOutSynth + CFBundleDisplayName + MultiOutSynth + CFBundlePackageType + BNDL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + ROLI Ltd. + NSHighResolutionCapable + + + diff --git a/examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/Info-VST3.plist b/examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/Info-VST3.plist new file mode 100644 index 0000000000..f7dc1aec09 --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/Info-VST3.plist @@ -0,0 +1,29 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + MultiOutSynth + CFBundleDisplayName + MultiOutSynth + CFBundlePackageType + BNDL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + ROLI Ltd. + NSHighResolutionCapable + + + diff --git a/examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/MultiOutSynth.entitlements b/examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/MultiOutSynth.entitlements new file mode 100644 index 0000000000..22194a6d2d --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/MultiOutSynth.entitlements @@ -0,0 +1 @@ + com.apple.security.app-sandbox \ No newline at end of file diff --git a/examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/MultiOutSynth.xcodeproj/project.pbxproj b/examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/MultiOutSynth.xcodeproj/project.pbxproj index ebf9bc4a5c..24e3399875 100644 --- a/examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/MultiOutSynth.xcodeproj/project.pbxproj +++ b/examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/MultiOutSynth.xcodeproj/project.pbxproj @@ -6,6 +6,11 @@ objectVersion = 46; objects = { + D7745819D08B91CBD0FB4225 = {isa = PBXBuildFile; fileRef = 623B11E55A0D25A3511AB902; }; + 68B2D9B79938E8D49B6656E4 = {isa = PBXBuildFile; fileRef = DA5881053EBA06F96F1D1CF3; }; + 18EC2DE25140C1B3F73E869B = {isa = PBXBuildFile; fileRef = F06A0C9E80A5DD8CB3AFDD0E; }; + A547D2CC31F23F03ECD2CBD3 = {isa = PBXBuildFile; fileRef = 4E98D6E65CE3E073DB1F9113; }; + B858B71D3E92739E1BA3D4A0 = {isa = PBXBuildFile; fileRef = 03B7AAA7C11BC7F21B857177; }; 4C5BD07CD6009F527FA6A300 = {isa = PBXBuildFile; fileRef = 918ECC9726F9792AEA2BF389; }; DB4D2ED38B12372CBA084588 = {isa = PBXBuildFile; fileRef = 759F7DE2DC579FE827D3048E; }; 1F6FFD1131767D8AB101550A = {isa = PBXBuildFile; fileRef = 2E0C4FC468B849B9262CE17F; }; @@ -21,60 +26,36 @@ EF983C366CDBC57B6FEE75D3 = {isa = PBXBuildFile; fileRef = 15B8BCB48229C73748FB9E9C; }; FC43C69A538FBE74E63D8D2D = {isa = PBXBuildFile; fileRef = 0E52162DFFFCCD06B941AE62; }; 7293C6A173EDB952C43C4E1E = {isa = PBXBuildFile; fileRef = 8F6829961A0F50B8265BD9CB; }; + 0D85DE716EC383C1E7CA404B = {isa = PBXBuildFile; fileRef = 47C8050DE3ABBEC6BEC74B2F; }; DBEB6D440551FCEA8C7EC910 = {isa = PBXBuildFile; fileRef = 614BDB6E04A50D791DF8A237; }; - 4C593C5E2BBEBE6602BC2D7E = {isa = PBXBuildFile; fileRef = AA6B7C4CCA49273A0A082DD0; settings = {COMPILER_FLAGS = "-w"; }; }; - 336FDC6AAF0C12FEC56CEF4E = {isa = PBXBuildFile; fileRef = F257878331127C40332FC6D9; settings = {COMPILER_FLAGS = "-w"; }; }; - A37F2E168D76C0BC4E16D124 = {isa = PBXBuildFile; fileRef = DD97A7CBBE42561E6480E3ED; settings = {COMPILER_FLAGS = "-w"; }; }; - 7C16161AF11DEE468EB7AAE8 = {isa = PBXBuildFile; fileRef = F195D8472CD52C0320B76657; settings = {COMPILER_FLAGS = "-w"; }; }; - CCA093D7E863A3C452F6F210 = {isa = PBXBuildFile; fileRef = 366FDB46A322191451FF8BB7; settings = {COMPILER_FLAGS = "-w"; }; }; - 3062FAED7009E04AE64B02F0 = {isa = PBXBuildFile; fileRef = DEDF197765F5312D4BDDC0D3; settings = {COMPILER_FLAGS = "-w"; }; }; - 2CDF98168933A73CABCEEB2D = {isa = PBXBuildFile; fileRef = 9695A1608637F4DE16EE7E36; settings = {COMPILER_FLAGS = "-w"; }; }; - 44EF65C8B9E062092E97832E = {isa = PBXBuildFile; fileRef = 4026F2A924A7C41A4F15F0E4; settings = {COMPILER_FLAGS = "-w"; }; }; - 4BE5C7C5095BB8B911EDCAEF = {isa = PBXBuildFile; fileRef = 6394509436568AE6CE106394; settings = {COMPILER_FLAGS = "-w"; }; }; - 0D72A8EBD37D135541C22DC0 = {isa = PBXBuildFile; fileRef = 13BE9CACCBFF4F0B2BB1EA9A; settings = {COMPILER_FLAGS = "-w"; }; }; - 7D9F6CC6CA22A04A838ABC31 = {isa = PBXBuildFile; fileRef = 017CCA9557BD06B5BDD9E3AC; settings = {COMPILER_FLAGS = "-w"; }; }; F3EA62332EC4B7A82F672E51 = {isa = PBXBuildFile; fileRef = 0D3AB1D2BB096CE5F3EAAE0F; }; - 8107B4445B2E8A005789622D = {isa = PBXBuildFile; fileRef = CF2A59FABE1AEC5251A7C9A6; settings = {COMPILER_FLAGS = "-w"; }; }; - C4199B55FBF8175C1BBAB549 = {isa = PBXBuildFile; fileRef = 3D80F6C819C52F8601982BB4; settings = {COMPILER_FLAGS = "-w"; }; }; - 3E254DED27A6B6B1DAA19A7E = {isa = PBXBuildFile; fileRef = E25210222D5361520DF538D7; settings = {COMPILER_FLAGS = "-w"; }; }; - 48465E10358CFABFC70D37C2 = {isa = PBXBuildFile; fileRef = 438CCFB32FD55A6D4D079D4F; settings = {COMPILER_FLAGS = "-w"; }; }; - 853D86690BE26EE49202435B = {isa = PBXBuildFile; fileRef = 61A9011406372924AD3ABD36; settings = {COMPILER_FLAGS = "-w"; }; }; - 5687F17B994C4ECD71B59B93 = {isa = PBXBuildFile; fileRef = 68015E3C47D0D8486DC7A937; settings = {COMPILER_FLAGS = "-w"; }; }; - 9C932B1B987ED6E77C5BCF6C = {isa = PBXBuildFile; fileRef = 9137FCD5EEE0BDE537FBA6AE; settings = {COMPILER_FLAGS = "-w"; }; }; - 878ABFA0B967C7C7EA58D8BC = {isa = PBXBuildFile; fileRef = 069622CB01111075080B6F60; }; - F70888B9F24D68C163C8CD59 = {isa = PBXBuildFile; fileRef = 336D3D894D0B634AE55AE891; }; - B57659DE3DD7C65F0107B73C = {isa = PBXBuildFile; fileRef = 674EB5DE8F89ACACE45D7F33; }; - 7971BA84DB8065210435D3E4 = {isa = PBXBuildFile; fileRef = 836EAC1C5D126C6C8907E8C7; }; - D3AD32EA957E77DCF549221D = {isa = PBXBuildFile; fileRef = BD76537612F10BE2E2D69CAD; }; - B56FAB7F69B4F15A2A73B338 = {isa = PBXBuildFile; fileRef = 5242B63C20CC3AACFE2604E7; }; - 9B183653236DBC85D2909FA9 = {isa = PBXBuildFile; fileRef = 0D4AA39D67CF9EB2B8FC06C9; }; - 4AF300B9A3F156AE365D5022 = {isa = PBXBuildFile; fileRef = F142879E77C37813DA19ED63; }; - 3CD8CC236B1C5C712EE7B1B0 = {isa = PBXBuildFile; fileRef = 789EF38A1F2A6ED1F0B9275D; }; - 9F61652C84849FA84115815A = {isa = PBXBuildFile; fileRef = 7FB910D43631077DB32A2110; }; - 32344CFEB4DBAB32C4E89459 = {isa = PBXBuildFile; fileRef = 37050A358042A06CF9CB046A; }; - 8C0C0B3878BABC8AEF7A5C5E = {isa = PBXBuildFile; fileRef = 4BFC336E5E422B4F7AC270F3; }; - BDECD7BC0368FD27F90BD0E8 = {isa = PBXBuildFile; fileRef = B16C314C068BA840D4C85E3F; }; - 4809A536A6DCBBA6C51BECDA = {isa = PBXBuildFile; fileRef = 4BFC4BAE9302DCBFB1C464B7; }; - F19B10C03828091A49893D29 = {isa = PBXBuildFile; fileRef = EC96CF90B9DFF7882C05B9BE; }; - 25D77A01FDA68B7386FBE2BF = {isa = PBXBuildFile; fileRef = B003CE3A9A96265B7CDD9E5A; }; - 2FAA8DC2BD1AB91F280EA403 = {isa = PBXBuildFile; fileRef = EE10601535426EBE973755EE; }; - C1D81AAD490E24FB5222FF7E = {isa = PBXBuildFile; fileRef = 86FD2BEB554C25724A2AF813; settings = {COMPILER_FLAGS = "-w"; }; }; - 0CA1E2AE357CA0C6536F39B5 = {isa = PBXBuildFile; fileRef = E8F14A4246A337084B54E9C1; settings = {COMPILER_FLAGS = "-w"; }; }; - 91F2564E0E77FC9BFCF9279E = {isa = PBXBuildFile; fileRef = 35B2E682E7F5A2ADC2513066; settings = {COMPILER_FLAGS = "-w"; }; }; - D15C0D6C18785D7B656CF9E3 = {isa = PBXBuildFile; fileRef = 6E9CF164968692ECBF14BFA4; }; - B5F17AF8760FD91E5B1C9178 = {isa = PBXBuildFile; fileRef = 3DC291F8A448B57C4E7B85C9; settings = {COMPILER_FLAGS = "-w"; }; }; - 8A1A75B22EEEDB75565374DF = {isa = PBXBuildFile; fileRef = F0E7FB678622A999A3AF4FED; }; - 7BB8237F0C47CDFB0BF0C5A1 = {isa = PBXBuildFile; fileRef = 21F7313455725884DEC213E7; }; - 8064899195DB863A4371C5E8 = {isa = PBXBuildFile; fileRef = F7D1FD08E57CD55F824DB44D; }; - 1CB10731775874282EC846CB = {isa = PBXBuildFile; fileRef = A9BFA5468698DC8F32062A9B; }; - B56EF0B85C9410A0B5E679AD = {isa = PBXBuildFile; fileRef = CCF97D006BD017722C74B6A7; settings = {COMPILER_FLAGS = "-w"; }; }; + CBF6D1C360065E76B0C371BD = {isa = PBXBuildFile; fileRef = CBDE271C4C5387CE39BD348F; }; + 6849CB54E7F162EDDFB344C9 = {isa = PBXBuildFile; fileRef = 6FCB8DD99D8DB1C154E30620; }; + 397C4D19B169CC6BA10CDB20 = {isa = PBXBuildFile; fileRef = 0195751393A0F4E776E94CE5; }; + F85D68AA01C1180EE14E32B2 = {isa = PBXBuildFile; fileRef = DA15C477B5B69E17C6442032; }; + A52519AD234D3F6BC18A647D = {isa = PBXBuildFile; fileRef = BF1F2E7B013EA985A6EC8AE4; }; + FB2400E593546DDBAA460738 = {isa = PBXBuildFile; fileRef = 5B612AFAF7F9CE8BBC876ADB; }; + 0C216C57ACB3BD7E53CCAED2 = {isa = PBXBuildFile; fileRef = 4A6AC707A211C4AFC744D6F3; }; + A0AA7D85482D4BC600DF298C = {isa = PBXBuildFile; fileRef = 9A60678019A806986B990EF6; }; + E131F66DF397C2C865D2BDB9 = {isa = PBXBuildFile; fileRef = CA3B897A065AD461112CFB91; }; + 8C76E37FF5C940A385BEB140 = {isa = PBXBuildFile; fileRef = 7347E6F3FE64C924881D94FA; }; + C8229B4AEC6EB05218183A1B = {isa = PBXBuildFile; fileRef = 6785312B696985E1682C2DD4; }; + 01D0DCAAD01E6C6055BCD4C8 = {isa = PBXBuildFile; fileRef = E87773680B3B09CAC94710D0; }; + FB9157DCC01D59CA41DE4B05 = {isa = PBXBuildFile; fileRef = E6178B7C49CB5C96405E0929; }; + 94C7EA896BD57C2AFAF64946 = {isa = PBXBuildFile; fileRef = 815CBEA75F0BEF8BA8EB2586; }; + 70A13684288939F58A5E4AA8 = {isa = PBXBuildFile; fileRef = F4FD9E9D7C08DABDBE24AC0C; }; + B13A02CE186361F413794BF0 = {isa = PBXBuildFile; fileRef = A4AB3C63E2B2CD0FAF865F4C; }; + CB5D6D4C25AA93B2208F298D = {isa = PBXBuildFile; fileRef = 9191498AD661685C4E50D690; }; + D4A51FB7C92D9CC94A65F932 = {isa = PBXBuildFile; fileRef = 96B487DCFF7726E30F91E153; }; + 2FC78AC5F475D4C034DFD2BD = {isa = PBXBuildFile; fileRef = 4C4F5DA28D5739A0FD38227F; }; + 052356C35CC69AEC67B12929 = {isa = PBXBuildFile; fileRef = 42061FCA41B3085984D6493D; }; 00031D035694EFEA460EF4B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiFile.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiFile.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 0195751393A0F4E776E94CE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../JuceLibraryCode/juce_audio_formats.mm"; 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"; }; 0289EF17A9CF704ED287401D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; 02BE4D478499FA3B15E06637 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -118,7 +99,6 @@ 0C5C8A7EEB62489A2976E691 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; }; 0CA563CCAA2DE34E0627441A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; }; 0D3AB1D2BB096CE5F3EAAE0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = BinaryData.cpp; path = ../../JuceLibraryCode/BinaryData.cpp; sourceTree = "SOURCE_ROOT"; }; - 0D4AA39D67CF9EB2B8FC06C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../../../../modules/juce_audio_formats/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; 0D905CC1783EABB6680C1031 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; 0DC017A282117A49F8DF3D31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; }; 0E52162DFFFCCD06B941AE62 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; @@ -135,8 +115,8 @@ 12532B4A3337CC57DD67EE4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessage.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp"; sourceTree = "SOURCE_ROOT"; }; 132F30B7C4CCE8B215684B1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; 139ED12F11F8E3F932E964B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WavAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; - 13BE9CACCBFF4F0B2BB1EA9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUOutputElement.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUOutputElement.cpp"; sourceTree = "SOURCE_ROOT"; }; 13D8A2A46472D0D3753E9ED0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; }; + 13FEE7D00EF250370BB1D7C1 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-VST.plist"; path = "Info-VST.plist"; sourceTree = "SOURCE_ROOT"; }; 14266CBA3B5611B8E1355FA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 1431656FCD2EF3C61CFE0607 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterChoice.h"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h"; sourceTree = "SOURCE_ROOT"; }; 14792D778EFCE47293FE346B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; }; @@ -147,7 +127,6 @@ 1545BA1CE18331E6FBADA9AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; }; 154CF1E83B9ABDB63926F728 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; }; 15561BFA41E70D0873A4528E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; }; - 15740639033CB3EE551662B7 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_events/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 15A09E42570AED513A1AD45D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; }; 15B8BCB48229C73748FB9E9C = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; 161F437161F652CD3D05E7DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -233,7 +212,6 @@ 2B5C08A7429EC39539990619 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; }; 2BB466A16DB3D0072FF5CAC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_QuickTimeMovieComponent.mm"; path = "../../../../../modules/juce_video/native/juce_mac_QuickTimeMovieComponent.mm"; sourceTree = "SOURCE_ROOT"; }; 2BC2C95249F61193FAA46A13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SHA256.cpp"; path = "../../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp"; sourceTree = "SOURCE_ROOT"; }; - 2C056289A8C42BD901A4FEA3 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_audio_formats/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 2C122BFD1C85AD66AFA8ADD7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Draggable3DOrientation.h"; path = "../../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h"; sourceTree = "SOURCE_ROOT"; }; 2CA49E8DB449CDE8F92A928D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; }; 2CC0DDEFE8DADE574DA9897D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; @@ -279,9 +257,7 @@ 36315A0F7AE037C76B411D88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Primes.cpp"; path = "../../../../../modules/juce_cryptography/encryption/juce_Primes.cpp"; sourceTree = "SOURCE_ROOT"; }; 363F20DFA3B2EDE3315A0788 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; }; 364549623B58437B20E77836 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - 366FDB46A322191451FF8BB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUCarbonViewDispatch.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewDispatch.cpp"; sourceTree = "SOURCE_ROOT"; }; 36B5C6B3069E8603220A9E7E = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; - 37050A358042A06CF9CB046A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; 371A918F0ECBB74380E23CCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; 3736186FEED66B1046D4C720 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; }; 3806A74E0E461E2AB4F12AF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; }; @@ -295,6 +271,7 @@ 3A66E0B358CA31F8F5C576AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; }; 3A8CB335BC2FF058EA9F6B6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; 3A964F32B299338C0475B94F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_processors.h"; path = "../../../../../modules/juce_audio_processors/juce_audio_processors.h"; sourceTree = "SOURCE_ROOT"; }; + 3B0847349353DE99EB99252B = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-AU.plist"; path = "Info-AU.plist"; sourceTree = "SOURCE_ROOT"; }; 3B14066CC1A7CE3F697E6D91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReverbAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 3B27DEF02388F7A878AC5AF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioTransportSource.cpp"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 3B32D9648A69F7B51B34339C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; @@ -307,12 +284,10 @@ 3D0F053458E5144F826E5A8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 3D22672A2B5EEB1483BBF982 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; }; 3D7884FF010879B6D870AE37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleComponent.cpp"; path = "../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 3D80F6C819C52F8601982BB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAAUParameter.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAUParameter.cpp"; sourceTree = "SOURCE_ROOT"; }; 3DAABA5A0244B2F500354F6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_QuickTimeAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 3DC291F8A448B57C4E7B85C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RTAS_Wrapper.cpp"; path = "../../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_Wrapper.cpp"; sourceTree = "SOURCE_ROOT"; }; 3DCFA803E439574499CE9B25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; 3E29BC933E4E94A8DD283EFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; }; - 3E373F5F7CDC69601AF29BEF = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 3E661E784109A348BCABC54F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectShowComponent.cpp"; path = "../../../../../modules/juce_video/native/juce_win32_DirectShowComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 3F2F67CDD0CE06807A6EE36E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VSTPluginFormat.cpp"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 3F5565D206BDC4619A10F43B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyMappingEditorComponent.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -320,7 +295,6 @@ 3FB2666B2D9E8F3F486F5540 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; 3FEC0FF0FCD8B695FB7B8FA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Whirlpool.cpp"; path = "../../../../../modules/juce_cryptography/hashing/juce_Whirlpool.cpp"; sourceTree = "SOURCE_ROOT"; }; 40135E997ECE3E61FED101FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4026F2A924A7C41A4F15F0E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUMIDIBase.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUMIDIBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 40919C27A202CF72509CFD28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; }; 40B3213EA83299658209242D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; 4110B30D80C9AA175FDFCEAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -331,15 +305,15 @@ 41B136BDEECCE141E09B4D9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; }; 41C7BF04309105EC3DECEEC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 41D277DB3A04C99DAC3F6970 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 42061FCA41B3085984D6493D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../JuceLibraryCode/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; 4287FC6B2DA51D6C65604731 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; 42AB4498A5046FD11E88514D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; }; 43055654E1C8EBD6B9A9D4E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; }; 438BC4DECA4BE95307C4192A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; }; - 438CCFB32FD55A6D4D079D4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CarbonEventHandler.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CarbonEventHandler.cpp"; sourceTree = "SOURCE_ROOT"; }; + 43B93B94DA0366FAC2CDB992 = {isa = PBXFileReference; lastKnownFileType = file.def; name = "juce_RTAS_WinExports.def"; path = "../../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_WinExports.def"; sourceTree = "SOURCE_ROOT"; }; 43DD6B2BCDDAC03F70735F8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 4409D58D62A7EC2ED9F652C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; }; 44422256F31C739DE4E92072 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; }; - 450AC22E72D34DBD7DD81D6E = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_video/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 45425684D864D3DCC04AB8FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPlayHead.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioPlayHead.h"; sourceTree = "SOURCE_ROOT"; }; 454700D2BED6B7CAB55FE781 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 45770EACFCB66EC06E9050AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableObjectResizer.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -355,6 +329,7 @@ 473F4C234A5D1D6C3A01D835 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorGraph.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h"; sourceTree = "SOURCE_ROOT"; }; 4788EE40D6C011361E4EA7E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; }; 47C7CCD2F8E72B49B09BD8CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CatmullRomInterpolator.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; + 47C8050DE3ABBEC6BEC74B2F = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = MultiOutSynth.entitlements; path = MultiOutSynth.entitlements; sourceTree = "SOURCE_ROOT"; }; 47D82D755DE11448EC30CA4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; }; 47F59B4C19B060FF0A8D9E6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; }; 4865058DFB79087DA35DD8CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; }; @@ -366,13 +341,13 @@ 49FE6F5332AC4006801C995C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; sourceTree = "SOURCE_ROOT"; }; 4A3F900F74614D1291EC7295 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_RuntimePermissions.cpp"; path = "../../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; 4A509D42A855743286344076 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4A6AC707A211C4AFC744D6F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_utils.cpp"; path = "../../JuceLibraryCode/juce_audio_plugin_client_utils.cpp"; sourceTree = "SOURCE_ROOT"; }; 4A6F873AA84009F6259B9F86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + 4C4F5DA28D5739A0FD38227F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../JuceLibraryCode/juce_opengl.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"; }; 4D2B4949D610345F256E7BF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; 4D654FC603651F7BB9159FB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilter.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h"; sourceTree = "SOURCE_ROOT"; }; @@ -383,7 +358,6 @@ 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"; }; - 4F2E874659B2DD2904C73EB5 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_opengl/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 4F936FD34FDAE8A713449318 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; 4FB37F202AB613AEDFC644B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IncludeModuleHeaders.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_IncludeModuleHeaders.h"; sourceTree = "SOURCE_ROOT"; }; 4FB98CB5DF73B53A4C9A0CEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -395,10 +369,8 @@ 51BCD6A3FDE52592E1AC6097 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; }; 51CFBF13E028AE7B7E6E8125 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; 522C8E4B70A307558BF2147A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; }; - 5242B63C20CC3AACFE2604E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../../../../modules/juce_audio_devices/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; 5289F496A5951EE5C0E50AE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; }; 530B49EACD1B61D9D6D02F8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; }; - 531F86BEE82CDF86155BECBE = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_audio_plugin_client/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 538B7A95CAF151D9E48196CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsRegistry.h"; path = "../../../../../modules/juce_core/misc/juce_WindowsRegistry.h"; sourceTree = "SOURCE_ROOT"; }; 542A6929BC18FF18E0855E22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; 557B478ED8D268A32B172A8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; }; @@ -410,6 +382,7 @@ 56D39F097D141CE8A1C9DDD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectSound.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp"; sourceTree = "SOURCE_ROOT"; }; 56EF1D81F9864A92594D0CE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreMidi.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp"; sourceTree = "SOURCE_ROOT"; }; 57A83E7E171D32AAC5D72361 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; }; + 57D32ED9C0E97B78C13DC573 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-Shared_Code.plist"; path = "Info-Shared_Code.plist"; sourceTree = "SOURCE_ROOT"; }; 57D6293A40FAD31D65B73843 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; 57F0CCF96F5AB09869AD8ABC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; }; 580DCF0404770F680378BED3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel.h"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h"; sourceTree = "SOURCE_ROOT"; }; @@ -424,12 +397,14 @@ 59C20493E9BF8D89F9238BF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; 59D43C502ABCFF34DFB72CA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; }; 5A2373DB9260B06091BFEEDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; }; + 5A56163B25252D8E74389F96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../../modules/juce_audio_plugin_client/AU/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; }; 5A59400CB33DE0F1901E6568 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 5A9132A3307532C0CE193FCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; 5AB13AAF1E2779C0BF81FBE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; }; 5AF031703F66A2C5EEBC6026 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 5B055B3536E01790373575D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; 5B3B4638DFD4B8DD54E91153 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 5B612AFAF7F9CE8BBC876ADB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AU_2.mm"; path = "../../JuceLibraryCode/juce_audio_plugin_client_AU_2.mm"; sourceTree = "SOURCE_ROOT"; }; 5B72A0EEEC9B72841A9F5AB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; 5B8CC3A796C19ADC099F0FA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; 5BB91CC28CA4AA9CC9216710 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GenericAudioProcessorEditor.cpp"; path = "../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -455,19 +430,18 @@ 60EBEDFDF4A6E7DED70B9185 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Headers.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h"; sourceTree = "SOURCE_ROOT"; }; 60F37E0D0795DE063C356447 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODeviceType.h"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h"; sourceTree = "SOURCE_ROOT"; }; 610F2932245E46967E74B2C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; - 61384A4EC446167E7F11985A = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_audio_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 6148FE49473E2B457F1EA1C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; }; 614BDB6E04A50D791DF8A237 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MultiOutSynth.cpp; path = ../../Source/MultiOutSynth.cpp; sourceTree = "SOURCE_ROOT"; }; - 61A9011406372924AD3ABD36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAStreamBasicDescription.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAStreamBasicDescription.cpp"; sourceTree = "SOURCE_ROOT"; }; 6227844218E241C8B0622672 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 62305898277500805A1C3CF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; + 623B11E55A0D25A3511AB902 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MultiOutSynth.vst; sourceTree = "BUILT_PRODUCTS_DIR"; }; 62D4561E9D9ED6DA7AB0F568 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 631CEA7DFED8DE65194FC1E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLTexture.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.cpp"; sourceTree = "SOURCE_ROOT"; }; 632050BF046E4C885A8B5949 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; 634D6C58723E04F86C54A6F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; }; 638BDD21496CFDAF92A3344D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Audio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; - 6394509436568AE6CE106394 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUOutputBase.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUOutputBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 63E1E617C58EC3C567F85992 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 641C08407D49F28BD9FDB843 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-VST3.plist"; path = "Info-VST3.plist"; sourceTree = "SOURCE_ROOT"; }; 6420B40AEB6CFEFB85237966 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; }; 64A7A697CDE0D2CF4530C2A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; }; 64D80FF231BDA10238964328 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Desktop.cpp"; path = "../../../../../modules/juce_gui_basics/components/juce_Desktop.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -482,11 +456,11 @@ 66DB5EBB517DE64A1DAEB542 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; 672DBC02D6EDB3050B2289C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToneGeneratorAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 67462D5E19894BE43DB14EFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - 674EB5DE8F89ACACE45D7F33 = {isa = PBXFileReference; lastKnownFileType = file.r; name = "juce_AU_Resources.r"; path = "../../../../../modules/juce_audio_plugin_client/AU/juce_AU_Resources.r"; sourceTree = "SOURCE_ROOT"; }; + 675627DA901E329524A4B7CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AUv3_Wrapper.mm"; path = "../../../../../modules/juce_audio_plugin_client/AU/juce_AUv3_Wrapper.mm"; sourceTree = "SOURCE_ROOT"; }; 6758ADB63EE0726EF60EB8A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; 676CB38425FD7162414A9EBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3PluginFormat.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 6785312B696985E1682C2DD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../JuceLibraryCode/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; 67F9F1FF1EA64B1D4662D6D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AiffAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; - 68015E3C47D0D8486DC7A937 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAVectorUnit.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAVectorUnit.cpp"; sourceTree = "SOURCE_ROOT"; }; 68A952BB49408BF2B8EB2D1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; 6933971DF7867F7BAAAB130A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; }; 699689749A7CCCD48E78E137 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; }; @@ -518,6 +492,7 @@ 6F81110F55487AC830FF9AC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; }; 6FA6D0A923CEF45D9B98D4E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChannelRemappingAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 6FB07E454037BD9CEA8CF4A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; }; + 6FCB8DD99D8DB1C154E30620 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../JuceLibraryCode/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; 6FE632996BDDCF489ACA9E30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -530,6 +505,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"; }; + 7347E6F3FE64C924881D94FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_VST3.cpp"; path = "../../JuceLibraryCode/juce_audio_plugin_client_VST3.cpp"; 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"; }; @@ -538,14 +514,12 @@ 755CE35AC4E35972BF8CA70F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; }; 759F7DE2DC579FE827D3048E = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; 76938ED599FC983D504ABDC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; }; - 76A467185327C60F796AA174 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_data_structures/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 771C2C434BF3872B38C5B7A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; 77212847FCD0666A8FA1F76A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; }; 77455D7568ECA955829F42F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NotificationType.h"; path = "../../../../../modules/juce_events/messages/juce_NotificationType.h"; sourceTree = "SOURCE_ROOT"; }; 780DE9E399068580D838CEA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; 781E6B28539239138749C2BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; }; 78275C2FCDB4991C32449BA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PositionableAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; - 789EF38A1F2A6ED1F0B9275D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; 79982511AC6E338BDF41B945 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; }; 79D5E71B7A8F9EDEE0F8A428 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; }; 79E350F87876F0D35DA46067 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Identifier.h"; path = "../../../../../modules/juce_core/text/juce_Identifier.h"; sourceTree = "SOURCE_ROOT"; }; @@ -572,12 +546,12 @@ 7F38AB084E4DEAC474F6E5D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormat.cpp"; path = "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; 8069634B98236D7B2488A4FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 815CBEA75F0BEF8BA8EB2586 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; 817BED9A0F941E57F73FCA51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Files.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; 8186BE042A254AC75C14CC22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 81BBF0AAC7CACF6F45B81A62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; }; @@ -590,6 +564,7 @@ 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"; }; + 8379A87D62F44DFFC9366AD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandaloneFilterWindow.h"; path = "../../../../../modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterWindow.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"; }; @@ -609,7 +584,6 @@ 88182196BA51DC4A5E7D30A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLPixelFormat.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 88990C0D123639565B123D3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; 88AC1C03EB00B83CB3E1BADE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageComponent.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 88F0A7B3BD9FE2158428425C = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_audio_devices/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 8905462F015B210F5AF928BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; }; 896783A7624E3D713C73073D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; }; 89914DAAA3A56D84E410F635 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -631,7 +605,6 @@ 8CD1C282DEEEE9E33BED538E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -642,9 +615,9 @@ 9078059BFEA4EC0C81DE484B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 90B37D4360577F23D36BCF2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleMessageComponent.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 9130687B4B9B3D53186E32EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; - 9137FCD5EEE0BDE537FBA6AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ComponentBase.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/ComponentBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 918260E456FBC4A4C8D262FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorParameters.cpp"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp"; sourceTree = "SOURCE_ROOT"; }; 918ECC9726F9792AEA2BF389 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; + 9191498AD661685C4E50D690 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 91F5F4AA4BF054A9A39BB454 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_CameraDevice.cpp"; path = "../../../../../modules/juce_video/native/juce_android_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; 926B8C8B338554673FFFD294 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MP3AudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 92E3265AE5ED5E5AF742B2E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_opengl.h"; path = "../../../../../modules/juce_opengl/juce_opengl.h"; sourceTree = "SOURCE_ROOT"; }; @@ -661,9 +634,9 @@ 960B17EAF04A957650DF11F1 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = System/Library/Frameworks/QTKit.framework; sourceTree = SDKROOT; }; 96774C1AC764BC627D509CD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; 967CEBE5828578CA28AD9BFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; }; - 9695A1608637F4DE16EE7E36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUInputElement.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUInputElement.cpp"; sourceTree = "SOURCE_ROOT"; }; 96AC9664B3988D765587C40D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; }; 96ACFF08105BDD921C7F4451 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeMovieComponent.h"; path = "../../../../../modules/juce_video/playback/juce_QuickTimeMovieComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 96B487DCFF7726E30F91E153 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; 9762CE8CBBB9D8A19B2A4C41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; }; 983C144305663D44AA681E9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; 985AD86D261BF916AA06E503 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -677,6 +650,7 @@ 9A30B40360613D3FE6E4977A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilter.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; 9A34D18E2F6CFC64544D5256 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudioKit.framework; path = System/Library/Frameworks/CoreAudioKit.framework; sourceTree = SDKROOT; }; 9A3FD03363A07FABCF870AD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 9A60678019A806986B990EF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_VST_utils.mm"; path = "../../JuceLibraryCode/juce_audio_plugin_client_VST_utils.mm"; sourceTree = "SOURCE_ROOT"; }; 9A7832A419F01433B398D565 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; }; 9A7C19DD352D5C2AF86E3D6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; }; 9ABEE324F90644628668C348 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; @@ -717,6 +691,7 @@ 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"; }; A4809713B1CFB0B32092B066 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; }; + A4AB3C63E2B2CD0FAF865F4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../JuceLibraryCode/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -735,15 +710,14 @@ A8705A0E7FD1AD9400BDD22B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; A91B3F5283A56B815A18CF09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MarkerList.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h"; sourceTree = "SOURCE_ROOT"; }; A99BE51ABD7D9EC4B325A59C = {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"; }; - A9A048EB629B6EE9DEBAE91D = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_cryptography/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; A9A8CC078A367B391B012C12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; A9BFA5468698DC8F32062A9B = {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"; }; AA21F4503333C51F82C9C942 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; }; AA476F86C89DD0C5B5150B2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatManager.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; AA59E230F960D32E4BF578AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST3PluginFormat.cpp"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - AA6B7C4CCA49273A0A082DD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUBase.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBase.cpp"; sourceTree = "SOURCE_ROOT"; }; AB240F5B5DF1A76F8CC5D242 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; }; AB5DC9CDC207E0DE091FA8FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; }; + AB9663503BD1F1FBC70AB623 = {isa = PBXFileReference; lastKnownFileType = file.rsr; name = "juce_RTAS_WinResources.rsr"; path = "../../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_WinResources.rsr"; sourceTree = "SOURCE_ROOT"; }; ABB292366C67E862348338CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLAppComponent.cpp"; path = "../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; ABD65B7374037519D317493A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; }; AC0CFBC1681FFF1A011D7184 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -758,11 +732,9 @@ AF1D898A30C9A5E61A5FC284 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BinaryData.h; path = ../../JuceLibraryCode/BinaryData.h; sourceTree = "SOURCE_ROOT"; }; AF3481ED00D8F3AD8EB7F5D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; }; AFA9DEB94399C727CA65EBAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; - B003CE3A9A96265B7CDD9E5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../../../../modules/juce_opengl/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; B064E714C9070CBEC66FD58E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorListener.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h"; sourceTree = "SOURCE_ROOT"; }; B0A8FB4886C3A19A22B47B15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; B1546FF992D71E4A32F88856 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; @@ -799,10 +771,10 @@ BC700DF8CCA6B0D1F1B316EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormatManager.h"; path = "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; BC88BB8A29FC65FD3EB84D76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; }; BCF5A52B3C8ACD8AF6D5FDD1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiOutput.h"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h"; sourceTree = "SOURCE_ROOT"; }; - BD76537612F10BE2E2D69CAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../../modules/juce_audio_basics/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; BD91236A1415C94DA27A52BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LuaCodeTokeniser.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; BED5633E32115B39E3EAEDE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_cryptography.h"; path = "../../../../../modules/juce_cryptography/juce_cryptography.h"; sourceTree = "SOURCE_ROOT"; }; BEF542CF10EDE5970B5F2CC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + BF1F2E7B013EA985A6EC8AE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AU_1.mm"; path = "../../JuceLibraryCode/juce_audio_plugin_client_AU_1.mm"; sourceTree = "SOURCE_ROOT"; }; BF3758CE73C625C6CDFCE49A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; }; BF43966BA60A0C665C64893E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Primes.h"; path = "../../../../../modules/juce_cryptography/encryption/juce_Primes.h"; sourceTree = "SOURCE_ROOT"; }; BFC1BD5F9220AA38912E77CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; }; @@ -830,43 +802,49 @@ C55BA71B6FDCD2E164586597 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; }; C55EEA8F62CF0500BAE5C0C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; }; C5BDC880AF3D6D7908579D75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; - C601E3B7474CCAD421297824 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CatmullRomInterpolator.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; C6416871206E496758E0AEAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; C6527E22690701CDEB628259 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; - C785485A7DC04A2134F4F2B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEValue.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.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"; }; + CA3B897A065AD461112CFB91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_VST2.cpp"; path = "../../JuceLibraryCode/juce_audio_plugin_client_VST2.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"; }; 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"; }; + CBDE271C4C5387CE39BD348F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../JuceLibraryCode/juce_audio_basics.mm"; 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"; }; 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"; }; CD2CEC703F63930859D26DBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTPluginFormat.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.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"; }; + CE1C954808FDA669FEEFDC2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; }; + CE7AB9CEBC2AD27B236A69F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StandaloneFilterApp.cpp"; path = "../../../../../modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterApp.cpp"; 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"; }; + DA5881053EBA06F96F1D1CF3 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MultiOutSynth.vst3; sourceTree = "BUILT_PRODUCTS_DIR"; }; + DAC36A924C848D4620ACBBDB = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; + F06A0C9E80A5DD8CB3AFDD0E = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MultiOutSynth.component; sourceTree = "BUILT_PRODUCTS_DIR"; }; + 4E98D6E65CE3E073DB1F9113 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MultiOutSynth.aaxplugin; sourceTree = "BUILT_PRODUCTS_DIR"; }; + 03B7AAA7C11BC7F21B857177 = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MultiOutSynth.framework; sourceTree = "BUILT_PRODUCTS_DIR"; }; + C601E3B7474CCAD421297824 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CatmullRomInterpolator.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 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"; }; + CA8CF02AC2665E599ECF7A7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReader.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.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"; }; - 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"; }; - CEEC9947F99D7F39C77DE79B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../../modules/juce_core/containers/juce_NamedValueSet.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"; }; - 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"; }; D29D052F62D8B4DD5965D099 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDirectoryScanner.h"; path = "../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h"; sourceTree = "SOURCE_ROOT"; }; @@ -877,6 +855,7 @@ D50539AB3F3030B5B6EE1E27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../../modules/juce_core/text/juce_CharPointer_ASCII.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"; }; + 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"; }; @@ -892,8 +871,8 @@ D8AF139FCAFA5DD1E63F667A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_video.h"; path = "../../../../../modules/juce_video/juce_video.h"; sourceTree = "SOURCE_ROOT"; }; D95291A612BB815DBBA22E54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; D9AEC14125AD30C6015022DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; + DA15C477B5B69E17C6442032 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AAX.mm"; path = "../../JuceLibraryCode/juce_audio_plugin_client_AAX.mm"; sourceTree = "SOURCE_ROOT"; }; DA1A96885181D1109317F1E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemFactory.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h"; sourceTree = "SOURCE_ROOT"; }; - DAC36A924C848D4620ACBBDB = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; 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"; }; @@ -902,16 +881,11 @@ 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"; }; 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"; }; - D01619CC43F88EC81883B673 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; 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"; }; 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"; }; DEF2D6213AC504E5060525A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Whirlpool.h"; path = "../../../../../modules/juce_cryptography/hashing/juce_Whirlpool.h"; sourceTree = "SOURCE_ROOT"; }; DF5D1A5E8313119A12CB1FBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; }; @@ -923,7 +897,6 @@ E0D07EEF9CA067EDE95A1DE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; E124A8EDD335F18AEEE14AE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GroupComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h"; sourceTree = "SOURCE_ROOT"; }; E1B79F0661E1D710AD6F2EC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; }; - E25210222D5361520DF538D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAMutex.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAMutex.cpp"; sourceTree = "SOURCE_ROOT"; }; E25F6FE2BEA5667420D0397A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; }; E29CCB0E13C8EAD5F2E5E036 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Midi.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; E2DE6EAE630FB1C66B3B89B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -937,6 +910,7 @@ E5402DA8D83ACB20A827A575 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; }; E5407FDF36DACE9FB450B07A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginListComponent.cpp"; path = "../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; E5708FBF4F0B7B2E0699C999 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DeletedAtShutdown.cpp"; path = "../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp"; sourceTree = "SOURCE_ROOT"; }; + E6178B7C49CB5C96405E0929 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../JuceLibraryCode/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; E6832C69141A41A1B938B256 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; E6AD8AAE8CF42F0D27EA8681 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; E6FCB714561F6B8CE6F8F613 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -945,10 +919,12 @@ E77C0783136C0E53289B3B06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; }; E7C1F8D2DF489E3C49804551 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; E7F24576D0EEB9DAFB445143 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; + E87773680B3B09CAC94710D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; E87A0F8AFD1F0731C973A09D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; }; E8F14A4246A337084B54E9C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RTAS_DigiCode2.cpp"; path = "../../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode2.cpp"; sourceTree = "SOURCE_ROOT"; }; E8FAC1356851A9C671F02416 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTreeSynchroniser.cpp"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"; sourceTree = "SOURCE_ROOT"; }; E908ED9D051875790760496C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLPixelFormat.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h"; sourceTree = "SOURCE_ROOT"; }; + E9105E2E5E237EC32F79DFDF = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-AAX.plist"; path = "Info-AAX.plist"; sourceTree = "SOURCE_ROOT"; }; E9424CCA32838B2D488AA337 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; E98101F01BA26F09DB6BED34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTreeSynchroniser.h"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h"; sourceTree = "SOURCE_ROOT"; }; E985EAD2C55D291146775D92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; @@ -961,7 +937,6 @@ EB8A93287097DC01B85531D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; EC0E5245AB2583040633A061 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; }; EC2CF7627F27AA2864A5D7C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; - EC96CF90B9DFF7882C05B9BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; ECDDC8A29C82A6A662B4CDB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; ED299D6DB401220552C12779 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; ED2A30A5FE447FA622D86759 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -969,21 +944,16 @@ EE43ABE884CD25FC93C1B94C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; }; EE4A8EE4796D09C7C3B8F4D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BlowFish.cpp"; path = "../../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp"; sourceTree = "SOURCE_ROOT"; }; EE9255CA3AC70F4CBE5ABD1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; }; - EF082286F87782D8524D3D34 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_gui_extra/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; EF8849B28A436C3A48F95829 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLHelpers.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h"; sourceTree = "SOURCE_ROOT"; }; EFECC8D227334F0274FE2BF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; }; - F0E7FB678622A999A3AF4FED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../../../../modules/juce_video/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; F13ED53195C1AFEC88B36244 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; F142868EE3C522B4A917D373 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; }; - F142879E77C37813DA19ED63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../../modules/juce_audio_processors/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; F1796E6F4AF848B833E97784 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - F195D8472CD52C0320B76657 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUCarbonViewControl.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewControl.cpp"; sourceTree = "SOURCE_ROOT"; }; F19D0B178C3E9222586A5AE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; F1EACCC01C6F5B60A9AA8268 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; F210F80B6FD2A52A1F2A35B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; }; F23A7E1AC8DBF480E388B708 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; F24DF46B8594DF4124553404 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; }; - F257878331127C40332FC6D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUBuffer.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; F25E30D97335240388C3D98C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; F293FF5EFE9AF4B02F280BD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; }; F2B5BF259BE48171BA46D659 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; @@ -996,6 +966,7 @@ F461BACBBA9F780FEAB8B3E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; }; F4B3CEA81F88AEE7F2C0C3C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; }; F4D01191D307BF102CD106AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + F4FD9E9D7C08DABDBE24AC0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; F5032F517F5CDFC76F960424 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; }; F5902F4512F2803254F1BF95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; F5C75A94943428CD323AEB2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; }; @@ -1008,7 +979,6 @@ F773D28CC8826E1496D335B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; }; F7BC50BFF9DA0FAE586C88AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; F7D1FD08E57CD55F824DB44D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_VST_Wrapper.mm"; path = "../../../../../modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.mm"; sourceTree = "SOURCE_ROOT"; }; - F7DD27F194797DB8F64A11E0 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = "SOURCE_ROOT"; }; F85FAACA550A37BAF9589060 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPress.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h"; sourceTree = "SOURCE_ROOT"; }; F868016B2CA3E99CEA010443 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; }; F88CFBB53AF765F5B30F6AF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; }; @@ -1032,7 +1002,6 @@ FE0096A35FC87E2BAA3A427A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; FE130BFEA38903F1663BD0B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; }; FEB634B0B7546104F1428EB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; - FEEA06B5FB99B5D53B98992B = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_core/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; FF0F5D49A61CE55490330BFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilterAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; FFAE631FE45E46AF48CE35F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; FFC6C2A811398619CFE271DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -1121,9 +1090,12 @@ 1C3131DE5F94DA686A7D4151, FCBDBAC0DA95D12540B21F69, B9F686C235EFD42C179F16A8, - 61384A4EC446167E7F11985A, C31833453401D61E252001B9, ); name = "juce_audio_basics"; sourceTree = ""; }; - B1399783AB5A9A2B3D3911E8 = {isa = PBXGroup; children = ( + C1000EA5A40AA17B5103BB14 = {isa = PBXGroup; children = ( + 195890E4E6C23E08A84D96CA, + E9424CCA32838B2D488AA337, + 1C5587350978A9E93CE80711, ); name = "audio_cd"; sourceTree = ""; }; + 8BB7B3BE861710B18420BD76 = {isa = PBXGroup; children = ( 3C6710C7F5E306E4B32B773A, 3A64925347EA1A31B51D7C5C, 749953F7CA095C042B1B4559, @@ -1131,22 +1103,13 @@ DFDC67F9701DB420BFF97763, 60F37E0D0795DE063C356447, E3B9A55AF82E09A64712215D, ); name = "audio_io"; sourceTree = ""; }; - CE53191F9E5EB8AE57CDE485 = {isa = PBXGroup; children = ( + 0AE84575C071688231DC5137 = {isa = PBXGroup; children = ( C2EF85C94EA976606FFA4D9B, 5153F3454BDD24FA293C40BF, 4865058DFB79087DA35DD8CF, 9B7D43C7ED7521004903A738, BCF5A52B3C8ACD8AF6D5FDD1, ); name = "midi_io"; sourceTree = ""; }; - 39173B989130C4DF83E2C22F = {isa = PBXGroup; children = ( - E7F24576D0EEB9DAFB445143, - F761D390C7ED32538B3C5335, - 3B27DEF02388F7A878AC5AF4, - A5C098E2A6A7ABB35F5B86DF, ); name = sources; sourceTree = ""; }; - BFAD6DE7FC509EF7315C2BC8 = {isa = PBXGroup; children = ( - 195890E4E6C23E08A84D96CA, - E9424CCA32838B2D488AA337, - 1C5587350978A9E93CE80711, ); name = "audio_cd"; sourceTree = ""; }; - D538924CF40C636E87393D67 = {isa = PBXGroup; children = ( + 80ACC2BB83458BE7BD3D4195 = {isa = PBXGroup; children = ( 638BDD21496CFDAF92A3344D, AD104B2E0E56A45CAAE4FF8B, 0F851975FBD2FD9815F77375, @@ -1166,31 +1129,19 @@ 56D39F097D141CE8A1C9DDD2, 1DA9FA8F72326029FB1C7146, 23F341EB801D2814E63359E5, ); name = native; sourceTree = ""; }; + B47195508CE13C8DFB8631F0 = {isa = PBXGroup; children = ( + E7F24576D0EEB9DAFB445143, + F761D390C7ED32538B3C5335, + 3B27DEF02388F7A878AC5AF4, + A5C098E2A6A7ABB35F5B86DF, ); name = sources; sourceTree = ""; }; B87DBB95D74570AA05EB1BF6 = {isa = PBXGroup; children = ( - B1399783AB5A9A2B3D3911E8, - CE53191F9E5EB8AE57CDE485, - 39173B989130C4DF83E2C22F, - BFAD6DE7FC509EF7315C2BC8, - D538924CF40C636E87393D67, - 88F0A7B3BD9FE2158428425C, + C1000EA5A40AA17B5103BB14, + 8BB7B3BE861710B18420BD76, + 0AE84575C071688231DC5137, + 80ACC2BB83458BE7BD3D4195, + B47195508CE13C8DFB8631F0, 84F75A3966D4F24241B3CCA3, ); name = "juce_audio_devices"; sourceTree = ""; }; - EAC19E6C99E6570C2080284B = {isa = PBXGroup; children = ( - A866FBDA29C6BEA00C3A026D, - D5445BE1A8D52195956FD045, - AA476F86C89DD0C5B5150B2A, - 71CA2D69B013364826D13ED5, - CA8CF02AC2665E599ECF7A7C, - 14D5B505F2379051D856DAED, - C1B9FC52A734E68F31FCC26A, - 49F51AB7522884F2E4E9B981, - 183FAFE769893434B1AB03EE, - 5CA2DF95A90813983F00D215, - 198DE0A56C502B27A9594FB9, - 28D5D896AF62DE3834A1F312, - B85A6DC93ABF4209AE96197C, - 1B61ACAEDE5042CAE76E5604, - 9B737328615850F2D5D79E21, ); name = format; sourceTree = ""; }; - 6A83DE9B389BF1CC7D3763AB = {isa = PBXGroup; children = ( + E5475033E4039F7070300F0D = {isa = PBXGroup; children = ( 454700D2BED6B7CAB55FE781, 67F9F1FF1EA64B1D4662D6D6, 3F5E1358C802FA776E4AE65D, @@ -1209,34 +1160,51 @@ 139ED12F11F8E3F932E964B8, 1F4BF6D17BAC8AEB8E2F0BFE, 9A3FD03363A07FABCF870AD8, ); name = codecs; sourceTree = ""; }; + 5FE57152EA167A516C6A58C5 = {isa = PBXGroup; children = ( + A866FBDA29C6BEA00C3A026D, + D5445BE1A8D52195956FD045, + AA476F86C89DD0C5B5150B2A, + 71CA2D69B013364826D13ED5, + CA8CF02AC2665E599ECF7A7C, + 14D5B505F2379051D856DAED, + C1B9FC52A734E68F31FCC26A, + 49F51AB7522884F2E4E9B981, + 183FAFE769893434B1AB03EE, + 5CA2DF95A90813983F00D215, + 198DE0A56C502B27A9594FB9, + 28D5D896AF62DE3834A1F312, + B85A6DC93ABF4209AE96197C, + 1B61ACAEDE5042CAE76E5604, + 9B737328615850F2D5D79E21, ); name = format; sourceTree = ""; }; 2CD53C275D245C3B53FD1FB3 = {isa = PBXGroup; children = ( 945EC7B5770621102B8FB59F, B398826F11A2F358C52DAA30, ); name = sampler; sourceTree = ""; }; D3CEB1275699758CEB6A0FFE = {isa = PBXGroup; children = ( - EAC19E6C99E6570C2080284B, - 6A83DE9B389BF1CC7D3763AB, + E5475033E4039F7070300F0D, + 5FE57152EA167A516C6A58C5, 2CD53C275D245C3B53FD1FB3, - 2C056289A8C42BD901A4FEA3, 4B4395FD0B981840C14E2344, ); name = "juce_audio_formats"; sourceTree = ""; }; - 7B934098FF9E066D257F3FC8 = {isa = PBXGroup; children = ( - 836EAC1C5D126C6C8907E8C7, ); name = AU; sourceTree = ""; }; - CE7BA2483D9533725AA4A555 = {isa = PBXGroup; children = ( + 09DF5CB19613AAA3B7DE3EA9 = {isa = PBXGroup; children = ( + 069622CB01111075080B6F60, + 336D3D894D0B634AE55AE891, ); name = AAX; sourceTree = ""; }; + 3AAD3130E088939D23AC6D6C = {isa = PBXGroup; children = ( + 5A56163B25252D8E74389F96, + 836EAC1C5D126C6C8907E8C7, + 675627DA901E329524A4B7CD, ); name = AU; sourceTree = ""; }; + 5776396DA89340D586012DE5 = {isa = PBXGroup; children = ( + 1DDD52E2562F45C7BF44E3BA, 86FD2BEB554C25724A2AF813, E8F14A4246A337084B54E9C1, 35B2E682E7F5A2ADC2513066, - A99BE51ABD7D9EC4B325A59C, - 3DC291F8A448B57C4E7B85C9, 6E9CF164968692ECBF14BFA4, - 1DDD52E2562F45C7BF44E3BA, ); name = RTAS; sourceTree = ""; }; - 1CF4E191AF61077FFC1DDDD9 = {isa = PBXGroup; children = ( - 21F7313455725884DEC213E7, - F7D1FD08E57CD55F824DB44D, ); name = VST; sourceTree = ""; }; - 16E6FE688F83168D548548FF = {isa = PBXGroup; children = ( - A9BFA5468698DC8F32062A9B, ); name = VST3; sourceTree = ""; }; - E524E8AD5DA801FE3EDB8662 = {isa = PBXGroup; children = ( - 069622CB01111075080B6F60, - 336D3D894D0B634AE55AE891, ); name = AAX; sourceTree = ""; }; - 7E85B3DD44DFE75EA225102C = {isa = PBXGroup; children = ( + 43B93B94DA0366FAC2CDB992, + AB9663503BD1F1FBC70AB623, + A99BE51ABD7D9EC4B325A59C, + 3DC291F8A448B57C4E7B85C9, ); name = RTAS; sourceTree = ""; }; + 29721EA8AFBDC475F816E523 = {isa = PBXGroup; children = ( + CE7AB9CEBC2AD27B236A69F8, + 8379A87D62F44DFFC9366AD6, ); name = Standalone; sourceTree = ""; }; + CCF3C3B6990E2E7A15867332 = {isa = PBXGroup; children = ( 9407A9BBA5CC55FAB981363F, 1B468DBA17F78A4C46EFDB34, 8BC913A5669953BFE5A456F6, @@ -1246,16 +1214,38 @@ CC1F87E59205712A0B2B08D5, EE10601535426EBE973755EE, 45A7DB93A834F903CFB76794, ); name = utility; sourceTree = ""; }; + 24FB6C7E757D0BA38F9306CF = {isa = PBXGroup; children = ( + 21F7313455725884DEC213E7, + F7D1FD08E57CD55F824DB44D, ); name = VST; sourceTree = ""; }; + 80B7DBC428D8387DF8BCEF80 = {isa = PBXGroup; children = ( + A9BFA5468698DC8F32062A9B, ); name = VST3; sourceTree = ""; }; B7199B2DD8BEEA7DBC08C672 = {isa = PBXGroup; children = ( - 7B934098FF9E066D257F3FC8, - CE7BA2483D9533725AA4A555, - 1CF4E191AF61077FFC1DDDD9, - 16E6FE688F83168D548548FF, - E524E8AD5DA801FE3EDB8662, - 7E85B3DD44DFE75EA225102C, - 531F86BEE82CDF86155BECBE, + 09DF5CB19613AAA3B7DE3EA9, + 3AAD3130E088939D23AC6D6C, + 5776396DA89340D586012DE5, + 29721EA8AFBDC475F816E523, + CCF3C3B6990E2E7A15867332, + 24FB6C7E757D0BA38F9306CF, + 80B7DBC428D8387DF8BCEF80, 04DAC3B6E82E983D25C6700E, ); name = "juce_audio_plugin_client"; sourceTree = ""; }; - 0F236ED66A0F0C89E3E7BB63 = {isa = PBXGroup; children = ( + 0A38ECD5ECA77EB07A909D83 = {isa = PBXGroup; children = ( + 7F38AB084E4DEAC474F6E5D1, + 27CEF3DA924AB39D4B0A2636, + E6FFA40FF94303BAAA8F59F4, + BC700DF8CCA6B0D1F1B316EF, ); name = format; sourceTree = ""; }; + 1E07E5976FB3E811C9464A90 = {isa = PBXGroup; children = ( + 9BC7159383824FCEC506721E, + E0C299CCA30DD1E51258BC08, + 65C5CBAFC7A92739CF90FBD4, + 41858DDEA144577B46EA2FF2, + 6A1B1A8970DCB7CE503E7F11, + 60EBEDFDF4A6E7DED70B9185, + AA59E230F960D32E4BF578AF, + 676CB38425FD7162414A9EBA, + 27B53FF2B2CA458D1BFF27DA, + 3F2F67CDD0CE06807A6EE36E, + CD2CEC703F63930859D26DBA, ); name = "format_types"; sourceTree = ""; }; + 0D642A4B3B0241B6ED05172B = {isa = PBXGroup; children = ( 1CC9DE40A962B61BE5D6D1AF, 2CA49E8DB449CDE8F92A928D, 45425684D864D3DCC04AB8FD, @@ -1272,23 +1262,6 @@ 5DFA4CA46332C53DDD1737B2, 9BF07B88D360362B63A0B5B4, 20A269A2786B9986B1622489, ); name = processors; sourceTree = ""; }; - 247368FE4D6101F028E722FC = {isa = PBXGroup; children = ( - 7F38AB084E4DEAC474F6E5D1, - 27CEF3DA924AB39D4B0A2636, - E6FFA40FF94303BAAA8F59F4, - BC700DF8CCA6B0D1F1B316EF, ); name = format; sourceTree = ""; }; - 62BCE0329B122CBF91AE5F0F = {isa = PBXGroup; children = ( - 9BC7159383824FCEC506721E, - E0C299CCA30DD1E51258BC08, - 65C5CBAFC7A92739CF90FBD4, - 41858DDEA144577B46EA2FF2, - 6A1B1A8970DCB7CE503E7F11, - 60EBEDFDF4A6E7DED70B9185, - AA59E230F960D32E4BF578AF, - 676CB38425FD7162414A9EBA, - 27B53FF2B2CA458D1BFF27DA, - 3F2F67CDD0CE06807A6EE36E, - CD2CEC703F63930859D26DBA, ); name = "format_types"; sourceTree = ""; }; 78E9AF5488C543EB887ABADA = {isa = PBXGroup; children = ( F9322CB4EEC1CC5F821AE0A4, CB1789262FD3A919F45A7FD3, @@ -1306,65 +1279,13 @@ 5E312F41CC4B89D71CCAEA67, 9CF8D99020C1E9434D7EEB02, ); name = utilities; sourceTree = ""; }; 36387B9A19B898DE9917B36C = {isa = PBXGroup; children = ( - 0F236ED66A0F0C89E3E7BB63, - 247368FE4D6101F028E722FC, - 62BCE0329B122CBF91AE5F0F, + 0A38ECD5ECA77EB07A909D83, + 1E07E5976FB3E811C9464A90, + 0D642A4B3B0241B6ED05172B, 78E9AF5488C543EB887ABADA, 8CB8096CD6EBCC7D9F2A1B95, - 8E7404BA40E1808B5ED7E648, 3A964F32B299338C0475B94F, ); name = "juce_audio_processors"; sourceTree = ""; }; - AC417E136FA8251E140A84A0 = {isa = PBXGroup; children = ( - 17B332B5F28D4BE9A55C4798, - 489663C27DF86B25965E45F1, - A5E48068819C3A11DF6CE88E, - C2800EE214F48F4A1A754A13, - D50539AB3F3030B5B6EE1E27, - 3CB213E8C7A7CAD3FADEABAE, - 98D4B460456A0132982314E5, - 7F6829C8ACDB4BFDAFE28980, - 6E225D4C63C264E5E353AC2B, - 79E350F87876F0D35DA46067, - FFC6C2A811398619CFE271DE, - 189BFB5B334246B764A0F314, - 17DB0BB4A160A57C3D1E5850, - 0BB8E1D9CDF3CEE3E87C3A03, - ABD65B7374037519D317493A, - A8705A0E7FD1AD9400BDD22B, - AA21F4503333C51F82C9C942, - 3520A4AD20EFC2B7C939D899, - 3956258E77C88C44BDB524D3, - 4E9D35F434E31D2166A0DCB4, - 7C3ECACEDDBBB11A058971F6, - 253AC1448654FAE8E480617D, - 56C80328616F4149C31F0684, - ADB0FFD81B329DBDB8ABF0B4, ); name = text; sourceTree = ""; }; - FACA4195EB5E59B48DE2A85E = {isa = PBXGroup; children = ( - 89914DAAA3A56D84E410F635, - 93DEC6B7A444D7D1AAA70CBB, - 6B7853BBBD6D7B068FF29D92, - CDB15D2B8437758B0F7434B0, - B74BD4A8B8E3C07917B8A204, - FA24EA3E5A920F30B57F1D33, - E2ED295879A5569665CB2DE8, - 064B08B67FF7A0CB6DBAB710, - 0983AE9A4038D17F8FD940F4, - 03E8FDBC6508982ADE6598B8, ); name = maths; sourceTree = ""; }; - BBEE166F09923F9D2234248B = {isa = PBXGroup; children = ( - 6420B40AEB6CFEFB85237966, - B1546FF992D71E4A32F88856, - 48B46E1199467648C77B6EBB, - 2018D0FA9D93194F74495C71, - D7BE613B990CEDB4030CBBC7, - 319C8B847C2E51B42956291F, - C6527E22690701CDEB628259, - 45AD55884FC1966A2D7A563A, - FE0096A35FC87E2BAA3A427A, - A15FA1277122C51BBC59CA88, - CD26D70DEFE69EB620F09443, - 7F5AC5802C5F3456000B33E2, - 307DB099C9A79CBB7B475924, - 472AA9C9A8212ACF5FBE76ED, ); name = memory; sourceTree = ""; }; - 0AABBF3CA7843D9872BD9986 = {isa = PBXGroup; children = ( + 7679F9F489ABC8EBC962CFED = {isa = PBXGroup; children = ( C0FEDD014D61F70AF5E487C7, 967CEBE5828578CA28AD9BFB, D65B12939D2497DB1D262101, @@ -1386,37 +1307,7 @@ A775EFBD797850441FB5F39A, E7030843E0577430E89F243E, 6F194EA94308AC60418496A5, ); name = containers; sourceTree = ""; }; - 944A81D44A0FB51BD87D3BE6 = {isa = PBXGroup; children = ( - 780DE9E399068580D838CEA5, - F7BC50BFF9DA0FAE586C88AA, - 1B250B6B2BB1021C9171C253, - 1DBE969D3E64B2ADE0680F13, - 88990C0D123639565B123D3E, - 83451E47EC6D450257F8BA55, - 18B02C73692738563278DA36, - 6148FE49473E2B457F1EA1C6, - B3ADCB0036F82A48201E3C26, - 0E90BC5C291C83083E252819, - A09D3DE19DA87CCC04ECD838, - 90602A0CD490A01756083C0F, - 0D905CC1783EABB6680C1031, - 116FAFAE09BFF7BA002AC26C, - B79BE80BCE6F3E119533290A, - A121076A1C49FB1D8CA21601, - 04901F5FBDCC50887D8144AA, - EFECC8D227334F0274FE2BF7, - 490F18111DF7F20361582903, - 3257922119D32A2D24487F55, - 458157CEBA7745B46A93A1E4, - 389F4DBDD6DFCB9576F1EB95, ); name = threads; sourceTree = ""; }; - F75DBBE5FB7B3894D71EE4F8 = {isa = PBXGroup; children = ( - 7B6475B1D7C410E58BAE02EB, - 5A2373DB9260B06091BFEEDA, - DDA1AFBAA2188CE903B2E54A, - AFA9DEB94399C727CA65EBAE, - 07749666F39F79214F67C566, - 4CE235E66B9E5E1A10B337E9, ); name = time; sourceTree = ""; }; - 6D149589F578288CDC83E3A1 = {isa = PBXGroup; children = ( + 39D2E56DC8D2A38A78F7A2A5 = {isa = PBXGroup; children = ( 9E2A9E5D7AD579A3E4928F89, 6A2F5B3069994CC5DFD38DBB, A86E73067EAC289D764937A8, @@ -1434,66 +1325,43 @@ 1EB110C851923AA6CB027556, FDD4F541BF5212DB1D96AEC9, 8A0029505E4A874BAB5B6C0F, ); name = files; sourceTree = ""; }; - F05D914F6268EC55A2516C57 = {isa = PBXGroup; children = ( - 4614A35C6AA4CC2997809539, - 597127EB5FEF6FB003DCF4A3, - 74419B36F967A905E6420456, - BBDC5DB5F9C56627FA6A69A4, - E6AD8AAE8CF42F0D27EA8681, - 154CF1E83B9ABDB63926F728, - B19D9B4BBB6FE2A7D87858F9, - 1812A6C1E645FC4B86EF5ABC, - 9EB246A061A05D2BDA8D2CA0, - BBF45E20594DD37229EFB672, ); name = network; sourceTree = ""; }; - 997983C24BDF2AED7E0C07DE = {isa = PBXGroup; children = ( - C9F38DEE0CD76DA4FF6BBDF8, - 27A6540E8DAB996C93BBE49C, - 5A59400CB33DE0F1901E6568, - 8D3FA5C2C12EC7E60EAD2B2A, - 85B2725C830D3AE0F1A47C2E, - DD125DF0B3BB2378B48A6434, - 18CA56C15FDAF64F7078F616, - A03E087025ED2641B3A344F2, - F868016B2CA3E99CEA010443, - ED2A30A5FE447FA622D86759, - 3FB2666B2D9E8F3F486F5540, - AC3845EBDBF4318EDB8A0EDD, - 2E2231F97505BEE5ABE6322E, - F5032F517F5CDFC76F960424, - B816DF2BA5CEC93F7CA62CAC, ); name = streams; sourceTree = ""; }; - 5171230C73A11B6684F9A016 = {isa = PBXGroup; children = ( - B4DF8BE3C0A426E1CD3B09AD, - A4809713B1CFB0B32092B066, - 1D59FE50CE11B17D0E1E1CED, - 3806A74E0E461E2AB4F12AF2, ); name = logging; sourceTree = ""; }; - 92B5C94D6245D2C9387B1F16 = {isa = PBXGroup; children = ( - 595B86D645A2E266EBC92254, - D21FC426C0106FDE24A94A5D, - CD111D36AD8E9D73CE9739F2, - 7AF0D432E2B67F1FADBECE43, - 57F0CCF96F5AB09869AD8ABC, - DD610485E54DF8315DA4428A, ); name = system; sourceTree = ""; }; - EA283945396C770D58959277 = {isa = PBXGroup; children = ( - B1E2909AE12C3CDB53D73092, - 5EA72BDCD714AE14848328CA, - 0C5C8A7EEB62489A2976E691, - 936FBA9364882DF3C4BF42B5, ); name = xml; sourceTree = ""; }; - 02C7FFE29A8FF6A3E2049C72 = {isa = PBXGroup; children = ( + AB3B17C36C1F018F9FE62F22 = {isa = PBXGroup; children = ( F461BACBBA9F780FEAB8B3E0, 002CC17409E195D13298FB0C, 8D8D6C4E9A3B9D7ECA7A8B6F, 7D336AC68684F2094B54E6F3, ); name = javascript; sourceTree = ""; }; - 430B2A6B2A4B47FB25E8E9C8 = {isa = PBXGroup; children = ( - 67462D5E19894BE43DB14EFC, - 258165FB81F3FF7CB7A62403, - A36AA1398C4541FE5C6AFB2D, - AC7379D47F0CE47B19F98362, - 14266CBA3B5611B8E1355FA5, - 0BA950C6BE03ED86CE241B6B, ); name = zip; sourceTree = ""; }; - 077CA2B38E2489BB6537DF2B = {isa = PBXGroup; children = ( - 6F81110F55487AC830FF9AC2, - B6B4A496B8776D7D94237F79, ); name = "unit_tests"; sourceTree = ""; }; - 53A04FB6CFB6A233ECE7BF86 = {isa = PBXGroup; children = ( + 59E121A957BD1632E2E189A6 = {isa = PBXGroup; children = ( + B4DF8BE3C0A426E1CD3B09AD, + A4809713B1CFB0B32092B066, + 1D59FE50CE11B17D0E1E1CED, + 3806A74E0E461E2AB4F12AF2, ); name = logging; sourceTree = ""; }; + 94A6B57B293E1CFD60098039 = {isa = PBXGroup; children = ( + 89914DAAA3A56D84E410F635, + 93DEC6B7A444D7D1AAA70CBB, + 6B7853BBBD6D7B068FF29D92, + CDB15D2B8437758B0F7434B0, + B74BD4A8B8E3C07917B8A204, + FA24EA3E5A920F30B57F1D33, + E2ED295879A5569665CB2DE8, + 064B08B67FF7A0CB6DBAB710, + 0983AE9A4038D17F8FD940F4, + 03E8FDBC6508982ADE6598B8, ); name = maths; sourceTree = ""; }; + 026DB7E24351B8DEFBE8CD62 = {isa = PBXGroup; children = ( + 6420B40AEB6CFEFB85237966, + B1546FF992D71E4A32F88856, + 48B46E1199467648C77B6EBB, + 2018D0FA9D93194F74495C71, + D7BE613B990CEDB4030CBBC7, + 319C8B847C2E51B42956291F, + C6527E22690701CDEB628259, + 45AD55884FC1966A2D7A563A, + FE0096A35FC87E2BAA3A427A, + A15FA1277122C51BBC59CA88, + CD26D70DEFE69EB620F09443, + 7F5AC5802C5F3456000B33E2, + 307DB099C9A79CBB7B475924, + 472AA9C9A8212ACF5FBE76ED, ); name = memory; sourceTree = ""; }; + 3AC1C9D17AFC7A14541CDAF9 = {isa = PBXGroup; children = ( 9C3525CBEFDC7BE9A43154C0, B4B4D5B6E49A3D6412FB6FC8, 31B170169EB0976A9F9E69A1, @@ -1501,7 +1369,7 @@ 1E0B259C6A49F5CD17F38394, 4D2B4949D610345F256E7BF5, 538B7A95CAF151D9E48196CD, ); name = misc; sourceTree = ""; }; - 511A6C80B0D2BD5ECFD65292 = {isa = PBXGroup; children = ( + 1EF6849C6BDDAEBC8EEE145E = {isa = PBXGroup; children = ( 817BED9A0F941E57F73FCA51, 63E1E617C58EC3C567F85992, 7E87FC85F44CF07C8B366922, @@ -1531,25 +1399,128 @@ 094DBB83207EDC6AF8DA80A3, C78B08A40E0F71F8091C8F58, FAA929F0001987BCB1E8EB9A, ); name = native; sourceTree = ""; }; + CED1A070804E7793523927B7 = {isa = PBXGroup; children = ( + 4614A35C6AA4CC2997809539, + 597127EB5FEF6FB003DCF4A3, + 74419B36F967A905E6420456, + BBDC5DB5F9C56627FA6A69A4, + E6AD8AAE8CF42F0D27EA8681, + 154CF1E83B9ABDB63926F728, + B19D9B4BBB6FE2A7D87858F9, + 1812A6C1E645FC4B86EF5ABC, + 9EB246A061A05D2BDA8D2CA0, + BBF45E20594DD37229EFB672, ); name = network; sourceTree = ""; }; + E504A93BACDFA760DD5AE498 = {isa = PBXGroup; children = ( + C9F38DEE0CD76DA4FF6BBDF8, + 27A6540E8DAB996C93BBE49C, + 5A59400CB33DE0F1901E6568, + 8D3FA5C2C12EC7E60EAD2B2A, + 85B2725C830D3AE0F1A47C2E, + DD125DF0B3BB2378B48A6434, + 18CA56C15FDAF64F7078F616, + A03E087025ED2641B3A344F2, + F868016B2CA3E99CEA010443, + ED2A30A5FE447FA622D86759, + 3FB2666B2D9E8F3F486F5540, + AC3845EBDBF4318EDB8A0EDD, + 2E2231F97505BEE5ABE6322E, + F5032F517F5CDFC76F960424, + B816DF2BA5CEC93F7CA62CAC, ); name = streams; sourceTree = ""; }; + 92B5C94D6245D2C9387B1F16 = {isa = PBXGroup; children = ( + 595B86D645A2E266EBC92254, + D21FC426C0106FDE24A94A5D, + CD111D36AD8E9D73CE9739F2, + 7AF0D432E2B67F1FADBECE43, + 57F0CCF96F5AB09869AD8ABC, + DD610485E54DF8315DA4428A, ); name = system; sourceTree = ""; }; + D60BA822B63A3644EB91382B = {isa = PBXGroup; children = ( + 17B332B5F28D4BE9A55C4798, + 489663C27DF86B25965E45F1, + A5E48068819C3A11DF6CE88E, + C2800EE214F48F4A1A754A13, + D50539AB3F3030B5B6EE1E27, + 3CB213E8C7A7CAD3FADEABAE, + 98D4B460456A0132982314E5, + 7F6829C8ACDB4BFDAFE28980, + 6E225D4C63C264E5E353AC2B, + 79E350F87876F0D35DA46067, + FFC6C2A811398619CFE271DE, + 189BFB5B334246B764A0F314, + 17DB0BB4A160A57C3D1E5850, + 0BB8E1D9CDF3CEE3E87C3A03, + ABD65B7374037519D317493A, + A8705A0E7FD1AD9400BDD22B, + AA21F4503333C51F82C9C942, + 3520A4AD20EFC2B7C939D899, + 3956258E77C88C44BDB524D3, + 4E9D35F434E31D2166A0DCB4, + 7C3ECACEDDBBB11A058971F6, + 253AC1448654FAE8E480617D, + 56C80328616F4149C31F0684, + ADB0FFD81B329DBDB8ABF0B4, ); name = text; sourceTree = ""; }; + B9E770D7F2BCCCE9251ACF5D = {isa = PBXGroup; children = ( + 780DE9E399068580D838CEA5, + F7BC50BFF9DA0FAE586C88AA, + 1B250B6B2BB1021C9171C253, + 1DBE969D3E64B2ADE0680F13, + 88990C0D123639565B123D3E, + 83451E47EC6D450257F8BA55, + 18B02C73692738563278DA36, + 6148FE49473E2B457F1EA1C6, + B3ADCB0036F82A48201E3C26, + 0E90BC5C291C83083E252819, + A09D3DE19DA87CCC04ECD838, + 90602A0CD490A01756083C0F, + 0D905CC1783EABB6680C1031, + 116FAFAE09BFF7BA002AC26C, + B79BE80BCE6F3E119533290A, + A121076A1C49FB1D8CA21601, + 04901F5FBDCC50887D8144AA, + EFECC8D227334F0274FE2BF7, + 490F18111DF7F20361582903, + 3257922119D32A2D24487F55, + 458157CEBA7745B46A93A1E4, + 389F4DBDD6DFCB9576F1EB95, ); name = threads; sourceTree = ""; }; + 0CFFEC6628DE79835A9073A9 = {isa = PBXGroup; children = ( + 7B6475B1D7C410E58BAE02EB, + 5A2373DB9260B06091BFEEDA, + DDA1AFBAA2188CE903B2E54A, + AFA9DEB94399C727CA65EBAE, + 07749666F39F79214F67C566, + 4CE235E66B9E5E1A10B337E9, ); name = time; sourceTree = ""; }; + 077CA2B38E2489BB6537DF2B = {isa = PBXGroup; children = ( + 6F81110F55487AC830FF9AC2, + B6B4A496B8776D7D94237F79, ); name = "unit_tests"; sourceTree = ""; }; + 5711407B6627FB4C000F59B7 = {isa = PBXGroup; children = ( + B1E2909AE12C3CDB53D73092, + 5EA72BDCD714AE14848328CA, + 0C5C8A7EEB62489A2976E691, + 936FBA9364882DF3C4BF42B5, ); name = xml; sourceTree = ""; }; + 18F6FF6135C926774D67BBA8 = {isa = PBXGroup; children = ( + 67462D5E19894BE43DB14EFC, + 258165FB81F3FF7CB7A62403, + A36AA1398C4541FE5C6AFB2D, + AC7379D47F0CE47B19F98362, + 14266CBA3B5611B8E1355FA5, + 0BA950C6BE03ED86CE241B6B, ); name = zip; sourceTree = ""; }; 101EE10C132CA4C9E52610DF = {isa = PBXGroup; children = ( - AC417E136FA8251E140A84A0, - FACA4195EB5E59B48DE2A85E, - BBEE166F09923F9D2234248B, - 0AABBF3CA7843D9872BD9986, - 944A81D44A0FB51BD87D3BE6, - F75DBBE5FB7B3894D71EE4F8, - 6D149589F578288CDC83E3A1, - F05D914F6268EC55A2516C57, - 997983C24BDF2AED7E0C07DE, - 5171230C73A11B6684F9A016, + 7679F9F489ABC8EBC962CFED, + 39D2E56DC8D2A38A78F7A2A5, + AB3B17C36C1F018F9FE62F22, + 59E121A957BD1632E2E189A6, + 94A6B57B293E1CFD60098039, + 026DB7E24351B8DEFBE8CD62, + 3AC1C9D17AFC7A14541CDAF9, + 1EF6849C6BDDAEBC8EEE145E, + CED1A070804E7793523927B7, + E504A93BACDFA760DD5AE498, 92B5C94D6245D2C9387B1F16, - EA283945396C770D58959277, - 02C7FFE29A8FF6A3E2049C72, - 430B2A6B2A4B47FB25E8E9C8, + D60BA822B63A3644EB91382B, + B9E770D7F2BCCCE9251ACF5D, + 0CFFEC6628DE79835A9073A9, 077CA2B38E2489BB6537DF2B, - 53A04FB6CFB6A233ECE7BF86, - 511A6C80B0D2BD5ECFD65292, - FEEA06B5FB99B5D53B98992B, + 5711407B6627FB4C000F59B7, + 18F6FF6135C926774D67BBA8, 18FDE3BBDD2D8A854D087F8C, ); name = "juce_core"; sourceTree = ""; }; D699CFDE76094B1CA97AC154 = {isa = PBXGroup; children = ( EE4A8EE4796D09C7C3B8F4D0, @@ -1568,31 +1539,45 @@ 8F957650B950D3F3480E6265 = {isa = PBXGroup; children = ( D699CFDE76094B1CA97AC154, 7E288ABF5DD2EFF12FB91DF7, - A9A048EB629B6EE9DEBAE91D, BED5633E32115B39E3EAEDE3, ); name = "juce_cryptography"; sourceTree = ""; }; - C7F0E3E7B061CAAE527BED61 = {isa = PBXGroup; children = ( + 3F1DF92D252DEF47B7C52617 = {isa = PBXGroup; children = ( + D811B5A2034CA734672F979E, + 7E77F6718499E7DF85EF4861, + 5610763F6E57C9347FC6D631, + 48C42787BCD85AF5754A227E, ); name = "app_properties"; sourceTree = ""; }; + DE5BADDBD5CE3F4CE21D3CAF = {isa = PBXGroup; children = ( + 0289EF17A9CF704ED287401D, + E9F185F9E3C0924B6DA3B927, + FDD6BFB9BA139A35B78F97EF, ); name = undomanager; sourceTree = ""; }; + 0425DD91C50886E2D7D83E14 = {isa = PBXGroup; children = ( 8905462F015B210F5AF928BC, 936597FC46CA6B177D85084A, F5902F4512F2803254F1BF95, 1F2203C59B3E118E144DE849, E8FAC1356851A9C671F02416, E98101F01BA26F09DB6BED34, ); name = values; sourceTree = ""; }; - DE5BADDBD5CE3F4CE21D3CAF = {isa = PBXGroup; children = ( - 0289EF17A9CF704ED287401D, - E9F185F9E3C0924B6DA3B927, - FDD6BFB9BA139A35B78F97EF, ); name = undomanager; sourceTree = ""; }; - 54BF6B30D3BCF5CE802D4E1D = {isa = PBXGroup; children = ( - D811B5A2034CA734672F979E, - 7E77F6718499E7DF85EF4861, - 5610763F6E57C9347FC6D631, - 48C42787BCD85AF5754A227E, ); name = "app_properties"; sourceTree = ""; }; 2626D341B19F7F810AB18AF7 = {isa = PBXGroup; children = ( - C7F0E3E7B061CAAE527BED61, + 3F1DF92D252DEF47B7C52617, DE5BADDBD5CE3F4CE21D3CAF, - 54BF6B30D3BCF5CE802D4E1D, - 76A467185327C60F796AA174, + 0425DD91C50886E2D7D83E14, F2B5BF259BE48171BA46D659, ); name = "juce_data_structures"; sourceTree = ""; }; - 11881EBEDF34F35E5B29B934 = {isa = PBXGroup; children = ( + ED943428F7602472F0E171A6 = {isa = PBXGroup; children = ( + E0D07EEF9CA067EDE95A1DE1, + 0B1B930101F232581BEC880A, + 6D8744A83AC8FAA2071C361A, + 96774C1AC764BC627D509CD0, + C11EE4B9FC2D96C53F50BCDB, + D75404BD545EF7897D43EB0A, + F13ED53195C1AFEC88B36244, + A3891F76A362C09F73786739, ); name = broadcasters; sourceTree = ""; }; + FA7AD5FE17FF4C415EAC6B54 = {isa = PBXGroup; children = ( + 9EB89F75DEEB3562DBA2BBC3, + 71F462A36BBF13093CDD8175, + 5F484CA3767D46A0ACC3E058, + 14792D778EFCE47293FE346B, + 86DEFDF770D2D154CEE92B63, + BFC1BD5F9220AA38912E77CA, ); name = interprocess; sourceTree = ""; }; + C521439F163F5208C8F14E84 = {isa = PBXGroup; children = ( 014566D04367E8AC6C3E5494, 771C2C434BF3872B38C5B7A4, 6FB07E454037BD9CEA8CF4A9, @@ -1606,28 +1591,7 @@ 16F9C729308D7F52D194ECFF, 1C7188521CC944FBE6765AE8, 77455D7568ECA955829F42F5, ); name = messages; sourceTree = ""; }; - B61E4326475A0365CB883AEC = {isa = PBXGroup; children = ( - 2D24F39B3BCC3C0BE51A578B, - 74C00F6837DA09820E4C7D52, - 15011024F583CF9833FC15DC, - 58EBF58A55D9B46BBDFCC804, ); name = timers; sourceTree = ""; }; - 918B2C670BD931F3B0DD1696 = {isa = PBXGroup; children = ( - E0D07EEF9CA067EDE95A1DE1, - 0B1B930101F232581BEC880A, - 6D8744A83AC8FAA2071C361A, - 96774C1AC764BC627D509CD0, - C11EE4B9FC2D96C53F50BCDB, - D75404BD545EF7897D43EB0A, - F13ED53195C1AFEC88B36244, - A3891F76A362C09F73786739, ); name = broadcasters; sourceTree = ""; }; - 1908BB0424610BC8396867C9 = {isa = PBXGroup; children = ( - 9EB89F75DEEB3562DBA2BBC3, - 71F462A36BBF13093CDD8175, - 5F484CA3767D46A0ACC3E058, - 14792D778EFCE47293FE346B, - 86DEFDF770D2D154CEE92B63, - BFC1BD5F9220AA38912E77CA, ); name = interprocess; sourceTree = ""; }; - DAA217243279E66515063C59 = {isa = PBXGroup; children = ( + AA54687AF4E68D64DE8E5884 = {isa = PBXGroup; children = ( 9BF351F3B8C509210D0F3504, F6FD881ED79B0EBC169C92E3, 610F2932245E46967E74B2C2, @@ -1636,13 +1600,17 @@ 7D669DC3F842F0698CAE90FC, 522C8E4B70A307558BF2147A, 50A69D7239BB8E2B2393100C, ); name = native; sourceTree = ""; }; + 3627DA715D80AFF3250CE064 = {isa = PBXGroup; children = ( + 2D24F39B3BCC3C0BE51A578B, + 74C00F6837DA09820E4C7D52, + 15011024F583CF9833FC15DC, + 58EBF58A55D9B46BBDFCC804, ); name = timers; sourceTree = ""; }; E5A297D9399B394BD2A86A68 = {isa = PBXGroup; children = ( - 11881EBEDF34F35E5B29B934, - B61E4326475A0365CB883AEC, - 918B2C670BD931F3B0DD1696, - 1908BB0424610BC8396867C9, - DAA217243279E66515063C59, - 15740639033CB3EE551662B7, + ED943428F7602472F0E171A6, + FA7AD5FE17FF4C415EAC6B54, + C521439F163F5208C8F14E84, + AA54687AF4E68D64DE8E5884, + 3627DA715D80AFF3250CE064, 79982511AC6E338BDF41B945, ); name = "juce_events"; sourceTree = ""; }; 757DD35FABB0234085957FA6 = {isa = PBXGroup; children = ( 7A278FEB335084336E1A8401, @@ -1662,19 +1630,25 @@ AF3481ED00D8F3AD8EB7F5D6, 40B3213EA83299658209242D, AB240F5B5DF1A76F8CC5D242, ); name = contexts; sourceTree = ""; }; - B873B731F0FAA1785590BC30 = {isa = PBXGroup; children = ( - 0EDD021A2EBA67FD4A615013, - F3A5DF21A6EADA0EDE943366, - 178944D8D270668280542984, - 9DFC39A2740EADC3151C51EB, - 8F808F4330D4F791E62FC452, - 66C34363559FEABE6A3FFF4D, - 3D0F053458E5144F826E5A8D, - D494EAD9146C1223068494AD, ); name = images; sourceTree = ""; }; - E77BD72C8B545BDB98EA42DA = {isa = PBXGroup; children = ( - 4A6F873AA84009F6259B9F86, - 8CD1C282DEEEE9E33BED538E, - 7EACD40EB2EDA598C7A55CC7, ); name = "image_formats"; sourceTree = ""; }; + FE6A8B0107B614404B30AB44 = {isa = PBXGroup; children = ( + 05ABC00E7EAD657788515A1C, + A63ED5CB6CDBBB4CAEC5736F, + 324FF82D44A36CE21E199A65, + 665763F2042DE8357AF3B1A5, + C7570B6C472BBE132D6EA308, ); name = effects; sourceTree = ""; }; + 55307325CC9762008F1F498F = {isa = PBXGroup; children = ( + D9AEC14125AD30C6015022DA, + ED299D6DB401220552C12779, + 8AC10A34622E7BC408140CA5, + 4B46AE20905B34DFA0AF76C0, + 03C9C3D660CECA5CC9A5F6FC, + A32F1AA27CD6AB49CB228FCC, + 51CFBF13E028AE7B7E6E8125, + DBCB6A4B9FD47F186ED54DE5, + B3129FEE830E414992848568, + FB99B04786E13E92B0A5DEA4, + 9A7832A419F01433B398D565, + 9B855F0C2D1CB2D12B709F6D, ); name = fonts; sourceTree = ""; }; 5218503D8A93B81C997C33BE = {isa = PBXGroup; children = ( 542A6929BC18FF18E0855E22, 57A83E7E171D32AAC5D72361, @@ -1691,30 +1665,20 @@ BA3D71CC1639F38B8E894A56, 79D5E71B7A8F9EDEE0F8A428, F88CFBB53AF765F5B30F6AF5, ); name = geometry; sourceTree = ""; }; - A118BDA59F5DABDEDD2447DF = {isa = PBXGroup; children = ( - 6BA5FB415F59DE9381BC416B, - 530B49EACD1B61D9D6D02F8F, - 40919C27A202CF72509CFD28, ); name = placement; sourceTree = ""; }; - 3D36E058F553CF7DE183CF1D = {isa = PBXGroup; children = ( - D9AEC14125AD30C6015022DA, - ED299D6DB401220552C12779, - 8AC10A34622E7BC408140CA5, - 4B46AE20905B34DFA0AF76C0, - 03C9C3D660CECA5CC9A5F6FC, - A32F1AA27CD6AB49CB228FCC, - 51CFBF13E028AE7B7E6E8125, - DBCB6A4B9FD47F186ED54DE5, - B3129FEE830E414992848568, - FB99B04786E13E92B0A5DEA4, - 9A7832A419F01433B398D565, - 9B855F0C2D1CB2D12B709F6D, ); name = fonts; sourceTree = ""; }; - C12562B370766C14D340A1A0 = {isa = PBXGroup; children = ( - 05ABC00E7EAD657788515A1C, - A63ED5CB6CDBBB4CAEC5736F, - 324FF82D44A36CE21E199A65, - 665763F2042DE8357AF3B1A5, - C7570B6C472BBE132D6EA308, ); name = effects; sourceTree = ""; }; - ECB634209F4AFC436234D192 = {isa = PBXGroup; children = ( + A5FB144E0D92E0C9C7AEAC21 = {isa = PBXGroup; children = ( + 4A6F873AA84009F6259B9F86, + 8CD1C282DEEEE9E33BED538E, + 7EACD40EB2EDA598C7A55CC7, ); name = "image_formats"; sourceTree = ""; }; + 111F82195754A1E0A8339370 = {isa = PBXGroup; children = ( + 0EDD021A2EBA67FD4A615013, + F3A5DF21A6EADA0EDE943366, + 178944D8D270668280542984, + 9DFC39A2740EADC3151C51EB, + 8F808F4330D4F791E62FC452, + 66C34363559FEABE6A3FFF4D, + 3D0F053458E5144F826E5A8D, + D494EAD9146C1223068494AD, ); name = images; sourceTree = ""; }; + C272D4240587315777D8E045 = {isa = PBXGroup; children = ( D44AA51289630AADC5B6790C, 632050BF046E4C885A8B5949, 8C038C98516FAAFA4B02C2D0, @@ -1728,19 +1692,54 @@ F19D0B178C3E9222586A5AE5, 9D83AA022FE0817A146AADD4, C4325E86FCBE01FC9E65C6FA, ); name = native; sourceTree = ""; }; + 3E26538F168C3AA2424119FF = {isa = PBXGroup; children = ( + 6BA5FB415F59DE9381BC416B, + 530B49EACD1B61D9D6D02F8F, + 40919C27A202CF72509CFD28, ); name = placement; sourceTree = ""; }; E87D0860F3130FD9C591E819 = {isa = PBXGroup; children = ( 757DD35FABB0234085957FA6, CB20F670E0DBBDE553A9BB0A, - B873B731F0FAA1785590BC30, - E77BD72C8B545BDB98EA42DA, + FE6A8B0107B614404B30AB44, + 55307325CC9762008F1F498F, 5218503D8A93B81C997C33BE, - A118BDA59F5DABDEDD2447DF, - 3D36E058F553CF7DE183CF1D, - C12562B370766C14D340A1A0, - ECB634209F4AFC436234D192, - CD21B4F62CDF547C13D747C3, + A5FB144E0D92E0C9C7AEAC21, + 111F82195754A1E0A8339370, + C272D4240587315777D8E045, + 3E26538F168C3AA2424119FF, 76938ED599FC983D504ABDC7, ); name = "juce_graphics"; sourceTree = ""; }; - EBF49DD169CB1C1991F54531 = {isa = PBXGroup; children = ( + AD5544F448D5238FBF2786C1 = {isa = PBXGroup; children = ( + E25F6FE2BEA5667420D0397A, + 9CD457CAB7D77DE0055BC765, ); name = application; sourceTree = ""; }; + 0985158EC0842D58EFAF4A88 = {isa = PBXGroup; children = ( + 7E36D425F1C4953D59C9A852, + 9D2E4897BB8EC975399D5185, + E5402DA8D83ACB20A827A575, + 13D8A2A46472D0D3753E9ED0, + 4D7B7390B8ADA5BCB2FC4D7E, + 1E3FF3B5C17A1D17989A7BFF, + E77C0783136C0E53289B3B06, + 57D6293A40FAD31D65B73843, + E6FCB714561F6B8CE6F8F613, + A56E6BF5D58DAB115AB2C7F3, + AF1288951EE8B2A732769111, + D01619CC43F88EC81883B673, + 6F438CE625EC5F1953F8C520, + 4AEC0F849EBE143B5B7ADDE6, + A1F225D69FED37DF00EA8785, + 0919DB7BD5353476E4BAD9C7, + 350FFEC2B46F4374349DE301, + 3D22672A2B5EEB1483BBF982, ); name = buttons; sourceTree = ""; }; + 8C93F627AE6629664787B22A = {isa = PBXGroup; children = ( + 93315295C3BAB41EFD2ABECF, + 846B7257E942D68688EA379A, + 58AA6C4D9618CF7360351A0E, + E6832C69141A41A1B938B256, + 42AB4498A5046FD11E88514D, + 77212847FCD0666A8FA1F76A, + 5A9132A3307532C0CE193FCF, + 12102F36ED28F208178EDD48, + B83E840369713D9CC1D4E640, ); name = commands; sourceTree = ""; }; + 333EB45EC912CED4AE774566 = {isa = PBXGroup; children = ( 7A88167438DC7FAB02601DBD, 3A613F85A427792389124362, 64A7A697CDE0D2CF4530C2A9, @@ -1750,28 +1749,46 @@ 2D24053C8509C11330B4A978, 2641826B6F48226186091387, B224AC09365587D008350995, ); name = components; sourceTree = ""; }; - 7ED33F5BD5F83C3789481829 = {isa = PBXGroup; children = ( - 8F9997207C596AF8202322E4, - 755CE35AC4E35972BF8CA70F, - 1545BA1CE18331E6FBADA9AC, - C669B2C94347112865575479, - 1BBAEAACC602F3E31B035366, - 19DBDBD739D1DA9E9DC333D9, - F738C9D6F593253C7F427935, - 20741BE773B0E169B497830B, - 8AED28A9FB0E39665E7815B6, - 15A09E42570AED513A1AD45D, - 51BCD6A3FDE52592E1AC6097, - 781E6B28539239138749C2BB, - 2022A1F20164C9781ECB2121, - B7192B6233E1CFEE54DAD83B, - 9AC88A1806AF4270C0500937, - 62D4561E9D9ED6DA7AB0F568, - 0C1B06C65F8D9853BA3F69D2, - 699689749A7CCCD48E78E137, - A9A8CC078A367B391B012C12, - F773D28CC8826E1496D335B4, ); name = mouse; sourceTree = ""; }; - 4A41B605F60222EBC972F3FF = {isa = PBXGroup; children = ( + E7AFE47062F312AD3941633D = {isa = PBXGroup; children = ( + EE9255CA3AC70F4CBE5ABD1A, + 6CC6AA55D01E126E4CCF4297, + FBE21CA28CDA215648CD2F13, + 178435F0CA12608B22C45154, + 0ADBF1C05C6EB92B82E84C4F, + F380B1F60AFC46CE10185486, + D7DF6903E27D43C0072B75EC, + A5B89CA940B7EB19170AD83A, + 84A6B4C3A37631A52F7135FE, + 14CD526033FAC3187BA103FE, + 6D4E2191273A47C711A7E7C7, + 21E9B1DFB92FB9206141B886, + D18DE409087FFFDCA4187D4F, + 192598A07C49DD0B4C040FE4, + B0A8FB4886C3A19A22B47B15, ); name = drawables; sourceTree = ""; }; + CA8DACA7438DEBD574B082DF = {isa = PBXGroup; children = ( + F3D817A9D5B16D6BC3BC701A, + B4D899A2442D766A400C56DF, + 896783A7624E3D713C73073D, + 5289F496A5951EE5C0E50AE4, + EB8A93287097DC01B85531D1, + DBAED9DF8F8A34A575B53475, + 5D3A8D8260B3636CA2377938, + 164E2C468EA1492CC75B1A67, + 1CFCC90579BAAE86B8C2846B, + 43DD6B2BCDDAC03F70735F8C, + 466B1668D6078E9D4B441CEF, + 06A11BE78D22BA5017308C44, + 3A8CB335BC2FF058EA9F6B6E, + CD4A4B5DF38D0F6C1B5CA961, + 0BEC67F25D266A1F404CEA32, + 39C1C16215AF44F060AFD446, + F4D01191D307BF102CD106AE, + 34CAB09C6DE25D42631E5920, + 65F124A6502B670A634647EB, + 5B3B4638DFD4B8DD54E91153, + 5DB3404A73A8FC9A1E7FD15B, + D503329DCE178787E5B2D8C2, ); name = filebrowser; sourceTree = ""; }; + 14D605F0AD6F87FD776CC313 = {isa = PBXGroup; children = ( C6416871206E496758E0AEAD, 559E5CC5A86E1B5175587253, 3C962B47E38300E36A7695F0, @@ -1785,62 +1802,7 @@ 231DBB5B7013649F1A0FD9F3, 6B8ECF5341BDFDD330EE1C61, 18CD3F93DA3DC06E32350586, ); name = keyboard; sourceTree = ""; }; - 0B8E9BEB14BE680D5079EEE5 = {isa = PBXGroup; children = ( - 5DBAF09F932CFAE3CED41A8E, - 8ABF93CFE7A6F1DA02950F45, - 846AA1CDFADEBB73B72CE6C0, - 88AC1C03EB00B83CB3E1BADE, - 5D920211653499639CFBAEB0, - 7A37B05F1560708B6AD92B12, - 0A91254BAF7DD54A408D07E5, - 0AE0291BE69701532687C71F, - 58D9251941E6D5E12E8A12CA, - EB0BE0B29289704F47B66926, - DD4A6E358F46DEC4600AC71F, - 0CA563CCAA2DE34E0627441A, - F1796E6F4AF848B833E97784, - CA5EBD7676B224123E102A1D, - 985AD86D261BF916AA06E503, - F5C75A94943428CD323AEB2D, - 4F936FD34FDAE8A713449318, - 191D2721158BEE1FA8FFA53C, - CD02F270DE7AE1635A3E423E, - 557B478ED8D268A32B172A8D, - DEEF4C84F0F68E23C3971AC4, - CE1C954808FDA669FEEFDC2B, - DA1A96885181D1109317F1E1, - FE130BFEA38903F1663BD0B6, - 88132D23EE87EA0E8D0C6DAA, - 4110B30D80C9AA175FDFCEAE, - 82E0B14C4BC1D4A777EDF1C8, ); name = widgets; sourceTree = ""; }; - DE4F57D9099E7C9625FDA63D = {isa = PBXGroup; children = ( - 41C7BF04309105EC3DECEEC9, - 4409D58D62A7EC2ED9F652C2, - A6A099AD6F5CE820FEED5566, - 6A94B66D9A28FCA9AE407E36, - 5BC0603F0C92CED953EEC811, - 25B6747DA841CBE7DCFF2557, - 9078059BFEA4EC0C81DE484B, - 7D997C3DA827D7D540A28D27, - B352DFD2501C5BFCB6129CA6, - 47F59B4C19B060FF0A8D9E6D, - 0EBC8AD3685484272DA7BB28, - 8B8E7EDC3FDB461257EEB131, - A531A8EF845CA83185289794, - C5BDC880AF3D6D7908579D75, - 58FD5E6E0107F0A1C0E3073C, - 6C34ECE6ABF10906575BBC5D, - 44422256F31C739DE4E92072, - 06E90388F1A72465955BE13C, - 2D2D2BE4D94800A694A1EF13, ); name = windows; sourceTree = ""; }; - 017DDC21B885857AE51761F6 = {isa = PBXGroup; children = ( - E4F97E0F78A70B48A63D55A2, - 3589FA62AEAB4E6F35203C9E, - F71BA28F19C69B6E21123305, - 094B59781D1497ACDCB2FE2F, - 8A0AE62A46CC7074943CF7D4, - AC4150695B0BFE662FC46ED3, ); name = menus; sourceTree = ""; }; - F9EFED130A987997C3EE33DD = {isa = PBXGroup; children = ( + 82212EDA01B69E8A40CFA673 = {isa = PBXGroup; children = ( 0BC7295FE531E6ABE963785E, 8B91222AA8F3B575C73C0CA1, 179CD844FE05D1D8D08CA099, @@ -1877,72 +1839,7 @@ 020ADF783703D9BA9DCD3D7D, 3A66E0B358CA31F8F5C576AD, 8215677898B0D8D825F43E97, ); name = layout; sourceTree = ""; }; - 216FBED4B4E9C958D21FE3B2 = {isa = PBXGroup; children = ( - 7E36D425F1C4953D59C9A852, - 9D2E4897BB8EC975399D5185, - E5402DA8D83ACB20A827A575, - 13D8A2A46472D0D3753E9ED0, - 4D7B7390B8ADA5BCB2FC4D7E, - 1E3FF3B5C17A1D17989A7BFF, - E77C0783136C0E53289B3B06, - 57D6293A40FAD31D65B73843, - E6FCB714561F6B8CE6F8F613, - A56E6BF5D58DAB115AB2C7F3, - AF1288951EE8B2A732769111, - D01619CC43F88EC81883B673, - 6F438CE625EC5F1953F8C520, - 4AEC0F849EBE143B5B7ADDE6, - A1F225D69FED37DF00EA8785, - 0919DB7BD5353476E4BAD9C7, - 350FFEC2B46F4374349DE301, - 3D22672A2B5EEB1483BBF982, ); name = buttons; sourceTree = ""; }; - 1BEF9ED02097A0E469F16577 = {isa = PBXGroup; children = ( - 9A7C19DD352D5C2AF86E3D6A, - A91B3F5283A56B815A18CF09, - D6257EA24F3F7E3AED2A21BE, - 46D97AF79F16F09F09B05777, - FEB634B0B7546104F1428EB0, - EC0E5245AB2583040633A061, - 6FE632996BDDCF489ACA9E30, - 60913CA8874B87839680ED5C, - 870B0A5554D4D10C714885E0, - E32E8D5137E167FC95BA408E, - A118FF00B71AB814535DD26E, - 3E29BC933E4E94A8DD283EFE, - 66DB5EBB517DE64A1DAEB542, - 5D723192BBD0480CECA7656F, ); name = positioning; sourceTree = ""; }; - 0287F6A1BCFDCC38C98E9365 = {isa = PBXGroup; children = ( - EE9255CA3AC70F4CBE5ABD1A, - 6CC6AA55D01E126E4CCF4297, - FBE21CA28CDA215648CD2F13, - 178435F0CA12608B22C45154, - 0ADBF1C05C6EB92B82E84C4F, - F380B1F60AFC46CE10185486, - D7DF6903E27D43C0072B75EC, - A5B89CA940B7EB19170AD83A, - 84A6B4C3A37631A52F7135FE, - 14CD526033FAC3187BA103FE, - 6D4E2191273A47C711A7E7C7, - 21E9B1DFB92FB9206141B886, - D18DE409087FFFDCA4187D4F, - 192598A07C49DD0B4C040FE4, - B0A8FB4886C3A19A22B47B15, ); name = drawables; sourceTree = ""; }; - 994DBBFD6AC44FC70881FE07 = {isa = PBXGroup; children = ( - 823362B563DDDB539BA5F935, - FFFF4BBFABABB89918B7911E, - 70BC3C87909EA4BAA5A23BFC, - 6B0C0610CF9F50B3333C3AA3, - 9AD2E3C7786AE05584764EBF, - A62A0E6F7C8143ACCED8F99D, - 5C36A96E57410C0AF4B92644, - 70D716A3A5CB882444F74D9C, - 124D3D67025745C13A55E519, - F90ABECD6755F2498E07FB87, - 5610BF2AF40949530430B302, - C4B9D5E8565EEA36D3C53523, - 729F1EFFD61EE82D7AE1786A, - 8069634B98236D7B2488A4FE, ); name = properties; sourceTree = ""; }; - 1DC09A39874D3DAD26C9CB14 = {isa = PBXGroup; children = ( + 5F6CD938F6E318A5327F6AF2 = {isa = PBXGroup; children = ( 33699837BFD1EEBC798972D8, 580DCF0404770F680378BED3, 41378DB40DCF27AA61DCC27A, @@ -1951,48 +1848,40 @@ 5FDDF73E4E1A5C9FE71A00D5, CAAE1D22DACE9CACB93B2129, 41B136BDEECCE141E09B4D9D, ); name = lookandfeel; sourceTree = ""; }; - 1E3F47A7FEF5901A8C86340E = {isa = PBXGroup; children = ( - F3D817A9D5B16D6BC3BC701A, - B4D899A2442D766A400C56DF, - 896783A7624E3D713C73073D, - 5289F496A5951EE5C0E50AE4, - EB8A93287097DC01B85531D1, - DBAED9DF8F8A34A575B53475, - 5D3A8D8260B3636CA2377938, - 164E2C468EA1492CC75B1A67, - 1CFCC90579BAAE86B8C2846B, - 43DD6B2BCDDAC03F70735F8C, - 466B1668D6078E9D4B441CEF, - 06A11BE78D22BA5017308C44, - 3A8CB335BC2FF058EA9F6B6E, - CD4A4B5DF38D0F6C1B5CA961, - 0BEC67F25D266A1F404CEA32, - 39C1C16215AF44F060AFD446, - F4D01191D307BF102CD106AE, - 34CAB09C6DE25D42631E5920, - 65F124A6502B670A634647EB, - 5B3B4638DFD4B8DD54E91153, - 5DB3404A73A8FC9A1E7FD15B, - D503329DCE178787E5B2D8C2, ); name = filebrowser; sourceTree = ""; }; - 00F75C1EB73D1BB16B133C57 = {isa = PBXGroup; children = ( - 93315295C3BAB41EFD2ABECF, - 846B7257E942D68688EA379A, - 58AA6C4D9618CF7360351A0E, - E6832C69141A41A1B938B256, - 42AB4498A5046FD11E88514D, - 77212847FCD0666A8FA1F76A, - 5A9132A3307532C0CE193FCF, - 12102F36ED28F208178EDD48, - B83E840369713D9CC1D4E640, ); name = commands; sourceTree = ""; }; - 49C4DC78EED2BF02B5F10DE0 = {isa = PBXGroup; children = ( + A3B46AF9BB423719B424E63D = {isa = PBXGroup; children = ( + E4F97E0F78A70B48A63D55A2, + 3589FA62AEAB4E6F35203C9E, + F71BA28F19C69B6E21123305, + 094B59781D1497ACDCB2FE2F, + 8A0AE62A46CC7074943CF7D4, + AC4150695B0BFE662FC46ED3, ); name = menus; sourceTree = ""; }; + B9FF92EED341C3A2B324EA82 = {isa = PBXGroup; children = ( 3D7884FF010879B6D870AE37, B2DC593E5D8E5F920309CFFB, 438BC4DECA4BE95307C4192A, 6B1A75B9335198D93D19DAB8, ); name = misc; sourceTree = ""; }; - 18E1A2C7B540A35729322D0C = {isa = PBXGroup; children = ( - E25F6FE2BEA5667420D0397A, - 9CD457CAB7D77DE0055BC765, ); name = application; sourceTree = ""; }; - 99635EFABE8D325690B6CD88 = {isa = PBXGroup; children = ( + 3F9C0370772691A9B66154E2 = {isa = PBXGroup; children = ( + 8F9997207C596AF8202322E4, + 755CE35AC4E35972BF8CA70F, + 1545BA1CE18331E6FBADA9AC, + C669B2C94347112865575479, + 1BBAEAACC602F3E31B035366, + 19DBDBD739D1DA9E9DC333D9, + F738C9D6F593253C7F427935, + 20741BE773B0E169B497830B, + 8AED28A9FB0E39665E7815B6, + 15A09E42570AED513A1AD45D, + 51BCD6A3FDE52592E1AC6097, + 781E6B28539239138749C2BB, + 2022A1F20164C9781ECB2121, + B7192B6233E1CFEE54DAD83B, + 9AC88A1806AF4270C0500937, + 62D4561E9D9ED6DA7AB0F568, + 0C1B06C65F8D9853BA3F69D2, + 699689749A7CCCD48E78E137, + A9A8CC078A367B391B012C12, + F773D28CC8826E1496D335B4, ); name = mouse; sourceTree = ""; }; + D3310FE798D46290C0943CB3 = {isa = PBXGroup; children = ( 2F6BD75EC64A828A876098E5, F23A7E1AC8DBF480E388B708, 17883F1D2C9554BF9CCCDCBB, @@ -2009,25 +1898,102 @@ C543793FB12BB110AED9D59E, 7B5300A0234A94F53EEF0979, 8FA0603940FEA0AFA46A769E, ); name = native; sourceTree = ""; }; + 63D6D2682A58CB467AA28660 = {isa = PBXGroup; children = ( + 9A7C19DD352D5C2AF86E3D6A, + A91B3F5283A56B815A18CF09, + D6257EA24F3F7E3AED2A21BE, + 46D97AF79F16F09F09B05777, + FEB634B0B7546104F1428EB0, + EC0E5245AB2583040633A061, + 6FE632996BDDCF489ACA9E30, + 60913CA8874B87839680ED5C, + 870B0A5554D4D10C714885E0, + E32E8D5137E167FC95BA408E, + A118FF00B71AB814535DD26E, + 3E29BC933E4E94A8DD283EFE, + 66DB5EBB517DE64A1DAEB542, + 5D723192BBD0480CECA7656F, ); name = positioning; sourceTree = ""; }; + 21058CC0DDBF38FA91C1ACF3 = {isa = PBXGroup; children = ( + 823362B563DDDB539BA5F935, + FFFF4BBFABABB89918B7911E, + 70BC3C87909EA4BAA5A23BFC, + 6B0C0610CF9F50B3333C3AA3, + 9AD2E3C7786AE05584764EBF, + A62A0E6F7C8143ACCED8F99D, + 5C36A96E57410C0AF4B92644, + 70D716A3A5CB882444F74D9C, + 124D3D67025745C13A55E519, + F90ABECD6755F2498E07FB87, + 5610BF2AF40949530430B302, + C4B9D5E8565EEA36D3C53523, + 729F1EFFD61EE82D7AE1786A, + 8069634B98236D7B2488A4FE, ); name = properties; sourceTree = ""; }; + DCC910675D082A3587701D9A = {isa = PBXGroup; children = ( + 5DBAF09F932CFAE3CED41A8E, + 8ABF93CFE7A6F1DA02950F45, + 846AA1CDFADEBB73B72CE6C0, + 88AC1C03EB00B83CB3E1BADE, + 5D920211653499639CFBAEB0, + 7A37B05F1560708B6AD92B12, + 0A91254BAF7DD54A408D07E5, + 0AE0291BE69701532687C71F, + 58D9251941E6D5E12E8A12CA, + EB0BE0B29289704F47B66926, + DD4A6E358F46DEC4600AC71F, + 0CA563CCAA2DE34E0627441A, + F1796E6F4AF848B833E97784, + CA5EBD7676B224123E102A1D, + 985AD86D261BF916AA06E503, + F5C75A94943428CD323AEB2D, + 4F936FD34FDAE8A713449318, + 191D2721158BEE1FA8FFA53C, + CD02F270DE7AE1635A3E423E, + 557B478ED8D268A32B172A8D, + DEEF4C84F0F68E23C3971AC4, + CE1C954808FDA669FEEFDC2B, + DA1A96885181D1109317F1E1, + FE130BFEA38903F1663BD0B6, + 88132D23EE87EA0E8D0C6DAA, + 4110B30D80C9AA175FDFCEAE, + 82E0B14C4BC1D4A777EDF1C8, ); name = widgets; sourceTree = ""; }; + 440B20FC0910928B04DCD11F = {isa = PBXGroup; children = ( + 41C7BF04309105EC3DECEEC9, + 4409D58D62A7EC2ED9F652C2, + A6A099AD6F5CE820FEED5566, + 6A94B66D9A28FCA9AE407E36, + 5BC0603F0C92CED953EEC811, + 25B6747DA841CBE7DCFF2557, + 9078059BFEA4EC0C81DE484B, + 7D997C3DA827D7D540A28D27, + B352DFD2501C5BFCB6129CA6, + 47F59B4C19B060FF0A8D9E6D, + 0EBC8AD3685484272DA7BB28, + 8B8E7EDC3FDB461257EEB131, + A531A8EF845CA83185289794, + C5BDC880AF3D6D7908579D75, + 58FD5E6E0107F0A1C0E3073C, + 6C34ECE6ABF10906575BBC5D, + 44422256F31C739DE4E92072, + 06E90388F1A72465955BE13C, + 2D2D2BE4D94800A694A1EF13, ); name = windows; sourceTree = ""; }; CB8FE4B1EC8B43E8471D7EED = {isa = PBXGroup; children = ( - EBF49DD169CB1C1991F54531, - 7ED33F5BD5F83C3789481829, - 4A41B605F60222EBC972F3FF, - 0B8E9BEB14BE680D5079EEE5, - DE4F57D9099E7C9625FDA63D, - 017DDC21B885857AE51761F6, - F9EFED130A987997C3EE33DD, - 216FBED4B4E9C958D21FE3B2, - 1BEF9ED02097A0E469F16577, - 0287F6A1BCFDCC38C98E9365, - 994DBBFD6AC44FC70881FE07, - 1DC09A39874D3DAD26C9CB14, - 1E3F47A7FEF5901A8C86340E, - 00F75C1EB73D1BB16B133C57, - 49C4DC78EED2BF02B5F10DE0, - 18E1A2C7B540A35729322D0C, - 99635EFABE8D325690B6CD88, - 3E373F5F7CDC69601AF29BEF, + AD5544F448D5238FBF2786C1, + 0985158EC0842D58EFAF4A88, + 8C93F627AE6629664787B22A, + 333EB45EC912CED4AE774566, + E7AFE47062F312AD3941633D, + CA8DACA7438DEBD574B082DF, + 14D605F0AD6F87FD776CC313, + 82212EDA01B69E8A40CFA673, + 5F6CD938F6E318A5327F6AF2, + A3B46AF9BB423719B424E63D, + B9FF92EED341C3A2B324EA82, + 3F9C0370772691A9B66154E2, + D3310FE798D46290C0943CB3, + 63D6D2682A58CB467AA28660, + 21058CC0DDBF38FA91C1ACF3, + DCC910675D082A3587701D9A, + 440B20FC0910928B04DCD11F, C55BA71B6FDCD2E164586597, ); name = "juce_gui_basics"; sourceTree = ""; }; 0DE79324B36B772BB9AB114C = {isa = PBXGroup; children = ( F1EACCC01C6F5B60A9AA8268, @@ -2089,9 +2055,21 @@ CB7EEFAA66EA64EB49A12CD3, CE792CB8CB815FB9C4BB00CB, EE2F440A7C5E268947171C59, - EF082286F87782D8524D3D34, 273D9E2E857E120E21A6288A, ); name = "juce_gui_extra"; sourceTree = ""; }; - 5B99E8B9908C72983EFF2630 = {isa = PBXGroup; children = ( + 946B272BA82D2772A6FA8CB6 = {isa = PBXGroup; children = ( + 2C122BFD1C85AD66AFA8ADD7, + 06D689250B5F795E769E1042, + F9688A3D25501B0BA1B2150B, + 9B44327BB89AC684B0F87AF2, ); name = geometry; sourceTree = ""; }; + E12EAF3D1989C1342EE77EA7 = {isa = PBXGroup; children = ( + 8208AC76F85CC335292642B3, + 333F2DC673517751AEC86933, + 06F4E35E143291457A4CD845, + 252FF82873AF8F922363CBF0, + CC9DCEC108739FBC8A377A22, + 72BD50416C51413DCBD7D8DC, + 2468166757A430208249D81A, ); name = native; sourceTree = ""; }; + A0B2350ED77B5441D2492874 = {isa = PBXGroup; children = ( 28DE5907A93D6C5BB352AF93, C70AF24CE449413957076690, F6F0901EC245C8CB02615A3B, @@ -2109,47 +2087,32 @@ 7CA4E7AAF0CE0F213FA01B2C, 631CEA7DFED8DE65194FC1E5, 64EC48353421CBC5D7D6F4D3, ); name = opengl; sourceTree = ""; }; - 0EC7B54B5AA1812E4AE52EED = {isa = PBXGroup; children = ( - 2C122BFD1C85AD66AFA8ADD7, - 06D689250B5F795E769E1042, - F9688A3D25501B0BA1B2150B, - 9B44327BB89AC684B0F87AF2, ); name = geometry; sourceTree = ""; }; - 630AD5C120E7833D31498274 = {isa = PBXGroup; children = ( + 0F60568C2510A1B111DD2A77 = {isa = PBXGroup; children = ( ABB292366C67E862348338CA, 306F525D44514608FF8A10F8, ); name = utils; sourceTree = ""; }; - 7A98380151F51B0048A5B8A7 = {isa = PBXGroup; children = ( - 8208AC76F85CC335292642B3, - 333F2DC673517751AEC86933, - 06F4E35E143291457A4CD845, - 252FF82873AF8F922363CBF0, - CC9DCEC108739FBC8A377A22, - 72BD50416C51413DCBD7D8DC, - 2468166757A430208249D81A, ); name = native; sourceTree = ""; }; DF46DAEC295921E0636E1BB7 = {isa = PBXGroup; children = ( - 5B99E8B9908C72983EFF2630, - 0EC7B54B5AA1812E4AE52EED, - 630AD5C120E7833D31498274, - 7A98380151F51B0048A5B8A7, - 4F2E874659B2DD2904C73EB5, + 946B272BA82D2772A6FA8CB6, + E12EAF3D1989C1342EE77EA7, + A0B2350ED77B5441D2492874, + 0F60568C2510A1B111DD2A77, 92E3265AE5ED5E5AF742B2E8, ); name = "juce_opengl"; sourceTree = ""; }; - D25110B898F7C803052A228B = {isa = PBXGroup; children = ( - B610E671D5DE17678036510D, - 96ACFF08105BDD921C7F4451, ); name = playback; sourceTree = ""; }; - 8F063EA6A224E11CC3D2E19D = {isa = PBXGroup; children = ( + 49AC2CCBDE87D34D28CF579E = {isa = PBXGroup; children = ( F9B90C281BF97ECE9FC82587, D816676B4DA0465AB19F86B6, ); name = capture; sourceTree = ""; }; - 838757BFDAC97D9940FE644C = {isa = PBXGroup; children = ( + 473E8096E87FBA69DE5B6632 = {isa = PBXGroup; children = ( 91F5F4AA4BF054A9A39BB454, C44C58F5A4D9D8EEC658DDB1, 2BB466A16DB3D0072FF5CAC4, 056D9A6EB326BFEFC5BDE2D3, 3E661E784109A348BCABC54F, 38B200E1A4EA60A3F45289DB, ); name = native; sourceTree = ""; }; + 8BC0DE9A3B3A69C0B8F1C34C = {isa = PBXGroup; children = ( + B610E671D5DE17678036510D, + 96ACFF08105BDD921C7F4451, ); name = playback; sourceTree = ""; }; 8ACA7A0E9B8D70E75805E231 = {isa = PBXGroup; children = ( - D25110B898F7C803052A228B, - 8F063EA6A224E11CC3D2E19D, - 838757BFDAC97D9940FE644C, - 450AC22E72D34DBD7DD81D6E, + 49AC2CCBDE87D34D28CF579E, + 473E8096E87FBA69DE5B6632, + 8BC0DE9A3B3A69C0B8F1C34C, D8AF139FCAFA5DD1E63F667A, ); name = "juce_video"; sourceTree = ""; }; 84CE6C630F4D1E00E4C2F97F = {isa = PBXGroup; children = ( B857FA4BA21C5AD0321C7F32, @@ -2168,57 +2131,37 @@ 8ACA7A0E9B8D70E75805E231, ); name = "Juce Modules"; sourceTree = ""; }; 0AE34B3CCCDB69FFCCC8D5EA = {isa = PBXGroup; children = ( 823176BBEBAB0ABC7DBA2817, - AA6B7C4CCA49273A0A082DD0, - F257878331127C40332FC6D9, - DD97A7CBBE42561E6480E3ED, - F195D8472CD52C0320B76657, - 366FDB46A322191451FF8BB7, - DEDF197765F5312D4BDDC0D3, - 9695A1608637F4DE16EE7E36, - 4026F2A924A7C41A4F15F0E4, - 6394509436568AE6CE106394, - 13BE9CACCBFF4F0B2BB1EA9A, - 017CCA9557BD06B5BDD9E3AC, 0D3AB1D2BB096CE5F3EAAE0F, AF1D898A30C9A5E61A5FC284, - CF2A59FABE1AEC5251A7C9A6, - 3D80F6C819C52F8601982BB4, - E25210222D5361520DF538D7, - 438CCFB32FD55A6D4D079D4F, - 61A9011406372924AD3ABD36, - 68015E3C47D0D8486DC7A937, - 9137FCD5EEE0BDE537FBA6AE, - 069622CB01111075080B6F60, - 336D3D894D0B634AE55AE891, - 674EB5DE8F89ACACE45D7F33, - 836EAC1C5D126C6C8907E8C7, - BD76537612F10BE2E2D69CAD, - 5242B63C20CC3AACFE2604E7, - 0D4AA39D67CF9EB2B8FC06C9, - F142879E77C37813DA19ED63, - 789EF38A1F2A6ED1F0B9275D, - 7FB910D43631077DB32A2110, - 37050A358042A06CF9CB046A, - 4BFC336E5E422B4F7AC270F3, - B16C314C068BA840D4C85E3F, - 4BFC4BAE9302DCBFB1C464B7, - EC96CF90B9DFF7882C05B9BE, - B003CE3A9A96265B7CDD9E5A, - EE10601535426EBE973755EE, - 86FD2BEB554C25724A2AF813, - E8F14A4246A337084B54E9C1, - 35B2E682E7F5A2ADC2513066, - 6E9CF164968692ECBF14BFA4, - 3DC291F8A448B57C4E7B85C9, - F0E7FB678622A999A3AF4FED, - 21F7313455725884DEC213E7, - F7D1FD08E57CD55F824DB44D, - A9BFA5468698DC8F32062A9B, - E985EAD2C55D291146775D92, - CCF97D006BD017722C74B6A7, ); name = "Juce Library Code"; sourceTree = ""; }; + CBDE271C4C5387CE39BD348F, + 6FCB8DD99D8DB1C154E30620, + 0195751393A0F4E776E94CE5, + DA15C477B5B69E17C6442032, + BF1F2E7B013EA985A6EC8AE4, + 5B612AFAF7F9CE8BBC876ADB, + 4A6AC707A211C4AFC744D6F3, + 9A60678019A806986B990EF6, + CA3B897A065AD461112CFB91, + 7347E6F3FE64C924881D94FA, + 6785312B696985E1682C2DD4, + E87773680B3B09CAC94710D0, + E6178B7C49CB5C96405E0929, + 815CBEA75F0BEF8BA8EB2586, + F4FD9E9D7C08DABDBE24AC0C, + A4AB3C63E2B2CD0FAF865F4C, + 9191498AD661685C4E50D690, + 96B487DCFF7726E30F91E153, + 4C4F5DA28D5739A0FD38227F, + 42061FCA41B3085984D6493D, + E985EAD2C55D291146775D92, ); name = "Juce Library Code"; sourceTree = ""; }; 3374B9341BF8422BE6EC8CF5 = {isa = PBXGroup; children = ( - F7DD27F194797DB8F64A11E0, - 8F6829961A0F50B8265BD9CB, ); name = Resources; sourceTree = ""; }; + 13FEE7D00EF250370BB1D7C1, + 641C08407D49F28BD9FDB843, + 3B0847349353DE99EB99252B, + E9105E2E5E237EC32F79DFDF, + 57D32ED9C0E97B78C13DC573, + 8F6829961A0F50B8265BD9CB, + 47C8050DE3ABBEC6BEC74B2F, ); name = Resources; sourceTree = ""; }; 649BBC267932DD53D319C8C1 = {isa = PBXGroup; children = ( 918ECC9726F9792AEA2BF389, 759F7DE2DC579FE827D3048E, @@ -2235,71 +2178,382 @@ 15B8BCB48229C73748FB9E9C, 0E52162DFFFCCD06B941AE62, ); name = Frameworks; sourceTree = ""; }; AE89DBCAA3968A3BB77128E3 = {isa = PBXGroup; children = ( - 4854B1D7DF32D117BB7E4D1F, ); name = Products; sourceTree = ""; }; + 623B11E55A0D25A3511AB902, + DA5881053EBA06F96F1D1CF3, + F06A0C9E80A5DD8CB3AFDD0E, + 4E98D6E65CE3E073DB1F9113, + 03B7AAA7C11BC7F21B857177, ); name = Products; sourceTree = ""; }; FB6D20503B6A21E15DD99922 = {isa = PBXGroup; children = ( + 47C8050DE3ABBEC6BEC74B2F, F420488E4B593F5D56857291, 84CE6C630F4D1E00E4C2F97F, 0AE34B3CCCDB69FFCCC8D5EA, 3374B9341BF8422BE6EC8CF5, 649BBC267932DD53D319C8C1, AE89DBCAA3968A3BB77128E3, ); name = Source; sourceTree = ""; }; - F8A399D3BF5AF9EA6E06A4E9 = {isa = XCBuildConfiguration; buildSettings = { + 326E2BA4D324D09F4A7F0A63 = {isa = XCBuildConfiguration; buildSettings = { }; name = Debug; }; + B4227B6386A801962DC6DE9F = {isa = XCBuildConfiguration; buildSettings = { }; name = Release; }; + 5F2A5A5FDFB771E794E04854 = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; COPY_PHASE_STRIP = NO; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( "_DEBUG=1", "DEBUG=1", + "JucePlugin_Build_VST=1", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", "JUCER_XCODE_MAC_F6D2F4CF=1", "JUCE_APP_VERSION=1.0.0", "JUCE_APP_VERSION_HEX=0x10000", ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GENERATE_PKGINFO_FILE = YES; - HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "../../../../../modules", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "$(inherited)"); - INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; - LIBRARY_SEARCH_PATHS = ("$(inherited)", "\"$(HOME)/SDKs/AAX/Libs/Debug\""); + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-VST.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; LIBRARY_STYLE = Bundle; 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"; - 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\""; + OTHER_LDFLAGS = "-bundle"; PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.MultiOutSynth; SDKROOT_ppc = macosx10.5; - WRAPPER_EXTENSION = component; }; name = Debug; }; - 6E412255106D2A5FF632F0C5 = {isa = XCBuildConfiguration; buildSettings = { + WRAPPER_EXTENSION = vst; }; name = Debug; }; + A57CA38D505E2243A3395BA7 = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; DEAD_CODE_STRIPPING = YES; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_OPTIMIZATION_LEVEL = 3; GCC_PREPROCESSOR_DEFINITIONS = ( "_NDEBUG=1", "NDEBUG=1", + "JucePlugin_Build_VST=1", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", "JUCER_XCODE_MAC_F6D2F4CF=1", "JUCE_APP_VERSION=1.0.0", "JUCE_APP_VERSION_HEX=0x10000", ); GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GENERATE_PKGINFO_FILE = YES; - HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "../../../../../modules", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-VST.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + LIBRARY_STYLE = Bundle; + 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"; + OTHER_LDFLAGS = "-bundle"; + PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.MultiOutSynth; + SDKROOT_ppc = macosx10.5; + WRAPPER_EXTENSION = vst; }; name = Release; }; + 242FD13403C5B6F386EFC545 = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + COPY_PHASE_STRIP = NO; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_DEBUG=1", + "DEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=1", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-VST3.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST3/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + LIBRARY_STYLE = Bundle; + 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"; + OTHER_LDFLAGS = "-bundle"; + PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.MultiOutSynth; + SDKROOT_ppc = macosx10.5; + WRAPPER_EXTENSION = vst3; }; name = Debug; }; + 6908F21CF215042E9B0ABFFA = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + DEAD_CODE_STRIPPING = YES; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_NDEBUG=1", + "NDEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=1", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-VST3.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST3/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + LIBRARY_STYLE = Bundle; + 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"; + OTHER_LDFLAGS = "-bundle"; + PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.MultiOutSynth; + SDKROOT_ppc = macosx10.5; + WRAPPER_EXTENSION = vst3; }; name = Release; }; + FC26955F59CF4154DB451744 = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + COPY_PHASE_STRIP = NO; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_DEBUG=1", + "DEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=1", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-AU.plist; INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + LIBRARY_STYLE = Bundle; + 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"; + 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.ROLI.MultiOutSynth; + SDKROOT_ppc = macosx10.5; + WRAPPER_EXTENSION = component; }; name = Debug; }; + DF2B398AB709C3CAEAC8FE2E = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + DEAD_CODE_STRIPPING = YES; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_NDEBUG=1", + "NDEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=1", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-AU.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + LIBRARY_STYLE = Bundle; + 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"; + 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.ROLI.MultiOutSynth; + SDKROOT_ppc = macosx10.5; + WRAPPER_EXTENSION = component; }; name = Release; }; + 43006A3E8ABF9104DF671B2D = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + COPY_PHASE_STRIP = NO; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_DEBUG=1", + "DEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=1", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-AAX.plist; + INSTALL_PATH = "/Library/Application Support/Avid/Audio/Plug-Ins/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + LIBRARY_SEARCH_PATHS = ("$(inherited)", "\"$(HOME)/SDKs/AAX/Libs/Debug\""); + LIBRARY_STYLE = Bundle; + 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"; + OTHER_LDFLAGS = "-bundle -lAAXLibrary"; + PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.MultiOutSynth; + SDKROOT_ppc = macosx10.5; + WRAPPER_EXTENSION = aaxplugin; }; name = Debug; }; + C73CB90BA269F3D54B8DF37B = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + DEAD_CODE_STRIPPING = YES; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_NDEBUG=1", + "NDEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=1", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-AAX.plist; + INSTALL_PATH = "/Library/Application Support/Avid/Audio/Plug-Ins/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; LIBRARY_SEARCH_PATHS = ("$(inherited)", "\"$(HOME)/SDKs/AAX/Libs/Release\""); LIBRARY_STYLE = Bundle; 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"; 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; }; + WRAPPER_EXTENSION = aaxplugin; }; name = Release; }; + 566A476BDFD53766AFBC66DC = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + COPY_PHASE_STRIP = NO; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_DEBUG=1", + "DEBUG=1", + "JUCE_SHARED_CODE=1", + "JucePlugin_Build_VST=1", + "JucePlugin_Build_VST3=1", + "JucePlugin_Build_AU=1", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=1", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-Shared_Code.plist; + INSTALL_PATH = "@executable_path/../Frameworks"; + LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)"; + 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.MultiOutSynth.MultiOutSynthFramework; + SDKROOT_ppc = macosx10.5; }; name = Debug; }; + DA0CDE71882F6FB83E1D247E = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + DEAD_CODE_STRIPPING = YES; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_NDEBUG=1", + "NDEBUG=1", + "JUCE_SHARED_CODE=1", + "JucePlugin_Build_VST=1", + "JucePlugin_Build_VST3=1", + "JucePlugin_Build_AU=1", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=1", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-Shared_Code.plist; + INSTALL_PATH = "@executable_path/../Frameworks"; + LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)"; + 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.MultiOutSynth.MultiOutSynthFramework; + SDKROOT_ppc = macosx10.5; }; name = Release; }; D56139B213D35348922DEF18 = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; @@ -2332,64 +2586,95 @@ PRODUCT_NAME = "MultiOutSynth"; WARNING_CFLAGS = -Wreorder; ZERO_LINK = NO; }; name = Release; }; + 75C3E9C0CE34EEE2F5A36000 = {isa = PBXTargetDependency; target = B377E1482A96692F10D48B50; }; + 4B92B77B69B5E3247011B212 = {isa = PBXTargetDependency; target = 2CFA1B5A759BEA36D2129738; }; + D2DBB1440B1CF214018AA738 = {isa = PBXTargetDependency; target = D7588383E404F0E9A3C21185; }; + DF8F30F407522637B3D77BAD = {isa = PBXTargetDependency; target = 78448B618A99813B399CCE6A; }; + 15EDF08095AA485F68F91C06 = {isa = PBXTargetDependency; target = 744AC9FB5FF46367E6EAB865; }; 7D1924CF413FEA0C1FCDF335 = {isa = XCConfigurationList; buildConfigurations = ( D56139B213D35348922DEF18, 11D42BF26585EEC43B4A33A8, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 258900BC2E18AC0FBBB1A5C9 = {isa = XCConfigurationList; buildConfigurations = ( - F8A399D3BF5AF9EA6E06A4E9, - 6E412255106D2A5FF632F0C5, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - D4C6B02D3AD108DABAF74ADC = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 7293C6A173EDB952C43C4E1E, ); runOnlyForDeploymentPostprocessing = 0; }; - F7719236B49688781DD6B846 = {isa = PBXRezBuildPhase; buildActionMask = 2147483647; files = ( - B57659DE3DD7C65F0107B73C, ); runOnlyForDeploymentPostprocessing = 0; }; - 429326506F1E5143651E6AE0 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - DBEB6D440551FCEA8C7EC910, - 4C593C5E2BBEBE6602BC2D7E, - 336FDC6AAF0C12FEC56CEF4E, - A37F2E168D76C0BC4E16D124, - 7C16161AF11DEE468EB7AAE8, - CCA093D7E863A3C452F6F210, - 3062FAED7009E04AE64B02F0, - 2CDF98168933A73CABCEEB2D, - 44EF65C8B9E062092E97832E, - 4BE5C7C5095BB8B911EDCAEF, - 0D72A8EBD37D135541C22DC0, - 7D9F6CC6CA22A04A838ABC31, - F3EA62332EC4B7A82F672E51, - 8107B4445B2E8A005789622D, - C4199B55FBF8175C1BBAB549, - 3E254DED27A6B6B1DAA19A7E, - 48465E10358CFABFC70D37C2, - 853D86690BE26EE49202435B, - 5687F17B994C4ECD71B59B93, - 9C932B1B987ED6E77C5BCF6C, - 878ABFA0B967C7C7EA58D8BC, - F70888B9F24D68C163C8CD59, - 7971BA84DB8065210435D3E4, - D3AD32EA957E77DCF549221D, - B56FAB7F69B4F15A2A73B338, - 9B183653236DBC85D2909FA9, - 4AF300B9A3F156AE365D5022, - 3CD8CC236B1C5C712EE7B1B0, - 9F61652C84849FA84115815A, - 32344CFEB4DBAB32C4E89459, - 8C0C0B3878BABC8AEF7A5C5E, - BDECD7BC0368FD27F90BD0E8, - 4809A536A6DCBBA6C51BECDA, - F19B10C03828091A49893D29, - 25D77A01FDA68B7386FBE2BF, - 2FAA8DC2BD1AB91F280EA403, - C1D81AAD490E24FB5222FF7E, - 0CA1E2AE357CA0C6536F39B5, - 91F2564E0E77FC9BFCF9279E, - D15C0D6C18785D7B656CF9E3, - B5F17AF8760FD91E5B1C9178, - 8A1A75B22EEEDB75565374DF, - 7BB8237F0C47CDFB0BF0C5A1, - 8064899195DB863A4371C5E8, - 1CB10731775874282EC846CB, - B56EF0B85C9410A0B5E679AD, ); runOnlyForDeploymentPostprocessing = 0; }; - 874FD69533D360C05A17F6FE = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + F00437060A1034E54BE737BF = {isa = XCConfigurationList; buildConfigurations = ( + 326E2BA4D324D09F4A7F0A63, + B4227B6386A801962DC6DE9F, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + F142F5144E24B9733BC560AA = {isa = PBXAggregateTarget; buildConfigurationList = F00437060A1034E54BE737BF; dependencies = ( + 75C3E9C0CE34EEE2F5A36000, + 4B92B77B69B5E3247011B212, + D2DBB1440B1CF214018AA738, + DF8F30F407522637B3D77BAD, + 15EDF08095AA485F68F91C06, ); name = "MultiOutSynth (All)"; productName = MultiOutSynth; }; + 7618719E4E2304E0794A1DB3 = {isa = XCConfigurationList; buildConfigurations = ( + 5F2A5A5FDFB771E794E04854, + A57CA38D505E2243A3395BA7, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 04536241DA00BCF3D76062A5 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 7293C6A173EDB952C43C4E1E, + 0D85DE716EC383C1E7CA404B, ); runOnlyForDeploymentPostprocessing = 0; }; + FEC98C3DDAA56D5D02722C5F = {isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; files = ( + B858B71D3E92739E1BA3D4A0, ); runOnlyForDeploymentPostprocessing = 0; name = "Embed Frameworks"; dstPath = ""; dstSubfolderSpec = 10; }; + 8059231D72D6BF32B790D039 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + E131F66DF397C2C865D2BDB9, ); runOnlyForDeploymentPostprocessing = 0; }; + 33FB604DCAD6DD6453DD6488 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 4C5BD07CD6009F527FA6A300, + DB4D2ED38B12372CBA084588, + 3353DDE09726F4D299D82B62, + 578C165E2B9B13D3889275F3, + 62B6FB220AF68EBA704B9D4E, + F60C66D496040B9020F85EA0, + 3BCC046F9369CD8E0D747ECB, + 29727733888EEDEBAA076762, + D235710EF601383BE6387C66, + B3518C2BA9587206081CEE53, + EF983C366CDBC57B6FEE75D3, + FC43C69A538FBE74E63D8D2D, + B858B71D3E92739E1BA3D4A0, ); runOnlyForDeploymentPostprocessing = 0; }; + B377E1482A96692F10D48B50 = {isa = PBXNativeTarget; buildConfigurationList = 7618719E4E2304E0794A1DB3; buildPhases = ( + 04536241DA00BCF3D76062A5, + FEC98C3DDAA56D5D02722C5F, + 8059231D72D6BF32B790D039, + 33FB604DCAD6DD6453DD6488, ); buildRules = ( ); dependencies = ( + 15EDF08095AA485F68F91C06, ); name = "MultiOutSynth (VST)"; productName = MultiOutSynth; productReference = 623B11E55A0D25A3511AB902; productInstallPath = "$(HOME)/Library/Audio/Plug-Ins/VST/"; productType = "com.apple.product-type.bundle"; }; + 63AD25E2362F669ECE53C78A = {isa = XCConfigurationList; buildConfigurations = ( + 242FD13403C5B6F386EFC545, + 6908F21CF215042E9B0ABFFA, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 7088241D4191060ACF5CFCA9 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 7293C6A173EDB952C43C4E1E, + 0D85DE716EC383C1E7CA404B, ); runOnlyForDeploymentPostprocessing = 0; }; + 69667902B6C0BD81480F990C = {isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; files = ( + B858B71D3E92739E1BA3D4A0, ); runOnlyForDeploymentPostprocessing = 0; name = "Embed Frameworks"; dstPath = ""; dstSubfolderSpec = 10; }; + DD4F2A6BEA93776ADBB4E10B = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 8C76E37FF5C940A385BEB140, ); runOnlyForDeploymentPostprocessing = 0; }; + 4C772F7842B90802A57373D0 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 4C5BD07CD6009F527FA6A300, + DB4D2ED38B12372CBA084588, + 3353DDE09726F4D299D82B62, + 578C165E2B9B13D3889275F3, + 62B6FB220AF68EBA704B9D4E, + F60C66D496040B9020F85EA0, + 3BCC046F9369CD8E0D747ECB, + 29727733888EEDEBAA076762, + D235710EF601383BE6387C66, + B3518C2BA9587206081CEE53, + EF983C366CDBC57B6FEE75D3, + FC43C69A538FBE74E63D8D2D, + B858B71D3E92739E1BA3D4A0, ); runOnlyForDeploymentPostprocessing = 0; }; + 2CFA1B5A759BEA36D2129738 = {isa = PBXNativeTarget; buildConfigurationList = 63AD25E2362F669ECE53C78A; buildPhases = ( + 7088241D4191060ACF5CFCA9, + 69667902B6C0BD81480F990C, + DD4F2A6BEA93776ADBB4E10B, + 4C772F7842B90802A57373D0, ); buildRules = ( ); dependencies = ( + 15EDF08095AA485F68F91C06, ); name = "MultiOutSynth (VST3)"; productName = MultiOutSynth; productReference = DA5881053EBA06F96F1D1CF3; productInstallPath = "$(HOME)/Library/Audio/Plug-Ins/VST3/"; productType = "com.apple.product-type.bundle"; }; + 8A2135DBF61F0EFEFD84DC06 = {isa = XCConfigurationList; buildConfigurations = ( + FC26955F59CF4154DB451744, + DF2B398AB709C3CAEAC8FE2E, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + BFA824A2C63456DA5C6422E9 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 7293C6A173EDB952C43C4E1E, + 0D85DE716EC383C1E7CA404B, ); runOnlyForDeploymentPostprocessing = 0; }; + 1D6CA2BD813B8675F97F03C3 = {isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; files = ( + B858B71D3E92739E1BA3D4A0, ); runOnlyForDeploymentPostprocessing = 0; name = "Embed Frameworks"; dstPath = ""; dstSubfolderSpec = 10; }; + 1F0C1963E7BE22BFAB4A0ADB = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + A52519AD234D3F6BC18A647D, + FB2400E593546DDBAA460738, ); runOnlyForDeploymentPostprocessing = 0; }; + 97A87841F44EC745D2865A5B = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( 4C5BD07CD6009F527FA6A300, DB4D2ED38B12372CBA084588, 1F6FFD1131767D8AB101550A, @@ -2403,15 +2688,82 @@ D235710EF601383BE6387C66, B3518C2BA9587206081CEE53, EF983C366CDBC57B6FEE75D3, + FC43C69A538FBE74E63D8D2D, + B858B71D3E92739E1BA3D4A0, ); runOnlyForDeploymentPostprocessing = 0; }; + D7588383E404F0E9A3C21185 = {isa = PBXNativeTarget; buildConfigurationList = 8A2135DBF61F0EFEFD84DC06; buildPhases = ( + BFA824A2C63456DA5C6422E9, + 1D6CA2BD813B8675F97F03C3, + 1F0C1963E7BE22BFAB4A0ADB, + 97A87841F44EC745D2865A5B, ); buildRules = ( ); dependencies = ( + 15EDF08095AA485F68F91C06, ); name = "MultiOutSynth (AU)"; productName = MultiOutSynth; productReference = F06A0C9E80A5DD8CB3AFDD0E; productInstallPath = "$(HOME)/Library/Audio/Plug-Ins/Components/"; productType = "com.apple.product-type.bundle"; }; + 463B58AAF8742F7F7F98153D = {isa = XCConfigurationList; buildConfigurations = ( + 43006A3E8ABF9104DF671B2D, + C73CB90BA269F3D54B8DF37B, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 9D7CAC1B0EC21F17055AD199 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 7293C6A173EDB952C43C4E1E, + 0D85DE716EC383C1E7CA404B, ); runOnlyForDeploymentPostprocessing = 0; }; + 3A573EADEDA76BD1BAF8B353 = {isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; files = ( + B858B71D3E92739E1BA3D4A0, ); runOnlyForDeploymentPostprocessing = 0; name = "Embed Frameworks"; dstPath = ""; dstSubfolderSpec = 10; }; + 42953782839B367DFDE6876C = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + F85D68AA01C1180EE14E32B2, ); runOnlyForDeploymentPostprocessing = 0; }; + 13698285AE0013DEB1144725 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 4C5BD07CD6009F527FA6A300, + DB4D2ED38B12372CBA084588, + 3353DDE09726F4D299D82B62, + 578C165E2B9B13D3889275F3, + 62B6FB220AF68EBA704B9D4E, + F60C66D496040B9020F85EA0, + 3BCC046F9369CD8E0D747ECB, + 29727733888EEDEBAA076762, + D235710EF601383BE6387C66, + B3518C2BA9587206081CEE53, + EF983C366CDBC57B6FEE75D3, + FC43C69A538FBE74E63D8D2D, + B858B71D3E92739E1BA3D4A0, ); runOnlyForDeploymentPostprocessing = 0; }; + 78448B618A99813B399CCE6A = {isa = PBXNativeTarget; buildConfigurationList = 463B58AAF8742F7F7F98153D; buildPhases = ( + 9D7CAC1B0EC21F17055AD199, + 3A573EADEDA76BD1BAF8B353, + 42953782839B367DFDE6876C, + 13698285AE0013DEB1144725, ); buildRules = ( ); dependencies = ( + 15EDF08095AA485F68F91C06, ); name = "MultiOutSynth (AAX)"; productName = MultiOutSynth; productReference = 4E98D6E65CE3E073DB1F9113; productInstallPath = "/Library/Application Support/Avid/Audio/Plug-Ins/"; productType = "com.apple.product-type.bundle"; }; + 73259124A13B6ED37AC0BCEF = {isa = XCConfigurationList; buildConfigurations = ( + 566A476BDFD53766AFBC66DC, + DA0CDE71882F6FB83E1D247E, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 6EE42F29415E0C1BCA23ACEE = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + DBEB6D440551FCEA8C7EC910, + F3EA62332EC4B7A82F672E51, + CBF6D1C360065E76B0C371BD, + 6849CB54E7F162EDDFB344C9, + 397C4D19B169CC6BA10CDB20, + 0C216C57ACB3BD7E53CCAED2, + A0AA7D85482D4BC600DF298C, + C8229B4AEC6EB05218183A1B, + 01D0DCAAD01E6C6055BCD4C8, + FB9157DCC01D59CA41DE4B05, + 94C7EA896BD57C2AFAF64946, + 70A13684288939F58A5E4AA8, + B13A02CE186361F413794BF0, + CB5D6D4C25AA93B2208F298D, + D4A51FB7C92D9CC94A65F932, + 2FC78AC5F475D4C034DFD2BD, + 052356C35CC69AEC67B12929, ); runOnlyForDeploymentPostprocessing = 0; }; + 4C65F8BC6D2701513014ABC7 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 4C5BD07CD6009F527FA6A300, + DB4D2ED38B12372CBA084588, + 3353DDE09726F4D299D82B62, + 578C165E2B9B13D3889275F3, + 62B6FB220AF68EBA704B9D4E, + F60C66D496040B9020F85EA0, + 3BCC046F9369CD8E0D747ECB, + 29727733888EEDEBAA076762, + D235710EF601383BE6387C66, + B3518C2BA9587206081CEE53, + EF983C366CDBC57B6FEE75D3, FC43C69A538FBE74E63D8D2D, ); runOnlyForDeploymentPostprocessing = 0; }; - C25DE7C6529371822FBE2460 = {isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; name = "Post-build script"; shellPath = /bin/sh; shellScript = "\n# This script takes the build product and copies it to the AU, VST, VST3, RTAS and AAX folders, depending on \n# which plugin types you've built\n\noriginal=$CONFIGURATION_BUILD_DIR/$FULL_PRODUCT_NAME\n\n# this looks inside the binary to detect which platforms are needed.. \ncopyAU=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'AudioUnit' | wc -l`\ncopyVST=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'VSTPlugin' | wc -l`\ncopyVST3=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'GetPluginFactory' | wc -l`\ncopyRTAS=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'CProcess' | wc -l`\ncopyAAX=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'ACFStartup' | wc -l`\n\nif [ $copyAU -gt 0 ]; then\n echo \"Copying to AudioUnit folder...\"\n AUDir=~/Library/Audio/Plug-Ins/Components\n mkdir -p \"$AUDir\"\n AU=$AUDir/$PRODUCT_NAME.component\n if [ -d \"$AU\" ]; then \n rm -r \"$AU\"\n fi\n\n cp -r \"$original\" \"$AU\"\n sed -i \"\" -e 's/TDMwPTul/BNDLPTul/g' \"$AU/Contents/PkgInfo\"\n sed -i \"\" -e 's/TDMw/BNDL/g' \"$AU/Contents/$INFOPLIST_FILE\"\nfi\n\nif [ $copyVST -gt 0 ]; then\n echo \"Copying to VST folder...\"\n VSTDir=~/Library/Audio/Plug-Ins/VST\n mkdir -p \"$VSTDir\"\n VST=$VSTDir/$PRODUCT_NAME.vst\n if [ -d \"$VST\" ]; then \n rm -r \"$VST\"\n fi\n\n cp -r \"$original\" \"$VST\"\n sed -i \"\" -e 's/TDMwPTul/BNDLPTul/g' \"$VST/Contents/PkgInfo\"\n sed -i \"\" -e 's/TDMw/BNDL/g' \"$VST/Contents/$INFOPLIST_FILE\"\nfi\n\nif [ $copyVST3 -gt 0 ]; then\n echo \"Copying to VST3 folder...\"\n VST3Dir=~/Library/Audio/Plug-Ins/VST3\n mkdir -p \"$VST3Dir\"\n VST3=$VST3Dir/$PRODUCT_NAME.vst3\n if [ -d \"$VST3\" ]; then \n rm -r \"$VST3\"\n fi\n\n cp -r \"$original\" \"$VST3\"\n sed -i \"\" -e 's/TDMwPTul/BNDLPTul/g' \"$VST3/Contents/PkgInfo\"\n sed -i \"\" -e 's/TDMw/BNDL/g' \"$VST3/Contents/$INFOPLIST_FILE\"\nfi\n\nif [ $copyRTAS -gt 0 ]; then\n echo \"Copying to RTAS folder...\"\n RTASDir=/Library/Application\\ Support/Digidesign/Plug-Ins\n if [ -d \"$RTASDir\" ]; then\n RTAS=$RTASDir/$PRODUCT_NAME.dpm\n if [ -d \"$RTAS\" ]; then\n rm -r \"$RTAS\"\n fi\n\n cp -r \"$original\" \"$RTAS\"\n fi\nfi\n\nif [ $copyAAX -gt 0 ]; then\n echo \"Copying to AAX folder...\"\n\n if [ -d \"/Applications/ProTools_3PDev/Plug-Ins\" ]; then\n AAX1=\"/Applications/ProTools_3PDev/Plug-Ins/$PRODUCT_NAME.aaxplugin\"\n\n if [ -d \"$AAX1\" ]; then\n rm -r \"$AAX1\"\n fi\n\n cp -R -H \"$original\" \"$AAX1\"\n fi\n\n if [ -d \"/Library/Application Support/Avid/Audio/Plug-Ins\" ]; then\n AAX2=\"/Library/Application Support/Avid/Audio/Plug-Ins/$PRODUCT_NAME.aaxplugin\"\n\n if [ -d \"$AAX2\" ]; then\n rm -r \"$AAX2\"\n fi\n\n cp -R -H \"$original\" \"$AAX2\"\n fi\nfi\n"; }; - DAA965765A6C34E014018541 = {isa = PBXNativeTarget; buildConfigurationList = 258900BC2E18AC0FBBB1A5C9; buildPhases = ( - D4C6B02D3AD108DABAF74ADC, - F7719236B49688781DD6B846, - 429326506F1E5143651E6AE0, - 874FD69533D360C05A17F6FE, - C25DE7C6529371822FBE2460, ); buildRules = ( ); dependencies = ( ); name = MultiOutSynth; productName = MultiOutSynth; productReference = 4854B1D7DF32D117BB7E4D1F; productInstallPath = "$(HOME)/Library/Audio/Plug-Ins/Components/"; productType = "com.apple.product-type.bundle"; }; - BEAECE0013C448921D99879E = {isa = PBXProject; buildConfigurationList = 7D1924CF413FEA0C1FCDF335; attributes = { LastUpgradeCheck = 0440; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = FB6D20503B6A21E15DD99922; projectDirPath = ""; projectRoot = ""; targets = ( DAA965765A6C34E014018541 ); }; + 744AC9FB5FF46367E6EAB865 = {isa = PBXNativeTarget; buildConfigurationList = 73259124A13B6ED37AC0BCEF; buildPhases = ( + 6EE42F29415E0C1BCA23ACEE, + 4C65F8BC6D2701513014ABC7, ); buildRules = ( ); dependencies = ( ); name = "MultiOutSynth (Shared Code)"; productName = MultiOutSynth; productReference = 03B7AAA7C11BC7F21B857177; productInstallPath = "@executable_path/../Frameworks"; productType = "com.apple.product-type.framework"; }; + BEAECE0013C448921D99879E = {isa = PBXProject; buildConfigurationList = 7D1924CF413FEA0C1FCDF335; attributes = { LastUpgradeCheck = 0440; TargetAttributes = { F142F5144E24B9733BC560AA = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };B377E1482A96692F10D48B50 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };2CFA1B5A759BEA36D2129738 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };D7588383E404F0E9A3C21185 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };78448B618A99813B399CCE6A = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };744AC9FB5FF46367E6EAB865 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = FB6D20503B6A21E15DD99922; projectDirPath = ""; projectRoot = ""; targets = (F142F5144E24B9733BC560AA, B377E1482A96692F10D48B50, 2CFA1B5A759BEA36D2129738, D7588383E404F0E9A3C21185, 78448B618A99813B399CCE6A, 744AC9FB5FF46367E6EAB865); }; }; rootObject = BEAECE0013C448921D99879E; } diff --git a/examples/PlugInSamples/MultiOutSynth/Builds/VisualStudio2015/MultiOutSynth.vcxproj b/examples/PlugInSamples/MultiOutSynth/Builds/VisualStudio2015/MultiOutSynth.vcxproj index e665b7face..94c085c26e 100644 --- a/examples/PlugInSamples/MultiOutSynth/Builds/VisualStudio2015/MultiOutSynth.vcxproj +++ b/examples/PlugInSamples/MultiOutSynth/Builds/VisualStudio2015/MultiOutSynth.vcxproj @@ -55,7 +55,7 @@ Disabled EditAndContinue - c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;..\..\..\..\..\modules;c:\SDKs\AAX;c:\SDKs\AAX\Interfaces;c:\SDKs\AAX\Interfaces\ACF;%(AdditionalIncludeDirectories) + c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;c:\SDKs\AAX;c:\SDKs\AAX\Interfaces;c:\SDKs\AAX\Interfaces\ACF;..\..\..\..\..\modules;%(AdditionalIncludeDirectories) _CRT_SECURE_NO_WARNINGS;JucePlugin_AAXLibs_path="c:\\SDKs\\AAX\\Libs";WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions) MultiThreadedDebugDLL true @@ -99,7 +99,7 @@ Full - c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;..\..\..\..\..\modules;c:\SDKs\AAX;c:\SDKs\AAX\Interfaces;c:\SDKs\AAX\Interfaces\ACF;%(AdditionalIncludeDirectories) + c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;c:\SDKs\AAX;c:\SDKs\AAX\Interfaces;c:\SDKs\AAX\Interfaces\ACF;..\..\..\..\..\modules;%(AdditionalIncludeDirectories) _CRT_SECURE_NO_WARNINGS;JucePlugin_AAXLibs_path="c:\\SDKs\\AAX\\Libs";WIN32;_WINDOWS;NDEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions) MultiThreadedDLL true @@ -223,6 +223,9 @@ true + + true + true @@ -238,15 +241,6 @@ true - - true - - - true - - - true - true @@ -295,25 +289,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -343,9 +322,75 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -364,21 +409,6 @@ true - - true - - - true - - - true - - - true - - - true - true @@ -394,45 +424,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -448,33 +439,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -499,40 +463,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -541,31 +475,16 @@ true - + true - + true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -631,6 +550,117 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -649,6 +679,15 @@ true + + true + + + true + + + true + true @@ -658,33 +697,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -703,6 +715,18 @@ true + + true + + + true + + + true + + + true + true @@ -712,6 +736,12 @@ true + + true + + + true + true @@ -733,43 +763,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -790,10 +787,40 @@ true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -820,6 +847,51 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -832,6 +904,153 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -853,19 +1072,70 @@ true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -934,246 +1204,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -1283,38 +1313,23 @@ true - - - - - - - - - - - - - - - - StdCall - - - StdCall - - - StdCall - - - StdCall - - - StdCall - - - - + + + + + + + + + + + + + + + + + @@ -1353,6 +1368,8 @@ + + @@ -1360,20 +1377,10 @@ + - - - - - - - - - - - @@ -1383,9 +1390,19 @@ + + + + + + + + + + @@ -1395,6 +1412,15 @@ + + + + + + + + + @@ -1405,15 +1431,6 @@ - - - - - - - - - @@ -1424,21 +1441,35 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1459,22 +1490,49 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1494,53 +1552,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - @@ -1549,14 +1566,22 @@ + + + + - - - - + + + + + + + + @@ -1566,19 +1591,11 @@ - - - - - - - - - - + + @@ -1589,10 +1606,15 @@ - - - - + + + + + + + + + @@ -1603,26 +1625,91 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1636,14 +1723,21 @@ - - - - - - - - + + + + + + + + + + + + + + + @@ -1668,83 +1762,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1770,6 +1787,17 @@ + + + + + + + + + + + @@ -1779,22 +1807,11 @@ - - - - - - - - - - - + - @@ -1802,20 +1819,7 @@ - - - - - - - - - - - - - - + diff --git a/examples/PlugInSamples/MultiOutSynth/Builds/VisualStudio2015/MultiOutSynth.vcxproj.filters b/examples/PlugInSamples/MultiOutSynth/Builds/VisualStudio2015/MultiOutSynth.vcxproj.filters index acde754499..3334e0da0f 100644 --- a/examples/PlugInSamples/MultiOutSynth/Builds/VisualStudio2015/MultiOutSynth.vcxproj.filters +++ b/examples/PlugInSamples/MultiOutSynth/Builds/VisualStudio2015/MultiOutSynth.vcxproj.filters @@ -38,63 +38,69 @@ {CACD7B50-4DB3-76AF-A6E8-90DF94F8F594} + + {45C2CE26-EC4B-BA52-58F3-297C408E1483} + {9D270B31-2425-8FDB-84A4-6A2288FF5B2F} {0F766DD4-A277-CB86-5647-42498C8B41E1} - - {D64942B4-6984-3623-3347-45D472AE1C61} - - - {45C2CE26-EC4B-BA52-58F3-297C408E1483} - {01603E05-423B-5FC3-1BEE-E15ED33B5688} + + {D64942B4-6984-3623-3347-45D472AE1C61} + {65CB28F8-0422-A8F3-9A17-959E12A1F8E2} - - {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} - {0CD9E281-DDD0-91EC-6F77-EA9D9D5E0E1A} + + {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} + {40C5CA7C-AEBB-05B1-11CE-AE41D87B5CCB} {EE36D8B9-408C-AEC9-66E7-BEA9E407F27F} + + {F0C10808-8C36-BCD0-D25F-523774B0ADA2} + {1ED92A41-D496-5397-A4B0-9FA52DBA9215} {50F044B3-0D39-198B-CA5F-BE5E6C078D04} - - {AF5F4789-D607-BFD8-D853-09473C27449C} - - - {F0C10808-8C36-BCD0-D25F-523774B0ADA2} + + {25DD3A16-4BC7-35BD-F32E-0310D1887564} {EA1913F9-0E99-FEC5-0192-0C197611B8F8} + + {AF5F4789-D607-BFD8-D853-09473C27449C} + + + {22689F25-8C5C-52CF-09E4-4308D1521B9B} + {0B0E7392-324B-088C-FBEB-5FE999D61782} - - {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} - {20254EFE-6CBD-31A7-2119-92B1E0E0E311} {70796D73-6D30-8A1B-4732-7C021E47C05A} + + {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} + {EB8DD942-E2CB-869F-D381-E02A65BA790B} @@ -104,8 +110,17 @@ {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} - - {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + + {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + + {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + + {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} {476C69CE-0B67-6B85-E888-45D91E37A29E} @@ -113,17 +128,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} - - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -131,29 +140,26 @@ {91929C6F-7902-B87D-5260-2F6CBF8ACD93} - - {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} - {4634FFAE-9586-A970-364C-4FDDA635F99F} - - {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} - - {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - {F03654BC-34D8-F975-BEA3-750CC2783D23} + + {C9F6D785-BF78-5AA1-B479-111C65397864} {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} - - {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} - - {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + {F03654BC-34D8-F975-BEA3-750CC2783D23} {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} @@ -167,33 +173,33 @@ {928D8FCC-5E00-174B-6538-93E8D75AB396} - - {1988E68A-A964-64CA-0E0C-26FF9BC5176C} + + {358AEA11-3F96-36AE-7B32-71373B5C5396} {3DF036EA-3B80-553B-2494-3AAC835CAE75} - - {358AEA11-3F96-36AE-7B32-71373B5C5396} + + {1988E68A-A964-64CA-0E0C-26FF9BC5176C} {F2A38F45-6E55-E147-2E52-64A89FDD9D59} - - {6172822C-01A5-E824-12DA-FA43FA934D35} - - - {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} - {B098BC87-3298-7E6B-12DC-D26C09CDCAED} {6322B88F-984A-C3CD-6263-38D7AA49B6EC} + + {6172822C-01A5-E824-12DA-FA43FA934D35} + {73C1E759-AD90-59A3-942E-2D10FAA29107} + + {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} + {EE1AE8C3-0908-8F53-A4E5-D930C7C97C26} @@ -203,81 +209,81 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} - - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - - {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {E37D25CD-4350-4614-055B-7ABC55E67895} {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {C1A1A236-AB01-173E-96C3-0706BFF93B1E} + + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + + {413F481F-075C-2958-115C-D8268682FCB7} {FFC6E1CC-C772-75E6-5087-FB5D4E016799} + + {1182303F-ECA3-166D-AC0C-92C5E762CB93} + {8E43579F-C185-266D-DD67-F8B95BD80F2F} + + {61712B09-5783-ADFA-2001-5A0C3D7764EB} + + + {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + + {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} + {2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D} - - {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + {5A0AA36E-3957-E413-14C6-31CBE15271DF} + + + {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} {A92719C7-70BE-57C4-CE9E-A9BC9DFEB757} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} + + + {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} + + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} + + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + + {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} + + + {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} + {75F1F352-251A-75E0-D941-8431588F5C1E} {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} - - {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} - - - {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} - - - {5A0AA36E-3957-E413-14C6-31CBE15271DF} - - - {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} - - - {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} - - - {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} - - - {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} - - - {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - - {61712B09-5783-ADFA-2001-5A0C3D7764EB} - - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} - {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -299,30 +305,30 @@ {639E16C5-DA8B-ADBA-6E24-7B596378EAB2} - - {2D8D0E19-E676-83EB-38D9-F73500DD6B79} - {B3141847-8F13-F67D-45B2-E3ECF6E09088} - - {9E586194-C056-101C-5311-F2AF5191AC80} - {151B49D8-6102-F802-1C07-D59931BC0574} + + {2D8D0E19-E676-83EB-38D9-F73500DD6B79} + + + {9E586194-C056-101C-5311-F2AF5191AC80} + {72A923E2-C729-DB92-D7BF-A9D4AFAE5896} - - {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} - {7F11E7D2-54C0-2A36-5F15-BEC0A5374A08} {EE985DEA-CD83-8132-7219-542BB1DAD560} + + {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} + {8B4D1BAA-6DB4-CAEC-A0FA-271F354D5C61} @@ -418,6 +424,9 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -433,15 +442,6 @@ Juce Modules\juce_audio_devices\midi_io - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\audio_cd - Juce Modules\juce_audio_devices\native @@ -496,26 +496,11 @@ Juce Modules\juce_audio_devices\native - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_formats\codecs @@ -544,38 +529,74 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_plugin_client\AU - - - Juce Modules\juce_audio_plugin_client\RTAS - - - Juce Modules\juce_audio_plugin_client\VST + + Juce Modules\juce_audio_plugin_client\AAX Juce Modules\juce_audio_plugin_client\AAX - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client\AU - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client\AU - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client\RTAS - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client\RTAS - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client\RTAS - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client\RTAS + + + Juce Modules\juce_audio_plugin_client\RTAS + + + Juce Modules\juce_audio_plugin_client\RTAS + + + Juce Modules\juce_audio_plugin_client\Standalone + + + Juce Modules\juce_audio_plugin_client\utility + + + Juce Modules\juce_audio_plugin_client\VST + + + Juce Modules\juce_audio_plugin_client\VST + + + Juce Modules\juce_audio_plugin_client\VST3 Juce Modules\juce_audio_processors\format @@ -595,6 +616,24 @@ Juce Modules\juce_audio_processors\format_types + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + Juce Modules\juce_audio_processors\scanning @@ -610,45 +649,6 @@ Juce Modules\juce_audio_processors\utilities - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\memory - Juce Modules\juce_core\containers @@ -664,33 +664,6 @@ Juce Modules\juce_core\containers - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - Juce Modules\juce_core\files @@ -715,41 +688,11 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -757,32 +700,17 @@ Juce Modules\juce_core\logging - - Juce Modules\juce_core\system + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc @@ -862,6 +790,117 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + Juce Modules\juce_cryptography\encryption @@ -880,6 +919,15 @@ Juce Modules\juce_cryptography\hashing + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -889,33 +937,6 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - Juce Modules\juce_events\broadcasters @@ -934,6 +955,18 @@ Juce Modules\juce_events\interprocess + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + Juce Modules\juce_events\native @@ -949,6 +982,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_graphics\colour @@ -970,44 +1009,11 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\effects Juce Modules\juce_graphics\fonts @@ -1027,11 +1033,41 @@ Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -1063,6 +1099,51 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -1075,6 +1156,153 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -1096,20 +1324,92 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -1177,267 +1477,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_extra\code_editor @@ -1567,70 +1606,55 @@ Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - + Juce Library Code @@ -1743,6 +1767,12 @@ Juce Modules\juce_audio_basics + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -1764,48 +1794,18 @@ Juce Modules\juce_audio_devices\midi_io + + Juce Modules\juce_audio_devices\native + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\native - Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - Juce Modules\juce_audio_formats\codecs @@ -1833,15 +1833,45 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_plugin_client\AU + Juce Modules\juce_audio_plugin_client\RTAS + + Juce Modules\juce_audio_plugin_client\Standalone + Juce Modules\juce_audio_plugin_client\utility @@ -1869,6 +1899,33 @@ Juce Modules\juce_audio_plugin_client + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + Juce Modules\juce_audio_processors\processors @@ -1899,33 +1956,6 @@ Juce Modules\juce_audio_processors\processors - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - Juce Modules\juce_audio_processors\scanning @@ -1956,50 +1986,92 @@ Juce Modules\juce_audio_processors - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -2061,53 +2133,134 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text Juce Modules\juce_core\threads @@ -2166,92 +2319,8 @@ Juce Modules\juce_core\time - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -2259,12 +2328,6 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - Juce Modules\juce_core\zip @@ -2274,39 +2337,6 @@ Juce Modules\juce_core\zip - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - Juce Modules\juce_core @@ -2331,6 +2361,18 @@ Juce Modules\juce_cryptography + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -2340,21 +2382,33 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - Juce Modules\juce_data_structures + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + Juce Modules\juce_events\messages @@ -2382,36 +2436,6 @@ Juce Modules\juce_events\messages - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - Juce Modules\juce_events\native @@ -2421,6 +2445,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_events @@ -2451,17 +2481,32 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -2493,38 +2538,17 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -2535,9 +2559,60 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + Juce Modules\juce_graphics + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -2553,6 +2628,171 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -2592,29 +2832,50 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -2688,237 +2949,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_basics @@ -2994,6 +3024,39 @@ Juce Modules\juce_gui_extra + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + Juce Modules\juce_opengl\opengl @@ -3021,54 +3084,21 @@ Juce Modules\juce_opengl\opengl - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - Juce Modules\juce_opengl\utils - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - Juce Modules\juce_opengl + + Juce Modules\juce_video\capture + Juce Modules\juce_video\playback Juce Modules\juce_video\playback - - Juce Modules\juce_video\capture - Juce Modules\juce_video @@ -3086,50 +3116,11 @@ MultiOutSynth\Source\BinaryData - - Juce Modules\juce_audio_basics - - - Juce Modules\juce_audio_devices - - - Juce Modules\juce_audio_formats - - - Juce Modules\juce_audio_plugin_client - - - Juce Modules\juce_audio_processors - - - Juce Modules\juce_core - - - Juce Modules\juce_cryptography - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_gui_extra - - - Juce Modules\juce_opengl - - - Juce Modules\juce_video + + Juce Modules\juce_audio_plugin_client\RTAS - Juce Library Code + Juce Modules\juce_audio_plugin_client\RTAS diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/AppConfig.h b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/AppConfig.h index cdf345297a..f728486e93 100644 --- a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/AppConfig.h +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/AppConfig.h @@ -4,8 +4,8 @@ project - if you alter its contents, your changes may be overwritten! There's a section below where you can add your own custom code safely, and the - Introjucer will preserve the contents of that block, but the best way to change - any of these definitions is by using the Introjucer's project settings. + Projucer will preserve the contents of that block, but the best way to change + any of these definitions is by using the Projucer's project settings. Any commented-out settings will assume their default values. @@ -17,7 +17,7 @@ //============================================================================== // [BEGIN_USER_CODE_SECTION] -// (You can add your own code in this section, and the Introjucer will not overwrite it) +// (You can add your own code in this section, and the Projucer will not overwrite it) // [END_USER_CODE_SECTION] @@ -39,9 +39,15 @@ //============================================================================== #ifndef JUCE_STANDALONE_APPLICATION - #define JUCE_STANDALONE_APPLICATION 0 + #ifdef JucePlugin_Build_Standalone + #define JUCE_STANDALONE_APPLICATION JucePlugin_Build_Standalone + #else + #define JUCE_STANDALONE_APPLICATION 0 + #endif #endif +#define JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED 1 + //============================================================================== // juce_audio_devices flags: @@ -219,12 +225,18 @@ #ifndef JucePlugin_Build_AU #define JucePlugin_Build_AU 1 #endif +#ifndef JucePlugin_Build_AUv3 + #define JucePlugin_Build_AUv3 0 +#endif #ifndef JucePlugin_Build_RTAS #define JucePlugin_Build_RTAS 0 #endif #ifndef JucePlugin_Build_AAX #define JucePlugin_Build_AAX 1 #endif +#ifndef JucePlugin_Build_STANDALONE + #define JucePlugin_Build_STANDALONE 0 +#endif #ifndef JucePlugin_Name #define JucePlugin_Name "MultiOutSynth" #endif diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/JuceHeader.h b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/JuceHeader.h index 10f738f59c..6eafb527c1 100644 --- a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/JuceHeader.h +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/JuceHeader.h @@ -14,20 +14,22 @@ #define __APPHEADERFILE_CBHSOE__ #include "AppConfig.h" -#include "modules/juce_audio_basics/juce_audio_basics.h" -#include "modules/juce_audio_devices/juce_audio_devices.h" -#include "modules/juce_audio_formats/juce_audio_formats.h" -#include "modules/juce_audio_plugin_client/juce_audio_plugin_client.h" -#include "modules/juce_audio_processors/juce_audio_processors.h" -#include "modules/juce_core/juce_core.h" -#include "modules/juce_cryptography/juce_cryptography.h" -#include "modules/juce_data_structures/juce_data_structures.h" -#include "modules/juce_events/juce_events.h" -#include "modules/juce_graphics/juce_graphics.h" -#include "modules/juce_gui_basics/juce_gui_basics.h" -#include "modules/juce_gui_extra/juce_gui_extra.h" -#include "modules/juce_opengl/juce_opengl.h" -#include "modules/juce_video/juce_video.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + #include "BinaryData.h" #if ! DONT_SET_USING_JUCE_NAMESPACE diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/ReadMe.txt b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/ReadMe.txt index f6c3564e99..091a5aa6eb 100644 --- a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/ReadMe.txt +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/ReadMe.txt @@ -2,11 +2,11 @@ Important Note!! ================ -The purpose of this folder is to contain files that are auto-generated by the Introjucer, +The purpose of this folder is to contain files that are auto-generated by the Projucer, and ALL files in this folder will be mercilessly DELETED and completely re-written whenever -the Introjucer saves your project. +the Projucer saves your project. Therefore, it's a bad idea to make any manual changes to the files in here, or to put any of your own files in here if you don't want to lose them. (Of course you may choose to add the folder's contents to your version-control system so that you can re-merge your own -modifications after the Introjucer has saved its changes). +modifications after the Projucer has saved its changes). diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_basics.cpp b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_basics.cpp new file mode 100644 index 0000000000..418694873c --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_basics.mm b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_basics.mm new file mode 100644 index 0000000000..e0e6c577cc --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_devices.cpp b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_devices.cpp new file mode 100644 index 0000000000..fb5c2219d7 --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_devices.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_devices.mm b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_devices.mm new file mode 100644 index 0000000000..e58b67ea49 --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_devices.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_formats.cpp b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_formats.cpp new file mode 100644 index 0000000000..a3c61170eb --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_formats.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_formats.mm b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_formats.mm new file mode 100644 index 0000000000..f325b8fb67 --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_formats.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_AAX.cpp b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_AAX.cpp new file mode 100644 index 0000000000..c599b8759f --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_AAX.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_AAX.mm b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_AAX.mm new file mode 100644 index 0000000000..d4b8c31117 --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_AAX.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_AU_1.mm b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_AU_1.mm new file mode 100644 index 0000000000..a4fdf7f366 --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_AU_1.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_AU_2.mm b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_AU_2.mm new file mode 100644 index 0000000000..175b30047f --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_AU_2.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_AUv3.mm b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_AUv3.mm new file mode 100644 index 0000000000..0ac2b2f599 --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_AUv3.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_RTAS_1.cpp b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_RTAS_1.cpp new file mode 100644 index 0000000000..29d48f3faa --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_RTAS_1.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_RTAS_2.cpp b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_RTAS_2.cpp new file mode 100644 index 0000000000..2da08c6dc3 --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_RTAS_2.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_RTAS_3.cpp b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_RTAS_3.cpp new file mode 100644 index 0000000000..72a8426cbe --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_RTAS_3.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_RTAS_4.cpp b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_RTAS_4.cpp new file mode 100644 index 0000000000..6064f99d28 --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_RTAS_4.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.cpp b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.cpp new file mode 100644 index 0000000000..5c5509abde --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.mm b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.mm new file mode 100644 index 0000000000..56af9aebab --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_Standalone.cpp b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_Standalone.cpp new file mode 100644 index 0000000000..d3b6529a80 --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_Standalone.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_VST2.cpp b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_VST2.cpp new file mode 100644 index 0000000000..c35394b418 --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_VST2.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_VST3.cpp b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_VST3.cpp new file mode 100644 index 0000000000..8e2e5cde2e --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_VST3.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_VST_utils.mm b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_VST_utils.mm new file mode 100644 index 0000000000..ee2f414e66 --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_VST_utils.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_utils.cpp b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_utils.cpp new file mode 100644 index 0000000000..183f61b238 --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_plugin_client_utils.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_processors.cpp b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_processors.cpp new file mode 100644 index 0000000000..bfe172edd0 --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_processors.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_processors.mm b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_processors.mm new file mode 100644 index 0000000000..b80ae9017f --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_audio_processors.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_core.cpp b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_core.cpp new file mode 100644 index 0000000000..d0ce1636f0 --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_core.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_core.mm b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_core.mm new file mode 100644 index 0000000000..72b10bf817 --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_core.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_cryptography.cpp b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_cryptography.cpp new file mode 100644 index 0000000000..10b3401dbe --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_cryptography.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_cryptography.mm b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_cryptography.mm new file mode 100644 index 0000000000..9311ea0ffe --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_cryptography.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_data_structures.cpp b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_data_structures.cpp new file mode 100644 index 0000000000..9315aa1686 --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_data_structures.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_data_structures.mm b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_data_structures.mm new file mode 100644 index 0000000000..695ec43925 --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_data_structures.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_events.cpp b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_events.cpp new file mode 100644 index 0000000000..1bba110a97 --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_events.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_events.mm b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_events.mm new file mode 100644 index 0000000000..4cc34fc401 --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_events.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_graphics.cpp b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_graphics.cpp new file mode 100644 index 0000000000..319c76de0e --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_graphics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_graphics.mm b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_graphics.mm new file mode 100644 index 0000000000..b28e6dd056 --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_graphics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_gui_basics.cpp b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_gui_basics.cpp new file mode 100644 index 0000000000..216c76bb05 --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_gui_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_gui_basics.mm b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_gui_basics.mm new file mode 100644 index 0000000000..6a9726fa5f --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_gui_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_gui_extra.cpp b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_gui_extra.cpp new file mode 100644 index 0000000000..7226e19833 --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_gui_extra.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_gui_extra.mm b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_gui_extra.mm new file mode 100644 index 0000000000..c9b6c3bfc6 --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_gui_extra.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_opengl.cpp b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_opengl.cpp new file mode 100644 index 0000000000..d9895bce92 --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_opengl.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_opengl.mm b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_opengl.mm new file mode 100644 index 0000000000..6c2c32d095 --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_opengl.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_video.cpp b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_video.cpp new file mode 100644 index 0000000000..bdf22ee131 --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_video.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_video.mm b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_video.mm new file mode 100644 index 0000000000..3da705bccd --- /dev/null +++ b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/juce_video.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h deleted file mode 100644 index 39e1aa1405..0000000000 --- a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_audio_basics/juce_audio_basics.h" diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h deleted file mode 100644 index 9069e65391..0000000000 --- a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_audio_devices/juce_audio_devices.h" diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h deleted file mode 100644 index 4270ffa168..0000000000 --- a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_audio_formats/juce_audio_formats.h" diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_audio_plugin_client/juce_audio_plugin_client.h b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_audio_plugin_client/juce_audio_plugin_client.h deleted file mode 100644 index 57abba643f..0000000000 --- a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_audio_plugin_client/juce_audio_plugin_client.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client.h" diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h deleted file mode 100644 index 48c0bf08c8..0000000000 --- a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_audio_processors/juce_audio_processors.h" diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_core/juce_core.h b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_core/juce_core.h deleted file mode 100644 index 3c400000e0..0000000000 --- a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_core/juce_core.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_core/juce_core.h" diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h deleted file mode 100644 index b3df81338e..0000000000 --- a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_cryptography/juce_cryptography.h" diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h deleted file mode 100644 index e815ff2c51..0000000000 --- a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_data_structures/juce_data_structures.h" diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_events/juce_events.h b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_events/juce_events.h deleted file mode 100644 index 88f8bafd21..0000000000 --- a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_events/juce_events.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_events/juce_events.h" diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_graphics/juce_graphics.h b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_graphics/juce_graphics.h deleted file mode 100644 index 0c5c690211..0000000000 --- a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_graphics/juce_graphics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_graphics/juce_graphics.h" diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h deleted file mode 100644 index 7fa455d687..0000000000 --- a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_gui_basics/juce_gui_basics.h" diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h deleted file mode 100644 index 11866a121d..0000000000 --- a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_gui_extra/juce_gui_extra.h" diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_opengl/juce_opengl.h b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_opengl/juce_opengl.h deleted file mode 100644 index f156f5c69c..0000000000 --- a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_opengl/juce_opengl.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_opengl/juce_opengl.h" diff --git a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_video/juce_video.h b/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_video/juce_video.h deleted file mode 100644 index 6b5e743372..0000000000 --- a/examples/PlugInSamples/MultiOutSynth/JuceLibraryCode/modules/juce_video/juce_video.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_video/juce_video.h" diff --git a/examples/PlugInSamples/MultiOutSynth/MultiOutSynth.jucer b/examples/PlugInSamples/MultiOutSynth/MultiOutSynth.jucer index eadf342068..12edcd5049 100644 --- a/examples/PlugInSamples/MultiOutSynth/MultiOutSynth.jucer +++ b/examples/PlugInSamples/MultiOutSynth/MultiOutSynth.jucer @@ -9,8 +9,8 @@ pluginSilenceInIsSilenceOut="0" pluginEditorRequiresKeys="0" pluginAUExportPrefix="MultiOutSynthAU" pluginRTASCategory="" aaxIdentifier="com.ROLI.MultiOutSynth" pluginAAXCategory="AAX_ePlugInCategory_SWGenerators" - jucerVersion="4.1.0" companyName="ROLI Ltd." companyWebsite="www.roli.com" - companyEmail="info@juce.com" pluginIsMidiEffectPlugin="0"> + jucerVersion="4.2.0" companyName="ROLI Ltd." companyWebsite="www.roli.com" + companyEmail="info@juce.com" pluginIsMidiEffectPlugin="0" buildAUv3="0"> @@ -21,8 +21,9 @@ - + diff --git a/examples/PlugInSamples/MultiOutSynth/Source/MultiOutSynth.cpp b/examples/PlugInSamples/MultiOutSynth/Source/MultiOutSynth.cpp index 3428bea7e6..bfc1d7e2f0 100644 --- a/examples/PlugInSamples/MultiOutSynth/Source/MultiOutSynth.cpp +++ b/examples/PlugInSamples/MultiOutSynth/Source/MultiOutSynth.cpp @@ -48,7 +48,6 @@ public: for (int busNr = 1; busNr < maxMidiChannel; ++busNr) busArrangement.outputBuses.add (AudioProcessorBus (String ("Output #") += String (busNr + 1), AudioChannelSet::disabled())); - // initialize other stuff (not related to buses) formatManager.registerBasicFormats(); @@ -78,7 +77,6 @@ public: // only support mono or stereo (or disabling) buses if (numChannels > 2) return false; - // pass the call on to the base class return AudioProcessor::setPreferredBusArrangement (isInputBus, busIndex, preferred); } @@ -96,14 +94,13 @@ public: void processBlock (AudioSampleBuffer& buffer, MidiBuffer& midiBuffer) override { - buffer.clear(); - for (int busNr = 0; busNr < maxMidiChannel; ++busNr) { MidiBuffer midiChannelBuffer = filterMidiMessagesForChannel (midiBuffer, busNr + 1); AudioSampleBuffer audioBusBuffer = busArrangement.getBusBuffer (buffer, false, busNr); - synth [busNr]->renderNextBlock (audioBusBuffer, midiChannelBuffer, 0, audioBusBuffer.getNumSamples()); + if (! busArrangement.outputBuses.getReference (busNr).channels.isDisabled()) + synth [busNr]->renderNextBlock (audioBusBuffer, midiChannelBuffer, 0, audioBusBuffer.getNumSamples()); } } diff --git a/examples/PlugInSamples/NoiseGate/Builds/MacOSX/Info-AAX.plist b/examples/PlugInSamples/NoiseGate/Builds/MacOSX/Info-AAX.plist new file mode 100644 index 0000000000..f3e32b0c39 --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/Builds/MacOSX/Info-AAX.plist @@ -0,0 +1,29 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + NoiseGate + CFBundleDisplayName + NoiseGate + CFBundlePackageType + TDMw + CFBundleSignature + PTul + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + + diff --git a/examples/PlugInSamples/NoiseGate/Builds/MacOSX/Info.plist b/examples/PlugInSamples/NoiseGate/Builds/MacOSX/Info-AU.plist similarity index 88% rename from examples/PlugInSamples/NoiseGate/Builds/MacOSX/Info.plist rename to examples/PlugInSamples/NoiseGate/Builds/MacOSX/Info-AU.plist index 968dcb0a01..5c479110ac 100644 --- a/examples/PlugInSamples/NoiseGate/Builds/MacOSX/Info.plist +++ b/examples/PlugInSamples/NoiseGate/Builds/MacOSX/Info-AU.plist @@ -11,10 +11,12 @@ $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName NoiseGate + CFBundleDisplayName + NoiseGate CFBundlePackageType - TDMw + BNDL CFBundleSignature - PTul + ???? CFBundleShortVersionString 1.0.0 CFBundleVersion diff --git a/examples/PlugInSamples/NoiseGate/Builds/MacOSX/Info-Shared_Code.plist b/examples/PlugInSamples/NoiseGate/Builds/MacOSX/Info-Shared_Code.plist new file mode 100644 index 0000000000..22b14cda45 --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/Builds/MacOSX/Info-Shared_Code.plist @@ -0,0 +1,29 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + NoiseGate + CFBundleDisplayName + NoiseGate + CFBundlePackageType + FMWK + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + + diff --git a/examples/PlugInSamples/NoiseGate/Builds/MacOSX/Info-VST.plist b/examples/PlugInSamples/NoiseGate/Builds/MacOSX/Info-VST.plist new file mode 100644 index 0000000000..787a1a0bbd --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/Builds/MacOSX/Info-VST.plist @@ -0,0 +1,29 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + NoiseGate + CFBundleDisplayName + NoiseGate + CFBundlePackageType + BNDL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + + diff --git a/examples/PlugInSamples/NoiseGate/Builds/MacOSX/Info-VST3.plist b/examples/PlugInSamples/NoiseGate/Builds/MacOSX/Info-VST3.plist new file mode 100644 index 0000000000..787a1a0bbd --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/Builds/MacOSX/Info-VST3.plist @@ -0,0 +1,29 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + NoiseGate + CFBundleDisplayName + NoiseGate + CFBundlePackageType + BNDL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + + diff --git a/examples/PlugInSamples/NoiseGate/Builds/MacOSX/NoiseGate.entitlements b/examples/PlugInSamples/NoiseGate/Builds/MacOSX/NoiseGate.entitlements new file mode 100644 index 0000000000..22194a6d2d --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/Builds/MacOSX/NoiseGate.entitlements @@ -0,0 +1 @@ + com.apple.security.app-sandbox \ No newline at end of file diff --git a/examples/PlugInSamples/NoiseGate/Builds/MacOSX/NoiseGate.xcodeproj/project.pbxproj b/examples/PlugInSamples/NoiseGate/Builds/MacOSX/NoiseGate.xcodeproj/project.pbxproj index 584fecf90a..35dd61859e 100644 --- a/examples/PlugInSamples/NoiseGate/Builds/MacOSX/NoiseGate.xcodeproj/project.pbxproj +++ b/examples/PlugInSamples/NoiseGate/Builds/MacOSX/NoiseGate.xcodeproj/project.pbxproj @@ -6,6 +6,11 @@ objectVersion = 46; objects = { + 31074A1BC2F447F71886ABBB = {isa = PBXBuildFile; fileRef = 29653597F013A08B9D0D9DAE; }; + DA87E83477FC9315B0B00003 = {isa = PBXBuildFile; fileRef = E39A67D3DE5B2F2092769CE7; }; + 5096AFC2E68250E0785E7348 = {isa = PBXBuildFile; fileRef = 8D84B63F343660AEE31FD166; }; + 0EE9D38F4C93F4154699E434 = {isa = PBXBuildFile; fileRef = 9C62742BCA5D3C9524DE3029; }; + DDDD91556B8F6CE09205B34A = {isa = PBXBuildFile; fileRef = B15F50973CE5D365D77D282B; }; 059D9D5EBC6026109D86F9EA = {isa = PBXBuildFile; fileRef = EE004DC5369648F9F4F967B5; }; C8E62BFBF82AAA3D808055D9 = {isa = PBXBuildFile; fileRef = 943B88ECAC8C127556319A56; }; D8B83A6B9A0149E776E8DCDB = {isa = PBXBuildFile; fileRef = E3DD9EFD8E27134F5118B406; }; @@ -21,52 +26,28 @@ 37650014CFB133BE49E618C7 = {isa = PBXBuildFile; fileRef = 5ACE35425F10E6FE0CD30B44; }; 15165888F33A50CEEAF270C7 = {isa = PBXBuildFile; fileRef = B6567C791BE962F993B78C02; }; 12C002E482A05AEA16654DF9 = {isa = PBXBuildFile; fileRef = 7A6A889A32581FBE73645356; }; + A6EFA2CFF4D8C125C8AAEFB6 = {isa = PBXBuildFile; fileRef = 12C24C2237E0F23FDCCCE953; }; 5AD5FE50F1508B1EC89C37AF = {isa = PBXBuildFile; fileRef = 45E82A90482A147FF8FA6507; }; - 9D74447E44FD02A4D23559F4 = {isa = PBXBuildFile; fileRef = E9A6A98219D0E4514484593D; settings = {COMPILER_FLAGS = "-w"; }; }; - E82769835430308DC8698EC1 = {isa = PBXBuildFile; fileRef = 6D9DE23DD863E2E112F45573; settings = {COMPILER_FLAGS = "-w"; }; }; - 011C6670FCC0C67BF4AB4A24 = {isa = PBXBuildFile; fileRef = E4E4E4C7BF91EE480FBD36EC; settings = {COMPILER_FLAGS = "-w"; }; }; - D661500B49B0C79A9745BD14 = {isa = PBXBuildFile; fileRef = F135E9B6A9FB95325F02CD89; settings = {COMPILER_FLAGS = "-w"; }; }; - ACEF41196DE326C24704EE3C = {isa = PBXBuildFile; fileRef = 0B7940F601240C72B3A85C7C; settings = {COMPILER_FLAGS = "-w"; }; }; - 2A4CCEF90E8F667AA378F10A = {isa = PBXBuildFile; fileRef = 632DDC970397B14F74D60440; settings = {COMPILER_FLAGS = "-w"; }; }; - FB903009F234A1E4A4D289ED = {isa = PBXBuildFile; fileRef = F983B97EB7A763CA91C2B615; settings = {COMPILER_FLAGS = "-w"; }; }; - C9A4232ADC9A2DC08D0EB78F = {isa = PBXBuildFile; fileRef = 7AB158D65BBBCE95A368F151; settings = {COMPILER_FLAGS = "-w"; }; }; - 603D0FEA3F36BF000E573A8D = {isa = PBXBuildFile; fileRef = 17106B2F8183E77DB5CB1791; settings = {COMPILER_FLAGS = "-w"; }; }; - D73670A6135F69B77B64CFDD = {isa = PBXBuildFile; fileRef = 2890C33900381D61AFD920B1; settings = {COMPILER_FLAGS = "-w"; }; }; - BE50E9A3D2620CE44C589186 = {isa = PBXBuildFile; fileRef = 1D3D97C6C8D92F3D5C96FF29; settings = {COMPILER_FLAGS = "-w"; }; }; - C68048ED0E405645F7ECFCC5 = {isa = PBXBuildFile; fileRef = 597386A458AC5E4D64C18066; settings = {COMPILER_FLAGS = "-w"; }; }; - A08EF2278A7A79CD59350830 = {isa = PBXBuildFile; fileRef = 02A6F124658662ED5F8C4D99; settings = {COMPILER_FLAGS = "-w"; }; }; - 25644B24C58ABA44561780C7 = {isa = PBXBuildFile; fileRef = E4A40217DD45BC6D74DF0524; settings = {COMPILER_FLAGS = "-w"; }; }; - 12F17CB8BCAE238C7F38A2E5 = {isa = PBXBuildFile; fileRef = C6133FECB081DAF238300AF3; settings = {COMPILER_FLAGS = "-w"; }; }; - 4EA872D49F10F16FA5217B8B = {isa = PBXBuildFile; fileRef = 29E58059BFF2E9C561B0F036; settings = {COMPILER_FLAGS = "-w"; }; }; - DD84A0163492854D565BD63C = {isa = PBXBuildFile; fileRef = 53B330EF8F975BD0F526CAB7; settings = {COMPILER_FLAGS = "-w"; }; }; - B7BF5D6C49B8759423DD8A4B = {isa = PBXBuildFile; fileRef = C78B7248755985DABBD1440E; settings = {COMPILER_FLAGS = "-w"; }; }; - BB3558F16D05E96A82C93179 = {isa = PBXBuildFile; fileRef = 218937DFF1E643C7E9392D3D; }; - CAB73BD17A4190A63B190C50 = {isa = PBXBuildFile; fileRef = CC317CE14E558325BF16D1D9; }; - CC8DEC05264790C790F32ACE = {isa = PBXBuildFile; fileRef = B997959774C3B7B8648A1020; }; - C49643C2237BFF83A9A86BC9 = {isa = PBXBuildFile; fileRef = CB425D61E072DED92F6CAC85; }; - C29629FC6C670977286FD224 = {isa = PBXBuildFile; fileRef = 571B0C346579CCD9F6F9A6D0; }; - 1CD7AD95EC338C736FD48F19 = {isa = PBXBuildFile; fileRef = D32D31BDE76500648D64B7A6; }; - EEF4CA0FE6616C6EB703FD7E = {isa = PBXBuildFile; fileRef = 5BB1BBCB34B72DCE9B16B695; }; - E34689AB5B7E15185EED6EA1 = {isa = PBXBuildFile; fileRef = 09899AE59253C596E1656F50; }; - 4725F0C03FA3B4D9D7E604D0 = {isa = PBXBuildFile; fileRef = 73567EDFABD366280D6C1D45; }; - E4DE4D9B47D0D19DE757FD51 = {isa = PBXBuildFile; fileRef = C9BE47AEF1E79DB6784BD6E3; }; - 07AEDCEBFAC8FCB2CE0BAA76 = {isa = PBXBuildFile; fileRef = 7A70E8857008EFAD0BF2907C; }; - 79147598D8BF22ED1B91BE22 = {isa = PBXBuildFile; fileRef = 5AA69838B316B1670C17274E; }; - E757DEAEF5A0F802EBD323AC = {isa = PBXBuildFile; fileRef = 07DF121B2C6664FA5B2DC395; }; - 821618E0895ACCF6894877A8 = {isa = PBXBuildFile; fileRef = FDD1022CBB4FE524922B3AEB; }; - 6FB435AE4DC4DA8231902835 = {isa = PBXBuildFile; fileRef = 3C6951706FF246380D65A952; }; - 81F9B6A5B747B0B21AB061E2 = {isa = PBXBuildFile; fileRef = A1C5088DB76FE9F40AB2264C; }; - C19A368F0504117617A49DFE = {isa = PBXBuildFile; fileRef = B9A21AE64CC4B86FC1F67061; }; - 679D7C4BAD6C38C55596464C = {isa = PBXBuildFile; fileRef = E09DC8AF27C6E40AB436E821; settings = {COMPILER_FLAGS = "-w"; }; }; - 47A2C757B7495A7850E5455B = {isa = PBXBuildFile; fileRef = 6033F6DD0B905B8819C115E2; settings = {COMPILER_FLAGS = "-w"; }; }; - 359EAD8525F393516042D699 = {isa = PBXBuildFile; fileRef = 09793ED29E076F27C3CDE59C; settings = {COMPILER_FLAGS = "-w"; }; }; - 8799DF8859F68034FD232DA7 = {isa = PBXBuildFile; fileRef = F8AB7D10F5C9ABF34829AE8F; }; - 3976AAAB264EF950EB108870 = {isa = PBXBuildFile; fileRef = D0A3F2265D323BB3F90F3DD5; settings = {COMPILER_FLAGS = "-w"; }; }; - 28DC8DB37444793E6D590E5B = {isa = PBXBuildFile; fileRef = CA067F9C47C831BA25DF843D; }; - 44C5681C95D30E8D02C59A91 = {isa = PBXBuildFile; fileRef = 906428E1A9963444AF1B0D60; }; - 3DCFB42FCA94EDE65CDA7296 = {isa = PBXBuildFile; fileRef = 69A29D8420DB0B53507E223D; }; - 925BB060FF5381073AFCB45C = {isa = PBXBuildFile; fileRef = CDE1B83C996A1861A93C93A7; }; - EDD173FED14A7B592136C25A = {isa = PBXBuildFile; fileRef = C617096451F177459C4C667C; settings = {COMPILER_FLAGS = "-w"; }; }; + ED749B2640D6B4FB7E32CC22 = {isa = PBXBuildFile; fileRef = 60ECEC321E2335CA55B41A55; }; + F85FA72ECA3C1A04D624A4BD = {isa = PBXBuildFile; fileRef = 2DA5A7253793B9BFBB4E2A18; }; + C452CBE4FAC93EDD00579A23 = {isa = PBXBuildFile; fileRef = 8E20AE27507F5C47985A6865; }; + FCE06A0BAC628295014D8729 = {isa = PBXBuildFile; fileRef = ECFBE6A9ACC3B126E5DDDE49; }; + 65D4B3952523E1D9729D5696 = {isa = PBXBuildFile; fileRef = BE39EACF7863D1C0779AE6E9; }; + 297C90DB48F08189C5E161F6 = {isa = PBXBuildFile; fileRef = 14260A5ABAC051A462E7EAD1; }; + 2E0441DA2947ABD24635021D = {isa = PBXBuildFile; fileRef = 38673EA13F2A875C02307EF8; }; + CBB95A9B8FA9085A32ABCC0C = {isa = PBXBuildFile; fileRef = 658D062C358482599572816C; }; + 0D1C8A857D386C6BC5C99FA3 = {isa = PBXBuildFile; fileRef = 6CCFE4D90B707892ED5D0B59; }; + 6D0FB6DF3B238687E64CA059 = {isa = PBXBuildFile; fileRef = D7B732AB3E5D032BF20DF855; }; + A7C0354F33559A9BC6D9A0C4 = {isa = PBXBuildFile; fileRef = 30A0CF70C234FD895D7F6A58; }; + 630CD0FC55C1F6BE8E0393DD = {isa = PBXBuildFile; fileRef = 9C039AA0FFD66F1D922EF7C2; }; + 71B69CA1BF167AAB816444CA = {isa = PBXBuildFile; fileRef = C6C93B02F46D3AA1764BC99D; }; + E3D8E8C5741DEE4DD140FA16 = {isa = PBXBuildFile; fileRef = 0AC357D2EE7D0286E4FACDCA; }; + EBB412523EA9D3CC1D2B0ABA = {isa = PBXBuildFile; fileRef = FF3D304022AC45628AAA9BEB; }; + 19DE0552EC8B2F898F378E7B = {isa = PBXBuildFile; fileRef = B1F26B94AE932BB4A0DD9AC7; }; + F46144EB9127C640A932D306 = {isa = PBXBuildFile; fileRef = CC9F7AC6AE2844784B78151D; }; + 7557EE373354E64FAEF8E731 = {isa = PBXBuildFile; fileRef = 20CA963DF1DBD1F72C50A839; }; + 540728F29B63369AACBD15B2 = {isa = PBXBuildFile; fileRef = B5149E7DA756815A92C411C0; }; + 0DA5D6F818C57F8FAE4C618E = {isa = PBXBuildFile; fileRef = EBCA6DB76022CE8410954E33; }; 00382E98594C4FDFB706F428 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; }; 0069C6880BD4A8D4DB822CF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; }; 00DB8F14728206065B35DDAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; }; @@ -79,7 +60,6 @@ 01D916B4FD36FBFBA0F6036B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; 021767D388A9A733BCD659D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; 024CD7B19FE873A8F7D5B5BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemTrayIconComponent.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 02A6F124658662ED5F8C4D99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAAUParameter.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAUParameter.cpp"; sourceTree = "SOURCE_ROOT"; }; 02BDF6C2467FF45BE54819B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; }; 031B11B5EC367F8A36BFAC27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioTransportSource.cpp"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 03681AF3B210B4546226D52F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; }; @@ -101,13 +81,11 @@ 07869F04800B1D754DE22821 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLAppComponent.cpp"; path = "../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 079E5A96564F8A98037EC5E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDirectoryScanner.h"; path = "../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h"; sourceTree = "SOURCE_ROOT"; }; 07AFA071D97D3E0EECED0DB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; - 07DF121B2C6664FA5B2DC395 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; 081C8E1C960B64FFA411D0C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; }; 0891D111300794D1DB2C68AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; }; 08C93552E46F0A2EA910FCEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterBool.h"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h"; sourceTree = "SOURCE_ROOT"; }; 092D7A87A801CF8AC2C40E3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; }; 09793ED29E076F27C3CDE59C = {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"; }; - 09899AE59253C596E1656F50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../../modules/juce_audio_processors/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; 09CACE4DCDB1FC61334A0F63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; 09CEA1038689AACEDDD466D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; }; 09F7F5DCF77CF3145D78F95B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LeakedObjectDetector.h"; path = "../../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h"; sourceTree = "SOURCE_ROOT"; }; @@ -115,10 +93,10 @@ 0A15F7AB7CBE317A76BF7859 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSubsectionReader.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h"; sourceTree = "SOURCE_ROOT"; }; 0A360D5A0E729876A18A38A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; }; 0A99BA740CE12F768425745F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; }; + 0AC357D2EE7D0286E4FACDCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; 0ADEB527308BEAB637AD5B5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; }; 0AE8A315A7822327A57D1874 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; 0B2D69C93568E589681E5079 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 0B7940F601240C72B3A85C7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUCarbonViewDispatch.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewDispatch.cpp"; sourceTree = "SOURCE_ROOT"; }; 0BEB4A94C116092B5E6A5BCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_video.h"; path = "../../../../../modules/juce_video/juce_video.h"; sourceTree = "SOURCE_ROOT"; }; 0C5E6FC121D05029017F407B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; }; 0CBCCBEC3C5EFD346E5894F3 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; @@ -133,17 +111,18 @@ 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"; }; - 113C2009363F968B7E80EDE0 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_audio_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 11AA5E6BEDF93FD34BBB4303 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; }; 11DB456241E04EC7D8CF40CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; 11FC9FFEFA7831562BF81237 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormat.h"; path = "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; 12982FD215F2AEB4CD8750F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 12C24C2237E0F23FDCCCE953 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = NoiseGate.entitlements; path = NoiseGate.entitlements; sourceTree = "SOURCE_ROOT"; }; 12CA451A78581124CAFCD5E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; }; 131D8D771FD3395980F8CAF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilterAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 137DBADEB883548D86DC598D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; }; 13B94838403336CBA8463C1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; 13BC07D9C47420ABEF79E3C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; 1402BE30D2FA095CB0344F26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + 14260A5ABAC051A462E7EAD1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AU_2.mm"; path = "../../JuceLibraryCode/juce_audio_plugin_client_AU_2.mm"; sourceTree = "SOURCE_ROOT"; }; 146BB3E307B4CB8D4AC87253 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RSAKey.h"; path = "../../../../../modules/juce_cryptography/encryption/juce_RSAKey.h"; sourceTree = "SOURCE_ROOT"; }; 14833838F2A24201DCA1A1FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 15396BA154AA26DDFEED5674 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -154,7 +133,6 @@ 1675CB0DE8453895997A8DF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GenericAudioProcessorEditor.cpp"; path = "../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; 168C728EFBD470B30E87D9C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; 16C4246BF24221CDA0DFB56D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessage.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp"; sourceTree = "SOURCE_ROOT"; }; - 17106B2F8183E77DB5CB1791 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUOutputBase.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUOutputBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 17B02E07833DB8FF25CB61B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; 18040ADFE828B070A8442F0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; }; 181740F4C90CA4C66C6E2B8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; }; @@ -164,7 +142,6 @@ 18FC770B6244C238107AFDB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; }; 191EC14DB1A1BA94F80E52F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLImage.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h"; sourceTree = "SOURCE_ROOT"; }; 192FD5F56F95482B20AF457D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 19523CEB0C745622168FD594 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_video/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 19CAEF3B195CE240D14040FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 19D6058A849822A37E1E517F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 1A0CF2A28B28C7F3BC28AD52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MixerAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; @@ -183,7 +160,6 @@ 1C7FF524BBD0810430CF06D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ElementComparator.h"; path = "../../../../../modules/juce_core/containers/juce_ElementComparator.h"; sourceTree = "SOURCE_ROOT"; }; 1C8E428921E2E5D05BF033E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; }; 1D33BF5B060F2D4CF05AB88E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessor.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h"; sourceTree = "SOURCE_ROOT"; }; - 1D3D97C6C8D92F3D5C96FF29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUScopeElement.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUScopeElement.cpp"; sourceTree = "SOURCE_ROOT"; }; 1D3DEE19C759E667DA538612 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageComponent.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h"; sourceTree = "SOURCE_ROOT"; }; 1D8090B6D7F479CE34CC6C04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; 1E670B1813853053D36B8D76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTreeSynchroniser.h"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h"; sourceTree = "SOURCE_ROOT"; }; @@ -199,6 +175,7 @@ 202710B8A0C9AB6C104DFC4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 206C0E1FE9A66442C4DC6948 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; }; 207141C4DAE3755C0C0D8219 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 20CA963DF1DBD1F72C50A839 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; 210E0DDAE66818EF2B278274 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CarbonVisibility.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_CarbonVisibility.h"; sourceTree = "SOURCE_ROOT"; }; 218937DFF1E643C7E9392D3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AAX_Wrapper.cpp"; path = "../../../../../modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp"; sourceTree = "SOURCE_ROOT"; }; 2250321E7F10BCBD594369EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -221,25 +198,23 @@ 2770A0C643E945FE307DA289 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 281AE3C8BD24290E3B522645 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; 285C7980958A44582BE48D11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; }; - 2890C33900381D61AFD920B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUOutputElement.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUOutputElement.cpp"; sourceTree = "SOURCE_ROOT"; }; 28AFEC641D6DEFC7E6096324 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; }; 28D613AE9599AF98595516C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 28EB2326814154D6B1908AAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; }; 291DA858F3C31972114C981F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; 2928DD85D5EFFB5B45503960 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; + 29653597F013A08B9D0D9DAE = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = NoiseGate.vst; sourceTree = "BUILT_PRODUCTS_DIR"; }; 29961E3E2688B469C8A0ACB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; - 29E58059BFF2E9C561B0F036 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAStreamBasicDescription.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAStreamBasicDescription.cpp"; sourceTree = "SOURCE_ROOT"; }; 29EC2A0E5AB98A6431A80C8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; }; - 2A6FCD9335B2647CB4DBF944 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_audio_plugin_client/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 2A9053CBBBE01FAF1FFCD596 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; }; 2B1E5FD2BF4004174669A13D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; }; 2BA3A3E85E3D7AFE12B90379 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Midi.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; 2BCC34D4111803A97CD75B90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputStream.h"; path = "../../../../../modules/juce_core/streams/juce_InputStream.h"; sourceTree = "SOURCE_ROOT"; }; - 2C0B8F3976E27B23BB966A5A = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 2C1F280AEDFA0E475E93E29D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioFormatReader.h"; path = "../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; 2D0803F43F3117954C369D25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; }; 2D2109F4BF800BFB092C3EAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLContext.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h"; sourceTree = "SOURCE_ROOT"; }; 2D41BDA9FB2BC252594B5943 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; + 2DA5A7253793B9BFBB4E2A18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../JuceLibraryCode/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -252,7 +227,9 @@ 2F8D638FAFD05D2DECAC1BC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; }; 2F9E29956B7DE5CFBFC479E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; }; 30158F901439510F05BBC97D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; }; + 30A0CF70C234FD895D7F6A58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../JuceLibraryCode/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; 30B076BD20CDD8F27B6604CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3105E167622313C70055B903 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../../modules/juce_audio_plugin_client/AU/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; }; 310A059FDFF472B87EFA55CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; 3119C964C1406136A1A5E5BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; }; 321D845BC654922FA420EC5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; }; @@ -279,6 +256,7 @@ 37F88926AD5D61EBFFD6F58A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_devices.h"; path = "../../../../../modules/juce_audio_devices/juce_audio_devices.h"; sourceTree = "SOURCE_ROOT"; }; 380147C3BE63B15FFA951023 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VSTPluginFormat.cpp"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 382D501787B1BDABCED95C99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 38673EA13F2A875C02307EF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_utils.cpp"; path = "../../JuceLibraryCode/juce_audio_plugin_client_utils.cpp"; sourceTree = "SOURCE_ROOT"; }; 38EC41F033CD00E32E94D024 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -287,7 +265,6 @@ 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"; }; - 3C6951706FF246380D65A952 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; 3C8258EB97D57A362FA8C2A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; }; 3CCF84CD943DA1FDF83C9876 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorListener.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h"; sourceTree = "SOURCE_ROOT"; }; 3CD0C77BB5AE74836A38DBD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Midi.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -307,7 +284,6 @@ 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"; }; 4199D87370CB0E851B12CCA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; }; - 4242C84CE6D479764B2D81AF = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_audio_processors/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 4250F888F6C4949AEFF87D07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 42A7169A40CAD60B3A7360F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GenericAudioProcessorEditor.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; 42BB2CEE0312ED7F3F9D7960 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreMidi.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -316,6 +292,7 @@ 437BBA06E4D35C3B0A0DB8B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; 440140DF2631C8A74F050876 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_File.h"; path = "../../../../../modules/juce_core/files/juce_File.h"; sourceTree = "SOURCE_ROOT"; }; 444AFDB731CB5DD211CA4377 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; }; + 44AA2CDFC06F2E27F3BD6313 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-AAX.plist"; path = "Info-AAX.plist"; sourceTree = "SOURCE_ROOT"; }; 44AEAB369BF057F455A35A74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 4546428F43065C016F010038 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 45795B5AA2EF4B1833388362 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; }; @@ -367,6 +344,7 @@ 511115CEEF7710EB5CEEE92A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; }; 5141BA1C184FB8A9EFD526D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; }; 5162CDB00B1CB713DF9225D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5202ABFCC92AA0AFBC9400BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandaloneFilterWindow.h"; path = "../../../../../modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterWindow.h"; sourceTree = "SOURCE_ROOT"; }; 5211E125B447086B3BC91E49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; }; 527B81443EEA639CE421A986 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; }; 5286DDF39FF963F64130D6B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -375,7 +353,6 @@ 52FA0D3E327CD3CF1E2A6DF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 5305B818397B8B56749A4B7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_QuickTimeMovieComponent.mm"; path = "../../../../../modules/juce_video/native/juce_mac_QuickTimeMovieComponent.mm"; sourceTree = "SOURCE_ROOT"; }; 53ACF0FF779761D3CB13642C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; }; - 53B330EF8F975BD0F526CAB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAVectorUnit.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAVectorUnit.cpp"; sourceTree = "SOURCE_ROOT"; }; 53DF1C55C5A6A8D963A9F786 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; }; 545566963CAEA11C8E0C92B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLShaderProgram.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h"; sourceTree = "SOURCE_ROOT"; }; 54561AF285C8F669CF192485 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -390,7 +367,6 @@ 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"; }; @@ -398,23 +374,18 @@ 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"; }; 589F8F03BB18E494AEBD6101 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; }; - 5902C0037E45FB09355FB85B = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_data_structures/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 590829FC32E83F6CF32B0458 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GroupComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h"; sourceTree = "SOURCE_ROOT"; }; 59420A818BB57FA17DE533F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; }; - 597386A458AC5E4D64C18066 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAAudioChannelLayout.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAudioChannelLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; 5A1063067F6999738F8A0881 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; }; 5A3E829FBDDCE16508A2929F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; }; 5A65F6D687CA98D18297AE08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LuaCodeTokeniser.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; - 5AA69838B316B1670C17274E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; 5AB3382A58A2D79B00AF2F4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; }; 5ACE35425F10E6FE0CD30B44 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; 5AE0368BD34C757AC26B7DA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; 5AE60C61A6222805D614A7D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginInstance.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h"; sourceTree = "SOURCE_ROOT"; }; 5B31D6CFE1A606034287E571 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; }; 5BA1ACFFF84A2044CB2D87CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; }; - 5BB1BBCB34B72DCE9B16B695 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../../../../modules/juce_audio_formats/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; 5C1DC62AAD02F3A90F6A6F6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ASIO.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp"; sourceTree = "SOURCE_ROOT"; }; - 5C23B5AFB8210E706D0365D0 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_cryptography/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 5C99C1881D7EB82C4B1F2746 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; }; 5D64A9053D2B65D5C3A4BD92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 5D8F32B127469E8256C49D79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -428,6 +399,7 @@ 5F74A97551ACF53D3B0E8C64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; }; 6033F6DD0B905B8819C115E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RTAS_DigiCode2.cpp"; path = "../../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode2.cpp"; sourceTree = "SOURCE_ROOT"; }; 6041B9FD43339350EDD996BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 60ECEC321E2335CA55B41A55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../JuceLibraryCode/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 60F6469BEBBB2CE454FDDAEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 611116B52D35BC10C624C5A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; 6161BFA67DF8CB7A727DE55C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; }; @@ -438,12 +410,13 @@ 626706DB11D4536E1FFD2239 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 6326AC7313673BB1EACAB1A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; }; 63297C5FF9287F6C72168287 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; }; - 632DDC970397B14F74D60440 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUDispatch.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUDispatch.cpp"; sourceTree = "SOURCE_ROOT"; }; 63B0FE69CF927E472DF13FDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 63D63E92CED08BA2A314A170 = {isa = PBXFileReference; lastKnownFileType = file.rsr; name = "juce_RTAS_WinResources.rsr"; path = "../../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_WinResources.rsr"; sourceTree = "SOURCE_ROOT"; }; 63DBC52F33003A7E05F9F1F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; 63FBF3270BFA4511B631CF26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; }; 642E5BF8C4F61C9C1B7F1B86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; }; 650ADD57B41CCF8F784D7A67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 658D062C358482599572816C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_VST_utils.mm"; path = "../../JuceLibraryCode/juce_audio_plugin_client_VST_utils.mm"; sourceTree = "SOURCE_ROOT"; }; 659C2199C50531D6AE468A92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; }; 65A9C1BBF5C4D06188F938F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_win32.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_win32.h"; sourceTree = "SOURCE_ROOT"; }; 65D46B04CD809FD70E53B1F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; @@ -463,6 +436,7 @@ 69A29D8420DB0B53507E223D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_VST_Wrapper.mm"; path = "../../../../../modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.mm"; sourceTree = "SOURCE_ROOT"; }; 69D08C7859B6E11D7178EDE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IncludeModuleHeaders.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_IncludeModuleHeaders.h"; sourceTree = "SOURCE_ROOT"; }; 6A10154E849CB11E12ECC863 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6A25D165EFEF09D036B36B91 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-VST.plist"; path = "Info-VST.plist"; sourceTree = "SOURCE_ROOT"; }; 6A6F0D3243A18E80597F1CB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; }; 6AC1405BEB186F228A9D76A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 6AD6AFD0F47042AB8C5C5084 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -472,10 +446,10 @@ 6BF3DA64DFD5DB1BBD199781 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardState.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h"; sourceTree = "SOURCE_ROOT"; }; 6C6F0A785CDC8DD608854989 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SHA256.h"; path = "../../../../../modules/juce_cryptography/hashing/juce_SHA256.h"; sourceTree = "SOURCE_ROOT"; }; 6CCAB4869E55A63EFBC2216B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; }; + 6CCFE4D90B707892ED5D0B59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_VST2.cpp"; path = "../../JuceLibraryCode/juce_audio_plugin_client_VST2.cpp"; sourceTree = "SOURCE_ROOT"; }; 6CD074CDA8DEFA180E6AD3B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AiffAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 6D30D0F9389B170EFBE74AE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; }; 6D66326CCD4E80F073289B5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODeviceType.h"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h"; sourceTree = "SOURCE_ROOT"; }; - 6D9DE23DD863E2E112F45573 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUBuffer.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; 6DA49C26C3B415085CA1790F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; 6DE13E77994751144B4E8BFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormatManager.h"; path = "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; 6DF5E95A4A73670CFF0227B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -485,10 +459,8 @@ 6ED1ECF7152767E596FE32C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; }; 6EE111815C511E352294B4CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleComponent.cpp"; path = "../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 6EFD42D9FC7176D6B6BA4676 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; }; - 6F0FB5DD64026024B473306B = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_gui_extra/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 6F68C5F92EF6685CA1935CD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; }; 6F7BD2EEA15E6FB1FF1A3AFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; }; - 6F849E7BA62C4F330B967A9A = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_events/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 6FAF21EBA3E7427E6277FAD7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; 70AD38D4D7F946EB22DBD760 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; }; 710964C343091482657618B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Whirlpool.h"; path = "../../../../../modules/juce_cryptography/hashing/juce_Whirlpool.h"; sourceTree = "SOURCE_ROOT"; }; @@ -500,7 +472,6 @@ 726DF830BFEFB3A5ECFFF480 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLAppComponent.h"; path = "../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; 7280342D6AE931431B7BC437 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 732E9008441EE9EC60D09A8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDescription.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h"; sourceTree = "SOURCE_ROOT"; }; - 73567EDFABD366280D6C1D45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; 73765F4025B383E862B462E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; }; 73829871F3488EDE70CE4752 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; }; 73846AB1A71BBA22CB922BE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorEditor.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; @@ -517,14 +488,11 @@ 7732D6F826B3A00BBD076D62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; 7753227ECB2EF9F985DD9588 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KnownPluginList.h"; path = "../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h"; sourceTree = "SOURCE_ROOT"; }; 77B58FBF9CE928BF4F08690A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooserDialogBox.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h"; sourceTree = "SOURCE_ROOT"; }; - 7888C501B8C62319CA9C7C95 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_audio_formats/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 789D3C1F5D021FF597F455E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; 789EBDE5AA3DDBF44BCCE63F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; }; 79BB9681CFAA5B5DEDD138BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLPixelFormat.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h"; sourceTree = "SOURCE_ROOT"; }; 7A56C7ABE00EAC7DAE6A7B6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; }; 7A6A889A32581FBE73645356 = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; sourceTree = "SOURCE_ROOT"; }; - 7A70E8857008EFAD0BF2907C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; - 7AB158D65BBBCE95A368F151 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUMIDIBase.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUMIDIBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 7ACCDA7FF33BB28531886B81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; 7AEB21EB786D5F8208A1AF3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; 7B54800DFB8721C0E2059765 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -595,6 +563,7 @@ 8D2C7626EF24C83FE6FF261C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Quaternion.h"; path = "../../../../../modules/juce_opengl/geometry/juce_Quaternion.h"; sourceTree = "SOURCE_ROOT"; }; 8D4D7EA034F7C178C51A0B60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; 8D82369B90236590052D133D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; }; + 8E20AE27507F5C47985A6865 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../JuceLibraryCode/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; 8E3AF695CEB5967D1BD8A8B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; 8EC39A5A7D39F9405110A1F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; }; 8F5B6335F7EC60EEADF23EF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -621,18 +590,15 @@ 9459C80646EDC1167F484982 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Audio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; 946AE7659626D557F8AAED75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; 949DD226687D344E9283CB08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; }; - 94E9B55296D347A134AFCA1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResamplingAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 94F3D0138EBB7EB31E15940C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CheckSettingMacros.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h"; sourceTree = "SOURCE_ROOT"; }; 9527265F186C8189FB684288 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODevice.cpp"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp"; sourceTree = "SOURCE_ROOT"; }; 9527C3863B515C3C37475E6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; }; 956732F0A83B46EA964E64E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; }; 9594CEE8A150EFF4FBAE4507 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; 97FA2AA9019B9B36EC4242B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; 980AA6E80DD3A42C3353A349 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V1.h"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h"; sourceTree = "SOURCE_ROOT"; }; @@ -642,28 +608,39 @@ 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"; }; 9A131223AA307AB505461134 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLHelpers.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 9A35F41D1FDA6748168386B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; }; 9B2F97252A28CBC0532AC1C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 9B55A59CD39578E3164E2997 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Identifier.cpp"; path = "../../../../../modules/juce_core/text/juce_Identifier.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9C48479A55EBFC4C22D4B7B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; }; 9C779471720BDDE417ED9BE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 9CBD130337083207F2B56452 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9CDA4A2E17BF5DB191F883D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9E0C3CD23088388B14CFE298 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9EB8F8C25EC50AA2C1289551 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; }; + AFB3197B2BE07ED91A0C5FEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CatmullRomInterpolator.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; + B449D9952E702909C133BF21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; 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"; }; + D55687B3C041C9FD94D8415F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; }; + E39A67D3DE5B2F2092769CE7 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = NoiseGate.vst3; sourceTree = "BUILT_PRODUCTS_DIR"; }; + 8D84B63F343660AEE31FD166 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = NoiseGate.component; sourceTree = "BUILT_PRODUCTS_DIR"; }; + 94E9B55296D347A134AFCA1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResamplingAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.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"; }; + 972767EADE58482A1C7BF65C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.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"; }; + 9C039AA0FFD66F1D922EF7C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; + 9C48479A55EBFC4C22D4B7B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; }; + 9C62742BCA5D3C9524DE3029 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = NoiseGate.aaxplugin; sourceTree = "BUILT_PRODUCTS_DIR"; }; 9CC8CDF595616EEF33071A40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableEdgeComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 9CCA07FAE3B4A4D2257497BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; - 9CDA4A2E17BF5DB191F883D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; 9D14B147B6A2CA89387ADD72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; }; 9D67E9F6247EDE2E207EFE8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CameraDevice.cpp"; path = "../../../../../modules/juce_video/capture/juce_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; 9D91048D35939171C41AFA99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 9DAB02E651736622947A4879 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; }; 9DEA01475DB585366B99507A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; }; - 9E0C3CD23088388B14CFE298 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 9E3C9508D07D11C753F6F4EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BlowFish.h"; path = "../../../../../modules/juce_cryptography/encryption/juce_BlowFish.h"; sourceTree = "SOURCE_ROOT"; }; 9E65E218A429E2B64829B4E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 9EA4A85998E5730634754DA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; 9EB05C378008BD43BC552E33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; - 9EB8F8C25EC50AA2C1289551 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; }; 9F0F2E14CFA9F3D6A25E2B38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; 9F385C17D1F088F19F3A12F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp"; sourceTree = "SOURCE_ROOT"; }; 9F5C521FCFAB9BD273073B55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; }; @@ -677,13 +654,13 @@ A113636DA47DE00B552036CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; }; A1A749384126272BBF88B7CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; A1BBD1E66B39B093337D715B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; }; - A1C5088DB76FE9F40AB2264C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../../../../modules/juce_opengl/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; A22917FD2955B0FA6D5D2884 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; }; A22C5A20F8933F4687CCFC3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; }; A24F37B637D6E71CC503FDA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; }; A280DBC72EDCE6C4F7291A90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; A29D254460762F8F6990D54C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginHostType.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_PluginHostType.h"; sourceTree = "SOURCE_ROOT"; }; A2CF63640DAFC02E02EF0E7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + A2F7E59E5A50F28007907412 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-Shared_Code.plist"; path = "Info-Shared_Code.plist"; 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"; }; @@ -725,15 +702,16 @@ AE9D531EED18AF8A0F6DBD27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; AF36796810B3AD03C7EEF00B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; }; AF563E2B3A71986FAC5752E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DeletedAtShutdown.cpp"; path = "../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp"; sourceTree = "SOURCE_ROOT"; }; - AFB3197B2BE07ED91A0C5FEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CatmullRomInterpolator.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; AFD145893BF83A2A7F6AF45F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; }; AFDD8CAE90BF333353BAA597 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatManager.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; AFEF9B9BCF1BFD72D1CA72EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + B15F50973CE5D365D77D282B = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = NoiseGate.framework; sourceTree = "BUILT_PRODUCTS_DIR"; }; 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"; }; + B1F26B94AE932BB4A0DD9AC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../JuceLibraryCode/juce_graphics.mm"; 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"; }; B2A5E524FE0228BC5580B341 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; }; @@ -743,13 +721,13 @@ B38DC525CEED58B1CCD74281 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; }; B416D8DB72CABF1B27455D2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessor.cpp"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp"; sourceTree = "SOURCE_ROOT"; }; B43C74139B5E5F78BFB36FFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - B449D9952E702909C133BF21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; sourceTree = "SOURCE_ROOT"; }; B45121C8111326B9C6A4464F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; B49D613F21BEB11001B867D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; }; B4A41AA6C0B39149FF262728 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; B4C0974AB80E4C7ECB369CC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; }; B4D92464DB68F9B2740B378E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; B4DAFB8487730AE269E43884 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; }; + B5149E7DA756815A92C411C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../JuceLibraryCode/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; B52C83A191E194962C41E177 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; B57BAEBC65AD0A82BCA41C25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; }; B593CBEC6387DC747C2F29CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -761,8 +739,6 @@ B78A6263C80494FA0E092F22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; }; B7A9F5BE275B027C0B0C40C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; }; B85F12DBF66BA624E9997DBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; - B9235D8819278FAD7F53755B = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = "SOURCE_ROOT"; }; - B997959774C3B7B8648A1020 = {isa = PBXFileReference; lastKnownFileType = file.r; name = "juce_AU_Resources.r"; path = "../../../../../modules/juce_audio_plugin_client/AU/juce_AU_Resources.r"; sourceTree = "SOURCE_ROOT"; }; 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"; }; @@ -773,6 +749,7 @@ BBC9BF6DCD11885CA9E119E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; BC3AD0B0EAFB9202A4628D87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; }; BC4D26F9883D8FE32DEDC298 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; + BCC02F39B2F24479D8F6DB50 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-VST3.plist"; path = "Info-VST3.plist"; sourceTree = "SOURCE_ROOT"; }; BCCCB0F3D86B3F05A2FDC6BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; }; BD1941870623E3B285EA0C3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MissingGLDefinitions.h"; path = "../../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h"; sourceTree = "SOURCE_ROOT"; }; BD59FB028A54274E97B02092 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -780,6 +757,7 @@ 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"; }; + BE39EACF7863D1C0779AE6E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AU_1.mm"; path = "../../JuceLibraryCode/juce_audio_plugin_client_AU_1.mm"; 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"; }; @@ -787,7 +765,6 @@ 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; }; BFE7B79DD4882AD3806DEA44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceManager.cpp"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp"; sourceTree = "SOURCE_ROOT"; }; - C110B120608AD518F4D03B6C = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_opengl/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; C15892148AD3874BC1D5917B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; }; C184DEAD905229621563AC10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BooleanPropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; C1D9E890FB2D7F4D86C6ED7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -807,16 +784,14 @@ C4AAA00E6E1C06F0EC04F9B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; }; C56B711849D2CD4C767789A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_OpenSL.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp"; sourceTree = "SOURCE_ROOT"; }; C5D7E8A62AD7B9582D7B0F06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; + C6C096547CAD0C12FA4746CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AUv3_Wrapper.mm"; path = "../../../../../modules/juce_audio_plugin_client/AU/juce_AUv3_Wrapper.mm"; sourceTree = "SOURCE_ROOT"; }; + C6C93B02F46D3AA1764BC99D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../JuceLibraryCode/juce_cryptography.mm"; 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"; }; C73FE41F07999F5DF26E0A69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; }; C761A5B883ECF6DBA8077CC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; }; - C78B7248755985DABBD1440E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ComponentBase.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/ComponentBase.cpp"; sourceTree = "SOURCE_ROOT"; }; C7AE06C6AEA16AD8F3F236D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; C7BB0D14844E40141B2DDD10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; }; C803EBF8CEF28BD5F77E070D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; }; @@ -825,12 +800,11 @@ C8C90957F833D794D3E41A55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; }; C90FC163386A1C2D7BA88425 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; }; C932E76A63B20E88EF1F8B3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; }; - C9BE47AEF1E79DB6784BD6E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../../../../modules/juce_cryptography/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; - CA067F9C47C831BA25DF843D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../../../../modules/juce_video/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; CA1213B99C9AABF61288308F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; }; CA402B201A64EEC2459A34E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; }; 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"; }; + CACE582F7C3519476B8E2F81 = {isa = PBXFileReference; lastKnownFileType = file.def; name = "juce_RTAS_WinExports.def"; path = "../../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_WinExports.def"; 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"; }; @@ -843,6 +817,7 @@ CC41AC554B5D05714FCBB88B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; }; CC7CBD49B59F4421E3D76E5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; sourceTree = "SOURCE_ROOT"; }; CC8F65EA3F978D82420486C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + CC9F7AC6AE2844784B78151D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; CD80767044CCCAD2AEE92AAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MACAddress.h"; path = "../../../../../modules/juce_core/network/juce_MACAddress.h"; sourceTree = "SOURCE_ROOT"; }; CD958347CD563CBB21202B51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LAMEEncoderAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; CD99CCD7C222C7C3668BE42F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; }; @@ -854,7 +829,6 @@ CF14FD514BCA70462A70916A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; CFA9DC97C28490B1717E8577 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; CFB9FE139E6BA495C9098D71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Identifier.h"; path = "../../../../../modules/juce_core/text/juce_Identifier.h"; sourceTree = "SOURCE_ROOT"; }; - CFEC3C2BE4EC9AC34D1FC1F0 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_core/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; D004C3051212C00DE1D6CB00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; }; D02F06A487DD8E09A3E5B546 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; }; D0A3F2265D323BB3F90F3DD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RTAS_Wrapper.cpp"; path = "../../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_Wrapper.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -865,15 +839,14 @@ D21E2520E9B6805E91DC32D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; }; D2C8FEE4DB448F37F759A8B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; }; D2EE78DEFF4DB320142E6D6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; }; + D30F58A3C82A7C61E6768EBE = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-AU.plist"; path = "Info-AU.plist"; sourceTree = "SOURCE_ROOT"; }; D326D6EF2740CF33DD84C203 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; }; - D32D31BDE76500648D64B7A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../../../../modules/juce_audio_devices/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; D3C40C825F7C1E3CCFEF419C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; D3E472B051685E6A9408C877 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; }; D4251BB3C69661B2C52AB5B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; }; D48BB10C4470AFF44A5298DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; D50277531FEF09E12EC5E68B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; D5328CAED1770523B12319A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiDataConcatenator.h"; path = "../../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h"; sourceTree = "SOURCE_ROOT"; }; - D55687B3C041C9FD94D8415F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; }; D5AC8013B3E2933223D967D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; }; D5CDD540810A851326FD7EA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; }; D5F71BDF23BEEA366EA8E2F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -883,6 +856,7 @@ D7A8276363B3E1802C316937 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; D7B0A641A7E4712684E9A640 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; }; D7B265D488E8FA7FDDD97345 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; }; + D7B732AB3E5D032BF20DF855 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_VST3.cpp"; path = "../../JuceLibraryCode/juce_audio_plugin_client_VST3.cpp"; sourceTree = "SOURCE_ROOT"; }; D7C9171839D83F3FB08D7007 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; D88A8B4560FD81033E52461C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; D8BF9522B320517E46687C2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -913,8 +887,6 @@ E2A92B990D55A22718807D39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; }; E2DE41B93814A00DC2A8C825 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; E3DD9EFD8E27134F5118B406 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = System/Library/Frameworks/AudioUnit.framework; sourceTree = SDKROOT; }; - E4A40217DD45BC6D74DF0524 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAMutex.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAMutex.cpp"; sourceTree = "SOURCE_ROOT"; }; - E4E4E4C7BF91EE480FBD36EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUCarbonViewBase.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewBase.cpp"; sourceTree = "SOURCE_ROOT"; }; E519655E6A0966ABC3132871 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLHelpers.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp"; sourceTree = "SOURCE_ROOT"; }; E51E3C4D621A469C86F46BE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageSequence.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h"; sourceTree = "SOURCE_ROOT"; }; E542BB1541FF0594DC31C41B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormat.cpp"; path = "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -926,7 +898,6 @@ E66BA0EA9A0CF7F58AE9FDA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; }; E69CED9E90B8EC8BBCF6FA69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; E6AA6BEB52682AA5368A8DB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; }; - E6BA389AB42466FD0E99CDD7 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_graphics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; E6F5872A6FD72E49CCAA4636 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; }; E6FC5052410E1A11CE5D41A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLExtensions.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h"; sourceTree = "SOURCE_ROOT"; }; E71935ADEEA90363DA56DBCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; }; @@ -939,7 +910,6 @@ E8D4C7DCDA344126E0800B7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReader.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; E90DDDD9070BC5C48FFFD5A3 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; E97DCF658698D013CDD4A807 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDataConverters.h"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h"; sourceTree = "SOURCE_ROOT"; }; - E9A6A98219D0E4514484593D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUBase.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBase.cpp"; sourceTree = "SOURCE_ROOT"; }; E9A9B9D4959D531434D6EA82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MP3AudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; E9CB0370E92099599CA19346 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; }; E9CB094045359F2FD17F9414 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_cryptography.h"; path = "../../../../../modules/juce_cryptography/juce_cryptography.h"; sourceTree = "SOURCE_ROOT"; }; @@ -952,9 +922,11 @@ EB150BB1D358E0AE4FAC026A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableObjectResizer.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp"; sourceTree = "SOURCE_ROOT"; }; EB4E1684047679E02F10405F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; EBAB55A995E6C7708895833F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + EBCA6DB76022CE8410954E33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../JuceLibraryCode/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; EC29D7BAE8B0830382603A53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RSAKey.cpp"; path = "../../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp"; sourceTree = "SOURCE_ROOT"; }; ECA8035326160B53372BE525 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; ECAF353698739976F56D6A02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedAudioFormatReader.h"; path = "../../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; + ECFBE6A9ACC3B126E5DDDE49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AAX.mm"; path = "../../JuceLibraryCode/juce_audio_plugin_client_AAX.mm"; sourceTree = "SOURCE_ROOT"; }; ED129E1F10E9B8552C9C6A41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; ED5809B58484B61271092E69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilePreviewComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; ED5D91E0310FF5CBC1962AF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LagrangeInterpolator.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; @@ -975,7 +947,6 @@ F061F2ADEE911096946AE3EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; }; F076DBA145D08AB0C6646393 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInactivityDetector.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h"; sourceTree = "SOURCE_ROOT"; }; F0E1EB0020203D86322F7565 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; }; - F135E9B6A9FB95325F02CD89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUCarbonViewControl.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewControl.cpp"; sourceTree = "SOURCE_ROOT"; }; F14B44B13351E6F3BC8D0ECF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_CameraDevice.cpp"; path = "../../../../../modules/juce_video/native/juce_android_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; F192665151B0D31C8BFE6BA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colours.h"; path = "../../../../../modules/juce_graphics/colour/juce_Colours.h"; sourceTree = "SOURCE_ROOT"; }; F21357E85326E061FB86DD0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; @@ -989,26 +960,25 @@ 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"; }; F4CD72A3B13818EEA379A6EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; + F4D616BD3FAFE9587EC29FC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StandaloneFilterApp.cpp"; path = "../../../../../modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterApp.cpp"; 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"; }; + 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"; }; 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"; }; - F838AA16DFECC7023BADF2FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.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"; }; - 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"; }; + F89668D992EB657D805942EC = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; }; F8AB7D10F5C9ABF34829AE8F = {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"; }; F8D37926F2E6310D56E793DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; F8D9D0D40737FC0DD8B52C4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; }; F95DCA1F439FC2CFB7F24794 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; }; F961C66F176298E6D66C1715 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; }; F977E6E34D35E0FC5235BA25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; }; - F983B97EB7A763CA91C2B615 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUInputElement.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUInputElement.cpp"; sourceTree = "SOURCE_ROOT"; }; F9AEBC8B0F4EAE709D0D5E80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; }; FA2B3781996DC52D0CFE3BA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; FAC04F8CCDFA8DB3650F1E01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; @@ -1021,10 +991,8 @@ FCC423AA738412A39006C90C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; FCDA75DBFFBEC005520A7E37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; }; FD41B287ABA4D47C799CF726 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReaderSource.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h"; sourceTree = "SOURCE_ROOT"; }; - FDD1022CBB4FE524922B3AEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; FDD1AD1846EAF0E3455269DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; FDEC051E9964D7A9E9CA0BC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; - FE0D2F1BCBB256FACA2A4086 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_audio_devices/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; FE1CCA38AEFC870EEB2D7322 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; FE77277BED9A7479BE443FF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; }; FE7D28114C5F53EBCE9D00A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Vector3D.h"; path = "../../../../../modules/juce_opengl/geometry/juce_Vector3D.h"; sourceTree = "SOURCE_ROOT"; }; @@ -1032,6 +1000,7 @@ FEC09EEAF7849135C424F5D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; FED254838DB40DD00AD90346 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODeviceType.cpp"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp"; sourceTree = "SOURCE_ROOT"; }; FF0774CBDC22ADA793BE4188 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; + FF3D304022AC45628AAA9BEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; FF8FFE608168896DE86209DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTMidiEventList.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h"; sourceTree = "SOURCE_ROOT"; }; C3D51E70C31B55C5F37D897D = {isa = PBXGroup; children = ( 45E82A90482A147FF8FA6507, ); name = Source; sourceTree = ""; }; @@ -1114,9 +1083,12 @@ 1E4E1F71EAB813080B59CCB8, 3430FD046BBEF538D33CF064, 18FCF327CE9EF342E83C1DBF, - 113C2009363F968B7E80EDE0, 6E74706D73837239FE5FB6BC, ); name = "juce_audio_basics"; sourceTree = ""; }; - A09A86760E8E59AC1319BDE8 = {isa = PBXGroup; children = ( + 608B825E92C8434129AF8A13 = {isa = PBXGroup; children = ( + 5667737D7AFBE57506EA08F0, + 4BD658660C6B6A5A67B93187, + BD79391479F73580810F52AC, ); name = "audio_cd"; sourceTree = ""; }; + 5EB87A6F716B95FC870C9963 = {isa = PBXGroup; children = ( BFE7B79DD4882AD3806DEA44, 6BD631AB6B0DE1F1048B4E99, 9527265F186C8189FB684288, @@ -1124,22 +1096,13 @@ FED254838DB40DD00AD90346, 6D66326CCD4E80F073289B5E, 6985DCCAE57E6FF9DF41D1BF, ); name = "audio_io"; sourceTree = ""; }; - ADC6FF963476D009C4940309 = {isa = PBXGroup; children = ( + FCDEBA404279069985D75EFD = {isa = PBXGroup; children = ( 9F5E1264C9AC4AA54E0AB158, 7143312CC1700B2BA477AB72, 7BF0A92363ACBE467D52D136, 9F385C17D1F088F19F3A12F5, 2692844292F9B2EF9C2A3B63, ); name = "midi_io"; sourceTree = ""; }; - 781928B44EAA7D9FAAEA5C0C = {isa = PBXGroup; children = ( - A0B50A729CB25919EE133A4D, - 3376A1806C3FCEC8950298F9, - 031B11B5EC367F8A36BFAC27, - B33368278B6F11BE53199EF8, ); name = sources; sourceTree = ""; }; - 14E22D085E8732B61C5AEF96 = {isa = PBXGroup; children = ( - 5667737D7AFBE57506EA08F0, - 4BD658660C6B6A5A67B93187, - BD79391479F73580810F52AC, ); name = "audio_cd"; sourceTree = ""; }; - 82A10D8EF3E76AF9DC9E32C1 = {isa = PBXGroup; children = ( + 1331AB74AAFB2D0308EA8A4A = {isa = PBXGroup; children = ( 9459C80646EDC1167F484982, 2BA3A3E85E3D7AFE12B90379, C56B711849D2CD4C767789A1, @@ -1159,31 +1122,19 @@ 359EDCF3631597C425AB9A47, 13BC07D9C47420ABEF79E3C9, 3D194634199BFF294C166E5B, ); name = native; sourceTree = ""; }; + 0FCB9DF411178E34CA60A9AC = {isa = PBXGroup; children = ( + A0B50A729CB25919EE133A4D, + 3376A1806C3FCEC8950298F9, + 031B11B5EC367F8A36BFAC27, + B33368278B6F11BE53199EF8, ); name = sources; sourceTree = ""; }; 2A9539AFE124BBD057A21CD0 = {isa = PBXGroup; children = ( - A09A86760E8E59AC1319BDE8, - ADC6FF963476D009C4940309, - 781928B44EAA7D9FAAEA5C0C, - 14E22D085E8732B61C5AEF96, - 82A10D8EF3E76AF9DC9E32C1, - FE0D2F1BCBB256FACA2A4086, + 608B825E92C8434129AF8A13, + 5EB87A6F716B95FC870C9963, + FCDEBA404279069985D75EFD, + 1331AB74AAFB2D0308EA8A4A, + 0FCB9DF411178E34CA60A9AC, 37F88926AD5D61EBFFD6F58A, ); name = "juce_audio_devices"; sourceTree = ""; }; - 094731E875EF9A4D7B4732A5 = {isa = PBXGroup; children = ( - 6AC1405BEB186F228A9D76A0, - 52FA0D3E327CD3CF1E2A6DF5, - AFDD8CAE90BF333353BAA597, - 021767D388A9A733BCD659D4, - E8D4C7DCDA344126E0800B7F, - A8B3C644EA42C512C4E3501B, - CC1A596118DDABEA4B806A21, - FD41B287ABA4D47C799CF726, - 06479087567B237274BC06E5, - C37BB9C8E9EF74698822F5E5, - 7280342D6AE931431B7BC437, - 0A15F7AB7CBE317A76BF7859, - 0E433B3D05C0F0DD6F98DD85, - 2C1F280AEDFA0E475E93E29D, - ECAF353698739976F56D6A02, ); name = format; sourceTree = ""; }; - 2B187F5729C4D7D79560A70E = {isa = PBXGroup; children = ( + 36384E18677440CB983DC21B = {isa = PBXGroup; children = ( 39330A1B1B7B8221577B5287, 6CD074CDA8DEFA180E6AD3B0, 1853368999546D379A6D8836, @@ -1202,34 +1153,51 @@ DF93ADD8133B5683DFC43FBB, 9A0A19875BF42ABAEA7BE5A8, BF7D8E074246E8D83D82C1F2, ); name = codecs; sourceTree = ""; }; + 747FE7870C6345FDDD078D42 = {isa = PBXGroup; children = ( + 6AC1405BEB186F228A9D76A0, + 52FA0D3E327CD3CF1E2A6DF5, + AFDD8CAE90BF333353BAA597, + 021767D388A9A733BCD659D4, + E8D4C7DCDA344126E0800B7F, + A8B3C644EA42C512C4E3501B, + CC1A596118DDABEA4B806A21, + FD41B287ABA4D47C799CF726, + 06479087567B237274BC06E5, + C37BB9C8E9EF74698822F5E5, + 7280342D6AE931431B7BC437, + 0A15F7AB7CBE317A76BF7859, + 0E433B3D05C0F0DD6F98DD85, + 2C1F280AEDFA0E475E93E29D, + ECAF353698739976F56D6A02, ); name = format; sourceTree = ""; }; D9FAAE034A4F079CF96F898C = {isa = PBXGroup; children = ( 8325FAB2F1C53F2F23E8EDA2, 9063A693E9C3596B0E7A4585, ); name = sampler; sourceTree = ""; }; 6A5DB6542EA9C97231C1D374 = {isa = PBXGroup; children = ( - 094731E875EF9A4D7B4732A5, - 2B187F5729C4D7D79560A70E, + 36384E18677440CB983DC21B, + 747FE7870C6345FDDD078D42, D9FAAE034A4F079CF96F898C, - 7888C501B8C62319CA9C7C95, 259860F50BF88025C9451A37, ); name = "juce_audio_formats"; sourceTree = ""; }; - 3D494EE356FF362ACDC1098E = {isa = PBXGroup; children = ( - CB425D61E072DED92F6CAC85, ); name = AU; sourceTree = ""; }; - AC430AC594AF7FFB61CE4327 = {isa = PBXGroup; children = ( + 7CF8B6343F0946516B5483DF = {isa = PBXGroup; children = ( + 218937DFF1E643C7E9392D3D, + CC317CE14E558325BF16D1D9, ); name = AAX; sourceTree = ""; }; + F7C00AAF91146252C3FD2194 = {isa = PBXGroup; children = ( + 3105E167622313C70055B903, + CB425D61E072DED92F6CAC85, + C6C096547CAD0C12FA4746CF, ); name = AU; sourceTree = ""; }; + 1778AA97486D48FFEEABB05A = {isa = PBXGroup; children = ( + F4E8427587734D0D2B94F4D8, E09DC8AF27C6E40AB436E821, 6033F6DD0B905B8819C115E2, 09793ED29E076F27C3CDE59C, - F785317A2BB8414F5D8E2813, - D0A3F2265D323BB3F90F3DD5, F8AB7D10F5C9ABF34829AE8F, - F4E8427587734D0D2B94F4D8, ); name = RTAS; sourceTree = ""; }; - B035FA1EDBC6BBA641CD0820 = {isa = PBXGroup; children = ( - 906428E1A9963444AF1B0D60, - 69A29D8420DB0B53507E223D, ); name = VST; sourceTree = ""; }; - 2FB61D480050B4665414C186 = {isa = PBXGroup; children = ( - CDE1B83C996A1861A93C93A7, ); name = VST3; sourceTree = ""; }; - 83A336F4FF99A9F2025BD4F3 = {isa = PBXGroup; children = ( - 218937DFF1E643C7E9392D3D, - CC317CE14E558325BF16D1D9, ); name = AAX; sourceTree = ""; }; - BE2F312053D2BB91C680C878 = {isa = PBXGroup; children = ( + CACE582F7C3519476B8E2F81, + 63D63E92CED08BA2A314A170, + F785317A2BB8414F5D8E2813, + D0A3F2265D323BB3F90F3DD5, ); name = RTAS; sourceTree = ""; }; + 1196D19A2AD1439AEEF307EB = {isa = PBXGroup; children = ( + F4D616BD3FAFE9587EC29FC6, + 5202ABFCC92AA0AFBC9400BE, ); name = Standalone; sourceTree = ""; }; + 1D5E73B059A01C458D1E9E1F = {isa = PBXGroup; children = ( 210E0DDAE66818EF2B278274, 94F3D0138EBB7EB31E15940C, F4C02954B36F8FCE5D4E647C, @@ -1239,16 +1207,38 @@ A29D254460762F8F6990D54C, B9A21AE64CC4B86FC1F67061, F35CA755BCEF635E1D3A905C, ); name = utility; sourceTree = ""; }; + F937EF2A12FF3B5A70B7145D = {isa = PBXGroup; children = ( + 906428E1A9963444AF1B0D60, + 69A29D8420DB0B53507E223D, ); name = VST; sourceTree = ""; }; + B4D0C5469BB4D17C88822D8E = {isa = PBXGroup; children = ( + CDE1B83C996A1861A93C93A7, ); name = VST3; sourceTree = ""; }; 3935AB4CC6A0A44A4A93B7E8 = {isa = PBXGroup; children = ( - 3D494EE356FF362ACDC1098E, - AC430AC594AF7FFB61CE4327, - B035FA1EDBC6BBA641CD0820, - 2FB61D480050B4665414C186, - 83A336F4FF99A9F2025BD4F3, - BE2F312053D2BB91C680C878, - 2A6FCD9335B2647CB4DBF944, + 7CF8B6343F0946516B5483DF, + F7C00AAF91146252C3FD2194, + 1778AA97486D48FFEEABB05A, + 1196D19A2AD1439AEEF307EB, + 1D5E73B059A01C458D1E9E1F, + F937EF2A12FF3B5A70B7145D, + B4D0C5469BB4D17C88822D8E, 163F8CC7509513B483860103, ); name = "juce_audio_plugin_client"; sourceTree = ""; }; - 10E105C90B08143D3A704C82 = {isa = PBXGroup; children = ( + 9D115D7901D8BA85DFACA15E = {isa = PBXGroup; children = ( + E542BB1541FF0594DC31C41B, + 11FC9FFEFA7831562BF81237, + D0EC72DA701E189E29375541, + 6DE13E77994751144B4E8BFF, ); name = format; sourceTree = ""; }; + B5056E66DB1953C8676E86AC = {isa = PBXGroup; children = ( + 4BACF3260C3D989D1134FD27, + B57BAEBC65AD0A82BCA41C25, + 2E7C45A3DE967DA2042E77D8, + 110A2791839AF0A8A3EAEF83, + C7112156016984DD3F77B39F, + 15D9387120B61E7C407F2C76, + 05085296947E594C821B4B99, + E59436CDDCF0D85D9D70069D, + FF8FFE608168896DE86209DD, + 380147C3BE63B15FFA951023, + 899CCE2491A041C70D8B77C7, ); name = "format_types"; sourceTree = ""; }; + 8E459A25026B70AC04B8BDF6 = {isa = PBXGroup; children = ( 3489215355E69474A575950B, 3DC1CD01357795B9A88D002A, 509F5E0BB415297C76CB79F4, @@ -1265,23 +1255,6 @@ 42A7169A40CAD60B3A7360F4, 850EB6CEBCCA1C8732A4F7FB, 732E9008441EE9EC60D09A8D, ); name = processors; sourceTree = ""; }; - 8457DD8E9B1952F5D5013840 = {isa = PBXGroup; children = ( - E542BB1541FF0594DC31C41B, - 11FC9FFEFA7831562BF81237, - D0EC72DA701E189E29375541, - 6DE13E77994751144B4E8BFF, ); name = format; sourceTree = ""; }; - D2D2E65BAD2BE294C81A319C = {isa = PBXGroup; children = ( - 4BACF3260C3D989D1134FD27, - B57BAEBC65AD0A82BCA41C25, - 2E7C45A3DE967DA2042E77D8, - 110A2791839AF0A8A3EAEF83, - C7112156016984DD3F77B39F, - 15D9387120B61E7C407F2C76, - 05085296947E594C821B4B99, - E59436CDDCF0D85D9D70069D, - FF8FFE608168896DE86209DD, - 380147C3BE63B15FFA951023, - 899CCE2491A041C70D8B77C7, ); name = "format_types"; sourceTree = ""; }; 36A3370EAF44268B864AE90E = {isa = PBXGroup; children = ( 9602F721F59305974F6CD26D, 7753227ECB2EF9F985DD9588, @@ -1299,65 +1272,13 @@ 45F28DC1BCF1DA9E48DE7C13, B344E0D80D145578D5EC63A0, ); name = utilities; sourceTree = ""; }; 53E84A87793B1E891A92D8AE = {isa = PBXGroup; children = ( - 10E105C90B08143D3A704C82, - 8457DD8E9B1952F5D5013840, - D2D2E65BAD2BE294C81A319C, + 9D115D7901D8BA85DFACA15E, + B5056E66DB1953C8676E86AC, + 8E459A25026B70AC04B8BDF6, 36A3370EAF44268B864AE90E, B55E5E5FF300B7364E863B66, - 4242C84CE6D479764B2D81AF, B0E97BE292E3D682C05BA857, ); name = "juce_audio_processors"; sourceTree = ""; }; - 0D1DBAE663EA393FE3F63392 = {isa = PBXGroup; children = ( - 4B9BB6AEB63D134C137D1EC8, - A64154D04E470AF7EF169FF1, - 9CBD130337083207F2B56452, - 3CD5597ACDA301A53BF9CA85, - A842F3F036C9418368A00DC4, - 2D0803F43F3117954C369D25, - 00DB8F14728206065B35DDAE, - 7F47F88D78F394A3D312C5B9, - 9B55A59CD39578E3164E2997, - CFB9FE139E6BA495C9098D71, - 401E5E8894DDB1D48D23A116, - 18AB0F6CA4C75046C14D6BA6, - 6800F4F7F24ACAECAB192F08, - ECA8035326160B53372BE525, - 6D30D0F9389B170EFBE74AE3, - 01D916B4FD36FBFBA0F6036B, - D5CDD540810A851326FD7EA4, - 887E0290400CD5694670155E, - 8224FC2DE40ED5DB9781D8DD, - C25044A8204DAABD30942486, - 944C96F1603C3E777C12AAB5, - D2EE78DEFF4DB320142E6D6A, - 6ED1ECF7152767E596FE32C8, - 33FA8E14DC58451E1AF0776E, ); name = text; sourceTree = ""; }; - 1F49A7806E9E0423808831D0 = {isa = PBXGroup; children = ( - A6DF6B266AF10288904DE600, - 244DAE5DD057A92C4C19A291, - 291DA858F3C31972114C981F, - 35E15B692B6FF5A8C47E1D3D, - 0ADEB527308BEAB637AD5B5B, - EEF0BC764D4CBA4BD1B4FBE6, - 1E6EEC0D5E5554F99D3A8CFD, - E1749AB50AA3B62DD375E289, - 00F9E4426F088AB1162FFFF1, - 1C6DBFCD7ED0CC51E849FD3F, ); name = maths; sourceTree = ""; }; - 49F35F6DCAD57E910918B3C7 = {isa = PBXGroup; children = ( - CC41AC554B5D05714FCBB88B, - 431A24F749CE6A59E72C3BE8, - 1C8E428921E2E5D05BF033E8, - 377B41D7E08C498478574A22, - 09F7F5DCF77CF3145D78F95B, - 55F359FA31D7FE4CA10AB533, - 527B81443EEA639CE421A986, - 47E8924D97788E68FD007DFE, - D194AF9CFE01AA83DE2B4DA4, - FE1CCA38AEFC870EEB2D7322, - F402880EDB009624652675FC, - 772629D09ACF6F8C7EF11488, - A9175171BA93DAAAC1AC4E37, - 0A99BA740CE12F768425745F, ); name = memory; sourceTree = ""; }; - 8973798E2696DF9590D6AEAF = {isa = PBXGroup; children = ( + FD1627F23B90AED5914503D7 = {isa = PBXGroup; children = ( 9029C6942C1C5585E011E446, B2A5E524FE0228BC5580B341, D2C8FEE4DB448F37F759A8B1, @@ -1379,37 +1300,7 @@ 467905FAEA6B00281E815A0F, B85F12DBF66BA624E9997DBD, 75893CAA09670C441F84B294, ); name = containers; sourceTree = ""; }; - 89FAA9DB257E050FD95CF4C7 = {isa = PBXGroup; children = ( - 4D374200F6FC355F4C84DA74, - 0400253E970A07B160604CC8, - 7C7A9F0A2853448FDB7B9311, - FA2B3781996DC52D0CFE3BA6, - 85239B0D8B8AA60B0EAC7A6D, - 7F2E3FD943CE3EC42B271823, - FEC09EEAF7849135C424F5D2, - E6F5872A6FD72E49CCAA4636, - B17CF6FB971C27506797A7ED, - 472C0688D66E532DA4F6AB9D, - 589790462BFA1ACD31F0042E, - A757FD4C03FF4B8317073E7E, - AE675FEC6A89B887CECBDD29, - 5569121A99DB2718A9B65E47, - F371D8637CA487256A3B629E, - 9DEA01475DB585366B99507A, - 2DD29819AFA3A5F3E07BD965, - 081C8E1C960B64FFA411D0C9, - B52C83A191E194962C41E177, - 80BDC6198079CC49AB4CB1B6, - 7B5EE51BA82CF11DA6BFDDCF, - 6684729261778C6EBCA93E48, ); name = threads; sourceTree = ""; }; - 400F0C78737446D467ED5B72 = {isa = PBXGroup; children = ( - B2329BE06F6CB7B939F2707C, - 6A6F0D3243A18E80597F1CB3, - 8F7882C3430ADA0808B79C6F, - AE9D531EED18AF8A0F6DBD27, - 9527C3863B515C3C37475E6F, - 010613C644BE3D59642B0236, ); name = time; sourceTree = ""; }; - 00C641185B4D7169422DBC8A = {isa = PBXGroup; children = ( + 1761C69664767552135AB247 = {isa = PBXGroup; children = ( 3ED2CBBCD8CD636730F6771F, 5F74A97551ACF53D3B0E8C64, 949DD226687D344E9283CB08, @@ -1427,66 +1318,43 @@ 5A3E829FBDDCE16508A2929F, 686EBDE09320D38417051936, BF52836BE388BD649AE3568B, ); name = files; sourceTree = ""; }; - 9CBF3B8E385202A8AFA84262 = {isa = PBXGroup; children = ( - CFA9DC97C28490B1717E8577, - 6326AC7313673BB1EACAB1A7, - B45121C8111326B9C6A4464F, - CD80767044CCCAD2AEE92AAC, - 168C728EFBD470B30E87D9C5, - 40D306B2EBC7C4D75A0F4D98, - 3119C964C1406136A1A5E5BD, - AA9B31B85C75B0CA6DA24741, - 88D314EEFFC356133A574058, - CB9FB800411BB27FAC82E799, ); name = network; sourceTree = ""; }; - 314F2CB8D49376C02C809721 = {isa = PBXGroup; children = ( - 6BAA3A86AB3C52889E1ECC35, - AFEF9B9BCF1BFD72D1CA72EB, - E2DE41B93814A00DC2A8C825, - AF36796810B3AD03C7EEF00B, - 9F5C521FCFAB9BD273073B55, - 3274667349758AAC25475771, - 2BCC34D4111803A97CD75B90, - EB4E1684047679E02F10405F, - E6AA6BEB52682AA5368A8DB7, - 867F6834281C8B941D0BCE1D, - 9F0F2E14CFA9F3D6A25E2B38, - 8229569DD242299C07516F19, - 851EB8866E638EB89D95F91E, - 1FB561726E6C70B09085F228, - B642AD759F4C5349064EF011, ); name = streams; sourceTree = ""; }; - DFEAE77B7B5985B91F86C43B = {isa = PBXGroup; children = ( - D7B0A641A7E4712684E9A640, - A43DCE541DAFF4006D5405D7, - B4DAFB8487730AE269E43884, - 468373D46C5C57E03996416D, ); name = logging; sourceTree = ""; }; - 2D967AF01CFE49CD9AF2F76C = {isa = PBXGroup; children = ( - D98EDE0EDC960BE999A21A3D, - 05C53231EA20EF3D30289E89, - 6EB43778A246E013A1F78F47, - E660AB2450E2C876A93969B4, - CB208336B1C9C1D9AA906BB2, - 82059768E792710AD7558E86, ); name = system; sourceTree = ""; }; - BABC7493116FDD64B6E3FD1C = {isa = PBXGroup; children = ( - 85B9E97C3FC7D20270A420B9, - 016F2A51F3064D1BEDE560D6, - 5141BA1C184FB8A9EFD526D4, - C87EF309B572BC3315310202, ); name = xml; sourceTree = ""; }; - 7AFA7CBFBF33562A0C6A5A2A = {isa = PBXGroup; children = ( + A3A1BCD69389551845F3D7F7 = {isa = PBXGroup; children = ( B6D0F50156B6E8C46BC504B2, BE60354576FEEF833B0D8F18, CB83B999879BF9C635AE0AB1, 58559FB6482E5AF25EFAD70C, ); name = javascript; sourceTree = ""; }; - B9DEFDD99F2D08387BF07B73 = {isa = PBXGroup; children = ( - 37A9DEFE946EFD55603FCD68, - 6DA49C26C3B415085CA1790F, - 5286DDF39FF963F64130D6B4, - 45795B5AA2EF4B1833388362, - BC3AD0B0EAFB9202A4628D87, - 90F5999238215FF56EED77A3, ); name = zip; sourceTree = ""; }; - F2569B992EEB41C18F374867 = {isa = PBXGroup; children = ( - 6AD6AFD0F47042AB8C5C5084, - 6EFD42D9FC7176D6B6BA4676, ); name = "unit_tests"; sourceTree = ""; }; - 567F00BF66D1134BDB905F20 = {isa = PBXGroup; children = ( + 1B21821D9F47C231F0A52018 = {isa = PBXGroup; children = ( + D7B0A641A7E4712684E9A640, + A43DCE541DAFF4006D5405D7, + B4DAFB8487730AE269E43884, + 468373D46C5C57E03996416D, ); name = logging; sourceTree = ""; }; + 41EFF5785837AE431C0B4923 = {isa = PBXGroup; children = ( + A6DF6B266AF10288904DE600, + 244DAE5DD057A92C4C19A291, + 291DA858F3C31972114C981F, + 35E15B692B6FF5A8C47E1D3D, + 0ADEB527308BEAB637AD5B5B, + EEF0BC764D4CBA4BD1B4FBE6, + 1E6EEC0D5E5554F99D3A8CFD, + E1749AB50AA3B62DD375E289, + 00F9E4426F088AB1162FFFF1, + 1C6DBFCD7ED0CC51E849FD3F, ); name = maths; sourceTree = ""; }; + 92B1D5B16DC909AF3A0A9F20 = {isa = PBXGroup; children = ( + CC41AC554B5D05714FCBB88B, + 431A24F749CE6A59E72C3BE8, + 1C8E428921E2E5D05BF033E8, + 377B41D7E08C498478574A22, + 09F7F5DCF77CF3145D78F95B, + 55F359FA31D7FE4CA10AB533, + 527B81443EEA639CE421A986, + 47E8924D97788E68FD007DFE, + D194AF9CFE01AA83DE2B4DA4, + FE1CCA38AEFC870EEB2D7322, + F402880EDB009624652675FC, + 772629D09ACF6F8C7EF11488, + A9175171BA93DAAAC1AC4E37, + 0A99BA740CE12F768425745F, ); name = memory; sourceTree = ""; }; + DE73A88D20FDC3B8D8F505A3 = {isa = PBXGroup; children = ( 4948EE5199F5B112D3D5A956, 54C589164FD3EA4F554736F3, 06BEEC7E0D01589083CA72F0, @@ -1494,7 +1362,7 @@ C761A5B883ECF6DBA8077CC7, 7155A28CFCE5A8F05412E404, E0DF5E7137B66A045651DCCD, ); name = misc; sourceTree = ""; }; - C03ADB384D5A1002DD4B58AB = {isa = PBXGroup; children = ( + 96C1D983FD9D55B521F93E82 = {isa = PBXGroup; children = ( 3C3243F7C991EB9425F3AA42, 63B0FE69CF927E472DF13FDD, 54561AF285C8F669CF192485, @@ -1524,25 +1392,128 @@ D7B265D488E8FA7FDDD97345, 99CFD965842860C4248EFB4F, ABE7A497CEE401B2C3225A2F, ); name = native; sourceTree = ""; }; + CEAD310FF82B2839548A4322 = {isa = PBXGroup; children = ( + CFA9DC97C28490B1717E8577, + 6326AC7313673BB1EACAB1A7, + B45121C8111326B9C6A4464F, + CD80767044CCCAD2AEE92AAC, + 168C728EFBD470B30E87D9C5, + 40D306B2EBC7C4D75A0F4D98, + 3119C964C1406136A1A5E5BD, + AA9B31B85C75B0CA6DA24741, + 88D314EEFFC356133A574058, + CB9FB800411BB27FAC82E799, ); name = network; sourceTree = ""; }; + 4D405E727FF82BEC25B5061D = {isa = PBXGroup; children = ( + 6BAA3A86AB3C52889E1ECC35, + AFEF9B9BCF1BFD72D1CA72EB, + E2DE41B93814A00DC2A8C825, + AF36796810B3AD03C7EEF00B, + 9F5C521FCFAB9BD273073B55, + 3274667349758AAC25475771, + 2BCC34D4111803A97CD75B90, + EB4E1684047679E02F10405F, + E6AA6BEB52682AA5368A8DB7, + 867F6834281C8B941D0BCE1D, + 9F0F2E14CFA9F3D6A25E2B38, + 8229569DD242299C07516F19, + 851EB8866E638EB89D95F91E, + 1FB561726E6C70B09085F228, + B642AD759F4C5349064EF011, ); name = streams; sourceTree = ""; }; + 2D967AF01CFE49CD9AF2F76C = {isa = PBXGroup; children = ( + D98EDE0EDC960BE999A21A3D, + 05C53231EA20EF3D30289E89, + 6EB43778A246E013A1F78F47, + E660AB2450E2C876A93969B4, + CB208336B1C9C1D9AA906BB2, + 82059768E792710AD7558E86, ); name = system; sourceTree = ""; }; + 823882E6F1634DFBC7EF2425 = {isa = PBXGroup; children = ( + 4B9BB6AEB63D134C137D1EC8, + A64154D04E470AF7EF169FF1, + 9CBD130337083207F2B56452, + 3CD5597ACDA301A53BF9CA85, + A842F3F036C9418368A00DC4, + 2D0803F43F3117954C369D25, + 00DB8F14728206065B35DDAE, + 7F47F88D78F394A3D312C5B9, + 9B55A59CD39578E3164E2997, + CFB9FE139E6BA495C9098D71, + 401E5E8894DDB1D48D23A116, + 18AB0F6CA4C75046C14D6BA6, + 6800F4F7F24ACAECAB192F08, + ECA8035326160B53372BE525, + 6D30D0F9389B170EFBE74AE3, + 01D916B4FD36FBFBA0F6036B, + D5CDD540810A851326FD7EA4, + 887E0290400CD5694670155E, + 8224FC2DE40ED5DB9781D8DD, + C25044A8204DAABD30942486, + 944C96F1603C3E777C12AAB5, + D2EE78DEFF4DB320142E6D6A, + 6ED1ECF7152767E596FE32C8, + 33FA8E14DC58451E1AF0776E, ); name = text; sourceTree = ""; }; + 7A0951C9835246DFA54B2500 = {isa = PBXGroup; children = ( + 4D374200F6FC355F4C84DA74, + 0400253E970A07B160604CC8, + 7C7A9F0A2853448FDB7B9311, + FA2B3781996DC52D0CFE3BA6, + 85239B0D8B8AA60B0EAC7A6D, + 7F2E3FD943CE3EC42B271823, + FEC09EEAF7849135C424F5D2, + E6F5872A6FD72E49CCAA4636, + B17CF6FB971C27506797A7ED, + 472C0688D66E532DA4F6AB9D, + 589790462BFA1ACD31F0042E, + A757FD4C03FF4B8317073E7E, + AE675FEC6A89B887CECBDD29, + 5569121A99DB2718A9B65E47, + F371D8637CA487256A3B629E, + 9DEA01475DB585366B99507A, + 2DD29819AFA3A5F3E07BD965, + 081C8E1C960B64FFA411D0C9, + B52C83A191E194962C41E177, + 80BDC6198079CC49AB4CB1B6, + 7B5EE51BA82CF11DA6BFDDCF, + 6684729261778C6EBCA93E48, ); name = threads; sourceTree = ""; }; + B91932B54FF9579FF872447D = {isa = PBXGroup; children = ( + B2329BE06F6CB7B939F2707C, + 6A6F0D3243A18E80597F1CB3, + 8F7882C3430ADA0808B79C6F, + AE9D531EED18AF8A0F6DBD27, + 9527C3863B515C3C37475E6F, + 010613C644BE3D59642B0236, ); name = time; sourceTree = ""; }; + F2569B992EEB41C18F374867 = {isa = PBXGroup; children = ( + 6AD6AFD0F47042AB8C5C5084, + 6EFD42D9FC7176D6B6BA4676, ); name = "unit_tests"; sourceTree = ""; }; + EDD0D8E544A94B8BCE654149 = {isa = PBXGroup; children = ( + 85B9E97C3FC7D20270A420B9, + 016F2A51F3064D1BEDE560D6, + 5141BA1C184FB8A9EFD526D4, + C87EF309B572BC3315310202, ); name = xml; sourceTree = ""; }; + F6A5511183A3574193EBF957 = {isa = PBXGroup; children = ( + 37A9DEFE946EFD55603FCD68, + 6DA49C26C3B415085CA1790F, + 5286DDF39FF963F64130D6B4, + 45795B5AA2EF4B1833388362, + BC3AD0B0EAFB9202A4628D87, + 90F5999238215FF56EED77A3, ); name = zip; sourceTree = ""; }; 249D1941FF86F416F9F810CF = {isa = PBXGroup; children = ( - 0D1DBAE663EA393FE3F63392, - 1F49A7806E9E0423808831D0, - 49F35F6DCAD57E910918B3C7, - 8973798E2696DF9590D6AEAF, - 89FAA9DB257E050FD95CF4C7, - 400F0C78737446D467ED5B72, - 00C641185B4D7169422DBC8A, - 9CBF3B8E385202A8AFA84262, - 314F2CB8D49376C02C809721, - DFEAE77B7B5985B91F86C43B, + FD1627F23B90AED5914503D7, + 1761C69664767552135AB247, + A3A1BCD69389551845F3D7F7, + 1B21821D9F47C231F0A52018, + 41EFF5785837AE431C0B4923, + 92B1D5B16DC909AF3A0A9F20, + DE73A88D20FDC3B8D8F505A3, + 96C1D983FD9D55B521F93E82, + CEAD310FF82B2839548A4322, + 4D405E727FF82BEC25B5061D, 2D967AF01CFE49CD9AF2F76C, - BABC7493116FDD64B6E3FD1C, - 7AFA7CBFBF33562A0C6A5A2A, - B9DEFDD99F2D08387BF07B73, + 823882E6F1634DFBC7EF2425, + 7A0951C9835246DFA54B2500, + B91932B54FF9579FF872447D, F2569B992EEB41C18F374867, - 567F00BF66D1134BDB905F20, - C03ADB384D5A1002DD4B58AB, - CFEC3C2BE4EC9AC34D1FC1F0, + EDD0D8E544A94B8BCE654149, + F6A5511183A3574193EBF957, FB944E02BA2BDAF983BE9D54, ); name = "juce_core"; sourceTree = ""; }; 1D5389EDB8346530B5872A1D = {isa = PBXGroup; children = ( 355EAB1BFEA4C1D23E555933, @@ -1561,31 +1532,45 @@ 54BB2161967C24C4746304D5 = {isa = PBXGroup; children = ( 1D5389EDB8346530B5872A1D, 4EF745C8A73F4985BEF57BAF, - 5C23B5AFB8210E706D0365D0, E9CB094045359F2FD17F9414, ); name = "juce_cryptography"; sourceTree = ""; }; - FF9549D785A5889A35B81054 = {isa = PBXGroup; children = ( + 9F588E2807C366B4EF676AD1 = {isa = PBXGroup; children = ( + E8A136F49B3A339C5EA46BC0, + 28EB2326814154D6B1908AAF, + 5D8F32B127469E8256C49D79, + FAC04F8CCDFA8DB3650F1E01, ); name = "app_properties"; sourceTree = ""; }; + F0669F13619CA7A33A7411A2 = {isa = PBXGroup; children = ( + FDEC051E9964D7A9E9CA0BC2, + 14833838F2A24201DCA1A1FE, + C8C90957F833D794D3E41A55, ); name = undomanager; sourceTree = ""; }; + 6EC0DBF7972577C29A766F0C = {isa = PBXGroup; children = ( 6F7BD2EEA15E6FB1FF1A3AFE, CA6E05682098587BB2DF5FA3, 258861CF979A5C278D2900E3, F061F2ADEE911096946AE3EA, 903AB83DBEE40E2B9A89FDC1, 1E670B1813853053D36B8D76, ); name = values; sourceTree = ""; }; - F0669F13619CA7A33A7411A2 = {isa = PBXGroup; children = ( - FDEC051E9964D7A9E9CA0BC2, - 14833838F2A24201DCA1A1FE, - C8C90957F833D794D3E41A55, ); name = undomanager; sourceTree = ""; }; - D90F38BB979654DD563C599D = {isa = PBXGroup; children = ( - E8A136F49B3A339C5EA46BC0, - 28EB2326814154D6B1908AAF, - 5D8F32B127469E8256C49D79, - FAC04F8CCDFA8DB3650F1E01, ); name = "app_properties"; sourceTree = ""; }; EFBE00CBE2CE9F258D7390F2 = {isa = PBXGroup; children = ( - FF9549D785A5889A35B81054, + 9F588E2807C366B4EF676AD1, F0669F13619CA7A33A7411A2, - D90F38BB979654DD563C599D, - 5902C0037E45FB09355FB85B, + 6EC0DBF7972577C29A766F0C, BB1D32224A52A6C18E5B070F, ); name = "juce_data_structures"; sourceTree = ""; }; - 73DB4F4E2F32BD4430EB19A2 = {isa = PBXGroup; children = ( + 40E9A70358BAEC9679466EC5 = {isa = PBXGroup; children = ( + F594549A67A6B48C0DBF104B, + EAD095A921E8D35489B6F8E6, + 92E608B39DF214BF7DB9675A, + B1F80E8BADE2F82A20D517F5, + 6E774756F601F41E87ED8F4F, + EF6241E2090C80185095EB47, + 3716F81408159E9307118FED, + E5B3A88A39DCA9224EAE360D, ); name = broadcasters; sourceTree = ""; }; + 2EA667E8B3EEC64208B86E01 = {isa = PBXGroup; children = ( + 3E224AA9A88BBA37C77D51F4, + 2D41BDA9FB2BC252594B5943, + 90D6A07903A3936276D8FC7C, + 7F190C98C5FF63E22C54B737, + 5594AF89F8EA68B7F0296F78, + F95DCA1F439FC2CFB7F24794, ); name = interprocess; sourceTree = ""; }; + 0EAC6A903DD09A0E73BD9B75 = {isa = PBXGroup; children = ( 4C2CF6BC5BDC337F11F8E64B, F4CD72A3B13818EEA379A6EE, A22C5A20F8933F4687CCFC3A, @@ -1599,28 +1584,7 @@ 9C48479A55EBFC4C22D4B7B5, 4D71E182174E0F079AB8CB7C, D8C972CF2357B2D6A0C0DCD2, ); name = messages; sourceTree = ""; }; - FB7E5B2BD70D68734E694FEF = {isa = PBXGroup; children = ( - 5DBB2D6F3FD790CB78A47983, - 679AA0DF4863D202C69AAB05, - D5AC8013B3E2933223D967D8, - 5B31D6CFE1A606034287E571, ); name = timers; sourceTree = ""; }; - F54258DCA4B4FA203EA0145D = {isa = PBXGroup; children = ( - F594549A67A6B48C0DBF104B, - EAD095A921E8D35489B6F8E6, - 92E608B39DF214BF7DB9675A, - B1F80E8BADE2F82A20D517F5, - 6E774756F601F41E87ED8F4F, - EF6241E2090C80185095EB47, - 3716F81408159E9307118FED, - E5B3A88A39DCA9224EAE360D, ); name = broadcasters; sourceTree = ""; }; - F970DE3D45574C2DFE7C9C16 = {isa = PBXGroup; children = ( - 3E224AA9A88BBA37C77D51F4, - 2D41BDA9FB2BC252594B5943, - 90D6A07903A3936276D8FC7C, - 7F190C98C5FF63E22C54B737, - 5594AF89F8EA68B7F0296F78, - F95DCA1F439FC2CFB7F24794, ); name = interprocess; sourceTree = ""; }; - 9AD52157F8B430D3C11F87B4 = {isa = PBXGroup; children = ( + 463C8E9096B0A94B2A7591A4 = {isa = PBXGroup; children = ( F7B9CA2B12E7F8FF917770B0, 47368FEC775E6891C69A130E, 7732D6F826B3A00BBD076D62, @@ -1629,13 +1593,17 @@ EE4F068BCE9F99CE4CD2B12C, 7EFD0AE6EF841C055B77EDFB, 8E3AF695CEB5967D1BD8A8B4, ); name = native; sourceTree = ""; }; + 3F615366E1234B547499CC02 = {isa = PBXGroup; children = ( + 5DBB2D6F3FD790CB78A47983, + 679AA0DF4863D202C69AAB05, + D5AC8013B3E2933223D967D8, + 5B31D6CFE1A606034287E571, ); name = timers; sourceTree = ""; }; 9F994618EA69D855BF1E53AD = {isa = PBXGroup; children = ( - 73DB4F4E2F32BD4430EB19A2, - FB7E5B2BD70D68734E694FEF, - F54258DCA4B4FA203EA0145D, - F970DE3D45574C2DFE7C9C16, - 9AD52157F8B430D3C11F87B4, - 6F849E7BA62C4F330B967A9A, + 40E9A70358BAEC9679466EC5, + 2EA667E8B3EEC64208B86E01, + 0EAC6A903DD09A0E73BD9B75, + 463C8E9096B0A94B2A7591A4, + 3F615366E1234B547499CC02, 4BA8C030EBAD032677A603EE, ); name = "juce_events"; sourceTree = ""; }; 06F0DCBA355438E79253F64A = {isa = PBXGroup; children = ( E8BBF44B7673E317EEEE4E6A, @@ -1655,19 +1623,25 @@ 8EC39A5A7D39F9405110A1F5, 0B2D69C93568E589681E5079, DD29CD8FB274D9BE4CCA1B85, ); name = contexts; sourceTree = ""; }; - 2DB151BC34DB459D5E6376D8 = {isa = PBXGroup; children = ( - 5A1063067F6999738F8A0881, - C803EBF8CEF28BD5F77E070D, - B12EE6AF06E03901F0F155E0, - 037B584ECE9CDA8309EB91AF, - C3FB0537C1CDB0FF2C91C707, - D3C40C825F7C1E3CCFEF419C, - 6041B9FD43339350EDD996BA, - A24F37B637D6E71CC503FDA1, ); name = images; sourceTree = ""; }; - DD0424644A7C11AC3E4F9161 = {isa = PBXGroup; children = ( - EBAB55A995E6C7708895833F, - 1E8C59EFC31CF428707ED9B0, - CF14FD514BCA70462A70916A, ); name = "image_formats"; sourceTree = ""; }; + 166471F2D083BD69C22BDBC1 = {isa = PBXGroup; children = ( + FCC423AA738412A39006C90C, + 1C2C37C2DCE9A2B9E69E7C3F, + BC4D26F9883D8FE32DEDC298, + F8755BB22478DDE574F49550, + 7D8E12900A5CFBEAD9464819, ); name = effects; sourceTree = ""; }; + A00D35269B92B0C7D8DBF8D8 = {isa = PBXGroup; children = ( + EAC7C33E9671EE58D8087CDF, + 65D46B04CD809FD70E53B1F9, + 281AE3C8BD24290E3B522645, + 32B07B78FA6AB64E87A9CA3F, + 54857A367905687C45C1470E, + 03E30290280121AA472508D3, + DBE7B7ED7E0BBDF1B2670B1D, + FB3084F5C855A1F0E34A8E6A, + A54A606A16B534B45C59CE8B, + 8D4D7EA034F7C178C51A0B60, + 589F8F03BB18E494AEBD6101, + 4AE08E2A6F2309BD958372ED, ); name = fonts; sourceTree = ""; }; 2FC8217BC73109E12871D5C9 = {isa = PBXGroup; children = ( 29961E3E2688B469C8A0ACB1, D326D6EF2740CF33DD84C203, @@ -1684,30 +1658,20 @@ 12CA451A78581124CAFCD5E1, 2F8D638FAFD05D2DECAC1BC1, 5BA1ACFFF84A2044CB2D87CD, ); name = geometry; sourceTree = ""; }; - 7226D0F2FB00BDB4B9D72420 = {isa = PBXGroup; children = ( - 805A6E1CA4479F345305EC71, - 5EA2D7D4DD82CE7460EC70ED, - 68AC1B90E28E75A59D9F654E, ); name = placement; sourceTree = ""; }; - 46ADEBFD17CEA4473891BA1E = {isa = PBXGroup; children = ( - EAC7C33E9671EE58D8087CDF, - 65D46B04CD809FD70E53B1F9, - 281AE3C8BD24290E3B522645, - 32B07B78FA6AB64E87A9CA3F, - 54857A367905687C45C1470E, - 03E30290280121AA472508D3, - DBE7B7ED7E0BBDF1B2670B1D, - FB3084F5C855A1F0E34A8E6A, - A54A606A16B534B45C59CE8B, - 8D4D7EA034F7C178C51A0B60, - 589F8F03BB18E494AEBD6101, - 4AE08E2A6F2309BD958372ED, ); name = fonts; sourceTree = ""; }; - 4A02A378E2153AF3043D14ED = {isa = PBXGroup; children = ( - FCC423AA738412A39006C90C, - 1C2C37C2DCE9A2B9E69E7C3F, - BC4D26F9883D8FE32DEDC298, - F8755BB22478DDE574F49550, - 7D8E12900A5CFBEAD9464819, ); name = effects; sourceTree = ""; }; - DB17765D735EE053F4217F6A = {isa = PBXGroup; children = ( + AD6DDC9A2EA1A851C463B8FF = {isa = PBXGroup; children = ( + EBAB55A995E6C7708895833F, + 1E8C59EFC31CF428707ED9B0, + CF14FD514BCA70462A70916A, ); name = "image_formats"; sourceTree = ""; }; + BCCAB7B2DFDE50011CB485A1 = {isa = PBXGroup; children = ( + 5A1063067F6999738F8A0881, + C803EBF8CEF28BD5F77E070D, + B12EE6AF06E03901F0F155E0, + 037B584ECE9CDA8309EB91AF, + C3FB0537C1CDB0FF2C91C707, + D3C40C825F7C1E3CCFEF419C, + 6041B9FD43339350EDD996BA, + A24F37B637D6E71CC503FDA1, ); name = images; sourceTree = ""; }; + 44D38432E99375D655349CAC = {isa = PBXGroup; children = ( 9840126F3F4C38B60332CDDD, 5162CDB00B1CB713DF9225D4, 7AEB21EB786D5F8208A1AF3A, @@ -1721,19 +1685,54 @@ 2250321E7F10BCBD594369EC, D19C4DE456670E0D1F656D3F, 611116B52D35BC10C624C5A6, ); name = native; sourceTree = ""; }; + E17363C21EC3490340CDC695 = {isa = PBXGroup; children = ( + 805A6E1CA4479F345305EC71, + 5EA2D7D4DD82CE7460EC70ED, + 68AC1B90E28E75A59D9F654E, ); name = placement; sourceTree = ""; }; 3B5977F2EEA93424EF0C5C19 = {isa = PBXGroup; children = ( 06F0DCBA355438E79253F64A, 3E02788AE11A43EFC7C24F9D, - 2DB151BC34DB459D5E6376D8, - DD0424644A7C11AC3E4F9161, + 166471F2D083BD69C22BDBC1, + A00D35269B92B0C7D8DBF8D8, 2FC8217BC73109E12871D5C9, - 7226D0F2FB00BDB4B9D72420, - 46ADEBFD17CEA4473891BA1E, - 4A02A378E2153AF3043D14ED, - DB17765D735EE053F4217F6A, - E6BA389AB42466FD0E99CDD7, + AD6DDC9A2EA1A851C463B8FF, + BCCAB7B2DFDE50011CB485A1, + 44D38432E99375D655349CAC, + E17363C21EC3490340CDC695, EAFFE761B12BE9C263E857EB, ); name = "juce_graphics"; sourceTree = ""; }; - 13316EC9445AE8160ED28E13 = {isa = PBXGroup; children = ( + EBCF62B9D31F747C5BADC383 = {isa = PBXGroup; children = ( + 73AFC81251FEE56637841DB6, + F420A1026C41E30B63C5174A, ); name = application; sourceTree = ""; }; + 0F1A2490BF9797407F3C367B = {isa = PBXGroup; children = ( + EA1A7AC8267FA1AC7D0F2BCC, + 4C3FC93FCFD846D2CD7038F1, + B593CBEC6387DC747C2F29CC, + CA1213B99C9AABF61288308F, + 15396BA154AA26DDFEED5674, + 687120233DC5205FF4E747B1, + CBD2B4F7FFC0B6F2A71613AF, + B4D92464DB68F9B2740B378E, + FCDA75DBFFBEC005520A7E37, + CD99CCD7C222C7C3668BE42F, + F3478116DD60A5E8E15898CE, + 971613FC789719C3F6D2E5B1, + AC05FB8F53C69FF76946304F, + 7D68D3642F4C969C6324AFC2, + C2A8FAF6D53D89987A236B07, + 63297C5FF9287F6C72168287, + 9B2F97252A28CBC0532AC1C5, + 430554FE98D5A5B7C5C715B4, ); name = buttons; sourceTree = ""; }; + 3F71F25AFBF2E038B2B3DCE6 = {isa = PBXGroup; children = ( + ABCF504D78AFDC9C1C0AE41A, + 2E1C905B950B22F3D62A7826, + 38EC41F033CD00E32E94D024, + CC8F65EA3F978D82420486C1, + 4E65D5D22BE042CD4DB027A4, + DC9752A4F53C8101820A78D9, + 09CACE4DCDB1FC61334A0F63, + BCCCB0F3D86B3F05A2FDC6BD, + 4C69398466F6DD914602C907, ); name = commands; sourceTree = ""; }; + DD0E89C82E4B2824386D02AF = {isa = PBXGroup; children = ( 843583A7ACE40C370D53CA31, F8354F540C7AD8D7D331AC8A, 181740F4C90CA4C66C6E2B8B, @@ -1743,28 +1742,46 @@ C22F431E041BF025E76F7B4F, E64EE9E43C5BD6925CC2E6FA, 4D73906670C34F2D0EF766B6, ); name = components; sourceTree = ""; }; - 3BC51AFA68090012F36630C1 = {isa = PBXGroup; children = ( - 01A79D982F03174319959EF1, - BDF3BEDEBF9A3DC15D5D9CED, - 4FC3D138F39ADF9ACC9EC688, - 11AA5E6BEDF93FD34BBB4303, - D7C9171839D83F3FB08D7007, - BBC9BF6DCD11885CA9E119E5, - 956732F0A83B46EA964E64E1, - 4A3A1081656E530C5C3C6A85, - 00382E98594C4FDFB706F428, - BB7C17AF74A27DB50E8995D5, - 1BE2E2FAE7EE431A6B280186, - DD56E00F5F4E928F612EDE5F, - F076DBA145D08AB0C6646393, - 5DD05DC59C19CC9E222CDC54, - 6CCAB4869E55A63EFBC2216B, - 6DF5E95A4A73670CFF0227B4, - 4199D87370CB0E851B12CCA4, - 55A0272BFAEAD9E1F3895068, - 18A917CA5990FB14B32FF7A1, - F977E6E34D35E0FC5235BA25, ); name = mouse; sourceTree = ""; }; - 9B1528A8ED7936A2B3C4440E = {isa = PBXGroup; children = ( + CD1699A5700A7BADEAA78E3D = {isa = PBXGroup; children = ( + C15892148AD3874BC1D5917B, + 93FF00D1F3E5379E8EC9BDB9, + A761BD7A248A08CC60A9E4FC, + 285C7980958A44582BE48D11, + 7119849B2608A10C952F6999, + 39B623717771E10C10DB4203, + E9CB0370E92099599CA19346, + 53DF1C55C5A6A8D963A9F786, + 25144B7F726C02A6927B95DB, + 9EB8F8C25EC50AA2C1289551, + CA402B201A64EEC2459A34E4, + 3341BAEBFCF68A45D192E9A6, + F961C66F176298E6D66C1715, + 137DBADEB883548D86DC598D, + 9CDA4A2E17BF5DB191F883D9, ); name = drawables; sourceTree = ""; }; + 8E3A2E238326BE7DF9CAA116 = {isa = PBXGroup; children = ( + 202710B8A0C9AB6C104DFC4B, + 68033207E95ECA53683916CA, + 6F68C5F92EF6685CA1935CD2, + 63FBF3270BFA4511B631CF26, + 33ACD86399527378559A8B1F, + 3FCF0AC87F15299AEE4E0085, + 88A43145FB9C0DCDAFCD6D2D, + 1F99846DAAED4D1061DD003B, + B49D613F21BEB11001B867D3, + 650ADD57B41CCF8F784D7A67, + 77B58FBF9CE928BF4F08690A, + 4250F888F6C4949AEFF87D07, + 17B02E07833DB8FF25CB61B1, + B0C0D96339D48277760418C4, + 09CEA1038689AACEDDD466D9, + ED5809B58484B61271092E69, + 9C779471720BDDE417ED9BE1, + B78A6263C80494FA0E092F22, + D5F71BDF23BEEA366EA8E2F6, + BB0C0C019EF35B3EEAFB165F, + 3E9C541A14A9853BF59E72A9, + DFFC766429C47605BAC01A4B, ); name = filebrowser; sourceTree = ""; }; + 99BFD9154FB7B9253BF21F42 = {isa = PBXGroup; children = ( 192FD5F56F95482B20AF457D, 240CCC81C5FD861EF17C1019, 3C8258EB97D57A362FA8C2A6, @@ -1778,62 +1795,7 @@ FC1FE9BB13A32E09FE204515, 6161BFA67DF8CB7A727DE55C, 10F6E110D54421324D7FF118, ); name = keyboard; sourceTree = ""; }; - 16A390D98421937CDAE13C5C = {isa = PBXGroup; children = ( - 28D613AE9599AF98595516C2, - 8529FD25C6B8F60B6C455C28, - 4546428F43065C016F010038, - 1D3DEE19C759E667DA538612, - 789EBDE5AA3DDBF44BCCE63F, - 04A94FB47318EB62FEC40F1E, - 12982FD215F2AEB4CD8750F8, - A96A725563AEF91D0FBFA691, - 0FC1D51B60B952D25B74EBED, - 18040ADFE828B070A8442F0C, - 0E6C9B964B771B2BCBCEBCD6, - 1582C64E2A2110F3E27A2847, - 52B77EA54A97A1C5E8CC2480, - CABF309B0893ACB234F3A8B5, - 382D501787B1BDABCED95C99, - E66BA0EA9A0CF7F58AE9FDA9, - C49779E60F9335837B6202F5, - 03681AF3B210B4546226D52F, - A22917FD2955B0FA6D5D2884, - C2A45F0C8687CD276A8E9E40, - F8D37926F2E6310D56E793DB, - 5EF2F091583F20C8CE73F7A9, - 8CA9B7EE49BD83035EFE86E5, - 8D13B3E1E8D213AFD690188C, - FC5CF2545C78D9101B71EC09, - 471F13C08ADBAD9895DB7E7D, - B38DC525CEED58B1CCD74281, ); name = widgets; sourceTree = ""; }; - 4EE2EDC7602F09B44053D03A = {isa = PBXGroup; children = ( - EA17AFC4FDABC10B0F11D982, - 18FC770B6244C238107AFDB2, - FE77277BED9A7479BE443FF2, - 0DCC4DA1E59A14F3D9A9EE6A, - 3375D8285224860A2C2B218B, - 74A2A0CA4B684C69ECA8FC4C, - 19CAEF3B195CE240D14040FA, - 6197A501DB016B2FD62DBC88, - 56F5CC34D255847725356493, - BDA9DDCC46750F9BEC942F54, - 04D8748C7B98E5382BAEA2DD, - 834891B3C64312A5BAB30790, - 659C2199C50531D6AE468A92, - A771637F51328BD121F5B4D2, - 59420A818BB57FA17DE533F9, - 9E65E218A429E2B64829B4E0, - D94A0B2EC85C9249A118A97D, - 1C674E8633C9D7C14C2A1D98, - 40FB4762ABA47B642C71DC23, ); name = windows; sourceTree = ""; }; - 438318456D40C2C20F16897A = {isa = PBXGroup; children = ( - 97CE8E2B4E405E8C9199E2B0, - 4CBF728D82FD84A9D32E517C, - D3E472B051685E6A9408C877, - 321D845BC654922FA420EC5B, - 8083D2A36BDE49A5BFD5DBA8, - 5211E125B447086B3BC91E49, ); name = menus; sourceTree = ""; }; - 86AFC69EB68F5C3801ED6A90 = {isa = PBXGroup; children = ( + 4B0497614538DD5C47FA159B = {isa = PBXGroup; children = ( 046557FB7418F28AD9D89618, 2928DD85D5EFFB5B45503960, BB6BD1571D257BFABEA6EC35, @@ -1870,72 +1832,7 @@ 935B124F68C5F611E793187C, E6569007107ECBDD3EC88613, 9F9D896F664C8CA286C041FD, ); name = layout; sourceTree = ""; }; - AD2C70EFC64ED9B2CF4B08E7 = {isa = PBXGroup; children = ( - EA1A7AC8267FA1AC7D0F2BCC, - 4C3FC93FCFD846D2CD7038F1, - B593CBEC6387DC747C2F29CC, - CA1213B99C9AABF61288308F, - 15396BA154AA26DDFEED5674, - 687120233DC5205FF4E747B1, - CBD2B4F7FFC0B6F2A71613AF, - B4D92464DB68F9B2740B378E, - FCDA75DBFFBEC005520A7E37, - CD99CCD7C222C7C3668BE42F, - F3478116DD60A5E8E15898CE, - 971613FC789719C3F6D2E5B1, - AC05FB8F53C69FF76946304F, - 7D68D3642F4C969C6324AFC2, - C2A8FAF6D53D89987A236B07, - 63297C5FF9287F6C72168287, - 9B2F97252A28CBC0532AC1C5, - 430554FE98D5A5B7C5C715B4, ); name = buttons; sourceTree = ""; }; - 9C283508832A51F9918AA43B = {isa = PBXGroup; children = ( - 99025567594494D7CF194D7F, - 47E718B88C4DBCAB24ECED6A, - E775FDAD58B38C4943AC5211, - C28E65E47A46EA97CF9E4CA3, - F3D6E76B33CCF7C8C5E62659, - 9372EA69466CE77845F7ADB9, - CC13CFA7BCE8F71794A5D386, - 2B1E5FD2BF4004174669A13D, - 8F5B6335F7EC60EEADF23EF0, - D21E2520E9B6805E91DC32D1, - C90FC163386A1C2D7BA88425, - C7BB0D14844E40141B2DDD10, - 7712F194E97C7B943E81968E, - 511115CEEF7710EB5CEEE92A, ); name = positioning; sourceTree = ""; }; - DBFA08AB2D0F33780CD2C02B = {isa = PBXGroup; children = ( - C15892148AD3874BC1D5917B, - 93FF00D1F3E5379E8EC9BDB9, - A761BD7A248A08CC60A9E4FC, - 285C7980958A44582BE48D11, - 7119849B2608A10C952F6999, - 39B623717771E10C10DB4203, - E9CB0370E92099599CA19346, - 53DF1C55C5A6A8D963A9F786, - 25144B7F726C02A6927B95DB, - 9EB8F8C25EC50AA2C1289551, - CA402B201A64EEC2459A34E4, - 3341BAEBFCF68A45D192E9A6, - F961C66F176298E6D66C1715, - 137DBADEB883548D86DC598D, - 9CDA4A2E17BF5DB191F883D9, ); name = drawables; sourceTree = ""; }; - AA1AA2958DC287A14CDD233E = {isa = PBXGroup; children = ( - A280DBC72EDCE6C4F7291A90, - C184DEAD905229621563AC10, - B43C74139B5E5F78BFB36FFC, - 44AEAB369BF057F455A35A74, - A067B55828A6944BF5F96152, - 266B77C47D17B1BF65EF6C64, - 19D6058A849822A37E1E517F, - 898E48C87060E9C3DFD5CC97, - 26C683F1B50315F7D54F2B4E, - 2F8BC112D5A5E430164564EB, - 04660BFA219014F3FC614BF8, - 91A28C806D6F701816EBF4FF, - EFF3EA7A626F019C18CE01AB, - 811F2B44FFF6D61ED4B79CD2, ); name = properties; sourceTree = ""; }; - E2ADA142C5C7ACD5C3F62154 = {isa = PBXGroup; children = ( + 6E7D106EE2B9ABF001EEE0D4 = {isa = PBXGroup; children = ( 1C195C6922C86A6D4077DF3E, 3BA94AB680CAB0079326E155, 5EBDD3AD7A64FF54EDE0C5AE, @@ -1944,48 +1841,40 @@ 88D1852DFBD3085B30CCCDA0, 2025892B021AF80BE30EA0CC, 933A878BBD8CF68E87C95A96, ); name = lookandfeel; sourceTree = ""; }; - D05AEB7B61AF0B0C3B9BA57B = {isa = PBXGroup; children = ( - 202710B8A0C9AB6C104DFC4B, - 68033207E95ECA53683916CA, - 6F68C5F92EF6685CA1935CD2, - 63FBF3270BFA4511B631CF26, - 33ACD86399527378559A8B1F, - 3FCF0AC87F15299AEE4E0085, - 88A43145FB9C0DCDAFCD6D2D, - 1F99846DAAED4D1061DD003B, - B49D613F21BEB11001B867D3, - 650ADD57B41CCF8F784D7A67, - 77B58FBF9CE928BF4F08690A, - 4250F888F6C4949AEFF87D07, - 17B02E07833DB8FF25CB61B1, - B0C0D96339D48277760418C4, - 09CEA1038689AACEDDD466D9, - ED5809B58484B61271092E69, - 9C779471720BDDE417ED9BE1, - B78A6263C80494FA0E092F22, - D5F71BDF23BEEA366EA8E2F6, - BB0C0C019EF35B3EEAFB165F, - 3E9C541A14A9853BF59E72A9, - DFFC766429C47605BAC01A4B, ); name = filebrowser; sourceTree = ""; }; - 9AAA0CDD2C674E123DF64AB7 = {isa = PBXGroup; children = ( - ABCF504D78AFDC9C1C0AE41A, - 2E1C905B950B22F3D62A7826, - 38EC41F033CD00E32E94D024, - CC8F65EA3F978D82420486C1, - 4E65D5D22BE042CD4DB027A4, - DC9752A4F53C8101820A78D9, - 09CACE4DCDB1FC61334A0F63, - BCCCB0F3D86B3F05A2FDC6BD, - 4C69398466F6DD914602C907, ); name = commands; sourceTree = ""; }; - D8A6B552B83D948061844EAD = {isa = PBXGroup; children = ( + 8DE356028FB5264A941D0077 = {isa = PBXGroup; children = ( + 97CE8E2B4E405E8C9199E2B0, + 4CBF728D82FD84A9D32E517C, + D3E472B051685E6A9408C877, + 321D845BC654922FA420EC5B, + 8083D2A36BDE49A5BFD5DBA8, + 5211E125B447086B3BC91E49, ); name = menus; sourceTree = ""; }; + 949B3A80E2253B98B50760D1 = {isa = PBXGroup; children = ( 6EE111815C511E352294B4CF, 1F5E059C95FB98E02AF01A00, D02F06A487DD8E09A3E5B546, A113636DA47DE00B552036CA, ); name = misc; sourceTree = ""; }; - 54754C3B468B0F6986D36D53 = {isa = PBXGroup; children = ( - 73AFC81251FEE56637841DB6, - F420A1026C41E30B63C5174A, ); name = application; sourceTree = ""; }; - 996687D1195BB47A89671095 = {isa = PBXGroup; children = ( + AA8911F2EDA32D8A90F1410E = {isa = PBXGroup; children = ( + 01A79D982F03174319959EF1, + BDF3BEDEBF9A3DC15D5D9CED, + 4FC3D138F39ADF9ACC9EC688, + 11AA5E6BEDF93FD34BBB4303, + D7C9171839D83F3FB08D7007, + BBC9BF6DCD11885CA9E119E5, + 956732F0A83B46EA964E64E1, + 4A3A1081656E530C5C3C6A85, + 00382E98594C4FDFB706F428, + BB7C17AF74A27DB50E8995D5, + 1BE2E2FAE7EE431A6B280186, + DD56E00F5F4E928F612EDE5F, + F076DBA145D08AB0C6646393, + 5DD05DC59C19CC9E222CDC54, + 6CCAB4869E55A63EFBC2216B, + 6DF5E95A4A73670CFF0227B4, + 4199D87370CB0E851B12CCA4, + 55A0272BFAEAD9E1F3895068, + 18A917CA5990FB14B32FF7A1, + F977E6E34D35E0FC5235BA25, ); name = mouse; sourceTree = ""; }; + 6A783E3424756598B3C497D7 = {isa = PBXGroup; children = ( A60D185268D5C33C8570D3D6, 807B0EEA168FC69603B6E1D1, A6E27FD3204CCFA88D1029F3, @@ -2002,25 +1891,102 @@ 98AA1B3E2E60CBE1E9EFB73A, 6A10154E849CB11E12ECC863, A88A9A40EB06563D8143BBDD, ); name = native; sourceTree = ""; }; + E8178C4976F57D362CF908FD = {isa = PBXGroup; children = ( + 99025567594494D7CF194D7F, + 47E718B88C4DBCAB24ECED6A, + E775FDAD58B38C4943AC5211, + C28E65E47A46EA97CF9E4CA3, + F3D6E76B33CCF7C8C5E62659, + 9372EA69466CE77845F7ADB9, + CC13CFA7BCE8F71794A5D386, + 2B1E5FD2BF4004174669A13D, + 8F5B6335F7EC60EEADF23EF0, + D21E2520E9B6805E91DC32D1, + C90FC163386A1C2D7BA88425, + C7BB0D14844E40141B2DDD10, + 7712F194E97C7B943E81968E, + 511115CEEF7710EB5CEEE92A, ); name = positioning; sourceTree = ""; }; + 22946A3D94F8671ECDF18544 = {isa = PBXGroup; children = ( + A280DBC72EDCE6C4F7291A90, + C184DEAD905229621563AC10, + B43C74139B5E5F78BFB36FFC, + 44AEAB369BF057F455A35A74, + A067B55828A6944BF5F96152, + 266B77C47D17B1BF65EF6C64, + 19D6058A849822A37E1E517F, + 898E48C87060E9C3DFD5CC97, + 26C683F1B50315F7D54F2B4E, + 2F8BC112D5A5E430164564EB, + 04660BFA219014F3FC614BF8, + 91A28C806D6F701816EBF4FF, + EFF3EA7A626F019C18CE01AB, + 811F2B44FFF6D61ED4B79CD2, ); name = properties; sourceTree = ""; }; + EB62C50F1F72BF8EE8300F51 = {isa = PBXGroup; children = ( + 28D613AE9599AF98595516C2, + 8529FD25C6B8F60B6C455C28, + 4546428F43065C016F010038, + 1D3DEE19C759E667DA538612, + 789EBDE5AA3DDBF44BCCE63F, + 04A94FB47318EB62FEC40F1E, + 12982FD215F2AEB4CD8750F8, + A96A725563AEF91D0FBFA691, + 0FC1D51B60B952D25B74EBED, + 18040ADFE828B070A8442F0C, + 0E6C9B964B771B2BCBCEBCD6, + 1582C64E2A2110F3E27A2847, + 52B77EA54A97A1C5E8CC2480, + CABF309B0893ACB234F3A8B5, + 382D501787B1BDABCED95C99, + E66BA0EA9A0CF7F58AE9FDA9, + C49779E60F9335837B6202F5, + 03681AF3B210B4546226D52F, + A22917FD2955B0FA6D5D2884, + C2A45F0C8687CD276A8E9E40, + F8D37926F2E6310D56E793DB, + 5EF2F091583F20C8CE73F7A9, + 8CA9B7EE49BD83035EFE86E5, + 8D13B3E1E8D213AFD690188C, + FC5CF2545C78D9101B71EC09, + 471F13C08ADBAD9895DB7E7D, + B38DC525CEED58B1CCD74281, ); name = widgets; sourceTree = ""; }; + A62E3C97EC15DADCDC6F7309 = {isa = PBXGroup; children = ( + EA17AFC4FDABC10B0F11D982, + 18FC770B6244C238107AFDB2, + FE77277BED9A7479BE443FF2, + 0DCC4DA1E59A14F3D9A9EE6A, + 3375D8285224860A2C2B218B, + 74A2A0CA4B684C69ECA8FC4C, + 19CAEF3B195CE240D14040FA, + 6197A501DB016B2FD62DBC88, + 56F5CC34D255847725356493, + BDA9DDCC46750F9BEC942F54, + 04D8748C7B98E5382BAEA2DD, + 834891B3C64312A5BAB30790, + 659C2199C50531D6AE468A92, + A771637F51328BD121F5B4D2, + 59420A818BB57FA17DE533F9, + 9E65E218A429E2B64829B4E0, + D94A0B2EC85C9249A118A97D, + 1C674E8633C9D7C14C2A1D98, + 40FB4762ABA47B642C71DC23, ); name = windows; sourceTree = ""; }; 3A8ECC4D01B9A73BDCFF6DC2 = {isa = PBXGroup; children = ( - 13316EC9445AE8160ED28E13, - 3BC51AFA68090012F36630C1, - 9B1528A8ED7936A2B3C4440E, - 16A390D98421937CDAE13C5C, - 4EE2EDC7602F09B44053D03A, - 438318456D40C2C20F16897A, - 86AFC69EB68F5C3801ED6A90, - AD2C70EFC64ED9B2CF4B08E7, - 9C283508832A51F9918AA43B, - DBFA08AB2D0F33780CD2C02B, - AA1AA2958DC287A14CDD233E, - E2ADA142C5C7ACD5C3F62154, - D05AEB7B61AF0B0C3B9BA57B, - 9AAA0CDD2C674E123DF64AB7, - D8A6B552B83D948061844EAD, - 54754C3B468B0F6986D36D53, - 996687D1195BB47A89671095, - 2C0B8F3976E27B23BB966A5A, + EBCF62B9D31F747C5BADC383, + 0F1A2490BF9797407F3C367B, + 3F71F25AFBF2E038B2B3DCE6, + DD0E89C82E4B2824386D02AF, + CD1699A5700A7BADEAA78E3D, + 8E3A2E238326BE7DF9CAA116, + 99BFD9154FB7B9253BF21F42, + 4B0497614538DD5C47FA159B, + 6E7D106EE2B9ABF001EEE0D4, + 8DE356028FB5264A941D0077, + 949B3A80E2253B98B50760D1, + AA8911F2EDA32D8A90F1410E, + 6A783E3424756598B3C497D7, + E8178C4976F57D362CF908FD, + 22946A3D94F8671ECDF18544, + EB62C50F1F72BF8EE8300F51, + A62E3C97EC15DADCDC6F7309, E841EB94DA3DD82D3AED8368, ); name = "juce_gui_basics"; sourceTree = ""; }; B76817CB68D5E008CEDC6189 = {isa = PBXGroup; children = ( 25398FFE0D814EBFF1A51AAA, @@ -2082,9 +2048,21 @@ C802616FD1214A7FA67C5330, D92E9A7E395FB16766E74F41, 183CCC547396C8B0E1E728CD, - 6F0FB5DD64026024B473306B, 73765F4025B383E862B462E6, ); name = "juce_gui_extra"; sourceTree = ""; }; - 6C667556032CF36092EDBF0E = {isa = PBXGroup; children = ( + 2A1C7BC86E89BBF34210C698 = {isa = PBXGroup; children = ( + 4EB1EFCC1E720F578483FD52, + 485418F6ADC8752DD9F99DCD, + 8D2C7626EF24C83FE6FF261C, + FE7D28114C5F53EBCE9D00A2, ); name = geometry; sourceTree = ""; }; + E352D5D54D695676D323CAA6 = {isa = PBXGroup; children = ( + BD1941870623E3B285EA0C3D, + ACAAE14BC0C4E02489433D75, + 5E30ABD2710749FC217C3A51, + AD218967C5AEAC3963D6C61B, + 35DD641B8B54AC0853CBE235, + 65A9C1BBF5C4D06188F938F2, + E6FC5052410E1A11CE5D41A7, ); name = native; sourceTree = ""; }; + EB59442B51795B95932D5AF2 = {isa = PBXGroup; children = ( 580A589FD052C519B103607A, 2D2109F4BF800BFB092C3EAB, 80D2835A48F17870FC49AF1D, @@ -2102,47 +2080,32 @@ 545566963CAEA11C8E0C92B1, E7A50BE08C4613D4CBA5B7B0, 6189DAAEC94579A219C72BD4, ); name = opengl; sourceTree = ""; }; - 1ED97FCF1CBCC1280E2B6EA3 = {isa = PBXGroup; children = ( - 4EB1EFCC1E720F578483FD52, - 485418F6ADC8752DD9F99DCD, - 8D2C7626EF24C83FE6FF261C, - FE7D28114C5F53EBCE9D00A2, ); name = geometry; sourceTree = ""; }; - 4B329C16684538CF6E4F9C8F = {isa = PBXGroup; children = ( + B37043EBFE8F2A0919A09E87 = {isa = PBXGroup; children = ( 07869F04800B1D754DE22821, 726DF830BFEFB3A5ECFFF480, ); name = utils; sourceTree = ""; }; - FEF3DE7F219140154CAADFF4 = {isa = PBXGroup; children = ( - BD1941870623E3B285EA0C3D, - ACAAE14BC0C4E02489433D75, - 5E30ABD2710749FC217C3A51, - AD218967C5AEAC3963D6C61B, - 35DD641B8B54AC0853CBE235, - 65A9C1BBF5C4D06188F938F2, - E6FC5052410E1A11CE5D41A7, ); name = native; sourceTree = ""; }; 1F96394020216FD16BDF4C82 = {isa = PBXGroup; children = ( - 6C667556032CF36092EDBF0E, - 1ED97FCF1CBCC1280E2B6EA3, - 4B329C16684538CF6E4F9C8F, - FEF3DE7F219140154CAADFF4, - C110B120608AD518F4D03B6C, + 2A1C7BC86E89BBF34210C698, + E352D5D54D695676D323CAA6, + EB59442B51795B95932D5AF2, + B37043EBFE8F2A0919A09E87, 4EC46879782F8C588F2F54FB, ); name = "juce_opengl"; sourceTree = ""; }; - 594ADB49D88290816B59BA36 = {isa = PBXGroup; children = ( - EFE83C6016EB9422E63B881C, - AA5E59C590D4B439AA60F87D, ); name = playback; sourceTree = ""; }; - 95E4E1B9DCE3655299535901 = {isa = PBXGroup; children = ( + AB79DE109646546EE9DB31C7 = {isa = PBXGroup; children = ( 9D67E9F6247EDE2E207EFE8C, 8751B08C7CCFAA3B9B070452, ); name = capture; sourceTree = ""; }; - 6521D9EE31CEF5A005D2D5E6 = {isa = PBXGroup; children = ( + 8ECAAB39D62B9CB2712A6584 = {isa = PBXGroup; children = ( F14B44B13351E6F3BC8D0ECF, 3707CB3495B03E4AB15B6636, 5305B818397B8B56749A4B7F, 1C1F22AC57601D514415A082, FC53D0542AB0E007C6F0EA0E, CDE90FB97DB28A4635C17399, ); name = native; sourceTree = ""; }; + 412C65EFDCA3A50737E22127 = {isa = PBXGroup; children = ( + EFE83C6016EB9422E63B881C, + AA5E59C590D4B439AA60F87D, ); name = playback; sourceTree = ""; }; B665E06876A660529502DDC2 = {isa = PBXGroup; children = ( - 594ADB49D88290816B59BA36, - 95E4E1B9DCE3655299535901, - 6521D9EE31CEF5A005D2D5E6, - 19523CEB0C745622168FD594, + AB79DE109646546EE9DB31C7, + 8ECAAB39D62B9CB2712A6584, + 412C65EFDCA3A50737E22127, 0BEB4A94C116092B5E6A5BCA, ); name = "juce_video"; sourceTree = ""; }; 21725D16B4B9076DCFF91729 = {isa = PBXGroup; children = ( 2ADC259A5923E47E240184C5, @@ -2161,55 +2124,35 @@ B665E06876A660529502DDC2, ); name = "Juce Modules"; sourceTree = ""; }; 56BAA7EE573667E0822E134E = {isa = PBXGroup; children = ( 444AFDB731CB5DD211CA4377, - E9A6A98219D0E4514484593D, - 6D9DE23DD863E2E112F45573, - E4E4E4C7BF91EE480FBD36EC, - F135E9B6A9FB95325F02CD89, - 0B7940F601240C72B3A85C7C, - 632DDC970397B14F74D60440, - F983B97EB7A763CA91C2B615, - 7AB158D65BBBCE95A368F151, - 17106B2F8183E77DB5CB1791, - 2890C33900381D61AFD920B1, - 1D3D97C6C8D92F3D5C96FF29, - 597386A458AC5E4D64C18066, - 02A6F124658662ED5F8C4D99, - E4A40217DD45BC6D74DF0524, - C6133FECB081DAF238300AF3, - 29E58059BFF2E9C561B0F036, - 53B330EF8F975BD0F526CAB7, - C78B7248755985DABBD1440E, - 218937DFF1E643C7E9392D3D, - CC317CE14E558325BF16D1D9, - B997959774C3B7B8648A1020, - CB425D61E072DED92F6CAC85, - 571B0C346579CCD9F6F9A6D0, - D32D31BDE76500648D64B7A6, - 5BB1BBCB34B72DCE9B16B695, - 09899AE59253C596E1656F50, - 73567EDFABD366280D6C1D45, - C9BE47AEF1E79DB6784BD6E3, - 7A70E8857008EFAD0BF2907C, - 5AA69838B316B1670C17274E, - 07DF121B2C6664FA5B2DC395, - FDD1022CBB4FE524922B3AEB, - 3C6951706FF246380D65A952, - A1C5088DB76FE9F40AB2264C, - B9A21AE64CC4B86FC1F67061, - E09DC8AF27C6E40AB436E821, - 6033F6DD0B905B8819C115E2, - 09793ED29E076F27C3CDE59C, - F8AB7D10F5C9ABF34829AE8F, - D0A3F2265D323BB3F90F3DD5, - CA067F9C47C831BA25DF843D, - 906428E1A9963444AF1B0D60, - 69A29D8420DB0B53507E223D, - CDE1B83C996A1861A93C93A7, - 32A515A6A3258343AF1E7F92, - C617096451F177459C4C667C, ); name = "Juce Library Code"; sourceTree = ""; }; + 60ECEC321E2335CA55B41A55, + 2DA5A7253793B9BFBB4E2A18, + 8E20AE27507F5C47985A6865, + ECFBE6A9ACC3B126E5DDDE49, + BE39EACF7863D1C0779AE6E9, + 14260A5ABAC051A462E7EAD1, + 38673EA13F2A875C02307EF8, + 658D062C358482599572816C, + 6CCFE4D90B707892ED5D0B59, + D7B732AB3E5D032BF20DF855, + 30A0CF70C234FD895D7F6A58, + 9C039AA0FFD66F1D922EF7C2, + C6C93B02F46D3AA1764BC99D, + 0AC357D2EE7D0286E4FACDCA, + FF3D304022AC45628AAA9BEB, + B1F26B94AE932BB4A0DD9AC7, + CC9F7AC6AE2844784B78151D, + 20CA963DF1DBD1F72C50A839, + B5149E7DA756815A92C411C0, + EBCA6DB76022CE8410954E33, + 32A515A6A3258343AF1E7F92, ); name = "Juce Library Code"; sourceTree = ""; }; 9B6AD2ED2150F45A460973C6 = {isa = PBXGroup; children = ( - B9235D8819278FAD7F53755B, - 7A6A889A32581FBE73645356, ); name = Resources; sourceTree = ""; }; + 6A25D165EFEF09D036B36B91, + BCC02F39B2F24479D8F6DB50, + D30F58A3C82A7C61E6768EBE, + 44AA2CDFC06F2E27F3BD6313, + A2F7E59E5A50F28007907412, + 7A6A889A32581FBE73645356, + 12C24C2237E0F23FDCCCE953, ); name = Resources; sourceTree = ""; }; 2D45B9382F864E0FC39A7D86 = {isa = PBXGroup; children = ( EE004DC5369648F9F4F967B5, 943B88ECAC8C127556319A56, @@ -2226,73 +2169,392 @@ 5ACE35425F10E6FE0CD30B44, B6567C791BE962F993B78C02, ); name = Frameworks; sourceTree = ""; }; C54CA0425B4BECD39E226F8F = {isa = PBXGroup; children = ( - 19590F837CF3298B056902F6, ); name = Products; sourceTree = ""; }; + 29653597F013A08B9D0D9DAE, + E39A67D3DE5B2F2092769CE7, + 8D84B63F343660AEE31FD166, + 9C62742BCA5D3C9524DE3029, + B15F50973CE5D365D77D282B, ); name = Products; sourceTree = ""; }; 1E8CE067EFE6F03AB97CACC0 = {isa = PBXGroup; children = ( + 12C24C2237E0F23FDCCCE953, E6820288B676579226126D88, 21725D16B4B9076DCFF91729, 56BAA7EE573667E0822E134E, 9B6AD2ED2150F45A460973C6, 2D45B9382F864E0FC39A7D86, C54CA0425B4BECD39E226F8F, ); name = Source; sourceTree = ""; }; - DCA418189E3CFFB966ADBDC2 = {isa = XCBuildConfiguration; buildSettings = { + D43C967D02EDDCC29FB7059C = {isa = XCBuildConfiguration; buildSettings = { }; name = Debug; }; + EEA93C1E6EEC110939D1685F = {isa = XCBuildConfiguration; buildSettings = { }; name = Release; }; + BA984224A933EC837F514164 = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; COPY_PHASE_STRIP = NO; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( "_DEBUG=1", "DEBUG=1", + "JucePlugin_Build_VST=1", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", "JUCER_XCODE_MAC_F6D2F4CF=1", "JUCE_APP_VERSION=1.0.0", "JUCE_APP_VERSION_HEX=0x10000", ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GENERATE_PKGINFO_FILE = YES; - HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "../../../../../modules", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "$(inherited)"); - INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; - LIBRARY_SEARCH_PATHS = ("$(inherited)", "\"$(HOME)/SDKs/AAX/Libs/Debug\""); + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-VST.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; LIBRARY_STYLE = Bundle; 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"; - 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\""; + OTHER_LDFLAGS = "-bundle"; PRODUCT_BUNDLE_IDENTIFIER = com.roli.NoiseGate; SDKROOT_ppc = macosx10.5; - WRAPPER_EXTENSION = component; }; name = Debug; }; - 18FA66B5CEF0833AA3B3E744 = {isa = XCBuildConfiguration; buildSettings = { + WRAPPER_EXTENSION = vst; }; name = Debug; }; + AC5F1E6328DC16FF2891CB62 = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; DEAD_CODE_STRIPPING = YES; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_OPTIMIZATION_LEVEL = 3; GCC_PREPROCESSOR_DEFINITIONS = ( "_NDEBUG=1", "NDEBUG=1", + "JucePlugin_Build_VST=1", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", "JUCER_XCODE_MAC_F6D2F4CF=1", "JUCE_APP_VERSION=1.0.0", "JUCE_APP_VERSION_HEX=0x10000", ); GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GENERATE_PKGINFO_FILE = YES; - HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "../../../../../modules", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-VST.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + LIBRARY_STYLE = Bundle; + 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"; + OTHER_LDFLAGS = "-bundle"; + PRODUCT_BUNDLE_IDENTIFIER = com.roli.NoiseGate; + SDKROOT_ppc = macosx10.5; + WRAPPER_EXTENSION = vst; }; name = Release; }; + 23F878D56387ED4B67B9E2DF = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + COPY_PHASE_STRIP = NO; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_DEBUG=1", + "DEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=1", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-VST3.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST3/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + LIBRARY_STYLE = Bundle; + 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"; + OTHER_LDFLAGS = "-bundle"; + PRODUCT_BUNDLE_IDENTIFIER = com.roli.NoiseGate; + SDKROOT_ppc = macosx10.5; + WRAPPER_EXTENSION = vst3; }; name = Debug; }; + 32B1624E3B1B34C461D60562 = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + DEAD_CODE_STRIPPING = YES; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_NDEBUG=1", + "NDEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=1", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-VST3.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST3/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + LIBRARY_STYLE = Bundle; + 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"; + OTHER_LDFLAGS = "-bundle"; + PRODUCT_BUNDLE_IDENTIFIER = com.roli.NoiseGate; + SDKROOT_ppc = macosx10.5; + WRAPPER_EXTENSION = vst3; }; name = Release; }; + 4130388B36B3B506391E717A = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + COPY_PHASE_STRIP = NO; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_DEBUG=1", + "DEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=1", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-AU.plist; INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + LIBRARY_STYLE = Bundle; + 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"; + 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.roli.NoiseGate; + SDKROOT_ppc = macosx10.5; + WRAPPER_EXTENSION = component; }; name = Debug; }; + B3B550855CF90C491B1B3921 = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + DEAD_CODE_STRIPPING = YES; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_NDEBUG=1", + "NDEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=1", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-AU.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + LIBRARY_STYLE = Bundle; + 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"; + 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.roli.NoiseGate; + SDKROOT_ppc = macosx10.5; + WRAPPER_EXTENSION = component; }; name = Release; }; + 6597D0E1B573ECB84853415C = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + COPY_PHASE_STRIP = NO; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_DEBUG=1", + "DEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=1", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-AAX.plist; + INSTALL_PATH = "/Library/Application Support/Avid/Audio/Plug-Ins/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + LIBRARY_SEARCH_PATHS = ("$(inherited)", "\"$(HOME)/SDKs/AAX/Libs/Debug\""); + LIBRARY_STYLE = Bundle; + 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"; + OTHER_LDFLAGS = "-bundle -lAAXLibrary"; + PRODUCT_BUNDLE_IDENTIFIER = com.roli.NoiseGate; + SDKROOT_ppc = macosx10.5; + WRAPPER_EXTENSION = aaxplugin; }; name = Debug; }; + BCA3F1D08B6DEDD8120DDF25 = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + DEAD_CODE_STRIPPING = YES; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_NDEBUG=1", + "NDEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=1", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-AAX.plist; + INSTALL_PATH = "/Library/Application Support/Avid/Audio/Plug-Ins/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; LIBRARY_SEARCH_PATHS = ("$(inherited)", "\"$(HOME)/SDKs/AAX/Libs/Release\""); LIBRARY_STYLE = Bundle; 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"; 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; }; + WRAPPER_EXTENSION = aaxplugin; }; name = Release; }; + 1758235B660DAD052A883AC2 = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + COPY_PHASE_STRIP = NO; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_DEBUG=1", + "DEBUG=1", + "JUCE_SHARED_CODE=1", + "JucePlugin_Build_VST=1", + "JucePlugin_Build_VST3=1", + "JucePlugin_Build_AU=1", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=1", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-Shared_Code.plist; + INSTALL_PATH = "@executable_path/../Frameworks"; + LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)"; + 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.NoiseGate.NoiseGateFramework; + SDKROOT_ppc = macosx10.5; }; name = Debug; }; + 27BE10A92BDA4ED51C4C6BF4 = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + DEAD_CODE_STRIPPING = YES; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_NDEBUG=1", + "NDEBUG=1", + "JUCE_SHARED_CODE=1", + "JucePlugin_Build_VST=1", + "JucePlugin_Build_VST3=1", + "JucePlugin_Build_AU=1", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=1", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-Shared_Code.plist; + INSTALL_PATH = "@executable_path/../Frameworks"; + LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)"; + 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.NoiseGate.NoiseGateFramework; + SDKROOT_ppc = macosx10.5; }; name = Release; }; 5CD64870C7B8063A2BA5A23E = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; @@ -2325,63 +2587,95 @@ PRODUCT_NAME = "NoiseGate"; WARNING_CFLAGS = -Wreorder; ZERO_LINK = NO; }; name = Release; }; + 211DD9687930134AF6E64FF0 = {isa = PBXTargetDependency; target = 89095DFC434F1A8EB6368E3A; }; + 6FE20A9165A15D7BE98F2B99 = {isa = PBXTargetDependency; target = 822408E00D8E4658EE40468E; }; + 0D517069DB7201D47B168BEE = {isa = PBXTargetDependency; target = 5B796CD6929336C2CDEDBCD1; }; + 856D0693C32E5334DE591271 = {isa = PBXTargetDependency; target = C31F9AF2D73B265832C65F18; }; + 488C1DC0415EFF5825C77F33 = {isa = PBXTargetDependency; target = C6A39FF70BF77051D89E2CE4; }; 1283F0CE36BC5AD8241EC08A = {isa = XCConfigurationList; buildConfigurations = ( 5CD64870C7B8063A2BA5A23E, BE2A744DDB1D6A287901BBCB, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 249CD7E0E37E1A1A2EECBBCA = {isa = XCConfigurationList; buildConfigurations = ( - DCA418189E3CFFB966ADBDC2, - 18FA66B5CEF0833AA3B3E744, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 2CE8CC7F6C3C4704E0463450 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 12C002E482A05AEA16654DF9, ); runOnlyForDeploymentPostprocessing = 0; }; - 23196B6E96A59C7E94A1420F = {isa = PBXRezBuildPhase; buildActionMask = 2147483647; files = ( - CC8DEC05264790C790F32ACE, ); runOnlyForDeploymentPostprocessing = 0; }; - 5172CC45194374DF6A374057 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 5AD5FE50F1508B1EC89C37AF, - 9D74447E44FD02A4D23559F4, - E82769835430308DC8698EC1, - 011C6670FCC0C67BF4AB4A24, - D661500B49B0C79A9745BD14, - ACEF41196DE326C24704EE3C, - 2A4CCEF90E8F667AA378F10A, - FB903009F234A1E4A4D289ED, - C9A4232ADC9A2DC08D0EB78F, - 603D0FEA3F36BF000E573A8D, - D73670A6135F69B77B64CFDD, - BE50E9A3D2620CE44C589186, - C68048ED0E405645F7ECFCC5, - A08EF2278A7A79CD59350830, - 25644B24C58ABA44561780C7, - 12F17CB8BCAE238C7F38A2E5, - 4EA872D49F10F16FA5217B8B, - DD84A0163492854D565BD63C, - B7BF5D6C49B8759423DD8A4B, - BB3558F16D05E96A82C93179, - CAB73BD17A4190A63B190C50, - C49643C2237BFF83A9A86BC9, - C29629FC6C670977286FD224, - 1CD7AD95EC338C736FD48F19, - EEF4CA0FE6616C6EB703FD7E, - E34689AB5B7E15185EED6EA1, - 4725F0C03FA3B4D9D7E604D0, - E4DE4D9B47D0D19DE757FD51, - 07AEDCEBFAC8FCB2CE0BAA76, - 79147598D8BF22ED1B91BE22, - E757DEAEF5A0F802EBD323AC, - 821618E0895ACCF6894877A8, - 6FB435AE4DC4DA8231902835, - 81F9B6A5B747B0B21AB061E2, - C19A368F0504117617A49DFE, - 679D7C4BAD6C38C55596464C, - 47A2C757B7495A7850E5455B, - 359EAD8525F393516042D699, - 8799DF8859F68034FD232DA7, - 3976AAAB264EF950EB108870, - 28DC8DB37444793E6D590E5B, - 44C5681C95D30E8D02C59A91, - 3DCFB42FCA94EDE65CDA7296, - 925BB060FF5381073AFCB45C, - EDD173FED14A7B592136C25A, ); runOnlyForDeploymentPostprocessing = 0; }; - 26D2660A07998601F1FEB9CF = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 4B6CE3423D63B067B4CCB9CA = {isa = XCConfigurationList; buildConfigurations = ( + D43C967D02EDDCC29FB7059C, + EEA93C1E6EEC110939D1685F, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + BE96E7C5FAB338297CC69BA9 = {isa = PBXAggregateTarget; buildConfigurationList = 4B6CE3423D63B067B4CCB9CA; dependencies = ( + 211DD9687930134AF6E64FF0, + 6FE20A9165A15D7BE98F2B99, + 0D517069DB7201D47B168BEE, + 856D0693C32E5334DE591271, + 488C1DC0415EFF5825C77F33, ); name = "NoiseGate (All)"; productName = NoiseGate; }; + F5CFD52892C9EFFE1B652ED9 = {isa = XCConfigurationList; buildConfigurations = ( + BA984224A933EC837F514164, + AC5F1E6328DC16FF2891CB62, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 216E0D6AC94324AA60E8341F = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 12C002E482A05AEA16654DF9, + A6EFA2CFF4D8C125C8AAEFB6, ); runOnlyForDeploymentPostprocessing = 0; }; + 9D6B6C9CA151D6074DD1AA99 = {isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; files = ( + DDDD91556B8F6CE09205B34A, ); runOnlyForDeploymentPostprocessing = 0; name = "Embed Frameworks"; dstPath = ""; dstSubfolderSpec = 10; }; + EEE027F86C42C2897FFAFAB4 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 0D1C8A857D386C6BC5C99FA3, ); runOnlyForDeploymentPostprocessing = 0; }; + 88ED31A2FC837CDDC443C602 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 059D9D5EBC6026109D86F9EA, + C8E62BFBF82AAA3D808055D9, + 2515D42B55FD9E455C772B71, + 44A5A26F142FFD23304A8A19, + 22E029B69DCF0227A2F1C4C0, + 8A80848D0926C139FCDF32DA, + 462A0081509C563E486CB253, + B27611551D668EC3CCDFB6B1, + 36CC8AE273E26688AB1C7D74, + CA0CB16594EB5D6940C95468, + 37650014CFB133BE49E618C7, + 15165888F33A50CEEAF270C7, + DDDD91556B8F6CE09205B34A, ); runOnlyForDeploymentPostprocessing = 0; }; + 89095DFC434F1A8EB6368E3A = {isa = PBXNativeTarget; buildConfigurationList = F5CFD52892C9EFFE1B652ED9; buildPhases = ( + 216E0D6AC94324AA60E8341F, + 9D6B6C9CA151D6074DD1AA99, + EEE027F86C42C2897FFAFAB4, + 88ED31A2FC837CDDC443C602, ); buildRules = ( ); dependencies = ( + 488C1DC0415EFF5825C77F33, ); name = "NoiseGate (VST)"; productName = NoiseGate; productReference = 29653597F013A08B9D0D9DAE; productInstallPath = "$(HOME)/Library/Audio/Plug-Ins/VST/"; productType = "com.apple.product-type.bundle"; }; + 5E6512855F529ACBE2F1CCE9 = {isa = XCConfigurationList; buildConfigurations = ( + 23F878D56387ED4B67B9E2DF, + 32B1624E3B1B34C461D60562, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 47F5AD1898E28C0A6D16C018 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 12C002E482A05AEA16654DF9, + A6EFA2CFF4D8C125C8AAEFB6, ); runOnlyForDeploymentPostprocessing = 0; }; + 8DB39DE70C8C95816D7F650D = {isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; files = ( + DDDD91556B8F6CE09205B34A, ); runOnlyForDeploymentPostprocessing = 0; name = "Embed Frameworks"; dstPath = ""; dstSubfolderSpec = 10; }; + FE7603D4FD2A5265B17C5CDB = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 6D0FB6DF3B238687E64CA059, ); runOnlyForDeploymentPostprocessing = 0; }; + E3794423504E5A68368E60FB = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 059D9D5EBC6026109D86F9EA, + C8E62BFBF82AAA3D808055D9, + 2515D42B55FD9E455C772B71, + 44A5A26F142FFD23304A8A19, + 22E029B69DCF0227A2F1C4C0, + 8A80848D0926C139FCDF32DA, + 462A0081509C563E486CB253, + B27611551D668EC3CCDFB6B1, + 36CC8AE273E26688AB1C7D74, + CA0CB16594EB5D6940C95468, + 37650014CFB133BE49E618C7, + 15165888F33A50CEEAF270C7, + DDDD91556B8F6CE09205B34A, ); runOnlyForDeploymentPostprocessing = 0; }; + 822408E00D8E4658EE40468E = {isa = PBXNativeTarget; buildConfigurationList = 5E6512855F529ACBE2F1CCE9; buildPhases = ( + 47F5AD1898E28C0A6D16C018, + 8DB39DE70C8C95816D7F650D, + FE7603D4FD2A5265B17C5CDB, + E3794423504E5A68368E60FB, ); buildRules = ( ); dependencies = ( + 488C1DC0415EFF5825C77F33, ); name = "NoiseGate (VST3)"; productName = NoiseGate; productReference = E39A67D3DE5B2F2092769CE7; productInstallPath = "$(HOME)/Library/Audio/Plug-Ins/VST3/"; productType = "com.apple.product-type.bundle"; }; + 1A6AAD356017FB36162EB851 = {isa = XCConfigurationList; buildConfigurations = ( + 4130388B36B3B506391E717A, + B3B550855CF90C491B1B3921, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 2547749F251ADA67558CFBC5 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 12C002E482A05AEA16654DF9, + A6EFA2CFF4D8C125C8AAEFB6, ); runOnlyForDeploymentPostprocessing = 0; }; + 11E7716A96F965A964ED6C4E = {isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; files = ( + DDDD91556B8F6CE09205B34A, ); runOnlyForDeploymentPostprocessing = 0; name = "Embed Frameworks"; dstPath = ""; dstSubfolderSpec = 10; }; + 2B362E865E39D8FBBEF5836E = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 65D4B3952523E1D9729D5696, + 297C90DB48F08189C5E161F6, ); runOnlyForDeploymentPostprocessing = 0; }; + 0DF7A849451483A06FA065B3 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( 059D9D5EBC6026109D86F9EA, C8E62BFBF82AAA3D808055D9, D8B83A6B9A0149E776E8DCDB, @@ -2395,15 +2689,81 @@ 36CC8AE273E26688AB1C7D74, CA0CB16594EB5D6940C95468, 37650014CFB133BE49E618C7, + 15165888F33A50CEEAF270C7, + DDDD91556B8F6CE09205B34A, ); runOnlyForDeploymentPostprocessing = 0; }; + 5B796CD6929336C2CDEDBCD1 = {isa = PBXNativeTarget; buildConfigurationList = 1A6AAD356017FB36162EB851; buildPhases = ( + 2547749F251ADA67558CFBC5, + 11E7716A96F965A964ED6C4E, + 2B362E865E39D8FBBEF5836E, + 0DF7A849451483A06FA065B3, ); buildRules = ( ); dependencies = ( + 488C1DC0415EFF5825C77F33, ); name = "NoiseGate (AU)"; productName = NoiseGate; productReference = 8D84B63F343660AEE31FD166; productInstallPath = "$(HOME)/Library/Audio/Plug-Ins/Components/"; productType = "com.apple.product-type.bundle"; }; + E5F26FFD4B7791E9CD1D994F = {isa = XCConfigurationList; buildConfigurations = ( + 6597D0E1B573ECB84853415C, + BCA3F1D08B6DEDD8120DDF25, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 547175C3907E0E0E4318B03E = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 12C002E482A05AEA16654DF9, + A6EFA2CFF4D8C125C8AAEFB6, ); runOnlyForDeploymentPostprocessing = 0; }; + BEEC341916976448C1733BBF = {isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; files = ( + DDDD91556B8F6CE09205B34A, ); runOnlyForDeploymentPostprocessing = 0; name = "Embed Frameworks"; dstPath = ""; dstSubfolderSpec = 10; }; + 60B6674FAE4C8F988F0F1086 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + FCE06A0BAC628295014D8729, ); runOnlyForDeploymentPostprocessing = 0; }; + A47A37CF689DBA8E163F1A4D = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 059D9D5EBC6026109D86F9EA, + C8E62BFBF82AAA3D808055D9, + 2515D42B55FD9E455C772B71, + 44A5A26F142FFD23304A8A19, + 22E029B69DCF0227A2F1C4C0, + 8A80848D0926C139FCDF32DA, + 462A0081509C563E486CB253, + B27611551D668EC3CCDFB6B1, + 36CC8AE273E26688AB1C7D74, + CA0CB16594EB5D6940C95468, + 37650014CFB133BE49E618C7, + 15165888F33A50CEEAF270C7, + DDDD91556B8F6CE09205B34A, ); runOnlyForDeploymentPostprocessing = 0; }; + C31F9AF2D73B265832C65F18 = {isa = PBXNativeTarget; buildConfigurationList = E5F26FFD4B7791E9CD1D994F; buildPhases = ( + 547175C3907E0E0E4318B03E, + BEEC341916976448C1733BBF, + 60B6674FAE4C8F988F0F1086, + A47A37CF689DBA8E163F1A4D, ); buildRules = ( ); dependencies = ( + 488C1DC0415EFF5825C77F33, ); name = "NoiseGate (AAX)"; productName = NoiseGate; productReference = 9C62742BCA5D3C9524DE3029; productInstallPath = "/Library/Application Support/Avid/Audio/Plug-Ins/"; productType = "com.apple.product-type.bundle"; }; + 17413E5C8ECD089086907FAE = {isa = XCConfigurationList; buildConfigurations = ( + 1758235B660DAD052A883AC2, + 27BE10A92BDA4ED51C4C6BF4, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 61132FB6D58EDB3690AECF80 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 5AD5FE50F1508B1EC89C37AF, + ED749B2640D6B4FB7E32CC22, + F85FA72ECA3C1A04D624A4BD, + C452CBE4FAC93EDD00579A23, + 2E0441DA2947ABD24635021D, + CBB95A9B8FA9085A32ABCC0C, + A7C0354F33559A9BC6D9A0C4, + 630CD0FC55C1F6BE8E0393DD, + 71B69CA1BF167AAB816444CA, + E3D8E8C5741DEE4DD140FA16, + EBB412523EA9D3CC1D2B0ABA, + 19DE0552EC8B2F898F378E7B, + F46144EB9127C640A932D306, + 7557EE373354E64FAEF8E731, + 540728F29B63369AACBD15B2, + 0DA5D6F818C57F8FAE4C618E, ); runOnlyForDeploymentPostprocessing = 0; }; + C2B02646CC27F74714B3ACDD = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 059D9D5EBC6026109D86F9EA, + C8E62BFBF82AAA3D808055D9, + 2515D42B55FD9E455C772B71, + 44A5A26F142FFD23304A8A19, + 22E029B69DCF0227A2F1C4C0, + 8A80848D0926C139FCDF32DA, + 462A0081509C563E486CB253, + B27611551D668EC3CCDFB6B1, + 36CC8AE273E26688AB1C7D74, + CA0CB16594EB5D6940C95468, + 37650014CFB133BE49E618C7, 15165888F33A50CEEAF270C7, ); runOnlyForDeploymentPostprocessing = 0; }; - 94AAF601C5664BFF0FAC616E = {isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; name = "Post-build script"; shellPath = /bin/sh; shellScript = "\n# This script takes the build product and copies it to the AU, VST, VST3, RTAS and AAX folders, depending on \n# which plugin types you've built\n\noriginal=$CONFIGURATION_BUILD_DIR/$FULL_PRODUCT_NAME\n\n# this looks inside the binary to detect which platforms are needed.. \ncopyAU=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'AudioUnit' | wc -l`\ncopyVST=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'VSTPlugin' | wc -l`\ncopyVST3=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'GetPluginFactory' | wc -l`\ncopyRTAS=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'CProcess' | wc -l`\ncopyAAX=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'ACFStartup' | wc -l`\n\nif [ $copyAU -gt 0 ]; then\n echo \"Copying to AudioUnit folder...\"\n AUDir=~/Library/Audio/Plug-Ins/Components\n mkdir -p \"$AUDir\"\n AU=$AUDir/$PRODUCT_NAME.component\n if [ -d \"$AU\" ]; then \n rm -r \"$AU\"\n fi\n\n cp -r \"$original\" \"$AU\"\n sed -i \"\" -e 's/TDMwPTul/BNDLPTul/g' \"$AU/Contents/PkgInfo\"\n sed -i \"\" -e 's/TDMw/BNDL/g' \"$AU/Contents/$INFOPLIST_FILE\"\nfi\n\nif [ $copyVST -gt 0 ]; then\n echo \"Copying to VST folder...\"\n VSTDir=~/Library/Audio/Plug-Ins/VST\n mkdir -p \"$VSTDir\"\n VST=$VSTDir/$PRODUCT_NAME.vst\n if [ -d \"$VST\" ]; then \n rm -r \"$VST\"\n fi\n\n cp -r \"$original\" \"$VST\"\n sed -i \"\" -e 's/TDMwPTul/BNDLPTul/g' \"$VST/Contents/PkgInfo\"\n sed -i \"\" -e 's/TDMw/BNDL/g' \"$VST/Contents/$INFOPLIST_FILE\"\nfi\n\nif [ $copyVST3 -gt 0 ]; then\n echo \"Copying to VST3 folder...\"\n VST3Dir=~/Library/Audio/Plug-Ins/VST3\n mkdir -p \"$VST3Dir\"\n VST3=$VST3Dir/$PRODUCT_NAME.vst3\n if [ -d \"$VST3\" ]; then \n rm -r \"$VST3\"\n fi\n\n cp -r \"$original\" \"$VST3\"\n sed -i \"\" -e 's/TDMwPTul/BNDLPTul/g' \"$VST3/Contents/PkgInfo\"\n sed -i \"\" -e 's/TDMw/BNDL/g' \"$VST3/Contents/$INFOPLIST_FILE\"\nfi\n\nif [ $copyRTAS -gt 0 ]; then\n echo \"Copying to RTAS folder...\"\n RTASDir=/Library/Application\\ Support/Digidesign/Plug-Ins\n if [ -d \"$RTASDir\" ]; then\n RTAS=$RTASDir/$PRODUCT_NAME.dpm\n if [ -d \"$RTAS\" ]; then\n rm -r \"$RTAS\"\n fi\n\n cp -r \"$original\" \"$RTAS\"\n fi\nfi\n\nif [ $copyAAX -gt 0 ]; then\n echo \"Copying to AAX folder...\"\n\n if [ -d \"/Applications/ProTools_3PDev/Plug-Ins\" ]; then\n AAX1=\"/Applications/ProTools_3PDev/Plug-Ins/$PRODUCT_NAME.aaxplugin\"\n\n if [ -d \"$AAX1\" ]; then\n rm -r \"$AAX1\"\n fi\n\n cp -R -H \"$original\" \"$AAX1\"\n fi\n\n if [ -d \"/Library/Application Support/Avid/Audio/Plug-Ins\" ]; then\n AAX2=\"/Library/Application Support/Avid/Audio/Plug-Ins/$PRODUCT_NAME.aaxplugin\"\n\n if [ -d \"$AAX2\" ]; then\n rm -r \"$AAX2\"\n fi\n\n cp -R -H \"$original\" \"$AAX2\"\n fi\nfi\n"; }; - E6103A381AC0DCBF099707A0 = {isa = PBXNativeTarget; buildConfigurationList = 249CD7E0E37E1A1A2EECBBCA; buildPhases = ( - 2CE8CC7F6C3C4704E0463450, - 23196B6E96A59C7E94A1420F, - 5172CC45194374DF6A374057, - 26D2660A07998601F1FEB9CF, - 94AAF601C5664BFF0FAC616E, ); buildRules = ( ); dependencies = ( ); name = NoiseGate; productName = NoiseGate; productReference = 19590F837CF3298B056902F6; productInstallPath = "$(HOME)/Library/Audio/Plug-Ins/Components/"; productType = "com.apple.product-type.bundle"; }; - BAD3113DEB12EFF472860A51 = {isa = PBXProject; buildConfigurationList = 1283F0CE36BC5AD8241EC08A; attributes = { LastUpgradeCheck = 0440; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 1E8CE067EFE6F03AB97CACC0; projectDirPath = ""; projectRoot = ""; targets = ( E6103A381AC0DCBF099707A0 ); }; + C6A39FF70BF77051D89E2CE4 = {isa = PBXNativeTarget; buildConfigurationList = 17413E5C8ECD089086907FAE; buildPhases = ( + 61132FB6D58EDB3690AECF80, + C2B02646CC27F74714B3ACDD, ); buildRules = ( ); dependencies = ( ); name = "NoiseGate (Shared Code)"; productName = NoiseGate; productReference = B15F50973CE5D365D77D282B; productInstallPath = "@executable_path/../Frameworks"; productType = "com.apple.product-type.framework"; }; + BAD3113DEB12EFF472860A51 = {isa = PBXProject; buildConfigurationList = 1283F0CE36BC5AD8241EC08A; attributes = { LastUpgradeCheck = 0440; TargetAttributes = { BE96E7C5FAB338297CC69BA9 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };89095DFC434F1A8EB6368E3A = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };822408E00D8E4658EE40468E = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };5B796CD6929336C2CDEDBCD1 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };C31F9AF2D73B265832C65F18 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };C6A39FF70BF77051D89E2CE4 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 1E8CE067EFE6F03AB97CACC0; projectDirPath = ""; projectRoot = ""; targets = (BE96E7C5FAB338297CC69BA9, 89095DFC434F1A8EB6368E3A, 822408E00D8E4658EE40468E, 5B796CD6929336C2CDEDBCD1, C31F9AF2D73B265832C65F18, C6A39FF70BF77051D89E2CE4); }; }; rootObject = BAD3113DEB12EFF472860A51; } diff --git a/examples/PlugInSamples/NoiseGate/Builds/VisualStudio2015/NoiseGate.vcxproj b/examples/PlugInSamples/NoiseGate/Builds/VisualStudio2015/NoiseGate.vcxproj index 77f1a40282..f0f480975b 100644 --- a/examples/PlugInSamples/NoiseGate/Builds/VisualStudio2015/NoiseGate.vcxproj +++ b/examples/PlugInSamples/NoiseGate/Builds/VisualStudio2015/NoiseGate.vcxproj @@ -55,7 +55,7 @@ Disabled EditAndContinue - c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;..\..\..\..\..\modules;c:\SDKs\AAX;c:\SDKs\AAX\Interfaces;c:\SDKs\AAX\Interfaces\ACF;%(AdditionalIncludeDirectories) + c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;c:\SDKs\AAX;c:\SDKs\AAX\Interfaces;c:\SDKs\AAX\Interfaces\ACF;..\..\..\..\..\modules;%(AdditionalIncludeDirectories) _CRT_SECURE_NO_WARNINGS;JucePlugin_AAXLibs_path="c:\\SDKs\\AAX\\Libs";WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions) MultiThreadedDebugDLL true @@ -99,7 +99,7 @@ Full - c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;..\..\..\..\..\modules;c:\SDKs\AAX;c:\SDKs\AAX\Interfaces;c:\SDKs\AAX\Interfaces\ACF;%(AdditionalIncludeDirectories) + c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;c:\SDKs\AAX;c:\SDKs\AAX\Interfaces;c:\SDKs\AAX\Interfaces\ACF;..\..\..\..\..\modules;%(AdditionalIncludeDirectories) _CRT_SECURE_NO_WARNINGS;JucePlugin_AAXLibs_path="c:\\SDKs\\AAX\\Libs";WIN32;_WINDOWS;NDEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions) MultiThreadedDLL true @@ -223,6 +223,9 @@ true + + true + true @@ -238,15 +241,6 @@ true - - true - - - true - - - true - true @@ -295,25 +289,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -343,9 +322,75 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -364,21 +409,6 @@ true - - true - - - true - - - true - - - true - - - true - true @@ -394,45 +424,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -448,33 +439,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -499,40 +463,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -541,31 +475,16 @@ true - + true - + true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -631,6 +550,117 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -649,6 +679,15 @@ true + + true + + + true + + + true + true @@ -658,33 +697,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -703,6 +715,18 @@ true + + true + + + true + + + true + + + true + true @@ -712,6 +736,12 @@ true + + true + + + true + true @@ -733,43 +763,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -790,10 +787,40 @@ true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -820,6 +847,51 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -832,6 +904,153 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -853,19 +1072,70 @@ true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -934,246 +1204,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -1282,38 +1312,23 @@ true - - - - - - - - - - - - - - - - StdCall - - - StdCall - - - StdCall - - - StdCall - - - StdCall - - - - + + + + + + + + + + + + + + + + + @@ -1352,6 +1367,8 @@ + + @@ -1359,20 +1376,10 @@ + - - - - - - - - - - - @@ -1382,9 +1389,19 @@ + + + + + + + + + + @@ -1394,6 +1411,15 @@ + + + + + + + + + @@ -1404,15 +1430,6 @@ - - - - - - - - - @@ -1423,21 +1440,35 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1458,22 +1489,49 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1493,53 +1551,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - @@ -1548,14 +1565,22 @@ + + + + - - - - + + + + + + + + @@ -1565,19 +1590,11 @@ - - - - - - - - - - + + @@ -1588,10 +1605,15 @@ - - - - + + + + + + + + + @@ -1602,26 +1624,91 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1635,14 +1722,21 @@ - - - - - - - - + + + + + + + + + + + + + + + @@ -1667,83 +1761,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1769,6 +1786,17 @@ + + + + + + + + + + + @@ -1778,41 +1806,17 @@ - - - - - - - - - - - + - - - - - - - - - - - - - - - + diff --git a/examples/PlugInSamples/NoiseGate/Builds/VisualStudio2015/NoiseGate.vcxproj.filters b/examples/PlugInSamples/NoiseGate/Builds/VisualStudio2015/NoiseGate.vcxproj.filters index c7273dfced..e93490de31 100644 --- a/examples/PlugInSamples/NoiseGate/Builds/VisualStudio2015/NoiseGate.vcxproj.filters +++ b/examples/PlugInSamples/NoiseGate/Builds/VisualStudio2015/NoiseGate.vcxproj.filters @@ -35,63 +35,69 @@ {CACD7B50-4DB3-76AF-A6E8-90DF94F8F594} + + {45C2CE26-EC4B-BA52-58F3-297C408E1483} + {9D270B31-2425-8FDB-84A4-6A2288FF5B2F} {0F766DD4-A277-CB86-5647-42498C8B41E1} - - {D64942B4-6984-3623-3347-45D472AE1C61} - - - {45C2CE26-EC4B-BA52-58F3-297C408E1483} - {01603E05-423B-5FC3-1BEE-E15ED33B5688} + + {D64942B4-6984-3623-3347-45D472AE1C61} + {65CB28F8-0422-A8F3-9A17-959E12A1F8E2} - - {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} - {0CD9E281-DDD0-91EC-6F77-EA9D9D5E0E1A} + + {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} + {40C5CA7C-AEBB-05B1-11CE-AE41D87B5CCB} {EE36D8B9-408C-AEC9-66E7-BEA9E407F27F} + + {F0C10808-8C36-BCD0-D25F-523774B0ADA2} + {1ED92A41-D496-5397-A4B0-9FA52DBA9215} {50F044B3-0D39-198B-CA5F-BE5E6C078D04} - - {AF5F4789-D607-BFD8-D853-09473C27449C} - - - {F0C10808-8C36-BCD0-D25F-523774B0ADA2} + + {25DD3A16-4BC7-35BD-F32E-0310D1887564} {EA1913F9-0E99-FEC5-0192-0C197611B8F8} + + {AF5F4789-D607-BFD8-D853-09473C27449C} + + + {22689F25-8C5C-52CF-09E4-4308D1521B9B} + {0B0E7392-324B-088C-FBEB-5FE999D61782} - - {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} - {20254EFE-6CBD-31A7-2119-92B1E0E0E311} {70796D73-6D30-8A1B-4732-7C021E47C05A} + + {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} + {EB8DD942-E2CB-869F-D381-E02A65BA790B} @@ -101,8 +107,17 @@ {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} - - {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + + {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + + {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + + {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} {476C69CE-0B67-6B85-E888-45D91E37A29E} @@ -110,17 +125,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} - - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -128,29 +137,26 @@ {91929C6F-7902-B87D-5260-2F6CBF8ACD93} - - {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} - {4634FFAE-9586-A970-364C-4FDDA635F99F} - - {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} - - {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - {F03654BC-34D8-F975-BEA3-750CC2783D23} + + {C9F6D785-BF78-5AA1-B479-111C65397864} {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} - - {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} - - {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + {F03654BC-34D8-F975-BEA3-750CC2783D23} {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} @@ -164,33 +170,33 @@ {928D8FCC-5E00-174B-6538-93E8D75AB396} - - {1988E68A-A964-64CA-0E0C-26FF9BC5176C} + + {358AEA11-3F96-36AE-7B32-71373B5C5396} {3DF036EA-3B80-553B-2494-3AAC835CAE75} - - {358AEA11-3F96-36AE-7B32-71373B5C5396} + + {1988E68A-A964-64CA-0E0C-26FF9BC5176C} {F2A38F45-6E55-E147-2E52-64A89FDD9D59} - - {6172822C-01A5-E824-12DA-FA43FA934D35} - - - {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} - {B098BC87-3298-7E6B-12DC-D26C09CDCAED} {6322B88F-984A-C3CD-6263-38D7AA49B6EC} + + {6172822C-01A5-E824-12DA-FA43FA934D35} + {73C1E759-AD90-59A3-942E-2D10FAA29107} + + {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} + {EE1AE8C3-0908-8F53-A4E5-D930C7C97C26} @@ -200,81 +206,81 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} - - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - - {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {E37D25CD-4350-4614-055B-7ABC55E67895} {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {C1A1A236-AB01-173E-96C3-0706BFF93B1E} + + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + + {413F481F-075C-2958-115C-D8268682FCB7} {FFC6E1CC-C772-75E6-5087-FB5D4E016799} + + {1182303F-ECA3-166D-AC0C-92C5E762CB93} + {8E43579F-C185-266D-DD67-F8B95BD80F2F} + + {61712B09-5783-ADFA-2001-5A0C3D7764EB} + + + {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + + {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} + {2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D} - - {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + {5A0AA36E-3957-E413-14C6-31CBE15271DF} + + + {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} {A92719C7-70BE-57C4-CE9E-A9BC9DFEB757} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} + + + {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} + + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} + + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + + {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} + + + {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} + {75F1F352-251A-75E0-D941-8431588F5C1E} {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} - - {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} - - - {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} - - - {5A0AA36E-3957-E413-14C6-31CBE15271DF} - - - {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} - - - {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} - - - {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} - - - {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} - - - {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - - {61712B09-5783-ADFA-2001-5A0C3D7764EB} - - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} - {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -296,30 +302,30 @@ {639E16C5-DA8B-ADBA-6E24-7B596378EAB2} - - {2D8D0E19-E676-83EB-38D9-F73500DD6B79} - {B3141847-8F13-F67D-45B2-E3ECF6E09088} - - {9E586194-C056-101C-5311-F2AF5191AC80} - {151B49D8-6102-F802-1C07-D59931BC0574} + + {2D8D0E19-E676-83EB-38D9-F73500DD6B79} + + + {9E586194-C056-101C-5311-F2AF5191AC80} + {72A923E2-C729-DB92-D7BF-A9D4AFAE5896} - - {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} - {7F11E7D2-54C0-2A36-5F15-BEC0A5374A08} {EE985DEA-CD83-8132-7219-542BB1DAD560} + + {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} + {8B4D1BAA-6DB4-CAEC-A0FA-271F354D5C61} @@ -415,6 +421,9 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -430,15 +439,6 @@ Juce Modules\juce_audio_devices\midi_io - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\audio_cd - Juce Modules\juce_audio_devices\native @@ -493,26 +493,11 @@ Juce Modules\juce_audio_devices\native - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_formats\codecs @@ -541,38 +526,74 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_plugin_client\AU - - - Juce Modules\juce_audio_plugin_client\RTAS - - - Juce Modules\juce_audio_plugin_client\VST + + Juce Modules\juce_audio_plugin_client\AAX Juce Modules\juce_audio_plugin_client\AAX - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client\AU - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client\AU - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client\RTAS - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client\RTAS - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client\RTAS - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client\RTAS + + + Juce Modules\juce_audio_plugin_client\RTAS + + + Juce Modules\juce_audio_plugin_client\RTAS + + + Juce Modules\juce_audio_plugin_client\Standalone + + + Juce Modules\juce_audio_plugin_client\utility + + + Juce Modules\juce_audio_plugin_client\VST + + + Juce Modules\juce_audio_plugin_client\VST + + + Juce Modules\juce_audio_plugin_client\VST3 Juce Modules\juce_audio_processors\format @@ -592,6 +613,24 @@ Juce Modules\juce_audio_processors\format_types + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + Juce Modules\juce_audio_processors\scanning @@ -607,45 +646,6 @@ Juce Modules\juce_audio_processors\utilities - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\memory - Juce Modules\juce_core\containers @@ -661,33 +661,6 @@ Juce Modules\juce_core\containers - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - Juce Modules\juce_core\files @@ -712,41 +685,11 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -754,32 +697,17 @@ Juce Modules\juce_core\logging - - Juce Modules\juce_core\system + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc @@ -859,6 +787,117 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + Juce Modules\juce_cryptography\encryption @@ -877,6 +916,15 @@ Juce Modules\juce_cryptography\hashing + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -886,33 +934,6 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - Juce Modules\juce_events\broadcasters @@ -931,6 +952,18 @@ Juce Modules\juce_events\interprocess + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + Juce Modules\juce_events\native @@ -946,6 +979,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_graphics\colour @@ -967,44 +1006,11 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\effects Juce Modules\juce_graphics\fonts @@ -1024,11 +1030,41 @@ Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -1060,6 +1096,51 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -1072,6 +1153,153 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -1093,20 +1321,92 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -1174,267 +1474,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_extra\code_editor @@ -1561,70 +1600,55 @@ Juce Modules\juce_video\native - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - + Juce Library Code @@ -1737,6 +1761,12 @@ Juce Modules\juce_audio_basics + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -1758,48 +1788,18 @@ Juce Modules\juce_audio_devices\midi_io + + Juce Modules\juce_audio_devices\native + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\native - Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - Juce Modules\juce_audio_formats\codecs @@ -1827,15 +1827,45 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_plugin_client\AU + Juce Modules\juce_audio_plugin_client\RTAS + + Juce Modules\juce_audio_plugin_client\Standalone + Juce Modules\juce_audio_plugin_client\utility @@ -1863,6 +1893,33 @@ Juce Modules\juce_audio_plugin_client + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + Juce Modules\juce_audio_processors\processors @@ -1893,33 +1950,6 @@ Juce Modules\juce_audio_processors\processors - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - Juce Modules\juce_audio_processors\scanning @@ -1950,50 +1980,92 @@ Juce Modules\juce_audio_processors - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -2055,53 +2127,134 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text Juce Modules\juce_core\threads @@ -2160,92 +2313,8 @@ Juce Modules\juce_core\time - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -2253,12 +2322,6 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - Juce Modules\juce_core\zip @@ -2268,39 +2331,6 @@ Juce Modules\juce_core\zip - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - Juce Modules\juce_core @@ -2325,6 +2355,18 @@ Juce Modules\juce_cryptography + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -2334,21 +2376,33 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - Juce Modules\juce_data_structures + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + Juce Modules\juce_events\messages @@ -2376,36 +2430,6 @@ Juce Modules\juce_events\messages - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - Juce Modules\juce_events\native @@ -2415,6 +2439,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_events @@ -2445,17 +2475,32 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -2487,38 +2532,17 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -2529,9 +2553,60 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + Juce Modules\juce_graphics + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -2547,6 +2622,171 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -2586,29 +2826,50 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -2682,237 +2943,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_basics @@ -2988,6 +3018,39 @@ Juce Modules\juce_gui_extra + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + Juce Modules\juce_opengl\opengl @@ -3015,54 +3078,21 @@ Juce Modules\juce_opengl\opengl - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - Juce Modules\juce_opengl\utils - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - Juce Modules\juce_opengl + + Juce Modules\juce_video\capture + Juce Modules\juce_video\playback Juce Modules\juce_video\playback - - Juce Modules\juce_video\capture - Juce Modules\juce_video @@ -3074,50 +3104,11 @@ - - Juce Modules\juce_audio_basics - - - Juce Modules\juce_audio_devices - - - Juce Modules\juce_audio_formats - - - Juce Modules\juce_audio_plugin_client - - - Juce Modules\juce_audio_processors - - - Juce Modules\juce_core - - - Juce Modules\juce_cryptography - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_gui_extra - - - Juce Modules\juce_opengl - - - Juce Modules\juce_video + + Juce Modules\juce_audio_plugin_client\RTAS - Juce Library Code + Juce Modules\juce_audio_plugin_client\RTAS diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/AppConfig.h b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/AppConfig.h index 2d2f88d3f3..943d98eeff 100644 --- a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/AppConfig.h +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/AppConfig.h @@ -4,8 +4,8 @@ project - if you alter its contents, your changes may be overwritten! There's a section below where you can add your own custom code safely, and the - Introjucer will preserve the contents of that block, but the best way to change - any of these definitions is by using the Introjucer's project settings. + Projucer will preserve the contents of that block, but the best way to change + any of these definitions is by using the Projucer's project settings. Any commented-out settings will assume their default values. @@ -17,7 +17,7 @@ //============================================================================== // [BEGIN_USER_CODE_SECTION] -// (You can add your own code in this section, and the Introjucer will not overwrite it) +// (You can add your own code in this section, and the Projucer will not overwrite it) // [END_USER_CODE_SECTION] @@ -39,9 +39,15 @@ //============================================================================== #ifndef JUCE_STANDALONE_APPLICATION - #define JUCE_STANDALONE_APPLICATION 0 + #ifdef JucePlugin_Build_Standalone + #define JUCE_STANDALONE_APPLICATION JucePlugin_Build_Standalone + #else + #define JUCE_STANDALONE_APPLICATION 0 + #endif #endif +#define JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED 1 + //============================================================================== // juce_audio_devices flags: @@ -219,12 +225,18 @@ #ifndef JucePlugin_Build_AU #define JucePlugin_Build_AU 1 #endif +#ifndef JucePlugin_Build_AUv3 + #define JucePlugin_Build_AUv3 0 +#endif #ifndef JucePlugin_Build_RTAS #define JucePlugin_Build_RTAS 0 #endif #ifndef JucePlugin_Build_AAX #define JucePlugin_Build_AAX 1 #endif +#ifndef JucePlugin_Build_STANDALONE + #define JucePlugin_Build_STANDALONE 0 +#endif #ifndef JucePlugin_Name #define JucePlugin_Name "Noise Gate" #endif diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/JuceHeader.h b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/JuceHeader.h index 24ad3d48d4..3432c50435 100644 --- a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/JuceHeader.h +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/JuceHeader.h @@ -14,20 +14,22 @@ #define __APPHEADERFILE_KMYCMO__ #include "AppConfig.h" -#include "modules/juce_audio_basics/juce_audio_basics.h" -#include "modules/juce_audio_devices/juce_audio_devices.h" -#include "modules/juce_audio_formats/juce_audio_formats.h" -#include "modules/juce_audio_plugin_client/juce_audio_plugin_client.h" -#include "modules/juce_audio_processors/juce_audio_processors.h" -#include "modules/juce_core/juce_core.h" -#include "modules/juce_cryptography/juce_cryptography.h" -#include "modules/juce_data_structures/juce_data_structures.h" -#include "modules/juce_events/juce_events.h" -#include "modules/juce_graphics/juce_graphics.h" -#include "modules/juce_gui_basics/juce_gui_basics.h" -#include "modules/juce_gui_extra/juce_gui_extra.h" -#include "modules/juce_opengl/juce_opengl.h" -#include "modules/juce_video/juce_video.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + #if ! DONT_SET_USING_JUCE_NAMESPACE // If your code uses a lot of JUCE classes, then this will obviously save you diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/ReadMe.txt b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/ReadMe.txt index f6c3564e99..091a5aa6eb 100644 --- a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/ReadMe.txt +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/ReadMe.txt @@ -2,11 +2,11 @@ Important Note!! ================ -The purpose of this folder is to contain files that are auto-generated by the Introjucer, +The purpose of this folder is to contain files that are auto-generated by the Projucer, and ALL files in this folder will be mercilessly DELETED and completely re-written whenever -the Introjucer saves your project. +the Projucer saves your project. Therefore, it's a bad idea to make any manual changes to the files in here, or to put any of your own files in here if you don't want to lose them. (Of course you may choose to add the folder's contents to your version-control system so that you can re-merge your own -modifications after the Introjucer has saved its changes). +modifications after the Projucer has saved its changes). diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_basics.cpp b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_basics.cpp new file mode 100644 index 0000000000..418694873c --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_basics.mm b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_basics.mm new file mode 100644 index 0000000000..e0e6c577cc --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_devices.cpp b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_devices.cpp new file mode 100644 index 0000000000..fb5c2219d7 --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_devices.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_devices.mm b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_devices.mm new file mode 100644 index 0000000000..e58b67ea49 --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_devices.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_formats.cpp b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_formats.cpp new file mode 100644 index 0000000000..a3c61170eb --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_formats.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_formats.mm b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_formats.mm new file mode 100644 index 0000000000..f325b8fb67 --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_formats.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_AAX.cpp b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_AAX.cpp new file mode 100644 index 0000000000..c599b8759f --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_AAX.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_AAX.mm b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_AAX.mm new file mode 100644 index 0000000000..d4b8c31117 --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_AAX.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_AU_1.mm b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_AU_1.mm new file mode 100644 index 0000000000..a4fdf7f366 --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_AU_1.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_AU_2.mm b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_AU_2.mm new file mode 100644 index 0000000000..175b30047f --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_AU_2.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_AUv3.mm b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_AUv3.mm new file mode 100644 index 0000000000..0ac2b2f599 --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_AUv3.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_RTAS_1.cpp b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_RTAS_1.cpp new file mode 100644 index 0000000000..29d48f3faa --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_RTAS_1.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_RTAS_2.cpp b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_RTAS_2.cpp new file mode 100644 index 0000000000..2da08c6dc3 --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_RTAS_2.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_RTAS_3.cpp b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_RTAS_3.cpp new file mode 100644 index 0000000000..72a8426cbe --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_RTAS_3.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_RTAS_4.cpp b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_RTAS_4.cpp new file mode 100644 index 0000000000..6064f99d28 --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_RTAS_4.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.cpp b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.cpp new file mode 100644 index 0000000000..5c5509abde --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.mm b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.mm new file mode 100644 index 0000000000..56af9aebab --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_Standalone.cpp b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_Standalone.cpp new file mode 100644 index 0000000000..d3b6529a80 --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_Standalone.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_VST2.cpp b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_VST2.cpp new file mode 100644 index 0000000000..c35394b418 --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_VST2.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_VST3.cpp b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_VST3.cpp new file mode 100644 index 0000000000..8e2e5cde2e --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_VST3.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_VST_utils.mm b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_VST_utils.mm new file mode 100644 index 0000000000..ee2f414e66 --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_VST_utils.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_utils.cpp b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_utils.cpp new file mode 100644 index 0000000000..183f61b238 --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_plugin_client_utils.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_processors.cpp b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_processors.cpp new file mode 100644 index 0000000000..bfe172edd0 --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_processors.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_processors.mm b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_processors.mm new file mode 100644 index 0000000000..b80ae9017f --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_audio_processors.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_core.cpp b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_core.cpp new file mode 100644 index 0000000000..d0ce1636f0 --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_core.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_core.mm b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_core.mm new file mode 100644 index 0000000000..72b10bf817 --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_core.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_cryptography.cpp b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_cryptography.cpp new file mode 100644 index 0000000000..10b3401dbe --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_cryptography.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_cryptography.mm b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_cryptography.mm new file mode 100644 index 0000000000..9311ea0ffe --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_cryptography.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_data_structures.cpp b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_data_structures.cpp new file mode 100644 index 0000000000..9315aa1686 --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_data_structures.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_data_structures.mm b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_data_structures.mm new file mode 100644 index 0000000000..695ec43925 --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_data_structures.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_events.cpp b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_events.cpp new file mode 100644 index 0000000000..1bba110a97 --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_events.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_events.mm b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_events.mm new file mode 100644 index 0000000000..4cc34fc401 --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_events.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_graphics.cpp b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_graphics.cpp new file mode 100644 index 0000000000..319c76de0e --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_graphics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_graphics.mm b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_graphics.mm new file mode 100644 index 0000000000..b28e6dd056 --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_graphics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_gui_basics.cpp b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_gui_basics.cpp new file mode 100644 index 0000000000..216c76bb05 --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_gui_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_gui_basics.mm b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_gui_basics.mm new file mode 100644 index 0000000000..6a9726fa5f --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_gui_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_gui_extra.cpp b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_gui_extra.cpp new file mode 100644 index 0000000000..7226e19833 --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_gui_extra.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_gui_extra.mm b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_gui_extra.mm new file mode 100644 index 0000000000..c9b6c3bfc6 --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_gui_extra.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_opengl.cpp b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_opengl.cpp new file mode 100644 index 0000000000..d9895bce92 --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_opengl.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_opengl.mm b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_opengl.mm new file mode 100644 index 0000000000..6c2c32d095 --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_opengl.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_video.cpp b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_video.cpp new file mode 100644 index 0000000000..bdf22ee131 --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_video.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_video.mm b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_video.mm new file mode 100644 index 0000000000..3da705bccd --- /dev/null +++ b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/juce_video.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h deleted file mode 100644 index 39e1aa1405..0000000000 --- a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_audio_basics/juce_audio_basics.h" diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h deleted file mode 100644 index 9069e65391..0000000000 --- a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_audio_devices/juce_audio_devices.h" diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h deleted file mode 100644 index 4270ffa168..0000000000 --- a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_audio_formats/juce_audio_formats.h" diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_audio_plugin_client/juce_audio_plugin_client.h b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_audio_plugin_client/juce_audio_plugin_client.h deleted file mode 100644 index 57abba643f..0000000000 --- a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_audio_plugin_client/juce_audio_plugin_client.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client.h" diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h deleted file mode 100644 index 48c0bf08c8..0000000000 --- a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_audio_processors/juce_audio_processors.h" diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_core/juce_core.h b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_core/juce_core.h deleted file mode 100644 index 3c400000e0..0000000000 --- a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_core/juce_core.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_core/juce_core.h" diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h deleted file mode 100644 index b3df81338e..0000000000 --- a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_cryptography/juce_cryptography.h" diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h deleted file mode 100644 index e815ff2c51..0000000000 --- a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_data_structures/juce_data_structures.h" diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_events/juce_events.h b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_events/juce_events.h deleted file mode 100644 index 88f8bafd21..0000000000 --- a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_events/juce_events.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_events/juce_events.h" diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_graphics/juce_graphics.h b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_graphics/juce_graphics.h deleted file mode 100644 index 0c5c690211..0000000000 --- a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_graphics/juce_graphics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_graphics/juce_graphics.h" diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h deleted file mode 100644 index 7fa455d687..0000000000 --- a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_gui_basics/juce_gui_basics.h" diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h deleted file mode 100644 index 11866a121d..0000000000 --- a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_gui_extra/juce_gui_extra.h" diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_opengl/juce_opengl.h b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_opengl/juce_opengl.h deleted file mode 100644 index f156f5c69c..0000000000 --- a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_opengl/juce_opengl.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_opengl/juce_opengl.h" diff --git a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_video/juce_video.h b/examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_video/juce_video.h deleted file mode 100644 index 6b5e743372..0000000000 --- a/examples/PlugInSamples/NoiseGate/JuceLibraryCode/modules/juce_video/juce_video.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_video/juce_video.h" diff --git a/examples/PlugInSamples/NoiseGate/NoiseGate.jucer b/examples/PlugInSamples/NoiseGate/NoiseGate.jucer index b92a7f97aa..5174b2a0e6 100644 --- a/examples/PlugInSamples/NoiseGate/NoiseGate.jucer +++ b/examples/PlugInSamples/NoiseGate/NoiseGate.jucer @@ -8,8 +8,8 @@ pluginIsSynth="0" pluginWantsMidiIn="0" pluginProducesMidiOut="0" pluginSilenceInIsSilenceOut="0" pluginEditorRequiresKeys="0" pluginAUExportPrefix="NoiseGateAU" pluginRTASCategory="" aaxIdentifier="com.roli.NoiseGate" - pluginAAXCategory="AAX_ePlugInCategory_Dynamics" jucerVersion="4.1.0" - pluginIsMidiEffectPlugin="0"> + pluginAAXCategory="AAX_ePlugInCategory_Dynamics" jucerVersion="4.2.0" + pluginIsMidiEffectPlugin="0" buildAUv3="0"> @@ -17,8 +17,7 @@ + postbuildCommand="" vst3Folder="" vstFolder="" aaxFolder=""> diff --git a/examples/PlugInSamples/NoiseGate/Source/NoiseGate.cpp b/examples/PlugInSamples/NoiseGate/Source/NoiseGate.cpp index ecbc1edf63..90567a4788 100644 --- a/examples/PlugInSamples/NoiseGate/Source/NoiseGate.cpp +++ b/examples/PlugInSamples/NoiseGate/Source/NoiseGate.cpp @@ -35,8 +35,11 @@ public: addParameter (alpha = new AudioParameterFloat ("alpha", "Alpha", 0.0f, 1.0f, 0.8f)); // add single side-chain bus - busArrangement.inputBuses. add (AudioProcessorBus ("Sidechain In", AudioChannelSet::stereo())); - busArrangement.outputBuses.add (AudioProcessorBus ("Sidechain Out", AudioChannelSet::stereo())); + busArrangement.inputBuses.add (AudioProcessorBus ("Sidechain In", AudioChannelSet::mono())); + + // To be compatible with all VST2 DAWs, it's best to pass through the sidechain + if (isVST2()) + busArrangement.outputBuses.add (AudioProcessorBus ("Sidechain Out", AudioChannelSet::mono())); } ~NoiseGate() {} @@ -44,16 +47,28 @@ public: //============================================================================== bool setPreferredBusArrangement (bool isInputBus, int busIndex, const AudioChannelSet& preferred) override { + const bool isMainBus = (busIndex == 0); + const bool isSideChain = (busIndex == 1); + const int numChannels = preferred.size(); - // do not allow disabling channels - if (numChannels == 0) return false; + // do not allow disabling channels on main bus + if (numChannels == 0 && isMainBus) return false; - // only allow stereo on the side-chain bus - if (busIndex == 1 && numChannels != 2) return false; + // VST2 does not natively support sidechains/aux buses. + // But many DAWs treat the third input of a plug-in + // as a sidechain. So limit the main bus to stereo! + if (isVST2()) + { + if (isMainBus && numChannels != 2) return false; + + // we only allow mono sidechains in VST-2 + if (isSideChain && numChannels != 1) + return false; + } // always have the same channel layout on both input and output on the main bus - if (! AudioProcessor::setPreferredBusArrangement (! isInputBus, busIndex, preferred)) + if (isMainBus && ! AudioProcessor::setPreferredBusArrangement (! isInputBus, busIndex, preferred)) return false; return AudioProcessor::setPreferredBusArrangement (isInputBus, busIndex, preferred); @@ -65,9 +80,6 @@ public: void processBlock (AudioSampleBuffer& buffer, MidiBuffer&) override { - for (int i = getTotalNumInputChannels(); i < getTotalNumOutputChannels(); ++i) - buffer.clear (i, 0, buffer.getNumSamples()); - AudioSampleBuffer mainInputOutput = busArrangement.getBusBuffer (buffer, true, 0); AudioSampleBuffer sideChainInput = busArrangement.getBusBuffer (buffer, true, 1); @@ -93,6 +105,9 @@ public: if (sampleCountDown > 0) --sampleCountDown; } + + // VST-2 passes this through so clear the audio in this channel + sideChainInput.clear(); } //============================================================================== @@ -107,6 +122,7 @@ public: void setCurrentProgram (int) override {} const String getProgramName (int) override { return ""; } void changeProgramName (int, const String&) override {} + bool isVST2() const noexcept { return (wrapperType == wrapperType_VST); } //============================================================================== void getStateInformation (MemoryBlock& destData) override @@ -125,6 +141,11 @@ public: alpha->setValueNotifyingHost (stream.readFloat()); } + enum + { + kVST2MaxChannels = 8 + }; + private: //============================================================================== AudioParameterFloat* threshold; diff --git a/examples/PlugInSamples/Spatializer/Builds/MacOSX/Info.plist b/examples/PlugInSamples/Spatializer/Builds/MacOSX/Info.plist deleted file mode 100644 index a5c046d587..0000000000 --- a/examples/PlugInSamples/Spatializer/Builds/MacOSX/Info.plist +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIconFile - - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleName - Spatializer - CFBundlePackageType - TDMw - CFBundleSignature - PTul - CFBundleShortVersionString - 1.0.0 - CFBundleVersion - 1.0.0 - NSHumanReadableCopyright - ROLI Ltd. - NSHighResolutionCapable - - AudioComponents - - - name - ROLI Ltd.: Spatializer - description - Spatializer - factoryFunction - SpatializerAUFactory - manufacturer - ROLI - type - aufx - subtype - Spce - version - 65536 - - - - diff --git a/examples/PlugInSamples/Spatializer/Builds/MacOSX/Spatializer.xcodeproj/project.pbxproj b/examples/PlugInSamples/Spatializer/Builds/MacOSX/Spatializer.xcodeproj/project.pbxproj deleted file mode 100644 index 835141960a..0000000000 --- a/examples/PlugInSamples/Spatializer/Builds/MacOSX/Spatializer.xcodeproj/project.pbxproj +++ /dev/null @@ -1,2405 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - - 2D86E0C195453630FFE62D54 = {isa = PBXBuildFile; fileRef = 839C9EA94D841EC15C280108; }; - AD571F1E9E181285FDCEAE48 = {isa = PBXBuildFile; fileRef = B82850CE0252ADB76F651A2E; }; - A3F72C78FFDF08D88501F41A = {isa = PBXBuildFile; fileRef = 9A243FE62C349501DE3F729A; }; - 7E18A397EDB00032FE44CCAC = {isa = PBXBuildFile; fileRef = 11D1C0A892FB71D64BCE3159; }; - A60AC9DE8CE32A7D81BF02D8 = {isa = PBXBuildFile; fileRef = F42550666CCA34433A2336AA; }; - CF676753ECCCDAB0ED2941D2 = {isa = PBXBuildFile; fileRef = DFF6F9E3141E1E1317DA4D61; }; - D22E3582524974C91644B3E8 = {isa = PBXBuildFile; fileRef = 70F9EC9FDF958DD865C2C015; }; - 4733FD285DA5D6B38C7EA8CC = {isa = PBXBuildFile; fileRef = 302731293CE8C15808E7E1D5; }; - BDFF1DD432BACF75097B6AD2 = {isa = PBXBuildFile; fileRef = 368C793CE2F97BA6BD241960; }; - 03493160412F0230155AE5EF = {isa = PBXBuildFile; fileRef = 333C892676B89E648A352F13; }; - 2F4084C24D03CAA0278A714D = {isa = PBXBuildFile; fileRef = 28ACA32D9AC16D746414F0F7; }; - 7AD98D1EEDB42CE55DACDAAD = {isa = PBXBuildFile; fileRef = 0A6F28E3CD883E332D5EA101; }; - EB86BEC38AEA80FAD73814F4 = {isa = PBXBuildFile; fileRef = E884E5D1197DA5F515B8A17D; }; - 1C3A98ECD10DCAFD46C2B38B = {isa = PBXBuildFile; fileRef = D5FCDBEEDD5AB798CD88E896; }; - 72E0BE551A118C6288E7B5E4 = {isa = PBXBuildFile; fileRef = B89E4564B6A2ADB23E76C620; }; - 675D5BAF4E74306F8644BDD3 = {isa = PBXBuildFile; fileRef = 8C4AEBE657AA06B9D151F84D; }; - 692A7FA38DE78681DDB55AC9 = {isa = PBXBuildFile; fileRef = 38E749B4F10BF5EC867226FF; settings = {COMPILER_FLAGS = "-w"; }; }; - CAE07F78C73D23CD7973F737 = {isa = PBXBuildFile; fileRef = 23808B9A53EF97955CBEBB35; settings = {COMPILER_FLAGS = "-w"; }; }; - D117FB1BAF3BFD60916E694B = {isa = PBXBuildFile; fileRef = A0617A42332CFE7FD5D4869D; settings = {COMPILER_FLAGS = "-w"; }; }; - E483ECC69AE4BE8D04740C73 = {isa = PBXBuildFile; fileRef = 04F5167D83E88F9EBD073358; settings = {COMPILER_FLAGS = "-w"; }; }; - 9CF5916EA33BE57E91C21D6A = {isa = PBXBuildFile; fileRef = 46AC1ABE680801991751F877; settings = {COMPILER_FLAGS = "-w"; }; }; - 97589199124C81F6CD1C8683 = {isa = PBXBuildFile; fileRef = AEC0F3069CF2440BC1EAEE38; settings = {COMPILER_FLAGS = "-w"; }; }; - 0734D9054E524FBCA8676040 = {isa = PBXBuildFile; fileRef = AEE8A4DAB2C8556EC95066AF; settings = {COMPILER_FLAGS = "-w"; }; }; - B4695192F012C4E7B446F16C = {isa = PBXBuildFile; fileRef = 56C732CE6E23A49106848909; settings = {COMPILER_FLAGS = "-w"; }; }; - 4E264E6068E0EE1B6724B4D0 = {isa = PBXBuildFile; fileRef = E31A623D2CA5E8684EF2A6CF; settings = {COMPILER_FLAGS = "-w"; }; }; - 52C158AB44DE29997F915CF1 = {isa = PBXBuildFile; fileRef = C44BE87DAAAB41A688B06CCD; settings = {COMPILER_FLAGS = "-w"; }; }; - 596E11E6B401ECF5B6517A50 = {isa = PBXBuildFile; fileRef = 18E92370B59AC74A8F7B960B; settings = {COMPILER_FLAGS = "-w"; }; }; - 149620ED349413544702C722 = {isa = PBXBuildFile; fileRef = 19687D99740F8D3783345094; settings = {COMPILER_FLAGS = "-w"; }; }; - AD27A1FB70366A14386EE213 = {isa = PBXBuildFile; fileRef = 3651569BA99BE5FBC1332FA0; settings = {COMPILER_FLAGS = "-w"; }; }; - DD5AB59CA4DF8293CBE5C95D = {isa = PBXBuildFile; fileRef = 3F994D41C6FC6F94905B022D; settings = {COMPILER_FLAGS = "-w"; }; }; - FAC040EE0FAB3E46BC3B64EA = {isa = PBXBuildFile; fileRef = C09B5E2FCD7421236192621C; settings = {COMPILER_FLAGS = "-w"; }; }; - 7EBD2CD8BF20707D944AF209 = {isa = PBXBuildFile; fileRef = 1CD97935B3BB623495905D75; settings = {COMPILER_FLAGS = "-w"; }; }; - 450740F105A7E1A0D392B986 = {isa = PBXBuildFile; fileRef = 18222EF608004D830BE06B6F; settings = {COMPILER_FLAGS = "-w"; }; }; - 818EF84D6B75E118EC1104B7 = {isa = PBXBuildFile; fileRef = 097A5FAA5E149C4B9DE2D854; settings = {COMPILER_FLAGS = "-w"; }; }; - 47DDFB7BB8DCAF89C29F3813 = {isa = PBXBuildFile; fileRef = 5B5C873DAAF549A0BF9A4204; }; - 2400CC1CA479BECDCB7EE172 = {isa = PBXBuildFile; fileRef = D4A278B96FB40B69BE7D7A9A; }; - 23210D3D39C7A45B6EEDFEB6 = {isa = PBXBuildFile; fileRef = 339459CBD404E5AC85869DF3; }; - 5B24297659EF66B18586E74A = {isa = PBXBuildFile; fileRef = 748D8DEC77203FE32E483F64; }; - 900A4B253B1D5126F1C26FC7 = {isa = PBXBuildFile; fileRef = F8CDF4DF44BCBB3B9AEAF3AE; }; - 50350CB917EDF7A77E23F692 = {isa = PBXBuildFile; fileRef = 1C56CEC7004907CDAEF38453; }; - C180260F123FDFCF3446C3FB = {isa = PBXBuildFile; fileRef = D792C920C0970537125F3115; }; - A862880ECBEE873C8873F460 = {isa = PBXBuildFile; fileRef = DF815ACFE6157911FF63D9C7; }; - 427EFE43752137CD8ED38A5E = {isa = PBXBuildFile; fileRef = A67DAE994643AE469C387C94; }; - 144E52B80E02E9F1E578115C = {isa = PBXBuildFile; fileRef = 577E345CCA53D6192C07DA6A; }; - 8DB8DA82DCD6030EF3766691 = {isa = PBXBuildFile; fileRef = DD2497BA12000BD47366A906; }; - 03033B8931A684AEF56AB114 = {isa = PBXBuildFile; fileRef = DCA9C49D1B2C8B220B2ED5A1; }; - F248587B24BC4C4E7178D3CF = {isa = PBXBuildFile; fileRef = AE058DFCF68F3ED86F0693CB; }; - A1106A7B7D3A8D001914543D = {isa = PBXBuildFile; fileRef = D1C3A102F7A84F7D60EF8BD3; }; - DC3D1B22165BC873D005740A = {isa = PBXBuildFile; fileRef = CD81C6328D3932A4D91FDA2B; }; - B51000217C1F72B0B8CC9DDF = {isa = PBXBuildFile; fileRef = B4761A66D0B9CB8B297346FA; }; - 08BD8E3BF93894ADA97B9BB5 = {isa = PBXBuildFile; fileRef = FC07E6D4A870633187329E21; }; - 062DB4FA688FE669826A0711 = {isa = PBXBuildFile; fileRef = 78E5899A938C21271DEA4428; settings = {COMPILER_FLAGS = "-w"; }; }; - E4A824176546C8C9C8F65584 = {isa = PBXBuildFile; fileRef = D1E50979C0681B28D6E4EB01; settings = {COMPILER_FLAGS = "-w"; }; }; - 72232718AFAE21B6233FB6EA = {isa = PBXBuildFile; fileRef = 4A0E4F72F10F2E1A29447852; settings = {COMPILER_FLAGS = "-w"; }; }; - 7D45B3264A58000959506509 = {isa = PBXBuildFile; fileRef = 69682A2B4E0D8680B5FD9D53; }; - ECBE2C33DFF798D9784E8961 = {isa = PBXBuildFile; fileRef = ECD8228F24313CDA04A80893; settings = {COMPILER_FLAGS = "-w"; }; }; - 119394152BA742B959E40B79 = {isa = PBXBuildFile; fileRef = 1761E125D05F95A7D26AACDF; }; - 03CF55E5AA3E8B2876FDCCA3 = {isa = PBXBuildFile; fileRef = 398ECF52D48BCF6186931D47; }; - 0EC8FCFB4FA761C572E327F1 = {isa = PBXBuildFile; fileRef = 977D4A42C138333EBFAB6A87; }; - 375FF8D5CC49C890692DDB4D = {isa = PBXBuildFile; fileRef = 516BC53D058594B100DAD44F; }; - CCD58360F450EFBCAD5FC275 = {isa = PBXBuildFile; fileRef = 7FA994389F18CE7A21F163DB; settings = {COMPILER_FLAGS = "-w"; }; }; - 00020541ECD78B4DAC6FB681 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; - 0020D6B1FB70D2D66DE24B76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; }; - 0057C9BED5A04A7170A903EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; }; - 0095E698781E1BAD0B4A3F01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 00FB03A7B2A03FEC348CECAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; }; - 01A6A23FF8431401F20FDAEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInactivityDetector.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h"; sourceTree = "SOURCE_ROOT"; }; - 01C124828A90B57341D9DE03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; - 020C694E23EBCB86CE49D298 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; - 02419DEE2D9EBA9974AAEC04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; }; - 02561723CD45B0202AA47311 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; }; - 02837F44753FD0713D5296DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 02867BB02E38B42B1B31CA65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; }; - 02AFB89C1F6D4DA1EC4C767D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Quaternion.h"; path = "../../../../../modules/juce_opengl/geometry/juce_Quaternion.h"; sourceTree = "SOURCE_ROOT"; }; - 02ED703A5D49EC94DD9F45E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MD5.h"; path = "../../../../../modules/juce_cryptography/hashing/juce_MD5.h"; sourceTree = "SOURCE_ROOT"; }; - 03627BF6D04539D2BF673D31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; - 04843589CF51DC247FB447A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiDataConcatenator.h"; path = "../../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h"; sourceTree = "SOURCE_ROOT"; }; - 0489F051D0F4F9DF022BA245 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; }; - 0492E6C51DE1CE3487B9A8B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; }; - 04975566F3E4D7B96B7F7B60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_ClangBugWorkaround.h"; path = "../../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h"; sourceTree = "SOURCE_ROOT"; }; - 04A238A63839069D82B7E5D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLGraphicsContext.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; - 04E4EEED43C0D482194F4C80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLImage.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.cpp"; sourceTree = "SOURCE_ROOT"; }; - 04F5167D83E88F9EBD073358 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUCarbonViewControl.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewControl.cpp"; sourceTree = "SOURCE_ROOT"; }; - 05F0D9671B2712109291D125 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; }; - 060B23BC34B6593467001948 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; }; - 0612EF0CFBDD3CA3E0D65D5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; }; - 065583BDDF0D1B8FB8552DB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; }; - 069E418B3913CF03CC82C1B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 06CBC3DA470812CE24F30456 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; }; - 07719004F579C24B3FD9C89D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; - 079F57EC1F7AC4E229EFA8FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; }; - 07DDD14E4B8466121FE1DCC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarComponent.h"; path = "../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 085C0FF5A8068D1A952D2116 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../../../../modules/juce_gui_basics/components/juce_Component.cpp"; sourceTree = "SOURCE_ROOT"; }; - 097A5FAA5E149C4B9DE2D854 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ComponentBase.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/ComponentBase.cpp"; sourceTree = "SOURCE_ROOT"; }; - 0A3EEC392B15172D0C9F7937 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; - 0A427D2A8D21E0AEC06C8132 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h"; sourceTree = "SOURCE_ROOT"; }; - 0A5009757BE902A3C06C2BF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; }; - 0A6F28E3CD883E332D5EA101 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = System/Library/Frameworks/QTKit.framework; sourceTree = SDKROOT; }; - 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"; }; - 0BF802A65554D94FAAE1616B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BlowFish.h"; path = "../../../../../modules/juce_cryptography/encryption/juce_BlowFish.h"; sourceTree = "SOURCE_ROOT"; }; - 0DAB4019C728B9D75E63141E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; }; - 0DBF03145527DAE8BDD98FF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiFile.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp"; sourceTree = "SOURCE_ROOT"; }; - 0E2007B24A5DF937DE4FDF25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - 0E681616DAFBE645738D3F4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; }; - 0E701CDBF2DF0A6D600C64FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Synthesiser.cpp"; path = "../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; - 0EBA363945C61C43AD11D768 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; - 0F412618E14201BDCF6E1939 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorListener.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h"; sourceTree = "SOURCE_ROOT"; }; - 0FAA04F9A0A54FEA28777C85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; }; - 1041B012292503D5EFE7E18A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BlowFish.cpp"; path = "../../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp"; sourceTree = "SOURCE_ROOT"; }; - 106336EF7D17FB3FC3430527 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; }; - 109B06D83A5403BAACFD1E3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; }; - 10A7CC5E777A68077CD0D274 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Font.h"; path = "../../../../../modules/juce_graphics/fonts/juce_Font.h"; sourceTree = "SOURCE_ROOT"; }; - 10DE1CAAEA40B55514DB7CB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; }; - 11914E6F41D0C1349A515540 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; }; - 11CC78B1536125C9442EAF4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 11D1C0A892FB71D64BCE3159 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; - 11E3623A882DB9D7CCE02266 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; - 11E7B51FDB993F87D7FF90A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; - 11EA8A227C65A286883D6FF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; - 1238C104DB57147B2FD01695 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsHooks.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_WindowsHooks.h"; sourceTree = "SOURCE_ROOT"; }; - 12395F1A0F70B02690D6F319 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; }; - 127DF480B060C647400BDBC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; - 127EAF1B58D30223814B962F = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_graphics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; - 132606A992E3ABC96BEA4DD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; }; - 134A8541EFB9D372006AEF76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; }; - 141B6BC19FDD216AA9B485EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; - 146A354052DC068E976CCF1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RSAKey.cpp"; path = "../../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp"; sourceTree = "SOURCE_ROOT"; }; - 14700512E8168DDFAC28F500 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BooleanPropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 1478851A51BC076AEE692C3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; }; - 14BE4C35F7F7408166393F42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; }; - 155DE520D976E4C37C228DA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; - 157163E1BB3934191E5C3259 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 15BB2C6519B3BD45801267AF = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; - 15DC1A595942EDB3043FDE01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; - 1655964440C97A240C403CBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; }; - 171A2823281D5D1150EC0558 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormatManager.h"; path = "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; - 1725E3B98E375D6CA9986D42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp"; sourceTree = "SOURCE_ROOT"; }; - 1761E125D05F95A7D26AACDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../../../../modules/juce_video/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; - 179F0542B0661723F0BB1ECF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 17C3CD4D179F70E5227345F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; }; - 17C607157689BFDFCC9DED85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; }; - 17E440BB39CE9552074EF876 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; }; - 17FDE62C9B5759E2BE493B74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorGraph.cpp"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp"; sourceTree = "SOURCE_ROOT"; }; - 18222EF608004D830BE06B6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAVectorUnit.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAVectorUnit.cpp"; sourceTree = "SOURCE_ROOT"; }; - 18BCBE3FA9B74F1D8AF4FC8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 18E92370B59AC74A8F7B960B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUScopeElement.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUScopeElement.cpp"; sourceTree = "SOURCE_ROOT"; }; - 194419286DE6AAFD1E6F516D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLContext.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h"; sourceTree = "SOURCE_ROOT"; }; - 19687D99740F8D3783345094 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAAudioChannelLayout.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAudioChannelLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; - 199FBB287EE45CEC16ECD016 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlacAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; - 19E8EDEF55860B2AB5AEAEAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; - 1A5B8B63A80D5EC9636ECFC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; }; - 1AB7BE23990D9FD79AD895EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; }; - 1AEB1356900A4B763983A580 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; - 1B1AC954DC8572AC1ABE6D5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_android.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_android.h"; sourceTree = "SOURCE_ROOT"; }; - 1B62B045208835AD1E1B1E52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_plugin_client.h"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client.h"; sourceTree = "SOURCE_ROOT"; }; - 1B76E6F989EF9E6A8CF69EE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyMappingEditorComponent.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 1BA68989DB9A3F4B0B5B75AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; - 1BF75B8AAB9C86BFA0F2854D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 1D10BC37F19A66306481F343 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; }; - 1D61F76A27ABAF77CBB31BFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; - 1D705DD357DF9B5C2634DE42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTPluginFormat.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; - 1DDBF508FB440517B4CEAA83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colours.h"; path = "../../../../../modules/juce_graphics/colour/juce_Colours.h"; sourceTree = "SOURCE_ROOT"; }; - 1E1D8F47096314289C23413D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilePreviewComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 1E357BCB749C04C422870238 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; }; - 1E5380575E2840568CEE18B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilter.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; - 1E5501D0189025212A36C7C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp"; sourceTree = "SOURCE_ROOT"; }; - 1EE497AE92F612378F236C2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MD5.cpp"; path = "../../../../../modules/juce_cryptography/hashing/juce_MD5.cpp"; sourceTree = "SOURCE_ROOT"; }; - 1FA718878C5957CC773A065A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; }; - 1FA8EDB078F7188BFBAD2187 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; }; - 1FC44D72EEEA32D1B9159458 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; }; - 2046AFAD66B0997AC6BD3819 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_QuickTimeAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - 208ECF7EC7E32FCA588C03E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; - 20AED5F8116FCBE8B4DDAF41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; }; - 20B89DE51E1C449D0A42FA79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToneGeneratorAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; - 20C0C0F66F9943EE91951DAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; }; - 2111666AE9296FA100D7CF1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDirectoryScanner.h"; path = "../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h"; sourceTree = "SOURCE_ROOT"; }; - 215F65814BEE3F7AE613ECC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - 21B9B18F8D713DA82F4B19D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 22501F0B1DC20A202EDE7D85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 22FA3C5FA321CF20EA34A7C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_cryptography.h"; path = "../../../../../modules/juce_cryptography/juce_cryptography.h"; sourceTree = "SOURCE_ROOT"; }; - 22FABC881709019E6BB724CE = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_audio_devices/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; - 23251340999C918E0ABE8DB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; }; - 2335A43124FF2F75192D02F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; - 234827FE41B8731AE02B47C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; }; - 23808B9A53EF97955CBEBB35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUBuffer.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 23FE57869E87946167527DF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; }; - 247B4DC31030435635E7FCB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; }; - 248E74F665F7E80FDB28B4D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_OpenSL.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp"; sourceTree = "SOURCE_ROOT"; }; - 24AA129A39B1A84FC613FB8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChannelRemappingAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; - 253985C46F46FDF2AC6EE36C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; - 259A032FC78314B03B393FBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; - 25AD08E8CDECD334915F3633 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; }; - 25EF0010CB990BF0E660ADE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; - 25F6FDC7DCE5074CF0E8240A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; }; - 260BAF0A45CB2A662BE9E2F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; }; - 2651F77C42B8D21AE17FF180 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; - 268EB023A7B1C237DC165019 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; - 273371EA3C0035FC431E5116 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; }; - 27CB1DFE462BE3ECB94EF532 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; - 27FE8FD2DFE4EF62D6611905 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - 2813AFD5D149576D32C93C9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDataConverters.h"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h"; sourceTree = "SOURCE_ROOT"; }; - 286C96166C43E3010D28CC86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; }; - 28ACA32D9AC16D746414F0F7 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; - 291FAED2F8B8691C1AB4ECDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; }; - 2927C0281BBD7BA84C76130C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - 293AAB756B1B6523DCF6C274 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; - 2A1BECA08A51EF0BDDA86929 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3PluginFormat.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; - 2A1D35D27789ECD28A7F497E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; - 2ABA83A063A077F5632B12ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; }; - 2B2AEB4F15FAF6583A538BAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentPeer.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h"; sourceTree = "SOURCE_ROOT"; }; - 2B2CABF645FF85AF031CA728 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Whirlpool.h"; path = "../../../../../modules/juce_cryptography/hashing/juce_Whirlpool.h"; sourceTree = "SOURCE_ROOT"; }; - 2B5171E4A2674078D44395F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessage.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp"; sourceTree = "SOURCE_ROOT"; }; - 2B8E174A49577C3D7386D03A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; - 2BA9A23F7466618E0610D051 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; - 2BBDC2C2E1C50AAC07122790 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; }; - 2BD0513461C908971B96EFD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - 2C5B79A21CC0AC903BAF562F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; - 2C70DFF54DD5CDF1C13BBB78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; - 2C8E27327D36D3E2B393A79E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; }; - 2CC8A49E500B39B9CDE13506 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; }; - 2D1B89BF2D06A81F72431DB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; }; - 2D229BC59178B998119B019C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Primes.cpp"; path = "../../../../../modules/juce_cryptography/encryption/juce_Primes.cpp"; sourceTree = "SOURCE_ROOT"; }; - 2DCDFFFC43B0C23604F5920B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterChoice.h"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h"; sourceTree = "SOURCE_ROOT"; }; - 2DD01D177AAB2E3A37F99F56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLShaderProgram.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h"; sourceTree = "SOURCE_ROOT"; }; - 2E8C7C1F6D5F2AFAFEE3D0E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; }; - 2E9D01BAA8757BB95CB44904 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; }; - 2ECAD2769F26B2D247CA079B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 2F0386BD9821ACAD2E36842C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDescription.cpp"; path = "../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp"; sourceTree = "SOURCE_ROOT"; }; - 2F48843849BD2BBFF7061CFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; }; - 2F6F5BDB4514E740ABC71611 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; }; - 2FC5275FBC4D7BB8324879C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; - 2FDAA197D2E4E71F2EC72E47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_win32.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_win32.h"; sourceTree = "SOURCE_ROOT"; }; - 2FFAD01A8EAFADC0B021C439 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; }; - 302731293CE8C15808E7E1D5 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; - 30470261DF6AA452D448C406 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Midi.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; - 3084A84FFC350127431497D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; }; - 3095B5AB5B416AF5BCDF021D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IncludeSystemHeaders.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_IncludeSystemHeaders.h"; sourceTree = "SOURCE_ROOT"; }; - 30B4CDF4141A4EFBF81F3B9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; }; - 30F5DE92900868EC60A0478E = {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"; }; - 30F9EF0B7B9F19628C3E65A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 330CC17B125178EA6B920D32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; }; - 3314718DE9467A84C7D4897B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 333C892676B89E648A352F13 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; - 338DDDFEBFED1FED183FAEB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; }; - 33911A9E7BCDBB99F9391549 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; }; - 339459CBD404E5AC85869DF3 = {isa = PBXFileReference; lastKnownFileType = file.r; name = "juce_AU_Resources.r"; path = "../../../../../modules/juce_audio_plugin_client/AU/juce_AU_Resources.r"; sourceTree = "SOURCE_ROOT"; }; - 33C9CC05D9591E257AB96B7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; }; - 34D7450EABBB21D4E1E6501D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; }; - 34DCAC3B168C44B31334078F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; }; - 34F1CCBBE11C17D0227BA8EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; - 353F9279EF0377596EF3272D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; }; - 3587181D72FBBEBDCCA3372C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; }; - 3594442E266CD6850EDE896A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 35C63D47429F8DC260175642 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; }; - 35F908A6341B3927096BD3FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Audio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; - 3625BAAF6434F54D3E8F0693 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; }; - 3629C789A23BAA4F5DE415D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; }; - 3651569BA99BE5FBC1332FA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAAUParameter.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAUParameter.cpp"; sourceTree = "SOURCE_ROOT"; }; - 368C793CE2F97BA6BD241960 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; }; - 369862F4D0D3F139DE05460F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; - 36A10DA87250F7B821377346 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; - 36FEDF33CCA32F596DE1806A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; }; - 3725D99A968210EC0723E1BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; - 37370946E56878FA85F726B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; - 37F0AD5746E672AE3804681B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceManager.cpp"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp"; sourceTree = "SOURCE_ROOT"; }; - 381FB784633E56F742B038E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; }; - 3824CDB23E8B2E8E562FF932 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; - 384FFD112CB5FCE743AB7F99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 38555D4F4079CEF200D6A550 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; }; - 38954D8BC29AF979E082A980 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; }; - 38E749B4F10BF5EC867226FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUBase.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBase.cpp"; sourceTree = "SOURCE_ROOT"; }; - 39594B73F0CC19476E7AEDFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SHA256.cpp"; path = "../../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp"; sourceTree = "SOURCE_ROOT"; }; - 397CE1837AC2F1F09DF584E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; - 398DEE2C16976DC40B5A9D86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; }; - 398ECF52D48BCF6186931D47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST_Wrapper.cpp"; path = "../../../../../modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp"; sourceTree = "SOURCE_ROOT"; }; - 39C6A4C771AE4FD6CA9B5A41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; }; - 39CACD6BD95D62F4D4EBCB86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; }; - 39E5970711248B88D0AE21E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; }; - 39ED4B8A12694A8BC42A7A6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 39F65BF11DCDE7429620C02A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; }; - 3A8159A69A33EC5E3DAF4936 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; }; - 3AA284BA7FE712A189A153E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; }; - 3AF10E59AAB33AB6305F2CE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectShowComponent.h"; path = "../../../../../modules/juce_video/playback/juce_DirectShowComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 3B46904A1C74E8C5FE05E5DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; }; - 3B48466A82FE098B9B22A444 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableEdgeComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 3B851C14E5932BFE492D4743 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; - 3C37C6D240B0EE023A6A4C73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLTexture.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.h"; sourceTree = "SOURCE_ROOT"; }; - 3C5BAEC5046C460B065BBEE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorEditor.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; - 3C78B56D7CD608FFB55543E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; }; - 3D4E6A1D6700207A2502C47A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GenericAudioProcessorEditor.cpp"; path = "../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; - 3E59ECC817AA1CF211340ED9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableObjectResizer.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 3E96FF944065FE56E13899D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; - 3EBE5576C0B2AED083D2FB2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; - 3ED1BB4AE7F64182785ED007 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; - 3F994D41C6FC6F94905B022D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAMutex.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAMutex.cpp"; sourceTree = "SOURCE_ROOT"; }; - 3FFE1B1866055E9949175093 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 40D9691E35D039F0E0CEDD8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; }; - 411798E8C8C6F5C6746C905C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 419759951DD8300E1F062BDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; }; - 421A64C8FD5EE5E1205E0B00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; }; - 42E292CECB5F6A928B0CC9C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 441F7701B90147689E050860 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4463C5CA9B91E6B94F3EA163 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessor.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h"; sourceTree = "SOURCE_ROOT"; }; - 44BF22F5209200BA7E852F00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; }; - 44C6B1D411325944B251328B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; - 44C894884EEFE332B6FF5243 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; }; - 44CA10F47F1B7E2C19E5AC82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; - 45299A10F3950A6B1610B64F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_opengl.h"; path = "../../../../../modules/juce_opengl/juce_opengl.h"; sourceTree = "SOURCE_ROOT"; }; - 455704280C8D87870C7DEA9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioTransportSource.cpp"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4591138A5C4E6623B63C8431 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; }; - 45CFED2562EA6476EAE281BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; - 46A5BC3201E083E34821E2F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; }; - 46AC1ABE680801991751F877 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUCarbonViewDispatch.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewDispatch.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4731D939559EC1F6BADF6084 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLAppComponent.cpp"; path = "../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4772226D49FF027EEF560EA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; - 479E243BE3B0A619B194230D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginBusUtilities.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_PluginBusUtilities.h"; sourceTree = "SOURCE_ROOT"; }; - 4847761CFA18C29731698CEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; }; - 48520D186FF95BC5BE018664 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; }; - 4865DF20BBF1478009BAC26D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; }; - 488A8EF21EBFED8B9C7D27CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginHostType.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_PluginHostType.h"; sourceTree = "SOURCE_ROOT"; }; - 48C08D2CFB05B536CADFB566 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormat.cpp"; path = "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - 48F7DCA59F43AE3EABA32221 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_data_structures/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 4A7A2B1EB8DBEA5F8A6B0A13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; }; - 4AC948962DA08F7F6CB2947A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4AFC8DC09148BD1AEF745BD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4B022FD2D547AECEF38D1C60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4B37D5FF9893F46CCA2C2872 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; }; - 4B9D5B343CF7AF4607F67557 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; - 4BA93889DDEEBBF1B94A01B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_osx.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_osx.h"; sourceTree = "SOURCE_ROOT"; }; - 4BB93D69A608D22C66B70616 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnection.cpp"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4BBA36C9EB49A464311C5284 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_QuickTimeMovieComponent.cpp"; path = "../../../../../modules/juce_video/native/juce_win32_QuickTimeMovieComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4BEC419ACFAE03B8640E42DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextInputTarget.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h"; sourceTree = "SOURCE_ROOT"; }; - 4C4DE897767A109C642EDEA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4C64F885416CF7DD25809ED9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 4C9E4875ED32404087A9B654 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorEditor.cpp"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4D18F51F82BA0C9682952FC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiInput.h"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h"; sourceTree = "SOURCE_ROOT"; }; - 4D2E71FE0D902589ED8612F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4D5F8CEC3D61AD5367FEB12D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; }; - 4DA09B0BFA6092AE4439C513 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_CommonFile.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_CommonFile.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4DA7515D4D6C0FC058358F40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorValueTreeState.h"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h"; sourceTree = "SOURCE_ROOT"; }; - 4DA7831355B3E5CB8B629838 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; - 4E2C2AA4E6FE1808195DC9BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4E79DF7463AA5AEB9A790E52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4EFEC656C5B43176BE137F55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4F663C09C709C427304D908C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4F7B0020BD5121A6F34CCDAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedAudioFormatReader.h"; path = "../../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; - 4FAA74D7DB5CF060A4CF3BAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; }; - 4FB04296C233AB594F146E01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_CameraDevice.cpp"; path = "../../../../../modules/juce_video/native/juce_win32_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; - 50037E158B2E385746A010B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; - 5003A020F4401F93C57F60F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; }; - 501860601A89F2357A394E78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_ios.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_ios.h"; sourceTree = "SOURCE_ROOT"; }; - 50C84CE688A7C2501ADB6009 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; }; - 50CF02FC3C8E91554A71376E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; }; - 513AF2FE28B681C31168296D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; - 514605C9D44133E7D4803333 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; }; - 516BC53D058594B100DAD44F = {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"; }; - 520DC4BF6C3FBD5EB30FD921 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; }; - 52759EAFF59220645B887606 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyListener.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h"; sourceTree = "SOURCE_ROOT"; }; - 529CBC2418C0BC0179C677A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 52CEF7279F3C4DAC0D05E3B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageComponent.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 536B63E0A0B49A6494FBAA51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; - 53C28A6A9C2BF53693232F8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; - 54CE5AB7D866301987BF4535 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; }; - 54CF25579AD17D003B94DB6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V1.h"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h"; sourceTree = "SOURCE_ROOT"; }; - 551CF96B02F3158B32E29E42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; }; - 555C19FBF991ED7755C3EC0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp"; sourceTree = "SOURCE_ROOT"; }; - 5571D97128A513A4BBFA3E2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilter.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h"; sourceTree = "SOURCE_ROOT"; }; - 558FC41926168B4C243BED3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioFormatReader.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; - 55FAD2FECEDD80626BC2AC1B = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_video/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; - 568DB7F7D2746B26EF3CF73C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; }; - 56BC44FE1AE7FCA918BD4C5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; - 56C732CE6E23A49106848909 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUMIDIBase.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUMIDIBase.cpp"; sourceTree = "SOURCE_ROOT"; }; - 56D235F4D7B20D65CFED5B81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; - 577E345CCA53D6192C07DA6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../../../../modules/juce_cryptography/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; - 57EA31357E812C2FB076A659 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLGraphicsContext.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; - 58219BFA3D04851BDD9EF8ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLHelpers.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h"; sourceTree = "SOURCE_ROOT"; }; - 583C31EF5CEC80B036BE24BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiFile.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiFile.h"; sourceTree = "SOURCE_ROOT"; }; - 58C68B52F27A1AFD5A8D6FB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST3PluginFormat.cpp"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - 58CDD31C4A6FB2EB7772819D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableEdgeComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 594789BF564058C4D846EDB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; - 59492A302C50CD24FDB2C134 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuntimePermissions.cpp"; path = "../../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; - 59858915ADA23064CBBFF236 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; - 59C31333F273C2A5DAB7DC6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Desktop.cpp"; path = "../../../../../modules/juce_gui_basics/components/juce_Desktop.cpp"; sourceTree = "SOURCE_ROOT"; }; - 59CB97E304288A2FE9267BCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 59D79529BCCE71B166EEC7CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; }; - 5A72349DADE2C11673F192AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; - 5A9A32D907B11AB2C2F60E1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; }; - 5AD5B2914066CB1D93F1760D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReader.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; - 5B15E27D44ED120AC9E9487E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MixerAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; - 5B5C873DAAF549A0BF9A4204 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AAX_Wrapper.cpp"; path = "../../../../../modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp"; sourceTree = "SOURCE_ROOT"; }; - 5BB38073860A289DE3DC1DC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 5BEE5E8DC73C32F442AD4E00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScrollBar.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h"; sourceTree = "SOURCE_ROOT"; }; - 5C108A942BD34F24D6EE7ABA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; }; - 5CCA8E793FE018BD5B3E5B80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; }; - 5D2D3B0F9DCD2F11AF047EF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLRenderer.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h"; sourceTree = "SOURCE_ROOT"; }; - 5D9F676BBD62B9BE6607A684 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; }; - 5DB721994F2C29E4E74EFE5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; }; - 5DEE6FFDFB2055E45202BC25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; - 5DF33B3EF15C11E2D350A43C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; }; - 5E723DC3B5F8440A21ACCE73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_RuntimePermissions.cpp"; path = "../../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; - 5EC1A88F38DD85285FF76398 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; }; - 5EF0941D2BD2B8BF295F2C10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; }; - 5F0F1BD3A7431155050A5F33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODevice.h"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h"; sourceTree = "SOURCE_ROOT"; }; - 5FA0A8D7861B9903692C85C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputStream.h"; path = "../../../../../modules/juce_core/streams/juce_InputStream.h"; sourceTree = "SOURCE_ROOT"; }; - 60062F8C64F391DDC60FA40C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; }; - 608F55062378252BC963989B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 6098076D7D7BB0C98C26B765 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; - 60AA161408A60912E4C0C617 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; }; - 60B8356B497A7C3AB74564BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 635AE16F01B4E4457A402D90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../../modules/juce_core/misc/juce_RuntimePermissions.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"; }; - 63E21C5988F8CAC4872EACA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; - 6416599BB0689F733B54EE7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FakeMouseMoveGenerator.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_FakeMouseMoveGenerator.h"; sourceTree = "SOURCE_ROOT"; }; - 648B75534E0C77D5FF35BEC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; }; - 65343F0629F788D607E16F8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; - 65A5372AF166AE1CCBBC7F03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Sampler.cpp"; path = "../../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp"; sourceTree = "SOURCE_ROOT"; }; - 65F4A6A2065901A9B0534FFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 688E3BC92077FA1F6952A658 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 6B15FEF6F79DA27E2A9AB108 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 6DBCB6425B0B6AE6E4B0460F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; sourceTree = "SOURCE_ROOT"; }; - 6E080BB4A55184346AA3BCFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; - 6E1EF150B6943F9A0F1F4EE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 6E3753E14DCE920ACDB2BC26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; }; - 6E5AE41A4BFC1C9941B6A7CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChoicePropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 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; }; - 715780E64B88AE5F12F658BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTreeSynchroniser.h"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h"; sourceTree = "SOURCE_ROOT"; }; - 7162D12FFBAAE94488BD5A9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTMidiEventList.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h"; sourceTree = "SOURCE_ROOT"; }; - 7207D1B830A0CB41D5DF1386 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MissingGLDefinitions.h"; path = "../../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h"; sourceTree = "SOURCE_ROOT"; }; - 730761ED83FBAB94919D6628 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; }; - 7385A9B0C444BD91D8E5AB84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; }; - 7444CFB3ACCE6F03A6240FBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_QuickTimeMovieComponent.mm"; path = "../../../../../modules/juce_video/native/juce_mac_QuickTimeMovieComponent.mm"; sourceTree = "SOURCE_ROOT"; }; - 748D8DEC77203FE32E483F64 = {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"; }; - 74BA3F43BEF6470332523F0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LuaCodeTokeniser.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; - 75518EA21E623734E120D7FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; - 75687F864595F19104822AE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 75C9AE3358FE900560AFC584 = {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"; }; - 75EAD7A4006332D5B2A92C70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; - 768EA214925F095EDEB4C863 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; }; - 769F9092D0F319A245BD48C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; }; - 76BDDBB8EA738475A95DD0CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; }; - 770FE95034CE2717C90C5A5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CatmullRomInterpolator.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; - 77A26FDBB65737F98C4E0DCD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; - 77AC80FDD61FE9F6434876E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; - 77F4169ADAE2A8A908BA8D32 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_gui_extra/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; - 786BAB2519BD92C1DB0B810C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; }; - 7871541DB057084441633BF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; }; - 78E5899A938C21271DEA4428 = {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"; }; - 79A694E39015881729BBC224 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Files.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; - 7A2F3A0FFA28C670E49B5E96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; }; - 7A4880834AC9069FD8935BFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WebBrowserComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 7D3D9769A67520417EAA7204 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; }; - 7D673276B3AAE083823CCA13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; - 7D8C66110A8E860B672E973A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; }; - 7DEA9061F846F8928A288EB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; - 7EB4D5EFB23F320CC8A8CC3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CameraDevice.cpp"; path = "../../../../../modules/juce_video/capture/juce_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; - 7ED373F3AFF9FE66A1572A56 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_core/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; - 7ED99E754B1516956885F322 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; }; - 7FA994389F18CE7A21F163DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MusicDeviceBase.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/MusicDeviceBase.cpp"; sourceTree = "SOURCE_ROOT"; }; - 7FC86F5D5EBA66D413AF8390 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; - 7FE0D8FF252A709266D853F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTreeSynchroniser.cpp"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"; sourceTree = "SOURCE_ROOT"; }; - 804793DC79479F6CBE2C70F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDirectoryScanner.cpp"; path = "../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp"; sourceTree = "SOURCE_ROOT"; }; - 8092CECFE3FA2F8E01218EC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Slider.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp"; sourceTree = "SOURCE_ROOT"; }; - 80981088308CCA1589265CE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; }; - 80A5A2200C028A1A437921F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; - 81B765051916C359373CB1D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; }; - 828EFA69148D9920A559F016 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; }; - 82A18FE63D1BB8854CFFB65B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 86C400B52DE4050016E86491 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemAudioVolume.h"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h"; sourceTree = "SOURCE_ROOT"; }; - 86D38602DB115F77F3CCD3A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; }; - 86F8A5A1A5D895EA6DD6B58F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DeletedAtShutdown.h"; path = "../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h"; sourceTree = "SOURCE_ROOT"; }; - 870452ADD01788ED416CBD9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; - 870E30BC2174372DD65A7F75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; - 87A89B4228FCC6EDF6C4ACDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 87F4346913B6094874A6C518 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameterWithID.h"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h"; sourceTree = "SOURCE_ROOT"; }; - 8814D960A4379004AF933565 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; }; - 886CC4E3513696DD9510ADB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; }; - 889F232D158DFF62947220F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReaderSource.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp"; sourceTree = "SOURCE_ROOT"; }; - 89416166601B01C60ABFF1FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; }; - 899BCE43A64EF7D3DC2D678E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; }; - 89A37318FAF4166E39666061 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorParameters.cpp"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp"; sourceTree = "SOURCE_ROOT"; }; - 89B48F834D929070726637A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; }; - 8A5028FD82003B7D08316962 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; }; - 8AB9DD52F689CDAFC0A2B932 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLShaderProgram.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.cpp"; sourceTree = "SOURCE_ROOT"; }; - 8B828B4EB3AAB982ECCCD660 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; - 8C023B1010C0FDD6A438C762 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameter.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h"; sourceTree = "SOURCE_ROOT"; }; - 8C4AEBE657AA06B9D151F84D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Spatializer.cpp; path = ../../Source/Spatializer.cpp; sourceTree = "SOURCE_ROOT"; }; - 8CE1C855907A2CD388890540 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; }; - 8D3336F7380DA24CC2C6E470 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Identifier.cpp"; path = "../../../../../modules/juce_core/text/juce_Identifier.cpp"; sourceTree = "SOURCE_ROOT"; }; - 8D46553B668F13321E5D8D8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; }; - 8D5F0A21AF56A89CDD515804 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Whirlpool.cpp"; path = "../../../../../modules/juce_cryptography/hashing/juce_Whirlpool.cpp"; sourceTree = "SOURCE_ROOT"; }; - 8DCC8CD6982F9DC7D225D74D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardState.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h"; sourceTree = "SOURCE_ROOT"; }; - 8E36286B05C1D6F0F014F253 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 8EAF38B55329A18BE4AF1ABE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; }; - 8F5649D7F64C8CBEC0B843F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; }; - 8F837153EE63E14C6BBA4B2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; }; - 8F852E89A0F3732E6A020A3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; }; - 8F90A4805CDC31AE1C3C1BA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 902C41BC59B7861D3F32E032 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; - 903859A514E71831C52850B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLPixelFormat.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - 904D61D5E4D8C28C81BF9DA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; }; - 90505508E9F023BD190C7CEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; - 906A9EF1CFA845F5EB5EFE43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - 90867F2535F1F8EEFECF020A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiBuffer.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 909F295EF9243FE3A355E75C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CPlusPlusCodeTokeniser.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; - 90B7DBEC9EFBE6D3A393C68C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 90C1DDBDC84F7A30C1A96D62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; }; - 9108DBC8C07412E6F28B0BF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; }; - 916B4893924F5DB44E67A27F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; }; - 91AE07010A0B24ADAD3B59D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; - 91DEC15B8E30A98DC7CBBA00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; }; - 920123400DF1DEF94C27FB52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GroupComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 920732FF76C5601F7D52A16C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginListComponent.cpp"; path = "../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 922B487E7CC68041F9E55F84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CatmullRomInterpolator.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; - 9240E954FE729A7B7A09FC4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9242BDF111BF01352C5731B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 92956E7DD1CAA4FE1DD457F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; - 92CA000483D0B1BA51D0A662 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLFrameBuffer.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9301FD05EEF67C84ED3BFE1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 93359AEBEFFFCBEF78F65DBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; - 93A57D34C49D544B2B05A230 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; }; - 93AD2A0D5465AC903F859D38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; }; - 94198CEA39F38D58DBFF4E1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Common.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h"; sourceTree = "SOURCE_ROOT"; }; - 9443338E7B2BD2D3D8C297D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9450DA186DAEBA0334C91A4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; }; - 94625891ED5B00E44B709605 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; }; - 94E228DDD4413C641BC3B078 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; - 9596590F88B26FC4FD2C5C16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; - 95A56D2D34835AF1CE9F6A42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterInt.h"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h"; sourceTree = "SOURCE_ROOT"; }; - 95BD1129111D1040CEF0FB0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; }; - 9677F53D0ACDFA6FB3F4D34D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; }; - 96E372BF084E991746A7E0CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; }; - 975D7C3B7D742D0D60B6BD41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 977D4A42C138333EBFAB6A87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_VST_Wrapper.mm"; path = "../../../../../modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.mm"; sourceTree = "SOURCE_ROOT"; }; - 978B39927906786F1899B9A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; - 97B7F1E5505CC6C9B662C593 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; }; - 982AA90E8EBE95C1CC4391A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Identifier.h"; path = "../../../../../modules/juce_core/text/juce_Identifier.h"; sourceTree = "SOURCE_ROOT"; }; - 98BEB1554191EDADF76435E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; }; - 98DE59C57C160EAB4D691BDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; - 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; }; - 9ACDD0EF506887E7EDC82439 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9B45CA1027F24323BA846A49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AiffAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; - 9C0BA0D85E04E226FF624000 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; }; - 9C64E368BC8E2B7E7ED1647A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; }; - 9C6DC92F2CB1521EA8AA7F1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; - 9CB81041F1F97C598CA0D8DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; - 9CE799AA28D5A00BBCCD1665 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatManager.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9D3F8D3ACBEBA7D3A8FEDC83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Matrix3D.h"; path = "../../../../../modules/juce_opengl/geometry/juce_Matrix3D.h"; sourceTree = "SOURCE_ROOT"; }; - 9DF43B235DACE7CE72C09FED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDescription.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h"; sourceTree = "SOURCE_ROOT"; }; - 9E24590EEDC45C4CE517C387 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KnownPluginList.h"; path = "../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h"; sourceTree = "SOURCE_ROOT"; }; - 9E89CD8EF123227549BF80E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9E8A0CB80B2A7F7001ABCD84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9EE6FD949C181BF3BF3DC86C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9EE9C688F9B90F86539C011B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; - 9F085A34D62E5A35438992BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NotificationType.h"; path = "../../../../../modules/juce_events/messages/juce_NotificationType.h"; sourceTree = "SOURCE_ROOT"; }; - 9F58AD538B1F6CC15382BDA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Base64.h"; path = "../../../../../modules/juce_core/text/juce_Base64.h"; sourceTree = "SOURCE_ROOT"; }; - 9F6DDA439D0255D66C0C3068 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_opengl/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; - 9F8CC01693720A039AE132AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; - 9FCF3BC5A1A42F444D05018A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Vector3D.h"; path = "../../../../../modules/juce_opengl/geometry/juce_Vector3D.h"; sourceTree = "SOURCE_ROOT"; }; - 9FD8B9B08874A36C390861F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessor.cpp"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9FE2C79B4B0E8114C2E6CA2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; }; - A01308EF62C2466A00DE5B67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; - A026DFAA441B3B185485A735 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; }; - A0617A42332CFE7FD5D4869D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUCarbonViewBase.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewBase.cpp"; sourceTree = "SOURCE_ROOT"; }; - A0942DD0B875FFE837936EBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; - A0B674BFF7ABC7C74DFADCF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; }; - A0D0AEA4C3A66D0BA7E82343 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_audio_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; - A17FA9103F683E03829CF205 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; - A19269AD94FDC1C81F969CA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; }; - A1BDD8CA03B00EE72E06E2C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LagrangeInterpolator.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; - A1D3DD348C5846C2F0992BF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReverbAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; - A2283CF3C78303792C659FE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - A23363AF701F94AF961D0FAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; }; - A2BBB599082620DBF8C2287E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; - A30A2D68690CF469026C84DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; - A3198EA10D12047D24BA6CD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; }; - A3292713BA1AEEBF209477EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; }; - A337FFDB38008593B5E6DB23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; }; - A365671FB4277D3CD67ED13D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; }; - A37A61E15A350CF30F802FDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CameraDevice.mm"; path = "../../../../../modules/juce_video/native/juce_mac_CameraDevice.mm"; sourceTree = "SOURCE_ROOT"; }; - A3821EEB983F6C6A3C84D1F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; }; - A3B83B7AB04C3EF99F8E89BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPress.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h"; sourceTree = "SOURCE_ROOT"; }; - A3C6BEF31D0FC28A825ADC5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - A42E28BB331FE40AE5A3A0C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormatManager.cpp"; path = "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; - A4333E711F7958271BD11FA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - A5AC4482914D4CFEF58DE4DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_CameraDevice.cpp"; path = "../../../../../modules/juce_video/native/juce_android_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - A9D62A108E5E2BC685450F4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; - AA46615B8C44B142A858501B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; }; - AA5BA57B3BF1ACD8F2AB876F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; }; - AAF5F54585E6749F688A16CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; - AB11099DD14AA625663F8D7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; - AB8837A07EB68DDA67660C70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; }; - ABB81568B867D485B3DCFA2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CarbonVisibility.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_CarbonVisibility.h"; sourceTree = "SOURCE_ROOT"; }; - AC4EE1106A89F3886EB7106A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; - AC7231CA241A7B120DABF835 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CameraDevice.h"; path = "../../../../../modules/juce_video/capture/juce_CameraDevice.h"; sourceTree = "SOURCE_ROOT"; }; - ACA2E74C5610F2D834E65894 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; - AD070CBDE0AF9CC2064064B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LADSPAPluginFormat.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; - AE058DFCF68F3ED86F0693CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; - AE1C529863FD6829A2D732E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; }; - AE2EE1F3EF30683CF8CA83B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; }; - AEC0F3069CF2440BC1EAEE38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUDispatch.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUDispatch.cpp"; sourceTree = "SOURCE_ROOT"; }; - AEC674E71F8EDFBCE1EB4B01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; }; - AEE8A4DAB2C8556EC95066AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUInputElement.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUInputElement.cpp"; sourceTree = "SOURCE_ROOT"; }; - AF3C029E59792CC3F09EE3DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; - AF82D82CE89572EEB7ABD9D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RSAKey.h"; path = "../../../../../modules/juce_cryptography/encryption/juce_RSAKey.h"; sourceTree = "SOURCE_ROOT"; }; - AFC1A338A88478DA580A8787 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODevice.cpp"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp"; sourceTree = "SOURCE_ROOT"; }; - AFD73B5C1F1CD682B8EB7383 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; - AFD8739D5AB98024CFBD9FC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; - AFF4E1A596A5070F21CBEC49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; - B054C6D11FED1483A416A564 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; }; - B0586ABBB423BDF695E9CA19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; }; - B05DC14CFED8CD9B61B8AF5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; - B0D1239BD5AF8AEE4463CF5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ActiveXComponent.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - B108B61608B2B4FB2E023185 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilterAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; - B171B2BF3752E8393D2EEB42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GenericAudioProcessorEditor.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; - B29AC62B4A4496A91F972132 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; }; - B2C3C14B8A2AC8BACC96DC8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - B36C932EC0F9527033619722 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatWriter.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h"; sourceTree = "SOURCE_ROOT"; }; - B3B088740EBB9B1FD470C5C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorGraph.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h"; sourceTree = "SOURCE_ROOT"; }; - B438C4DB77F6A87DA64DB349 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - B4761A66D0B9CB8B297346FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../../../../modules/juce_opengl/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; - B49307FD5137DE5B802CE126 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - B495BA8670FF734608EE21CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; - B49A4836E6D8C984561A1173 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemStats.cpp"; path = "../../../../../modules/juce_core/system/juce_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; - B49D3154A0E4BC6592928A4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; }; - B4D5AEA7C0217EF67D4275A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLTexture.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.cpp"; sourceTree = "SOURCE_ROOT"; }; - B4E9A0C31CEB62E5C745FED2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; }; - B553B4A12B4D976FB3CBD43B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; - B5BD0D54F98C383667093B68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLAppComponent.h"; path = "../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; - B5C6EC69339B05C092250E45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; }; - B5DD8963458ABB785B2CD3BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterFloat.h"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h"; sourceTree = "SOURCE_ROOT"; }; - B5EF95AEA49BB9884BF55237 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; }; - B6046AA5112609750A622104 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; }; - B6F00C8CFF29CDFF7E6BBE1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; }; - B7C0D785A43600866909BB9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; }; - B7DCEC6D04DD235D00708595 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; - B82850CE0252ADB76F651A2E = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; - B8407047666FB0AD160D42B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - BAB8557C6001C75EB8B1D07D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - BAF194E31CDA67FE1BD71419 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - BB031592295ACBB0D2A69E6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; }; - BB0C6201E59B9BD66B4C05BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; - BB10DBE86EACBA5EF0045324 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LADSPAPluginFormat.cpp"; path = "../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - BB7F4027D444CD272C8071E2 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_events/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; - BB99FA41B7A769D46A16236C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; }; - BBFE697967FA78C7BE846775 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_devices.h"; path = "../../../../../modules/juce_audio_devices/juce_audio_devices.h"; sourceTree = "SOURCE_ROOT"; }; - BC00F934272E77A7C8B9A346 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; }; - BC44A9431417CB41302EF778 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreMidi.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp"; sourceTree = "SOURCE_ROOT"; }; - BC6079F91A0ECDE5B8732B13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLContext.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp"; sourceTree = "SOURCE_ROOT"; }; - BD70885BA47BE0D2CEE00193 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; }; - BE3AD172C1CAEFD58E0FED52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; }; - BF32A302CF84155DB20BEECB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioFormatReader.h"; path = "../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; - BF9C19A992C6589F9B368CE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; }; - BFA2682F6591E04867C9F031 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; }; - BFC968D1F163B14642B5FBC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NewLine.h"; path = "../../../../../modules/juce_core/text/juce_NewLine.h"; sourceTree = "SOURCE_ROOT"; }; - C0328DA70CA188C2CB6FE731 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; }; - C08D241428FE1217F6C6D587 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; - C09B5E2FCD7421236192621C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CarbonEventHandler.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CarbonEventHandler.cpp"; sourceTree = "SOURCE_ROOT"; }; - C0FB0D027E685EA5374EAAFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; - C103261992072A2F012025BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - C312EF30A067A62ADBE89057 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - C346439825A68D08658A3978 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - C3D706C6F1521D2DC76FBC73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; - C3E787690133AA08D088BF27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; - C44BE87DAAAB41A688B06CCD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUOutputElement.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUOutputElement.cpp"; sourceTree = "SOURCE_ROOT"; }; - C450697EEC930E825DB2C34B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; }; - C4785B71717E708DC31EDFE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; }; - C4CDA4C25EB33885825087C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; }; - C532256AA77BBAF182248B95 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_audio_plugin_client/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; - C56DBD4A7930C59D7A2AA799 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; - C5F210E7D83EEF053EBA0868 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLPixelFormat.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h"; sourceTree = "SOURCE_ROOT"; }; - C5F9ACB6C9E6071F3EC5CE88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; }; - C65471C9C71263412A094CC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; - C665FAD9DA6D996A41AD3617 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; - C6AFD82C523F43EF0495DBCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; }; - C6CBAE2338CF0D2B61697F4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; }; - C72FC8F19CA71E9370AA72EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; }; - C799C8C04A5CFFB311439937 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; - C7F29E4B984AFBF3CB9E74AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PixelFormats.h"; path = "../../../../../modules/juce_graphics/colour/juce_PixelFormats.h"; sourceTree = "SOURCE_ROOT"; }; - C84190716DF3030C18533623 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; }; - C857D3116642FCBFB2570178 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - C86FCB277A54E570AED49AB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; - C920D1667739967B4785E645 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FFT.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_FFT.h"; sourceTree = "SOURCE_ROOT"; }; - C932A4E6B497033504082047 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; }; - C98581B8ED33B03F5C6CF1D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLFrameBuffer.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h"; sourceTree = "SOURCE_ROOT"; }; - C99B0CA2F5DD6491A756EA3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - CB3C99D9190FB75D6B5095FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; - CB68B044A717ACC0AA485C51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; }; - CB7A4BB125CED4ACAC7D5D0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; }; - CBA546EC434367CD0A99DB7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; - CBDFE719D4DE9CC124728B1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WavAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; - CBE386E48B7730317D403119 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FloatVectorOperations.h"; path = "../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h"; sourceTree = "SOURCE_ROOT"; }; - CBF186F248A7B053967529BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; - CC77C172929FFB11E19F9E8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Sampler.h"; path = "../../../../../modules/juce_audio_formats/sampler/juce_Sampler.h"; sourceTree = "SOURCE_ROOT"; }; - CC77EF5156CDB34C62557193 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; }; - CD056E2B41DD9F1497C92D77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; - CD1224B4CD69DEF7D2FDF715 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; - CD1A1FDCA22904C4FBE7660B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; }; - CD2A8E3078A7665FEC62D468 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; }; - CD542AB4DDD87987C3702721 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - CD69D987B793BE94A7EA9E4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; - CD81C6328D3932A4D91FDA2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; - CE5EB9C6656CD5F7D451E9E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; - CEDE497FFE346A6BE1024804 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; }; - CEE8A7D43EB4F05BACEDF09A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; }; - CEE962D48579360780BA9D26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; }; - CEEB85A6AC6ECCE1AD7BD15C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; - CFA753E3175BBB10A9E2F7F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceManager.h"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h"; sourceTree = "SOURCE_ROOT"; }; - CFD6E682284A2161DC20985A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; }; - CFE4FDAAD8B1EE83BE74A2BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; }; - D06D3D6E0E3359D517D68D9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; }; - D0710084105C7BC3DA9ADE85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; - D0F00C92048895D5C5A561E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; }; - D15AC0A134AFAFFBBF924A7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; }; - D191B82ADE96C9290F993B98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; - D1B5BE011E0661C16E1A193C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; }; - D1BEF004B5648DCF162F271D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; - D1C3A102F7A84F7D60EF8BD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; - D1D1A3A1BAE582CB02FA876F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; }; - D1E50979C0681B28D6E4EB01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RTAS_DigiCode2.cpp"; path = "../../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode2.cpp"; sourceTree = "SOURCE_ROOT"; }; - D1FFE96DA268520922ED702B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageCollector.cpp"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"; sourceTree = "SOURCE_ROOT"; }; - D24893A9EA85516B4F6A56B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; }; - D24EA7254B5C7538A1E9263B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PositionableAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; - D29F189F6310594BA784A715 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; - D352AA312F480869FE4EF4D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; }; - D385165F8D2957A171BBB700 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; }; - D4039B9363ADFA7387325CD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSubsectionReader.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h"; sourceTree = "SOURCE_ROOT"; }; - D416EC1C221095C7EA54029E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; }; - D441DBB8B504603F096CBDA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Draggable3DOrientation.h"; path = "../../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h"; sourceTree = "SOURCE_ROOT"; }; - D47BD559E2A64C4D3DB4F4A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ElementComparator.h"; path = "../../../../../modules/juce_core/containers/juce_ElementComparator.h"; sourceTree = "SOURCE_ROOT"; }; - D4A278B96FB40B69BE7D7A9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AAX_Wrapper.mm"; path = "../../../../../modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.mm"; sourceTree = "SOURCE_ROOT"; }; - D4A7C801CC0B3B53804725AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; }; - D4D255CCDFE0F0C7044102C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; }; - D511D992F259A9D0552071DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; - D56BED135EABE4CED320BB9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; - D5CE7ACFC4406EA6A280964C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; }; - D5FCDBEEDD5AB798CD88E896 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; - 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"; }; - D75E8821A8EDB0B917E376DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; }; - D7667EFED6F48A773B90E9B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; }; - D774E640C7478A419F0987D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; - D792C920C0970537125F3115 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../../../../modules/juce_audio_formats/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; - D798A3F5E3891E69F2FCE35F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; }; - D7CAD2C867854ED5334EDF6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; }; - D814C4D351FA16D527AAC983 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - D8DF593783A59028788467D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; }; - D8E72352DCBE182B9DC90DB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemFactory.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h"; sourceTree = "SOURCE_ROOT"; }; - D928ABE7E0ABAE418F018A89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; }; - D95F85D4C9FA4C131B608693 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = "SOURCE_ROOT"; }; - D96AEFCD1DE2BA5EE56F3DEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectSound.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp"; sourceTree = "SOURCE_ROOT"; }; - D97E98EF239C855616829EC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; - D9A927EA687ED3DFDB5A4FCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectShowComponent.cpp"; path = "../../../../../modules/juce_video/native/juce_win32_DirectShowComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - D9BC027EC1EE01A1E8E6CA9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; }; - D9D5233F89D6D777FE1D9695 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; }; - DA03BBD50D12289F39F4AAE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; - DA074DBDC52F1A2FFDC1F2DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; }; - DA1BDDA43BF51D8BD3E89108 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; }; - DA4591B5BA3B70396E708614 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageSequence.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h"; sourceTree = "SOURCE_ROOT"; }; - DA9FB8EBCEEEFC6EC51F5EBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; }; - DB17965693911D010B2D6A9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ASIO.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp"; sourceTree = "SOURCE_ROOT"; }; - DB8CAE7A9B26AAAEAACBCE61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_linux.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_linux.h"; sourceTree = "SOURCE_ROOT"; }; - DBAC1BEE29BF5BA1A3058583 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; }; - DBCDCB2F59475554E1212C9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; }; - DC0CE7533E222B060CCD8166 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; }; - DC768FA8A9E33024D57D5F66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; }; - DC881A8681573D516D69D5AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; - DC8E6375112427BD1B747636 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; }; - DCA9C49D1B2C8B220B2ED5A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; - DCCB58B4D9400C3C4132D4BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsPostScriptRenderer.cpp"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; - DD2497BA12000BD47366A906 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - DEEA99664B4C562C68A4EA61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; }; - DEF018B3CD04AAFF24BF3A34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; }; - DEF06933D516EFB2A4D954DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; }; - DF3768C2AFFA412032190AD7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; }; - DF5BBA09417646C031272300 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; }; - DF6091B63D180DFF77FE15A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; - DF815ACFE6157911FF63D9C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../../modules/juce_audio_processors/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; - DFB62AC6FE0468844C3E8DF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; }; - DFD1AD3176EFA5AC2B606043 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiOutput.h"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h"; sourceTree = "SOURCE_ROOT"; }; - DFF6F9E3141E1E1317DA4D61 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; - E1016D96A21B069844E1199B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel.h"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h"; sourceTree = "SOURCE_ROOT"; }; - E13081830E5137CDB9D28070 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; }; - E13543276A1D590A545CD84A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; }; - E1AAFDEE9756EED301BDB3A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VSTPluginFormat.cpp"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - E615AF99CC720A5B53B224CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; }; - E654D02B46B93B1F629A9BC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; }; - E65515F8C6B368EEBA617B64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; }; - E66F1521CC5AFB963728C88C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MP3AudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; - E68F68B08523757BC973D1D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeMovieComponent.h"; path = "../../../../../modules/juce_video/playback/juce_QuickTimeMovieComponent.h"; sourceTree = "SOURCE_ROOT"; }; - E7425DF1DCFB18258B33BCA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; }; - E7554A4625A13AD73CAAB1CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - E97A227D0FA5BC4C0812485B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_video.h"; path = "../../../../../modules/juce_video/juce_video.h"; sourceTree = "SOURCE_ROOT"; }; - E97E26AADD1DF88B7A5401EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; - EA309116AF32229AEDF570ED = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_cryptography/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; - EA383B27055DCB89F2601FCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; - EA80EB8C249C2DF2BBD76625 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageCache.h"; path = "../../../../../modules/juce_graphics/images/juce_ImageCache.h"; sourceTree = "SOURCE_ROOT"; }; - EA8A2FA30D73CA952AB57B60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; - EACBDD3ACB7FDBE3D17CE48D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - 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"; }; - EC647FDDB410F250373D95CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; - ECD8228F24313CDA04A80893 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RTAS_Wrapper.cpp"; path = "../../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_Wrapper.cpp"; sourceTree = "SOURCE_ROOT"; }; - ECDBB14175AD51627FDF4732 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - ED854EFBA4E5593EB0C11A5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; - ED962C1FEB8663AE1EC3D505 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; - EDB3E5A24C0F53057A6F449F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleComponent.cpp"; path = "../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - EDDE70FEDA2151933F02FC6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; - EE3F7E057A361EAB617739D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; - EE84026E3AB2DB1C6807BF0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - EEA4FBF7A4133760C60D166F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../../modules/juce_core/containers/juce_Array.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"; }; - ED3A6CB91BA21D87752670C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Headers.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h"; sourceTree = "SOURCE_ROOT"; }; - ED5FADCA1A0D9B3E7E84F28D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Base64.cpp"; path = "../../../../../modules/juce_core/text/juce_Base64.cpp"; sourceTree = "SOURCE_ROOT"; }; - EFA0B93669BAD84EA6EDE887 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; }; - F180977998EBE54AABB1159E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; }; - F1FFF0F72C159AB689F14AE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; }; - F204A3EB2EE1DA3EB880D201 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MACAddress.h"; path = "../../../../../modules/juce_core/network/juce_MACAddress.h"; sourceTree = "SOURCE_ROOT"; }; - F2121D006CF8E676F4142DD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; - F249B8F2DCFF939B1D800A29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; - F3781ABBDACEE363FC05C01A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; }; - 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"; }; - F7B84A7DFEE562D82BF12C75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; - F8CDF4DF44BCBB3B9AEAF3AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../../modules/juce_audio_basics/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; - F8E3F11044678E6F50869CE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; - F8E609FE60DC38BAEDA6408E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; }; - F97608DEA866C56562BEEAB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; - F9BDB2CDAD21FA205762B29C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; }; - FA47E4330FC1335EC7560F6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; }; - FA7418390BB6947BB442A291 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPlayHead.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioPlayHead.h"; sourceTree = "SOURCE_ROOT"; }; - FA8F3ED414E459B35F611DEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; }; - FAD643D52C8E62247D2F469C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; - FB2A45D4991A6164D30ACE46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; }; - FB4D2883D6F3FAF775A0A159 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CheckSettingMacros.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h"; sourceTree = "SOURCE_ROOT"; }; - FB5F9B17D53499BF1B7DFF7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; }; - FB7584F7677BD42D8E66A4EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; }; - FBE111908ED0D31178B134AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; }; - FBE55B774C7AF45B7F275882 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; }; - FBE9C87F3554667337647F20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Primes.h"; path = "../../../../../modules/juce_cryptography/encryption/juce_Primes.h"; sourceTree = "SOURCE_ROOT"; }; - FC07E6D4A870633187329E21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginUtilities.cpp"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_PluginUtilities.cpp"; sourceTree = "SOURCE_ROOT"; }; - FC1BA9CD7871658F2B09F969 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; - FC36D9213C54A48F083FBDE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; }; - FCB95E2B22916940E22B885F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LeakedObjectDetector.h"; path = "../../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h"; sourceTree = "SOURCE_ROOT"; }; - FCCEB73ADB97FC31445FCBC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLHelpers.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp"; sourceTree = "SOURCE_ROOT"; }; - FD3C1A2AA95B78843E38A405 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; - FDA240765F0C47D6E7DE6832 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; }; - FDBEDF5F0D27E7FAC972C7CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; }; - FDFB6AC6E5297BA40569B4B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsRegistry.h"; path = "../../../../../modules/juce_core/misc/juce_WindowsRegistry.h"; sourceTree = "SOURCE_ROOT"; }; - FE83DA5E740876A50D54052A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; - FE941B5881236575B1100114 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CoreAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - FF0FB0E3B98316C290955CDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; }; - FF6BE69DEEC12E65FA7BE4E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModifierKeys.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h"; sourceTree = "SOURCE_ROOT"; }; - FFDF460EDA601685B96F3D0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; }; - FFEF94B0A47DFF9F7BBDDD58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; - FFFF5649EA413863979E7B6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; }; - 9B22D379764C3B2B157F7820 = {isa = PBXGroup; children = ( - 8C4AEBE657AA06B9D151F84D, ); name = Source; sourceTree = ""; }; - 713FE401A75449D11CB95607 = {isa = PBXGroup; children = ( - 9B22D379764C3B2B157F7820, ); name = Spatializer; sourceTree = ""; }; - EF49A47831967DC2AC7EAD8B = {isa = PBXGroup; children = ( - 6DBCB6425B0B6AE6E4B0460F, - 2813AFD5D149576D32C93C9D, - 1A5B8B63A80D5EC9636ECFC8, - D15AC0A134AFAFFBBF924A7A, - CBE386E48B7730317D403119, ); name = buffers; sourceTree = ""; }; - 5176393479E78D22F710BC44 = {isa = PBXGroup; children = ( - 770FE95034CE2717C90C5A5E, - 922B487E7CC68041F9E55F84, - DC768FA8A9E33024D57D5F66, - 49560E6574C4AE88AC441CD0, - C920D1667739967B4785E645, - 1E5380575E2840568CEE18B0, - 5571D97128A513A4BBFA3E2D, - CBF186F248A7B053967529BE, - A1BDD8CA03B00EE72E06E2C8, - 83925D652855CACAA14B7093, - FFFF5649EA413863979E7B6E, ); name = effects; sourceTree = ""; }; - 1F92F72B66D6139996047551 = {isa = PBXGroup; children = ( - 90867F2535F1F8EEFECF020A, - 2C8E27327D36D3E2B393A79E, - 0DBF03145527DAE8BDD98FF5, - 583C31EF5CEC80B036BE24BA, - FBE111908ED0D31178B134AA, - 8DCC8CD6982F9DC7D225D74D, - 2B5171E4A2674078D44395F7, - D928ABE7E0ABAE418F018A89, - 4B022FD2D547AECEF38D1C60, - 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, - 24AA129A39B1A84FC613FB8D, - E95FC66FFEE9B835945F46FC, - D97E98EF239C855616829EC1, - B108B61608B2B4FB2E023185, - 268EB023A7B1C237DC165019, - 5B15E27D44ED120AC9E9487E, - D24EA7254B5C7538A1E9263B, - 9953EAA12D1F39F0DD922B39, - 5A72349DADE2C11673F192AF, - 253985C46F46FDF2AC6EE36C, - A1D3DD348C5846C2F0992BF9, - 93359AEBEFFFCBEF78F65DBE, - 20B89DE51E1C449D0A42FA79, ); name = sources; sourceTree = ""; }; - 25FE22821328BCED3D4A8DCB = {isa = PBXGroup; children = ( - 0E701CDBF2DF0A6D600C64FB, - 286C96166C43E3010D28CC86, ); name = synthesisers; sourceTree = ""; }; - DD80F04BB2A4012039CC99E9 = {isa = PBXGroup; children = ( - EF49A47831967DC2AC7EAD8B, - 5176393479E78D22F710BC44, - 1F92F72B66D6139996047551, - A3C6629009CCC508BE3A2349, - 357800C3DDAF59EFF75E57CF, - 25FE22821328BCED3D4A8DCB, - A0D0AEA4C3A66D0BA7E82343, - 1FC44D72EEEA32D1B9159458, ); name = "juce_audio_basics"; sourceTree = ""; }; - 071A62D9B344D0228965AA9F = {isa = PBXGroup; children = ( - 37F0AD5746E672AE3804681B, - CFA753E3175BBB10A9E2F7F9, - AFC1A338A88478DA580A8787, - 5F0F1BD3A7431155050A5F33, - D6B5DE5D7B9E48032A90D86F, - DE1799DEA7064C5F74F6E4A8, - 86C400B52DE4050016E86491, ); name = "audio_io"; sourceTree = ""; }; - 51F2D24E75F5B4105E58DA8C = {isa = PBXGroup; children = ( - 4D18F51F82BA0C9682952FC2, - D1FFE96DA268520922ED702B, - FFDF460EDA601685B96F3D0C, - 1E5501D0189025212A36C7C7, - DFD1AD3176EFA5AC2B606043, ); name = "midi_io"; sourceTree = ""; }; - 7F5CF895BD6245D8F02A37E8 = {isa = PBXGroup; children = ( - 84A59B0A80443BC13ED867BA, - 0A427D2A8D21E0AEC06C8132, - 455704280C8D87870C7DEA9C, - 44C894884EEFE332B6FF5243, ); name = sources; sourceTree = ""; }; - A0306AD36583AA16BC0A24A2 = {isa = PBXGroup; children = ( - B84E1CDD52AA17299F8595E3, - D191B82ADE96C9290F993B98, - 273371EA3C0035FC431E5116, ); name = "audio_cd"; sourceTree = ""; }; - F7AC5E1A267292F008B89552 = {isa = PBXGroup; children = ( - 35F908A6341B3927096BD3FA, - 6BF47CA2F93CB4FCC90A3D71, - 248E74F665F7E80FDB28B4D2, - E87734FA8E583D8BCC5E910D, - C932A4E6B497033504082047, - FFEF94B0A47DFF9F7BBDDD58, - 2A1D35D27789ECD28A7F497E, - 30470261DF6AA452D448C406, - EC0B0CCFBE66B11BA3120288, - C4CDA4C25EB33885825087C1, - CAF94F50F42FE4E9D2171DA7, - BC44A9431417CB41302EF778, - 04843589CF51DC247FB447A2, - DB17965693911D010B2D6A9A, - 0489F051D0F4F9DF022BA245, - 513AF2FE28B681C31168296D, - D96AEFCD1DE2BA5EE56F3DEB, - F249B8F2DCFF939B1D800A29, - 6EDB196FA30F763AD1900D95, ); name = native; sourceTree = ""; }; - 88CC28850FE67A86EDB0DCEB = {isa = PBXGroup; children = ( - 071A62D9B344D0228965AA9F, - 51F2D24E75F5B4105E58DA8C, - 7F5CF895BD6245D8F02A37E8, - A0306AD36583AA16BC0A24A2, - F7AC5E1A267292F008B89552, - 22FABC881709019E6BB724CE, - BBFE697967FA78C7BE846775, ); name = "juce_audio_devices"; sourceTree = ""; }; - 9161AB2215DA9723E250EF18 = {isa = PBXGroup; children = ( - 499976DDD064E8609DC25FB5, - 2FC5275FBC4D7BB8324879C4, - 9CE799AA28D5A00BBCCD1665, - EA383B27055DCB89F2601FCA, - 5AD5B2914066CB1D93F1760D, - 3ED1BB4AE7F64182785ED007, - 889F232D158DFF62947220F3, - 99019D3440DF5B870C18F0E4, - 17E440BB39CE9552074EF876, - B36C932EC0F9527033619722, - 93A57D34C49D544B2B05A230, - D4039B9363ADFA7387325CD3, - 558FC41926168B4C243BED3B, - BF32A302CF84155DB20BEECB, - 4F7B0020BD5121A6F34CCDAA, ); name = format; sourceTree = ""; }; - C202EF614342E47F5F8B037C = {isa = PBXGroup; children = ( - 0E2007B24A5DF937DE4FDF25, - 9B45CA1027F24323BA846A49, - FE941B5881236575B1100114, - 4DA7831355B3E5CB8B629838, - A3C6BEF31D0FC28A825ADC5C, - 199FBB287EE45CEC16ECD016, - 68F5D2666A4ADF1B7D6303D5, - 6DAF603EB249182F640AB557, - 31488FAE4A662270455AC440, - E66F1521CC5AFB963728C88C, - BAB8557C6001C75EB8B1D07D, - E8A4AB1A3C1521BB275EEEC2, - 2046AFAD66B0997AC6BD3819, - AFD8739D5AB98024CFBD9FC6, - D6437FE350A01B14C40BB7D2, - CBDFE719D4DE9CC124728B1B, - 2927C0281BBD7BA84C76130C, - 1D61F76A27ABAF77CBB31BFC, ); name = codecs; sourceTree = ""; }; - 044E5062236B2195BE4BADBD = {isa = PBXGroup; children = ( - 65A5372AF166AE1CCBBC7F03, - CC77C172929FFB11E19F9E8A, ); name = sampler; sourceTree = ""; }; - 019651E8B0EC97AFFA393C13 = {isa = PBXGroup; children = ( - 9161AB2215DA9723E250EF18, - C202EF614342E47F5F8B037C, - 044E5062236B2195BE4BADBD, - 84C27DA5A28C1A76FCF3580A, - 1CD79C7BD43D8E5C604FC549, ); name = "juce_audio_formats"; sourceTree = ""; }; - 872E11F6B0E1D226CAC2C1D6 = {isa = PBXGroup; children = ( - 748D8DEC77203FE32E483F64, ); name = AU; sourceTree = ""; }; - C5D1DDB754259538CEA899D7 = {isa = PBXGroup; children = ( - 78E5899A938C21271DEA4428, - D1E50979C0681B28D6E4EB01, - 4A0E4F72F10F2E1A29447852, - 75C9AE3358FE900560AFC584, - ECD8228F24313CDA04A80893, - 69682A2B4E0D8680B5FD9D53, - 30F5DE92900868EC60A0478E, ); name = RTAS; sourceTree = ""; }; - 6F93E2B4D67DFF7FDB5A2CCE = {isa = PBXGroup; children = ( - 398ECF52D48BCF6186931D47, - 977D4A42C138333EBFAB6A87, ); name = VST; sourceTree = ""; }; - CF500260B49F6314AD481380 = {isa = PBXGroup; children = ( - 516BC53D058594B100DAD44F, ); name = VST3; sourceTree = ""; }; - 93350F38412EA36E8D147403 = {isa = PBXGroup; children = ( - 5B5C873DAAF549A0BF9A4204, - D4A278B96FB40B69BE7D7A9A, ); name = AAX; sourceTree = ""; }; - 48E8BA7979ACEFC1E989EE9F = {isa = PBXGroup; children = ( - ABB81568B867D485B3DCFA2F, - FB4D2883D6F3FAF775A0A159, - 6416599BB0689F733B54EE7E, - 8363EFA15EA169FC4CCAD0F0, - 3095B5AB5B416AF5BCDF021D, - 479E243BE3B0A619B194230D, - 488A8EF21EBFED8B9C7D27CD, - FC07E6D4A870633187329E21, - 1238C104DB57147B2FD01695, ); name = utility; sourceTree = ""; }; - 3499D50F67F99E904136CF8D = {isa = PBXGroup; children = ( - 872E11F6B0E1D226CAC2C1D6, - C5D1DDB754259538CEA899D7, - 6F93E2B4D67DFF7FDB5A2CCE, - CF500260B49F6314AD481380, - 93350F38412EA36E8D147403, - 48E8BA7979ACEFC1E989EE9F, - C532256AA77BBAF182248B95, - 1B62B045208835AD1E1B1E52, ); name = "juce_audio_plugin_client"; sourceTree = ""; }; - 821EC9B13DC8DB84441B9633 = {isa = PBXGroup; children = ( - AB8837A07EB68DDA67660C70, - 3587181D72FBBEBDCCA3372C, - FA7418390BB6947BB442A291, - C99FD0755B6E34F6BA337BCD, - 9FD8B9B08874A36C390861F9, - 4463C5CA9B91E6B94F3EA163, - 4C9E4875ED32404087A9B654, - 3C5BAEC5046C460B065BBEE0, - 17FDE62C9B5759E2BE493B74, - B3B088740EBB9B1FD470C5C5, - 0F412618E14201BDCF6E1939, - 8C023B1010C0FDD6A438C762, - 3D4E6A1D6700207A2502C47A, - B171B2BF3752E8393D2EEB42, - 2F0386BD9821ACAD2E36842C, - 9DF43B235DACE7CE72C09FED, ); name = processors; sourceTree = ""; }; - B4543ED476E2D0A9AF6D3307 = {isa = PBXGroup; children = ( - 48C08D2CFB05B536CADFB566, - 66C02C4EE23BA0DC557F7EED, - A42E28BB331FE40AE5A3A0C7, - 171A2823281D5D1150EC0558, ); name = format; sourceTree = ""; }; - 6CE4D7386F54C5019556AF01 = {isa = PBXGroup; children = ( - A60EB7C30A52958740BBD8A2, - CC77EF5156CDB34C62557193, - BB10DBE86EACBA5EF0045324, - AD070CBDE0AF9CC2064064B5, - 94198CEA39F38D58DBFF4E1B, - ED3A6CB91BA21D87752670C7, - 58C68B52F27A1AFD5A8D6FB6, - 2A1BECA08A51EF0BDDA86929, - 7162D12FFBAAE94488BD5A9C, - E1AAFDEE9756EED301BDB3A1, - 1D705DD357DF9B5C2634DE42, ); name = "format_types"; sourceTree = ""; }; - C6DA86417AEE465030E83498 = {isa = PBXGroup; children = ( - C1321891420F94B24EFCF1D8, - 9E24590EEDC45C4CE517C387, - 804793DC79479F6CBE2C70F8, - 2111666AE9296FA100D7CF1F, - 920732FF76C5601F7D52A16C, - 32CC45778B5B5B255163BB30, ); name = scanning; sourceTree = ""; }; - 83AFCE8A102DC2064E0627D4 = {isa = PBXGroup; children = ( - 702A52528D88892A3ACF780A, - 2DCDFFFC43B0C23604F5920B, - B5DD8963458ABB785B2CD3BB, - 95A56D2D34835AF1CE9F6A42, - 89A37318FAF4166E39666061, - 87F4346913B6094874A6C518, - 86006627FC754EB3CF059AE2, - 4DA7515D4D6C0FC058358F40, ); name = utilities; sourceTree = ""; }; - B8526AE71F188F4AF656C102 = {isa = PBXGroup; children = ( - 821EC9B13DC8DB84441B9633, - B4543ED476E2D0A9AF6D3307, - 6CE4D7386F54C5019556AF01, - C6DA86417AEE465030E83498, - 83AFCE8A102DC2064E0627D4, - B87E71BB6F23FBFE67C000A5, - 66453E1A858E5315D222B7C5, ); name = "juce_audio_processors"; sourceTree = ""; }; - 5CC90C79F690C8430D6AFF1F = {isa = PBXGroup; children = ( - ED5FADCA1A0D9B3E7E84F28D, - 9F58AD538B1F6CC15382BDA6, - 768EA214925F095EDEB4C863, - DEEA99664B4C562C68A4EA61, - F8E609FE60DC38BAEDA6408E, - 06CBC3DA470812CE24F30456, - B8407047666FB0AD160D42B2, - DE59ADAF175A2A639A070DE5, - 8D3336F7380DA24CC2C6E470, - 982AA90E8EBE95C1CC4391A2, - 67E788EA8675169E961971D7, - A47917CC146AA54805F82AB8, - BFC968D1F163B14642B5FBC9, - C3D706C6F1521D2DC76FBC73, - 02867BB02E38B42B1B31CA65, - 34F1CCBBE11C17D0227BA8EE, - 5CCA8E793FE018BD5B3E5B80, - 1FA718878C5957CC773A065A, - EACCB32681C96DCBF60B4007, - D1B5BE011E0661C16E1A193C, - 4B37D5FF9893F46CCA2C2872, - A026DFAA441B3B185485A735, - 2F6F5BDB4514E740ABC71611, - 6BCE2D26E1FAA86CF3B571CF, ); name = text; sourceTree = ""; }; - C856EF7E354F43F7EAF501D5 = {isa = PBXGroup; children = ( - A01308EF62C2466A00DE5B67, - C08D241428FE1217F6C6D587, - 2BA9A23F7466618E0610D051, - 5D9F676BBD62B9BE6607A684, - 4847761CFA18C29731698CEF, - CFD6E682284A2161DC20985A, - 4865DF20BBF1478009BAC26D, - FB2A45D4991A6164D30ACE46, - 1478851A51BC076AEE692C3C, - FF0FB0E3B98316C290955CDF, ); name = maths; sourceTree = ""; }; - 37B58F1C870D46502895FF33 = {isa = PBXGroup; children = ( - 25F6FDC7DCE5074CF0E8240A, - C103261992072A2F012025BB, - 02561723CD45B0202AA47311, - BF9C19A992C6589F9B368CE5, - FCB95E2B22916940E22B885F, - 5EC1A88F38DD85285FF76398, - 39C6A4C771AE4FD6CA9B5A41, - A7D679FF9A9936CDB8EAF086, - 9C6DC92F2CB1521EA8AA7F1B, - 259A032FC78314B03B393FBC, - E97E26AADD1DF88B7A5401EE, - 01C124828A90B57341D9DE03, - 80A5A2200C028A1A437921F3, - D75E8821A8EDB0B917E376DA, ); name = memory; sourceTree = ""; }; - 50CD2582A9DE6231DD4AC4D3 = {isa = PBXGroup; children = ( - AE1C529863FD6829A2D732E8, - DC0CE7533E222B060CCD8166, - EEA4FBF7A4133760C60D166F, - C84190716DF3030C18533623, - 94625891ED5B00E44B709605, - E7B4133FF82803E818F6991E, - D47BD559E2A64C4D3DB4F4A6, - 786BAB2519BD92C1DB0B810C, - 39E5970711248B88D0AE21E6, - 7B1256C61E6B76F96E4A8852, - B9DFEAB3172A03D53D200448, - 5DEE6FFDFB2055E45202BC25, - 85B8A183C0C10960F111E77F, - 4E2C2AA4E6FE1808195DC9BF, - 30F9EF0B7B9F19628C3E65A6, - 020C694E23EBCB86CE49D298, - 381FB784633E56F742B038E3, - 4A5B6B338D760FEFC9E0CDA2, - 2C70DFF54DD5CDF1C13BBB78, - D1BEF004B5648DCF162F271D, - 77A26FDBB65737F98C4E0DCD, ); name = containers; sourceTree = ""; }; - F3ACFA8B513717ABF9434EC8 = {isa = PBXGroup; children = ( - 8B828B4EB3AAB982ECCCD660, - 3123530BF26BBB6541C8E4CF, - A46F2605E137B171557D5395, - 9F8CC01693720A039AE132AD, - F7B84A7DFEE562D82BF12C75, - C0328DA70CA188C2CB6FE731, - 6804F62B88CF8EB894112924, - CD1A1FDCA22904C4FBE7660B, - 520DC4BF6C3FBD5EB30FD921, - 94E228DDD4413C641BC3B078, - 34DCAC3B168C44B31334078F, - 0B825A235F3D13D81779D9E2, - A57A1D7A8913813E66587168, - 0A5009757BE902A3C06C2BF3, - 330CC17B125178EA6B920D32, - 421A64C8FD5EE5E1205E0B00, - 95BD1129111D1040CEF0FB0C, - CEDE497FFE346A6BE1024804, - AF3C029E59792CC3F09EE3DA, - 8F852E89A0F3732E6A020A3D, - 234827FE41B8731AE02B47C1, - F3CB95C2A1FA0004DEDF10CB, ); name = threads; sourceTree = ""; }; - 8E0E1EE4698D0FA315EC1452 = {isa = PBXGroup; children = ( - E13081830E5137CDB9D28070, - 769F9092D0F319A245BD48C3, - DF6091B63D180DFF77FE15A2, - 4912DAB71A00F319CEC30800, - C4785B71717E708DC31EDFE9, - E94AFE32124F3F234DC3D487, ); name = time; sourceTree = ""; }; - 6A11C79E484F30141C4FD5FF = {isa = PBXGroup; children = ( - ACA2E74C5610F2D834E65894, - 0B73B44371ED84B19F74010A, - 8F5649D7F64C8CBEC0B843F3, - A8D68A58B138B28DE511CE89, - AB11099DD14AA625663F8D7D, - 0612EF0CFBDD3CA3E0D65D5F, - A2283CF3C78303792C659FE6, - A365671FB4277D3CD67ED13D, - C857D3116642FCBFB2570178, - 155DE520D976E4C37C228DA6, - 12395F1A0F70B02690D6F319, - 0FAA04F9A0A54FEA28777C85, - 10DE1CAAEA40B55514DB7CB9, - 132606A992E3ABC96BEA4DD0, - B054C6D11FED1483A416A564, - 60B8356B497A7C3AB74564BB, - F8E3F11044678E6F50869CE8, ); name = files; sourceTree = ""; }; - 68DD79D80502DBA389046777 = {isa = PBXGroup; children = ( - A55AB25417DA10DEABBDFC5A, - 2D1B89BF2D06A81F72431DB9, - B05DC14CFED8CD9B61B8AF5B, - F204A3EB2EE1DA3EB880D201, - 127DF480B060C647400BDBC3, - 2F48843849BD2BBFF7061CFB, - DBAC1BEE29BF5BA1A3058583, - 03627BF6D04539D2BF673D31, - DF5BBA09417646C031272300, - 0492E6C51DE1CE3487B9A8B2, ); name = network; sourceTree = ""; }; - 5189817D7C830380F78A8834 = {isa = PBXGroup; children = ( - 2BD0513461C908971B96EFD9, - E615AF99CC720A5B53B224CB, - EA8A2FA30D73CA952AB57B60, - 3084A84FFC350127431497D8, - BE3AD172C1CAEFD58E0FED52, - 215F65814BEE3F7AE613ECC6, - 5FA0A8D7861B9903692C85C8, - 27FE8FD2DFE4EF62D6611905, - B49D3154A0E4BC6592928A4A, - DDEB6505135C5A79CBD40BCA, - A30A2D68690CF469026C84DC, - C346439825A68D08658A3978, - 916B4893924F5DB44E67A27F, - ECDBB14175AD51627FDF4732, - 3629C789A23BAA4F5DE415D9, ); name = streams; sourceTree = ""; }; - 2DA815A8EA47778BD326CDA7 = {isa = PBXGroup; children = ( - 50C84CE688A7C2501ADB6009, - 4A7A2B1EB8DBEA5F8A6B0A13, - 7AD7DF820AB93EC2AB08973A, - BAA00673BBAEC6A75E8FB9F2, ); name = logging; sourceTree = ""; }; - 7B4823B75C0660CBDA8A990A = {isa = PBXGroup; children = ( - A8B0C38201A38829E17CB12B, - AA46615B8C44B142A858501B, - 60AA161408A60912E4C0C617, - B49A4836E6D8C984561A1173, - E481B969AB05E916781EC18C, - F6C2EA9EBF342A7357B0F13E, ); name = system; sourceTree = ""; }; - 3916FAFF4D1A927DFE23A004 = {isa = PBXGroup; children = ( - BB0C6201E59B9BD66B4C05BC, - D774E640C7478A419F0987D6, - 9240E954FE729A7B7A09FC4A, - BFA2682F6591E04867C9F031, ); name = xml; sourceTree = ""; }; - 1D358E6AC345E19DE415A03D = {isa = PBXGroup; children = ( - 8CE1C855907A2CD388890540, - 9FE2C79B4B0E8114C2E6CA2F, - E7425DF1DCFB18258B33BCA3, - E7554A4625A13AD73CAAB1CD, ); name = javascript; sourceTree = ""; }; - 505BF6D6A5878E9C38944E75 = {isa = PBXGroup; children = ( - 4C4DE897767A109C642EDEA8, - D756ABE1B9380A8BD1F3A312, - 906A9EF1CFA845F5EB5EFE43, - 90C1DDBDC84F7A30C1A96D62, - D74F6515EB15BEF077B7F430, - 079F57EC1F7AC4E229EFA8FC, ); name = zip; sourceTree = ""; }; - 0B8552CD29386B4039A161BF = {isa = PBXGroup; children = ( - 17C607157689BFDFCC9DED85, - 3A8159A69A33EC5E3DAF4936, ); name = "unit_tests"; sourceTree = ""; }; - BCE416679B7517D2F254743C = {isa = PBXGroup; children = ( - EACBDD3ACB7FDBE3D17CE48D, - 3C78B56D7CD608FFB55543E3, - 59492A302C50CD24FDB2C134, - 635AE16F01B4E4457A402D90, - DA074DBDC52F1A2FFDC1F2DC, - A17FA9103F683E03829CF205, - FDFB6AC6E5297BA40569B4B3, ); name = misc; sourceTree = ""; }; - 2E5A0E3A61AE8829F4776266 = {isa = PBXGroup; children = ( - 79A694E39015881729BBC224, - D9BC027EC1EE01A1E8E6CA9C, - 9677F53D0ACDFA6FB3F4D34D, - 0A3EEC392B15172D0C9F7937, - 5E723DC3B5F8440A21ACCE73, - A8D62577B5D84A05088CA181, - FE83DA5E740876A50D54052A, - D06D3D6E0E3359D517D68D9E, - 4E79DF7463AA5AEB9A790E52, - 4DA09B0BFA6092AE4439C513, - 3725D99A968210EC0723E1BD, - 2B8E174A49577C3D7386D03A, - 1C59F1266054422695078F5A, - DE70C26194CCEEF541089ADC, - 04975566F3E4D7B96B7F7B60, - E13543276A1D590A545CD84A, - 060B23BC34B6593467001948, - 3824CDB23E8B2E8E562FF932, - DDD0601C2C4FB41B275CC0C4, - 419759951DD8300E1F062BDB, - 48520D186FF95BC5BE018664, - A4333E711F7958271BD11FA2, - C665FAD9DA6D996A41AD3617, - FBE55B774C7AF45B7F275882, - A8307F9EBD8BB3818B4B1804, - 37370946E56878FA85F726B6, - 1D10BC37F19A66306481F343, - 2651F77C42B8D21AE17FF180, - C65471C9C71263412A094CC7, ); name = native; sourceTree = ""; }; - D967BB591C5E85EBC4119FCE = {isa = PBXGroup; children = ( - 5CC90C79F690C8430D6AFF1F, - C856EF7E354F43F7EAF501D5, - 37B58F1C870D46502895FF33, - 50CD2582A9DE6231DD4AC4D3, - F3ACFA8B513717ABF9434EC8, - 8E0E1EE4698D0FA315EC1452, - 6A11C79E484F30141C4FD5FF, - 68DD79D80502DBA389046777, - 5189817D7C830380F78A8834, - 2DA815A8EA47778BD326CDA7, - 7B4823B75C0660CBDA8A990A, - 3916FAFF4D1A927DFE23A004, - 1D358E6AC345E19DE415A03D, - 505BF6D6A5878E9C38944E75, - 0B8552CD29386B4039A161BF, - BCE416679B7517D2F254743C, - 2E5A0E3A61AE8829F4776266, - 7ED373F3AFF9FE66A1572A56, - EDDE70FEDA2151933F02FC6A, ); name = "juce_core"; sourceTree = ""; }; - 11566ADCA2E4417DB82CAF41 = {isa = PBXGroup; children = ( - 1041B012292503D5EFE7E18A, - 0BF802A65554D94FAAE1616B, - 2D229BC59178B998119B019C, - FBE9C87F3554667337647F20, - 146A354052DC068E976CCF1E, - AF82D82CE89572EEB7ABD9D9, ); name = encryption; sourceTree = ""; }; - 5DB812566B9F295BF322221F = {isa = PBXGroup; children = ( - 1EE497AE92F612378F236C2B, - 02ED703A5D49EC94DD9F45E4, - 39594B73F0CC19476E7AEDFC, - 1BFC1888379E8FF6B97C203D, - 8D5F0A21AF56A89CDD515804, - 2B2CABF645FF85AF031CA728, ); name = hashing; sourceTree = ""; }; - 5ABE9BE9B9607E5C7604C3C9 = {isa = PBXGroup; children = ( - 11566ADCA2E4417DB82CAF41, - 5DB812566B9F295BF322221F, - EA309116AF32229AEDF570ED, - 22FA3C5FA321CF20EA34A7C2, ); name = "juce_cryptography"; sourceTree = ""; }; - DE1D0D10D4DC2B022DB7A073 = {isa = PBXGroup; children = ( - FDA240765F0C47D6E7DE6832, - 7871541DB057084441633BF0, - 9E89CD8EF123227549BF80E6, - E419F2F8A34646775873D3F2, - 7FE0D8FF252A709266D853F9, - 715780E64B88AE5F12F658BE, ); name = values; sourceTree = ""; }; - FC10AA8B8F68580036A0824F = {isa = PBXGroup; children = ( - 50037E158B2E385746A010B1, - FB7584F7677BD42D8E66A4EE, - CFE4FDAAD8B1EE83BE74A2BF, ); name = undomanager; sourceTree = ""; }; - BBB2E6BD431C585A7094985B = {isa = PBXGroup; children = ( - 91DEC15B8E30A98DC7CBBA00, - B4E9A0C31CEB62E5C745FED2, - 50CF02FC3C8E91554A71376E, - A9D62A108E5E2BC685450F4D, ); name = "app_properties"; sourceTree = ""; }; - A75B7BBA70DABA4B453F590A = {isa = PBXGroup; children = ( - DE1D0D10D4DC2B022DB7A073, - FC10AA8B8F68580036A0824F, - BBB2E6BD431C585A7094985B, - 48F7DCA59F43AE3EABA32221, - 44C6B1D411325944B251328B, ); name = "juce_data_structures"; sourceTree = ""; }; - F121A7B74B3A4718DE0072B1 = {isa = PBXGroup; children = ( - 5EF0941D2BD2B8BF295F2C10, - F2121D006CF8E676F4142DD4, - 33911A9E7BCDBB99F9391549, - 7B3FC13D5C0F841EBF79C873, - 86F8A5A1A5D895EA6DD6B58F, - D0710084105C7BC3DA9ADE85, - 39F65BF11DCDE7429620C02A, - 551CF96B02F3158B32E29E42, - 17C3CD4D179F70E5227345F6, - 31C7244A5A095901F00EA50C, - 4D5F8CEC3D61AD5367FEB12D, - 2ABA83A063A077F5632B12ED, - 9F085A34D62E5A35438992BA, ); name = messages; sourceTree = ""; }; - 62DF4C2983C3785549DF451A = {isa = PBXGroup; children = ( - 02837F44753FD0713D5296DA, - A3198EA10D12047D24BA6CD3, - 157163E1BB3934191E5C3259, - A811529AA4A439A1D8166627, ); name = timers; sourceTree = ""; }; - 13B837DBC60B46E93402F601 = {isa = PBXGroup; children = ( - CBA546EC434367CD0A99DB7A, - FD3C1A2AA95B78843E38A405, - C5F9ACB6C9E6071F3EC5CE88, - E7DE8032BF3EE6E3EFBC4558, - D4D255CCDFE0F0C7044102C2, - 9A0D506EC020CFEE145158C1, - EC647FDDB410F250373D95CE, - 00FB03A7B2A03FEC348CECAB, ); name = broadcasters; sourceTree = ""; }; - 27374956F377B94FC5B0F547 = {isa = PBXGroup; children = ( - 830C0583A57CA5FE6D628E22, - 0EBA363945C61C43AD11D768, - 4BB93D69A608D22C66B70616, - 63A4659A907E6841D146EA10, - AA5BA57B3BF1ACD8F2AB876F, - 684F45CA8AAAAC8BEFF6655E, ); name = interprocess; sourceTree = ""; }; - B8D1A837EC93C2C4C459E434 = {isa = PBXGroup; children = ( - 2C5B79A21CC0AC903BAF562F, - A0942DD0B875FFE837936EBA, - B553B4A12B4D976FB3CBD43B, - 59858915ADA23064CBBFF236, - CEE962D48579360780BA9D26, - 701EE545B689C3F86C9E78D7, - E8EB602B65D8F38325BCADAD, - 9EE6FD949C181BF3BF3DC86C, ); name = native; sourceTree = ""; }; - 9EE89C27786AF969FF945B0F = {isa = PBXGroup; children = ( - F121A7B74B3A4718DE0072B1, - 62DF4C2983C3785549DF451A, - 13B837DBC60B46E93402F601, - 27374956F377B94FC5B0F547, - B8D1A837EC93C2C4C459E434, - BB7F4027D444CD272C8071E2, - 3B46904A1C74E8C5FE05E5DD, ); name = "juce_events"; sourceTree = ""; }; - 9A0B8C5CC473DF99409E2EC2 = {isa = PBXGroup; children = ( - 11914E6F41D0C1349A515540, - C219000751AFBAB3C8D0C12F, - A3821EEB983F6C6A3C84D1F0, - 2BBDC2C2E1C50AAC07122790, - 33C9CC05D9591E257AB96B7A, - 1DDBF508FB440517B4CEAA83, - 9E8A0CB80B2A7F7001ABCD84, - D7CAD2C867854ED5334EDF6C, - C7F29E4B984AFBF3CB9E74AF, ); name = colour; sourceTree = ""; }; - 38247CA703F354271D128BC0 = {isa = PBXGroup; children = ( - 842D6422B57E6CC8FB0CEC0C, - C56DBD4A7930C59D7A2AA799, - 36A10DA87250F7B821377346, - DCCB58B4D9400C3C4132D4BF, - 60062F8C64F391DDC60FA40C, - 39ED4B8A12694A8BC42A7A6A, - 2E8C7C1F6D5F2AFAFEE3D0E7, ); name = contexts; sourceTree = ""; }; - 87B8AFEE578CDAEEB2E52EDC = {isa = PBXGroup; children = ( - 9450DA186DAEBA0334C91A4E, - 6E3753E14DCE920ACDB2BC26, - 5003A020F4401F93C57F60F7, - EA80EB8C249C2DF2BBD76625, - B6046AA5112609750A622104, - 9EE9C688F9B90F86539C011B, - BAF194E31CDA67FE1BD71419, - 0E681616DAFBE645738D3F4A, ); name = images; sourceTree = ""; }; - 3CE665C909AFB837CD29B789 = {isa = PBXGroup; children = ( - CB3C99D9190FB75D6B5095FB, - 7A4FCAA0E19E8B7E2CFC2BB0, - 3E96FF944065FE56E13899D1, ); name = "image_formats"; sourceTree = ""; }; - AF82D3E3E9D574F0C0326BCA = {isa = PBXGroup; children = ( - 1AEB1356900A4B763983A580, - 3AA284BA7FE712A189A153E9, - 9C0BA0D85E04E226FF624000, - B5C6EC69339B05C092250E45, - 398DEE2C16976DC40B5A9D86, - B7C0D785A43600866909BB9D, - 5DB721994F2C29E4E74EFE5E, - ED962C1FEB8663AE1EC3D505, - C259B7FD55379C05F8E95BC5, - D0F00C92048895D5C5A561E0, - AEC674E71F8EDFBCE1EB4B01, - CA1757AED1DF64D57CC61AEC, - 648B75534E0C77D5FF35BEC7, - DC8E6375112427BD1B747636, - 5A9A32D907B11AB2C2F60E1B, ); name = geometry; sourceTree = ""; }; - 3541601DC24DAFC45E6B992B = {isa = PBXGroup; children = ( - 61F57A7F0E39860346776C15, - C6AFD82C523F43EF0495DBCF, - DEB8498A4BFA81F8A8F22E8A, ); name = placement; sourceTree = ""; }; - E57C8012A8014F4F4141E6EA = {isa = PBXGroup; children = ( - 313AEFED513DB3A1BF77DF20, - C799C8C04A5CFFB311439937, - 77AC80FDD61FE9F6434876E0, - 7DEA9061F846F8928A288EB4, - 86D38602DB115F77F3CCD3A4, - 10A7CC5E777A68077CD0D274, - 397CE1837AC2F1F09DF584E7, - 9CB81041F1F97C598CA0D8DA, - 92956E7DD1CAA4FE1DD457F0, - ED854EFBA4E5593EB0C11A5A, - CD2A8E3078A7665FEC62D468, - 594789BF564058C4D846EDB6, ); name = fonts; sourceTree = ""; }; - 88657B2BF16A329003DA08A2 = {isa = PBXGroup; children = ( - AC4EE1106A89F3886EB7106A, - C6CBAE2338CF0D2B61697F4E, - CD1224B4CD69DEF7D2FDF715, - 8D46553B668F13321E5D8D8B, - D416EC1C221095C7EA54029E, ); name = effects; sourceTree = ""; }; - 504A2D739203DBE3112E7769 = {isa = PBXGroup; children = ( - CD69D987B793BE94A7EA9E4C, - 65343F0629F788D607E16F8A, - 56D235F4D7B20D65CFED5B81, - 0B96F006FA7607E81F6744E6, - FC1BA9CD7871658F2B09F969, - E654D02B46B93B1F629A9BC4, - CEE8A7D43EB4F05BACEDF09A, - 6CBC19F1CE3BF34C86B189DA, - 63140BB55E2A4149F88F271B, - 98DE59C57C160EAB4D691BDC, - 44CA10F47F1B7E2C19E5AC82, - 11E3623A882DB9D7CCE02266, - 688E3BC92077FA1F6952A658, ); name = native; sourceTree = ""; }; - 61C549F898B052BD1EF65E65 = {isa = PBXGroup; children = ( - 9A0B8C5CC473DF99409E2EC2, - 38247CA703F354271D128BC0, - 87B8AFEE578CDAEEB2E52EDC, - 3CE665C909AFB837CD29B789, - AF82D3E3E9D574F0C0326BCA, - 3541601DC24DAFC45E6B992B, - E57C8012A8014F4F4141E6EA, - 88657B2BF16A329003DA08A2, - 504A2D739203DBE3112E7769, - 127EAF1B58D30223814B962F, - 7385A9B0C444BD91D8E5AB84, ); name = "juce_graphics"; sourceTree = ""; }; - 231E37BC408AF7445757D99C = {isa = PBXGroup; children = ( - 23251340999C918E0ABE8DB8, - 085C0FF5A8068D1A952D2116, - EB7D06976714FA930F3CDAC5, - D1D1A3A1BAE582CB02FA876F, - 8F837153EE63E14C6BBA4B2B, - 59C31333F273C2A5DAB7DC6B, - 91AE07010A0B24ADAD3B59D2, - 53C28A6A9C2BF53693232F8C, - DBCDCB2F59475554E1212C9A, ); name = components; sourceTree = ""; }; - 8D45CD0BE7FA6271A835CFFF = {isa = PBXGroup; children = ( - 4D2E71FE0D902589ED8612F6, - 5C108A942BD34F24D6EE7ABA, - 6E1EF150B6943F9A0F1F4EE9, - D8DF593783A59028788467D9, - E512AA48EAE90CA546235ACD, - 7FC86F5D5EBA66D413AF8390, - 7D344CBB6183BCA4F69F3329, - A5D25208A0198B49C14DD787, - 6FDD1DF441C30BF5264B6CDD, - 441F7701B90147689E050860, - 109B06D83A5403BAACFD1E3C, - 35C63D47429F8DC260175642, - 01A6A23FF8431401F20FDAEF, - E581890C5859E4828C1BD76A, - CB1E39CCD13E7FF55393871B, - 38555D4F4079CEF200D6A550, - B9BA17C9BDC859E6DB47AA48, - D7667EFED6F48A773B90E9B5, - B7DCEC6D04DD235D00708595, - 20AED5F8116FCBE8B4DDAF41, ); name = mouse; sourceTree = ""; }; - E813423ADF0C1853F0A4D766 = {isa = PBXGroup; children = ( - 61BC566D2CC1725AA047CB37, - A337FFDB38008593B5E6DB23, - E8700FFF476BECBD2C77B1B7, - 59D79529BCCE71B166EEC7CB, - E65515F8C6B368EEBA617B64, - 52759EAFF59220645B887606, - 1CD3ADA84EFE505B125C53EA, - A3B83B7AB04C3EF99F8E89BB, - 19E8EDEF55860B2AB5AEAEAD, - FF6BE69DEEC12E65FA7BE4E5, - 514605C9D44133E7D4803333, - 7A2F3A0FFA28C670E49B5E96, - 4BEC419ACFAE03B8640E42DC, ); name = keyboard; sourceTree = ""; }; - CEC15558F5C176D54CF96D3D = {isa = PBXGroup; children = ( - 4EFEC656C5B43176BE137F55, - 5DF33B3EF15C11E2D350A43C, - B49307FD5137DE5B802CE126, - 52CEF7279F3C4DAC0D05E3B3, - FA8F3ED414E459B35F611DEA, - 369862F4D0D3F139DE05460F, - 902C41BC59B7861D3F32E032, - B5EF95AEA49BB9884BF55237, - 7D3D9769A67520417EAA7204, - 338DDDFEBFED1FED183FAEB6, - 8092CECFE3FA2F8E01218EC4, - 9108DBC8C07412E6F28B0BF2, - 608F55062378252BC963989B, - 8E36286B05C1D6F0F014F253, - 870452ADD01788ED416CBD9C, - 96E372BF084E991746A7E0CC, - D511D992F259A9D0552071DD, - 81B765051916C359373CB1D7, - C99B0CA2F5DD6491A756EA3B, - 89416166601B01C60ABFF1FC, - 411798E8C8C6F5C6746C905C, - D24893A9EA85516B4F6A56B2, - D8E72352DCBE182B9DC90DB3, - FB5F9B17D53499BF1B7DFF7F, - 30B4CDF4141A4EFBF81F3B9C, - 38954D8BC29AF979E082A980, - A19269AD94FDC1C81F969CA9, ); name = widgets; sourceTree = ""; }; - 9F5DD60E58B37F06C8FCB22C = {isa = PBXGroup; children = ( - 00020541ECD78B4DAC6FB681, - 0B5830C30E7F66B1D8EC94B3, - DA1BDDA43BF51D8BD3E89108, - 25AD08E8CDECD334915F3633, - 4F663C09C709C427304D908C, - 2B2AEB4F15FAF6583A538BAD, - 75EAD7A4006332D5B2A92C70, - D9D5233F89D6D777FE1D9695, - CEEB85A6AC6ECCE1AD7BD15C, - 1E357BCB749C04C422870238, - F7B55FCD56257E0B0F77B95E, - 45CFED2562EA6476EAE281BA, - 904D61D5E4D8C28C81BF9DA3, - 7D673276B3AAE083823CCA13, - 76BDDBB8EA738475A95DD0CD, - 870E30BC2174372DD65A7F75, - F7A30FB39ED14A8C2DD5F70F, - 9ACDD0EF506887E7EDC82439, - AFF4E1A596A5070F21CBEC49, ); name = windows; sourceTree = ""; }; - 39CE25D52BF5F7443A374C04 = {isa = PBXGroup; children = ( - EE84026E3AB2DB1C6807BF0C, - 07DDD14E4B8466121FE1DCC2, - 20C0C0F66F9943EE91951DAB, - C450697EEC930E825DB2C34B, - D352AA312F480869FE4EF4D8, - 6B046BBB62F1AE7EFCF77089, ); name = menus; sourceTree = ""; }; - 0178ACD44EED6D95296D659B = {isa = PBXGroup; children = ( - AFD73B5C1F1CD682B8EB7383, - 4772226D49FF027EEF560EA1, - E7F5A0B8E920452DF903F358, - DFB62AC6FE0468844C3E8DF6, - F1FFF0F72C159AB689F14AE7, - 3B851C14E5932BFE492D4743, - 54CE5AB7D866301987BF4535, - A7C9748EE56598F609E982A1, - 6C724110311DA4C2937480AA, - 65F4A6A2065901A9B0534FFB, - 99DB4E80193568FEC420D2A6, - 8A5028FD82003B7D08316962, - 75687F864595F19104822AE6, - 920123400DF1DEF94C27FB52, - 27CB1DFE462BE3ECB94EF532, - 2CC8A49E500B39B9CDE13506, - D814C4D351FA16D527AAC983, - 82A18FE63D1BB8854CFFB65B, - 179F0542B0661723F0BB1ECF, - DF3768C2AFFA412032190AD7, - 3B48466A82FE098B9B22A444, - 58CDD31C4A6FB2EB7772819D, - EB2F3B26CA6AA6A46A992939, - 5BEE5E8DC73C32F442AD4E00, - BC00F934272E77A7C8B9A346, - 9A007FE5FD17A0E8F48E4917, - 39CACD6BD95D62F4D4EBCB86, - 4591138A5C4E6623B63C8431, - 3E59ECC817AA1CF211340ED9, - 02419DEE2D9EBA9974AAEC04, - 1725E3B98E375D6CA9986D42, - CB7A4BB125CED4ACAC7D5D0C, - 11CC78B1536125C9442EAF4F, - 90B7DBEC9EFBE6D3A393C68C, - 44BF22F5209200BA7E852F00, - 40D9691E35D039F0E0CEDD8B, ); name = layout; sourceTree = ""; }; - AEC26A47A962D600F83ACADF = {isa = PBXGroup; children = ( - 8EAF38B55329A18BE4AF1ABE, - D71475B2A6D2B248338BA848, - DA9FB8EBCEEEFC6EC51F5EBC, - 568DB7F7D2746B26EF3CF73C, - 9596590F88B26FC4FD2C5C16, - AAF5F54585E6749F688A16CD, - 886CC4E3513696DD9510ADB7, - C86FCB277A54E570AED49AB2, - 36FEDF33CCA32F596DE1806A, - F9BDB2CDAD21FA205762B29C, - F180977998EBE54AABB1159E, - F5FCFB2DF288D4383059BDCC, - 555C19FBF991ED7755C3EC0D, - 1BF75B8AAB9C86BFA0F2854D, - BD70885BA47BE0D2CEE00193, - 0DAB4019C728B9D75E63141E, - A23363AF701F94AF961D0FAF, - 89B48F834D929070726637A7, ); name = buttons; sourceTree = ""; }; - F8FDC234151A6E43FC38FD92 = {isa = PBXGroup; children = ( - 23FE57869E87946167527DF8, - A551A9BABB4C90802EF5713A, - 1655964440C97A240C403CBD, - 60C42F6A1C4EA193B2A2EA21, - 68B3229C3595CC7DEA4BFD41, - 46A5BC3201E083E34821E2F0, - BB99FA41B7A769D46A16236C, - 3625BAAF6434F54D3E8F0693, - 14BE4C35F7F7408166393F42, - A61DA1E7A6F5916189B4F5FC, - 6ACE99E32363B8469D2C0DEB, - 4FAA74D7DB5CF060A4CF3BAF, - 6B7A8805A32635F5BC60F2CD, - B29AC62B4A4496A91F972132, ); name = positioning; sourceTree = ""; }; - CDF284E374923CE4CC8CC32B = {isa = PBXGroup; children = ( - 34D7450EABBB21D4E1E6501D, - 98BEB1554191EDADF76435E9, - 2E9D01BAA8757BB95CB44904, - 247B4DC31030435635E7FCB9, - EFA0B93669BAD84EA6EDE887, - 6ECC11DD941E63A216AC0B31, - 2FFAD01A8EAFADC0B021C439, - 065583BDDF0D1B8FB8552DB1, - DA03BBD50D12289F39F4AAE7, - E766339D94CC9B0C36E79B3A, - EB8EB8968B992FFAC968EA86, - 97B7F1E5505CC6C9B662C593, - C2D35A1A189915C7EECF3FD1, - 80981088308CCA1589265CE4, - FAD643D52C8E62247D2F469C, ); name = drawables; sourceTree = ""; }; - AB56214736E17234B7AE4E38 = {isa = PBXGroup; children = ( - 59CB97E304288A2FE9267BCC, - 14700512E8168DDFAC28F500, - DD432701F0355EACC790C62A, - 42E292CECB5F6A928B0CC9C6, - 4AFC8DC09148BD1AEF745BD9, - 6E5AE41A4BFC1C9941B6A7CA, - 18BCBE3FA9B74F1D8AF4FC8D, - F97608DEA866C56562BEEAB0, - A6AA8CF8F36A821EE96BACA4, - 291FAED2F8B8691C1AB4ECDB, - B438C4DB77F6A87DA64DB349, - C1E4C9B08DEAF7133674EA06, - 2ECAD2769F26B2D247CA079B, - CACECB8BBE3943313B11D33B, ); name = properties; sourceTree = ""; }; - 551A6BFAC47F5C2FA0FBA6DB = {isa = PBXGroup; children = ( - 141B6BC19FDD216AA9B485EC, - E1016D96A21B069844E1199B, - E7B2A27C7ADD3F7541E861DC, - 54CF25579AD17D003B94DB6C, - 9443338E7B2BD2D3D8C297D7, - B0586ABBB423BDF695E9CA19, - CB68B044A717ACC0AA485C51, - 1FA8EDB078F7188BFBAD2187, ); name = lookandfeel; sourceTree = ""; }; - A5FEF6587F0EACAA9BD14889 = {isa = PBXGroup; children = ( - C312EF30A067A62ADBE89057, - FDBEDF5F0D27E7FAC972C7CA, - A67DBC9C0DB9563C0FF4E338, - D5CE7ACFC4406EA6A280964C, - 529CBC2418C0BC0179C677A9, - 975D7C3B7D742D0D60B6BD41, - F3781ABBDACEE363FC05C01A, - 492E52D89CFE81648E26A04E, - 260BAF0A45CB2A662BE9E2F6, - CE5EB9C6656CD5F7D451E9E1, - EB41D0A58922C1F9A5862184, - 21B9B18F8D713DA82F4B19D7, - D56BED135EABE4CED320BB9C, - B2C3C14B8A2AC8BACC96DC8D, - 384FFD112CB5FCE743AB7F99, - 1E1D8F47096314289C23413D, - 0095E698781E1BAD0B4A3F01, - 4C64F885416CF7DD25809ED9, - 22501F0B1DC20A202EDE7D85, - D798A3F5E3891E69F2FCE35F, - F3C05C4B3B5B073DFB7EF30E, - 5BB38073860A289DE3DC1DC9, ); name = filebrowser; sourceTree = ""; }; - E3459C0CA76CAA6200C3D468 = {isa = PBXGroup; children = ( - 7AC401F2C2780638CAC25322, - FC36D9213C54A48F083FBDE3, - D385165F8D2957A171BBB700, - 3EBE5576C0B2AED083D2FB2D, - 730761ED83FBAB94919D6628, - 134A8541EFB9D372006AEF76, - 4B9D5B343CF7AF4607F67557, - 353F9279EF0377596EF3272D, - 62553F858BE2F01022E40DBB, ); name = commands; sourceTree = ""; }; - 6583145A8430E1A485397814 = {isa = PBXGroup; children = ( - EDB3E5A24C0F53057A6F449F, - 3314718DE9467A84C7D4897B, - 7ED99E754B1516956885F322, - 1AB7BE23990D9FD79AD895EF, ); name = misc; sourceTree = ""; }; - F323B09A03E3E6498A604C37 = {isa = PBXGroup; children = ( - AE2EE1F3EF30683CF8CA83B6, - 15DC1A595942EDB3043FDE01, ); name = application; sourceTree = ""; }; - E0711D2B4A3F661E36881483 = {isa = PBXGroup; children = ( - E81BBF6F97EDEA7FDC1F69D2, - 11E7B51FDB993F87D7FF90A0, - 208ECF7EC7E32FCA588C03E5, - 536B63E0A0B49A6494FBAA51, - 7D8C66110A8E860B672E973A, - 56BC44FE1AE7FCA918BD4C5C, - C0FB0D027E685EA5374EAAFA, - 978B39927906786F1899B9A1, - 9C64E368BC8E2B7E7ED1647A, - A0B674BFF7ABC7C74DFADCF2, - E842B76A1DCC0E0BF8956DA3, - 293AAB756B1B6523DCF6C274, - E40AA7239F354B6252F89544, - BB031592295ACBB0D2A69E6B, - 90505508E9F023BD190C7CEE, - 25EF0010CB990BF0E660ADE8, ); name = native; sourceTree = ""; }; - B30F327CA4C4B66B7D80F206 = {isa = PBXGroup; children = ( - 231E37BC408AF7445757D99C, - 8D45CD0BE7FA6271A835CFFF, - E813423ADF0C1853F0A4D766, - CEC15558F5C176D54CF96D3D, - 9F5DD60E58B37F06C8FCB22C, - 39CE25D52BF5F7443A374C04, - 0178ACD44EED6D95296D659B, - AEC26A47A962D600F83ACADF, - F8FDC234151A6E43FC38FD92, - CDF284E374923CE4CC8CC32B, - AB56214736E17234B7AE4E38, - 551A6BFAC47F5C2FA0FBA6DB, - A5FEF6587F0EACAA9BD14889, - E3459C0CA76CAA6200C3D468, - 6583145A8430E1A485397814, - F323B09A03E3E6498A604C37, - E0711D2B4A3F661E36881483, - 15BB2C6519B3BD45801267AF, - 899BCE43A64EF7D3DC2D678E, ); name = "juce_gui_basics"; sourceTree = ""; }; - 64649B6F8197F5DD156A043E = {isa = PBXGroup; children = ( - 2335A43124FF2F75192D02F3, - A3292713BA1AEEBF209477EF, - 3594442E266CD6850EDE896A, - 6B15FEF6F79DA27E2A9AB108, - D6530E94EE65E549E2E5C833, - 909F295EF9243FE3A355E75C, - 07719004F579C24B3FD9C89D, - 93AD2A0D5465AC903F859D38, - 74BA3F43BEF6470332523F0F, - D29F189F6310594BA784A715, - 75518EA21E623734E120D7FC, - C3E787690133AA08D088BF27, ); name = "code_editor"; sourceTree = ""; }; - 762ABCFDBCD6E8B18A89BAE3 = {isa = PBXGroup; children = ( - 6098076D7D7BB0C98C26B765, - 6E080BB4A55184346AA3BCFA, ); name = documents; sourceTree = ""; }; - FD8490C16A597E79BCB3623D = {isa = PBXGroup; children = ( - DEF018B3CD04AAFF24BF3A34, - 87A89B4228FCC6EDF6C4ACDC, - 83EA0B86BCC5C162C6ADDB11, ); name = embedding; sourceTree = ""; }; - 471FA4C83B0C540F739433C8 = {isa = PBXGroup; children = ( - 668CB865C79DC2E5C4D17DA5, - 3FFE1B1866055E9949175093, - 05F0D9671B2712109291D125, - A48059D01E60531827DD7FAF, - 9242BDF111BF01352C5731B2, - C1A764A8AA96809DA7480779, - 0057C9BED5A04A7170A903EF, - 1B76E6F989EF9E6A8CF69EE3, - 8319BAB2321FCE52C784A4F3, - 1BA68989DB9A3F4B0B5B75AA, - 0ADBA967D2370E7BA1D06661, - A2BBB599082620DBF8C2287E, - 0020D6B1FB70D2D66DE24B76, - DEF06933D516EFB2A4D954DC, - 828EFA69148D9920A559F016, - 4AC948962DA08F7F6CB2947A, - C72FC8F19CA71E9370AA72EE, - E3662C34D42B7FCC8784B7B4, - 8F90A4805CDC31AE1C3C1BA7, - 7A4880834AC9069FD8935BFA, ); name = misc; sourceTree = ""; }; - F1E47A26BFCD4095A7FE6B76 = {isa = PBXGroup; children = ( - 069E418B3913CF03CC82C1B4, - 31B0F8740BD10F71EC92C1D5, - DC881A8681573D516D69D5AE, - CD542AB4DDD87987C3702721, - D4A7C801CC0B3B53804725AA, - B6F00C8CFF29CDFF7E6BBE1A, - CD056E2B41DD9F1497C92D77, - 11EA8A227C65A286883D6FF1, - 8814D960A4379004AF933565, - B0D1239BD5AF8AEE4463CF5F, - 63E21C5988F8CAC4872EACA2, - 9301FD05EEF67C84ED3BFE1F, ); name = native; sourceTree = ""; }; - C2859B813DD919C2DE2BDDFB = {isa = PBXGroup; children = ( - 64649B6F8197F5DD156A043E, - 762ABCFDBCD6E8B18A89BAE3, - FD8490C16A597E79BCB3623D, - 471FA4C83B0C540F739433C8, - F1E47A26BFCD4095A7FE6B76, - 77F4169ADAE2A8A908BA8D32, - FA47E4330FC1335EC7560F6D, ); name = "juce_gui_extra"; sourceTree = ""; }; - 00363EE3480061D4E431DFF4 = {isa = PBXGroup; children = ( - BC6079F91A0ECDE5B8732B13, - 194419286DE6AAFD1E6F516D, - 92CA000483D0B1BA51D0A662, - C98581B8ED33B03F5C6CF1D7, - 57EA31357E812C2FB076A659, - 04A238A63839069D82B7E5D8, - FCCEB73ADB97FC31445FCBC3, - 58219BFA3D04851BDD9EF8ED, - 04E4EEED43C0D482194F4C80, - C9A835800B69F236CD11E6C8, - 903859A514E71831C52850B5, - C5F210E7D83EEF053EBA0868, - 5D2D3B0F9DCD2F11AF047EF4, - 8AB9DD52F689CDAFC0A2B932, - 2DD01D177AAB2E3A37F99F56, - B4D5AEA7C0217EF67D4275A0, - 3C37C6D240B0EE023A6A4C73, ); name = opengl; sourceTree = ""; }; - E1D1349DDF9A46EA06B65CAA = {isa = PBXGroup; children = ( - D441DBB8B504603F096CBDA5, - 9D3F8D3ACBEBA7D3A8FEDC83, - 02AFB89C1F6D4DA1EC4C767D, - 9FCF3BC5A1A42F444D05018A, ); name = geometry; sourceTree = ""; }; - D9D084E72DA3B79CAF815E88 = {isa = PBXGroup; children = ( - 4731D939559EC1F6BADF6084, - B5BD0D54F98C383667093B68, ); name = utils; sourceTree = ""; }; - C0F5B9D0EC5EEECD2AB87166 = {isa = PBXGroup; children = ( - 7207D1B830A0CB41D5DF1386, - 1B1AC954DC8572AC1ABE6D5F, - 501860601A89F2357A394E78, - DB8CAE7A9B26AAAEAACBCE61, - 4BA93889DDEEBBF1B94A01B6, - 2FDAA197D2E4E71F2EC72E47, - 6AD814A64A738E506F6C9B87, ); name = native; sourceTree = ""; }; - 3A790FFE93E12BF15B926C9C = {isa = PBXGroup; children = ( - 00363EE3480061D4E431DFF4, - E1D1349DDF9A46EA06B65CAA, - D9D084E72DA3B79CAF815E88, - C0F5B9D0EC5EEECD2AB87166, - 9F6DDA439D0255D66C0C3068, - 45299A10F3950A6B1610B64F, ); name = "juce_opengl"; sourceTree = ""; }; - B04D0A6A310DBAAF4C6D6702 = {isa = PBXGroup; children = ( - 3AF10E59AAB33AB6305F2CE6, - E68F68B08523757BC973D1D3, ); name = playback; sourceTree = ""; }; - B73594A5B70C54C8E9B8E26B = {isa = PBXGroup; children = ( - 7EB4D5EFB23F320CC8A8CC3D, - AC7231CA241A7B120DABF835, ); name = capture; sourceTree = ""; }; - DAFCE42E252E4EB069149FE3 = {isa = PBXGroup; children = ( - A5AC4482914D4CFEF58DE4DB, - A37A61E15A350CF30F802FDE, - 7444CFB3ACCE6F03A6240FBA, - 4FB04296C233AB594F146E01, - D9A927EA687ED3DFDB5A4FCF, - 4BBA36C9EB49A464311C5284, ); name = native; sourceTree = ""; }; - 8A23A1C5C9D99993A5939C3F = {isa = PBXGroup; children = ( - B04D0A6A310DBAAF4C6D6702, - B73594A5B70C54C8E9B8E26B, - DAFCE42E252E4EB069149FE3, - 55FAD2FECEDD80626BC2AC1B, - E97A227D0FA5BC4C0812485B, ); name = "juce_video"; sourceTree = ""; }; - E5A35E2E70A2DC56779E90AC = {isa = PBXGroup; children = ( - DD80F04BB2A4012039CC99E9, - 88CC28850FE67A86EDB0DCEB, - 019651E8B0EC97AFFA393C13, - 3499D50F67F99E904136CF8D, - B8526AE71F188F4AF656C102, - D967BB591C5E85EBC4119FCE, - 5ABE9BE9B9607E5C7604C3C9, - A75B7BBA70DABA4B453F590A, - 9EE89C27786AF969FF945B0F, - 61C549F898B052BD1EF65E65, - B30F327CA4C4B66B7D80F206, - C2859B813DD919C2DE2BDDFB, - 3A790FFE93E12BF15B926C9C, - 8A23A1C5C9D99993A5939C3F, ); name = "Juce Modules"; sourceTree = ""; }; - E939B6A08CAA665B9EB94A49 = {isa = PBXGroup; children = ( - 7CB5E244CC0A6A4CFE4304B5, - 38E749B4F10BF5EC867226FF, - 23808B9A53EF97955CBEBB35, - A0617A42332CFE7FD5D4869D, - 04F5167D83E88F9EBD073358, - 46AC1ABE680801991751F877, - AEC0F3069CF2440BC1EAEE38, - AEE8A4DAB2C8556EC95066AF, - 56C732CE6E23A49106848909, - E31A623D2CA5E8684EF2A6CF, - C44BE87DAAAB41A688B06CCD, - 18E92370B59AC74A8F7B960B, - 19687D99740F8D3783345094, - 3651569BA99BE5FBC1332FA0, - 3F994D41C6FC6F94905B022D, - C09B5E2FCD7421236192621C, - 1CD97935B3BB623495905D75, - 18222EF608004D830BE06B6F, - 097A5FAA5E149C4B9DE2D854, - 5B5C873DAAF549A0BF9A4204, - D4A278B96FB40B69BE7D7A9A, - 339459CBD404E5AC85869DF3, - 748D8DEC77203FE32E483F64, - F8CDF4DF44BCBB3B9AEAF3AE, - 1C56CEC7004907CDAEF38453, - D792C920C0970537125F3115, - DF815ACFE6157911FF63D9C7, - A67DAE994643AE469C387C94, - 577E345CCA53D6192C07DA6A, - DD2497BA12000BD47366A906, - DCA9C49D1B2C8B220B2ED5A1, - AE058DFCF68F3ED86F0693CB, - D1C3A102F7A84F7D60EF8BD3, - CD81C6328D3932A4D91FDA2B, - B4761A66D0B9CB8B297346FA, - FC07E6D4A870633187329E21, - 78E5899A938C21271DEA4428, - D1E50979C0681B28D6E4EB01, - 4A0E4F72F10F2E1A29447852, - 69682A2B4E0D8680B5FD9D53, - ECD8228F24313CDA04A80893, - 1761E125D05F95A7D26AACDF, - 398ECF52D48BCF6186931D47, - 977D4A42C138333EBFAB6A87, - 516BC53D058594B100DAD44F, - B495BA8670FF734608EE21CA, - 7FA994389F18CE7A21F163DB, ); name = "Juce Library Code"; sourceTree = ""; }; - D65DF1F14E5E0482AAF39E0D = {isa = PBXGroup; children = ( - D95F85D4C9FA4C131B608693, - B89E4564B6A2ADB23E76C620, ); name = Resources; sourceTree = ""; }; - 31EE8B0595F8F50D4403609E = {isa = PBXGroup; children = ( - 839C9EA94D841EC15C280108, - B82850CE0252ADB76F651A2E, - 9A243FE62C349501DE3F729A, - 11D1C0A892FB71D64BCE3159, - F42550666CCA34433A2336AA, - DFF6F9E3141E1E1317DA4D61, - 70F9EC9FDF958DD865C2C015, - 302731293CE8C15808E7E1D5, - 368C793CE2F97BA6BD241960, - 333C892676B89E648A352F13, - 28ACA32D9AC16D746414F0F7, - 0A6F28E3CD883E332D5EA101, - E884E5D1197DA5F515B8A17D, - D5FCDBEEDD5AB798CD88E896, ); name = Frameworks; sourceTree = ""; }; - 1685AA9EDCC16DE8BD30CE3C = {isa = PBXGroup; children = ( - 6FE5B154BB57F05637B2339C, ); name = Products; sourceTree = ""; }; - 28E9C4AB9A38081E9C9D3E33 = {isa = PBXGroup; children = ( - 713FE401A75449D11CB95607, - E5A35E2E70A2DC56779E90AC, - E939B6A08CAA665B9EB94A49, - D65DF1F14E5E0482AAF39E0D, - 31EE8B0595F8F50D4403609E, - 1685AA9EDCC16DE8BD30CE3C, ); name = Source; sourceTree = ""; }; - 24F7CF752AA886D6F1BF8A7B = {isa = XCBuildConfiguration; buildSettings = { - CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; - CLANG_LINK_OBJC_RUNTIME = NO; - COMBINE_HIDPI_IMAGES = YES; - CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; - COPY_PHASE_STRIP = NO; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "_DEBUG=1", - "DEBUG=1", - "JUCER_XCODE_MAC_F6D2F4CF=1", - "JUCE_APP_VERSION=1.0.0", - "JUCE_APP_VERSION_HEX=0x10000", ); - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - GENERATE_PKGINFO_FILE = YES; - HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "../../../../../modules", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "$(inherited)"); - INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; - LIBRARY_SEARCH_PATHS = ("$(inherited)", "\"$(HOME)/SDKs/AAX/Libs/Debug\""); - LIBRARY_STYLE = Bundle; - 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 = { - CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; - CLANG_LINK_OBJC_RUNTIME = NO; - COMBINE_HIDPI_IMAGES = YES; - CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; - DEAD_CODE_STRIPPING = YES; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_OPTIMIZATION_LEVEL = 3; - GCC_PREPROCESSOR_DEFINITIONS = ( - "_NDEBUG=1", - "NDEBUG=1", - "JUCER_XCODE_MAC_F6D2F4CF=1", - "JUCE_APP_VERSION=1.0.0", - "JUCE_APP_VERSION_HEX=0x10000", ); - GCC_SYMBOLS_PRIVATE_EXTERN = YES; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - GENERATE_PKGINFO_FILE = YES; - HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "../../../../../modules", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "$(inherited)"); - INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; - LIBRARY_SEARCH_PATHS = ("$(inherited)", "\"$(HOME)/SDKs/AAX/Libs/Release\""); - LIBRARY_STYLE = Bundle; - 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; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; - GCC_WARN_MISSING_PARENTHESES = YES; - GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; - GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - ONLY_ACTIVE_ARCH = YES; - PRODUCT_NAME = "Spatializer"; - WARNING_CFLAGS = -Wreorder; - ZERO_LINK = NO; }; name = Debug; }; - 1E0AF81494C33D42E0DEB065 = {isa = XCBuildConfiguration; buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - DEBUG_INFORMATION_FORMAT = "dwarf"; - GCC_C_LANGUAGE_STANDARD = c99; - GCC_INLINES_ARE_PRIVATE_EXTERN = YES; - GCC_MODEL_TUNING = G5; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; - GCC_WARN_MISSING_PARENTHESES = YES; - GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; - GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - PRODUCT_NAME = "Spatializer"; - WARNING_CFLAGS = -Wreorder; - ZERO_LINK = NO; }; name = Release; }; - 0E5821DA441FF9778463F6D3 = {isa = XCConfigurationList; buildConfigurations = ( - B47BAC17B47CCFA9AD69C0AD, - 1E0AF81494C33D42E0DEB065, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 1199933DFFD460A07F7F9B58 = {isa = XCConfigurationList; buildConfigurations = ( - 24F7CF752AA886D6F1BF8A7B, - ADE738CB72745F9108B75339, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - BFDE9978DA5B36CF33BA92F6 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 72E0BE551A118C6288E7B5E4, ); runOnlyForDeploymentPostprocessing = 0; }; - C5E46CDF8D0923D3F067C93E = {isa = PBXRezBuildPhase; buildActionMask = 2147483647; files = ( - 23210D3D39C7A45B6EEDFEB6, ); runOnlyForDeploymentPostprocessing = 0; }; - 2D4E2F3606AF9447634B2A71 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 675D5BAF4E74306F8644BDD3, - 692A7FA38DE78681DDB55AC9, - CAE07F78C73D23CD7973F737, - D117FB1BAF3BFD60916E694B, - E483ECC69AE4BE8D04740C73, - 9CF5916EA33BE57E91C21D6A, - 97589199124C81F6CD1C8683, - 0734D9054E524FBCA8676040, - B4695192F012C4E7B446F16C, - 4E264E6068E0EE1B6724B4D0, - 52C158AB44DE29997F915CF1, - 596E11E6B401ECF5B6517A50, - 149620ED349413544702C722, - AD27A1FB70366A14386EE213, - DD5AB59CA4DF8293CBE5C95D, - FAC040EE0FAB3E46BC3B64EA, - 7EBD2CD8BF20707D944AF209, - 450740F105A7E1A0D392B986, - 818EF84D6B75E118EC1104B7, - 47DDFB7BB8DCAF89C29F3813, - 2400CC1CA479BECDCB7EE172, - 5B24297659EF66B18586E74A, - 900A4B253B1D5126F1C26FC7, - 50350CB917EDF7A77E23F692, - C180260F123FDFCF3446C3FB, - A862880ECBEE873C8873F460, - 427EFE43752137CD8ED38A5E, - 144E52B80E02E9F1E578115C, - 8DB8DA82DCD6030EF3766691, - 03033B8931A684AEF56AB114, - F248587B24BC4C4E7178D3CF, - A1106A7B7D3A8D001914543D, - DC3D1B22165BC873D005740A, - B51000217C1F72B0B8CC9DDF, - 08BD8E3BF93894ADA97B9BB5, - 062DB4FA688FE669826A0711, - E4A824176546C8C9C8F65584, - 72232718AFAE21B6233FB6EA, - 7D45B3264A58000959506509, - ECBE2C33DFF798D9784E8961, - 119394152BA742B959E40B79, - 03CF55E5AA3E8B2876FDCCA3, - 0EC8FCFB4FA761C572E327F1, - 375FF8D5CC49C890692DDB4D, - CCD58360F450EFBCAD5FC275, ); runOnlyForDeploymentPostprocessing = 0; }; - 32DA1B9013D62D26598DBEE0 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 2D86E0C195453630FFE62D54, - AD571F1E9E181285FDCEAE48, - A3F72C78FFDF08D88501F41A, - 7E18A397EDB00032FE44CCAC, - A60AC9DE8CE32A7D81BF02D8, - CF676753ECCCDAB0ED2941D2, - D22E3582524974C91644B3E8, - 4733FD285DA5D6B38C7EA8CC, - BDFF1DD432BACF75097B6AD2, - 03493160412F0230155AE5EF, - 2F4084C24D03CAA0278A714D, - 7AD98D1EEDB42CE55DACDAAD, - EB86BEC38AEA80FAD73814F4, - 1C3A98ECD10DCAFD46C2B38B, ); runOnlyForDeploymentPostprocessing = 0; }; - 6165675649C256A17B9B117F = {isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; name = "Post-build script"; shellPath = /bin/sh; shellScript = "\n# This script takes the build product and copies it to the AU, VST, VST3, RTAS and AAX folders, depending on \n# which plugin types you've built\n\noriginal=$CONFIGURATION_BUILD_DIR/$FULL_PRODUCT_NAME\n\n# this looks inside the binary to detect which platforms are needed.. \ncopyAU=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'AudioUnit' | wc -l`\ncopyVST=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'VSTPlugin' | wc -l`\ncopyVST3=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'GetPluginFactory' | wc -l`\ncopyRTAS=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'CProcess' | wc -l`\ncopyAAX=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'ACFStartup' | wc -l`\n\nif [ $copyAU -gt 0 ]; then\n echo \"Copying to AudioUnit folder...\"\n AUDir=~/Library/Audio/Plug-Ins/Components\n mkdir -p \"$AUDir\"\n AU=$AUDir/$PRODUCT_NAME.component\n if [ -d \"$AU\" ]; then \n rm -r \"$AU\"\n fi\n\n cp -r \"$original\" \"$AU\"\n sed -i \"\" -e 's/TDMwPTul/BNDLPTul/g' \"$AU/Contents/PkgInfo\"\n sed -i \"\" -e 's/TDMw/BNDL/g' \"$AU/Contents/$INFOPLIST_FILE\"\nfi\n\nif [ $copyVST -gt 0 ]; then\n echo \"Copying to VST folder...\"\n VSTDir=~/Library/Audio/Plug-Ins/VST\n mkdir -p \"$VSTDir\"\n VST=$VSTDir/$PRODUCT_NAME.vst\n if [ -d \"$VST\" ]; then \n rm -r \"$VST\"\n fi\n\n cp -r \"$original\" \"$VST\"\n sed -i \"\" -e 's/TDMwPTul/BNDLPTul/g' \"$VST/Contents/PkgInfo\"\n sed -i \"\" -e 's/TDMw/BNDL/g' \"$VST/Contents/$INFOPLIST_FILE\"\nfi\n\nif [ $copyVST3 -gt 0 ]; then\n echo \"Copying to VST3 folder...\"\n VST3Dir=~/Library/Audio/Plug-Ins/VST3\n mkdir -p \"$VST3Dir\"\n VST3=$VST3Dir/$PRODUCT_NAME.vst3\n if [ -d \"$VST3\" ]; then \n rm -r \"$VST3\"\n fi\n\n cp -r \"$original\" \"$VST3\"\n sed -i \"\" -e 's/TDMwPTul/BNDLPTul/g' \"$VST3/Contents/PkgInfo\"\n sed -i \"\" -e 's/TDMw/BNDL/g' \"$VST3/Contents/$INFOPLIST_FILE\"\nfi\n\nif [ $copyRTAS -gt 0 ]; then\n echo \"Copying to RTAS folder...\"\n RTASDir=/Library/Application\\ Support/Digidesign/Plug-Ins\n if [ -d \"$RTASDir\" ]; then\n RTAS=$RTASDir/$PRODUCT_NAME.dpm\n if [ -d \"$RTAS\" ]; then\n rm -r \"$RTAS\"\n fi\n\n cp -r \"$original\" \"$RTAS\"\n fi\nfi\n\nif [ $copyAAX -gt 0 ]; then\n echo \"Copying to AAX folder...\"\n\n if [ -d \"/Applications/ProTools_3PDev/Plug-Ins\" ]; then\n AAX1=\"/Applications/ProTools_3PDev/Plug-Ins/$PRODUCT_NAME.aaxplugin\"\n\n if [ -d \"$AAX1\" ]; then\n rm -r \"$AAX1\"\n fi\n\n cp -R -H \"$original\" \"$AAX1\"\n fi\n\n if [ -d \"/Library/Application Support/Avid/Audio/Plug-Ins\" ]; then\n AAX2=\"/Library/Application Support/Avid/Audio/Plug-Ins/$PRODUCT_NAME.aaxplugin\"\n\n if [ -d \"$AAX2\" ]; then\n rm -r \"$AAX2\"\n fi\n\n cp -R -H \"$original\" \"$AAX2\"\n fi\nfi\n"; }; - EF183DAD9392B60A98245B51 = {isa = PBXNativeTarget; buildConfigurationList = 1199933DFFD460A07F7F9B58; buildPhases = ( - BFDE9978DA5B36CF33BA92F6, - C5E46CDF8D0923D3F067C93E, - 2D4E2F3606AF9447634B2A71, - 32DA1B9013D62D26598DBEE0, - 6165675649C256A17B9B117F, ); buildRules = ( ); dependencies = ( ); name = Spatializer; productName = Spatializer; productReference = 6FE5B154BB57F05637B2339C; productInstallPath = "$(HOME)/Library/Audio/Plug-Ins/Components/"; productType = "com.apple.product-type.bundle"; }; - 0C6382CEF4BAE2CB77CADF1B = {isa = PBXProject; buildConfigurationList = 0E5821DA441FF9778463F6D3; attributes = { LastUpgradeCheck = 0440; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 28E9C4AB9A38081E9C9D3E33; projectDirPath = ""; projectRoot = ""; targets = ( EF183DAD9392B60A98245B51 ); }; - }; - rootObject = 0C6382CEF4BAE2CB77CADF1B; -} diff --git a/examples/PlugInSamples/Spatializer/Builds/VisualStudio2015/Spatializer.sln b/examples/PlugInSamples/Spatializer/Builds/VisualStudio2015/Spatializer.sln deleted file mode 100644 index 5e4a4de50c..0000000000 --- a/examples/PlugInSamples/Spatializer/Builds/VisualStudio2015/Spatializer.sln +++ /dev/null @@ -1,19 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2015 -Project("{5EB4FAE9-3A0A-1E23-BE50-1E03DBF9545D}") = "Spatializer", "Spatializer.vcxproj", "{5688C574-BDEA-F1FF-7716-E727FF891687}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {5688C574-BDEA-F1FF-7716-E727FF891687}.Debug|Win32.ActiveCfg = Debug|Win32 - {5688C574-BDEA-F1FF-7716-E727FF891687}.Debug|Win32.Build.0 = Debug|Win32 - {5688C574-BDEA-F1FF-7716-E727FF891687}.Release|Win32.ActiveCfg = Release|Win32 - {5688C574-BDEA-F1FF-7716-E727FF891687}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/examples/PlugInSamples/Spatializer/Builds/VisualStudio2015/Spatializer.vcxproj b/examples/PlugInSamples/Spatializer/Builds/VisualStudio2015/Spatializer.vcxproj deleted file mode 100644 index cd4db4e171..0000000000 --- a/examples/PlugInSamples/Spatializer/Builds/VisualStudio2015/Spatializer.vcxproj +++ /dev/null @@ -1,1823 +0,0 @@ - - - - - - Debug - Win32 - - - Release - Win32 - - - - {5688C574-BDEA-F1FF-7716-E727FF891687} - v140 - - - - DynamicLibrary - false - v140 - - - DynamicLibrary - false - true - v140 - - - - - - - - v140 - - - <_ProjectFileVersion>10.0.30319.1 - Spatializer - true - Spatializer - true - v140 - - - - _DEBUG;%(PreprocessorDefinitions) - true - true - Win32 - - - - Disabled - EditAndContinue - c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;..\..\..\..\..\modules;c:\SDKs\AAX;c:\SDKs\AAX\Interfaces;c:\SDKs\AAX\Interfaces\ACF;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;JucePlugin_AAXLibs_path="c:\\SDKs\\AAX\\Libs";WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions) - MultiThreadedDebugDLL - true - - $(IntDir)\ - $(IntDir)\ - $(IntDir)\ - Level4 - true - true - - - _DEBUG;%(PreprocessorDefinitions) - - - $(OutDir)\Spatializer.dll - true - libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries) - true - $(IntDir)\Spatializer.pdb - Windows - MachineX86 - false - true - - - true - $(IntDir)\Spatializer.bsc - - - copy /Y "$(OutDir)\$(TargetFileName)" "$(OutDir)\$(TargetName).vst3" - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - Win32 - - - - Full - c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;..\..\..\..\..\modules;c:\SDKs\AAX;c:\SDKs\AAX\Interfaces;c:\SDKs\AAX\Interfaces\ACF;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;JucePlugin_AAXLibs_path="c:\\SDKs\\AAX\\Libs";WIN32;_WINDOWS;NDEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions) - MultiThreadedDLL - true - - $(IntDir)\ - $(IntDir)\ - $(IntDir)\ - Level4 - true - true - - - NDEBUG;%(PreprocessorDefinitions) - - - $(OutDir)\Spatializer.dll - true - %(IgnoreSpecificDefaultLibraries) - false - $(IntDir)\Spatializer.pdb - Windows - MachineX86 - true - true - true - - - true - $(IntDir)\Spatializer.bsc - - - copy /Y "$(OutDir)\$(TargetFileName)" "$(OutDir)\$(TargetName).vst3" - - - - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - - - - - - - - - - - - - - - StdCall - - - StdCall - - - StdCall - - - StdCall - - - StdCall - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/PlugInSamples/Spatializer/Builds/VisualStudio2015/Spatializer.vcxproj.filters b/examples/PlugInSamples/Spatializer/Builds/VisualStudio2015/Spatializer.vcxproj.filters deleted file mode 100644 index 3a82e76952..0000000000 --- a/examples/PlugInSamples/Spatializer/Builds/VisualStudio2015/Spatializer.vcxproj.filters +++ /dev/null @@ -1,3128 +0,0 @@ - - - - - - {CCDB9CA1-E044-3764-3586-0307DD9DF1E1} - - - {5D21D84B-6594-B811-80CA-37E15F07BDB2} - - - {422C46B7-0467-2DB0-BF3C-16DFCAFD69AC} - - - {3247ED97-A75A-F50B-8CCC-46155E895806} - - - {A33A1E1D-AC2C-6382-8681-48B0FC374C60} - - - {11A75801-B027-40BD-4993-023023ACCBF7} - - - {3FD908F5-98C8-9A61-FC03-0BAF8913CBB0} - - - {8C868E51-156D-A916-047C-0D9EA1393675} - - - {EF2CAB40-0432-429B-C517-86ADF136BB8A} - - - {8F7EC212-3168-AD81-5064-C45BA838C408} - - - {CACD7B50-4DB3-76AF-A6E8-90DF94F8F594} - - - {9D270B31-2425-8FDB-84A4-6A2288FF5B2F} - - - {0F766DD4-A277-CB86-5647-42498C8B41E1} - - - {D64942B4-6984-3623-3347-45D472AE1C61} - - - {45C2CE26-EC4B-BA52-58F3-297C408E1483} - - - {01603E05-423B-5FC3-1BEE-E15ED33B5688} - - - {65CB28F8-0422-A8F3-9A17-959E12A1F8E2} - - - {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} - - - {0CD9E281-DDD0-91EC-6F77-EA9D9D5E0E1A} - - - {40C5CA7C-AEBB-05B1-11CE-AE41D87B5CCB} - - - {EE36D8B9-408C-AEC9-66E7-BEA9E407F27F} - - - {1ED92A41-D496-5397-A4B0-9FA52DBA9215} - - - {50F044B3-0D39-198B-CA5F-BE5E6C078D04} - - - {AF5F4789-D607-BFD8-D853-09473C27449C} - - - {F0C10808-8C36-BCD0-D25F-523774B0ADA2} - - - {EA1913F9-0E99-FEC5-0192-0C197611B8F8} - - - {0B0E7392-324B-088C-FBEB-5FE999D61782} - - - {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} - - - {20254EFE-6CBD-31A7-2119-92B1E0E0E311} - - - {70796D73-6D30-8A1B-4732-7C021E47C05A} - - - {EB8DD942-E2CB-869F-D381-E02A65BA790B} - - - {8F91DFC0-7A71-1BA8-D8D9-6B4CF49151A4} - - - {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} - - - {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} - - - {476C69CE-0B67-6B85-E888-45D91E37A29E} - - - {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} - - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} - - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} - - - {DA0DC4AC-B511-A2D4-199A-C93454D6F114} - - - {91929C6F-7902-B87D-5260-2F6CBF8ACD93} - - - {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} - - - {4634FFAE-9586-A970-364C-4FDDA635F99F} - - - {F2B2F310-F30F-7166-42A9-9BF9C230DA78} - - - {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} - - - {F03654BC-34D8-F975-BEA3-750CC2783D23} - - - {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} - - - {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - - {C79A4D23-7866-8F3E-AC39-BD68C52A9259} - - - {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} - - - {7703D2CE-C32A-936A-0EEF-949FE6E52EB5} - - - {8D283B6C-13BA-9EF6-1B18-B1C393786943} - - - {928D8FCC-5E00-174B-6538-93E8D75AB396} - - - {1988E68A-A964-64CA-0E0C-26FF9BC5176C} - - - {3DF036EA-3B80-553B-2494-3AAC835CAE75} - - - {358AEA11-3F96-36AE-7B32-71373B5C5396} - - - {F2A38F45-6E55-E147-2E52-64A89FDD9D59} - - - {6172822C-01A5-E824-12DA-FA43FA934D35} - - - {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} - - - {B098BC87-3298-7E6B-12DC-D26C09CDCAED} - - - {6322B88F-984A-C3CD-6263-38D7AA49B6EC} - - - {73C1E759-AD90-59A3-942E-2D10FAA29107} - - - {EE1AE8C3-0908-8F53-A4E5-D930C7C97C26} - - - {4926B3FF-E797-F586-857A-69D9703FA2D1} - - - {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - - {413F481F-075C-2958-115C-D8268682FCB7} - - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - - {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} - - - {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} - - - {E37D25CD-4350-4614-055B-7ABC55E67895} - - - {FFC6E1CC-C772-75E6-5087-FB5D4E016799} - - - {8E43579F-C185-266D-DD67-F8B95BD80F2F} - - - {2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D} - - - {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} - - - {A92719C7-70BE-57C4-CE9E-A9BC9DFEB757} - - - {75F1F352-251A-75E0-D941-8431588F5C1E} - - - {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} - - - {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} - - - {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} - - - {5A0AA36E-3957-E413-14C6-31CBE15271DF} - - - {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} - - - {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} - - - {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} - - - {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} - - - {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - - {61712B09-5783-ADFA-2001-5A0C3D7764EB} - - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} - - - {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} - - - {C60A6FCA-9462-922E-AD8D-69F10C9049AF} - - - {D56498EE-E354-1F00-5EEE-8CF7944BEAFB} - - - {61B2920C-494D-D8CB-C0C7-5DBF3D76D164} - - - {66C9B809-8739-A217-C78D-A15D6089B8E3} - - - {C413328B-5D81-89EE-F4F3-75752E700DE4} - - - {639E16C5-DA8B-ADBA-6E24-7B596378EAB2} - - - {2D8D0E19-E676-83EB-38D9-F73500DD6B79} - - - {B3141847-8F13-F67D-45B2-E3ECF6E09088} - - - {9E586194-C056-101C-5311-F2AF5191AC80} - - - {151B49D8-6102-F802-1C07-D59931BC0574} - - - {72A923E2-C729-DB92-D7BF-A9D4AFAE5896} - - - {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} - - - {7F11E7D2-54C0-2A36-5F15-BEC0A5374A08} - - - {EE985DEA-CD83-8132-7219-542BB1DAD560} - - - {8B4D1BAA-6DB4-CAEC-A0FA-271F354D5C61} - - - - - Spatializer\Source - - - Juce Modules\juce_audio_basics\buffers - - - 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\midi - - - Juce Modules\juce_audio_basics\midi - - - Juce Modules\juce_audio_basics\midi - - - Juce Modules\juce_audio_basics\midi - - - Juce Modules\juce_audio_basics\midi - - - Juce Modules\juce_audio_basics\midi - - - 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\mpe - - - Juce Modules\juce_audio_basics\sources - - - Juce Modules\juce_audio_basics\sources - - - Juce Modules\juce_audio_basics\sources - - - Juce Modules\juce_audio_basics\sources - - - Juce Modules\juce_audio_basics\sources - - - Juce Modules\juce_audio_basics\sources - - - Juce Modules\juce_audio_basics\sources - - - Juce Modules\juce_audio_basics\synthesisers - - - Juce Modules\juce_audio_devices\audio_io - - - Juce Modules\juce_audio_devices\audio_io - - - Juce Modules\juce_audio_devices\audio_io - - - Juce Modules\juce_audio_devices\midi_io - - - Juce Modules\juce_audio_devices\midi_io - - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\native - - - Juce Modules\juce_audio_devices\native - - - Juce Modules\juce_audio_devices\native - - - Juce Modules\juce_audio_devices\native - - - Juce Modules\juce_audio_devices\native - - - Juce Modules\juce_audio_devices\native - - - Juce Modules\juce_audio_devices\native - - - Juce Modules\juce_audio_devices\native - - - Juce Modules\juce_audio_devices\native - - - Juce Modules\juce_audio_devices\native - - - Juce Modules\juce_audio_devices\native - - - Juce Modules\juce_audio_devices\native - - - Juce Modules\juce_audio_devices\native - - - Juce Modules\juce_audio_devices\native - - - Juce Modules\juce_audio_devices\native - - - Juce Modules\juce_audio_devices\native - - - Juce Modules\juce_audio_devices\native - - - Juce Modules\juce_audio_devices\native - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\codecs - - - Juce Modules\juce_audio_formats\codecs - - - Juce Modules\juce_audio_formats\codecs - - - Juce Modules\juce_audio_formats\codecs - - - Juce Modules\juce_audio_formats\codecs - - - Juce Modules\juce_audio_formats\codecs - - - Juce Modules\juce_audio_formats\codecs - - - Juce Modules\juce_audio_formats\codecs - - - Juce Modules\juce_audio_formats\codecs - - - Juce Modules\juce_audio_formats\sampler - - - Juce Modules\juce_audio_plugin_client\AU - - - Juce Modules\juce_audio_plugin_client\RTAS - - - Juce Modules\juce_audio_plugin_client\VST - - - Juce Modules\juce_audio_plugin_client\AAX - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\scanning - - - Juce Modules\juce_audio_processors\scanning - - - Juce Modules\juce_audio_processors\scanning - - - Juce Modules\juce_audio_processors\utilities - - - Juce Modules\juce_audio_processors\utilities - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\xml - - - Juce Modules\juce_core\xml - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_cryptography\encryption - - - Juce Modules\juce_cryptography\encryption - - - Juce Modules\juce_cryptography\encryption - - - Juce Modules\juce_cryptography\hashing - - - Juce Modules\juce_cryptography\hashing - - - Juce Modules\juce_cryptography\hashing - - - Juce Modules\juce_data_structures\values - - - Juce Modules\juce_data_structures\values - - - Juce Modules\juce_data_structures\values - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\native - - - Juce Modules\juce_events\native - - - Juce Modules\juce_events\native - - - Juce Modules\juce_events\native - - - Juce Modules\juce_events\native - - - Juce Modules\juce_graphics\colour - - - Juce Modules\juce_graphics\colour - - - Juce Modules\juce_graphics\colour - - - Juce Modules\juce_graphics\colour - - - Juce Modules\juce_graphics\contexts - - - Juce Modules\juce_graphics\contexts - - - Juce Modules\juce_graphics\contexts - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\placement - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_gui_basics\components - - - Juce Modules\juce_gui_basics\components - - - Juce Modules\juce_gui_basics\components - - - Juce Modules\juce_gui_basics\components - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\documents - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_opengl\opengl - - - Juce Modules\juce_opengl\opengl - - - Juce Modules\juce_opengl\opengl - - - Juce Modules\juce_opengl\opengl - - - Juce Modules\juce_opengl\opengl - - - Juce Modules\juce_opengl\opengl - - - Juce Modules\juce_opengl\opengl - - - Juce Modules\juce_opengl\opengl - - - Juce Modules\juce_opengl\utils - - - Juce Modules\juce_video\capture - - - Juce Modules\juce_video\native - - - Juce Modules\juce_video\native - - - Juce Modules\juce_video\native - - - Juce Modules\juce_video\native - - - Juce Modules\juce_video\native - - - Juce Modules\juce_video\native - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - - - Juce Modules\juce_audio_basics\buffers - - - Juce Modules\juce_audio_basics\buffers - - - 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\effects - - - Juce Modules\juce_audio_basics\midi - - - Juce Modules\juce_audio_basics\midi - - - Juce Modules\juce_audio_basics\midi - - - Juce Modules\juce_audio_basics\midi - - - Juce Modules\juce_audio_basics\midi - - - Juce Modules\juce_audio_basics\midi - - - 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\mpe - - - Juce Modules\juce_audio_basics\sources - - - Juce Modules\juce_audio_basics\sources - - - Juce Modules\juce_audio_basics\sources - - - Juce Modules\juce_audio_basics\sources - - - Juce Modules\juce_audio_basics\sources - - - Juce Modules\juce_audio_basics\sources - - - Juce Modules\juce_audio_basics\sources - - - Juce Modules\juce_audio_basics\sources - - - Juce Modules\juce_audio_basics\sources - - - Juce Modules\juce_audio_basics\synthesisers - - - Juce Modules\juce_audio_basics - - - Juce Modules\juce_audio_devices\audio_io - - - Juce Modules\juce_audio_devices\audio_io - - - Juce Modules\juce_audio_devices\audio_io - - - Juce Modules\juce_audio_devices\audio_io - - - Juce Modules\juce_audio_devices\midi_io - - - Juce Modules\juce_audio_devices\midi_io - - - Juce Modules\juce_audio_devices\midi_io - - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\native - - - Juce Modules\juce_audio_devices - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\codecs - - - Juce Modules\juce_audio_formats\codecs - - - Juce Modules\juce_audio_formats\codecs - - - Juce Modules\juce_audio_formats\codecs - - - Juce Modules\juce_audio_formats\codecs - - - Juce Modules\juce_audio_formats\codecs - - - Juce Modules\juce_audio_formats\codecs - - - Juce Modules\juce_audio_formats\codecs - - - Juce Modules\juce_audio_formats\codecs - - - Juce Modules\juce_audio_formats\sampler - - - Juce Modules\juce_audio_formats - - - Juce Modules\juce_audio_plugin_client\RTAS - - - Juce Modules\juce_audio_plugin_client\utility - - - Juce Modules\juce_audio_plugin_client\utility - - - Juce Modules\juce_audio_plugin_client\utility - - - Juce Modules\juce_audio_plugin_client\utility - - - Juce Modules\juce_audio_plugin_client\utility - - - Juce Modules\juce_audio_plugin_client\utility - - - Juce Modules\juce_audio_plugin_client\utility - - - Juce Modules\juce_audio_plugin_client\utility - - - Juce Modules\juce_audio_plugin_client - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\scanning - - - Juce Modules\juce_audio_processors\scanning - - - Juce Modules\juce_audio_processors\scanning - - - Juce Modules\juce_audio_processors\utilities - - - Juce Modules\juce_audio_processors\utilities - - - Juce Modules\juce_audio_processors\utilities - - - Juce Modules\juce_audio_processors\utilities - - - Juce Modules\juce_audio_processors\utilities - - - Juce Modules\juce_audio_processors\utilities - - - Juce Modules\juce_audio_processors - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\xml - - - Juce Modules\juce_core\xml - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core - - - Juce Modules\juce_cryptography\encryption - - - Juce Modules\juce_cryptography\encryption - - - Juce Modules\juce_cryptography\encryption - - - Juce Modules\juce_cryptography\hashing - - - Juce Modules\juce_cryptography\hashing - - - Juce Modules\juce_cryptography\hashing - - - Juce Modules\juce_cryptography - - - Juce Modules\juce_data_structures\values - - - Juce Modules\juce_data_structures\values - - - Juce Modules\juce_data_structures\values - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\native - - - Juce Modules\juce_events\native - - - Juce Modules\juce_events\native - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics\colour - - - Juce Modules\juce_graphics\colour - - - Juce Modules\juce_graphics\colour - - - Juce Modules\juce_graphics\colour - - - Juce Modules\juce_graphics\colour - - - Juce Modules\juce_graphics\contexts - - - Juce Modules\juce_graphics\contexts - - - Juce Modules\juce_graphics\contexts - - - Juce Modules\juce_graphics\contexts - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\placement - - - Juce Modules\juce_graphics\placement - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics\components - - - Juce Modules\juce_gui_basics\components - - - Juce Modules\juce_gui_basics\components - - - Juce Modules\juce_gui_basics\components - - - Juce Modules\juce_gui_basics\components - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\documents - - - Juce Modules\juce_gui_extra\embedding - - - Juce Modules\juce_gui_extra\embedding - - - Juce Modules\juce_gui_extra\embedding - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra - - - Juce Modules\juce_opengl\opengl - - - Juce Modules\juce_opengl\opengl - - - Juce Modules\juce_opengl\opengl - - - Juce Modules\juce_opengl\opengl - - - Juce Modules\juce_opengl\opengl - - - Juce Modules\juce_opengl\opengl - - - Juce Modules\juce_opengl\opengl - - - Juce Modules\juce_opengl\opengl - - - Juce Modules\juce_opengl\opengl - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\utils - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl - - - Juce Modules\juce_video\playback - - - Juce Modules\juce_video\playback - - - Juce Modules\juce_video\capture - - - Juce Modules\juce_video - - - Juce Library Code - - - Juce Library Code - - - - - Juce Modules\juce_audio_basics - - - Juce Modules\juce_audio_devices - - - Juce Modules\juce_audio_formats - - - Juce Modules\juce_audio_plugin_client - - - Juce Modules\juce_audio_processors - - - Juce Modules\juce_core - - - Juce Modules\juce_cryptography - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_gui_extra - - - Juce Modules\juce_opengl - - - Juce Modules\juce_video - - - Juce Library Code - - - - - Juce Library Code - - - diff --git a/examples/PlugInSamples/Spatializer/Builds/VisualStudio2015/resources.rc b/examples/PlugInSamples/Spatializer/Builds/VisualStudio2015/resources.rc deleted file mode 100644 index 74a0f59827..0000000000 --- a/examples/PlugInSamples/Spatializer/Builds/VisualStudio2015/resources.rc +++ /dev/null @@ -1,30 +0,0 @@ -#ifdef JUCE_USER_DEFINED_RC_FILE - #include JUCE_USER_DEFINED_RC_FILE -#else - -#undef WIN32_LEAN_AND_MEAN -#define WIN32_LEAN_AND_MEAN -#include - -VS_VERSION_INFO VERSIONINFO -FILEVERSION 1,0,0,0 -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904E4" - BEGIN - VALUE "CompanyName", "ROLI Ltd.\0" - VALUE "FileDescription", "Spatializer\0" - VALUE "FileVersion", "1.0.0\0" - VALUE "ProductName", "Spatializer\0" - VALUE "ProductVersion", "1.0.0\0" - END - END - - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1252 - END -END - -#endif diff --git a/examples/PlugInSamples/Spatializer/JuceLibraryCode/JuceHeader.h b/examples/PlugInSamples/Spatializer/JuceLibraryCode/JuceHeader.h deleted file mode 100644 index 85df22b837..0000000000 --- a/examples/PlugInSamples/Spatializer/JuceLibraryCode/JuceHeader.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - - IMPORTANT! This file is auto-generated each time you save your - project - if you alter its contents, your changes may be overwritten! - - This is the header file that your files should include in order to get all the - JUCE library headers. You should avoid including the JUCE headers directly in - your own source files, because that wouldn't pick up the correct configuration - options for your app. - -*/ - -#ifndef __APPHEADERFILE_AX3KPE__ -#define __APPHEADERFILE_AX3KPE__ - -#include "AppConfig.h" -#include "modules/juce_audio_basics/juce_audio_basics.h" -#include "modules/juce_audio_devices/juce_audio_devices.h" -#include "modules/juce_audio_formats/juce_audio_formats.h" -#include "modules/juce_audio_plugin_client/juce_audio_plugin_client.h" -#include "modules/juce_audio_processors/juce_audio_processors.h" -#include "modules/juce_core/juce_core.h" -#include "modules/juce_cryptography/juce_cryptography.h" -#include "modules/juce_data_structures/juce_data_structures.h" -#include "modules/juce_events/juce_events.h" -#include "modules/juce_graphics/juce_graphics.h" -#include "modules/juce_gui_basics/juce_gui_basics.h" -#include "modules/juce_gui_extra/juce_gui_extra.h" -#include "modules/juce_opengl/juce_opengl.h" -#include "modules/juce_video/juce_video.h" - -#if ! DONT_SET_USING_JUCE_NAMESPACE - // If your code uses a lot of JUCE classes, then this will obviously save you - // a lot of typing, but can be disabled by setting DONT_SET_USING_JUCE_NAMESPACE. - using namespace juce; -#endif - -#if ! JUCE_DONT_DECLARE_PROJECTINFO -namespace ProjectInfo -{ - const char* const projectName = "Spatializer"; - const char* const versionString = "1.0.0"; - const int versionNumber = 0x10000; -} -#endif - -#endif // __APPHEADERFILE_AX3KPE__ diff --git a/examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h b/examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h deleted file mode 100644 index 39e1aa1405..0000000000 --- a/examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_audio_basics/juce_audio_basics.h" diff --git a/examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h b/examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h deleted file mode 100644 index 9069e65391..0000000000 --- a/examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_audio_devices/juce_audio_devices.h" diff --git a/examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h b/examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h deleted file mode 100644 index 4270ffa168..0000000000 --- a/examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_audio_formats/juce_audio_formats.h" diff --git a/examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_audio_plugin_client/juce_audio_plugin_client.h b/examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_audio_plugin_client/juce_audio_plugin_client.h deleted file mode 100644 index 57abba643f..0000000000 --- a/examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_audio_plugin_client/juce_audio_plugin_client.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client.h" diff --git a/examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h b/examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h deleted file mode 100644 index 48c0bf08c8..0000000000 --- a/examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_audio_processors/juce_audio_processors.h" diff --git a/examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_core/juce_core.h b/examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_core/juce_core.h deleted file mode 100644 index 3c400000e0..0000000000 --- a/examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_core/juce_core.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_core/juce_core.h" diff --git a/examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h b/examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h deleted file mode 100644 index b3df81338e..0000000000 --- a/examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_cryptography/juce_cryptography.h" diff --git a/examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h b/examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h deleted file mode 100644 index e815ff2c51..0000000000 --- a/examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_data_structures/juce_data_structures.h" diff --git a/examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_events/juce_events.h b/examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_events/juce_events.h deleted file mode 100644 index 88f8bafd21..0000000000 --- a/examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_events/juce_events.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_events/juce_events.h" diff --git a/examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_graphics/juce_graphics.h b/examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_graphics/juce_graphics.h deleted file mode 100644 index 0c5c690211..0000000000 --- a/examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_graphics/juce_graphics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_graphics/juce_graphics.h" diff --git a/examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h b/examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h deleted file mode 100644 index 7fa455d687..0000000000 --- a/examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_gui_basics/juce_gui_basics.h" diff --git a/examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h b/examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h deleted file mode 100644 index 11866a121d..0000000000 --- a/examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_gui_extra/juce_gui_extra.h" diff --git a/examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_opengl/juce_opengl.h b/examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_opengl/juce_opengl.h deleted file mode 100644 index f156f5c69c..0000000000 --- a/examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_opengl/juce_opengl.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_opengl/juce_opengl.h" diff --git a/examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_video/juce_video.h b/examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_video/juce_video.h deleted file mode 100644 index 6b5e743372..0000000000 --- a/examples/PlugInSamples/Spatializer/JuceLibraryCode/modules/juce_video/juce_video.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_video/juce_video.h" diff --git a/examples/PlugInSamples/Spatializer/Source/Spatializer.cpp b/examples/PlugInSamples/Spatializer/Source/Spatializer.cpp deleted file mode 100644 index 6a9092329f..0000000000 --- a/examples/PlugInSamples/Spatializer/Source/Spatializer.cpp +++ /dev/null @@ -1,190 +0,0 @@ -/* - ============================================================================== - - 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. - - ============================================================================== - */ - -#include "../JuceLibraryCode/JuceHeader.h" -#include "../../GenericEditor.h" - -//============================================================================== -/** - */ -class Spatializer : public AudioProcessor -{ -public: - - struct SpeakerPosition - { - float radius, phi; - }; - - struct SpeakerLayout - { - AudioChannelSet set; - Array positions; - }; - - // this needs at least c++11 - static Array speakerPositions; - - //============================================================================== - Spatializer() : currentSpeakerLayout (0) - { - // clear the default bus arrangements which were created by the base class - busArrangement.inputBuses .clear(); - busArrangement.outputBuses.clear(); - - // add mono in and default out - busArrangement.inputBuses .add (AudioProcessorBus ("Input", AudioChannelSet::mono())); - busArrangement.outputBuses.add (AudioProcessorBus ("Output", speakerPositions[currentSpeakerLayout].set)); - - addParameter (radius = new AudioParameterFloat ("radius", "Radius", 0.0f, 1.0f, 0.5f)); - addParameter (phi = new AudioParameterFloat ("phi", "Phi", 0.0f, 1.0f, 0.0f)); - } - - ~Spatializer() {} - - //============================================================================== - bool setPreferredBusArrangement (bool isInputBus, int busIndex, - const AudioChannelSet& preferred) override - { - // we only allow mono in - if (isInputBus && preferred != AudioChannelSet::mono()) - return false; - - // the output must be one of the supported speaker layouts - if (! isInputBus) - { - int i; - - for (i = 0; i < speakerPositions.size(); ++i) - if (speakerPositions[i].set == preferred) break; - - if (i >= speakerPositions.size()) - return false; - - currentSpeakerLayout = i; - } - - return AudioProcessor::setPreferredBusArrangement (isInputBus, busIndex, preferred); - } - - //============================================================================== - void prepareToPlay (double sampleRate, int samplesPerBlock) override - { - scratchBuffer.setSize (1, samplesPerBlock); - } - - void releaseResources() override {} - - void processBlock (AudioSampleBuffer& buffer, MidiBuffer&) override - { - // copy the input into a scratch buffer - AudioSampleBuffer scratch (scratchBuffer.getArrayOfWritePointers(), 1, buffer.getNumSamples()); - scratch.copyFrom(0, 0, buffer, 0, 0, buffer.getNumSamples()); - - const Array& positions = speakerPositions.getReference (currentSpeakerLayout).positions; - const float* inputBuffer = scratch.getReadPointer (0); - const float kMaxDistanceGain = -20.0f; - - for (int speakerIdx = 0; speakerIdx < positions.size(); ++speakerIdx) - { - const SpeakerPosition& speakerPos = positions.getReference (speakerIdx); - float fltDistance = distance (polarToCartesian (speakerPos.radius, speakerPos.phi), polarToCartesian (*radius, (*phi) * 2.0f * float_Pi)); - float gainInDb = kMaxDistanceGain * (fltDistance / 2.0f); - float gain = std::pow (10.0f, (gainInDb / 20.0f)); - - busArrangement.getBusBuffer(buffer, false, 0).copyFrom(speakerIdx, 0, inputBuffer, buffer.getNumSamples(), gain); - } - } - - //============================================================================== - AudioProcessorEditor* createEditor() override { return new GenericEditor (*this); } - bool hasEditor() const override { return true; } - - //============================================================================== - const String getName() const override { return "Gain PlugIn"; } - - bool acceptsMidi() const override { return false; } - bool producesMidi() const override { return false; } - double getTailLengthSeconds() const override { return 0; } - - //============================================================================== - int getNumPrograms() override { return 1; } - int getCurrentProgram() override { return 0; } - void setCurrentProgram (int) override {} - const String getProgramName (int) override { return String(); } - void changeProgramName (int , const String& ) override { } - - //============================================================================== - void getStateInformation (MemoryBlock& destData) override - { - MemoryOutputStream stream (destData, true); - - stream.writeFloat (*radius); - stream.writeFloat (*phi); - } - - void setStateInformation (const void* data, int sizeInBytes) override - { - MemoryInputStream stream (data, sizeInBytes, false); - - radius->setValueNotifyingHost (stream.readFloat()); - phi->setValueNotifyingHost (stream.readFloat()); - } - -private: - //============================================================================== - AudioParameterFloat* radius; - AudioParameterFloat* phi; - int currentSpeakerLayout; - AudioSampleBuffer scratchBuffer; - - static Point polarToCartesian (float r, float phi) noexcept - { - return Point (r * std::cos (phi), r * std::sin (phi)); - } - - static float distance (Point a, Point b) noexcept - { - return std::sqrt (std::pow (a.x - b.x, 2.0f) + std::pow (a.y - b.y, 2.0f)); - } - - //============================================================================== - JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (Spatializer) -}; - -// this needs at least c++11 -Array Spatializer::speakerPositions = -{ - Spatializer::SpeakerLayout { AudioChannelSet::stereo(), { SpeakerPosition { 1.0f, -0.25f * float_Pi }, SpeakerPosition { 1.0f, 0.25f * float_Pi } }}, - Spatializer::SpeakerLayout { AudioChannelSet::quadraphonic(), { SpeakerPosition { 1.0f, -0.25f * float_Pi }, SpeakerPosition { 1.0f, 0.25f * float_Pi }, SpeakerPosition {1.0f, -0.75f * float_Pi}, SpeakerPosition {1.0f, 0.75f * float_Pi}}}, - Spatializer::SpeakerLayout { AudioChannelSet::create5point0(), {SpeakerPosition { 1.0f, 0.0f}, SpeakerPosition { 1.0f, -0.25f * float_Pi }, SpeakerPosition { 1.0f, 0.25f * float_Pi }, SpeakerPosition {1.0f, -0.75f * float_Pi}, SpeakerPosition {1.0f, 0.75f * float_Pi}}} -}; - - -//============================================================================== -// This creates new instances of the plugin.. -AudioProcessor* JUCE_CALLTYPE createPluginFilter() -{ - return new Spatializer(); -} diff --git a/examples/PlugInSamples/Spatializer/Spatializer.jucer b/examples/PlugInSamples/Spatializer/Spatializer.jucer deleted file mode 100644 index e5b52e41e1..0000000000 --- a/examples/PlugInSamples/Spatializer/Spatializer.jucer +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/PlugInSamples/Surround/Builds/LinuxMakefile/Makefile b/examples/PlugInSamples/Surround/Builds/LinuxMakefile/Makefile index f20d38fbf1..8575d2a084 100644 --- a/examples/PlugInSamples/Surround/Builds/LinuxMakefile/Makefile +++ b/examples/PlugInSamples/Surround/Builds/LinuxMakefile/Makefile @@ -1,5 +1,5 @@ -# Automatically generated makefile, created by the Introjucer -# Don't edit this file! Your changes will be overwritten when you re-save the Introjucer project! +# Automatically generated makefile, created by the Projucer +# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project! # (this disables dependency generation if multiple architectures are set) DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) @@ -50,22 +50,21 @@ endif OBJECTS := \ $(OBJDIR)/SurroundProcessor_c7ed9c55.o \ - $(OBJDIR)/juce_audio_basics_78a7818f.o \ - $(OBJDIR)/juce_audio_devices_7278ae8d.o \ - $(OBJDIR)/juce_audio_formats_a0f9f82d.o \ - $(OBJDIR)/juce_audio_processors_38c55c47.o \ - $(OBJDIR)/juce_core_4ab0871.o \ - $(OBJDIR)/juce_cryptography_7a2c84cb.o \ - $(OBJDIR)/juce_data_structures_9bbaa16d.o \ - $(OBJDIR)/juce_events_4bb1d465.o \ - $(OBJDIR)/juce_graphics_8bdbf949.o \ - $(OBJDIR)/juce_gui_basics_dcbf9445.o \ - $(OBJDIR)/juce_gui_extra_2814130d.o \ - $(OBJDIR)/juce_opengl_bf9fc91.o \ - $(OBJDIR)/juce_PluginUtilities_c8a83799.o \ - $(OBJDIR)/juce_video_11f0932d.o \ - $(OBJDIR)/juce_VST_Wrapper_371bbba2.o \ - $(OBJDIR)/juce_VST3_Wrapper_e8b59460.o \ + $(OBJDIR)/juce_audio_basics_6b797ca1.o \ + $(OBJDIR)/juce_audio_devices_a742c38b.o \ + $(OBJDIR)/juce_audio_formats_5a29c68a.o \ + $(OBJDIR)/juce_audio_plugin_client_utils_35fbf7.o \ + $(OBJDIR)/juce_audio_plugin_client_VST2_fd137df.o \ + $(OBJDIR)/juce_audio_processors_dea3173d.o \ + $(OBJDIR)/juce_core_75b14332.o \ + $(OBJDIR)/juce_cryptography_6de2ebff.o \ + $(OBJDIR)/juce_data_structures_72d3da2c.o \ + $(OBJDIR)/juce_events_d2be882c.o \ + $(OBJDIR)/juce_graphics_9c18891e.o \ + $(OBJDIR)/juce_gui_basics_8a6da59c.o \ + $(OBJDIR)/juce_gui_extra_4a026f23.o \ + $(OBJDIR)/juce_opengl_cd70b4c2.o \ + $(OBJDIR)/juce_video_f128c512.o \ .PHONY: clean @@ -89,84 +88,79 @@ $(OBJDIR)/SurroundProcessor_c7ed9c55.o: ../../Source/SurroundProcessor.cpp @echo "Compiling SurroundProcessor.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_basics_78a7818f.o: ../../../../../modules/juce_audio_basics/juce_audio_basics.cpp +$(OBJDIR)/juce_audio_basics_6b797ca1.o: ../../JuceLibraryCode/juce_audio_basics.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_audio_basics.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_devices_7278ae8d.o: ../../../../../modules/juce_audio_devices/juce_audio_devices.cpp +$(OBJDIR)/juce_audio_devices_a742c38b.o: ../../JuceLibraryCode/juce_audio_devices.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_audio_devices.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_formats_a0f9f82d.o: ../../../../../modules/juce_audio_formats/juce_audio_formats.cpp +$(OBJDIR)/juce_audio_formats_5a29c68a.o: ../../JuceLibraryCode/juce_audio_formats.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_audio_formats.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_processors_38c55c47.o: ../../../../../modules/juce_audio_processors/juce_audio_processors.cpp +$(OBJDIR)/juce_audio_plugin_client_utils_35fbf7.o: ../../JuceLibraryCode/juce_audio_plugin_client_utils.cpp + -@mkdir -p $(OBJDIR) + @echo "Compiling juce_audio_plugin_client_utils.cpp" + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + +$(OBJDIR)/juce_audio_plugin_client_VST2_fd137df.o: ../../JuceLibraryCode/juce_audio_plugin_client_VST2.cpp + -@mkdir -p $(OBJDIR) + @echo "Compiling juce_audio_plugin_client_VST2.cpp" + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + +$(OBJDIR)/juce_audio_processors_dea3173d.o: ../../JuceLibraryCode/juce_audio_processors.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_audio_processors.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_core_4ab0871.o: ../../../../../modules/juce_core/juce_core.cpp +$(OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_core.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_cryptography_7a2c84cb.o: ../../../../../modules/juce_cryptography/juce_cryptography.cpp +$(OBJDIR)/juce_cryptography_6de2ebff.o: ../../JuceLibraryCode/juce_cryptography.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_cryptography.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_data_structures_9bbaa16d.o: ../../../../../modules/juce_data_structures/juce_data_structures.cpp +$(OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_data_structures.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_events_4bb1d465.o: ../../../../../modules/juce_events/juce_events.cpp +$(OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_events.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_graphics_8bdbf949.o: ../../../../../modules/juce_graphics/juce_graphics.cpp +$(OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_graphics.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_basics_dcbf9445.o: ../../../../../modules/juce_gui_basics/juce_gui_basics.cpp +$(OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_gui_basics.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_extra_2814130d.o: ../../../../../modules/juce_gui_extra/juce_gui_extra.cpp +$(OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_gui_extra.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_opengl_bf9fc91.o: ../../../../../modules/juce_opengl/juce_opengl.cpp +$(OBJDIR)/juce_opengl_cd70b4c2.o: ../../JuceLibraryCode/juce_opengl.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_opengl.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_PluginUtilities_c8a83799.o: ../../../../../modules/juce_audio_plugin_client/utility/juce_PluginUtilities.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling juce_PluginUtilities.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/juce_video_11f0932d.o: ../../../../../modules/juce_video/juce_video.cpp +$(OBJDIR)/juce_video_f128c512.o: ../../JuceLibraryCode/juce_video.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_video.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_VST_Wrapper_371bbba2.o: ../../../../../modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling juce_VST_Wrapper.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/juce_VST3_Wrapper_e8b59460.o: ../../../../../modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling juce_VST3_Wrapper.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -include $(OBJECTS:%.o=%.d) diff --git a/examples/PlugInSamples/Surround/Builds/MacOSX/Info-AAX.plist b/examples/PlugInSamples/Surround/Builds/MacOSX/Info-AAX.plist new file mode 100644 index 0000000000..9d213dd723 --- /dev/null +++ b/examples/PlugInSamples/Surround/Builds/MacOSX/Info-AAX.plist @@ -0,0 +1,29 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + Surround + CFBundleDisplayName + Surround + CFBundlePackageType + TDMw + CFBundleSignature + PTul + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + + diff --git a/examples/PlugInSamples/Surround/Builds/MacOSX/Info.plist b/examples/PlugInSamples/Surround/Builds/MacOSX/Info-AU.plist similarity index 86% rename from examples/PlugInSamples/Surround/Builds/MacOSX/Info.plist rename to examples/PlugInSamples/Surround/Builds/MacOSX/Info-AU.plist index 94772125ad..1244925b46 100644 --- a/examples/PlugInSamples/Surround/Builds/MacOSX/Info.plist +++ b/examples/PlugInSamples/Surround/Builds/MacOSX/Info-AU.plist @@ -11,10 +11,12 @@ $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName Surround + CFBundleDisplayName + Surround CFBundlePackageType - TDMw + BNDL CFBundleSignature - PTul + ???? CFBundleShortVersionString 1.0.0 CFBundleVersion @@ -35,7 +37,7 @@ manufacturer ROLI type - aumu + aufx subtype Srrd version diff --git a/examples/PlugInSamples/Surround/Builds/MacOSX/Info-Shared_Code.plist b/examples/PlugInSamples/Surround/Builds/MacOSX/Info-Shared_Code.plist new file mode 100644 index 0000000000..e1b2566626 --- /dev/null +++ b/examples/PlugInSamples/Surround/Builds/MacOSX/Info-Shared_Code.plist @@ -0,0 +1,29 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + Surround + CFBundleDisplayName + Surround + CFBundlePackageType + FMWK + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + + diff --git a/examples/PlugInSamples/Surround/Builds/MacOSX/Info-VST.plist b/examples/PlugInSamples/Surround/Builds/MacOSX/Info-VST.plist new file mode 100644 index 0000000000..e7b70896bc --- /dev/null +++ b/examples/PlugInSamples/Surround/Builds/MacOSX/Info-VST.plist @@ -0,0 +1,29 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + Surround + CFBundleDisplayName + Surround + CFBundlePackageType + BNDL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + + diff --git a/examples/PlugInSamples/Surround/Builds/MacOSX/Info-VST3.plist b/examples/PlugInSamples/Surround/Builds/MacOSX/Info-VST3.plist new file mode 100644 index 0000000000..e7b70896bc --- /dev/null +++ b/examples/PlugInSamples/Surround/Builds/MacOSX/Info-VST3.plist @@ -0,0 +1,29 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + Surround + CFBundleDisplayName + Surround + CFBundlePackageType + BNDL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + + diff --git a/examples/PlugInSamples/Surround/Builds/MacOSX/Surround.entitlements b/examples/PlugInSamples/Surround/Builds/MacOSX/Surround.entitlements new file mode 100644 index 0000000000..22194a6d2d --- /dev/null +++ b/examples/PlugInSamples/Surround/Builds/MacOSX/Surround.entitlements @@ -0,0 +1 @@ + com.apple.security.app-sandbox \ No newline at end of file diff --git a/examples/PlugInSamples/Surround/Builds/MacOSX/Surround.xcodeproj/project.pbxproj b/examples/PlugInSamples/Surround/Builds/MacOSX/Surround.xcodeproj/project.pbxproj index 77b66faa93..841e6aeafa 100644 --- a/examples/PlugInSamples/Surround/Builds/MacOSX/Surround.xcodeproj/project.pbxproj +++ b/examples/PlugInSamples/Surround/Builds/MacOSX/Surround.xcodeproj/project.pbxproj @@ -6,6 +6,11 @@ objectVersion = 46; objects = { + 23A9D98E3528AECE2293E042 = {isa = PBXBuildFile; fileRef = 499621E04BA626F64944B0D4; }; + 21C6DDFF7FDB509FC26C6670 = {isa = PBXBuildFile; fileRef = D035D1C2F16559D0BB4F80D0; }; + F686BD12C9BFD04CDBDCE57A = {isa = PBXBuildFile; fileRef = 79FE5C3ECC20E6354609E715; }; + 7233E978146D72C97016EB8A = {isa = PBXBuildFile; fileRef = C3AF8BFE5557DE30A253564C; }; + B6D92AE8EA02C005265E5755 = {isa = PBXBuildFile; fileRef = ED7C79D32D589E0F8123BB6A; }; 1F5789B6D2334580C0F3D9AE = {isa = PBXBuildFile; fileRef = 52EEFA8ED8C29967F5A9E1EE; }; 3A9DA4E9002E62503BE11891 = {isa = PBXBuildFile; fileRef = D8FC94038AF7B050BBADC027; }; 029B18BC4295AE3360F6EC0A = {isa = PBXBuildFile; fileRef = A70EECB9198195AFDADBC672; }; @@ -21,61 +26,37 @@ 1730BAC6358B020E5359B15D = {isa = PBXBuildFile; fileRef = 130A1E6607521A6C51E7E702; }; FDCC043886C609481941F040 = {isa = PBXBuildFile; fileRef = 407B6CB925E1B5FAA7E3914E; }; 2191E7D09CE99E98C2CCCF54 = {isa = PBXBuildFile; fileRef = 7B09ECEA92A79A22173B9A1A; }; + 841F2C2B98BCB5059C093CCA = {isa = PBXBuildFile; fileRef = A0BFEED17AF0E43A7401189C; }; 84756A2E1F219D073187D649 = {isa = PBXBuildFile; fileRef = 4F1AF1D850DBBFB581EAE294; }; - 7EA4251BCAB69DFB30714F02 = {isa = PBXBuildFile; fileRef = 458D73FCC89935898F0D2C23; settings = {COMPILER_FLAGS = "-w"; }; }; - 0ACC51AD2625252A07CA4879 = {isa = PBXBuildFile; fileRef = 45E3757052FEDC9305DE5972; settings = {COMPILER_FLAGS = "-w"; }; }; - 2236265BB177790B2538C459 = {isa = PBXBuildFile; fileRef = E7649B82B33E1D1CED45A85C; settings = {COMPILER_FLAGS = "-w"; }; }; - 99484ABBF821D5EE7B1D7247 = {isa = PBXBuildFile; fileRef = 560F8258408D6E0570430645; settings = {COMPILER_FLAGS = "-w"; }; }; - 95AF306B0F5C85A8C9DD9B1E = {isa = PBXBuildFile; fileRef = E358A07AFF9BD2EBB2FD9231; settings = {COMPILER_FLAGS = "-w"; }; }; - 191C1F422857A0D8EAD2904E = {isa = PBXBuildFile; fileRef = 6B4F3D7D16227556351F5208; settings = {COMPILER_FLAGS = "-w"; }; }; - C1A2F67AF8BDFD521275D510 = {isa = PBXBuildFile; fileRef = 9ECA1ECBFEDF5753570E1CE4; settings = {COMPILER_FLAGS = "-w"; }; }; - 0B7BC7F8B8D8D62596A05113 = {isa = PBXBuildFile; fileRef = 23091881E26A7EDE62D105E2; settings = {COMPILER_FLAGS = "-w"; }; }; - 95486F6D8531581E2CBC8C83 = {isa = PBXBuildFile; fileRef = 731D166A94A169F40BB0C638; settings = {COMPILER_FLAGS = "-w"; }; }; - 3A8CFA203FC06C1220AE0B0E = {isa = PBXBuildFile; fileRef = 168F080C39D0C2622BF07BBB; settings = {COMPILER_FLAGS = "-w"; }; }; - 9566BB3E37A14303A12D5ADF = {isa = PBXBuildFile; fileRef = 3EC20942E3060C6E04E78734; settings = {COMPILER_FLAGS = "-w"; }; }; - F09DA9A8BEF646D257C08269 = {isa = PBXBuildFile; fileRef = BC9BDCFF1ACF147F86BF66B0; settings = {COMPILER_FLAGS = "-w"; }; }; - ECB3617761523DA82669F12F = {isa = PBXBuildFile; fileRef = BF0E0D436423306098D443EA; settings = {COMPILER_FLAGS = "-w"; }; }; - 10E7BC23B9F368723254014B = {isa = PBXBuildFile; fileRef = 261F1F55DF0430FA3656D346; settings = {COMPILER_FLAGS = "-w"; }; }; - ADC4FBAFB0BAD5FD22BA8B0D = {isa = PBXBuildFile; fileRef = E6D2334CFA8C9CEB693FDED7; settings = {COMPILER_FLAGS = "-w"; }; }; - 9096673BE2474D04E1477403 = {isa = PBXBuildFile; fileRef = D0871319290F1C42DAFA972C; settings = {COMPILER_FLAGS = "-w"; }; }; - 9F53BD2DD99C494E29D4C1D8 = {isa = PBXBuildFile; fileRef = 1E83EA20BEF3D521089FE676; settings = {COMPILER_FLAGS = "-w"; }; }; - 71A2FF65499CDC802BE5C5D6 = {isa = PBXBuildFile; fileRef = C590BE5EBEFBDCC508E8233F; settings = {COMPILER_FLAGS = "-w"; }; }; - 4478887C79068C3249A40800 = {isa = PBXBuildFile; fileRef = 4B133B1F9874EBA8953DCDF9; }; - 8670C513AAD62085580639FC = {isa = PBXBuildFile; fileRef = 76FD799F05D94842EEF552FD; }; - FE3ECA8C54DCAD8D3FF5D53C = {isa = PBXBuildFile; fileRef = 5D14102BB6BB7AE2D89C7A87; }; - E5404D4946F26CEEC44A75F6 = {isa = PBXBuildFile; fileRef = 7BD189FD9F797A43D5818C6A; }; - 6C725B9334C7FCF4FE351881 = {isa = PBXBuildFile; fileRef = 426958B7DB499792338C7359; }; - 856D7AF2002EEE1877D92C5B = {isa = PBXBuildFile; fileRef = C6EE8BDFC42B4B3B149DB6CB; }; - 9D86E9184890EAE70502B8C2 = {isa = PBXBuildFile; fileRef = 35B628AB8DFBC44E9BBF1EF9; }; - B8729D4A858EFA4F73DE0E59 = {isa = PBXBuildFile; fileRef = D93DD123CF1E82A3CC410853; }; - A9BB875C8440D63314C22669 = {isa = PBXBuildFile; fileRef = D9D80C50710E5B4465F776C9; }; - BCD280B0A7416F0AE374A023 = {isa = PBXBuildFile; fileRef = 32163E95DE23FC34236D5222; }; - 00B1D70A78B9DE9B59CD916D = {isa = PBXBuildFile; fileRef = 264B942F4B19B89749EAA874; }; - 79B39874B0D660C0CDFE7390 = {isa = PBXBuildFile; fileRef = 9074CCFE08F3965E4129AC84; }; - 74B13D54BD1E98374F1C377B = {isa = PBXBuildFile; fileRef = C63A37F5E2B0F3A457A1CB5E; }; - 65964AD2B7B1219CC0301D18 = {isa = PBXBuildFile; fileRef = DAE44B592D6EEE1CB93CB155; }; - 7DDCB286A68F6DD6618FD6F3 = {isa = PBXBuildFile; fileRef = 260974AE3CD80140CDAE7350; }; - E6299CC6951F6B1BB96ADAF7 = {isa = PBXBuildFile; fileRef = 7A874F15B399218ED0FC60AE; }; - D7AC0D1BA7B3C92FCE2A1550 = {isa = PBXBuildFile; fileRef = F6AE18B04CC3D2BB90189253; }; - 7DEE8DCC61C4DAAA1A20F8DE = {isa = PBXBuildFile; fileRef = 55DFDE807E321ABD1E879E41; settings = {COMPILER_FLAGS = "-w"; }; }; - C3D123AD82750200BB4C24A2 = {isa = PBXBuildFile; fileRef = AB04D06155A5E52B0658F3D6; settings = {COMPILER_FLAGS = "-w"; }; }; - 19B58975A103B95F75FD0D17 = {isa = PBXBuildFile; fileRef = 1000AB9EC17650FB0092DCD8; settings = {COMPILER_FLAGS = "-w"; }; }; - 3939385E16CE1D2CBDEDE386 = {isa = PBXBuildFile; fileRef = 7D2CA0CEB4019C90AE75474C; }; - 8D123F3443880D4ADEDB4662 = {isa = PBXBuildFile; fileRef = 283ADB95E9375730B1389880; settings = {COMPILER_FLAGS = "-w"; }; }; - 3C7089CE5598FCFD1EAD1485 = {isa = PBXBuildFile; fileRef = 54AEFF14FCEFC2DC56A700C4; }; - A9AD48DFD6B160F9CC03DFD0 = {isa = PBXBuildFile; fileRef = 8DC3D1402CD78E1E728A885C; }; - C66884187B80BD5910EE06B3 = {isa = PBXBuildFile; fileRef = 897466367AE90A6757BD78AA; }; - ED47AD228A2A197790647B57 = {isa = PBXBuildFile; fileRef = C97229429AD64768E560F4AD; }; - 2BB53A9E20BD13D5422F24B3 = {isa = PBXBuildFile; fileRef = 1D9AC8EB8D85BF93BB65903C; settings = {COMPILER_FLAGS = "-w"; }; }; + C45C4C878E526E955DB4BE2C = {isa = PBXBuildFile; fileRef = CC3734C049214EF91327C2B6; }; + BC0836F398C7EA8BED36B53B = {isa = PBXBuildFile; fileRef = 9B38FFE6C8577E7F22DFEF2F; }; + 8FF45061553548B84D31A121 = {isa = PBXBuildFile; fileRef = 689794DAC80724A7C23A1759; }; + F07C6D3843A293AF087DC6AA = {isa = PBXBuildFile; fileRef = E5409833E1E918CA55D10AD2; }; + 64624CD6DC9AD04D81B9E401 = {isa = PBXBuildFile; fileRef = 325E6940756EA22A3C1BE221; }; + 057B3431395E851B7328AE02 = {isa = PBXBuildFile; fileRef = 29ED8FCBD8C2266ADEB20562; }; + B86E69BAB72ADBB747DB109C = {isa = PBXBuildFile; fileRef = EDC96EC7A203B6651E276570; }; + AC189F12175DC086C874AB24 = {isa = PBXBuildFile; fileRef = 2036F17ABD883B549ADB5AB1; }; + E03A96B10126A69293C044FD = {isa = PBXBuildFile; fileRef = 09EF8164769B6C1C465043E8; }; + CEBB3C6F336A43045FFF411D = {isa = PBXBuildFile; fileRef = 06CF19E1F0DF4A044230278E; }; + C350DA41F6D035F3D3E6EC7E = {isa = PBXBuildFile; fileRef = 0687379A6565865C32BF9DA2; }; + D2911E6003C09F6FD9FE0778 = {isa = PBXBuildFile; fileRef = C3F81C3ECC37FF7561B533C7; }; + 46796E31A198BBCE6DF8FF34 = {isa = PBXBuildFile; fileRef = 14E0437FF273CAA3AE7B0C3D; }; + 8C236CA6BA0F2FA11A6086CD = {isa = PBXBuildFile; fileRef = 7B0A88689774E44EBED72E5B; }; + E3B14A780AAFEA215DDA35EC = {isa = PBXBuildFile; fileRef = 792B83479ED48C1EA624DA2D; }; + 3B1E7EDF992DB4063FF525AA = {isa = PBXBuildFile; fileRef = 35B8DEAC54C1F6B087889FCC; }; + 1CC76FADF13D24B719E25EF5 = {isa = PBXBuildFile; fileRef = E517626847A1820596BED522; }; + 14BA3B8D23EF151817492C6A = {isa = PBXBuildFile; fileRef = 51CBC73FA1537DAD9BC1F404; }; + 43B059BCCE49AB92396DD5AA = {isa = PBXBuildFile; fileRef = 014DAD5D4BEFDB2906FD1E63; }; + E42654A1F7F310A289F36412 = {isa = PBXBuildFile; fileRef = 86382EEFD2D874C080F395EA; }; 000096281630E66302471DC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemStats.cpp"; path = "../../../../../modules/juce_core/system/juce_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; 0000B383909E786E176792A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; 000C4E4CDAC4D42438BBB368 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; }; 005CA70DE9A82DE8F5FCADA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 0077BF3E748A1660AA76177D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; }; 00BAB08A3C7CE1A00569FFB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardState.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h"; sourceTree = "SOURCE_ROOT"; }; - 00C116095BB7F53697076A64 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = "SOURCE_ROOT"; }; 01388BAC073A677D690F9909 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiDataConcatenator.h"; path = "../../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h"; sourceTree = "SOURCE_ROOT"; }; 014002774B3422892E4EA107 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; }; + 014DAD5D4BEFDB2906FD1E63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../JuceLibraryCode/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; 024CB198D719E920742AAF38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V1.h"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h"; sourceTree = "SOURCE_ROOT"; }; 02CE6BB6202647637FF78A6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LAMEEncoderAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 036F63DADE847F2C8CF7E777 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; }; @@ -92,8 +73,10 @@ 062AE65E85BE1B39992B57CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Files.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; 066114E60A069947ADE8F592 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; 0685B03C781ACC4F4BF210DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; }; + 0687379A6565865C32BF9DA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../JuceLibraryCode/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; 0693085A1667BC47ED3617D6 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; 06BFF4F032F4361053215F18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiFile.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiFile.h"; sourceTree = "SOURCE_ROOT"; }; + 06CF19E1F0DF4A044230278E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_VST3.cpp"; path = "../../JuceLibraryCode/juce_audio_plugin_client_VST3.cpp"; sourceTree = "SOURCE_ROOT"; }; 06DDE24D31E77F83DA06B7A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiser.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h"; sourceTree = "SOURCE_ROOT"; }; 072F4B3C29A6C04BB17B1355 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; }; 0761C9CA82D7B3B28E30742D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Matrix3D.h"; path = "../../../../../modules/juce_opengl/geometry/juce_Matrix3D.h"; sourceTree = "SOURCE_ROOT"; }; @@ -107,6 +90,7 @@ 08B5FBB5AE51C7358FBCBBBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; }; 08D97E821F4B7A1B9210D617 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ActiveXComponent.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 0977881EAF41DFC35199C670 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLContext.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + 09EF8164769B6C1C465043E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_VST2.cpp"; path = "../../JuceLibraryCode/juce_audio_plugin_client_VST2.cpp"; sourceTree = "SOURCE_ROOT"; }; 0A5ADDE20162C3152A42CE9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginBusUtilities.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_PluginBusUtilities.h"; sourceTree = "SOURCE_ROOT"; }; 0A88AADC41E465FAE7085BBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; }; 0ABB990275F24497DEDF9412 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -130,6 +114,7 @@ 0EC44B4F782B363577DC6BB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 0EC5AD5447DD911B8294F413 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; }; 0ECBC001B10ABD4E646F2141 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0EDADF88933CA900D1954C40 = {isa = PBXFileReference; lastKnownFileType = file.rsr; name = "juce_RTAS_WinResources.rsr"; path = "../../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_WinResources.rsr"; sourceTree = "SOURCE_ROOT"; }; 1000AB9EC17650FB0092DCD8 = {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"; }; 10307599177903E1B8824E06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; }; 103B4CFDB78F4A23AB769052 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -143,6 +128,7 @@ 130A1E6607521A6C51E7E702 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; 133D8BD5E70B617551984B9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IncludeModuleHeaders.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_IncludeModuleHeaders.h"; sourceTree = "SOURCE_ROOT"; }; 13D8722208F699E53B7747F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; }; + 14E0437FF273CAA3AE7B0C3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../JuceLibraryCode/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; 14F90FA0BB49D8D7C4E57D9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; }; 151920CADF3E53C3A5D51CDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDirectoryScanner.h"; path = "../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h"; sourceTree = "SOURCE_ROOT"; }; 155136FF907C0F22B16F615C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; }; @@ -155,7 +141,7 @@ 16668C6FCCB026D9EE73B48F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; }; 1666A8702F749A1DC706A8A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 168538787685D8B11A48870D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; - 168F080C39D0C2622BF07BBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUOutputElement.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUOutputElement.cpp"; sourceTree = "SOURCE_ROOT"; }; + 169166E084E7C70761B779E9 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-VST.plist"; path = "Info-VST.plist"; sourceTree = "SOURCE_ROOT"; }; 1703E734221F32B55AB20CAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; }; 17F28C04484247E6C51153C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; }; 188DD1909D466AF4B6E69E4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPlayHead.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioPlayHead.h"; sourceTree = "SOURCE_ROOT"; }; @@ -166,6 +152,7 @@ 19517B71434F5FFC2651501C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; }; 1974E69525035B5F341DCA6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_File.h"; path = "../../../../../modules/juce_core/files/juce_File.h"; sourceTree = "SOURCE_ROOT"; }; 19A63325AE4C9713333A913C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 19E1189C678E9189ECD11DEF = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-AAX.plist"; path = "Info-AAX.plist"; sourceTree = "SOURCE_ROOT"; }; 1A48F453FBCFEB197F518E4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MACAddress.h"; path = "../../../../../modules/juce_core/network/juce_MACAddress.h"; sourceTree = "SOURCE_ROOT"; }; 1A635AC7B19A22FA1C5AE1FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; 1A755B96F4FA13FB9706F070 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MP3AudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -183,21 +170,19 @@ 1D1A33E2110AE5748CA33E65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FloatVectorOperations.h"; path = "../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h"; sourceTree = "SOURCE_ROOT"; }; 1D446F680857EBC807F10AA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; 1D914D2BA45E19AE85866E08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; }; - 1D9AC8EB8D85BF93BB65903C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MusicDeviceBase.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/MusicDeviceBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 1DF12382D165910E9C82AEE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BooleanPropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 1E1B654F129B4B2743E45B77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; }; 1E3ACA8D2555202816263254 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODeviceType.h"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h"; sourceTree = "SOURCE_ROOT"; }; 1E67025B1F91B4FD970B9B39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLTexture.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.cpp"; sourceTree = "SOURCE_ROOT"; }; 1E745C17E2CB67B7F98AE2A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; }; - 1E83EA20BEF3D521089FE676 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAVectorUnit.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAVectorUnit.cpp"; sourceTree = "SOURCE_ROOT"; }; 1EDE2B26626301E27BE6BE2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; }; 202CFECD13C277D8F30AED16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 2034E590062F7F6B7EEB450C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; + 2036F17ABD883B549ADB5AB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_VST_utils.mm"; path = "../../JuceLibraryCode/juce_audio_plugin_client_VST_utils.mm"; sourceTree = "SOURCE_ROOT"; }; 208AF232C232980C62C6FB4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp"; sourceTree = "SOURCE_ROOT"; }; 20CBEB8354EC13269E7DA72F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterBool.h"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h"; sourceTree = "SOURCE_ROOT"; }; 214ED3A99718536044A9897D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 21538DBF6C45B0BD14E89F57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; }; - 216FE5DFD42E0A3A8DB91901 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_audio_formats/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 21B7C7DBE34A68DB00A726C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LuaCodeTokeniser.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; 21BF41A319F0074EC3CD470F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; }; 21FE01C41C1CD99C852C7609 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -205,7 +190,6 @@ 22A3F345BE74DB54722E6246 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; 22D0F2A884E9ABE11FA6B359 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; 22F7A09C95A58EAEE972D62B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; }; - 23091881E26A7EDE62D105E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUMIDIBase.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUMIDIBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 2395971B20B98B3A5BC28FDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; }; 2395B383F807D6875690314C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; 23967785D99600B250F32D59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; }; @@ -213,9 +197,6 @@ 252B344857F583516C219008 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; }; 253FCE81AE9E1892C73442D6 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; 257CFFF0281E2987C3D35CD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; }; - 260974AE3CD80140CDAE7350 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; - 261F1F55DF0430FA3656D346 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAMutex.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAMutex.cpp"; sourceTree = "SOURCE_ROOT"; }; - 264B942F4B19B89749EAA874 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; 2656BD53C5B7E6BB7B4E71FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; }; 269CE6F16682A65115B201D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceManager.cpp"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 26C3B3905128605AE1A2F505 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReader.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -226,6 +207,7 @@ 2926914BD8FB64093F7E3FCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; 29597BD09004A1E41CEE997D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageSequence.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h"; sourceTree = "SOURCE_ROOT"; }; 298205CEB528B1048E7572B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormat.cpp"; path = "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 29ED8FCBD8C2266ADEB20562 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AU_2.mm"; path = "../../JuceLibraryCode/juce_audio_plugin_client_AU_2.mm"; sourceTree = "SOURCE_ROOT"; }; 2B3FB20F8237DB0C8618F18D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Desktop.cpp"; path = "../../../../../modules/juce_gui_basics/components/juce_Desktop.cpp"; sourceTree = "SOURCE_ROOT"; }; 2B666A8D2E1E9F81D5139566 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MD5.cpp"; path = "../../../../../modules/juce_cryptography/hashing/juce_MD5.cpp"; sourceTree = "SOURCE_ROOT"; }; 2B71D20D7270815E421D2F9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -252,22 +234,21 @@ 315372231DC2E25A7208F8EC = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; }; 31882AD7F2169844F3442DF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooserDialogBox.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h"; sourceTree = "SOURCE_ROOT"; }; 31AA614A6097C175E568A4F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; }; - 32163E95DE23FC34236D5222 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../../../../modules/juce_cryptography/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; 32389CB5D9FF7820200784D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; }; 324BCBD3697555B09B0B6583 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 325E6940756EA22A3C1BE221 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AU_1.mm"; path = "../../JuceLibraryCode/juce_audio_plugin_client_AU_1.mm"; sourceTree = "SOURCE_ROOT"; }; 3305A965DBA8A012C58FFD06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; }; 335D5A8B0F19078054B5362D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterInt.h"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h"; sourceTree = "SOURCE_ROOT"; }; 339C9C791240F0D70280346E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreAudio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; 347FC21AFBF1CD97D0F3D430 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 355F1AFDDADFF457A03EC908 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginListComponent.h"; path = "../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h"; sourceTree = "SOURCE_ROOT"; }; 359CF3C6D92328D4DF140360 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTreeSynchroniser.cpp"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"; sourceTree = "SOURCE_ROOT"; }; - 35B628AB8DFBC44E9BBF1EF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../../../../modules/juce_audio_formats/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; + 35B8DEAC54C1F6B087889FCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../JuceLibraryCode/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; 35E119A589F901CEF3C344D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; 35EE9D003338889181E35334 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; }; 35F5C5AD5C503FF899B7A581 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiInput.h"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h"; sourceTree = "SOURCE_ROOT"; }; 35FFFC72EB6015F79E23D471 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; }; 36E0D0FC8ED7169412D97115 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDescription.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h"; sourceTree = "SOURCE_ROOT"; }; - 36E4802B829498DBF827710B = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_audio_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 3702C9C0F7A9A031EE4C9C5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; 377EE4F29DE0ECCB0B0F8EBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FakeMouseMoveGenerator.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_FakeMouseMoveGenerator.h"; sourceTree = "SOURCE_ROOT"; }; 3844B4C3527ED9ADE3124C84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; }; @@ -281,6 +262,7 @@ 3A3FBD61A69BDE45825F491A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; }; 3A880CE1CD3EF426314B8461 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; }; 3A921FC0CD6E7863037FDAB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3A925CFFB7F60920C14EC144 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AUv3_Wrapper.mm"; path = "../../../../../modules/juce_audio_plugin_client/AU/juce_AUv3_Wrapper.mm"; sourceTree = "SOURCE_ROOT"; }; 3AD0501F864C4F2DD41C5966 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; }; 3B0253CED61E4E1336D22FE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; }; 3B51EEF0617244E05E6F1AA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -293,7 +275,8 @@ 3CBCD1DAFCF603529B1609A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; }; 3D8F4EEAB30D31309F8D6D73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 3DA9B49B4D22E5DA94F64E93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorValueTreeState.cpp"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp"; sourceTree = "SOURCE_ROOT"; }; - 3EC20942E3060C6E04E78734 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUScopeElement.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUScopeElement.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3DD44C9CDED984015C75E02F = {isa = PBXFileReference; lastKnownFileType = file.def; name = "juce_RTAS_WinExports.def"; path = "../../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_WinExports.def"; sourceTree = "SOURCE_ROOT"; }; + 3E67AEA9A0FD3291E8C1B486 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-VST3.plist"; path = "Info-VST3.plist"; sourceTree = "SOURCE_ROOT"; }; 3EE91003DBE013763ADE30BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 3F01D21B25BF10D73ED5A7B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; }; 3F387CF5DBB0BD68FB20A696 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -312,7 +295,6 @@ 41A64D81E976A07DB6741318 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; 4228AB345083BD55A8EBD8C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; 42431A6D35BB7759FBA0A1A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLContext.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h"; sourceTree = "SOURCE_ROOT"; }; - 426958B7DB499792338C7359 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../../modules/juce_audio_basics/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 429F3929CFD75239AC664BAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 42B18357B0BEDD8AC87D7606 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colours.h"; path = "../../../../../modules/juce_graphics/colour/juce_Colours.h"; sourceTree = "SOURCE_ROOT"; }; 42D807689394528F84062DFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODevice.cpp"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -324,13 +306,10 @@ 44E64F895D6561C7F402FFAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 44F55939DAE240E085F0E71B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorEditor.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; 4571F26DCD01A1F55C9B534F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; }; - 458D73FCC89935898F0D2C23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUBase.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 45AC6DA85F3FA14869C73353 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GraphicsContext.cpp"; path = "../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; 45AD1E5475B9820E1CC8A636 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; }; - 45E3757052FEDC9305DE5972 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUBuffer.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; 460FAEBE1DC6115C7340D368 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; }; 461F838AD745342758352B60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEInstrument.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4659E9FA7D72C63143A08C0B = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_cryptography/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 466A9246164862ED1C3A587E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedAudioFormatReader.h"; path = "../../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; 4681A13A910676436194A911 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPENote.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.h"; sourceTree = "SOURCE_ROOT"; }; 46D69FBBE27F4A04A7256894 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; }; @@ -349,6 +328,7 @@ 48C276D29013A113554F9744 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; }; 492F0C1B45FB661811F8CFC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; }; 495B9784D6D0CB0995A1B335 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemFactory.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h"; sourceTree = "SOURCE_ROOT"; }; + 499621E04BA626F64944B0D4 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Surround.vst; sourceTree = "BUILT_PRODUCTS_DIR"; }; 49AA62E16981187F37AADA97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDirectoryScanner.cpp"; path = "../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp"; sourceTree = "SOURCE_ROOT"; }; 49EF2BC6D82746658EAEFC0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; }; 4A120CE66FDF0A5865F9F7B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDescription.cpp"; path = "../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -370,9 +350,11 @@ 505C01F8D81CDB058DB7C2F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; 50784C284B2C0B3013CD69EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Primes.h"; path = "../../../../../modules/juce_cryptography/encryption/juce_Primes.h"; sourceTree = "SOURCE_ROOT"; }; 507FCB578F092B366DEA9B7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; }; + 51279E770452336B3FFF01BD = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-Shared_Code.plist"; path = "Info-Shared_Code.plist"; sourceTree = "SOURCE_ROOT"; }; 514EC10712215945B7F8416C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentPeer.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h"; sourceTree = "SOURCE_ROOT"; }; 51818ABE8CD0F583889641E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDataConverters.h"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h"; sourceTree = "SOURCE_ROOT"; }; 51A3092B54D75D13A0FE396D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 51CBC73FA1537DAD9BC1F404 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; 524272F93429A23FD3E4F2DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; 526373D29E0EC21236A180A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; }; 529AD7AB6A1295DC4ECA656D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -388,8 +370,6 @@ 5482BD21DE59A22067C055FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; }; 54A41365A3154277CAA3E56C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; 54A86948A7F0477C05BF1AFC = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = System/Library/Frameworks/QTKit.framework; sourceTree = SDKROOT; }; - 54AABF3254D0420FE2AEB249 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_events/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; - 54AEFF14FCEFC2DC56A700C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../../../../modules/juce_video/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; 55069C6AE1A3046D6527C262 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; }; 5582E5736849C25D20668E8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemTrayIconComponent.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 5583A45CA7C609741BB8B9EF = {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"; }; @@ -397,7 +377,6 @@ 55DB7B3538299A738B54E37C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_QuickTimeAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 55DFDE807E321ABD1E879E41 = {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"; }; 560D45B247F62D55D9EAF0EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLAppComponent.cpp"; path = "../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 560F8258408D6E0570430645 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUCarbonViewControl.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewControl.cpp"; sourceTree = "SOURCE_ROOT"; }; 5617580E3E1804308EA597D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; }; 563BBDE946ECE2B48D02A3AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; }; 565A7B1763F8B66AE9197037 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; }; @@ -430,7 +409,6 @@ 5CE626D4E648E84ADAF43E76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 5CE690E9093E02CE1A23BC80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 5CF35BE370ADB7690C9F634B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Audio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; - 5D14102BB6BB7AE2D89C7A87 = {isa = PBXFileReference; lastKnownFileType = file.r; name = "juce_AU_Resources.r"; path = "../../../../../modules/juce_audio_plugin_client/AU/juce_AU_Resources.r"; sourceTree = "SOURCE_ROOT"; }; 5DADB12CCEDF09D0BE21510C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; 5DB36E27FCDAD3FE2BCFA155 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; }; 5DC0AC03E07D3B3ED68E1D3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -475,14 +453,13 @@ 67EA6F256BEF7618EC7D99DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; 67FE3ACAFC37091FBDAAF35B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CameraDevice.cpp"; path = "../../../../../modules/juce_video/capture/juce_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; 68769796EB116F1CD87157B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; }; + 689794DAC80724A7C23A1759 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../JuceLibraryCode/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; 68DE92B6A185CD59672D3C44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorGraph.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h"; sourceTree = "SOURCE_ROOT"; }; 6A05858CDF6B2CD600F7363B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PositionableAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; - 6B4F3D7D16227556351F5208 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUDispatch.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUDispatch.cpp"; sourceTree = "SOURCE_ROOT"; }; 6C0378C2BC3AF60B11E7B577 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; 6C4AB54DBC432556EED5606D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; 6D41112723F4A26BFB828497 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 6DC698D49D38C54E5E148EB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; - 6DCD394570BEDF2532DC0DBD = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_audio_devices/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 6DD53D2067B56F7B851EAB18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_android.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_android.h"; sourceTree = "SOURCE_ROOT"; }; 6E3908F6B6B28178135530FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormat.h"; path = "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; 6E562E933928F42CFA6BBBAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -506,7 +483,6 @@ 71F3BA89A0A75D16910B7287 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_RuntimePermissions.cpp"; path = "../../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; 7224B3E86B0B213EFA6F6742 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; }; 723F0D8EA22ED6781CE9F8A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; }; - 731D166A94A169F40BB0C638 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUOutputBase.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUOutputBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 73F08CF0C5DA76EF64A292A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 741EB6D93443EAF22F90D25D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; }; 745CC0B64BB09F40A77FCD36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -514,7 +490,6 @@ 75D5ACB2D8B96170CEC33B10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; }; 7641E9D1CC635B7AB3CD681E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; 764CC7C9098B8A13EE1E2BDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_plugin_client.h"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client.h"; sourceTree = "SOURCE_ROOT"; }; - 766C5E9EE664078EF639A77A = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_audio_plugin_client/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 766D8F6CCB7C552365002CBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessor.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h"; sourceTree = "SOURCE_ROOT"; }; 7673AA512CED1146F25CAF8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; 76AE8F26F4B59A3BFAC5CD98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -522,39 +497,53 @@ 779B2DEAEE0E57CE5E08FC15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; }; 77DBEC23583C975FD0D93328 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; }; 7830C7C7546EA608B0571C75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 792B83479ED48C1EA624DA2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; 79DA4D04180515F4C618B0F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; }; 7A4BF549A89BA2F462FA1FB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODevice.h"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h"; sourceTree = "SOURCE_ROOT"; }; 7A56CE3D3541FE47AF107730 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; }; - 7A874F15B399218ED0FC60AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../../../../modules/juce_opengl/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; 7A92E35CDEF1FCF3C7E445F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; 7AF78655BE7A898AF6795F51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; 7B002478D9CBC13567054938 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectSound.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp"; sourceTree = "SOURCE_ROOT"; }; - 7B09ECEA92A79A22173B9A1A = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; sourceTree = "SOURCE_ROOT"; }; + 7B0A88689774E44EBED72E5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; 7B0C46F2447F8BFBBF0DA34B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; }; 7B0E2DCDF4BFA8DF381674BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterFloat.h"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h"; sourceTree = "SOURCE_ROOT"; }; 7B510507B8087E503273380A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Draggable3DOrientation.h"; path = "../../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h"; sourceTree = "SOURCE_ROOT"; }; - 7BD189FD9F797A43D5818C6A = {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"; }; - 7C4ABF1BEC3B9DF099B278E5 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 7CB87F4F981135E701CC4D5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; 7CF0389C80C56663CFB07375 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; - 7D2CA0CEB4019C90AE75474C = {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"; }; 7D4F7A80F1AFC4853F307DD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; 7D725C33C92063B40C0A3358 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_video.h"; path = "../../../../../modules/juce_video/juce_video.h"; sourceTree = "SOURCE_ROOT"; }; 7DA7FB17E011B6E4F6B1E788 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; - 7DB369B2887D6A596C235884 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; 7DDE5E94DED6CAC6867415DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 7E08F28DB14A6D7D2844B6C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 7E4528E31F83EB3DE3C759A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; sourceTree = "SOURCE_ROOT"; }; 7E9EEE55C07DEB78803DBF5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEInstrument.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h"; sourceTree = "SOURCE_ROOT"; }; 7EA3555E21692E5DF2440B10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; 7F0FB2F4C1A707652E7288BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 7F2031BCF41D69FB01E27151 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Vector3D.h"; path = "../../../../../modules/juce_opengl/geometry/juce_Vector3D.h"; sourceTree = "SOURCE_ROOT"; }; - 7F2D0D179F33F819C5371E25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; - 7F9EFDB0517F3BA863DE3800 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; }; 7FB8750BA8CBC35CD7D49DFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; }; - 806CEC545181D9CE0C407F56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 80C5AD2DA2CA4CBB5CDCBB91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 80DF1F37EE64FF1C97B10234 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; }; + 822E9C44E7574C93267575FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; }; + 86382EEFD2D874C080F395EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../JuceLibraryCode/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; + 884753558BC1F3FA3CD36289 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 89DB87A634C78DA7F3891C19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLRenderer.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h"; sourceTree = "SOURCE_ROOT"; }; + 8A604B4BD445F2F0F2ED6C96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8ACBFC171B28F02B7C79EC9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8B2B33EB8FE2027523BD9ADD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 8D2F64C046BBAAA084369818 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8F2975B67CB7CCA0D0F60988 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; + 90A254BFD276CFF0F809F867 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; }; + 97486545E0DEF7983FD5CA4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3PluginFormat.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + BD8F8FE01A1D7B8B04AB5665 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + D035D1C2F16559D0BB4F80D0 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Surround.vst3; sourceTree = "BUILT_PRODUCTS_DIR"; }; + 79FE5C3ECC20E6354609E715 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Surround.component; sourceTree = "BUILT_PRODUCTS_DIR"; }; + 7B09ECEA92A79A22173B9A1A = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; sourceTree = "SOURCE_ROOT"; }; + 7BD189FD9F797A43D5818C6A = {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"; }; + 7D2CA0CEB4019C90AE75474C = {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"; }; + 7DB369B2887D6A596C235884 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; + 7E08F28DB14A6D7D2844B6C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7E4528E31F83EB3DE3C759A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7F2D0D179F33F819C5371E25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; + 7F9EFDB0517F3BA863DE3800 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; }; + 806CEC545181D9CE0C407F56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 80EA2404E65720795807D3AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; }; 80EC192E3258108B55EC9899 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameterWithID.h"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h"; sourceTree = "SOURCE_ROOT"; }; 80EFB73C0DD18C003A15150B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiFile.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -563,7 +552,6 @@ 81AA77778650547EC6E2050A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; }; 81B62FAA3F986C19D805C899 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; 82167C943DFB4C69D017E459 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; }; - 822E9C44E7574C93267575FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; }; 82791DF73E7508C75E0B8FAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; }; 831D6FCD81612A1649B0CF08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; }; 83C89E3C13A5897E5A1A062E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEMessages.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h"; sourceTree = "SOURCE_ROOT"; }; @@ -575,7 +563,6 @@ 870B95887E00B482EC3BCBC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; 878E3A6EA611E5474CCCF740 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; }; 87CBFFF0A410C24D08C77B9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; - 884753558BC1F3FA3CD36289 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; 8884CB197E61E62731D1A4B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; 889215816EC0BE292B4FC278 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 88B47C0A3A0E52A0A69E85DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; }; @@ -584,33 +571,26 @@ 89685AA70302A3738E626A4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; 897466367AE90A6757BD78AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_VST_Wrapper.mm"; path = "../../../../../modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.mm"; sourceTree = "SOURCE_ROOT"; }; 89BE99C79A12FAA559AB0958 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; - 89DB87A634C78DA7F3891C19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLRenderer.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h"; sourceTree = "SOURCE_ROOT"; }; 89F91578BC83BFC96AC2610F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; }; 8A0648AE319C0CEA55D7AD88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_OpenSL.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp"; sourceTree = "SOURCE_ROOT"; }; 8A41776B06DC327163E64BF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; - 8A604B4BD445F2F0F2ED6C96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; }; 8AB1217C7D9CEC5CA4CE87B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; - 8ACBFC171B28F02B7C79EC9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 8B2B33EB8FE2027523BD9ADD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; 8B61BBC7490B7EB09164C24E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Headers.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h"; sourceTree = "SOURCE_ROOT"; }; 8B8C8E45262B02EE3013C440 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 8D2F64C046BBAAA084369818 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8D7431A21F329A0623106F9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StandaloneFilterApp.cpp"; path = "../../../../../modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterApp.cpp"; sourceTree = "SOURCE_ROOT"; }; 8D8276FB197AE7CF5FBB3AB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 8DC3D1402CD78E1E728A885C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST_Wrapper.cpp"; path = "../../../../../modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp"; sourceTree = "SOURCE_ROOT"; }; 8DCC53AC83A1540BF58AF95D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; 8E11074D4A9A023AE33D2777 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CheckSettingMacros.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h"; sourceTree = "SOURCE_ROOT"; }; 8E28587642CBB61611683FD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; }; 8E6335DFBAE378576EF03F31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; }; - 8F2975B67CB7CCA0D0F60988 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; 8F55DF38EC1E6CF8D9997E8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; }; 8F5984113D804ADFE2044178 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RSAKey.cpp"; path = "../../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp"; sourceTree = "SOURCE_ROOT"; }; 8FB6FBE0529C3103625CCD7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLHelpers.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 90173E41D4452D99A6315DCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; }; 903F61DB5200F7F044160307 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; }; - 9074CCFE08F3965E4129AC84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; 907ECB8961B34F538328C66D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_formats.h"; path = "../../../../../modules/juce_audio_formats/juce_audio_formats.h"; sourceTree = "SOURCE_ROOT"; }; 909AD17AC8323FE339E5B6E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 90A254BFD276CFF0F809F867 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; }; 90C7260EB1DD77FAD05FA9EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; 90FDEA82B4C3D8E20796C174 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; 9108FB3A7D17D0F8B7BE249C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; @@ -619,7 +599,6 @@ 91DC52EFEE54AA6A25F414F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilter.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h"; sourceTree = "SOURCE_ROOT"; }; 924B473BB36A76EAF10CAF93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 924E35B4AEA8576E57F72C6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - 9254FDFB5A9960976D581FF4 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_video/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 92D7694B81788A2E5A7AEF68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; }; 94064A8E7E57387E611786B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 947EB04468A24EA0C1E28688 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; }; @@ -629,13 +608,13 @@ 94F0DE4BE7EC544DFAFB4764 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; 95F3F4EDFF78C11D7800BCF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; 963CF5D3B2B91301FCF3A3B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; - 97486545E0DEF7983FD5CA4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3PluginFormat.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; 975BB97EED05CDBCFB755C9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; }; 9765531DE9F77E4B20761128 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Whirlpool.cpp"; path = "../../../../../modules/juce_cryptography/hashing/juce_Whirlpool.cpp"; sourceTree = "SOURCE_ROOT"; }; 988169569B4859887E539F01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; 99EAC514AE975761267EF416 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Slider.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp"; sourceTree = "SOURCE_ROOT"; }; 9A814A8C99FD0B43F96BE89C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlacAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 9AF8B777151E803927BD304F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9B38FFE6C8577E7F22DFEF2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../JuceLibraryCode/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; 9B3F61AC03E7ACB1E3096B8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextInputTarget.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h"; sourceTree = "SOURCE_ROOT"; }; 9B885EF1AC14458F7499B8AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GenericAudioProcessorEditor.cpp"; path = "../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; 9BA022320B40176B7D34174A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTPluginFormat.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; @@ -649,7 +628,6 @@ 9E3A95AEC172547B00C24183 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Midi.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; 9E45457C947F536119948087 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; 9E71C4F0492720C53904489D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; - 9ECA1ECBFEDF5753570E1CE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUInputElement.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUInputElement.cpp"; sourceTree = "SOURCE_ROOT"; }; 9F3DD2E88E09C3E742F1777D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 9F64E0A927BE804B3C140853 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_ios.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_ios.h"; sourceTree = "SOURCE_ROOT"; }; 9F8A6F25295031E2DD33BB6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPress.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h"; sourceTree = "SOURCE_ROOT"; }; @@ -660,6 +638,7 @@ A0590B9DF29A53A7C5A475EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; }; A082374123DF2AD1E20F6978 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Files.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; A0AB21B768AEA623AF8AC8AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserBase.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp"; sourceTree = "SOURCE_ROOT"; }; + A0BFEED17AF0E43A7401189C = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Surround.entitlements; path = Surround.entitlements; sourceTree = "SOURCE_ROOT"; }; A1713DDC5BB30C019D421804 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; A18A7B70D4AB75EACDABD8D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_CommonFile.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_CommonFile.cpp"; sourceTree = "SOURCE_ROOT"; }; A225CB6D4E1FEA0E79DDE776 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -701,7 +680,6 @@ AB6A298438EC79D6834B397F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPENote.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp"; sourceTree = "SOURCE_ROOT"; }; AB7DA807408C1458D1597C59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_processors.h"; path = "../../../../../modules/juce_audio_processors/juce_audio_processors.h"; sourceTree = "SOURCE_ROOT"; }; ABA78440E8BBC48CD14E4DE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; }; - ABD7D62B8A732F7E780AC47B = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_graphics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; AC3D9BE3FC1CF359F8920760 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; AC69E105CCF658FC2D078FC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; AC918E9FF22781B57964CD1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; }; @@ -737,7 +715,6 @@ B5A2DE2DE761E211AB6744E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; B5CE5220AFAA451EDE91F0BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; B5E2BA7CFF76835ADA9C0102 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - B697D45F3D6E9B7EEE3C639C = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_gui_extra/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; B71F1365994EF1A4D4EC9489 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLShaderProgram.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.cpp"; sourceTree = "SOURCE_ROOT"; }; B72286B24C9F05792D59A23A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; }; B738483978FF77CBB306A5E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; }; @@ -751,21 +728,17 @@ BB03F74A83F9A6F2259918C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; }; BB118876CBEBD25875FF399B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZoneLayout.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"; sourceTree = "SOURCE_ROOT"; }; BB51D4FAE50C56946D409DA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSubsectionReader.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h"; sourceTree = "SOURCE_ROOT"; }; - BB7114B9D7DF540C5711AC18 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_opengl/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; - BC9BDCFF1ACF147F86BF66B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAAudioChannelLayout.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAudioChannelLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; BCEC71B9BE394B2C21BBB7F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; BD5C315F852112DAEB25F52D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; }; BD66E983F2E3845F261B1F69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormatManager.cpp"; path = "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; BD7522064F6507425C88E48A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_devices.h"; path = "../../../../../modules/juce_audio_devices/juce_audio_devices.h"; sourceTree = "SOURCE_ROOT"; }; BD75D330BF7E56DBAF894032 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; BD8254BA924B79B924897664 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilterAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; - BD8F8FE01A1D7B8B04AB5665 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; }; BDB48058A0393BB21595D510 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; BDBD203A18A82D0739F9A879 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; }; BDD5D36BA8DBC821209099DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; }; BDF251FCFBB899CE5BA38638 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; BEB71F5F8A83276FFC889F76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; }; - BF0E0D436423306098D443EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAAUParameter.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAUParameter.cpp"; sourceTree = "SOURCE_ROOT"; }; BF383BAE302C164FCA2FE885 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToneGeneratorAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; BF61AF26A22D1ECE6DBE58CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; BFD8CD9DAD02C64472380BFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLTexture.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.h"; sourceTree = "SOURCE_ROOT"; }; @@ -788,7 +761,9 @@ C34797F37266DB39D227210D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; }; C3744746D5D42B49D24D7A1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MD5.h"; path = "../../../../../modules/juce_cryptography/hashing/juce_MD5.h"; sourceTree = "SOURCE_ROOT"; }; C37F9F3560C89C9FDDA70450 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KnownPluginList.cpp"; path = "../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp"; sourceTree = "SOURCE_ROOT"; }; + C3AF8BFE5557DE30A253564C = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Surround.aaxplugin; sourceTree = "BUILT_PRODUCTS_DIR"; }; C3DA1C57A25DCB12F2DF99AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST3PluginFormat.cpp"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + C3F81C3ECC37FF7561B533C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; C40AD8761F44401CC4B5C292 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; C471B62CF80AEBACAADB9DF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReverbAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; C473D1B24B8540E1260F0D36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -800,11 +775,8 @@ C52ED1AAE029660B7F7E195A = {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"; }; C5331A9B548B1C4BA82B1C5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MarkerList.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h"; sourceTree = "SOURCE_ROOT"; }; C53DDF19FB6DDBC330420128 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; }; - C590BE5EBEFBDCC508E8233F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ComponentBase.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/ComponentBase.cpp"; sourceTree = "SOURCE_ROOT"; }; - C63A37F5E2B0F3A457A1CB5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; C6BE53B6C0FB32640C7B655E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; }; C6EA3F5A3D778DF75E67BCC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectShowComponent.h"; path = "../../../../../modules/juce_video/playback/juce_DirectShowComponent.h"; sourceTree = "SOURCE_ROOT"; }; - C6EE8BDFC42B4B3B149DB6CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../../../../modules/juce_audio_devices/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; C70293434A59AA2F1C600F4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; C704B27E6E1922AB26C5A3EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; }; C72923907E8ADCEC35BB7C88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatManager.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -825,6 +797,7 @@ CB443F70086971C87F1BC4A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; }; CB86FA8F13699AE468D540CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; }; CBF51788A63FA320BEF9C32E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; }; + CC3734C049214EF91327C2B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../JuceLibraryCode/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; CC3BCB011A14D68256BEB070 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; }; CD74C96097502D2650C1E57A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Base64.cpp"; path = "../../../../../modules/juce_core/text/juce_Base64.cpp"; sourceTree = "SOURCE_ROOT"; }; CDA1DE6359BDF1956A0E9492 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -845,7 +818,6 @@ CFD4B25583AC57792A702F9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Quaternion.h"; path = "../../../../../modules/juce_opengl/geometry/juce_Quaternion.h"; sourceTree = "SOURCE_ROOT"; }; CFF216130476A0B9DA5C3858 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; }; D01AF3FDC1F0B32064B4EB2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; }; - D0871319290F1C42DAFA972C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAStreamBasicDescription.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAStreamBasicDescription.cpp"; sourceTree = "SOURCE_ROOT"; }; D12709CFF100AC21FCAC3E03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PixelFormats.h"; path = "../../../../../modules/juce_graphics/colour/juce_PixelFormats.h"; sourceTree = "SOURCE_ROOT"; }; D132C7CF4088636D18B5778F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; }; D1531AD6AC4F7DCEE6D17A4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuntimePermissions.cpp"; path = "../../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -867,7 +839,6 @@ D670AAD0C3E24F8464F2FD7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; D6B97908735281D202A8A26F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; }; D6BAA79416E9173122CB2CFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; }; - D6DBF3158753C6C1D5FD7FD5 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_audio_processors/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; D72665D6E63B6DA702571619 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiBuffer.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; D771E43E5F196D508E939795 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; }; D7A9D8BFB6D8F9F6C8F7A564 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -882,19 +853,15 @@ D8EBE05BD045561FE795D193 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; }; D8FC94038AF7B050BBADC027 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; D91C831E10E35FD587C55EAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ElementComparator.h"; path = "../../../../../modules/juce_core/containers/juce_ElementComparator.h"; sourceTree = "SOURCE_ROOT"; }; - D93DD123CF1E82A3CC410853 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../../modules/juce_audio_processors/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; D9512ADEA154528D74EFB772 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatWriter.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h"; sourceTree = "SOURCE_ROOT"; }; D96D61FB21B63DE1C97BCFB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; }; D99192DC91FBC2ADB42A04F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilter.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; D9C13937FC10003685A55E58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; }; - D9C9D5D0149035A1682FC5CF = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_core/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; - D9D80C50710E5B4465F776C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; DA21FA21B659B629A37CBC57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; }; DA476863E26CA1172290BAD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; }; DA7BFD6419A52F8E18624A89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; DAB75AC42071AD5C426D1534 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CameraDevice.mm"; path = "../../../../../modules/juce_video/native/juce_mac_CameraDevice.mm"; sourceTree = "SOURCE_ROOT"; }; DAC42A5F60800CBD8FAF4BB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; }; - DAE44B592D6EEE1CB93CB155 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; DB19D52D2112A72B9E3498F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WavAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; DB972191556040C9ECA9AEA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; }; DB978160D46AABA2A6F19FC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -906,7 +873,6 @@ DCC66A4C74A91E964A7EE148 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; }; DD15AF1CC687CDCEF70C08B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEValue.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp"; sourceTree = "SOURCE_ROOT"; }; DD68AE7620D0CE309FD68ECE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; - DD99DFAC913FD5EA8313BBF2 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_data_structures/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; DDFDAC1CC63DF7C6650633BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEValue.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h"; sourceTree = "SOURCE_ROOT"; }; DE239F14B9770442D8BB72ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; DE4C5FB53E23F229E40B11B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; }; @@ -926,24 +892,24 @@ E254EEED8675C4F78A2D4F1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; E274543499717615EDF97C52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; }; E2B3AA140F644E8221ADCFC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; }; - E358A07AFF9BD2EBB2FD9231 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUCarbonViewDispatch.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewDispatch.cpp"; sourceTree = "SOURCE_ROOT"; }; E44F53D99BB88A6D31DC5B66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GroupComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h"; sourceTree = "SOURCE_ROOT"; }; E463AE189BA87CFCA8C65DF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserVoice.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp"; sourceTree = "SOURCE_ROOT"; }; E502656482136FE43E2B3759 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInactivityDetector.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h"; sourceTree = "SOURCE_ROOT"; }; + E517626847A1820596BED522 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; + E5409833E1E918CA55D10AD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AAX.mm"; path = "../../JuceLibraryCode/juce_audio_plugin_client_AAX.mm"; sourceTree = "SOURCE_ROOT"; }; E546D4DA0C2F09B95EF1A338 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterChoice.h"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h"; sourceTree = "SOURCE_ROOT"; }; E56AF5E3AFCEE7A6898F93F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; E5CD6F4B70DC75F3ED0217ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Synthesiser.cpp"; path = "../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; E6030EFE3070F375865A62FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; E625FE9BA5BED94CD405080C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; }; - E6D2334CFA8C9CEB693FDED7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CarbonEventHandler.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CarbonEventHandler.cpp"; sourceTree = "SOURCE_ROOT"; }; E6F0A3EC8623DE2445ED25F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleMessageComponent.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; E709C0D4B2BC07AD815EE28B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SHA256.h"; path = "../../../../../modules/juce_cryptography/hashing/juce_SHA256.h"; sourceTree = "SOURCE_ROOT"; }; E74EFA6AF8BFD878A1182D6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLGraphicsContext.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; - E7649B82B33E1D1CED45A85C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUCarbonViewBase.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewBase.cpp"; sourceTree = "SOURCE_ROOT"; }; E77F485798E0636E24954ED0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BlowFish.cpp"; path = "../../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp"; sourceTree = "SOURCE_ROOT"; }; E7C1051E14A76960ACA9229A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; }; E7E5A36B33CBED5519C867D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; E8080038C3E5B30024C91399 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; }; + E8154A3245B28F12461708E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../../modules/juce_audio_plugin_client/AU/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; }; E83CB8AC3821B462D206DBCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; }; E86E8EC094E7ADDF0BBD0426 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; }; E8AAC753359ED00EDED82E4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Font.h"; path = "../../../../../modules/juce_graphics/fonts/juce_Font.h"; sourceTree = "SOURCE_ROOT"; }; @@ -966,7 +932,9 @@ ED58711084151A628AA9BA2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableObjectResizer.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp"; sourceTree = "SOURCE_ROOT"; }; ED6A6DED69A6B6356531AB3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; ED73CF6381E573C36E008BBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LAMEEncoderAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + ED7C79D32D589E0F8123BB6A = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Surround.framework; sourceTree = "BUILT_PRODUCTS_DIR"; }; EDA4B553EDC0133EDE520E85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_linux.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_linux.h"; sourceTree = "SOURCE_ROOT"; }; + EDC96EC7A203B6651E276570 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_utils.cpp"; path = "../../JuceLibraryCode/juce_audio_plugin_client_utils.cpp"; sourceTree = "SOURCE_ROOT"; }; EDF3BB834AA5EA021B07F5FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CarbonVisibility.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_CarbonVisibility.h"; sourceTree = "SOURCE_ROOT"; }; EE0D4EC1F38B6849E3A1A610 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LagrangeInterpolator.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; EE72DD300F84875DCF85C5D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Midi.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -975,6 +943,7 @@ EF5B06AD7C65652AEFDD2B26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageCache.h"; path = "../../../../../modules/juce_graphics/images/juce_ImageCache.h"; sourceTree = "SOURCE_ROOT"; }; EFC569FE1968AEFA162BB956 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; EFEF908FE4175B15591AB27A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; + F02875DC328E400B3141069D = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-AU.plist"; path = "Info-AU.plist"; sourceTree = "SOURCE_ROOT"; }; F04A849E91EC20FAB9888300 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; }; F07EC2EFE5FFF0E2288711C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; }; F08EBCE2DF63A844B3AA40E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -989,8 +958,8 @@ F2C43B12B52DADFBCC84EA57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; }; F31F1728DB145A005F0A4D36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLGraphicsContext.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; F36BF8E1EFB9EEDC066C428A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; }; + F468166F5B1642808084C964 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandaloneFilterWindow.h"; path = "../../../../../modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterWindow.h"; sourceTree = "SOURCE_ROOT"; }; F4D135468F38FFBD55038C28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - F541CA5BBC7721324DB5A6AD = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Surround.component; sourceTree = "BUILT_PRODUCTS_DIR"; }; F55825002ED2E2AA9F16FB0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; }; F56ABE35C7124CFCAB970A4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; }; F5F68FA253977E39FD435531 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -1116,9 +1085,12 @@ F326008827B14351EC5CB1F2, B1BDDAABF73FD1FDCD4EE109, C3763BFC91FE542FD3AE6AC0, - 36E4802B829498DBF827710B, 7A56CE3D3541FE47AF107730, ); name = "juce_audio_basics"; sourceTree = ""; }; - F19D2513EB1C74290810FAE0 = {isa = PBXGroup; children = ( + 40F013B5DC9FEA4503C2566B = {isa = PBXGroup; children = ( + 570508B9E87035E970DEA0C0, + 89BE99C79A12FAA559AB0958, + 5482BD21DE59A22067C055FA, ); name = "audio_cd"; sourceTree = ""; }; + 9745CFA0D60C63C9E190873F = {isa = PBXGroup; children = ( 269CE6F16682A65115B201D5, F746F7D0946A7FCEDF6A220C, 42D807689394528F84062DFC, @@ -1126,22 +1098,13 @@ EA61518A005F18AFB65A99E6, 1E3ACA8D2555202816263254, B08FCE1BD4128E98FE545A2C, ); name = "audio_io"; sourceTree = ""; }; - 9FCB9028A54982EE21F1F23F = {isa = PBXGroup; children = ( + 8BCAEC83F0DE535B62BE5C13 = {isa = PBXGroup; children = ( 35F5C5AD5C503FF899B7A581, 03F5933F22E6CCC68ACE877E, AFAD5BA9F385C17BFEDFD14F, 85FAAFC7204659F3B375631F, EA415876860C87C8948B4150, ); name = "midi_io"; sourceTree = ""; }; - 9EFEEC32FE2D28F0B7BB48DA = {isa = PBXGroup; children = ( - A4362F1C6092248CA95F5D9F, - 5454A03B0C64AFC1D8CB4D7A, - 4764F13452A00A7CC1645FF6, - FD1AC6CFEEDDA0A4EDA3A5CA, ); name = sources; sourceTree = ""; }; - 302BA223F9A435B0186EB0F6 = {isa = PBXGroup; children = ( - 570508B9E87035E970DEA0C0, - 89BE99C79A12FAA559AB0958, - 5482BD21DE59A22067C055FA, ); name = "audio_cd"; sourceTree = ""; }; - FB9489AD971D78D925C48655 = {isa = PBXGroup; children = ( + 485A80358B95D341731A2049 = {isa = PBXGroup; children = ( 5CF35BE370ADB7690C9F634B, 9E3A95AEC172547B00C24183, 8A0648AE319C0CEA55D7AD88, @@ -1161,31 +1124,19 @@ 7B002478D9CBC13567054938, 22D0F2A884E9ABE11FA6B359, C704B27E6E1922AB26C5A3EC, ); name = native; sourceTree = ""; }; + B2016288CB506EA3EE7CFF77 = {isa = PBXGroup; children = ( + A4362F1C6092248CA95F5D9F, + 5454A03B0C64AFC1D8CB4D7A, + 4764F13452A00A7CC1645FF6, + FD1AC6CFEEDDA0A4EDA3A5CA, ); name = sources; sourceTree = ""; }; 3B0CAA614A0170A5350344F0 = {isa = PBXGroup; children = ( - F19D2513EB1C74290810FAE0, - 9FCB9028A54982EE21F1F23F, - 9EFEEC32FE2D28F0B7BB48DA, - 302BA223F9A435B0186EB0F6, - FB9489AD971D78D925C48655, - 6DCD394570BEDF2532DC0DBD, + 40F013B5DC9FEA4503C2566B, + 9745CFA0D60C63C9E190873F, + 8BCAEC83F0DE535B62BE5C13, + 485A80358B95D341731A2049, + B2016288CB506EA3EE7CFF77, BD7522064F6507425C88E48A, ); name = "juce_audio_devices"; sourceTree = ""; }; - 2C58525FC46E113A0C403654 = {isa = PBXGroup; children = ( - B5E2BA7CFF76835ADA9C0102, - B56A341B971CFA24BEBDD924, - C72923907E8ADCEC35BB7C88, - D7FE54B855C9F65CB86C2D06, - 26C3B3905128605AE1A2F505, - 282671AA60A1CAF6D9FEC171, - 4CF13541AB3B0757F5D62070, - 1C03137167E601BD7D83F356, - C2B45FD81F186804999C1144, - D9512ADEA154528D74EFB772, - 4ACC9263B5D916AF296BC162, - BB51D4FAE50C56946D409DA7, - D7F691A5E2D695E76D73CF02, - DE8FBCED75D395A015157750, - 466A9246164862ED1C3A587E, ); name = format; sourceTree = ""; }; - 69CE2E3F5DDC7B17B5F7CE82 = {isa = PBXGroup; children = ( + C162EF9D4453CCFC4DE71E2B = {isa = PBXGroup; children = ( 005CA70DE9A82DE8F5FCADA2, 70C4D4F3DF396BD1A849C60A, 4FFA97A5119867556A539736, @@ -1204,34 +1155,51 @@ 307CAD6446CF71BE23EA95CC, 73F08CF0C5DA76EF64A292A4, 4B373DA28300CC24EF4E7119, ); name = codecs; sourceTree = ""; }; + CA468B71B864E899829160A5 = {isa = PBXGroup; children = ( + B5E2BA7CFF76835ADA9C0102, + B56A341B971CFA24BEBDD924, + C72923907E8ADCEC35BB7C88, + D7FE54B855C9F65CB86C2D06, + 26C3B3905128605AE1A2F505, + 282671AA60A1CAF6D9FEC171, + 4CF13541AB3B0757F5D62070, + 1C03137167E601BD7D83F356, + C2B45FD81F186804999C1144, + D9512ADEA154528D74EFB772, + 4ACC9263B5D916AF296BC162, + BB51D4FAE50C56946D409DA7, + D7F691A5E2D695E76D73CF02, + DE8FBCED75D395A015157750, + 466A9246164862ED1C3A587E, ); name = format; sourceTree = ""; }; 834EC4053741B202821DFAA4 = {isa = PBXGroup; children = ( F7AE983C93E8AF224290DBCC, FD774350DA7E62FCCD44C7C9, ); name = sampler; sourceTree = ""; }; D5202C49F0C929D464B49BC9 = {isa = PBXGroup; children = ( - 2C58525FC46E113A0C403654, - 69CE2E3F5DDC7B17B5F7CE82, + C162EF9D4453CCFC4DE71E2B, + CA468B71B864E899829160A5, 834EC4053741B202821DFAA4, - 216FE5DFD42E0A3A8DB91901, 907ECB8961B34F538328C66D, ); name = "juce_audio_formats"; sourceTree = ""; }; - 682B81CC505D8F57DEA7E0AC = {isa = PBXGroup; children = ( - 7BD189FD9F797A43D5818C6A, ); name = AU; sourceTree = ""; }; - 678BF13E493DD28B32F1739F = {isa = PBXGroup; children = ( + D33B6D64A73DD543BEE37CA0 = {isa = PBXGroup; children = ( + 4B133B1F9874EBA8953DCDF9, + 76FD799F05D94842EEF552FD, ); name = AAX; sourceTree = ""; }; + 44E5F7FAAB3DEE19A0D405BF = {isa = PBXGroup; children = ( + E8154A3245B28F12461708E8, + 7BD189FD9F797A43D5818C6A, + 3A925CFFB7F60920C14EC144, ); name = AU; sourceTree = ""; }; + D04E419FA0333CAC3C9A1AA6 = {isa = PBXGroup; children = ( + 5583A45CA7C609741BB8B9EF, 55DFDE807E321ABD1E879E41, AB04D06155A5E52B0658F3D6, 1000AB9EC17650FB0092DCD8, - C52ED1AAE029660B7F7E195A, - 283ADB95E9375730B1389880, 7D2CA0CEB4019C90AE75474C, - 5583A45CA7C609741BB8B9EF, ); name = RTAS; sourceTree = ""; }; - B657639A044D806ECAF807C8 = {isa = PBXGroup; children = ( - 8DC3D1402CD78E1E728A885C, - 897466367AE90A6757BD78AA, ); name = VST; sourceTree = ""; }; - 7A10F78BA699B057D13B833C = {isa = PBXGroup; children = ( - C97229429AD64768E560F4AD, ); name = VST3; sourceTree = ""; }; - 7A5692C10DBC77AE43D70A55 = {isa = PBXGroup; children = ( - 4B133B1F9874EBA8953DCDF9, - 76FD799F05D94842EEF552FD, ); name = AAX; sourceTree = ""; }; - F5ED172D448D515AA17EA7C1 = {isa = PBXGroup; children = ( + 3DD44C9CDED984015C75E02F, + 0EDADF88933CA900D1954C40, + C52ED1AAE029660B7F7E195A, + 283ADB95E9375730B1389880, ); name = RTAS; sourceTree = ""; }; + 5425D01A1CC94BB66D28BE80 = {isa = PBXGroup; children = ( + 8D7431A21F329A0623106F9F, + F468166F5B1642808084C964, ); name = Standalone; sourceTree = ""; }; + 82EDE77A69ED6A5CA8279534 = {isa = PBXGroup; children = ( EDF3BB834AA5EA021B07F5FA, 8E11074D4A9A023AE33D2777, 377EE4F29DE0ECCB0B0F8EBD, @@ -1241,16 +1209,38 @@ ADCF8757250D34CD709BF18E, F6AE18B04CC3D2BB90189253, D7D538F79741F629EC0B174F, ); name = utility; sourceTree = ""; }; + 4ED81A0E962E7BE1161196E2 = {isa = PBXGroup; children = ( + 8DC3D1402CD78E1E728A885C, + 897466367AE90A6757BD78AA, ); name = VST; sourceTree = ""; }; + 8B8D6FE9F1207502A9F42307 = {isa = PBXGroup; children = ( + C97229429AD64768E560F4AD, ); name = VST3; sourceTree = ""; }; 3C13BDA7064F6A67ED81C57C = {isa = PBXGroup; children = ( - 682B81CC505D8F57DEA7E0AC, - 678BF13E493DD28B32F1739F, - B657639A044D806ECAF807C8, - 7A10F78BA699B057D13B833C, - 7A5692C10DBC77AE43D70A55, - F5ED172D448D515AA17EA7C1, - 766C5E9EE664078EF639A77A, + D33B6D64A73DD543BEE37CA0, + 44E5F7FAAB3DEE19A0D405BF, + D04E419FA0333CAC3C9A1AA6, + 5425D01A1CC94BB66D28BE80, + 82EDE77A69ED6A5CA8279534, + 4ED81A0E962E7BE1161196E2, + 8B8D6FE9F1207502A9F42307, 764CC7C9098B8A13EE1E2BDD, ); name = "juce_audio_plugin_client"; sourceTree = ""; }; - CA826DF0A8EAD2142E87557F = {isa = PBXGroup; children = ( + 276AED45DE201C1D5BF301EC = {isa = PBXGroup; children = ( + 298205CEB528B1048E7572B7, + 6E3908F6B6B28178135530FE, + BD66E983F2E3845F261B1F69, + CFBCAC450FE065C81127FF44, ); name = format; sourceTree = ""; }; + 2F903A32554218FA8276590F = {isa = PBXGroup; children = ( + A9EC026B8F9D008D1870D46E, + CDB072F338849BCCED75AECC, + 9D6DC6AF988E805DF79A9732, + 6761449AD44DC0572C091395, + 047473D0C61EA32E78AF4FE9, + 8B61BBC7490B7EB09164C24E, + C3DA1C57A25DCB12F2DF99AB, + 97486545E0DEF7983FD5CA4A, + 0865F1C307283AE02E351740, + 6EA1D72172113F26FB6B928E, + 9BA022320B40176B7D34174A, ); name = "format_types"; sourceTree = ""; }; + 28CF163C41EC8236E3E2E862 = {isa = PBXGroup; children = ( A39E5BE0E10E81989DF6858B, DCB83D5211F0F810B7916BCE, 188DD1909D466AF4B6E69E4F, @@ -1267,23 +1257,6 @@ 94A75100B6A4CCF6885A79A0, 4A120CE66FDF0A5865F9F7B5, 36E0D0FC8ED7169412D97115, ); name = processors; sourceTree = ""; }; - 88E4FDC61D7C0FBDBE9AA0CD = {isa = PBXGroup; children = ( - 298205CEB528B1048E7572B7, - 6E3908F6B6B28178135530FE, - BD66E983F2E3845F261B1F69, - CFBCAC450FE065C81127FF44, ); name = format; sourceTree = ""; }; - 7908CFE2163D80BA7A4132B6 = {isa = PBXGroup; children = ( - A9EC026B8F9D008D1870D46E, - CDB072F338849BCCED75AECC, - 9D6DC6AF988E805DF79A9732, - 6761449AD44DC0572C091395, - 047473D0C61EA32E78AF4FE9, - 8B61BBC7490B7EB09164C24E, - C3DA1C57A25DCB12F2DF99AB, - 97486545E0DEF7983FD5CA4A, - 0865F1C307283AE02E351740, - 6EA1D72172113F26FB6B928E, - 9BA022320B40176B7D34174A, ); name = "format_types"; sourceTree = ""; }; 88ADAD460F4633BF9AB33FE2 = {isa = PBXGroup; children = ( C37F9F3560C89C9FDDA70450, 5E6F76D6B25707FAF0C02D54, @@ -1301,65 +1274,13 @@ 3DA9B49B4D22E5DA94F64E93, DE8FC4A46D98C042706FD720, ); name = utilities; sourceTree = ""; }; C6916C9DD58668909AC4986C = {isa = PBXGroup; children = ( - CA826DF0A8EAD2142E87557F, - 88E4FDC61D7C0FBDBE9AA0CD, - 7908CFE2163D80BA7A4132B6, + 276AED45DE201C1D5BF301EC, + 2F903A32554218FA8276590F, + 28CF163C41EC8236E3E2E862, 88ADAD460F4633BF9AB33FE2, 037559B8391F8F7FBAEB7C46, - D6DBF3158753C6C1D5FD7FD5, AB7DA807408C1458D1597C59, ); name = "juce_audio_processors"; sourceTree = ""; }; - 24B21EFC54EA5C32B9DCFE91 = {isa = PBXGroup; children = ( - CD74C96097502D2650C1E57A, - 4449FFBC295C0EB93B13419A, - 40319B73B8076DFF09F63D5C, - 878E3A6EA611E5474CCCF740, - CA6155228075C437C19CE703, - 10D5ECC582BE673413D7A5EB, - 65359F915595F16DEC91EF50, - 47678C55711E982A0139FD74, - 060F0F302FF6A7BA18B4D6D6, - 6326F6DD20E31BA59F0414D2, - 7AF78655BE7A898AF6795F51, - C8028216F65D0A69286115BE, - D24E85A199513E79C8AD126E, - FDFF65451008B27A9CDE9CE4, - 79DA4D04180515F4C618B0F7, - 8884CB197E61E62731D1A4B5, - 57E517CFEF3092C326C8A81A, - FAF575C94BA0DAB37D3C2797, - E034065CCF91FD261F41ED9F, - E625FE9BA5BED94CD405080C, - 0D665AB5C88F0797722ECD1A, - 32389CB5D9FF7820200784D2, - 3071545368A32AB6E902E566, - CDEFCE6E58A37F060C7E50A1, ); name = text; sourceTree = ""; }; - BDE42995C621FA57B088C0B1 = {isa = PBXGroup; children = ( - D4213F3BE3F5ABFD8FB44C3F, - ECEC59C293A1C634962D346C, - 2CEBAE78E3D6DD80639B2138, - F56ABE35C7124CFCAB970A4C, - AAB19EF73C7397C550CCCFCC, - 62E334B65CC222E9990860B5, - A63DA17D6F3A6015EE7BA412, - 2BF2B581B23323A9C9748DB0, - A6294577F75BAB1F17306F70, - 741EB6D93443EAF22F90D25D, ); name = maths; sourceTree = ""; }; - FA816A068DC55049D3EB43A7 = {isa = PBXGroup; children = ( - 9C374B02CB52B626D6985C65, - 1D446F680857EBC807F10AA7, - 5E09E16496B5B87B3F4A5A11, - A73B196E6DC893354986FC16, - 39C095E89EC83CBD070A0593, - 80DF1F37EE64FF1C97B10234, - C53DDF19FB6DDBC330420128, - D3D9B276C5A329C2ECCC7762, - 9108FB3A7D17D0F8B7BE249C, - A4302A67A7EC2D0DCAACD44E, - 8DCC53AC83A1540BF58AF95D, - E0F67554E07EAF0DBB454C4E, - D4AC2D9E7E4AD45E6E8075E9, - 4571F26DCD01A1F55C9B534F, ); name = memory; sourceTree = ""; }; - 2BF95A02AA4F79C00E7048B9 = {isa = PBXGroup; children = ( + 877C8F134A7F56AD4ABFE46C = {isa = PBXGroup; children = ( CAFC74680CFAD13ED16174F1, 565A7B1763F8B66AE9197037, 1568B54E8611E8F5E92A70FD, @@ -1381,37 +1302,7 @@ 7CB87F4F981135E701CC4D5A, 500A45D3F87F53C67BACDBD3, 7673AA512CED1146F25CAF8D, ); name = containers; sourceTree = ""; }; - A30862C4604E601B2B698267 = {isa = PBXGroup; children = ( - 870B95887E00B482EC3BCBC4, - 4CC5FD53EE838BD6B37421B3, - 632AB1E3BE475EB0F9910708, - AFAC23591E8670692F5EA3AD, - 854BE217C612C256BED72308, - B15D9CB516DFA5441D01BBA5, - 4D842C6A70EE7845BEE1A826, - 10B67897C6741CA2B3D67A60, - 190E1422E4E962ADC43AFB41, - DBF69D0D99E9C34759C18879, - C0523E5A117BF868A4F97D46, - EC365CE0656F4E7F09AE6909, - EB75A54E30D4B9CA5C87664B, - 036F63DADE847F2C8CF7E777, - 10691C75FA2EFC03FD2A3054, - D82BF8D9E506B2B7403BA000, - A04269125DB7002090E04CE1, - 40C989B6A1BC73C8F0A77E91, - 066114E60A069947ADE8F592, - 4381A1E6DF222F731BCF7A2B, - 3CBCD1DAFCF603529B1609A8, - F36BF8E1EFB9EEDC066C428A, ); name = threads; sourceTree = ""; }; - 1FD22250592C74C82D89582F = {isa = PBXGroup; children = ( - 0BEEF09E3293306B20F2A41F, - D9C13937FC10003685A55E58, - 90FDEA82B4C3D8E20796C174, - E56AF5E3AFCEE7A6898F93F5, - 2EF91785953F4A539FFF4068, - 19517B71434F5FFC2651501C, ); name = time; sourceTree = ""; }; - 623501329309B73530F9F672 = {isa = PBXGroup; children = ( + 11AA4C570ECCFBD280553DB6 = {isa = PBXGroup; children = ( E254EEED8675C4F78A2D4F1A, 313820ABEEF53F5A990C1513, 613DE1F8791F33C1C8DEA7C9, @@ -1429,66 +1320,43 @@ 9C757B9F57ABE34B017F374C, D17A03AEC4D871C512826B3F, 7DB369B2887D6A596C235884, ); name = files; sourceTree = ""; }; - 661AAD74AD9CBE7274CE6B6F = {isa = PBXGroup; children = ( - F6FE528F49E0CBB7E491E7D6, - EC888D1193E9BE34AAEF1A67, - C40AD8761F44401CC4B5C292, - 1A48F453FBCFEB197F518E4E, - 4015DF84DF9CF61838DB989A, - 07954AA8D84D9B02883D4BF6, - FDA7D1B08757B59771543D9B, - 5678B143016B8436B3D88FD6, - 80EA2404E65720795807D3AE, - 2D98D39894F5BD49E05A4689, ); name = network; sourceTree = ""; }; - EE521EA2CE19B2D26D0B4DC4 = {isa = PBXGroup; children = ( - C70293434A59AA2F1C600F4A, - 2C9242328E31C72B5B3114F9, - 0ECBC001B10ABD4E646F2141, - D132C7CF4088636D18B5778F, - 398A5FA3A2E86626F60E1617, - 6D41112723F4A26BFB828497, - FFDA6CAFA818052B1FA05ADC, - 529AD7AB6A1295DC4ECA656D, - 3A880CE1CD3EF426314B8461, - A4C8F712033F5F3B3FC7CEDA, - 2926914BD8FB64093F7E3FCB, - 924E35B4AEA8576E57F72C6D, - DFE876F95CE33E80A578F842, - 347FC21AFBF1CD97D0F3D430, - E86E8EC094E7ADDF0BBD0426, ); name = streams; sourceTree = ""; }; - 34D723EA28BDFDDE096BE139 = {isa = PBXGroup; children = ( - 90173E41D4452D99A6315DCF, - 6304ED06740C6986558B04CB, - 4C519323C3F84E94FC07A2DA, - 4F6FD68D520847666C9E5DEA, ); name = logging; sourceTree = ""; }; - 189FEE751E087D6DB2C0197A = {isa = PBXGroup; children = ( - D8EBE05BD045561FE795D193, - 57C7DF9EDB1799A23783BB7B, - F22691240FF3F18CD3BD0FC5, - 000096281630E66302471DC7, - 46D69FBBE27F4A04A7256894, - 2E70CD6B91FE1C359FC210B2, ); name = system; sourceTree = ""; }; - 07C8AE42DD2A7CFD0EC6E29D = {isa = PBXGroup; children = ( - 5C825A97A9A4D3AA5B2BB378, - 5DADB12CCEDF09D0BE21510C, - DA476863E26CA1172290BAD4, - 3031BD31A5490136E9922721, ); name = xml; sourceTree = ""; }; - 845E63CEBA81EFF4BBCA5044 = {isa = PBXGroup; children = ( + 60E7509873E5C015F4EE6482 = {isa = PBXGroup; children = ( 3B51EEF0617244E05E6F1AA5, 63D1FAC9764C3757B757DD63, 3B997E5CA36ED786D55DB3DF, 07D5F4207DC87B1B939691FF, ); name = javascript; sourceTree = ""; }; - 0C6CF5267763AA2EE0E3E549 = {isa = PBXGroup; children = ( - 71351FF1DA1251BBCB78CDC7, - 0C4876972CCD08524F68EB37, - 163881ED74768BEEF817DA0E, - 3C86768D7D8DBC563EFD97D2, - 19A63325AE4C9713333A913C, - B7E4B5868CACAE3C97FCB956, ); name = zip; sourceTree = ""; }; - A6D285CF0882B3CC40D867A0 = {isa = PBXGroup; children = ( - 3F387CF5DBB0BD68FB20A696, - 82167C943DFB4C69D017E459, ); name = "unit_tests"; sourceTree = ""; }; - 29F40FB69E570EF79A9D8344 = {isa = PBXGroup; children = ( + B61A50D6516EEBCA2492F3EA = {isa = PBXGroup; children = ( + 90173E41D4452D99A6315DCF, + 6304ED06740C6986558B04CB, + 4C519323C3F84E94FC07A2DA, + 4F6FD68D520847666C9E5DEA, ); name = logging; sourceTree = ""; }; + DC94DD0BF75D5D7816049A70 = {isa = PBXGroup; children = ( + D4213F3BE3F5ABFD8FB44C3F, + ECEC59C293A1C634962D346C, + 2CEBAE78E3D6DD80639B2138, + F56ABE35C7124CFCAB970A4C, + AAB19EF73C7397C550CCCFCC, + 62E334B65CC222E9990860B5, + A63DA17D6F3A6015EE7BA412, + 2BF2B581B23323A9C9748DB0, + A6294577F75BAB1F17306F70, + 741EB6D93443EAF22F90D25D, ); name = maths; sourceTree = ""; }; + F19EAB2DD7EBCEE8EC58D361 = {isa = PBXGroup; children = ( + 9C374B02CB52B626D6985C65, + 1D446F680857EBC807F10AA7, + 5E09E16496B5B87B3F4A5A11, + A73B196E6DC893354986FC16, + 39C095E89EC83CBD070A0593, + 80DF1F37EE64FF1C97B10234, + C53DDF19FB6DDBC330420128, + D3D9B276C5A329C2ECCC7762, + 9108FB3A7D17D0F8B7BE249C, + A4302A67A7EC2D0DCAACD44E, + 8DCC53AC83A1540BF58AF95D, + E0F67554E07EAF0DBB454C4E, + D4AC2D9E7E4AD45E6E8075E9, + 4571F26DCD01A1F55C9B534F, ); name = memory; sourceTree = ""; }; + B26316EECF498AAD79FB0030 = {isa = PBXGroup; children = ( 578DB18FA05F9F328433C139, 155136FF907C0F22B16F615C, D1531AD6AC4F7DCEE6D17A4A, @@ -1496,7 +1364,7 @@ 072F4B3C29A6C04BB17B1355, B3BBF04EB46A52DA3A4030F0, 1ABF878EC4CF5548BDE03989, ); name = misc; sourceTree = ""; }; - 262E9B1077EE2007D11094B7 = {isa = PBXGroup; children = ( + 1BB9D28664745D15B173016C = {isa = PBXGroup; children = ( A082374123DF2AD1E20F6978, 0D28464DC45D8936B099C4B6, DB978160D46AABA2A6F19FC1, @@ -1526,25 +1394,128 @@ FD58A6069EA26E7C78A22C3B, 2395B383F807D6875690314C, BCEC71B9BE394B2C21BBB7F7, ); name = native; sourceTree = ""; }; + 3F05B555CCFA81D10A1540B6 = {isa = PBXGroup; children = ( + F6FE528F49E0CBB7E491E7D6, + EC888D1193E9BE34AAEF1A67, + C40AD8761F44401CC4B5C292, + 1A48F453FBCFEB197F518E4E, + 4015DF84DF9CF61838DB989A, + 07954AA8D84D9B02883D4BF6, + FDA7D1B08757B59771543D9B, + 5678B143016B8436B3D88FD6, + 80EA2404E65720795807D3AE, + 2D98D39894F5BD49E05A4689, ); name = network; sourceTree = ""; }; + 84A14208CDE781B1F571D890 = {isa = PBXGroup; children = ( + C70293434A59AA2F1C600F4A, + 2C9242328E31C72B5B3114F9, + 0ECBC001B10ABD4E646F2141, + D132C7CF4088636D18B5778F, + 398A5FA3A2E86626F60E1617, + 6D41112723F4A26BFB828497, + FFDA6CAFA818052B1FA05ADC, + 529AD7AB6A1295DC4ECA656D, + 3A880CE1CD3EF426314B8461, + A4C8F712033F5F3B3FC7CEDA, + 2926914BD8FB64093F7E3FCB, + 924E35B4AEA8576E57F72C6D, + DFE876F95CE33E80A578F842, + 347FC21AFBF1CD97D0F3D430, + E86E8EC094E7ADDF0BBD0426, ); name = streams; sourceTree = ""; }; + 189FEE751E087D6DB2C0197A = {isa = PBXGroup; children = ( + D8EBE05BD045561FE795D193, + 57C7DF9EDB1799A23783BB7B, + F22691240FF3F18CD3BD0FC5, + 000096281630E66302471DC7, + 46D69FBBE27F4A04A7256894, + 2E70CD6B91FE1C359FC210B2, ); name = system; sourceTree = ""; }; + 9DDED560DE9CEB33B7CC6896 = {isa = PBXGroup; children = ( + CD74C96097502D2650C1E57A, + 4449FFBC295C0EB93B13419A, + 40319B73B8076DFF09F63D5C, + 878E3A6EA611E5474CCCF740, + CA6155228075C437C19CE703, + 10D5ECC582BE673413D7A5EB, + 65359F915595F16DEC91EF50, + 47678C55711E982A0139FD74, + 060F0F302FF6A7BA18B4D6D6, + 6326F6DD20E31BA59F0414D2, + 7AF78655BE7A898AF6795F51, + C8028216F65D0A69286115BE, + D24E85A199513E79C8AD126E, + FDFF65451008B27A9CDE9CE4, + 79DA4D04180515F4C618B0F7, + 8884CB197E61E62731D1A4B5, + 57E517CFEF3092C326C8A81A, + FAF575C94BA0DAB37D3C2797, + E034065CCF91FD261F41ED9F, + E625FE9BA5BED94CD405080C, + 0D665AB5C88F0797722ECD1A, + 32389CB5D9FF7820200784D2, + 3071545368A32AB6E902E566, + CDEFCE6E58A37F060C7E50A1, ); name = text; sourceTree = ""; }; + 8220F838B59EC6844AB79FE7 = {isa = PBXGroup; children = ( + 870B95887E00B482EC3BCBC4, + 4CC5FD53EE838BD6B37421B3, + 632AB1E3BE475EB0F9910708, + AFAC23591E8670692F5EA3AD, + 854BE217C612C256BED72308, + B15D9CB516DFA5441D01BBA5, + 4D842C6A70EE7845BEE1A826, + 10B67897C6741CA2B3D67A60, + 190E1422E4E962ADC43AFB41, + DBF69D0D99E9C34759C18879, + C0523E5A117BF868A4F97D46, + EC365CE0656F4E7F09AE6909, + EB75A54E30D4B9CA5C87664B, + 036F63DADE847F2C8CF7E777, + 10691C75FA2EFC03FD2A3054, + D82BF8D9E506B2B7403BA000, + A04269125DB7002090E04CE1, + 40C989B6A1BC73C8F0A77E91, + 066114E60A069947ADE8F592, + 4381A1E6DF222F731BCF7A2B, + 3CBCD1DAFCF603529B1609A8, + F36BF8E1EFB9EEDC066C428A, ); name = threads; sourceTree = ""; }; + 14DD612E68447DBC392245AB = {isa = PBXGroup; children = ( + 0BEEF09E3293306B20F2A41F, + D9C13937FC10003685A55E58, + 90FDEA82B4C3D8E20796C174, + E56AF5E3AFCEE7A6898F93F5, + 2EF91785953F4A539FFF4068, + 19517B71434F5FFC2651501C, ); name = time; sourceTree = ""; }; + A6D285CF0882B3CC40D867A0 = {isa = PBXGroup; children = ( + 3F387CF5DBB0BD68FB20A696, + 82167C943DFB4C69D017E459, ); name = "unit_tests"; sourceTree = ""; }; + D9AC8362CD383EFE3BF156C3 = {isa = PBXGroup; children = ( + 5C825A97A9A4D3AA5B2BB378, + 5DADB12CCEDF09D0BE21510C, + DA476863E26CA1172290BAD4, + 3031BD31A5490136E9922721, ); name = xml; sourceTree = ""; }; + 35520B020F93071B6DC99A60 = {isa = PBXGroup; children = ( + 71351FF1DA1251BBCB78CDC7, + 0C4876972CCD08524F68EB37, + 163881ED74768BEEF817DA0E, + 3C86768D7D8DBC563EFD97D2, + 19A63325AE4C9713333A913C, + B7E4B5868CACAE3C97FCB956, ); name = zip; sourceTree = ""; }; C13C1D08D4F61200AB4A28CE = {isa = PBXGroup; children = ( - 24B21EFC54EA5C32B9DCFE91, - BDE42995C621FA57B088C0B1, - FA816A068DC55049D3EB43A7, - 2BF95A02AA4F79C00E7048B9, - A30862C4604E601B2B698267, - 1FD22250592C74C82D89582F, - 623501329309B73530F9F672, - 661AAD74AD9CBE7274CE6B6F, - EE521EA2CE19B2D26D0B4DC4, - 34D723EA28BDFDDE096BE139, + 877C8F134A7F56AD4ABFE46C, + 11AA4C570ECCFBD280553DB6, + 60E7509873E5C015F4EE6482, + B61A50D6516EEBCA2492F3EA, + DC94DD0BF75D5D7816049A70, + F19EAB2DD7EBCEE8EC58D361, + B26316EECF498AAD79FB0030, + 1BB9D28664745D15B173016C, + 3F05B555CCFA81D10A1540B6, + 84A14208CDE781B1F571D890, 189FEE751E087D6DB2C0197A, - 07C8AE42DD2A7CFD0EC6E29D, - 845E63CEBA81EFF4BBCA5044, - 0C6CF5267763AA2EE0E3E549, + 9DDED560DE9CEB33B7CC6896, + 8220F838B59EC6844AB79FE7, + 14DD612E68447DBC392245AB, A6D285CF0882B3CC40D867A0, - 29F40FB69E570EF79A9D8344, - 262E9B1077EE2007D11094B7, - D9C9D5D0149035A1682FC5CF, + D9AC8362CD383EFE3BF156C3, + 35520B020F93071B6DC99A60, 40D42F9DBB577FE74F9AE1C1, ); name = "juce_core"; sourceTree = ""; }; 8BC0E83D9386D90930F34002 = {isa = PBXGroup; children = ( E77F485798E0636E24954ED0, @@ -1563,31 +1534,45 @@ 90872E9B165FB4D3592286C2 = {isa = PBXGroup; children = ( 8BC0E83D9386D90930F34002, DF0CA5378D745AFD157EA21E, - 4659E9FA7D72C63143A08C0B, 66B366DE799726DC66AF18F4, ); name = "juce_cryptography"; sourceTree = ""; }; - ADCA74655B9E7302D4BBAFA7 = {isa = PBXGroup; children = ( + 0F00F75102C3131F00112361 = {isa = PBXGroup; children = ( + DE66D308677F285EEFEEFFE3, + FBCEC24A33254CB56686D612, + 806CEC545181D9CE0C407F56, + 040C75A5D9922BB7D96C079F, ); name = "app_properties"; sourceTree = ""; }; + 26A457497701305EC0A690BB = {isa = PBXGroup; children = ( + 706861C655AE2FF2DFB0DDC8, + A492306E251F93B398C4A91E, + 55069C6AE1A3046D6527C262, ); name = undomanager; sourceTree = ""; }; + 67130A8F74C8F543B46815A7 = {isa = PBXGroup; children = ( E1F9DDBEEF914EE783CF104D, 5763F550088C529D321F5E80, DE239F14B9770442D8BB72ED, 831D6FCD81612A1649B0CF08, 359CF3C6D92328D4DF140360, 9DCCF3A006839CD06B44CCFC, ); name = values; sourceTree = ""; }; - 26A457497701305EC0A690BB = {isa = PBXGroup; children = ( - 706861C655AE2FF2DFB0DDC8, - A492306E251F93B398C4A91E, - 55069C6AE1A3046D6527C262, ); name = undomanager; sourceTree = ""; }; - E687137194B32A564EC26AB8 = {isa = PBXGroup; children = ( - DE66D308677F285EEFEEFFE3, - FBCEC24A33254CB56686D612, - 806CEC545181D9CE0C407F56, - 040C75A5D9922BB7D96C079F, ); name = "app_properties"; sourceTree = ""; }; E8B3149AED596A8D0A1041B8 = {isa = PBXGroup; children = ( - ADCA74655B9E7302D4BBAFA7, + 0F00F75102C3131F00112361, 26A457497701305EC0A690BB, - E687137194B32A564EC26AB8, - DD99DFAC913FD5EA8313BBF2, + 67130A8F74C8F543B46815A7, DFCFF009E2B2B9C24FE8CF76, ); name = "juce_data_structures"; sourceTree = ""; }; - A819EDDED968299AAA35FF7D = {isa = PBXGroup; children = ( + 8B281C8F54F18B44AE0DB803 = {isa = PBXGroup; children = ( + 94F0DE4BE7EC544DFAFB4764, + EFEF908FE4175B15591AB27A, + 1C7FAE6F993B179548804AFB, + C2114BE0619F2D824D8ECD7E, + 61FB3AD53D3902F0AD36AE90, + 5F39F2CC5445F9F515B592D2, + 30C72B026DDF0D5C9AE7B0F2, + C4E8E11ED59E09B0729430B9, ); name = broadcasters; sourceTree = ""; }; + 928D331A66A957DF33DE72C6 = {isa = PBXGroup; children = ( + 0B5C31010C534B6016C3FDB1, + C8C342409CEB005D0B2244B1, + ADF5F66046548542C9F00C25, + B4D34A95872E0FE10A3E73E1, + 0A88AADC41E465FAE7085BBE, + 35EE9D003338889181E35334, ); name = interprocess; sourceTree = ""; }; + 7C0172C43CFAA604AC6BBC28 = {isa = PBXGroup; children = ( E83CB8AC3821B462D206DBCA, 1D19E83C682B3544927961B7, 71968FB78677A4AC53549B26, @@ -1601,28 +1586,7 @@ 194E8C9019137A408DF3BCBB, 8E6335DFBAE378576EF03F31, 055E4AD47AA509789D519CBD, ); name = messages; sourceTree = ""; }; - E9320C521F0E495F249ABF33 = {isa = PBXGroup; children = ( - F6DE657F8AFC1EA742351AEE, - D28B17D67B824090476FA43B, - DB972191556040C9ECA9AEA6, - 1D914D2BA45E19AE85866E08, ); name = timers; sourceTree = ""; }; - 8D7624C94020C07532FB2638 = {isa = PBXGroup; children = ( - 94F0DE4BE7EC544DFAFB4764, - EFEF908FE4175B15591AB27A, - 1C7FAE6F993B179548804AFB, - C2114BE0619F2D824D8ECD7E, - 61FB3AD53D3902F0AD36AE90, - 5F39F2CC5445F9F515B592D2, - 30C72B026DDF0D5C9AE7B0F2, - C4E8E11ED59E09B0729430B9, ); name = broadcasters; sourceTree = ""; }; - 18DAF73C15B7CE8EFD3A4BAD = {isa = PBXGroup; children = ( - 0B5C31010C534B6016C3FDB1, - C8C342409CEB005D0B2244B1, - ADF5F66046548542C9F00C25, - B4D34A95872E0FE10A3E73E1, - 0A88AADC41E465FAE7085BBE, - 35EE9D003338889181E35334, ); name = interprocess; sourceTree = ""; }; - 4E16BE13DE84659E19DB65FD = {isa = PBXGroup; children = ( + 8CBC5D47778C62D43DE0A0BB = {isa = PBXGroup; children = ( FE26362F052098FDD390A4F0, ED6A6DED69A6B6356531AB3C, C231BFEE12706E2603F66883, @@ -1631,13 +1595,17 @@ 7CF0389C80C56663CFB07375, 63A95276F02D29186E98B46A, 0ABB990275F24497DEDF9412, ); name = native; sourceTree = ""; }; + 2907FF485775086052E35FFE = {isa = PBXGroup; children = ( + F6DE657F8AFC1EA742351AEE, + D28B17D67B824090476FA43B, + DB972191556040C9ECA9AEA6, + 1D914D2BA45E19AE85866E08, ); name = timers; sourceTree = ""; }; 1B1CAEA34EEDBB1B84E1212B = {isa = PBXGroup; children = ( - A819EDDED968299AAA35FF7D, - E9320C521F0E495F249ABF33, - 8D7624C94020C07532FB2638, - 18DAF73C15B7CE8EFD3A4BAD, - 4E16BE13DE84659E19DB65FD, - 54AABF3254D0420FE2AEB249, + 8B281C8F54F18B44AE0DB803, + 928D331A66A957DF33DE72C6, + 7C0172C43CFAA604AC6BBC28, + 8CBC5D47778C62D43DE0A0BB, + 2907FF485775086052E35FFE, F6CD562360C9463ECB5C2A88, ); name = "juce_events"; sourceTree = ""; }; 3BC5644AD4FB9ACBEFAB5F76 = {isa = PBXGroup; children = ( 5F1449FB890A39C2A95901FB, @@ -1657,19 +1625,25 @@ 507FCB578F092B366DEA9B7C, 7E08F28DB14A6D7D2844B6C5, A7EAEEFB48D8FBB3DC86F3D4, ); name = contexts; sourceTree = ""; }; - 8E69AD0CAFC74C15A01C51A8 = {isa = PBXGroup; children = ( - 21FE01C41C1CD99C852C7609, - 460FAEBE1DC6115C7340D368, - 7F9EFDB0517F3BA863DE3800, - EF5B06AD7C65652AEFDD2B26, - E2B3AA140F644E8221ADCFC6, - 7D4F7A80F1AFC4853F307DD3, - 47772BFE38C18EA36303B771, - 700CE8F1CAF61C4CF9027BA4, ); name = images; sourceTree = ""; }; - C247C8DA91AD3AC393980633 = {isa = PBXGroup; children = ( - 67EA6F256BEF7618EC7D99DE, - 9DAD1A4D51DFCB12DBA2455F, - B822B93FBB4EF4979C545FE0, ); name = "image_formats"; sourceTree = ""; }; + 99331FA9E91B5AA0984B9561 = {isa = PBXGroup; children = ( + 3702C9C0F7A9A031EE4C9C5D, + 46E82B58209C66033748B38B, + 57BCD0D2F887DF543FCA89EA, + 947EB04468A24EA0C1E28688, + 61D4A91C910C7D8EA3863C70, ); name = effects; sourceTree = ""; }; + 6C25198CD1324D5BA2CADCFB = {isa = PBXGroup; children = ( + FF8A5921A47E39C21211FCF2, + F7B28CB63D3D5AF524D74BC5, + BD75D330BF7E56DBAF894032, + 30F3C37222EEE2026BCD4534, + 17F28C04484247E6C51153C1, + E8AAC753359ED00EDED82E4F, + 91195801FB4FFF7D7DAF68AA, + FE3E3A2B6373DB38CAC32665, + 963CF5D3B2B91301FCF3A3B2, + B73EB5A72AEAEE87486E8C40, + FD0DDA738AFE44B437E09E19, + 0000B383909E786E176792A9, ); name = fonts; sourceTree = ""; }; EEB65D75CFBA70E84FDA50AA = {isa = PBXGroup; children = ( 87CBFFF0A410C24D08C77B9D, BB03F74A83F9A6F2259918C7, @@ -1686,30 +1660,20 @@ 77DBEC23583C975FD0D93328, 9195DEDEEFF11C231AD6E499, A954262B02E22F16A2653F22, ); name = geometry; sourceTree = ""; }; - E65D64F8502B930E8799A01D = {isa = PBXGroup; children = ( - C3268FC646D56A5CABF404BC, - C21D47577DB11F1E012987A7, - C1CC9E74271F888FBA5BE549, ); name = placement; sourceTree = ""; }; - 1C68B3353511B063FD6F697A = {isa = PBXGroup; children = ( - FF8A5921A47E39C21211FCF2, - F7B28CB63D3D5AF524D74BC5, - BD75D330BF7E56DBAF894032, - 30F3C37222EEE2026BCD4534, - 17F28C04484247E6C51153C1, - E8AAC753359ED00EDED82E4F, - 91195801FB4FFF7D7DAF68AA, - FE3E3A2B6373DB38CAC32665, - 963CF5D3B2B91301FCF3A3B2, - B73EB5A72AEAEE87486E8C40, - FD0DDA738AFE44B437E09E19, - 0000B383909E786E176792A9, ); name = fonts; sourceTree = ""; }; - 4B4816526FB5CBB8B8F94F11 = {isa = PBXGroup; children = ( - 3702C9C0F7A9A031EE4C9C5D, - 46E82B58209C66033748B38B, - 57BCD0D2F887DF543FCA89EA, - 947EB04468A24EA0C1E28688, - 61D4A91C910C7D8EA3863C70, ); name = effects; sourceTree = ""; }; - 7D13DF4AF7E428EF01C76E70 = {isa = PBXGroup; children = ( + DF7F4691833AF20D3D6B2FFE = {isa = PBXGroup; children = ( + 67EA6F256BEF7618EC7D99DE, + 9DAD1A4D51DFCB12DBA2455F, + B822B93FBB4EF4979C545FE0, ); name = "image_formats"; sourceTree = ""; }; + 1BAC71DE108E740F46C04F76 = {isa = PBXGroup; children = ( + 21FE01C41C1CD99C852C7609, + 460FAEBE1DC6115C7340D368, + 7F9EFDB0517F3BA863DE3800, + EF5B06AD7C65652AEFDD2B26, + E2B3AA140F644E8221ADCFC6, + 7D4F7A80F1AFC4853F307DD3, + 47772BFE38C18EA36303B771, + 700CE8F1CAF61C4CF9027BA4, ); name = images; sourceTree = ""; }; + 93BF2E6FE733EA430FE8EECE = {isa = PBXGroup; children = ( 6DC698D49D38C54E5E148EB4, A1713DDC5BB30C019D421804, D36B4CDCA954030E8FD4DF29, @@ -1723,19 +1687,54 @@ C49CDB7E6A6B236B90475472, FCB1A8FA5E021B12BCDE4390, 2E456C820F49CD1CC502D076, ); name = native; sourceTree = ""; }; + C057FE18B390CDDA4F210B7C = {isa = PBXGroup; children = ( + C3268FC646D56A5CABF404BC, + C21D47577DB11F1E012987A7, + C1CC9E74271F888FBA5BE549, ); name = placement; sourceTree = ""; }; 4FFED01B671A2186993BC671 = {isa = PBXGroup; children = ( 3BC5644AD4FB9ACBEFAB5F76, D16D708BEA26083989E17A51, - 8E69AD0CAFC74C15A01C51A8, - C247C8DA91AD3AC393980633, + 99331FA9E91B5AA0984B9561, + 6C25198CD1324D5BA2CADCFB, EEB65D75CFBA70E84FDA50AA, - E65D64F8502B930E8799A01D, - 1C68B3353511B063FD6F697A, - 4B4816526FB5CBB8B8F94F11, - 7D13DF4AF7E428EF01C76E70, - ABD7D62B8A732F7E780AC47B, + DF7F4691833AF20D3D6B2FFE, + 1BAC71DE108E740F46C04F76, + 93BF2E6FE733EA430FE8EECE, + C057FE18B390CDDA4F210B7C, CF45B6F185CC52AFC97555B2, ); name = "juce_graphics"; sourceTree = ""; }; - B973E26E66EADC4ED3675B42 = {isa = PBXGroup; children = ( + 745E942F2C9528395C4E38E8 = {isa = PBXGroup; children = ( + 3BEEC005012C7B59727662C1, + C93881E59063E7106E77762C, ); name = application; sourceTree = ""; }; + B902638AF8E83B228864E4BE = {isa = PBXGroup; children = ( + 040ED28E4B927B6F00CF19E5, + 1050592B94D122929ED115F1, + CDC33763F981E457A893A979, + BEB71F5F8A83276FFC889F76, + E9826AAFDC691D5BDB7E7F53, + C4C952868910E9A933723C4D, + ABA78440E8BBC48CD14E4DE3, + 8F2975B67CB7CCA0D0F60988, + 0C06AB6F3CD0B6B339FC1E7A, + A0253FE5E948B4A2E80D3885, + D54EB52F77B8BA849F4B4988, + BDBD203A18A82D0739F9A879, + 43173B4435D709B20D23F8E3, + 52D34C24383A1090FE4790A4, + 6F3739D00F974F55096E2AF7, + 08B5FBB5AE51C7358FBCBBBC, + 44E64F895D6561C7F402FFAC, + 15F24657D67F9FA0101243C4, ); name = buttons; sourceTree = ""; }; + D3232032098D185BE5D26E73 = {isa = PBXGroup; children = ( + AC918E9FF22781B57964CD1D, + CB86FA8F13699AE468D540CE, + 13D8722208F699E53B7747F0, + CE767FF08071F3D8269ED2ED, + D6B97908735281D202A8A26F, + 1BB6C06A841BDE30CE21AB8E, + A367A1757697F29B157B58EF, + A93F8583644CF10A1818F9A5, + 6F4DC318020741E9C1105300, ); name = commands; sourceTree = ""; }; + 4E9711245FB8C0D60EAB85B8 = {isa = PBXGroup; children = ( F9898F5B8488062B0FCC1AC7, F79BF16233977237AD933E54, A85523D456B7E4A756DE4734, @@ -1745,28 +1744,46 @@ 168538787685D8B11A48870D, 76AE8F26F4B59A3BFAC5CD98, D8326C79AEDDD3DA5B0FB757, ); name = components; sourceTree = ""; }; - 28F1F5DAFF7656071EE7CAD4 = {isa = PBXGroup; children = ( - F8766D0CFBD5568256C87B9E, - FB3F53F652BD2355EC2881C5, - 53373FC985AF166F12FEB886, - 3305A965DBA8A012C58FFD06, - 9E45457C947F536119948087, - FF84CCEAC9742E22308EAE19, - 818ADA13F83B5D4610CF0A0C, - A5844E2B9968F2C3657EDD5A, - 570D547768979709B76F2EC7, - AF1E2E1D1A2BC3A74926D43E, - 531FDFD3287869A5D3B8BDED, - 39BD9382DD5310BEC6792B1B, - E502656482136FE43E2B3759, - C049B9C221709051EA11E89F, - 52E326682860BA5670505046, - FBB804CAB0CE97A362B43BCA, - 014002774B3422892E4EA107, - 0E8092ECEA8CA5E97A1D1636, - 505C01F8D81CDB058DB7C2F8, - 723F0D8EA22ED6781CE9F8A5, ); name = mouse; sourceTree = ""; }; - 7F9673EC1B630773BF0ED41A = {isa = PBXGroup; children = ( + 274C55CC5B6B00E289149413 = {isa = PBXGroup; children = ( + D1848E8055D08BF63A6F6958, + AA236314ECB86A14C496C7C8, + CE90CA35FD6D04C3BE071530, + 31AA614A6097C175E568A4F6, + CE82E957A5AF7D50C7646EFA, + DAC42A5F60800CBD8FAF4BB3, + 546699C9706CC08F152D9EBD, + 5617580E3E1804308EA597D8, + 7EA3555E21692E5DF2440B10, + 0851623E3A0D2BF619251739, + 90A254BFD276CFF0F809F867, + DE4C5FB53E23F229E40B11B3, + E06EF25DB1B087412E905BE4, + 3A3FBD61A69BDE45825F491A, + F22002DFBE76022390C8BFE1, ); name = drawables; sourceTree = ""; }; + 554AC4BBD2A1D238109E6C4B = {isa = PBXGroup; children = ( + 2885D478CE1AB2E7B1A08322, + 41746FC663B6AAAADECE1425, + 92D7694B81788A2E5A7AEF68, + B72286B24C9F05792D59A23A, + C78FFBAAEACD3BC09738D6F6, + 6C4AB54DBC432556EED5606D, + 559BC6B13FC81331E7342F0B, + 0EC44B4F782B363577DC6BB1, + 68769796EB116F1CD87157B4, + CDA1DE6359BDF1956A0E9492, + 31882AD7F2169844F3442DF3, + BF61AF26A22D1ECE6DBE58CB, + 0E9E9DEC98A4B8BDEB38D562, + 64795A5ABD04000A2CBB1B25, + 7DDE5E94DED6CAC6867415DD, + 155FAE23E29E586D10CF84AF, + 1666A8702F749A1DC706A8A2, + 51A3092B54D75D13A0FE396D, + 7F0FB2F4C1A707652E7288BD, + B0A77D2BA7186415ED81738A, + 5A85E24C8BA70B351465A567, + 5748E13F7BEBE8AEE3E3850B, ); name = filebrowser; sourceTree = ""; }; + 4864B56ED00D69A88ED4ED9C = {isa = PBXGroup; children = ( 324BCBD3697555B09B0B6583, 0DA9056ECCB24283DE9EEBDE, 62C31B7504A5E29977D544AE, @@ -1780,62 +1797,7 @@ 3B0253CED61E4E1336D22FE7, 2656BD53C5B7E6BB7B4E71FD, 9B3F61AC03E7ACB1E3096B8E, ); name = keyboard; sourceTree = ""; }; - 3786E4D7FA6E235A52DE169F = {isa = PBXGroup; children = ( - D625544467CB87C86DF6B39C, - 2395971B20B98B3A5BC28FDC, - 8ACBFC171B28F02B7C79EC9F, - D5B1376F148616CF0F6A6FAD, - AA300F9513F6A05B3DDF6230, - 7DA7FB17E011B6E4F6B1E788, - BDB48058A0393BB21595D510, - AED619E5D1EA581C9BF8BFF7, - 8D2F64C046BBAAA084369818, - BDD5D36BA8DBC821209099DF, - 99EAC514AE975761267EF416, - 23C86278B90F5026D598AD2F, - 66EF6387A88A9C6572323325, - 39CD3C7765CFC878E3D25FD5, - F08EBCE2DF63A844B3AA40E9, - 078FC78D692AA90FD57D8E44, - 7641E9D1CC635B7AB3CD681E, - C5014F9EE489066E82D28C5B, - FA296E9B1955F4D89C1C40BD, - D870A888E298A6133C7479FD, - 11409A38980818092C00D4F2, - F9F2315156152761AACD907B, - 495B9784D6D0CB0995A1B335, - 5DB36E27FCDAD3FE2BCFA155, - AEB2BD22134D79969D79D142, - 0C57A2031EAF30DB282300E0, - 66B04DB27F487637BB9F98D7, ); name = widgets; sourceTree = ""; }; - 1EB9C8083EFD2727D9BE2D08 = {isa = PBXGroup; children = ( - 5BB313B4D5D17AB00A7C2A4D, - D01AF3FDC1F0B32064B4EB2B, - 429F3929CFD75239AC664BAF, - 21538DBF6C45B0BD14E89F57, - 75D5ACB2D8B96170CEC33B10, - 514EC10712215945B7F8416C, - D847FE4F8BB1FCFE594FC816, - FD769F3C864F10596396CF13, - AC69E105CCF658FC2D078FC4, - 903F61DB5200F7F044160307, - C082F2522A06A10B9872BB3E, - 5CE626D4E648E84ADAF43E76, - F7E851366CD6023170429026, - 745CC0B64BB09F40A77FCD36, - 30AAC4B170226F0DD6727C6B, - 0C6EFD657F2DE522250F9271, - 252B344857F583516C219008, - 8D8276FB197AE7CF5FBB3AB0, - 884753558BC1F3FA3CD36289, ); name = windows; sourceTree = ""; }; - 6C3F931EC9DC09E8E9101F3C = {isa = PBXGroup; children = ( - E6030EFE3070F375865A62FB, - A0578FC8A4E9AD111D47B465, - F663E5663FB633FD0650ECEB, - C97789C4620368AE1E3F9F22, - 45AD1E5475B9820E1CC8A636, - D96D61FB21B63DE1C97BCFB7, ); name = menus; sourceTree = ""; }; - 31311D5925AA8FE53B577588 = {isa = PBXGroup; children = ( + F484C289314C32DEC463888F = {isa = PBXGroup; children = ( A75918090FB31B99B60FF1D1, 8AB1217C7D9CEC5CA4CE87B9, D7A9D8BFB6D8F9F6C8F7A564, @@ -1872,72 +1834,7 @@ 82791DF73E7508C75E0B8FAF, CB443F70086971C87F1BC4A8, 526373D29E0EC21236A180A5, ); name = layout; sourceTree = ""; }; - 4605D6819AD6026281C90487 = {isa = PBXGroup; children = ( - 040ED28E4B927B6F00CF19E5, - 1050592B94D122929ED115F1, - CDC33763F981E457A893A979, - BEB71F5F8A83276FFC889F76, - E9826AAFDC691D5BDB7E7F53, - C4C952868910E9A933723C4D, - ABA78440E8BBC48CD14E4DE3, - 8F2975B67CB7CCA0D0F60988, - 0C06AB6F3CD0B6B339FC1E7A, - A0253FE5E948B4A2E80D3885, - D54EB52F77B8BA849F4B4988, - BDBD203A18A82D0739F9A879, - 43173B4435D709B20D23F8E3, - 52D34C24383A1090FE4790A4, - 6F3739D00F974F55096E2AF7, - 08B5FBB5AE51C7358FBCBBBC, - 44E64F895D6561C7F402FFAC, - 15F24657D67F9FA0101243C4, ); name = buttons; sourceTree = ""; }; - DB7D5F35A212C59CAD3D970A = {isa = PBXGroup; children = ( - 085E8AAF08603197C8422743, - C5331A9B548B1C4BA82B1C5E, - 5454498293784705551AFC93, - C11FDE71C9F4A3598D31D2B7, - EA2C0D823DA76996E8BB3D35, - 975BB97EED05CDBCFB755C9F, - A9F9C2F09B984C82A20D244E, - CE690CDFA6954C16F2A15C17, - 1C1BA3B137968A4F5C55891F, - 1703E734221F32B55AB20CAB, - CFF216130476A0B9DA5C3858, - F2B78257220C0B0A318BF37D, - B5CE5220AFAA451EDE91F0BA, - 7FB8750BA8CBC35CD7D49DFA, ); name = positioning; sourceTree = ""; }; - 053748F29D098399198D7E98 = {isa = PBXGroup; children = ( - D1848E8055D08BF63A6F6958, - AA236314ECB86A14C496C7C8, - CE90CA35FD6D04C3BE071530, - 31AA614A6097C175E568A4F6, - CE82E957A5AF7D50C7646EFA, - DAC42A5F60800CBD8FAF4BB3, - 546699C9706CC08F152D9EBD, - 5617580E3E1804308EA597D8, - 7EA3555E21692E5DF2440B10, - 0851623E3A0D2BF619251739, - 90A254BFD276CFF0F809F867, - DE4C5FB53E23F229E40B11B3, - E06EF25DB1B087412E905BE4, - 3A3FBD61A69BDE45825F491A, - F22002DFBE76022390C8BFE1, ); name = drawables; sourceTree = ""; }; - AD65AE6A66EF14C491D83F64 = {isa = PBXGroup; children = ( - 6544310A5FE189E31FA1E19C, - 1DF12382D165910E9C82AEE5, - 924B473BB36A76EAF10CAF93, - A71D074B6F3ECE49A86444C0, - 889215816EC0BE292B4FC278, - 702C8F8FC81ADB2C6305B028, - C1BCB8BFC7810B8E181D6012, - 94064A8E7E57387E611786B1, - 90C7260EB1DD77FAD05FA9EB, - EC552B8FF680076D7C3CDCD3, - D487D34A38A1DE7F492FDB7A, - 6E562E933928F42CFA6BBBAF, - E16A02BD2A75D7E45E87B6C5, - 0D8C088EF55B1F7EC793A7F2, ); name = properties; sourceTree = ""; }; - 566223505CFB949DD476DD0E = {isa = PBXGroup; children = ( + 3BF2EDC788ED896102BA5CCA = {isa = PBXGroup; children = ( 89685AA70302A3738E626A4B, EAE5092A709474C733426897, 5ED79CEB7D0DC98541A1EE3D, @@ -1946,48 +1843,40 @@ 23967785D99600B250F32D59, 863578C8C35502444456B6EA, 49EF2BC6D82746658EAEFC0B, ); name = lookandfeel; sourceTree = ""; }; - DFF3809F4EF6D0D28A0AA3B9 = {isa = PBXGroup; children = ( - 2885D478CE1AB2E7B1A08322, - 41746FC663B6AAAADECE1425, - 92D7694B81788A2E5A7AEF68, - B72286B24C9F05792D59A23A, - C78FFBAAEACD3BC09738D6F6, - 6C4AB54DBC432556EED5606D, - 559BC6B13FC81331E7342F0B, - 0EC44B4F782B363577DC6BB1, - 68769796EB116F1CD87157B4, - CDA1DE6359BDF1956A0E9492, - 31882AD7F2169844F3442DF3, - BF61AF26A22D1ECE6DBE58CB, - 0E9E9DEC98A4B8BDEB38D562, - 64795A5ABD04000A2CBB1B25, - 7DDE5E94DED6CAC6867415DD, - 155FAE23E29E586D10CF84AF, - 1666A8702F749A1DC706A8A2, - 51A3092B54D75D13A0FE396D, - 7F0FB2F4C1A707652E7288BD, - B0A77D2BA7186415ED81738A, - 5A85E24C8BA70B351465A567, - 5748E13F7BEBE8AEE3E3850B, ); name = filebrowser; sourceTree = ""; }; - F90EC4226FE9CDC868E4006F = {isa = PBXGroup; children = ( - AC918E9FF22781B57964CD1D, - CB86FA8F13699AE468D540CE, - 13D8722208F699E53B7747F0, - CE767FF08071F3D8269ED2ED, - D6B97908735281D202A8A26F, - 1BB6C06A841BDE30CE21AB8E, - A367A1757697F29B157B58EF, - A93F8583644CF10A1818F9A5, - 6F4DC318020741E9C1105300, ); name = commands; sourceTree = ""; }; - 91726856CD9CB49077802290 = {isa = PBXGroup; children = ( + B5AE4100DAFD7614CAB4BCFF = {isa = PBXGroup; children = ( + E6030EFE3070F375865A62FB, + A0578FC8A4E9AD111D47B465, + F663E5663FB633FD0650ECEB, + C97789C4620368AE1E3F9F22, + 45AD1E5475B9820E1CC8A636, + D96D61FB21B63DE1C97BCFB7, ); name = menus; sourceTree = ""; }; + AE093402B4F34D07BBFC96AA = {isa = PBXGroup; children = ( 6627145A2E93CCE43E6BCECC, 0077BF3E748A1660AA76177D, 1E1B654F129B4B2743E45B77, 257CFFF0281E2987C3D35CD6, ); name = misc; sourceTree = ""; }; - 229F6F9AB10DD2530C73808D = {isa = PBXGroup; children = ( - 3BEEC005012C7B59727662C1, - C93881E59063E7106E77762C, ); name = application; sourceTree = ""; }; - AE9DB1E2E256F5FAE7862140 = {isa = PBXGroup; children = ( + 1931D8A1E122F6A7DDA5B8DE = {isa = PBXGroup; children = ( + F8766D0CFBD5568256C87B9E, + FB3F53F652BD2355EC2881C5, + 53373FC985AF166F12FEB886, + 3305A965DBA8A012C58FFD06, + 9E45457C947F536119948087, + FF84CCEAC9742E22308EAE19, + 818ADA13F83B5D4610CF0A0C, + A5844E2B9968F2C3657EDD5A, + 570D547768979709B76F2EC7, + AF1E2E1D1A2BC3A74926D43E, + 531FDFD3287869A5D3B8BDED, + 39BD9382DD5310BEC6792B1B, + E502656482136FE43E2B3759, + C049B9C221709051EA11E89F, + 52E326682860BA5670505046, + FBB804CAB0CE97A362B43BCA, + 014002774B3422892E4EA107, + 0E8092ECEA8CA5E97A1D1636, + 505C01F8D81CDB058DB7C2F8, + 723F0D8EA22ED6781CE9F8A5, ); name = mouse; sourceTree = ""; }; + C98151549D5A51C480CB7098 = {isa = PBXGroup; children = ( 5F05CDB9CC162A8054B6B07C, B40FF8B6DCEC246C6AF39D13, 1A635AC7B19A22FA1C5AE1FA, @@ -2004,25 +1893,102 @@ DBEF9D71A2917C0FC54B33D4, 3EE91003DBE013763ADE30BE, 53BF201C2DC50C4811878627, ); name = native; sourceTree = ""; }; + 42A58EE91EE3662C27D1D73B = {isa = PBXGroup; children = ( + 085E8AAF08603197C8422743, + C5331A9B548B1C4BA82B1C5E, + 5454498293784705551AFC93, + C11FDE71C9F4A3598D31D2B7, + EA2C0D823DA76996E8BB3D35, + 975BB97EED05CDBCFB755C9F, + A9F9C2F09B984C82A20D244E, + CE690CDFA6954C16F2A15C17, + 1C1BA3B137968A4F5C55891F, + 1703E734221F32B55AB20CAB, + CFF216130476A0B9DA5C3858, + F2B78257220C0B0A318BF37D, + B5CE5220AFAA451EDE91F0BA, + 7FB8750BA8CBC35CD7D49DFA, ); name = positioning; sourceTree = ""; }; + 010336B33A76CC989CF9257B = {isa = PBXGroup; children = ( + 6544310A5FE189E31FA1E19C, + 1DF12382D165910E9C82AEE5, + 924B473BB36A76EAF10CAF93, + A71D074B6F3ECE49A86444C0, + 889215816EC0BE292B4FC278, + 702C8F8FC81ADB2C6305B028, + C1BCB8BFC7810B8E181D6012, + 94064A8E7E57387E611786B1, + 90C7260EB1DD77FAD05FA9EB, + EC552B8FF680076D7C3CDCD3, + D487D34A38A1DE7F492FDB7A, + 6E562E933928F42CFA6BBBAF, + E16A02BD2A75D7E45E87B6C5, + 0D8C088EF55B1F7EC793A7F2, ); name = properties; sourceTree = ""; }; + F08623961FFE5521C3E92C62 = {isa = PBXGroup; children = ( + D625544467CB87C86DF6B39C, + 2395971B20B98B3A5BC28FDC, + 8ACBFC171B28F02B7C79EC9F, + D5B1376F148616CF0F6A6FAD, + AA300F9513F6A05B3DDF6230, + 7DA7FB17E011B6E4F6B1E788, + BDB48058A0393BB21595D510, + AED619E5D1EA581C9BF8BFF7, + 8D2F64C046BBAAA084369818, + BDD5D36BA8DBC821209099DF, + 99EAC514AE975761267EF416, + 23C86278B90F5026D598AD2F, + 66EF6387A88A9C6572323325, + 39CD3C7765CFC878E3D25FD5, + F08EBCE2DF63A844B3AA40E9, + 078FC78D692AA90FD57D8E44, + 7641E9D1CC635B7AB3CD681E, + C5014F9EE489066E82D28C5B, + FA296E9B1955F4D89C1C40BD, + D870A888E298A6133C7479FD, + 11409A38980818092C00D4F2, + F9F2315156152761AACD907B, + 495B9784D6D0CB0995A1B335, + 5DB36E27FCDAD3FE2BCFA155, + AEB2BD22134D79969D79D142, + 0C57A2031EAF30DB282300E0, + 66B04DB27F487637BB9F98D7, ); name = widgets; sourceTree = ""; }; + 8CE7234BD1D3C82584C2F61A = {isa = PBXGroup; children = ( + 5BB313B4D5D17AB00A7C2A4D, + D01AF3FDC1F0B32064B4EB2B, + 429F3929CFD75239AC664BAF, + 21538DBF6C45B0BD14E89F57, + 75D5ACB2D8B96170CEC33B10, + 514EC10712215945B7F8416C, + D847FE4F8BB1FCFE594FC816, + FD769F3C864F10596396CF13, + AC69E105CCF658FC2D078FC4, + 903F61DB5200F7F044160307, + C082F2522A06A10B9872BB3E, + 5CE626D4E648E84ADAF43E76, + F7E851366CD6023170429026, + 745CC0B64BB09F40A77FCD36, + 30AAC4B170226F0DD6727C6B, + 0C6EFD657F2DE522250F9271, + 252B344857F583516C219008, + 8D8276FB197AE7CF5FBB3AB0, + 884753558BC1F3FA3CD36289, ); name = windows; sourceTree = ""; }; E76592C491140F8498FC38A3 = {isa = PBXGroup; children = ( - B973E26E66EADC4ED3675B42, - 28F1F5DAFF7656071EE7CAD4, - 7F9673EC1B630773BF0ED41A, - 3786E4D7FA6E235A52DE169F, - 1EB9C8083EFD2727D9BE2D08, - 6C3F931EC9DC09E8E9101F3C, - 31311D5925AA8FE53B577588, - 4605D6819AD6026281C90487, - DB7D5F35A212C59CAD3D970A, - 053748F29D098399198D7E98, - AD65AE6A66EF14C491D83F64, - 566223505CFB949DD476DD0E, - DFF3809F4EF6D0D28A0AA3B9, - F90EC4226FE9CDC868E4006F, - 91726856CD9CB49077802290, - 229F6F9AB10DD2530C73808D, - AE9DB1E2E256F5FAE7862140, - 7C4ABF1BEC3B9DF099B278E5, + 745E942F2C9528395C4E38E8, + B902638AF8E83B228864E4BE, + D3232032098D185BE5D26E73, + 4E9711245FB8C0D60EAB85B8, + 274C55CC5B6B00E289149413, + 554AC4BBD2A1D238109E6C4B, + 4864B56ED00D69A88ED4ED9C, + F484C289314C32DEC463888F, + 3BF2EDC788ED896102BA5CCA, + B5AE4100DAFD7614CAB4BCFF, + AE093402B4F34D07BBFC96AA, + 1931D8A1E122F6A7DDA5B8DE, + C98151549D5A51C480CB7098, + 42A58EE91EE3662C27D1D73B, + 010336B33A76CC989CF9257B, + F08623961FFE5521C3E92C62, + 8CE7234BD1D3C82584C2F61A, 3844B4C3527ED9ADE3124C84, ); name = "juce_gui_basics"; sourceTree = ""; }; 4552D20E7869664DBD4C5EB1 = {isa = PBXGroup; children = ( 6F4E9B36E5290DF31257AC55, @@ -2084,9 +2050,21 @@ C3E7D6E011894E7C7F2BA639, F82D8493B331BAB2263B0D20, AC324403CCA71348B4B19024, - B697D45F3D6E9B7EEE3C639C, E274543499717615EDF97C52, ); name = "juce_gui_extra"; sourceTree = ""; }; - 5D3CE040E5B363B1730C70EF = {isa = PBXGroup; children = ( + E1829D5821B2B8019A80095F = {isa = PBXGroup; children = ( + 7B510507B8087E503273380A, + 0761C9CA82D7B3B28E30742D, + CFD4B25583AC57792A702F9E, + 7F2031BCF41D69FB01E27151, ); name = geometry; sourceTree = ""; }; + 92D93980FB2857B86AAE1A51 = {isa = PBXGroup; children = ( + C7FBC198B3D5BDE2404AA734, + 6DD53D2067B56F7B851EAB18, + 9F64E0A927BE804B3C140853, + EDA4B553EDC0133EDE520E85, + 1C06BCC6DD5D394942624741, + EBA64ECA5F1C291E2183C266, + 67E73B9B49D4BF0B0005AAC3, ); name = native; sourceTree = ""; }; + AC8F44BC7D2719153EDE51F6 = {isa = PBXGroup; children = ( 0977881EAF41DFC35199C670, 42431A6D35BB7759FBA0A1A9, BA4123F2CAB9039F80B94EB3, @@ -2104,47 +2082,32 @@ 94B5B0680AF388C6F16942A0, 1E67025B1F91B4FD970B9B39, BFD8CD9DAD02C64472380BFC, ); name = opengl; sourceTree = ""; }; - 20AB769F3D0A7236AF9370D3 = {isa = PBXGroup; children = ( - 7B510507B8087E503273380A, - 0761C9CA82D7B3B28E30742D, - CFD4B25583AC57792A702F9E, - 7F2031BCF41D69FB01E27151, ); name = geometry; sourceTree = ""; }; - D6920A0A48E226DDAB703C0F = {isa = PBXGroup; children = ( + 829FAD3C4E6968DED4CE0A34 = {isa = PBXGroup; children = ( 560D45B247F62D55D9EAF0EE, 47B37FFCC2E9EF3CCDF9270D, ); name = utils; sourceTree = ""; }; - 60512E44E273C90FBE9DCB59 = {isa = PBXGroup; children = ( - C7FBC198B3D5BDE2404AA734, - 6DD53D2067B56F7B851EAB18, - 9F64E0A927BE804B3C140853, - EDA4B553EDC0133EDE520E85, - 1C06BCC6DD5D394942624741, - EBA64ECA5F1C291E2183C266, - 67E73B9B49D4BF0B0005AAC3, ); name = native; sourceTree = ""; }; 41FAD25455348290204EB32E = {isa = PBXGroup; children = ( - 5D3CE040E5B363B1730C70EF, - 20AB769F3D0A7236AF9370D3, - D6920A0A48E226DDAB703C0F, - 60512E44E273C90FBE9DCB59, - BB7114B9D7DF540C5711AC18, + E1829D5821B2B8019A80095F, + 92D93980FB2857B86AAE1A51, + AC8F44BC7D2719153EDE51F6, + 829FAD3C4E6968DED4CE0A34, 47EBAB1A9CD775971F6A90A0, ); name = "juce_opengl"; sourceTree = ""; }; - 2780AF8EFB57E2FFA721D245 = {isa = PBXGroup; children = ( - C6EA3F5A3D778DF75E67BCC4, - F8DDC6A45DB4260273B3800F, ); name = playback; sourceTree = ""; }; - A9B4A98866795D9C493770A0 = {isa = PBXGroup; children = ( + 3194080E32997218DBB3B266 = {isa = PBXGroup; children = ( 67FE3ACAFC37091FBDAAF35B, A80623F61A50FC6957425AB3, ); name = capture; sourceTree = ""; }; - 684F974F528D0D450FE91F11 = {isa = PBXGroup; children = ( + 769509AD5A38D2BE473118B8 = {isa = PBXGroup; children = ( ACBF3FA6ACD3FFCD75F395B7, DAB75AC42071AD5C426D1534, 5FEBDC4C196922F425AA0D9C, FBB4308B70BB831413B5BE68, F797DAB0D0E347F86073ADA0, E201B2C16C5591B0B42830E6, ); name = native; sourceTree = ""; }; + 806FFEE51E12BBF310AA7EBD = {isa = PBXGroup; children = ( + C6EA3F5A3D778DF75E67BCC4, + F8DDC6A45DB4260273B3800F, ); name = playback; sourceTree = ""; }; B56145E0D5A01A93DEB6DF13 = {isa = PBXGroup; children = ( - 2780AF8EFB57E2FFA721D245, - A9B4A98866795D9C493770A0, - 684F974F528D0D450FE91F11, - 9254FDFB5A9960976D581FF4, + 3194080E32997218DBB3B266, + 769509AD5A38D2BE473118B8, + 806FFEE51E12BBF310AA7EBD, 7D725C33C92063B40C0A3358, ); name = "juce_video"; sourceTree = ""; }; 863735409A25FA5C7E7D02D2 = {isa = PBXGroup; children = ( B95A8CEE0A73DD4292DB8797, @@ -2163,55 +2126,35 @@ B56145E0D5A01A93DEB6DF13, ); name = "Juce Modules"; sourceTree = ""; }; 1128728F843B9D9296C05F16 = {isa = PBXGroup; children = ( 779B2DEAEE0E57CE5E08FC15, - 458D73FCC89935898F0D2C23, - 45E3757052FEDC9305DE5972, - E7649B82B33E1D1CED45A85C, - 560F8258408D6E0570430645, - E358A07AFF9BD2EBB2FD9231, - 6B4F3D7D16227556351F5208, - 9ECA1ECBFEDF5753570E1CE4, - 23091881E26A7EDE62D105E2, - 731D166A94A169F40BB0C638, - 168F080C39D0C2622BF07BBB, - 3EC20942E3060C6E04E78734, - BC9BDCFF1ACF147F86BF66B0, - BF0E0D436423306098D443EA, - 261F1F55DF0430FA3656D346, - E6D2334CFA8C9CEB693FDED7, - D0871319290F1C42DAFA972C, - 1E83EA20BEF3D521089FE676, - C590BE5EBEFBDCC508E8233F, - 4B133B1F9874EBA8953DCDF9, - 76FD799F05D94842EEF552FD, - 5D14102BB6BB7AE2D89C7A87, - 7BD189FD9F797A43D5818C6A, - 426958B7DB499792338C7359, - C6EE8BDFC42B4B3B149DB6CB, - 35B628AB8DFBC44E9BBF1EF9, - D93DD123CF1E82A3CC410853, - D9D80C50710E5B4465F776C9, - 32163E95DE23FC34236D5222, - 264B942F4B19B89749EAA874, - 9074CCFE08F3965E4129AC84, - C63A37F5E2B0F3A457A1CB5E, - DAE44B592D6EEE1CB93CB155, - 260974AE3CD80140CDAE7350, - 7A874F15B399218ED0FC60AE, - F6AE18B04CC3D2BB90189253, - 55DFDE807E321ABD1E879E41, - AB04D06155A5E52B0658F3D6, - 1000AB9EC17650FB0092DCD8, - 7D2CA0CEB4019C90AE75474C, - 283ADB95E9375730B1389880, - 54AEFF14FCEFC2DC56A700C4, - 8DC3D1402CD78E1E728A885C, - 897466367AE90A6757BD78AA, - C97229429AD64768E560F4AD, - CE4DC095D47AC961D8620C02, - 1D9AC8EB8D85BF93BB65903C, ); name = "Juce Library Code"; sourceTree = ""; }; + CC3734C049214EF91327C2B6, + 9B38FFE6C8577E7F22DFEF2F, + 689794DAC80724A7C23A1759, + E5409833E1E918CA55D10AD2, + 325E6940756EA22A3C1BE221, + 29ED8FCBD8C2266ADEB20562, + EDC96EC7A203B6651E276570, + 2036F17ABD883B549ADB5AB1, + 09EF8164769B6C1C465043E8, + 06CF19E1F0DF4A044230278E, + 0687379A6565865C32BF9DA2, + C3F81C3ECC37FF7561B533C7, + 14E0437FF273CAA3AE7B0C3D, + 7B0A88689774E44EBED72E5B, + 792B83479ED48C1EA624DA2D, + 35B8DEAC54C1F6B087889FCC, + E517626847A1820596BED522, + 51CBC73FA1537DAD9BC1F404, + 014DAD5D4BEFDB2906FD1E63, + 86382EEFD2D874C080F395EA, + CE4DC095D47AC961D8620C02, ); name = "Juce Library Code"; sourceTree = ""; }; 8EF2160AA74AD33ED1D63DE9 = {isa = PBXGroup; children = ( - 00C116095BB7F53697076A64, - 7B09ECEA92A79A22173B9A1A, ); name = Resources; sourceTree = ""; }; + 169166E084E7C70761B779E9, + 3E67AEA9A0FD3291E8C1B486, + F02875DC328E400B3141069D, + 19E1189C678E9189ECD11DEF, + 51279E770452336B3FFF01BD, + 7B09ECEA92A79A22173B9A1A, + A0BFEED17AF0E43A7401189C, ); name = Resources; sourceTree = ""; }; 18B9690A5C364D20F5C100E3 = {isa = PBXGroup; children = ( 52EEFA8ED8C29967F5A9E1EE, D8FC94038AF7B050BBADC027, @@ -2228,73 +2171,392 @@ 130A1E6607521A6C51E7E702, 407B6CB925E1B5FAA7E3914E, ); name = Frameworks; sourceTree = ""; }; 0F85B6E4F90C8E9CC5EB8C01 = {isa = PBXGroup; children = ( - F541CA5BBC7721324DB5A6AD, ); name = Products; sourceTree = ""; }; + 499621E04BA626F64944B0D4, + D035D1C2F16559D0BB4F80D0, + 79FE5C3ECC20E6354609E715, + C3AF8BFE5557DE30A253564C, + ED7C79D32D589E0F8123BB6A, ); name = Products; sourceTree = ""; }; C16B685A8A4A888CBFC241D5 = {isa = PBXGroup; children = ( + A0BFEED17AF0E43A7401189C, 3F579A4A6D6B636B2DB71785, 863735409A25FA5C7E7D02D2, 1128728F843B9D9296C05F16, 8EF2160AA74AD33ED1D63DE9, 18B9690A5C364D20F5C100E3, 0F85B6E4F90C8E9CC5EB8C01, ); name = Source; sourceTree = ""; }; - 75FE74179D7603F21E9A5FF9 = {isa = XCBuildConfiguration; buildSettings = { + C73902ED4D2E8620A64FB955 = {isa = XCBuildConfiguration; buildSettings = { }; name = Debug; }; + 10FD9778667189623A2CDD86 = {isa = XCBuildConfiguration; buildSettings = { }; name = Release; }; + EB917BF8D9134F341F138D54 = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; - CLANG_CXX_LIBRARY = "libstdc++"; + CLANG_CXX_LIBRARY = "libc++"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; COPY_PHASE_STRIP = NO; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( "_DEBUG=1", "DEBUG=1", + "JucePlugin_Build_VST=1", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", "JUCER_XCODE_MAC_F6D2F4CF=1", "JUCE_APP_VERSION=1.0.0", "JUCE_APP_VERSION_HEX=0x10000", ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GENERATE_PKGINFO_FILE = YES; - HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "../../../../../modules", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "$(inherited)"); - INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; - LIBRARY_SEARCH_PATHS = ("$(inherited)", "\"$(HOME)/SDKs/AAX/Libs/Debug\""); + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-VST.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; LIBRARY_STYLE = Bundle; 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"; - 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\""; + OTHER_LDFLAGS = "-bundle"; PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.Surround; SDKROOT_ppc = macosx10.5; - WRAPPER_EXTENSION = component; }; name = Debug; }; - DFAEBAFD727F1851D2F146B6 = {isa = XCBuildConfiguration; buildSettings = { + WRAPPER_EXTENSION = vst; }; name = Debug; }; + 4C0FBAEF448A6C797FB6DD45 = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; - CLANG_CXX_LIBRARY = "libstdc++"; + CLANG_CXX_LIBRARY = "libc++"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; DEAD_CODE_STRIPPING = YES; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_OPTIMIZATION_LEVEL = 3; GCC_PREPROCESSOR_DEFINITIONS = ( "_NDEBUG=1", "NDEBUG=1", + "JucePlugin_Build_VST=1", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", "JUCER_XCODE_MAC_F6D2F4CF=1", "JUCE_APP_VERSION=1.0.0", "JUCE_APP_VERSION_HEX=0x10000", ); GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GENERATE_PKGINFO_FILE = YES; - HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "../../../../../modules", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-VST.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + LIBRARY_STYLE = Bundle; + 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"; + OTHER_LDFLAGS = "-bundle"; + PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.Surround; + SDKROOT_ppc = macosx10.5; + WRAPPER_EXTENSION = vst; }; name = Release; }; + 61074CD12CE591486A05A574 = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + COPY_PHASE_STRIP = NO; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_DEBUG=1", + "DEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=1", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-VST3.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST3/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + LIBRARY_STYLE = Bundle; + 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"; + OTHER_LDFLAGS = "-bundle"; + PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.Surround; + SDKROOT_ppc = macosx10.5; + WRAPPER_EXTENSION = vst3; }; name = Debug; }; + 7FCB6817E56D52F78EC1AE71 = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + DEAD_CODE_STRIPPING = YES; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_NDEBUG=1", + "NDEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=1", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-VST3.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST3/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + LIBRARY_STYLE = Bundle; + 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"; + OTHER_LDFLAGS = "-bundle"; + PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.Surround; + SDKROOT_ppc = macosx10.5; + WRAPPER_EXTENSION = vst3; }; name = Release; }; + E32045A65CECB559C0FB4C68 = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + COPY_PHASE_STRIP = NO; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_DEBUG=1", + "DEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=1", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-AU.plist; INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + LIBRARY_STYLE = Bundle; + 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"; + 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.ROLI.Surround; + SDKROOT_ppc = macosx10.5; + WRAPPER_EXTENSION = component; }; name = Debug; }; + 1D54A1AEFE13AA013860EF06 = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + DEAD_CODE_STRIPPING = YES; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_NDEBUG=1", + "NDEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=1", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-AU.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + LIBRARY_STYLE = Bundle; + 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"; + 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.ROLI.Surround; + SDKROOT_ppc = macosx10.5; + WRAPPER_EXTENSION = component; }; name = Release; }; + 6097E35463A00493A0E17C6D = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + COPY_PHASE_STRIP = NO; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_DEBUG=1", + "DEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=1", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-AAX.plist; + INSTALL_PATH = "/Library/Application Support/Avid/Audio/Plug-Ins/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + LIBRARY_SEARCH_PATHS = ("$(inherited)", "\"$(HOME)/SDKs/AAX/Libs/Debug\""); + LIBRARY_STYLE = Bundle; + 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"; + OTHER_LDFLAGS = "-bundle -lAAXLibrary"; + PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.Surround; + SDKROOT_ppc = macosx10.5; + WRAPPER_EXTENSION = aaxplugin; }; name = Debug; }; + B376411945AB7D80ECC98A26 = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + DEAD_CODE_STRIPPING = YES; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_NDEBUG=1", + "NDEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=1", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-AAX.plist; + INSTALL_PATH = "/Library/Application Support/Avid/Audio/Plug-Ins/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; LIBRARY_SEARCH_PATHS = ("$(inherited)", "\"$(HOME)/SDKs/AAX/Libs/Release\""); LIBRARY_STYLE = Bundle; 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"; 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.Surround; SDKROOT_ppc = macosx10.5; - WRAPPER_EXTENSION = component; }; name = Release; }; + WRAPPER_EXTENSION = aaxplugin; }; name = Release; }; + AF5A6D30719292596298ECCB = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + COPY_PHASE_STRIP = NO; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_DEBUG=1", + "DEBUG=1", + "JUCE_SHARED_CODE=1", + "JucePlugin_Build_VST=1", + "JucePlugin_Build_VST3=1", + "JucePlugin_Build_AU=1", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=1", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-Shared_Code.plist; + INSTALL_PATH = "@executable_path/../Frameworks"; + LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)"; + 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.Surround.SurroundFramework; + SDKROOT_ppc = macosx10.5; }; name = Debug; }; + A92E61410F4597499F7FF430 = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + DEAD_CODE_STRIPPING = YES; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_NDEBUG=1", + "NDEBUG=1", + "JUCE_SHARED_CODE=1", + "JucePlugin_Build_VST=1", + "JucePlugin_Build_VST3=1", + "JucePlugin_Build_AU=1", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=1", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-Shared_Code.plist; + INSTALL_PATH = "@executable_path/../Frameworks"; + LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)"; + 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.Surround.SurroundFramework; + SDKROOT_ppc = macosx10.5; }; name = Release; }; D4400F944A7D89C0E4DA25E9 = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; @@ -2327,63 +2589,95 @@ PRODUCT_NAME = "Surround"; WARNING_CFLAGS = -Wreorder; ZERO_LINK = NO; }; name = Release; }; + 5FC77F15FFD6E6F3449B16D6 = {isa = PBXTargetDependency; target = BCE8135290C1E3CF37F2E6EA; }; + 32FFC55D51387C8C331E25B9 = {isa = PBXTargetDependency; target = 050134A7A9B0AD26AD788AB7; }; + 53E1E3FE56FEC27499FA8243 = {isa = PBXTargetDependency; target = 3DE552C28C67B3599B47F6D5; }; + A36783E310923C0F83F2930E = {isa = PBXTargetDependency; target = 1406423C2E104DB2C01413A8; }; + 7A12FA8A84B55F5EDD5C99F9 = {isa = PBXTargetDependency; target = ECF21C83A6EB88D73C09E713; }; B617DCD972781EFAD4370890 = {isa = XCConfigurationList; buildConfigurations = ( D4400F944A7D89C0E4DA25E9, 0844437E6CB463145B532F9B, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 1A42FEF23D9F79A1CC29F67D = {isa = XCConfigurationList; buildConfigurations = ( - 75FE74179D7603F21E9A5FF9, - DFAEBAFD727F1851D2F146B6, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 3950B5F32DAC0DA867C31CF0 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 2191E7D09CE99E98C2CCCF54, ); runOnlyForDeploymentPostprocessing = 0; }; - FEB77986C16003E0BEC67BD5 = {isa = PBXRezBuildPhase; buildActionMask = 2147483647; files = ( - FE3ECA8C54DCAD8D3FF5D53C, ); runOnlyForDeploymentPostprocessing = 0; }; - 110180E938601A1B83DF9C72 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 84756A2E1F219D073187D649, - 7EA4251BCAB69DFB30714F02, - 0ACC51AD2625252A07CA4879, - 2236265BB177790B2538C459, - 99484ABBF821D5EE7B1D7247, - 95AF306B0F5C85A8C9DD9B1E, - 191C1F422857A0D8EAD2904E, - C1A2F67AF8BDFD521275D510, - 0B7BC7F8B8D8D62596A05113, - 95486F6D8531581E2CBC8C83, - 3A8CFA203FC06C1220AE0B0E, - 9566BB3E37A14303A12D5ADF, - F09DA9A8BEF646D257C08269, - ECB3617761523DA82669F12F, - 10E7BC23B9F368723254014B, - ADC4FBAFB0BAD5FD22BA8B0D, - 9096673BE2474D04E1477403, - 9F53BD2DD99C494E29D4C1D8, - 71A2FF65499CDC802BE5C5D6, - 4478887C79068C3249A40800, - 8670C513AAD62085580639FC, - E5404D4946F26CEEC44A75F6, - 6C725B9334C7FCF4FE351881, - 856D7AF2002EEE1877D92C5B, - 9D86E9184890EAE70502B8C2, - B8729D4A858EFA4F73DE0E59, - A9BB875C8440D63314C22669, - BCD280B0A7416F0AE374A023, - 00B1D70A78B9DE9B59CD916D, - 79B39874B0D660C0CDFE7390, - 74B13D54BD1E98374F1C377B, - 65964AD2B7B1219CC0301D18, - 7DDCB286A68F6DD6618FD6F3, - E6299CC6951F6B1BB96ADAF7, - D7AC0D1BA7B3C92FCE2A1550, - 7DEE8DCC61C4DAAA1A20F8DE, - C3D123AD82750200BB4C24A2, - 19B58975A103B95F75FD0D17, - 3939385E16CE1D2CBDEDE386, - 8D123F3443880D4ADEDB4662, - 3C7089CE5598FCFD1EAD1485, - A9AD48DFD6B160F9CC03DFD0, - C66884187B80BD5910EE06B3, - ED47AD228A2A197790647B57, - 2BB53A9E20BD13D5422F24B3, ); runOnlyForDeploymentPostprocessing = 0; }; - 2BB8D023B33875BFFF74C35C = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + EED368527EBF92E628608D8B = {isa = XCConfigurationList; buildConfigurations = ( + C73902ED4D2E8620A64FB955, + 10FD9778667189623A2CDD86, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 662E24C61A67634787C1DDDA = {isa = PBXAggregateTarget; buildConfigurationList = EED368527EBF92E628608D8B; dependencies = ( + 5FC77F15FFD6E6F3449B16D6, + 32FFC55D51387C8C331E25B9, + 53E1E3FE56FEC27499FA8243, + A36783E310923C0F83F2930E, + 7A12FA8A84B55F5EDD5C99F9, ); name = "Surround (All)"; productName = Surround; }; + 21570E6625DC144BEE45BF2E = {isa = XCConfigurationList; buildConfigurations = ( + EB917BF8D9134F341F138D54, + 4C0FBAEF448A6C797FB6DD45, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + C6635CD032CBB46EE84BE2BD = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 2191E7D09CE99E98C2CCCF54, + 841F2C2B98BCB5059C093CCA, ); runOnlyForDeploymentPostprocessing = 0; }; + 61146A1F88A75D7082DADE13 = {isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; files = ( + B6D92AE8EA02C005265E5755, ); runOnlyForDeploymentPostprocessing = 0; name = "Embed Frameworks"; dstPath = ""; dstSubfolderSpec = 10; }; + 7DBFF07EA24A761249FDB194 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + E03A96B10126A69293C044FD, ); runOnlyForDeploymentPostprocessing = 0; }; + 2E087F2A8528F2C788D09A5E = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 1F5789B6D2334580C0F3D9AE, + 3A9DA4E9002E62503BE11891, + 471B0DAB418CA9BF51D3567F, + 985B36DFE9EF062E1E004089, + A17BCBEF822B10243D4FC7CF, + D3CAAFF2401E545BBB10C2E1, + 628C3FC970D842482843D58E, + 660197C1881A08EFF582CE23, + 2D01683AD97D65AA55B574F8, + B1B407C4C9685EDAF5C38ADE, + 1730BAC6358B020E5359B15D, + FDCC043886C609481941F040, + B6D92AE8EA02C005265E5755, ); runOnlyForDeploymentPostprocessing = 0; }; + BCE8135290C1E3CF37F2E6EA = {isa = PBXNativeTarget; buildConfigurationList = 21570E6625DC144BEE45BF2E; buildPhases = ( + C6635CD032CBB46EE84BE2BD, + 61146A1F88A75D7082DADE13, + 7DBFF07EA24A761249FDB194, + 2E087F2A8528F2C788D09A5E, ); buildRules = ( ); dependencies = ( + 7A12FA8A84B55F5EDD5C99F9, ); name = "Surround (VST)"; productName = Surround; productReference = 499621E04BA626F64944B0D4; productInstallPath = "$(HOME)/Library/Audio/Plug-Ins/VST/"; productType = "com.apple.product-type.bundle"; }; + A6CE6F9F84FC2669E1EA642C = {isa = XCConfigurationList; buildConfigurations = ( + 61074CD12CE591486A05A574, + 7FCB6817E56D52F78EC1AE71, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 82A795FF64B3DC1673E6DFFD = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 2191E7D09CE99E98C2CCCF54, + 841F2C2B98BCB5059C093CCA, ); runOnlyForDeploymentPostprocessing = 0; }; + 547449244A99BF4542F2C573 = {isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; files = ( + B6D92AE8EA02C005265E5755, ); runOnlyForDeploymentPostprocessing = 0; name = "Embed Frameworks"; dstPath = ""; dstSubfolderSpec = 10; }; + C40118D5AA68EA22C25990A9 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + CEBB3C6F336A43045FFF411D, ); runOnlyForDeploymentPostprocessing = 0; }; + 38083A2E2A2930885CC53FC0 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 1F5789B6D2334580C0F3D9AE, + 3A9DA4E9002E62503BE11891, + 471B0DAB418CA9BF51D3567F, + 985B36DFE9EF062E1E004089, + A17BCBEF822B10243D4FC7CF, + D3CAAFF2401E545BBB10C2E1, + 628C3FC970D842482843D58E, + 660197C1881A08EFF582CE23, + 2D01683AD97D65AA55B574F8, + B1B407C4C9685EDAF5C38ADE, + 1730BAC6358B020E5359B15D, + FDCC043886C609481941F040, + B6D92AE8EA02C005265E5755, ); runOnlyForDeploymentPostprocessing = 0; }; + 050134A7A9B0AD26AD788AB7 = {isa = PBXNativeTarget; buildConfigurationList = A6CE6F9F84FC2669E1EA642C; buildPhases = ( + 82A795FF64B3DC1673E6DFFD, + 547449244A99BF4542F2C573, + C40118D5AA68EA22C25990A9, + 38083A2E2A2930885CC53FC0, ); buildRules = ( ); dependencies = ( + 7A12FA8A84B55F5EDD5C99F9, ); name = "Surround (VST3)"; productName = Surround; productReference = D035D1C2F16559D0BB4F80D0; productInstallPath = "$(HOME)/Library/Audio/Plug-Ins/VST3/"; productType = "com.apple.product-type.bundle"; }; + 28CFD77267AD6813E50C6B60 = {isa = XCConfigurationList; buildConfigurations = ( + E32045A65CECB559C0FB4C68, + 1D54A1AEFE13AA013860EF06, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 6A3AF05F6EAA6537996C2F42 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 2191E7D09CE99E98C2CCCF54, + 841F2C2B98BCB5059C093CCA, ); runOnlyForDeploymentPostprocessing = 0; }; + A877F0345BE384129ACA1040 = {isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; files = ( + B6D92AE8EA02C005265E5755, ); runOnlyForDeploymentPostprocessing = 0; name = "Embed Frameworks"; dstPath = ""; dstSubfolderSpec = 10; }; + 6AF7D8B2A0C3D350ECF9E451 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 64624CD6DC9AD04D81B9E401, + 057B3431395E851B7328AE02, ); runOnlyForDeploymentPostprocessing = 0; }; + DF81062DB15A392555500AFC = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( 1F5789B6D2334580C0F3D9AE, 3A9DA4E9002E62503BE11891, 029B18BC4295AE3360F6EC0A, @@ -2397,15 +2691,81 @@ 2D01683AD97D65AA55B574F8, B1B407C4C9685EDAF5C38ADE, 1730BAC6358B020E5359B15D, + FDCC043886C609481941F040, + B6D92AE8EA02C005265E5755, ); runOnlyForDeploymentPostprocessing = 0; }; + 3DE552C28C67B3599B47F6D5 = {isa = PBXNativeTarget; buildConfigurationList = 28CFD77267AD6813E50C6B60; buildPhases = ( + 6A3AF05F6EAA6537996C2F42, + A877F0345BE384129ACA1040, + 6AF7D8B2A0C3D350ECF9E451, + DF81062DB15A392555500AFC, ); buildRules = ( ); dependencies = ( + 7A12FA8A84B55F5EDD5C99F9, ); name = "Surround (AU)"; productName = Surround; productReference = 79FE5C3ECC20E6354609E715; productInstallPath = "$(HOME)/Library/Audio/Plug-Ins/Components/"; productType = "com.apple.product-type.bundle"; }; + 3ADF964121B249916F64316E = {isa = XCConfigurationList; buildConfigurations = ( + 6097E35463A00493A0E17C6D, + B376411945AB7D80ECC98A26, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 5276FC9AAD3BF2140C19513D = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 2191E7D09CE99E98C2CCCF54, + 841F2C2B98BCB5059C093CCA, ); runOnlyForDeploymentPostprocessing = 0; }; + 76F951CD80F984AC90E1A027 = {isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; files = ( + B6D92AE8EA02C005265E5755, ); runOnlyForDeploymentPostprocessing = 0; name = "Embed Frameworks"; dstPath = ""; dstSubfolderSpec = 10; }; + 9CA62E78DD58EF6DCD1F513E = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + F07C6D3843A293AF087DC6AA, ); runOnlyForDeploymentPostprocessing = 0; }; + E0725217929C36E3C067C5DB = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 1F5789B6D2334580C0F3D9AE, + 3A9DA4E9002E62503BE11891, + 471B0DAB418CA9BF51D3567F, + 985B36DFE9EF062E1E004089, + A17BCBEF822B10243D4FC7CF, + D3CAAFF2401E545BBB10C2E1, + 628C3FC970D842482843D58E, + 660197C1881A08EFF582CE23, + 2D01683AD97D65AA55B574F8, + B1B407C4C9685EDAF5C38ADE, + 1730BAC6358B020E5359B15D, + FDCC043886C609481941F040, + B6D92AE8EA02C005265E5755, ); runOnlyForDeploymentPostprocessing = 0; }; + 1406423C2E104DB2C01413A8 = {isa = PBXNativeTarget; buildConfigurationList = 3ADF964121B249916F64316E; buildPhases = ( + 5276FC9AAD3BF2140C19513D, + 76F951CD80F984AC90E1A027, + 9CA62E78DD58EF6DCD1F513E, + E0725217929C36E3C067C5DB, ); buildRules = ( ); dependencies = ( + 7A12FA8A84B55F5EDD5C99F9, ); name = "Surround (AAX)"; productName = Surround; productReference = C3AF8BFE5557DE30A253564C; productInstallPath = "/Library/Application Support/Avid/Audio/Plug-Ins/"; productType = "com.apple.product-type.bundle"; }; + 2027B4509482C03CE7628088 = {isa = XCConfigurationList; buildConfigurations = ( + AF5A6D30719292596298ECCB, + A92E61410F4597499F7FF430, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 533BEF452ABC455670C57273 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 84756A2E1F219D073187D649, + C45C4C878E526E955DB4BE2C, + BC0836F398C7EA8BED36B53B, + 8FF45061553548B84D31A121, + B86E69BAB72ADBB747DB109C, + AC189F12175DC086C874AB24, + C350DA41F6D035F3D3E6EC7E, + D2911E6003C09F6FD9FE0778, + 46796E31A198BBCE6DF8FF34, + 8C236CA6BA0F2FA11A6086CD, + E3B14A780AAFEA215DDA35EC, + 3B1E7EDF992DB4063FF525AA, + 1CC76FADF13D24B719E25EF5, + 14BA3B8D23EF151817492C6A, + 43B059BCCE49AB92396DD5AA, + E42654A1F7F310A289F36412, ); runOnlyForDeploymentPostprocessing = 0; }; + 32BEBA7BAA40DBD3D9A26521 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 1F5789B6D2334580C0F3D9AE, + 3A9DA4E9002E62503BE11891, + 471B0DAB418CA9BF51D3567F, + 985B36DFE9EF062E1E004089, + A17BCBEF822B10243D4FC7CF, + D3CAAFF2401E545BBB10C2E1, + 628C3FC970D842482843D58E, + 660197C1881A08EFF582CE23, + 2D01683AD97D65AA55B574F8, + B1B407C4C9685EDAF5C38ADE, + 1730BAC6358B020E5359B15D, FDCC043886C609481941F040, ); runOnlyForDeploymentPostprocessing = 0; }; - 5053F72FE3CB3218B0489092 = {isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; name = "Post-build script"; shellPath = /bin/sh; shellScript = "\n# This script takes the build product and copies it to the AU, VST, VST3, RTAS and AAX folders, depending on \n# which plugin types you've built\n\noriginal=$CONFIGURATION_BUILD_DIR/$FULL_PRODUCT_NAME\n\n# this looks inside the binary to detect which platforms are needed.. \ncopyAU=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'AudioUnit' | wc -l`\ncopyVST=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'VSTPlugin' | wc -l`\ncopyVST3=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'GetPluginFactory' | wc -l`\ncopyRTAS=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'CProcess' | wc -l`\ncopyAAX=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'ACFStartup' | wc -l`\n\nif [ $copyAU -gt 0 ]; then\n echo \"Copying to AudioUnit folder...\"\n AUDir=~/Library/Audio/Plug-Ins/Components\n mkdir -p \"$AUDir\"\n AU=$AUDir/$PRODUCT_NAME.component\n if [ -d \"$AU\" ]; then \n rm -r \"$AU\"\n fi\n\n cp -r \"$original\" \"$AU\"\n sed -i \"\" -e 's/TDMwPTul/BNDLPTul/g' \"$AU/Contents/PkgInfo\"\n sed -i \"\" -e 's/TDMw/BNDL/g' \"$AU/Contents/$INFOPLIST_FILE\"\nfi\n\nif [ $copyVST -gt 0 ]; then\n echo \"Copying to VST folder...\"\n VSTDir=~/Library/Audio/Plug-Ins/VST\n mkdir -p \"$VSTDir\"\n VST=$VSTDir/$PRODUCT_NAME.vst\n if [ -d \"$VST\" ]; then \n rm -r \"$VST\"\n fi\n\n cp -r \"$original\" \"$VST\"\n sed -i \"\" -e 's/TDMwPTul/BNDLPTul/g' \"$VST/Contents/PkgInfo\"\n sed -i \"\" -e 's/TDMw/BNDL/g' \"$VST/Contents/$INFOPLIST_FILE\"\nfi\n\nif [ $copyVST3 -gt 0 ]; then\n echo \"Copying to VST3 folder...\"\n VST3Dir=~/Library/Audio/Plug-Ins/VST3\n mkdir -p \"$VST3Dir\"\n VST3=$VST3Dir/$PRODUCT_NAME.vst3\n if [ -d \"$VST3\" ]; then \n rm -r \"$VST3\"\n fi\n\n cp -r \"$original\" \"$VST3\"\n sed -i \"\" -e 's/TDMwPTul/BNDLPTul/g' \"$VST3/Contents/PkgInfo\"\n sed -i \"\" -e 's/TDMw/BNDL/g' \"$VST3/Contents/$INFOPLIST_FILE\"\nfi\n\nif [ $copyRTAS -gt 0 ]; then\n echo \"Copying to RTAS folder...\"\n RTASDir=/Library/Application\\ Support/Digidesign/Plug-Ins\n if [ -d \"$RTASDir\" ]; then\n RTAS=$RTASDir/$PRODUCT_NAME.dpm\n if [ -d \"$RTAS\" ]; then\n rm -r \"$RTAS\"\n fi\n\n cp -r \"$original\" \"$RTAS\"\n fi\nfi\n\nif [ $copyAAX -gt 0 ]; then\n echo \"Copying to AAX folder...\"\n\n if [ -d \"/Applications/ProTools_3PDev/Plug-Ins\" ]; then\n AAX1=\"/Applications/ProTools_3PDev/Plug-Ins/$PRODUCT_NAME.aaxplugin\"\n\n if [ -d \"$AAX1\" ]; then\n rm -r \"$AAX1\"\n fi\n\n cp -R -H \"$original\" \"$AAX1\"\n fi\n\n if [ -d \"/Library/Application Support/Avid/Audio/Plug-Ins\" ]; then\n AAX2=\"/Library/Application Support/Avid/Audio/Plug-Ins/$PRODUCT_NAME.aaxplugin\"\n\n if [ -d \"$AAX2\" ]; then\n rm -r \"$AAX2\"\n fi\n\n cp -R -H \"$original\" \"$AAX2\"\n fi\nfi\n"; }; - 34AC23986FBF286398CF9F44 = {isa = PBXNativeTarget; buildConfigurationList = 1A42FEF23D9F79A1CC29F67D; buildPhases = ( - 3950B5F32DAC0DA867C31CF0, - FEB77986C16003E0BEC67BD5, - 110180E938601A1B83DF9C72, - 2BB8D023B33875BFFF74C35C, - 5053F72FE3CB3218B0489092, ); buildRules = ( ); dependencies = ( ); name = Surround; productName = Surround; productReference = F541CA5BBC7721324DB5A6AD; productInstallPath = "$(HOME)/Library/Audio/Plug-Ins/Components/"; productType = "com.apple.product-type.bundle"; }; - 1350D0395A6BD8D60471CF92 = {isa = PBXProject; buildConfigurationList = B617DCD972781EFAD4370890; attributes = { LastUpgradeCheck = 0440; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = C16B685A8A4A888CBFC241D5; projectDirPath = ""; projectRoot = ""; targets = ( 34AC23986FBF286398CF9F44 ); }; + ECF21C83A6EB88D73C09E713 = {isa = PBXNativeTarget; buildConfigurationList = 2027B4509482C03CE7628088; buildPhases = ( + 533BEF452ABC455670C57273, + 32BEBA7BAA40DBD3D9A26521, ); buildRules = ( ); dependencies = ( ); name = "Surround (Shared Code)"; productName = Surround; productReference = ED7C79D32D589E0F8123BB6A; productInstallPath = "@executable_path/../Frameworks"; productType = "com.apple.product-type.framework"; }; + 1350D0395A6BD8D60471CF92 = {isa = PBXProject; buildConfigurationList = B617DCD972781EFAD4370890; attributes = { LastUpgradeCheck = 0440; TargetAttributes = { 662E24C61A67634787C1DDDA = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };BCE8135290C1E3CF37F2E6EA = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };050134A7A9B0AD26AD788AB7 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };3DE552C28C67B3599B47F6D5 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };1406423C2E104DB2C01413A8 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };ECF21C83A6EB88D73C09E713 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = C16B685A8A4A888CBFC241D5; projectDirPath = ""; projectRoot = ""; targets = (662E24C61A67634787C1DDDA, BCE8135290C1E3CF37F2E6EA, 050134A7A9B0AD26AD788AB7, 3DE552C28C67B3599B47F6D5, 1406423C2E104DB2C01413A8, ECF21C83A6EB88D73C09E713); }; }; rootObject = 1350D0395A6BD8D60471CF92; } diff --git a/examples/PlugInSamples/Surround/Builds/VisualStudio2015/Surround.vcxproj b/examples/PlugInSamples/Surround/Builds/VisualStudio2015/Surround.vcxproj index 7e8fc16aa8..96c18970aa 100644 --- a/examples/PlugInSamples/Surround/Builds/VisualStudio2015/Surround.vcxproj +++ b/examples/PlugInSamples/Surround/Builds/VisualStudio2015/Surround.vcxproj @@ -57,7 +57,7 @@ Disabled ProgramDatabase - c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;..\..\..\..\..\modules;c:\SDKs\AAX;c:\SDKs\AAX\Interfaces;c:\SDKs\AAX\Interfaces\ACF;%(AdditionalIncludeDirectories) + c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;c:\SDKs\AAX;c:\SDKs\AAX\Interfaces;c:\SDKs\AAX\Interfaces\ACF;..\..\..\..\..\modules;%(AdditionalIncludeDirectories) _CRT_SECURE_NO_WARNINGS;JucePlugin_AAXLibs_path="c:\\SDKs\\AAX\\Libs";WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions) MultiThreadedDebug true @@ -99,7 +99,7 @@ Full - c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;..\..\..\..\..\modules;c:\SDKs\AAX;c:\SDKs\AAX\Interfaces;c:\SDKs\AAX\Interfaces\ACF;%(AdditionalIncludeDirectories) + c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;c:\SDKs\AAX;c:\SDKs\AAX\Interfaces;c:\SDKs\AAX\Interfaces\ACF;..\..\..\..\..\modules;%(AdditionalIncludeDirectories) _CRT_SECURE_NO_WARNINGS;JucePlugin_AAXLibs_path="c:\\SDKs\\AAX\\Libs";WIN32;_WINDOWS;NDEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions) MultiThreaded true @@ -222,6 +222,9 @@ true + + true + true @@ -237,15 +240,6 @@ true - - true - - - true - - - true - true @@ -294,25 +288,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -342,9 +321,75 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -363,21 +408,6 @@ true - - true - - - true - - - true - - - true - - - true - true @@ -393,45 +423,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -447,33 +438,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -498,40 +462,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -540,31 +474,16 @@ true - + true - + true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -630,6 +549,117 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -648,6 +678,15 @@ true + + true + + + true + + + true + true @@ -657,33 +696,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -702,6 +714,18 @@ true + + true + + + true + + + true + + + true + true @@ -711,6 +735,12 @@ true + + true + + + true + true @@ -732,43 +762,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -789,10 +786,40 @@ true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -819,6 +846,51 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -831,6 +903,153 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -852,19 +1071,70 @@ true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -933,246 +1203,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -1281,38 +1311,23 @@ true - - - - - - - - - - - - - - - - StdCall - - - StdCall - - - StdCall - - - StdCall - - - StdCall - - - - + + + + + + + + + + + + + + + + + @@ -1352,6 +1367,8 @@ + + @@ -1359,20 +1376,10 @@ + - - - - - - - - - - - @@ -1382,9 +1389,19 @@ + + + + + + + + + + @@ -1394,6 +1411,15 @@ + + + + + + + + + @@ -1404,15 +1430,6 @@ - - - - - - - - - @@ -1423,21 +1440,35 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1458,22 +1489,49 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1493,53 +1551,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - @@ -1548,14 +1565,22 @@ + + + + - - - - + + + + + + + + @@ -1565,19 +1590,11 @@ - - - - - - - - - - + + @@ -1588,10 +1605,15 @@ - - - - + + + + + + + + + @@ -1602,26 +1624,91 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1635,14 +1722,21 @@ - - - - - - - - + + + + + + + + + + + + + + + @@ -1667,83 +1761,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1769,6 +1786,17 @@ + + + + + + + + + + + @@ -1778,41 +1806,17 @@ - - - - - - - - - - - + - - - - - - - - - - - - - - - + diff --git a/examples/PlugInSamples/Surround/Builds/VisualStudio2015/Surround.vcxproj.filters b/examples/PlugInSamples/Surround/Builds/VisualStudio2015/Surround.vcxproj.filters index 89733b4d5a..e27486898b 100644 --- a/examples/PlugInSamples/Surround/Builds/VisualStudio2015/Surround.vcxproj.filters +++ b/examples/PlugInSamples/Surround/Builds/VisualStudio2015/Surround.vcxproj.filters @@ -35,63 +35,69 @@ {CACD7B50-4DB3-76AF-A6E8-90DF94F8F594} + + {45C2CE26-EC4B-BA52-58F3-297C408E1483} + {9D270B31-2425-8FDB-84A4-6A2288FF5B2F} {0F766DD4-A277-CB86-5647-42498C8B41E1} - - {D64942B4-6984-3623-3347-45D472AE1C61} - - - {45C2CE26-EC4B-BA52-58F3-297C408E1483} - {01603E05-423B-5FC3-1BEE-E15ED33B5688} + + {D64942B4-6984-3623-3347-45D472AE1C61} + {65CB28F8-0422-A8F3-9A17-959E12A1F8E2} - - {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} - {0CD9E281-DDD0-91EC-6F77-EA9D9D5E0E1A} + + {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} + {40C5CA7C-AEBB-05B1-11CE-AE41D87B5CCB} {EE36D8B9-408C-AEC9-66E7-BEA9E407F27F} + + {F0C10808-8C36-BCD0-D25F-523774B0ADA2} + {1ED92A41-D496-5397-A4B0-9FA52DBA9215} {50F044B3-0D39-198B-CA5F-BE5E6C078D04} - - {AF5F4789-D607-BFD8-D853-09473C27449C} - - - {F0C10808-8C36-BCD0-D25F-523774B0ADA2} + + {25DD3A16-4BC7-35BD-F32E-0310D1887564} {EA1913F9-0E99-FEC5-0192-0C197611B8F8} + + {AF5F4789-D607-BFD8-D853-09473C27449C} + + + {22689F25-8C5C-52CF-09E4-4308D1521B9B} + {0B0E7392-324B-088C-FBEB-5FE999D61782} - - {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} - {20254EFE-6CBD-31A7-2119-92B1E0E0E311} {70796D73-6D30-8A1B-4732-7C021E47C05A} + + {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} + {EB8DD942-E2CB-869F-D381-E02A65BA790B} @@ -101,8 +107,17 @@ {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} - - {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + + {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + + {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + + {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} {476C69CE-0B67-6B85-E888-45D91E37A29E} @@ -110,17 +125,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} - - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -128,29 +137,26 @@ {91929C6F-7902-B87D-5260-2F6CBF8ACD93} - - {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} - {4634FFAE-9586-A970-364C-4FDDA635F99F} - - {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} - - {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - {F03654BC-34D8-F975-BEA3-750CC2783D23} + + {C9F6D785-BF78-5AA1-B479-111C65397864} {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} - - {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} - - {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + {F03654BC-34D8-F975-BEA3-750CC2783D23} {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} @@ -164,33 +170,33 @@ {928D8FCC-5E00-174B-6538-93E8D75AB396} - - {1988E68A-A964-64CA-0E0C-26FF9BC5176C} + + {358AEA11-3F96-36AE-7B32-71373B5C5396} {3DF036EA-3B80-553B-2494-3AAC835CAE75} - - {358AEA11-3F96-36AE-7B32-71373B5C5396} + + {1988E68A-A964-64CA-0E0C-26FF9BC5176C} {F2A38F45-6E55-E147-2E52-64A89FDD9D59} - - {6172822C-01A5-E824-12DA-FA43FA934D35} - - - {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} - {B098BC87-3298-7E6B-12DC-D26C09CDCAED} {6322B88F-984A-C3CD-6263-38D7AA49B6EC} + + {6172822C-01A5-E824-12DA-FA43FA934D35} + {73C1E759-AD90-59A3-942E-2D10FAA29107} + + {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} + {EE1AE8C3-0908-8F53-A4E5-D930C7C97C26} @@ -200,81 +206,81 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} - - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - - {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {E37D25CD-4350-4614-055B-7ABC55E67895} {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {C1A1A236-AB01-173E-96C3-0706BFF93B1E} + + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + + {413F481F-075C-2958-115C-D8268682FCB7} {FFC6E1CC-C772-75E6-5087-FB5D4E016799} + + {1182303F-ECA3-166D-AC0C-92C5E762CB93} + {8E43579F-C185-266D-DD67-F8B95BD80F2F} + + {61712B09-5783-ADFA-2001-5A0C3D7764EB} + + + {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + + {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} + {2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D} - - {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + {5A0AA36E-3957-E413-14C6-31CBE15271DF} + + + {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} {A92719C7-70BE-57C4-CE9E-A9BC9DFEB757} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} + + + {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} + + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} + + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + + {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} + + + {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} + {75F1F352-251A-75E0-D941-8431588F5C1E} {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} - - {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} - - - {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} - - - {5A0AA36E-3957-E413-14C6-31CBE15271DF} - - - {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} - - - {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} - - - {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} - - - {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} - - - {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - - {61712B09-5783-ADFA-2001-5A0C3D7764EB} - - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} - {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -296,30 +302,30 @@ {639E16C5-DA8B-ADBA-6E24-7B596378EAB2} - - {2D8D0E19-E676-83EB-38D9-F73500DD6B79} - {B3141847-8F13-F67D-45B2-E3ECF6E09088} - - {9E586194-C056-101C-5311-F2AF5191AC80} - {151B49D8-6102-F802-1C07-D59931BC0574} + + {2D8D0E19-E676-83EB-38D9-F73500DD6B79} + + + {9E586194-C056-101C-5311-F2AF5191AC80} + {72A923E2-C729-DB92-D7BF-A9D4AFAE5896} - - {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} - {7F11E7D2-54C0-2A36-5F15-BEC0A5374A08} {EE985DEA-CD83-8132-7219-542BB1DAD560} + + {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} + {8B4D1BAA-6DB4-CAEC-A0FA-271F354D5C61} @@ -415,6 +421,9 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -430,15 +439,6 @@ Juce Modules\juce_audio_devices\midi_io - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\audio_cd - Juce Modules\juce_audio_devices\native @@ -493,26 +493,11 @@ Juce Modules\juce_audio_devices\native - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_formats\codecs @@ -541,38 +526,74 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_plugin_client\AU - - - Juce Modules\juce_audio_plugin_client\RTAS - - - Juce Modules\juce_audio_plugin_client\VST + + Juce Modules\juce_audio_plugin_client\AAX Juce Modules\juce_audio_plugin_client\AAX - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client\AU - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client\AU - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client\RTAS - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client\RTAS - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client\RTAS - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client\RTAS + + + Juce Modules\juce_audio_plugin_client\RTAS + + + Juce Modules\juce_audio_plugin_client\RTAS + + + Juce Modules\juce_audio_plugin_client\Standalone + + + Juce Modules\juce_audio_plugin_client\utility + + + Juce Modules\juce_audio_plugin_client\VST + + + Juce Modules\juce_audio_plugin_client\VST + + + Juce Modules\juce_audio_plugin_client\VST3 Juce Modules\juce_audio_processors\format @@ -592,6 +613,24 @@ Juce Modules\juce_audio_processors\format_types + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + Juce Modules\juce_audio_processors\scanning @@ -607,45 +646,6 @@ Juce Modules\juce_audio_processors\utilities - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\memory - Juce Modules\juce_core\containers @@ -661,33 +661,6 @@ Juce Modules\juce_core\containers - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - Juce Modules\juce_core\files @@ -712,41 +685,11 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -754,32 +697,17 @@ Juce Modules\juce_core\logging - - Juce Modules\juce_core\system + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc @@ -859,6 +787,117 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + Juce Modules\juce_cryptography\encryption @@ -877,6 +916,15 @@ Juce Modules\juce_cryptography\hashing + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -886,33 +934,6 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - Juce Modules\juce_events\broadcasters @@ -931,6 +952,18 @@ Juce Modules\juce_events\interprocess + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + Juce Modules\juce_events\native @@ -946,6 +979,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_graphics\colour @@ -967,44 +1006,11 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\effects Juce Modules\juce_graphics\fonts @@ -1024,11 +1030,41 @@ Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -1060,6 +1096,51 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -1072,6 +1153,153 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -1093,20 +1321,92 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -1174,267 +1474,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_extra\code_editor @@ -1561,70 +1600,55 @@ Juce Modules\juce_video\native - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - + Juce Library Code @@ -1740,6 +1764,12 @@ Juce Modules\juce_audio_basics + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -1761,48 +1791,18 @@ Juce Modules\juce_audio_devices\midi_io + + Juce Modules\juce_audio_devices\native + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\native - Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - Juce Modules\juce_audio_formats\codecs @@ -1830,15 +1830,45 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_plugin_client\AU + Juce Modules\juce_audio_plugin_client\RTAS + + Juce Modules\juce_audio_plugin_client\Standalone + Juce Modules\juce_audio_plugin_client\utility @@ -1866,6 +1896,33 @@ Juce Modules\juce_audio_plugin_client + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + Juce Modules\juce_audio_processors\processors @@ -1896,33 +1953,6 @@ Juce Modules\juce_audio_processors\processors - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - Juce Modules\juce_audio_processors\scanning @@ -1953,50 +1983,92 @@ Juce Modules\juce_audio_processors - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -2058,53 +2130,134 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text Juce Modules\juce_core\threads @@ -2163,92 +2316,8 @@ Juce Modules\juce_core\time - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -2256,12 +2325,6 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - Juce Modules\juce_core\zip @@ -2271,39 +2334,6 @@ Juce Modules\juce_core\zip - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - Juce Modules\juce_core @@ -2328,6 +2358,18 @@ Juce Modules\juce_cryptography + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -2337,21 +2379,33 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - Juce Modules\juce_data_structures + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + Juce Modules\juce_events\messages @@ -2379,36 +2433,6 @@ Juce Modules\juce_events\messages - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - Juce Modules\juce_events\native @@ -2418,6 +2442,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_events @@ -2448,17 +2478,32 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -2490,38 +2535,17 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -2532,9 +2556,60 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + Juce Modules\juce_graphics + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -2550,6 +2625,171 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -2589,29 +2829,50 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -2685,237 +2946,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_basics @@ -2991,6 +3021,39 @@ Juce Modules\juce_gui_extra + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + Juce Modules\juce_opengl\opengl @@ -3018,54 +3081,21 @@ Juce Modules\juce_opengl\opengl - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - Juce Modules\juce_opengl\utils - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - Juce Modules\juce_opengl + + Juce Modules\juce_video\capture + Juce Modules\juce_video\playback Juce Modules\juce_video\playback - - Juce Modules\juce_video\capture - Juce Modules\juce_video @@ -3077,50 +3107,11 @@ - - Juce Modules\juce_audio_basics - - - Juce Modules\juce_audio_devices - - - Juce Modules\juce_audio_formats - - - Juce Modules\juce_audio_plugin_client - - - Juce Modules\juce_audio_processors - - - Juce Modules\juce_core - - - Juce Modules\juce_cryptography - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_gui_extra - - - Juce Modules\juce_opengl - - - Juce Modules\juce_video + + Juce Modules\juce_audio_plugin_client\RTAS - Juce Library Code + Juce Modules\juce_audio_plugin_client\RTAS diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/AppConfig.h b/examples/PlugInSamples/Surround/JuceLibraryCode/AppConfig.h index 0ebffd6ee1..4638b17943 100644 --- a/examples/PlugInSamples/Surround/JuceLibraryCode/AppConfig.h +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/AppConfig.h @@ -4,8 +4,8 @@ project - if you alter its contents, your changes may be overwritten! There's a section below where you can add your own custom code safely, and the - Introjucer will preserve the contents of that block, but the best way to change - any of these definitions is by using the Introjucer's project settings. + Projucer will preserve the contents of that block, but the best way to change + any of these definitions is by using the Projucer's project settings. Any commented-out settings will assume their default values. @@ -17,7 +17,7 @@ //============================================================================== // [BEGIN_USER_CODE_SECTION] -// (You can add your own code in this section, and the Introjucer will not overwrite it) +// (You can add your own code in this section, and the Projucer will not overwrite it) // [END_USER_CODE_SECTION] @@ -39,9 +39,15 @@ //============================================================================== #ifndef JUCE_STANDALONE_APPLICATION - #define JUCE_STANDALONE_APPLICATION 0 + #ifdef JucePlugin_Build_Standalone + #define JUCE_STANDALONE_APPLICATION JucePlugin_Build_Standalone + #else + #define JUCE_STANDALONE_APPLICATION 0 + #endif #endif +#define JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED 1 + //============================================================================== // juce_audio_devices flags: @@ -219,12 +225,18 @@ #ifndef JucePlugin_Build_AU #define JucePlugin_Build_AU 1 #endif +#ifndef JucePlugin_Build_AUv3 + #define JucePlugin_Build_AUv3 0 +#endif #ifndef JucePlugin_Build_RTAS #define JucePlugin_Build_RTAS 0 #endif #ifndef JucePlugin_Build_AAX #define JucePlugin_Build_AAX 1 #endif +#ifndef JucePlugin_Build_STANDALONE + #define JucePlugin_Build_STANDALONE 0 +#endif #ifndef JucePlugin_Name #define JucePlugin_Name "Surround" #endif @@ -247,7 +259,7 @@ #define JucePlugin_PluginCode 'Srrd' #endif #ifndef JucePlugin_IsSynth - #define JucePlugin_IsSynth 1 + #define JucePlugin_IsSynth 0 #endif #ifndef JucePlugin_WantsMidiInput #define JucePlugin_WantsMidiInput 0 @@ -274,10 +286,10 @@ #define JucePlugin_VSTUniqueID JucePlugin_PluginCode #endif #ifndef JucePlugin_VSTCategory - #define JucePlugin_VSTCategory kPlugCategSynth + #define JucePlugin_VSTCategory kPlugCategEffect #endif #ifndef JucePlugin_AUMainType - #define JucePlugin_AUMainType kAudioUnitType_MusicDevice + #define JucePlugin_AUMainType kAudioUnitType_Effect #endif #ifndef JucePlugin_AUSubType #define JucePlugin_AUSubType JucePlugin_PluginCode @@ -295,7 +307,7 @@ #define JucePlugin_CFBundleIdentifier com.ROLI.Surround #endif #ifndef JucePlugin_RTASCategory - #define JucePlugin_RTASCategory ePlugInCategory_SWGenerators + #define JucePlugin_RTASCategory ePlugInCategory_None #endif #ifndef JucePlugin_RTASManufacturerCode #define JucePlugin_RTASManufacturerCode JucePlugin_ManufacturerCode diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/JuceHeader.h b/examples/PlugInSamples/Surround/JuceLibraryCode/JuceHeader.h index d1142ce597..75dec1bbdf 100644 --- a/examples/PlugInSamples/Surround/JuceLibraryCode/JuceHeader.h +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/JuceHeader.h @@ -14,20 +14,22 @@ #define __APPHEADERFILE_S8Q71Q__ #include "AppConfig.h" -#include "modules/juce_audio_basics/juce_audio_basics.h" -#include "modules/juce_audio_devices/juce_audio_devices.h" -#include "modules/juce_audio_formats/juce_audio_formats.h" -#include "modules/juce_audio_plugin_client/juce_audio_plugin_client.h" -#include "modules/juce_audio_processors/juce_audio_processors.h" -#include "modules/juce_core/juce_core.h" -#include "modules/juce_cryptography/juce_cryptography.h" -#include "modules/juce_data_structures/juce_data_structures.h" -#include "modules/juce_events/juce_events.h" -#include "modules/juce_graphics/juce_graphics.h" -#include "modules/juce_gui_basics/juce_gui_basics.h" -#include "modules/juce_gui_extra/juce_gui_extra.h" -#include "modules/juce_opengl/juce_opengl.h" -#include "modules/juce_video/juce_video.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + #if ! DONT_SET_USING_JUCE_NAMESPACE // If your code uses a lot of JUCE classes, then this will obviously save you diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/ReadMe.txt b/examples/PlugInSamples/Surround/JuceLibraryCode/ReadMe.txt index f6c3564e99..091a5aa6eb 100644 --- a/examples/PlugInSamples/Surround/JuceLibraryCode/ReadMe.txt +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/ReadMe.txt @@ -2,11 +2,11 @@ Important Note!! ================ -The purpose of this folder is to contain files that are auto-generated by the Introjucer, +The purpose of this folder is to contain files that are auto-generated by the Projucer, and ALL files in this folder will be mercilessly DELETED and completely re-written whenever -the Introjucer saves your project. +the Projucer saves your project. Therefore, it's a bad idea to make any manual changes to the files in here, or to put any of your own files in here if you don't want to lose them. (Of course you may choose to add the folder's contents to your version-control system so that you can re-merge your own -modifications after the Introjucer has saved its changes). +modifications after the Projucer has saved its changes). diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_basics.cpp b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_basics.cpp new file mode 100644 index 0000000000..418694873c --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_basics.mm b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_basics.mm new file mode 100644 index 0000000000..e0e6c577cc --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_devices.cpp b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_devices.cpp new file mode 100644 index 0000000000..fb5c2219d7 --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_devices.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_devices.mm b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_devices.mm new file mode 100644 index 0000000000..e58b67ea49 --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_devices.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_formats.cpp b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_formats.cpp new file mode 100644 index 0000000000..a3c61170eb --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_formats.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_formats.mm b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_formats.mm new file mode 100644 index 0000000000..f325b8fb67 --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_formats.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_AAX.cpp b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_AAX.cpp new file mode 100644 index 0000000000..c599b8759f --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_AAX.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_AAX.mm b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_AAX.mm new file mode 100644 index 0000000000..d4b8c31117 --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_AAX.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_AU_1.mm b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_AU_1.mm new file mode 100644 index 0000000000..a4fdf7f366 --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_AU_1.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_AU_2.mm b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_AU_2.mm new file mode 100644 index 0000000000..175b30047f --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_AU_2.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_AUv3.mm b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_AUv3.mm new file mode 100644 index 0000000000..0ac2b2f599 --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_AUv3.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_RTAS_1.cpp b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_RTAS_1.cpp new file mode 100644 index 0000000000..29d48f3faa --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_RTAS_1.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_RTAS_2.cpp b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_RTAS_2.cpp new file mode 100644 index 0000000000..2da08c6dc3 --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_RTAS_2.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_RTAS_3.cpp b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_RTAS_3.cpp new file mode 100644 index 0000000000..72a8426cbe --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_RTAS_3.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_RTAS_4.cpp b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_RTAS_4.cpp new file mode 100644 index 0000000000..6064f99d28 --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_RTAS_4.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.cpp b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.cpp new file mode 100644 index 0000000000..5c5509abde --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.mm b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.mm new file mode 100644 index 0000000000..56af9aebab --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_Standalone.cpp b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_Standalone.cpp new file mode 100644 index 0000000000..d3b6529a80 --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_Standalone.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_VST2.cpp b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_VST2.cpp new file mode 100644 index 0000000000..c35394b418 --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_VST2.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_VST3.cpp b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_VST3.cpp new file mode 100644 index 0000000000..8e2e5cde2e --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_VST3.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_VST_utils.mm b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_VST_utils.mm new file mode 100644 index 0000000000..ee2f414e66 --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_VST_utils.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_utils.cpp b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_utils.cpp new file mode 100644 index 0000000000..183f61b238 --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_plugin_client_utils.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_processors.cpp b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_processors.cpp new file mode 100644 index 0000000000..bfe172edd0 --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_processors.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_processors.mm b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_processors.mm new file mode 100644 index 0000000000..b80ae9017f --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_audio_processors.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/juce_core.cpp b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_core.cpp new file mode 100644 index 0000000000..d0ce1636f0 --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_core.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/juce_core.mm b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_core.mm new file mode 100644 index 0000000000..72b10bf817 --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_core.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/juce_cryptography.cpp b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_cryptography.cpp new file mode 100644 index 0000000000..10b3401dbe --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_cryptography.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/juce_cryptography.mm b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_cryptography.mm new file mode 100644 index 0000000000..9311ea0ffe --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_cryptography.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/juce_data_structures.cpp b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_data_structures.cpp new file mode 100644 index 0000000000..9315aa1686 --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_data_structures.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/juce_data_structures.mm b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_data_structures.mm new file mode 100644 index 0000000000..695ec43925 --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_data_structures.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/juce_events.cpp b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_events.cpp new file mode 100644 index 0000000000..1bba110a97 --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_events.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/juce_events.mm b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_events.mm new file mode 100644 index 0000000000..4cc34fc401 --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_events.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/juce_graphics.cpp b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_graphics.cpp new file mode 100644 index 0000000000..319c76de0e --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_graphics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/juce_graphics.mm b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_graphics.mm new file mode 100644 index 0000000000..b28e6dd056 --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_graphics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/juce_gui_basics.cpp b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_gui_basics.cpp new file mode 100644 index 0000000000..216c76bb05 --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_gui_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/juce_gui_basics.mm b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_gui_basics.mm new file mode 100644 index 0000000000..6a9726fa5f --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_gui_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/juce_gui_extra.cpp b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_gui_extra.cpp new file mode 100644 index 0000000000..7226e19833 --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_gui_extra.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/juce_gui_extra.mm b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_gui_extra.mm new file mode 100644 index 0000000000..c9b6c3bfc6 --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_gui_extra.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/juce_opengl.cpp b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_opengl.cpp new file mode 100644 index 0000000000..d9895bce92 --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_opengl.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/juce_opengl.mm b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_opengl.mm new file mode 100644 index 0000000000..6c2c32d095 --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_opengl.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/juce_video.cpp b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_video.cpp new file mode 100644 index 0000000000..bdf22ee131 --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_video.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/juce_video.mm b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_video.mm new file mode 100644 index 0000000000..3da705bccd --- /dev/null +++ b/examples/PlugInSamples/Surround/JuceLibraryCode/juce_video.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h b/examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h deleted file mode 100644 index 39e1aa1405..0000000000 --- a/examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_audio_basics/juce_audio_basics.h" diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h b/examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h deleted file mode 100644 index 9069e65391..0000000000 --- a/examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_audio_devices/juce_audio_devices.h" diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h b/examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h deleted file mode 100644 index 4270ffa168..0000000000 --- a/examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_audio_formats/juce_audio_formats.h" diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_audio_plugin_client/juce_audio_plugin_client.h b/examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_audio_plugin_client/juce_audio_plugin_client.h deleted file mode 100644 index 57abba643f..0000000000 --- a/examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_audio_plugin_client/juce_audio_plugin_client.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client.h" diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h b/examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h deleted file mode 100644 index 48c0bf08c8..0000000000 --- a/examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_audio_processors/juce_audio_processors.h" diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_core/juce_core.h b/examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_core/juce_core.h deleted file mode 100644 index 3c400000e0..0000000000 --- a/examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_core/juce_core.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_core/juce_core.h" diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h b/examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h deleted file mode 100644 index b3df81338e..0000000000 --- a/examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_cryptography/juce_cryptography.h" diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h b/examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h deleted file mode 100644 index e815ff2c51..0000000000 --- a/examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_data_structures/juce_data_structures.h" diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_events/juce_events.h b/examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_events/juce_events.h deleted file mode 100644 index 88f8bafd21..0000000000 --- a/examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_events/juce_events.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_events/juce_events.h" diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_graphics/juce_graphics.h b/examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_graphics/juce_graphics.h deleted file mode 100644 index 0c5c690211..0000000000 --- a/examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_graphics/juce_graphics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_graphics/juce_graphics.h" diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h b/examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h deleted file mode 100644 index 7fa455d687..0000000000 --- a/examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_gui_basics/juce_gui_basics.h" diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h b/examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h deleted file mode 100644 index 11866a121d..0000000000 --- a/examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_gui_extra/juce_gui_extra.h" diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_opengl/juce_opengl.h b/examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_opengl/juce_opengl.h deleted file mode 100644 index f156f5c69c..0000000000 --- a/examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_opengl/juce_opengl.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_opengl/juce_opengl.h" diff --git a/examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_video/juce_video.h b/examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_video/juce_video.h deleted file mode 100644 index 6b5e743372..0000000000 --- a/examples/PlugInSamples/Surround/JuceLibraryCode/modules/juce_video/juce_video.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../../modules/juce_video/juce_video.h" diff --git a/examples/PlugInSamples/Surround/Source/SurroundEditor.h b/examples/PlugInSamples/Surround/Source/SurroundEditor.h index d20722f4a6..af8e3fc1b8 100644 --- a/examples/PlugInSamples/Surround/Source/SurroundEditor.h +++ b/examples/PlugInSamples/Surround/Source/SurroundEditor.h @@ -27,6 +27,7 @@ class ChannelClickListener public: virtual ~ChannelClickListener() {} virtual void channelButtonClicked (int channelIndex) = 0; + virtual bool isChannelActive (int channelIndex) = 0; }; class SurroundEditor : public AudioProcessorEditor, @@ -37,11 +38,16 @@ public: SurroundEditor (AudioProcessor& parent) : AudioProcessorEditor (parent), currentChannelLayout (AudioChannelSet::disabled()), - noChannelsLabel ("noChannelsLabel", "Input disabled") + noChannelsLabel ("noChannelsLabel", "Input disabled"), + layoutTitle ("LayoutTitleLabel", getLayoutName()) { + layoutTitle.setJustificationType (Justification::centred); + addAndMakeVisible (layoutTitle); addAndMakeVisible (noChannelsLabel); + setSize (640, 64); + lastSuspended = ! getAudioProcessor()->isSuspended(); timerCallback(); startTimer (500); } @@ -54,6 +60,8 @@ public: { Rectangle r = getLocalBounds(); + layoutTitle.setBounds (r.removeFromBottom (16)); + noChannelsLabel.setBounds (r); if (channelButtons.size() > 0) @@ -82,42 +90,89 @@ public: } private: + String getLayoutName() const + { + if (AudioProcessor* processor = getAudioProcessor()) + return processor->busArrangement.outputBuses.getReference (0).channels.getDescription(); + + return "Unknown"; + } + void timerCallback() override { - const AudioChannelSet& channelSet = getAudioProcessor()->busArrangement.outputBuses.getReference (0).channels; - - if (channelSet != currentChannelLayout) + if (getAudioProcessor()->isSuspended() != lastSuspended) { - currentChannelLayout = channelSet; - channelButtons.clear(); + lastSuspended = getAudioProcessor()->isSuspended(); - if (currentChannelLayout == AudioChannelSet::disabled()) - { - noChannelsLabel.setVisible (true); - } - else - { - const int numChannels = currentChannelLayout.size(); + const AudioChannelSet& channelSet = getAudioProcessor()->busArrangement.outputBuses.getReference (0).channels; - for (int i = 0; i < numChannels; ++i) + if (channelSet != currentChannelLayout) + { + currentChannelLayout = channelSet; + + layoutTitle.setText (currentChannelLayout.getDescription(), NotificationType::dontSendNotification); + channelButtons.clear(); + activeChannels.resize (currentChannelLayout.size()); + + if (currentChannelLayout == AudioChannelSet::disabled()) { - const String channelName = - AudioChannelSet::getAbbreviatedChannelTypeName (currentChannelLayout.getTypeOfChannel (i)); + noChannelsLabel.setVisible (true); + } + else + { + const int numChannels = currentChannelLayout.size(); - TextButton* newButton; - channelButtons.add (newButton = new TextButton (channelName, channelName)); + for (int i = 0; i < numChannels; ++i) + { + const String channelName = + AudioChannelSet::getAbbreviatedChannelTypeName (currentChannelLayout.getTypeOfChannel (i)); - newButton->addListener (this); - addAndMakeVisible (newButton); + TextButton* newButton; + channelButtons.add (newButton = new TextButton (channelName, channelName)); + + newButton->addListener (this); + addAndMakeVisible (newButton); + } + + noChannelsLabel.setVisible (false); + resized(); } - noChannelsLabel.setVisible (false); - resized(); + if (ChannelClickListener* listener = dynamic_cast (getAudioProcessor())) + { + for (int i = 0; i < activeChannels.size(); ++i) + { + bool isActive = listener->isChannelActive (i); + activeChannels.getReference (i) = isActive; + channelButtons [i]->setColour (TextButton::buttonColourId, isActive ? Colours::lightsalmon : Colours::lightgrey); + channelButtons [i]->repaint(); + } + } + } + } + + if (! lastSuspended) + { + if (ChannelClickListener* listener = dynamic_cast (getAudioProcessor())) + { + for (int i = 0; i < activeChannels.size(); ++i) + { + bool isActive = listener->isChannelActive (i); + if (activeChannels.getReference (i) != isActive) + { + activeChannels.getReference (i) = isActive; + channelButtons [i]->setColour (TextButton::buttonColourId, isActive ? Colours::lightsalmon : Colours::lightgrey); + channelButtons [i]->repaint(); + } + } } } } AudioChannelSet currentChannelLayout; - Label noChannelsLabel; + Label noChannelsLabel, layoutTitle; OwnedArray channelButtons; + Array activeChannels; + + bool lastSuspended; }; diff --git a/examples/PlugInSamples/Surround/Source/SurroundProcessor.cpp b/examples/PlugInSamples/Surround/Source/SurroundProcessor.cpp index b35e0e2db4..dda4190106 100644 --- a/examples/PlugInSamples/Surround/Source/SurroundProcessor.cpp +++ b/examples/PlugInSamples/Surround/Source/SurroundProcessor.cpp @@ -41,14 +41,34 @@ public: channelClicked = 0; sampleOffset = static_cast (std::ceil (sampleRate)); + const int numChannels = busArrangement.inputBuses.getReference(0).channels.size(); + channelActive.resize (numChannels); + alphaCoeffs.resize (numChannels); + reset(); + ignoreUnused (samplesPerBlock); } - void releaseResources() override {} + void releaseResources() override { reset(); } void processBlock (AudioSampleBuffer& buffer, MidiBuffer&) override { - buffer.clear(); + for (int ch = 0; ch < buffer.getNumChannels(); ++ch) + { + int& channelTime = channelActive.getReference (ch); + float& alpha = alphaCoeffs.getReference (ch); + + for (int j = 0; j < buffer.getNumSamples(); ++j) + { + float sample = buffer.getReadPointer (ch)[j]; + alpha = (0.8f * alpha) + (0.2f * sample); + + if (fabsf (alpha) >= 0.1f) + channelTime = static_cast (getSampleRate() / 2.0); + } + + channelTime = jmax (0, channelTime - buffer.getNumSamples()); + } const int fillSamples = jmin (static_cast (std::ceil (getSampleRate())) - sampleOffset, buffer.getNumSamples()); @@ -57,7 +77,7 @@ public: const float freq = (float) (440.0 / getSampleRate()); for (int i = 0; i < fillSamples; ++i) - channelBuffer[i] = std::sin (2.0f * float_Pi * freq * static_cast (sampleOffset++)); + channelBuffer[i] += std::sin (2.0f * float_Pi * freq * static_cast (sampleOffset++)); } //============================================================================== @@ -68,28 +88,23 @@ public: bool setPreferredBusArrangement (bool isInputBus, int busIndex, const AudioChannelSet& preferred) override { - if ( preferred == AudioChannelSet::mono() - || preferred == AudioChannelSet::stereo() - || preferred == AudioChannelSet::createLCR() - || preferred == AudioChannelSet::createLCRS() - || preferred == AudioChannelSet::quadraphonic() - || preferred == AudioChannelSet::pentagonal() - || preferred == AudioChannelSet::hexagonal() - || preferred == AudioChannelSet::octagonal() - || preferred == AudioChannelSet::ambisonic() - || preferred == AudioChannelSet::create5point0() - || preferred == AudioChannelSet::create5point1() - || preferred == AudioChannelSet::create6point0() - || preferred == AudioChannelSet::create6point1() - || preferred == AudioChannelSet::create7point0() - || preferred == AudioChannelSet::create7point1() - || preferred == AudioChannelSet::createFront7point0() - || preferred == AudioChannelSet::createFront7point1()) + if (! preferred.isDiscreteLayout()) + { + if (! AudioProcessor::setPreferredBusArrangement (! isInputBus, busIndex, preferred)) + return false; + return AudioProcessor::setPreferredBusArrangement (isInputBus, busIndex, preferred); + } return false; } + void reset() override + { + for (int i = 0; i < channelActive.size(); ++i) + channelActive.getReference (i) = 0; + } + //============================================================================== const String getName() const override { return "Surround PlugIn"; } bool acceptsMidi() const override { return false; } @@ -114,7 +129,14 @@ public: sampleOffset = 0; } + bool isChannelActive (int channelIndex) override + { + return channelActive [channelIndex] > 0; + } + private: + Array channelActive; + Array alphaCoeffs; int channelClicked; int sampleOffset; //============================================================================== diff --git a/examples/PlugInSamples/Surround/Surround.jucer b/examples/PlugInSamples/Surround/Surround.jucer index 8194016a8e..07980ca088 100644 --- a/examples/PlugInSamples/Surround/Surround.jucer +++ b/examples/PlugInSamples/Surround/Surround.jucer @@ -5,11 +5,11 @@ buildVST="1" buildVST3="1" buildAU="1" buildRTAS="0" buildAAX="1" pluginName="Surround" pluginDesc="Surround" pluginManufacturer="ROLI Ltd." pluginManufacturerCode="ROLI" pluginCode="Srrd" pluginChannelConfigs="" - pluginIsSynth="1" pluginWantsMidiIn="0" pluginProducesMidiOut="0" + pluginIsSynth="0" pluginWantsMidiIn="0" pluginProducesMidiOut="0" pluginIsMidiEffectPlugin="0" pluginSilenceInIsSilenceOut="0" pluginEditorRequiresKeys="0" pluginAUExportPrefix="SurroundAU" pluginRTASCategory="" aaxIdentifier="com.ROLI.Surround" pluginAAXCategory="AAX_ePlugInCategory_Dynamics" - jucerVersion="4.1.0"> + jucerVersion="4.2.0" buildAUv3="0"> - + + isDebug="1" optimisation="1" targetName="Surround" cppLibType="libc++"/> + isDebug="0" optimisation="3" targetName="Surround" cppLibType="libc++"/> diff --git a/examples/SimpleFFTExample/Builds/MacOSX/Info.plist b/examples/SimpleFFTExample/Builds/MacOSX/Info-App.plist similarity index 88% rename from examples/SimpleFFTExample/Builds/MacOSX/Info.plist rename to examples/SimpleFFTExample/Builds/MacOSX/Info-App.plist index 7f1c61bd8c..887257578b 100644 --- a/examples/SimpleFFTExample/Builds/MacOSX/Info.plist +++ b/examples/SimpleFFTExample/Builds/MacOSX/Info-App.plist @@ -11,6 +11,8 @@ $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName SimpleFFTExample + CFBundleDisplayName + SimpleFFTExample CFBundlePackageType APPL CFBundleSignature diff --git a/examples/SimpleFFTExample/Builds/MacOSX/SimpleFFTExample.xcodeproj/project.pbxproj b/examples/SimpleFFTExample/Builds/MacOSX/SimpleFFTExample.xcodeproj/project.pbxproj index 8484add4ab..a3ca8e92c7 100644 --- a/examples/SimpleFFTExample/Builds/MacOSX/SimpleFFTExample.xcodeproj/project.pbxproj +++ b/examples/SimpleFFTExample/Builds/MacOSX/SimpleFFTExample.xcodeproj/project.pbxproj @@ -6,6 +6,7 @@ objectVersion = 46; objects = { + 40B04620A0DB7D69B8FB36B3 = {isa = PBXBuildFile; fileRef = 8D8ED3E7474D65E7177750A8; }; 9D7FD54D83695FE355FF1D32 = {isa = PBXBuildFile; fileRef = 5C8B7D09E34F63CFA71E119F; }; C8531C8A2D23A2A5012B85A6 = {isa = PBXBuildFile; fileRef = 04362EB52A445AD4041F6952; }; 8579C1D27AF705444FC8FFC2 = {isa = PBXBuildFile; fileRef = 7FAD455FFE0B8905050C2115; }; @@ -18,17 +19,17 @@ A76933CD947F74A1A340547E = {isa = PBXBuildFile; fileRef = 6A66D46C1FBEDAD6A106A536; }; 1498E53CC5ABCDA39AFB5741 = {isa = PBXBuildFile; fileRef = A1C6587E1BCDCAC216C6853B; }; 18889B595A6C191595DE4138 = {isa = PBXBuildFile; fileRef = 1C86227F5F0CE8D63F78F5A3; }; - 8D36C3A6AE15F87C9EBC81BC = {isa = PBXBuildFile; fileRef = AF71E702446CEF7E5FBCAA13; }; - 792D74E1ED57AC5454A0A5A7 = {isa = PBXBuildFile; fileRef = 287C263EEED177B3C8BEC5B8; }; - A6FACDAD4412E876E54B2C69 = {isa = PBXBuildFile; fileRef = 1EFD81C556E115BF789491EE; }; - DD516E95B8ACC96C3033F676 = {isa = PBXBuildFile; fileRef = EFEEF49E3B89DEFE88111443; }; - 4CC1B4532B807DBA3EB8AAE0 = {isa = PBXBuildFile; fileRef = ED6852B4B4B357ACB04EFEA9; }; - 912D973B8FC050144B486F52 = {isa = PBXBuildFile; fileRef = 82AD7A2678DF2DA5E1CCBE99; }; - 9BF48828CC7CADB666BC0DCE = {isa = PBXBuildFile; fileRef = 0514D2A98B2D61B1A472C052; }; - 36F6CD34A438AF5C96060143 = {isa = PBXBuildFile; fileRef = CD368B349178503B82C58676; }; - AF80317972833A7C1176812C = {isa = PBXBuildFile; fileRef = FF5B76A65611C0A829E4BE7E; }; - 706A4509AE497E0EEC6C42D6 = {isa = PBXBuildFile; fileRef = 9355379CCEBC08976344C404; }; - 5CB0F5B6536F732A5B621589 = {isa = PBXBuildFile; fileRef = 243719A86326CBE8BD3AD39D; }; + 71D5452F15691CB36497164A = {isa = PBXBuildFile; fileRef = 6C2AF44C6F7FA0D818C87C6C; }; + 551EBA421A2408CBB320A8BB = {isa = PBXBuildFile; fileRef = 63789AE807E86CE0395A8775; }; + 482273ED3D099C95D4A50AB6 = {isa = PBXBuildFile; fileRef = C30B7C2D2870FD4A3DA497C7; }; + 99B97FE65552111751B6B39E = {isa = PBXBuildFile; fileRef = CF4450844298F96166E1185A; }; + B51D668804A9F1019E02F063 = {isa = PBXBuildFile; fileRef = 25322819F09B5DF8607DB818; }; + F0DDEE821308CB290EC94E0F = {isa = PBXBuildFile; fileRef = D690E2714938EFEBA946C29F; }; + 04AA676F2A3F43E3A0FB1D66 = {isa = PBXBuildFile; fileRef = A38BE93F281698F9389A77BF; }; + 11BE516C331CF1203E3F9A1D = {isa = PBXBuildFile; fileRef = E18C8BB9BB8C0AC4BB409ECD; }; + D4270F13CA207F3B7393959E = {isa = PBXBuildFile; fileRef = 401004DACA9FBDDC00C7097F; }; + 87D3D768F1B2CFD8439AFE47 = {isa = PBXBuildFile; fileRef = 1E96A5BD8FED8A8227E9A08C; }; + 5BDC04B61C2D0C5F786634E5 = {isa = PBXBuildFile; fileRef = DC190E7C17099C849868434F; }; 002F0E962004ADFE7DA49789 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WavAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 0056F14936A6432BB33F9F31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 00D84503EEB7888A6F7026F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_File.h"; path = "../../../../modules/juce_core/files/juce_File.h"; sourceTree = "SOURCE_ROOT"; }; @@ -55,7 +56,6 @@ 04E1B6D7A83665785C0165C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterBool.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h"; sourceTree = "SOURCE_ROOT"; }; 04E1F633A4B93AA4DA59CA04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; }; 04ED8F0DB86FF0D94AEFC997 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 0514D2A98B2D61B1A472C052 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; 05B3DF1678FC5F0E30B3CAA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; }; 05C893B39CD383F410D83E0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; }; 06745E518F1202D3B6E5F401 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h"; sourceTree = "SOURCE_ROOT"; }; @@ -97,7 +97,6 @@ 1297BC1FEF4DBFB211F92382 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatManager.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 1368F9F7EDF2389D4539D330 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; }; 13D0BF9B54BDAE11660D2213 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ElementComparator.h"; path = "../../../../modules/juce_core/containers/juce_ElementComparator.h"; sourceTree = "SOURCE_ROOT"; }; - 13F60EE858E7CFEEE94058A1 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_events/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 14111B6B41389B992A2DB420 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Synthesiser.cpp"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; 141A07B123EEAD06FAC28121 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; 149DFF1790FADAF8B2A57C74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -126,7 +125,7 @@ 1DE25FC553A31781BB7FF8C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; 1E39F373B727DD430D545C2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDescription.h"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h"; sourceTree = "SOURCE_ROOT"; }; 1E70464CA50CE9DA45311C97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 1EFD81C556E115BF789491EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; + 1E96A5BD8FED8A8227E9A08C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 1FD0AAC022DC75424CE02681 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; }; 2065DD4804B73667A54C4572 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 206F3372B58C677D2E448DE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_formats.h"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.h"; sourceTree = "SOURCE_ROOT"; }; @@ -145,15 +144,13 @@ 239C52DFE834703F3B4FC9C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 23E55620BCA7B6E847316C88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 23F2989AB1BEDC8EA39AED12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDescription.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp"; sourceTree = "SOURCE_ROOT"; }; - 243719A86326CBE8BD3AD39D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; 24FDBDB35CD40D88415C69B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FloatVectorOperations.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h"; sourceTree = "SOURCE_ROOT"; }; + 25322819F09B5DF8607DB818 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../JuceLibraryCode/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; }; 254BFF2ED918F33B6AD54D87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; }; 259A6EF4B94C37B57B5EF18C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; - 26C0ECC12DE642A0D267F176 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_devices/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 26FD66B3303A0F896035F6FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; 2723870F80AB58D49B9A5590 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; }; 283016B6A34D8268DF3F90E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_utils.h"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.h"; sourceTree = "SOURCE_ROOT"; }; - 287C263EEED177B3C8BEC5B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; 289AE66DD65FD98642037DD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; 28AD33164DB56B92B98D7840 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; }; 28BA7D8BCF0826B8916F30CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -178,7 +175,6 @@ 2DD3B8CC10CDFA57C4BBE959 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterChoice.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h"; sourceTree = "SOURCE_ROOT"; }; 2E96F44C68311A1EB839275A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; }; 2EE66D27896775F0F1395C55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleComponent.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 2F208423959D249883594DE2 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = "SOURCE_ROOT"; }; 2F6E53E6746610E44FA47EF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; }; 2FB6AD8E38BBC203806CA6E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; }; 2FD92C7674824491D7AC169E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Font.h"; path = "../../../../modules/juce_graphics/fonts/juce_Font.h"; sourceTree = "SOURCE_ROOT"; }; @@ -199,7 +195,6 @@ 3510EC1B54BF475F3077D065 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnail.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.cpp"; sourceTree = "SOURCE_ROOT"; }; 35619E95C4DFC5CC61C11EF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; }; 35809355C1A5B7EF1017836C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; }; - 35A06942A10BADF6CCE2800F = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_core/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 3608CD3E2D40EF80BB5BF938 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_CommonFile.cpp"; path = "../../../../modules/juce_core/native/juce_linux_CommonFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 36188FC6505C271D711F5D80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 3633C1D444D6CBD556044E5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; @@ -235,6 +230,7 @@ 3F6DC02B854926112F3FE41E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; 3F7CFC4B2D8AF418B698406B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; }; 3F99896EEDB7546053EDB5C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 401004DACA9FBDDC00C7097F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../JuceLibraryCode/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; 41430EC92AF6D3A5B8317875 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailCache.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h"; sourceTree = "SOURCE_ROOT"; }; 414422FDC4E9C4C096680D6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; 41580969FC580CE8A54A7C94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; @@ -291,6 +287,7 @@ 50684B422F4F1FFF4EFC830E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 5118AF0A9807DBACB3A46175 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; 51190A3DA6EAA1797B9E5235 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; + 5192F983556BFBE5044419E4 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-App.plist"; path = "Info-App.plist"; sourceTree = "SOURCE_ROOT"; }; 51EAAEBC2ED3160478789809 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; }; 520139F98F0EF05C217B4B38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; 52F68EC17EF8743EBB2B58C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -315,7 +312,6 @@ 57CF354E56CAE8E46326A57A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableEdgeComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h"; sourceTree = "SOURCE_ROOT"; }; 57D026D6AD1C54081084841C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; 599A8DC2B5F228508E9B3E8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; }; - 59F83A606EF9CB1B84C69D15 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_data_structures/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 5A0A9DAEA99EFDEC6AE807AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; 5A0C82930C10B55DDA74A402 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 5A5BDC41BBF43457B2EA4C70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -341,13 +337,13 @@ 62F7B27427A0D64832C0811F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 6343B3A6F7A152871CC53941 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MP3AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 6362936D2774F0696A03CDC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; }; + 63789AE807E86CE0395A8775 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../JuceLibraryCode/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; 63C960C75B7DE83A036D1474 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ASIO.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp"; sourceTree = "SOURCE_ROOT"; }; 6408EAB50715CFE92CA13773 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; }; 640CB1F9D73F959A740D31B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; 6477F20D63459774DCACE4B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 6483052E5040724A47182FD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; }; 64EC9CB339820CB6376E4D7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; }; - 64FEC8256447048661F540B8 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_graphics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 66BB99DE2FF0B50392E9D6C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; }; 675833CA39588B5D403F6AD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; }; 67B85ECA7324E10B72BC68BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserBase.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h"; sourceTree = "SOURCE_ROOT"; }; @@ -366,6 +362,7 @@ 6A66D46C1FBEDAD6A106A536 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; 6B192FB4BCA4091763405FF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; 6B8689337168B12C6B4B9CBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; }; + 6C2AF44C6F7FA0D818C87C6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../JuceLibraryCode/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 6C3D887ACBD7F018D8673AFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; }; 6C49F22930B043E3152C2732 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CoreAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 6C829468ADA80FCEA00E3229 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathIterator.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -429,7 +426,6 @@ 7BB91094F378EBD92A6B33E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; }; 7BEA6729CA4E2FBF16CA8FAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; }; 7BEA6A8588384F48F8174455 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectSound.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp"; sourceTree = "SOURCE_ROOT"; }; - 7C10E35BD11C19562BC833F0 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_extra/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 7C48CCF9E4A6441E4ECA086B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; }; 7C9B9B7D98173CF92521CD90 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; 7CA385641AE9AAACA3AF4785 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -450,7 +446,6 @@ 827A323B200D5464DEC56B90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; 828C45F201B3DF8289E3BE74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 828CAA90958F828CEA6CDEEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; - 82AD7A2678DF2DA5E1CCBE99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; 83AEB9C3C6E887DECC39B49E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; }; 83EA8AEEDB72189B489D71B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; }; 840A38C5B1C56EA5CA84B628 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -494,6 +489,7 @@ 8D063FAC364A001D935DB530 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 8D5900643E6AB52E521B2ECF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; 8D6A842D47795E5851CEE659 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8D8ED3E7474D65E7177750A8 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SimpleFFTExample.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; 8D8F26BA443E390AFDE0F099 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; 8DF4636E61566D403A4F1996 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; 8E7F08384BA6B69DCBB1D17D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; }; @@ -501,7 +497,6 @@ 8EE6D7FB9F27796711533F61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; }; 8EF67141E0187A4945024E0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; 8F26EB74E15A475E40CB4FEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp"; sourceTree = "SOURCE_ROOT"; }; - 8F3A4160FAC9639982F55EF3 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_processors/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 8F618D1D7D1C798F24E53D6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; 8F74C006F1BEA5BB9B2646A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; 8FE177F5571307A339832F6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VSTPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -514,7 +509,6 @@ 91E4873CA52CE367DBB843E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; }; 926ED92974561724D484F55B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; }; 933B338B2B3C5A16A2963A68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; }; - 9355379CCEBC08976344C404 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 942DEF7ADD8FE816EAA0E262 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemTrayIconComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 9490B876BD914C1212D71439 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlacAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 94948D02E9BDFA29E58853A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEInstrument.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -558,6 +552,7 @@ A2B842AFA7FC4EDD4B461096 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; A313C2303326385E76AA109E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; A343863C11C8D3AEF5A6AC00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; }; + A38BE93F281698F9389A77BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; A3D8B233BFCFE6030E008FF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; }; A4398054451843C88496A7BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PixelFormats.h"; path = "../../../../modules/juce_graphics/colour/juce_PixelFormats.h"; sourceTree = "SOURCE_ROOT"; }; A44D165D613999DC222406FC = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; @@ -615,7 +610,6 @@ AEAD21B704601EFC032CFC74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; AEEE249B992C6ED8E0DE5667 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInputSource.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; AF658C5C33B3B0B5815526A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; }; - AF71E702446CEF7E5FBCAA13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; B011481248A558446B46CAC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; }; B0794CFFA21B4EE7AE9C4DA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; }; B08D4A85153643B59403DA45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -690,7 +684,6 @@ BF275D1E38D55E38BDF23FA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; }; BF7359CEB98B856F058D043E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; BF9656AB7811A447B8A6355E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; }; - BF9F3EA043844229A47FAAE6 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; BFA58E24CC078638E0610943 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; BFD36D79149D0BD39191CC7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_processors.h"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.h"; sourceTree = "SOURCE_ROOT"; }; BFD6815A95BE134B60897FD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; }; @@ -700,12 +693,13 @@ C08BE05BAF052D2C26B0A4F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; }; C09CFF198CD5ACE74707D21A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; C0B0B67FA8989243A1AE86CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; }; - C149F9750B773782846231B2 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; C1825D92B9DD2E8B38B4C6C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; }; C18EFF04318CF4E2B21B3FF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; }; + C233A4BF297EA8B313C6429E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PositionableAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; C25E9D9C55D5965F55D95FB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; }; C26ED62AC1A7410D7749C1FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToneGeneratorAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; C2A56B8DB52C3665977E1BFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + C30B7C2D2870FD4A3DA497C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../JuceLibraryCode/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; C3B5BB9DEDDFA9F6CEF46D95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; }; C45E0183DD648356B967145E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; }; C469659506D7D986391C73AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -717,37 +711,34 @@ C7781D614C70CF830B995D7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; }; C78B3A2B371514DD462AD259 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; }; C7A87D6C7BEA853CD487D8D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODeviceType.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp"; sourceTree = "SOURCE_ROOT"; }; + C7ABCBF722728419DCA2DE6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; C80238BBE3B21B57068B7A30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemStats.cpp"; path = "../../../../modules/juce_core/system/juce_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; C81DF51C531E11FC503F5799 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; }; C8292EBEDEB71A80D9C6D504 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; }; C8834D406DAB49FB26B48CB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; + C8FC943DEE244BDB4EC55F3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; }; C911E562CE331F80E144838A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + C94BCD4B8FAF9AB50E8A5F8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; }; C959809FA60468C93312AB89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; C97BCA904F838137B67140E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; CA01A0FCA58CFA399F417558 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; }; CA4AEC49BB9AA7DDCD2D6583 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; }; - CB07583B6B38500279987787 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZoneLayout.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; - CCD63AFC809E66052D28C4CA = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; - DB21D09A506A56B642270FE8 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; - BDD25AC7DBBC9F465319BF08 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SimpleFFTExample.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; - C233A4BF297EA8B313C6429E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PositionableAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; - C7ABCBF722728419DCA2DE6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; - C8FC943DEE244BDB4EC55F3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; }; - C94BCD4B8FAF9AB50E8A5F8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; }; CAB4E7155B93E73818357519 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardState.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h"; sourceTree = "SOURCE_ROOT"; }; CADE0DDF00115BF4F144C942 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; }; CAE434C09EC3C5C8A43339AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; CAEBB83165D9E7C558A0548B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; }; + CB07583B6B38500279987787 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZoneLayout.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; CB26BB763DD0A559B3CF849E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; CB54F84F834F977564108DEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + CCD63AFC809E66052D28C4CA = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; CD15FED603965026DD7D325E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; }; CD19B42C638B366E7B77E99C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; CD27962E1CE1EB6554AC49C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; - CD368B349178503B82C58676 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; CD8AF7B32AC161C7294FD406 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiser.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h"; sourceTree = "SOURCE_ROOT"; }; CDAB1038A5278AD954C80885 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; }; CDDC856EAC96985829B50FA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LuaCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; CE8914C5E4C9F3B8BA2D85AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + CF4450844298F96166E1185A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../JuceLibraryCode/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; CF445CE47F4761207E236B24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEMessages.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h"; sourceTree = "SOURCE_ROOT"; }; CFBFB75518C0DA7A055CEE23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; }; CFC5627BDE7F160D7B7EF07C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputStream.h"; path = "../../../../modules/juce_core/streams/juce_InputStream.h"; sourceTree = "SOURCE_ROOT"; }; @@ -775,7 +766,6 @@ D36658EA5C5B6159BCA456CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPENote.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.h"; sourceTree = "SOURCE_ROOT"; }; D3DFA30B1FB57A767001E3D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; }; D41373B1362CD740F7242670 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; }; - D445CE1B4609E3F4F8B8915C = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_formats/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; D49ACC8D144B8F3C9570D00F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorGraph.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp"; sourceTree = "SOURCE_ROOT"; }; D504FBF5312BA310D8DF06D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; D53148E9698EFAEACB0D10CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; @@ -783,6 +773,7 @@ D59C9A2C0E6446954E6BC7E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; }; D6696FAB02828C1AC9FC05E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; }; D68C33C8C8154FE333984A07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; }; + D690E2714938EFEBA946C29F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; D75F08CBA980DDE0FED365E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; }; D7CEB7BB0390D17BF927E713 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; D7EA20374B36BA5BABE67A85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; }; @@ -796,7 +787,9 @@ DA908075ADACFEE737F7A189 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; }; DAA4A2D5218B25F56F23565E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; }; DAE53A7B6773210BD0DD1B1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + DB21D09A506A56B642270FE8 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; DB8EA59308684B6B3C0D170A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; + DC190E7C17099C849868434F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; DC1F5F05B1043F2532553F32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; }; DC41A66321241EE7E30460CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; }; DC5EC3CB8187CD80366BB3DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; @@ -822,6 +815,7 @@ E056B8E91D8526CA9B8493A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MarkerList.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h"; sourceTree = "SOURCE_ROOT"; }; E05F5413277FBB78714360FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; }; E11D931B040B480FED1102CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + E18C8BB9BB8C0AC4BB409ECD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; E19CC1B6C4865E430A7F2835 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; }; E1E6EBEF5D8633B172DF7DF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; E24DCD83DC6AC4E8FB1E103B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -851,13 +845,11 @@ EABA32A586FEAC426ECBF23B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; EB049F0B735BFF1E3F10952E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; }; EB84C1B29F6CF1E982E72440 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; - EB92BEBADB4F09CCFFDB9FFC = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_utils/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; EBA644F479B133DDE10DA865 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; EBB1F754A9F8BD472F31A370 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPress.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h"; sourceTree = "SOURCE_ROOT"; }; EBEAD6F96A2ED5FFE9E1D50A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentPeer.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h"; sourceTree = "SOURCE_ROOT"; }; ECD1024C5AD1602EA9DCD503 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; ECF7860A16B3DCA8B09874C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceManager.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp"; sourceTree = "SOURCE_ROOT"; }; - ED6852B4B4B357ACB04EFEA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; }; EDCCDE91F07059E097F4CC2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; EDEB553FF2664BD491E121ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEValue.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp"; sourceTree = "SOURCE_ROOT"; }; EE2497D2C9FCC42F7F4A34CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; }; @@ -865,7 +857,6 @@ EF1DC9B3082CE4211F705FFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorPlayer.cpp"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; EF8652FD59FE3836531B5C98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NewLine.h"; path = "../../../../modules/juce_core/text/juce_NewLine.h"; sourceTree = "SOURCE_ROOT"; }; EFDC19CF046AAE2BE7B08467 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailBase.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailBase.h"; sourceTree = "SOURCE_ROOT"; }; - EFEEF49E3B89DEFE88111443 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; F05E9500D758FABA3F53D06E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; F1AC977E002993579FC91C8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; F23316475DC78F21D91AEF1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; }; @@ -908,7 +899,6 @@ FE7E94D63929113F7E655EB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; }; FE859E26F86F51EA21C94D3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; }; FEAE992908BE95D94A27A35D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; - FF5B76A65611C0A829E4BE7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; FF9D65DC6D0E7DB988813D6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; }; FFBB0459C0CA143D32503FD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioVisualiserComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; C7DA57C6F0483BBE545059A4 = {isa = PBXGroup; children = ( @@ -993,9 +983,12 @@ 3C63B072BD4FACEF9B3A732C, 919B57039CC7B0069ED8BD5D, 8D708633B60D7D0FCA13A665, - C149F9750B773782846231B2, 51EAAEBC2ED3160478789809, ); name = "juce_audio_basics"; sourceTree = ""; }; - 5C7A4C066C3E58DDBE85C748 = {isa = PBXGroup; children = ( + CE5AD96077CC6BA40ADBCAEF = {isa = PBXGroup; children = ( + FF9D65DC6D0E7DB988813D6A, + 149DFF1790FADAF8B2A57C74, + ABF6F2A43EA9165DBFB36F90, ); name = "audio_cd"; sourceTree = ""; }; + 63E1F84C599D8B82E4E91C93 = {isa = PBXGroup; children = ( ECF7860A16B3DCA8B09874C7, B8EFE9E17D26ED5A55B788E7, B0BBCE5DC4DC368239E90730, @@ -1003,22 +996,13 @@ C7A87D6C7BEA853CD487D8D5, 79EE05C33C8BB3DBE6F0CEAB, 88E94CF6B12DC7478BFD516D, ); name = "audio_io"; sourceTree = ""; }; - 1336B7C6BAD05B211FD0FA4D = {isa = PBXGroup; children = ( + CFB57B11A15D0283FC3E7305 = {isa = PBXGroup; children = ( 019793450E44DD660AFB5275, DDA5C37E7A4C51DDB83C14E4, 1BB051CC2B9FA03CEA8EBFE8, D3284A7CA60AFCB8BBE78211, 32642B04FE9D41A6DDFA35E6, ); name = "midi_io"; sourceTree = ""; }; - EF96C8B77EE39330D924C031 = {isa = PBXGroup; children = ( - 414422FDC4E9C4C096680D6B, - E8C27BE0C1A8F57B847D19FF, - 6E4472D2BEDDBFB34AE12C2E, - F618DB302D56669A9F79ECF2, ); name = sources; sourceTree = ""; }; - 09A47C58F37C6449C24E5238 = {isa = PBXGroup; children = ( - FF9D65DC6D0E7DB988813D6A, - 149DFF1790FADAF8B2A57C74, - ABF6F2A43EA9165DBFB36F90, ); name = "audio_cd"; sourceTree = ""; }; - 45B3D326295AA7DD456A4C66 = {isa = PBXGroup; children = ( + AAA6366A3AABE7A1356E9569 = {isa = PBXGroup; children = ( 8A4A6C729BCC1066B4348554, AE6398B166E20B8C44832934, 236B40CBF46A239539C9D315, @@ -1038,31 +1022,19 @@ 7BEA6A8588384F48F8174455, C7ABCBF722728419DCA2DE6F, DCA629B53C50B7E764311A77, ); name = native; sourceTree = ""; }; + F496C634E24969EB60BE08CC = {isa = PBXGroup; children = ( + 414422FDC4E9C4C096680D6B, + E8C27BE0C1A8F57B847D19FF, + 6E4472D2BEDDBFB34AE12C2E, + F618DB302D56669A9F79ECF2, ); name = sources; sourceTree = ""; }; 044E8A9AAC75B37323C60043 = {isa = PBXGroup; children = ( - 5C7A4C066C3E58DDBE85C748, - 1336B7C6BAD05B211FD0FA4D, - EF96C8B77EE39330D924C031, - 09A47C58F37C6449C24E5238, - 45B3D326295AA7DD456A4C66, - 26C0ECC12DE642A0D267F176, + CE5AD96077CC6BA40ADBCAEF, + 63E1F84C599D8B82E4E91C93, + CFB57B11A15D0283FC3E7305, + AAA6366A3AABE7A1356E9569, + F496C634E24969EB60BE08CC, 0406CFDE78A3EDDB899CDE7C, ); name = "juce_audio_devices"; sourceTree = ""; }; - C9218A3FE648FF47010C19D3 = {isa = PBXGroup; children = ( - BDE6F9F9F210A7C0161CDB7A, - 0E88C71D3463BA5D1EBAFF43, - 1297BC1FEF4DBFB211F92382, - B44F0231D4CCAB8C5C4B9CEA, - 828CAA90958F828CEA6CDEEB, - 55E634C6CD5FEE272C6AE083, - B781D185E5DDAC0AAE6D41A2, - E9B03818A2C56EEE708DB190, - DF92AE13E9E88FBBB6988E59, - AAD5EB24E059DD8D7FA6643E, - 36188FC6505C271D711F5D80, - FC0F6A6E9D190A0C51C88471, - 188C3849D99AF881EDF09469, - 4CBB13451926FF758D08FE69, - 827A323B200D5464DEC56B90, ); name = format; sourceTree = ""; }; - D72CDCB5D4FD3C8CD8614492 = {isa = PBXGroup; children = ( + 86BA2435FA15F1F85A47CACE = {isa = PBXGroup; children = ( DF396FAB00CB0D8E05EEF74F, 0988BD9CC0B87496828F3C6C, 6C49F22930B043E3152C2732, @@ -1081,16 +1053,48 @@ 7856033686D948917E8C2CED, 864B9DF0E87729C4A2D61E3F, 9FC7AF41406FF52C02227F0B, ); name = codecs; sourceTree = ""; }; + 6B426B3D5B95EB73024CD5D6 = {isa = PBXGroup; children = ( + BDE6F9F9F210A7C0161CDB7A, + 0E88C71D3463BA5D1EBAFF43, + 1297BC1FEF4DBFB211F92382, + B44F0231D4CCAB8C5C4B9CEA, + 828CAA90958F828CEA6CDEEB, + 55E634C6CD5FEE272C6AE083, + B781D185E5DDAC0AAE6D41A2, + E9B03818A2C56EEE708DB190, + DF92AE13E9E88FBBB6988E59, + AAD5EB24E059DD8D7FA6643E, + 36188FC6505C271D711F5D80, + FC0F6A6E9D190A0C51C88471, + 188C3849D99AF881EDF09469, + 4CBB13451926FF758D08FE69, + 827A323B200D5464DEC56B90, ); name = format; sourceTree = ""; }; 04E34FBE528C800B62C1EC97 = {isa = PBXGroup; children = ( B4753586FF7B3BBA40352715, 3712CC6DF76D81421F6B0504, ); name = sampler; sourceTree = ""; }; 7BC2EAEF2A0C56FD3BB319CB = {isa = PBXGroup; children = ( - C9218A3FE648FF47010C19D3, - D72CDCB5D4FD3C8CD8614492, + 86BA2435FA15F1F85A47CACE, + 6B426B3D5B95EB73024CD5D6, 04E34FBE528C800B62C1EC97, - D445CE1B4609E3F4F8B8915C, 206F3372B58C677D2E448DE9, ); name = "juce_audio_formats"; sourceTree = ""; }; - CA14998C8B0EE35543B18982 = {isa = PBXGroup; children = ( + 91E6F9E55062EE94529955CD = {isa = PBXGroup; children = ( + A68C448F3CE0DFDA1D008930, + 8D8F26BA443E390AFDE0F099, + BBA00BC1C9047924AA81A9C5, + 41BB68C9176E1F306F7F6CAB, ); name = format; sourceTree = ""; }; + 041C04433E800B13741284EF = {isa = PBXGroup; children = ( + B0ABCB84564FEFAA4ED50E6B, + C8FC943DEE244BDB4EC55F3D, + 4B559C22A630B9A43D129C2A, + 74F4E9279951B18449BDAA56, + 3E3AC99E3C0F826A0423BCE2, + B7AE0149FF49C6EE294D03EE, + 47DF39DDF6085A33F2282CF1, + E8D30B5E295B1C331EA24873, + 4940BC726C0DA4D4F4EB403C, + 8FE177F5571307A339832F6E, + 97346F3788D1AAC32D47D4D4, ); name = "format_types"; sourceTree = ""; }; + AEA0C88732C56193BCD7E743 = {isa = PBXGroup; children = ( 7AD9F8DCE5E6DD6C654B55BC, B14240B94BD8FE725C8130BD, 4F37527C7555AB18B31DBD16, @@ -1107,23 +1111,6 @@ 086DC4D9BCDCA173268600FD, 23F2989AB1BEDC8EA39AED12, 1E39F373B727DD430D545C2B, ); name = processors; sourceTree = ""; }; - 2064DA22251D9C6F6784E133 = {isa = PBXGroup; children = ( - A68C448F3CE0DFDA1D008930, - 8D8F26BA443E390AFDE0F099, - BBA00BC1C9047924AA81A9C5, - 41BB68C9176E1F306F7F6CAB, ); name = format; sourceTree = ""; }; - 48FCD4B4A14EE141D1E6CCA9 = {isa = PBXGroup; children = ( - B0ABCB84564FEFAA4ED50E6B, - C8FC943DEE244BDB4EC55F3D, - 4B559C22A630B9A43D129C2A, - 74F4E9279951B18449BDAA56, - 3E3AC99E3C0F826A0423BCE2, - B7AE0149FF49C6EE294D03EE, - 47DF39DDF6085A33F2282CF1, - E8D30B5E295B1C331EA24873, - 4940BC726C0DA4D4F4EB403C, - 8FE177F5571307A339832F6E, - 97346F3788D1AAC32D47D4D4, ); name = "format_types"; sourceTree = ""; }; A60564B0CAC9730A3F25997D = {isa = PBXGroup; children = ( EE89CF96B4D5D96F56A123C3, 7AB3EA3F5285C4A6DFF616E7, @@ -1141,12 +1128,11 @@ 547509DF27DD4989FA9F0B9E, CFF7A195B95750070C28B75B, ); name = utilities; sourceTree = ""; }; 8DA3B0DCA685300AE02F6C09 = {isa = PBXGroup; children = ( - CA14998C8B0EE35543B18982, - 2064DA22251D9C6F6784E133, - 48FCD4B4A14EE141D1E6CCA9, + 91E6F9E55062EE94529955CD, + 041C04433E800B13741284EF, + AEA0C88732C56193BCD7E743, A60564B0CAC9730A3F25997D, 54475BF7C7F92DE3E9040933, - 8F3A4160FAC9639982F55EF3, BFD36D79149D0BD39191CC7B, ); name = "juce_audio_processors"; sourceTree = ""; }; 272CDB701E9141C722C812F8 = {isa = PBXGroup; children = ( 4A190D0E3422B0D7F82BE6F8, @@ -1163,73 +1149,21 @@ 96E84C284439F35E58BAB0B7, D86404AE30FA698A5F2836A5, 322C12FA37E6AFB76A61DEBF, ); name = gui; sourceTree = ""; }; - A006A4E9A9A80812D5A71E26 = {isa = PBXGroup; children = ( - EF1DC9B3082CE4211F705FFD, - 576B111200A4942EED9D6076, ); name = players; sourceTree = ""; }; - FE36590CD842AE9F68B0FD6C = {isa = PBXGroup; children = ( + EFB00FF88DC62821E414F14E = {isa = PBXGroup; children = ( E42AA8CBFC44B18B07579722, 025AC0D5D2B1AE4E2410287C, F50009EC51FCCE2EBD713D27, 5FFC20C706477F072E48E0EF, B480F30102D3ACAF749095B7, ); name = native; sourceTree = ""; }; + B429B71F14F5BA2229E81374 = {isa = PBXGroup; children = ( + EF1DC9B3082CE4211F705FFD, + 576B111200A4942EED9D6076, ); name = players; sourceTree = ""; }; 140844AFEE7F72198CB5083D = {isa = PBXGroup; children = ( 272CDB701E9141C722C812F8, - A006A4E9A9A80812D5A71E26, - FE36590CD842AE9F68B0FD6C, - EB92BEBADB4F09CCFFDB9FFC, + EFB00FF88DC62821E414F14E, + B429B71F14F5BA2229E81374, 283016B6A34D8268DF3F90E7, ); name = "juce_audio_utils"; sourceTree = ""; }; - 23F34F3123B4A67261A59366 = {isa = PBXGroup; children = ( - 78AE8A17F6DE3335ABB613F1, - 01FB698FB741F319A6129EA4, - C7781D614C70CF830B995D7F, - B2BCFBF11AEAFC261278D072, - 05C893B39CD383F410D83E0A, - BF054B4D977AE9BEA1A43B21, - 55C90369D4BEF17E3EA4469F, - 19B50B89F1408621EC8F3740, - A0755F411AC4B93923057362, - EA40F21F9A3DE788C562016A, - C97BCA904F838137B67140E0, - 9518855F2EE30671C0B6B455, - EF8652FD59FE3836531B5C98, - 5CE1E361B6D1296EEA4BD47F, - D1AC8ED686D3F69DCAD6C125, - 8C1315EEAC2842AEFF3A8E03, - BD1AF7254E5C5D821FABE3D1, - 06FF98F27AC7DC8E7E4C73F7, - C3B5BB9DEDDFA9F6CEF46D95, - C663CF9A44E508A641166DC8, - 09981C2F33D31834F38486CB, - A99D3728C01BA427DB9DC9E8, - 4DAD0A6AFAF9EDB658B509F1, - 9737ADF1128EB5DDD5EDCF31, ); name = text; sourceTree = ""; }; - 412EFD5CDEED43B9E1110888 = {isa = PBXGroup; children = ( - 7EE43A1B711EC69B5559E76F, - A603B4FC9F0318FA835A902B, - CAE434C09EC3C5C8A43339AB, - 926ED92974561724D484F55B, - F27303E9C80D731218A325F2, - CA4AEC49BB9AA7DDCD2D6583, - 6362936D2774F0696A03CDC2, - 05B3DF1678FC5F0E30B3CAA3, - 9ACE680735E89C1A62348174, - B710D5415F8040FDA3E5F3C4, ); name = maths; sourceTree = ""; }; - 428B15F4B4E9169ED2E5FE09 = {isa = PBXGroup; children = ( - 6483052E5040724A47182FD0, - 2AFE4BEBCDEFEBB19F0A3867, - FE859E26F86F51EA21C94D3C, - 83AEB9C3C6E887DECC39B49E, - 6CD3EEAF433A1356D569535B, - EE2497D2C9FCC42F7F4A34CB, - 5CA0BC9A376B4EAE0AC35827, - 86965CCF9FEA6ADA4DBDE4AA, - F8A80AB921C11E626CC90894, - E37FC396273C664BCACB3996, - 5A0A9DAEA99EFDEC6AE807AC, - 18421309528C4C3276EA5A95, - 3A8A53D2CECD3D5AC1612E83, - D9E6BF99FBDC840FD05E20F1, ); name = memory; sourceTree = ""; }; - 7405B46C9A5849F091321944 = {isa = PBXGroup; children = ( + 9FED13391E1D5C3A92E6D4AA = {isa = PBXGroup; children = ( 0F6C6792535496DD24244A38, 872F32BFE9058BBE940ED1F0, 9076086C13B37FB1367C3B17, @@ -1251,37 +1185,7 @@ 8123AD99DCEFD91035AC2CBC, 8DF4636E61566D403A4F1996, BFA58E24CC078638E0610943, ); name = containers; sourceTree = ""; }; - 22C076705A9B105637BCDBA1 = {isa = PBXGroup; children = ( - 6B192FB4BCA4091763405FF1, - F3637911DB642ED9FE1ABBEA, - B264E554EED764BBE5EA96DF, - B5DCA312EE128DB7CF311FE8, - 239B94BE10602A6BCF97FB89, - A1602B24B64627B0A651030A, - 8AE0909A7085D2E485E7F0C5, - 78FF46602A3FE11DE7FB8B3F, - 2CBBD9ABE12AB5CD84D06FC8, - 8D5900643E6AB52E521B2ECF, - AF658C5C33B3B0B5815526A2, - 7298C23E6B6DBFF5ED996D85, - 51190A3DA6EAA1797B9E5235, - 2D2A0378CD9D00B4B8A0CE1C, - 884613F64211F3819E98E20E, - B73AF386AD8DC4E75DDCE7AB, - 96F7119D1A66867ED49634A4, - BFE5140F653B15A58395F091, - 3931D9B45440DFAE1E8A4D4B, - 39EFEAD53FC647E711B57CFC, - 2C01A95C5780C7A811D85295, - 56B40AA330DD586B1F5C0B1A, ); name = threads; sourceTree = ""; }; - 93AC79CD66E878DC865B1CE7 = {isa = PBXGroup; children = ( - F7FE2CB2E7DE85F89A1910E3, - EB049F0B735BFF1E3F10952E, - B49C2E8A0C903DD9DF312409, - 11678DFC898E41F7EF5BB08A, - 83EA8AEEDB72189B489D71B7, - 46A9A558C4E0EAD1F52FE357, ); name = time; sourceTree = ""; }; - 8AE84ED4A34F97801D5AF7A1 = {isa = PBXGroup; children = ( + 7D9697CA4EBEEDCC10E74BD5 = {isa = PBXGroup; children = ( 4DA7F71A8F25F63D328418ED, 493D17293EE4B7A2C8AA8EB4, 45B10DAF1B33CB7EC898AA5F, @@ -1299,66 +1203,43 @@ A03711E4C934AC0C97ED2CC7, 3F6DC02B854926112F3FE41E, 259A6EF4B94C37B57B5EF18C, ); name = files; sourceTree = ""; }; - 37D9EA44486324D58F8FFE25 = {isa = PBXGroup; children = ( - 61D8A16163E4ECDA0783D577, - E4F5BA8A04D21E067AF14DF4, - AA631B281C3A67F3BA82CEE8, - BE003676942C4C51999B98BB, - 75D1C6547D24C5D23F1F7FFA, - D68C33C8C8154FE333984A07, - F5149BAA5ED92D896EC3D3DE, - 41580969FC580CE8A54A7C94, - C469659506D7D986391C73AC, - A83ED283E501C7BD348CD845, ); name = network; sourceTree = ""; }; - 863711B09848C71F094B2577 = {isa = PBXGroup; children = ( - D83E02331446BD7DCB2DBBD2, - 9A531D3D2C732FE444E3E631, - 764A5DC5F96BB0E1245A3384, - 3F038D2C6C40F6CC45374714, - B8649E96DED800843B9EBB40, - ECD1024C5AD1602EA9DCD503, - CFC5627BDE7F160D7B7EF07C, - 02053B74102A503EF8603456, - CB54F84F834F977564108DEE, - 239C52DFE834703F3B4FC9C9, - E3EAB8FD641888222922E754, - BEB0B4F0882B043BB00C58CF, - 3A4F841D01C5C859FF968183, - 62964A31A303909BC1574201, - BFD6815A95BE134B60897FD0, ); name = streams; sourceTree = ""; }; - FCE6082A58C788C8CC6A0767 = {isa = PBXGroup; children = ( - D569601D8EF4C76223C45346, - 333F0052A31F68AFEF3C73F9, - A9448EE2563523F974227C1B, - 714BDFE341E486C807E6C2DD, ); name = logging; sourceTree = ""; }; - 89918836A77C08B8899EB8B4 = {isa = PBXGroup; children = ( - E3152EC09935B3045D82AF81, - 911961EC8C18CA3EA24FEC71, - 49401EB828C0EA3C717CBF93, - C80238BBE3B21B57068B7A30, - B86932C7C0A6AA5E3A835147, - 737C841D3712AC866D9BB1A1, ); name = system; sourceTree = ""; }; - D83243043A5BBAD94CC60526 = {isa = PBXGroup; children = ( - D13928F6C451978056B723BA, - D19BBCD088D2D7ABD67C3299, - 7BB91094F378EBD92A6B33E4, - 213A38AC1E87DCB3CDC810DF, ); name = xml; sourceTree = ""; }; - 72A501282FB8F48AE61033B1 = {isa = PBXGroup; children = ( + FC97373B910ADE19CF080D34 = {isa = PBXGroup; children = ( 571A20C538D7671FC8003336, D41373B1362CD740F7242670, 7AE3FE832F126B64A60CBE60, BF7359CEB98B856F058D043E, ); name = javascript; sourceTree = ""; }; - 9F92AD85F1B8330EBB823292 = {isa = PBXGroup; children = ( - 5A0C82930C10B55DDA74A402, - EA6B1E4D2B1E560842657155, - 79503FE12A5792F49E433826, - 0A6D062F416F227A32553513, - 9A12133D4EAA83F3EC6313DF, - 9C397EFD914E7DA1DF247E87, ); name = zip; sourceTree = ""; }; - 45E419E77DE25FE2A9C6F554 = {isa = PBXGroup; children = ( - 10115AA6263D3CE0489CA824, - 37552F3417F2619D32D7826D, ); name = "unit_tests"; sourceTree = ""; }; - DD661FF91114D8819D45B482 = {isa = PBXGroup; children = ( + 029A1103056BB80FCEFFBBC1 = {isa = PBXGroup; children = ( + D569601D8EF4C76223C45346, + 333F0052A31F68AFEF3C73F9, + A9448EE2563523F974227C1B, + 714BDFE341E486C807E6C2DD, ); name = logging; sourceTree = ""; }; + 21E7EB333455EDE4AA601FF7 = {isa = PBXGroup; children = ( + 7EE43A1B711EC69B5559E76F, + A603B4FC9F0318FA835A902B, + CAE434C09EC3C5C8A43339AB, + 926ED92974561724D484F55B, + F27303E9C80D731218A325F2, + CA4AEC49BB9AA7DDCD2D6583, + 6362936D2774F0696A03CDC2, + 05B3DF1678FC5F0E30B3CAA3, + 9ACE680735E89C1A62348174, + B710D5415F8040FDA3E5F3C4, ); name = maths; sourceTree = ""; }; + 0B8AE513951DADC1E835D4DF = {isa = PBXGroup; children = ( + 6483052E5040724A47182FD0, + 2AFE4BEBCDEFEBB19F0A3867, + FE859E26F86F51EA21C94D3C, + 83AEB9C3C6E887DECC39B49E, + 6CD3EEAF433A1356D569535B, + EE2497D2C9FCC42F7F4A34CB, + 5CA0BC9A376B4EAE0AC35827, + 86965CCF9FEA6ADA4DBDE4AA, + F8A80AB921C11E626CC90894, + E37FC396273C664BCACB3996, + 5A0A9DAEA99EFDEC6AE807AC, + 18421309528C4C3276EA5A95, + 3A8A53D2CECD3D5AC1612E83, + D9E6BF99FBDC840FD05E20F1, ); name = memory; sourceTree = ""; }; + 9A3F3CC55BE2B2C4E3408C58 = {isa = PBXGroup; children = ( 127EE93DCA4D4337BD44D5AD, C0B0B67FA8989243A1AE86CF, A721D04771CD80BE392E4648, @@ -1366,7 +1247,7 @@ 035F6E4DA3B60AED9CE7F122, 7458CF1BC77CF7B31A16EE77, 0DA6D90196E10ABF6E11FA0E, ); name = misc; sourceTree = ""; }; - 2DB209DAA902064EA6653A39 = {isa = PBXGroup; children = ( + CAD766FB6A8B361FF8DC4731 = {isa = PBXGroup; children = ( 033D96E6B7F5B58B732459F1, B0794CFFA21B4EE7AE9C4DA3, D75F08CBA980DDE0FED365E2, @@ -1396,49 +1277,167 @@ B955CBE3A70384EDAC3B1F91, 4BBFC13FD6615051A69B22AF, 5118AF0A9807DBACB3A46175, ); name = native; sourceTree = ""; }; + 2607638C5E454F26CB5E4905 = {isa = PBXGroup; children = ( + 61D8A16163E4ECDA0783D577, + E4F5BA8A04D21E067AF14DF4, + AA631B281C3A67F3BA82CEE8, + BE003676942C4C51999B98BB, + 75D1C6547D24C5D23F1F7FFA, + D68C33C8C8154FE333984A07, + F5149BAA5ED92D896EC3D3DE, + 41580969FC580CE8A54A7C94, + C469659506D7D986391C73AC, + A83ED283E501C7BD348CD845, ); name = network; sourceTree = ""; }; + C42BFACAFBC5FE933CCDF62E = {isa = PBXGroup; children = ( + D83E02331446BD7DCB2DBBD2, + 9A531D3D2C732FE444E3E631, + 764A5DC5F96BB0E1245A3384, + 3F038D2C6C40F6CC45374714, + B8649E96DED800843B9EBB40, + ECD1024C5AD1602EA9DCD503, + CFC5627BDE7F160D7B7EF07C, + 02053B74102A503EF8603456, + CB54F84F834F977564108DEE, + 239C52DFE834703F3B4FC9C9, + E3EAB8FD641888222922E754, + BEB0B4F0882B043BB00C58CF, + 3A4F841D01C5C859FF968183, + 62964A31A303909BC1574201, + BFD6815A95BE134B60897FD0, ); name = streams; sourceTree = ""; }; + 89918836A77C08B8899EB8B4 = {isa = PBXGroup; children = ( + E3152EC09935B3045D82AF81, + 911961EC8C18CA3EA24FEC71, + 49401EB828C0EA3C717CBF93, + C80238BBE3B21B57068B7A30, + B86932C7C0A6AA5E3A835147, + 737C841D3712AC866D9BB1A1, ); name = system; sourceTree = ""; }; + BD812500CF88B2D2926A2264 = {isa = PBXGroup; children = ( + 78AE8A17F6DE3335ABB613F1, + 01FB698FB741F319A6129EA4, + C7781D614C70CF830B995D7F, + B2BCFBF11AEAFC261278D072, + 05C893B39CD383F410D83E0A, + BF054B4D977AE9BEA1A43B21, + 55C90369D4BEF17E3EA4469F, + 19B50B89F1408621EC8F3740, + A0755F411AC4B93923057362, + EA40F21F9A3DE788C562016A, + C97BCA904F838137B67140E0, + 9518855F2EE30671C0B6B455, + EF8652FD59FE3836531B5C98, + 5CE1E361B6D1296EEA4BD47F, + D1AC8ED686D3F69DCAD6C125, + 8C1315EEAC2842AEFF3A8E03, + BD1AF7254E5C5D821FABE3D1, + 06FF98F27AC7DC8E7E4C73F7, + C3B5BB9DEDDFA9F6CEF46D95, + C663CF9A44E508A641166DC8, + 09981C2F33D31834F38486CB, + A99D3728C01BA427DB9DC9E8, + 4DAD0A6AFAF9EDB658B509F1, + 9737ADF1128EB5DDD5EDCF31, ); name = text; sourceTree = ""; }; + 19814999075FEF677DE83273 = {isa = PBXGroup; children = ( + 6B192FB4BCA4091763405FF1, + F3637911DB642ED9FE1ABBEA, + B264E554EED764BBE5EA96DF, + B5DCA312EE128DB7CF311FE8, + 239B94BE10602A6BCF97FB89, + A1602B24B64627B0A651030A, + 8AE0909A7085D2E485E7F0C5, + 78FF46602A3FE11DE7FB8B3F, + 2CBBD9ABE12AB5CD84D06FC8, + 8D5900643E6AB52E521B2ECF, + AF658C5C33B3B0B5815526A2, + 7298C23E6B6DBFF5ED996D85, + 51190A3DA6EAA1797B9E5235, + 2D2A0378CD9D00B4B8A0CE1C, + 884613F64211F3819E98E20E, + B73AF386AD8DC4E75DDCE7AB, + 96F7119D1A66867ED49634A4, + BFE5140F653B15A58395F091, + 3931D9B45440DFAE1E8A4D4B, + 39EFEAD53FC647E711B57CFC, + 2C01A95C5780C7A811D85295, + 56B40AA330DD586B1F5C0B1A, ); name = threads; sourceTree = ""; }; + 864C903B343117F5975C7D66 = {isa = PBXGroup; children = ( + F7FE2CB2E7DE85F89A1910E3, + EB049F0B735BFF1E3F10952E, + B49C2E8A0C903DD9DF312409, + 11678DFC898E41F7EF5BB08A, + 83EA8AEEDB72189B489D71B7, + 46A9A558C4E0EAD1F52FE357, ); name = time; sourceTree = ""; }; + 45E419E77DE25FE2A9C6F554 = {isa = PBXGroup; children = ( + 10115AA6263D3CE0489CA824, + 37552F3417F2619D32D7826D, ); name = "unit_tests"; sourceTree = ""; }; + 0D84320F8F5B91B31D75ACEE = {isa = PBXGroup; children = ( + D13928F6C451978056B723BA, + D19BBCD088D2D7ABD67C3299, + 7BB91094F378EBD92A6B33E4, + 213A38AC1E87DCB3CDC810DF, ); name = xml; sourceTree = ""; }; + 43D0FD6001CE23DCDFC7CAE8 = {isa = PBXGroup; children = ( + 5A0C82930C10B55DDA74A402, + EA6B1E4D2B1E560842657155, + 79503FE12A5792F49E433826, + 0A6D062F416F227A32553513, + 9A12133D4EAA83F3EC6313DF, + 9C397EFD914E7DA1DF247E87, ); name = zip; sourceTree = ""; }; C76EE6ADC55123215A734037 = {isa = PBXGroup; children = ( - 23F34F3123B4A67261A59366, - 412EFD5CDEED43B9E1110888, - 428B15F4B4E9169ED2E5FE09, - 7405B46C9A5849F091321944, - 22C076705A9B105637BCDBA1, - 93AC79CD66E878DC865B1CE7, - 8AE84ED4A34F97801D5AF7A1, - 37D9EA44486324D58F8FFE25, - 863711B09848C71F094B2577, - FCE6082A58C788C8CC6A0767, + 9FED13391E1D5C3A92E6D4AA, + 7D9697CA4EBEEDCC10E74BD5, + FC97373B910ADE19CF080D34, + 029A1103056BB80FCEFFBBC1, + 21E7EB333455EDE4AA601FF7, + 0B8AE513951DADC1E835D4DF, + 9A3F3CC55BE2B2C4E3408C58, + CAD766FB6A8B361FF8DC4731, + 2607638C5E454F26CB5E4905, + C42BFACAFBC5FE933CCDF62E, 89918836A77C08B8899EB8B4, - D83243043A5BBAD94CC60526, - 72A501282FB8F48AE61033B1, - 9F92AD85F1B8330EBB823292, + BD812500CF88B2D2926A2264, + 19814999075FEF677DE83273, + 864C903B343117F5975C7D66, 45E419E77DE25FE2A9C6F554, - DD661FF91114D8819D45B482, - 2DB209DAA902064EA6653A39, - 35A06942A10BADF6CCE2800F, + 0D84320F8F5B91B31D75ACEE, + 43D0FD6001CE23DCDFC7CAE8, 744ABAD149AA9432382CB921, ); name = "juce_core"; sourceTree = ""; }; - 1781F25170E3DB8A850BA4C6 = {isa = PBXGroup; children = ( + 64B49EEC99E44FB66D9283C8 = {isa = PBXGroup; children = ( + 1FD0AAC022DC75424CE02681, + 02A5639DD8A8BDF6BB2E0C61, + E19CC1B6C4865E430A7F2835, + DC5EC3CB8187CD80366BB3DF, ); name = "app_properties"; sourceTree = ""; }; + 81BE94D1DF4D80897765E200 = {isa = PBXGroup; children = ( + 3633C1D444D6CBD556044E5D, + 95B66CAB0FAA7F33FADF872F, + B7E8544884A3E7373CBBEAE5, ); name = undomanager; sourceTree = ""; }; + 4762B6775DC42CB4CCEA876B = {isa = PBXGroup; children = ( 5A5BDC41BBF43457B2EA4C70, 1717D7DD9D258595E300D248, 0929A69E87BFDBCC09C653D2, 60A46E3343893554B153D427, 69AA8FA0409729B38822F52D, DE6013275C7B3128C4C2DDA7, ); name = values; sourceTree = ""; }; - 81BE94D1DF4D80897765E200 = {isa = PBXGroup; children = ( - 3633C1D444D6CBD556044E5D, - 95B66CAB0FAA7F33FADF872F, - B7E8544884A3E7373CBBEAE5, ); name = undomanager; sourceTree = ""; }; - C61F621A2C6422F004E26C8B = {isa = PBXGroup; children = ( - 1FD0AAC022DC75424CE02681, - 02A5639DD8A8BDF6BB2E0C61, - E19CC1B6C4865E430A7F2835, - DC5EC3CB8187CD80366BB3DF, ); name = "app_properties"; sourceTree = ""; }; 9985E55ADE3DEB8A9CAB3A56 = {isa = PBXGroup; children = ( - 1781F25170E3DB8A850BA4C6, + 64B49EEC99E44FB66D9283C8, 81BE94D1DF4D80897765E200, - C61F621A2C6422F004E26C8B, - 59F83A606EF9CB1B84C69D15, + 4762B6775DC42CB4CCEA876B, DB8EA59308684B6B3C0D170A, ); name = "juce_data_structures"; sourceTree = ""; }; - 9F4BA54696DB228EAD71320A = {isa = PBXGroup; children = ( + 2FB4FA7BA6A3A45C418013AD = {isa = PBXGroup; children = ( + 0E7830E1D0729B24CA3AF3E2, + 09C8EBA799CB678A80014FBF, + D2709B948F51704C496C7096, + 8F618D1D7D1C798F24E53D6E, + 28AD33164DB56B92B98D7840, + 38836F163A69F801363D3FC6, + CB26BB763DD0A559B3CF849E, + 325100DEDDAD2CB557A8F1FB, ); name = broadcasters; sourceTree = ""; }; + 25E71AFD5180EB264B2C6461 = {isa = PBXGroup; children = ( + FCFF64E2C2EF86FEA787B4EC, + C8834D406DAB49FB26B48CB8, + 7011843793AE173507011AA1, + A5530A1F30CC3C8F0E42281E, + 913C5931846CE4C8FC313A5A, + ABB2D81AD1053643C0C69A6C, ); name = interprocess; sourceTree = ""; }; + B7E230FD3D72ED454F0253E5 = {isa = PBXGroup; children = ( 766EEB87CFF6888B16C3C9EC, E606DFDD32828EE921AD2B99, 2D38B168DE24934AC76345FF, @@ -1452,28 +1451,7 @@ AC0CE4F974E2EBB916441340, 1AAF5414E330804C712FE98E, 0E1BBEF074CCA95A3F4316BE, ); name = messages; sourceTree = ""; }; - E927BEF01103E03127596D31 = {isa = PBXGroup; children = ( - 2C06E3B54D9E9F2490270347, - 31C45CBC85FC47D7E876E2C5, - E24DCD83DC6AC4E8FB1E103B, - 4A7DAF11B6492BB73AEE1A78, ); name = timers; sourceTree = ""; }; - CCDE8171D2B0ED48ECB1230F = {isa = PBXGroup; children = ( - 0E7830E1D0729B24CA3AF3E2, - 09C8EBA799CB678A80014FBF, - D2709B948F51704C496C7096, - 8F618D1D7D1C798F24E53D6E, - 28AD33164DB56B92B98D7840, - 38836F163A69F801363D3FC6, - CB26BB763DD0A559B3CF849E, - 325100DEDDAD2CB557A8F1FB, ); name = broadcasters; sourceTree = ""; }; - EA673B75FC1C79660399AEEA = {isa = PBXGroup; children = ( - FCFF64E2C2EF86FEA787B4EC, - C8834D406DAB49FB26B48CB8, - 7011843793AE173507011AA1, - A5530A1F30CC3C8F0E42281E, - 913C5931846CE4C8FC313A5A, - ABB2D81AD1053643C0C69A6C, ); name = interprocess; sourceTree = ""; }; - 081BC8AFB1BF4C587C0F9E78 = {isa = PBXGroup; children = ( + F080D8E27590594178A9E5BE = {isa = PBXGroup; children = ( 5C532F1501106BEC269B54D1, 3D5885D35F1503196A809C1D, AE9897E231106BB88EA12CB0, @@ -1482,13 +1460,17 @@ 34A26768DEABD08C0EDCACBC, D6696FAB02828C1AC9FC05E2, D15C6C72D805832EC40E432F, ); name = native; sourceTree = ""; }; + 4D81DCF542A11CA7F3930E6D = {isa = PBXGroup; children = ( + 2C06E3B54D9E9F2490270347, + 31C45CBC85FC47D7E876E2C5, + E24DCD83DC6AC4E8FB1E103B, + 4A7DAF11B6492BB73AEE1A78, ); name = timers; sourceTree = ""; }; 55E02349393595D5D4E2AF4F = {isa = PBXGroup; children = ( - 9F4BA54696DB228EAD71320A, - E927BEF01103E03127596D31, - CCDE8171D2B0ED48ECB1230F, - EA673B75FC1C79660399AEEA, - 081BC8AFB1BF4C587C0F9E78, - 13F60EE858E7CFEEE94058A1, + 2FB4FA7BA6A3A45C418013AD, + 25E71AFD5180EB264B2C6461, + B7E230FD3D72ED454F0253E5, + F080D8E27590594178A9E5BE, + 4D81DCF542A11CA7F3930E6D, 8E7F08384BA6B69DCBB1D17D, ); name = "juce_events"; sourceTree = ""; }; 0353D4B27B3A2A055E0C748D = {isa = PBXGroup; children = ( 96C0067DDD41858E843B0565, @@ -1508,19 +1490,25 @@ 7B241F0D5C7EBF2222786F93, 8D6A842D47795E5851CEE659, 4EE8A17B0CABF709F3C7CF57, ); name = contexts; sourceTree = ""; }; - E975650DBC055450D47B338E = {isa = PBXGroup; children = ( - B9BEFE577C52538BFCC4E2A1, - C1825D92B9DD2E8B38B4C6C7, - 6CFF820FB5035F35F2B5583B, - DDA60262037A823759F15D7A, - DD1809B9FBA498834372F23A, - 8EA1AF26BF7691AE3E33DFB1, - D504FBF5312BA310D8DF06D4, - 3F7CFC4B2D8AF418B698406B, ); name = images; sourceTree = ""; }; - EE85859205CDF58CB1CC585D = {isa = PBXGroup; children = ( - 18BDC77D7A5DDEF3C40C2560, - E1E6EBEF5D8633B172DF7DF5, - 16A5DBE6E802C9EBCAE95630, ); name = "image_formats"; sourceTree = ""; }; + C171A222E0273613AFF2A522 = {isa = PBXGroup; children = ( + 297B3B9AC161F1A7778FE29B, + C06985BFF77FC0D21C5DA3DE, + 640CB1F9D73F959A740D31B5, + B576BA30994193328E8E3952, + A902E0E8F3DC0D635D695270, ); name = effects; sourceTree = ""; }; + 307BEB351D3DE11008CE5EFD = {isa = PBXGroup; children = ( + FEAE992908BE95D94A27A35D, + 68CA3FA90DBBFE081A9FEC54, + CD19B42C638B366E7B77E99C, + C710DFD702B64975743DB7EE, + 254BFF2ED918F33B6AD54D87, + 2FD92C7674824491D7AC169E, + 8B41DCE8493B8A66C687AC6D, + E4871C1F1E9440ADC04F1DFE, + 8C768E8F3E7F95A82FEE1AB9, + 520139F98F0EF05C217B4B38, + 9DDA745B12208959DF08A199, + 8BEC497B105FEDD3F48BC351, ); name = fonts; sourceTree = ""; }; F3F3AE626C85532FB1127F5F = {isa = PBXGroup; children = ( A77B934BBF5BEB9649635BD1, 1DD16B52A591AA883030F172, @@ -1537,30 +1525,20 @@ 540A968AB6E807B801653996, A24C75DC03BA606C34435BAA, 89F6136333130C2636FFC264, ); name = geometry; sourceTree = ""; }; - 60EDEB88174A8A2822477262 = {isa = PBXGroup; children = ( - 55F7B5D987EFEFFFCFFDA4DB, - 2FB6AD8E38BBC203806CA6E5, - DD89903B262A2F693987526E, ); name = placement; sourceTree = ""; }; - 6D3A444BB53BAA333F5350C0 = {isa = PBXGroup; children = ( - FEAE992908BE95D94A27A35D, - 68CA3FA90DBBFE081A9FEC54, - CD19B42C638B366E7B77E99C, - C710DFD702B64975743DB7EE, - 254BFF2ED918F33B6AD54D87, - 2FD92C7674824491D7AC169E, - 8B41DCE8493B8A66C687AC6D, - E4871C1F1E9440ADC04F1DFE, - 8C768E8F3E7F95A82FEE1AB9, - 520139F98F0EF05C217B4B38, - 9DDA745B12208959DF08A199, - 8BEC497B105FEDD3F48BC351, ); name = fonts; sourceTree = ""; }; - 2B6C8D4E3DA232910EEB97CD = {isa = PBXGroup; children = ( - 297B3B9AC161F1A7778FE29B, - C06985BFF77FC0D21C5DA3DE, - 640CB1F9D73F959A740D31B5, - B576BA30994193328E8E3952, - A902E0E8F3DC0D635D695270, ); name = effects; sourceTree = ""; }; - C026AC2B148CB5C7A2DC2FD5 = {isa = PBXGroup; children = ( + A06371425512B7A8625026B8 = {isa = PBXGroup; children = ( + 18BDC77D7A5DDEF3C40C2560, + E1E6EBEF5D8633B172DF7DF5, + 16A5DBE6E802C9EBCAE95630, ); name = "image_formats"; sourceTree = ""; }; + DA8BF01488229BF774B4B0B6 = {isa = PBXGroup; children = ( + B9BEFE577C52538BFCC4E2A1, + C1825D92B9DD2E8B38B4C6C7, + 6CFF820FB5035F35F2B5583B, + DDA60262037A823759F15D7A, + DD1809B9FBA498834372F23A, + 8EA1AF26BF7691AE3E33DFB1, + D504FBF5312BA310D8DF06D4, + 3F7CFC4B2D8AF418B698406B, ); name = images; sourceTree = ""; }; + 1B7A183609EB6D8C9B9DC211 = {isa = PBXGroup; children = ( E11D931B040B480FED1102CD, B385D409CF1272B7EA509C98, D7CEB7BB0390D17BF927E713, @@ -1574,19 +1552,54 @@ 21EEE9FC1E4F7AF3789CACCC, B8CD15850F3FD242B56BFD30, 68B98F6923842ECF4A7500EC, ); name = native; sourceTree = ""; }; + E822BB4C91DB738FA4B1967E = {isa = PBXGroup; children = ( + 55F7B5D987EFEFFFCFFDA4DB, + 2FB6AD8E38BBC203806CA6E5, + DD89903B262A2F693987526E, ); name = placement; sourceTree = ""; }; 0C427B4221AB09F74BC0CB95 = {isa = PBXGroup; children = ( 0353D4B27B3A2A055E0C748D, 7F054449424E3DF75E163F58, - E975650DBC055450D47B338E, - EE85859205CDF58CB1CC585D, + C171A222E0273613AFF2A522, + 307BEB351D3DE11008CE5EFD, F3F3AE626C85532FB1127F5F, - 60EDEB88174A8A2822477262, - 6D3A444BB53BAA333F5350C0, - 2B6C8D4E3DA232910EEB97CD, - C026AC2B148CB5C7A2DC2FD5, - 64FEC8256447048661F540B8, + A06371425512B7A8625026B8, + DA8BF01488229BF774B4B0B6, + 1B7A183609EB6D8C9B9DC211, + E822BB4C91DB738FA4B1967E, 8EE6D7FB9F27796711533F61, ); name = "juce_graphics"; sourceTree = ""; }; - 3F317D48816FBA1134C4EB8A = {isa = PBXGroup; children = ( + 34890B2D579F5DA22ABB6275 = {isa = PBXGroup; children = ( + B0EF61D78A5BA42D902B896F, + F4EB90957B06EC3250CC5EE4, ); name = application; sourceTree = ""; }; + 686A1F2EA6BC3713D1257673 = {isa = PBXGroup; children = ( + A0B4DB26DFF53552001D2FF7, + C18EFF04318CF4E2B21B3FF0, + 0425AA18482441D4BCB59146, + F23316475DC78F21D91AEF1A, + AEAD21B704601EFC032CFC74, + 1DE25FC553A31781BB7FF8C2, + BC7E32A760AFD3B7090FCDFF, + 69AB7E74F1E8DA8B37F1155E, + BEDCC9E9F4E720941E4CC4AA, + 0766BED8305D4B11BDA917E4, + C2A56B8DB52C3665977E1BFC, + 44A0811A0C0C12206F15431C, + 72743BDB2962352694843621, + FC927DF4661F27BE59BF7D3C, + 0BEA80FA81829FA2340F01A4, + A3D8B233BFCFE6030E008FF8, + B3A17CFE8617E1AC5576C2D5, + 2DA1EAA46CD8D7C79A01AC76, ); name = buttons; sourceTree = ""; }; + 53AAAD31DBB649CAB911019C = {isa = PBXGroup; children = ( + A7921001F152C7CC00588E5B, + 1368F9F7EDF2389D4539D330, + DDD6EB582F2EB21276E66C3A, + 0301D7F83AD3511A570CD3E1, + E05F5413277FBB78714360FD, + 21353DF8836B1029435419DE, + FDEE467811BA4CE591FCFE95, + C25E9D9C55D5965F55D95FB8, + 9836BF9A7E58BF1ADBE95312, ); name = commands; sourceTree = ""; }; + 2A800E2E8E4732E187D12000 = {isa = PBXGroup; children = ( F39B8EA573F40E9C7D252353, 6F34BF85A7C6B6CF8F156B13, 35809355C1A5B7EF1017836C, @@ -1596,28 +1609,46 @@ 87F2B857C3495A6FEBCD4F04, 9E7307F339FCE45305069039, BF9656AB7811A447B8A6355E, ); name = components; sourceTree = ""; }; - 281219FDF6F1BA488FBEA58D = {isa = PBXGroup; children = ( - 6408EAB50715CFE92CA13773, - 91D9C5B1C877CA5291B91839, - A9CD12190C6FDBDB55E3B11F, - 32A2DAEAFEF1AD33395A63EA, - 72DB61A3DA23EA872B81DE58, - D53148E9698EFAEACB0D10CF, - E2CB2344E5C125F25C3529A5, - 0EE50FB057897BAAD52B9421, - BE3CA537D4461FD956758537, - B08D4A85153643B59403DA45, - AA388FB6486A4D25EFDB02B4, - DA43A237A06398945BD47DEA, - 4F559A0F9C604415D2EF3C96, - AEEE249B992C6ED8E0DE5667, - 9D747918E433673F9EC97C5C, - 4AF361FE4D741B06DBC2B15C, - 4935FB743FB44F445EB7AED4, - 1C65D2172BC8C6EE13917F9A, - BAB92F91B12F560F96C1F6C1, - 7EF4AF10198761D6031DE552, ); name = mouse; sourceTree = ""; }; - 2881DA5C39C60D3DD919E179 = {isa = PBXGroup; children = ( + D9CC76F999B5D0622BB90E37 = {isa = PBXGroup; children = ( + 46911E45ADA69F0AB6342CCE, + ACA1BB1948E619685A7DDC30, + 04E1F633A4B93AA4DA59CA04, + B0EE6468EFB8F633546F6022, + A343863C11C8D3AEF5A6AC00, + 10224D2E1FA050EAC712B975, + A8C690EFC2CED06F396A478A, + C45E0183DD648356B967145E, + 0A33F6F6B40D941A0FFF1CB4, + BCB554D7534D7B586BBA8DCE, + CFBFB75518C0DA7A055CEE23, + DAA4A2D5218B25F56F23565E, + DC41A66321241EE7E30460CD, + B97F665475BB55223335D75C, + 5C962C8B75E874CD08902C93, ); name = drawables; sourceTree = ""; }; + B84333ADD00324E2B5D5C5FE = {isa = PBXGroup; children = ( + A2B842AFA7FC4EDD4B461096, + 6C3D887ACBD7F018D8673AFA, + A1744E8CFF873F6C3FA28DFF, + 1AAEAB6A86B4F27880FEC59E, + 5771105B21CB124DD974CCEF, + A678CAA3442CCF50F8A7EE36, + DDD4944E4D58FBFB89C8FE3E, + 0A86AE8820DD6DA6A97C7D0F, + E8CB3F13121ECB54042E69A6, + 42A767BBD257C4E5A80E42EA, + 6CB7C401315226369215C951, + 1CAC81239CD80E42E652DEFC, + F1AC977E002993579FC91C8F, + ADAB32ED089A0115119CEECC, + 7D61D4B3E73C059E8CDC2A99, + C675D419194CC91882763959, + 7B54EC159CFCCB549D2FA20A, + BEB158304CE0B42A7658F078, + B2A0212274523683659BBB00, + 28BA7D8BCF0826B8916F30CF, + A58AD1FABCADEE10CB27D001, + F05E9500D758FABA3F53D06E, ); name = filebrowser; sourceTree = ""; }; + BCD31A8790F115D99055952C = {isa = PBXGroup; children = ( 3A105B8963ACE464E38D5129, 7E71FEBAB37102A23A1BE63C, 80E317C2A9ECBBA79D120572, @@ -1631,62 +1662,7 @@ 2908A06CC6F7B0C19288832D, BAE7FEF73A1661CBA56BED05, 8C88C9F14D9BB71590E027FC, ); name = keyboard; sourceTree = ""; }; - 97EA4547B55B7C37889674DB = {isa = PBXGroup; children = ( - 6A3E3B5FE7DB21378F1EB7A2, - 1D9B928CF335F674ABEDB615, - 3D098D97FB49FD3A5F78F689, - CFCC37A15307237470208214, - 090A74457D3F4FF2EBECF426, - 8A68D2139D1D52C6BCCE6654, - 6A4EAE75B41CA40C36109A06, - 099DEBA5FF4421B94E828F55, - 4DB4D0A089A58B8C282C0024, - 04710ED368866B3A34F95A3A, - 88B80468A064B57A7A746834, - D59C9A2C0E6446954E6BC7E3, - 761B175887FE4782C025DDE5, - 3C73BCD1AE25C418B2EC688E, - 8AB9D5A503D9982C1BCAEEFB, - C81DF51C531E11FC503F5799, - 68B00C1F656571B0C26F756D, - 4A4E7FEF68E2A464BF77AE60, - B69E5BF775AEED4C720C6518, - 2A368150567D5EF7E7ABB0A6, - 772425DE549980D891077437, - CDAB1038A5278AD954C80885, - 07AF4C5DA859E914D76F7DA9, - CAEBB83165D9E7C558A0548B, - CA01A0FCA58CFA399F417558, - 955A307891E7A6B0B8628712, - 3EE727B1EDC227C6C3280559, ); name = widgets; sourceTree = ""; }; - 1943E0F87AB4C56117231F16 = {isa = PBXGroup; children = ( - 73AD74BCCA56FB0AE83831EC, - D3DFA30B1FB57A767001E3D2, - 7E4EA529BF3CD69635A1F763, - B099A4971E33B240AF396620, - 60B9F4249674C37B5F24D8DF, - EBEAD6F96A2ED5FFE9E1D50A, - CD27962E1CE1EB6554AC49C9, - 890520E024B773EF8F411B33, - EA1D3977F274C99D97053235, - 5F6BDB50F1E7E9F8161F5673, - D1A3A1AD6610FFAA4278CCB3, - 027B727EB5DB2A0BAFCE6328, - 933B338B2B3C5A16A2963A68, - 842DC722F9C23134B8F8B9C5, - AE25A3AC26B41BAE5062DE2F, - 3F99896EEDB7546053EDB5C2, - 6F10D615DB87739D2CA774C8, - 0D69A506E0A81B9D51906F01, - B8364195C3946778B903221F, ); name = windows; sourceTree = ""; }; - 772DE4D49FF0CA6839B2FA47 = {isa = PBXGroup; children = ( - B9B9D9413F0D153EFDE74216, - A8097393EC6ACC962C779156, - A4780E73DEDB8EBE7916638A, - F74C829B2874C0A4B16FA908, - 675833CA39588B5D403F6AD2, - D19384269E32BF7164359DEA, ); name = menus; sourceTree = ""; }; - 5670DE700ABED20939356CD7 = {isa = PBXGroup; children = ( + 27A6137760DECEAD41EB47C4 = {isa = PBXGroup; children = ( 87C0BA083673FBCE6D31FD17, D892B130DBACAD518C31E3DE, 0DF3C7D19FE6921A4B90138A, @@ -1723,72 +1699,7 @@ A901F31540617AC9AEF00B25, 66BB99DE2FF0B50392E9D6C6, D99A52E20EF268CBC6F75050, ); name = layout; sourceTree = ""; }; - 8EE2ED393378CF6F77821601 = {isa = PBXGroup; children = ( - A0B4DB26DFF53552001D2FF7, - C18EFF04318CF4E2B21B3FF0, - 0425AA18482441D4BCB59146, - F23316475DC78F21D91AEF1A, - AEAD21B704601EFC032CFC74, - 1DE25FC553A31781BB7FF8C2, - BC7E32A760AFD3B7090FCDFF, - 69AB7E74F1E8DA8B37F1155E, - BEDCC9E9F4E720941E4CC4AA, - 0766BED8305D4B11BDA917E4, - C2A56B8DB52C3665977E1BFC, - 44A0811A0C0C12206F15431C, - 72743BDB2962352694843621, - FC927DF4661F27BE59BF7D3C, - 0BEA80FA81829FA2340F01A4, - A3D8B233BFCFE6030E008FF8, - B3A17CFE8617E1AC5576C2D5, - 2DA1EAA46CD8D7C79A01AC76, ); name = buttons; sourceTree = ""; }; - F2626DD9D8DF9740630E8A81 = {isa = PBXGroup; children = ( - CD15FED603965026DD7D325E, - E056B8E91D8526CA9B8493A3, - FC7D1E4EF05BA11889FA9ED3, - 6E5EE7A4765A8597B8E8B93F, - 141A07B123EEAD06FAC28121, - 36DF004B825C5068D1CA354D, - 4FC3045C7940745E3743B8B0, - 2C3D0014C45C1D97E9B371F5, - AA3ECA9281847262AFD44DCD, - 334A67A664C59ABA8B85CD58, - FE7E94D63929113F7E655EB9, - E4E16E63CB0A80863ED9126F, - A8F59D40DAD6802A0E268C72, - 39B6EC6E9B6AD299245366FD, ); name = positioning; sourceTree = ""; }; - 8A86CBC18D3B4D4A62AA68A9 = {isa = PBXGroup; children = ( - 46911E45ADA69F0AB6342CCE, - ACA1BB1948E619685A7DDC30, - 04E1F633A4B93AA4DA59CA04, - B0EE6468EFB8F633546F6022, - A343863C11C8D3AEF5A6AC00, - 10224D2E1FA050EAC712B975, - A8C690EFC2CED06F396A478A, - C45E0183DD648356B967145E, - 0A33F6F6B40D941A0FFF1CB4, - BCB554D7534D7B586BBA8DCE, - CFBFB75518C0DA7A055CEE23, - DAA4A2D5218B25F56F23565E, - DC41A66321241EE7E30460CD, - B97F665475BB55223335D75C, - 5C962C8B75E874CD08902C93, ); name = drawables; sourceTree = ""; }; - E02952F212A700E7F9C11D07 = {isa = PBXGroup; children = ( - F5051798AA944C681192B07D, - 9BF0524BD64CC9472884D9BF, - 72EE90412DFD597814C77E8A, - 1E70464CA50CE9DA45311C97, - 04ED8F0DB86FF0D94AEFC997, - 3695B573C5DEB87AEAC77ECC, - 50684B422F4F1FFF4EFC830E, - 78FB0D2697D8305D06F63FA4, - 4CE8BAA869AF9CE57FD5F5D7, - 6878653F56D22AF680C70A23, - 1DB944E6F78AF4E77673A547, - 23E55620BCA7B6E847316C88, - D2712262399E07A48832E87C, - 842A3D9DB014C363B6DAADD0, ); name = properties; sourceTree = ""; }; - 6C5A5DA86E5B2DE3EC2E8CDB = {isa = PBXGroup; children = ( + 06ED3F00817940FF8645B3F1 = {isa = PBXGroup; children = ( C959809FA60468C93312AB89, BDB06375DA9020DD791F11E3, E7F154000F9682DBD77AC7B6, @@ -1797,48 +1708,40 @@ 6FB39DD635C57B5F1AD95E9D, CADE0DDF00115BF4F144C942, 2E96F44C68311A1EB839275A, ); name = lookandfeel; sourceTree = ""; }; - 4CF6564C3325CC279CF94719 = {isa = PBXGroup; children = ( - A2B842AFA7FC4EDD4B461096, - 6C3D887ACBD7F018D8673AFA, - A1744E8CFF873F6C3FA28DFF, - 1AAEAB6A86B4F27880FEC59E, - 5771105B21CB124DD974CCEF, - A678CAA3442CCF50F8A7EE36, - DDD4944E4D58FBFB89C8FE3E, - 0A86AE8820DD6DA6A97C7D0F, - E8CB3F13121ECB54042E69A6, - 42A767BBD257C4E5A80E42EA, - 6CB7C401315226369215C951, - 1CAC81239CD80E42E652DEFC, - F1AC977E002993579FC91C8F, - ADAB32ED089A0115119CEECC, - 7D61D4B3E73C059E8CDC2A99, - C675D419194CC91882763959, - 7B54EC159CFCCB549D2FA20A, - BEB158304CE0B42A7658F078, - B2A0212274523683659BBB00, - 28BA7D8BCF0826B8916F30CF, - A58AD1FABCADEE10CB27D001, - F05E9500D758FABA3F53D06E, ); name = filebrowser; sourceTree = ""; }; - C0D64E4963BF2D978612C1D4 = {isa = PBXGroup; children = ( - A7921001F152C7CC00588E5B, - 1368F9F7EDF2389D4539D330, - DDD6EB582F2EB21276E66C3A, - 0301D7F83AD3511A570CD3E1, - E05F5413277FBB78714360FD, - 21353DF8836B1029435419DE, - FDEE467811BA4CE591FCFE95, - C25E9D9C55D5965F55D95FB8, - 9836BF9A7E58BF1ADBE95312, ); name = commands; sourceTree = ""; }; - 288D766BD9362AED8E997B52 = {isa = PBXGroup; children = ( + 3EA6636D070E4A1544D1E8B0 = {isa = PBXGroup; children = ( + B9B9D9413F0D153EFDE74216, + A8097393EC6ACC962C779156, + A4780E73DEDB8EBE7916638A, + F74C829B2874C0A4B16FA908, + 675833CA39588B5D403F6AD2, + D19384269E32BF7164359DEA, ); name = menus; sourceTree = ""; }; + DA89C3B72FBFEF926EB1F92F = {isa = PBXGroup; children = ( 2EE66D27896775F0F1395C55, D29C0607E9D5E0F663C86991, B89EB9908479605C34F232CE, 157F3A71C57A0C766493EB98, ); name = misc; sourceTree = ""; }; - 47FFC33155065806A9F18396 = {isa = PBXGroup; children = ( - B0EF61D78A5BA42D902B896F, - F4EB90957B06EC3250CC5EE4, ); name = application; sourceTree = ""; }; - CD8DDB7DD65A4DE7700EAD00 = {isa = PBXGroup; children = ( + 4B8A7A4F61989021C9E9113C = {isa = PBXGroup; children = ( + 6408EAB50715CFE92CA13773, + 91D9C5B1C877CA5291B91839, + A9CD12190C6FDBDB55E3B11F, + 32A2DAEAFEF1AD33395A63EA, + 72DB61A3DA23EA872B81DE58, + D53148E9698EFAEACB0D10CF, + E2CB2344E5C125F25C3529A5, + 0EE50FB057897BAAD52B9421, + BE3CA537D4461FD956758537, + B08D4A85153643B59403DA45, + AA388FB6486A4D25EFDB02B4, + DA43A237A06398945BD47DEA, + 4F559A0F9C604415D2EF3C96, + AEEE249B992C6ED8E0DE5667, + 9D747918E433673F9EC97C5C, + 4AF361FE4D741B06DBC2B15C, + 4935FB743FB44F445EB7AED4, + 1C65D2172BC8C6EE13917F9A, + BAB92F91B12F560F96C1F6C1, + 7EF4AF10198761D6031DE552, ); name = mouse; sourceTree = ""; }; + 40AB50F84BFD8BB0D3795A02 = {isa = PBXGroup; children = ( 5DD8F2293DC8AD04D611431F, A695D18E3D5521906E2AA55B, 07FBA311B4E9F68D237478F3, @@ -1855,25 +1758,102 @@ 683C925C217F0335EB1CC27E, B6131CF545E602736679467C, EB84C1B29F6CF1E982E72440, ); name = native; sourceTree = ""; }; + 8B241E3DF127FCFA16727ED0 = {isa = PBXGroup; children = ( + CD15FED603965026DD7D325E, + E056B8E91D8526CA9B8493A3, + FC7D1E4EF05BA11889FA9ED3, + 6E5EE7A4765A8597B8E8B93F, + 141A07B123EEAD06FAC28121, + 36DF004B825C5068D1CA354D, + 4FC3045C7940745E3743B8B0, + 2C3D0014C45C1D97E9B371F5, + AA3ECA9281847262AFD44DCD, + 334A67A664C59ABA8B85CD58, + FE7E94D63929113F7E655EB9, + E4E16E63CB0A80863ED9126F, + A8F59D40DAD6802A0E268C72, + 39B6EC6E9B6AD299245366FD, ); name = positioning; sourceTree = ""; }; + B922D9777349ED25CD2FFD75 = {isa = PBXGroup; children = ( + F5051798AA944C681192B07D, + 9BF0524BD64CC9472884D9BF, + 72EE90412DFD597814C77E8A, + 1E70464CA50CE9DA45311C97, + 04ED8F0DB86FF0D94AEFC997, + 3695B573C5DEB87AEAC77ECC, + 50684B422F4F1FFF4EFC830E, + 78FB0D2697D8305D06F63FA4, + 4CE8BAA869AF9CE57FD5F5D7, + 6878653F56D22AF680C70A23, + 1DB944E6F78AF4E77673A547, + 23E55620BCA7B6E847316C88, + D2712262399E07A48832E87C, + 842A3D9DB014C363B6DAADD0, ); name = properties; sourceTree = ""; }; + FA5606CE5235305BA539E9F5 = {isa = PBXGroup; children = ( + 6A3E3B5FE7DB21378F1EB7A2, + 1D9B928CF335F674ABEDB615, + 3D098D97FB49FD3A5F78F689, + CFCC37A15307237470208214, + 090A74457D3F4FF2EBECF426, + 8A68D2139D1D52C6BCCE6654, + 6A4EAE75B41CA40C36109A06, + 099DEBA5FF4421B94E828F55, + 4DB4D0A089A58B8C282C0024, + 04710ED368866B3A34F95A3A, + 88B80468A064B57A7A746834, + D59C9A2C0E6446954E6BC7E3, + 761B175887FE4782C025DDE5, + 3C73BCD1AE25C418B2EC688E, + 8AB9D5A503D9982C1BCAEEFB, + C81DF51C531E11FC503F5799, + 68B00C1F656571B0C26F756D, + 4A4E7FEF68E2A464BF77AE60, + B69E5BF775AEED4C720C6518, + 2A368150567D5EF7E7ABB0A6, + 772425DE549980D891077437, + CDAB1038A5278AD954C80885, + 07AF4C5DA859E914D76F7DA9, + CAEBB83165D9E7C558A0548B, + CA01A0FCA58CFA399F417558, + 955A307891E7A6B0B8628712, + 3EE727B1EDC227C6C3280559, ); name = widgets; sourceTree = ""; }; + B12B21F1D4485AC5AC94C8E1 = {isa = PBXGroup; children = ( + 73AD74BCCA56FB0AE83831EC, + D3DFA30B1FB57A767001E3D2, + 7E4EA529BF3CD69635A1F763, + B099A4971E33B240AF396620, + 60B9F4249674C37B5F24D8DF, + EBEAD6F96A2ED5FFE9E1D50A, + CD27962E1CE1EB6554AC49C9, + 890520E024B773EF8F411B33, + EA1D3977F274C99D97053235, + 5F6BDB50F1E7E9F8161F5673, + D1A3A1AD6610FFAA4278CCB3, + 027B727EB5DB2A0BAFCE6328, + 933B338B2B3C5A16A2963A68, + 842DC722F9C23134B8F8B9C5, + AE25A3AC26B41BAE5062DE2F, + 3F99896EEDB7546053EDB5C2, + 6F10D615DB87739D2CA774C8, + 0D69A506E0A81B9D51906F01, + B8364195C3946778B903221F, ); name = windows; sourceTree = ""; }; 7D58C682DA1DA8CA78F50888 = {isa = PBXGroup; children = ( - 3F317D48816FBA1134C4EB8A, - 281219FDF6F1BA488FBEA58D, - 2881DA5C39C60D3DD919E179, - 97EA4547B55B7C37889674DB, - 1943E0F87AB4C56117231F16, - 772DE4D49FF0CA6839B2FA47, - 5670DE700ABED20939356CD7, - 8EE2ED393378CF6F77821601, - F2626DD9D8DF9740630E8A81, - 8A86CBC18D3B4D4A62AA68A9, - E02952F212A700E7F9C11D07, - 6C5A5DA86E5B2DE3EC2E8CDB, - 4CF6564C3325CC279CF94719, - C0D64E4963BF2D978612C1D4, - 288D766BD9362AED8E997B52, - 47FFC33155065806A9F18396, - CD8DDB7DD65A4DE7700EAD00, - BF9F3EA043844229A47FAAE6, + 34890B2D579F5DA22ABB6275, + 686A1F2EA6BC3713D1257673, + 53AAAD31DBB649CAB911019C, + 2A800E2E8E4732E187D12000, + D9CC76F999B5D0622BB90E37, + B84333ADD00324E2B5D5C5FE, + BCD31A8790F115D99055952C, + 27A6137760DECEAD41EB47C4, + 06ED3F00817940FF8645B3F1, + 3EA6636D070E4A1544D1E8B0, + DA89C3B72FBFEF926EB1F92F, + 4B8A7A4F61989021C9E9113C, + 40AB50F84BFD8BB0D3795A02, + 8B241E3DF127FCFA16727ED0, + B922D9777349ED25CD2FFD75, + FA5606CE5235305BA539E9F5, + B12B21F1D4485AC5AC94C8E1, 892DABE32AFD76A8AF4A6616, ); name = "juce_gui_basics"; sourceTree = ""; }; 7ACF9919652082FD7F2A5AE9 = {isa = PBXGroup; children = ( 1126568C1F2AF469D93D4AA2, @@ -1935,7 +1915,6 @@ E5BADDDABAE8BB6BC0F20D4A, 2CCFA7CC49D9C495D6086093, E0EAB024EF21CCF6F1E040CC, - 7C10E35BD11C19562BC833F0, 73760090E4CB1CD2592A1E54, ); name = "juce_gui_extra"; sourceTree = ""; }; 267EBA2B36C17379FA53260F = {isa = PBXGroup; children = ( F79D8CDF582C6D0E8A6DA84C, @@ -1951,20 +1930,20 @@ E66E767409F60AC1437F60DA, ); name = "Juce Modules"; sourceTree = ""; }; 51CFAB202470ECD7603B1CCA = {isa = PBXGroup; children = ( 6E79505C2709E7D4111D4C80, - AF71E702446CEF7E5FBCAA13, - 287C263EEED177B3C8BEC5B8, - 1EFD81C556E115BF789491EE, - EFEEF49E3B89DEFE88111443, - ED6852B4B4B357ACB04EFEA9, - 82AD7A2678DF2DA5E1CCBE99, - 0514D2A98B2D61B1A472C052, - CD368B349178503B82C58676, - FF5B76A65611C0A829E4BE7E, - 9355379CCEBC08976344C404, - 243719A86326CBE8BD3AD39D, + 6C2AF44C6F7FA0D818C87C6C, + 63789AE807E86CE0395A8775, + C30B7C2D2870FD4A3DA497C7, + CF4450844298F96166E1185A, + 25322819F09B5DF8607DB818, + D690E2714938EFEBA946C29F, + A38BE93F281698F9389A77BF, + E18C8BB9BB8C0AC4BB409ECD, + 401004DACA9FBDDC00C7097F, + 1E96A5BD8FED8A8227E9A08C, + DC190E7C17099C849868434F, 08EF8E672632825EF5FDA59B, ); name = "Juce Library Code"; sourceTree = ""; }; 0923A370BC04F76CB2B0AC50 = {isa = PBXGroup; children = ( - 2F208423959D249883594DE2, + 5192F983556BFBE5044419E4, A1C6587E1BCDCAC216C6853B, ); name = Resources; sourceTree = ""; }; 3E9AA92331ACE90F1BDE77D8 = {isa = PBXGroup; children = ( 5C8B7D09E34F63CFA71E119F, @@ -1978,7 +1957,7 @@ A44D165D613999DC222406FC, 6A66D46C1FBEDAD6A106A536, ); name = Frameworks; sourceTree = ""; }; 668227B90C7AD85717519435 = {isa = PBXGroup; children = ( - BDD25AC7DBBC9F465319BF08, ); name = Products; sourceTree = ""; }; + 8D8ED3E7474D65E7177750A8, ); name = Products; sourceTree = ""; }; 4DB04A617E8DFE6D06731154 = {isa = PBXGroup; children = ( 9E39F32C1BF5217D902DEEE5, 267EBA2B36C17379FA53260F, @@ -1986,7 +1965,7 @@ 0923A370BC04F76CB2B0AC50, 3E9AA92331ACE90F1BDE77D8, 668227B90C7AD85717519435, ); name = Source; sourceTree = ""; }; - 77321F6021C6A660240604CA = {isa = XCBuildConfiguration; buildSettings = { + 98A968A1085AE2C43974C9D9 = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; @@ -2002,12 +1981,12 @@ "JUCE_APP_VERSION_HEX=0x10000", ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.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 = { + 58FAAEBF3AE1ED695E3DC7E2 = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; @@ -2024,7 +2003,7 @@ GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.plist; INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.SimpleFFTExample; @@ -2061,28 +2040,29 @@ PRODUCT_NAME = "SimpleFFTExample"; WARNING_CFLAGS = -Wreorder; ZERO_LINK = NO; }; name = Release; }; + 606D3357BBCD3CE64C084FAB = {isa = PBXTargetDependency; target = D0E4014BABB86AAE963C0EC0; }; C877108FC7BF2DA280A51F46 = {isa = XCConfigurationList; buildConfigurations = ( F1DB30FBBCE0275545D5B9CE, BABA4BB800F65EA14B6DB5E3, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - AB2CE0CAB7CF2C9DD27E9F69 = {isa = XCConfigurationList; buildConfigurations = ( - 77321F6021C6A660240604CA, - 001561C2B2CDB3908D96AB46, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 2C0FEC320C9F1804A176FEE2 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 9757697CD762C5D12E7FC75A = {isa = XCConfigurationList; buildConfigurations = ( + 98A968A1085AE2C43974C9D9, + 58FAAEBF3AE1ED695E3DC7E2, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 48322B9DE3337E69E96F7551 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( 1498E53CC5ABCDA39AFB5741, ); runOnlyForDeploymentPostprocessing = 0; }; - 399DBC36924BDE5307314BEE = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 69128EEF3B23EA7E960EBE08 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 18889B595A6C191595DE4138, - 8D36C3A6AE15F87C9EBC81BC, - 792D74E1ED57AC5454A0A5A7, - A6FACDAD4412E876E54B2C69, - DD516E95B8ACC96C3033F676, - 4CC1B4532B807DBA3EB8AAE0, - 912D973B8FC050144B486F52, - 9BF48828CC7CADB666BC0DCE, - 36F6CD34A438AF5C96060143, - AF80317972833A7C1176812C, - 706A4509AE497E0EEC6C42D6, - 5CB0F5B6536F732A5B621589, ); runOnlyForDeploymentPostprocessing = 0; }; - 0CFED403E5A2B41BB85DF742 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 71D5452F15691CB36497164A, + 551EBA421A2408CBB320A8BB, + 482273ED3D099C95D4A50AB6, + 99B97FE65552111751B6B39E, + B51D668804A9F1019E02F063, + F0DDEE821308CB290EC94E0F, + 04AA676F2A3F43E3A0FB1D66, + 11BE516C331CF1203E3F9A1D, + D4270F13CA207F3B7393959E, + 87D3D768F1B2CFD8439AFE47, + 5BDC04B61C2D0C5F786634E5, ); runOnlyForDeploymentPostprocessing = 0; }; + B8B3353D164D52CC62A584F2 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( 9D7FD54D83695FE355FF1D32, C8531C8A2D23A2A5012B85A6, 8579C1D27AF705444FC8FFC2, @@ -2093,11 +2073,11 @@ 5F3E28A9D8ABD4CC342D1965, 25D4A7699E4D95E4562973C5, A76933CD947F74A1A340547E, ); runOnlyForDeploymentPostprocessing = 0; }; - 2D04A59B105D45EB6565CD66 = {isa = PBXNativeTarget; buildConfigurationList = AB2CE0CAB7CF2C9DD27E9F69; buildPhases = ( - 2C0FEC320C9F1804A176FEE2, - 399DBC36924BDE5307314BEE, - 0CFED403E5A2B41BB85DF742, ); buildRules = ( ); dependencies = ( ); name = SimpleFFTExample; productName = SimpleFFTExample; productReference = BDD25AC7DBBC9F465319BF08; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; - CF307CC82EF6FB552266854D = {isa = PBXProject; buildConfigurationList = C877108FC7BF2DA280A51F46; attributes = { LastUpgradeCheck = 0440; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 4DB04A617E8DFE6D06731154; projectDirPath = ""; projectRoot = ""; targets = ( 2D04A59B105D45EB6565CD66 ); }; + D0E4014BABB86AAE963C0EC0 = {isa = PBXNativeTarget; buildConfigurationList = 9757697CD762C5D12E7FC75A; buildPhases = ( + 48322B9DE3337E69E96F7551, + 69128EEF3B23EA7E960EBE08, + B8B3353D164D52CC62A584F2, ); buildRules = ( ); dependencies = ( ); name = "SimpleFFTExample (App)"; productName = SimpleFFTExample; productReference = 8D8ED3E7474D65E7177750A8; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; + CF307CC82EF6FB552266854D = {isa = PBXProject; buildConfigurationList = C877108FC7BF2DA280A51F46; attributes = { LastUpgradeCheck = 0440; TargetAttributes = { D0E4014BABB86AAE963C0EC0 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 4DB04A617E8DFE6D06731154; projectDirPath = ""; projectRoot = ""; targets = (D0E4014BABB86AAE963C0EC0); }; }; rootObject = CF307CC82EF6FB552266854D; } diff --git a/examples/SimpleFFTExample/Builds/VisualStudio2013/SimpleFFTExample.vcxproj b/examples/SimpleFFTExample/Builds/VisualStudio2013/SimpleFFTExample.vcxproj index 1b27ebbca9..a975ff5076 100644 --- a/examples/SimpleFFTExample/Builds/VisualStudio2013/SimpleFFTExample.vcxproj +++ b/examples/SimpleFFTExample/Builds/VisualStudio2013/SimpleFFTExample.vcxproj @@ -217,6 +217,9 @@ true + + true + true @@ -232,15 +235,6 @@ true - - true - - - true - - - true - true @@ -289,25 +283,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -337,9 +316,45 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + true + + true + + + true + + + true + + + true + + + true + true @@ -358,21 +373,6 @@ true - - true - - - true - - - true - - - true - - - true - true @@ -406,9 +406,6 @@ true - - true - true @@ -418,43 +415,7 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -472,33 +433,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -523,40 +457,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -565,31 +469,16 @@ true - + true - + true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -655,16 +544,115 @@ true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -673,22 +661,16 @@ true - + true - + true - + true - - true - - - true - - + true @@ -709,6 +691,18 @@ true + + true + + + true + + + true + + + true + true @@ -718,6 +712,12 @@ true + + true + + + true + true @@ -739,43 +739,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -796,10 +763,40 @@ true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -826,6 +823,51 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -838,6 +880,153 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -859,19 +1048,70 @@ true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -940,246 +1180,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -1246,17 +1246,17 @@ true - - - - - - - - - - - + + + + + + + + + + + @@ -1296,6 +1296,8 @@ + + @@ -1303,20 +1305,10 @@ + - - - - - - - - - - - @@ -1326,8 +1318,25 @@ + + + + + + + + + + + + + + + + + @@ -1338,15 +1347,6 @@ - - - - - - - - - @@ -1367,21 +1367,35 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1402,22 +1416,49 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1437,62 +1478,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - + + + + - - - - + + + + + + + + @@ -1502,19 +1510,11 @@ - - - - - - - - - - + + @@ -1525,10 +1525,15 @@ - - - - + + + + + + + + + @@ -1539,26 +1544,91 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1572,14 +1642,21 @@ - - - - - - - - + + + + + + + + + + + + + + + @@ -1604,83 +1681,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1709,19 +1709,6 @@ - - - - - - - - - - - - - diff --git a/examples/SimpleFFTExample/Builds/VisualStudio2013/SimpleFFTExample.vcxproj.filters b/examples/SimpleFFTExample/Builds/VisualStudio2013/SimpleFFTExample.vcxproj.filters index 727d1567f3..bec37d30d4 100644 --- a/examples/SimpleFFTExample/Builds/VisualStudio2013/SimpleFFTExample.vcxproj.filters +++ b/examples/SimpleFFTExample/Builds/VisualStudio2013/SimpleFFTExample.vcxproj.filters @@ -35,45 +35,45 @@ {CACD7B50-4DB3-76AF-A6E8-90DF94F8F594} + + {45C2CE26-EC4B-BA52-58F3-297C408E1483} + {9D270B31-2425-8FDB-84A4-6A2288FF5B2F} {0F766DD4-A277-CB86-5647-42498C8B41E1} - - {D64942B4-6984-3623-3347-45D472AE1C61} - - - {45C2CE26-EC4B-BA52-58F3-297C408E1483} - {01603E05-423B-5FC3-1BEE-E15ED33B5688} + + {D64942B4-6984-3623-3347-45D472AE1C61} + {65CB28F8-0422-A8F3-9A17-959E12A1F8E2} - - {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} - {0CD9E281-DDD0-91EC-6F77-EA9D9D5E0E1A} + + {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} + {40C5CA7C-AEBB-05B1-11CE-AE41D87B5CCB} {0B0E7392-324B-088C-FBEB-5FE999D61782} - - {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} - {20254EFE-6CBD-31A7-2119-92B1E0E0E311} {70796D73-6D30-8A1B-4732-7C021E47C05A} + + {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} + {EB8DD942-E2CB-869F-D381-E02A65BA790B} @@ -86,17 +86,26 @@ {8167E753-09C7-5D1C-EF2B-32D297557443} - - {AEDCB7F7-7A36-5392-8E9A-715F5BDE35CB} - {B48C883A-8483-AF6D-808C-1D9A749048D8} + + {AEDCB7F7-7A36-5392-8E9A-715F5BDE35CB} + {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} - - {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + + {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + + {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + + {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} {476C69CE-0B67-6B85-E888-45D91E37A29E} @@ -104,17 +113,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} - - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -122,60 +125,57 @@ {91929C6F-7902-B87D-5260-2F6CBF8ACD93} - - {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} - {4634FFAE-9586-A970-364C-4FDDA635F99F} - - {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} - - {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - {F03654BC-34D8-F975-BEA3-750CC2783D23} + + {C9F6D785-BF78-5AA1-B479-111C65397864} {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} - - {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} - - {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + {F03654BC-34D8-F975-BEA3-750CC2783D23} {928D8FCC-5E00-174B-6538-93E8D75AB396} - - {1988E68A-A964-64CA-0E0C-26FF9BC5176C} + + {358AEA11-3F96-36AE-7B32-71373B5C5396} {3DF036EA-3B80-553B-2494-3AAC835CAE75} - - {358AEA11-3F96-36AE-7B32-71373B5C5396} + + {1988E68A-A964-64CA-0E0C-26FF9BC5176C} {F2A38F45-6E55-E147-2E52-64A89FDD9D59} - - {6172822C-01A5-E824-12DA-FA43FA934D35} - - - {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} - {B098BC87-3298-7E6B-12DC-D26C09CDCAED} {6322B88F-984A-C3CD-6263-38D7AA49B6EC} + + {6172822C-01A5-E824-12DA-FA43FA934D35} + {73C1E759-AD90-59A3-942E-2D10FAA29107} + + {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} + {EE1AE8C3-0908-8F53-A4E5-D930C7C97C26} @@ -185,81 +185,81 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} - - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - - {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {E37D25CD-4350-4614-055B-7ABC55E67895} {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {C1A1A236-AB01-173E-96C3-0706BFF93B1E} + + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + + {413F481F-075C-2958-115C-D8268682FCB7} {FFC6E1CC-C772-75E6-5087-FB5D4E016799} + + {1182303F-ECA3-166D-AC0C-92C5E762CB93} + {8E43579F-C185-266D-DD67-F8B95BD80F2F} + + {61712B09-5783-ADFA-2001-5A0C3D7764EB} + + + {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + + {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} + {2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D} - - {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + {5A0AA36E-3957-E413-14C6-31CBE15271DF} + + + {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} {A92719C7-70BE-57C4-CE9E-A9BC9DFEB757} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} + + + {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} + + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} + + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + + {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} + + + {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} + {75F1F352-251A-75E0-D941-8431588F5C1E} {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} - - {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} - - - {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} - - - {5A0AA36E-3957-E413-14C6-31CBE15271DF} - - - {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} - - - {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} - - - {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} - - - {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} - - - {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - - {61712B09-5783-ADFA-2001-5A0C3D7764EB} - - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} - {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -373,6 +373,9 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -388,15 +391,6 @@ Juce Modules\juce_audio_devices\midi_io - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\audio_cd - Juce Modules\juce_audio_devices\native @@ -451,26 +445,11 @@ Juce Modules\juce_audio_devices\native - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_formats\codecs @@ -499,27 +478,30 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - Juce Modules\juce_audio_processors\format @@ -538,6 +520,24 @@ Juce Modules\juce_audio_processors\format_types + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + Juce Modules\juce_audio_processors\scanning @@ -571,9 +571,6 @@ Juce Modules\juce_audio_utils\gui - - Juce Modules\juce_audio_utils\players - Juce Modules\juce_audio_utils\native @@ -589,44 +586,8 @@ Juce Modules\juce_audio_utils\native - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\memory + + Juce Modules\juce_audio_utils\players Juce Modules\juce_core\containers @@ -643,33 +604,6 @@ Juce Modules\juce_core\containers - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - Juce Modules\juce_core\files @@ -694,41 +628,11 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -736,32 +640,17 @@ Juce Modules\juce_core\logging - - Juce Modules\juce_core\system + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc @@ -841,6 +730,126 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -850,33 +859,6 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - Juce Modules\juce_events\broadcasters @@ -895,6 +877,18 @@ Juce Modules\juce_events\interprocess + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + Juce Modules\juce_events\native @@ -910,6 +904,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_graphics\colour @@ -931,44 +931,11 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\effects Juce Modules\juce_graphics\fonts @@ -988,11 +955,41 @@ Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -1024,6 +1021,51 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -1036,6 +1078,153 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -1057,20 +1246,92 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -1138,267 +1399,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_extra\code_editor @@ -1477,37 +1477,37 @@ Juce Modules\juce_gui_extra\native - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code @@ -1623,6 +1623,12 @@ Juce Modules\juce_audio_basics + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -1644,48 +1650,18 @@ Juce Modules\juce_audio_devices\midi_io + + Juce Modules\juce_audio_devices\native + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\native - Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - Juce Modules\juce_audio_formats\codecs @@ -1713,12 +1689,63 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + Juce Modules\juce_audio_processors\processors @@ -1749,33 +1776,6 @@ Juce Modules\juce_audio_processors\processors - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - Juce Modules\juce_audio_processors\scanning @@ -1836,50 +1836,92 @@ Juce Modules\juce_audio_utils - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -1941,53 +1983,134 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text Juce Modules\juce_core\threads @@ -2046,92 +2169,8 @@ Juce Modules\juce_core\time - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -2139,12 +2178,6 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - Juce Modules\juce_core\zip @@ -2154,42 +2187,21 @@ Juce Modules\juce_core\zip - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - Juce Modules\juce_core + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -2199,21 +2211,33 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - Juce Modules\juce_data_structures + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + Juce Modules\juce_events\messages @@ -2241,36 +2265,6 @@ Juce Modules\juce_events\messages - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - Juce Modules\juce_events\native @@ -2280,6 +2274,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_events @@ -2310,17 +2310,32 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -2352,38 +2367,17 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -2394,9 +2388,60 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + Juce Modules\juce_graphics + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -2412,6 +2457,171 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -2451,29 +2661,50 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -2547,237 +2778,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_basics @@ -2860,41 +2860,6 @@ Juce Library Code - - - Juce Modules\juce_audio_basics - - - Juce Modules\juce_audio_devices - - - Juce Modules\juce_audio_formats - - - Juce Modules\juce_audio_processors - - - Juce Modules\juce_audio_utils - - - Juce Modules\juce_core - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_gui_extra - - Juce Library Code diff --git a/examples/SimpleFFTExample/JuceLibraryCode/AppConfig.h b/examples/SimpleFFTExample/JuceLibraryCode/AppConfig.h index 44ecade43a..8becdc5823 100644 --- a/examples/SimpleFFTExample/JuceLibraryCode/AppConfig.h +++ b/examples/SimpleFFTExample/JuceLibraryCode/AppConfig.h @@ -4,8 +4,8 @@ project - if you alter its contents, your changes may be overwritten! There's a section below where you can add your own custom code safely, and the - Introjucer will preserve the contents of that block, but the best way to change - any of these definitions is by using the Introjucer's project settings. + Projucer will preserve the contents of that block, but the best way to change + any of these definitions is by using the Projucer's project settings. Any commented-out settings will assume their default values. @@ -17,7 +17,7 @@ //============================================================================== // [BEGIN_USER_CODE_SECTION] -// (You can add your own code in this section, and the Introjucer will not overwrite it) +// (You can add your own code in this section, and the Projucer will not overwrite it) // [END_USER_CODE_SECTION] @@ -36,9 +36,15 @@ //============================================================================== #ifndef JUCE_STANDALONE_APPLICATION - #define JUCE_STANDALONE_APPLICATION 1 + #ifdef JucePlugin_Build_Standalone + #define JUCE_STANDALONE_APPLICATION JucePlugin_Build_Standalone + #else + #define JUCE_STANDALONE_APPLICATION 1 + #endif #endif +#define JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED 1 + //============================================================================== // juce_audio_devices flags: diff --git a/examples/SimpleFFTExample/JuceLibraryCode/JuceHeader.h b/examples/SimpleFFTExample/JuceLibraryCode/JuceHeader.h index 254ce6fdcd..5f3d584e71 100644 --- a/examples/SimpleFFTExample/JuceLibraryCode/JuceHeader.h +++ b/examples/SimpleFFTExample/JuceLibraryCode/JuceHeader.h @@ -14,17 +14,19 @@ #define __APPHEADERFILE_CGCXPD__ #include "AppConfig.h" -#include "modules/juce_audio_basics/juce_audio_basics.h" -#include "modules/juce_audio_devices/juce_audio_devices.h" -#include "modules/juce_audio_formats/juce_audio_formats.h" -#include "modules/juce_audio_processors/juce_audio_processors.h" -#include "modules/juce_audio_utils/juce_audio_utils.h" -#include "modules/juce_core/juce_core.h" -#include "modules/juce_data_structures/juce_data_structures.h" -#include "modules/juce_events/juce_events.h" -#include "modules/juce_graphics/juce_graphics.h" -#include "modules/juce_gui_basics/juce_gui_basics.h" -#include "modules/juce_gui_extra/juce_gui_extra.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + #if ! DONT_SET_USING_JUCE_NAMESPACE // If your code uses a lot of JUCE classes, then this will obviously save you diff --git a/examples/SimpleFFTExample/JuceLibraryCode/ReadMe.txt b/examples/SimpleFFTExample/JuceLibraryCode/ReadMe.txt index f6c3564e99..091a5aa6eb 100644 --- a/examples/SimpleFFTExample/JuceLibraryCode/ReadMe.txt +++ b/examples/SimpleFFTExample/JuceLibraryCode/ReadMe.txt @@ -2,11 +2,11 @@ Important Note!! ================ -The purpose of this folder is to contain files that are auto-generated by the Introjucer, +The purpose of this folder is to contain files that are auto-generated by the Projucer, and ALL files in this folder will be mercilessly DELETED and completely re-written whenever -the Introjucer saves your project. +the Projucer saves your project. Therefore, it's a bad idea to make any manual changes to the files in here, or to put any of your own files in here if you don't want to lose them. (Of course you may choose to add the folder's contents to your version-control system so that you can re-merge your own -modifications after the Introjucer has saved its changes). +modifications after the Projucer has saved its changes). diff --git a/examples/SimpleFFTExample/JuceLibraryCode/juce_audio_basics.cpp b/examples/SimpleFFTExample/JuceLibraryCode/juce_audio_basics.cpp new file mode 100644 index 0000000000..418694873c --- /dev/null +++ b/examples/SimpleFFTExample/JuceLibraryCode/juce_audio_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/SimpleFFTExample/JuceLibraryCode/juce_audio_basics.mm b/examples/SimpleFFTExample/JuceLibraryCode/juce_audio_basics.mm new file mode 100644 index 0000000000..e0e6c577cc --- /dev/null +++ b/examples/SimpleFFTExample/JuceLibraryCode/juce_audio_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/SimpleFFTExample/JuceLibraryCode/juce_audio_devices.cpp b/examples/SimpleFFTExample/JuceLibraryCode/juce_audio_devices.cpp new file mode 100644 index 0000000000..fb5c2219d7 --- /dev/null +++ b/examples/SimpleFFTExample/JuceLibraryCode/juce_audio_devices.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/SimpleFFTExample/JuceLibraryCode/juce_audio_devices.mm b/examples/SimpleFFTExample/JuceLibraryCode/juce_audio_devices.mm new file mode 100644 index 0000000000..e58b67ea49 --- /dev/null +++ b/examples/SimpleFFTExample/JuceLibraryCode/juce_audio_devices.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/SimpleFFTExample/JuceLibraryCode/juce_audio_formats.cpp b/examples/SimpleFFTExample/JuceLibraryCode/juce_audio_formats.cpp new file mode 100644 index 0000000000..a3c61170eb --- /dev/null +++ b/examples/SimpleFFTExample/JuceLibraryCode/juce_audio_formats.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/SimpleFFTExample/JuceLibraryCode/juce_audio_formats.mm b/examples/SimpleFFTExample/JuceLibraryCode/juce_audio_formats.mm new file mode 100644 index 0000000000..f325b8fb67 --- /dev/null +++ b/examples/SimpleFFTExample/JuceLibraryCode/juce_audio_formats.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/SimpleFFTExample/JuceLibraryCode/juce_audio_processors.cpp b/examples/SimpleFFTExample/JuceLibraryCode/juce_audio_processors.cpp new file mode 100644 index 0000000000..bfe172edd0 --- /dev/null +++ b/examples/SimpleFFTExample/JuceLibraryCode/juce_audio_processors.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/SimpleFFTExample/JuceLibraryCode/juce_audio_processors.mm b/examples/SimpleFFTExample/JuceLibraryCode/juce_audio_processors.mm new file mode 100644 index 0000000000..b80ae9017f --- /dev/null +++ b/examples/SimpleFFTExample/JuceLibraryCode/juce_audio_processors.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/SimpleFFTExample/JuceLibraryCode/juce_audio_utils.cpp b/examples/SimpleFFTExample/JuceLibraryCode/juce_audio_utils.cpp new file mode 100644 index 0000000000..97bd2c568c --- /dev/null +++ b/examples/SimpleFFTExample/JuceLibraryCode/juce_audio_utils.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/SimpleFFTExample/JuceLibraryCode/juce_audio_utils.mm b/examples/SimpleFFTExample/JuceLibraryCode/juce_audio_utils.mm new file mode 100644 index 0000000000..8eae7c6e2f --- /dev/null +++ b/examples/SimpleFFTExample/JuceLibraryCode/juce_audio_utils.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/SimpleFFTExample/JuceLibraryCode/juce_core.cpp b/examples/SimpleFFTExample/JuceLibraryCode/juce_core.cpp new file mode 100644 index 0000000000..d0ce1636f0 --- /dev/null +++ b/examples/SimpleFFTExample/JuceLibraryCode/juce_core.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/SimpleFFTExample/JuceLibraryCode/juce_core.mm b/examples/SimpleFFTExample/JuceLibraryCode/juce_core.mm new file mode 100644 index 0000000000..72b10bf817 --- /dev/null +++ b/examples/SimpleFFTExample/JuceLibraryCode/juce_core.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/SimpleFFTExample/JuceLibraryCode/juce_data_structures.cpp b/examples/SimpleFFTExample/JuceLibraryCode/juce_data_structures.cpp new file mode 100644 index 0000000000..9315aa1686 --- /dev/null +++ b/examples/SimpleFFTExample/JuceLibraryCode/juce_data_structures.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/SimpleFFTExample/JuceLibraryCode/juce_data_structures.mm b/examples/SimpleFFTExample/JuceLibraryCode/juce_data_structures.mm new file mode 100644 index 0000000000..695ec43925 --- /dev/null +++ b/examples/SimpleFFTExample/JuceLibraryCode/juce_data_structures.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/SimpleFFTExample/JuceLibraryCode/juce_events.cpp b/examples/SimpleFFTExample/JuceLibraryCode/juce_events.cpp new file mode 100644 index 0000000000..1bba110a97 --- /dev/null +++ b/examples/SimpleFFTExample/JuceLibraryCode/juce_events.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/SimpleFFTExample/JuceLibraryCode/juce_events.mm b/examples/SimpleFFTExample/JuceLibraryCode/juce_events.mm new file mode 100644 index 0000000000..4cc34fc401 --- /dev/null +++ b/examples/SimpleFFTExample/JuceLibraryCode/juce_events.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/SimpleFFTExample/JuceLibraryCode/juce_graphics.cpp b/examples/SimpleFFTExample/JuceLibraryCode/juce_graphics.cpp new file mode 100644 index 0000000000..319c76de0e --- /dev/null +++ b/examples/SimpleFFTExample/JuceLibraryCode/juce_graphics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/SimpleFFTExample/JuceLibraryCode/juce_graphics.mm b/examples/SimpleFFTExample/JuceLibraryCode/juce_graphics.mm new file mode 100644 index 0000000000..b28e6dd056 --- /dev/null +++ b/examples/SimpleFFTExample/JuceLibraryCode/juce_graphics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/SimpleFFTExample/JuceLibraryCode/juce_gui_basics.cpp b/examples/SimpleFFTExample/JuceLibraryCode/juce_gui_basics.cpp new file mode 100644 index 0000000000..216c76bb05 --- /dev/null +++ b/examples/SimpleFFTExample/JuceLibraryCode/juce_gui_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/SimpleFFTExample/JuceLibraryCode/juce_gui_basics.mm b/examples/SimpleFFTExample/JuceLibraryCode/juce_gui_basics.mm new file mode 100644 index 0000000000..6a9726fa5f --- /dev/null +++ b/examples/SimpleFFTExample/JuceLibraryCode/juce_gui_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/SimpleFFTExample/JuceLibraryCode/juce_gui_extra.cpp b/examples/SimpleFFTExample/JuceLibraryCode/juce_gui_extra.cpp new file mode 100644 index 0000000000..7226e19833 --- /dev/null +++ b/examples/SimpleFFTExample/JuceLibraryCode/juce_gui_extra.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/SimpleFFTExample/JuceLibraryCode/juce_gui_extra.mm b/examples/SimpleFFTExample/JuceLibraryCode/juce_gui_extra.mm new file mode 100644 index 0000000000..c9b6c3bfc6 --- /dev/null +++ b/examples/SimpleFFTExample/JuceLibraryCode/juce_gui_extra.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/SimpleFFTExample/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h b/examples/SimpleFFTExample/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h deleted file mode 100644 index 9befea8142..0000000000 --- a/examples/SimpleFFTExample/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_basics/juce_audio_basics.h" diff --git a/examples/SimpleFFTExample/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h b/examples/SimpleFFTExample/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h deleted file mode 100644 index eba6d3a9e5..0000000000 --- a/examples/SimpleFFTExample/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_devices/juce_audio_devices.h" diff --git a/examples/SimpleFFTExample/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h b/examples/SimpleFFTExample/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h deleted file mode 100644 index 4629b0ef2c..0000000000 --- a/examples/SimpleFFTExample/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_formats/juce_audio_formats.h" diff --git a/examples/SimpleFFTExample/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h b/examples/SimpleFFTExample/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h deleted file mode 100644 index 7d4583dbf8..0000000000 --- a/examples/SimpleFFTExample/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_processors/juce_audio_processors.h" diff --git a/examples/SimpleFFTExample/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h b/examples/SimpleFFTExample/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h deleted file mode 100644 index bb997d30d3..0000000000 --- a/examples/SimpleFFTExample/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_utils/juce_audio_utils.h" diff --git a/examples/SimpleFFTExample/JuceLibraryCode/modules/juce_core/juce_core.h b/examples/SimpleFFTExample/JuceLibraryCode/modules/juce_core/juce_core.h deleted file mode 100644 index 06e88f9352..0000000000 --- a/examples/SimpleFFTExample/JuceLibraryCode/modules/juce_core/juce_core.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_core/juce_core.h" diff --git a/examples/SimpleFFTExample/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h b/examples/SimpleFFTExample/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h deleted file mode 100644 index 9d814fd953..0000000000 --- a/examples/SimpleFFTExample/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_data_structures/juce_data_structures.h" diff --git a/examples/SimpleFFTExample/JuceLibraryCode/modules/juce_events/juce_events.h b/examples/SimpleFFTExample/JuceLibraryCode/modules/juce_events/juce_events.h deleted file mode 100644 index 509b1df8d2..0000000000 --- a/examples/SimpleFFTExample/JuceLibraryCode/modules/juce_events/juce_events.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_events/juce_events.h" diff --git a/examples/SimpleFFTExample/JuceLibraryCode/modules/juce_graphics/juce_graphics.h b/examples/SimpleFFTExample/JuceLibraryCode/modules/juce_graphics/juce_graphics.h deleted file mode 100644 index 28edbf35e3..0000000000 --- a/examples/SimpleFFTExample/JuceLibraryCode/modules/juce_graphics/juce_graphics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_graphics/juce_graphics.h" diff --git a/examples/SimpleFFTExample/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h b/examples/SimpleFFTExample/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h deleted file mode 100644 index 81ad4b7297..0000000000 --- a/examples/SimpleFFTExample/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_gui_basics/juce_gui_basics.h" diff --git a/examples/SimpleFFTExample/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h b/examples/SimpleFFTExample/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h deleted file mode 100644 index 5c9b7a96b5..0000000000 --- a/examples/SimpleFFTExample/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_gui_extra/juce_gui_extra.h" diff --git a/examples/SimpleFFTExample/SimpleFFTExample.jucer b/examples/SimpleFFTExample/SimpleFFTExample.jucer index 0a499ea157..ba449f3939 100644 --- a/examples/SimpleFFTExample/SimpleFFTExample.jucer +++ b/examples/SimpleFFTExample/SimpleFFTExample.jucer @@ -2,7 +2,7 @@ + jucerVersion="4.2.0"> $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName JuceDemoPlugin + CFBundleDisplayName + JuceDemoPlugin CFBundlePackageType - TDMw + BNDL CFBundleSignature - PTul + ???? CFBundleShortVersionString 1.0.0 CFBundleVersion diff --git a/examples/audio plugin demo/Builds/MacOSX/Info-Shared_Code.plist b/examples/audio plugin demo/Builds/MacOSX/Info-Shared_Code.plist new file mode 100644 index 0000000000..33dd9bcb88 --- /dev/null +++ b/examples/audio plugin demo/Builds/MacOSX/Info-Shared_Code.plist @@ -0,0 +1,29 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + JuceDemoPlugin + CFBundleDisplayName + JuceDemoPlugin + CFBundlePackageType + FMWK + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + ROLI Ltd. + NSHighResolutionCapable + + + diff --git a/examples/audio plugin demo/Builds/MacOSX/Info-VST.plist b/examples/audio plugin demo/Builds/MacOSX/Info-VST.plist new file mode 100644 index 0000000000..75f47c6eed --- /dev/null +++ b/examples/audio plugin demo/Builds/MacOSX/Info-VST.plist @@ -0,0 +1,29 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + JuceDemoPlugin + CFBundleDisplayName + JuceDemoPlugin + CFBundlePackageType + BNDL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + ROLI Ltd. + NSHighResolutionCapable + + + diff --git a/examples/audio plugin demo/Builds/MacOSX/Info-VST3.plist b/examples/audio plugin demo/Builds/MacOSX/Info-VST3.plist new file mode 100644 index 0000000000..75f47c6eed --- /dev/null +++ b/examples/audio plugin demo/Builds/MacOSX/Info-VST3.plist @@ -0,0 +1,29 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + JuceDemoPlugin + CFBundleDisplayName + JuceDemoPlugin + CFBundlePackageType + BNDL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + ROLI Ltd. + NSHighResolutionCapable + + + diff --git a/examples/audio plugin demo/Builds/MacOSX/JuceDemoPlugin.entitlements b/examples/audio plugin demo/Builds/MacOSX/JuceDemoPlugin.entitlements new file mode 100644 index 0000000000..22194a6d2d --- /dev/null +++ b/examples/audio plugin demo/Builds/MacOSX/JuceDemoPlugin.entitlements @@ -0,0 +1 @@ + com.apple.security.app-sandbox \ No newline at end of file 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 267dde585c..81199d5161 100644 --- a/examples/audio plugin demo/Builds/MacOSX/JuceDemoPlugin.xcodeproj/project.pbxproj +++ b/examples/audio plugin demo/Builds/MacOSX/JuceDemoPlugin.xcodeproj/project.pbxproj @@ -6,6 +6,10 @@ objectVersion = 46; objects = { + EE5DE17900B494ABE53AA225 = {isa = PBXBuildFile; fileRef = 64417DE78D1B1D10EC6E4146; }; + 4F5F95EA3D80983EA28FF916 = {isa = PBXBuildFile; fileRef = 464486542EDBD5301EEEE8C1; }; + 6CD4B5616223DCEDA6CA099F = {isa = PBXBuildFile; fileRef = 1AF4856520E8BFF4A039CD6B; }; + B3ACB0D104E58735302297BB = {isa = PBXBuildFile; fileRef = 4D6248E85C22578615FA809C; }; 221B97F3CD062F71EBEBA165 = {isa = PBXBuildFile; fileRef = 537D65EF3BBBDFC4651D389D; }; A068599CF7E166847EE45D5F = {isa = PBXBuildFile; fileRef = A206765795252391D3F60EA4; }; 61792EFEB47D87819D7676C2 = {isa = PBXBuildFile; fileRef = 2E58109147CCFC780F10C23D; }; @@ -19,51 +23,26 @@ 221F46E90C0A8651AB76A0E5 = {isa = PBXBuildFile; fileRef = 58E978708BAA8613A40F61E3; }; B46C12D99498E9FA8F1D083A = {isa = PBXBuildFile; fileRef = A59A08DCC76EE0FC7EBE1203; }; B003460B11C0B7C1CC07E666 = {isa = PBXBuildFile; fileRef = 0926E36205F4D676343AB6E7; }; + 984317B46E5445CE1D8E4096 = {isa = PBXBuildFile; fileRef = F5E9ED24FCF950C2B09ED67C; }; E32999B782F688D3746FEB08 = {isa = PBXBuildFile; fileRef = 9EC0C4C02099C656EEF39DA9; }; 8265E59547F2C5DDD10F58BF = {isa = PBXBuildFile; fileRef = 682D51082D9FE9859F364A10; }; - 05D1398458CDB00C236D7553 = {isa = PBXBuildFile; fileRef = 3AA0960DF09414DBA0A2255B; settings = {COMPILER_FLAGS = "-w"; }; }; - EDC1CED5C7F88E1142F4A46A = {isa = PBXBuildFile; fileRef = AABC1F4E7D9DA3C6B6DC0F05; settings = {COMPILER_FLAGS = "-w"; }; }; - B02F742C6DE19F5415457993 = {isa = PBXBuildFile; fileRef = 95FF785BAEC4F2799A75D2FF; settings = {COMPILER_FLAGS = "-w"; }; }; - B89DA74BC8384D744F20B8CB = {isa = PBXBuildFile; fileRef = E0657C5A5A08F4B5BE55034A; settings = {COMPILER_FLAGS = "-w"; }; }; - BF903CF8AFDA8D74E3A9D023 = {isa = PBXBuildFile; fileRef = 5DAA9288D1FC19812E6ABA3D; settings = {COMPILER_FLAGS = "-w"; }; }; - 9EDD2E63820FA844B4237F1F = {isa = PBXBuildFile; fileRef = 2051F23DC1B2A76D3B110616; settings = {COMPILER_FLAGS = "-w"; }; }; - 15885D9F3F3CB8EFDC29A40F = {isa = PBXBuildFile; fileRef = 31E15E7A0FBD027D83A28DFF; settings = {COMPILER_FLAGS = "-w"; }; }; - C9C1F85E79851CE3F2EA0560 = {isa = PBXBuildFile; fileRef = E42198F571F1BB1C5203F3D2; settings = {COMPILER_FLAGS = "-w"; }; }; - EDE82B3320CC03F38226AA50 = {isa = PBXBuildFile; fileRef = B6394C38B7A283DE86213FAE; settings = {COMPILER_FLAGS = "-w"; }; }; - C3C922FB2D069BB6DE3ECAA1 = {isa = PBXBuildFile; fileRef = AFE00126A5FEF419332CD2B9; settings = {COMPILER_FLAGS = "-w"; }; }; - 48D94EBEB2D48D0DCC1394C9 = {isa = PBXBuildFile; fileRef = EB38777DCA28E40FF364EAE1; settings = {COMPILER_FLAGS = "-w"; }; }; - D2B29F3448FA79AB8C47B3D8 = {isa = PBXBuildFile; fileRef = 0D4E3861B5EE21765BDEE2A3; settings = {COMPILER_FLAGS = "-w"; }; }; - D5E7114B2C484F13A51DCBC3 = {isa = PBXBuildFile; fileRef = 28FD98C78FE1E918553D4C3D; settings = {COMPILER_FLAGS = "-w"; }; }; - 9B39F1EE70A26791804DA55E = {isa = PBXBuildFile; fileRef = 87DBD7450AE0FDD762712620; settings = {COMPILER_FLAGS = "-w"; }; }; - 0A7276E46524FC5FD796F27D = {isa = PBXBuildFile; fileRef = 3AA5D4AF03A0689BF8385319; settings = {COMPILER_FLAGS = "-w"; }; }; - 9EA2528254AA35DBDDFEA601 = {isa = PBXBuildFile; fileRef = AC4612F7E064ECEC2E95B129; settings = {COMPILER_FLAGS = "-w"; }; }; - 68B259347BBF52B12FD6900D = {isa = PBXBuildFile; fileRef = E521DD6592FA0F7828161360; settings = {COMPILER_FLAGS = "-w"; }; }; - 91CCE2D40B3D71F3126A1043 = {isa = PBXBuildFile; fileRef = A8BA67A9567A51069D275EBB; settings = {COMPILER_FLAGS = "-w"; }; }; - 74CF5671532851FFA52E9D0C = {isa = PBXBuildFile; fileRef = 1BAAB47A9C5B1D76D28FA282; }; - E20B98D0BD4CB959779121EF = {isa = PBXBuildFile; fileRef = DCF6DECFAD7F4D907C0458A5; }; - BF6B9A47774C03C34559CAFE = {isa = PBXBuildFile; fileRef = 8F59D489139F78A729CED9E5; }; - C838DDB6686561401CFD352E = {isa = PBXBuildFile; fileRef = EE149F9075819C0132879D4C; }; - 1E7449C0D931784366EF8EDE = {isa = PBXBuildFile; fileRef = 7C7362C71D396DA95BBE38B8; }; - E0DCCF03F0911211D8A9F1F8 = {isa = PBXBuildFile; fileRef = 9B3F11DD2E09FC8F63555D30; }; - 2C11CB507D8D05272B89A34F = {isa = PBXBuildFile; fileRef = 0687D10EFBEEEC129BC807D3; }; - DD76012A2C909B66257DF768 = {isa = PBXBuildFile; fileRef = 100EFA05982C05972AC7861B; }; - 5293B7AF0C7F38D313335361 = {isa = PBXBuildFile; fileRef = 5C5E3AF3EB9BE171FD53666A; }; - 0FB2C03B5F41EE1D65A1FC89 = {isa = PBXBuildFile; fileRef = B829B4BAE71C6F09169542B8; }; - 87994E06ADFE3AAF08503DB5 = {isa = PBXBuildFile; fileRef = 054C3DE3B2831A3F69BBC8AD; }; - EA073FBAAC7AC3040B1422D1 = {isa = PBXBuildFile; fileRef = DA325C1329DD36C198920558; }; - FA531AB0CE4F5AA5C7073CE8 = {isa = PBXBuildFile; fileRef = 87755AF25BF68EE19666A135; }; - 3288574B40AF43AA1AA5FAD0 = {isa = PBXBuildFile; fileRef = 443C241B66AD431E05D3A2AD; }; - C2E42AA4FA74BE14DDE5573B = {isa = PBXBuildFile; fileRef = B2067C8614967BECF8B198D1; }; - 4AA70EFD3AFDBF659834318F = {isa = PBXBuildFile; fileRef = 8C0D1A1E000E47D09B771963; }; - E01E4438B2F0F3C3CE4F5240 = {isa = PBXBuildFile; fileRef = 9C9DEB7FB75C42C4F47AF999; settings = {COMPILER_FLAGS = "-w"; }; }; - 7732BED2285AE6572CC2BF11 = {isa = PBXBuildFile; fileRef = F7454AD16EE05969CCF5FD7C; settings = {COMPILER_FLAGS = "-w"; }; }; - C99CF7958D391CB2F97CC5F8 = {isa = PBXBuildFile; fileRef = 2D4B766DA1C66FA2857D80F7; settings = {COMPILER_FLAGS = "-w"; }; }; - 60CA6D3CBBC03A25C7B86C35 = {isa = PBXBuildFile; fileRef = 3755479207D218969425F91F; }; - 0AA1C3259E16BA80C124622D = {isa = PBXBuildFile; fileRef = 1D4AFBEC703C6F373B292D9A; settings = {COMPILER_FLAGS = "-w"; }; }; - 6AAB8C946DA0E3E1B96EEF7E = {isa = PBXBuildFile; fileRef = 1E496F7BF3B3C59E5ECACCDE; }; - BCFB9D694F4DD8A76C6B9878 = {isa = PBXBuildFile; fileRef = 8EB324480D60B3E3A81541E5; }; - 080999E86692B638CD108D70 = {isa = PBXBuildFile; fileRef = 6CEFF94C7852DB3BFA5E29EB; }; - A4996F8A30110B5EDB801516 = {isa = PBXBuildFile; fileRef = 1CF9C794D7A955EA89D8B5CB; settings = {COMPILER_FLAGS = "-w"; }; }; + A135B77ECC75825288B59AD1 = {isa = PBXBuildFile; fileRef = F68C44DED59A1830DEC06DDB; }; + CBEE8BA08EA81BC9612EB237 = {isa = PBXBuildFile; fileRef = 0E062265A0862663225F3BE4; }; + 57CCDB4997DD3ADCE483C6D9 = {isa = PBXBuildFile; fileRef = F87AC3FCCA31FB0B419456B2; }; + 7F77BD3679C81BEB8057BE4F = {isa = PBXBuildFile; fileRef = 082EED9B0127415E4A78CAAF; }; + A001C0EF302F42D8784EF150 = {isa = PBXBuildFile; fileRef = 9F7BDCF8A08EE1EF06252342; }; + DB487CE9B3A328B55746C3DF = {isa = PBXBuildFile; fileRef = D08C27F8345396F820964619; }; + F28CB4A3EF7107E836B8A229 = {isa = PBXBuildFile; fileRef = 6A3C0733887F9F9DF5AC6109; }; + 2A10495092621B672B55C020 = {isa = PBXBuildFile; fileRef = 47FBF723E148B63CF86281D4; }; + 4B8B36CA49A9DEFEF84C4554 = {isa = PBXBuildFile; fileRef = 237A06C79035CA7B2568FEA3; }; + 4219EABF6E3F7CC96893599A = {isa = PBXBuildFile; fileRef = 8635014BA097A2E54C2C2384; }; + 65DE548B2F9200613114E5D6 = {isa = PBXBuildFile; fileRef = 5E974DD6DD17E4C03295B1EA; }; + AC4649F24DEB64237B6EC77F = {isa = PBXBuildFile; fileRef = C9D905FA9696DA2A6A347EF1; }; + B7E4EFDAE8E894D1F8D2C501 = {isa = PBXBuildFile; fileRef = 581F2233A2A749DE9410A562; }; + EE647BD9D420B3000BA55CA0 = {isa = PBXBuildFile; fileRef = 19C97715E5944E41CEFA3F14; }; + E3160BC3BA6B0F9585CD0BF3 = {isa = PBXBuildFile; fileRef = FFBD7990C953B06E95CA494D; }; + 354E8A9B7FD3A7AA6598A990 = {isa = PBXBuildFile; fileRef = E4D287DE19F3B62153A4CAF9; }; + 963703A2971006C8BB3D190E = {isa = PBXBuildFile; fileRef = 60C4A1A1B5405793C18D5A16; }; 002643D66417E4FFF5CC516A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; }; 0045658D26F88B490908C99B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; 00A45583A3FEF005232FE1BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -82,13 +61,10 @@ 047015CE891900C7636A08D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; }; 04F7098D328A593B1EC368F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; 04FBE8A67D1A67342BC49632 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; - 0547751961BC7A378D0AD4A1 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_events/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; - 054C3DE3B2831A3F69BBC8AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; 054E5979D5991DBAAB798EB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; }; 059E68E0529FA25A30BB0152 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; }; 06203A4DF1A0E20BCF45CB7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; }; 064242FFCFB6FA653F5E3D3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; - 0687D10EFBEEEC129BC807D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; 06B26F468C66D5ABAEC8E133 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; }; 06D4B705A9BF345BA02BA9BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 06F651E38334660DCFCD6D2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -105,6 +81,7 @@ 07C4AC0C62F94DDFA1FA0E31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; }; 07FBBCECF4C212D67AD71FFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; }; 080D19E24AE4FDC135F58B86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; }; + 082EED9B0127415E4A78CAAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AU_1.mm"; path = "../../JuceLibraryCode/juce_audio_plugin_client_AU_1.mm"; sourceTree = "SOURCE_ROOT"; }; 090E68CDF051FAE89936CF61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; }; 0926E36205F4D676343AB6E7 = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; sourceTree = "SOURCE_ROOT"; }; 0977400450E451AD1BE80E77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -124,15 +101,14 @@ 0CD474E9C69F05868EF8D9EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_CommonFile.cpp"; path = "../../../../modules/juce_core/native/juce_linux_CommonFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 0CF861C9A12A38A47B7BC43C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LagrangeInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; 0D06541766ED7D5D99E403C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; - 0D4E3861B5EE21765BDEE2A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAAudioChannelLayout.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAudioChannelLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; 0D7BAB3BA700850A464A9F83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreMidi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0E062265A0862663225F3BE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../JuceLibraryCode/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; 0E87CC46EB3070AD4D904EF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; 0ED9A27A7166BC016CB8909C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; }; 0F594B510261692E6115CAD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyListener.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h"; sourceTree = "SOURCE_ROOT"; }; 0F7BF61F0D28902628F73968 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; }; 0FAABADDD3A1C54AA688A774 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; }; 0FFE9DEC94D4019882CE3F85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Base64.h"; path = "../../../../modules/juce_core/text/juce_Base64.h"; sourceTree = "SOURCE_ROOT"; }; - 100EFA05982C05972AC7861B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; 103C7BCDA3ABA3AD615794F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 104CC5F094E0B3D1D3055D04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioUnitPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; 10A49DD74F3FB9E69FC989B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -143,6 +119,8 @@ 121FB46FF3426D00B9776611 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChoicePropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 1225618F94215E066D1D982D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 12A07D6AB3F4D5536F51B1A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 12D74EEE2F7F5D8E17C746EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StandaloneFilterApp.cpp"; path = "../../../../modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterApp.cpp"; sourceTree = "SOURCE_ROOT"; }; + 12E665A9E9A675668AF160A9 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-VST.plist"; path = "Info-VST.plist"; sourceTree = "SOURCE_ROOT"; }; 13002343E9B09539177167FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; }; 1345DCB37CEF3DCB146FE70F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatWriter.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h"; sourceTree = "SOURCE_ROOT"; }; 137EEC7324A15E7724AEB4C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -164,13 +142,13 @@ 1962C77EC8FC0943893F627C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_File.h"; path = "../../../../modules/juce_core/files/juce_File.h"; sourceTree = "SOURCE_ROOT"; }; 197F47F4B3568E3608D1B8D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 19BB8AB57760488EECE94D5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; }; + 19C97715E5944E41CEFA3F14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; 19CBA415FA9D6E3779DBEDB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; 19D63B88BE3B2620D7EB8489 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_processors.h"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.h"; sourceTree = "SOURCE_ROOT"; }; 19F3E1F0B144D48016FDF6C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; }; 19FE75EF12C18CF52D11D37E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; 1A842FCA201F57BF276F5F19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 1A96F1E0E0A6A7DB0603D5C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; - 1AA472D8429FFDFBE7CD01BD = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 1B2CE3B669D290A88A797C1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; }; 1B87D0FA74084D19A8A8E3DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 1BA3CC8191E979B1E7A43B88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -181,7 +159,6 @@ 1C49A0C6E4032A29D5C05616 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; }; 1C7E45B063CBDED867290BE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LeakedObjectDetector.h"; path = "../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h"; sourceTree = "SOURCE_ROOT"; }; 1CC63825EF38EC63EE2196E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; }; - 1CF9C794D7A955EA89D8B5CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MusicDeviceBase.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/MusicDeviceBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 1D3A49572FAAB491744428C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 1D4AFBEC703C6F373B292D9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RTAS_Wrapper.cpp"; path = "../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_Wrapper.cpp"; sourceTree = "SOURCE_ROOT"; }; 1DBB870CC15ABC104A9AA5C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; }; @@ -195,8 +172,6 @@ 1FBFF2D9043296E1E09DE156 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; 201F62BBDF90DC3F1C9684C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 2036975FC5AA528303B4E837 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; - 2051F23DC1B2A76D3B110616 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUDispatch.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUDispatch.cpp"; sourceTree = "SOURCE_ROOT"; }; - 20881BC337B715DEC96E7976 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_formats/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 20A43273B1F9DC224F9983BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; 20E3F95E25915E7F53F37113 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; }; 210FC90993B49F9206A62F02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -205,6 +180,7 @@ 219FBFE9990AA2ACA2F15FC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; 21D337F16EF17A19AAEBF0C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODevice.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp"; sourceTree = "SOURCE_ROOT"; }; 22C8C727F04483F9D78934CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; }; + 237A06C79035CA7B2568FEA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_VST3.cpp"; path = "../../JuceLibraryCode/juce_audio_plugin_client_VST3.cpp"; sourceTree = "SOURCE_ROOT"; }; 2420BA1657C0FC81F6AF803D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; }; 246055D9D81E3DDFEFD910F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; }; 2478C618C0403FBDB4DAEBD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterFloat.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h"; sourceTree = "SOURCE_ROOT"; }; @@ -215,11 +191,9 @@ 2630A6BC311DAB18ECC7D611 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; }; 266658E487644AA71E02E85E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; }; 269B46040469E64C5A83773D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 272DDB6A8D42D1482FA8EED1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FloatVectorOperations.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h"; sourceTree = "SOURCE_ROOT"; }; 27C9A17C04B5426D28A92DF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 28C68586E6A2C95B2BC007DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; }; 28F65EEAFB3B971E8EDB10F3 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; }; - 28FD98C78FE1E918553D4C3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAAUParameter.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAUParameter.cpp"; sourceTree = "SOURCE_ROOT"; }; 291947B7C7CCCF7029BA0C78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 2956FA046400383FC705C1CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; }; 29917AAA580F21BF2798D071 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -228,11 +202,9 @@ 2AA4939A70E1E1D6B907DA87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; 2AA92DC1171DAF0BA4BB0E63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_formats.h"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.h"; sourceTree = "SOURCE_ROOT"; }; 2BEBB7EB22A689648A381ECA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 2CA6AEE8D826ED5508BCD4E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CatmullRomInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; 2CAFB89BC62E47429CC04AEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V1.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp"; sourceTree = "SOURCE_ROOT"; }; 2D4B766DA1C66FA2857D80F7 = {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"; }; 2D72B278A8BE28985550834F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterInt.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h"; sourceTree = "SOURCE_ROOT"; }; - 2D799F4BCA83847DEACB505D = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = "SOURCE_ROOT"; }; 2E57B46569DAD42A3E53460E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; }; 2E58109147CCFC780F10C23D = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = System/Library/Frameworks/AudioUnit.framework; sourceTree = SDKROOT; }; 2E742E5F322F63D5E8C48C0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -242,38 +214,43 @@ 2F57DBBB4A15985366575C38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; }; 2F7B9CC35EEC12DF96E43229 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; }; 2FADC0AA0043A3C87DF25E0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IncludeModuleHeaders.h"; path = "../../../../modules/juce_audio_plugin_client/utility/juce_IncludeModuleHeaders.h"; sourceTree = "SOURCE_ROOT"; }; - 2FBEA375F39FFA44911F043B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - 30351F38509A67AC97C51072 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; }; 30789700DDE033623673B969 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 318F416CA5367D312EDEB440 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; }; 31ACD81C791C0D6A394B7602 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; 31CF7913899F89982EFBFE3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; - 31E15E7A0FBD027D83A28DFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUInputElement.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUInputElement.cpp"; sourceTree = "SOURCE_ROOT"; }; 32080C8AC923C34CCE673F1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; - 322A19A7DAB9F2840598D2E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; 322DE76903F886C1711EB272 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; - 323141448B7FA2F741D07FDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FFT.h"; path = "../../../../modules/juce_audio_basics/effects/juce_FFT.h"; sourceTree = "SOURCE_ROOT"; }; 328B584F47D2905BF82B8161 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Sampler.cpp"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp"; sourceTree = "SOURCE_ROOT"; }; + 348338470F2AA582F91FA876 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; }; + 353D8E8E3F56E1CE4E42FC90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserVoice.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h"; sourceTree = "SOURCE_ROOT"; }; + 36EDB9DCF2D5260319028905 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3755479207D218969425F91F = {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"; }; + 3804B5F8CBFB5862A5EFAADE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CoreAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3B14E2CE58630F14CB9964A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Synthesiser.cpp"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 64417DE78D1B1D10EC6E4146 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = JuceDemoPlugin.vst; sourceTree = "BUILT_PRODUCTS_DIR"; }; + 464486542EDBD5301EEEE8C1 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = JuceDemoPlugin.vst3; sourceTree = "BUILT_PRODUCTS_DIR"; }; + 1AF4856520E8BFF4A039CD6B = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = JuceDemoPlugin.component; sourceTree = "BUILT_PRODUCTS_DIR"; }; + 272DDB6A8D42D1482FA8EED1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FloatVectorOperations.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h"; sourceTree = "SOURCE_ROOT"; }; + 2CA6AEE8D826ED5508BCD4E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CatmullRomInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2FBEA375F39FFA44911F043B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 30351F38509A67AC97C51072 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; }; + 322A19A7DAB9F2840598D2E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; + 323141448B7FA2F741D07FDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FFT.h"; path = "../../../../modules/juce_audio_basics/effects/juce_FFT.h"; sourceTree = "SOURCE_ROOT"; }; 3317E609D23F067C53536AB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; }; 33834CE0CBF515B3B0ABEFBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; }; 33D9F6083C574F0F03AA6A86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; }; 33F07AB56EEA71CE7B7B8CBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; - 348338470F2AA582F91FA876 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; }; 34E85C705D44CE5A96255783 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; }; - 353D8E8E3F56E1CE4E42FC90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserVoice.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h"; sourceTree = "SOURCE_ROOT"; }; 357DC2A5FF7C176B270F1D7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; 35AFE1E124E99572CBA1F46D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; }; 35F57A1FB7A15A5374251F97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; }; 36CB6C4D85EFD5015D667E96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEInstrument.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp"; sourceTree = "SOURCE_ROOT"; }; - 36EDB9DCF2D5260319028905 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; 371CABFCE28A273E9150F537 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; }; - 3755479207D218969425F91F = {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"; }; 376742758A9CEDA05995AF51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; }; 379E6C7C71E680936EF723F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDataConverters.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h"; sourceTree = "SOURCE_ROOT"; }; 37A7FEF55D2A1043B57E076F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; }; 37B2EF3084A6002873814D0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 37CF7FCCB543B5B240957BCD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormatManager.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; - 3804B5F8CBFB5862A5EFAADE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CoreAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 380F639D605E383E4930DA59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; 383CCB4FB4F70FDE749AFEA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; 38B25B83DCEAC8BCDFD527E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; @@ -281,13 +258,10 @@ 39AD51EB5E59758E6FC4F313 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; 39D0873583E797FEA1F40BBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; 3A6A7BBEB5E04AE75D24BAF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; }; - 3AA0960DF09414DBA0A2255B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUBase.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBase.cpp"; sourceTree = "SOURCE_ROOT"; }; - 3AA5D4AF03A0689BF8385319 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CarbonEventHandler.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CarbonEventHandler.cpp"; sourceTree = "SOURCE_ROOT"; }; 3AA84EBD59A4CBE7E32FB0F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDescription.h"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h"; sourceTree = "SOURCE_ROOT"; }; 3ABB924AB5490C97118B8CE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; }; 3AD4F35998A668F9C4D585B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; }; 3B11B8A53BCDAD5101C491EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; - 3B14E2CE58630F14CB9964A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Synthesiser.cpp"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; 3B22E720E83CBDCC315A038F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 3B249B30B7AFA3BA068B9BF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; 3B6F2FAF5ADD1BE0014C7952 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; }; @@ -303,6 +277,7 @@ 3E3CBF04F24292DEF36E5550 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 3E72A2633AFCB9B9FC2E3B81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; }; 3F05190135896541D991C075 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; }; + 3F16A54F45ED278001F4CA09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../modules/juce_audio_plugin_client/AU/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; }; 3F89076A842128643D3E2F3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; 3F8F5E0EF93E9B95DD17CFB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; 3FE7F76D4D023295BCEC0E65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; @@ -317,9 +292,7 @@ 42C7FC165C3DA0FD260236A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 439A1BF54BCAFF06F77DC0E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; }; 43D4EC44A89A4A7399D16ECD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; }; - 443C241B66AD431E05D3A2AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 4441681B28DD04DF6201CC75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; }; - 448D9DAF51E9FDC76DAFD913 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_processors/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 44B6E666E32F637DF7823CF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; }; 44DF2CBDEE1E27DBF3FFD639 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; 4514B5F7DBC9B5A3E014C4CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; }; @@ -331,6 +304,7 @@ 46FC39E954485B032E766234 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; }; 470E16E41C4A2F1ADADAFE52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 478CC6FC61862445DD8B872E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; + 47FBF723E148B63CF86281D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_VST2.cpp"; path = "../../JuceLibraryCode/juce_audio_plugin_client_VST2.cpp"; sourceTree = "SOURCE_ROOT"; }; 482AC6984EED1002DB1A947A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; }; 489EA9E664A2157AC01C2F94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; }; 48A20368920DAC9E54D5010C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; @@ -349,6 +323,7 @@ 4CE2C5B8F3B9176330D7E38D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; 4D314DC059A8F7D9AA3D20B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiser.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; 4D57626C71E0A81969B64FFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODeviceType.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h"; sourceTree = "SOURCE_ROOT"; }; + 4D6248E85C22578615FA809C = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = JuceDemoPlugin.framework; sourceTree = "BUILT_PRODUCTS_DIR"; }; 4D669F9349F7061E90B1DCDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; }; 4DA1B19948D557A9F2380CBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; }; 4DE409D2E97EA5C2EC8BD3A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -381,6 +356,7 @@ 56A295F04B7F248D0A52B878 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; }; 56BFD67859B81D9E53F5B727 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; }; 57EC076E7DD4D261CBCC3CCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Font.h"; path = "../../../../modules/juce_graphics/fonts/juce_Font.h"; sourceTree = "SOURCE_ROOT"; }; + 581F2233A2A749DE9410A562 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; 58CEA1474B2E77B7287D735B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FakeMouseMoveGenerator.h"; path = "../../../../modules/juce_audio_plugin_client/utility/juce_FakeMouseMoveGenerator.h"; sourceTree = "SOURCE_ROOT"; }; 58CEDDC16E6A5293A4F81E84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; }; 58E978708BAA8613A40F61E3 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; @@ -398,14 +374,13 @@ 5B50BE8BDF7AE3C403DEF232 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; }; 5BE5D2C8BD79AA4B1D2A24D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; }; 5C49246ADF3F5AA9639EF915 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; }; - 5C5E3AF3EB9BE171FD53666A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; }; 5C7825FEE1CBF90AC0E3FE84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; 5C9E323856342E63607189B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; }; 5CC9E5327AB45BC5E12E7C49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MACAddress.h"; path = "../../../../modules/juce_core/network/juce_MACAddress.h"; sourceTree = "SOURCE_ROOT"; }; - 5DAA9288D1FC19812E6ABA3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUCarbonViewDispatch.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewDispatch.cpp"; sourceTree = "SOURCE_ROOT"; }; 5DEDE32EB91BFE882FF0F428 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEValue.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h"; sourceTree = "SOURCE_ROOT"; }; 5E354B48397B1478736E6F0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; 5E69C0346462512B115AE7BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5E974DD6DD17E4C03295B1EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../JuceLibraryCode/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; }; 5EA18059A01A0717DEB3A2B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; }; 5EA72D1F22006B0CC17B081E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 5EB55A7484EFAF1FE8C5BADD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -416,6 +391,7 @@ 5F828B7BE8D9B860182A6606 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; }; 5FEC8A1452DE9DDC428552DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 5FF425ECF12EC3A8D942CDCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 60C4A1A1B5405793C18D5A16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; 61848A238C57C54BF83884C3 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; 620F05F325A2E12F7D5671C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginListComponent.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h"; sourceTree = "SOURCE_ROOT"; }; 62421FC040737EACE584486E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; @@ -442,6 +418,7 @@ 69859F37E963E8539BC36A35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChannelRemappingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 69BA49B5D5F563FF8918C64C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; 6A2DA68C812379D32A014951 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Files.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6A3C0733887F9F9DF5AC6109 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_VST_utils.mm"; path = "../../JuceLibraryCode/juce_audio_plugin_client_VST_utils.mm"; sourceTree = "SOURCE_ROOT"; }; 6A3C840E1B6CD34CA8C8DB4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GroupComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h"; sourceTree = "SOURCE_ROOT"; }; 6A72E46DBDCFAD6F7039E739 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Headers.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h"; sourceTree = "SOURCE_ROOT"; }; 6A7D750E4C8BF2580F262F76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -487,7 +464,6 @@ 7541F65B3F7500294E6F528F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; }; 763780974CDC5E25D0B33885 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; }; 7647E22AA08782FB8E2F5A0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; }; - 76781D53929F0C91E6FA34A9 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_plugin_client/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 768C56D0602DC6736813A6DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; }; 768D64C69F7B45E93D789C98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; }; 76D55C11232DE62691A084B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; @@ -496,11 +472,9 @@ 773A8DF54F59CFC1C062FDA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScrollBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h"; sourceTree = "SOURCE_ROOT"; }; 7763B76C3E036AC3C028DBAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsRegistry.h"; path = "../../../../modules/juce_core/misc/juce_WindowsRegistry.h"; sourceTree = "SOURCE_ROOT"; }; 7808ECB520277B59485718C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsPostScriptRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 7842B474F3C7C353DED282A6 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_devices/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 78502B6120887CE35DB67B02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; 78959840E3EF9DC06998BB42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; 7997E4EB2706B00B44880412 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; }; - 79B3B7E2DD82AB16C411D9E0 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_graphics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 7A1CD659BB507996CC7EE951 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; 7A56C13F02DFBCBC0375F0F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; 7AC8B40A09251FDC9D75053A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; @@ -509,14 +483,12 @@ 7B7DC20A834735F004A8A0C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; }; 7B870EE6D43B984CADE69C28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CarbonVisibility.h"; path = "../../../../modules/juce_audio_plugin_client/utility/juce_CarbonVisibility.h"; sourceTree = "SOURCE_ROOT"; }; 7C6A0C6C2914BD052CB4702A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 7C7362C71D396DA95BBE38B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 7C8781DF19D1E9F5F4383C8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; }; 7CAABF65B56BE6A4529B2513 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; }; 7CBA5F2277845FDC3AABFEAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; 7D2452DC43894CAD497C0FA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; }; 7D5CFA5B4C64986B875C71DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; 7DC4334C7DA62856B8E70B25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; }; - 7E1239926CC4A760AE07FF37 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_data_structures/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 7E588E8934AFA6EA5C58C133 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsHooks.h"; path = "../../../../modules/juce_audio_plugin_client/utility/juce_WindowsHooks.h"; sourceTree = "SOURCE_ROOT"; }; 7EC813E6F2E7303438F82090 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; 7F38C9D398788039FD8CAF23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -538,6 +510,7 @@ 81AC7FA7234FD8DD6D4F647C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInputSource.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 82C8DD36FD45CF3CC8BC2819 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; }; 82D8099FDD46339EF81ADC57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 833921AD05E4BAF484FC7749 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AUv3_Wrapper.mm"; path = "../../../../modules/juce_audio_plugin_client/AU/juce_AUv3_Wrapper.mm"; sourceTree = "SOURCE_ROOT"; }; 8369433A1004C92903664568 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; 837035EBD15D2565B4DB677A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; 837FCD576EB86FDB2FB63DAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -552,14 +525,13 @@ 85DCBF0D90C84C20F20FB7F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; }; 85F6520D0FE1EE06CF490C9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 860A5DE9C290324E42D40651 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; + 8635014BA097A2E54C2C2384 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../JuceLibraryCode/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; 8666735F07F6A57C7DC678F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; }; 866BB03463EC1AA36B51BC0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; }; 8679C1E8886DA7A3F4DE2B54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; 86B1672E14AD6F060FF57BB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; 8718970FF3F3F2AC38191F53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 87755AF25BF68EE19666A135 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; 87BE12FCBC4C554059FA344F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; - 87DBD7450AE0FDD762712620 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAMutex.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAMutex.cpp"; sourceTree = "SOURCE_ROOT"; }; 87F5AB0E60F00DD74E08FC8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEMessages.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp"; sourceTree = "SOURCE_ROOT"; }; 87FA97D4268B5DAE05BAD596 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; }; 88336AF4E2605BF6518D758B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; }; @@ -569,10 +541,12 @@ 894982322611830C62233292 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PositionableAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 89520054769FD08A7E2C2D4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 8983E39490E8EF99EB09C783 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + 89943D4687B99B72C89496ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiDataConcatenator.h"; path = "../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h"; sourceTree = "SOURCE_ROOT"; }; 899ACC40FF89BB35307F3BAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; 89E2E6BA6057311E66E8A8BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; }; 8AE97D16E9DA460011B379BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; }; 8AEC8C684E53D6E14FC97605 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 8B67A16CB449160267AA05BB = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-AU.plist"; path = "Info-AU.plist"; sourceTree = "SOURCE_ROOT"; }; 8BBD921B5A82DB52E6842A1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; 8C0D1A1E000E47D09B771963 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginUtilities.cpp"; path = "../../../../modules/juce_audio_plugin_client/utility/juce_PluginUtilities.cpp"; sourceTree = "SOURCE_ROOT"; }; 8C1A068D665727680931F85C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; }; @@ -584,13 +558,11 @@ 8E8EF7A3035A5F657E18814C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; }; 8EB324480D60B3E3A81541E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_VST_Wrapper.mm"; path = "../../../../modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.mm"; sourceTree = "SOURCE_ROOT"; }; 8EBA0860E71D6BE24A7B814B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; - 8EBE02D4EB0AEDC03E88FBC4 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_core/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 8EEBF8E96D19ED9C4EE63BB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; }; 8EF33A7F51542C1952B5F795 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorParameters.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp"; sourceTree = "SOURCE_ROOT"; }; 8EFD2A73D73BDF36408CBD49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 8F0F7BDEF446B02097ACA89A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; 8F25E6968A4C8D24AB1BB683 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; }; - 8F59D489139F78A729CED9E5 = {isa = PBXFileReference; lastKnownFileType = file.r; name = "juce_AU_Resources.r"; path = "../../../../modules/juce_audio_plugin_client/AU/juce_AU_Resources.r"; sourceTree = "SOURCE_ROOT"; }; 8FB68CA43E49DD39E013DB82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; 8FFD0EFC41EDD85E9A497181 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceManager.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 903D1CC58466AC0CCD41B044 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; @@ -604,7 +576,6 @@ 9130EEFD3EE155D9A7167AF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardState.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h"; sourceTree = "SOURCE_ROOT"; }; 913EA37AAC8362F293985F26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; }; 91424D2B814B064805B2080E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp"; sourceTree = "SOURCE_ROOT"; }; - 91B2EAD28E322C2F365FF975 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_extra/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 91EF9501D2E0094B3012D978 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; }; 922072F4C5051D654A2EF323 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTreeSynchroniser.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h"; sourceTree = "SOURCE_ROOT"; }; 9292C6F143141B2B8E55FFD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; }; @@ -618,11 +589,13 @@ 93FBD648EA104B18DC9502FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SinewaveSynth.h; path = ../../Source/SinewaveSynth.h; sourceTree = "SOURCE_ROOT"; }; 94AA9AF4939F914AD00CEE1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CheckSettingMacros.h"; path = "../../../../modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h"; sourceTree = "SOURCE_ROOT"; }; 94D07EE2982807A4BB2E0CBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; + 95860BCFB49A765FC0289E4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserVoice.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp"; sourceTree = "SOURCE_ROOT"; }; + 95BE074C6E26D6E329D0DA5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ASIO.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp"; sourceTree = "SOURCE_ROOT"; }; 95FBCB6D05BB3C8057E35ED3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; - 95FF785BAEC4F2799A75D2FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUCarbonViewBase.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 963140B9984908CF118F92F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; }; 965F7DCC8CF46085A636D851 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Desktop.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.cpp"; sourceTree = "SOURCE_ROOT"; }; 96C79B505CA4FD6FFDC28D94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; + 97B6D6C6FABF547674BD0F19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; 988CB13161D84307D53770D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; }; 990E71F1F4EB7B98AEEE3D05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentPeer.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h"; sourceTree = "SOURCE_ROOT"; }; 9941F313443F3B72CA820E71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Component.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -630,7 +603,6 @@ 99E71BE7C7C30E6BDFAAFA32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextInputTarget.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h"; sourceTree = "SOURCE_ROOT"; }; 9A097CC9A7C64CB8958F89B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; 9A6686BC6FC38F6D1917D7C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LADSPAPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; - 9B3F11DD2E09FC8F63555D30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; 9B7A0A69E4002D6C125F895D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; }; 9B9120565A012610018CC7DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 9BEDD40A38299B3CA4B31A45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPENote.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.h"; sourceTree = "SOURCE_ROOT"; }; @@ -647,10 +619,12 @@ 9F39E3DC6F699109EC3A2432 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; }; 9F6358285E5D9F734FB54D8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; }; 9F6A1FA82A8C412622129993 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9F7BDCF8A08EE1EF06252342 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AU_2.mm"; path = "../../JuceLibraryCode/juce_audio_plugin_client_AU_2.mm"; sourceTree = "SOURCE_ROOT"; }; 9F9AC54CF90FDB770E5FCA03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; }; A0AB27A8CE89B12B37EF8FA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MP3AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; A11F51909BE2463C28099C0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; }; A122A2AB08B82B5AF1FF4D0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KnownPluginList.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp"; sourceTree = "SOURCE_ROOT"; }; + A13CE6DC3E31158D49337C8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandaloneFilterWindow.h"; path = "../../../../modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterWindow.h"; sourceTree = "SOURCE_ROOT"; }; A1A74C33F871DF7D5E3C4B65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; }; A206765795252391D3F60EA4 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; A21E0C7AD5B7950C37912A31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -660,78 +634,62 @@ A31CE7177BF947DB60F72D94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleMessageComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; A52038A2E61AB03CF55A3B0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; A59A08DCC76EE0FC7EBE1203 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; + A7055681554844E4708E27A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; }; A722B041FD2540D1380C4D02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; A7A527D783D3B38F455964D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; }; A7EE73FF3A5962BBF41DC2AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; }; A7FD436305E19DF69A7AF446 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; }; - A8BA67A9567A51069D275EBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ComponentBase.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/ComponentBase.cpp"; sourceTree = "SOURCE_ROOT"; }; A8F3FC233163016FE3B23543 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathIterator.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; A90A45FB8790A91DF1A78BE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; }; A90E41C0C52BDF0CC82161C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; }; A9133BF4A4E9DF3268BE0A5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + A935F7A0CA0C3A7FE2607D0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + A9801DABE20B0BC1A3405EA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; A9B46A5FF98D7B9DF8598C12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; }; A9C466FBA4FCF6484BCF86A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTMidiEventList.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h"; sourceTree = "SOURCE_ROOT"; }; + AA012A21BE3049C205D4A44A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; AA29B047C1A1904618B410D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; }; AAA122282581E6425F5D9405 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - AABC1F4E7D9DA3C6B6DC0F05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUBuffer.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; + AAEC41BFA57E45EBF94ED3C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; }; AB0E8347C9AC7E4A861C0252 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilterAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + AB10327C69AAE4AACCFC81EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; }; AB7726FF34DB2E7FA75ECC19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; AB87317D90A518C8A886EE9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceSelectorComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h"; sourceTree = "SOURCE_ROOT"; }; AB8A875C8289683E616C8CE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioVisualiserComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; ABC394D5E03B690404E80E1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; ABCB715245090A15092108D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceManager.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h"; sourceTree = "SOURCE_ROOT"; }; ABE98156B2F8FBDAE1B7CF88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_QuickTimeAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - AC4612F7E064ECEC2E95B129 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAStreamBasicDescription.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAStreamBasicDescription.cpp"; sourceTree = "SOURCE_ROOT"; }; AC5452F5122E3A4B670B5185 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnail.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h"; sourceTree = "SOURCE_ROOT"; }; ACAD736DA78EA0A66BF1CE29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; ACB591F236B9E8054BF9ECB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + ACC4E765AD4BF1D025FB4E83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; ACD46CD092A8EC640448BD70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + ACDF0E99B316A7C266F6EFFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LAMEEncoderAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; AD33682668F35136E9195684 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; }; AD4C568CF5706BEDBE181243 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; AD7E9320CE88BADD17DA949C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp"; sourceTree = "SOURCE_ROOT"; }; - AE33B12A78EDF66C08B06304 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; }; - AF7AFE4A1D7A8831E06D9645 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CatmullRomInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; - BA98346EFD1037285E245CC9 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; - BF9246177C0D98297F4228E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiBuffer.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; - C37123DA8D32C1B6FC09FFF2 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; - 63F8022F081E22DFFFCAC998 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = JuceDemoPlugin.component; sourceTree = "BUILT_PRODUCTS_DIR"; }; - 89943D4687B99B72C89496ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiDataConcatenator.h"; path = "../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h"; sourceTree = "SOURCE_ROOT"; }; - 95860BCFB49A765FC0289E4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserVoice.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp"; sourceTree = "SOURCE_ROOT"; }; - 95BE074C6E26D6E329D0DA5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ASIO.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp"; sourceTree = "SOURCE_ROOT"; }; - 97B6D6C6FABF547674BD0F19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; - A7055681554844E4708E27A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; }; - A935F7A0CA0C3A7FE2607D0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; - A9801DABE20B0BC1A3405EA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; - AA012A21BE3049C205D4A44A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; - AAEC41BFA57E45EBF94ED3C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; }; - AB10327C69AAE4AACCFC81EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; }; - ACC4E765AD4BF1D025FB4E83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; - ACDF0E99B316A7C266F6EFFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LAMEEncoderAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; AE3318FE584B5928D1F10897 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + AE33B12A78EDF66C08B06304 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; }; AE3C497B58239EA75FD18AD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; AEE273E29C5B07B96BAFFA46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; AF14FDB3693F569F275C1A8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; }; - AFE00126A5FEF419332CD2B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUOutputElement.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUOutputElement.cpp"; sourceTree = "SOURCE_ROOT"; }; + AF7AFE4A1D7A8831E06D9645 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CatmullRomInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; B0381BEAE259ABDDE18A64B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; B1426528BB892D5736D80404 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; }; - B2067C8614967BECF8B198D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; B23CBCBBD05E21AEA76FB9E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDirectoryScanner.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h"; sourceTree = "SOURCE_ROOT"; }; B287E8FA86ED37F618F0ABC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - B2B54E113A80EC53D5D71A38 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + B2C63A38FE69126E8864B32D = {isa = PBXFileReference; lastKnownFileType = file.rsr; name = "juce_RTAS_WinResources.rsr"; path = "../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_WinResources.rsr"; sourceTree = "SOURCE_ROOT"; }; B34E109560D77640B7648C4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; B43E810ABF9939F0F6E76318 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NewLine.h"; path = "../../../../modules/juce_core/text/juce_NewLine.h"; sourceTree = "SOURCE_ROOT"; }; B45645B3B2E19FB1D72B91B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AiffAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; B532D9954FB106B6095AE0C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; }; B5406E636D4CF8285721DCF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ActiveXComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; B57C430D154C1C86350F246A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; - B57D00796D30ECB2DE58035F = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_utils/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; B5FF7C5554FC26100CB08626 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; }; - B6394C38B7A283DE86213FAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUOutputBase.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUOutputBase.cpp"; sourceTree = "SOURCE_ROOT"; }; B65F0500A687634E095C17E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInactivityDetector.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h"; sourceTree = "SOURCE_ROOT"; }; B6938F0B102875B8B0BEBC44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; B72762B6ACA5F73EF9F0A220 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GenericAudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; B7F3E4AF0F482E9F6EAF6C41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; }; - B829B4BAE71C6F09169542B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; B82C8012A9571F69211455AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginBusUtilities.h"; path = "../../../../modules/juce_audio_plugin_client/utility/juce_PluginBusUtilities.h"; sourceTree = "SOURCE_ROOT"; }; B8B25605AB1A04A8AE545227 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageCache.h"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.h"; sourceTree = "SOURCE_ROOT"; }; B8B760CB559864834CC9AB32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; }; @@ -740,6 +698,7 @@ B9BDF0A1E699EA2D3549664E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; }; B9BE6469604B9D3252EFA7E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; BA1BCEDEEAF68692BF1456EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; }; + BA98346EFD1037285E245CC9 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; BAF34E1248A8D20DDA992AFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; }; BB1148DE7477E7B58ABD2B95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSubsectionReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h"; sourceTree = "SOURCE_ROOT"; }; BB84A0B296CFBF17FAF145B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; }; @@ -755,6 +714,7 @@ BF0AB490EC0556BE60CDA25A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; }; BF7B980A66A9E256863EEF9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; }; BF8E023672A8CB49C6F3336D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; + BF9246177C0D98297F4228E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiBuffer.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; BF9DC710A38EE8C74A1656B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; BFAFBCB45F439A6CBCE4637E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_ClangBugWorkaround.h"; path = "../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h"; sourceTree = "SOURCE_ROOT"; }; C014290D49F3252305EDF5DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; }; @@ -769,6 +729,7 @@ C3053B347C5516757CE76653 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; C3077A9A84263C3B2B230B0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KnownPluginList.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h"; sourceTree = "SOURCE_ROOT"; }; C30ACBCDB9F3BFA962B1D467 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; }; + C37123DA8D32C1B6FC09FFF2 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; C38CC2A128054EA570CBDDEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; }; C3A217BC1C46330C18E58CAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; }; C3A57D29C59006AF39034062 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -795,6 +756,7 @@ C95C90A2A9829F72F818533B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginInstance.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h"; sourceTree = "SOURCE_ROOT"; }; C97C1ED9A68926C6494837CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; C9C0E7E8748BCECFDC471A1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEInstrument.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h"; sourceTree = "SOURCE_ROOT"; }; + C9D905FA9696DA2A6A347EF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; CA6A796A330E12E920650F7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; }; CAF2236203B78927A4107D7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; CBAA0F879FD03402D1DCBDC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; }; @@ -810,8 +772,10 @@ CF5FA6C569EF0D70C967EE90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; CF82A46D7CDDAFC5B46AFBC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; }; CF9911FF44333EF9154A6141 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; + CF99F55660DC79DAE3D0D1A2 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-VST3.plist"; path = "Info-VST3.plist"; sourceTree = "SOURCE_ROOT"; }; CFB4F03ABA5B51964C16C8CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinearSmoothedValue.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h"; sourceTree = "SOURCE_ROOT"; }; D0406C91AA87E22F071648A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + D08C27F8345396F820964619 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_utils.cpp"; path = "../../JuceLibraryCode/juce_audio_plugin_client_utils.cpp"; sourceTree = "SOURCE_ROOT"; }; D120181C3218F30A0102BC17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; D18B1676A7BB2890B81717FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; }; D26A70A47DEDA6B53AFAA6A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; }; @@ -848,7 +812,6 @@ D946B5ADFE4FBE4D9EEFD068 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; }; D98BD148E00A85C033CC0B70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; D9DB20BA9A6D6CC1B27BBF76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; }; - DA325C1329DD36C198920558 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; DAB8939B0462BAD66A91F111 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; }; DAE65AEF5B24AD0262B66C54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; DB28D7857D3A5BB7091AF74E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -879,7 +842,6 @@ DFF5523D4F5396F98114B642 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; }; E0461DEB1F6D01A42E288646 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; }; E04D8B4BAEB817D520C2EF4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; - E0657C5A5A08F4B5BE55034A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUCarbonViewControl.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewControl.cpp"; sourceTree = "SOURCE_ROOT"; }; E0DDE45DB4B87F9311191965 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiFile.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.h"; sourceTree = "SOURCE_ROOT"; }; E0EE8480E1438F1521ABC0DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; E15C0D3B2B648FE732D07ABD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleComponent.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -890,9 +852,8 @@ E398182BD8543E6B845F2255 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; }; E3A38E6B33797818F62CD77E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; E3F3133499175DC014FC149B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FFT.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_FFT.cpp"; sourceTree = "SOURCE_ROOT"; }; - E42198F571F1BB1C5203F3D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUMIDIBase.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUMIDIBase.cpp"; sourceTree = "SOURCE_ROOT"; }; E4606F21F965427E694C1132 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; }; - E521DD6592FA0F7828161360 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAVectorUnit.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAVectorUnit.cpp"; sourceTree = "SOURCE_ROOT"; }; + E4D287DE19F3B62153A4CAF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; E52A19CA27A82BB3ECD76B63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; }; E57F57DB7857820B9FC7BCFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DeletedAtShutdown.h"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h"; sourceTree = "SOURCE_ROOT"; }; E5A17AB02D7926E004207D38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -915,7 +876,6 @@ EA6921266422F00734EF49B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; EA906B8480C7585912B627B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; EB3444A4CFC3864FF3F7E4FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; }; - EB38777DCA28E40FF364EAE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUScopeElement.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUScopeElement.cpp"; sourceTree = "SOURCE_ROOT"; }; EB8C7BDEF743331241D8BDE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; EBF5AAA742C6D9C3DE7BA2CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Identifier.cpp"; path = "../../../../modules/juce_core/text/juce_Identifier.cpp"; sourceTree = "SOURCE_ROOT"; }; EC155D21E24BFC61E5205344 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; }; @@ -931,8 +891,10 @@ EE149F9075819C0132879D4C = {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"; }; EE1708227B48B586BE17D06B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; EE6030D7677731D8C2B14CA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; }; + EE6F571594A37A3140567E44 = {isa = PBXFileReference; lastKnownFileType = file.def; name = "juce_RTAS_WinExports.def"; path = "../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_WinExports.def"; sourceTree = "SOURCE_ROOT"; }; EECBEDF7C26CF9597CC601D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; EED2AEDB27E7562C4DCFA637 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; }; + EF96E5514E3E9587A67A258F = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-Shared_Code.plist"; path = "Info-Shared_Code.plist"; sourceTree = "SOURCE_ROOT"; }; EFD8E22899758751230A8590 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; F04CF5D4410243EF3DEDBEB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; }; F0DC1A84185952857B3DCAE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -956,7 +918,9 @@ F59C7048ABCC39348397300F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; F5A1D2AFCFA4E5563C3D494D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; F5A261506BD95F58790AD021 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; }; + F5E9ED24FCF950C2B09ED67C = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = JuceDemoPlugin.entitlements; path = JuceDemoPlugin.entitlements; sourceTree = "SOURCE_ROOT"; }; F6546500AA3A49A3BB76F825 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + F68C44DED59A1830DEC06DDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../JuceLibraryCode/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; F6AE333028FC864D4653A7B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST3PluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; F6CA6BC81FCC918A9BA798CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatManager.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; F74005802C3B92DB086A069A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; @@ -970,6 +934,7 @@ F7EC22087BE9304F03690131 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; F80CC5FB6425D6B5DD1BBC59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; F838E6717B0378A7AA5A8DAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ElementComparator.h"; path = "../../../../modules/juce_core/containers/juce_ElementComparator.h"; sourceTree = "SOURCE_ROOT"; }; + F87AC3FCCA31FB0B419456B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../JuceLibraryCode/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; F8DD79AAF71228DAF2A1DFCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; }; F982D82AE9DADA0E6714C15D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; }; F9920CC0D2EFA33B2684DB7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; }; @@ -995,6 +960,7 @@ FF443F140558EBF4EE8819F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; FFA32C4181B665EF67560C26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTreeSynchroniser.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"; sourceTree = "SOURCE_ROOT"; }; FFB44C10D77D4B9DCA431C69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; }; + FFBD7990C953B06E95CA494D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../JuceLibraryCode/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; F4E255C7FF120419035C8CBE = {isa = PBXGroup; children = ( 9EC0C4C02099C656EEF39DA9, 750F3B1989AEC12FF245BE70, @@ -1078,9 +1044,12 @@ 81AB762429787BA3BF67DF1C, 6E34564E79C03976635328FA, 2E8CE9A16B1D4CEE79B3F153, - 1AA472D8429FFDFBE7CD01BD, 4B7CE8D596B3F3901B2A7826, ); name = "juce_audio_basics"; sourceTree = ""; }; - D0B7516EBC78D0D616A2DB7F = {isa = PBXGroup; children = ( + 50CD4CBC13887B5348E71953 = {isa = PBXGroup; children = ( + 24BE29B60B5541AF727371D4, + 13EACB731E5573BC68744B5E, + 3A6A7BBEB5E04AE75D24BAF6, ); name = "audio_cd"; sourceTree = ""; }; + 059186A3CF624DABD8CD3F77 = {isa = PBXGroup; children = ( 8FFD0EFC41EDD85E9A497181, ABCB715245090A15092108D5, 21D337F16EF17A19AAEBF0C1, @@ -1088,22 +1057,13 @@ 0179C530BA4B4B8215461D5B, 4D57626C71E0A81969B64FFD, D6AAFDF09C8BA44829B73655, ); name = "audio_io"; sourceTree = ""; }; - 246D4BBDD8FD3B0A2F39796B = {isa = PBXGroup; children = ( + 7C9E2CCFA784D5F83CA8655F = {isa = PBXGroup; children = ( 6290D23F5E4D1E3D6F4F182A, D92E27000F5B28F19BD2EA43, 736524AA87397E0C2C9C8817, AD7E9320CE88BADD17DA949C, D85ABD84770A6A66B78C288B, ); name = "midi_io"; sourceTree = ""; }; - 227B48DC433DC1D47DC89AB2 = {isa = PBXGroup; children = ( - F227EACE776B1233B6F7D6B3, - 1E1776E7A0C4558787330B29, - 52CEDC13A7802C7CD55F01A5, - 168A5985B944FEED6C297748, ); name = sources; sourceTree = ""; }; - 99BAB299995EAA64E2DAA98D = {isa = PBXGroup; children = ( - 24BE29B60B5541AF727371D4, - 13EACB731E5573BC68744B5E, - 3A6A7BBEB5E04AE75D24BAF6, ); name = "audio_cd"; sourceTree = ""; }; - 0EBB44DCB98DB3E8271D88D2 = {isa = PBXGroup; children = ( + DA86EAEEA0F46B987B7F65F7 = {isa = PBXGroup; children = ( 188B5E5033CC3CFBAAE2768F, 9A097CC9A7C64CB8958F89B8, 0C68BAE8F95098A8AD14F2A0, @@ -1123,31 +1083,19 @@ 0BEC77B5C0B5DCE51EE24DA7, 1E04D35C79B38C5D68A3575C, CA6A796A330E12E920650F7A, ); name = native; sourceTree = ""; }; + 71A25582707A33D9710930F7 = {isa = PBXGroup; children = ( + F227EACE776B1233B6F7D6B3, + 1E1776E7A0C4558787330B29, + 52CEDC13A7802C7CD55F01A5, + 168A5985B944FEED6C297748, ); name = sources; sourceTree = ""; }; 562492315D562AD0AE406168 = {isa = PBXGroup; children = ( - D0B7516EBC78D0D616A2DB7F, - 246D4BBDD8FD3B0A2F39796B, - 227B48DC433DC1D47DC89AB2, - 99BAB299995EAA64E2DAA98D, - 0EBB44DCB98DB3E8271D88D2, - 7842B474F3C7C353DED282A6, + 50CD4CBC13887B5348E71953, + 059186A3CF624DABD8CD3F77, + 7C9E2CCFA784D5F83CA8655F, + DA86EAEEA0F46B987B7F65F7, + 71A25582707A33D9710930F7, 1DF50BA803474E15526C95B2, ); name = "juce_audio_devices"; sourceTree = ""; }; - 809E0731937121B02DE46FE9 = {isa = PBXGroup; children = ( - B0381BEAE259ABDDE18A64B0, - 32080C8AC923C34CCE673F1F, - F6CA6BC81FCC918A9BA798CC, - 3B11B8A53BCDAD5101C491EA, - 04FBE8A67D1A67342BC49632, - 97B6D6C6FABF547674BD0F19, - DC4D4D24B977FC378EBED464, - F79C97D63C8C542CFEB404DB, - 7DC4334C7DA62856B8E70B25, - 1345DCB37CEF3DCB146FE70F, - 8EFD2A73D73BDF36408CBD49, - BB1148DE7477E7B58ABD2B95, - A52038A2E61AB03CF55A3B0F, - 65BB069F659BEBCD3B62519E, - 19CBA415FA9D6E3779DBEDB5, ); name = format; sourceTree = ""; }; - 974BC61BADD9B29A454C62AF = {isa = PBXGroup; children = ( + 24D95500A234D89D76654529 = {isa = PBXGroup; children = ( 74F2DCF770F5C64372FD4247, B45645B3B2E19FB1D72B91B6, 3804B5F8CBFB5862A5EFAADE, @@ -1166,34 +1114,51 @@ 8E6F287CAEE4C6BA50E8E390, D7A2C53BADFE9FFDED204B6E, 6B5564F5E6A5B70B890C146D, ); name = codecs; sourceTree = ""; }; + FB22E1129EB99FBBDF3CA930 = {isa = PBXGroup; children = ( + B0381BEAE259ABDDE18A64B0, + 32080C8AC923C34CCE673F1F, + F6CA6BC81FCC918A9BA798CC, + 3B11B8A53BCDAD5101C491EA, + 04FBE8A67D1A67342BC49632, + 97B6D6C6FABF547674BD0F19, + DC4D4D24B977FC378EBED464, + F79C97D63C8C542CFEB404DB, + 7DC4334C7DA62856B8E70B25, + 1345DCB37CEF3DCB146FE70F, + 8EFD2A73D73BDF36408CBD49, + BB1148DE7477E7B58ABD2B95, + A52038A2E61AB03CF55A3B0F, + 65BB069F659BEBCD3B62519E, + 19CBA415FA9D6E3779DBEDB5, ); name = format; sourceTree = ""; }; 0089310BEBE29A912884F85D = {isa = PBXGroup; children = ( 328B584F47D2905BF82B8161, 1588973F0A055D4CF5D44823, ); name = sampler; sourceTree = ""; }; E399B766D2BCC53A0239F287 = {isa = PBXGroup; children = ( - 809E0731937121B02DE46FE9, - 974BC61BADD9B29A454C62AF, + 24D95500A234D89D76654529, + FB22E1129EB99FBBDF3CA930, 0089310BEBE29A912884F85D, - 20881BC337B715DEC96E7976, 2AA92DC1171DAF0BA4BB0E63, ); name = "juce_audio_formats"; sourceTree = ""; }; - E96D0837CDD1CE8B768E4077 = {isa = PBXGroup; children = ( - EE149F9075819C0132879D4C, ); name = AU; sourceTree = ""; }; - 4E83A3689ABB09F285F6FB2C = {isa = PBXGroup; children = ( + FF6962C84C09A4416E241D35 = {isa = PBXGroup; children = ( + 1BAAB47A9C5B1D76D28FA282, + DCF6DECFAD7F4D907C0458A5, ); name = AAX; sourceTree = ""; }; + CA9CDD9FB229FC0081122AF9 = {isa = PBXGroup; children = ( + 3F16A54F45ED278001F4CA09, + EE149F9075819C0132879D4C, + 833921AD05E4BAF484FC7749, ); name = AU; sourceTree = ""; }; + 41A93868E07FDB405784C52D = {isa = PBXGroup; children = ( + CD61A73C6A090CD85EC57354, 9C9DEB7FB75C42C4F47AF999, F7454AD16EE05969CCF5FD7C, 2D4B766DA1C66FA2857D80F7, - 17EC828C9226E13D4EF03E85, - 1D4AFBEC703C6F373B292D9A, 3755479207D218969425F91F, - CD61A73C6A090CD85EC57354, ); name = RTAS; sourceTree = ""; }; - D2B28401B2AF968A31121042 = {isa = PBXGroup; children = ( - 1E496F7BF3B3C59E5ECACCDE, - 8EB324480D60B3E3A81541E5, ); name = VST; sourceTree = ""; }; - 7C26271A9DCC07B765B85F37 = {isa = PBXGroup; children = ( - 6CEFF94C7852DB3BFA5E29EB, ); name = VST3; sourceTree = ""; }; - 2BA0AE934C290AE78BF7B5F4 = {isa = PBXGroup; children = ( - 1BAAB47A9C5B1D76D28FA282, - DCF6DECFAD7F4D907C0458A5, ); name = AAX; sourceTree = ""; }; - B6DB58CA96E5A337FBF7C778 = {isa = PBXGroup; children = ( + EE6F571594A37A3140567E44, + B2C63A38FE69126E8864B32D, + 17EC828C9226E13D4EF03E85, + 1D4AFBEC703C6F373B292D9A, ); name = RTAS; sourceTree = ""; }; + 63FA994948FB2CC6B1746D93 = {isa = PBXGroup; children = ( + 12D74EEE2F7F5D8E17C746EA, + A13CE6DC3E31158D49337C8F, ); name = Standalone; sourceTree = ""; }; + 139649376A0174D40DD80EDB = {isa = PBXGroup; children = ( 7B870EE6D43B984CADE69C28, 94AA9AF4939F914AD00CEE1F, 58CEA1474B2E77B7287D735B, @@ -1203,16 +1168,38 @@ 841B6783475386C5471CA039, 8C0D1A1E000E47D09B771963, 7E588E8934AFA6EA5C58C133, ); name = utility; sourceTree = ""; }; + 4E4B8BA97D34BECAF631D4BF = {isa = PBXGroup; children = ( + 1E496F7BF3B3C59E5ECACCDE, + 8EB324480D60B3E3A81541E5, ); name = VST; sourceTree = ""; }; + AAE270C1FB8462C34B060812 = {isa = PBXGroup; children = ( + 6CEFF94C7852DB3BFA5E29EB, ); name = VST3; sourceTree = ""; }; 09C66663E0BF7CD43C73C7E6 = {isa = PBXGroup; children = ( - E96D0837CDD1CE8B768E4077, - 4E83A3689ABB09F285F6FB2C, - D2B28401B2AF968A31121042, - 7C26271A9DCC07B765B85F37, - 2BA0AE934C290AE78BF7B5F4, - B6DB58CA96E5A337FBF7C778, - 76781D53929F0C91E6FA34A9, + FF6962C84C09A4416E241D35, + CA9CDD9FB229FC0081122AF9, + 41A93868E07FDB405784C52D, + 63FA994948FB2CC6B1746D93, + 139649376A0174D40DD80EDB, + 4E4B8BA97D34BECAF631D4BF, + AAE270C1FB8462C34B060812, E65E231978B796AA7868DC4A, ); name = "juce_audio_plugin_client"; sourceTree = ""; }; - 57F611C99ED4CDF784F6A28F = {isa = PBXGroup; children = ( + EB73F9E36C12702D48CD64D6 = {isa = PBXGroup; children = ( + 21764164C5B41690F1BC3861, + 87BE12FCBC4C554059FA344F, + 9120B03E05E369128056F1F0, + 37CF7FCCB543B5B240957BCD, ); name = format; sourceTree = ""; }; + 9F1342C911525A1EE41236B8 = {isa = PBXGroup; children = ( + 104CC5F094E0B3D1D3055D04, + A9B46A5FF98D7B9DF8598C12, + C19323831CE86566D60C725E, + 9A6686BC6FC38F6D1917D7C7, + 807E89E43737DE8DB65A4179, + 6A72E46DBDCFAD6F7039E739, + F6AE333028FC864D4653A7B5, + 070E3EFE91BE8407EE1EBD8C, + A9C466FBA4FCF6484BCF86A2, + 6501BB1AAFD5B3DC4A783F85, + CC04A3CE3003C0A0AB35A7AF, ); name = "format_types"; sourceTree = ""; }; + 77542FEDA9F87CC21A4A5809 = {isa = PBXGroup; children = ( 1C49A0C6E4032A29D5C05616, BA1BCEDEEAF68692BF1456EC, F2C36FA2223ED743551F79C9, @@ -1229,23 +1216,6 @@ 0294A7C8FF1EB1FF9E2D96AF, 4F54F099B1373706B52E5774, 3AA84EBD59A4CBE7E32FB0F3, ); name = processors; sourceTree = ""; }; - DE2D30F6EDB78DD337828AA7 = {isa = PBXGroup; children = ( - 21764164C5B41690F1BC3861, - 87BE12FCBC4C554059FA344F, - 9120B03E05E369128056F1F0, - 37CF7FCCB543B5B240957BCD, ); name = format; sourceTree = ""; }; - 7450EAA187AB6D36E5F6F11B = {isa = PBXGroup; children = ( - 104CC5F094E0B3D1D3055D04, - A9B46A5FF98D7B9DF8598C12, - C19323831CE86566D60C725E, - 9A6686BC6FC38F6D1917D7C7, - 807E89E43737DE8DB65A4179, - 6A72E46DBDCFAD6F7039E739, - F6AE333028FC864D4653A7B5, - 070E3EFE91BE8407EE1EBD8C, - A9C466FBA4FCF6484BCF86A2, - 6501BB1AAFD5B3DC4A783F85, - CC04A3CE3003C0A0AB35A7AF, ); name = "format_types"; sourceTree = ""; }; B5242639EE449DC3689F0BC5 = {isa = PBXGroup; children = ( A122A2AB08B82B5AF1FF4D0A, C3077A9A84263C3B2B230B0D, @@ -1263,12 +1233,11 @@ EDCAFA62D6F311A9AEC4B30E, 6AA71F4B531421F7440E7F51, ); name = utilities; sourceTree = ""; }; 21F2BD5969F182FE6DAAD73F = {isa = PBXGroup; children = ( - 57F611C99ED4CDF784F6A28F, - DE2D30F6EDB78DD337828AA7, - 7450EAA187AB6D36E5F6F11B, + EB73F9E36C12702D48CD64D6, + 9F1342C911525A1EE41236B8, + 77542FEDA9F87CC21A4A5809, B5242639EE449DC3689F0BC5, 61791F090B4BBD0F9D880E7F, - 448D9DAF51E9FDC76DAFD913, 19D63B88BE3B2620D7EB8489, ); name = "juce_audio_processors"; sourceTree = ""; }; 224AA427916F585D0B62D5C4 = {isa = PBXGroup; children = ( E7A0D2A3AAD8192B65EB0141, @@ -1285,73 +1254,21 @@ C90ACF4B16E6855611566B5D, 04555664F9106966CC7A7C16, 54DD8BD688BB54E3F94A19A3, ); name = gui; sourceTree = ""; }; - 28D4491AD7DF7381B2F1CBF4 = {isa = PBXGroup; children = ( - 745D6A06B95F8E9CAFBB0CC8, - DCB5B59D3F5E1075E42DC5AE, ); name = players; sourceTree = ""; }; - BAE9051FB27E175CB311EE1D = {isa = PBXGroup; children = ( + DD7C264C274176C35C6A4861 = {isa = PBXGroup; children = ( 663CDC4A9E07B34A18A29728, A2D59E253587CE9B51AE237F, B95709CE3D050593127765EB, 4266C9A95DBB52D7785F745A, 763780974CDC5E25D0B33885, ); name = native; sourceTree = ""; }; + 09C9DA15AE5DF909A59D9737 = {isa = PBXGroup; children = ( + 745D6A06B95F8E9CAFBB0CC8, + DCB5B59D3F5E1075E42DC5AE, ); name = players; sourceTree = ""; }; E97FDE56AE740B64914F3C58 = {isa = PBXGroup; children = ( 224AA427916F585D0B62D5C4, - 28D4491AD7DF7381B2F1CBF4, - BAE9051FB27E175CB311EE1D, - B57D00796D30ECB2DE58035F, + DD7C264C274176C35C6A4861, + 09C9DA15AE5DF909A59D9737, 02730AF84C6233FF32A972D7, ); name = "juce_audio_utils"; sourceTree = ""; }; - 5AFB7C8CB5C472738A01831A = {isa = PBXGroup; children = ( - 7FF5210721E8283D8466439E, - 0FFE9DEC94D4019882CE3F85, - 348338470F2AA582F91FA876, - D0406C91AA87E22F071648A8, - 9F18A1B29A4BFC7EE7B28E11, - EE6030D7677731D8C2B14CA9, - E52A19CA27A82BB3ECD76B63, - A2F1B4E1DE5CAA9FB76C01B6, - EBF5AAA742C6D9C3DE7BA2CC, - F188FC9EF3044E289A343F7E, - C3053B347C5516757CE76653, - FA3E17F26069CEE1F5C1DBF3, - B43E810ABF9939F0F6E76318, - 36EDB9DCF2D5260319028905, - C66971823D34B6CC6C72A0D0, - 70D113696646BD43B4D0C3A6, - F7E2FB533BCB2C8831276D22, - EDC019B897AE281105783BFD, - 988CB13161D84307D53770D7, - D39E8327482025C181E2646E, - 8E8EF7A3035A5F657E18814C, - C507A853557D8CA51377907F, - 4912E679D7789579BDF68CBE, - 5BE5D2C8BD79AA4B1D2A24D3, ); name = text; sourceTree = ""; }; - 41AB523E67C8F9D07AEC9388 = {isa = PBXGroup; children = ( - 1FBFF2D9043296E1E09DE156, - 09B7DC8014BDE32E84BF1BA9, - 8679C1E8886DA7A3F4DE2B54, - 428A63EBD85C3438EF016787, - 002643D66417E4FFF5CC516A, - 6F3D3E06535036A4B1779FDD, - FC86721DEC71B944CA1E6713, - 266658E487644AA71E02E85E, - DCC99A76773B6C721B867379, - 5EA18059A01A0717DEB3A2B1, ); name = maths; sourceTree = ""; }; - 4EA6FCA85C8A43A74F1ADAC4 = {isa = PBXGroup; children = ( - 45C2C296C9A745B292F49C65, - EA906B8480C7585912B627B1, - C225F19773D773E87469FBF7, - E17DC39B0FEF7C385323EF82, - 1C7E45B063CBDED867290BE4, - C0BC3E52B08C2805E9509E7E, - 70BA280499987A1D14FCB1A3, - 0703B6BD13EE29BD0422263D, - E04D8B4BAEB817D520C2EF4A, - 86B1672E14AD6F060FF57BB1, - 8BBD921B5A82DB52E6842A1B, - 595ABB3C5072077C8009AB03, - D2724DFF5CF142D5264EE85B, - 9F9AC54CF90FDB770E5FCA03, ); name = memory; sourceTree = ""; }; - 94AD627E1726C9B93F8269D8 = {isa = PBXGroup; children = ( + 58657C6FC56BE55CEDE23D54 = {isa = PBXGroup; children = ( F476BAB4502F22EA32E6F92F, 1DBB870CC15ABC104A9AA5C7, 3317E609D23F067C53536AB5, @@ -1373,37 +1290,7 @@ F74005802C3B92DB086A069A, A21E0C7AD5B7950C37912A31, 860A5DE9C290324E42D40651, ); name = containers; sourceTree = ""; }; - E802C40FF09B6C13F175108C = {isa = PBXGroup; children = ( - 638529017F951968169C5C4A, - 94D07EE2982807A4BB2E0CBB, - 40C5B7300EBBF52E3B7FD402, - 5F47E3BCF3552B114668A2EC, - CF9911FF44333EF9154A6141, - 482AC6984EED1002DB1A947A, - 7351C5BCC28D3841605EEBEC, - D52B98A8B835644ED4EB7CC9, - 06203A4DF1A0E20BCF45CB7E, - A2605C2C8D583851AD65025E, - D26A70A47DEDA6B53AFAA6A1, - 58CEDDC16E6A5293A4F81E84, - B34E109560D77640B7648C4D, - 07FBBCECF4C212D67AD71FFD, - 59968E95CF78A0E8A03B1DA1, - D8F9FCA9940730EDBD37CD80, - B9BDF0A1E699EA2D3549664E, - 5B1856ED91BE34FECEF71882, - 014D028CBF01E01B77B47189, - DFDEE243F607A7A7C2762D41, - EED2AEDB27E7562C4DCFA637, - 66655117FFCCE11F3AE46791, ); name = threads; sourceTree = ""; }; - 3831C06F86BF5974C671A05B = {isa = PBXGroup; children = ( - 35AFE1E124E99572CBA1F46D, - 34E85C705D44CE5A96255783, - 1BA3CC8191E979B1E7A43B88, - 0239743632D39327CB0D41D5, - 33834CE0CBF515B3B0ABEFBE, - F1AEABA4328F3356EB9104CC, ); name = time; sourceTree = ""; }; - 060B52F876AE1DDEFE19D587 = {isa = PBXGroup; children = ( + FC05ACC4F5AC485FF726F5D6 = {isa = PBXGroup; children = ( 0045658D26F88B490908C99B, D61536C96044EF9D6AC724F7, 00E703C0911F94E5763C536B, @@ -1421,66 +1308,43 @@ BB84A0B296CFBF17FAF145B0, C854266C28A55C3F34489746, F18D5EDA538805865D2F8378, ); name = files; sourceTree = ""; }; - 497093904341F27E7F81F39C = {isa = PBXGroup; children = ( - 2036975FC5AA528303B4E837, - BD8E1F131237E716EC029375, - 9DDEAA3563BE5304457DBE4B, - 5CC9E5327AB45BC5E12E7C49, - 4CE2C5B8F3B9176330D7E38D, - FB467808D080ECD1FB32E440, - D2B566B69C9046D46EB8289C, - 62421FC040737EACE584486E, - 56BFD67859B81D9E53F5B727, - 489EA9E664A2157AC01C2F94, ); name = network; sourceTree = ""; }; - 9A18620EAD5C6C023D1142DD = {isa = PBXGroup; children = ( - 115FCA1C09C15AD7EB4AC87C, - DF693A14980C1E9D122E98F2, - C10968CE398AF92E9A5D68C4, - 464FB7FCF24EAA87AE670472, - 8D9F2E08F3381BE4A60F28C4, - 3B22E720E83CBDCC315A038F, - 92A42EEE90DC70E7D922E9C1, - 82D8099FDD46339EF81ADC57, - 657E623AEF2E10271FE918B3, - 4999A3C6B9B1FCE2FA75E26B, - EFD8E22899758751230A8590, - 9B9120565A012610018CC7DE, - CD5EC6CF2615599D8330BDC8, - B287E8FA86ED37F618F0ABC2, - B8B760CB559864834CC9AB32, ); name = streams; sourceTree = ""; }; - F316C9E586A50AE7655F35C5 = {isa = PBXGroup; children = ( - 02077428792969D94C0A09E0, - 9F6358285E5D9F734FB54D8D, - 210FC90993B49F9206A62F02, - 376742758A9CEDA05995AF51, ); name = logging; sourceTree = ""; }; - E47A9EE180065B1B5071ED03 = {isa = PBXGroup; children = ( - 87FA97D4268B5DAE05BAD596, - 1CC63825EF38EC63EE2196E1, - 43D4EC44A89A4A7399D16ECD, - 800FF1496E97C4019E9B8B6B, - 2582AB72BF5CE5284C1D2889, - C6D4B0865226D31054D89B47, ); name = system; sourceTree = ""; }; - 16D6E39183DA447C9C3AC340 = {isa = PBXGroup; children = ( - 7D5CFA5B4C64986B875C71DC, - CCDF047576A0F3C39645844E, - 82C8DD36FD45CF3CC8BC2819, - 5A8AD212201DBF31CCA7ECBB, ); name = xml; sourceTree = ""; }; - 12023CB03FD3DF37ED482394 = {isa = PBXGroup; children = ( + 567ADD89307B25EE06067813 = {isa = PBXGroup; children = ( 0744FC9F0D2B00B97F42D90F, 9F39E3DC6F699109EC3A2432, 2E742E5F322F63D5E8C48C0D, F59C7048ABCC39348397300F, ); name = javascript; sourceTree = ""; }; - 608565DC984608E52AF79517 = {isa = PBXGroup; children = ( - 2FBEA375F39FFA44911F043B, - 7AC8B40A09251FDC9D75053A, - C07E0C3892EB120D00DA416A, - DAB8939B0462BAD66A91F111, - 705AC662E310AC822FDEA734, - 054E5979D5991DBAAB798EB0, ); name = zip; sourceTree = ""; }; - 9A4514936139B26DAE932011 = {isa = PBXGroup; children = ( - 3D33773DB5397CBBF4A8C18F, - D946B5ADFE4FBE4D9EEFD068, ); name = "unit_tests"; sourceTree = ""; }; - 2C28CF5060F79F4D6645A8AD = {isa = PBXGroup; children = ( + 0DE06E097A9C614C5580BFFA = {isa = PBXGroup; children = ( + 02077428792969D94C0A09E0, + 9F6358285E5D9F734FB54D8D, + 210FC90993B49F9206A62F02, + 376742758A9CEDA05995AF51, ); name = logging; sourceTree = ""; }; + E9E586B11DED59623295BC57 = {isa = PBXGroup; children = ( + 1FBFF2D9043296E1E09DE156, + 09B7DC8014BDE32E84BF1BA9, + 8679C1E8886DA7A3F4DE2B54, + 428A63EBD85C3438EF016787, + 002643D66417E4FFF5CC516A, + 6F3D3E06535036A4B1779FDD, + FC86721DEC71B944CA1E6713, + 266658E487644AA71E02E85E, + DCC99A76773B6C721B867379, + 5EA18059A01A0717DEB3A2B1, ); name = maths; sourceTree = ""; }; + ED87B4D74242C32DEC811CB3 = {isa = PBXGroup; children = ( + 45C2C296C9A745B292F49C65, + EA906B8480C7585912B627B1, + C225F19773D773E87469FBF7, + E17DC39B0FEF7C385323EF82, + 1C7E45B063CBDED867290BE4, + C0BC3E52B08C2805E9509E7E, + 70BA280499987A1D14FCB1A3, + 0703B6BD13EE29BD0422263D, + E04D8B4BAEB817D520C2EF4A, + 86B1672E14AD6F060FF57BB1, + 8BBD921B5A82DB52E6842A1B, + 595ABB3C5072077C8009AB03, + D2724DFF5CF142D5264EE85B, + 9F9AC54CF90FDB770E5FCA03, ); name = memory; sourceTree = ""; }; + FF1B47EDC2AB73020418AEBF = {isa = PBXGroup; children = ( 92E01BD6F9DD874F968F3CB7, 077868026EE8ADEC275EF534, 3B249B30B7AFA3BA068B9BF3, @@ -1488,7 +1352,7 @@ 63FF6149DFC67E9D00C61FC3, BBECA9EB9DD3C9B6CB04B10A, 7763B76C3E036AC3C028DBAC, ); name = misc; sourceTree = ""; }; - 24F6C91D77E7B317563CF657 = {isa = PBXGroup; children = ( + 5561036D46838A111745A38C = {isa = PBXGroup; children = ( 073544D5D22C9975CC308E48, BF0AB490EC0556BE60CDA25A, 29BA2BABEFBB624A9EEE83F3, @@ -1518,49 +1382,167 @@ FB4DDE79084ACB2CDF371625, D566C6446B859B69FC385685, 5AD124D00EAD6A1EB57C8EDF, ); name = native; sourceTree = ""; }; + EC06A858BB67569DB37F3D1D = {isa = PBXGroup; children = ( + 2036975FC5AA528303B4E837, + BD8E1F131237E716EC029375, + 9DDEAA3563BE5304457DBE4B, + 5CC9E5327AB45BC5E12E7C49, + 4CE2C5B8F3B9176330D7E38D, + FB467808D080ECD1FB32E440, + D2B566B69C9046D46EB8289C, + 62421FC040737EACE584486E, + 56BFD67859B81D9E53F5B727, + 489EA9E664A2157AC01C2F94, ); name = network; sourceTree = ""; }; + 9419DAD729545F7B43100EC4 = {isa = PBXGroup; children = ( + 115FCA1C09C15AD7EB4AC87C, + DF693A14980C1E9D122E98F2, + C10968CE398AF92E9A5D68C4, + 464FB7FCF24EAA87AE670472, + 8D9F2E08F3381BE4A60F28C4, + 3B22E720E83CBDCC315A038F, + 92A42EEE90DC70E7D922E9C1, + 82D8099FDD46339EF81ADC57, + 657E623AEF2E10271FE918B3, + 4999A3C6B9B1FCE2FA75E26B, + EFD8E22899758751230A8590, + 9B9120565A012610018CC7DE, + CD5EC6CF2615599D8330BDC8, + B287E8FA86ED37F618F0ABC2, + B8B760CB559864834CC9AB32, ); name = streams; sourceTree = ""; }; + E47A9EE180065B1B5071ED03 = {isa = PBXGroup; children = ( + 87FA97D4268B5DAE05BAD596, + 1CC63825EF38EC63EE2196E1, + 43D4EC44A89A4A7399D16ECD, + 800FF1496E97C4019E9B8B6B, + 2582AB72BF5CE5284C1D2889, + C6D4B0865226D31054D89B47, ); name = system; sourceTree = ""; }; + C89DE902C844033E3700B9EA = {isa = PBXGroup; children = ( + 7FF5210721E8283D8466439E, + 0FFE9DEC94D4019882CE3F85, + 348338470F2AA582F91FA876, + D0406C91AA87E22F071648A8, + 9F18A1B29A4BFC7EE7B28E11, + EE6030D7677731D8C2B14CA9, + E52A19CA27A82BB3ECD76B63, + A2F1B4E1DE5CAA9FB76C01B6, + EBF5AAA742C6D9C3DE7BA2CC, + F188FC9EF3044E289A343F7E, + C3053B347C5516757CE76653, + FA3E17F26069CEE1F5C1DBF3, + B43E810ABF9939F0F6E76318, + 36EDB9DCF2D5260319028905, + C66971823D34B6CC6C72A0D0, + 70D113696646BD43B4D0C3A6, + F7E2FB533BCB2C8831276D22, + EDC019B897AE281105783BFD, + 988CB13161D84307D53770D7, + D39E8327482025C181E2646E, + 8E8EF7A3035A5F657E18814C, + C507A853557D8CA51377907F, + 4912E679D7789579BDF68CBE, + 5BE5D2C8BD79AA4B1D2A24D3, ); name = text; sourceTree = ""; }; + 8A2578E4BB704D634E97792E = {isa = PBXGroup; children = ( + 638529017F951968169C5C4A, + 94D07EE2982807A4BB2E0CBB, + 40C5B7300EBBF52E3B7FD402, + 5F47E3BCF3552B114668A2EC, + CF9911FF44333EF9154A6141, + 482AC6984EED1002DB1A947A, + 7351C5BCC28D3841605EEBEC, + D52B98A8B835644ED4EB7CC9, + 06203A4DF1A0E20BCF45CB7E, + A2605C2C8D583851AD65025E, + D26A70A47DEDA6B53AFAA6A1, + 58CEDDC16E6A5293A4F81E84, + B34E109560D77640B7648C4D, + 07FBBCECF4C212D67AD71FFD, + 59968E95CF78A0E8A03B1DA1, + D8F9FCA9940730EDBD37CD80, + B9BDF0A1E699EA2D3549664E, + 5B1856ED91BE34FECEF71882, + 014D028CBF01E01B77B47189, + DFDEE243F607A7A7C2762D41, + EED2AEDB27E7562C4DCFA637, + 66655117FFCCE11F3AE46791, ); name = threads; sourceTree = ""; }; + 4ED3E2FE082B96AD69BF31F2 = {isa = PBXGroup; children = ( + 35AFE1E124E99572CBA1F46D, + 34E85C705D44CE5A96255783, + 1BA3CC8191E979B1E7A43B88, + 0239743632D39327CB0D41D5, + 33834CE0CBF515B3B0ABEFBE, + F1AEABA4328F3356EB9104CC, ); name = time; sourceTree = ""; }; + 9A4514936139B26DAE932011 = {isa = PBXGroup; children = ( + 3D33773DB5397CBBF4A8C18F, + D946B5ADFE4FBE4D9EEFD068, ); name = "unit_tests"; sourceTree = ""; }; + FBB2076AE3FA0466A6DE9D83 = {isa = PBXGroup; children = ( + 7D5CFA5B4C64986B875C71DC, + CCDF047576A0F3C39645844E, + 82C8DD36FD45CF3CC8BC2819, + 5A8AD212201DBF31CCA7ECBB, ); name = xml; sourceTree = ""; }; + 499FF5D5C26C705364798936 = {isa = PBXGroup; children = ( + 2FBEA375F39FFA44911F043B, + 7AC8B40A09251FDC9D75053A, + C07E0C3892EB120D00DA416A, + DAB8939B0462BAD66A91F111, + 705AC662E310AC822FDEA734, + 054E5979D5991DBAAB798EB0, ); name = zip; sourceTree = ""; }; C1EE14677285B18D9A5E400E = {isa = PBXGroup; children = ( - 5AFB7C8CB5C472738A01831A, - 41AB523E67C8F9D07AEC9388, - 4EA6FCA85C8A43A74F1ADAC4, - 94AD627E1726C9B93F8269D8, - E802C40FF09B6C13F175108C, - 3831C06F86BF5974C671A05B, - 060B52F876AE1DDEFE19D587, - 497093904341F27E7F81F39C, - 9A18620EAD5C6C023D1142DD, - F316C9E586A50AE7655F35C5, + 58657C6FC56BE55CEDE23D54, + FC05ACC4F5AC485FF726F5D6, + 567ADD89307B25EE06067813, + 0DE06E097A9C614C5580BFFA, + E9E586B11DED59623295BC57, + ED87B4D74242C32DEC811CB3, + FF1B47EDC2AB73020418AEBF, + 5561036D46838A111745A38C, + EC06A858BB67569DB37F3D1D, + 9419DAD729545F7B43100EC4, E47A9EE180065B1B5071ED03, - 16D6E39183DA447C9C3AC340, - 12023CB03FD3DF37ED482394, - 608565DC984608E52AF79517, + C89DE902C844033E3700B9EA, + 8A2578E4BB704D634E97792E, + 4ED3E2FE082B96AD69BF31F2, 9A4514936139B26DAE932011, - 2C28CF5060F79F4D6645A8AD, - 24F6C91D77E7B317563CF657, - 8EBE02D4EB0AEDC03E88FBC4, + FBB2076AE3FA0466A6DE9D83, + 499FF5D5C26C705364798936, 3CF3DD56A6406D15F1F52FAD, ); name = "juce_core"; sourceTree = ""; }; - D5F3F85784B179A9C11D3478 = {isa = PBXGroup; children = ( + C40D77446284BAE58737DEC7 = {isa = PBXGroup; children = ( + D60BFFB83E29FDE033AE4037, + 55607B89BB15CE19B6E397E2, + 7B2A0D30289D548DCF3AC985, + 04F7098D328A593B1EC368F4, ); name = "app_properties"; sourceTree = ""; }; + 41E9EB0F61F4528C22A32D7F = {isa = PBXGroup; children = ( + FBB1DA0C78CE77083FDC9998, + 00A45583A3FEF005232FE1BE, + 8C1A068D665727680931F85C, ); name = undomanager; sourceTree = ""; }; + 56299AE4ED1A8C9BA5A8CBC7 = {isa = PBXGroup; children = ( E7F81A4E46A42195F42C958D, 5F682655C41C68A533D15D5C, F77D9503EBAE4EFF3E9E8C28, DBEA8C45A32E4462BADEF57C, FFA32C4181B665EF67560C26, 922072F4C5051D654A2EF323, ); name = values; sourceTree = ""; }; - 41E9EB0F61F4528C22A32D7F = {isa = PBXGroup; children = ( - FBB1DA0C78CE77083FDC9998, - 00A45583A3FEF005232FE1BE, - 8C1A068D665727680931F85C, ); name = undomanager; sourceTree = ""; }; - 497D767657505B952B13D9D7 = {isa = PBXGroup; children = ( - D60BFFB83E29FDE033AE4037, - 55607B89BB15CE19B6E397E2, - 7B2A0D30289D548DCF3AC985, - 04F7098D328A593B1EC368F4, ); name = "app_properties"; sourceTree = ""; }; E2967416E31A5CACFF51084A = {isa = PBXGroup; children = ( - D5F3F85784B179A9C11D3478, + C40D77446284BAE58737DEC7, 41E9EB0F61F4528C22A32D7F, - 497D767657505B952B13D9D7, - 7E1239926CC4A760AE07FF37, + 56299AE4ED1A8C9BA5A8CBC7, EA6921266422F00734EF49B9, ); name = "juce_data_structures"; sourceTree = ""; }; - 1B4DD0D791A78B82D5FEE6A9 = {isa = PBXGroup; children = ( + 00101867BABAF174CD693A5F = {isa = PBXGroup; children = ( + 899ACC40FF89BB35307F3BAC, + 76D55C11232DE62691A084B6, + 090E68CDF051FAE89936CF61, + 1EC0F9F4EC617BA4C2217C2C, + 8666735F07F6A57C7DC678F6, + 8579E65E901E18ACD9A0848D, + AD4C568CF5706BEDBE181243, + F302B7C39A83E5A4AE2EC4E3, ); name = broadcasters; sourceTree = ""; }; + CF9FDCB40635070908836C2E = {isa = PBXGroup; children = ( + 1A96F1E0E0A6A7DB0603D5C8, + C70ABA533CBEB959E6CFF847, + D31F482B187CD223349E6A18, + 4010F841656A5089C77590C6, + 06F651E38334660DCFCD6D2D, + A7A527D783D3B38F455964D4, ); name = interprocess; sourceTree = ""; }; + 162C7C420D254846325E3BE7 = {isa = PBXGroup; children = ( F3102DB72C0E15DD22D05E8D, 322A19A7DAB9F2840598D2E6, E7EE2DFC483DD254C543EA60, @@ -1574,28 +1556,7 @@ 88336AF4E2605BF6518D758B, EC155D21E24BFC61E5205344, E17D748AFC16FE1A43B4B41B, ); name = messages; sourceTree = ""; }; - 8CD59EDCCDC70063E783C6AD = {isa = PBXGroup; children = ( - 070F39D84506BCDF7C5CBA26, - 9E9B102253DEDFE00673F715, - 070440AAAFFBE88D39492FC4, - 0A398AC4D2124027CD618ED0, ); name = timers; sourceTree = ""; }; - 3C1D04A45AA2A51D5BBEA5F8 = {isa = PBXGroup; children = ( - 899ACC40FF89BB35307F3BAC, - 76D55C11232DE62691A084B6, - 090E68CDF051FAE89936CF61, - 1EC0F9F4EC617BA4C2217C2C, - 8666735F07F6A57C7DC678F6, - 8579E65E901E18ACD9A0848D, - AD4C568CF5706BEDBE181243, - F302B7C39A83E5A4AE2EC4E3, ); name = broadcasters; sourceTree = ""; }; - A8BADCBB07E1A586F1A2798D = {isa = PBXGroup; children = ( - 1A96F1E0E0A6A7DB0603D5C8, - C70ABA533CBEB959E6CFF847, - D31F482B187CD223349E6A18, - 4010F841656A5089C77590C6, - 06F651E38334660DCFCD6D2D, - A7A527D783D3B38F455964D4, ); name = interprocess; sourceTree = ""; }; - A31689B591C11B884AB086C9 = {isa = PBXGroup; children = ( + CA98A2F8304786200A662BE5 = {isa = PBXGroup; children = ( 3C3B97E53D481B74892572D5, 077E39BD4365098B13F2F29B, 8983E39490E8EF99EB09C783, @@ -1604,13 +1565,17 @@ C5ED4BF4E575F3A98F08FADA, 8AEC8C684E53D6E14FC97605, 5C7825FEE1CBF90AC0E3FE84, ); name = native; sourceTree = ""; }; + E51CBCAF6690C23606A4C8A5 = {isa = PBXGroup; children = ( + 070F39D84506BCDF7C5CBA26, + 9E9B102253DEDFE00673F715, + 070440AAAFFBE88D39492FC4, + 0A398AC4D2124027CD618ED0, ); name = timers; sourceTree = ""; }; CFBF4D0CCCCAC57232361ABE = {isa = PBXGroup; children = ( - 1B4DD0D791A78B82D5FEE6A9, - 8CD59EDCCDC70063E783C6AD, - 3C1D04A45AA2A51D5BBEA5F8, - A8BADCBB07E1A586F1A2798D, - A31689B591C11B884AB086C9, - 0547751961BC7A378D0AD4A1, + 00101867BABAF174CD693A5F, + CF9FDCB40635070908836C2E, + 162C7C420D254846325E3BE7, + CA98A2F8304786200A662BE5, + E51CBCAF6690C23606A4C8A5, 2ED0AAA25547A92DFAA668F3, ); name = "juce_events"; sourceTree = ""; }; 07D63FE21B0E6CB624B00E8D = {isa = PBXGroup; children = ( 20E3F95E25915E7F53F37113, @@ -1630,19 +1595,25 @@ 709C82A5435B2B3933ED5343, CDF45007C8A5A83E55EE7BE3, 28C68586E6A2C95B2BC007DA, ); name = contexts; sourceTree = ""; }; - B6C2C6FE733DB9A4ED6BA1B7 = {isa = PBXGroup; children = ( - 7FC7CEB38599EFE7846E462B, - D79B9A384D018B252B6C4D6B, - 137EEC7324A15E7724AEB4C7, - B8B25605AB1A04A8AE545227, - 6DD7B1CA8F5F2857F2210D04, - 2AA4939A70E1E1D6B907DA87, - 09E3A8B261601635DF9D9B44, - 8EEBF8E96D19ED9C4EE63BB4, ); name = images; sourceTree = ""; }; - 064153B1CD3249DC6EF32E8D = {isa = PBXGroup; children = ( - DBFEFB5A6C80C7BA4F30E668, - 10A49DD74F3FB9E69FC989B9, - 1F60FF59922FECB5CD789D48, ); name = "image_formats"; sourceTree = ""; }; + E8CCBA59B44D49779E3DE6C9 = {isa = PBXGroup; children = ( + FAC7CCF2EF58D03CB59F673C, + 15A4CCD9171AC94932E836D2, + 96C79B505CA4FD6FFDC28D94, + 35F57A1FB7A15A5374251F97, + 3B6F2FAF5ADD1BE0014C7952, ); name = effects; sourceTree = ""; }; + 5C8E3A7E365C3754FB88623A = {isa = PBXGroup; children = ( + 7729ACF65D9863D2582C3ED8, + B9BE6469604B9D3252EFA7E7, + B57C430D154C1C86350F246A, + 0E87CC46EB3070AD4D904EF5, + F04CF5D4410243EF3DEDBEB8, + 57EC076E7DD4D261CBCC3CCA, + 3F89076A842128643D3E2F3D, + AE3C497B58239EA75FD18AD9, + E30BFE6552613CAFCDAED97A, + 31CF7913899F89982EFBFE3E, + 65E005154EAE1F3348AD94F7, + BF8E023672A8CB49C6F3336D, ); name = fonts; sourceTree = ""; }; F77A1A5E3B017845E0F56FAE = {isa = PBXGroup; children = ( 8F0F7BDEF446B02097ACA89A, DFF5523D4F5396F98114B642, @@ -1659,30 +1630,20 @@ 4514B5F7DBC9B5A3E014C4CA, 5EE4BB25075E3ACDCFCE14D2, A1A74C33F871DF7D5E3C4B65, ); name = geometry; sourceTree = ""; }; - 81AE068FB11A7B2265764318 = {isa = PBXGroup; children = ( - 177932A52C416930EAB2A2F4, - EDD6B4608C8E4C7E7581489D, - E95E53ABEA2884BA27EF0545, ); name = placement; sourceTree = ""; }; - A6DB78E18DD0399D8FA6881E = {isa = PBXGroup; children = ( - 7729ACF65D9863D2582C3ED8, - B9BE6469604B9D3252EFA7E7, - B57C430D154C1C86350F246A, - 0E87CC46EB3070AD4D904EF5, - F04CF5D4410243EF3DEDBEB8, - 57EC076E7DD4D261CBCC3CCA, - 3F89076A842128643D3E2F3D, - AE3C497B58239EA75FD18AD9, - E30BFE6552613CAFCDAED97A, - 31CF7913899F89982EFBFE3E, - 65E005154EAE1F3348AD94F7, - BF8E023672A8CB49C6F3336D, ); name = fonts; sourceTree = ""; }; - 28900D9BBE80F47735F2D6F4 = {isa = PBXGroup; children = ( - FAC7CCF2EF58D03CB59F673C, - 15A4CCD9171AC94932E836D2, - 96C79B505CA4FD6FFDC28D94, - 35F57A1FB7A15A5374251F97, - 3B6F2FAF5ADD1BE0014C7952, ); name = effects; sourceTree = ""; }; - BBE6C58C596F072829018ADA = {isa = PBXGroup; children = ( + 2B0B1C618E5FFE006737234F = {isa = PBXGroup; children = ( + DBFEFB5A6C80C7BA4F30E668, + 10A49DD74F3FB9E69FC989B9, + 1F60FF59922FECB5CD789D48, ); name = "image_formats"; sourceTree = ""; }; + 7E7BF2A17DBF0494279D757F = {isa = PBXGroup; children = ( + 7FC7CEB38599EFE7846E462B, + D79B9A384D018B252B6C4D6B, + 137EEC7324A15E7724AEB4C7, + B8B25605AB1A04A8AE545227, + 6DD7B1CA8F5F2857F2210D04, + 2AA4939A70E1E1D6B907DA87, + 09E3A8B261601635DF9D9B44, + 8EEBF8E96D19ED9C4EE63BB4, ); name = images; sourceTree = ""; }; + AB46958EE249E5F24311BDBB = {isa = PBXGroup; children = ( EE1708227B48B586BE17D06B, F596A54E653F32C4C3A41F5B, 322DE76903F886C1711EB272, @@ -1696,19 +1657,54 @@ 7F38C9D398788039FD8CAF23, D722F49E225A9A47AA348628, 78959840E3EF9DC06998BB42, ); name = native; sourceTree = ""; }; + B01004AD29F554E88525F1F0 = {isa = PBXGroup; children = ( + 177932A52C416930EAB2A2F4, + EDD6B4608C8E4C7E7581489D, + E95E53ABEA2884BA27EF0545, ); name = placement; sourceTree = ""; }; F0F89564A3784EB052CEE01B = {isa = PBXGroup; children = ( 07D63FE21B0E6CB624B00E8D, 54558F9734B478C2D833ECC3, - B6C2C6FE733DB9A4ED6BA1B7, - 064153B1CD3249DC6EF32E8D, + E8CCBA59B44D49779E3DE6C9, + 5C8E3A7E365C3754FB88623A, F77A1A5E3B017845E0F56FAE, - 81AE068FB11A7B2265764318, - A6DB78E18DD0399D8FA6881E, - 28900D9BBE80F47735F2D6F4, - BBE6C58C596F072829018ADA, - 79B3B7E2DD82AB16C411D9E0, + 2B0B1C618E5FFE006737234F, + 7E7BF2A17DBF0494279D757F, + AB46958EE249E5F24311BDBB, + B01004AD29F554E88525F1F0, E9B20812DF15AC01D00FAFF5, ); name = "juce_graphics"; sourceTree = ""; }; - 644A6B4EE1701D8441A41B49 = {isa = PBXGroup; children = ( + B5A13D0414AE3ACE5F1AE91A = {isa = PBXGroup; children = ( + 0F7BF61F0D28902628F73968, + 478CC6FC61862445DD8B872E, ); name = application; sourceTree = ""; }; + 6DAB5D069128CFEB817BFC52 = {isa = PBXGroup; children = ( + 4441681B28DD04DF6201CC75, + 2420BA1657C0FC81F6AF803D, + 6F80E669C5CD62B01B4047A0, + E0461DEB1F6D01A42E288646, + 064242FFCFB6FA653F5E3D3E, + 0D06541766ED7D5D99E403C8, + A9133BF4A4E9DF3268BE0A5F, + C5334A5D1AB867C5C4631D37, + 932A5DF40DA3D1F382EEA349, + 768C56D0602DC6736813A6DF, + 8E215890DCA3641D4B8FCE6A, + D6274E461525C6F6FB84B336, + 42C7FC165C3DA0FD260236A3, + 13002343E9B09539177167FA, + 30789700DDE033623673B969, + 85DCBF0D90C84C20F20FB7F9, + 41EE7512746D88ACB108362B, + 7C8781DF19D1E9F5F4383C8B, ); name = buttons; sourceTree = ""; }; + BC32B60D5D63807391469A5D = {isa = PBXGroup; children = ( + EC704EDAD7A2015D623B0429, + CEA2F28E0A91B1710B04AE3E, + 2E57B46569DAD42A3E53460E, + 90E25335542765D9B688CD6B, + 80D58EDB557D5702F6D8749F, + 9E6559DEE37E348F13A65CBC, + 3FE7F76D4D023295BCEC0E65, + 4FF264791CA989D4CFD083F3, + 439A1BF54BCAFF06F77DC0E4, ); name = commands; sourceTree = ""; }; + 22357086F0888882CB09599E = {isa = PBXGroup; children = ( DC1620808CB348FA6A061F49, 9941F313443F3B72CA820E71, A7EE73FF3A5962BBF41DC2AB, @@ -1718,28 +1714,46 @@ 704A1428992F4CA4A606E2B2, 3D091623E5697442BD3E72D0, 080D19E24AE4FDC135F58B86, ); name = components; sourceTree = ""; }; - 702A2DCFF377B555F924B3AA = {isa = PBXGroup; children = ( - BAF34E1248A8D20DDA992AFD, - FE7BF03E997B68345D812C18, - 7C6A0C6C2914BD052CB4702A, - D519AE911B1D332E49048DB8, - 63AA3D61619113F35D7492C3, - 15C711BB78FE9CF9CD9569E8, - 9EA3C2BA09FEBDA65F4495D3, - 8E815C1193352E861B9C48BF, - 37A7FEF55D2A1043B57E076F, - 7FBA208089BE0BD3949776EB, - 63C924DF1851945B0BD9975B, - 22C8C727F04483F9D78934CB, - B65F0500A687634E095C17E7, - 81AC7FA7234FD8DD6D4F647C, - 071FC447F1DEE261E6D442B2, - 4BDFDEDCF05F480BB99EE8A2, - 059E68E0529FA25A30BB0152, - 318F416CA5367D312EDEB440, - 69BA49B5D5F563FF8918C64C, - 522D22FEB38D52304F01508D, ); name = mouse; sourceTree = ""; }; - CD807B7DC79445ED4A519333 = {isa = PBXGroup; children = ( + A183DE1862C36CF8701B367D = {isa = PBXGroup; children = ( + 5AEBF415658567204BFD7A92, + 246055D9D81E3DDFEFD910F0, + 633C5ABF1EDE515806729C83, + 0ED9A27A7166BC016CB8909C, + AAEC41BFA57E45EBF94ED3C1, + 16628E0BBD62134897747ED4, + 5EB55A7484EFAF1FE8C5BADD, + 371CABFCE28A273E9150F537, + EC3458DB0C34F89665D1EF76, + 508D1DF2D93C6F05EE75EDE8, + 866BB03463EC1AA36B51BC0F, + C07F13289814910220A8A586, + AB10327C69AAE4AACCFC81EB, + EC401439D56540696500FB09, + CF5FA6C569EF0D70C967EE90, ); name = drawables; sourceTree = ""; }; + 3C94F7A4BC461D83D20A5809 = {isa = PBXGroup; children = ( + 538BF18F9D29A2A60EF6A6CE, + 29917AAA580F21BF2798D071, + 4DE409D2E97EA5C2EC8BD3A5, + 2630A6BC311DAB18ECC7D611, + 81A4BA17CF9F30766B054879, + 6E79399429D2A1B149CCB022, + 46FC39E954485B032E766234, + D98BD148E00A85C033CC0B70, + C014290D49F3252305EDF5DD, + 5EA72D1F22006B0CC17B081E, + FBE8B9BD6E3817751D556FCB, + F7EC22087BE9304F03690131, + 58FD5A3294F6D4F415B9CA60, + DAE65AEF5B24AD0262B66C54, + B532D9954FB106B6095AE0C8, + C6854170C590B6F25269095F, + 291947B7C7CCCF7029BA0C78, + F75BA8EB91109C5359278D7E, + 9C436F92CE7E8C70492C99B8, + CC9181E8112D4E033592A78B, + 6FFE3D9DADC166B95D739887, + DFAB472D7624CACD1723528F, ); name = filebrowser; sourceTree = ""; }; + C10C14A49DF5F1583608906C = {isa = PBXGroup; children = ( D120181C3218F30A0102BC17, 84EE990E06D02BEBDBEBE649, 1460DF86692852CBB0840F87, @@ -1753,62 +1767,7 @@ 76E1F46C757D4704DD0F7DFE, 6C4AD1B0CA254C16E38609DD, 99E71BE7C7C30E6BDFAAFA32, ); name = keyboard; sourceTree = ""; }; - 75629780405BCAD7D7A36238 = {isa = PBXGroup; children = ( - E5A17AB02D7926E004207D38, - 0B8D1CD99B98B08B83C16CC6, - F6546500AA3A49A3BB76F825, - 0B53F71A8493EA1807E70057, - 70D7F049EE6F03FCF08AFB11, - EB8C7BDEF743331241D8BDE3, - 85F6520D0FE1EE06CF490C9C, - BF7B980A66A9E256863EEF9D, - 837FCD576EB86FDB2FB63DAF, - 01E96C5EAA85305BFA560A57, - 4F790401362D3F12680B726E, - 5A15B77FF78B76ADDF1EB203, - 103C7BCDA3ABA3AD615794F0, - 6C5452492262FE01944BE60C, - 3E3CBF04F24292DEF36E5550, - F1D7A9144EC2AF8DC5AFB07C, - E7F23433ED23C74006079B80, - CF82A46D7CDDAFC5B46AFBC5, - BD1EC91E61ECEAB657C78D5C, - 9C920EACAC7281B584F2F09A, - AB7726FF34DB2E7FA75ECC19, - D30DDB51DEFC2B5178493825, - 7224CC95ABFD72D07AEC0A9D, - 0FAABADDD3A1C54AA688A774, - D9DB20BA9A6D6CC1B27BBF76, - D2F30BE5061F03CD6B091705, - F982D82AE9DADA0E6714C15D, ); name = widgets; sourceTree = ""; }; - 3001444BFA8DCFDDD417D577 = {isa = PBXGroup; children = ( - C75BD60CDB6D9D554247A6BB, - 5C49246ADF3F5AA9639EF915, - 5FEC8A1452DE9DDC428552DB, - DE003DCF42014FA6C64DFE95, - 534F8743733885F462809C8F, - 990E71F1F4EB7B98AEEE3D05, - ACB591F236B9E8054BF9ECB9, - DD86A1A94ABA06E59C5E5EB0, - 72C93E5C4D67FBDA352C4F08, - 3E72A2633AFCB9B9FC2E3B81, - 1B2CE3B669D290A88A797C1A, - 90B8F6B5975D3B169BF24C9C, - 963140B9984908CF118F92F1, - DECF1A4C283822D8C7005676, - CDF4D931F4616CEE9E653400, - F1878A55B4334BD8BF6C86DA, - 07552B6714E651587D8E0CB8, - ACAD736DA78EA0A66BF1CE29, - 38B25B83DCEAC8BCDFD527E8, ); name = windows; sourceTree = ""; }; - 8F25C53FF937DE20A9E08CFB = {isa = PBXGroup; children = ( - 5585BCF8B17AD03D9FB4A32A, - C8741583F363ECB8C2010509, - E9E8E69C63535541E37F44FC, - 67C28D93FE8831496493B095, - 4D669F9349F7061E90B1DCDC, - 7F4472B4691BF3FED1C2025C, ); name = menus; sourceTree = ""; }; - 0F886C4A005A4CE60E7D729C = {isa = PBXGroup; children = ( + 748045F8B62264A40D35B0DD = {isa = PBXGroup; children = ( 50832A0FAB3B736F1AD5E693, 81906F76BB6143A9C782891B, DD34B7EEFCC8C96D4DEA420A, @@ -1845,72 +1804,7 @@ 8718970FF3F3F2AC38191F53, 047015CE891900C7636A08D6, 7647E22AA08782FB8E2F5A0F, ); name = layout; sourceTree = ""; }; - AE265E6AF990B5DF383B97E1 = {isa = PBXGroup; children = ( - 4441681B28DD04DF6201CC75, - 2420BA1657C0FC81F6AF803D, - 6F80E669C5CD62B01B4047A0, - E0461DEB1F6D01A42E288646, - 064242FFCFB6FA653F5E3D3E, - 0D06541766ED7D5D99E403C8, - A9133BF4A4E9DF3268BE0A5F, - C5334A5D1AB867C5C4631D37, - 932A5DF40DA3D1F382EEA349, - 768C56D0602DC6736813A6DF, - 8E215890DCA3641D4B8FCE6A, - D6274E461525C6F6FB84B336, - 42C7FC165C3DA0FD260236A3, - 13002343E9B09539177167FA, - 30789700DDE033623673B969, - 85DCBF0D90C84C20F20FB7F9, - 41EE7512746D88ACB108362B, - 7C8781DF19D1E9F5F4383C8B, ); name = buttons; sourceTree = ""; }; - 8CE2225CEEB4636F3C2F98FB = {isa = PBXGroup; children = ( - 468EF044700E657B00BE60BD, - 0B082F614BA025B646A44D8F, - 33D9F6083C574F0F03AA6A86, - 3AD4F35998A668F9C4D585B2, - E3A38E6B33797818F62CD77E, - 90C8C63216FF142E313A5220, - C3A57D29C59006AF39034062, - B1426528BB892D5736D80404, - E398182BD8543E6B845F2255, - 996E86CC90360798D87EE1A0, - 91EF9501D2E0094B3012D978, - 3C87C89A9AAABF9B13E67EFC, - FE0B9D0C5E9B31DF6B7E3616, - F4CF735CF65D41BF28D3030A, ); name = positioning; sourceTree = ""; }; - 57C94CD07254414C3B19F456 = {isa = PBXGroup; children = ( - 5AEBF415658567204BFD7A92, - 246055D9D81E3DDFEFD910F0, - 633C5ABF1EDE515806729C83, - 0ED9A27A7166BC016CB8909C, - AAEC41BFA57E45EBF94ED3C1, - 16628E0BBD62134897747ED4, - 5EB55A7484EFAF1FE8C5BADD, - 371CABFCE28A273E9150F537, - EC3458DB0C34F89665D1EF76, - 508D1DF2D93C6F05EE75EDE8, - 866BB03463EC1AA36B51BC0F, - C07F13289814910220A8A586, - AB10327C69AAE4AACCFC81EB, - EC401439D56540696500FB09, - CF5FA6C569EF0D70C967EE90, ); name = drawables; sourceTree = ""; }; - D3BFFF6D7637C30CAB9D133A = {isa = PBXGroup; children = ( - DE63AC14FAFAA64733A5CB77, - 5B1CD485D0BA99FEA4B09BC6, - BBBE74C4A9FA85B5F29FF346, - ED3F8B6AC260A35F53658415, - FB59A9B2D3147F5073F48CC2, - 121FB46FF3426D00B9776611, - 1519F1DAEF1445EEBC1D75DD, - C4E99D3E7C558C9F14AFBB8E, - 31ACD81C791C0D6A394B7602, - E695834F7C3FC81BB41044C0, - 71BDE6A5BAEA81ACAE4CDC28, - 843BE235C212ED17429DE2D4, - 37B2EF3084A6002873814D0B, - 470E16E41C4A2F1ADADAFE52, ); name = properties; sourceTree = ""; }; - 01B04245386FBFD1BAA2EB47 = {isa = PBXGroup; children = ( + 54AC6C2025E5C421E2E79761 = {isa = PBXGroup; children = ( E0EE8480E1438F1521ABC0DB, DFF33C1951C79E101D905003, 2CAFB89BC62E47429CC04AEA, @@ -1919,48 +1813,40 @@ 513BA2176B24BC61831B58FD, FEDF58985DBA59E34FC99B20, 158EE06B4B48E5480FAAB795, ); name = lookandfeel; sourceTree = ""; }; - 16B033C5A8508A526D64FD94 = {isa = PBXGroup; children = ( - 538BF18F9D29A2A60EF6A6CE, - 29917AAA580F21BF2798D071, - 4DE409D2E97EA5C2EC8BD3A5, - 2630A6BC311DAB18ECC7D611, - 81A4BA17CF9F30766B054879, - 6E79399429D2A1B149CCB022, - 46FC39E954485B032E766234, - D98BD148E00A85C033CC0B70, - C014290D49F3252305EDF5DD, - 5EA72D1F22006B0CC17B081E, - FBE8B9BD6E3817751D556FCB, - F7EC22087BE9304F03690131, - 58FD5A3294F6D4F415B9CA60, - DAE65AEF5B24AD0262B66C54, - B532D9954FB106B6095AE0C8, - C6854170C590B6F25269095F, - 291947B7C7CCCF7029BA0C78, - F75BA8EB91109C5359278D7E, - 9C436F92CE7E8C70492C99B8, - CC9181E8112D4E033592A78B, - 6FFE3D9DADC166B95D739887, - DFAB472D7624CACD1723528F, ); name = filebrowser; sourceTree = ""; }; - EFB97481DD9BF01F6B887D83 = {isa = PBXGroup; children = ( - EC704EDAD7A2015D623B0429, - CEA2F28E0A91B1710B04AE3E, - 2E57B46569DAD42A3E53460E, - 90E25335542765D9B688CD6B, - 80D58EDB557D5702F6D8749F, - 9E6559DEE37E348F13A65CBC, - 3FE7F76D4D023295BCEC0E65, - 4FF264791CA989D4CFD083F3, - 439A1BF54BCAFF06F77DC0E4, ); name = commands; sourceTree = ""; }; - 24A3B249A09039EED13DA635 = {isa = PBXGroup; children = ( + 44E6118007286DFB5FDDD235 = {isa = PBXGroup; children = ( + 5585BCF8B17AD03D9FB4A32A, + C8741583F363ECB8C2010509, + E9E8E69C63535541E37F44FC, + 67C28D93FE8831496493B095, + 4D669F9349F7061E90B1DCDC, + 7F4472B4691BF3FED1C2025C, ); name = menus; sourceTree = ""; }; + 7B56B4B92FD9BD06322FD7DD = {isa = PBXGroup; children = ( E15C0D3B2B648FE732D07ABD, F5A261506BD95F58790AD021, 0A48C828D9F817F4055CBD07, 8AE97D16E9DA460011B379BA, ); name = misc; sourceTree = ""; }; - B7B032C42BEB43DC262C8A42 = {isa = PBXGroup; children = ( - 0F7BF61F0D28902628F73968, - 478CC6FC61862445DD8B872E, ); name = application; sourceTree = ""; }; - F4E4654939C415ABF59293B1 = {isa = PBXGroup; children = ( + B2E86B52647733591A9A604D = {isa = PBXGroup; children = ( + BAF34E1248A8D20DDA992AFD, + FE7BF03E997B68345D812C18, + 7C6A0C6C2914BD052CB4702A, + D519AE911B1D332E49048DB8, + 63AA3D61619113F35D7492C3, + 15C711BB78FE9CF9CD9569E8, + 9EA3C2BA09FEBDA65F4495D3, + 8E815C1193352E861B9C48BF, + 37A7FEF55D2A1043B57E076F, + 7FBA208089BE0BD3949776EB, + 63C924DF1851945B0BD9975B, + 22C8C727F04483F9D78934CB, + B65F0500A687634E095C17E7, + 81AC7FA7234FD8DD6D4F647C, + 071FC447F1DEE261E6D442B2, + 4BDFDEDCF05F480BB99EE8A2, + 059E68E0529FA25A30BB0152, + 318F416CA5367D312EDEB440, + 69BA49B5D5F563FF8918C64C, + 522D22FEB38D52304F01508D, ); name = mouse; sourceTree = ""; }; + B570F3A2C46AE5639EC90BD5 = {isa = PBXGroup; children = ( 1B87D0FA74084D19A8A8E3DB, 39D0873583E797FEA1F40BBD, 7CBA5F2277845FDC3AABFEAD, @@ -1977,25 +1863,102 @@ A7FD436305E19DF69A7AF446, 0977400450E451AD1BE80E77, 357DC2A5FF7C176B270F1D7B, ); name = native; sourceTree = ""; }; + 355AE9B7334DC7C82CB6B8B8 = {isa = PBXGroup; children = ( + 468EF044700E657B00BE60BD, + 0B082F614BA025B646A44D8F, + 33D9F6083C574F0F03AA6A86, + 3AD4F35998A668F9C4D585B2, + E3A38E6B33797818F62CD77E, + 90C8C63216FF142E313A5220, + C3A57D29C59006AF39034062, + B1426528BB892D5736D80404, + E398182BD8543E6B845F2255, + 996E86CC90360798D87EE1A0, + 91EF9501D2E0094B3012D978, + 3C87C89A9AAABF9B13E67EFC, + FE0B9D0C5E9B31DF6B7E3616, + F4CF735CF65D41BF28D3030A, ); name = positioning; sourceTree = ""; }; + 388316B86D4EA343656BD1DD = {isa = PBXGroup; children = ( + DE63AC14FAFAA64733A5CB77, + 5B1CD485D0BA99FEA4B09BC6, + BBBE74C4A9FA85B5F29FF346, + ED3F8B6AC260A35F53658415, + FB59A9B2D3147F5073F48CC2, + 121FB46FF3426D00B9776611, + 1519F1DAEF1445EEBC1D75DD, + C4E99D3E7C558C9F14AFBB8E, + 31ACD81C791C0D6A394B7602, + E695834F7C3FC81BB41044C0, + 71BDE6A5BAEA81ACAE4CDC28, + 843BE235C212ED17429DE2D4, + 37B2EF3084A6002873814D0B, + 470E16E41C4A2F1ADADAFE52, ); name = properties; sourceTree = ""; }; + 540689659ECD0260C4D19CDE = {isa = PBXGroup; children = ( + E5A17AB02D7926E004207D38, + 0B8D1CD99B98B08B83C16CC6, + F6546500AA3A49A3BB76F825, + 0B53F71A8493EA1807E70057, + 70D7F049EE6F03FCF08AFB11, + EB8C7BDEF743331241D8BDE3, + 85F6520D0FE1EE06CF490C9C, + BF7B980A66A9E256863EEF9D, + 837FCD576EB86FDB2FB63DAF, + 01E96C5EAA85305BFA560A57, + 4F790401362D3F12680B726E, + 5A15B77FF78B76ADDF1EB203, + 103C7BCDA3ABA3AD615794F0, + 6C5452492262FE01944BE60C, + 3E3CBF04F24292DEF36E5550, + F1D7A9144EC2AF8DC5AFB07C, + E7F23433ED23C74006079B80, + CF82A46D7CDDAFC5B46AFBC5, + BD1EC91E61ECEAB657C78D5C, + 9C920EACAC7281B584F2F09A, + AB7726FF34DB2E7FA75ECC19, + D30DDB51DEFC2B5178493825, + 7224CC95ABFD72D07AEC0A9D, + 0FAABADDD3A1C54AA688A774, + D9DB20BA9A6D6CC1B27BBF76, + D2F30BE5061F03CD6B091705, + F982D82AE9DADA0E6714C15D, ); name = widgets; sourceTree = ""; }; + 91CCB4C4AFC9940BC04F492F = {isa = PBXGroup; children = ( + C75BD60CDB6D9D554247A6BB, + 5C49246ADF3F5AA9639EF915, + 5FEC8A1452DE9DDC428552DB, + DE003DCF42014FA6C64DFE95, + 534F8743733885F462809C8F, + 990E71F1F4EB7B98AEEE3D05, + ACB591F236B9E8054BF9ECB9, + DD86A1A94ABA06E59C5E5EB0, + 72C93E5C4D67FBDA352C4F08, + 3E72A2633AFCB9B9FC2E3B81, + 1B2CE3B669D290A88A797C1A, + 90B8F6B5975D3B169BF24C9C, + 963140B9984908CF118F92F1, + DECF1A4C283822D8C7005676, + CDF4D931F4616CEE9E653400, + F1878A55B4334BD8BF6C86DA, + 07552B6714E651587D8E0CB8, + ACAD736DA78EA0A66BF1CE29, + 38B25B83DCEAC8BCDFD527E8, ); name = windows; sourceTree = ""; }; 3B12C460FF1466EAEDD258A8 = {isa = PBXGroup; children = ( - 644A6B4EE1701D8441A41B49, - 702A2DCFF377B555F924B3AA, - CD807B7DC79445ED4A519333, - 75629780405BCAD7D7A36238, - 3001444BFA8DCFDDD417D577, - 8F25C53FF937DE20A9E08CFB, - 0F886C4A005A4CE60E7D729C, - AE265E6AF990B5DF383B97E1, - 8CE2225CEEB4636F3C2F98FB, - 57C94CD07254414C3B19F456, - D3BFFF6D7637C30CAB9D133A, - 01B04245386FBFD1BAA2EB47, - 16B033C5A8508A526D64FD94, - EFB97481DD9BF01F6B887D83, - 24A3B249A09039EED13DA635, - B7B032C42BEB43DC262C8A42, - F4E4654939C415ABF59293B1, - B2B54E113A80EC53D5D71A38, + B5A13D0414AE3ACE5F1AE91A, + 6DAB5D069128CFEB817BFC52, + BC32B60D5D63807391469A5D, + 22357086F0888882CB09599E, + A183DE1862C36CF8701B367D, + 3C94F7A4BC461D83D20A5809, + C10C14A49DF5F1583608906C, + 748045F8B62264A40D35B0DD, + 54AC6C2025E5C421E2E79761, + 44E6118007286DFB5FDDD235, + 7B56B4B92FD9BD06322FD7DD, + B2E86B52647733591A9A604D, + B570F3A2C46AE5639EC90BD5, + 355AE9B7334DC7C82CB6B8B8, + 388316B86D4EA343656BD1DD, + 540689659ECD0260C4D19CDE, + 91CCB4C4AFC9940BC04F492F, 80164398F844C51A6F8532F5, ); name = "juce_gui_basics"; sourceTree = ""; }; B2B055337E596E2DAA7D427C = {isa = PBXGroup; children = ( 6F381D0C54E869B237830DC7, @@ -2057,7 +2020,6 @@ 303B6B606A73D0F37EB9C4F0, A4D5C22EAEECE5134B247F54, B544D64863CF5CC0B4E0980E, - 91B2EAD28E322C2F365FF975, 7997E4EB2706B00B44880412, ); name = "juce_gui_extra"; sourceTree = ""; }; C6C3D10F6A56842C3125D633 = {isa = PBXGroup; children = ( 645F82CEE72820AB4A2DCFCB, @@ -2074,53 +2036,31 @@ 777B3EE5ECE5A0B4799E842E, ); name = "Juce Modules"; sourceTree = ""; }; 83470AD511CD6CC1E485F29B = {isa = PBXGroup; children = ( 844343AA474A10F4CD613ACF, - 3AA0960DF09414DBA0A2255B, - AABC1F4E7D9DA3C6B6DC0F05, - 95FF785BAEC4F2799A75D2FF, - E0657C5A5A08F4B5BE55034A, - 5DAA9288D1FC19812E6ABA3D, - 2051F23DC1B2A76D3B110616, - 31E15E7A0FBD027D83A28DFF, - E42198F571F1BB1C5203F3D2, - B6394C38B7A283DE86213FAE, - AFE00126A5FEF419332CD2B9, - EB38777DCA28E40FF364EAE1, - 0D4E3861B5EE21765BDEE2A3, - 28FD98C78FE1E918553D4C3D, - 87DBD7450AE0FDD762712620, - 3AA5D4AF03A0689BF8385319, - AC4612F7E064ECEC2E95B129, - E521DD6592FA0F7828161360, - A8BA67A9567A51069D275EBB, - 1BAAB47A9C5B1D76D28FA282, - DCF6DECFAD7F4D907C0458A5, - 8F59D489139F78A729CED9E5, - EE149F9075819C0132879D4C, - 7C7362C71D396DA95BBE38B8, - 9B3F11DD2E09FC8F63555D30, - 0687D10EFBEEEC129BC807D3, - 100EFA05982C05972AC7861B, - 5C5E3AF3EB9BE171FD53666A, - B829B4BAE71C6F09169542B8, - 054C3DE3B2831A3F69BBC8AD, - DA325C1329DD36C198920558, - 87755AF25BF68EE19666A135, - 443C241B66AD431E05D3A2AD, - B2067C8614967BECF8B198D1, - 8C0D1A1E000E47D09B771963, - 9C9DEB7FB75C42C4F47AF999, - F7454AD16EE05969CCF5FD7C, - 2D4B766DA1C66FA2857D80F7, - 3755479207D218969425F91F, - 1D4AFBEC703C6F373B292D9A, - 1E496F7BF3B3C59E5ECACCDE, - 8EB324480D60B3E3A81541E5, - 6CEFF94C7852DB3BFA5E29EB, - 8FB68CA43E49DD39E013DB82, - 1CF9C794D7A955EA89D8B5CB, ); name = "Juce Library Code"; sourceTree = ""; }; + F68C44DED59A1830DEC06DDB, + 0E062265A0862663225F3BE4, + F87AC3FCCA31FB0B419456B2, + 082EED9B0127415E4A78CAAF, + 9F7BDCF8A08EE1EF06252342, + D08C27F8345396F820964619, + 6A3C0733887F9F9DF5AC6109, + 47FBF723E148B63CF86281D4, + 237A06C79035CA7B2568FEA3, + 8635014BA097A2E54C2C2384, + 5E974DD6DD17E4C03295B1EA, + C9D905FA9696DA2A6A347EF1, + 581F2233A2A749DE9410A562, + 19C97715E5944E41CEFA3F14, + FFBD7990C953B06E95CA494D, + E4D287DE19F3B62153A4CAF9, + 60C4A1A1B5405793C18D5A16, + 8FB68CA43E49DD39E013DB82, ); name = "Juce Library Code"; sourceTree = ""; }; 239B4D5DE50B3B7A16114C15 = {isa = PBXGroup; children = ( - 2D799F4BCA83847DEACB505D, - 0926E36205F4D676343AB6E7, ); name = Resources; sourceTree = ""; }; + 12E665A9E9A675668AF160A9, + CF99F55660DC79DAE3D0D1A2, + 8B67A16CB449160267AA05BB, + EF96E5514E3E9587A67A258F, + 0926E36205F4D676343AB6E7, + F5E9ED24FCF950C2B09ED67C, ); name = Resources; sourceTree = ""; }; 7EA0AEAFB626CDF5E0038ED5 = {isa = PBXGroup; children = ( 537D65EF3BBBDFC4651D389D, A206765795252391D3F60EA4, @@ -2135,53 +2075,77 @@ 58E978708BAA8613A40F61E3, A59A08DCC76EE0FC7EBE1203, ); name = Frameworks; sourceTree = ""; }; 227AE5B2ACBB7881D9552404 = {isa = PBXGroup; children = ( - 63F8022F081E22DFFFCAC998, ); name = Products; sourceTree = ""; }; + 64417DE78D1B1D10EC6E4146, + 464486542EDBD5301EEEE8C1, + 1AF4856520E8BFF4A039CD6B, + 4D6248E85C22578615FA809C, ); name = Products; sourceTree = ""; }; 4074359E1E7C4D54E87C3461 = {isa = PBXGroup; children = ( + F5E9ED24FCF950C2B09ED67C, F4E255C7FF120419035C8CBE, C6C3D10F6A56842C3125D633, 83470AD511CD6CC1E485F29B, 239B4D5DE50B3B7A16114C15, 7EA0AEAFB626CDF5E0038ED5, 227AE5B2ACBB7881D9552404, ); name = Source; sourceTree = ""; }; - 77D1D11FAA110A1B1F960A8F = {isa = XCBuildConfiguration; buildSettings = { + 155E2212057EC38829899A3C = {isa = XCBuildConfiguration; buildSettings = { }; name = Debug; }; + 103368FE85719AF0B91BA072 = {isa = XCBuildConfiguration; buildSettings = { }; name = Release; }; + A4B12DFADE1730C6014F332B = {isa = XCBuildConfiguration; buildSettings = { ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; COPY_PHASE_STRIP = NO; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( "_DEBUG=1", "DEBUG=1", + "JucePlugin_Build_VST=1", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", "JUCER_XCODE_MAC_F6D2F4CF=1", "JUCE_APP_VERSION=1.0.0", "JUCE_APP_VERSION_HEX=0x10000", ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GENERATE_PKGINFO_FILE = YES; HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; + INFOPLIST_FILE = Info-VST.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; LIBRARY_STYLE = Bundle; 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 = { + WRAPPER_EXTENSION = vst; }; name = Debug; }; + D56C28DC5C3854D6AA9E04C2 = {isa = XCBuildConfiguration; buildSettings = { ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; DEAD_CODE_STRIPPING = YES; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_OPTIMIZATION_LEVEL = 3; GCC_PREPROCESSOR_DEFINITIONS = ( "_NDEBUG=1", "NDEBUG=1", + "JucePlugin_Build_VST=1", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", "JUCER_XCODE_MAC_F6D2F4CF=1", "JUCE_APP_VERSION=1.0.0", "JUCE_APP_VERSION_HEX=0x10000", ); @@ -2189,8 +2153,156 @@ GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GENERATE_PKGINFO_FILE = YES; HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-VST.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + LIBRARY_STYLE = Bundle; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + OTHER_LDFLAGS = "-bundle"; + PRODUCT_BUNDLE_IDENTIFIER = com.juce.JuceDemoPlugin; + SDKROOT_ppc = macosx10.5; + WRAPPER_EXTENSION = vst; }; name = Release; }; + AD749722210AC59435D40744 = {isa = XCBuildConfiguration; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + COPY_PHASE_STRIP = NO; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_DEBUG=1", + "DEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=1", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-VST3.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST3/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + LIBRARY_STYLE = Bundle; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + OTHER_LDFLAGS = "-bundle"; + PRODUCT_BUNDLE_IDENTIFIER = com.juce.JuceDemoPlugin; + SDKROOT_ppc = macosx10.5; + WRAPPER_EXTENSION = vst3; }; name = Debug; }; + 5B39217A95807DE26271788F = {isa = XCBuildConfiguration; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + DEAD_CODE_STRIPPING = YES; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_NDEBUG=1", + "NDEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=1", + "JucePlugin_Build_AU=0", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-VST3.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST3/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + LIBRARY_STYLE = Bundle; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + OTHER_LDFLAGS = "-bundle"; + PRODUCT_BUNDLE_IDENTIFIER = com.juce.JuceDemoPlugin; + SDKROOT_ppc = macosx10.5; + WRAPPER_EXTENSION = vst3; }; name = Release; }; + 1FA913B64C8ADDFFCA9768E1 = {isa = XCBuildConfiguration; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + COPY_PHASE_STRIP = NO; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_DEBUG=1", + "DEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=1", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-AU.plist; INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + LIBRARY_STYLE = Bundle; + 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; }; + 9E686ABA5935BF9B713A0C5A = {isa = XCBuildConfiguration; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + DEAD_CODE_STRIPPING = YES; + DEPLOYMENT_LOCATION = YES; + DSTROOT = /; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_NDEBUG=1", + "NDEBUG=1", + "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST3=0", + "JucePlugin_Build_AU=1", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-AU.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; LIBRARY_STYLE = Bundle; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; OTHER_LDFLAGS = "-bundle"; @@ -2198,6 +2310,71 @@ PRODUCT_BUNDLE_IDENTIFIER = com.juce.JuceDemoPlugin; SDKROOT_ppc = macosx10.5; WRAPPER_EXTENSION = component; }; name = Release; }; + DE68D772AF78FA0D411FC4D4 = {isa = XCBuildConfiguration; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + COPY_PHASE_STRIP = NO; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_DEBUG=1", + "DEBUG=1", + "JUCE_SHARED_CODE=1", + "JucePlugin_Build_VST=1", + "JucePlugin_Build_VST3=1", + "JucePlugin_Build_AU=1", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-Shared_Code.plist; + INSTALL_PATH = "@executable_path/../Frameworks"; + LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)"; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + PRODUCT_BUNDLE_IDENTIFIER = com.juce.JuceDemoPlugin.JuceDemoPluginFramework; + SDKROOT_ppc = macosx10.5; }; name = Debug; }; + CD0D0EA3F45AD047F14FD2E8 = {isa = XCBuildConfiguration; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + DEAD_CODE_STRIPPING = YES; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_NDEBUG=1", + "NDEBUG=1", + "JUCE_SHARED_CODE=1", + "JucePlugin_Build_VST=1", + "JucePlugin_Build_VST3=1", + "JucePlugin_Build_AU=1", + "JucePlugin_Build_AUv3=0", + "JucePlugin_Build_RTAS=0", + "JucePlugin_Build_AAX=0", + "JucePlugin_Build_Standalone=0", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info-Shared_Code.plist; + INSTALL_PATH = "@executable_path/../Frameworks"; + LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)"; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + PRODUCT_BUNDLE_IDENTIFIER = com.juce.JuceDemoPlugin.JuceDemoPluginFramework; + SDKROOT_ppc = macosx10.5; }; name = Release; }; 6758D5C5D24024DB6F83E78F = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; @@ -2229,62 +2406,89 @@ PRODUCT_NAME = "JuceDemoPlugin"; WARNING_CFLAGS = -Wreorder; ZERO_LINK = NO; }; name = Release; }; + 3D94E4E73BA4376BD0C954BB = {isa = PBXTargetDependency; target = 921CB4BBA34ADBC5270F81EF; }; + 96A187ABC229B69131A7A553 = {isa = PBXTargetDependency; target = 03F6829513830045329610BB; }; + F1D7CFC05961A0332974083D = {isa = PBXTargetDependency; target = 71E1E34CFC671ACBBCE0726C; }; + 603921D0E698F75EB96EAC53 = {isa = PBXTargetDependency; target = C3F206BB3277FBADE3BD615B; }; 0720B453F376663EAB98BF9B = {isa = XCConfigurationList; buildConfigurations = ( 6758D5C5D24024DB6F83E78F, FDD382CE3C754F66D9DB396A, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 92D1022F6276146FC92B4442 = {isa = XCConfigurationList; buildConfigurations = ( - 77D1D11FAA110A1B1F960A8F, - 76082281008CF5F891C856DA, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 0D832C784AB07BFDE57BCB92 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - B003460B11C0B7C1CC07E666, ); runOnlyForDeploymentPostprocessing = 0; }; - D95827C1509280C88845BCB4 = {isa = PBXRezBuildPhase; buildActionMask = 2147483647; files = ( - BF6B9A47774C03C34559CAFE, ); runOnlyForDeploymentPostprocessing = 0; }; - E032EB514708440DE9B7FF2A = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - E32999B782F688D3746FEB08, - 8265E59547F2C5DDD10F58BF, - 05D1398458CDB00C236D7553, - EDC1CED5C7F88E1142F4A46A, - B02F742C6DE19F5415457993, - B89DA74BC8384D744F20B8CB, - BF903CF8AFDA8D74E3A9D023, - 9EDD2E63820FA844B4237F1F, - 15885D9F3F3CB8EFDC29A40F, - C9C1F85E79851CE3F2EA0560, - EDE82B3320CC03F38226AA50, - C3C922FB2D069BB6DE3ECAA1, - 48D94EBEB2D48D0DCC1394C9, - D2B29F3448FA79AB8C47B3D8, - D5E7114B2C484F13A51DCBC3, - 9B39F1EE70A26791804DA55E, - 0A7276E46524FC5FD796F27D, - 9EA2528254AA35DBDDFEA601, - 68B259347BBF52B12FD6900D, - 91CCE2D40B3D71F3126A1043, - 74CF5671532851FFA52E9D0C, - E20B98D0BD4CB959779121EF, - C838DDB6686561401CFD352E, - 1E7449C0D931784366EF8EDE, - E0DCCF03F0911211D8A9F1F8, - 2C11CB507D8D05272B89A34F, - DD76012A2C909B66257DF768, - 5293B7AF0C7F38D313335361, - 0FB2C03B5F41EE1D65A1FC89, - 87994E06ADFE3AAF08503DB5, - EA073FBAAC7AC3040B1422D1, - FA531AB0CE4F5AA5C7073CE8, - 3288574B40AF43AA1AA5FAD0, - C2E42AA4FA74BE14DDE5573B, - 4AA70EFD3AFDBF659834318F, - E01E4438B2F0F3C3CE4F5240, - 7732BED2285AE6572CC2BF11, - C99CF7958D391CB2F97CC5F8, - 60CA6D3CBBC03A25C7B86C35, - 0AA1C3259E16BA80C124622D, - 6AAB8C946DA0E3E1B96EEF7E, - BCFB9D694F4DD8A76C6B9878, - 080999E86692B638CD108D70, - A4996F8A30110B5EDB801516, ); runOnlyForDeploymentPostprocessing = 0; }; - 95E57A758351FE57067B605F = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 66A99B0A3E2094889407A133 = {isa = XCConfigurationList; buildConfigurations = ( + 155E2212057EC38829899A3C, + 103368FE85719AF0B91BA072, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + D4A200CA175E6673EB359B63 = {isa = PBXAggregateTarget; buildConfigurationList = 66A99B0A3E2094889407A133; dependencies = ( + 3D94E4E73BA4376BD0C954BB, + 96A187ABC229B69131A7A553, + F1D7CFC05961A0332974083D, + 603921D0E698F75EB96EAC53, ); name = "JuceDemoPlugin (All)"; productName = JuceDemoPlugin; }; + 85C4751D439D706F84718BB4 = {isa = XCConfigurationList; buildConfigurations = ( + A4B12DFADE1730C6014F332B, + D56C28DC5C3854D6AA9E04C2, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + A9C5EEDC68735C4FD82BD179 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + B003460B11C0B7C1CC07E666, + 984317B46E5445CE1D8E4096, ); runOnlyForDeploymentPostprocessing = 0; }; + AFFCDD8AB2FC0C1365F4CE2C = {isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; files = ( + B3ACB0D104E58735302297BB, ); runOnlyForDeploymentPostprocessing = 0; name = "Embed Frameworks"; dstPath = ""; dstSubfolderSpec = 10; }; + 8FC8AA9EA1AC4A26A5275F62 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 2A10495092621B672B55C020, ); runOnlyForDeploymentPostprocessing = 0; }; + 401B24CA453ED2BFC0EB2E89 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 221B97F3CD062F71EBEBA165, + A068599CF7E166847EE45D5F, + D8EA61FEC398A5C223891C51, + F37F96986DD58C4B8ED9A214, + AB1CA2580B4A152E93E261AB, + 27E7A851C1C94C16A74C6D07, + ECF60C3CF6D180AAFF43C822, + CC4D3A6F1EF2934059AA9FEB, + 221F46E90C0A8651AB76A0E5, + B46C12D99498E9FA8F1D083A, + B3ACB0D104E58735302297BB, ); runOnlyForDeploymentPostprocessing = 0; }; + 921CB4BBA34ADBC5270F81EF = {isa = PBXNativeTarget; buildConfigurationList = 85C4751D439D706F84718BB4; buildPhases = ( + A9C5EEDC68735C4FD82BD179, + AFFCDD8AB2FC0C1365F4CE2C, + 8FC8AA9EA1AC4A26A5275F62, + 401B24CA453ED2BFC0EB2E89, ); buildRules = ( ); dependencies = ( + 603921D0E698F75EB96EAC53, ); name = "JuceDemoPlugin (VST)"; productName = JuceDemoPlugin; productReference = 64417DE78D1B1D10EC6E4146; productInstallPath = "$(HOME)/Library/Audio/Plug-Ins/VST/"; productType = "com.apple.product-type.bundle"; }; + EACEF56177D0E9262CB5FB82 = {isa = XCConfigurationList; buildConfigurations = ( + AD749722210AC59435D40744, + 5B39217A95807DE26271788F, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 0F2E05BC557F712359B8A9EB = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + B003460B11C0B7C1CC07E666, + 984317B46E5445CE1D8E4096, ); runOnlyForDeploymentPostprocessing = 0; }; + 0BB680BEEE0EAB07B4AD9D26 = {isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; files = ( + B3ACB0D104E58735302297BB, ); runOnlyForDeploymentPostprocessing = 0; name = "Embed Frameworks"; dstPath = ""; dstSubfolderSpec = 10; }; + 0F041AFA4DBFCC6D0F1BAF6D = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 4B8B36CA49A9DEFEF84C4554, ); runOnlyForDeploymentPostprocessing = 0; }; + 543F0A994B5AC3479C27489E = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 221B97F3CD062F71EBEBA165, + A068599CF7E166847EE45D5F, + D8EA61FEC398A5C223891C51, + F37F96986DD58C4B8ED9A214, + AB1CA2580B4A152E93E261AB, + 27E7A851C1C94C16A74C6D07, + ECF60C3CF6D180AAFF43C822, + CC4D3A6F1EF2934059AA9FEB, + 221F46E90C0A8651AB76A0E5, + B46C12D99498E9FA8F1D083A, + B3ACB0D104E58735302297BB, ); runOnlyForDeploymentPostprocessing = 0; }; + 03F6829513830045329610BB = {isa = PBXNativeTarget; buildConfigurationList = EACEF56177D0E9262CB5FB82; buildPhases = ( + 0F2E05BC557F712359B8A9EB, + 0BB680BEEE0EAB07B4AD9D26, + 0F041AFA4DBFCC6D0F1BAF6D, + 543F0A994B5AC3479C27489E, ); buildRules = ( ); dependencies = ( + 603921D0E698F75EB96EAC53, ); name = "JuceDemoPlugin (VST3)"; productName = JuceDemoPlugin; productReference = 464486542EDBD5301EEEE8C1; productInstallPath = "$(HOME)/Library/Audio/Plug-Ins/VST3/"; productType = "com.apple.product-type.bundle"; }; + 64536AF1BFB1A606B45A66AB = {isa = XCConfigurationList; buildConfigurations = ( + 1FA913B64C8ADDFFCA9768E1, + 9E686ABA5935BF9B713A0C5A, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 98265196468E8519A8CB7DDB = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + B003460B11C0B7C1CC07E666, + 984317B46E5445CE1D8E4096, ); runOnlyForDeploymentPostprocessing = 0; }; + 41388F5630001ED7136628EE = {isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; files = ( + B3ACB0D104E58735302297BB, ); runOnlyForDeploymentPostprocessing = 0; name = "Embed Frameworks"; dstPath = ""; dstSubfolderSpec = 10; }; + 37F22BD1952B828C02A1154C = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 7F77BD3679C81BEB8057BE4F, + A001C0EF302F42D8784EF150, ); runOnlyForDeploymentPostprocessing = 0; }; + 64E573E6435BAEE1B47EF7E9 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( 221B97F3CD062F71EBEBA165, A068599CF7E166847EE45D5F, 61792EFEB47D87819D7676C2, @@ -2296,15 +2500,48 @@ ECF60C3CF6D180AAFF43C822, CC4D3A6F1EF2934059AA9FEB, 221F46E90C0A8651AB76A0E5, + B46C12D99498E9FA8F1D083A, + B3ACB0D104E58735302297BB, ); runOnlyForDeploymentPostprocessing = 0; }; + 71E1E34CFC671ACBBCE0726C = {isa = PBXNativeTarget; buildConfigurationList = 64536AF1BFB1A606B45A66AB; buildPhases = ( + 98265196468E8519A8CB7DDB, + 41388F5630001ED7136628EE, + 37F22BD1952B828C02A1154C, + 64E573E6435BAEE1B47EF7E9, ); buildRules = ( ); dependencies = ( + 603921D0E698F75EB96EAC53, ); name = "JuceDemoPlugin (AU)"; productName = JuceDemoPlugin; productReference = 1AF4856520E8BFF4A039CD6B; productInstallPath = "$(HOME)/Library/Audio/Plug-Ins/Components/"; productType = "com.apple.product-type.bundle"; }; + 08D73ACBC0F6E2A4747629EE = {isa = XCConfigurationList; buildConfigurations = ( + DE68D772AF78FA0D411FC4D4, + CD0D0EA3F45AD047F14FD2E8, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 4E087312D44130771EB1E9C2 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + E32999B782F688D3746FEB08, + 8265E59547F2C5DDD10F58BF, + A135B77ECC75825288B59AD1, + CBEE8BA08EA81BC9612EB237, + 57CCDB4997DD3ADCE483C6D9, + DB487CE9B3A328B55746C3DF, + F28CB4A3EF7107E836B8A229, + 4219EABF6E3F7CC96893599A, + 65DE548B2F9200613114E5D6, + AC4649F24DEB64237B6EC77F, + B7E4EFDAE8E894D1F8D2C501, + EE647BD9D420B3000BA55CA0, + E3160BC3BA6B0F9585CD0BF3, + 354E8A9B7FD3A7AA6598A990, + 963703A2971006C8BB3D190E, ); runOnlyForDeploymentPostprocessing = 0; }; + CC8B96946F1A671C94B8F9E7 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 221B97F3CD062F71EBEBA165, + A068599CF7E166847EE45D5F, + D8EA61FEC398A5C223891C51, + F37F96986DD58C4B8ED9A214, + AB1CA2580B4A152E93E261AB, + 27E7A851C1C94C16A74C6D07, + ECF60C3CF6D180AAFF43C822, + CC4D3A6F1EF2934059AA9FEB, + 221F46E90C0A8651AB76A0E5, B46C12D99498E9FA8F1D083A, ); runOnlyForDeploymentPostprocessing = 0; }; - E277BCF6E051A6008DD74155 = {isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; name = "Post-build script"; shellPath = /bin/sh; shellScript = "\n# This script takes the build product and copies it to the AU, VST, VST3, RTAS and AAX folders, depending on \n# which plugin types you've built\n\noriginal=$CONFIGURATION_BUILD_DIR/$FULL_PRODUCT_NAME\n\n# this looks inside the binary to detect which platforms are needed.. \ncopyAU=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'AudioUnit' | wc -l`\ncopyVST=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'VSTPlugin' | wc -l`\ncopyVST3=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'GetPluginFactory' | wc -l`\ncopyRTAS=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'CProcess' | wc -l`\ncopyAAX=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'ACFStartup' | wc -l`\n\nif [ $copyAU -gt 0 ]; then\n echo \"Copying to AudioUnit folder...\"\n AUDir=~/Library/Audio/Plug-Ins/Components\n mkdir -p \"$AUDir\"\n AU=$AUDir/$PRODUCT_NAME.component\n if [ -d \"$AU\" ]; then \n rm -r \"$AU\"\n fi\n\n cp -r \"$original\" \"$AU\"\n sed -i \"\" -e 's/TDMwPTul/BNDLPTul/g' \"$AU/Contents/PkgInfo\"\n sed -i \"\" -e 's/TDMw/BNDL/g' \"$AU/Contents/$INFOPLIST_FILE\"\nfi\n\nif [ $copyVST -gt 0 ]; then\n echo \"Copying to VST folder...\"\n VSTDir=~/Library/Audio/Plug-Ins/VST\n mkdir -p \"$VSTDir\"\n VST=$VSTDir/$PRODUCT_NAME.vst\n if [ -d \"$VST\" ]; then \n rm -r \"$VST\"\n fi\n\n cp -r \"$original\" \"$VST\"\n sed -i \"\" -e 's/TDMwPTul/BNDLPTul/g' \"$VST/Contents/PkgInfo\"\n sed -i \"\" -e 's/TDMw/BNDL/g' \"$VST/Contents/$INFOPLIST_FILE\"\nfi\n\nif [ $copyVST3 -gt 0 ]; then\n echo \"Copying to VST3 folder...\"\n VST3Dir=~/Library/Audio/Plug-Ins/VST3\n mkdir -p \"$VST3Dir\"\n VST3=$VST3Dir/$PRODUCT_NAME.vst3\n if [ -d \"$VST3\" ]; then \n rm -r \"$VST3\"\n fi\n\n cp -r \"$original\" \"$VST3\"\n sed -i \"\" -e 's/TDMwPTul/BNDLPTul/g' \"$VST3/Contents/PkgInfo\"\n sed -i \"\" -e 's/TDMw/BNDL/g' \"$VST3/Contents/$INFOPLIST_FILE\"\nfi\n\nif [ $copyRTAS -gt 0 ]; then\n echo \"Copying to RTAS folder...\"\n RTASDir=/Library/Application\\ Support/Digidesign/Plug-Ins\n if [ -d \"$RTASDir\" ]; then\n RTAS=$RTASDir/$PRODUCT_NAME.dpm\n if [ -d \"$RTAS\" ]; then\n rm -r \"$RTAS\"\n fi\n\n cp -r \"$original\" \"$RTAS\"\n fi\nfi\n\nif [ $copyAAX -gt 0 ]; then\n echo \"Copying to AAX folder...\"\n\n if [ -d \"/Applications/ProTools_3PDev/Plug-Ins\" ]; then\n AAX1=\"/Applications/ProTools_3PDev/Plug-Ins/$PRODUCT_NAME.aaxplugin\"\n\n if [ -d \"$AAX1\" ]; then\n rm -r \"$AAX1\"\n fi\n\n cp -R -H \"$original\" \"$AAX1\"\n fi\n\n if [ -d \"/Library/Application Support/Avid/Audio/Plug-Ins\" ]; then\n AAX2=\"/Library/Application Support/Avid/Audio/Plug-Ins/$PRODUCT_NAME.aaxplugin\"\n\n if [ -d \"$AAX2\" ]; then\n rm -r \"$AAX2\"\n fi\n\n cp -R -H \"$original\" \"$AAX2\"\n fi\nfi\n"; }; - 27A65CD0B053616E226D4547 = {isa = PBXNativeTarget; buildConfigurationList = 92D1022F6276146FC92B4442; buildPhases = ( - 0D832C784AB07BFDE57BCB92, - D95827C1509280C88845BCB4, - E032EB514708440DE9B7FF2A, - 95E57A758351FE57067B605F, - E277BCF6E051A6008DD74155, ); buildRules = ( ); dependencies = ( ); name = JuceDemoPlugin; productName = JuceDemoPlugin; productReference = 63F8022F081E22DFFFCAC998; productInstallPath = "$(HOME)/Library/Audio/Plug-Ins/Components/"; productType = "com.apple.product-type.bundle"; }; - 85250052F3E019894332668E = {isa = PBXProject; buildConfigurationList = 0720B453F376663EAB98BF9B; attributes = { LastUpgradeCheck = 0440; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 4074359E1E7C4D54E87C3461; projectDirPath = ""; projectRoot = ""; targets = ( 27A65CD0B053616E226D4547 ); }; + C3F206BB3277FBADE3BD615B = {isa = PBXNativeTarget; buildConfigurationList = 08D73ACBC0F6E2A4747629EE; buildPhases = ( + 4E087312D44130771EB1E9C2, + CC8B96946F1A671C94B8F9E7, ); buildRules = ( ); dependencies = ( ); name = "JuceDemoPlugin (Shared Code)"; productName = JuceDemoPlugin; productReference = 4D6248E85C22578615FA809C; productInstallPath = "@executable_path/../Frameworks"; productType = "com.apple.product-type.framework"; }; + 85250052F3E019894332668E = {isa = PBXProject; buildConfigurationList = 0720B453F376663EAB98BF9B; attributes = { LastUpgradeCheck = 0440; TargetAttributes = { D4A200CA175E6673EB359B63 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };921CB4BBA34ADBC5270F81EF = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };03F6829513830045329610BB = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };71E1E34CFC671ACBBCE0726C = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };C3F206BB3277FBADE3BD615B = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 4074359E1E7C4D54E87C3461; projectDirPath = ""; projectRoot = ""; targets = (D4A200CA175E6673EB359B63, 921CB4BBA34ADBC5270F81EF, 03F6829513830045329610BB, 71E1E34CFC671ACBBCE0726C, C3F206BB3277FBADE3BD615B); }; }; rootObject = 85250052F3E019894332668E; } diff --git a/examples/audio plugin demo/Builds/VisualStudio2015/JuceDemoPlugin.vcxproj b/examples/audio plugin demo/Builds/VisualStudio2015/JuceDemoPlugin.vcxproj index 8a1a1b3d1f..0b01281706 100644 --- a/examples/audio plugin demo/Builds/VisualStudio2015/JuceDemoPlugin.vcxproj +++ b/examples/audio plugin demo/Builds/VisualStudio2015/JuceDemoPlugin.vcxproj @@ -224,6 +224,9 @@ true + + true + true @@ -239,15 +242,6 @@ true - - true - - - true - - - true - true @@ -296,25 +290,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -344,9 +323,75 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -365,21 +410,6 @@ true - - true - - - true - - - true - - - true - - - true - true @@ -413,9 +443,6 @@ true - - true - true @@ -425,43 +452,7 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -479,33 +470,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -530,40 +494,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -572,31 +506,16 @@ true - + true - + true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -662,16 +581,115 @@ true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -680,22 +698,16 @@ true - + true - + true - + true - - true - - - true - - + true @@ -716,6 +728,18 @@ true + + true + + + true + + + true + + + true + true @@ -725,6 +749,12 @@ true + + true + + + true + true @@ -746,43 +776,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -803,10 +800,40 @@ true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -833,6 +860,51 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -845,6 +917,153 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -866,19 +1085,70 @@ true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -947,246 +1217,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -1253,36 +1283,20 @@ true - - - - - - - - - - - - - - - StdCall - - - StdCall - - - StdCall - - - StdCall - - - StdCall - - - + + + + + + + + + + + + + + @@ -1324,6 +1338,8 @@ + + @@ -1331,20 +1347,10 @@ + - - - - - - - - - - - @@ -1354,9 +1360,19 @@ + + + + + + + + + + @@ -1366,6 +1382,15 @@ + + + + + + + + + @@ -1376,15 +1401,6 @@ - - - - - - - - - @@ -1405,21 +1421,35 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1440,22 +1470,49 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1475,62 +1532,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - + + + + - - - - + + + + + + + + @@ -1540,19 +1564,11 @@ - - - - - - - - - - + + @@ -1563,10 +1579,15 @@ - - - - + + + + + + + + + @@ -1577,26 +1598,91 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1610,14 +1696,21 @@ - - - - - - - - + + + + + + + + + + + + + + + @@ -1642,83 +1735,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1748,18 +1764,7 @@ - - - - - - - - - - - - + diff --git a/examples/audio plugin demo/Builds/VisualStudio2015/JuceDemoPlugin.vcxproj.filters b/examples/audio plugin demo/Builds/VisualStudio2015/JuceDemoPlugin.vcxproj.filters index 65b227d128..7933cbaac4 100644 --- a/examples/audio plugin demo/Builds/VisualStudio2015/JuceDemoPlugin.vcxproj.filters +++ b/examples/audio plugin demo/Builds/VisualStudio2015/JuceDemoPlugin.vcxproj.filters @@ -32,63 +32,69 @@ {CACD7B50-4DB3-76AF-A6E8-90DF94F8F594} + + {45C2CE26-EC4B-BA52-58F3-297C408E1483} + {9D270B31-2425-8FDB-84A4-6A2288FF5B2F} {0F766DD4-A277-CB86-5647-42498C8B41E1} - - {D64942B4-6984-3623-3347-45D472AE1C61} - - - {45C2CE26-EC4B-BA52-58F3-297C408E1483} - {01603E05-423B-5FC3-1BEE-E15ED33B5688} + + {D64942B4-6984-3623-3347-45D472AE1C61} + {65CB28F8-0422-A8F3-9A17-959E12A1F8E2} - - {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} - {0CD9E281-DDD0-91EC-6F77-EA9D9D5E0E1A} + + {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} + {40C5CA7C-AEBB-05B1-11CE-AE41D87B5CCB} {EE36D8B9-408C-AEC9-66E7-BEA9E407F27F} + + {F0C10808-8C36-BCD0-D25F-523774B0ADA2} + {1ED92A41-D496-5397-A4B0-9FA52DBA9215} {50F044B3-0D39-198B-CA5F-BE5E6C078D04} - - {AF5F4789-D607-BFD8-D853-09473C27449C} - - - {F0C10808-8C36-BCD0-D25F-523774B0ADA2} + + {25DD3A16-4BC7-35BD-F32E-0310D1887564} {EA1913F9-0E99-FEC5-0192-0C197611B8F8} + + {AF5F4789-D607-BFD8-D853-09473C27449C} + + + {22689F25-8C5C-52CF-09E4-4308D1521B9B} + {0B0E7392-324B-088C-FBEB-5FE999D61782} - - {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} - {20254EFE-6CBD-31A7-2119-92B1E0E0E311} {70796D73-6D30-8A1B-4732-7C021E47C05A} + + {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} + {EB8DD942-E2CB-869F-D381-E02A65BA790B} @@ -101,17 +107,26 @@ {8167E753-09C7-5D1C-EF2B-32D297557443} - - {AEDCB7F7-7A36-5392-8E9A-715F5BDE35CB} - {B48C883A-8483-AF6D-808C-1D9A749048D8} + + {AEDCB7F7-7A36-5392-8E9A-715F5BDE35CB} + {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} - - {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + + {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + + {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + + {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} {476C69CE-0B67-6B85-E888-45D91E37A29E} @@ -119,17 +134,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} - - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -137,60 +146,57 @@ {91929C6F-7902-B87D-5260-2F6CBF8ACD93} - - {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} - {4634FFAE-9586-A970-364C-4FDDA635F99F} - - {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} - - {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - {F03654BC-34D8-F975-BEA3-750CC2783D23} + + {C9F6D785-BF78-5AA1-B479-111C65397864} {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} - - {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} - - {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + {F03654BC-34D8-F975-BEA3-750CC2783D23} {928D8FCC-5E00-174B-6538-93E8D75AB396} - - {1988E68A-A964-64CA-0E0C-26FF9BC5176C} + + {358AEA11-3F96-36AE-7B32-71373B5C5396} {3DF036EA-3B80-553B-2494-3AAC835CAE75} - - {358AEA11-3F96-36AE-7B32-71373B5C5396} + + {1988E68A-A964-64CA-0E0C-26FF9BC5176C} {F2A38F45-6E55-E147-2E52-64A89FDD9D59} - - {6172822C-01A5-E824-12DA-FA43FA934D35} - - - {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} - {B098BC87-3298-7E6B-12DC-D26C09CDCAED} {6322B88F-984A-C3CD-6263-38D7AA49B6EC} + + {6172822C-01A5-E824-12DA-FA43FA934D35} + {73C1E759-AD90-59A3-942E-2D10FAA29107} + + {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} + {EE1AE8C3-0908-8F53-A4E5-D930C7C97C26} @@ -200,81 +206,81 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} - - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - - {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {E37D25CD-4350-4614-055B-7ABC55E67895} {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {C1A1A236-AB01-173E-96C3-0706BFF93B1E} + + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + + {413F481F-075C-2958-115C-D8268682FCB7} {FFC6E1CC-C772-75E6-5087-FB5D4E016799} + + {1182303F-ECA3-166D-AC0C-92C5E762CB93} + {8E43579F-C185-266D-DD67-F8B95BD80F2F} + + {61712B09-5783-ADFA-2001-5A0C3D7764EB} + + + {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + + {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} + {2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D} - - {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + {5A0AA36E-3957-E413-14C6-31CBE15271DF} + + + {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} {A92719C7-70BE-57C4-CE9E-A9BC9DFEB757} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} + + + {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} + + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} + + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + + {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} + + + {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} + {75F1F352-251A-75E0-D941-8431588F5C1E} {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} - - {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} - - - {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} - - - {5A0AA36E-3957-E413-14C6-31CBE15271DF} - - - {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} - - - {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} - - - {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} - - - {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} - - - {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - - {61712B09-5783-ADFA-2001-5A0C3D7764EB} - - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} - {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -391,6 +397,9 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -406,15 +415,6 @@ Juce Modules\juce_audio_devices\midi_io - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\audio_cd - Juce Modules\juce_audio_devices\native @@ -469,26 +469,11 @@ Juce Modules\juce_audio_devices\native - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_formats\codecs @@ -517,38 +502,74 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_plugin_client\AU - - - Juce Modules\juce_audio_plugin_client\RTAS - - - Juce Modules\juce_audio_plugin_client\VST + + Juce Modules\juce_audio_plugin_client\AAX Juce Modules\juce_audio_plugin_client\AAX - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client\AU - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client\AU - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client\RTAS - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client\RTAS - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client\RTAS - - Juce Modules\juce_audio_processors\processors + + Juce Modules\juce_audio_plugin_client\RTAS + + + Juce Modules\juce_audio_plugin_client\RTAS + + + Juce Modules\juce_audio_plugin_client\RTAS + + + Juce Modules\juce_audio_plugin_client\Standalone + + + Juce Modules\juce_audio_plugin_client\utility + + + Juce Modules\juce_audio_plugin_client\VST + + + Juce Modules\juce_audio_plugin_client\VST + + + Juce Modules\juce_audio_plugin_client\VST3 Juce Modules\juce_audio_processors\format @@ -568,6 +589,24 @@ Juce Modules\juce_audio_processors\format_types + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + Juce Modules\juce_audio_processors\scanning @@ -601,9 +640,6 @@ Juce Modules\juce_audio_utils\gui - - Juce Modules\juce_audio_utils\players - Juce Modules\juce_audio_utils\native @@ -619,44 +655,8 @@ Juce Modules\juce_audio_utils\native - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\memory + + Juce Modules\juce_audio_utils\players Juce Modules\juce_core\containers @@ -673,33 +673,6 @@ Juce Modules\juce_core\containers - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - Juce Modules\juce_core\files @@ -724,41 +697,11 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -766,32 +709,17 @@ Juce Modules\juce_core\logging - - Juce Modules\juce_core\system + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc @@ -871,6 +799,126 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -880,33 +928,6 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - Juce Modules\juce_events\broadcasters @@ -925,6 +946,18 @@ Juce Modules\juce_events\interprocess + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + Juce Modules\juce_events\native @@ -940,6 +973,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_graphics\colour @@ -961,44 +1000,11 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\effects Juce Modules\juce_graphics\fonts @@ -1018,11 +1024,41 @@ Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -1054,6 +1090,51 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -1066,6 +1147,153 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -1087,20 +1315,92 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -1168,267 +1468,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_extra\code_editor @@ -1507,64 +1546,46 @@ Juce Modules\juce_gui_extra\native - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - + Juce Library Code @@ -1686,6 +1707,12 @@ Juce Modules\juce_audio_basics + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -1707,48 +1734,18 @@ Juce Modules\juce_audio_devices\midi_io + + Juce Modules\juce_audio_devices\native + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\native - Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - Juce Modules\juce_audio_formats\codecs @@ -1776,15 +1773,45 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_plugin_client\AU + Juce Modules\juce_audio_plugin_client\RTAS + + Juce Modules\juce_audio_plugin_client\Standalone + Juce Modules\juce_audio_plugin_client\utility @@ -1812,6 +1839,33 @@ Juce Modules\juce_audio_plugin_client + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + Juce Modules\juce_audio_processors\processors @@ -1842,33 +1896,6 @@ Juce Modules\juce_audio_processors\processors - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - Juce Modules\juce_audio_processors\scanning @@ -1929,50 +1956,92 @@ Juce Modules\juce_audio_utils - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -2034,53 +2103,134 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text Juce Modules\juce_core\threads @@ -2139,92 +2289,8 @@ Juce Modules\juce_core\time - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -2232,12 +2298,6 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - Juce Modules\juce_core\zip @@ -2247,42 +2307,21 @@ Juce Modules\juce_core\zip - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - Juce Modules\juce_core + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -2292,21 +2331,33 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - Juce Modules\juce_data_structures + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + Juce Modules\juce_events\messages @@ -2334,36 +2385,6 @@ Juce Modules\juce_events\messages - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - Juce Modules\juce_events\native @@ -2373,6 +2394,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_events @@ -2403,17 +2430,32 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -2445,38 +2487,17 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -2487,9 +2508,60 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + Juce Modules\juce_graphics + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -2505,6 +2577,171 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -2544,29 +2781,50 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -2640,237 +2898,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_basics @@ -2954,44 +2981,11 @@ - - Juce Modules\juce_audio_basics - - - Juce Modules\juce_audio_devices - - - Juce Modules\juce_audio_formats - - - Juce Modules\juce_audio_plugin_client - - - Juce Modules\juce_audio_processors - - - Juce Modules\juce_audio_utils - - - Juce Modules\juce_core - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_gui_extra + + Juce Modules\juce_audio_plugin_client\RTAS - Juce Library Code + Juce Modules\juce_audio_plugin_client\RTAS diff --git a/examples/audio plugin demo/How to use this framework.txt b/examples/audio plugin demo/How to use this framework.txt deleted file mode 100644 index c744159bc4..0000000000 --- a/examples/audio plugin demo/How to use this framework.txt +++ /dev/null @@ -1,339 +0,0 @@ - - The Juce Polymorphic Plugin Project! - ==================================== - -(c) 2015 by ROLI, visit www.juce.com for more info. - ------------------------------------------------------------------------------------------------------ - -The purpose of this framework is to make is simple to write an audio plugin in a generic -way, which can then be compiled as a VST, AudioUnit, RTAS, or any combination of these. - -It's "polymorphic" because the output is a single binary module that acts as all of the -different plugin formats at the same time. This means that you only need to maintain one -project, and only need to perform one build to create a multi-format plugin. - -Also included are some helper classes that make it easy to create a stand-alone app to -run your plugin without a host. This might be useful in its own right, but can also be very -handy when developing your plugin, because you can build, test and debug it without needing -to keep restarting a 3rd-party host. - - How does it work? - ================= - -To create your plugin, you just create a subclass of the AudioPluginInstance class to -perform the processing. And your plugin UI is written like any normal Juce UI component. - -All the platform-specific code is hidden away in wrapper classes that you just add to -your project - you should (hopefully) never need to even see the inner workings of these. - - - Licensing issues - ================ - -Juce is released under the GPL (Gnu Public License) - this means that you're free to use -and redistribute it as long as your products are also released under the GPL. Basically -this means that if you use it, you also have to give away your source code. -If you want to release a closed-source application, you can buy a commercial license -that lets you avoid this restriction - see http://www.juce.com for more info, -or see the comments at the top of all the Juce source files. - -If you're building the VST projects or releasing a VST, you'll need have a look at Steinberg's -developer site to see what licensing rules apply these days. Their website's at -http://www.steinberg.net - -If you're building an RTAS then you'll need to sign Digidesign's developer license to get -their SDK. Visit http://www.digidesign.com for more info. - - - - Getting Started - =============== - -The best advice for creating a plugin is to USE THE INTROJUCER! This will auto-generate a -cross-platform project for you with all the correct settings, and some framework classes to -get you started. - -If you choose to go it alone and not use the introjucer, then you'll have a lot of painful -project set-up to do, and will need to scour this document and the juce forum for the details. - -There's a demo plugin in the juce/extras folder - this contains an example plugin which can -be built in all the different formats. - -Have a look at the demo classes to see how it works, and then to create a real plugin, -you'll need to replace the demo files with your own code. - -I've tried to add helpful comments where you might run across common compile errors, to -help describe what you might be doing wrong, as getting a build set-up for some of these -formats can be a bit of a pain. Please let me know if you find there's anything missing -from these instructions or anything I could change to help smooth the build process along -a bit. - - ------------------------------------------------------------------------------------------------------ - - Prerequisites for building a VST - ================================ - -- Visit http://www.steinberg.net and jump through whatever hoops are necessary to download - and install the VST SDK. - ------------------------------------------------------------------------------------------------------ - - Prerequisites for building an RTAS - ================================== - -- Contact Digidesign, ask to become a Digidesign Development Partner, sign the relevent - agreements and NDAs. -- From the Digidesign website, download their latest Plug-In SDK -- Install the SDK and build some of the demo plugins to make sure it all works. -- In Visual Studio: Using the Digidesign demo projects in the SDK, make sure you've compiled - debug and release versions of the following static libraries: - DAE.lib, DigiExt.lib, DSI.lib, PlugInLib.lib. -- In XCode: After installing the Digidesign SDK, make sure you've run the config_SDK_for_Mac - command in the SDK's root directory. This sets up some of the tools that it needs. - - ------------------------------------------------------------------------------------------------------ - - Choosing the formats to build - ============================= - -Each plugin project needs to contain an AppConfig.h file, which holds all the plugin-specific build details. -(The introjucer will auto-generate this file for you when you create a project). In here, there are three macros -that you can set to enable each of the available formats: - -#define JucePlugin_Build_VST 1 -#define JucePlugin_Build_RTAS 1 -#define JucePlugin_Build_AU 1 - -The introjucer contains options in its config panel that let you set these values automatically without -needing to manually change any files. - - ------------------------------------------------------------------------------------------------------ - - Manually Creating a PC VST/RTAS plugin in Visual Studio - ======================================================= - - -NOTE! That the following tips are provided only for the case where you're not using the introjucer.. -If you're sensible, you'll let the introjucer do all the heavy lifting, and won't need to read this. - - -- First try loading the VST demo project in JuceAudioPlugin/demo/build. Hopefully this - should build correctly. -- Create a new, empty, win32 project using Visual Studio. Choose "DLL" as the type of - product to build -- If building an RTAS, add to your project all the juce_RTAS_*.cpp files from the wrapper/RTAS folder. -- If building a VST, add to your project all the juce_VST_*.cpp files from the wrapper/VST folder. - -- Create yourself a JucePluginCharacteristics.h file, starting with a copy of the one in the - demo project. Go through each item inside it carefully, and set them to the appropriate value - for your plugin. - -- Under "Additional Include Directories", add the folder in which you're going to put - your JucePluginCharacteristics.h file. - -- If you're doing an RTAS, change these project settings (these can all be ignored if you're only doing a VST): - - Make sure all of these are on your include path: - c:\yourdirectory\PT_80_SDK\AlturaPorts\TDMPlugins\PluginLibrary\EffectClasses - c:\yourdirectory\PT_80_SDK\AlturaPorts\TDMPlugins\PluginLibrary\ProcessClasses - c:\yourdirectory\PT_80_SDK\AlturaPorts\TDMPlugins\PluginLibrary\ProcessClasses\Interfaces - c:\yourdirectory\PT_80_SDK\AlturaPorts\TDMPlugins\PluginLibrary\Utilities - c:\yourdirectory\PT_80_SDK\AlturaPorts\TDMPlugins\PluginLibrary\RTASP_Adapt - c:\yourdirectory\PT_80_SDK\AlturaPorts\TDMPlugins\PluginLibrary\CoreClasses - c:\yourdirectory\PT_80_SDK\AlturaPorts\TDMPlugins\PluginLibrary\Controls - c:\yourdirectory\PT_80_SDK\AlturaPorts\TDMPlugins\PluginLibrary\Meters - c:\yourdirectory\PT_80_SDK\AlturaPorts\TDMPlugins\PluginLibrary\ViewClasses - c:\yourdirectory\PT_80_SDK\AlturaPorts\TDMPlugins\PluginLibrary\DSPClasses - c:\yourdirectory\PT_80_SDK\AlturaPorts\TDMPlugins\PluginLibrary\Interfaces - c:\yourdirectory\PT_80_SDK\AlturaPorts\TDMPlugins\common - c:\yourdirectory\PT_80_SDK\AlturaPorts\TDMPlugins\common\Platform - c:\yourdirectory\PT_80_SDK\AlturaPorts\TDMPlugins\SignalProcessing\Public - C:\yourdirectory\PT_80_SDK\AlturaPorts\TDMPlugIns\DSPManager\Interfaces - c:\yourdirectory\PT_80_SDK\AlturaPorts\SADriver\Interfaces - c:\yourdirectory\PT_80_SDK\AlturaPorts\DigiPublic\Interfaces - c:\yourdirectory\PT_80_SDK\AlturaPorts\Fic\Interfaces\DAEClient - c:\yourdirectory\PT_80_SDK\AlturaPorts\NewFileLibs\Cmn - c:\yourdirectory\PT_80_SDK\AlturaPorts\NewFileLibs\DOA - c:\yourdirectory\PT_80_SDK\AlturaPorts\AlturaSource\PPC_H - c:\yourdirectory\PT_80_SDK\AlturaPorts\AlturaSource\AppSupport - c:\yourdirectory\PT_80_SDK\AvidCode\AVX2sdk\AVX\avx2\avx2sdk\inc - C:\yourdirectory\PT_80_SDK\xplat\AVX\avx2\avx2sdk\inc - - Set "C++/Code Generation/Runtime Library" to be "Multi-threaded DLL" or "Multi-threaded Debug DLL" - - Set the "Linker/Input/Module Definition file" to point to "wrapper/RTAS/juce_RTAS_WinExports.def" - - Under "Linker/Input/Delay loaded DLLs", add the following: - "DAE.dll; DigiExt.dll; DSI.dll; PluginLib.dll; DSPManager.dll" - - You may (or may not) need to add "libcmtd.lib; libcmt.lib" to the "Linker/Input/Ignore Specific Library" setting. - - For ONLY the following files: - juce_RTAS_Wrapper.cpp, juce_RTAS_DigiCode1.cpp, juce_RTAS_DigiCode2.cpp, juce_RTAS_DigiCode3.cpp, - change their "C++/Advanced/Calling Convention" property to "__stdcall". All other files should - be left with the default calling convention of "__cdecl" - - Set the "Linker/General/Output File" property to "$(OutDir)\$(ProjectName).dpm" (If you're building - a polymorphic VST/RTAS, then you can simply copy or rename the finished .dpm file to a .dll, and - it'll function as a VST) - - Under "Custom build step", add the following command: - copy /Y "\yourdirectory\juce\extras\audio plugins\wrapper\RTAS\juce_RTAS_WinResources.rsr" "$(TargetPath)".rsr - The corresponding "Outputs" setting for this must be set to "$(TargetPath)".rsr - (This will copy and rename the juce_RTAS_WinResources.rsr file to sit next to the finished .dpm file. It's - a dummy resource file, but PT will refuse to load the plugin unless it has a corresponding .rsr file) - - Because the RTAS code duplicates some win32 constants, you might need to force it to link correctly - by adding "/FORCE:multiple" to the linker's additional command line options. - - You might want to change the output directory to "\Program Files\Common Files\Digidesign\DAE\Plug-Ins\" - if you want the built plugin to go directly into the PT plugins folder - - When setting properties, remember to change them for both your debug and release builds! - -- Create your actual plugin classes and add them to the project. Obviously this is the hard bit! - -- Add the amalgamated juce source file to the project - have a look at the demo app for neat ways of doing this. - -- NOTE: on Windows, because RTAS uses the altura mac-style code, there are annoying clashes caused if - you also include the Apple QuickTime headers, so you might need to turn off quicktime by setting the - juce config macro: #define JUCE_QUICKTIME 0 - -- NOTE: If you're using MSVC2005 to build your plugin, the users will need to - have the Microsoft VC8 Runtime installed on their machines, otherwise the DLL will - silently fail to load. You should probably add the runtime to your plugin's installer, - and you can get a copy of it here: - http://www.microsoft.com/downloads/details.aspx?FamilyID=32bc1bee-a3f9-4c13-9c99-220b62a191ee&DisplayLang=en - - - ------------------------------------------------------------------------------------------------------ - - Creating a Mac AU/VST/RTAS plugin in XCode - ========================================== - -NOTE! That the following tips are provided only for the case where you're not using the introjucer.. -If you're sensible, you'll let the introjucer do all the heavy lifting, and won't need to read this. - -- Some of the RTAS SDK files in the demo project might be highlighted red to indicate that they're - missing - if you're not bulding an RTAS, then you can just delete them from the project. If you are - building an RTAS and have the SDK, you might need to update their paths to match your SDK location. -- For an AU, there are a bunch of Apple cpp files that need to be included directly in your project - these - used to be found in /Developer/Examples/CoreAudio/ but in the 10.6 SDK, Apple have moved them to a slightly - more sensible location at /Developer/Extras/CoreAudio. The Juce demo is hardwired to refer to their new - 10.6 location, so if you haven't yet installed the 10.6 SDK, the easiest way to make it all happy is just - to duplicate your /Developer/Examples/CoreAudio folder as /Developer/Extras/CoreAudio. That way old and new - juce plugin projects will all compile without changing any project paths. -- For an AU, make sure that the JucePlugin_Build_AU is enabled in your JucePluginCharacteristics.h -- In XCode, create a new project based on the "Audio Unit Effect" template -- XCode will create a bunch of template source files for you - you can remove all of these from the project - and delete them -- In the target settings, clear the "Exported Symbols File" setting. The exports are specified by directives - within the wrapper code, so don't need to be listed explicitly. -- All all the Apple frameworks that Juce normally requires to the "External Frameworks" list -- Add all the juce_AU_* files from the /wrapper/AU directory to your project -- The template project creates an AUPublic group that contains lots of AudioUnit source files. But - it leaves out files that it thinks you might not need, e.g. if you chose an "Audio Unit Effect" project, - then it won't add the classes for handling MIDI. So you'll probably need to go into this folder - and check that it contains AUMIDIBase.cpp, AUMidiEffectBase.cpp, MusicDeviceBase.cpp, etc -- As for the PC, you'll need to make sure your project contains a correctly set-up JucePluginCharacteristics.h - file - start with a copy of the one in the demo plugin project, and go through it making sure that - all the values make sense for your plugin. -- The JucePluginCharacteristics.h file is included not only by the code, but also by the resources files - so it - needs to be locatable on both your normal header search path, and also on your resource include path, which is - the project setting called 'Rez Search Paths' -- Because of the flat naming structure used by Objective-C, if a host loads several different plugins which - all contain slightly different versions of the juce library, you can get nasty situations where all their obj-C - classes are cross-linked to the similarly-named class in other modules, and everything turns into a big mess... - To avoid this, you're advised to set a unique JUCE_ObjCExtraSuffix value (you'll find this in juce_mac_NativeCode.mm, - or if you're using the amalgamated version, you can just set it before including juce_amalgamated.cpp). Choose a - suffix that's unique to both the name and version of your plugin. -- Create your actual plugin classes and add them to the project. Obviously this is the hard bit! - -You should now be able to build a functional AU! If you want VST support as well, then read on... - -- Make sure that the JucePlugin_Build_VST is enabled in your JucePluginCharacteristics.h -- For VST support, add all the juce_VST_* files from /wrapper/VST -- In your target info settings, add the vstsdk2_4 folder to your "Header Search Paths" list -- Make sure that in your Info.plist, the "Bundle Name" value is correctly set to the name of your plugin. - -Now, if you compile, the resulting bundle should work as both a VST and AU - you can simply copy or rename it, -changing the suffix to ".vst", and put it in your VST folder. - -NOTE! In order to copy and rename the plugin to the various different plugin folders, the demo plugin project -contains a VERY useful script, which you'll almost certainly want to copy into your own projects - have -a look in the demo target for the build phase called "Copy into the different plugin folders", and use the -inspector to have a look at the script. It uses advanced cunningness to copy only to the correct target -folders for the types of plugin you're targeting, and should be able to be used in your own project -without needing to edit it. - -NOTE! If you use the Finder to rename your xyz.component file to xyz.vst, it might look like it's done -exactly this... but in fact, the Finder may have secretly renamed it as "xyz.vst.component", even though -it shows "xyz.vst" as the name on the screen. I have wasted quite a lot of time angrily wondering why my VSTs -don't seem to work, before realising that this is what has happened. You should use the command-line to rename -it correctly. - -If you also want to build an RTAS, then carry on reading... - - -- Make sure that the JucePlugin_Build_RTAS is enabled in your JucePluginCharacteristics.h -- After installing the Digidesign SDK, make sure you've run the config_SDK_for_Mac command in - its root directory. This sets up some of the tools that it needs. -- Add the files from /wrapper/RTAS to your project. Obviously a couple of these are for Windows, so - you shouldn't add those -- In the Digi SDK, in /AlturaPorts/TDMPlugins/common/mac, there are two config files: - CommonDebugSettings.xconfig and CommonReleaseSettings.xconfig - These contain lots of Digi hackery to get their stuff to compile, so you should add them to your project - and change your project's settings to use these files as their base config. Even so, it's all a bit of a mess, - and you may need to tweak them a bit to get it to work on your system. -- In your target settings, add a custom build setting called "MacBag", and set this to the path where the - "MacBag" folder of the Digi SDK lives. -- Add the following to your "Header Search Paths" setting (it's easiest to copy-and-paste this setting from - the demo project): - "$(MacBag)/../AlturaPorts/TDMPlugIns/PlugInLibrary/**" - "$(MacBag)/../AlturaPorts/TDMPlugIns/DSPManager/**" - "$(MacBag)/../AlturaPorts/TDMPlugIns/SupplementalPlugInLib/Encryption" - "$(MacBag)/../AlturaPorts/TDMPlugIns/SupplementalPlugInLib/GraphicsExtensions" - "$(MacBag)/../AlturaPorts/TDMPlugIns/common" - "$(MacBag)/../AlturaPorts/TDMPlugIns/common/PI_LibInterface" - "$(MacBag)/../AlturaPorts/TDMPlugIns/PACEProtection/**" - "$(MacBag)/../AlturaPorts/OMS/Headers" - "$(MacBag)/../AlturaPorts/Fic/Interfaces/**" - "$(MacBag)/../AlturaPorts/Fic/Source/SignalNets" - "$(MacBag)/../AlturaPorts/DSIPublicInterface/PublicHeaders" - "$(MacBag)/../DAEWin/Include" - "$(MacBag)/../AlturaPorts/DigiPublic/Interfaces" - "$(MacBag)/../AlturaPorts/DigiPublic" - "$(MacBag)/../AlturaPorts/NewFileLibs/DOA" - "$(MacBag)/../AlturaPorts/NewFileLibs/Cmn" - "$(MacBag)/../AlturaPorts/TDMPlugIns/SignalProcessing/**" - "$(MacBag)/../AvidCode/AVX2sdk/AVX/avx2/avx2sdk/inc" - "$(MacBag)/../AvidCode/AVX2sdk/AVX/avx2/avx2sdk/utils" -- If you're using the Digi files CommonDebugSettings.xcconfig and CommonReleaseSettings.xcconfig, - then you'll probably have to remove the "-x c++" option from their OTHER_CFLAGS setting, because - that prevents it compiling obj-C. Also, you might need to comment-out the GCC_PREFIX_HEADER setting, - unless you can persuade precompiled headers to work (I've never managed to get them working myself..) - You'll also probably want to add a "MacBag" setting to these files, rather than putting it into - your project - e.g. "MacBag = /Users/jules/SDKs/PT_80_SDK/MacBag" -- If you get include errors compiling some of the DigiDesign code, you may need to - add "/Developer/Headers/FlatCarbon" to your header search path. -- In the SDK, find the PluginLibrary.xcodeproj file, and add this to your "External frameworks and Libraries". - If you've already compiled this library, you can open its item in your XCode project treeview, to find - the "libPluginLibrary.a" item inside it. Drag this subitem down to your Target/"Link Binary With Libraries" - build stage and drop it there to add it to the link process. -- In your Info.plist, change the "Bundle OS Type Code" to "TDMw", and the "Bundle Creator OS Type Code" to - "PTul". -- You may need to remove the "OTHER_CFLAGS = -x c++" from the RTAS settings file to stop it complaining about - obj-C code - -You should now be able to build an RTAS! Again, just renaming the finished bundle to ".dpm" and -putting it in your RTAS folder should be do the trick. - -If you get any weird build problems, a good tip is to try comparing the demo plugin's build settings with your -own - this should usually show up what's missing. - - -Note about exported symbols: - When XCode builds the plugin, I've had unpredictable results when trying to stop it from exporting - all of the internal functions as public symbols. There are some flags that are supposed to turn this - off, but sometimes they don't seem to have any effect, and using an explicit exports file also - seems a bit hit-and-miss. (If anyone knows better and can get this working, please let me know!) - Anyway, as well as being wasteful and showing everyone what's inside your plugin, leaving all - the symbols in there will cause fatal crashes when used with Tracktion, or alongside any other - Juce-based plugins. A way of making sure your plugin is stripped is to use the command - "strip -x -S YourPlugin.vst/Contents/MacOS/YourPlugin" after bulding it, which removes the - unnecessary symbols (although in my experience this also doesn't seem to work all the time, - so it's a good idea to check it using the unix "nm" command). diff --git a/examples/audio plugin demo/JuceDemoPlugin.jucer b/examples/audio plugin demo/JuceDemoPlugin.jucer index 01fc1e360f..1b851e46aa 100644 --- a/examples/audio plugin demo/JuceDemoPlugin.jucer +++ b/examples/audio plugin demo/JuceDemoPlugin.jucer @@ -8,14 +8,15 @@ pluginWantsMidiIn="1" pluginProducesMidiOut="1" pluginSilenceInIsSilenceOut="0" pluginTailLength="0" pluginEditorRequiresKeys="1" pluginAUExportPrefix="JuceDemoProjectAU" pluginAUViewClass="JuceDemoProjectAU_V1" pluginRTASCategory="" - bundleIdentifier="com.juce.JuceDemoPlugin" jucerVersion="4.1.0" + bundleIdentifier="com.juce.JuceDemoPlugin" jucerVersion="4.2.0" companyName="ROLI Ltd." aaxIdentifier="com.yourcompany.JuceDemoPlugin" buildAAX="0" pluginAAXCategory="AAX_ePlugInCategory_Dynamics" includeBinaryInAppConfig="1" buildVST3="1" pluginManufacturerEmail="support@yourcompany.com" - companyWebsite="www.juce.com" companyEmail="info@juce.com" pluginIsMidiEffectPlugin="0"> + companyWebsite="www.juce.com" companyEmail="info@juce.com" pluginIsMidiEffectPlugin="0" + buildAUv3="0"> +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + #if ! DONT_SET_USING_JUCE_NAMESPACE // If your code uses a lot of JUCE classes, then this will obviously save you diff --git a/examples/audio plugin demo/JuceLibraryCode/ReadMe.txt b/examples/audio plugin demo/JuceLibraryCode/ReadMe.txt index f6c3564e99..091a5aa6eb 100644 --- a/examples/audio plugin demo/JuceLibraryCode/ReadMe.txt +++ b/examples/audio plugin demo/JuceLibraryCode/ReadMe.txt @@ -2,11 +2,11 @@ Important Note!! ================ -The purpose of this folder is to contain files that are auto-generated by the Introjucer, +The purpose of this folder is to contain files that are auto-generated by the Projucer, and ALL files in this folder will be mercilessly DELETED and completely re-written whenever -the Introjucer saves your project. +the Projucer saves your project. Therefore, it's a bad idea to make any manual changes to the files in here, or to put any of your own files in here if you don't want to lose them. (Of course you may choose to add the folder's contents to your version-control system so that you can re-merge your own -modifications after the Introjucer has saved its changes). +modifications after the Projucer has saved its changes). diff --git a/examples/audio plugin demo/JuceLibraryCode/juce_audio_basics.cpp b/examples/audio plugin demo/JuceLibraryCode/juce_audio_basics.cpp new file mode 100644 index 0000000000..418694873c --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/juce_audio_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin demo/JuceLibraryCode/juce_audio_basics.mm b/examples/audio plugin demo/JuceLibraryCode/juce_audio_basics.mm new file mode 100644 index 0000000000..e0e6c577cc --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/juce_audio_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin demo/JuceLibraryCode/juce_audio_devices.cpp b/examples/audio plugin demo/JuceLibraryCode/juce_audio_devices.cpp new file mode 100644 index 0000000000..fb5c2219d7 --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/juce_audio_devices.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin demo/JuceLibraryCode/juce_audio_devices.mm b/examples/audio plugin demo/JuceLibraryCode/juce_audio_devices.mm new file mode 100644 index 0000000000..e58b67ea49 --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/juce_audio_devices.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin demo/JuceLibraryCode/juce_audio_formats.cpp b/examples/audio plugin demo/JuceLibraryCode/juce_audio_formats.cpp new file mode 100644 index 0000000000..a3c61170eb --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/juce_audio_formats.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin demo/JuceLibraryCode/juce_audio_formats.mm b/examples/audio plugin demo/JuceLibraryCode/juce_audio_formats.mm new file mode 100644 index 0000000000..f325b8fb67 --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/juce_audio_formats.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_AAX.cpp b/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_AAX.cpp new file mode 100644 index 0000000000..c599b8759f --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_AAX.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_AAX.mm b/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_AAX.mm new file mode 100644 index 0000000000..d4b8c31117 --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_AAX.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_AU_1.mm b/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_AU_1.mm new file mode 100644 index 0000000000..a4fdf7f366 --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_AU_1.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_AU_2.mm b/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_AU_2.mm new file mode 100644 index 0000000000..175b30047f --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_AU_2.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_AUv3.mm b/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_AUv3.mm new file mode 100644 index 0000000000..0ac2b2f599 --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_AUv3.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_RTAS_1.cpp b/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_RTAS_1.cpp new file mode 100644 index 0000000000..29d48f3faa --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_RTAS_1.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_RTAS_2.cpp b/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_RTAS_2.cpp new file mode 100644 index 0000000000..2da08c6dc3 --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_RTAS_2.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_RTAS_3.cpp b/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_RTAS_3.cpp new file mode 100644 index 0000000000..72a8426cbe --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_RTAS_3.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_RTAS_4.cpp b/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_RTAS_4.cpp new file mode 100644 index 0000000000..6064f99d28 --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_RTAS_4.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.cpp b/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.cpp new file mode 100644 index 0000000000..5c5509abde --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.mm b/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.mm new file mode 100644 index 0000000000..56af9aebab --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_RTAS_utils.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_Standalone.cpp b/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_Standalone.cpp new file mode 100644 index 0000000000..d3b6529a80 --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_Standalone.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_VST2.cpp b/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_VST2.cpp new file mode 100644 index 0000000000..c35394b418 --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_VST2.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_VST3.cpp b/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_VST3.cpp new file mode 100644 index 0000000000..8e2e5cde2e --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_VST3.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_VST_utils.mm b/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_VST_utils.mm new file mode 100644 index 0000000000..ee2f414e66 --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_VST_utils.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_utils.cpp b/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_utils.cpp new file mode 100644 index 0000000000..183f61b238 --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/juce_audio_plugin_client_utils.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin demo/JuceLibraryCode/juce_audio_processors.cpp b/examples/audio plugin demo/JuceLibraryCode/juce_audio_processors.cpp new file mode 100644 index 0000000000..bfe172edd0 --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/juce_audio_processors.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin demo/JuceLibraryCode/juce_audio_processors.mm b/examples/audio plugin demo/JuceLibraryCode/juce_audio_processors.mm new file mode 100644 index 0000000000..b80ae9017f --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/juce_audio_processors.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin demo/JuceLibraryCode/juce_audio_utils.cpp b/examples/audio plugin demo/JuceLibraryCode/juce_audio_utils.cpp new file mode 100644 index 0000000000..97bd2c568c --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/juce_audio_utils.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin demo/JuceLibraryCode/juce_audio_utils.mm b/examples/audio plugin demo/JuceLibraryCode/juce_audio_utils.mm new file mode 100644 index 0000000000..8eae7c6e2f --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/juce_audio_utils.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin demo/JuceLibraryCode/juce_core.cpp b/examples/audio plugin demo/JuceLibraryCode/juce_core.cpp new file mode 100644 index 0000000000..d0ce1636f0 --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/juce_core.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin demo/JuceLibraryCode/juce_core.mm b/examples/audio plugin demo/JuceLibraryCode/juce_core.mm new file mode 100644 index 0000000000..72b10bf817 --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/juce_core.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin demo/JuceLibraryCode/juce_data_structures.cpp b/examples/audio plugin demo/JuceLibraryCode/juce_data_structures.cpp new file mode 100644 index 0000000000..9315aa1686 --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/juce_data_structures.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin demo/JuceLibraryCode/juce_data_structures.mm b/examples/audio plugin demo/JuceLibraryCode/juce_data_structures.mm new file mode 100644 index 0000000000..695ec43925 --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/juce_data_structures.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin demo/JuceLibraryCode/juce_events.cpp b/examples/audio plugin demo/JuceLibraryCode/juce_events.cpp new file mode 100644 index 0000000000..1bba110a97 --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/juce_events.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin demo/JuceLibraryCode/juce_events.mm b/examples/audio plugin demo/JuceLibraryCode/juce_events.mm new file mode 100644 index 0000000000..4cc34fc401 --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/juce_events.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin demo/JuceLibraryCode/juce_graphics.cpp b/examples/audio plugin demo/JuceLibraryCode/juce_graphics.cpp new file mode 100644 index 0000000000..319c76de0e --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/juce_graphics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin demo/JuceLibraryCode/juce_graphics.mm b/examples/audio plugin demo/JuceLibraryCode/juce_graphics.mm new file mode 100644 index 0000000000..b28e6dd056 --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/juce_graphics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin demo/JuceLibraryCode/juce_gui_basics.cpp b/examples/audio plugin demo/JuceLibraryCode/juce_gui_basics.cpp new file mode 100644 index 0000000000..216c76bb05 --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/juce_gui_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin demo/JuceLibraryCode/juce_gui_basics.mm b/examples/audio plugin demo/JuceLibraryCode/juce_gui_basics.mm new file mode 100644 index 0000000000..6a9726fa5f --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/juce_gui_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin demo/JuceLibraryCode/juce_gui_extra.cpp b/examples/audio plugin demo/JuceLibraryCode/juce_gui_extra.cpp new file mode 100644 index 0000000000..7226e19833 --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/juce_gui_extra.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin demo/JuceLibraryCode/juce_gui_extra.mm b/examples/audio plugin demo/JuceLibraryCode/juce_gui_extra.mm new file mode 100644 index 0000000000..c9b6c3bfc6 --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/juce_gui_extra.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin demo/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h b/examples/audio plugin demo/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h deleted file mode 100644 index 9befea8142..0000000000 --- a/examples/audio plugin demo/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_basics/juce_audio_basics.h" diff --git a/examples/audio plugin demo/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h b/examples/audio plugin demo/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h deleted file mode 100644 index eba6d3a9e5..0000000000 --- a/examples/audio plugin demo/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_devices/juce_audio_devices.h" diff --git a/examples/audio plugin demo/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h b/examples/audio plugin demo/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h deleted file mode 100644 index 4629b0ef2c..0000000000 --- a/examples/audio plugin demo/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_formats/juce_audio_formats.h" diff --git a/examples/audio plugin demo/JuceLibraryCode/modules/juce_audio_plugin_client/juce_audio_plugin_client.h b/examples/audio plugin demo/JuceLibraryCode/modules/juce_audio_plugin_client/juce_audio_plugin_client.h deleted file mode 100644 index 79618a4061..0000000000 --- a/examples/audio plugin demo/JuceLibraryCode/modules/juce_audio_plugin_client/juce_audio_plugin_client.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client.h" diff --git a/examples/audio plugin demo/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h b/examples/audio plugin demo/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h deleted file mode 100644 index 7d4583dbf8..0000000000 --- a/examples/audio plugin demo/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_processors/juce_audio_processors.h" diff --git a/examples/audio plugin demo/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h b/examples/audio plugin demo/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h deleted file mode 100644 index bb997d30d3..0000000000 --- a/examples/audio plugin demo/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_utils/juce_audio_utils.h" diff --git a/examples/audio plugin demo/JuceLibraryCode/modules/juce_core/juce_core.h b/examples/audio plugin demo/JuceLibraryCode/modules/juce_core/juce_core.h deleted file mode 100644 index 06e88f9352..0000000000 --- a/examples/audio plugin demo/JuceLibraryCode/modules/juce_core/juce_core.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_core/juce_core.h" diff --git a/examples/audio plugin demo/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h b/examples/audio plugin demo/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h deleted file mode 100644 index 9d814fd953..0000000000 --- a/examples/audio plugin demo/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_data_structures/juce_data_structures.h" diff --git a/examples/audio plugin demo/JuceLibraryCode/modules/juce_events/juce_events.h b/examples/audio plugin demo/JuceLibraryCode/modules/juce_events/juce_events.h deleted file mode 100644 index 509b1df8d2..0000000000 --- a/examples/audio plugin demo/JuceLibraryCode/modules/juce_events/juce_events.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_events/juce_events.h" diff --git a/examples/audio plugin demo/JuceLibraryCode/modules/juce_graphics/juce_graphics.h b/examples/audio plugin demo/JuceLibraryCode/modules/juce_graphics/juce_graphics.h deleted file mode 100644 index 28edbf35e3..0000000000 --- a/examples/audio plugin demo/JuceLibraryCode/modules/juce_graphics/juce_graphics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_graphics/juce_graphics.h" diff --git a/examples/audio plugin demo/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h b/examples/audio plugin demo/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h deleted file mode 100644 index 81ad4b7297..0000000000 --- a/examples/audio plugin demo/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_gui_basics/juce_gui_basics.h" diff --git a/examples/audio plugin demo/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h b/examples/audio plugin demo/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h deleted file mode 100644 index 5c9b7a96b5..0000000000 --- a/examples/audio plugin demo/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_gui_extra/juce_gui_extra.h" diff --git a/examples/audio plugin host/Builds/Linux/Makefile b/examples/audio plugin host/Builds/Linux/Makefile index d0f517e937..4802592af6 100644 --- a/examples/audio plugin host/Builds/Linux/Makefile +++ b/examples/audio plugin host/Builds/Linux/Makefile @@ -1,5 +1,5 @@ -# Automatically generated makefile, created by the Introjucer -# Don't edit this file! Your changes will be overwritten when you re-save the Introjucer project! +# Automatically generated makefile, created by the Projucer +# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project! # (this disables dependency generation if multiple architectures are set) DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) @@ -23,7 +23,7 @@ ifeq ($(CONFIG),Debug) CXXFLAGS += $(CFLAGS) -std=c++11 LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt - TARGET := Plugin\ Host + TARGET := Plugin\ Host.so BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) endif @@ -43,7 +43,7 @@ ifeq ($(CONFIG),Release) CXXFLAGS += $(CFLAGS) -std=c++11 LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -fvisibility=hidden -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt - TARGET := Plugin\ Host + TARGET := Plugin\ Host.so BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) endif @@ -54,20 +54,20 @@ OBJECTS := \ $(OBJDIR)/HostStartup_5ce96f96.o \ $(OBJDIR)/InternalFilters_beb54bdf.o \ $(OBJDIR)/MainHostWindow_e920295a.o \ - $(OBJDIR)/juce_audio_basics_399a455e.o \ - $(OBJDIR)/juce_audio_devices_c1c9ba9c.o \ - $(OBJDIR)/juce_audio_formats_f04b043c.o \ - $(OBJDIR)/juce_audio_processors_eb9ae116.o \ - $(OBJDIR)/juce_audio_utils_cf18005c.o \ - $(OBJDIR)/juce_core_1ee54a40.o \ - $(OBJDIR)/juce_cryptography_3b1f489a.o \ - $(OBJDIR)/juce_data_structures_84790dfc.o \ - $(OBJDIR)/juce_events_584896b4.o \ - $(OBJDIR)/juce_graphics_f9afc18.o \ - $(OBJDIR)/juce_gui_basics_90929794.o \ - $(OBJDIR)/juce_gui_extra_b81d9e1c.o \ - $(OBJDIR)/juce_opengl_1890bee0.o \ - $(OBJDIR)/juce_video_86a19d3c.o \ + $(OBJDIR)/juce_audio_basics_6b797ca1.o \ + $(OBJDIR)/juce_audio_devices_a742c38b.o \ + $(OBJDIR)/juce_audio_formats_5a29c68a.o \ + $(OBJDIR)/juce_audio_processors_dea3173d.o \ + $(OBJDIR)/juce_audio_utils_c7eb679f.o \ + $(OBJDIR)/juce_core_75b14332.o \ + $(OBJDIR)/juce_cryptography_6de2ebff.o \ + $(OBJDIR)/juce_data_structures_72d3da2c.o \ + $(OBJDIR)/juce_events_d2be882c.o \ + $(OBJDIR)/juce_graphics_9c18891e.o \ + $(OBJDIR)/juce_gui_basics_8a6da59c.o \ + $(OBJDIR)/juce_gui_extra_4a026f23.o \ + $(OBJDIR)/juce_opengl_cd70b4c2.o \ + $(OBJDIR)/juce_video_f128c512.o \ .PHONY: clean @@ -111,72 +111,72 @@ $(OBJDIR)/MainHostWindow_e920295a.o: ../../Source/MainHostWindow.cpp @echo "Compiling MainHostWindow.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_basics_399a455e.o: ../../../../modules/juce_audio_basics/juce_audio_basics.cpp +$(OBJDIR)/juce_audio_basics_6b797ca1.o: ../../JuceLibraryCode/juce_audio_basics.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_audio_basics.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_devices_c1c9ba9c.o: ../../../../modules/juce_audio_devices/juce_audio_devices.cpp +$(OBJDIR)/juce_audio_devices_a742c38b.o: ../../JuceLibraryCode/juce_audio_devices.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_audio_devices.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_formats_f04b043c.o: ../../../../modules/juce_audio_formats/juce_audio_formats.cpp +$(OBJDIR)/juce_audio_formats_5a29c68a.o: ../../JuceLibraryCode/juce_audio_formats.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_audio_formats.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_processors_eb9ae116.o: ../../../../modules/juce_audio_processors/juce_audio_processors.cpp +$(OBJDIR)/juce_audio_processors_dea3173d.o: ../../JuceLibraryCode/juce_audio_processors.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_audio_processors.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_utils_cf18005c.o: ../../../../modules/juce_audio_utils/juce_audio_utils.cpp +$(OBJDIR)/juce_audio_utils_c7eb679f.o: ../../JuceLibraryCode/juce_audio_utils.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_audio_utils.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_core_1ee54a40.o: ../../../../modules/juce_core/juce_core.cpp +$(OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_core.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_cryptography_3b1f489a.o: ../../../../modules/juce_cryptography/juce_cryptography.cpp +$(OBJDIR)/juce_cryptography_6de2ebff.o: ../../JuceLibraryCode/juce_cryptography.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_cryptography.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_data_structures_84790dfc.o: ../../../../modules/juce_data_structures/juce_data_structures.cpp +$(OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_data_structures.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_events_584896b4.o: ../../../../modules/juce_events/juce_events.cpp +$(OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_events.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_graphics_f9afc18.o: ../../../../modules/juce_graphics/juce_graphics.cpp +$(OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_graphics.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_basics_90929794.o: ../../../../modules/juce_gui_basics/juce_gui_basics.cpp +$(OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_gui_basics.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_extra_b81d9e1c.o: ../../../../modules/juce_gui_extra/juce_gui_extra.cpp +$(OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_gui_extra.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_opengl_1890bee0.o: ../../../../modules/juce_opengl/juce_opengl.cpp +$(OBJDIR)/juce_opengl_cd70b4c2.o: ../../JuceLibraryCode/juce_opengl.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_opengl.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_video_86a19d3c.o: ../../../../modules/juce_video/juce_video.cpp +$(OBJDIR)/juce_video_f128c512.o: ../../JuceLibraryCode/juce_video.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_video.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" diff --git a/examples/audio plugin host/Builds/MacOSX/Info.plist b/examples/audio plugin host/Builds/MacOSX/Info-App.plist similarity index 89% rename from examples/audio plugin host/Builds/MacOSX/Info.plist rename to examples/audio plugin host/Builds/MacOSX/Info-App.plist index 3f51777ac9..a8de372c52 100644 --- a/examples/audio plugin host/Builds/MacOSX/Info.plist +++ b/examples/audio plugin host/Builds/MacOSX/Info-App.plist @@ -11,6 +11,8 @@ $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName Plugin Host + CFBundleDisplayName + Plugin Host CFBundlePackageType APPL CFBundleSignature 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 ae3feda39a..e80c67472f 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 @@ -6,6 +6,7 @@ objectVersion = 46; objects = { + FCDB1F8A93F59E0F97821456 = {isa = PBXBuildFile; fileRef = 8D8BBC353637DA442C5575DA; }; 73E371F1B912FCCAE0CD7E5D = {isa = PBXBuildFile; fileRef = 86CA337014D3F67E906FFD28; }; 21D330A5B13178B12BEAFC3C = {isa = PBXBuildFile; fileRef = D4EBC17BDB7F88CCBC76730B; }; B288A89F96704F142ED8E939 = {isa = PBXBuildFile; fileRef = 5ACC21AA45BBF48C3C64D56D; }; @@ -26,26 +27,25 @@ A1B0416DA378BB0C3AD6F74B = {isa = PBXBuildFile; fileRef = A66EFAC64B1B67B536C73415; }; D493393499E0822C70009A63 = {isa = PBXBuildFile; fileRef = 362BB539489999164C3A3D5B; }; 6CD3B433544911DA879170AE = {isa = PBXBuildFile; fileRef = 1EC0F33A3BABE58138317375; }; - AF010217B51D257C37B8ACD8 = {isa = PBXBuildFile; fileRef = 627709CC8F994ADFE362022E; }; - 74EBA2C14DF2E519C69CC438 = {isa = PBXBuildFile; fileRef = 5656FCEE17FE65E49EF3A891; }; - F691B29DF97CDAB137B18A3F = {isa = PBXBuildFile; fileRef = 084D91B2AD459A0FEBEFD449; }; - 2F012EDEF4051DD62B3C6378 = {isa = PBXBuildFile; fileRef = D5C074653417ED69A2B570AC; }; - 7C54B9BFC1EB86C7CB8724AE = {isa = PBXBuildFile; fileRef = FE7C03DACFC725D712D9F508; }; - 722A2DA16710B9EF986D8491 = {isa = PBXBuildFile; fileRef = 2C7BFA88B40379944B653289; }; - 4E49BFCBD4038D684C8634B5 = {isa = PBXBuildFile; fileRef = F69282947987DE2626D23C52; }; - 90BC0CDE41E2D6450FA0C3CD = {isa = PBXBuildFile; fileRef = 2E6595F3A8D97841A49BAC85; }; - 5C030B6563B80911E34744E5 = {isa = PBXBuildFile; fileRef = DBD90FC88456B62308AD9AD0; }; - C8F1EDF80FF9D91634308742 = {isa = PBXBuildFile; fileRef = 6E1860CF53C6E59F1F77C373; }; - 0B78644A55BD3BC78EAD45B0 = {isa = PBXBuildFile; fileRef = 81F7A7CD9847CBAFC6615F07; }; - E069FD6F2147362C19E69B65 = {isa = PBXBuildFile; fileRef = 5AA6D24CBDEC48447451F46A; }; - B629E58C8305A5D508B099C9 = {isa = PBXBuildFile; fileRef = 4D6DBD5D569681C5C8B32FB3; }; - BA88E9EDEE91397E89FC2A58 = {isa = PBXBuildFile; fileRef = ABB92009051C3CDBA14CDA24; }; + 93DB7A11F69BE06391046FA1 = {isa = PBXBuildFile; fileRef = 2D2541F927EB5EC4A254B745; }; + EBFC008D1B7B2C2174EFA345 = {isa = PBXBuildFile; fileRef = 727427F3107F36FAB510AA17; }; + ED96582F2D0CC44E07DBF805 = {isa = PBXBuildFile; fileRef = 1702832C0563E836B4327890; }; + 350839B13EA3C1469CF58AB6 = {isa = PBXBuildFile; fileRef = BB80DA1EA6A7082D445D6EDF; }; + 3C34CFB8A8F70FD57439B7F5 = {isa = PBXBuildFile; fileRef = D3C8D6843E25DB2B32473A4F; }; + 68730505E41133EA1B800BA0 = {isa = PBXBuildFile; fileRef = 295907BE4DFB720C1086850C; }; + E21D49E1F5EBE890734A3CE3 = {isa = PBXBuildFile; fileRef = 5EBD478EAFE8DA4F64414D7A; }; + DDED9B2244274E1B84E4F1F3 = {isa = PBXBuildFile; fileRef = 0E8900A3E8EEC22708EF5011; }; + 39D9D58EE886DF8E91E8CE0E = {isa = PBXBuildFile; fileRef = E64CC24224127C377E3A1556; }; + D7632EF73A06322A1193E3E5 = {isa = PBXBuildFile; fileRef = 188F364C0B02372BB332F767; }; + 307B130EF02D8B379FD177EF = {isa = PBXBuildFile; fileRef = 43F7E60071240E1FB923EBDE; }; + 134B779B166EEFDBE5371751 = {isa = PBXBuildFile; fileRef = 14E68B91F5DD3904D9C98600; }; + 2FCB114D70E13FB9CF2F05FC = {isa = PBXBuildFile; fileRef = D03DA9E56E0D23352552E373; }; + DB922458A7E1C96208E60690 = {isa = PBXBuildFile; fileRef = 253AE92DFB97286B43EECD89; }; 00054F9A147036E966970840 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; }; 004FABB478BC396FAD441C8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 00B26FB0687F076246BFB5C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; 00C3FB52B96B01F0BC02C9EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; 01434FE2B225D0BA4417F860 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginInstance.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h"; sourceTree = "SOURCE_ROOT"; }; - 016748F561B0B5046F24DDA0 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_extra/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 0171A70BA8C7272EC8AD13B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; }; 019F11A3E089B1C82CA1B0E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; }; 01A717DA37FEFAD85FBB4903 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -70,7 +70,6 @@ 072056D37C68FC94B080506C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResamplingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 0790FAD375547D3A6B58678E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 07D38F1FE11ABA4704B71369 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_QuickTimeAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - 084D91B2AD459A0FEBEFD449 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; 08B84C3F669F5BB5BC0A727F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilter.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; 08BB822C06B477E4FEF7FCD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 09089786B542AEB678DDE38F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLTexture.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.h"; sourceTree = "SOURCE_ROOT"; }; @@ -95,6 +94,7 @@ 0D33C38BAB4F78D0D2E87F12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; }; 0DA5B57EE8F2881C90FB047E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; }; 0E4661E777BD7400A13328D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0E8900A3E8EEC22708EF5011 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; 0E8A874AB7E4971D90F58004 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; }; 0EECB5C7D6CD9F1CDFEC50A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; }; 0FAD0D2057E7174BE0156828 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -112,6 +112,7 @@ 14A87A1183D1758B09986E28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; }; 14AE8BC9816304F509EC1773 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 14E06A6B79437E04E334F7AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; }; + 14E68B91F5DD3904D9C98600 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; 14E94077B6856B9AD6AE0D45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_devices.h"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.h"; sourceTree = "SOURCE_ROOT"; }; 151301C4733D26214E206116 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; 153D339EB2CCEC711215AD04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLHelpers.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -123,6 +124,7 @@ 15DD91827E0975E928E3BB83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; }; 15FBAE360A9B69D6DB38FF22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; }; 1666EE8320B5911BA4A4D529 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; }; + 1702832C0563E836B4327890 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../JuceLibraryCode/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; 172EE4301C4E0B4BA7DB4701 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorListener.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h"; sourceTree = "SOURCE_ROOT"; }; 177ACA542C1D1EBEAD87C348 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableObjectResizer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp"; sourceTree = "SOURCE_ROOT"; }; 179DB0E297F9CA8700AFFD26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODevice.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h"; sourceTree = "SOURCE_ROOT"; }; @@ -132,6 +134,7 @@ 181BFA11FCC26F6C07E433BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiFile.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 18528E8CEF7C4921ECB51AC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 186506262CEC83666E9D7B83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; }; + 188F364C0B02372BB332F767 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../JuceLibraryCode/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; 189761573BB5F17836B33BD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; 1956DE1CE89301FE4FC9BC15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 1959937B4B2FC11B9AC53566 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; @@ -193,6 +196,7 @@ 2483323E997B7A3171E39DE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; }; 24BB3E009554E23697C3E545 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; }; 24EB96F7B504F9C0BFFCE5C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; }; + 253AE92DFB97286B43EECD89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../JuceLibraryCode/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; 25A19D3A535A511E98131069 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; }; 2671B39D0A72D44B66EAF16E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; }; 26954E3EF80558BD7EBF8F5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; @@ -208,6 +212,7 @@ 28F63DEF8EC6E50F0D56D95A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; }; 28F81A61FC28C0B2BC795CAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; 28FB08F035D15D71710ECFA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZone.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.cpp"; sourceTree = "SOURCE_ROOT"; }; + 295907BE4DFB720C1086850C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; 298F48673727B05701EAD793 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 29A33AEB9BEDCAAABFD53924 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; }; 29BCAF4AB3C01DBDC2A8B115 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; }; @@ -221,16 +226,15 @@ 2B927B959C22F2253019A53E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiFile.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.h"; sourceTree = "SOURCE_ROOT"; }; 2C3C84A4983281BE5D4C9A9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; 2C5D9745C26F0C8F266FA49D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathIterator.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; - 2C7BFA88B40379944B653289 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; 2C889FBD9E64FDC9114DA53E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 2C89A067250927662671E7ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DeletedAtShutdown.cpp"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp"; sourceTree = "SOURCE_ROOT"; }; 2C9569AA22E7522474ED0AC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; }; 2CA584226C55F38D81D05A38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; 2D232BDD2ACD9FEE40D8BBD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; + 2D2541F927EB5EC4A254B745 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../JuceLibraryCode/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 2D604FCC59A6A60712AD0D57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; }; 2D66F910B2E0AEBA3E03B844 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; 2E50037B5E665D18A150C13E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; }; - 2E6595F3A8D97841A49BAC85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; 2E6B1895009FCA5411B0BB69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; }; 2E82C650752108DC296CBD6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorValueTreeState.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp"; sourceTree = "SOURCE_ROOT"; }; 2EE2B6E7AA983D5C37083065 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -311,12 +315,10 @@ 43A110B2BB114D76D27DA4BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageCache.h"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.h"; sourceTree = "SOURCE_ROOT"; }; 43ABAFF6AEA0A0C39A0E61DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ActiveXComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 43D23C18695F24F9A3DFA7B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLFrameBuffer.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 43F7E60071240E1FB923EBDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 4420BE21E3F857BA1FFE7E1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; 442E6311FB54378E88B6811C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLShaderProgram.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h"; sourceTree = "SOURCE_ROOT"; }; 44AF5FE624EC693DC25C453C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; - 44B8CAEA9946E2D8B72B85FB = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_cryptography/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; - 45200F793669CADC5D279093 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_graphics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; - 454018DB6C2723A2596566F7 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_devices/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 457F59C04F49E716A64EBA8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; }; 46B1B45E0E2F0E937590C309 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; }; 46E734DE28DD074E47193019 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -339,7 +341,6 @@ 4CEDF2832E38C0B313ED40D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorGraph.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h"; sourceTree = "SOURCE_ROOT"; }; 4D2D008FEC5F93DEFFBE4B56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; 4D664CA1434E85BEA96E6E1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; }; - 4D6DBD5D569681C5C8B32FB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../../../modules/juce_opengl/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; 4DF6E6E41E10965AD169143B = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; 4E253133CB4CB9F858D9E474 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; 4E5AA3C1C0ECB8228CE46F5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserVoice.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -359,7 +360,6 @@ 523899AA6DDF1511B614CCF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 528850704B6F7371B204B9F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; }; 52A6B25C0C36615B02DFC21B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; }; - 52DB8DAF68DE34E91764489E = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 536EA9AE6C2F76FE0AEB5958 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Component.cpp"; sourceTree = "SOURCE_ROOT"; }; 53B52EB203A8998155FA7D8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; 540D2BACC305D9886548BE02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioVisualiserComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -370,21 +370,19 @@ 55A88840151E8DB7647E695A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnection.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp"; sourceTree = "SOURCE_ROOT"; }; 55B090DF1727E2DDAF68CEA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; }; 55C12E0D6CED99B76CAA7255 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LeakedObjectDetector.h"; path = "../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h"; sourceTree = "SOURCE_ROOT"; }; - 5656FCEE17FE65E49EF3A891 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; 56B81C77BF78FE2D460B8FFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDirectoryScanner.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h"; sourceTree = "SOURCE_ROOT"; }; 575D171FD51CAF4C6991340F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 579A374D379473D7C41D2C23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; + 57DF618F1DE781556B7AFC32 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-App.plist"; path = "Info-App.plist"; sourceTree = "SOURCE_ROOT"; }; 57ED67278E8B99989977658C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; }; 582D00AF5D2B03D99D395C5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; }; 5855BA9AD11D9A3AE9FAF972 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; }; 589769409FB8620A45B85335 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; }; 599F30CF78998EA6657D56A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 5A835BB9C7C51847701951A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; }; - 5AA6D24CBDEC48447451F46A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; 5ACC21AA45BBF48C3C64D56D = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = System/Library/Frameworks/AudioUnit.framework; sourceTree = SDKROOT; }; 5AEB95A0679E804A244F6CA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; 5AF0CA7CDFCA90B4DE1F55C3 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; - 5B1692FF63FBBA5E54EA1650 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_utils/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 5B2546F3B90333492AB00179 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; 5B4DD89CB29AEF782C6D878C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; }; 5B6A592439B2BEA9C6B14720 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; }; @@ -397,6 +395,7 @@ 5DF1460C31CD1BF8FADF56D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; }; 5E0882CA277CB65EBD9292BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 5E362FF0C74127A56DB805BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; + 5EBD478EAFE8DA4F64414D7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../JuceLibraryCode/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; 5EC7BB194C80F36EA9D6801D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; 5F30DEDC2EA258EA4E1D4CE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; }; 5FA7C14489B6B17B022ACB6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; @@ -407,7 +406,6 @@ 616738BCE455C5D3DD13CDFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 61D87DD2C07928A80E5B57CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEValue.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp"; sourceTree = "SOURCE_ROOT"; }; 61DCCE39ADAE59345FE119C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - 627709CC8F994ADFE362022E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 62D47E931F8FA1A92BB34D22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WavAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 62D82C201C4829E3F70EA188 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; }; 62FEE731D7AD1E711C8E4359 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FFT.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_FFT.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -422,7 +420,6 @@ 64A1DACEA71957604AD58B3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; 651055751E902F40B83EFD55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLTexture.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.cpp"; sourceTree = "SOURCE_ROOT"; }; 65B1DFA235AA3EC8A97ED165 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - 65D458CF07A4C80209FE2572 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_core/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 65D8E282A1D304957F942EFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserBase.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 6623883EA006103A2C58D58A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; }; 664A82AE5A1999CA0D1CD221 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -449,7 +446,6 @@ 6D9F04D6B71B3E81490D0A92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BlowFish.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp"; sourceTree = "SOURCE_ROOT"; }; 6DA2BE5D5F9F5C74549065BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; }; 6DFF4E20583069DA4814851D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTreeSynchroniser.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"; sourceTree = "SOURCE_ROOT"; }; - 6E1860CF53C6E59F1F77C373 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; 6E9256495CB4571234020AD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; }; 6EB11C857BABDD8CA6D2540C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterFloat.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h"; sourceTree = "SOURCE_ROOT"; }; 6EC1F679C81910E4E42FDB0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilterAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; @@ -463,6 +459,7 @@ 71CBC1D0C969794AF761074A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; }; 7212B20D3521AA3B9C1F544F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; }; 723E49F4AD3A98B385B05D7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 727427F3107F36FAB510AA17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../JuceLibraryCode/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; 72DD0054E547FFCC4D9F4700 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; 72FA5B162110FF64A6A0C3C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; }; 7340BFA6BC995EDB51DB070D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; }; @@ -514,7 +511,6 @@ 81026C4FD8F62B3D78EFE722 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLRenderer.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h"; sourceTree = "SOURCE_ROOT"; }; 813F42FA0CDB76C5150A482E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; }; 81D77B804ED4556D69FFE37D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 81F7A7CD9847CBAFC6615F07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 82001AF777823E3D8516F146 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 83058EC5B42D7531AC6E82F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatManager.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 8314138DE15393AF9E2DB351 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -560,6 +556,7 @@ 8CC281F3463EE9BCA6379E81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; 8D32F4321284799FCC3ABE0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; 8D37BBBF3B61D1BD1F4AAB7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; }; + 8D8BBC353637DA442C5575DA = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Plugin Host.app"; sourceTree = "BUILT_PRODUCTS_DIR"; }; 8DC4B4827EADA21F12AF5261 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RSAKey.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp"; sourceTree = "SOURCE_ROOT"; }; 8DE516ED09DF5989C03730B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 8ED8CFFC628DA9CE4AED0A5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; }; @@ -598,7 +595,6 @@ 94B986F221A8369B8DE3D986 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; }; 94D27CA81B1481621186F4D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 9512FB5C9D667ED59CFC0FF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLContext.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp"; sourceTree = "SOURCE_ROOT"; }; - 956BE0B32D5B1410E43A3C58 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_data_structures/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 957428BC0CD90C37ED1EB7E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; }; 9647232A743A0C7BFE819385 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 96984B45C557D5385014EE96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NotificationType.h"; path = "../../../../modules/juce_events/messages/juce_NotificationType.h"; sourceTree = "SOURCE_ROOT"; }; @@ -676,7 +672,6 @@ AAF5E82B9F1E9BD0895BDE1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; }; AB129CA989DE9BC3D702E89A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEValue.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h"; sourceTree = "SOURCE_ROOT"; }; AB2D654FC6C6C7F42E1AA95B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameterWithID.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h"; sourceTree = "SOURCE_ROOT"; }; - ABB92009051C3CDBA14CDA24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../../../modules/juce_video/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; AC3115EF08961FE738E897E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemAudioVolume.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h"; sourceTree = "SOURCE_ROOT"; }; ACC266EC4CC8CCD368FA9E7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; }; ACE3FF969AC408A50E9A6A4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST3PluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -693,7 +688,6 @@ B03CEB6B84C7C8D1840CEFF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; }; B0935EBBA4F6E2B05F3D1C0A = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; B1068476E683AADD3CD8AD55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; - B13108F6CE0124C355234332 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_processors/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; B159ECAA4A14524B34DC6318 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; }; B1C6B9E4B9FDC17AA298E541 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = GraphEditorPanel.cpp; path = ../../Source/GraphEditorPanel.cpp; sourceTree = "SOURCE_ROOT"; }; B1CA1F3AE7555C4FB4CE52D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3PluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; @@ -708,7 +702,6 @@ B454943748D0748AAF53A06F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; B457EE687507BF1DEEA7581F = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; B49AAED30299568B2E4A864A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - B4BFC5F162F99B035930F03A = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = "SOURCE_ROOT"; }; B516D9B5AC00A19188E1CD29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; }; B5492BAE24B59959545BEB3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp"; sourceTree = "SOURCE_ROOT"; }; B55834D8DBE6EC39178A526B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -735,6 +728,7 @@ BA947E82A08CB93B5A9B64F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; BAE7286632933AB26F784A1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; }; BAECEA9DA44AA7E186D9C14C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; }; + BB80DA1EA6A7082D445D6EDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../JuceLibraryCode/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; BC12698889AAD84B83FA7A21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; }; BC310F9E7F78FD6872F5610E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; BD5FE72C6C05445934BD5FAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -749,7 +743,6 @@ BFCA358DEECC78ABB7B6E8A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; }; BFE7688FBFC63D7180BC9D6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorParameters.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp"; sourceTree = "SOURCE_ROOT"; }; C08CEA80C09A398668B42CF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Sampler.h"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.h"; sourceTree = "SOURCE_ROOT"; }; - C0AB1E87CD628F5534F41588 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_events/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; C0EAB8DB78CC1330EBFB1BB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; C0EECABDA5446EAD76E2578F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLImage.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLImage.cpp"; sourceTree = "SOURCE_ROOT"; }; C0F4014BD42C942094A65784 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -771,7 +764,6 @@ C3EF919C59C75375ED4EF23E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; C3F4A1EA3239C631ED2EF8A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; }; C43150F92FA4DE8381209FA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; - C44BC6FF9CDDC132F5581F26 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_formats/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; C45FD137A5257D8C39F2063E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; }; C46223B526679E23A270826E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; }; C46CE9BB7E066240FB6DBBD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -796,9 +788,7 @@ CACC511ABBAB7C46CF0101E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; }; CAEA69EBB9B2A4C60A991E80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; CAEB53245A583D86E3C9C277 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; }; - CB9787ADAA0EB590B17CC142 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_video/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; CBB8A03E4DB3D27D1A028AD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; }; - CBC2829B45DFFAF01865FAAA = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_opengl/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; CBE270C197A66B22EEE54D9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginListComponent.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; CBF04B0360867817B441AB30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; }; CBF6F0F3C2D85A2BCC427A34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDataConverters.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h"; sourceTree = "SOURCE_ROOT"; }; @@ -817,11 +807,13 @@ CF27DFD59466D38E34428405 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; CF299925A6A365E288DC206E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; CF67033CFC21C0060B538042 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; + D03DA9E56E0D23352552E373 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../JuceLibraryCode/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; D06DA3FA113EAB0CCF8D7A64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; D0A714338F6B7A47BA1F8F45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; D2B9A1F1B4A3D683D0F39B78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_ClangBugWorkaround.h"; path = "../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h"; sourceTree = "SOURCE_ROOT"; }; D313CF37B25D7FD313C4F336 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; D314CF2F97529FCF35042263 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; + D3C8D6843E25DB2B32473A4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../JuceLibraryCode/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; }; D3CBC8D7CD32BDA0D37B4155 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_File.h"; path = "../../../../modules/juce_core/files/juce_File.h"; sourceTree = "SOURCE_ROOT"; }; D3D7C89A43B6A3591B776B1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; }; D3EF8617364177AD4D247124 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -831,7 +823,6 @@ D4EBC17BDB7F88CCBC76730B = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; D52F4E0C637B4685217CBEB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; }; D5952905FC386C19D0818398 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; - D5C074653417ED69A2B570AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; D7433453EBB3700D2805FF42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; D795067D4EFB5A34BC383250 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; D79E29A54AE62E03A533F436 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -852,7 +843,6 @@ DAAD348FA6356BF72686265F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserBase.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h"; sourceTree = "SOURCE_ROOT"; }; DAF7C72A4348C33364BB654C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; }; DB246262CA669F13ABDDB33E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; }; - DBD90FC88456B62308AD9AD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; DC30BDE9C4EE1FD059D06902 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; sourceTree = "SOURCE_ROOT"; }; DCACD63912A2F68687ED06CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; }; DD53156BA824889FD7DF52D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -887,6 +877,7 @@ E2528275A44F34CD34212245 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; E2587C4B5F37914CBB32CF88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; }; E266710E1EB05EA9BCA234A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + E2696473F0CBB933DB4BE257 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPlayHead.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPlayHead.h"; sourceTree = "SOURCE_ROOT"; }; E29B93C0B9DC9CDD74245891 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; }; E35BB0E91C10C1441FB5129C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; E3CCF4D578B2D6C84A9A5303 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PixelFormats.h"; path = "../../../../modules/juce_graphics/colour/juce_PixelFormats.h"; sourceTree = "SOURCE_ROOT"; }; @@ -894,22 +885,20 @@ E47E7E5220482A860A16C572 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; }; E4A23878398A810023FB91B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReaderSource.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h"; sourceTree = "SOURCE_ROOT"; }; E4C80E4A79A8DBD69192B3DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + E4EFA38400DEA114542E53EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; }; E513696B3670F32F12D807C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; E51F8E2405278D9F3CC38EBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZoneLayout.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; - E68018DE199135B7F738FB17 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudioKit.framework; path = System/Library/Frameworks/CoreAudioKit.framework; sourceTree = SDKROOT; }; - B2A7B6A8E3CCA7E2038E8EFF = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Plugin Host.app"; sourceTree = "BUILT_PRODUCTS_DIR"; }; - E2696473F0CBB933DB4BE257 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPlayHead.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPlayHead.h"; sourceTree = "SOURCE_ROOT"; }; - E4EFA38400DEA114542E53EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; }; E5FEEAA0CF737C7F947FD9DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; E64782A3957A60231A396D3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; + E64CC24224127C377E3A1556 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; E66AB26776DD0039834DBC76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; + E68018DE199135B7F738FB17 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudioKit.framework; path = System/Library/Frameworks/CoreAudioKit.framework; sourceTree = SDKROOT; }; E6E9A8E11791B4B4D6B3E6D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; }; E6EDE8F1BBF28362AC9E1F28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; E7734E1F585ACB33420E44B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectSound.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp"; sourceTree = "SOURCE_ROOT"; }; E7F0E3EF611F21E0B80C7216 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; }; E7F19B91131A93E2B49094D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; E7FB3A96620A06520A759BDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; - E8052B55E5F36932E1BE3A09 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; E8D7980A9BE064F54551C3D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; }; E90924010E25657C573AFE2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; E97917473ACF5E2BF4B424EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -956,7 +945,6 @@ F62FDD92B106245BB2C740F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; }; F641B60F8AE931E3B660A842 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; }; F66DF7F30ADE40EEEE6E15B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - F69282947987DE2626D23C52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../../../modules/juce_cryptography/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; F698238656695668C5E984B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; }; F6C95CC9C2D2607D5B99E87C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; }; F712C46F57A69D46ED097769 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; }; @@ -987,7 +975,6 @@ FE136D9C5722936D4E70D10D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; FE2AEF9BD1DB54BEF726293D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FloatVectorOperations.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h"; sourceTree = "SOURCE_ROOT"; }; FE79AFFDB5029AC6AE7F4CFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; }; - FE7C03DACFC725D712D9F508 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; }; FEB0F3714782C7EBEE1FAD34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInactivityDetector.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h"; sourceTree = "SOURCE_ROOT"; }; FEB2517E7420B23086B6580B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; }; FF28173366C5BCF1BAE2CEA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLGraphicsContext.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; @@ -1081,9 +1068,12 @@ 1A79A47CE1BD8F7F86EFA203, 06EA3404A1EECC2120F459C0, C8EDE396B98981CD5FED1749, - E8052B55E5F36932E1BE3A09, 67896E2C98F4857F93982D9D, ); name = "juce_audio_basics"; sourceTree = ""; }; - BF4262F477A188217C5B3440 = {isa = PBXGroup; children = ( + D675D5EA9B669ADC68287825 = {isa = PBXGroup; children = ( + E4EFA38400DEA114542E53EC, + 3D8997AC616A681F378B2518, + AAB108F5A7F3D826559E3162, ); name = "audio_cd"; sourceTree = ""; }; + C6E13552764E4E7CE287F3EB = {isa = PBXGroup; children = ( 2696ECADDD4CF572708A2952, 8EDBBAAA918B853D54834142, E146C1CCDC8EA0498CD33E5D, @@ -1091,22 +1081,13 @@ ACEFDEF38DAB391EA33B0266, 986DCE49CDE712122B201CBA, AC3115EF08961FE738E897E6, ); name = "audio_io"; sourceTree = ""; }; - 211B416D62E7FBB52C0B58A0 = {isa = PBXGroup; children = ( + D5CF2BD4C869BC6044E1B717 = {isa = PBXGroup; children = ( C218366267FA66AF1AC8F328, 9A1DB88858E4F86376D3C754, 14E06A6B79437E04E334F7AB, 775E9B8E14DB90AFC6C10FF4, 2453CBCF65BF8E7B29978EF0, ); name = "midi_io"; sourceTree = ""; }; - 25491FD10CB917ECA58CE3A1 = {isa = PBXGroup; children = ( - 8724A36432DF521445B2496B, - 233EFCD6D704C40126925CAB, - 42DA01E6360F8AE6711AB47D, - 275701F5A51CC67E9E93E178, ); name = sources; sourceTree = ""; }; - 42305A7DCDCB8EBFFAE08800 = {isa = PBXGroup; children = ( - E4EFA38400DEA114542E53EC, - 3D8997AC616A681F378B2518, - AAB108F5A7F3D826559E3162, ); name = "audio_cd"; sourceTree = ""; }; - 998947D69B3E3746FAFF95F9 = {isa = PBXGroup; children = ( + ED09378FFF9117B093926FF7 = {isa = PBXGroup; children = ( 44AF5FE624EC693DC25C453C, A765E6FBF39366D0A40E1ECA, A9E135CB7BEA812D224DAF49, @@ -1126,31 +1107,19 @@ E7734E1F585ACB33420E44B4, AE7BE10688B3F7C18D21E9B9, D3EF8617364177AD4D247124, ); name = native; sourceTree = ""; }; + 9F5669340A99EC8F2CE1EC30 = {isa = PBXGroup; children = ( + 8724A36432DF521445B2496B, + 233EFCD6D704C40126925CAB, + 42DA01E6360F8AE6711AB47D, + 275701F5A51CC67E9E93E178, ); name = sources; sourceTree = ""; }; B68FC62EE96CDB34938C40D4 = {isa = PBXGroup; children = ( - BF4262F477A188217C5B3440, - 211B416D62E7FBB52C0B58A0, - 25491FD10CB917ECA58CE3A1, - 42305A7DCDCB8EBFFAE08800, - 998947D69B3E3746FAFF95F9, - 454018DB6C2723A2596566F7, + D675D5EA9B669ADC68287825, + C6E13552764E4E7CE287F3EB, + D5CF2BD4C869BC6044E1B717, + ED09378FFF9117B093926FF7, + 9F5669340A99EC8F2CE1EC30, 14E94077B6856B9AD6AE0D45, ); name = "juce_audio_devices"; sourceTree = ""; }; - 61D9195DC6BBEE70BDCC72CB = {isa = PBXGroup; children = ( - 27889951D3882FCCFD67BE2E, - C7F452490EA444357B4A8616, - 83058EC5B42D7531AC6E82F9, - D8A3F086596562E081EB0F39, - 7CBB1C386813A3FDA3FEBB5A, - 33A86A4C3C474B170CBC7983, - 6D8D5FF611A28415AC63C463, - E4A23878398A810023FB91B6, - DE0C4CC1CE545BAD009786E4, - 9C5985D23D720486ECE15438, - 1956DE1CE89301FE4FC9BC15, - 28D1167CDA9D76A8F2E18289, - B27DA9B3796834535AE69A15, - E7FB3A96620A06520A759BDE, - CC673184948F703F2BB22305, ); name = format; sourceTree = ""; }; - 308325DB4B3564BCDCA0B21E = {isa = PBXGroup; children = ( + 009FEDDE7BABD0C7D65F4769 = {isa = PBXGroup; children = ( 65B1DFA235AA3EC8A97ED165, 996E2AA55013AAAF7A7A77D2, 76EFECDC45A0440B27ACF79F, @@ -1169,16 +1138,48 @@ 62D47E931F8FA1A92BB34D22, 08BB822C06B477E4FEF7FCD8, C371DC1B5AA7CB8029D130FB, ); name = codecs; sourceTree = ""; }; + 783940FF08BC91F65A4FB2A9 = {isa = PBXGroup; children = ( + 27889951D3882FCCFD67BE2E, + C7F452490EA444357B4A8616, + 83058EC5B42D7531AC6E82F9, + D8A3F086596562E081EB0F39, + 7CBB1C386813A3FDA3FEBB5A, + 33A86A4C3C474B170CBC7983, + 6D8D5FF611A28415AC63C463, + E4A23878398A810023FB91B6, + DE0C4CC1CE545BAD009786E4, + 9C5985D23D720486ECE15438, + 1956DE1CE89301FE4FC9BC15, + 28D1167CDA9D76A8F2E18289, + B27DA9B3796834535AE69A15, + E7FB3A96620A06520A759BDE, + CC673184948F703F2BB22305, ); name = format; sourceTree = ""; }; 933AC654FC62BD33490E9013 = {isa = PBXGroup; children = ( C3A16EC88BEF2A636558BB6C, C08CEA80C09A398668B42CF9, ); name = sampler; sourceTree = ""; }; 20F1F477AA0153F6BC22A92A = {isa = PBXGroup; children = ( - 61D9195DC6BBEE70BDCC72CB, - 308325DB4B3564BCDCA0B21E, + 009FEDDE7BABD0C7D65F4769, + 783940FF08BC91F65A4FB2A9, 933AC654FC62BD33490E9013, - C44BC6FF9CDDC132F5581F26, 1B6A039FE3A63210FC1936D2, ); name = "juce_audio_formats"; sourceTree = ""; }; - 15BFAA3F0477E1AB95F6708E = {isa = PBXGroup; children = ( + 413966420885D79AE9C906BD = {isa = PBXGroup; children = ( + 157C1BBF0329BDB102534A38, + 7EC4BF7FFDD52F005ACDF6CC, + C231F5F352D49DF474C24FEF, + C9EBFF5064D2B5EEE2C95FE1, ); name = format; sourceTree = ""; }; + 2E94011B7CF5F5770662FAE5 = {isa = PBXGroup; children = ( + 4CAFE02422227FB8CDD130A5, + 397E6AC0BA27761D41FF7E5B, + C2F0321856C5812A685B349D, + 0CF846BB5ABA7ACA6ED15DAF, + CDFF2DDB7331FB561D1673EF, + D99B064D47C6B0FDDBC66B02, + ACE3FF969AC408A50E9A6A4C, + B1CA1F3AE7555C4FB4CE52D2, + 10EE0138720A51EBAD46FFCC, + A53F1F6AAA9F18823C239E6C, + C270737E2B85C6D98E145525, ); name = "format_types"; sourceTree = ""; }; + 8444871D65ED55380E97265E = {isa = PBXGroup; children = ( 1AB268A2EC53E0104B612174, 147E02A7F9A65F317BE4256D, E2696473F0CBB933DB4BE257, @@ -1195,23 +1196,6 @@ E15CF74A88E18661844F7A36, 2193510164A93C3360ABD199, 4876E03AA7977023BDABA2A4, ); name = processors; sourceTree = ""; }; - 4511F924BA2FC3223841E583 = {isa = PBXGroup; children = ( - 157C1BBF0329BDB102534A38, - 7EC4BF7FFDD52F005ACDF6CC, - C231F5F352D49DF474C24FEF, - C9EBFF5064D2B5EEE2C95FE1, ); name = format; sourceTree = ""; }; - 2C404A58AA34132545445D9A = {isa = PBXGroup; children = ( - 4CAFE02422227FB8CDD130A5, - 397E6AC0BA27761D41FF7E5B, - C2F0321856C5812A685B349D, - 0CF846BB5ABA7ACA6ED15DAF, - CDFF2DDB7331FB561D1673EF, - D99B064D47C6B0FDDBC66B02, - ACE3FF969AC408A50E9A6A4C, - B1CA1F3AE7555C4FB4CE52D2, - 10EE0138720A51EBAD46FFCC, - A53F1F6AAA9F18823C239E6C, - C270737E2B85C6D98E145525, ); name = "format_types"; sourceTree = ""; }; 2E2CB9372F7916D27F0DDD45 = {isa = PBXGroup; children = ( C348ED5DC9B29CCB522F6E10, F1784ECBF60C425066642C81, @@ -1229,12 +1213,11 @@ 2E82C650752108DC296CBD6B, C8F6BD92FD1A6C6799664B6A, ); name = utilities; sourceTree = ""; }; 0FB8D0CA8D202CE76367B337 = {isa = PBXGroup; children = ( - 15BFAA3F0477E1AB95F6708E, - 4511F924BA2FC3223841E583, - 2C404A58AA34132545445D9A, + 413966420885D79AE9C906BD, + 2E94011B7CF5F5770662FAE5, + 8444871D65ED55380E97265E, 2E2CB9372F7916D27F0DDD45, F0B73165A2FD3FCE2464EAAF, - B13108F6CE0124C355234332, 973D507D2DF9F9FDE7A59EB8, ); name = "juce_audio_processors"; sourceTree = ""; }; 1AE19A571132D74271CC56C8 = {isa = PBXGroup; children = ( FCE0E6E130E6EF32593CC613, @@ -1251,73 +1234,21 @@ 36A8732CDDD0385A39012D18, CAEA69EBB9B2A4C60A991E80, 6A1B2858C988AA78ED3240F9, ); name = gui; sourceTree = ""; }; - 62D3802214BDE2F16E4E096A = {isa = PBXGroup; children = ( - 370374649557B8288479B99A, - F86E07B5B542F6F4B7F77A4F, ); name = players; sourceTree = ""; }; - 5F3A082E0ADA4C32F5207896 = {isa = PBXGroup; children = ( + 14B91DD15C4F98AF02992543 = {isa = PBXGroup; children = ( F1B643F08AF0BCB7C9E7880F, 156C01AA299B6079BEB4690F, F191F96929D19C734B392BEB, 3A94337CF17F8EBF0C72D174, 9D77769D5A899B4E435AAEFA, ); name = native; sourceTree = ""; }; + 33BCC1D1F35D467F57A41B88 = {isa = PBXGroup; children = ( + 370374649557B8288479B99A, + F86E07B5B542F6F4B7F77A4F, ); name = players; sourceTree = ""; }; FD5B55759ED270C0BD315748 = {isa = PBXGroup; children = ( 1AE19A571132D74271CC56C8, - 62D3802214BDE2F16E4E096A, - 5F3A082E0ADA4C32F5207896, - 5B1692FF63FBBA5E54EA1650, + 14B91DD15C4F98AF02992543, + 33BCC1D1F35D467F57A41B88, 10BB6B4CD8BA76B7D9A2237A, ); name = "juce_audio_utils"; sourceTree = ""; }; - F4B07146A0E018D967C32242 = {isa = PBXGroup; children = ( - 050CF59F03A19F57B8B04A40, - 2311DA69BCBA16D4C13762CF, - F6C95CC9C2D2607D5B99E87C, - 57ED67278E8B99989977658C, - 3321516BB1475949B60A15EA, - B8063FA3948FBB82AEF8DACB, - 350100F6F8F9FDF746B4D5BC, - 5E362FF0C74127A56DB805BB, - BA40B3FE630313FA9BA2D9F3, - 789C7D30DC4EA35A98FEE613, - 86B6D5A52BE3A4DCA00E2554, - 3B292E9A2C5D6B74E546DA28, - 7C657206A60BC84469EC5B09, - F8700C66EB5AE3292B585E19, - 799654188207FD986B13281A, - 2428A545CFE28E531293C169, - 957428BC0CD90C37ED1EB7E1, - F698238656695668C5E984B4, - 920F595F97031574B427C153, - 62D82C201C4829E3F70EA188, - 06C1447B9CBC6813BB7BEA53, - 882707E7AF3729EE34BC413B, - A3EE7A9FD5BFE2DF31C04EF0, - 6CB5AB2EA383094C2127BBDB, ); name = text; sourceTree = ""; }; - 0DA42F9BE820CD85C34E691D = {isa = PBXGroup; children = ( - 2F3216D7BDE0A21418D248D2, - 3D21EF742E7417A581DB960E, - B454943748D0748AAF53A06F, - AA668D8E33AD917D7DFC70E2, - 019F11A3E089B1C82CA1B0E6, - 1ADCEA9B6A82A41D7D95CB2F, - 7212B20D3521AA3B9C1F544F, - 1E9F515675116BDE81543FA0, - E47E7E5220482A860A16C572, - 8D37BBBF3B61D1BD1F4AAB7C, ); name = maths; sourceTree = ""; }; - ED01F8C5F7FD933BE10FE1CB = {isa = PBXGroup; children = ( - B27CEFF5B55B38F2BEB141D1, - BA2BCD20921648A42CBF54CC, - F50F348D6727D72B32538B18, - 3C927C2F9A7F27474B0F6F0A, - 55C12E0D6CED99B76CAA7255, - 8C45248B3DA51C23552039C7, - 68C80DF0C23F4019E1508050, - 432D03EFC793884A7F0CB497, - 2176F72FC750E8376E696CAF, - CF67033CFC21C0060B538042, - E6EDE8F1BBF28362AC9E1F28, - B9D2E7D1B6610271E1B359D6, - D06DA3FA113EAB0CCF8D7A64, - 94B986F221A8369B8DE3D986, ); name = memory; sourceTree = ""; }; - D295FCA29CAA8C0F9C29CE78 = {isa = PBXGroup; children = ( + DB14025F32FCF3E8CEA7301E = {isa = PBXGroup; children = ( 207C876A93611B390835E9AE, 4FA1E94FC0C6D34B11B0EBB7, 83194D29771D3C050947E4D1, @@ -1339,37 +1270,7 @@ F47DB446F8985FABB23EA1C9, 7A6590752A2DE206290F17AB, 5B2546F3B90333492AB00179, ); name = containers; sourceTree = ""; }; - BA0A80C9F9F00B56EEC9DC15 = {isa = PBXGroup; children = ( - 2EE2B6E7AA983D5C37083065, - ADB63003D07418B7CA9D8395, - 0CF2426932FC8D37C12B6879, - 9BC1BD6117331DE95A27345D, - 17F320020AFE3746DDCCA550, - E8D7980A9BE064F54551C3D4, - 5FA7C14489B6B17B022ACB6B, - E1F8942417C8AD296A2C1F68, - 138CC7441850D856F9923C7B, - CD4D6D0FF97BB38751DAC4CD, - BAECEA9DA44AA7E186D9C14C, - 3B7EC97319358AB628F4EAF1, - D92D579F2458F2426E5F828A, - 6EEACEE1071D58DA155DC87E, - 0C339E5B52835F87ABD2BF95, - 0E8A874AB7E4971D90F58004, - A813861C1082866ED9E9F83C, - DD53156BA824889FD7DF52D2, - D795067D4EFB5A34BC383250, - ACC266EC4CC8CCD368FA9E7D, - 75F290D7B7C53C03DC653FC5, - DA9E577DC37123CEA41C4A71, ); name = threads; sourceTree = ""; }; - 4E78321340EB54214504DAD8 = {isa = PBXGroup; children = ( - 71323E00D1742D3DC5E00C67, - 5504DAC58359F306457FAE4F, - 945D99278B387FC0B627D967, - E0C6517F308CB034A36DEB08, - F7D302AA1A08E597078C7B1F, - 4D664CA1434E85BEA96E6E1B, ); name = time; sourceTree = ""; }; - 55D355B98D1C8330701E9322 = {isa = PBXGroup; children = ( + 6291A0CB99CFFE54705D33ED = {isa = PBXGroup; children = ( C9DE670EF9FCB5800D6B2CB1, 2262CE2D78DF21DEB57A568F, 2438BFA58600C961EC1238F1, @@ -1387,66 +1288,43 @@ 09E43355AE1252B8AB082EE1, 401D435B1E3BB47A7861FA01, 7EB9FBC9366AE99B264DF62A, ); name = files; sourceTree = ""; }; - E6CB178621202FED053F258C = {isa = PBXGroup; children = ( - D8101C0D25DF708FB2E446E5, - 52A6B25C0C36615B02DFC21B, - 310D69A7E400545D95F9F489, - 6FC7EB90BB3966BAE90113EB, - A3D4618127661FE2728BAB9B, - 9CAE55E11C7233E4230B7A40, - 5C24DE268797C1C7AC932837, - 2CA584226C55F38D81D05A38, - 0AD649B7CF3F9E2A8C875081, - E000EB4363C6887897FB457C, ); name = network; sourceTree = ""; }; - 62EFDF6C83F89F3EF6548773 = {isa = PBXGroup; children = ( - 01A717DA37FEFAD85FBB4903, - E266710E1EB05EA9BCA234A8, - B6132D51F0C7215E8892A4D0, - EF477EDDA22EC0D60894A8A4, - AD8876AE031DC76636165B46, - 218E177831591BA32471E07C, - 972960F84A014CAEFE281044, - 6731007E5C3E79C1DE863EF2, - DCACD63912A2F68687ED06CF, - 61DCCE39ADAE59345FE119C2, - 01FD86096B5866FB81FF2569, - 7C2D10BC8121A65AE771F1AA, - 5A835BB9C7C51847701951A1, - 515E7CFD1F0A52B7E8C54532, - BDC9ADEBD70EED757647B998, ); name = streams; sourceTree = ""; }; - 87C9530BFFA9CF3EE1B4761C = {isa = PBXGroup; children = ( - 998B59D65961E550702C68E6, - F712C46F57A69D46ED097769, - 0EECB5C7D6CD9F1CDFEC50A7, - 9A9A502734C24B864BC3A821, ); name = logging; sourceTree = ""; }; - E55C68544FBE98EA5E64A3D8 = {isa = PBXGroup; children = ( - 24EB96F7B504F9C0BFFCE5C8, - 33AEA79FA021494782972910, - 0D33C38BAB4F78D0D2E87F12, - 21706F4B9B65E7715A598F27, - 5CAD4033015519DB9995E82C, - DDE8A5E6804C149ED936C551, ); name = system; sourceTree = ""; }; - F9C132756017450F66695D0B = {isa = PBXGroup; children = ( - 0CC13DE18B3E9166C9782E63, - D7433453EBB3700D2805FF42, - BFCA358DEECC78ABB7B6E8A5, - 32046EA191CFD25B047706EB, ); name = xml; sourceTree = ""; }; - 1BAB3BDBA8A0404CEB776482 = {isa = PBXGroup; children = ( + 914C981BE4DC0C03148157FA = {isa = PBXGroup; children = ( 8F7E8852557F6A98C0318EFE, 408CCD7445F5DE2606E9CC4A, 5F30DEDC2EA258EA4E1D4CE2, 32E6B2D42B9D76247AA457AE, ); name = javascript; sourceTree = ""; }; - 99FC2F88DDB8DA44C7DA1EC7 = {isa = PBXGroup; children = ( - 8DE516ED09DF5989C03730B9, - 2AD8651609A9CE31D4673846, - 34D73FE5FBC2197DD353ACA3, - BFC98B56313D64177AE6B385, - 0FAD0D2057E7174BE0156828, - 76E4D8FCD61BCB53103C63C4, ); name = zip; sourceTree = ""; }; - B07FE683EDE64153F74A4266 = {isa = PBXGroup; children = ( - 91E5C5E061E45FCC192C074B, - 7340BFA6BC995EDB51DB070D, ); name = "unit_tests"; sourceTree = ""; }; - B8B3269B78FB425E1364CAA0 = {isa = PBXGroup; children = ( + 70A8F3A3330BD08455BBACAD = {isa = PBXGroup; children = ( + 998B59D65961E550702C68E6, + F712C46F57A69D46ED097769, + 0EECB5C7D6CD9F1CDFEC50A7, + 9A9A502734C24B864BC3A821, ); name = logging; sourceTree = ""; }; + 4854B33949D3787C9316823E = {isa = PBXGroup; children = ( + 2F3216D7BDE0A21418D248D2, + 3D21EF742E7417A581DB960E, + B454943748D0748AAF53A06F, + AA668D8E33AD917D7DFC70E2, + 019F11A3E089B1C82CA1B0E6, + 1ADCEA9B6A82A41D7D95CB2F, + 7212B20D3521AA3B9C1F544F, + 1E9F515675116BDE81543FA0, + E47E7E5220482A860A16C572, + 8D37BBBF3B61D1BD1F4AAB7C, ); name = maths; sourceTree = ""; }; + D357095487082A8D60E89719 = {isa = PBXGroup; children = ( + B27CEFF5B55B38F2BEB141D1, + BA2BCD20921648A42CBF54CC, + F50F348D6727D72B32538B18, + 3C927C2F9A7F27474B0F6F0A, + 55C12E0D6CED99B76CAA7255, + 8C45248B3DA51C23552039C7, + 68C80DF0C23F4019E1508050, + 432D03EFC793884A7F0CB497, + 2176F72FC750E8376E696CAF, + CF67033CFC21C0060B538042, + E6EDE8F1BBF28362AC9E1F28, + B9D2E7D1B6610271E1B359D6, + D06DA3FA113EAB0CCF8D7A64, + 94B986F221A8369B8DE3D986, ); name = memory; sourceTree = ""; }; + EECE45D91CB398DAA32CA881 = {isa = PBXGroup; children = ( FCC1B59EB0F8C430693F5832, 5855BA9AD11D9A3AE9FAF972, 78875B2B4F65847781B66F8A, @@ -1454,7 +1332,7 @@ BDFFFE03DA4E5B92784AA075, A2FB8F9EFCA86F0F9A80F8B6, 480EB4F8B71B880C74AA82F3, ); name = misc; sourceTree = ""; }; - 44378E8A7F2CD07EDE8C8606 = {isa = PBXGroup; children = ( + D93E16A07F79E41F13D30C3A = {isa = PBXGroup; children = ( 1B66DA53B7D5FA3EE1E5167C, 509E4AF447B1364C75166396, 186506262CEC83666E9D7B83, @@ -1484,25 +1362,128 @@ 69EA4B2E0B25996FA6A1AA5D, 8485232DCFA245EB3054C805, 19B542AA1D44A48137994C9B, ); name = native; sourceTree = ""; }; + 2AEAB47703BB1528AD4130B2 = {isa = PBXGroup; children = ( + D8101C0D25DF708FB2E446E5, + 52A6B25C0C36615B02DFC21B, + 310D69A7E400545D95F9F489, + 6FC7EB90BB3966BAE90113EB, + A3D4618127661FE2728BAB9B, + 9CAE55E11C7233E4230B7A40, + 5C24DE268797C1C7AC932837, + 2CA584226C55F38D81D05A38, + 0AD649B7CF3F9E2A8C875081, + E000EB4363C6887897FB457C, ); name = network; sourceTree = ""; }; + AD6E6D0DEBA6E04BE1AC911F = {isa = PBXGroup; children = ( + 01A717DA37FEFAD85FBB4903, + E266710E1EB05EA9BCA234A8, + B6132D51F0C7215E8892A4D0, + EF477EDDA22EC0D60894A8A4, + AD8876AE031DC76636165B46, + 218E177831591BA32471E07C, + 972960F84A014CAEFE281044, + 6731007E5C3E79C1DE863EF2, + DCACD63912A2F68687ED06CF, + 61DCCE39ADAE59345FE119C2, + 01FD86096B5866FB81FF2569, + 7C2D10BC8121A65AE771F1AA, + 5A835BB9C7C51847701951A1, + 515E7CFD1F0A52B7E8C54532, + BDC9ADEBD70EED757647B998, ); name = streams; sourceTree = ""; }; + E55C68544FBE98EA5E64A3D8 = {isa = PBXGroup; children = ( + 24EB96F7B504F9C0BFFCE5C8, + 33AEA79FA021494782972910, + 0D33C38BAB4F78D0D2E87F12, + 21706F4B9B65E7715A598F27, + 5CAD4033015519DB9995E82C, + DDE8A5E6804C149ED936C551, ); name = system; sourceTree = ""; }; + 5150D5D5807582EC7819A948 = {isa = PBXGroup; children = ( + 050CF59F03A19F57B8B04A40, + 2311DA69BCBA16D4C13762CF, + F6C95CC9C2D2607D5B99E87C, + 57ED67278E8B99989977658C, + 3321516BB1475949B60A15EA, + B8063FA3948FBB82AEF8DACB, + 350100F6F8F9FDF746B4D5BC, + 5E362FF0C74127A56DB805BB, + BA40B3FE630313FA9BA2D9F3, + 789C7D30DC4EA35A98FEE613, + 86B6D5A52BE3A4DCA00E2554, + 3B292E9A2C5D6B74E546DA28, + 7C657206A60BC84469EC5B09, + F8700C66EB5AE3292B585E19, + 799654188207FD986B13281A, + 2428A545CFE28E531293C169, + 957428BC0CD90C37ED1EB7E1, + F698238656695668C5E984B4, + 920F595F97031574B427C153, + 62D82C201C4829E3F70EA188, + 06C1447B9CBC6813BB7BEA53, + 882707E7AF3729EE34BC413B, + A3EE7A9FD5BFE2DF31C04EF0, + 6CB5AB2EA383094C2127BBDB, ); name = text; sourceTree = ""; }; + B419CAA05CE937D5235D839F = {isa = PBXGroup; children = ( + 2EE2B6E7AA983D5C37083065, + ADB63003D07418B7CA9D8395, + 0CF2426932FC8D37C12B6879, + 9BC1BD6117331DE95A27345D, + 17F320020AFE3746DDCCA550, + E8D7980A9BE064F54551C3D4, + 5FA7C14489B6B17B022ACB6B, + E1F8942417C8AD296A2C1F68, + 138CC7441850D856F9923C7B, + CD4D6D0FF97BB38751DAC4CD, + BAECEA9DA44AA7E186D9C14C, + 3B7EC97319358AB628F4EAF1, + D92D579F2458F2426E5F828A, + 6EEACEE1071D58DA155DC87E, + 0C339E5B52835F87ABD2BF95, + 0E8A874AB7E4971D90F58004, + A813861C1082866ED9E9F83C, + DD53156BA824889FD7DF52D2, + D795067D4EFB5A34BC383250, + ACC266EC4CC8CCD368FA9E7D, + 75F290D7B7C53C03DC653FC5, + DA9E577DC37123CEA41C4A71, ); name = threads; sourceTree = ""; }; + 655534C7E2032973C1BA3EF7 = {isa = PBXGroup; children = ( + 71323E00D1742D3DC5E00C67, + 5504DAC58359F306457FAE4F, + 945D99278B387FC0B627D967, + E0C6517F308CB034A36DEB08, + F7D302AA1A08E597078C7B1F, + 4D664CA1434E85BEA96E6E1B, ); name = time; sourceTree = ""; }; + B07FE683EDE64153F74A4266 = {isa = PBXGroup; children = ( + 91E5C5E061E45FCC192C074B, + 7340BFA6BC995EDB51DB070D, ); name = "unit_tests"; sourceTree = ""; }; + 32CE6A6CA87C8C81E2AB821A = {isa = PBXGroup; children = ( + 0CC13DE18B3E9166C9782E63, + D7433453EBB3700D2805FF42, + BFCA358DEECC78ABB7B6E8A5, + 32046EA191CFD25B047706EB, ); name = xml; sourceTree = ""; }; + BEFBAA157F2985D6D4B3FE06 = {isa = PBXGroup; children = ( + 8DE516ED09DF5989C03730B9, + 2AD8651609A9CE31D4673846, + 34D73FE5FBC2197DD353ACA3, + BFC98B56313D64177AE6B385, + 0FAD0D2057E7174BE0156828, + 76E4D8FCD61BCB53103C63C4, ); name = zip; sourceTree = ""; }; 963F1FFE9D4C25330F2080E8 = {isa = PBXGroup; children = ( - F4B07146A0E018D967C32242, - 0DA42F9BE820CD85C34E691D, - ED01F8C5F7FD933BE10FE1CB, - D295FCA29CAA8C0F9C29CE78, - BA0A80C9F9F00B56EEC9DC15, - 4E78321340EB54214504DAD8, - 55D355B98D1C8330701E9322, - E6CB178621202FED053F258C, - 62EFDF6C83F89F3EF6548773, - 87C9530BFFA9CF3EE1B4761C, + DB14025F32FCF3E8CEA7301E, + 6291A0CB99CFFE54705D33ED, + 914C981BE4DC0C03148157FA, + 70A8F3A3330BD08455BBACAD, + 4854B33949D3787C9316823E, + D357095487082A8D60E89719, + EECE45D91CB398DAA32CA881, + D93E16A07F79E41F13D30C3A, + 2AEAB47703BB1528AD4130B2, + AD6E6D0DEBA6E04BE1AC911F, E55C68544FBE98EA5E64A3D8, - F9C132756017450F66695D0B, - 1BAB3BDBA8A0404CEB776482, - 99FC2F88DDB8DA44C7DA1EC7, + 5150D5D5807582EC7819A948, + B419CAA05CE937D5235D839F, + 655534C7E2032973C1BA3EF7, B07FE683EDE64153F74A4266, - B8B3269B78FB425E1364CAA0, - 44378E8A7F2CD07EDE8C8606, - 65D458CF07A4C80209FE2572, + 32CE6A6CA87C8C81E2AB821A, + BEFBAA157F2985D6D4B3FE06, D9207F324519739FC25FFBDE, ); name = "juce_core"; sourceTree = ""; }; 8629449742ADA6A404EBFD7C = {isa = PBXGroup; children = ( 6D9F04D6B71B3E81490D0A92, @@ -1521,31 +1502,45 @@ 90D2D8B52FBBAAB20B9AF34A = {isa = PBXGroup; children = ( 8629449742ADA6A404EBFD7C, C41C86FAEFC4DCDEED0CADA6, - 44B8CAEA9946E2D8B72B85FB, D7C1255A555A016BA0D98228, ); name = "juce_cryptography"; sourceTree = ""; }; - A9DFE97A13170B69A8695E64 = {isa = PBXGroup; children = ( + B326D2CBA25250D6F5978016 = {isa = PBXGroup; children = ( + 09D4B1BC3B3713EB3E9E01E0, + A00EEAF2F98E0988499D2A92, + 5BB7139B57A1A26610868241, + 9816ACC9B8829949AE529AC6, ); name = "app_properties"; sourceTree = ""; }; + A6090B818F28F34C736741E5 = {isa = PBXGroup; children = ( + 032E2ADE43B3115AB59A6393, + E6E9A8E11791B4B4D6B3E6D4, + 4F5AE334AD243259E370E8CE, ); name = undomanager; sourceTree = ""; }; + F01DC3430F9500A8BF788440 = {isa = PBXGroup; children = ( 46B1B45E0E2F0E937590C309, 0BD19EFE55728A56EB3EE5C5, 8F748FDB2E7593E987B9C42B, 11617F93929948BF4BC1BCC5, 6DFF4E20583069DA4814851D, 9C495A78CFBD7157D354532A, ); name = values; sourceTree = ""; }; - A6090B818F28F34C736741E5 = {isa = PBXGroup; children = ( - 032E2ADE43B3115AB59A6393, - E6E9A8E11791B4B4D6B3E6D4, - 4F5AE334AD243259E370E8CE, ); name = undomanager; sourceTree = ""; }; - 0EA0B48C2C5AA767B9D74E68 = {isa = PBXGroup; children = ( - 09D4B1BC3B3713EB3E9E01E0, - A00EEAF2F98E0988499D2A92, - 5BB7139B57A1A26610868241, - 9816ACC9B8829949AE529AC6, ); name = "app_properties"; sourceTree = ""; }; 744A3E8D2B87E421754ED5D3 = {isa = PBXGroup; children = ( - A9DFE97A13170B69A8695E64, + B326D2CBA25250D6F5978016, A6090B818F28F34C736741E5, - 0EA0B48C2C5AA767B9D74E68, - 956BE0B32D5B1410E43A3C58, + F01DC3430F9500A8BF788440, 3CF78C2D83C6C4AD2E7B252B, ); name = "juce_data_structures"; sourceTree = ""; }; - 2309ACFADE8AB531F61A6B1A = {isa = PBXGroup; children = ( + EEB91E0A6A890079DCDF78F0 = {isa = PBXGroup; children = ( + D314CF2F97529FCF35042263, + DA918320EF4057DF54FF8909, + A6C1DF1F0A364CE60B59B34D, + 5CD825D3FEC4CA9FEE05D4D2, + 55B090DF1727E2DDAF68CEA3, + ED6D7454CBD1966019E5FCA8, + DD68D7D44BC0B2CA5DCE8532, + 1B383850C7E72C0FA5644C3F, ); name = broadcasters; sourceTree = ""; }; + 679031334AD2E5044BFA1047 = {isa = PBXGroup; children = ( + 1F6FFA800A6EE11FF46C1BC2, + F1DC783F0873A2FEDA0F2950, + 55A88840151E8DB7647E695A, + 1CBCE7A7D4723D88F4A7CEB2, + DB246262CA669F13ABDDB33E, + 4C46D1CE125E2770BF5D0E36, ); name = interprocess; sourceTree = ""; }; + 6BDBD5539926B857686A25D2 = {isa = PBXGroup; children = ( 22C83465279C6EEDDCB60DE2, 4D2D008FEC5F93DEFFBE4B56, DAF7C72A4348C33364BB654C, @@ -1559,28 +1554,7 @@ AD3B0EEC6220F38CC01E03A0, 23E4EF3E21E3D1DBD0A888B3, 96984B45C557D5385014EE96, ); name = messages; sourceTree = ""; }; - 90C6AFB2E5E850D2FE3F2540 = {isa = PBXGroup; children = ( - B80E25C493097974BA36BEF4, - E2587C4B5F37914CBB32CF88, - 9B46421089152275D0DEA003, - 0DA5B57EE8F2881C90FB047E, ); name = timers; sourceTree = ""; }; - 0EEB2E20492183F0974763EE = {isa = PBXGroup; children = ( - D314CF2F97529FCF35042263, - DA918320EF4057DF54FF8909, - A6C1DF1F0A364CE60B59B34D, - 5CD825D3FEC4CA9FEE05D4D2, - 55B090DF1727E2DDAF68CEA3, - ED6D7454CBD1966019E5FCA8, - DD68D7D44BC0B2CA5DCE8532, - 1B383850C7E72C0FA5644C3F, ); name = broadcasters; sourceTree = ""; }; - 0428FCC83BE962CAFE8CAB3D = {isa = PBXGroup; children = ( - 1F6FFA800A6EE11FF46C1BC2, - F1DC783F0873A2FEDA0F2950, - 55A88840151E8DB7647E695A, - 1CBCE7A7D4723D88F4A7CEB2, - DB246262CA669F13ABDDB33E, - 4C46D1CE125E2770BF5D0E36, ); name = interprocess; sourceTree = ""; }; - FF5CDCEACC87B2E147E0B458 = {isa = PBXGroup; children = ( + 2C6DF54BBBD843AC2AE60D47 = {isa = PBXGroup; children = ( C6ABA08D308E778415CF6898, 2D232BDD2ACD9FEE40D8BBD6, 9C7CAB6C6295501E2487AD8D, @@ -1589,13 +1563,17 @@ 5EC7BB194C80F36EA9D6801D, 3EFBFA5735C496DC209ED1CE, C43150F92FA4DE8381209FA4, ); name = native; sourceTree = ""; }; + 15D28BB4C3FD27A5CBAEAD49 = {isa = PBXGroup; children = ( + B80E25C493097974BA36BEF4, + E2587C4B5F37914CBB32CF88, + 9B46421089152275D0DEA003, + 0DA5B57EE8F2881C90FB047E, ); name = timers; sourceTree = ""; }; EC43F7A66E15E268F1E9B58C = {isa = PBXGroup; children = ( - 2309ACFADE8AB531F61A6B1A, - 90C6AFB2E5E850D2FE3F2540, - 0EEB2E20492183F0974763EE, - 0428FCC83BE962CAFE8CAB3D, - FF5CDCEACC87B2E147E0B458, - C0AB1E87CD628F5534F41588, + EEB91E0A6A890079DCDF78F0, + 679031334AD2E5044BFA1047, + 6BDBD5539926B857686A25D2, + 2C6DF54BBBD843AC2AE60D47, + 15D28BB4C3FD27A5CBAEAD49, 91A1AAFFF5016EB8BB0487C8, ); name = "juce_events"; sourceTree = ""; }; EEC8570C058DC7EBFF48BF5E = {isa = PBXGroup; children = ( 9F026AC7E95B4C723F18903C, @@ -1615,19 +1593,25 @@ 589769409FB8620A45B85335, EC8A477FEDA0FEDA62A7E0C9, 582D00AF5D2B03D99D395C5D, ); name = contexts; sourceTree = ""; }; - 6BCA75E6074CC43BE60EED08 = {isa = PBXGroup; children = ( - 29A33AEB9BEDCAAABFD53924, - 90ADB27801C40001A8074FD4, - 41A362DE244211508DBAC375, - 43A110B2BB114D76D27DA4BA, - F1C0CFDC6BF9AD9502D78223, - B7669234F60C20A155C0C9E5, - BD5FE72C6C05445934BD5FAC, - 9DADEEE9596B1738B92026DB, ); name = images; sourceTree = ""; }; - D13365C7D5CEFE4E0EBB2426 = {isa = PBXGroup; children = ( - 42228DF7B6850D9F81D27A59, - D5952905FC386C19D0818398, - 8CC281F3463EE9BCA6379E81, ); name = "image_formats"; sourceTree = ""; }; + 369AC8CE3CB68FAB27EBBCD3 = {isa = PBXGroup; children = ( + 7F031C3EECC44A707A4B1F5A, + 94B22D21E4DE9259A3F385A3, + 3639E8CB35EAA4F2F35ECBC6, + 6623883EA006103A2C58D58A, + 22683E236615340F2D74A763, ); name = effects; sourceTree = ""; }; + 6D070137C332F9FE9521C3BC = {isa = PBXGroup; children = ( + 60FEADAA8A60C12E4F2AEDD4, + 5D6AF55EDB77231E95C23086, + E513696B3670F32F12D807C0, + E66AB26776DD0039834DBC76, + 8FF2B48D3DC38ABCDA0BBE83, + F5067BCDD5659E790346ECC3, + BA947E82A08CB93B5A9B64F4, + 4420BE21E3F857BA1FFE7E1A, + 5AEB95A0679E804A244F6CA2, + 00C3FB52B96B01F0BC02C9EA, + 2E6B1895009FCA5411B0BB69, + CF27DFD59466D38E34428405, ); name = fonts; sourceTree = ""; }; D10474DE9F22E085B447ECD8 = {isa = PBXGroup; children = ( 4E253133CB4CB9F858D9E474, C10210AA8B1DD67E6943A2D4, @@ -1644,30 +1628,20 @@ 15FBAE360A9B69D6DB38FF22, E7F0E3EF611F21E0B80C7216, BC12698889AAD84B83FA7A21, ); name = geometry; sourceTree = ""; }; - 9F3AAF568F1D887C6A73CC41 = {isa = PBXGroup; children = ( - E29B93C0B9DC9CDD74245891, - 6462581CC4840341D6E7903F, - 5B4DD89CB29AEF782C6D878C, ); name = placement; sourceTree = ""; }; - 9C8B57AFB5296F6948159935 = {isa = PBXGroup; children = ( - 60FEADAA8A60C12E4F2AEDD4, - 5D6AF55EDB77231E95C23086, - E513696B3670F32F12D807C0, - E66AB26776DD0039834DBC76, - 8FF2B48D3DC38ABCDA0BBE83, - F5067BCDD5659E790346ECC3, - BA947E82A08CB93B5A9B64F4, - 4420BE21E3F857BA1FFE7E1A, - 5AEB95A0679E804A244F6CA2, - 00C3FB52B96B01F0BC02C9EA, - 2E6B1895009FCA5411B0BB69, - CF27DFD59466D38E34428405, ); name = fonts; sourceTree = ""; }; - 667CC1C49529F09E8D855F2D = {isa = PBXGroup; children = ( - 7F031C3EECC44A707A4B1F5A, - 94B22D21E4DE9259A3F385A3, - 3639E8CB35EAA4F2F35ECBC6, - 6623883EA006103A2C58D58A, - 22683E236615340F2D74A763, ); name = effects; sourceTree = ""; }; - DC0C18F0D3030EBF58F2AB02 = {isa = PBXGroup; children = ( + 525EBB6F82F33911CC522AB2 = {isa = PBXGroup; children = ( + 42228DF7B6850D9F81D27A59, + D5952905FC386C19D0818398, + 8CC281F3463EE9BCA6379E81, ); name = "image_formats"; sourceTree = ""; }; + 091ADFD68F476DC5021640D1 = {isa = PBXGroup; children = ( + 29A33AEB9BEDCAAABFD53924, + 90ADB27801C40001A8074FD4, + 41A362DE244211508DBAC375, + 43A110B2BB114D76D27DA4BA, + F1C0CFDC6BF9AD9502D78223, + B7669234F60C20A155C0C9E5, + BD5FE72C6C05445934BD5FAC, + 9DADEEE9596B1738B92026DB, ); name = images; sourceTree = ""; }; + C61796DFACFD462F2EC2074D = {isa = PBXGroup; children = ( 8A09FE3E26741780999E0E56, F52176A07E24A5CC91D03A9F, 9CA6D0EA44E436AFA0682A90, @@ -1681,19 +1655,54 @@ D0A714338F6B7A47BA1F8F45, F186D87D177BE735EA9D6BC2, 64A1DACEA71957604AD58B3C, ); name = native; sourceTree = ""; }; + DB7FB0AD235836B999678E36 = {isa = PBXGroup; children = ( + E29B93C0B9DC9CDD74245891, + 6462581CC4840341D6E7903F, + 5B4DD89CB29AEF782C6D878C, ); name = placement; sourceTree = ""; }; 735136A0AB9278D0871D9684 = {isa = PBXGroup; children = ( EEC8570C058DC7EBFF48BF5E, 2509ACBE42B0AAA5D85568AC, - 6BCA75E6074CC43BE60EED08, - D13365C7D5CEFE4E0EBB2426, + 369AC8CE3CB68FAB27EBBCD3, + 6D070137C332F9FE9521C3BC, D10474DE9F22E085B447ECD8, - 9F3AAF568F1D887C6A73CC41, - 9C8B57AFB5296F6948159935, - 667CC1C49529F09E8D855F2D, - DC0C18F0D3030EBF58F2AB02, - 45200F793669CADC5D279093, + 525EBB6F82F33911CC522AB2, + 091ADFD68F476DC5021640D1, + C61796DFACFD462F2EC2074D, + DB7FB0AD235836B999678E36, 2483323E997B7A3171E39DE0, ); name = "juce_graphics"; sourceTree = ""; }; - 46B3BECE46528A3B74650149 = {isa = PBXGroup; children = ( + 7536392EC9D829C6ABFDE7DC = {isa = PBXGroup; children = ( + 3B415641D0C369EFE3CE9013, + 1D031D6259B6620760ACD1A1, ); name = application; sourceTree = ""; }; + C9BC0C27F5327B62D6890D24 = {isa = PBXGroup; children = ( + 13EA8958E53A70EFE5F2F7C5, + AEB543D49F0CD263051AC7ED, + EAC1E2A419A40B04F87DB289, + F98172E9B1C7D23875AC5D81, + 0B7FC2052DC952A2080D9535, + 3ACEB82C73AB2A85638042BC, + DE8035865F6033F8BBF41740, + 3671A679FFAC68E5A6381508, + 71B15FFEFFD5B84155C239B5, + 32C8AEA50F9848F118BB596F, + D4DA13E7A12FB69C072D0FA7, + 3ED29A00C88C8C3B8B3DE56D, + 9A804FDDFFF8A3C626731537, + 410A767D64DBE4AB92D56251, + 18528E8CEF7C4921ECB51AC1, + FD0A360D16FC0851ED8F12E9, + 84E82CE8261E4336DEC561C2, + 0A6471A38D12F7FEE9A798C2, ); name = buttons; sourceTree = ""; }; + 2C431CFE5C2EBA685A842BAE = {isa = PBXGroup; children = ( + 02103E89A1DBB8DEE968BDED, + DEEFCE87BE3B9D7AFC7ADC16, + 1666EE8320B5911BA4A4D529, + E0A5FEACF71A44A631B8FFEF, + C965E08D0024A85481D1DF9A, + 75FCAA8D3DF24813844D6552, + E35BB0E91C10C1441FB5129C, + 37FE4DB88BA2CBD8214D100E, + C6F2B8AF079942AAA416357B, ); name = commands; sourceTree = ""; }; + BE6446B5DC9DA5AE5C1764DB = {isa = PBXGroup; children = ( F8D23A339EA851D0838B8D4D, 536EA9AE6C2F76FE0AEB5958, 3D6993BA129CF5B3D55E3800, @@ -1703,28 +1712,46 @@ E5FEEAA0CF737C7F947FD9DD, 92A12C0D4D42B80CF8044305, 80101DB42394F099476E9EEC, ); name = components; sourceTree = ""; }; - 071D0651B3B1A46BA91C3740 = {isa = PBXGroup; children = ( - F41FB10FF682A9C62523F2B2, - 28F63DEF8EC6E50F0D56D95A, - 81D77B804ED4556D69FFE37D, - 4EEFC8BD450341D633B64E77, - 344A66473D93F1C7C05D7873, - 883079D96B41550931751AF6, - C19ACBBBAFAB7161C4114966, - C0F4014BD42C942094A65784, - E1C15D4A6FE1DB712342BF2E, - 14A87A1183D1758B09986E28, - 664A82AE5A1999CA0D1CD221, - 25A19D3A535A511E98131069, - FEB0F3714782C7EBEE1FAD34, - 6D778046825503FDEB5460E1, - 2A42B0F38B7F9D59052594AD, - F0BFBF49596C78EA5FA009DE, - C46223B526679E23A270826E, - CAEB53245A583D86E3C9C277, - 00B26FB0687F076246BFB5C5, - 18075466DD757A0F75F7A438, ); name = mouse; sourceTree = ""; }; - 1F2396ED12AF678A23904249 = {isa = PBXGroup; children = ( + 682C2178B0BEB50FA1103708 = {isa = PBXGroup; children = ( + 9A7DB637C5751B1825D1C452, + E01C957605B8B074A13A5442, + E97917473ACF5E2BF4B424EF, + 06EB1158FAA7044D25A1B836, + 2280FEDF900D22D22688CED8, + F83E643C3750718F2ED885B0, + 2AD9815C21C7123C138EE0D3, + 2AD6BCA65B11533D9653A12D, + 1C4E46D37FD0A75012D27F18, + 4E7392E543488D38DDA567DD, + 85883ACDDA7E583B248AAD9A, + AEC8535EE0876B4B29206E6E, + CACC511ABBAB7C46CF0101E9, + 83214A40B05A1E72BF132B0C, + 47D5DB3D6E203E43E808C4C1, ); name = drawables; sourceTree = ""; }; + 24F37E143D2A577E51738ECD = {isa = PBXGroup; children = ( + 51E8F7D6F96EA20F374FD4E9, + 518475EC1518D59F4BBB64C6, + 6DA2BE5D5F9F5C74549065BE, + 1C9A92B8262F5780FB04EEE9, + 873EBB357BD6D24BF4A933FC, + 72DD0054E547FFCC4D9F4700, + BAE7286632933AB26F784A1B, + 01DB9D38812FE9C8E4106F22, + 3B0FC2F45CC6100E61519741, + 27105A5B43A6B21407A11383, + 238D6FEAC798251FADB2D785, + 9FA45AAB6573E64BD6DB4F3B, + 2AAEA55DD1AEB793E4769381, + 8A2CC00AD83204B6A448BD0C, + AAF5E82B9F1E9BD0895BDE1B, + 28F81A61FC28C0B2BC795CAA, + DE0712F13AD6AB6180E2E680, + C81552C996D8BD8F34DF73FF, + 9EC65D648D37E3C325E29259, + 87E1C69D47EEBB410C736057, + 46E734DE28DD074E47193019, + 41904DEAC80BC479D294F347, ); name = filebrowser; sourceTree = ""; }; + 26B7A499FD93F75511531227 = {isa = PBXGroup; children = ( 88E6EC067093B2A916177028, 7BBA6ED880BF554726E28D5B, 936216306215D5F851ECFD3A, @@ -1738,62 +1765,7 @@ 2671B39D0A72D44B66EAF16E, 1FA971CC860F62BC184966E5, 0AFC098702827D38DA03BB73, ); name = keyboard; sourceTree = ""; }; - 215115CEFE37F2F1A977FD1F = {isa = PBXGroup; children = ( - B3B91E79E9BE863EFB7B2B70, - 1EEB3893771895AB8BD72410, - FFC1C8C289D7D3FF39865E40, - 4A9384E6AC95A3353D2B7FFB, - 2E50037B5E665D18A150C13E, - A2C29B131B0CF45F91AEAB8E, - 82001AF777823E3D8516F146, - 77E006FC1ECCE39324BD4E89, - D8C28108DE7AD0208D790606, - 7C51B09126B97CC503EC36EA, - 88840B304F3E4CE1F05FCD8C, - 528850704B6F7371B204B9F8, - 523899AA6DDF1511B614CCF4, - 2C9569AA22E7522474ED0AC0, - 9BD23FF298455A28702F31BE, - 6FC3334262FCA3170143BDF0, - E2528275A44F34CD34212245, - 807C6A24C920DBD11B9D6D89, - 98564A49976DBC04CFC899BB, - 9712862E18881F1713110286, - 2F1DC4CBD84162CF32AC4E3C, - 7399BECD1499CBFE6CB6C9B5, - FFD8E80D93D1005D5983C057, - 42E85B6680E35917716D3A21, - 6E9256495CB4571234020AD4, - 5BF15549E7E4C7BA4161805D, - 630DEB4B76D086DFBB5A9D39, ); name = widgets; sourceTree = ""; }; - 1B5F2DD8D03721A713139CBF = {isa = PBXGroup; children = ( - F242FFC66D5385888A14744E, - 1A5B591DE330EB440C2871E1, - 03500F24A473BF6C0FD54939, - 8A4FF1BDC954581622F65942, - AE2218DC91DA219F6BC602DA, - D41EA1E6002DE5DEB9A07CAA, - 15BCB38A8BF146D8E608A69C, - C1C5C1C4260E0B6884AEC0C7, - BF8FEFF7F46EA7613D821B33, - DFF6CC63DE1396FE7E540246, - 94A770B7E16685F3469CA932, - EADA4EA211FE1AEB3DC72EAB, - 19F1E0E8D9A395105CA14D9D, - 0790FAD375547D3A6B58678E, - 433DC103238A31CD5E1F00A0, - E7F19B91131A93E2B49094D1, - 1F2AB062036D82064FE251B8, - C6360519989E4FCC790BA870, - A8544FC5863CEBB41807B946, ); name = windows; sourceTree = ""; }; - 5EEC7F510CA90A49F63441D2 = {isa = PBXGroup; children = ( - BC310F9E7F78FD6872F5610E, - 22200A29DE13ED05FC06D9A5, - FEB2517E7420B23086B6580B, - 457F59C04F49E716A64EBA8C, - 4162A82BE7030410BBCCDB7C, - 15DD91827E0975E928E3BB83, ); name = menus; sourceTree = ""; }; - 591D0A524257E5DBDC1BE325 = {isa = PBXGroup; children = ( + 259BE968F272595708062681 = {isa = PBXGroup; children = ( B1D5ED2A628748002723A9B4, 189761573BB5F17836B33BD4, 5DF1460C31CD1BF8FADF56D3, @@ -1830,72 +1802,7 @@ 0171A70BA8C7272EC8AD13B9, B55834D8DBE6EC39178A526B, 42CEB9BE9B2E792D32E8AD2F, ); name = layout; sourceTree = ""; }; - FCB3B30EB57556D710022FC7 = {isa = PBXGroup; children = ( - 13EA8958E53A70EFE5F2F7C5, - AEB543D49F0CD263051AC7ED, - EAC1E2A419A40B04F87DB289, - F98172E9B1C7D23875AC5D81, - 0B7FC2052DC952A2080D9535, - 3ACEB82C73AB2A85638042BC, - DE8035865F6033F8BBF41740, - 3671A679FFAC68E5A6381508, - 71B15FFEFFD5B84155C239B5, - 32C8AEA50F9848F118BB596F, - D4DA13E7A12FB69C072D0FA7, - 3ED29A00C88C8C3B8B3DE56D, - 9A804FDDFFF8A3C626731537, - 410A767D64DBE4AB92D56251, - 18528E8CEF7C4921ECB51AC1, - FD0A360D16FC0851ED8F12E9, - 84E82CE8261E4336DEC561C2, - 0A6471A38D12F7FEE9A798C2, ); name = buttons; sourceTree = ""; }; - C22EBD5E4C31DCCCD3542C55 = {isa = PBXGroup; children = ( - 47C408503AAF7D0AAF1484D0, - 8F9CABDA064B2023691E901B, - F7BB9CEE29577AED1125C1AB, - 8ED8CFFC628DA9CE4AED0A5B, - B9310BD20E2EF7D2A4895C1F, - 4EE534BAE6FE5AE6B9863AEB, - 8FE47065CAD5227AC1256E00, - 7C0424A0845A3434C50661B9, - B2976F6A6BFA0C881FDF4B79, - 13FA561015BBB5F86783EAB6, - 3F924E9D75C642D0A14828E8, - 3F963B869D58A34E97922E97, - 3ED373A6B2C53518BAA012E6, - A0D98B5B7E49B6D7BB1FAA6B, ); name = positioning; sourceTree = ""; }; - 8EF0E8F12FE3DDFF02F4762B = {isa = PBXGroup; children = ( - 9A7DB637C5751B1825D1C452, - E01C957605B8B074A13A5442, - E97917473ACF5E2BF4B424EF, - 06EB1158FAA7044D25A1B836, - 2280FEDF900D22D22688CED8, - F83E643C3750718F2ED885B0, - 2AD9815C21C7123C138EE0D3, - 2AD6BCA65B11533D9653A12D, - 1C4E46D37FD0A75012D27F18, - 4E7392E543488D38DDA567DD, - 85883ACDDA7E583B248AAD9A, - AEC8535EE0876B4B29206E6E, - CACC511ABBAB7C46CF0101E9, - 83214A40B05A1E72BF132B0C, - 47D5DB3D6E203E43E808C4C1, ); name = drawables; sourceTree = ""; }; - 5F4E4D3CA599099ED8302F47 = {isa = PBXGroup; children = ( - 8734B3312C78FB753B890366, - 634EC4E64268DF302B5DDB02, - 420595879EE55FBDEFB4A63D, - A0582351AC1B641E0590F7AD, - 616738BCE455C5D3DD13CDFB, - C9D23ADF8E932519339C2B31, - 2C889FBD9E64FDC9114DA53E, - 324A7295F867CE4F5A65FDD7, - C2C58E9D2874FC850CB65B19, - 883C3CFCC12E44CB751A1492, - D950776EDF9260DB0278C132, - 6C51E4C2A776F82E02F37B15, - B5C03BAD5EB1BFD2AFE73D33, - 9647232A743A0C7BFE819385, ); name = properties; sourceTree = ""; }; - 5C692DFEB89A20508FD122F4 = {isa = PBXGroup; children = ( + 9079EA6E0807207342D41CE3 = {isa = PBXGroup; children = ( D8B7DCDFD32613B13AC54008, 3CACA414AFB108D5D97D2905, 2133298538ECFED56C3EBC9B, @@ -1904,48 +1811,40 @@ 8B3064F8C6E1E56B249CA6C9, F62FDD92B106245BB2C740F9, 0B36A9CD1921659BA8DA8577, ); name = lookandfeel; sourceTree = ""; }; - 160B7FAD218C3AA1166C3343 = {isa = PBXGroup; children = ( - 51E8F7D6F96EA20F374FD4E9, - 518475EC1518D59F4BBB64C6, - 6DA2BE5D5F9F5C74549065BE, - 1C9A92B8262F5780FB04EEE9, - 873EBB357BD6D24BF4A933FC, - 72DD0054E547FFCC4D9F4700, - BAE7286632933AB26F784A1B, - 01DB9D38812FE9C8E4106F22, - 3B0FC2F45CC6100E61519741, - 27105A5B43A6B21407A11383, - 238D6FEAC798251FADB2D785, - 9FA45AAB6573E64BD6DB4F3B, - 2AAEA55DD1AEB793E4769381, - 8A2CC00AD83204B6A448BD0C, - AAF5E82B9F1E9BD0895BDE1B, - 28F81A61FC28C0B2BC795CAA, - DE0712F13AD6AB6180E2E680, - C81552C996D8BD8F34DF73FF, - 9EC65D648D37E3C325E29259, - 87E1C69D47EEBB410C736057, - 46E734DE28DD074E47193019, - 41904DEAC80BC479D294F347, ); name = filebrowser; sourceTree = ""; }; - 8DAEE96B5CCE70C82F32513F = {isa = PBXGroup; children = ( - 02103E89A1DBB8DEE968BDED, - DEEFCE87BE3B9D7AFC7ADC16, - 1666EE8320B5911BA4A4D529, - E0A5FEACF71A44A631B8FFEF, - C965E08D0024A85481D1DF9A, - 75FCAA8D3DF24813844D6552, - E35BB0E91C10C1441FB5129C, - 37FE4DB88BA2CBD8214D100E, - C6F2B8AF079942AAA416357B, ); name = commands; sourceTree = ""; }; - 87D6F340D75F32D21C842D99 = {isa = PBXGroup; children = ( + 6C475B3C960833F1A7CE5B3A = {isa = PBXGroup; children = ( + BC310F9E7F78FD6872F5610E, + 22200A29DE13ED05FC06D9A5, + FEB2517E7420B23086B6580B, + 457F59C04F49E716A64EBA8C, + 4162A82BE7030410BBCCDB7C, + 15DD91827E0975E928E3BB83, ); name = menus; sourceTree = ""; }; + FE49243EA0AB021111CECDB1 = {isa = PBXGroup; children = ( 84919F8F609237ABCE05B83A, 997200F5A9D50C193CF389C4, 37C9F6D1469AD38C0CC740EF, CC165F4EACB2CCBF1A2AE269, ); name = misc; sourceTree = ""; }; - 5AD05E49914C9E25AC91C25E = {isa = PBXGroup; children = ( - 3B415641D0C369EFE3CE9013, - 1D031D6259B6620760ACD1A1, ); name = application; sourceTree = ""; }; - 7B721AC4DD1B34DC998FABE8 = {isa = PBXGroup; children = ( + DFDC9D602DADE212C767018A = {isa = PBXGroup; children = ( + F41FB10FF682A9C62523F2B2, + 28F63DEF8EC6E50F0D56D95A, + 81D77B804ED4556D69FFE37D, + 4EEFC8BD450341D633B64E77, + 344A66473D93F1C7C05D7873, + 883079D96B41550931751AF6, + C19ACBBBAFAB7161C4114966, + C0F4014BD42C942094A65784, + E1C15D4A6FE1DB712342BF2E, + 14A87A1183D1758B09986E28, + 664A82AE5A1999CA0D1CD221, + 25A19D3A535A511E98131069, + FEB0F3714782C7EBEE1FAD34, + 6D778046825503FDEB5460E1, + 2A42B0F38B7F9D59052594AD, + F0BFBF49596C78EA5FA009DE, + C46223B526679E23A270826E, + CAEB53245A583D86E3C9C277, + 00B26FB0687F076246BFB5C5, + 18075466DD757A0F75F7A438, ); name = mouse; sourceTree = ""; }; + BFFBFA8C0DD0DEC975A051BC = {isa = PBXGroup; children = ( 280D1B9A9530E1E805367547, 7A895B40FC9F5D912C685A4F, 2C3C84A4983281BE5D4C9A9C, @@ -1962,25 +1861,102 @@ 2D604FCC59A6A60712AD0D57, C0EAB8DB78CC1330EBFB1BB4, 9E6E3468F601EB602900825B, ); name = native; sourceTree = ""; }; + 5C404CDD2052DBCF2331231E = {isa = PBXGroup; children = ( + 47C408503AAF7D0AAF1484D0, + 8F9CABDA064B2023691E901B, + F7BB9CEE29577AED1125C1AB, + 8ED8CFFC628DA9CE4AED0A5B, + B9310BD20E2EF7D2A4895C1F, + 4EE534BAE6FE5AE6B9863AEB, + 8FE47065CAD5227AC1256E00, + 7C0424A0845A3434C50661B9, + B2976F6A6BFA0C881FDF4B79, + 13FA561015BBB5F86783EAB6, + 3F924E9D75C642D0A14828E8, + 3F963B869D58A34E97922E97, + 3ED373A6B2C53518BAA012E6, + A0D98B5B7E49B6D7BB1FAA6B, ); name = positioning; sourceTree = ""; }; + 899404DFD69A4BC05DD1FD16 = {isa = PBXGroup; children = ( + 8734B3312C78FB753B890366, + 634EC4E64268DF302B5DDB02, + 420595879EE55FBDEFB4A63D, + A0582351AC1B641E0590F7AD, + 616738BCE455C5D3DD13CDFB, + C9D23ADF8E932519339C2B31, + 2C889FBD9E64FDC9114DA53E, + 324A7295F867CE4F5A65FDD7, + C2C58E9D2874FC850CB65B19, + 883C3CFCC12E44CB751A1492, + D950776EDF9260DB0278C132, + 6C51E4C2A776F82E02F37B15, + B5C03BAD5EB1BFD2AFE73D33, + 9647232A743A0C7BFE819385, ); name = properties; sourceTree = ""; }; + 5757604D88AE06A6C7A7D2E5 = {isa = PBXGroup; children = ( + B3B91E79E9BE863EFB7B2B70, + 1EEB3893771895AB8BD72410, + FFC1C8C289D7D3FF39865E40, + 4A9384E6AC95A3353D2B7FFB, + 2E50037B5E665D18A150C13E, + A2C29B131B0CF45F91AEAB8E, + 82001AF777823E3D8516F146, + 77E006FC1ECCE39324BD4E89, + D8C28108DE7AD0208D790606, + 7C51B09126B97CC503EC36EA, + 88840B304F3E4CE1F05FCD8C, + 528850704B6F7371B204B9F8, + 523899AA6DDF1511B614CCF4, + 2C9569AA22E7522474ED0AC0, + 9BD23FF298455A28702F31BE, + 6FC3334262FCA3170143BDF0, + E2528275A44F34CD34212245, + 807C6A24C920DBD11B9D6D89, + 98564A49976DBC04CFC899BB, + 9712862E18881F1713110286, + 2F1DC4CBD84162CF32AC4E3C, + 7399BECD1499CBFE6CB6C9B5, + FFD8E80D93D1005D5983C057, + 42E85B6680E35917716D3A21, + 6E9256495CB4571234020AD4, + 5BF15549E7E4C7BA4161805D, + 630DEB4B76D086DFBB5A9D39, ); name = widgets; sourceTree = ""; }; + 71AFC5FE702DE832A57ABAE2 = {isa = PBXGroup; children = ( + F242FFC66D5385888A14744E, + 1A5B591DE330EB440C2871E1, + 03500F24A473BF6C0FD54939, + 8A4FF1BDC954581622F65942, + AE2218DC91DA219F6BC602DA, + D41EA1E6002DE5DEB9A07CAA, + 15BCB38A8BF146D8E608A69C, + C1C5C1C4260E0B6884AEC0C7, + BF8FEFF7F46EA7613D821B33, + DFF6CC63DE1396FE7E540246, + 94A770B7E16685F3469CA932, + EADA4EA211FE1AEB3DC72EAB, + 19F1E0E8D9A395105CA14D9D, + 0790FAD375547D3A6B58678E, + 433DC103238A31CD5E1F00A0, + E7F19B91131A93E2B49094D1, + 1F2AB062036D82064FE251B8, + C6360519989E4FCC790BA870, + A8544FC5863CEBB41807B946, ); name = windows; sourceTree = ""; }; 6B81BEC66BB4E45342345761 = {isa = PBXGroup; children = ( - 46B3BECE46528A3B74650149, - 071D0651B3B1A46BA91C3740, - 1F2396ED12AF678A23904249, - 215115CEFE37F2F1A977FD1F, - 1B5F2DD8D03721A713139CBF, - 5EEC7F510CA90A49F63441D2, - 591D0A524257E5DBDC1BE325, - FCB3B30EB57556D710022FC7, - C22EBD5E4C31DCCCD3542C55, - 8EF0E8F12FE3DDFF02F4762B, - 5F4E4D3CA599099ED8302F47, - 5C692DFEB89A20508FD122F4, - 160B7FAD218C3AA1166C3343, - 8DAEE96B5CCE70C82F32513F, - 87D6F340D75F32D21C842D99, - 5AD05E49914C9E25AC91C25E, - 7B721AC4DD1B34DC998FABE8, - 52DB8DAF68DE34E91764489E, + 7536392EC9D829C6ABFDE7DC, + C9BC0C27F5327B62D6890D24, + 2C431CFE5C2EBA685A842BAE, + BE6446B5DC9DA5AE5C1764DB, + 682C2178B0BEB50FA1103708, + 24F37E143D2A577E51738ECD, + 26B7A499FD93F75511531227, + 259BE968F272595708062681, + 9079EA6E0807207342D41CE3, + 6C475B3C960833F1A7CE5B3A, + FE49243EA0AB021111CECDB1, + DFDC9D602DADE212C767018A, + BFFBFA8C0DD0DEC975A051BC, + 5C404CDD2052DBCF2331231E, + 899404DFD69A4BC05DD1FD16, + 5757604D88AE06A6C7A7D2E5, + 71AFC5FE702DE832A57ABAE2, 098DED4CC79076DD9FBC77BA, ); name = "juce_gui_basics"; sourceTree = ""; }; 822BE1CCF036C0154376D9CC = {isa = PBXGroup; children = ( 9B6894AAD8FDF33CB3387A02, @@ -2042,9 +2018,21 @@ E3D8BED92AD41057CAEB051F, 4700EB1C9B14BBA22B871A1E, D06FFD6E422879ABC06B5933, - 016748F561B0B5046F24DDA0, 923E4322525FD5CCAA5F911B, ); name = "juce_gui_extra"; sourceTree = ""; }; - E23F6FDE88C4164420DC07F6 = {isa = PBXGroup; children = ( + B8F6EDFE829BF38E4239FAAB = {isa = PBXGroup; children = ( + 1F78AE3A47E74F2742A538FC, + 7C7F405778EA1C68A151B8C3, + 775C0307D56978AFC4E2C10D, + CDB3F888E50C16B72E745EA1, ); name = geometry; sourceTree = ""; }; + E8C88E6E3FEC2E7A4373205B = {isa = PBXGroup; children = ( + B3E0F684EFAAB3722FC50D6F, + 9279BC369938CE651A7F8348, + 4F4884B5DE59137D823301FB, + FDC5CCA1B1D3A41BADE24142, + 19CF1995D026FB0177649557, + 6C8EDB409CBC411544143565, + 8BD67EC10CC86AB4DB096E5D, ); name = native; sourceTree = ""; }; + 8759A870ABF2245C051B3DC4 = {isa = PBXGroup; children = ( 9512FB5C9D667ED59CFC0FF4, BE0231D93CBB02BBC2704D1D, 43D23C18695F24F9A3DFA7B4, @@ -2062,47 +2050,32 @@ 442E6311FB54378E88B6811C, 651055751E902F40B83EFD55, 09089786B542AEB678DDE38F, ); name = opengl; sourceTree = ""; }; - 7B1E673135B6D72C79E5E92A = {isa = PBXGroup; children = ( - 1F78AE3A47E74F2742A538FC, - 7C7F405778EA1C68A151B8C3, - 775C0307D56978AFC4E2C10D, - CDB3F888E50C16B72E745EA1, ); name = geometry; sourceTree = ""; }; - E179614A91A68F12F4E60015 = {isa = PBXGroup; children = ( + EF40EC610D109AC5EB368485 = {isa = PBXGroup; children = ( 4840790BC5D2B26068E76863, 7E4C0E94BAD29885B8E8BAAD, ); name = utils; sourceTree = ""; }; - 97CFA3ABA224501DDE5D8097 = {isa = PBXGroup; children = ( - B3E0F684EFAAB3722FC50D6F, - 9279BC369938CE651A7F8348, - 4F4884B5DE59137D823301FB, - FDC5CCA1B1D3A41BADE24142, - 19CF1995D026FB0177649557, - 6C8EDB409CBC411544143565, - 8BD67EC10CC86AB4DB096E5D, ); name = native; sourceTree = ""; }; 2C43A64E61A92F2912632BD6 = {isa = PBXGroup; children = ( - E23F6FDE88C4164420DC07F6, - 7B1E673135B6D72C79E5E92A, - E179614A91A68F12F4E60015, - 97CFA3ABA224501DDE5D8097, - CBC2829B45DFFAF01865FAAA, + B8F6EDFE829BF38E4239FAAB, + E8C88E6E3FEC2E7A4373205B, + 8759A870ABF2245C051B3DC4, + EF40EC610D109AC5EB368485, CAA1AEA2DA42ACE7AFBB7A17, ); name = "juce_opengl"; sourceTree = ""; }; - 722D4F109F8D2D2A9ECF2644 = {isa = PBXGroup; children = ( - F52AF269A66132FFEC566C7B, - 1B0596982B3039E793262901, ); name = playback; sourceTree = ""; }; - 9D6E53B1F8DE15DE9C5F7948 = {isa = PBXGroup; children = ( + F9FF133CFD7436ADC857BD71 = {isa = PBXGroup; children = ( FD3630D56455CA49F6784A6E, D41728E9EB1522CCAC9AC7D4, ); name = capture; sourceTree = ""; }; - FA9B866757459BB84B9F47F3 = {isa = PBXGroup; children = ( + F560900360D539EF38FF2C0C = {isa = PBXGroup; children = ( D9857957A36A3081186D53FC, DF309886A3D26FC34280B329, 1C1943E3582BA78117F881B3, FB0069171AE5E73F9E1C5173, 1A59F393DEB3E9E1132EAF51, A3574DDAD00B4384A37492EF, ); name = native; sourceTree = ""; }; + 7BC6DE9CB2562D5618C3CBEE = {isa = PBXGroup; children = ( + F52AF269A66132FFEC566C7B, + 1B0596982B3039E793262901, ); name = playback; sourceTree = ""; }; EAA223901B623D0D2D573103 = {isa = PBXGroup; children = ( - 722D4F109F8D2D2A9ECF2644, - 9D6E53B1F8DE15DE9C5F7948, - FA9B866757459BB84B9F47F3, - CB9787ADAA0EB590B17CC142, + F9FF133CFD7436ADC857BD71, + F560900360D539EF38FF2C0C, + 7BC6DE9CB2562D5618C3CBEE, 6F6AC4A00C126030263CC8D3, ); name = "juce_video"; sourceTree = ""; }; 9D8FE1F65CAD416AA606C47A = {isa = PBXGroup; children = ( 7E0D0991585FE7EBF8C2E538, @@ -2121,23 +2094,23 @@ EAA223901B623D0D2D573103, ); name = "Juce Modules"; sourceTree = ""; }; 7E30376DDAD775FEFE64944C = {isa = PBXGroup; children = ( 30F22843EFEBF7AA841EB4D6, - 627709CC8F994ADFE362022E, - 5656FCEE17FE65E49EF3A891, - 084D91B2AD459A0FEBEFD449, - D5C074653417ED69A2B570AC, - FE7C03DACFC725D712D9F508, - 2C7BFA88B40379944B653289, - F69282947987DE2626D23C52, - 2E6595F3A8D97841A49BAC85, - DBD90FC88456B62308AD9AD0, - 6E1860CF53C6E59F1F77C373, - 81F7A7CD9847CBAFC6615F07, - 5AA6D24CBDEC48447451F46A, - 4D6DBD5D569681C5C8B32FB3, - ABB92009051C3CDBA14CDA24, + 2D2541F927EB5EC4A254B745, + 727427F3107F36FAB510AA17, + 1702832C0563E836B4327890, + BB80DA1EA6A7082D445D6EDF, + D3C8D6843E25DB2B32473A4F, + 295907BE4DFB720C1086850C, + 5EBD478EAFE8DA4F64414D7A, + 0E8900A3E8EEC22708EF5011, + E64CC24224127C377E3A1556, + 188F364C0B02372BB332F767, + 43F7E60071240E1FB923EBDE, + 14E68B91F5DD3904D9C98600, + D03DA9E56E0D23352552E373, + 253AE92DFB97286B43EECD89, A5E7CA8A71D049BE2BD33861, ); name = "Juce Library Code"; sourceTree = ""; }; A97EE73C79DA3F729D46AF48 = {isa = PBXGroup; children = ( - B4BFC5F162F99B035930F03A, + 57DF618F1DE781556B7AFC32, 7DA35787B5F6F7440D667CC8, ); name = Resources; sourceTree = ""; }; D1C4804CD275CB57A5C89A2D = {isa = PBXGroup; children = ( 86CA337014D3F67E906FFD28, @@ -2155,7 +2128,7 @@ 89309C0C5F3269BD06BE7F27, B457EE687507BF1DEEA7581F, ); name = Frameworks; sourceTree = ""; }; D85C0D11EE4F6C73B9EB5BCD = {isa = PBXGroup; children = ( - B2A7B6A8E3CCA7E2038E8EFF, ); name = Products; sourceTree = ""; }; + 8D8BBC353637DA442C5575DA, ); name = Products; sourceTree = ""; }; 65BEFC705A89E5C8A9E35C97 = {isa = PBXGroup; children = ( 97790EAEA01CFA5C3CA9737A, 9D8FE1F65CAD416AA606C47A, @@ -2163,7 +2136,7 @@ A97EE73C79DA3F729D46AF48, D1C4804CD275CB57A5C89A2D, D85C0D11EE4F6C73B9EB5BCD, ); name = Source; sourceTree = ""; }; - 92E529F622AC4282800634D3 = {isa = XCBuildConfiguration; buildSettings = { + C8B793AC1BEFBE7A99BE8352 = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; @@ -2179,12 +2152,12 @@ "JUCE_APP_VERSION_HEX=0x10000", ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.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 = { + 49453CC5AD9F08D2738464AC = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; @@ -2201,7 +2174,7 @@ GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.plist; INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET = 10.5; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; @@ -2239,35 +2212,36 @@ PRODUCT_NAME = "Plugin Host"; WARNING_CFLAGS = -Wreorder; ZERO_LINK = NO; }; name = Release; }; + B9D79D85AC7DE5BED1B6547C = {isa = PBXTargetDependency; target = DE12B7643D374BFF7E4FEB1C; }; 493C2C5E457692E5149C5525 = {isa = XCConfigurationList; buildConfigurations = ( 8D1CA827F1EFD443BDCF198A, C9295196717FABE454A210B7, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - AF36B30138BF2E27961D41E3 = {isa = XCConfigurationList; buildConfigurations = ( - 92E529F622AC4282800634D3, - 20F59BC9E9ACBDF56007CE03, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 2309EA55A722EF4ED2D62447 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + E4ECAE24A646A7D1585F776C = {isa = XCConfigurationList; buildConfigurations = ( + C8B793AC1BEFBE7A99BE8352, + 49453CC5AD9F08D2738464AC, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 2429BB4D705CC57F49418CFB = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( D92C7BF86C9CCF6B4D14F809, ); runOnlyForDeploymentPostprocessing = 0; }; - 8915908C84EBB721DD5BF3C1 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + E8E94B3C187DA578BFCBDA98 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 4C88899EB7993A76A97643FE, 040EB574807E8A86F124D851, A1B0416DA378BB0C3AD6F74B, D493393499E0822C70009A63, 6CD3B433544911DA879170AE, - AF010217B51D257C37B8ACD8, - 74EBA2C14DF2E519C69CC438, - F691B29DF97CDAB137B18A3F, - 2F012EDEF4051DD62B3C6378, - 7C54B9BFC1EB86C7CB8724AE, - 722A2DA16710B9EF986D8491, - 4E49BFCBD4038D684C8634B5, - 90BC0CDE41E2D6450FA0C3CD, - 5C030B6563B80911E34744E5, - C8F1EDF80FF9D91634308742, - 0B78644A55BD3BC78EAD45B0, - E069FD6F2147362C19E69B65, - B629E58C8305A5D508B099C9, - BA88E9EDEE91397E89FC2A58, ); runOnlyForDeploymentPostprocessing = 0; }; - C1A9B94FBBEB8C8B72689262 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 93DB7A11F69BE06391046FA1, + EBFC008D1B7B2C2174EFA345, + ED96582F2D0CC44E07DBF805, + 350839B13EA3C1469CF58AB6, + 3C34CFB8A8F70FD57439B7F5, + 68730505E41133EA1B800BA0, + E21D49E1F5EBE890734A3CE3, + DDED9B2244274E1B84E4F1F3, + 39D9D58EE886DF8E91E8CE0E, + D7632EF73A06322A1193E3E5, + 307B130EF02D8B379FD177EF, + 134B779B166EEFDBE5371751, + 2FCB114D70E13FB9CF2F05FC, + DB922458A7E1C96208E60690, ); runOnlyForDeploymentPostprocessing = 0; }; + C515A1FE1A53D3968C22FAEF = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( 73E371F1B912FCCAE0CD7E5D, 21D330A5B13178B12BEAFC3C, B288A89F96704F142ED8E939, @@ -2282,11 +2256,11 @@ 7CB57442DFED188337D6B38B, A02C9F4C4B840C27B6CAFEBD, 4DB15177DDC357F4503F88CF, ); runOnlyForDeploymentPostprocessing = 0; }; - B5F8DFF64A83B053583709F0 = {isa = PBXNativeTarget; buildConfigurationList = AF36B30138BF2E27961D41E3; buildPhases = ( - 2309EA55A722EF4ED2D62447, - 8915908C84EBB721DD5BF3C1, - C1A9B94FBBEB8C8B72689262, ); buildRules = ( ); dependencies = ( ); name = "Plugin Host"; productName = "Plugin Host"; productReference = B2A7B6A8E3CCA7E2038E8EFF; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; - ADE6E539DB98A302483A82D0 = {isa = PBXProject; buildConfigurationList = 493C2C5E457692E5149C5525; attributes = { LastUpgradeCheck = 0440; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 65BEFC705A89E5C8A9E35C97; projectDirPath = ""; projectRoot = ""; targets = ( B5F8DFF64A83B053583709F0 ); }; + DE12B7643D374BFF7E4FEB1C = {isa = PBXNativeTarget; buildConfigurationList = E4ECAE24A646A7D1585F776C; buildPhases = ( + 2429BB4D705CC57F49418CFB, + E8E94B3C187DA578BFCBDA98, + C515A1FE1A53D3968C22FAEF, ); buildRules = ( ); dependencies = ( ); name = "Plugin Host (App)"; productName = "Plugin Host"; productReference = 8D8BBC353637DA442C5575DA; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; + ADE6E539DB98A302483A82D0 = {isa = PBXProject; buildConfigurationList = 493C2C5E457692E5149C5525; attributes = { LastUpgradeCheck = 0440; TargetAttributes = { DE12B7643D374BFF7E4FEB1C = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 65BEFC705A89E5C8A9E35C97; projectDirPath = ""; projectRoot = ""; targets = (DE12B7643D374BFF7E4FEB1C); }; }; rootObject = ADE6E539DB98A302483A82D0; } diff --git a/examples/audio plugin host/Builds/VisualStudio2010/Plugin Host.vcxproj b/examples/audio plugin host/Builds/VisualStudio2010/Plugin Host.vcxproj index 862f097e6f..2672ece231 100644 --- a/examples/audio plugin host/Builds/VisualStudio2010/Plugin Host.vcxproj +++ b/examples/audio plugin host/Builds/VisualStudio2010/Plugin Host.vcxproj @@ -215,6 +215,9 @@ true + + true + true @@ -230,15 +233,6 @@ true - - true - - - true - - - true - true @@ -287,25 +281,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -335,9 +314,45 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + true + + true + + + true + + + true + + + true + + + true + true @@ -356,21 +371,6 @@ true - - true - - - true - - - true - - - true - - - true - true @@ -404,9 +404,6 @@ true - - true - true @@ -416,43 +413,7 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -470,33 +431,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -521,40 +455,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -563,31 +467,16 @@ true - + true - + true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -653,6 +542,117 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -671,6 +671,15 @@ true + + true + + + true + + + true + true @@ -680,33 +689,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -725,6 +707,18 @@ true + + true + + + true + + + true + + + true + true @@ -734,6 +728,12 @@ true + + true + + + true + true @@ -755,43 +755,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -812,10 +779,40 @@ true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -842,6 +839,51 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -854,6 +896,153 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -875,19 +1064,70 @@ true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -956,246 +1196,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -1304,20 +1304,20 @@ true - - - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -1360,6 +1360,8 @@ + + @@ -1367,20 +1369,10 @@ + - - - - - - - - - - - @@ -1390,8 +1382,25 @@ + + + + + + + + + + + + + + + + + @@ -1402,15 +1411,6 @@ - - - - - - - - - @@ -1431,21 +1431,35 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1466,22 +1480,49 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1501,53 +1542,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - @@ -1556,14 +1556,22 @@ + + + + - - - - + + + + + + + + @@ -1573,19 +1581,11 @@ - - - - - - - - - - + + @@ -1596,10 +1596,15 @@ - - - - + + + + + + + + + @@ -1610,26 +1615,91 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1643,14 +1713,21 @@ - - - - - - - - + + + + + + + + + + + + + + + @@ -1675,83 +1752,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1777,6 +1777,17 @@ + + + + + + + + + + + @@ -1786,42 +1797,15 @@ - - - - - - - - - - - + - - - - - - - - - - - - - - - - - diff --git a/examples/audio plugin host/Builds/VisualStudio2010/Plugin Host.vcxproj.filters b/examples/audio plugin host/Builds/VisualStudio2010/Plugin Host.vcxproj.filters index c8676beeb0..afd4690002 100644 --- a/examples/audio plugin host/Builds/VisualStudio2010/Plugin Host.vcxproj.filters +++ b/examples/audio plugin host/Builds/VisualStudio2010/Plugin Host.vcxproj.filters @@ -32,45 +32,45 @@ {CACD7B50-4DB3-76AF-A6E8-90DF94F8F594} + + {45C2CE26-EC4B-BA52-58F3-297C408E1483} + {9D270B31-2425-8FDB-84A4-6A2288FF5B2F} {0F766DD4-A277-CB86-5647-42498C8B41E1} - - {D64942B4-6984-3623-3347-45D472AE1C61} - - - {45C2CE26-EC4B-BA52-58F3-297C408E1483} - {01603E05-423B-5FC3-1BEE-E15ED33B5688} + + {D64942B4-6984-3623-3347-45D472AE1C61} + {65CB28F8-0422-A8F3-9A17-959E12A1F8E2} - - {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} - {0CD9E281-DDD0-91EC-6F77-EA9D9D5E0E1A} + + {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} + {40C5CA7C-AEBB-05B1-11CE-AE41D87B5CCB} {0B0E7392-324B-088C-FBEB-5FE999D61782} - - {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} - {20254EFE-6CBD-31A7-2119-92B1E0E0E311} {70796D73-6D30-8A1B-4732-7C021E47C05A} + + {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} + {EB8DD942-E2CB-869F-D381-E02A65BA790B} @@ -83,17 +83,26 @@ {8167E753-09C7-5D1C-EF2B-32D297557443} - - {AEDCB7F7-7A36-5392-8E9A-715F5BDE35CB} - {B48C883A-8483-AF6D-808C-1D9A749048D8} + + {AEDCB7F7-7A36-5392-8E9A-715F5BDE35CB} + {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} - - {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + + {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + + {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + + {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} {476C69CE-0B67-6B85-E888-45D91E37A29E} @@ -101,17 +110,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} - - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -119,29 +122,26 @@ {91929C6F-7902-B87D-5260-2F6CBF8ACD93} - - {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} - {4634FFAE-9586-A970-364C-4FDDA635F99F} - - {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} - - {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - {F03654BC-34D8-F975-BEA3-750CC2783D23} + + {C9F6D785-BF78-5AA1-B479-111C65397864} {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} - - {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} - - {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + {F03654BC-34D8-F975-BEA3-750CC2783D23} {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} @@ -155,33 +155,33 @@ {928D8FCC-5E00-174B-6538-93E8D75AB396} - - {1988E68A-A964-64CA-0E0C-26FF9BC5176C} + + {358AEA11-3F96-36AE-7B32-71373B5C5396} {3DF036EA-3B80-553B-2494-3AAC835CAE75} - - {358AEA11-3F96-36AE-7B32-71373B5C5396} + + {1988E68A-A964-64CA-0E0C-26FF9BC5176C} {F2A38F45-6E55-E147-2E52-64A89FDD9D59} - - {6172822C-01A5-E824-12DA-FA43FA934D35} - - - {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} - {B098BC87-3298-7E6B-12DC-D26C09CDCAED} {6322B88F-984A-C3CD-6263-38D7AA49B6EC} + + {6172822C-01A5-E824-12DA-FA43FA934D35} + {73C1E759-AD90-59A3-942E-2D10FAA29107} + + {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} + {EE1AE8C3-0908-8F53-A4E5-D930C7C97C26} @@ -191,81 +191,81 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} - - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - - {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {E37D25CD-4350-4614-055B-7ABC55E67895} {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {C1A1A236-AB01-173E-96C3-0706BFF93B1E} + + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + + {413F481F-075C-2958-115C-D8268682FCB7} {FFC6E1CC-C772-75E6-5087-FB5D4E016799} + + {1182303F-ECA3-166D-AC0C-92C5E762CB93} + {8E43579F-C185-266D-DD67-F8B95BD80F2F} + + {61712B09-5783-ADFA-2001-5A0C3D7764EB} + + + {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + + {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} + {2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D} - - {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + {5A0AA36E-3957-E413-14C6-31CBE15271DF} + + + {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} {A92719C7-70BE-57C4-CE9E-A9BC9DFEB757} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} + + + {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} + + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} + + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + + {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} + + + {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} + {75F1F352-251A-75E0-D941-8431588F5C1E} {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} - - {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} - - - {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} - - - {5A0AA36E-3957-E413-14C6-31CBE15271DF} - - - {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} - - - {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} - - - {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} - - - {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} - - - {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - - {61712B09-5783-ADFA-2001-5A0C3D7764EB} - - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} - {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -287,30 +287,30 @@ {639E16C5-DA8B-ADBA-6E24-7B596378EAB2} - - {2D8D0E19-E676-83EB-38D9-F73500DD6B79} - {B3141847-8F13-F67D-45B2-E3ECF6E09088} - - {9E586194-C056-101C-5311-F2AF5191AC80} - {151B49D8-6102-F802-1C07-D59931BC0574} + + {2D8D0E19-E676-83EB-38D9-F73500DD6B79} + + + {9E586194-C056-101C-5311-F2AF5191AC80} + {72A923E2-C729-DB92-D7BF-A9D4AFAE5896} - - {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} - {7F11E7D2-54C0-2A36-5F15-BEC0A5374A08} {EE985DEA-CD83-8132-7219-542BB1DAD560} + + {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} + {8B4D1BAA-6DB4-CAEC-A0FA-271F354D5C61} @@ -418,6 +418,9 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -433,15 +436,6 @@ Juce Modules\juce_audio_devices\midi_io - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\audio_cd - Juce Modules\juce_audio_devices\native @@ -496,26 +490,11 @@ Juce Modules\juce_audio_devices\native - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_formats\codecs @@ -544,27 +523,30 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - Juce Modules\juce_audio_processors\format @@ -583,6 +565,24 @@ Juce Modules\juce_audio_processors\format_types + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + Juce Modules\juce_audio_processors\scanning @@ -616,9 +616,6 @@ Juce Modules\juce_audio_utils\gui - - Juce Modules\juce_audio_utils\players - Juce Modules\juce_audio_utils\native @@ -634,44 +631,8 @@ Juce Modules\juce_audio_utils\native - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\memory + + Juce Modules\juce_audio_utils\players Juce Modules\juce_core\containers @@ -688,33 +649,6 @@ Juce Modules\juce_core\containers - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - Juce Modules\juce_core\files @@ -739,41 +673,11 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -781,32 +685,17 @@ Juce Modules\juce_core\logging - - Juce Modules\juce_core\system + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc @@ -886,6 +775,117 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + Juce Modules\juce_cryptography\encryption @@ -904,6 +904,15 @@ Juce Modules\juce_cryptography\hashing + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -913,33 +922,6 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - Juce Modules\juce_events\broadcasters @@ -958,6 +940,18 @@ Juce Modules\juce_events\interprocess + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + Juce Modules\juce_events\native @@ -973,6 +967,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_graphics\colour @@ -994,44 +994,11 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\effects Juce Modules\juce_graphics\fonts @@ -1051,11 +1018,41 @@ Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -1087,6 +1084,51 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -1099,6 +1141,153 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -1120,20 +1309,92 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -1201,267 +1462,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_extra\code_editor @@ -1588,46 +1588,46 @@ Juce Modules\juce_video\native - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code @@ -1752,6 +1752,12 @@ Juce Modules\juce_audio_basics + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -1773,48 +1779,18 @@ Juce Modules\juce_audio_devices\midi_io + + Juce Modules\juce_audio_devices\native + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\native - Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - Juce Modules\juce_audio_formats\codecs @@ -1842,12 +1818,63 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + Juce Modules\juce_audio_processors\processors @@ -1878,33 +1905,6 @@ Juce Modules\juce_audio_processors\processors - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - Juce Modules\juce_audio_processors\scanning @@ -1965,50 +1965,92 @@ Juce Modules\juce_audio_utils - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -2070,53 +2112,134 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text Juce Modules\juce_core\threads @@ -2175,92 +2298,8 @@ Juce Modules\juce_core\time - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -2268,12 +2307,6 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - Juce Modules\juce_core\zip @@ -2283,39 +2316,6 @@ Juce Modules\juce_core\zip - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - Juce Modules\juce_core @@ -2340,6 +2340,18 @@ Juce Modules\juce_cryptography + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -2349,21 +2361,33 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - Juce Modules\juce_data_structures + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + Juce Modules\juce_events\messages @@ -2391,36 +2415,6 @@ Juce Modules\juce_events\messages - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - Juce Modules\juce_events\native @@ -2430,6 +2424,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_events @@ -2460,17 +2460,32 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -2502,38 +2517,17 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -2544,9 +2538,60 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + Juce Modules\juce_graphics + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -2562,6 +2607,171 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -2601,29 +2811,50 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -2697,237 +2928,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_basics @@ -3003,6 +3003,39 @@ Juce Modules\juce_gui_extra + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + Juce Modules\juce_opengl\opengl @@ -3030,54 +3063,21 @@ Juce Modules\juce_opengl\opengl - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - Juce Modules\juce_opengl\utils - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - Juce Modules\juce_opengl + + Juce Modules\juce_video\capture + Juce Modules\juce_video\playback Juce Modules\juce_video\playback - - Juce Modules\juce_video\capture - Juce Modules\juce_video @@ -3088,50 +3088,6 @@ Juce Library Code - - - Juce Modules\juce_audio_basics - - - Juce Modules\juce_audio_devices - - - Juce Modules\juce_audio_formats - - - Juce Modules\juce_audio_processors - - - Juce Modules\juce_audio_utils - - - Juce Modules\juce_core - - - Juce Modules\juce_cryptography - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_gui_extra - - - Juce Modules\juce_opengl - - - Juce Modules\juce_video - - Juce Library Code diff --git a/examples/audio plugin host/Builds/VisualStudio2013/Plugin Host.vcxproj b/examples/audio plugin host/Builds/VisualStudio2013/Plugin Host.vcxproj index b082c17572..bb81f0f962 100644 --- a/examples/audio plugin host/Builds/VisualStudio2013/Plugin Host.vcxproj +++ b/examples/audio plugin host/Builds/VisualStudio2013/Plugin Host.vcxproj @@ -221,6 +221,9 @@ true + + true + true @@ -236,15 +239,6 @@ true - - true - - - true - - - true - true @@ -293,25 +287,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -341,9 +320,45 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + true + + true + + + true + + + true + + + true + + + true + true @@ -362,21 +377,6 @@ true - - true - - - true - - - true - - - true - - - true - true @@ -410,9 +410,6 @@ true - - true - true @@ -422,43 +419,7 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -476,33 +437,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -527,40 +461,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -569,31 +473,16 @@ true - + true - + true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -659,6 +548,117 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -677,6 +677,15 @@ true + + true + + + true + + + true + true @@ -686,33 +695,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -731,6 +713,18 @@ true + + true + + + true + + + true + + + true + true @@ -740,6 +734,12 @@ true + + true + + + true + true @@ -761,43 +761,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -818,10 +785,40 @@ true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -848,6 +845,51 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -860,6 +902,153 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -881,19 +1070,70 @@ true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -962,246 +1202,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -1310,20 +1310,20 @@ true - - - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -1366,6 +1366,8 @@ + + @@ -1373,20 +1375,10 @@ + - - - - - - - - - - - @@ -1396,8 +1388,25 @@ + + + + + + + + + + + + + + + + + @@ -1408,15 +1417,6 @@ - - - - - - - - - @@ -1437,21 +1437,35 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1472,22 +1486,49 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1507,53 +1548,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - @@ -1562,14 +1562,22 @@ + + + + - - - - + + + + + + + + @@ -1579,19 +1587,11 @@ - - - - - - - - - - + + @@ -1602,10 +1602,15 @@ - - - - + + + + + + + + + @@ -1616,26 +1621,91 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1649,14 +1719,21 @@ - - - - - - - - + + + + + + + + + + + + + + + @@ -1681,83 +1758,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1783,6 +1783,17 @@ + + + + + + + + + + + @@ -1792,42 +1803,15 @@ - - - - - - - - - - - + - - - - - - - - - - - - - - - - - diff --git a/examples/audio plugin host/Builds/VisualStudio2013/Plugin Host.vcxproj.filters b/examples/audio plugin host/Builds/VisualStudio2013/Plugin Host.vcxproj.filters index 17bcb0d63c..8649be091b 100644 --- a/examples/audio plugin host/Builds/VisualStudio2013/Plugin Host.vcxproj.filters +++ b/examples/audio plugin host/Builds/VisualStudio2013/Plugin Host.vcxproj.filters @@ -32,45 +32,45 @@ {CACD7B50-4DB3-76AF-A6E8-90DF94F8F594} + + {45C2CE26-EC4B-BA52-58F3-297C408E1483} + {9D270B31-2425-8FDB-84A4-6A2288FF5B2F} {0F766DD4-A277-CB86-5647-42498C8B41E1} - - {D64942B4-6984-3623-3347-45D472AE1C61} - - - {45C2CE26-EC4B-BA52-58F3-297C408E1483} - {01603E05-423B-5FC3-1BEE-E15ED33B5688} + + {D64942B4-6984-3623-3347-45D472AE1C61} + {65CB28F8-0422-A8F3-9A17-959E12A1F8E2} - - {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} - {0CD9E281-DDD0-91EC-6F77-EA9D9D5E0E1A} + + {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} + {40C5CA7C-AEBB-05B1-11CE-AE41D87B5CCB} {0B0E7392-324B-088C-FBEB-5FE999D61782} - - {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} - {20254EFE-6CBD-31A7-2119-92B1E0E0E311} {70796D73-6D30-8A1B-4732-7C021E47C05A} + + {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} + {EB8DD942-E2CB-869F-D381-E02A65BA790B} @@ -83,17 +83,26 @@ {8167E753-09C7-5D1C-EF2B-32D297557443} - - {AEDCB7F7-7A36-5392-8E9A-715F5BDE35CB} - {B48C883A-8483-AF6D-808C-1D9A749048D8} + + {AEDCB7F7-7A36-5392-8E9A-715F5BDE35CB} + {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} - - {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + + {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + + {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + + {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} {476C69CE-0B67-6B85-E888-45D91E37A29E} @@ -101,17 +110,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} - - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -119,29 +122,26 @@ {91929C6F-7902-B87D-5260-2F6CBF8ACD93} - - {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} - {4634FFAE-9586-A970-364C-4FDDA635F99F} - - {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} - - {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - {F03654BC-34D8-F975-BEA3-750CC2783D23} + + {C9F6D785-BF78-5AA1-B479-111C65397864} {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} - - {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} - - {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + {F03654BC-34D8-F975-BEA3-750CC2783D23} {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} @@ -155,33 +155,33 @@ {928D8FCC-5E00-174B-6538-93E8D75AB396} - - {1988E68A-A964-64CA-0E0C-26FF9BC5176C} + + {358AEA11-3F96-36AE-7B32-71373B5C5396} {3DF036EA-3B80-553B-2494-3AAC835CAE75} - - {358AEA11-3F96-36AE-7B32-71373B5C5396} + + {1988E68A-A964-64CA-0E0C-26FF9BC5176C} {F2A38F45-6E55-E147-2E52-64A89FDD9D59} - - {6172822C-01A5-E824-12DA-FA43FA934D35} - - - {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} - {B098BC87-3298-7E6B-12DC-D26C09CDCAED} {6322B88F-984A-C3CD-6263-38D7AA49B6EC} + + {6172822C-01A5-E824-12DA-FA43FA934D35} + {73C1E759-AD90-59A3-942E-2D10FAA29107} + + {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} + {EE1AE8C3-0908-8F53-A4E5-D930C7C97C26} @@ -191,81 +191,81 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} - - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - - {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {E37D25CD-4350-4614-055B-7ABC55E67895} {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {C1A1A236-AB01-173E-96C3-0706BFF93B1E} + + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + + {413F481F-075C-2958-115C-D8268682FCB7} {FFC6E1CC-C772-75E6-5087-FB5D4E016799} + + {1182303F-ECA3-166D-AC0C-92C5E762CB93} + {8E43579F-C185-266D-DD67-F8B95BD80F2F} + + {61712B09-5783-ADFA-2001-5A0C3D7764EB} + + + {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + + {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} + {2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D} - - {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + {5A0AA36E-3957-E413-14C6-31CBE15271DF} + + + {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} {A92719C7-70BE-57C4-CE9E-A9BC9DFEB757} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} + + + {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} + + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} + + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + + {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} + + + {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} + {75F1F352-251A-75E0-D941-8431588F5C1E} {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} - - {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} - - - {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} - - - {5A0AA36E-3957-E413-14C6-31CBE15271DF} - - - {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} - - - {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} - - - {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} - - - {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} - - - {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - - {61712B09-5783-ADFA-2001-5A0C3D7764EB} - - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} - {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -287,30 +287,30 @@ {639E16C5-DA8B-ADBA-6E24-7B596378EAB2} - - {2D8D0E19-E676-83EB-38D9-F73500DD6B79} - {B3141847-8F13-F67D-45B2-E3ECF6E09088} - - {9E586194-C056-101C-5311-F2AF5191AC80} - {151B49D8-6102-F802-1C07-D59931BC0574} + + {2D8D0E19-E676-83EB-38D9-F73500DD6B79} + + + {9E586194-C056-101C-5311-F2AF5191AC80} + {72A923E2-C729-DB92-D7BF-A9D4AFAE5896} - - {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} - {7F11E7D2-54C0-2A36-5F15-BEC0A5374A08} {EE985DEA-CD83-8132-7219-542BB1DAD560} + + {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} + {8B4D1BAA-6DB4-CAEC-A0FA-271F354D5C61} @@ -418,6 +418,9 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -433,15 +436,6 @@ Juce Modules\juce_audio_devices\midi_io - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\audio_cd - Juce Modules\juce_audio_devices\native @@ -496,26 +490,11 @@ Juce Modules\juce_audio_devices\native - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_formats\codecs @@ -544,27 +523,30 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - Juce Modules\juce_audio_processors\format @@ -583,6 +565,24 @@ Juce Modules\juce_audio_processors\format_types + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + Juce Modules\juce_audio_processors\scanning @@ -616,9 +616,6 @@ Juce Modules\juce_audio_utils\gui - - Juce Modules\juce_audio_utils\players - Juce Modules\juce_audio_utils\native @@ -634,44 +631,8 @@ Juce Modules\juce_audio_utils\native - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\memory + + Juce Modules\juce_audio_utils\players Juce Modules\juce_core\containers @@ -688,33 +649,6 @@ Juce Modules\juce_core\containers - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - Juce Modules\juce_core\files @@ -739,41 +673,11 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -781,32 +685,17 @@ Juce Modules\juce_core\logging - - Juce Modules\juce_core\system + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc @@ -886,6 +775,117 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + Juce Modules\juce_cryptography\encryption @@ -904,6 +904,15 @@ Juce Modules\juce_cryptography\hashing + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -913,33 +922,6 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - Juce Modules\juce_events\broadcasters @@ -958,6 +940,18 @@ Juce Modules\juce_events\interprocess + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + Juce Modules\juce_events\native @@ -973,6 +967,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_graphics\colour @@ -994,44 +994,11 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\effects Juce Modules\juce_graphics\fonts @@ -1051,11 +1018,41 @@ Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -1087,6 +1084,51 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -1099,6 +1141,153 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -1120,20 +1309,92 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -1201,267 +1462,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_extra\code_editor @@ -1588,46 +1588,46 @@ Juce Modules\juce_video\native - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code @@ -1752,6 +1752,12 @@ Juce Modules\juce_audio_basics + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -1773,48 +1779,18 @@ Juce Modules\juce_audio_devices\midi_io + + Juce Modules\juce_audio_devices\native + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\native - Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - Juce Modules\juce_audio_formats\codecs @@ -1842,12 +1818,63 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + Juce Modules\juce_audio_processors\processors @@ -1878,33 +1905,6 @@ Juce Modules\juce_audio_processors\processors - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - Juce Modules\juce_audio_processors\scanning @@ -1965,50 +1965,92 @@ Juce Modules\juce_audio_utils - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -2070,53 +2112,134 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text Juce Modules\juce_core\threads @@ -2175,92 +2298,8 @@ Juce Modules\juce_core\time - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -2268,12 +2307,6 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - Juce Modules\juce_core\zip @@ -2283,39 +2316,6 @@ Juce Modules\juce_core\zip - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - Juce Modules\juce_core @@ -2340,6 +2340,18 @@ Juce Modules\juce_cryptography + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -2349,21 +2361,33 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - Juce Modules\juce_data_structures + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + Juce Modules\juce_events\messages @@ -2391,36 +2415,6 @@ Juce Modules\juce_events\messages - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - Juce Modules\juce_events\native @@ -2430,6 +2424,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_events @@ -2460,17 +2460,32 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -2502,38 +2517,17 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -2544,9 +2538,60 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + Juce Modules\juce_graphics + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -2562,6 +2607,171 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -2601,29 +2811,50 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -2697,237 +2928,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_basics @@ -3003,6 +3003,39 @@ Juce Modules\juce_gui_extra + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + Juce Modules\juce_opengl\opengl @@ -3030,54 +3063,21 @@ Juce Modules\juce_opengl\opengl - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - Juce Modules\juce_opengl\utils - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - Juce Modules\juce_opengl + + Juce Modules\juce_video\capture + Juce Modules\juce_video\playback Juce Modules\juce_video\playback - - Juce Modules\juce_video\capture - Juce Modules\juce_video @@ -3088,50 +3088,6 @@ Juce Library Code - - - Juce Modules\juce_audio_basics - - - Juce Modules\juce_audio_devices - - - Juce Modules\juce_audio_formats - - - Juce Modules\juce_audio_processors - - - Juce Modules\juce_audio_utils - - - Juce Modules\juce_core - - - Juce Modules\juce_cryptography - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_gui_extra - - - Juce Modules\juce_opengl - - - Juce Modules\juce_video - - Juce Library Code diff --git a/examples/audio plugin host/Builds/VisualStudio2015/Plugin Host.vcxproj b/examples/audio plugin host/Builds/VisualStudio2015/Plugin Host.vcxproj index bbf009e537..4a08c11599 100644 --- a/examples/audio plugin host/Builds/VisualStudio2015/Plugin Host.vcxproj +++ b/examples/audio plugin host/Builds/VisualStudio2015/Plugin Host.vcxproj @@ -221,6 +221,9 @@ true + + true + true @@ -236,15 +239,6 @@ true - - true - - - true - - - true - true @@ -293,25 +287,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -341,9 +320,45 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + true + + true + + + true + + + true + + + true + + + true + true @@ -362,21 +377,6 @@ true - - true - - - true - - - true - - - true - - - true - true @@ -410,9 +410,6 @@ true - - true - true @@ -422,43 +419,7 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -476,33 +437,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -527,40 +461,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -569,31 +473,16 @@ true - + true - + true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -659,6 +548,117 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -677,6 +677,15 @@ true + + true + + + true + + + true + true @@ -686,33 +695,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -731,6 +713,18 @@ true + + true + + + true + + + true + + + true + true @@ -740,6 +734,12 @@ true + + true + + + true + true @@ -761,43 +761,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -818,10 +785,40 @@ true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -848,6 +845,51 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -860,6 +902,153 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -881,19 +1070,70 @@ true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -962,246 +1202,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -1310,20 +1310,20 @@ true - - - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -1366,6 +1366,8 @@ + + @@ -1373,20 +1375,10 @@ + - - - - - - - - - - - @@ -1396,8 +1388,25 @@ + + + + + + + + + + + + + + + + + @@ -1408,15 +1417,6 @@ - - - - - - - - - @@ -1437,21 +1437,35 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1472,22 +1486,49 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1507,53 +1548,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - @@ -1562,14 +1562,22 @@ + + + + - - - - + + + + + + + + @@ -1579,19 +1587,11 @@ - - - - - - - - - - + + @@ -1602,10 +1602,15 @@ - - - - + + + + + + + + + @@ -1616,26 +1621,91 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1649,14 +1719,21 @@ - - - - - - - - + + + + + + + + + + + + + + + @@ -1681,83 +1758,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1783,6 +1783,17 @@ + + + + + + + + + + + @@ -1792,42 +1803,15 @@ - - - - - - - - - - - + - - - - - - - - - - - - - - - - - diff --git a/examples/audio plugin host/Builds/VisualStudio2015/Plugin Host.vcxproj.filters b/examples/audio plugin host/Builds/VisualStudio2015/Plugin Host.vcxproj.filters index 4038b5b21c..0956bf9db7 100644 --- a/examples/audio plugin host/Builds/VisualStudio2015/Plugin Host.vcxproj.filters +++ b/examples/audio plugin host/Builds/VisualStudio2015/Plugin Host.vcxproj.filters @@ -32,45 +32,45 @@ {CACD7B50-4DB3-76AF-A6E8-90DF94F8F594} + + {45C2CE26-EC4B-BA52-58F3-297C408E1483} + {9D270B31-2425-8FDB-84A4-6A2288FF5B2F} {0F766DD4-A277-CB86-5647-42498C8B41E1} - - {D64942B4-6984-3623-3347-45D472AE1C61} - - - {45C2CE26-EC4B-BA52-58F3-297C408E1483} - {01603E05-423B-5FC3-1BEE-E15ED33B5688} + + {D64942B4-6984-3623-3347-45D472AE1C61} + {65CB28F8-0422-A8F3-9A17-959E12A1F8E2} - - {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} - {0CD9E281-DDD0-91EC-6F77-EA9D9D5E0E1A} + + {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} + {40C5CA7C-AEBB-05B1-11CE-AE41D87B5CCB} {0B0E7392-324B-088C-FBEB-5FE999D61782} - - {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} - {20254EFE-6CBD-31A7-2119-92B1E0E0E311} {70796D73-6D30-8A1B-4732-7C021E47C05A} + + {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} + {EB8DD942-E2CB-869F-D381-E02A65BA790B} @@ -83,17 +83,26 @@ {8167E753-09C7-5D1C-EF2B-32D297557443} - - {AEDCB7F7-7A36-5392-8E9A-715F5BDE35CB} - {B48C883A-8483-AF6D-808C-1D9A749048D8} + + {AEDCB7F7-7A36-5392-8E9A-715F5BDE35CB} + {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} - - {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + + {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + + {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + + {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} {476C69CE-0B67-6B85-E888-45D91E37A29E} @@ -101,17 +110,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} - - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -119,29 +122,26 @@ {91929C6F-7902-B87D-5260-2F6CBF8ACD93} - - {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} - {4634FFAE-9586-A970-364C-4FDDA635F99F} - - {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} - - {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - {F03654BC-34D8-F975-BEA3-750CC2783D23} + + {C9F6D785-BF78-5AA1-B479-111C65397864} {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} - - {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} - - {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + {F03654BC-34D8-F975-BEA3-750CC2783D23} {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} @@ -155,33 +155,33 @@ {928D8FCC-5E00-174B-6538-93E8D75AB396} - - {1988E68A-A964-64CA-0E0C-26FF9BC5176C} + + {358AEA11-3F96-36AE-7B32-71373B5C5396} {3DF036EA-3B80-553B-2494-3AAC835CAE75} - - {358AEA11-3F96-36AE-7B32-71373B5C5396} + + {1988E68A-A964-64CA-0E0C-26FF9BC5176C} {F2A38F45-6E55-E147-2E52-64A89FDD9D59} - - {6172822C-01A5-E824-12DA-FA43FA934D35} - - - {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} - {B098BC87-3298-7E6B-12DC-D26C09CDCAED} {6322B88F-984A-C3CD-6263-38D7AA49B6EC} + + {6172822C-01A5-E824-12DA-FA43FA934D35} + {73C1E759-AD90-59A3-942E-2D10FAA29107} + + {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} + {EE1AE8C3-0908-8F53-A4E5-D930C7C97C26} @@ -191,81 +191,81 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} - - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - - {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {E37D25CD-4350-4614-055B-7ABC55E67895} {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {C1A1A236-AB01-173E-96C3-0706BFF93B1E} + + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + + {413F481F-075C-2958-115C-D8268682FCB7} {FFC6E1CC-C772-75E6-5087-FB5D4E016799} + + {1182303F-ECA3-166D-AC0C-92C5E762CB93} + {8E43579F-C185-266D-DD67-F8B95BD80F2F} + + {61712B09-5783-ADFA-2001-5A0C3D7764EB} + + + {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + + {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} + {2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D} - - {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + {5A0AA36E-3957-E413-14C6-31CBE15271DF} + + + {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} {A92719C7-70BE-57C4-CE9E-A9BC9DFEB757} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} + + + {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} + + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} + + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + + {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} + + + {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} + {75F1F352-251A-75E0-D941-8431588F5C1E} {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} - - {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} - - - {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} - - - {5A0AA36E-3957-E413-14C6-31CBE15271DF} - - - {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} - - - {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} - - - {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} - - - {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} - - - {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - - {61712B09-5783-ADFA-2001-5A0C3D7764EB} - - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} - {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -287,30 +287,30 @@ {639E16C5-DA8B-ADBA-6E24-7B596378EAB2} - - {2D8D0E19-E676-83EB-38D9-F73500DD6B79} - {B3141847-8F13-F67D-45B2-E3ECF6E09088} - - {9E586194-C056-101C-5311-F2AF5191AC80} - {151B49D8-6102-F802-1C07-D59931BC0574} + + {2D8D0E19-E676-83EB-38D9-F73500DD6B79} + + + {9E586194-C056-101C-5311-F2AF5191AC80} + {72A923E2-C729-DB92-D7BF-A9D4AFAE5896} - - {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} - {7F11E7D2-54C0-2A36-5F15-BEC0A5374A08} {EE985DEA-CD83-8132-7219-542BB1DAD560} + + {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} + {8B4D1BAA-6DB4-CAEC-A0FA-271F354D5C61} @@ -418,6 +418,9 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -433,15 +436,6 @@ Juce Modules\juce_audio_devices\midi_io - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\audio_cd - Juce Modules\juce_audio_devices\native @@ -496,26 +490,11 @@ Juce Modules\juce_audio_devices\native - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_formats\codecs @@ -544,27 +523,30 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - Juce Modules\juce_audio_processors\format @@ -583,6 +565,24 @@ Juce Modules\juce_audio_processors\format_types + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + Juce Modules\juce_audio_processors\scanning @@ -616,9 +616,6 @@ Juce Modules\juce_audio_utils\gui - - Juce Modules\juce_audio_utils\players - Juce Modules\juce_audio_utils\native @@ -634,44 +631,8 @@ Juce Modules\juce_audio_utils\native - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\memory + + Juce Modules\juce_audio_utils\players Juce Modules\juce_core\containers @@ -688,33 +649,6 @@ Juce Modules\juce_core\containers - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - Juce Modules\juce_core\files @@ -739,41 +673,11 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -781,32 +685,17 @@ Juce Modules\juce_core\logging - - Juce Modules\juce_core\system + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc @@ -886,6 +775,117 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + Juce Modules\juce_cryptography\encryption @@ -904,6 +904,15 @@ Juce Modules\juce_cryptography\hashing + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -913,33 +922,6 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - Juce Modules\juce_events\broadcasters @@ -958,6 +940,18 @@ Juce Modules\juce_events\interprocess + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + Juce Modules\juce_events\native @@ -973,6 +967,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_graphics\colour @@ -994,44 +994,11 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\effects Juce Modules\juce_graphics\fonts @@ -1051,11 +1018,41 @@ Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -1087,6 +1084,51 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -1099,6 +1141,153 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -1120,20 +1309,92 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -1201,267 +1462,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_extra\code_editor @@ -1588,46 +1588,46 @@ Juce Modules\juce_video\native - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code @@ -1752,6 +1752,12 @@ Juce Modules\juce_audio_basics + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -1773,48 +1779,18 @@ Juce Modules\juce_audio_devices\midi_io + + Juce Modules\juce_audio_devices\native + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\native - Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - Juce Modules\juce_audio_formats\codecs @@ -1842,12 +1818,63 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + Juce Modules\juce_audio_processors\processors @@ -1878,33 +1905,6 @@ Juce Modules\juce_audio_processors\processors - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - Juce Modules\juce_audio_processors\scanning @@ -1965,50 +1965,92 @@ Juce Modules\juce_audio_utils - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -2070,53 +2112,134 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text Juce Modules\juce_core\threads @@ -2175,92 +2298,8 @@ Juce Modules\juce_core\time - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -2268,12 +2307,6 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - Juce Modules\juce_core\zip @@ -2283,39 +2316,6 @@ Juce Modules\juce_core\zip - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - Juce Modules\juce_core @@ -2340,6 +2340,18 @@ Juce Modules\juce_cryptography + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -2349,21 +2361,33 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - Juce Modules\juce_data_structures + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + Juce Modules\juce_events\messages @@ -2391,36 +2415,6 @@ Juce Modules\juce_events\messages - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - Juce Modules\juce_events\native @@ -2430,6 +2424,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_events @@ -2460,17 +2460,32 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -2502,38 +2517,17 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -2544,9 +2538,60 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + Juce Modules\juce_graphics + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -2562,6 +2607,171 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -2601,29 +2811,50 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -2697,237 +2928,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_basics @@ -3003,6 +3003,39 @@ Juce Modules\juce_gui_extra + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + Juce Modules\juce_opengl\opengl @@ -3030,54 +3063,21 @@ Juce Modules\juce_opengl\opengl - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - Juce Modules\juce_opengl\utils - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - Juce Modules\juce_opengl + + Juce Modules\juce_video\capture + Juce Modules\juce_video\playback Juce Modules\juce_video\playback - - Juce Modules\juce_video\capture - Juce Modules\juce_video @@ -3088,50 +3088,6 @@ Juce Library Code - - - Juce Modules\juce_audio_basics - - - Juce Modules\juce_audio_devices - - - Juce Modules\juce_audio_formats - - - Juce Modules\juce_audio_processors - - - Juce Modules\juce_audio_utils - - - Juce Modules\juce_core - - - Juce Modules\juce_cryptography - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_gui_extra - - - Juce Modules\juce_opengl - - - Juce Modules\juce_video - - Juce Library Code diff --git a/examples/audio plugin host/JuceLibraryCode/AppConfig.h b/examples/audio plugin host/JuceLibraryCode/AppConfig.h index ae7d1c5ab2..4800c39b52 100644 --- a/examples/audio plugin host/JuceLibraryCode/AppConfig.h +++ b/examples/audio plugin host/JuceLibraryCode/AppConfig.h @@ -4,8 +4,8 @@ project - if you alter its contents, your changes may be overwritten! There's a section below where you can add your own custom code safely, and the - Introjucer will preserve the contents of that block, but the best way to change - any of these definitions is by using the Introjucer's project settings. + Projucer will preserve the contents of that block, but the best way to change + any of these definitions is by using the Projucer's project settings. Any commented-out settings will assume their default values. @@ -17,7 +17,7 @@ //============================================================================== // [BEGIN_USER_CODE_SECTION] -// (You can add your own code in this section, and the Introjucer will not overwrite it) +// (You can add your own code in this section, and the Projucer will not overwrite it) // [END_USER_CODE_SECTION] @@ -39,9 +39,15 @@ //============================================================================== #ifndef JUCE_STANDALONE_APPLICATION - #define JUCE_STANDALONE_APPLICATION 1 + #ifdef JucePlugin_Build_Standalone + #define JUCE_STANDALONE_APPLICATION JucePlugin_Build_Standalone + #else + #define JUCE_STANDALONE_APPLICATION 1 + #endif #endif +#define JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED 1 + //============================================================================== // juce_audio_devices flags: diff --git a/examples/audio plugin host/JuceLibraryCode/JuceHeader.h b/examples/audio plugin host/JuceLibraryCode/JuceHeader.h index d621d187fa..d2ab4caeae 100644 --- a/examples/audio plugin host/JuceLibraryCode/JuceHeader.h +++ b/examples/audio plugin host/JuceLibraryCode/JuceHeader.h @@ -14,20 +14,22 @@ #define __APPHEADERFILE_NTE0XB0IJ__ #include "AppConfig.h" -#include "modules/juce_audio_basics/juce_audio_basics.h" -#include "modules/juce_audio_devices/juce_audio_devices.h" -#include "modules/juce_audio_formats/juce_audio_formats.h" -#include "modules/juce_audio_processors/juce_audio_processors.h" -#include "modules/juce_audio_utils/juce_audio_utils.h" -#include "modules/juce_core/juce_core.h" -#include "modules/juce_cryptography/juce_cryptography.h" -#include "modules/juce_data_structures/juce_data_structures.h" -#include "modules/juce_events/juce_events.h" -#include "modules/juce_graphics/juce_graphics.h" -#include "modules/juce_gui_basics/juce_gui_basics.h" -#include "modules/juce_gui_extra/juce_gui_extra.h" -#include "modules/juce_opengl/juce_opengl.h" -#include "modules/juce_video/juce_video.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + #if ! DONT_SET_USING_JUCE_NAMESPACE // If your code uses a lot of JUCE classes, then this will obviously save you diff --git a/examples/audio plugin host/JuceLibraryCode/ReadMe.txt b/examples/audio plugin host/JuceLibraryCode/ReadMe.txt index f6c3564e99..091a5aa6eb 100644 --- a/examples/audio plugin host/JuceLibraryCode/ReadMe.txt +++ b/examples/audio plugin host/JuceLibraryCode/ReadMe.txt @@ -2,11 +2,11 @@ Important Note!! ================ -The purpose of this folder is to contain files that are auto-generated by the Introjucer, +The purpose of this folder is to contain files that are auto-generated by the Projucer, and ALL files in this folder will be mercilessly DELETED and completely re-written whenever -the Introjucer saves your project. +the Projucer saves your project. Therefore, it's a bad idea to make any manual changes to the files in here, or to put any of your own files in here if you don't want to lose them. (Of course you may choose to add the folder's contents to your version-control system so that you can re-merge your own -modifications after the Introjucer has saved its changes). +modifications after the Projucer has saved its changes). diff --git a/examples/audio plugin host/JuceLibraryCode/juce_audio_basics.cpp b/examples/audio plugin host/JuceLibraryCode/juce_audio_basics.cpp new file mode 100644 index 0000000000..418694873c --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/juce_audio_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin host/JuceLibraryCode/juce_audio_basics.mm b/examples/audio plugin host/JuceLibraryCode/juce_audio_basics.mm new file mode 100644 index 0000000000..e0e6c577cc --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/juce_audio_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin host/JuceLibraryCode/juce_audio_devices.cpp b/examples/audio plugin host/JuceLibraryCode/juce_audio_devices.cpp new file mode 100644 index 0000000000..fb5c2219d7 --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/juce_audio_devices.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin host/JuceLibraryCode/juce_audio_devices.mm b/examples/audio plugin host/JuceLibraryCode/juce_audio_devices.mm new file mode 100644 index 0000000000..e58b67ea49 --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/juce_audio_devices.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin host/JuceLibraryCode/juce_audio_formats.cpp b/examples/audio plugin host/JuceLibraryCode/juce_audio_formats.cpp new file mode 100644 index 0000000000..a3c61170eb --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/juce_audio_formats.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin host/JuceLibraryCode/juce_audio_formats.mm b/examples/audio plugin host/JuceLibraryCode/juce_audio_formats.mm new file mode 100644 index 0000000000..f325b8fb67 --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/juce_audio_formats.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin host/JuceLibraryCode/juce_audio_processors.cpp b/examples/audio plugin host/JuceLibraryCode/juce_audio_processors.cpp new file mode 100644 index 0000000000..bfe172edd0 --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/juce_audio_processors.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin host/JuceLibraryCode/juce_audio_processors.mm b/examples/audio plugin host/JuceLibraryCode/juce_audio_processors.mm new file mode 100644 index 0000000000..b80ae9017f --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/juce_audio_processors.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin host/JuceLibraryCode/juce_audio_utils.cpp b/examples/audio plugin host/JuceLibraryCode/juce_audio_utils.cpp new file mode 100644 index 0000000000..97bd2c568c --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/juce_audio_utils.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin host/JuceLibraryCode/juce_audio_utils.mm b/examples/audio plugin host/JuceLibraryCode/juce_audio_utils.mm new file mode 100644 index 0000000000..8eae7c6e2f --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/juce_audio_utils.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin host/JuceLibraryCode/juce_core.cpp b/examples/audio plugin host/JuceLibraryCode/juce_core.cpp new file mode 100644 index 0000000000..d0ce1636f0 --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/juce_core.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin host/JuceLibraryCode/juce_core.mm b/examples/audio plugin host/JuceLibraryCode/juce_core.mm new file mode 100644 index 0000000000..72b10bf817 --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/juce_core.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin host/JuceLibraryCode/juce_cryptography.cpp b/examples/audio plugin host/JuceLibraryCode/juce_cryptography.cpp new file mode 100644 index 0000000000..10b3401dbe --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/juce_cryptography.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin host/JuceLibraryCode/juce_cryptography.mm b/examples/audio plugin host/JuceLibraryCode/juce_cryptography.mm new file mode 100644 index 0000000000..9311ea0ffe --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/juce_cryptography.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin host/JuceLibraryCode/juce_data_structures.cpp b/examples/audio plugin host/JuceLibraryCode/juce_data_structures.cpp new file mode 100644 index 0000000000..9315aa1686 --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/juce_data_structures.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin host/JuceLibraryCode/juce_data_structures.mm b/examples/audio plugin host/JuceLibraryCode/juce_data_structures.mm new file mode 100644 index 0000000000..695ec43925 --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/juce_data_structures.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin host/JuceLibraryCode/juce_events.cpp b/examples/audio plugin host/JuceLibraryCode/juce_events.cpp new file mode 100644 index 0000000000..1bba110a97 --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/juce_events.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin host/JuceLibraryCode/juce_events.mm b/examples/audio plugin host/JuceLibraryCode/juce_events.mm new file mode 100644 index 0000000000..4cc34fc401 --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/juce_events.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin host/JuceLibraryCode/juce_graphics.cpp b/examples/audio plugin host/JuceLibraryCode/juce_graphics.cpp new file mode 100644 index 0000000000..319c76de0e --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/juce_graphics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin host/JuceLibraryCode/juce_graphics.mm b/examples/audio plugin host/JuceLibraryCode/juce_graphics.mm new file mode 100644 index 0000000000..b28e6dd056 --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/juce_graphics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin host/JuceLibraryCode/juce_gui_basics.cpp b/examples/audio plugin host/JuceLibraryCode/juce_gui_basics.cpp new file mode 100644 index 0000000000..216c76bb05 --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/juce_gui_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin host/JuceLibraryCode/juce_gui_basics.mm b/examples/audio plugin host/JuceLibraryCode/juce_gui_basics.mm new file mode 100644 index 0000000000..6a9726fa5f --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/juce_gui_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin host/JuceLibraryCode/juce_gui_extra.cpp b/examples/audio plugin host/JuceLibraryCode/juce_gui_extra.cpp new file mode 100644 index 0000000000..7226e19833 --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/juce_gui_extra.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin host/JuceLibraryCode/juce_gui_extra.mm b/examples/audio plugin host/JuceLibraryCode/juce_gui_extra.mm new file mode 100644 index 0000000000..c9b6c3bfc6 --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/juce_gui_extra.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin host/JuceLibraryCode/juce_opengl.cpp b/examples/audio plugin host/JuceLibraryCode/juce_opengl.cpp new file mode 100644 index 0000000000..d9895bce92 --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/juce_opengl.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin host/JuceLibraryCode/juce_opengl.mm b/examples/audio plugin host/JuceLibraryCode/juce_opengl.mm new file mode 100644 index 0000000000..6c2c32d095 --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/juce_opengl.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin host/JuceLibraryCode/juce_video.cpp b/examples/audio plugin host/JuceLibraryCode/juce_video.cpp new file mode 100644 index 0000000000..bdf22ee131 --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/juce_video.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin host/JuceLibraryCode/juce_video.mm b/examples/audio plugin host/JuceLibraryCode/juce_video.mm new file mode 100644 index 0000000000..3da705bccd --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/juce_video.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/examples/audio plugin host/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h b/examples/audio plugin host/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h deleted file mode 100644 index 9befea8142..0000000000 --- a/examples/audio plugin host/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_basics/juce_audio_basics.h" diff --git a/examples/audio plugin host/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h b/examples/audio plugin host/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h deleted file mode 100644 index eba6d3a9e5..0000000000 --- a/examples/audio plugin host/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_devices/juce_audio_devices.h" diff --git a/examples/audio plugin host/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h b/examples/audio plugin host/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h deleted file mode 100644 index 4629b0ef2c..0000000000 --- a/examples/audio plugin host/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_formats/juce_audio_formats.h" diff --git a/examples/audio plugin host/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h b/examples/audio plugin host/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h deleted file mode 100644 index 7d4583dbf8..0000000000 --- a/examples/audio plugin host/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_processors/juce_audio_processors.h" diff --git a/examples/audio plugin host/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h b/examples/audio plugin host/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h deleted file mode 100644 index bb997d30d3..0000000000 --- a/examples/audio plugin host/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_utils/juce_audio_utils.h" diff --git a/examples/audio plugin host/JuceLibraryCode/modules/juce_core/juce_core.h b/examples/audio plugin host/JuceLibraryCode/modules/juce_core/juce_core.h deleted file mode 100644 index 06e88f9352..0000000000 --- a/examples/audio plugin host/JuceLibraryCode/modules/juce_core/juce_core.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_core/juce_core.h" diff --git a/examples/audio plugin host/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h b/examples/audio plugin host/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h deleted file mode 100644 index e4574f4749..0000000000 --- a/examples/audio plugin host/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_cryptography/juce_cryptography.h" diff --git a/examples/audio plugin host/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h b/examples/audio plugin host/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h deleted file mode 100644 index 9d814fd953..0000000000 --- a/examples/audio plugin host/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_data_structures/juce_data_structures.h" diff --git a/examples/audio plugin host/JuceLibraryCode/modules/juce_events/juce_events.h b/examples/audio plugin host/JuceLibraryCode/modules/juce_events/juce_events.h deleted file mode 100644 index 509b1df8d2..0000000000 --- a/examples/audio plugin host/JuceLibraryCode/modules/juce_events/juce_events.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_events/juce_events.h" diff --git a/examples/audio plugin host/JuceLibraryCode/modules/juce_graphics/juce_graphics.h b/examples/audio plugin host/JuceLibraryCode/modules/juce_graphics/juce_graphics.h deleted file mode 100644 index 28edbf35e3..0000000000 --- a/examples/audio plugin host/JuceLibraryCode/modules/juce_graphics/juce_graphics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_graphics/juce_graphics.h" diff --git a/examples/audio plugin host/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h b/examples/audio plugin host/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h deleted file mode 100644 index 81ad4b7297..0000000000 --- a/examples/audio plugin host/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_gui_basics/juce_gui_basics.h" diff --git a/examples/audio plugin host/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h b/examples/audio plugin host/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h deleted file mode 100644 index 5c9b7a96b5..0000000000 --- a/examples/audio plugin host/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_gui_extra/juce_gui_extra.h" diff --git a/examples/audio plugin host/JuceLibraryCode/modules/juce_opengl/juce_opengl.h b/examples/audio plugin host/JuceLibraryCode/modules/juce_opengl/juce_opengl.h deleted file mode 100644 index 718392ff72..0000000000 --- a/examples/audio plugin host/JuceLibraryCode/modules/juce_opengl/juce_opengl.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_opengl/juce_opengl.h" diff --git a/examples/audio plugin host/JuceLibraryCode/modules/juce_video/juce_video.h b/examples/audio plugin host/JuceLibraryCode/modules/juce_video/juce_video.h deleted file mode 100644 index 0dd1636ec2..0000000000 --- a/examples/audio plugin host/JuceLibraryCode/modules/juce_video/juce_video.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_video/juce_video.h" diff --git a/examples/audio plugin host/Plugin Host.jucer b/examples/audio plugin host/Plugin Host.jucer index 2da6922046..46839c5f8b 100644 --- a/examples/audio plugin host/Plugin Host.jucer +++ b/examples/audio plugin host/Plugin Host.jucer @@ -1,16 +1,9 @@ + juceFolder="../../../juce" vstFolderMac="~/SDKs/vstsdk2.4" vstFolderPC="c:\SDKs\vstsdk2.4" + bundleIdentifier="com.roli.pluginhost" jucerVersion="4.2.0" companyName="ROLI Ltd." + includeBinaryInAppConfig="1"> diff --git a/examples/audio plugin host/Source/FilterGraph.cpp b/examples/audio plugin host/Source/FilterGraph.cpp index 1f6c2f32e8..b79c2ad400 100644 --- a/examples/audio plugin host/Source/FilterGraph.cpp +++ b/examples/audio plugin host/Source/FilterGraph.cpp @@ -78,12 +78,37 @@ void FilterGraph::addFilter (const PluginDescription* desc, double x, double y) { if (desc != nullptr) { - AudioProcessorGraph::Node* node = nullptr; + struct AsyncCallback : public AudioPluginFormat::InstantiationCompletionCallback + { + AsyncCallback (FilterGraph* myself, double inX, double inY) + : owner (myself), posX (inX), posY (inY) + {} - String errorMessage; + void completionCallback (AudioPluginInstance* instance, const String& error) override + { + owner->addFilterCallback (instance, error, posX, posY); + } - if (AudioPluginInstance* instance = formatManager.createPluginInstance (*desc, graph.getSampleRate(), graph.getBlockSize(), errorMessage)) - node = graph.addNode (instance); + FilterGraph* owner; + double posX, posY; + }; + + formatManager.createPluginInstanceAsync (*desc, graph.getSampleRate(), graph.getBlockSize(), + new AsyncCallback (this, x, y)); + } +} + +void FilterGraph::addFilterCallback (AudioPluginInstance* instance, const String& error, double x, double y) +{ + if (instance == nullptr) + { + AlertWindow::showMessageBox (AlertWindow::WarningIcon, + TRANS("Couldn't create filter"), + error); + } + else + { + AudioProcessorGraph::Node* node = graph.addNode (instance); if (node != nullptr) { @@ -91,12 +116,6 @@ void FilterGraph::addFilter (const PluginDescription* desc, double x, double y) node->properties.set ("y", y); changed(); } - else - { - AlertWindow::showMessageBox (AlertWindow::WarningIcon, - TRANS("Couldn't create filter"), - errorMessage); - } } } diff --git a/examples/audio plugin host/Source/FilterGraph.h b/examples/audio plugin host/Source/FilterGraph.h index eb9608d363..2405a2ca4f 100644 --- a/examples/audio plugin host/Source/FilterGraph.h +++ b/examples/audio plugin host/Source/FilterGraph.h @@ -51,6 +51,8 @@ public: void addFilter (const PluginDescription* desc, double x, double y); + void addFilterCallback (AudioPluginInstance* instance, const String& error, double x, double y); + void removeFilter (const uint32 filterUID); void disconnectFilter (const uint32 filterUID); diff --git a/examples/audio plugin host/Source/InternalFilters.cpp b/examples/audio plugin host/Source/InternalFilters.cpp index 725a03bee2..21e58e28d0 100644 --- a/examples/audio plugin host/Source/InternalFilters.cpp +++ b/examples/audio plugin host/Source/InternalFilters.cpp @@ -46,19 +46,28 @@ InternalPluginFormat::InternalPluginFormat() } } -AudioPluginInstance* InternalPluginFormat::createInstanceFromDescription (const PluginDescription& desc, - double /*sampleRate*/, int /*blockSize*/) +void InternalPluginFormat::createPluginInstance (const PluginDescription& desc, + double /*initialSampleRate*/, + int /*initialBufferSize*/, + void* userData, + void (*callback) (void*, AudioPluginInstance*, const String&)) { + AudioPluginInstance* retval = nullptr; if (desc.name == audioOutDesc.name) - return new AudioProcessorGraph::AudioGraphIOProcessor (AudioProcessorGraph::AudioGraphIOProcessor::audioOutputNode); + retval = new AudioProcessorGraph::AudioGraphIOProcessor (AudioProcessorGraph::AudioGraphIOProcessor::audioOutputNode); if (desc.name == audioInDesc.name) - return new AudioProcessorGraph::AudioGraphIOProcessor (AudioProcessorGraph::AudioGraphIOProcessor::audioInputNode); + retval = new AudioProcessorGraph::AudioGraphIOProcessor (AudioProcessorGraph::AudioGraphIOProcessor::audioInputNode); if (desc.name == midiInDesc.name) - return new AudioProcessorGraph::AudioGraphIOProcessor (AudioProcessorGraph::AudioGraphIOProcessor::midiInputNode); + retval = new AudioProcessorGraph::AudioGraphIOProcessor (AudioProcessorGraph::AudioGraphIOProcessor::midiInputNode); - return 0; + callback (userData, retval, retval == nullptr ? NEEDS_TRANS ("Invalid internal filter name") : String()); +} + +bool InternalPluginFormat::requiresUnblockedMessageThreadDuringCreation (const PluginDescription&) const noexcept +{ + return false; } const PluginDescription* InternalPluginFormat::getDescriptionFor (const InternalFilterType type) diff --git a/examples/audio plugin host/Source/InternalFilters.h b/examples/audio plugin host/Source/InternalFilters.h index 1317d286cd..1a1a16424e 100644 --- a/examples/audio plugin host/Source/InternalFilters.h +++ b/examples/audio plugin host/Source/InternalFilters.h @@ -55,16 +55,23 @@ public: //============================================================================== String getName() const override { return "Internal"; } - bool fileMightContainThisPluginType (const String&) override { return false; } + bool fileMightContainThisPluginType (const String&) override { return true; } FileSearchPath getDefaultLocationsToSearch() override { return FileSearchPath(); } bool canScanForPlugins() const override { return false; } void findAllTypesForFile (OwnedArray &, const String&) override {} bool doesPluginStillExist (const PluginDescription&) override { return true; } String getNameOfPluginFromIdentifier (const String& fileOrIdentifier) override { return fileOrIdentifier; } bool pluginNeedsRescanning (const PluginDescription&) override { return false; } - StringArray searchPathsForPlugins (const FileSearchPath&, bool) override { return StringArray(); } - AudioPluginInstance* createInstanceFromDescription (const PluginDescription&, double, int) override; + StringArray searchPathsForPlugins (const FileSearchPath&, bool, bool) override { return StringArray(); } +private: + //============================================================================== + void createPluginInstance (const PluginDescription& description, + double initialSampleRate, + int initialBufferSize, + void* userData, + void (*callback) (void*, AudioPluginInstance*, const String&)) override; + bool requiresUnblockedMessageThreadDuringCreation (const PluginDescription&) const noexcept override; private: //============================================================================== PluginDescription audioInDesc; diff --git a/examples/audio plugin host/Source/MainHostWindow.cpp b/examples/audio plugin host/Source/MainHostWindow.cpp index 2ea7a84c50..8b24be859f 100644 --- a/examples/audio plugin host/Source/MainHostWindow.cpp +++ b/examples/audio plugin host/Source/MainHostWindow.cpp @@ -42,7 +42,7 @@ public: setContentOwned (new PluginListComponent (pluginFormatManager, owner.knownPluginList, deadMansPedalFile, - getAppProperties().getUserSettings()), true); + getAppProperties().getUserSettings(), true), true); setResizable (true, false); setResizeLimits (300, 400, 800, 1500); diff --git a/extras/AudioPerformanceTest/AudioPerformanceTest.jucer b/extras/AudioPerformanceTest/AudioPerformanceTest.jucer index 1dfd362253..4676fa81d3 100644 --- a/extras/AudioPerformanceTest/AudioPerformanceTest.jucer +++ b/extras/AudioPerformanceTest/AudioPerformanceTest.jucer @@ -2,7 +2,7 @@ + includeBinaryInAppConfig="1" jucerVersion="4.2.0"> @@ -31,7 +31,7 @@ - + @@ -100,7 +100,9 @@ androidKeyAlias="androiddebugkey" androidKeyAliasPass="android" androidCpp11="1" androidScreenOrientation="unspecified" targetFolder="Builds/AndroidStudio" androidSDKPath="" androidNDKPath="" extraCompilerFlags="-mfpu=neon -mfloat-abi=hard -ffast-math -funroll-loops --param max-unroll-times=8 -mhard-float -D_NDK_MATH_NO_SOFTFP=1 -DJUCE_DISABLE_ASSERTIONS=1" - extraDefs="" extraLinkerFlags="" externalLibraries=""> + extraDefs="" extraLinkerFlags="" externalLibraries="" gradleVersion="2.10" + gradleWrapperVersion="0.6.0-beta5" gradleToolchain="clang" gradleToolchainVersion="3.6" + buildToolsVersion="23.0.1"> diff --git a/extras/AudioPerformanceTest/Builds/LinuxMakefile/Makefile b/extras/AudioPerformanceTest/Builds/LinuxMakefile/Makefile index 4802bc06d3..5aba42a174 100644 --- a/extras/AudioPerformanceTest/Builds/LinuxMakefile/Makefile +++ b/extras/AudioPerformanceTest/Builds/LinuxMakefile/Makefile @@ -1,5 +1,5 @@ -# Automatically generated makefile, created by the Introjucer -# Don't edit this file! Your changes will be overwritten when you re-save the Introjucer project! +# Automatically generated makefile, created by the Projucer +# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project! # (this disables dependency generation if multiple architectures are set) DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) @@ -50,17 +50,17 @@ endif OBJECTS := \ $(OBJDIR)/Main_90ebc5c2.o \ - $(OBJDIR)/juce_audio_basics_399a455e.o \ - $(OBJDIR)/juce_audio_devices_c1c9ba9c.o \ - $(OBJDIR)/juce_audio_formats_f04b043c.o \ - $(OBJDIR)/juce_audio_processors_eb9ae116.o \ - $(OBJDIR)/juce_audio_utils_cf18005c.o \ - $(OBJDIR)/juce_core_1ee54a40.o \ - $(OBJDIR)/juce_data_structures_84790dfc.o \ - $(OBJDIR)/juce_events_584896b4.o \ - $(OBJDIR)/juce_graphics_f9afc18.o \ - $(OBJDIR)/juce_gui_basics_90929794.o \ - $(OBJDIR)/juce_gui_extra_b81d9e1c.o \ + $(OBJDIR)/juce_audio_basics_6b797ca1.o \ + $(OBJDIR)/juce_audio_devices_a742c38b.o \ + $(OBJDIR)/juce_audio_formats_5a29c68a.o \ + $(OBJDIR)/juce_audio_processors_dea3173d.o \ + $(OBJDIR)/juce_audio_utils_c7eb679f.o \ + $(OBJDIR)/juce_core_75b14332.o \ + $(OBJDIR)/juce_data_structures_72d3da2c.o \ + $(OBJDIR)/juce_events_d2be882c.o \ + $(OBJDIR)/juce_graphics_9c18891e.o \ + $(OBJDIR)/juce_gui_basics_8a6da59c.o \ + $(OBJDIR)/juce_gui_extra_4a026f23.o \ .PHONY: clean @@ -84,57 +84,57 @@ $(OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp @echo "Compiling Main.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_basics_399a455e.o: ../../../../modules/juce_audio_basics/juce_audio_basics.cpp +$(OBJDIR)/juce_audio_basics_6b797ca1.o: ../../JuceLibraryCode/juce_audio_basics.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_audio_basics.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_devices_c1c9ba9c.o: ../../../../modules/juce_audio_devices/juce_audio_devices.cpp +$(OBJDIR)/juce_audio_devices_a742c38b.o: ../../JuceLibraryCode/juce_audio_devices.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_audio_devices.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_formats_f04b043c.o: ../../../../modules/juce_audio_formats/juce_audio_formats.cpp +$(OBJDIR)/juce_audio_formats_5a29c68a.o: ../../JuceLibraryCode/juce_audio_formats.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_audio_formats.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_processors_eb9ae116.o: ../../../../modules/juce_audio_processors/juce_audio_processors.cpp +$(OBJDIR)/juce_audio_processors_dea3173d.o: ../../JuceLibraryCode/juce_audio_processors.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_audio_processors.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_utils_cf18005c.o: ../../../../modules/juce_audio_utils/juce_audio_utils.cpp +$(OBJDIR)/juce_audio_utils_c7eb679f.o: ../../JuceLibraryCode/juce_audio_utils.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_audio_utils.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_core_1ee54a40.o: ../../../../modules/juce_core/juce_core.cpp +$(OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_core.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_data_structures_84790dfc.o: ../../../../modules/juce_data_structures/juce_data_structures.cpp +$(OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_data_structures.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_events_584896b4.o: ../../../../modules/juce_events/juce_events.cpp +$(OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_events.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_graphics_f9afc18.o: ../../../../modules/juce_graphics/juce_graphics.cpp +$(OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_graphics.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_basics_90929794.o: ../../../../modules/juce_gui_basics/juce_gui_basics.cpp +$(OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_gui_basics.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_extra_b81d9e1c.o: ../../../../modules/juce_gui_extra/juce_gui_extra.cpp +$(OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_gui_extra.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" diff --git a/extras/AudioPerformanceTest/Builds/MacOSX/AudioPerformanceTest.xcodeproj/project.pbxproj b/extras/AudioPerformanceTest/Builds/MacOSX/AudioPerformanceTest.xcodeproj/project.pbxproj index 4d47621574..f21e3cb76c 100644 --- a/extras/AudioPerformanceTest/Builds/MacOSX/AudioPerformanceTest.xcodeproj/project.pbxproj +++ b/extras/AudioPerformanceTest/Builds/MacOSX/AudioPerformanceTest.xcodeproj/project.pbxproj @@ -6,6 +6,7 @@ objectVersion = 46; objects = { + E1282ABB96DD2E7FA7F63559 = {isa = PBXBuildFile; fileRef = 614F2084407B35D62101F69F; }; 8A0F71A4EEC7FE694352DD94 = {isa = PBXBuildFile; fileRef = 9EADBF913B7A454B6BE93A4A; }; 30BE30F31D1AAED9FC893AA5 = {isa = PBXBuildFile; fileRef = 18C1CCE5684F9FA0478F27AD; }; 9B19A6655FCC8086134C8656 = {isa = PBXBuildFile; fileRef = 1DA5C6A474916745AFEC6DA5; }; @@ -18,17 +19,17 @@ 537E779F6008999191B2920A = {isa = PBXBuildFile; fileRef = 3058871156B921B9E5946C4F; }; DA21A6E7A18555DCFC63B07C = {isa = PBXBuildFile; fileRef = FAAB4EAE4A57B642D3B9EC23; }; 07451DA87757F9EF80E31BE8 = {isa = PBXBuildFile; fileRef = 0564535EEA7E4462926EA0C9; }; - A85A66764138757920895E7B = {isa = PBXBuildFile; fileRef = 210267A63B6A116B12EEA4D2; }; - D2748B9B6E711F365D241A30 = {isa = PBXBuildFile; fileRef = 23750FB9BDD75177C64F9AF9; }; - AD584F6DBB33504DBB9B3CB0 = {isa = PBXBuildFile; fileRef = 5DBE129199F61C74A5CCB575; }; - 5BBB2FD60B58F627CEA757CC = {isa = PBXBuildFile; fileRef = 958486C51C2FDFD3734B281C; }; - C0A36CC2E2360C7FF03F3C69 = {isa = PBXBuildFile; fileRef = 10D3D9E820330B4B1A0BBA94; }; - D0ECDCC9EDA71E9C5F7A18D9 = {isa = PBXBuildFile; fileRef = 11934147B8A79709D0664625; }; - 9CD99CB95F40FEB539AC2272 = {isa = PBXBuildFile; fileRef = FB9C77F74F072D199A7BD698; }; - 0B611B2FD7E65543B8990D43 = {isa = PBXBuildFile; fileRef = 050729FE03ED356C75E970EA; }; - A12B2EAD5BB1C126BEE4F2DA = {isa = PBXBuildFile; fileRef = B2DA2CD83338C8A369A3F2E8; }; - 7174F6DD7C6B3DF1A4BFDB99 = {isa = PBXBuildFile; fileRef = F58AAC0B88773E609A8E3AC5; }; - 7FDA000D7F9053D6660FEB0D = {isa = PBXBuildFile; fileRef = D71B725E56C2BAFB9DAED99D; }; + C8A2264A4D4A0CD6B519AC01 = {isa = PBXBuildFile; fileRef = 71F53610B155D5DC0BC44FE8; }; + 8286920FF6CFA9E7A4975C33 = {isa = PBXBuildFile; fileRef = 4175A059B8C8C5B5326C868D; }; + 1B7DB3536E20A460AC331BC8 = {isa = PBXBuildFile; fileRef = F3E66241B460F42763126C07; }; + 03B1B72B30A18968B9F453A1 = {isa = PBXBuildFile; fileRef = 4FE58F1BB8347D978F8549DC; }; + 1382A55F62D5255C2BA0E9D1 = {isa = PBXBuildFile; fileRef = 70AF1456B19C4D3B424A3883; }; + B02021DAEC57D0539B9BCFC6 = {isa = PBXBuildFile; fileRef = E18F04B8EBF4E3AB1362BDC5; }; + 4DA57D238C2CD7F9DFD3C2A2 = {isa = PBXBuildFile; fileRef = 28E1AF36A775870224F6D59B; }; + 232C91F7D3438C28FD4076E6 = {isa = PBXBuildFile; fileRef = 5B68D6F2AC0D0B18DE5FFF63; }; + BE51C0B1FCD9B908D9EB63B1 = {isa = PBXBuildFile; fileRef = 7724F42B3BE3B4D25047BEB7; }; + 7D6AEBA4AD90EC541711C680 = {isa = PBXBuildFile; fileRef = 70D0CB56D167630AB1912B0B; }; + 5144E6127912F3BAE3E6CCC8 = {isa = PBXBuildFile; fileRef = C4B5CF7830AAA69A7E9A12C2; }; 00B3EB5421ADC0A47CE075CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; }; 012D15DF2BF8C2A8D78BBCB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; }; 014DFF3FB0FDC135308C6E21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceSelectorComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -50,7 +51,6 @@ 044C63BB6A59D2CCD32B938B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPENote.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.h"; sourceTree = "SOURCE_ROOT"; }; 044C98142AF352964DC87013 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; 0471ACD8C6F72174559980ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; }; - 050729FE03ED356C75E970EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; 0564535EEA7E4462926EA0C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = "SOURCE_ROOT"; }; 05B0A967B4FFDF4C28C5A6D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; 05CBF668EC4BC50B5DCA18A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colours.h"; path = "../../../../modules/juce_graphics/colour/juce_Colours.h"; sourceTree = "SOURCE_ROOT"; }; @@ -91,11 +91,9 @@ 0EF073B785B39E125D870A19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Sampler.cpp"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp"; sourceTree = "SOURCE_ROOT"; }; 0F1DE6A679F43ABFE421EE27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; }; 0F8B72901197C072D8A251C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; - 10D3D9E820330B4B1A0BBA94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; }; 11039E870792A02AA4D565FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; }; 111D30204547DC878B617182 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; 1157C5195475CB5DEB691C76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 11934147B8A79709D0664625 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; 11FC57C0D11AA6304EF94ECB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; 123831F52D2C1E9A68B75613 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VSTPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 12C680C68A15B9A590264B18 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; @@ -149,15 +147,12 @@ 1E567E1528267ECC91AF502F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; }; 1E90C78BB7EF4CAD220371A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; 1EC7385E0D37F4CB00440944 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Identifier.h"; path = "../../../../modules/juce_core/text/juce_Identifier.h"; sourceTree = "SOURCE_ROOT"; }; - 1ED1F43731F2685F5D21EBA7 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_devices/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; - 1F806E9E225FDF4EDF520C96 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_formats/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 1FA1524362ECBEF1BFC4277D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; }; 1FFA016099DD003AD459C0DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; 2041B8796B90FEDB95078CA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; }; 205ADC8CC71D24C402FF2B83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; 206E356909BCD419F0227EAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; }; 208C4054409C79403B243A5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; }; - 210267A63B6A116B12EEA4D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 210EB9B831928D624AE206CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; }; 21D96087EA2F816616E4332E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; }; 21F301B0D046171D6539BF27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -167,7 +162,6 @@ 22E3F6B9DDFD03BD6A370215 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; 232388289B7BBC5816A43249 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; }; 2335BE9EABE76A9CE1A36942 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageCollector.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"; sourceTree = "SOURCE_ROOT"; }; - 23750FB9BDD75177C64F9AF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; 23869E1A76176ACAD04E37C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDirectoryScanner.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h"; sourceTree = "SOURCE_ROOT"; }; 23F72B1694AF62D52C346872 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; }; 2419CBA43268699E7362495D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; }; @@ -192,7 +186,7 @@ 27B3172AC0BA3C09D54011A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; }; 27B72042F7CE970F5D161668 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; 27E028D654DE35C7FAE178D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; }; - 287EE31C626E8FE2F123BBFD = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_utils/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 28E1AF36A775870224F6D59B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; 2A4FA5A0C18884315A2BAA0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; }; 2B3C50412FEB0EA622DF305B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; }; 2B7BFB3838421DA82147C48E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GroupComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -238,7 +232,6 @@ 36A22D2BE15728117A7DEDD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 3713B247A275EEEB9B652EC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorValueTreeState.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h"; sourceTree = "SOURCE_ROOT"; }; 374CF3F673D1531ED15AB53D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 37DC811124A88BCB26442FCB = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = "SOURCE_ROOT"; }; 37E19A5A734440194B95D214 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; }; 380D54F375B780CC7EC45081 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 3835B76D934B38B6C939BC1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; }; @@ -279,9 +272,9 @@ 40D94564D44535C98D477A37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnection.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp"; sourceTree = "SOURCE_ROOT"; }; 41498D495F9BEC4591301F9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; }; 41650B41C126475F54AAD41F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + 4175A059B8C8C5B5326C868D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../JuceLibraryCode/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; 41D8D99E399E3061D8647B6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; }; 41E1F1ED873B8778A4DEA391 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemTrayIconComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 420403BCB2AE106E1E1A5D27 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_events/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 420F8FB2C71217A004B459B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; }; 42101ED87C863ED563FFF529 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; }; 4219E70B9BD7F88017386C92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -329,6 +322,7 @@ 4EDD1CA5042F64E84327CD60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 4F0284FA3AB4945EA21980A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; 4F39D64767AC3AD73EF2487A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4FE58F1BB8347D978F8549DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../JuceLibraryCode/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; 505A5FC3466F4BB88CDD6F06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiOutput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h"; sourceTree = "SOURCE_ROOT"; }; 508D90C6525EAC0F06E20997 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 50A391FB0CB736D7E525A138 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; }; @@ -361,11 +355,11 @@ 5833E8D8DF97BA6F326E6A0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; 586C47B3007AF321674881F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; 589727A3116C274566D20F5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; }; - 58A61E077684ADCBD3789FE2 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 59F3D582CE541DAA298A579A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; }; 5A35ED55E78C44D95FB87953 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Slider.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp"; sourceTree = "SOURCE_ROOT"; }; 5A44382799C715F1D127572E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; }; 5AAA012C77F1998912D92E30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5B68D6F2AC0D0B18DE5FFF63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; 5B82A7D9F12F2C67CD7E6612 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; 5C0BCE12CD5910802FE6270C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; 5C329E49A7726F2F7D29A5CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; }; @@ -374,7 +368,6 @@ 5D027E407997AA18E4CF1EDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; }; 5D117A1C65CF13922E0D23F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableObjectResizer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp"; sourceTree = "SOURCE_ROOT"; }; 5D4067E343DF0A467BEFE839 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 5DBE129199F61C74A5CCB575 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; 5DCC5A2DEAC66784A4693817 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Base64.cpp"; path = "../../../../modules/juce_core/text/juce_Base64.cpp"; sourceTree = "SOURCE_ROOT"; }; 5E669B7D8CBA66972A65674F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; 5E709F00CAC67777947770B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; }; @@ -384,9 +377,9 @@ 5F4047D2F2642271CA6733B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ActiveXComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 5FB81D3A066552E3728DF1EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; }; 5FF59BC1E0DC1F0B3E0E6F3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp"; sourceTree = "SOURCE_ROOT"; }; - 603A88A19320A7D9042B6564 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 60A50A49E5967A9028E6A63F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDirectoryScanner.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp"; sourceTree = "SOURCE_ROOT"; }; 6113F4C3AFB861DCAF88C212 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; }; + 614F2084407B35D62101F69F = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AudioPerformanceTest.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; 615C7F551EF2E2884579A6E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; }; 61A6B2C311EEA8E33BAC6BB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; 61CE8FA0CDA2F912D807F4F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailCache.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h"; sourceTree = "SOURCE_ROOT"; }; @@ -435,11 +428,14 @@ 705B6E0CD1386CA2F07D6732 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 708EDE4D073A3EF58DEFED5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 70A18D791C54F97B989BB9B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; }; + 70AF1456B19C4D3B424A3883 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../JuceLibraryCode/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; }; 70C6C35771C076364F535EE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 70D0CB56D167630AB1912B0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 713557DD8AA431F8738BD492 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LagrangeInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; 717E6F679760C87003A61B3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; 719BBE0A15A89976BC3E2A30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 71D3AB9601D27C46645DB729 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; }; + 71F53610B155D5DC0BC44FE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../JuceLibraryCode/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 72152EF0BB769C0DBD9988FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 726082C5F9A7979F3FABEACD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 7275182C65010E12C94356DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -455,6 +451,7 @@ 75BB3CCA02966F27A86A8E29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserBase.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 761B16269B2E0FE878159118 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; }; 762A8B6317A874ED6C6EB26C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; }; + 7724F42B3BE3B4D25047BEB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../JuceLibraryCode/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; 77FBBF17D08E7B8031E5591C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTreeSynchroniser.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"; sourceTree = "SOURCE_ROOT"; }; 78797E6CD4C710681CEB454A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; }; 78B284561F248D4EFE3A90F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -556,10 +553,10 @@ 948915DF1F924C4541081A84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; }; 948E6A2F9801318A6BACA604 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDataConverters.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h"; sourceTree = "SOURCE_ROOT"; }; 94D48F57C6FBACDA7E565B61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; }; + 9516A19EE58DED8326DD0306 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-App.plist"; path = "Info-App.plist"; sourceTree = "SOURCE_ROOT"; }; 9529452677DAC6E6FD5278FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; }; 953503B501F2A820E50272B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; 95578AB40B1C675A10B311BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; - 958486C51C2FDFD3734B281C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; 95999D007040ED6D71F707F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorGraph.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp"; sourceTree = "SOURCE_ROOT"; }; 96465102CA605250058AC064 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; }; 965C305E056C8DE917F22585 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; }; @@ -616,7 +613,6 @@ A79264AE87654F32A97B62C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; A7D772CCD36E7C5A73DC8827 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserBase.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h"; sourceTree = "SOURCE_ROOT"; }; A7DC01954B7BA0400CF9E92D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MP3AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - A7E97E9FB812DD77207D8297 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_extra/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; A83AE455D3D67018DD3E919D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; A86F543278EE0AAA8D35DFDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; }; A8987822AEB05A94888A8B3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -646,7 +642,6 @@ B1491869A8D959D8ADD6EBD1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentPeer.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h"; sourceTree = "SOURCE_ROOT"; }; B1E652138C0C7722876CE14D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; B242B6D52524EBED51625C00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; }; - B2DA2CD83338C8A369A3F2E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; B2F80573F3A1212FB1E6D906 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; }; B37CE5CF8F375F6B2E252A7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; }; B3EAB67C94C39842591864ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; }; @@ -654,7 +649,6 @@ B40051599BAA798C637BDC4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; }; B42234064E15C0434ECAB137 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; B4ECF1571A1D2C15338C5A19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - B541F0869263AF482C4DCC95 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_graphics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; B58743FE48B10A581E6097CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsPostScriptRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; B5AF3F3B893E7D19B80EE0C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; }; B5BA79CC82D06D67F7AB1B94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -677,7 +671,6 @@ B9A51E1C7C09AE5A7CAF3917 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; }; B9EA2A3E4F4268A3A9CAC2E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; BB165BEFBD9C1341F9872A34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; }; - BB17932D28D0BF702079D964 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_data_structures/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; BB2CB3C81D742E6FAE5008A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; }; BB9B97EE17846FF5D9FE7338 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; BBF07C581A05714CBD5DF3BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleComponent.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -705,6 +698,7 @@ C34F15FED2D289A1AC6D85A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorListener.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h"; sourceTree = "SOURCE_ROOT"; }; C37CAC3770FC20323394F6C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; }; C446EDBBF5875AB92030FB38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; }; + C4B5CF7830AAA69A7E9A12C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; C4FBF27BBF30B3B94A0D35BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; }; C538DCF5081621C3A50249FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CoreAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; C56E494E3CBBA81EC41A1204 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -729,11 +723,9 @@ CBDEA4A1F8554FAFC499158B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; }; CBEA43906CA7292557B08994 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; }; CBED69C3DEA3267956D07422 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; }; - CBF3EAB8780B385E95B724DD = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_core/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; CC30533925763AA9ED55E94F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_ClangBugWorkaround.h"; path = "../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h"; sourceTree = "SOURCE_ROOT"; }; CCB1BA9CE06D43FFDCC604F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; }; CCE8EEA7069F237E15EB946B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; - CD3BC1756D3316267ACC2349 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_processors/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; CD3E850D3908EFE7F8B7A82C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PositionableAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; CDCD8001286A8AF0A3CF7310 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KnownPluginList.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h"; sourceTree = "SOURCE_ROOT"; }; CDE63E5BE3B71836E865467D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; @@ -770,7 +762,6 @@ D60BBF26B241D4E0F29B5249 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; D63CF56220D7C1524F1A7C47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiser.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; D6BBAD5CCA00B84B5E90C9A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - D71B725E56C2BAFB9DAED99D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; D7354CB23CE7DFCB335B2DAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; D791D87AE07C498853260542 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPENote.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp"; sourceTree = "SOURCE_ROOT"; }; D799FF6C1BF87B39E4FDB80D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; }; @@ -805,6 +796,7 @@ E09CB83038E18107CA2C28DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEMessages.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h"; sourceTree = "SOURCE_ROOT"; }; E16B62BB33F9E730CB92153F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatManager.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; E1871D3D858086CF673A183A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; }; + E18F04B8EBF4E3AB1362BDC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; E26676BD5A6B2C3F0BB2BE20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; }; E2C7D05E6D7964D2381EB883 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPlayHead.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPlayHead.h"; sourceTree = "SOURCE_ROOT"; }; E2E90E7B9A2553E3B6F3D0D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; }; @@ -814,6 +806,8 @@ E54DC5D961F96339438F6F29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Files.cpp"; path = "../../../../modules/juce_core/native/juce_android_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; E5CFD76752D799D84F029F7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableEdgeComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h"; sourceTree = "SOURCE_ROOT"; }; E5D4FBA391E54B046E5ED311 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; + E5D6D7D4DE1CD91162DDC533 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; }; + E60738D6344F6735A3029493 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; }; E64584D04C5D69143388CB70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; }; E66BD44DE4ECB0006C6FA1D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; E6753179649ACB7E9C604796 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; }; @@ -821,16 +815,11 @@ E714DB16F28186F6066A2128 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInactivityDetector.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h"; sourceTree = "SOURCE_ROOT"; }; E7907B493FA02D52A914C3F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinearSmoothedValue.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h"; sourceTree = "SOURCE_ROOT"; }; E7CF9D38EE588FA67A1A0BA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; }; - E991EB4F2976CE2663A94FF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; - EC1BE55B8ACFD3CC5710B0DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; }; - EE758AD71415EB31BD3E82F3 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; }; - E21F9CB67E9AEAD65CD9DCA8 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AudioPerformanceTest.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; - E5D6D7D4DE1CD91162DDC533 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; }; - E60738D6344F6735A3029493 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; }; E7EB024409B9DEC37BD8D754 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODeviceType.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp"; sourceTree = "SOURCE_ROOT"; }; E892097A580573FD65F52666 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; E899F60F3EF8E9E90B58042E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h"; sourceTree = "SOURCE_ROOT"; }; E98236C48E31A8D5607926BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; }; + E991EB4F2976CE2663A94FF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; E9A446C55A081B96178D1DF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; }; E9CB5952B7883AEA94F52CBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; }; E9FD8CCF889E41AEF5CE814C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioVisualiserComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -838,11 +827,13 @@ EB31FA1F8F34BE572BFDA40E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; }; EB59BB11D7DDAF680A22B040 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageCache.h"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.h"; sourceTree = "SOURCE_ROOT"; }; EBA2E416B76E54F2A01D7EE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; }; + EC1BE55B8ACFD3CC5710B0DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; }; EC299D99803E2FCF2C73FFD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; EC4677E8D193A9D892B5CF54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; sourceTree = "SOURCE_ROOT"; }; EC95580242D2E38B683BFD9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; ED3C3C56246BE6C569D5B08C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V1.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h"; sourceTree = "SOURCE_ROOT"; }; ED4C4504733394EA9FFF33C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + EE758AD71415EB31BD3E82F3 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; }; EF147A98D8A6B876B4582A69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; }; EFA7A6158C4450A5F49335B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; EFA7D5D1E0D579F2A90ACA08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; }; @@ -859,13 +850,13 @@ F31FE1E9C603E85BF9F41198 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; F3C3C927DD896E6430A3D16C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilter.h"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h"; sourceTree = "SOURCE_ROOT"; }; F3D9216291FEFB769A468037 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FloatVectorOperations.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h"; sourceTree = "SOURCE_ROOT"; }; + F3E66241B460F42763126C07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../JuceLibraryCode/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; F4301F4CE820D61D7586A0E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; }; F46909B432DC1BE9B98409F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; }; F48CDE09F526F4465693E692 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; F5330B527A064EF5B090EBF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; F54F134490A7622D750C8CCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; }; F574D27FFFEE597B5D9D4AB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; }; - F58AAC0B88773E609A8E3AC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; F5BAB8FB52B9C8D17BE40700 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; F5EDE89DF742273F2E8AF37B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DeletedAtShutdown.cpp"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp"; sourceTree = "SOURCE_ROOT"; }; F67C1BF09F2B3CCFF02C24F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -891,7 +882,6 @@ FAC115B00D222400E1D5F9AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; FAC582400D322D57D41D8977 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZone.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.h"; sourceTree = "SOURCE_ROOT"; }; FB28A976AA6297363E1E1EBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; - FB9C77F74F072D199A7BD698 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; FBE7CA0BE22C4FAD4405C1D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; }; FC321D7DCFB665DF3068C2AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyMappingEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; FCF0A463925D6F585DD6202C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -993,9 +983,12 @@ 8B6F361755154F478F38D141, EEBD66053EC9797A858B2940, 3E0E5D5F19C4F7B0DFAB9F3A, - 603A88A19320A7D9042B6564, 68D13E2D9B08BD4A7ACA1303, ); name = "juce_audio_basics"; sourceTree = ""; }; - 4E64F6EA09CE52EE1316E17B = {isa = PBXGroup; children = ( + 08BF5989EE6F51B83454F600 = {isa = PBXGroup; children = ( + A9195101DAEB146C07DD97B7, + 01A4B617EA0597B206DCF8EF, + BBF2546E01AB5753F3CFC166, ); name = "audio_cd"; sourceTree = ""; }; + E7D115EE13A0CE70E9AD8B73 = {isa = PBXGroup; children = ( 4DC5892113DCC74FF9C2221B, 4B223BE03B161EC55F06A8CD, 67227017A993DC10991AFF59, @@ -1003,22 +996,13 @@ E7EB024409B9DEC37BD8D754, 8042077CBB3B876988394E42, BCD0AACFBE72D3B11FEA6C7D, ); name = "audio_io"; sourceTree = ""; }; - 98906606A277640B00993C2B = {isa = PBXGroup; children = ( + 5480BF87B3419A5D538B1ED6 = {isa = PBXGroup; children = ( A76E706A649469B7EE53B6B9, 2335BE9EABE76A9CE1A36942, 6347424185D8863263EEC3D2, 907554687EB07FD46FB6ACB7, 505A5FC3466F4BB88CDD6F06, ); name = "midi_io"; sourceTree = ""; }; - 863E0659317BE1ED8B4D09E0 = {isa = PBXGroup; children = ( - 3893090992F41B8C2319B043, - 98CE9C68EA30EC98C4461E11, - 0C3FA548837CFC7413AD19DD, - 40B50860F40E23FE342878E3, ); name = sources; sourceTree = ""; }; - 01C208E3D8AEC79BD03CE6DA = {isa = PBXGroup; children = ( - A9195101DAEB146C07DD97B7, - 01A4B617EA0597B206DCF8EF, - BBF2546E01AB5753F3CFC166, ); name = "audio_cd"; sourceTree = ""; }; - 48D6A2E98CFA6EB28C4159A2 = {isa = PBXGroup; children = ( + 96221557E7D6117D7E453676 = {isa = PBXGroup; children = ( 8C80FA03FCB76A83F013333A, 4D16C1FEA0AC15DF70D75640, 90BCC51EEB48DE909139B357, @@ -1038,31 +1022,19 @@ 1DDC6D7570A00F8953FE5D4C, 70168B0928AC533A7A382FAA, EC1BE55B8ACFD3CC5710B0DD, ); name = native; sourceTree = ""; }; + B4C506FED403AFAF4151BBF4 = {isa = PBXGroup; children = ( + 3893090992F41B8C2319B043, + 98CE9C68EA30EC98C4461E11, + 0C3FA548837CFC7413AD19DD, + 40B50860F40E23FE342878E3, ); name = sources; sourceTree = ""; }; C69D55E0340A2960D86B9779 = {isa = PBXGroup; children = ( - 4E64F6EA09CE52EE1316E17B, - 98906606A277640B00993C2B, - 863E0659317BE1ED8B4D09E0, - 01C208E3D8AEC79BD03CE6DA, - 48D6A2E98CFA6EB28C4159A2, - 1ED1F43731F2685F5D21EBA7, + 08BF5989EE6F51B83454F600, + E7D115EE13A0CE70E9AD8B73, + 5480BF87B3419A5D538B1ED6, + 96221557E7D6117D7E453676, + B4C506FED403AFAF4151BBF4, FF467611D066C9EA28C89B1A, ); name = "juce_audio_devices"; sourceTree = ""; }; - 5C79A63AB3973F196AF3865D = {isa = PBXGroup; children = ( - D8AB6B838BD9105E68EBCBDA, - 80A7C7DCD25FECFF74FA662C, - E16B62BB33F9E730CB92153F, - 900C0B5850BCB3B173CBE883, - 3F9D6C7B798F0431FE922B41, - DBDD1A7CC8D49C6A3102DA50, - 2D21CD49127EDB94ABBF55BB, - 62DE876E589EE728A76CBB24, - 43F7BEA9CFC8EE3A248AD5E3, - 52D5C91716E2495903D9B507, - 2F63AD90BD7D2C780CCAAEEC, - 35D58A1347E7CC7089D2AD12, - D7354CB23CE7DFCB335B2DAD, - 38A995151F7D9B88AB220632, - 0C6D96C10A447A809C3180ED, ); name = format; sourceTree = ""; }; - 539682BFDDA5F861DE11CDBE = {isa = PBXGroup; children = ( + 9B15CCAB94F8C1A05FAB6A4F = {isa = PBXGroup; children = ( 72152EF0BB769C0DBD9988FD, 34BFF38490B2CF71D2D729A7, C538DCF5081621C3A50249FD, @@ -1081,16 +1053,48 @@ 8F7E621B4AECC054F9532780, 3558E576ACA227E1D8D34F08, 86E6FB896CF1D678661022E1, ); name = codecs; sourceTree = ""; }; + AD6AE53CFF7E339F12CECA50 = {isa = PBXGroup; children = ( + D8AB6B838BD9105E68EBCBDA, + 80A7C7DCD25FECFF74FA662C, + E16B62BB33F9E730CB92153F, + 900C0B5850BCB3B173CBE883, + 3F9D6C7B798F0431FE922B41, + DBDD1A7CC8D49C6A3102DA50, + 2D21CD49127EDB94ABBF55BB, + 62DE876E589EE728A76CBB24, + 43F7BEA9CFC8EE3A248AD5E3, + 52D5C91716E2495903D9B507, + 2F63AD90BD7D2C780CCAAEEC, + 35D58A1347E7CC7089D2AD12, + D7354CB23CE7DFCB335B2DAD, + 38A995151F7D9B88AB220632, + 0C6D96C10A447A809C3180ED, ); name = format; sourceTree = ""; }; E5BA731E3ACC4C29946F5608 = {isa = PBXGroup; children = ( 0EF073B785B39E125D870A19, 8DB6952BCF28FB10CCB1EFBF, ); name = sampler; sourceTree = ""; }; 509E7F9A118BDECDA7B9D8F5 = {isa = PBXGroup; children = ( - 5C79A63AB3973F196AF3865D, - 539682BFDDA5F861DE11CDBE, + 9B15CCAB94F8C1A05FAB6A4F, + AD6AE53CFF7E339F12CECA50, E5BA731E3ACC4C29946F5608, - 1F806E9E225FDF4EDF520C96, 0237CD1164BCA5B4E670C8E3, ); name = "juce_audio_formats"; sourceTree = ""; }; - 0758E9F0F7230AD78CEBB81F = {isa = PBXGroup; children = ( + EB4CA984D929BB4C5E8A0DF4 = {isa = PBXGroup; children = ( + 5222344B220646AB6EE56F3B, + 56D5DA60AEFC0EAAC929A163, + F828FBBE22188E0819D5655F, + FF8DA2206EFE4F5CAAC6DF9B, ); name = format; sourceTree = ""; }; + A9F22AB7B7F7D81FFC732BAF = {isa = PBXGroup; children = ( + 391774514515C9FC87A3C6F6, + BCA0899EFE4D4F673DAB9FC1, + 62FA9E776551B423E6B3F379, + 84A5BB5EA969B85D0F920DA2, + CFB4DCFA5B5958F2259731ED, + 3DC079D7D7EFDF308DC44D4F, + A5EF5FDF979BC1FF68D3EA33, + 8F9FE852D4F12052C098EECE, + 45333ACAF454F661FC30924E, + 123831F52D2C1E9A68B75613, + B8B0992FEC384EAE2FC83B39, ); name = "format_types"; sourceTree = ""; }; + F1EC4B92A3E0379EF0E5E708 = {isa = PBXGroup; children = ( 2CF5D92890121EE3A9DDE043, 034E7453A74EABC222A41A79, E2C7D05E6D7964D2381EB883, @@ -1107,23 +1111,6 @@ 0684B85054F9745657306704, 905002781F55D9F49BFFD030, 4220968D4303C2B4E8A74932, ); name = processors; sourceTree = ""; }; - 954F81A53BDC81F6A25A6B4E = {isa = PBXGroup; children = ( - 5222344B220646AB6EE56F3B, - 56D5DA60AEFC0EAAC929A163, - F828FBBE22188E0819D5655F, - FF8DA2206EFE4F5CAAC6DF9B, ); name = format; sourceTree = ""; }; - 8FEA4D511414A6D3151E05EC = {isa = PBXGroup; children = ( - 391774514515C9FC87A3C6F6, - BCA0899EFE4D4F673DAB9FC1, - 62FA9E776551B423E6B3F379, - 84A5BB5EA969B85D0F920DA2, - CFB4DCFA5B5958F2259731ED, - 3DC079D7D7EFDF308DC44D4F, - A5EF5FDF979BC1FF68D3EA33, - 8F9FE852D4F12052C098EECE, - 45333ACAF454F661FC30924E, - 123831F52D2C1E9A68B75613, - B8B0992FEC384EAE2FC83B39, ); name = "format_types"; sourceTree = ""; }; 2B9501CD12B8181E14E85BBC = {isa = PBXGroup; children = ( CE91FE6F9C6ECE74706C36F2, CDCD8001286A8AF0A3CF7310, @@ -1141,12 +1128,11 @@ 3AC2629D782CFE655ACD6C65, 3713B247A275EEEB9B652EC8, ); name = utilities; sourceTree = ""; }; BECEC234765DCB2A1916AF07 = {isa = PBXGroup; children = ( - 0758E9F0F7230AD78CEBB81F, - 954F81A53BDC81F6A25A6B4E, - 8FEA4D511414A6D3151E05EC, + EB4CA984D929BB4C5E8A0DF4, + A9F22AB7B7F7D81FFC732BAF, + F1EC4B92A3E0379EF0E5E708, 2B9501CD12B8181E14E85BBC, 6FA59793599F883A73C24E98, - CD3BC1756D3316267ACC2349, 4DFD997E7F702C64C63A6D4F, ); name = "juce_audio_processors"; sourceTree = ""; }; 5CA24AA78FC504D91AF27816 = {isa = PBXGroup; children = ( FEF01BDC64048ADAC8FBF791, @@ -1163,73 +1149,21 @@ 914D99CE5915E7B68BB47EEB, C0C5B5C34349FD6B152E5B3B, 67122ACF3B80664C5DF79570, ); name = gui; sourceTree = ""; }; - BDAF7B3C3F63268B41F3B793 = {isa = PBXGroup; children = ( - 389D048419931AB624A374C2, - DE4546899B5678F164D13F52, ); name = players; sourceTree = ""; }; - DEB6B9A43CE6AD3500147EF5 = {isa = PBXGroup; children = ( + CE193664A4FE19A78C12DB21 = {isa = PBXGroup; children = ( 98B3E514464A269121E203DA, 4C6BB183E191BFA82A1AA237, 6EB796353187279DE4E47BD0, 0D114F1D47457A91C806FCBA, 5F36515D94A9F80D32BAF9E4, ); name = native; sourceTree = ""; }; + 0C9E792863CA2E1E5BC6001B = {isa = PBXGroup; children = ( + 389D048419931AB624A374C2, + DE4546899B5678F164D13F52, ); name = players; sourceTree = ""; }; F0B729F57D59F6E7F7109036 = {isa = PBXGroup; children = ( 5CA24AA78FC504D91AF27816, - BDAF7B3C3F63268B41F3B793, - DEB6B9A43CE6AD3500147EF5, - 287EE31C626E8FE2F123BBFD, + CE193664A4FE19A78C12DB21, + 0C9E792863CA2E1E5BC6001B, 9AC277673AEAAC17ED5F35B9, ); name = "juce_audio_utils"; sourceTree = ""; }; - C31E27EF99F277B0EF16F2D7 = {isa = PBXGroup; children = ( - 5DCC5A2DEAC66784A4693817, - 57D31C89BF4C3D65BA5EB43D, - 27331610849C55C821330571, - 761B16269B2E0FE878159118, - D37B87DADB806AFDBE4574E2, - 81E0CC1C87D661E27B1915BB, - 862FB6A870632364A89DEBB9, - 32934B9113D3A21DB21E40ED, - 9CBFFAA438C054D47D0945E9, - 1EC7385E0D37F4CB00440944, - 5B82A7D9F12F2C67CD7E6612, - D872B951BEE62C3D906D804A, - 8821F4AA705B46FBA4E94B5B, - CEB1A28DF5CB07AE46AD3313, - 25EEF84280B5F3EA7326C500, - 42DBB86AADAD6344D6F768E6, - F574D27FFFEE597B5D9D4AB8, - 559F4C7CC1C38CFF4B8B2008, - C03BC1AFDCE495377D00ECBD, - DE815DF3723CCEE3743CC83B, - 357847C6D03D3B6B61573357, - C1054419444B24A3F4DFAFC7, - 18C1B102BC6C66690A8C7B38, - 34162529D9862A288F5FF4D8, ); name = text; sourceTree = ""; }; - F6CCF48A3DB405381EDD2D78 = {isa = PBXGroup; children = ( - AF33D3913E5876768B35009B, - E007CA988837ED7121E4DEE0, - 258844F8716360A9253F29C9, - 39C6944D95B60E722934D0E8, - 7A3391163C927F1D75974DC6, - 7AE4C43E62213262B7206511, - 6950C104FD807D0B7E6DB812, - D2F70950C08DB4F414D7DA38, - E5D6D7D4DE1CD91162DDC533, - 52EB00A0F0ABB39D2A2D5BE5, ); name = maths; sourceTree = ""; }; - 21674B25C4EE1D1A32509A92 = {isa = PBXGroup; children = ( - FD12D972996815663FE91DAA, - F48CDE09F526F4465693E692, - 9529452677DAC6E6FD5278FE, - CF8215F849A46D15607D4B9F, - 555C2D09AAC12DB54EC0CE9D, - C320A90C1F0F7C133C0C6C1B, - B40051599BAA798C637BDC4C, - 3835B76D934B38B6C939BC1E, - CDE63E5BE3B71836E865467D, - 622FE9C3BDA6397A18CF67C7, - AD0E8DCB4CA4C1E0DDE20B1C, - A40BA2D9759199582967668F, - D8A003EACD80192C72B1DCED, - F86FEF0463B2EBC33550B409, ); name = memory; sourceTree = ""; }; - FB4BD4C00D8BFC66A6DD15E0 = {isa = PBXGroup; children = ( + 1B55175FAEF8C5423A7FD6EC = {isa = PBXGroup; children = ( 7A3C99D6980442005905DE01, F76FA2C7020A9299C164E2B8, 703156CBA00913A6D96A89A6, @@ -1251,37 +1185,7 @@ 4B5A3ADB800429AAED96A5BA, FA387BCE236E4F1EBBC53C4A, A29CD77930F2C2B321F5C9D8, ); name = containers; sourceTree = ""; }; - A7A179C95E6CA82BAC7E6387 = {isa = PBXGroup; children = ( - FD905113460D6EA444D70D28, - 399D5A2B4BEF2DAAC0763176, - 268C2DD7A5086C06C48AE554, - 4D076DF2BE64A289A5366166, - 30CEC34EEA4AA37FC7C4A531, - A70013D9EF802E75631ACC4B, - D81CF228C7FBA60FC881CF92, - 73E0F9D0AEC6CCE0A83460BA, - D510B6C30B99F0E434C923D4, - 90380EA33A749460F2D4F6CC, - CBDEA4A1F8554FAFC499158B, - E6753179649ACB7E9C604796, - E5D4FBA391E54B046E5ED311, - 27B3172AC0BA3C09D54011A4, - 0E257E8B8DBF70AEF3EC9D1F, - 4040D5CA38B66006636F1DDD, - F22A9CAE5CD135E02F7B946B, - 09C6AB518459A9564AA44707, - FAAC902BE5901F56AADAC0C2, - 6D6DC79F0CE4AEECE5544FA9, - A3AD21C4A936C1D9A1CF87D9, - 420F8FB2C71217A004B459B3, ); name = threads; sourceTree = ""; }; - 5C84FE34980BC17B571C4264 = {isa = PBXGroup; children = ( - FF6DB17FE3DFBA0170ECF294, - 05D38E4A7F422D590702363E, - 5833E8D8DF97BA6F326E6A0D, - CEA4D2BD5A9962D84B3D812B, - 06E59012A14299A8C87BD7FD, - FA4F080EB27F363F659DF602, ); name = time; sourceTree = ""; }; - 8BF5865F46819F722759281E = {isa = PBXGroup; children = ( + 8D16F30ED1C44B292B44CC47 = {isa = PBXGroup; children = ( B9EA2A3E4F4268A3A9CAC2E8, 2041B8796B90FEDB95078CA3, 1C1CD66C5A242E5354095684, @@ -1299,66 +1203,43 @@ AA2E4B5C4C6B1164F902721F, 6DBC17A9AF2D5288FA2BE963, 47424EAFCF0E0236D9F36314, ); name = files; sourceTree = ""; }; - 5F13F70EABF89099925A874E = {isa = PBXGroup; children = ( - 7490F1A1A0C65668B890A6C1, - 46F0B8D9E62BAFF1E7A7CC64, - 78B284561F248D4EFE3A90F6, - A50F3FB7AB22B72E6D9ECB51, - 50DB04187388D81882177436, - 0CFE1720CC97F8EC1FA79745, - FE212771DD1CED8E5E1093BF, - 4F0284FA3AB4945EA21980A4, - BFEC403690E7A9D4FCB2828B, - BB2CB3C81D742E6FAE5008A1, ); name = network; sourceTree = ""; }; - 389BC38FAF17FD561778F093 = {isa = PBXGroup; children = ( - ABF6785F88E9CE3836BB982B, - 157021E882DD2790DB3DA1C0, - E547EF3B41C67F84481404AE, - DF10467F6C459A86E13EC454, - 083A0604C8629BC172C3BA3A, - D8D1BC0077F8365E04448DEE, - D5169E402EFAB1F80282111F, - 4EDD1CA5042F64E84327CD60, - 22C710A1089CBAA0BD3F8BCC, - B65F1BEA12EE3D722EF3B232, - 3E83B4A120590EC9DF4DCBF0, - 4285E7B2B74C0B2FACF7159E, - 99AAD99A10028330719CCE04, - 7CED5775FA7B2C0710D74CEF, - 670BE56B6CE2FBE4E703A0D5, ); name = streams; sourceTree = ""; }; - B597683AAB944307404BB3E7 = {isa = PBXGroup; children = ( - 93B1A269C68042238C5F71E9, - 26D06882123226836ADE4CFD, - 0F1DE6A679F43ABFE421EE27, - B242B6D52524EBED51625C00, ); name = logging; sourceTree = ""; }; - 7E48882E5BA9115BE2BC05FD = {isa = PBXGroup; children = ( - B5AF3F3B893E7D19B80EE0C2, - 94D48F57C6FBACDA7E565B61, - 74B1E0D24C58DF1DE20CBA3B, - D7A6B204A55E1FB0B11B58CC, - ADDB88972FBE0D86D26EB667, - 03992F31BA4AEBAE5EDEF39D, ); name = system; sourceTree = ""; }; - 941982915E7191599FC8B22E = {isa = PBXGroup; children = ( - CFB7E1B87400E062203FCAC6, - 436EACF930FA1011D25EFA0B, - 7C072D2CD85FD979297B1E22, - D3927190360398A81F6196EA, ); name = xml; sourceTree = ""; }; - D82F95F0395CE90B33200619 = {isa = PBXGroup; children = ( + 27C42D8A7A99B37A1ACCF293 = {isa = PBXGroup; children = ( 548DBA31770A92A18D6665AE, F46909B432DC1BE9B98409F6, B764D8D0A5436651C5266D43, 52212D0F8D3C9A379010D74E, ); name = javascript; sourceTree = ""; }; - ED50E4D4381F0AC899AEAF4D = {isa = PBXGroup; children = ( - D6BBAD5CCA00B84B5E90C9A3, - FF3542246A0F21B4E8C5F6E9, - B4ECF1571A1D2C15338C5A19, - C7E15666FF73965BB02B2EFE, - B37CE5CF8F375F6B2E252A7C, - A73835E75D4D24A899ACF40A, ); name = zip; sourceTree = ""; }; - 65B07F2876D767468154BE8A = {isa = PBXGroup; children = ( - 9A89D226BF6C6D76318A790F, - C4FBF27BBF30B3B94A0D35BF, ); name = "unit_tests"; sourceTree = ""; }; - 5B7EE567D4C937575D563B79 = {isa = PBXGroup; children = ( + E66EF87E18FBCC42EFE9C41C = {isa = PBXGroup; children = ( + 93B1A269C68042238C5F71E9, + 26D06882123226836ADE4CFD, + 0F1DE6A679F43ABFE421EE27, + B242B6D52524EBED51625C00, ); name = logging; sourceTree = ""; }; + 06DE0F6AD1BB0C61090E329C = {isa = PBXGroup; children = ( + AF33D3913E5876768B35009B, + E007CA988837ED7121E4DEE0, + 258844F8716360A9253F29C9, + 39C6944D95B60E722934D0E8, + 7A3391163C927F1D75974DC6, + 7AE4C43E62213262B7206511, + 6950C104FD807D0B7E6DB812, + D2F70950C08DB4F414D7DA38, + E5D6D7D4DE1CD91162DDC533, + 52EB00A0F0ABB39D2A2D5BE5, ); name = maths; sourceTree = ""; }; + 173B4FB6243FD8D5A1798AE7 = {isa = PBXGroup; children = ( + FD12D972996815663FE91DAA, + F48CDE09F526F4465693E692, + 9529452677DAC6E6FD5278FE, + CF8215F849A46D15607D4B9F, + 555C2D09AAC12DB54EC0CE9D, + C320A90C1F0F7C133C0C6C1B, + B40051599BAA798C637BDC4C, + 3835B76D934B38B6C939BC1E, + CDE63E5BE3B71836E865467D, + 622FE9C3BDA6397A18CF67C7, + AD0E8DCB4CA4C1E0DDE20B1C, + A40BA2D9759199582967668F, + D8A003EACD80192C72B1DCED, + F86FEF0463B2EBC33550B409, ); name = memory; sourceTree = ""; }; + B4B0B5DE6E266E72F640A8EF = {isa = PBXGroup; children = ( 1CA16D2A6FD5DD0CB263CB8A, 9914105815EE6622A7D30D28, 1E90C78BB7EF4CAD220371A8, @@ -1366,7 +1247,7 @@ D020D7629DC183D4937EC160, 69FF9DD54B3FCEF3F903A5EF, AF72F5A48A48FD3E7DD72C13, ); name = misc; sourceTree = ""; }; - 6A9B8BDEB6A78F1B4EEC0023 = {isa = PBXGroup; children = ( + C81F62B368C67842F6F075B0 = {isa = PBXGroup; children = ( E54DC5D961F96339438F6F29, 4438D8DF479243407925791B, D8325B5B81EAAA91E06110F0, @@ -1396,49 +1277,167 @@ AA043A3BA34C03EBF97BD5E3, F92018EE9C24981CF2AC9A70, 3F8A753641763864D08251B1, ); name = native; sourceTree = ""; }; + ED49E543273E10DA761D2786 = {isa = PBXGroup; children = ( + 7490F1A1A0C65668B890A6C1, + 46F0B8D9E62BAFF1E7A7CC64, + 78B284561F248D4EFE3A90F6, + A50F3FB7AB22B72E6D9ECB51, + 50DB04187388D81882177436, + 0CFE1720CC97F8EC1FA79745, + FE212771DD1CED8E5E1093BF, + 4F0284FA3AB4945EA21980A4, + BFEC403690E7A9D4FCB2828B, + BB2CB3C81D742E6FAE5008A1, ); name = network; sourceTree = ""; }; + 786A3B121EBAF0F8DB119F65 = {isa = PBXGroup; children = ( + ABF6785F88E9CE3836BB982B, + 157021E882DD2790DB3DA1C0, + E547EF3B41C67F84481404AE, + DF10467F6C459A86E13EC454, + 083A0604C8629BC172C3BA3A, + D8D1BC0077F8365E04448DEE, + D5169E402EFAB1F80282111F, + 4EDD1CA5042F64E84327CD60, + 22C710A1089CBAA0BD3F8BCC, + B65F1BEA12EE3D722EF3B232, + 3E83B4A120590EC9DF4DCBF0, + 4285E7B2B74C0B2FACF7159E, + 99AAD99A10028330719CCE04, + 7CED5775FA7B2C0710D74CEF, + 670BE56B6CE2FBE4E703A0D5, ); name = streams; sourceTree = ""; }; + 7E48882E5BA9115BE2BC05FD = {isa = PBXGroup; children = ( + B5AF3F3B893E7D19B80EE0C2, + 94D48F57C6FBACDA7E565B61, + 74B1E0D24C58DF1DE20CBA3B, + D7A6B204A55E1FB0B11B58CC, + ADDB88972FBE0D86D26EB667, + 03992F31BA4AEBAE5EDEF39D, ); name = system; sourceTree = ""; }; + AE42B141431E5B203B466D39 = {isa = PBXGroup; children = ( + 5DCC5A2DEAC66784A4693817, + 57D31C89BF4C3D65BA5EB43D, + 27331610849C55C821330571, + 761B16269B2E0FE878159118, + D37B87DADB806AFDBE4574E2, + 81E0CC1C87D661E27B1915BB, + 862FB6A870632364A89DEBB9, + 32934B9113D3A21DB21E40ED, + 9CBFFAA438C054D47D0945E9, + 1EC7385E0D37F4CB00440944, + 5B82A7D9F12F2C67CD7E6612, + D872B951BEE62C3D906D804A, + 8821F4AA705B46FBA4E94B5B, + CEB1A28DF5CB07AE46AD3313, + 25EEF84280B5F3EA7326C500, + 42DBB86AADAD6344D6F768E6, + F574D27FFFEE597B5D9D4AB8, + 559F4C7CC1C38CFF4B8B2008, + C03BC1AFDCE495377D00ECBD, + DE815DF3723CCEE3743CC83B, + 357847C6D03D3B6B61573357, + C1054419444B24A3F4DFAFC7, + 18C1B102BC6C66690A8C7B38, + 34162529D9862A288F5FF4D8, ); name = text; sourceTree = ""; }; + CE8A40087D50875E10A37CDA = {isa = PBXGroup; children = ( + FD905113460D6EA444D70D28, + 399D5A2B4BEF2DAAC0763176, + 268C2DD7A5086C06C48AE554, + 4D076DF2BE64A289A5366166, + 30CEC34EEA4AA37FC7C4A531, + A70013D9EF802E75631ACC4B, + D81CF228C7FBA60FC881CF92, + 73E0F9D0AEC6CCE0A83460BA, + D510B6C30B99F0E434C923D4, + 90380EA33A749460F2D4F6CC, + CBDEA4A1F8554FAFC499158B, + E6753179649ACB7E9C604796, + E5D4FBA391E54B046E5ED311, + 27B3172AC0BA3C09D54011A4, + 0E257E8B8DBF70AEF3EC9D1F, + 4040D5CA38B66006636F1DDD, + F22A9CAE5CD135E02F7B946B, + 09C6AB518459A9564AA44707, + FAAC902BE5901F56AADAC0C2, + 6D6DC79F0CE4AEECE5544FA9, + A3AD21C4A936C1D9A1CF87D9, + 420F8FB2C71217A004B459B3, ); name = threads; sourceTree = ""; }; + CDB5BA893A1B4E5BC9463489 = {isa = PBXGroup; children = ( + FF6DB17FE3DFBA0170ECF294, + 05D38E4A7F422D590702363E, + 5833E8D8DF97BA6F326E6A0D, + CEA4D2BD5A9962D84B3D812B, + 06E59012A14299A8C87BD7FD, + FA4F080EB27F363F659DF602, ); name = time; sourceTree = ""; }; + 65B07F2876D767468154BE8A = {isa = PBXGroup; children = ( + 9A89D226BF6C6D76318A790F, + C4FBF27BBF30B3B94A0D35BF, ); name = "unit_tests"; sourceTree = ""; }; + EFFD269282293C5C81CE4425 = {isa = PBXGroup; children = ( + CFB7E1B87400E062203FCAC6, + 436EACF930FA1011D25EFA0B, + 7C072D2CD85FD979297B1E22, + D3927190360398A81F6196EA, ); name = xml; sourceTree = ""; }; + 04B5DA086364E58F01808CD4 = {isa = PBXGroup; children = ( + D6BBAD5CCA00B84B5E90C9A3, + FF3542246A0F21B4E8C5F6E9, + B4ECF1571A1D2C15338C5A19, + C7E15666FF73965BB02B2EFE, + B37CE5CF8F375F6B2E252A7C, + A73835E75D4D24A899ACF40A, ); name = zip; sourceTree = ""; }; 42917212E44DA9C652D79C10 = {isa = PBXGroup; children = ( - C31E27EF99F277B0EF16F2D7, - F6CCF48A3DB405381EDD2D78, - 21674B25C4EE1D1A32509A92, - FB4BD4C00D8BFC66A6DD15E0, - A7A179C95E6CA82BAC7E6387, - 5C84FE34980BC17B571C4264, - 8BF5865F46819F722759281E, - 5F13F70EABF89099925A874E, - 389BC38FAF17FD561778F093, - B597683AAB944307404BB3E7, + 1B55175FAEF8C5423A7FD6EC, + 8D16F30ED1C44B292B44CC47, + 27C42D8A7A99B37A1ACCF293, + E66EF87E18FBCC42EFE9C41C, + 06DE0F6AD1BB0C61090E329C, + 173B4FB6243FD8D5A1798AE7, + B4B0B5DE6E266E72F640A8EF, + C81F62B368C67842F6F075B0, + ED49E543273E10DA761D2786, + 786A3B121EBAF0F8DB119F65, 7E48882E5BA9115BE2BC05FD, - 941982915E7191599FC8B22E, - D82F95F0395CE90B33200619, - ED50E4D4381F0AC899AEAF4D, + AE42B141431E5B203B466D39, + CE8A40087D50875E10A37CDA, + CDB5BA893A1B4E5BC9463489, 65B07F2876D767468154BE8A, - 5B7EE567D4C937575D563B79, - 6A9B8BDEB6A78F1B4EEC0023, - CBF3EAB8780B385E95B724DD, + EFFD269282293C5C81CE4425, + 04B5DA086364E58F01808CD4, 342934026A84C4D0F10F6261, ); name = "juce_core"; sourceTree = ""; }; - 61635217A921F501198E24D5 = {isa = PBXGroup; children = ( + B4A8238572F442C33CFB8B91 = {isa = PBXGroup; children = ( + 4A2A39F4B493669E2EE55F75, + 7E0469227FB8C4ADE95CC192, + 65BA1BF484E324D84C49A976, + B8EF90B5289EC488C94798D8, ); name = "app_properties"; sourceTree = ""; }; + E0D030AE4E8B8F447B658927 = {isa = PBXGroup; children = ( + 54A15FB5F8608B31D6F914B7, + 70C6C35771C076364F535EE9, + 3ACEB177B9B59EE0CCDDB6DA, ); name = undomanager; sourceTree = ""; }; + 2B550F42C379A24A7973DC7C = {isa = PBXGroup; children = ( C99F1F5F329CE007254A0BAA, A11D18525BD560CC185AA3CB, 044C98142AF352964DC87013, F9E9AAFB2F9B2836C4B80D8C, 77FBBF17D08E7B8031E5591C, 450A7E1D741CA7E42CE0B026, ); name = values; sourceTree = ""; }; - E0D030AE4E8B8F447B658927 = {isa = PBXGroup; children = ( - 54A15FB5F8608B31D6F914B7, - 70C6C35771C076364F535EE9, - 3ACEB177B9B59EE0CCDDB6DA, ); name = undomanager; sourceTree = ""; }; - E59550CA551DE23A41C3FD68 = {isa = PBXGroup; children = ( - 4A2A39F4B493669E2EE55F75, - 7E0469227FB8C4ADE95CC192, - 65BA1BF484E324D84C49A976, - B8EF90B5289EC488C94798D8, ); name = "app_properties"; sourceTree = ""; }; 6AC1A837BB408E74DBE01934 = {isa = PBXGroup; children = ( - 61635217A921F501198E24D5, + B4A8238572F442C33CFB8B91, E0D030AE4E8B8F447B658927, - E59550CA551DE23A41C3FD68, - BB17932D28D0BF702079D964, + 2B550F42C379A24A7973DC7C, 3321C89CC61938E085258B6E, ); name = "juce_data_structures"; sourceTree = ""; }; - 4572CD74E3E8E0B1BBAF6DC2 = {isa = PBXGroup; children = ( + 2CD009CD615DC24BD0F6470D = {isa = PBXGroup; children = ( + 7D01C1A17FA4F1417D7D2ECA, + D0CA23007E441BD284FE299E, + 55EA9ACBD7A75A3C5C06A149, + 7EB138BDEA36400E6ACF1407, + 2F7ED3361615D6AF88411A01, + EC299D99803E2FCF2C73FFD4, + 1590838A763E9945AC0521C4, + 37E19A5A734440194B95D214, ); name = broadcasters; sourceTree = ""; }; + 628277A6F920CDC5644E8965 = {isa = PBXGroup; children = ( + 0E372F199412546C26BE484F, + 3B98713A022D5AF2C4657F6F, + 40D94564D44535C98D477A37, + 1B129BA21B659A9D9202C1CA, + 65EA8CD697C470F78AA54D93, + 302D1B930016FBEB0223BC1D, ); name = interprocess; sourceTree = ""; }; + FD18AC64A9F4DD7F68528074 = {isa = PBXGroup; children = ( 3F9554E1A5AEC56AE59BF3C7, A9EAFCAB28E5A0615B7B13E6, 21D96087EA2F816616E4332E, @@ -1452,28 +1451,7 @@ C6A10970DA4536CE1038393F, E3DBF5011F3087EFA8B6D764, 3BFD5595F009F3D326D3E1E1, ); name = messages; sourceTree = ""; }; - F3001B6B726302FB79970158 = {isa = PBXGroup; children = ( - 7EA9604FAC6EE7F32FDE5836, - 762A8B6317A874ED6C6EB26C, - 1821A278E87CD2C66F4F40ED, - 2589398BE0711F5A44669EC5, ); name = timers; sourceTree = ""; }; - 207ECF7398B362902A1D19AA = {isa = PBXGroup; children = ( - 7D01C1A17FA4F1417D7D2ECA, - D0CA23007E441BD284FE299E, - 55EA9ACBD7A75A3C5C06A149, - 7EB138BDEA36400E6ACF1407, - 2F7ED3361615D6AF88411A01, - EC299D99803E2FCF2C73FFD4, - 1590838A763E9945AC0521C4, - 37E19A5A734440194B95D214, ); name = broadcasters; sourceTree = ""; }; - BF5564468B26D3B20B516B42 = {isa = PBXGroup; children = ( - 0E372F199412546C26BE484F, - 3B98713A022D5AF2C4657F6F, - 40D94564D44535C98D477A37, - 1B129BA21B659A9D9202C1CA, - 65EA8CD697C470F78AA54D93, - 302D1B930016FBEB0223BC1D, ); name = interprocess; sourceTree = ""; }; - B6498D43CA9E19F182A3C675 = {isa = PBXGroup; children = ( + CBC1B327B1FCFC3D6EAF676B = {isa = PBXGroup; children = ( 406D57282ABA5C8368F26995, 586C47B3007AF321674881F8, BFE047A47564580D50665DA2, @@ -1482,13 +1460,17 @@ 67FCADC2EB97BC70A9D811B3, BD06828DB1C4B74A7519AA49, 5AAA012C77F1998912D92E30, ); name = native; sourceTree = ""; }; + 4171E4242435E4E0EDA518AC = {isa = PBXGroup; children = ( + 7EA9604FAC6EE7F32FDE5836, + 762A8B6317A874ED6C6EB26C, + 1821A278E87CD2C66F4F40ED, + 2589398BE0711F5A44669EC5, ); name = timers; sourceTree = ""; }; B5AF34152C8588BAB9750256 = {isa = PBXGroup; children = ( - 4572CD74E3E8E0B1BBAF6DC2, - F3001B6B726302FB79970158, - 207ECF7398B362902A1D19AA, - BF5564468B26D3B20B516B42, - B6498D43CA9E19F182A3C675, - 420403BCB2AE106E1E1A5D27, + 2CD009CD615DC24BD0F6470D, + 628277A6F920CDC5644E8965, + FD18AC64A9F4DD7F68528074, + CBC1B327B1FCFC3D6EAF676B, + 4171E4242435E4E0EDA518AC, F4301F4CE820D61D7586A0E5, ); name = "juce_events"; sourceTree = ""; }; 57AE3C320B306E91E9F9E131 = {isa = PBXGroup; children = ( 1B6B2DA250A8E1E46F92938E, @@ -1508,19 +1490,25 @@ DF9ED1748544B5F67AF9C2C9, 9FB940FB03E282F5D1EC198B, CFA9033F62CB4D259FBED44D, ); name = contexts; sourceTree = ""; }; - 6188AD3D288C30B417411FF0 = {isa = PBXGroup; children = ( - FBE7CA0BE22C4FAD4405C1D4, - CBEA43906CA7292557B08994, - 12EB34780425AA36FE1DC245, - EB59BB11D7DDAF680A22B040, - 6D78C65C434A649A0D95AFE3, - A83AE455D3D67018DD3E919D, - 13E3246B1F0E027A68A9C99E, - FDE3F1C1B2919B6F2BD7F514, ); name = images; sourceTree = ""; }; - F86F4D89CE1DB7AA9BD816AE = {isa = PBXGroup; children = ( - 73EB02E40027EDD8284BFF9C, - E892097A580573FD65F52666, - 85E0FA40CD3060A37A952E57, ); name = "image_formats"; sourceTree = ""; }; + 211C342CC71BC2FC77037BA0 = {isa = PBXGroup; children = ( + 95578AB40B1C675A10B311BC, + 42B8F1BA878A1BED917E257D, + 9032065D16C340236F912E7B, + F0E0952F110B6F2BD19D886D, + 5FB81D3A066552E3728DF1EC, ); name = effects; sourceTree = ""; }; + 297D0417582E9DBCA7342B83 = {isa = PBXGroup; children = ( + 6623C2B741329F6EB55AC7CF, + 05B0A967B4FFDF4C28C5A6D7, + 93E9653ABCA391191830B40A, + 6F4F1A6EA2F5B2A3BF036E9B, + BCFB67C5C864E7D06CAF19B0, + B681D916BB8697A6D90911F0, + A79264AE87654F32A97B62C9, + 27B72042F7CE970F5D161668, + FA5B2545D9CB7B25DA56D0BA, + 8644D284B54DA1838536A917, + 41498D495F9BEC4591301F9F, + F995CE4658FCB0BC77A535FA, ); name = fonts; sourceTree = ""; }; 5B97ACC8C524C6F5F41C6E43 = {isa = PBXGroup; children = ( 6BF2D7FE9E2249BF3502ABB1, 61FF661623DF0A42513174DC, @@ -1537,30 +1525,20 @@ 8BE755437A71CADCE98F2CD2, F54F134490A7622D750C8CCA, 27E028D654DE35C7FAE178D0, ); name = geometry; sourceTree = ""; }; - A22C3CEE8AD85A17007A37C8 = {isa = PBXGroup; children = ( - 930DA33DD6318AB19A4170EE, - E31C6950ECA721FF3F5D8ECA, - 173A0672B8807D34785D3817, ); name = placement; sourceTree = ""; }; - 8DAF025280724EADA6BE748B = {isa = PBXGroup; children = ( - 6623C2B741329F6EB55AC7CF, - 05B0A967B4FFDF4C28C5A6D7, - 93E9653ABCA391191830B40A, - 6F4F1A6EA2F5B2A3BF036E9B, - BCFB67C5C864E7D06CAF19B0, - B681D916BB8697A6D90911F0, - A79264AE87654F32A97B62C9, - 27B72042F7CE970F5D161668, - FA5B2545D9CB7B25DA56D0BA, - 8644D284B54DA1838536A917, - 41498D495F9BEC4591301F9F, - F995CE4658FCB0BC77A535FA, ); name = fonts; sourceTree = ""; }; - 490768A647EA43AC67D3D12E = {isa = PBXGroup; children = ( - 95578AB40B1C675A10B311BC, - 42B8F1BA878A1BED917E257D, - 9032065D16C340236F912E7B, - F0E0952F110B6F2BD19D886D, - 5FB81D3A066552E3728DF1EC, ); name = effects; sourceTree = ""; }; - C803FC536BC8402E2B7AEAC6 = {isa = PBXGroup; children = ( + 2809603872B00E38F1B0ACAA = {isa = PBXGroup; children = ( + 73EB02E40027EDD8284BFF9C, + E892097A580573FD65F52666, + 85E0FA40CD3060A37A952E57, ); name = "image_formats"; sourceTree = ""; }; + D272EDCBE9214B14D4D63CF9 = {isa = PBXGroup; children = ( + FBE7CA0BE22C4FAD4405C1D4, + CBEA43906CA7292557B08994, + 12EB34780425AA36FE1DC245, + EB59BB11D7DDAF680A22B040, + 6D78C65C434A649A0D95AFE3, + A83AE455D3D67018DD3E919D, + 13E3246B1F0E027A68A9C99E, + FDE3F1C1B2919B6F2BD7F514, ); name = images; sourceTree = ""; }; + 7508F069A0EEC89D67161F42 = {isa = PBXGroup; children = ( FB28A976AA6297363E1E1EBF, FAC115B00D222400E1D5F9AC, ED4C4504733394EA9FFF33C1, @@ -1574,19 +1552,54 @@ 54D82FC2559A9ABF3D123287, 657D2EDA55C54F1346D194B5, 61A6B2C311EEA8E33BAC6BB3, ); name = native; sourceTree = ""; }; + 0F241A3C356368DDA154CDEE = {isa = PBXGroup; children = ( + 930DA33DD6318AB19A4170EE, + E31C6950ECA721FF3F5D8ECA, + 173A0672B8807D34785D3817, ); name = placement; sourceTree = ""; }; 2D8A34026E7E1361A586EAD2 = {isa = PBXGroup; children = ( 57AE3C320B306E91E9F9E131, F1FD5D391F3A1DD1484CC470, - 6188AD3D288C30B417411FF0, - F86F4D89CE1DB7AA9BD816AE, + 211C342CC71BC2FC77037BA0, + 297D0417582E9DBCA7342B83, 5B97ACC8C524C6F5F41C6E43, - A22C3CEE8AD85A17007A37C8, - 8DAF025280724EADA6BE748B, - 490768A647EA43AC67D3D12E, - C803FC536BC8402E2B7AEAC6, - B541F0869263AF482C4DCC95, + 2809603872B00E38F1B0ACAA, + D272EDCBE9214B14D4D63CF9, + 7508F069A0EEC89D67161F42, + 0F241A3C356368DDA154CDEE, 8BD123306A2D1EF7C1D22245, ); name = "juce_graphics"; sourceTree = ""; }; - 337B049DAAC697627CE5CF81 = {isa = PBXGroup; children = ( + 02500E3E1FB6215A271FC9F0 = {isa = PBXGroup; children = ( + 1C4FB479D974C51E179E5CDF, + 564F0964BE4672CECEF674FB, ); name = application; sourceTree = ""; }; + C33D0ACEFB5EAD62AB221F68 = {isa = PBXGroup; children = ( + 0E76C14A6B1F3FFAA12390E4, + 965C305E056C8DE917F22585, + 4AD562E921CCD6D6B8FE23E1, + E64584D04C5D69143388CB70, + C5911A1FF6A2BCE091B396AB, + 02EB0ED6B77472A4FCFFBA2C, + FDDAC94C3AB05BFD61CA61A9, + DA5736D3C39C7698A783FB30, + DB8CFD98F9E0781658934C46, + DE5FE350590ECB6263994BF0, + 97C2FBD16505F28651574ED4, + 5E709F00CAC67777947770B4, + D965799F88CFAF2B71319F35, + D2BF69627F2C37082987AB57, + DC88621B627CB67B2B95A622, + 0CAFC4B9A6219281775A3E5B, + 1C90CDB7F9330D36B4945DDB, + 19A3C290AF0C327E51EE50B9, ); name = buttons; sourceTree = ""; }; + C1973E9D229DE91BC49A41C3 = {isa = PBXGroup; children = ( + 31DA1B6D46C641F5802C5A8E, + 27AA00C367BCDA2C9CAC0B86, + 133E18FB3B6527A6F52765BD, + EFA7A6158C4450A5F49335B2, + CACFA7250965121635E31062, + AA7C5FBE142FDA49CF98F8D3, + B68C520871891DF238BC5332, + 206E356909BCD419F0227EAD, + F05B07755D52F4579664F325, ); name = commands; sourceTree = ""; }; + CEA387B51CC2E04C5D254A67 = {isa = PBXGroup; children = ( 5D027E407997AA18E4CF1EDF, 19CA3A888AC0FD869B853833, 07EFBED954F04C319CB2F9AF, @@ -1596,28 +1609,46 @@ EFF09BB7A926D34D346B623E, FCF0A463925D6F585DD6202C, B9A51E1C7C09AE5A7CAF3917, ); name = components; sourceTree = ""; }; - C463BBD86FEDB139712EA6CF = {isa = PBXGroup; children = ( - 840A3675B901258B093CB403, - EFA7D5D1E0D579F2A90ACA08, - 5D4067E343DF0A467BEFE839, - 24BBD64939FB0C2BD8F61109, - A60C27A824FFE6E15583EE8A, - 7DDB16A901128BE86F80DEFB, - BF6B7DB39861D84A3E3F561C, - 7CB3FE2E4112E90CCA8AA810, - B2F80573F3A1212FB1E6D906, - 4842EF0D071A698E74241221, - 343F49E131E61D31B4BC5C57, - 42612832B30BB80C8EB491E8, - E714DB16F28186F6066A2128, - 1D4879E26B36BD535C18A9D3, - 792BE67446E999C97E7FF6B9, - 708EDE4D073A3EF58DEFED5E, - 8B3A2BF481E5D8A840D38A8A, - 50A391FB0CB736D7E525A138, - 8A2EFC2A1E0E3776BEC1166E, - 9BB387E421ADFFAE54294C8B, ); name = mouse; sourceTree = ""; }; - F28A0FA5DD929E0BAE5A045E = {isa = PBXGroup; children = ( + 5251865C18B873021839D1DC = {isa = PBXGroup; children = ( + 2A4FA5A0C18884315A2BAA0E, + 232388289B7BBC5816A43249, + DEFF1D8B0920A1439A4D7BF6, + 82A31A72EE1B1122AD16DDD5, + 41D8D99E399E3061D8647B6F, + 2419CBA43268699E7362495D, + 3CEAC402885D5C05543AEC43, + 1AF6D6EE9265937269A36117, + 18311E0283D643D5AA5315C4, + B893FA799437E480C9DE5B41, + E9A446C55A081B96178D1DF8, + 154BFBF033016D3F53C135A7, + E9CB5952B7883AEA94F52CBD, + 42379E3C735E219BDFAF02A3, + 1CC052B5ECA38077CF568526, ); name = drawables; sourceTree = ""; }; + 010B618C0ECF262D1013BD50 = {isa = PBXGroup; children = ( + A3F4880140755128A9366902, + 4C2C33B3B949FEC97B8EC157, + 02AEF119DAE26DD4377CF71A, + 11039E870792A02AA4D565FA, + 12D5247115B5E1E84191DE1A, + 81841F5651407464F0E84EC8, + 190EFA08DB05C92B8D1B0AD8, + CFF3E3E27308529D8A71B0B4, + 7CCA151E82558DC048A0B0B9, + 909D8C2A34136BCE5DD1624E, + 7F9118DAA9DBAF51A9F6568C, + 920A9AC6E84BD8C5F577F300, + E66BD44DE4ECB0006C6FA1D4, + C56E494E3CBBA81EC41A1204, + A01DEBAEE9AB76E8B825FB81, + BFE9F5D17514F7496A0E1FBD, + 726082C5F9A7979F3FABEACD, + CCB1BA9CE06D43FFDCC604F9, + CA1CA4CF942628C7230FA0A1, + 3D88CEAC1976B883A23AC53A, + B42234064E15C0434ECAB137, + 548925C0C47E873AD639FE55, ); name = filebrowser; sourceTree = ""; }; + 431926AC5FC212A6744F764C = {isa = PBXGroup; children = ( B9599FA267A2D9DF780D1A4D, 23F72B1694AF62D52C346872, E1871D3D858086CF673A183A, @@ -1631,62 +1662,7 @@ 9C2BCC6888992FB311E9DE55, 0D0985E65845458A00278B57, B96B0163C4CFAD6785A3C3E5, ); name = keyboard; sourceTree = ""; }; - 56EB2644BEB375E96FFDB277 = {isa = PBXGroup; children = ( - 9952FD3B36C3D6931A2583D5, - 9423EE84AD1D727F1A54C319, - 705B6E0CD1386CA2F07D6732, - 33A878765A09C802481B9C15, - D3957791C1B2356C6C8E2B57, - 7F3E6B542D50A883C894BB80, - 83E9E9ED4F5B56FD0923EE4A, - 4762CD33A159E85908B0E19E, - AD2F40F909601CA27A812B8C, - 838F96335357B0ABC303B315, - 5A35ED55E78C44D95FB87953, - 325F95D7CCE05417F5D5E868, - FECBDF4257FCEBD21CD0A927, - AA2978CA07499EAB148542E5, - 79687ECAE8A73A35FF764840, - 935631A43F142753B8157DFC, - AE492D9CE55520860BB98811, - CBED69C3DEA3267956D07422, - DE1A8EC854F8790727DCF5F3, - 1613C60554C64D0412E00830, - 6BE4D55046267AE14D783A63, - 25BAE9C3274FCB9B18BA8CE2, - CE8CB04640126669BFEE3AEA, - 135928C66EE16C7492632ED9, - 26256BDC3ADD6959CE1C407D, - D3D4DD7FE5C3AF27D3F58FA0, - 0471ACD8C6F72174559980ED, ); name = widgets; sourceTree = ""; }; - F21C2E02BB9A7B806BA6FDB3 = {isa = PBXGroup; children = ( - D5768D2D6A39D95EF43C132E, - 1FA1524362ECBEF1BFC4277D, - E7CF9D38EE588FA67A1A0BA6, - 5C329E49A7726F2F7D29A5CE, - 49C1F4A5D4C4AE85FC1A5702, - B1491869A8D959D8ADD6EBD1, - 166CC76435C89EA0561DB9C3, - 1E3D3C9C8DF4FC7680BF1423, - 508D90C6525EAC0F06E20997, - EF147A98D8A6B876B4582A69, - 83F8BA4279F6A4BFDEEE77BB, - 3F16561D04149D2BD7B5F0DA, - A4EB7735FCB209FBE5386239, - 8C6B9CC54B9A7224E628F52D, - 01A829E9DEA5A0EF38D602AF, - 4F39D64767AC3AD73EF2487A, - 6684245E4BCE66A5920D9E13, - F5BAB8FB52B9C8D17BE40700, - 205ADC8CC71D24C402FF2B83, ); name = windows; sourceTree = ""; }; - 33BBBECEED368BF384CD6024 = {isa = PBXGroup; children = ( - 362C86206432CC5C84EFBB20, - 03A78461E09AB9BE72F5207A, - 195ECE7C25A147B52C72FBCF, - 96465102CA605250058AC064, - 59F3D582CE541DAA298A579A, - 9A6E397D7BBC81095BAAAD2E, ); name = menus; sourceTree = ""; }; - EA46CBDEAE075F4A0EFB17B8 = {isa = PBXGroup; children = ( + 40C54AA0087F5359A8666528 = {isa = PBXGroup; children = ( D05ED5DAE5FDE25E68241713, 11FC57C0D11AA6304EF94ECB, 00B3EB5421ADC0A47CE075CB, @@ -1723,72 +1699,7 @@ 2E1707957B3A71C40A6F1F7C, A8B10D5403457AC452A79974, 3DC83676AED8D6983662484E, ); name = layout; sourceTree = ""; }; - 2DD6F57708F802312CA5BF98 = {isa = PBXGroup; children = ( - 0E76C14A6B1F3FFAA12390E4, - 965C305E056C8DE917F22585, - 4AD562E921CCD6D6B8FE23E1, - E64584D04C5D69143388CB70, - C5911A1FF6A2BCE091B396AB, - 02EB0ED6B77472A4FCFFBA2C, - FDDAC94C3AB05BFD61CA61A9, - DA5736D3C39C7698A783FB30, - DB8CFD98F9E0781658934C46, - DE5FE350590ECB6263994BF0, - 97C2FBD16505F28651574ED4, - 5E709F00CAC67777947770B4, - D965799F88CFAF2B71319F35, - D2BF69627F2C37082987AB57, - DC88621B627CB67B2B95A622, - 0CAFC4B9A6219281775A3E5B, - 1C90CDB7F9330D36B4945DDB, - 19A3C290AF0C327E51EE50B9, ); name = buttons; sourceTree = ""; }; - 9336B3C84F7AFB272AB4C05A = {isa = PBXGroup; children = ( - D4CBCCDAEDCA252F0B18EFB8, - C5722BC8011A7AC3863F0D75, - AE6A1EBE360F2459CA97F28B, - 9B8720C269E819F628E496AB, - AB6971C8443CCD45581FFE27, - C7E68949CF2B71B6E69B840E, - DF342E66360E70CC9FB2D088, - 73874DC78A39B299149E1833, - 210EB9B831928D624AE206CA, - 07CE970AACAA2798441E68D4, - 92EBDE8F4FF4C7D9010CC277, - 08E3D8FC63613F3C281A7321, - 13DF23791903EE23C9B94266, - 70A18D791C54F97B989BB9B7, ); name = positioning; sourceTree = ""; }; - EA561CC2B72C994B79B4B535 = {isa = PBXGroup; children = ( - 2A4FA5A0C18884315A2BAA0E, - 232388289B7BBC5816A43249, - DEFF1D8B0920A1439A4D7BF6, - 82A31A72EE1B1122AD16DDD5, - 41D8D99E399E3061D8647B6F, - 2419CBA43268699E7362495D, - 3CEAC402885D5C05543AEC43, - 1AF6D6EE9265937269A36117, - 18311E0283D643D5AA5315C4, - B893FA799437E480C9DE5B41, - E9A446C55A081B96178D1DF8, - 154BFBF033016D3F53C135A7, - E9CB5952B7883AEA94F52CBD, - 42379E3C735E219BDFAF02A3, - 1CC052B5ECA38077CF568526, ); name = drawables; sourceTree = ""; }; - 434C42C36135FE7684B6F031 = {isa = PBXGroup; children = ( - 1A84A81FAEA61DF6BED354E4, - E69FD8FE872B3C3288FCAC3C, - 75A2D021E11AA4607169DD5E, - BF35646861CB41B4E5E870B1, - 53EFA64C90C33873A3781E3C, - 49BE2BA580A602FF754A654D, - 1157C5195475CB5DEB691C76, - B0272A07E4B5B5A604A69BB9, - 83C3BA024505ECF97CB1A494, - 1BE58FC46BC1464AADF59A9D, - 380D54F375B780CC7EC45081, - A6B2BEE83F1EBFF07FB1DB20, - 1DE92FD3DCB1D583A6CE3ED1, - 13FCDAA1C90D4662B42A6F04, ); name = properties; sourceTree = ""; }; - 55349B9B1470DCE282526DD9 = {isa = PBXGroup; children = ( + 4ECAF94E46FCB482B3FA79C7 = {isa = PBXGroup; children = ( 55FDA65726A4950DE49F544E, 3FA224F24C8FA15816EAD2CC, B73B72735553F94BB245708E, @@ -1797,48 +1708,40 @@ B89750FEFE02641F138EEF22, A8987822AEB05A94888A8B3B, 98FA1B3621002A39482A7037, ); name = lookandfeel; sourceTree = ""; }; - DC6712CAA9405C233E75A7FF = {isa = PBXGroup; children = ( - A3F4880140755128A9366902, - 4C2C33B3B949FEC97B8EC157, - 02AEF119DAE26DD4377CF71A, - 11039E870792A02AA4D565FA, - 12D5247115B5E1E84191DE1A, - 81841F5651407464F0E84EC8, - 190EFA08DB05C92B8D1B0AD8, - CFF3E3E27308529D8A71B0B4, - 7CCA151E82558DC048A0B0B9, - 909D8C2A34136BCE5DD1624E, - 7F9118DAA9DBAF51A9F6568C, - 920A9AC6E84BD8C5F577F300, - E66BD44DE4ECB0006C6FA1D4, - C56E494E3CBBA81EC41A1204, - A01DEBAEE9AB76E8B825FB81, - BFE9F5D17514F7496A0E1FBD, - 726082C5F9A7979F3FABEACD, - CCB1BA9CE06D43FFDCC604F9, - CA1CA4CF942628C7230FA0A1, - 3D88CEAC1976B883A23AC53A, - B42234064E15C0434ECAB137, - 548925C0C47E873AD639FE55, ); name = filebrowser; sourceTree = ""; }; - F0DB78EC318A281B3663E9EB = {isa = PBXGroup; children = ( - 31DA1B6D46C641F5802C5A8E, - 27AA00C367BCDA2C9CAC0B86, - 133E18FB3B6527A6F52765BD, - EFA7A6158C4450A5F49335B2, - CACFA7250965121635E31062, - AA7C5FBE142FDA49CF98F8D3, - B68C520871891DF238BC5332, - 206E356909BCD419F0227EAD, - F05B07755D52F4579664F325, ); name = commands; sourceTree = ""; }; - 036F27B8715C8D171F0B9504 = {isa = PBXGroup; children = ( + 70F34C9F48D84AE2406276D8 = {isa = PBXGroup; children = ( + 362C86206432CC5C84EFBB20, + 03A78461E09AB9BE72F5207A, + 195ECE7C25A147B52C72FBCF, + 96465102CA605250058AC064, + 59F3D582CE541DAA298A579A, + 9A6E397D7BBC81095BAAAD2E, ); name = menus; sourceTree = ""; }; + 35207DDBDD954DB409AB6F6D = {isa = PBXGroup; children = ( BBF07C581A05714CBD5DF3BD, 815D7A4601E13B895F1C30D0, C37CAC3770FC20323394F6C6, BB165BEFBD9C1341F9872A34, ); name = misc; sourceTree = ""; }; - 5BF272D6B14E94CFEB5B31B0 = {isa = PBXGroup; children = ( - 1C4FB479D974C51E179E5CDF, - 564F0964BE4672CECEF674FB, ); name = application; sourceTree = ""; }; - D2AE29C501A665FC867FE143 = {isa = PBXGroup; children = ( + FF434740C846469689A2D591 = {isa = PBXGroup; children = ( + 840A3675B901258B093CB403, + EFA7D5D1E0D579F2A90ACA08, + 5D4067E343DF0A467BEFE839, + 24BBD64939FB0C2BD8F61109, + A60C27A824FFE6E15583EE8A, + 7DDB16A901128BE86F80DEFB, + BF6B7DB39861D84A3E3F561C, + 7CB3FE2E4112E90CCA8AA810, + B2F80573F3A1212FB1E6D906, + 4842EF0D071A698E74241221, + 343F49E131E61D31B4BC5C57, + 42612832B30BB80C8EB491E8, + E714DB16F28186F6066A2128, + 1D4879E26B36BD535C18A9D3, + 792BE67446E999C97E7FF6B9, + 708EDE4D073A3EF58DEFED5E, + 8B3A2BF481E5D8A840D38A8A, + 50A391FB0CB736D7E525A138, + 8A2EFC2A1E0E3776BEC1166E, + 9BB387E421ADFFAE54294C8B, ); name = mouse; sourceTree = ""; }; + 12B751BE7F689CD5BD41CE8A = {isa = PBXGroup; children = ( 7275182C65010E12C94356DF, 7E845FFAB78320D64910356F, 9D3F96C9C324FF902D078BC6, @@ -1855,25 +1758,102 @@ 933351F1C4B5CD31951BA33C, 660143D122CB260A7A45507A, 0EA946592DBF37DCD20A2B52, ); name = native; sourceTree = ""; }; + CD7EA14B65816A81312D7A7D = {isa = PBXGroup; children = ( + D4CBCCDAEDCA252F0B18EFB8, + C5722BC8011A7AC3863F0D75, + AE6A1EBE360F2459CA97F28B, + 9B8720C269E819F628E496AB, + AB6971C8443CCD45581FFE27, + C7E68949CF2B71B6E69B840E, + DF342E66360E70CC9FB2D088, + 73874DC78A39B299149E1833, + 210EB9B831928D624AE206CA, + 07CE970AACAA2798441E68D4, + 92EBDE8F4FF4C7D9010CC277, + 08E3D8FC63613F3C281A7321, + 13DF23791903EE23C9B94266, + 70A18D791C54F97B989BB9B7, ); name = positioning; sourceTree = ""; }; + 77D04100C05B535E9B95DFB2 = {isa = PBXGroup; children = ( + 1A84A81FAEA61DF6BED354E4, + E69FD8FE872B3C3288FCAC3C, + 75A2D021E11AA4607169DD5E, + BF35646861CB41B4E5E870B1, + 53EFA64C90C33873A3781E3C, + 49BE2BA580A602FF754A654D, + 1157C5195475CB5DEB691C76, + B0272A07E4B5B5A604A69BB9, + 83C3BA024505ECF97CB1A494, + 1BE58FC46BC1464AADF59A9D, + 380D54F375B780CC7EC45081, + A6B2BEE83F1EBFF07FB1DB20, + 1DE92FD3DCB1D583A6CE3ED1, + 13FCDAA1C90D4662B42A6F04, ); name = properties; sourceTree = ""; }; + C8A15E6042C8D28D1055C349 = {isa = PBXGroup; children = ( + 9952FD3B36C3D6931A2583D5, + 9423EE84AD1D727F1A54C319, + 705B6E0CD1386CA2F07D6732, + 33A878765A09C802481B9C15, + D3957791C1B2356C6C8E2B57, + 7F3E6B542D50A883C894BB80, + 83E9E9ED4F5B56FD0923EE4A, + 4762CD33A159E85908B0E19E, + AD2F40F909601CA27A812B8C, + 838F96335357B0ABC303B315, + 5A35ED55E78C44D95FB87953, + 325F95D7CCE05417F5D5E868, + FECBDF4257FCEBD21CD0A927, + AA2978CA07499EAB148542E5, + 79687ECAE8A73A35FF764840, + 935631A43F142753B8157DFC, + AE492D9CE55520860BB98811, + CBED69C3DEA3267956D07422, + DE1A8EC854F8790727DCF5F3, + 1613C60554C64D0412E00830, + 6BE4D55046267AE14D783A63, + 25BAE9C3274FCB9B18BA8CE2, + CE8CB04640126669BFEE3AEA, + 135928C66EE16C7492632ED9, + 26256BDC3ADD6959CE1C407D, + D3D4DD7FE5C3AF27D3F58FA0, + 0471ACD8C6F72174559980ED, ); name = widgets; sourceTree = ""; }; + 7008BDE0AB7E6F6D71625D8E = {isa = PBXGroup; children = ( + D5768D2D6A39D95EF43C132E, + 1FA1524362ECBEF1BFC4277D, + E7CF9D38EE588FA67A1A0BA6, + 5C329E49A7726F2F7D29A5CE, + 49C1F4A5D4C4AE85FC1A5702, + B1491869A8D959D8ADD6EBD1, + 166CC76435C89EA0561DB9C3, + 1E3D3C9C8DF4FC7680BF1423, + 508D90C6525EAC0F06E20997, + EF147A98D8A6B876B4582A69, + 83F8BA4279F6A4BFDEEE77BB, + 3F16561D04149D2BD7B5F0DA, + A4EB7735FCB209FBE5386239, + 8C6B9CC54B9A7224E628F52D, + 01A829E9DEA5A0EF38D602AF, + 4F39D64767AC3AD73EF2487A, + 6684245E4BCE66A5920D9E13, + F5BAB8FB52B9C8D17BE40700, + 205ADC8CC71D24C402FF2B83, ); name = windows; sourceTree = ""; }; 84A48DC9C4EF88B64103B1E0 = {isa = PBXGroup; children = ( - 337B049DAAC697627CE5CF81, - C463BBD86FEDB139712EA6CF, - F28A0FA5DD929E0BAE5A045E, - 56EB2644BEB375E96FFDB277, - F21C2E02BB9A7B806BA6FDB3, - 33BBBECEED368BF384CD6024, - EA46CBDEAE075F4A0EFB17B8, - 2DD6F57708F802312CA5BF98, - 9336B3C84F7AFB272AB4C05A, - EA561CC2B72C994B79B4B535, - 434C42C36135FE7684B6F031, - 55349B9B1470DCE282526DD9, - DC6712CAA9405C233E75A7FF, - F0DB78EC318A281B3663E9EB, - 036F27B8715C8D171F0B9504, - 5BF272D6B14E94CFEB5B31B0, - D2AE29C501A665FC867FE143, - 58A61E077684ADCBD3789FE2, + 02500E3E1FB6215A271FC9F0, + C33D0ACEFB5EAD62AB221F68, + C1973E9D229DE91BC49A41C3, + CEA387B51CC2E04C5D254A67, + 5251865C18B873021839D1DC, + 010B618C0ECF262D1013BD50, + 431926AC5FC212A6744F764C, + 40C54AA0087F5359A8666528, + 4ECAF94E46FCB482B3FA79C7, + 70F34C9F48D84AE2406276D8, + 35207DDBDD954DB409AB6F6D, + FF434740C846469689A2D591, + 12B751BE7F689CD5BD41CE8A, + CD7EA14B65816A81312D7A7D, + 77D04100C05B535E9B95DFB2, + C8A15E6042C8D28D1055C349, + 7008BDE0AB7E6F6D71625D8E, 012D15DF2BF8C2A8D78BBCB1, ); name = "juce_gui_basics"; sourceTree = ""; }; 573170B3CC20B249A3C7C729 = {isa = PBXGroup; children = ( 6C1A5BA3260AA97BCC54E99C, @@ -1935,7 +1915,6 @@ 048E0E1E43C826C3961B8D2B, 1852906FF1B7446D8B491B4B, 52DEC30C22F2FA87C80976E9, - A7E97E9FB812DD77207D8297, 56F4146CF072135E9FD55A0A, ); name = "juce_gui_extra"; sourceTree = ""; }; 90489A23F0DBAD5F1550CE20 = {isa = PBXGroup; children = ( 659E76D64C99326CAFA99BB7, @@ -1951,20 +1930,20 @@ 1B0481B8E7A5B7489D768A07, ); name = "Juce Modules"; sourceTree = ""; }; 0B8996A5E2671A4628476CFB = {isa = PBXGroup; children = ( A65BB8D452A2A4859FA41F8B, - 210267A63B6A116B12EEA4D2, - 23750FB9BDD75177C64F9AF9, - 5DBE129199F61C74A5CCB575, - 958486C51C2FDFD3734B281C, - 10D3D9E820330B4B1A0BBA94, - 11934147B8A79709D0664625, - FB9C77F74F072D199A7BD698, - 050729FE03ED356C75E970EA, - B2DA2CD83338C8A369A3F2E8, - F58AAC0B88773E609A8E3AC5, - D71B725E56C2BAFB9DAED99D, + 71F53610B155D5DC0BC44FE8, + 4175A059B8C8C5B5326C868D, + F3E66241B460F42763126C07, + 4FE58F1BB8347D978F8549DC, + 70AF1456B19C4D3B424A3883, + E18F04B8EBF4E3AB1362BDC5, + 28E1AF36A775870224F6D59B, + 5B68D6F2AC0D0B18DE5FFF63, + 7724F42B3BE3B4D25047BEB7, + 70D0CB56D167630AB1912B0B, + C4B5CF7830AAA69A7E9A12C2, 26FE7BE182FBB9E7228A082D, ); name = "Juce Library Code"; sourceTree = ""; }; ED3C55ACC14D6DE2BC3B8A1D = {isa = PBXGroup; children = ( - 37DC811124A88BCB26442FCB, + 9516A19EE58DED8326DD0306, FAAB4EAE4A57B642D3B9EC23, ); name = Resources; sourceTree = ""; }; 02A7F817D49F2BC1D70F4242 = {isa = PBXGroup; children = ( 9EADBF913B7A454B6BE93A4A, @@ -1978,7 +1957,7 @@ 0A58FDDF6FB9253F51939A52, 3058871156B921B9E5946C4F, ); name = Frameworks; sourceTree = ""; }; 1DFEAF972822E305E013CC06 = {isa = PBXGroup; children = ( - E21F9CB67E9AEAD65CD9DCA8, ); name = Products; sourceTree = ""; }; + 614F2084407B35D62101F69F, ); name = Products; sourceTree = ""; }; 3BA1BA0CAFE969E99950C06B = {isa = PBXGroup; children = ( 4E2981EC48DBFD725AD8E626, 90489A23F0DBAD5F1550CE20, @@ -1986,7 +1965,7 @@ ED3C55ACC14D6DE2BC3B8A1D, 02A7F817D49F2BC1D70F4242, 1DFEAF972822E305E013CC06, ); name = Source; sourceTree = ""; }; - 4109632EEA7D099673B1E062 = {isa = XCBuildConfiguration; buildSettings = { + 19B7C16D592FB25D09022191 = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; @@ -2002,12 +1981,12 @@ "JUCE_APP_VERSION_HEX=0x10000", ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.plist; INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; PRODUCT_BUNDLE_IDENTIFIER = com.juce.AudioPerformanceTest; SDKROOT_ppc = macosx10.5; }; name = Debug; }; - 09D597E96F6325A998BC9022 = {isa = XCBuildConfiguration; buildSettings = { + B7A6988E30C0A68B01EDC53B = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; @@ -2024,7 +2003,7 @@ GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.plist; INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; PRODUCT_BUNDLE_IDENTIFIER = com.juce.AudioPerformanceTest; @@ -2061,28 +2040,29 @@ PRODUCT_NAME = "AudioPerformanceTest"; WARNING_CFLAGS = -Wreorder; ZERO_LINK = NO; }; name = Release; }; + AA3837ADCB1CEB3B0E2D20B3 = {isa = PBXTargetDependency; target = E9FD2656EC625C9C8DE30219; }; 7097CF6AC086DAC346ACCCD9 = {isa = XCConfigurationList; buildConfigurations = ( B907CDF95622107F20CD7617, BF82CBDF63CC37CADC61A511, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 965DF4C962A484ACA2BB96C0 = {isa = XCConfigurationList; buildConfigurations = ( - 4109632EEA7D099673B1E062, - 09D597E96F6325A998BC9022, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - CDF2FFB3060605016011601F = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 674C2AF5989C06689C6065FC = {isa = XCConfigurationList; buildConfigurations = ( + 19B7C16D592FB25D09022191, + B7A6988E30C0A68B01EDC53B, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + C86DD529EC94922C2AB61742 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( DA21A6E7A18555DCFC63B07C, ); runOnlyForDeploymentPostprocessing = 0; }; - 8252EB072CFAB1AB3968841B = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 6C2BE2DE2ECC96615ED827AB = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 07451DA87757F9EF80E31BE8, - A85A66764138757920895E7B, - D2748B9B6E711F365D241A30, - AD584F6DBB33504DBB9B3CB0, - 5BBB2FD60B58F627CEA757CC, - C0A36CC2E2360C7FF03F3C69, - D0ECDCC9EDA71E9C5F7A18D9, - 9CD99CB95F40FEB539AC2272, - 0B611B2FD7E65543B8990D43, - A12B2EAD5BB1C126BEE4F2DA, - 7174F6DD7C6B3DF1A4BFDB99, - 7FDA000D7F9053D6660FEB0D, ); runOnlyForDeploymentPostprocessing = 0; }; - 9A4D69EC6BE7008F085186CC = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + C8A2264A4D4A0CD6B519AC01, + 8286920FF6CFA9E7A4975C33, + 1B7DB3536E20A460AC331BC8, + 03B1B72B30A18968B9F453A1, + 1382A55F62D5255C2BA0E9D1, + B02021DAEC57D0539B9BCFC6, + 4DA57D238C2CD7F9DFD3C2A2, + 232C91F7D3438C28FD4076E6, + BE51C0B1FCD9B908D9EB63B1, + 7D6AEBA4AD90EC541711C680, + 5144E6127912F3BAE3E6CCC8, ); runOnlyForDeploymentPostprocessing = 0; }; + 409D569C572B6EF7F4F1702D = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( 8A0F71A4EEC7FE694352DD94, 30BE30F31D1AAED9FC893AA5, 9B19A6655FCC8086134C8656, @@ -2093,11 +2073,11 @@ 9031C69145EE085B60904363, F8099BB77DC0D01DCCC6AFB9, 537E779F6008999191B2920A, ); runOnlyForDeploymentPostprocessing = 0; }; - 93712BA435FCAA2B42B97C40 = {isa = PBXNativeTarget; buildConfigurationList = 965DF4C962A484ACA2BB96C0; buildPhases = ( - CDF2FFB3060605016011601F, - 8252EB072CFAB1AB3968841B, - 9A4D69EC6BE7008F085186CC, ); buildRules = ( ); dependencies = ( ); name = AudioPerformanceTest; productName = AudioPerformanceTest; productReference = E21F9CB67E9AEAD65CD9DCA8; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; - 9CE2A44801B5B4BE7A9667DA = {isa = PBXProject; buildConfigurationList = 7097CF6AC086DAC346ACCCD9; attributes = { LastUpgradeCheck = 0440; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 3BA1BA0CAFE969E99950C06B; projectDirPath = ""; projectRoot = ""; targets = ( 93712BA435FCAA2B42B97C40 ); }; + E9FD2656EC625C9C8DE30219 = {isa = PBXNativeTarget; buildConfigurationList = 674C2AF5989C06689C6065FC; buildPhases = ( + C86DD529EC94922C2AB61742, + 6C2BE2DE2ECC96615ED827AB, + 409D569C572B6EF7F4F1702D, ); buildRules = ( ); dependencies = ( ); name = "AudioPerformanceTest (App)"; productName = AudioPerformanceTest; productReference = 614F2084407B35D62101F69F; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; + 9CE2A44801B5B4BE7A9667DA = {isa = PBXProject; buildConfigurationList = 7097CF6AC086DAC346ACCCD9; attributes = { LastUpgradeCheck = 0440; TargetAttributes = { E9FD2656EC625C9C8DE30219 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 3BA1BA0CAFE969E99950C06B; projectDirPath = ""; projectRoot = ""; targets = (E9FD2656EC625C9C8DE30219); }; }; rootObject = 9CE2A44801B5B4BE7A9667DA; } diff --git a/extras/AudioPerformanceTest/Builds/MacOSX/Info.plist b/extras/AudioPerformanceTest/Builds/MacOSX/Info-App.plist similarity index 88% rename from extras/AudioPerformanceTest/Builds/MacOSX/Info.plist rename to extras/AudioPerformanceTest/Builds/MacOSX/Info-App.plist index 869030ef34..e3afff182a 100644 --- a/extras/AudioPerformanceTest/Builds/MacOSX/Info.plist +++ b/extras/AudioPerformanceTest/Builds/MacOSX/Info-App.plist @@ -11,6 +11,8 @@ $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName AudioPerformanceTest + CFBundleDisplayName + AudioPerformanceTest CFBundlePackageType APPL CFBundleSignature diff --git a/extras/AudioPerformanceTest/Builds/VisualStudio2015/AudioPerformanceTest.vcxproj b/extras/AudioPerformanceTest/Builds/VisualStudio2015/AudioPerformanceTest.vcxproj index 995a8187b9..1f90081d4b 100644 --- a/extras/AudioPerformanceTest/Builds/VisualStudio2015/AudioPerformanceTest.vcxproj +++ b/extras/AudioPerformanceTest/Builds/VisualStudio2015/AudioPerformanceTest.vcxproj @@ -217,6 +217,9 @@ true + + true + true @@ -232,15 +235,6 @@ true - - true - - - true - - - true - true @@ -289,25 +283,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -337,9 +316,45 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + true + + true + + + true + + + true + + + true + + + true + true @@ -358,21 +373,6 @@ true - - true - - - true - - - true - - - true - - - true - true @@ -406,9 +406,6 @@ true - - true - true @@ -418,43 +415,7 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -472,33 +433,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -523,40 +457,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -565,31 +469,16 @@ true - + true - + true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -655,16 +544,115 @@ true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -673,22 +661,16 @@ true - + true - + true - + true - - true - - - true - - + true @@ -709,6 +691,18 @@ true + + true + + + true + + + true + + + true + true @@ -718,6 +712,12 @@ true + + true + + + true + true @@ -739,43 +739,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -796,10 +763,40 @@ true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -826,6 +823,51 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -838,6 +880,153 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -859,19 +1048,70 @@ true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -940,246 +1180,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -1246,17 +1246,17 @@ true - - - - - - - - - - - + + + + + + + + + + + @@ -1296,6 +1296,8 @@ + + @@ -1303,20 +1305,10 @@ + - - - - - - - - - - - @@ -1326,8 +1318,25 @@ + + + + + + + + + + + + + + + + + @@ -1338,15 +1347,6 @@ - - - - - - - - - @@ -1367,21 +1367,35 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1402,22 +1416,49 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1437,62 +1478,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - + + + + - - - - + + + + + + + + @@ -1502,19 +1510,11 @@ - - - - - - - - - - + + @@ -1525,10 +1525,15 @@ - - - - + + + + + + + + + @@ -1539,26 +1544,91 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1572,14 +1642,21 @@ - - - - - - - - + + + + + + + + + + + + + + + @@ -1604,83 +1681,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1709,19 +1709,6 @@ - - - - - - - - - - - - - diff --git a/extras/AudioPerformanceTest/Builds/VisualStudio2015/AudioPerformanceTest.vcxproj.filters b/extras/AudioPerformanceTest/Builds/VisualStudio2015/AudioPerformanceTest.vcxproj.filters index 7048c47322..0c102a8839 100644 --- a/extras/AudioPerformanceTest/Builds/VisualStudio2015/AudioPerformanceTest.vcxproj.filters +++ b/extras/AudioPerformanceTest/Builds/VisualStudio2015/AudioPerformanceTest.vcxproj.filters @@ -35,45 +35,45 @@ {CACD7B50-4DB3-76AF-A6E8-90DF94F8F594} + + {45C2CE26-EC4B-BA52-58F3-297C408E1483} + {9D270B31-2425-8FDB-84A4-6A2288FF5B2F} {0F766DD4-A277-CB86-5647-42498C8B41E1} - - {D64942B4-6984-3623-3347-45D472AE1C61} - - - {45C2CE26-EC4B-BA52-58F3-297C408E1483} - {01603E05-423B-5FC3-1BEE-E15ED33B5688} + + {D64942B4-6984-3623-3347-45D472AE1C61} + {65CB28F8-0422-A8F3-9A17-959E12A1F8E2} - - {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} - {0CD9E281-DDD0-91EC-6F77-EA9D9D5E0E1A} + + {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} + {40C5CA7C-AEBB-05B1-11CE-AE41D87B5CCB} {0B0E7392-324B-088C-FBEB-5FE999D61782} - - {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} - {20254EFE-6CBD-31A7-2119-92B1E0E0E311} {70796D73-6D30-8A1B-4732-7C021E47C05A} + + {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} + {EB8DD942-E2CB-869F-D381-E02A65BA790B} @@ -86,17 +86,26 @@ {8167E753-09C7-5D1C-EF2B-32D297557443} - - {AEDCB7F7-7A36-5392-8E9A-715F5BDE35CB} - {B48C883A-8483-AF6D-808C-1D9A749048D8} + + {AEDCB7F7-7A36-5392-8E9A-715F5BDE35CB} + {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} - - {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + + {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + + {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + + {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} {476C69CE-0B67-6B85-E888-45D91E37A29E} @@ -104,17 +113,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} - - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -122,60 +125,57 @@ {91929C6F-7902-B87D-5260-2F6CBF8ACD93} - - {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} - {4634FFAE-9586-A970-364C-4FDDA635F99F} - - {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} - - {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - {F03654BC-34D8-F975-BEA3-750CC2783D23} + + {C9F6D785-BF78-5AA1-B479-111C65397864} {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} - - {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} - - {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + {F03654BC-34D8-F975-BEA3-750CC2783D23} {928D8FCC-5E00-174B-6538-93E8D75AB396} - - {1988E68A-A964-64CA-0E0C-26FF9BC5176C} + + {358AEA11-3F96-36AE-7B32-71373B5C5396} {3DF036EA-3B80-553B-2494-3AAC835CAE75} - - {358AEA11-3F96-36AE-7B32-71373B5C5396} + + {1988E68A-A964-64CA-0E0C-26FF9BC5176C} {F2A38F45-6E55-E147-2E52-64A89FDD9D59} - - {6172822C-01A5-E824-12DA-FA43FA934D35} - - - {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} - {B098BC87-3298-7E6B-12DC-D26C09CDCAED} {6322B88F-984A-C3CD-6263-38D7AA49B6EC} + + {6172822C-01A5-E824-12DA-FA43FA934D35} + {73C1E759-AD90-59A3-942E-2D10FAA29107} + + {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} + {EE1AE8C3-0908-8F53-A4E5-D930C7C97C26} @@ -185,81 +185,81 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} - - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - - {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {E37D25CD-4350-4614-055B-7ABC55E67895} {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {C1A1A236-AB01-173E-96C3-0706BFF93B1E} + + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + + {413F481F-075C-2958-115C-D8268682FCB7} {FFC6E1CC-C772-75E6-5087-FB5D4E016799} + + {1182303F-ECA3-166D-AC0C-92C5E762CB93} + {8E43579F-C185-266D-DD67-F8B95BD80F2F} + + {61712B09-5783-ADFA-2001-5A0C3D7764EB} + + + {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + + {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} + {2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D} - - {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + {5A0AA36E-3957-E413-14C6-31CBE15271DF} + + + {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} {A92719C7-70BE-57C4-CE9E-A9BC9DFEB757} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} + + + {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} + + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} + + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + + {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} + + + {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} + {75F1F352-251A-75E0-D941-8431588F5C1E} {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} - - {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} - - - {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} - - - {5A0AA36E-3957-E413-14C6-31CBE15271DF} - - - {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} - - - {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} - - - {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} - - - {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} - - - {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - - {61712B09-5783-ADFA-2001-5A0C3D7764EB} - - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} - {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -373,6 +373,9 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -388,15 +391,6 @@ Juce Modules\juce_audio_devices\midi_io - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\audio_cd - Juce Modules\juce_audio_devices\native @@ -451,26 +445,11 @@ Juce Modules\juce_audio_devices\native - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_formats\codecs @@ -499,27 +478,30 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - Juce Modules\juce_audio_processors\format @@ -538,6 +520,24 @@ Juce Modules\juce_audio_processors\format_types + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + Juce Modules\juce_audio_processors\scanning @@ -571,9 +571,6 @@ Juce Modules\juce_audio_utils\gui - - Juce Modules\juce_audio_utils\players - Juce Modules\juce_audio_utils\native @@ -589,44 +586,8 @@ Juce Modules\juce_audio_utils\native - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\memory + + Juce Modules\juce_audio_utils\players Juce Modules\juce_core\containers @@ -643,33 +604,6 @@ Juce Modules\juce_core\containers - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - Juce Modules\juce_core\files @@ -694,41 +628,11 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -736,32 +640,17 @@ Juce Modules\juce_core\logging - - Juce Modules\juce_core\system + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc @@ -841,6 +730,126 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -850,33 +859,6 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - Juce Modules\juce_events\broadcasters @@ -895,6 +877,18 @@ Juce Modules\juce_events\interprocess + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + Juce Modules\juce_events\native @@ -910,6 +904,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_graphics\colour @@ -931,44 +931,11 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\effects Juce Modules\juce_graphics\fonts @@ -988,11 +955,41 @@ Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -1024,6 +1021,51 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -1036,6 +1078,153 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -1057,20 +1246,92 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -1138,267 +1399,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_extra\code_editor @@ -1477,37 +1477,37 @@ Juce Modules\juce_gui_extra\native - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code @@ -1623,6 +1623,12 @@ Juce Modules\juce_audio_basics + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -1644,48 +1650,18 @@ Juce Modules\juce_audio_devices\midi_io + + Juce Modules\juce_audio_devices\native + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\native - Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - Juce Modules\juce_audio_formats\codecs @@ -1713,12 +1689,63 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + Juce Modules\juce_audio_processors\processors @@ -1749,33 +1776,6 @@ Juce Modules\juce_audio_processors\processors - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - Juce Modules\juce_audio_processors\scanning @@ -1836,50 +1836,92 @@ Juce Modules\juce_audio_utils - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -1941,53 +1983,134 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text Juce Modules\juce_core\threads @@ -2046,92 +2169,8 @@ Juce Modules\juce_core\time - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -2139,12 +2178,6 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - Juce Modules\juce_core\zip @@ -2154,42 +2187,21 @@ Juce Modules\juce_core\zip - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - Juce Modules\juce_core + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -2199,21 +2211,33 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - Juce Modules\juce_data_structures + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + Juce Modules\juce_events\messages @@ -2241,36 +2265,6 @@ Juce Modules\juce_events\messages - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - Juce Modules\juce_events\native @@ -2280,6 +2274,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_events @@ -2310,17 +2310,32 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -2352,38 +2367,17 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -2394,9 +2388,60 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + Juce Modules\juce_graphics + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -2412,6 +2457,171 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -2451,29 +2661,50 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -2547,237 +2778,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_basics @@ -2860,41 +2860,6 @@ Juce Library Code - - - Juce Modules\juce_audio_basics - - - Juce Modules\juce_audio_devices - - - Juce Modules\juce_audio_formats - - - Juce Modules\juce_audio_processors - - - Juce Modules\juce_audio_utils - - - Juce Modules\juce_core - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_gui_extra - - Juce Library Code diff --git a/extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest.xcodeproj/project.pbxproj b/extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest.xcodeproj/project.pbxproj index cf2b229ecf..9866fdb177 100644 --- a/extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest.xcodeproj/project.pbxproj +++ b/extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest.xcodeproj/project.pbxproj @@ -6,6 +6,7 @@ objectVersion = 46; objects = { + E1282ABB96DD2E7FA7F63559 = {isa = PBXBuildFile; fileRef = 614F2084407B35D62101F69F; }; 8A0F71A4EEC7FE694352DD94 = {isa = PBXBuildFile; fileRef = 9EADBF913B7A454B6BE93A4A; }; 30BE30F31D1AAED9FC893AA5 = {isa = PBXBuildFile; fileRef = 18C1CCE5684F9FA0478F27AD; }; E74C8479F0E10EC28E1E2DE1 = {isa = PBXBuildFile; fileRef = C6030BFC7A19A5075AB0EC28; }; @@ -19,17 +20,17 @@ AA0C9E035BB509F01A09310B = {isa = PBXBuildFile; fileRef = 60795BF638A7024B62C0DF09; }; A783F6E198806332E7FB9744 = {isa = PBXBuildFile; fileRef = 8693552B5FA53C2003A66302; }; 07451DA87757F9EF80E31BE8 = {isa = PBXBuildFile; fileRef = 0564535EEA7E4462926EA0C9; }; - A85A66764138757920895E7B = {isa = PBXBuildFile; fileRef = 210267A63B6A116B12EEA4D2; }; - D2748B9B6E711F365D241A30 = {isa = PBXBuildFile; fileRef = 23750FB9BDD75177C64F9AF9; }; - AD584F6DBB33504DBB9B3CB0 = {isa = PBXBuildFile; fileRef = 5DBE129199F61C74A5CCB575; }; - 5BBB2FD60B58F627CEA757CC = {isa = PBXBuildFile; fileRef = 958486C51C2FDFD3734B281C; }; - C0A36CC2E2360C7FF03F3C69 = {isa = PBXBuildFile; fileRef = 10D3D9E820330B4B1A0BBA94; }; - D0ECDCC9EDA71E9C5F7A18D9 = {isa = PBXBuildFile; fileRef = 11934147B8A79709D0664625; }; - 9CD99CB95F40FEB539AC2272 = {isa = PBXBuildFile; fileRef = FB9C77F74F072D199A7BD698; }; - 0B611B2FD7E65543B8990D43 = {isa = PBXBuildFile; fileRef = 050729FE03ED356C75E970EA; }; - A12B2EAD5BB1C126BEE4F2DA = {isa = PBXBuildFile; fileRef = B2DA2CD83338C8A369A3F2E8; }; - 7174F6DD7C6B3DF1A4BFDB99 = {isa = PBXBuildFile; fileRef = F58AAC0B88773E609A8E3AC5; }; - 7FDA000D7F9053D6660FEB0D = {isa = PBXBuildFile; fileRef = D71B725E56C2BAFB9DAED99D; }; + C8A2264A4D4A0CD6B519AC01 = {isa = PBXBuildFile; fileRef = 71F53610B155D5DC0BC44FE8; }; + 8286920FF6CFA9E7A4975C33 = {isa = PBXBuildFile; fileRef = 4175A059B8C8C5B5326C868D; }; + 1B7DB3536E20A460AC331BC8 = {isa = PBXBuildFile; fileRef = F3E66241B460F42763126C07; }; + 03B1B72B30A18968B9F453A1 = {isa = PBXBuildFile; fileRef = 4FE58F1BB8347D978F8549DC; }; + 1382A55F62D5255C2BA0E9D1 = {isa = PBXBuildFile; fileRef = 70AF1456B19C4D3B424A3883; }; + B02021DAEC57D0539B9BCFC6 = {isa = PBXBuildFile; fileRef = E18F04B8EBF4E3AB1362BDC5; }; + 4DA57D238C2CD7F9DFD3C2A2 = {isa = PBXBuildFile; fileRef = 28E1AF36A775870224F6D59B; }; + 232C91F7D3438C28FD4076E6 = {isa = PBXBuildFile; fileRef = 5B68D6F2AC0D0B18DE5FFF63; }; + BE51C0B1FCD9B908D9EB63B1 = {isa = PBXBuildFile; fileRef = 7724F42B3BE3B4D25047BEB7; }; + 7D6AEBA4AD90EC541711C680 = {isa = PBXBuildFile; fileRef = 70D0CB56D167630AB1912B0B; }; + 5144E6127912F3BAE3E6CCC8 = {isa = PBXBuildFile; fileRef = C4B5CF7830AAA69A7E9A12C2; }; 00B3EB5421ADC0A47CE075CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; }; 012D15DF2BF8C2A8D78BBCB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; }; 014DFF3FB0FDC135308C6E21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceSelectorComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -51,7 +52,6 @@ 044C63BB6A59D2CCD32B938B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPENote.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.h"; sourceTree = "SOURCE_ROOT"; }; 044C98142AF352964DC87013 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; 0471ACD8C6F72174559980ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; }; - 050729FE03ED356C75E970EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; 0564535EEA7E4462926EA0C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = "SOURCE_ROOT"; }; 05B0A967B4FFDF4C28C5A6D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; 05CBF668EC4BC50B5DCA18A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colours.h"; path = "../../../../modules/juce_graphics/colour/juce_Colours.h"; sourceTree = "SOURCE_ROOT"; }; @@ -92,11 +92,9 @@ 0EF073B785B39E125D870A19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Sampler.cpp"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp"; sourceTree = "SOURCE_ROOT"; }; 0F1DE6A679F43ABFE421EE27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; }; 0F8B72901197C072D8A251C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; - 10D3D9E820330B4B1A0BBA94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; }; 11039E870792A02AA4D565FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; }; 111D30204547DC878B617182 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; 1157C5195475CB5DEB691C76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 11934147B8A79709D0664625 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; 11FC57C0D11AA6304EF94ECB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; 123831F52D2C1E9A68B75613 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VSTPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 12C680C68A15B9A590264B18 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; @@ -149,15 +147,12 @@ 1E567E1528267ECC91AF502F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; }; 1E90C78BB7EF4CAD220371A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; 1EC7385E0D37F4CB00440944 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Identifier.h"; path = "../../../../modules/juce_core/text/juce_Identifier.h"; sourceTree = "SOURCE_ROOT"; }; - 1ED1F43731F2685F5D21EBA7 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_devices/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; - 1F806E9E225FDF4EDF520C96 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_formats/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 1FA1524362ECBEF1BFC4277D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; }; 1FFA016099DD003AD459C0DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; 2041B8796B90FEDB95078CA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; }; 205ADC8CC71D24C402FF2B83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; 206E356909BCD419F0227EAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; }; 208C4054409C79403B243A5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; }; - 210267A63B6A116B12EEA4D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 210EB9B831928D624AE206CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; }; 21D96087EA2F816616E4332E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; }; 21F301B0D046171D6539BF27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -167,7 +162,6 @@ 22E3F6B9DDFD03BD6A370215 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; 232388289B7BBC5816A43249 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; }; 2335BE9EABE76A9CE1A36942 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageCollector.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"; sourceTree = "SOURCE_ROOT"; }; - 23750FB9BDD75177C64F9AF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; 23869E1A76176ACAD04E37C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDirectoryScanner.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h"; sourceTree = "SOURCE_ROOT"; }; 23F72B1694AF62D52C346872 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; }; 2419CBA43268699E7362495D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; }; @@ -193,7 +187,7 @@ 27B3172AC0BA3C09D54011A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; }; 27B72042F7CE970F5D161668 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; 27E028D654DE35C7FAE178D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; }; - 287EE31C626E8FE2F123BBFD = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_utils/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 28E1AF36A775870224F6D59B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; 2A4FA5A0C18884315A2BAA0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; }; 2B3C50412FEB0EA622DF305B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; }; 2B7BFB3838421DA82147C48E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GroupComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -238,7 +232,6 @@ 36A22D2BE15728117A7DEDD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 3713B247A275EEEB9B652EC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorValueTreeState.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h"; sourceTree = "SOURCE_ROOT"; }; 374CF3F673D1531ED15AB53D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 37DC811124A88BCB26442FCB = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = "SOURCE_ROOT"; }; 37E19A5A734440194B95D214 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; }; 380D54F375B780CC7EC45081 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 3835B76D934B38B6C939BC1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; }; @@ -279,9 +272,9 @@ 40D94564D44535C98D477A37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnection.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp"; sourceTree = "SOURCE_ROOT"; }; 41498D495F9BEC4591301F9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; }; 41650B41C126475F54AAD41F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + 4175A059B8C8C5B5326C868D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../JuceLibraryCode/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; 41D8D99E399E3061D8647B6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; }; 41E1F1ED873B8778A4DEA391 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemTrayIconComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 420403BCB2AE106E1E1A5D27 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_events/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 420F8FB2C71217A004B459B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; }; 42101ED87C863ED563FFF529 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; }; 4219E70B9BD7F88017386C92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -327,6 +320,7 @@ 4EDD1CA5042F64E84327CD60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 4F0284FA3AB4945EA21980A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; 4F39D64767AC3AD73EF2487A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4FE58F1BB8347D978F8549DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../JuceLibraryCode/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; 505A5FC3466F4BB88CDD6F06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiOutput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h"; sourceTree = "SOURCE_ROOT"; }; 508D90C6525EAC0F06E20997 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 50A391FB0CB736D7E525A138 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; }; @@ -359,11 +353,11 @@ 5833E8D8DF97BA6F326E6A0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; 586C47B3007AF321674881F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; 589727A3116C274566D20F5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; }; - 58A61E077684ADCBD3789FE2 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 59F3D582CE541DAA298A579A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; }; 5A35ED55E78C44D95FB87953 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Slider.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp"; sourceTree = "SOURCE_ROOT"; }; 5A44382799C715F1D127572E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; }; 5AAA012C77F1998912D92E30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5B68D6F2AC0D0B18DE5FFF63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; 5B82A7D9F12F2C67CD7E6612 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; 5C0BCE12CD5910802FE6270C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; 5C329E49A7726F2F7D29A5CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; }; @@ -372,7 +366,6 @@ 5D027E407997AA18E4CF1EDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; }; 5D117A1C65CF13922E0D23F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableObjectResizer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp"; sourceTree = "SOURCE_ROOT"; }; 5D4067E343DF0A467BEFE839 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 5DBE129199F61C74A5CCB575 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; 5DCC5A2DEAC66784A4693817 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Base64.cpp"; path = "../../../../modules/juce_core/text/juce_Base64.cpp"; sourceTree = "SOURCE_ROOT"; }; 5E669B7D8CBA66972A65674F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; 5E709F00CAC67777947770B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; }; @@ -382,10 +375,10 @@ 5F4047D2F2642271CA6733B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ActiveXComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 5FB81D3A066552E3728DF1EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; }; 5FF59BC1E0DC1F0B3E0E6F3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp"; sourceTree = "SOURCE_ROOT"; }; - 603A88A19320A7D9042B6564 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 60795BF638A7024B62C0DF09 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; 60A50A49E5967A9028E6A63F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDirectoryScanner.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp"; sourceTree = "SOURCE_ROOT"; }; 6113F4C3AFB861DCAF88C212 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; }; + 614F2084407B35D62101F69F = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AudioPerformanceTest.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; 615C7F551EF2E2884579A6E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; }; 61A6B2C311EEA8E33BAC6BB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; 61CE8FA0CDA2F912D807F4F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailCache.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h"; sourceTree = "SOURCE_ROOT"; }; @@ -436,11 +429,14 @@ 705B6E0CD1386CA2F07D6732 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 708EDE4D073A3EF58DEFED5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 70A18D791C54F97B989BB9B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; }; + 70AF1456B19C4D3B424A3883 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../JuceLibraryCode/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; }; 70C6C35771C076364F535EE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 70D0CB56D167630AB1912B0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 713557DD8AA431F8738BD492 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LagrangeInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; 717E6F679760C87003A61B3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; 719BBE0A15A89976BC3E2A30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 71D3AB9601D27C46645DB729 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; }; + 71F53610B155D5DC0BC44FE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../JuceLibraryCode/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 72152EF0BB769C0DBD9988FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 726082C5F9A7979F3FABEACD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 7275182C65010E12C94356DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -456,6 +452,7 @@ 75BB3CCA02966F27A86A8E29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserBase.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 761B16269B2E0FE878159118 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; }; 762A8B6317A874ED6C6EB26C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; }; + 7724F42B3BE3B4D25047BEB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../JuceLibraryCode/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; 77FBBF17D08E7B8031E5591C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTreeSynchroniser.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"; sourceTree = "SOURCE_ROOT"; }; 78797E6CD4C710681CEB454A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; }; 78B284561F248D4EFE3A90F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -558,10 +555,10 @@ 948915DF1F924C4541081A84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; }; 948E6A2F9801318A6BACA604 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDataConverters.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h"; sourceTree = "SOURCE_ROOT"; }; 94D48F57C6FBACDA7E565B61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; }; + 9516A19EE58DED8326DD0306 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-App.plist"; path = "Info-App.plist"; sourceTree = "SOURCE_ROOT"; }; 9529452677DAC6E6FD5278FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; }; 953503B501F2A820E50272B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; 95578AB40B1C675A10B311BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; - 958486C51C2FDFD3734B281C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; 95999D007040ED6D71F707F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorGraph.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp"; sourceTree = "SOURCE_ROOT"; }; 96465102CA605250058AC064 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; }; 965C305E056C8DE917F22585 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; }; @@ -618,7 +615,6 @@ A79264AE87654F32A97B62C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; A7D772CCD36E7C5A73DC8827 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserBase.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h"; sourceTree = "SOURCE_ROOT"; }; A7DC01954B7BA0400CF9E92D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MP3AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - A7E97E9FB812DD77207D8297 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_extra/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; A83AE455D3D67018DD3E919D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; A86F543278EE0AAA8D35DFDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; }; A8987822AEB05A94888A8B3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -648,7 +644,6 @@ B1491869A8D959D8ADD6EBD1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentPeer.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h"; sourceTree = "SOURCE_ROOT"; }; B1E652138C0C7722876CE14D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; B242B6D52524EBED51625C00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; }; - B2DA2CD83338C8A369A3F2E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; B2F80573F3A1212FB1E6D906 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; }; B37CE5CF8F375F6B2E252A7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; }; B3EAB67C94C39842591864ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; }; @@ -656,7 +651,6 @@ B40051599BAA798C637BDC4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; }; B42234064E15C0434ECAB137 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; B4ECF1571A1D2C15338C5A19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - B541F0869263AF482C4DCC95 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_graphics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; B58743FE48B10A581E6097CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsPostScriptRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; B5AF3F3B893E7D19B80EE0C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; }; B5BA79CC82D06D67F7AB1B94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -679,7 +673,6 @@ B9A51E1C7C09AE5A7CAF3917 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; }; B9EA2A3E4F4268A3A9CAC2E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; BB165BEFBD9C1341F9872A34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; }; - BB17932D28D0BF702079D964 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_data_structures/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; BB2CB3C81D742E6FAE5008A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; }; BB9B97EE17846FF5D9FE7338 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; BBF07C581A05714CBD5DF3BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleComponent.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -707,6 +700,7 @@ C34F15FED2D289A1AC6D85A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorListener.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h"; sourceTree = "SOURCE_ROOT"; }; C37CAC3770FC20323394F6C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; }; C446EDBBF5875AB92030FB38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; }; + C4B5CF7830AAA69A7E9A12C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; C4FBF27BBF30B3B94A0D35BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; }; C538DCF5081621C3A50249FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CoreAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; C56E494E3CBBA81EC41A1204 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -732,11 +726,9 @@ CBDEA4A1F8554FAFC499158B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; }; CBEA43906CA7292557B08994 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; }; CBED69C3DEA3267956D07422 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; }; - CBF3EAB8780B385E95B724DD = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_core/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; CC30533925763AA9ED55E94F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_ClangBugWorkaround.h"; path = "../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h"; sourceTree = "SOURCE_ROOT"; }; CCB1BA9CE06D43FFDCC604F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; }; CCE8EEA7069F237E15EB946B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; - CD3BC1756D3316267ACC2349 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_processors/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; CD3E850D3908EFE7F8B7A82C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PositionableAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; CDCD8001286A8AF0A3CF7310 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KnownPluginList.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h"; sourceTree = "SOURCE_ROOT"; }; CDE63E5BE3B71836E865467D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; @@ -773,7 +765,6 @@ D60BBF26B241D4E0F29B5249 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; D63CF56220D7C1524F1A7C47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiser.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; D6BBAD5CCA00B84B5E90C9A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - D71B725E56C2BAFB9DAED99D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; D7354CB23CE7DFCB335B2DAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; D791D87AE07C498853260542 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPENote.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp"; sourceTree = "SOURCE_ROOT"; }; D799FF6C1BF87B39E4FDB80D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; }; @@ -808,8 +799,8 @@ E09CB83038E18107CA2C28DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEMessages.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h"; sourceTree = "SOURCE_ROOT"; }; E16B62BB33F9E730CB92153F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatManager.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; E1871D3D858086CF673A183A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; }; + E18F04B8EBF4E3AB1362BDC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; E1BB9D521BF6C055F5B88628 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; - E21F9CB67E9AEAD65CD9DCA8 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AudioPerformanceTest.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; E26676BD5A6B2C3F0BB2BE20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; }; E2C7D05E6D7964D2381EB883 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPlayHead.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPlayHead.h"; sourceTree = "SOURCE_ROOT"; }; E2E90E7B9A2553E3B6F3D0D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; }; @@ -862,13 +853,13 @@ F31FE1E9C603E85BF9F41198 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; F3C3C927DD896E6430A3D16C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilter.h"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h"; sourceTree = "SOURCE_ROOT"; }; F3D9216291FEFB769A468037 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FloatVectorOperations.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h"; sourceTree = "SOURCE_ROOT"; }; + F3E66241B460F42763126C07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../JuceLibraryCode/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; F4301F4CE820D61D7586A0E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; }; F46909B432DC1BE9B98409F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; }; F48CDE09F526F4465693E692 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; F5330B527A064EF5B090EBF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; F54F134490A7622D750C8CCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; }; F574D27FFFEE597B5D9D4AB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; }; - F58AAC0B88773E609A8E3AC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; F5BAB8FB52B9C8D17BE40700 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; F5EDE89DF742273F2E8AF37B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DeletedAtShutdown.cpp"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp"; sourceTree = "SOURCE_ROOT"; }; F67C1BF09F2B3CCFF02C24F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -893,7 +884,6 @@ FAC115B00D222400E1D5F9AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; FAC582400D322D57D41D8977 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZone.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.h"; sourceTree = "SOURCE_ROOT"; }; FB28A976AA6297363E1E1EBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; - FB9C77F74F072D199A7BD698 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; FBE7CA0BE22C4FAD4405C1D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; }; FC321D7DCFB665DF3068C2AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyMappingEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; FCF0A463925D6F585DD6202C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -995,9 +985,12 @@ 8B6F361755154F478F38D141, EEBD66053EC9797A858B2940, 3E0E5D5F19C4F7B0DFAB9F3A, - 603A88A19320A7D9042B6564, 68D13E2D9B08BD4A7ACA1303, ); name = "juce_audio_basics"; sourceTree = ""; }; - 4E64F6EA09CE52EE1316E17B = {isa = PBXGroup; children = ( + 08BF5989EE6F51B83454F600 = {isa = PBXGroup; children = ( + A9195101DAEB146C07DD97B7, + 01A4B617EA0597B206DCF8EF, + BBF2546E01AB5753F3CFC166, ); name = "audio_cd"; sourceTree = ""; }; + E7D115EE13A0CE70E9AD8B73 = {isa = PBXGroup; children = ( 4DC5892113DCC74FF9C2221B, 4B223BE03B161EC55F06A8CD, 67227017A993DC10991AFF59, @@ -1005,22 +998,13 @@ E7EB024409B9DEC37BD8D754, 8042077CBB3B876988394E42, BCD0AACFBE72D3B11FEA6C7D, ); name = "audio_io"; sourceTree = ""; }; - 98906606A277640B00993C2B = {isa = PBXGroup; children = ( + 5480BF87B3419A5D538B1ED6 = {isa = PBXGroup; children = ( A76E706A649469B7EE53B6B9, 2335BE9EABE76A9CE1A36942, 6347424185D8863263EEC3D2, 907554687EB07FD46FB6ACB7, 505A5FC3466F4BB88CDD6F06, ); name = "midi_io"; sourceTree = ""; }; - 863E0659317BE1ED8B4D09E0 = {isa = PBXGroup; children = ( - 3893090992F41B8C2319B043, - 98CE9C68EA30EC98C4461E11, - 0C3FA548837CFC7413AD19DD, - 40B50860F40E23FE342878E3, ); name = sources; sourceTree = ""; }; - 01C208E3D8AEC79BD03CE6DA = {isa = PBXGroup; children = ( - A9195101DAEB146C07DD97B7, - 01A4B617EA0597B206DCF8EF, - BBF2546E01AB5753F3CFC166, ); name = "audio_cd"; sourceTree = ""; }; - 48D6A2E98CFA6EB28C4159A2 = {isa = PBXGroup; children = ( + 96221557E7D6117D7E453676 = {isa = PBXGroup; children = ( 8C80FA03FCB76A83F013333A, 4D16C1FEA0AC15DF70D75640, 90BCC51EEB48DE909139B357, @@ -1040,31 +1024,19 @@ 1DDC6D7570A00F8953FE5D4C, 70168B0928AC533A7A382FAA, EC1BE55B8ACFD3CC5710B0DD, ); name = native; sourceTree = ""; }; + B4C506FED403AFAF4151BBF4 = {isa = PBXGroup; children = ( + 3893090992F41B8C2319B043, + 98CE9C68EA30EC98C4461E11, + 0C3FA548837CFC7413AD19DD, + 40B50860F40E23FE342878E3, ); name = sources; sourceTree = ""; }; C69D55E0340A2960D86B9779 = {isa = PBXGroup; children = ( - 4E64F6EA09CE52EE1316E17B, - 98906606A277640B00993C2B, - 863E0659317BE1ED8B4D09E0, - 01C208E3D8AEC79BD03CE6DA, - 48D6A2E98CFA6EB28C4159A2, - 1ED1F43731F2685F5D21EBA7, + 08BF5989EE6F51B83454F600, + E7D115EE13A0CE70E9AD8B73, + 5480BF87B3419A5D538B1ED6, + 96221557E7D6117D7E453676, + B4C506FED403AFAF4151BBF4, FF467611D066C9EA28C89B1A, ); name = "juce_audio_devices"; sourceTree = ""; }; - 5C79A63AB3973F196AF3865D = {isa = PBXGroup; children = ( - D8AB6B838BD9105E68EBCBDA, - 80A7C7DCD25FECFF74FA662C, - E16B62BB33F9E730CB92153F, - 900C0B5850BCB3B173CBE883, - 3F9D6C7B798F0431FE922B41, - DBDD1A7CC8D49C6A3102DA50, - 2D21CD49127EDB94ABBF55BB, - 62DE876E589EE728A76CBB24, - 43F7BEA9CFC8EE3A248AD5E3, - 52D5C91716E2495903D9B507, - 2F63AD90BD7D2C780CCAAEEC, - 35D58A1347E7CC7089D2AD12, - D7354CB23CE7DFCB335B2DAD, - 38A995151F7D9B88AB220632, - 0C6D96C10A447A809C3180ED, ); name = format; sourceTree = ""; }; - 539682BFDDA5F861DE11CDBE = {isa = PBXGroup; children = ( + 9B15CCAB94F8C1A05FAB6A4F = {isa = PBXGroup; children = ( 72152EF0BB769C0DBD9988FD, 34BFF38490B2CF71D2D729A7, C538DCF5081621C3A50249FD, @@ -1083,16 +1055,48 @@ 8F7E621B4AECC054F9532780, 3558E576ACA227E1D8D34F08, 86E6FB896CF1D678661022E1, ); name = codecs; sourceTree = ""; }; + AD6AE53CFF7E339F12CECA50 = {isa = PBXGroup; children = ( + D8AB6B838BD9105E68EBCBDA, + 80A7C7DCD25FECFF74FA662C, + E16B62BB33F9E730CB92153F, + 900C0B5850BCB3B173CBE883, + 3F9D6C7B798F0431FE922B41, + DBDD1A7CC8D49C6A3102DA50, + 2D21CD49127EDB94ABBF55BB, + 62DE876E589EE728A76CBB24, + 43F7BEA9CFC8EE3A248AD5E3, + 52D5C91716E2495903D9B507, + 2F63AD90BD7D2C780CCAAEEC, + 35D58A1347E7CC7089D2AD12, + D7354CB23CE7DFCB335B2DAD, + 38A995151F7D9B88AB220632, + 0C6D96C10A447A809C3180ED, ); name = format; sourceTree = ""; }; E5BA731E3ACC4C29946F5608 = {isa = PBXGroup; children = ( 0EF073B785B39E125D870A19, 8DB6952BCF28FB10CCB1EFBF, ); name = sampler; sourceTree = ""; }; 509E7F9A118BDECDA7B9D8F5 = {isa = PBXGroup; children = ( - 5C79A63AB3973F196AF3865D, - 539682BFDDA5F861DE11CDBE, + 9B15CCAB94F8C1A05FAB6A4F, + AD6AE53CFF7E339F12CECA50, E5BA731E3ACC4C29946F5608, - 1F806E9E225FDF4EDF520C96, 0237CD1164BCA5B4E670C8E3, ); name = "juce_audio_formats"; sourceTree = ""; }; - 0758E9F0F7230AD78CEBB81F = {isa = PBXGroup; children = ( + EB4CA984D929BB4C5E8A0DF4 = {isa = PBXGroup; children = ( + 5222344B220646AB6EE56F3B, + 56D5DA60AEFC0EAAC929A163, + F828FBBE22188E0819D5655F, + FF8DA2206EFE4F5CAAC6DF9B, ); name = format; sourceTree = ""; }; + A9F22AB7B7F7D81FFC732BAF = {isa = PBXGroup; children = ( + 391774514515C9FC87A3C6F6, + BCA0899EFE4D4F673DAB9FC1, + 62FA9E776551B423E6B3F379, + 84A5BB5EA969B85D0F920DA2, + CFB4DCFA5B5958F2259731ED, + 3DC079D7D7EFDF308DC44D4F, + A5EF5FDF979BC1FF68D3EA33, + 8F9FE852D4F12052C098EECE, + 45333ACAF454F661FC30924E, + 123831F52D2C1E9A68B75613, + B8B0992FEC384EAE2FC83B39, ); name = "format_types"; sourceTree = ""; }; + F1EC4B92A3E0379EF0E5E708 = {isa = PBXGroup; children = ( 2CF5D92890121EE3A9DDE043, 034E7453A74EABC222A41A79, E2C7D05E6D7964D2381EB883, @@ -1109,23 +1113,6 @@ 0684B85054F9745657306704, 905002781F55D9F49BFFD030, 4220968D4303C2B4E8A74932, ); name = processors; sourceTree = ""; }; - 954F81A53BDC81F6A25A6B4E = {isa = PBXGroup; children = ( - 5222344B220646AB6EE56F3B, - 56D5DA60AEFC0EAAC929A163, - F828FBBE22188E0819D5655F, - FF8DA2206EFE4F5CAAC6DF9B, ); name = format; sourceTree = ""; }; - 8FEA4D511414A6D3151E05EC = {isa = PBXGroup; children = ( - 391774514515C9FC87A3C6F6, - BCA0899EFE4D4F673DAB9FC1, - 62FA9E776551B423E6B3F379, - 84A5BB5EA969B85D0F920DA2, - CFB4DCFA5B5958F2259731ED, - 3DC079D7D7EFDF308DC44D4F, - A5EF5FDF979BC1FF68D3EA33, - 8F9FE852D4F12052C098EECE, - 45333ACAF454F661FC30924E, - 123831F52D2C1E9A68B75613, - B8B0992FEC384EAE2FC83B39, ); name = "format_types"; sourceTree = ""; }; 2B9501CD12B8181E14E85BBC = {isa = PBXGroup; children = ( CE91FE6F9C6ECE74706C36F2, CDCD8001286A8AF0A3CF7310, @@ -1143,12 +1130,11 @@ 3AC2629D782CFE655ACD6C65, 3713B247A275EEEB9B652EC8, ); name = utilities; sourceTree = ""; }; BECEC234765DCB2A1916AF07 = {isa = PBXGroup; children = ( - 0758E9F0F7230AD78CEBB81F, - 954F81A53BDC81F6A25A6B4E, - 8FEA4D511414A6D3151E05EC, + EB4CA984D929BB4C5E8A0DF4, + A9F22AB7B7F7D81FFC732BAF, + F1EC4B92A3E0379EF0E5E708, 2B9501CD12B8181E14E85BBC, 6FA59793599F883A73C24E98, - CD3BC1756D3316267ACC2349, 4DFD997E7F702C64C63A6D4F, ); name = "juce_audio_processors"; sourceTree = ""; }; 5CA24AA78FC504D91AF27816 = {isa = PBXGroup; children = ( FEF01BDC64048ADAC8FBF791, @@ -1165,73 +1151,21 @@ 914D99CE5915E7B68BB47EEB, C0C5B5C34349FD6B152E5B3B, 67122ACF3B80664C5DF79570, ); name = gui; sourceTree = ""; }; - BDAF7B3C3F63268B41F3B793 = {isa = PBXGroup; children = ( - 389D048419931AB624A374C2, - DE4546899B5678F164D13F52, ); name = players; sourceTree = ""; }; - DEB6B9A43CE6AD3500147EF5 = {isa = PBXGroup; children = ( + CE193664A4FE19A78C12DB21 = {isa = PBXGroup; children = ( 98B3E514464A269121E203DA, 4C6BB183E191BFA82A1AA237, 6EB796353187279DE4E47BD0, 0D114F1D47457A91C806FCBA, 5F36515D94A9F80D32BAF9E4, ); name = native; sourceTree = ""; }; + 0C9E792863CA2E1E5BC6001B = {isa = PBXGroup; children = ( + 389D048419931AB624A374C2, + DE4546899B5678F164D13F52, ); name = players; sourceTree = ""; }; F0B729F57D59F6E7F7109036 = {isa = PBXGroup; children = ( 5CA24AA78FC504D91AF27816, - BDAF7B3C3F63268B41F3B793, - DEB6B9A43CE6AD3500147EF5, - 287EE31C626E8FE2F123BBFD, + CE193664A4FE19A78C12DB21, + 0C9E792863CA2E1E5BC6001B, 9AC277673AEAAC17ED5F35B9, ); name = "juce_audio_utils"; sourceTree = ""; }; - C31E27EF99F277B0EF16F2D7 = {isa = PBXGroup; children = ( - 5DCC5A2DEAC66784A4693817, - 57D31C89BF4C3D65BA5EB43D, - 27331610849C55C821330571, - 761B16269B2E0FE878159118, - D37B87DADB806AFDBE4574E2, - 81E0CC1C87D661E27B1915BB, - 862FB6A870632364A89DEBB9, - 32934B9113D3A21DB21E40ED, - 9CBFFAA438C054D47D0945E9, - 1EC7385E0D37F4CB00440944, - 5B82A7D9F12F2C67CD7E6612, - D872B951BEE62C3D906D804A, - 8821F4AA705B46FBA4E94B5B, - CEB1A28DF5CB07AE46AD3313, - 25EEF84280B5F3EA7326C500, - 42DBB86AADAD6344D6F768E6, - F574D27FFFEE597B5D9D4AB8, - 559F4C7CC1C38CFF4B8B2008, - C03BC1AFDCE495377D00ECBD, - DE815DF3723CCEE3743CC83B, - 357847C6D03D3B6B61573357, - C1054419444B24A3F4DFAFC7, - 18C1B102BC6C66690A8C7B38, - 34162529D9862A288F5FF4D8, ); name = text; sourceTree = ""; }; - F6CCF48A3DB405381EDD2D78 = {isa = PBXGroup; children = ( - AF33D3913E5876768B35009B, - E007CA988837ED7121E4DEE0, - 258844F8716360A9253F29C9, - 39C6944D95B60E722934D0E8, - 7A3391163C927F1D75974DC6, - 7AE4C43E62213262B7206511, - 6950C104FD807D0B7E6DB812, - D2F70950C08DB4F414D7DA38, - E5D6D7D4DE1CD91162DDC533, - 52EB00A0F0ABB39D2A2D5BE5, ); name = maths; sourceTree = ""; }; - 21674B25C4EE1D1A32509A92 = {isa = PBXGroup; children = ( - FD12D972996815663FE91DAA, - F48CDE09F526F4465693E692, - 9529452677DAC6E6FD5278FE, - CF8215F849A46D15607D4B9F, - 555C2D09AAC12DB54EC0CE9D, - C320A90C1F0F7C133C0C6C1B, - B40051599BAA798C637BDC4C, - 3835B76D934B38B6C939BC1E, - CDE63E5BE3B71836E865467D, - 622FE9C3BDA6397A18CF67C7, - AD0E8DCB4CA4C1E0DDE20B1C, - A40BA2D9759199582967668F, - D8A003EACD80192C72B1DCED, - F86FEF0463B2EBC33550B409, ); name = memory; sourceTree = ""; }; - FB4BD4C00D8BFC66A6DD15E0 = {isa = PBXGroup; children = ( + 1B55175FAEF8C5423A7FD6EC = {isa = PBXGroup; children = ( 7A3C99D6980442005905DE01, F76FA2C7020A9299C164E2B8, 703156CBA00913A6D96A89A6, @@ -1253,37 +1187,7 @@ 4B5A3ADB800429AAED96A5BA, FA387BCE236E4F1EBBC53C4A, A29CD77930F2C2B321F5C9D8, ); name = containers; sourceTree = ""; }; - A7A179C95E6CA82BAC7E6387 = {isa = PBXGroup; children = ( - FD905113460D6EA444D70D28, - 399D5A2B4BEF2DAAC0763176, - 268C2DD7A5086C06C48AE554, - 4D076DF2BE64A289A5366166, - 30CEC34EEA4AA37FC7C4A531, - A70013D9EF802E75631ACC4B, - D81CF228C7FBA60FC881CF92, - 73E0F9D0AEC6CCE0A83460BA, - D510B6C30B99F0E434C923D4, - 90380EA33A749460F2D4F6CC, - CBDEA4A1F8554FAFC499158B, - E6753179649ACB7E9C604796, - E5D4FBA391E54B046E5ED311, - 27B3172AC0BA3C09D54011A4, - 0E257E8B8DBF70AEF3EC9D1F, - 4040D5CA38B66006636F1DDD, - F22A9CAE5CD135E02F7B946B, - 09C6AB518459A9564AA44707, - FAAC902BE5901F56AADAC0C2, - 6D6DC79F0CE4AEECE5544FA9, - A3AD21C4A936C1D9A1CF87D9, - 420F8FB2C71217A004B459B3, ); name = threads; sourceTree = ""; }; - 5C84FE34980BC17B571C4264 = {isa = PBXGroup; children = ( - FF6DB17FE3DFBA0170ECF294, - 05D38E4A7F422D590702363E, - 5833E8D8DF97BA6F326E6A0D, - CEA4D2BD5A9962D84B3D812B, - 06E59012A14299A8C87BD7FD, - FA4F080EB27F363F659DF602, ); name = time; sourceTree = ""; }; - 8BF5865F46819F722759281E = {isa = PBXGroup; children = ( + 8D16F30ED1C44B292B44CC47 = {isa = PBXGroup; children = ( B9EA2A3E4F4268A3A9CAC2E8, 2041B8796B90FEDB95078CA3, 1C1CD66C5A242E5354095684, @@ -1301,66 +1205,43 @@ AA2E4B5C4C6B1164F902721F, 6DBC17A9AF2D5288FA2BE963, 47424EAFCF0E0236D9F36314, ); name = files; sourceTree = ""; }; - 5F13F70EABF89099925A874E = {isa = PBXGroup; children = ( - 7490F1A1A0C65668B890A6C1, - 46F0B8D9E62BAFF1E7A7CC64, - 78B284561F248D4EFE3A90F6, - A50F3FB7AB22B72E6D9ECB51, - 50DB04187388D81882177436, - 0CFE1720CC97F8EC1FA79745, - FE212771DD1CED8E5E1093BF, - 4F0284FA3AB4945EA21980A4, - BFEC403690E7A9D4FCB2828B, - BB2CB3C81D742E6FAE5008A1, ); name = network; sourceTree = ""; }; - 389BC38FAF17FD561778F093 = {isa = PBXGroup; children = ( - ABF6785F88E9CE3836BB982B, - 157021E882DD2790DB3DA1C0, - E547EF3B41C67F84481404AE, - DF10467F6C459A86E13EC454, - 083A0604C8629BC172C3BA3A, - D8D1BC0077F8365E04448DEE, - D5169E402EFAB1F80282111F, - 4EDD1CA5042F64E84327CD60, - 22C710A1089CBAA0BD3F8BCC, - B65F1BEA12EE3D722EF3B232, - 3E83B4A120590EC9DF4DCBF0, - 4285E7B2B74C0B2FACF7159E, - 99AAD99A10028330719CCE04, - 7CED5775FA7B2C0710D74CEF, - 670BE56B6CE2FBE4E703A0D5, ); name = streams; sourceTree = ""; }; - B597683AAB944307404BB3E7 = {isa = PBXGroup; children = ( - 93B1A269C68042238C5F71E9, - 26D06882123226836ADE4CFD, - 0F1DE6A679F43ABFE421EE27, - B242B6D52524EBED51625C00, ); name = logging; sourceTree = ""; }; - 7E48882E5BA9115BE2BC05FD = {isa = PBXGroup; children = ( - B5AF3F3B893E7D19B80EE0C2, - 94D48F57C6FBACDA7E565B61, - 74B1E0D24C58DF1DE20CBA3B, - D7A6B204A55E1FB0B11B58CC, - ADDB88972FBE0D86D26EB667, - 03992F31BA4AEBAE5EDEF39D, ); name = system; sourceTree = ""; }; - 941982915E7191599FC8B22E = {isa = PBXGroup; children = ( - CFB7E1B87400E062203FCAC6, - 436EACF930FA1011D25EFA0B, - 7C072D2CD85FD979297B1E22, - D3927190360398A81F6196EA, ); name = xml; sourceTree = ""; }; - D82F95F0395CE90B33200619 = {isa = PBXGroup; children = ( + 27C42D8A7A99B37A1ACCF293 = {isa = PBXGroup; children = ( 548DBA31770A92A18D6665AE, F46909B432DC1BE9B98409F6, B764D8D0A5436651C5266D43, 52212D0F8D3C9A379010D74E, ); name = javascript; sourceTree = ""; }; - ED50E4D4381F0AC899AEAF4D = {isa = PBXGroup; children = ( - D6BBAD5CCA00B84B5E90C9A3, - FF3542246A0F21B4E8C5F6E9, - B4ECF1571A1D2C15338C5A19, - C7E15666FF73965BB02B2EFE, - B37CE5CF8F375F6B2E252A7C, - A73835E75D4D24A899ACF40A, ); name = zip; sourceTree = ""; }; - 65B07F2876D767468154BE8A = {isa = PBXGroup; children = ( - 9A89D226BF6C6D76318A790F, - C4FBF27BBF30B3B94A0D35BF, ); name = "unit_tests"; sourceTree = ""; }; - 5B7EE567D4C937575D563B79 = {isa = PBXGroup; children = ( + E66EF87E18FBCC42EFE9C41C = {isa = PBXGroup; children = ( + 93B1A269C68042238C5F71E9, + 26D06882123226836ADE4CFD, + 0F1DE6A679F43ABFE421EE27, + B242B6D52524EBED51625C00, ); name = logging; sourceTree = ""; }; + 06DE0F6AD1BB0C61090E329C = {isa = PBXGroup; children = ( + AF33D3913E5876768B35009B, + E007CA988837ED7121E4DEE0, + 258844F8716360A9253F29C9, + 39C6944D95B60E722934D0E8, + 7A3391163C927F1D75974DC6, + 7AE4C43E62213262B7206511, + 6950C104FD807D0B7E6DB812, + D2F70950C08DB4F414D7DA38, + E5D6D7D4DE1CD91162DDC533, + 52EB00A0F0ABB39D2A2D5BE5, ); name = maths; sourceTree = ""; }; + 173B4FB6243FD8D5A1798AE7 = {isa = PBXGroup; children = ( + FD12D972996815663FE91DAA, + F48CDE09F526F4465693E692, + 9529452677DAC6E6FD5278FE, + CF8215F849A46D15607D4B9F, + 555C2D09AAC12DB54EC0CE9D, + C320A90C1F0F7C133C0C6C1B, + B40051599BAA798C637BDC4C, + 3835B76D934B38B6C939BC1E, + CDE63E5BE3B71836E865467D, + 622FE9C3BDA6397A18CF67C7, + AD0E8DCB4CA4C1E0DDE20B1C, + A40BA2D9759199582967668F, + D8A003EACD80192C72B1DCED, + F86FEF0463B2EBC33550B409, ); name = memory; sourceTree = ""; }; + B4B0B5DE6E266E72F640A8EF = {isa = PBXGroup; children = ( 1CA16D2A6FD5DD0CB263CB8A, 9914105815EE6622A7D30D28, 1E90C78BB7EF4CAD220371A8, @@ -1368,7 +1249,7 @@ D020D7629DC183D4937EC160, 69FF9DD54B3FCEF3F903A5EF, AF72F5A48A48FD3E7DD72C13, ); name = misc; sourceTree = ""; }; - 6A9B8BDEB6A78F1B4EEC0023 = {isa = PBXGroup; children = ( + C81F62B368C67842F6F075B0 = {isa = PBXGroup; children = ( E54DC5D961F96339438F6F29, 4438D8DF479243407925791B, D8325B5B81EAAA91E06110F0, @@ -1398,49 +1279,167 @@ AA043A3BA34C03EBF97BD5E3, F92018EE9C24981CF2AC9A70, 3F8A753641763864D08251B1, ); name = native; sourceTree = ""; }; + ED49E543273E10DA761D2786 = {isa = PBXGroup; children = ( + 7490F1A1A0C65668B890A6C1, + 46F0B8D9E62BAFF1E7A7CC64, + 78B284561F248D4EFE3A90F6, + A50F3FB7AB22B72E6D9ECB51, + 50DB04187388D81882177436, + 0CFE1720CC97F8EC1FA79745, + FE212771DD1CED8E5E1093BF, + 4F0284FA3AB4945EA21980A4, + BFEC403690E7A9D4FCB2828B, + BB2CB3C81D742E6FAE5008A1, ); name = network; sourceTree = ""; }; + 786A3B121EBAF0F8DB119F65 = {isa = PBXGroup; children = ( + ABF6785F88E9CE3836BB982B, + 157021E882DD2790DB3DA1C0, + E547EF3B41C67F84481404AE, + DF10467F6C459A86E13EC454, + 083A0604C8629BC172C3BA3A, + D8D1BC0077F8365E04448DEE, + D5169E402EFAB1F80282111F, + 4EDD1CA5042F64E84327CD60, + 22C710A1089CBAA0BD3F8BCC, + B65F1BEA12EE3D722EF3B232, + 3E83B4A120590EC9DF4DCBF0, + 4285E7B2B74C0B2FACF7159E, + 99AAD99A10028330719CCE04, + 7CED5775FA7B2C0710D74CEF, + 670BE56B6CE2FBE4E703A0D5, ); name = streams; sourceTree = ""; }; + 7E48882E5BA9115BE2BC05FD = {isa = PBXGroup; children = ( + B5AF3F3B893E7D19B80EE0C2, + 94D48F57C6FBACDA7E565B61, + 74B1E0D24C58DF1DE20CBA3B, + D7A6B204A55E1FB0B11B58CC, + ADDB88972FBE0D86D26EB667, + 03992F31BA4AEBAE5EDEF39D, ); name = system; sourceTree = ""; }; + AE42B141431E5B203B466D39 = {isa = PBXGroup; children = ( + 5DCC5A2DEAC66784A4693817, + 57D31C89BF4C3D65BA5EB43D, + 27331610849C55C821330571, + 761B16269B2E0FE878159118, + D37B87DADB806AFDBE4574E2, + 81E0CC1C87D661E27B1915BB, + 862FB6A870632364A89DEBB9, + 32934B9113D3A21DB21E40ED, + 9CBFFAA438C054D47D0945E9, + 1EC7385E0D37F4CB00440944, + 5B82A7D9F12F2C67CD7E6612, + D872B951BEE62C3D906D804A, + 8821F4AA705B46FBA4E94B5B, + CEB1A28DF5CB07AE46AD3313, + 25EEF84280B5F3EA7326C500, + 42DBB86AADAD6344D6F768E6, + F574D27FFFEE597B5D9D4AB8, + 559F4C7CC1C38CFF4B8B2008, + C03BC1AFDCE495377D00ECBD, + DE815DF3723CCEE3743CC83B, + 357847C6D03D3B6B61573357, + C1054419444B24A3F4DFAFC7, + 18C1B102BC6C66690A8C7B38, + 34162529D9862A288F5FF4D8, ); name = text; sourceTree = ""; }; + CE8A40087D50875E10A37CDA = {isa = PBXGroup; children = ( + FD905113460D6EA444D70D28, + 399D5A2B4BEF2DAAC0763176, + 268C2DD7A5086C06C48AE554, + 4D076DF2BE64A289A5366166, + 30CEC34EEA4AA37FC7C4A531, + A70013D9EF802E75631ACC4B, + D81CF228C7FBA60FC881CF92, + 73E0F9D0AEC6CCE0A83460BA, + D510B6C30B99F0E434C923D4, + 90380EA33A749460F2D4F6CC, + CBDEA4A1F8554FAFC499158B, + E6753179649ACB7E9C604796, + E5D4FBA391E54B046E5ED311, + 27B3172AC0BA3C09D54011A4, + 0E257E8B8DBF70AEF3EC9D1F, + 4040D5CA38B66006636F1DDD, + F22A9CAE5CD135E02F7B946B, + 09C6AB518459A9564AA44707, + FAAC902BE5901F56AADAC0C2, + 6D6DC79F0CE4AEECE5544FA9, + A3AD21C4A936C1D9A1CF87D9, + 420F8FB2C71217A004B459B3, ); name = threads; sourceTree = ""; }; + CDB5BA893A1B4E5BC9463489 = {isa = PBXGroup; children = ( + FF6DB17FE3DFBA0170ECF294, + 05D38E4A7F422D590702363E, + 5833E8D8DF97BA6F326E6A0D, + CEA4D2BD5A9962D84B3D812B, + 06E59012A14299A8C87BD7FD, + FA4F080EB27F363F659DF602, ); name = time; sourceTree = ""; }; + 65B07F2876D767468154BE8A = {isa = PBXGroup; children = ( + 9A89D226BF6C6D76318A790F, + C4FBF27BBF30B3B94A0D35BF, ); name = "unit_tests"; sourceTree = ""; }; + EFFD269282293C5C81CE4425 = {isa = PBXGroup; children = ( + CFB7E1B87400E062203FCAC6, + 436EACF930FA1011D25EFA0B, + 7C072D2CD85FD979297B1E22, + D3927190360398A81F6196EA, ); name = xml; sourceTree = ""; }; + 04B5DA086364E58F01808CD4 = {isa = PBXGroup; children = ( + D6BBAD5CCA00B84B5E90C9A3, + FF3542246A0F21B4E8C5F6E9, + B4ECF1571A1D2C15338C5A19, + C7E15666FF73965BB02B2EFE, + B37CE5CF8F375F6B2E252A7C, + A73835E75D4D24A899ACF40A, ); name = zip; sourceTree = ""; }; 42917212E44DA9C652D79C10 = {isa = PBXGroup; children = ( - C31E27EF99F277B0EF16F2D7, - F6CCF48A3DB405381EDD2D78, - 21674B25C4EE1D1A32509A92, - FB4BD4C00D8BFC66A6DD15E0, - A7A179C95E6CA82BAC7E6387, - 5C84FE34980BC17B571C4264, - 8BF5865F46819F722759281E, - 5F13F70EABF89099925A874E, - 389BC38FAF17FD561778F093, - B597683AAB944307404BB3E7, + 1B55175FAEF8C5423A7FD6EC, + 8D16F30ED1C44B292B44CC47, + 27C42D8A7A99B37A1ACCF293, + E66EF87E18FBCC42EFE9C41C, + 06DE0F6AD1BB0C61090E329C, + 173B4FB6243FD8D5A1798AE7, + B4B0B5DE6E266E72F640A8EF, + C81F62B368C67842F6F075B0, + ED49E543273E10DA761D2786, + 786A3B121EBAF0F8DB119F65, 7E48882E5BA9115BE2BC05FD, - 941982915E7191599FC8B22E, - D82F95F0395CE90B33200619, - ED50E4D4381F0AC899AEAF4D, + AE42B141431E5B203B466D39, + CE8A40087D50875E10A37CDA, + CDB5BA893A1B4E5BC9463489, 65B07F2876D767468154BE8A, - 5B7EE567D4C937575D563B79, - 6A9B8BDEB6A78F1B4EEC0023, - CBF3EAB8780B385E95B724DD, + EFFD269282293C5C81CE4425, + 04B5DA086364E58F01808CD4, 342934026A84C4D0F10F6261, ); name = "juce_core"; sourceTree = ""; }; - 61635217A921F501198E24D5 = {isa = PBXGroup; children = ( + B4A8238572F442C33CFB8B91 = {isa = PBXGroup; children = ( + 4A2A39F4B493669E2EE55F75, + 7E0469227FB8C4ADE95CC192, + 65BA1BF484E324D84C49A976, + B8EF90B5289EC488C94798D8, ); name = "app_properties"; sourceTree = ""; }; + E0D030AE4E8B8F447B658927 = {isa = PBXGroup; children = ( + 54A15FB5F8608B31D6F914B7, + 70C6C35771C076364F535EE9, + 3ACEB177B9B59EE0CCDDB6DA, ); name = undomanager; sourceTree = ""; }; + 2B550F42C379A24A7973DC7C = {isa = PBXGroup; children = ( C99F1F5F329CE007254A0BAA, A11D18525BD560CC185AA3CB, 044C98142AF352964DC87013, F9E9AAFB2F9B2836C4B80D8C, 77FBBF17D08E7B8031E5591C, 450A7E1D741CA7E42CE0B026, ); name = values; sourceTree = ""; }; - E0D030AE4E8B8F447B658927 = {isa = PBXGroup; children = ( - 54A15FB5F8608B31D6F914B7, - 70C6C35771C076364F535EE9, - 3ACEB177B9B59EE0CCDDB6DA, ); name = undomanager; sourceTree = ""; }; - E59550CA551DE23A41C3FD68 = {isa = PBXGroup; children = ( - 4A2A39F4B493669E2EE55F75, - 7E0469227FB8C4ADE95CC192, - 65BA1BF484E324D84C49A976, - B8EF90B5289EC488C94798D8, ); name = "app_properties"; sourceTree = ""; }; 6AC1A837BB408E74DBE01934 = {isa = PBXGroup; children = ( - 61635217A921F501198E24D5, + B4A8238572F442C33CFB8B91, E0D030AE4E8B8F447B658927, - E59550CA551DE23A41C3FD68, - BB17932D28D0BF702079D964, + 2B550F42C379A24A7973DC7C, 3321C89CC61938E085258B6E, ); name = "juce_data_structures"; sourceTree = ""; }; - 4572CD74E3E8E0B1BBAF6DC2 = {isa = PBXGroup; children = ( + 2CD009CD615DC24BD0F6470D = {isa = PBXGroup; children = ( + 7D01C1A17FA4F1417D7D2ECA, + D0CA23007E441BD284FE299E, + 55EA9ACBD7A75A3C5C06A149, + 7EB138BDEA36400E6ACF1407, + 2F7ED3361615D6AF88411A01, + EC299D99803E2FCF2C73FFD4, + 1590838A763E9945AC0521C4, + 37E19A5A734440194B95D214, ); name = broadcasters; sourceTree = ""; }; + 628277A6F920CDC5644E8965 = {isa = PBXGroup; children = ( + 0E372F199412546C26BE484F, + 3B98713A022D5AF2C4657F6F, + 40D94564D44535C98D477A37, + 1B129BA21B659A9D9202C1CA, + 65EA8CD697C470F78AA54D93, + 302D1B930016FBEB0223BC1D, ); name = interprocess; sourceTree = ""; }; + FD18AC64A9F4DD7F68528074 = {isa = PBXGroup; children = ( 3F9554E1A5AEC56AE59BF3C7, A9EAFCAB28E5A0615B7B13E6, 21D96087EA2F816616E4332E, @@ -1454,28 +1453,7 @@ C6A10970DA4536CE1038393F, E3DBF5011F3087EFA8B6D764, 3BFD5595F009F3D326D3E1E1, ); name = messages; sourceTree = ""; }; - F3001B6B726302FB79970158 = {isa = PBXGroup; children = ( - 7EA9604FAC6EE7F32FDE5836, - 762A8B6317A874ED6C6EB26C, - 1821A278E87CD2C66F4F40ED, - 2589398BE0711F5A44669EC5, ); name = timers; sourceTree = ""; }; - 207ECF7398B362902A1D19AA = {isa = PBXGroup; children = ( - 7D01C1A17FA4F1417D7D2ECA, - D0CA23007E441BD284FE299E, - 55EA9ACBD7A75A3C5C06A149, - 7EB138BDEA36400E6ACF1407, - 2F7ED3361615D6AF88411A01, - EC299D99803E2FCF2C73FFD4, - 1590838A763E9945AC0521C4, - 37E19A5A734440194B95D214, ); name = broadcasters; sourceTree = ""; }; - BF5564468B26D3B20B516B42 = {isa = PBXGroup; children = ( - 0E372F199412546C26BE484F, - 3B98713A022D5AF2C4657F6F, - 40D94564D44535C98D477A37, - 1B129BA21B659A9D9202C1CA, - 65EA8CD697C470F78AA54D93, - 302D1B930016FBEB0223BC1D, ); name = interprocess; sourceTree = ""; }; - B6498D43CA9E19F182A3C675 = {isa = PBXGroup; children = ( + CBC1B327B1FCFC3D6EAF676B = {isa = PBXGroup; children = ( 406D57282ABA5C8368F26995, 586C47B3007AF321674881F8, BFE047A47564580D50665DA2, @@ -1484,13 +1462,17 @@ 67FCADC2EB97BC70A9D811B3, BD06828DB1C4B74A7519AA49, 5AAA012C77F1998912D92E30, ); name = native; sourceTree = ""; }; + 4171E4242435E4E0EDA518AC = {isa = PBXGroup; children = ( + 7EA9604FAC6EE7F32FDE5836, + 762A8B6317A874ED6C6EB26C, + 1821A278E87CD2C66F4F40ED, + 2589398BE0711F5A44669EC5, ); name = timers; sourceTree = ""; }; B5AF34152C8588BAB9750256 = {isa = PBXGroup; children = ( - 4572CD74E3E8E0B1BBAF6DC2, - F3001B6B726302FB79970158, - 207ECF7398B362902A1D19AA, - BF5564468B26D3B20B516B42, - B6498D43CA9E19F182A3C675, - 420403BCB2AE106E1E1A5D27, + 2CD009CD615DC24BD0F6470D, + 628277A6F920CDC5644E8965, + FD18AC64A9F4DD7F68528074, + CBC1B327B1FCFC3D6EAF676B, + 4171E4242435E4E0EDA518AC, F4301F4CE820D61D7586A0E5, ); name = "juce_events"; sourceTree = ""; }; 57AE3C320B306E91E9F9E131 = {isa = PBXGroup; children = ( 1B6B2DA250A8E1E46F92938E, @@ -1510,19 +1492,25 @@ DF9ED1748544B5F67AF9C2C9, 9FB940FB03E282F5D1EC198B, CFA9033F62CB4D259FBED44D, ); name = contexts; sourceTree = ""; }; - 6188AD3D288C30B417411FF0 = {isa = PBXGroup; children = ( - FBE7CA0BE22C4FAD4405C1D4, - CBEA43906CA7292557B08994, - 12EB34780425AA36FE1DC245, - EB59BB11D7DDAF680A22B040, - 6D78C65C434A649A0D95AFE3, - A83AE455D3D67018DD3E919D, - 13E3246B1F0E027A68A9C99E, - FDE3F1C1B2919B6F2BD7F514, ); name = images; sourceTree = ""; }; - F86F4D89CE1DB7AA9BD816AE = {isa = PBXGroup; children = ( - 73EB02E40027EDD8284BFF9C, - E892097A580573FD65F52666, - 85E0FA40CD3060A37A952E57, ); name = "image_formats"; sourceTree = ""; }; + 211C342CC71BC2FC77037BA0 = {isa = PBXGroup; children = ( + 95578AB40B1C675A10B311BC, + 42B8F1BA878A1BED917E257D, + 9032065D16C340236F912E7B, + F0E0952F110B6F2BD19D886D, + 5FB81D3A066552E3728DF1EC, ); name = effects; sourceTree = ""; }; + 297D0417582E9DBCA7342B83 = {isa = PBXGroup; children = ( + 6623C2B741329F6EB55AC7CF, + 05B0A967B4FFDF4C28C5A6D7, + 93E9653ABCA391191830B40A, + 6F4F1A6EA2F5B2A3BF036E9B, + BCFB67C5C864E7D06CAF19B0, + B681D916BB8697A6D90911F0, + A79264AE87654F32A97B62C9, + 27B72042F7CE970F5D161668, + FA5B2545D9CB7B25DA56D0BA, + 8644D284B54DA1838536A917, + 41498D495F9BEC4591301F9F, + F995CE4658FCB0BC77A535FA, ); name = fonts; sourceTree = ""; }; 5B97ACC8C524C6F5F41C6E43 = {isa = PBXGroup; children = ( 6BF2D7FE9E2249BF3502ABB1, 61FF661623DF0A42513174DC, @@ -1539,30 +1527,20 @@ 8BE755437A71CADCE98F2CD2, F54F134490A7622D750C8CCA, 27E028D654DE35C7FAE178D0, ); name = geometry; sourceTree = ""; }; - A22C3CEE8AD85A17007A37C8 = {isa = PBXGroup; children = ( - 930DA33DD6318AB19A4170EE, - E31C6950ECA721FF3F5D8ECA, - 173A0672B8807D34785D3817, ); name = placement; sourceTree = ""; }; - 8DAF025280724EADA6BE748B = {isa = PBXGroup; children = ( - 6623C2B741329F6EB55AC7CF, - 05B0A967B4FFDF4C28C5A6D7, - 93E9653ABCA391191830B40A, - 6F4F1A6EA2F5B2A3BF036E9B, - BCFB67C5C864E7D06CAF19B0, - B681D916BB8697A6D90911F0, - A79264AE87654F32A97B62C9, - 27B72042F7CE970F5D161668, - FA5B2545D9CB7B25DA56D0BA, - 8644D284B54DA1838536A917, - 41498D495F9BEC4591301F9F, - F995CE4658FCB0BC77A535FA, ); name = fonts; sourceTree = ""; }; - 490768A647EA43AC67D3D12E = {isa = PBXGroup; children = ( - 95578AB40B1C675A10B311BC, - 42B8F1BA878A1BED917E257D, - 9032065D16C340236F912E7B, - F0E0952F110B6F2BD19D886D, - 5FB81D3A066552E3728DF1EC, ); name = effects; sourceTree = ""; }; - C803FC536BC8402E2B7AEAC6 = {isa = PBXGroup; children = ( + 2809603872B00E38F1B0ACAA = {isa = PBXGroup; children = ( + 73EB02E40027EDD8284BFF9C, + E892097A580573FD65F52666, + 85E0FA40CD3060A37A952E57, ); name = "image_formats"; sourceTree = ""; }; + D272EDCBE9214B14D4D63CF9 = {isa = PBXGroup; children = ( + FBE7CA0BE22C4FAD4405C1D4, + CBEA43906CA7292557B08994, + 12EB34780425AA36FE1DC245, + EB59BB11D7DDAF680A22B040, + 6D78C65C434A649A0D95AFE3, + A83AE455D3D67018DD3E919D, + 13E3246B1F0E027A68A9C99E, + FDE3F1C1B2919B6F2BD7F514, ); name = images; sourceTree = ""; }; + 7508F069A0EEC89D67161F42 = {isa = PBXGroup; children = ( FB28A976AA6297363E1E1EBF, FAC115B00D222400E1D5F9AC, ED4C4504733394EA9FFF33C1, @@ -1576,19 +1554,54 @@ 54D82FC2559A9ABF3D123287, 657D2EDA55C54F1346D194B5, 61A6B2C311EEA8E33BAC6BB3, ); name = native; sourceTree = ""; }; + 0F241A3C356368DDA154CDEE = {isa = PBXGroup; children = ( + 930DA33DD6318AB19A4170EE, + E31C6950ECA721FF3F5D8ECA, + 173A0672B8807D34785D3817, ); name = placement; sourceTree = ""; }; 2D8A34026E7E1361A586EAD2 = {isa = PBXGroup; children = ( 57AE3C320B306E91E9F9E131, F1FD5D391F3A1DD1484CC470, - 6188AD3D288C30B417411FF0, - F86F4D89CE1DB7AA9BD816AE, + 211C342CC71BC2FC77037BA0, + 297D0417582E9DBCA7342B83, 5B97ACC8C524C6F5F41C6E43, - A22C3CEE8AD85A17007A37C8, - 8DAF025280724EADA6BE748B, - 490768A647EA43AC67D3D12E, - C803FC536BC8402E2B7AEAC6, - B541F0869263AF482C4DCC95, + 2809603872B00E38F1B0ACAA, + D272EDCBE9214B14D4D63CF9, + 7508F069A0EEC89D67161F42, + 0F241A3C356368DDA154CDEE, 8BD123306A2D1EF7C1D22245, ); name = "juce_graphics"; sourceTree = ""; }; - 337B049DAAC697627CE5CF81 = {isa = PBXGroup; children = ( + 02500E3E1FB6215A271FC9F0 = {isa = PBXGroup; children = ( + 1C4FB479D974C51E179E5CDF, + 564F0964BE4672CECEF674FB, ); name = application; sourceTree = ""; }; + C33D0ACEFB5EAD62AB221F68 = {isa = PBXGroup; children = ( + 0E76C14A6B1F3FFAA12390E4, + 965C305E056C8DE917F22585, + 4AD562E921CCD6D6B8FE23E1, + E64584D04C5D69143388CB70, + C5911A1FF6A2BCE091B396AB, + 02EB0ED6B77472A4FCFFBA2C, + FDDAC94C3AB05BFD61CA61A9, + DA5736D3C39C7698A783FB30, + DB8CFD98F9E0781658934C46, + DE5FE350590ECB6263994BF0, + 97C2FBD16505F28651574ED4, + 5E709F00CAC67777947770B4, + D965799F88CFAF2B71319F35, + D2BF69627F2C37082987AB57, + DC88621B627CB67B2B95A622, + 0CAFC4B9A6219281775A3E5B, + 1C90CDB7F9330D36B4945DDB, + 19A3C290AF0C327E51EE50B9, ); name = buttons; sourceTree = ""; }; + C1973E9D229DE91BC49A41C3 = {isa = PBXGroup; children = ( + 31DA1B6D46C641F5802C5A8E, + 27AA00C367BCDA2C9CAC0B86, + 133E18FB3B6527A6F52765BD, + EFA7A6158C4450A5F49335B2, + CACFA7250965121635E31062, + AA7C5FBE142FDA49CF98F8D3, + B68C520871891DF238BC5332, + 206E356909BCD419F0227EAD, + F05B07755D52F4579664F325, ); name = commands; sourceTree = ""; }; + CEA387B51CC2E04C5D254A67 = {isa = PBXGroup; children = ( 5D027E407997AA18E4CF1EDF, 19CA3A888AC0FD869B853833, 07EFBED954F04C319CB2F9AF, @@ -1598,28 +1611,46 @@ EFF09BB7A926D34D346B623E, FCF0A463925D6F585DD6202C, B9A51E1C7C09AE5A7CAF3917, ); name = components; sourceTree = ""; }; - C463BBD86FEDB139712EA6CF = {isa = PBXGroup; children = ( - 840A3675B901258B093CB403, - EFA7D5D1E0D579F2A90ACA08, - 5D4067E343DF0A467BEFE839, - 24BBD64939FB0C2BD8F61109, - A60C27A824FFE6E15583EE8A, - 7DDB16A901128BE86F80DEFB, - BF6B7DB39861D84A3E3F561C, - 7CB3FE2E4112E90CCA8AA810, - B2F80573F3A1212FB1E6D906, - 4842EF0D071A698E74241221, - 343F49E131E61D31B4BC5C57, - 42612832B30BB80C8EB491E8, - E714DB16F28186F6066A2128, - 1D4879E26B36BD535C18A9D3, - 792BE67446E999C97E7FF6B9, - 708EDE4D073A3EF58DEFED5E, - 8B3A2BF481E5D8A840D38A8A, - 50A391FB0CB736D7E525A138, - 8A2EFC2A1E0E3776BEC1166E, - 9BB387E421ADFFAE54294C8B, ); name = mouse; sourceTree = ""; }; - F28A0FA5DD929E0BAE5A045E = {isa = PBXGroup; children = ( + 5251865C18B873021839D1DC = {isa = PBXGroup; children = ( + 2A4FA5A0C18884315A2BAA0E, + 232388289B7BBC5816A43249, + DEFF1D8B0920A1439A4D7BF6, + 82A31A72EE1B1122AD16DDD5, + 41D8D99E399E3061D8647B6F, + 2419CBA43268699E7362495D, + 3CEAC402885D5C05543AEC43, + 1AF6D6EE9265937269A36117, + 18311E0283D643D5AA5315C4, + B893FA799437E480C9DE5B41, + E9A446C55A081B96178D1DF8, + 154BFBF033016D3F53C135A7, + E9CB5952B7883AEA94F52CBD, + 42379E3C735E219BDFAF02A3, + 1CC052B5ECA38077CF568526, ); name = drawables; sourceTree = ""; }; + 010B618C0ECF262D1013BD50 = {isa = PBXGroup; children = ( + A3F4880140755128A9366902, + 4C2C33B3B949FEC97B8EC157, + 02AEF119DAE26DD4377CF71A, + 11039E870792A02AA4D565FA, + 12D5247115B5E1E84191DE1A, + 81841F5651407464F0E84EC8, + 190EFA08DB05C92B8D1B0AD8, + CFF3E3E27308529D8A71B0B4, + 7CCA151E82558DC048A0B0B9, + 909D8C2A34136BCE5DD1624E, + 7F9118DAA9DBAF51A9F6568C, + 920A9AC6E84BD8C5F577F300, + E66BD44DE4ECB0006C6FA1D4, + C56E494E3CBBA81EC41A1204, + A01DEBAEE9AB76E8B825FB81, + BFE9F5D17514F7496A0E1FBD, + 726082C5F9A7979F3FABEACD, + CCB1BA9CE06D43FFDCC604F9, + CA1CA4CF942628C7230FA0A1, + 3D88CEAC1976B883A23AC53A, + B42234064E15C0434ECAB137, + 548925C0C47E873AD639FE55, ); name = filebrowser; sourceTree = ""; }; + 431926AC5FC212A6744F764C = {isa = PBXGroup; children = ( B9599FA267A2D9DF780D1A4D, 23F72B1694AF62D52C346872, E1871D3D858086CF673A183A, @@ -1633,62 +1664,7 @@ 9C2BCC6888992FB311E9DE55, 0D0985E65845458A00278B57, B96B0163C4CFAD6785A3C3E5, ); name = keyboard; sourceTree = ""; }; - 56EB2644BEB375E96FFDB277 = {isa = PBXGroup; children = ( - 9952FD3B36C3D6931A2583D5, - 9423EE84AD1D727F1A54C319, - 705B6E0CD1386CA2F07D6732, - 33A878765A09C802481B9C15, - D3957791C1B2356C6C8E2B57, - 7F3E6B542D50A883C894BB80, - 83E9E9ED4F5B56FD0923EE4A, - 4762CD33A159E85908B0E19E, - AD2F40F909601CA27A812B8C, - 838F96335357B0ABC303B315, - 5A35ED55E78C44D95FB87953, - 325F95D7CCE05417F5D5E868, - FECBDF4257FCEBD21CD0A927, - AA2978CA07499EAB148542E5, - 79687ECAE8A73A35FF764840, - 935631A43F142753B8157DFC, - AE492D9CE55520860BB98811, - CBED69C3DEA3267956D07422, - DE1A8EC854F8790727DCF5F3, - 1613C60554C64D0412E00830, - 6BE4D55046267AE14D783A63, - 25BAE9C3274FCB9B18BA8CE2, - CE8CB04640126669BFEE3AEA, - 135928C66EE16C7492632ED9, - 26256BDC3ADD6959CE1C407D, - D3D4DD7FE5C3AF27D3F58FA0, - 0471ACD8C6F72174559980ED, ); name = widgets; sourceTree = ""; }; - F21C2E02BB9A7B806BA6FDB3 = {isa = PBXGroup; children = ( - D5768D2D6A39D95EF43C132E, - 1FA1524362ECBEF1BFC4277D, - E7CF9D38EE588FA67A1A0BA6, - 5C329E49A7726F2F7D29A5CE, - 49C1F4A5D4C4AE85FC1A5702, - B1491869A8D959D8ADD6EBD1, - 166CC76435C89EA0561DB9C3, - 1E3D3C9C8DF4FC7680BF1423, - 508D90C6525EAC0F06E20997, - EF147A98D8A6B876B4582A69, - 83F8BA4279F6A4BFDEEE77BB, - 3F16561D04149D2BD7B5F0DA, - A4EB7735FCB209FBE5386239, - 8C6B9CC54B9A7224E628F52D, - 01A829E9DEA5A0EF38D602AF, - 4F39D64767AC3AD73EF2487A, - 6684245E4BCE66A5920D9E13, - F5BAB8FB52B9C8D17BE40700, - 205ADC8CC71D24C402FF2B83, ); name = windows; sourceTree = ""; }; - 33BBBECEED368BF384CD6024 = {isa = PBXGroup; children = ( - 362C86206432CC5C84EFBB20, - 03A78461E09AB9BE72F5207A, - 195ECE7C25A147B52C72FBCF, - 96465102CA605250058AC064, - 59F3D582CE541DAA298A579A, - 9A6E397D7BBC81095BAAAD2E, ); name = menus; sourceTree = ""; }; - EA46CBDEAE075F4A0EFB17B8 = {isa = PBXGroup; children = ( + 40C54AA0087F5359A8666528 = {isa = PBXGroup; children = ( D05ED5DAE5FDE25E68241713, 11FC57C0D11AA6304EF94ECB, 00B3EB5421ADC0A47CE075CB, @@ -1725,72 +1701,7 @@ 2E1707957B3A71C40A6F1F7C, A8B10D5403457AC452A79974, 3DC83676AED8D6983662484E, ); name = layout; sourceTree = ""; }; - 2DD6F57708F802312CA5BF98 = {isa = PBXGroup; children = ( - 0E76C14A6B1F3FFAA12390E4, - 965C305E056C8DE917F22585, - 4AD562E921CCD6D6B8FE23E1, - E64584D04C5D69143388CB70, - C5911A1FF6A2BCE091B396AB, - 02EB0ED6B77472A4FCFFBA2C, - FDDAC94C3AB05BFD61CA61A9, - DA5736D3C39C7698A783FB30, - DB8CFD98F9E0781658934C46, - DE5FE350590ECB6263994BF0, - 97C2FBD16505F28651574ED4, - 5E709F00CAC67777947770B4, - D965799F88CFAF2B71319F35, - D2BF69627F2C37082987AB57, - DC88621B627CB67B2B95A622, - 0CAFC4B9A6219281775A3E5B, - 1C90CDB7F9330D36B4945DDB, - 19A3C290AF0C327E51EE50B9, ); name = buttons; sourceTree = ""; }; - 9336B3C84F7AFB272AB4C05A = {isa = PBXGroup; children = ( - D4CBCCDAEDCA252F0B18EFB8, - C5722BC8011A7AC3863F0D75, - AE6A1EBE360F2459CA97F28B, - 9B8720C269E819F628E496AB, - AB6971C8443CCD45581FFE27, - C7E68949CF2B71B6E69B840E, - DF342E66360E70CC9FB2D088, - 73874DC78A39B299149E1833, - 210EB9B831928D624AE206CA, - 07CE970AACAA2798441E68D4, - 92EBDE8F4FF4C7D9010CC277, - 08E3D8FC63613F3C281A7321, - 13DF23791903EE23C9B94266, - 70A18D791C54F97B989BB9B7, ); name = positioning; sourceTree = ""; }; - EA561CC2B72C994B79B4B535 = {isa = PBXGroup; children = ( - 2A4FA5A0C18884315A2BAA0E, - 232388289B7BBC5816A43249, - DEFF1D8B0920A1439A4D7BF6, - 82A31A72EE1B1122AD16DDD5, - 41D8D99E399E3061D8647B6F, - 2419CBA43268699E7362495D, - 3CEAC402885D5C05543AEC43, - 1AF6D6EE9265937269A36117, - 18311E0283D643D5AA5315C4, - B893FA799437E480C9DE5B41, - E9A446C55A081B96178D1DF8, - 154BFBF033016D3F53C135A7, - E9CB5952B7883AEA94F52CBD, - 42379E3C735E219BDFAF02A3, - 1CC052B5ECA38077CF568526, ); name = drawables; sourceTree = ""; }; - 434C42C36135FE7684B6F031 = {isa = PBXGroup; children = ( - 1A84A81FAEA61DF6BED354E4, - E69FD8FE872B3C3288FCAC3C, - 75A2D021E11AA4607169DD5E, - BF35646861CB41B4E5E870B1, - 53EFA64C90C33873A3781E3C, - 49BE2BA580A602FF754A654D, - 1157C5195475CB5DEB691C76, - B0272A07E4B5B5A604A69BB9, - 83C3BA024505ECF97CB1A494, - 1BE58FC46BC1464AADF59A9D, - 380D54F375B780CC7EC45081, - A6B2BEE83F1EBFF07FB1DB20, - 1DE92FD3DCB1D583A6CE3ED1, - 13FCDAA1C90D4662B42A6F04, ); name = properties; sourceTree = ""; }; - 55349B9B1470DCE282526DD9 = {isa = PBXGroup; children = ( + 4ECAF94E46FCB482B3FA79C7 = {isa = PBXGroup; children = ( 55FDA65726A4950DE49F544E, 3FA224F24C8FA15816EAD2CC, B73B72735553F94BB245708E, @@ -1799,48 +1710,40 @@ B89750FEFE02641F138EEF22, A8987822AEB05A94888A8B3B, 98FA1B3621002A39482A7037, ); name = lookandfeel; sourceTree = ""; }; - DC6712CAA9405C233E75A7FF = {isa = PBXGroup; children = ( - A3F4880140755128A9366902, - 4C2C33B3B949FEC97B8EC157, - 02AEF119DAE26DD4377CF71A, - 11039E870792A02AA4D565FA, - 12D5247115B5E1E84191DE1A, - 81841F5651407464F0E84EC8, - 190EFA08DB05C92B8D1B0AD8, - CFF3E3E27308529D8A71B0B4, - 7CCA151E82558DC048A0B0B9, - 909D8C2A34136BCE5DD1624E, - 7F9118DAA9DBAF51A9F6568C, - 920A9AC6E84BD8C5F577F300, - E66BD44DE4ECB0006C6FA1D4, - C56E494E3CBBA81EC41A1204, - A01DEBAEE9AB76E8B825FB81, - BFE9F5D17514F7496A0E1FBD, - 726082C5F9A7979F3FABEACD, - CCB1BA9CE06D43FFDCC604F9, - CA1CA4CF942628C7230FA0A1, - 3D88CEAC1976B883A23AC53A, - B42234064E15C0434ECAB137, - 548925C0C47E873AD639FE55, ); name = filebrowser; sourceTree = ""; }; - F0DB78EC318A281B3663E9EB = {isa = PBXGroup; children = ( - 31DA1B6D46C641F5802C5A8E, - 27AA00C367BCDA2C9CAC0B86, - 133E18FB3B6527A6F52765BD, - EFA7A6158C4450A5F49335B2, - CACFA7250965121635E31062, - AA7C5FBE142FDA49CF98F8D3, - B68C520871891DF238BC5332, - 206E356909BCD419F0227EAD, - F05B07755D52F4579664F325, ); name = commands; sourceTree = ""; }; - 036F27B8715C8D171F0B9504 = {isa = PBXGroup; children = ( + 70F34C9F48D84AE2406276D8 = {isa = PBXGroup; children = ( + 362C86206432CC5C84EFBB20, + 03A78461E09AB9BE72F5207A, + 195ECE7C25A147B52C72FBCF, + 96465102CA605250058AC064, + 59F3D582CE541DAA298A579A, + 9A6E397D7BBC81095BAAAD2E, ); name = menus; sourceTree = ""; }; + 35207DDBDD954DB409AB6F6D = {isa = PBXGroup; children = ( BBF07C581A05714CBD5DF3BD, 815D7A4601E13B895F1C30D0, C37CAC3770FC20323394F6C6, BB165BEFBD9C1341F9872A34, ); name = misc; sourceTree = ""; }; - 5BF272D6B14E94CFEB5B31B0 = {isa = PBXGroup; children = ( - 1C4FB479D974C51E179E5CDF, - 564F0964BE4672CECEF674FB, ); name = application; sourceTree = ""; }; - D2AE29C501A665FC867FE143 = {isa = PBXGroup; children = ( + FF434740C846469689A2D591 = {isa = PBXGroup; children = ( + 840A3675B901258B093CB403, + EFA7D5D1E0D579F2A90ACA08, + 5D4067E343DF0A467BEFE839, + 24BBD64939FB0C2BD8F61109, + A60C27A824FFE6E15583EE8A, + 7DDB16A901128BE86F80DEFB, + BF6B7DB39861D84A3E3F561C, + 7CB3FE2E4112E90CCA8AA810, + B2F80573F3A1212FB1E6D906, + 4842EF0D071A698E74241221, + 343F49E131E61D31B4BC5C57, + 42612832B30BB80C8EB491E8, + E714DB16F28186F6066A2128, + 1D4879E26B36BD535C18A9D3, + 792BE67446E999C97E7FF6B9, + 708EDE4D073A3EF58DEFED5E, + 8B3A2BF481E5D8A840D38A8A, + 50A391FB0CB736D7E525A138, + 8A2EFC2A1E0E3776BEC1166E, + 9BB387E421ADFFAE54294C8B, ); name = mouse; sourceTree = ""; }; + 12B751BE7F689CD5BD41CE8A = {isa = PBXGroup; children = ( 7275182C65010E12C94356DF, 7E845FFAB78320D64910356F, 9D3F96C9C324FF902D078BC6, @@ -1857,25 +1760,102 @@ 933351F1C4B5CD31951BA33C, 660143D122CB260A7A45507A, 0EA946592DBF37DCD20A2B52, ); name = native; sourceTree = ""; }; + CD7EA14B65816A81312D7A7D = {isa = PBXGroup; children = ( + D4CBCCDAEDCA252F0B18EFB8, + C5722BC8011A7AC3863F0D75, + AE6A1EBE360F2459CA97F28B, + 9B8720C269E819F628E496AB, + AB6971C8443CCD45581FFE27, + C7E68949CF2B71B6E69B840E, + DF342E66360E70CC9FB2D088, + 73874DC78A39B299149E1833, + 210EB9B831928D624AE206CA, + 07CE970AACAA2798441E68D4, + 92EBDE8F4FF4C7D9010CC277, + 08E3D8FC63613F3C281A7321, + 13DF23791903EE23C9B94266, + 70A18D791C54F97B989BB9B7, ); name = positioning; sourceTree = ""; }; + 77D04100C05B535E9B95DFB2 = {isa = PBXGroup; children = ( + 1A84A81FAEA61DF6BED354E4, + E69FD8FE872B3C3288FCAC3C, + 75A2D021E11AA4607169DD5E, + BF35646861CB41B4E5E870B1, + 53EFA64C90C33873A3781E3C, + 49BE2BA580A602FF754A654D, + 1157C5195475CB5DEB691C76, + B0272A07E4B5B5A604A69BB9, + 83C3BA024505ECF97CB1A494, + 1BE58FC46BC1464AADF59A9D, + 380D54F375B780CC7EC45081, + A6B2BEE83F1EBFF07FB1DB20, + 1DE92FD3DCB1D583A6CE3ED1, + 13FCDAA1C90D4662B42A6F04, ); name = properties; sourceTree = ""; }; + C8A15E6042C8D28D1055C349 = {isa = PBXGroup; children = ( + 9952FD3B36C3D6931A2583D5, + 9423EE84AD1D727F1A54C319, + 705B6E0CD1386CA2F07D6732, + 33A878765A09C802481B9C15, + D3957791C1B2356C6C8E2B57, + 7F3E6B542D50A883C894BB80, + 83E9E9ED4F5B56FD0923EE4A, + 4762CD33A159E85908B0E19E, + AD2F40F909601CA27A812B8C, + 838F96335357B0ABC303B315, + 5A35ED55E78C44D95FB87953, + 325F95D7CCE05417F5D5E868, + FECBDF4257FCEBD21CD0A927, + AA2978CA07499EAB148542E5, + 79687ECAE8A73A35FF764840, + 935631A43F142753B8157DFC, + AE492D9CE55520860BB98811, + CBED69C3DEA3267956D07422, + DE1A8EC854F8790727DCF5F3, + 1613C60554C64D0412E00830, + 6BE4D55046267AE14D783A63, + 25BAE9C3274FCB9B18BA8CE2, + CE8CB04640126669BFEE3AEA, + 135928C66EE16C7492632ED9, + 26256BDC3ADD6959CE1C407D, + D3D4DD7FE5C3AF27D3F58FA0, + 0471ACD8C6F72174559980ED, ); name = widgets; sourceTree = ""; }; + 7008BDE0AB7E6F6D71625D8E = {isa = PBXGroup; children = ( + D5768D2D6A39D95EF43C132E, + 1FA1524362ECBEF1BFC4277D, + E7CF9D38EE588FA67A1A0BA6, + 5C329E49A7726F2F7D29A5CE, + 49C1F4A5D4C4AE85FC1A5702, + B1491869A8D959D8ADD6EBD1, + 166CC76435C89EA0561DB9C3, + 1E3D3C9C8DF4FC7680BF1423, + 508D90C6525EAC0F06E20997, + EF147A98D8A6B876B4582A69, + 83F8BA4279F6A4BFDEEE77BB, + 3F16561D04149D2BD7B5F0DA, + A4EB7735FCB209FBE5386239, + 8C6B9CC54B9A7224E628F52D, + 01A829E9DEA5A0EF38D602AF, + 4F39D64767AC3AD73EF2487A, + 6684245E4BCE66A5920D9E13, + F5BAB8FB52B9C8D17BE40700, + 205ADC8CC71D24C402FF2B83, ); name = windows; sourceTree = ""; }; 84A48DC9C4EF88B64103B1E0 = {isa = PBXGroup; children = ( - 337B049DAAC697627CE5CF81, - C463BBD86FEDB139712EA6CF, - F28A0FA5DD929E0BAE5A045E, - 56EB2644BEB375E96FFDB277, - F21C2E02BB9A7B806BA6FDB3, - 33BBBECEED368BF384CD6024, - EA46CBDEAE075F4A0EFB17B8, - 2DD6F57708F802312CA5BF98, - 9336B3C84F7AFB272AB4C05A, - EA561CC2B72C994B79B4B535, - 434C42C36135FE7684B6F031, - 55349B9B1470DCE282526DD9, - DC6712CAA9405C233E75A7FF, - F0DB78EC318A281B3663E9EB, - 036F27B8715C8D171F0B9504, - 5BF272D6B14E94CFEB5B31B0, - D2AE29C501A665FC867FE143, - 58A61E077684ADCBD3789FE2, + 02500E3E1FB6215A271FC9F0, + C33D0ACEFB5EAD62AB221F68, + C1973E9D229DE91BC49A41C3, + CEA387B51CC2E04C5D254A67, + 5251865C18B873021839D1DC, + 010B618C0ECF262D1013BD50, + 431926AC5FC212A6744F764C, + 40C54AA0087F5359A8666528, + 4ECAF94E46FCB482B3FA79C7, + 70F34C9F48D84AE2406276D8, + 35207DDBDD954DB409AB6F6D, + FF434740C846469689A2D591, + 12B751BE7F689CD5BD41CE8A, + CD7EA14B65816A81312D7A7D, + 77D04100C05B535E9B95DFB2, + C8A15E6042C8D28D1055C349, + 7008BDE0AB7E6F6D71625D8E, 012D15DF2BF8C2A8D78BBCB1, ); name = "juce_gui_basics"; sourceTree = ""; }; 573170B3CC20B249A3C7C729 = {isa = PBXGroup; children = ( 6C1A5BA3260AA97BCC54E99C, @@ -1937,7 +1917,6 @@ 048E0E1E43C826C3961B8D2B, 1852906FF1B7446D8B491B4B, 52DEC30C22F2FA87C80976E9, - A7E97E9FB812DD77207D8297, 56F4146CF072135E9FD55A0A, ); name = "juce_gui_extra"; sourceTree = ""; }; 90489A23F0DBAD5F1550CE20 = {isa = PBXGroup; children = ( 659E76D64C99326CAFA99BB7, @@ -1953,20 +1932,20 @@ 1B0481B8E7A5B7489D768A07, ); name = "Juce Modules"; sourceTree = ""; }; 0B8996A5E2671A4628476CFB = {isa = PBXGroup; children = ( A65BB8D452A2A4859FA41F8B, - 210267A63B6A116B12EEA4D2, - 23750FB9BDD75177C64F9AF9, - 5DBE129199F61C74A5CCB575, - 958486C51C2FDFD3734B281C, - 10D3D9E820330B4B1A0BBA94, - 11934147B8A79709D0664625, - FB9C77F74F072D199A7BD698, - 050729FE03ED356C75E970EA, - B2DA2CD83338C8A369A3F2E8, - F58AAC0B88773E609A8E3AC5, - D71B725E56C2BAFB9DAED99D, + 71F53610B155D5DC0BC44FE8, + 4175A059B8C8C5B5326C868D, + F3E66241B460F42763126C07, + 4FE58F1BB8347D978F8549DC, + 70AF1456B19C4D3B424A3883, + E18F04B8EBF4E3AB1362BDC5, + 28E1AF36A775870224F6D59B, + 5B68D6F2AC0D0B18DE5FFF63, + 7724F42B3BE3B4D25047BEB7, + 70D0CB56D167630AB1912B0B, + C4B5CF7830AAA69A7E9A12C2, 26FE7BE182FBB9E7228A082D, ); name = "Juce Library Code"; sourceTree = ""; }; ED3C55ACC14D6DE2BC3B8A1D = {isa = PBXGroup; children = ( - 37DC811124A88BCB26442FCB, + 9516A19EE58DED8326DD0306, 8693552B5FA53C2003A66302, ); name = Resources; sourceTree = ""; }; 02A7F817D49F2BC1D70F4242 = {isa = PBXGroup; children = ( 9EADBF913B7A454B6BE93A4A, @@ -1981,7 +1960,7 @@ 0A58FDDF6FB9253F51939A52, 60795BF638A7024B62C0DF09, ); name = Frameworks; sourceTree = ""; }; 1DFEAF972822E305E013CC06 = {isa = PBXGroup; children = ( - E21F9CB67E9AEAD65CD9DCA8, ); name = Products; sourceTree = ""; }; + 614F2084407B35D62101F69F, ); name = Products; sourceTree = ""; }; 3BA1BA0CAFE969E99950C06B = {isa = PBXGroup; children = ( 4E2981EC48DBFD725AD8E626, 90489A23F0DBAD5F1550CE20, @@ -1989,7 +1968,7 @@ ED3C55ACC14D6DE2BC3B8A1D, 02A7F817D49F2BC1D70F4242, 1DFEAF972822E305E013CC06, ); name = Source; sourceTree = ""; }; - 4109632EEA7D099673B1E062 = {isa = XCBuildConfiguration; buildSettings = { + 19B7C16D592FB25D09022191 = {isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -2007,10 +1986,10 @@ "JUCE_APP_VERSION_HEX=0x10000", ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.plist; INSTALL_PATH = "$(HOME)/Applications"; PRODUCT_BUNDLE_IDENTIFIER = com.juce.AudioPerformanceTest; }; name = Debug; }; - 09D597E96F6325A998BC9022 = {isa = XCBuildConfiguration; buildSettings = { + B7A6988E30C0A68B01EDC53B = {isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -2029,7 +2008,7 @@ GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.plist; INSTALL_PATH = "$(HOME)/Applications"; PRODUCT_BUNDLE_IDENTIFIER = com.juce.AudioPerformanceTest; }; name = Release; }; B907CDF95622107F20CD7617 = {isa = XCBuildConfiguration; buildSettings = { @@ -2070,28 +2049,29 @@ TARGETED_DEVICE_FAMILY = "1,2"; WARNING_CFLAGS = -Wreorder; ZERO_LINK = NO; }; name = Release; }; + AA3837ADCB1CEB3B0E2D20B3 = {isa = PBXTargetDependency; target = E9FD2656EC625C9C8DE30219; }; 7097CF6AC086DAC346ACCCD9 = {isa = XCConfigurationList; buildConfigurations = ( B907CDF95622107F20CD7617, BF82CBDF63CC37CADC61A511, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 965DF4C962A484ACA2BB96C0 = {isa = XCConfigurationList; buildConfigurations = ( - 4109632EEA7D099673B1E062, - 09D597E96F6325A998BC9022, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - CDF2FFB3060605016011601F = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 674C2AF5989C06689C6065FC = {isa = XCConfigurationList; buildConfigurations = ( + 19B7C16D592FB25D09022191, + B7A6988E30C0A68B01EDC53B, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + C86DD529EC94922C2AB61742 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( A783F6E198806332E7FB9744, ); runOnlyForDeploymentPostprocessing = 0; }; - 8252EB072CFAB1AB3968841B = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 6C2BE2DE2ECC96615ED827AB = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 07451DA87757F9EF80E31BE8, - A85A66764138757920895E7B, - D2748B9B6E711F365D241A30, - AD584F6DBB33504DBB9B3CB0, - 5BBB2FD60B58F627CEA757CC, - C0A36CC2E2360C7FF03F3C69, - D0ECDCC9EDA71E9C5F7A18D9, - 9CD99CB95F40FEB539AC2272, - 0B611B2FD7E65543B8990D43, - A12B2EAD5BB1C126BEE4F2DA, - 7174F6DD7C6B3DF1A4BFDB99, - 7FDA000D7F9053D6660FEB0D, ); runOnlyForDeploymentPostprocessing = 0; }; - 9A4D69EC6BE7008F085186CC = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + C8A2264A4D4A0CD6B519AC01, + 8286920FF6CFA9E7A4975C33, + 1B7DB3536E20A460AC331BC8, + 03B1B72B30A18968B9F453A1, + 1382A55F62D5255C2BA0E9D1, + B02021DAEC57D0539B9BCFC6, + 4DA57D238C2CD7F9DFD3C2A2, + 232C91F7D3438C28FD4076E6, + BE51C0B1FCD9B908D9EB63B1, + 7D6AEBA4AD90EC541711C680, + 5144E6127912F3BAE3E6CCC8, ); runOnlyForDeploymentPostprocessing = 0; }; + 409D569C572B6EF7F4F1702D = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( 8A0F71A4EEC7FE694352DD94, 30BE30F31D1AAED9FC893AA5, E74C8479F0E10EC28E1E2DE1, @@ -2103,11 +2083,11 @@ CC782AABFA20787BABBCED90, F8099BB77DC0D01DCCC6AFB9, AA0C9E035BB509F01A09310B, ); runOnlyForDeploymentPostprocessing = 0; }; - 93712BA435FCAA2B42B97C40 = {isa = PBXNativeTarget; buildConfigurationList = 965DF4C962A484ACA2BB96C0; buildPhases = ( - CDF2FFB3060605016011601F, - 8252EB072CFAB1AB3968841B, - 9A4D69EC6BE7008F085186CC, ); buildRules = ( ); dependencies = ( ); name = AudioPerformanceTest; productName = AudioPerformanceTest; productReference = E21F9CB67E9AEAD65CD9DCA8; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; - 9CE2A44801B5B4BE7A9667DA = {isa = PBXProject; buildConfigurationList = 7097CF6AC086DAC346ACCCD9; attributes = { LastUpgradeCheck = 0440; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 3BA1BA0CAFE969E99950C06B; projectDirPath = ""; projectRoot = ""; targets = ( 93712BA435FCAA2B42B97C40 ); }; + E9FD2656EC625C9C8DE30219 = {isa = PBXNativeTarget; buildConfigurationList = 674C2AF5989C06689C6065FC; buildPhases = ( + C86DD529EC94922C2AB61742, + 6C2BE2DE2ECC96615ED827AB, + 409D569C572B6EF7F4F1702D, ); buildRules = ( ); dependencies = ( ); name = "AudioPerformanceTest (App)"; productName = AudioPerformanceTest; productReference = 614F2084407B35D62101F69F; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; + 9CE2A44801B5B4BE7A9667DA = {isa = PBXProject; buildConfigurationList = 7097CF6AC086DAC346ACCCD9; attributes = { LastUpgradeCheck = 0440; TargetAttributes = { E9FD2656EC625C9C8DE30219 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 3BA1BA0CAFE969E99950C06B; projectDirPath = ""; projectRoot = ""; targets = (E9FD2656EC625C9C8DE30219); }; }; rootObject = 9CE2A44801B5B4BE7A9667DA; } diff --git a/extras/AudioPerformanceTest/Builds/iOS/Info.plist b/extras/AudioPerformanceTest/Builds/iOS/Info-App.plist similarity index 84% rename from extras/AudioPerformanceTest/Builds/iOS/Info.plist rename to extras/AudioPerformanceTest/Builds/iOS/Info-App.plist index cd6d14fab8..44379dc109 100644 --- a/extras/AudioPerformanceTest/Builds/iOS/Info.plist +++ b/extras/AudioPerformanceTest/Builds/iOS/Info-App.plist @@ -13,6 +13,8 @@ $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName AudioPerformanceTest + CFBundleDisplayName + AudioPerformanceTest CFBundlePackageType APPL CFBundleSignature @@ -27,12 +29,15 @@ UIRequiresFullScreen + UIStatusBarHidden + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight + UIBackgroundModes + diff --git a/extras/AudioPerformanceTest/JuceLibraryCode/AppConfig.h b/extras/AudioPerformanceTest/JuceLibraryCode/AppConfig.h index a43d846ddc..bd436ee49a 100644 --- a/extras/AudioPerformanceTest/JuceLibraryCode/AppConfig.h +++ b/extras/AudioPerformanceTest/JuceLibraryCode/AppConfig.h @@ -4,8 +4,8 @@ project - if you alter its contents, your changes may be overwritten! There's a section below where you can add your own custom code safely, and the - Introjucer will preserve the contents of that block, but the best way to change - any of these definitions is by using the Introjucer's project settings. + Projucer will preserve the contents of that block, but the best way to change + any of these definitions is by using the Projucer's project settings. Any commented-out settings will assume their default values. @@ -17,7 +17,7 @@ //============================================================================== // [BEGIN_USER_CODE_SECTION] -// (You can add your own code in this section, and the Introjucer will not overwrite it) +// (You can add your own code in this section, and the Projucer will not overwrite it) // [END_USER_CODE_SECTION] @@ -36,9 +36,15 @@ //============================================================================== #ifndef JUCE_STANDALONE_APPLICATION - #define JUCE_STANDALONE_APPLICATION 1 + #ifdef JucePlugin_Build_Standalone + #define JUCE_STANDALONE_APPLICATION JucePlugin_Build_Standalone + #else + #define JUCE_STANDALONE_APPLICATION 1 + #endif #endif +#define JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED 1 + //============================================================================== // juce_audio_devices flags: diff --git a/extras/AudioPerformanceTest/JuceLibraryCode/JuceHeader.h b/extras/AudioPerformanceTest/JuceLibraryCode/JuceHeader.h index 75a77e1d37..dbcc6eff10 100644 --- a/extras/AudioPerformanceTest/JuceLibraryCode/JuceHeader.h +++ b/extras/AudioPerformanceTest/JuceLibraryCode/JuceHeader.h @@ -14,17 +14,19 @@ #define __APPHEADERFILE_AKFC5M__ #include "AppConfig.h" -#include "modules/juce_audio_basics/juce_audio_basics.h" -#include "modules/juce_audio_devices/juce_audio_devices.h" -#include "modules/juce_audio_formats/juce_audio_formats.h" -#include "modules/juce_audio_processors/juce_audio_processors.h" -#include "modules/juce_audio_utils/juce_audio_utils.h" -#include "modules/juce_core/juce_core.h" -#include "modules/juce_data_structures/juce_data_structures.h" -#include "modules/juce_events/juce_events.h" -#include "modules/juce_graphics/juce_graphics.h" -#include "modules/juce_gui_basics/juce_gui_basics.h" -#include "modules/juce_gui_extra/juce_gui_extra.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + #if ! DONT_SET_USING_JUCE_NAMESPACE // If your code uses a lot of JUCE classes, then this will obviously save you diff --git a/extras/AudioPerformanceTest/JuceLibraryCode/ReadMe.txt b/extras/AudioPerformanceTest/JuceLibraryCode/ReadMe.txt index f6c3564e99..091a5aa6eb 100644 --- a/extras/AudioPerformanceTest/JuceLibraryCode/ReadMe.txt +++ b/extras/AudioPerformanceTest/JuceLibraryCode/ReadMe.txt @@ -2,11 +2,11 @@ Important Note!! ================ -The purpose of this folder is to contain files that are auto-generated by the Introjucer, +The purpose of this folder is to contain files that are auto-generated by the Projucer, and ALL files in this folder will be mercilessly DELETED and completely re-written whenever -the Introjucer saves your project. +the Projucer saves your project. Therefore, it's a bad idea to make any manual changes to the files in here, or to put any of your own files in here if you don't want to lose them. (Of course you may choose to add the folder's contents to your version-control system so that you can re-merge your own -modifications after the Introjucer has saved its changes). +modifications after the Projucer has saved its changes). diff --git a/extras/AudioPerformanceTest/JuceLibraryCode/juce_audio_basics.cpp b/extras/AudioPerformanceTest/JuceLibraryCode/juce_audio_basics.cpp new file mode 100644 index 0000000000..418694873c --- /dev/null +++ b/extras/AudioPerformanceTest/JuceLibraryCode/juce_audio_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/AudioPerformanceTest/JuceLibraryCode/juce_audio_basics.mm b/extras/AudioPerformanceTest/JuceLibraryCode/juce_audio_basics.mm new file mode 100644 index 0000000000..e0e6c577cc --- /dev/null +++ b/extras/AudioPerformanceTest/JuceLibraryCode/juce_audio_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/AudioPerformanceTest/JuceLibraryCode/juce_audio_devices.cpp b/extras/AudioPerformanceTest/JuceLibraryCode/juce_audio_devices.cpp new file mode 100644 index 0000000000..fb5c2219d7 --- /dev/null +++ b/extras/AudioPerformanceTest/JuceLibraryCode/juce_audio_devices.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/AudioPerformanceTest/JuceLibraryCode/juce_audio_devices.mm b/extras/AudioPerformanceTest/JuceLibraryCode/juce_audio_devices.mm new file mode 100644 index 0000000000..e58b67ea49 --- /dev/null +++ b/extras/AudioPerformanceTest/JuceLibraryCode/juce_audio_devices.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/AudioPerformanceTest/JuceLibraryCode/juce_audio_formats.cpp b/extras/AudioPerformanceTest/JuceLibraryCode/juce_audio_formats.cpp new file mode 100644 index 0000000000..a3c61170eb --- /dev/null +++ b/extras/AudioPerformanceTest/JuceLibraryCode/juce_audio_formats.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/AudioPerformanceTest/JuceLibraryCode/juce_audio_formats.mm b/extras/AudioPerformanceTest/JuceLibraryCode/juce_audio_formats.mm new file mode 100644 index 0000000000..f325b8fb67 --- /dev/null +++ b/extras/AudioPerformanceTest/JuceLibraryCode/juce_audio_formats.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/AudioPerformanceTest/JuceLibraryCode/juce_audio_processors.cpp b/extras/AudioPerformanceTest/JuceLibraryCode/juce_audio_processors.cpp new file mode 100644 index 0000000000..bfe172edd0 --- /dev/null +++ b/extras/AudioPerformanceTest/JuceLibraryCode/juce_audio_processors.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/AudioPerformanceTest/JuceLibraryCode/juce_audio_processors.mm b/extras/AudioPerformanceTest/JuceLibraryCode/juce_audio_processors.mm new file mode 100644 index 0000000000..b80ae9017f --- /dev/null +++ b/extras/AudioPerformanceTest/JuceLibraryCode/juce_audio_processors.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/AudioPerformanceTest/JuceLibraryCode/juce_audio_utils.cpp b/extras/AudioPerformanceTest/JuceLibraryCode/juce_audio_utils.cpp new file mode 100644 index 0000000000..97bd2c568c --- /dev/null +++ b/extras/AudioPerformanceTest/JuceLibraryCode/juce_audio_utils.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/AudioPerformanceTest/JuceLibraryCode/juce_audio_utils.mm b/extras/AudioPerformanceTest/JuceLibraryCode/juce_audio_utils.mm new file mode 100644 index 0000000000..8eae7c6e2f --- /dev/null +++ b/extras/AudioPerformanceTest/JuceLibraryCode/juce_audio_utils.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/AudioPerformanceTest/JuceLibraryCode/juce_core.cpp b/extras/AudioPerformanceTest/JuceLibraryCode/juce_core.cpp new file mode 100644 index 0000000000..d0ce1636f0 --- /dev/null +++ b/extras/AudioPerformanceTest/JuceLibraryCode/juce_core.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/AudioPerformanceTest/JuceLibraryCode/juce_core.mm b/extras/AudioPerformanceTest/JuceLibraryCode/juce_core.mm new file mode 100644 index 0000000000..72b10bf817 --- /dev/null +++ b/extras/AudioPerformanceTest/JuceLibraryCode/juce_core.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/AudioPerformanceTest/JuceLibraryCode/juce_data_structures.cpp b/extras/AudioPerformanceTest/JuceLibraryCode/juce_data_structures.cpp new file mode 100644 index 0000000000..9315aa1686 --- /dev/null +++ b/extras/AudioPerformanceTest/JuceLibraryCode/juce_data_structures.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/AudioPerformanceTest/JuceLibraryCode/juce_data_structures.mm b/extras/AudioPerformanceTest/JuceLibraryCode/juce_data_structures.mm new file mode 100644 index 0000000000..695ec43925 --- /dev/null +++ b/extras/AudioPerformanceTest/JuceLibraryCode/juce_data_structures.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/AudioPerformanceTest/JuceLibraryCode/juce_events.cpp b/extras/AudioPerformanceTest/JuceLibraryCode/juce_events.cpp new file mode 100644 index 0000000000..1bba110a97 --- /dev/null +++ b/extras/AudioPerformanceTest/JuceLibraryCode/juce_events.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/AudioPerformanceTest/JuceLibraryCode/juce_events.mm b/extras/AudioPerformanceTest/JuceLibraryCode/juce_events.mm new file mode 100644 index 0000000000..4cc34fc401 --- /dev/null +++ b/extras/AudioPerformanceTest/JuceLibraryCode/juce_events.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/AudioPerformanceTest/JuceLibraryCode/juce_graphics.cpp b/extras/AudioPerformanceTest/JuceLibraryCode/juce_graphics.cpp new file mode 100644 index 0000000000..319c76de0e --- /dev/null +++ b/extras/AudioPerformanceTest/JuceLibraryCode/juce_graphics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/AudioPerformanceTest/JuceLibraryCode/juce_graphics.mm b/extras/AudioPerformanceTest/JuceLibraryCode/juce_graphics.mm new file mode 100644 index 0000000000..b28e6dd056 --- /dev/null +++ b/extras/AudioPerformanceTest/JuceLibraryCode/juce_graphics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/AudioPerformanceTest/JuceLibraryCode/juce_gui_basics.cpp b/extras/AudioPerformanceTest/JuceLibraryCode/juce_gui_basics.cpp new file mode 100644 index 0000000000..216c76bb05 --- /dev/null +++ b/extras/AudioPerformanceTest/JuceLibraryCode/juce_gui_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/AudioPerformanceTest/JuceLibraryCode/juce_gui_basics.mm b/extras/AudioPerformanceTest/JuceLibraryCode/juce_gui_basics.mm new file mode 100644 index 0000000000..6a9726fa5f --- /dev/null +++ b/extras/AudioPerformanceTest/JuceLibraryCode/juce_gui_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/AudioPerformanceTest/JuceLibraryCode/juce_gui_extra.cpp b/extras/AudioPerformanceTest/JuceLibraryCode/juce_gui_extra.cpp new file mode 100644 index 0000000000..7226e19833 --- /dev/null +++ b/extras/AudioPerformanceTest/JuceLibraryCode/juce_gui_extra.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/AudioPerformanceTest/JuceLibraryCode/juce_gui_extra.mm b/extras/AudioPerformanceTest/JuceLibraryCode/juce_gui_extra.mm new file mode 100644 index 0000000000..c9b6c3bfc6 --- /dev/null +++ b/extras/AudioPerformanceTest/JuceLibraryCode/juce_gui_extra.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h b/extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h deleted file mode 100644 index 9befea8142..0000000000 --- a/extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_basics/juce_audio_basics.h" diff --git a/extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h b/extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h deleted file mode 100644 index eba6d3a9e5..0000000000 --- a/extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_devices/juce_audio_devices.h" diff --git a/extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h b/extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h deleted file mode 100644 index 4629b0ef2c..0000000000 --- a/extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_formats/juce_audio_formats.h" diff --git a/extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h b/extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h deleted file mode 100644 index 7d4583dbf8..0000000000 --- a/extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_processors/juce_audio_processors.h" diff --git a/extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h b/extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h deleted file mode 100644 index bb997d30d3..0000000000 --- a/extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_utils/juce_audio_utils.h" diff --git a/extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_core/juce_core.h b/extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_core/juce_core.h deleted file mode 100644 index 06e88f9352..0000000000 --- a/extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_core/juce_core.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_core/juce_core.h" diff --git a/extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h b/extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h deleted file mode 100644 index 9d814fd953..0000000000 --- a/extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_data_structures/juce_data_structures.h" diff --git a/extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_events/juce_events.h b/extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_events/juce_events.h deleted file mode 100644 index 509b1df8d2..0000000000 --- a/extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_events/juce_events.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_events/juce_events.h" diff --git a/extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_graphics/juce_graphics.h b/extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_graphics/juce_graphics.h deleted file mode 100644 index 28edbf35e3..0000000000 --- a/extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_graphics/juce_graphics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_graphics/juce_graphics.h" diff --git a/extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h b/extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h deleted file mode 100644 index 81ad4b7297..0000000000 --- a/extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_gui_basics/juce_gui_basics.h" diff --git a/extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h b/extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h deleted file mode 100644 index 5c9b7a96b5..0000000000 --- a/extras/AudioPerformanceTest/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_gui_extra/juce_gui_extra.h" diff --git a/extras/AudioPerformanceTest/Source/MainComponent.h b/extras/AudioPerformanceTest/Source/MainComponent.h index 325691b822..8cd353992d 100644 --- a/extras/AudioPerformanceTest/Source/MainComponent.h +++ b/extras/AudioPerformanceTest/Source/MainComponent.h @@ -37,7 +37,7 @@ class MainContentComponent : public AudioAppComponent, private Timer { public: - //========================================================================== + //============================================================================== MainContentComponent() { setSize (400, 400); @@ -53,7 +53,7 @@ public: shutdownAudio(); } - //========================================================================== + //============================================================================== void prepareToPlay (int bufferSize, double sampleRate) override { currentSampleRate = sampleRate; @@ -69,7 +69,7 @@ public: currentSampleRate = 0.0; } - //========================================================================== + //============================================================================== void getNextAudioBlock (const AudioSourceChannelInfo& bufferToFill) override { const double startTimeMs = getPreciseTimeMs(); @@ -87,7 +87,7 @@ public: addCallbackMetrics (startTimeMs, endTimeMs); } - //========================================================================== + //============================================================================== void addCallbackMetrics (double startTimeMs, double endTimeMs) { double runtimeMs = endTimeMs - startTimeMs; @@ -108,7 +108,7 @@ public: lastCallbackStartTimeMs = startTimeMs; } - //========================================================================== + //============================================================================== void paint (Graphics& g) override { g.fillAll (Colours::black); @@ -118,14 +118,14 @@ public: getLocalBounds().withY (loopIterationsSlider.getHeight()), Justification::centred, true); } - //========================================================================== + //============================================================================== void resized() override { loopIterationsSlider.setBounds (getLocalBounds().withSizeKeepingCentre (proportionOfWidth (0.9f), 50)); } private: - //========================================================================== + //============================================================================== void initGui() { loopIterationsSlider.setSliderStyle (Slider::LinearBar); @@ -137,7 +137,7 @@ private: addAndMakeVisible (loopIterationsSlider); } - //========================================================================== + //============================================================================== void allocateBuffers (int bufferSize) { a.resize (bufferSize); @@ -145,7 +145,7 @@ private: c.resize (bufferSize); } - //========================================================================== + //============================================================================== void initialiseBuffers (const AudioSourceChannelInfo& bufferToFill, std::size_t bufferSize) { if (bufferSize != a.size()) @@ -167,7 +167,7 @@ private: std::fill (c.begin(), c.end(), 0.11f); } - //========================================================================== + //============================================================================== void crunchSomeNumbers (float* outBuffer, std::size_t bufferSize, int numIterations) noexcept { jassert (a.size() == bufferSize && b.size() == bufferSize && c.size() == bufferSize); @@ -179,13 +179,13 @@ private: } } - //========================================================================== + //============================================================================== void timerCallback() override { printAndResetPerformanceMetrics(); } - //========================================================================== + //============================================================================== void printHeader() const { Logger::writeToLog ("buffer size = " + String (a.size()) + " samples"); @@ -197,7 +197,7 @@ private: Logger::writeToLog ("----- | ----- ----- ----- ----- | ----- ----- ----- ----- | --- --- --- "); } - //========================================================================== + //============================================================================== void printAndResetPerformanceMetrics() { std::unique_lock lock (metricMutex); @@ -220,7 +220,7 @@ private: + String (overLimit).paddedRight (' ', 8) + " | "); } - //========================================================================== + //============================================================================== String getPercentFormattedMetricString (const StatisticsAccumulator metric) const { auto physTimeLimit = getPhysicalTimeLimitMs(); @@ -231,7 +231,7 @@ private: + String (metric.getStandardDeviation(), 3).paddedRight (' ', 8); } - //========================================================================== + //============================================================================== void resetPerformanceMetrics() { audioCallbackRuntimeMs.reset(); @@ -240,25 +240,25 @@ private: numCallbacksOverPhysicalTimeLimit = 0; } - //========================================================================== + //============================================================================== void updateNumLoopIterationsPerCallback() { numLoopIterationsPerCallback = (int) loopIterationsSlider.getValue(); } - //========================================================================== + //============================================================================== static double getPreciseTimeMs() noexcept { return 1000.0 * Time::getHighResolutionTicks() / (double) Time::getHighResolutionTicksPerSecond(); } - //========================================================================== + //============================================================================== double getPhysicalTimeLimitMs() const noexcept { return 1000.0 * a.size() / currentSampleRate; } - //========================================================================== + //============================================================================== std::vector a, b, c; // must always be of size == current bufferSize double currentSampleRate = 0.0; @@ -272,7 +272,7 @@ private: Slider loopIterationsSlider; std::mutex metricMutex; - //========================================================================== + //============================================================================== JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainContentComponent) }; diff --git a/extras/Introjucer/Builds/CodeBlocks/The Introjucer.cbp b/extras/Introjucer/Builds/CodeBlocks/The Introjucer.cbp deleted file mode 100644 index 1eb5947afc..0000000000 --- a/extras/Introjucer/Builds/CodeBlocks/The Introjucer.cbp +++ /dev/null @@ -1,3498 +0,0 @@ - - - - - - - diff --git a/extras/Introjucer/Builds/MacOSX/Icon.icns b/extras/Introjucer/Builds/MacOSX/Icon.icns deleted file mode 100644 index 5881abd2990c630dd72d928f64c2e522ce4011ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42142 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 - - - - - Debug - Win32 - - - Release - Win32 - - - - {26ABE2A4-1F2F-8375-088D-D692A4408B5A} - - - - Application - false - - - Application - false - true - - - - - - - - - <_ProjectFileVersion>10.0.30319.1 - Introjucer - true - Introjucer - true - - - - _DEBUG;%(PreprocessorDefinitions) - true - true - Win32 - - - - Disabled - EditAndContinue - ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2010_78A501D=1;JUCE_APP_VERSION=4.1.0;JUCE_APP_VERSION_HEX=0x40100;%(PreprocessorDefinitions) - MultiThreadedDebug - true - - $(IntDir)\ - $(IntDir)\ - $(IntDir)\ - Level4 - true - true - - - _DEBUG;%(PreprocessorDefinitions) - - - $(OutDir)\Introjucer.exe - true - libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries) - true - $(IntDir)\Introjucer.pdb - Windows - MachineX86 - false - true - - - true - $(IntDir)\Introjucer.bsc - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - Win32 - - - - Full - ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2010_78A501D=1;JUCE_APP_VERSION=4.1.0;JUCE_APP_VERSION_HEX=0x40100;%(PreprocessorDefinitions) - MultiThreaded - true - - $(IntDir)\ - $(IntDir)\ - $(IntDir)\ - Level4 - true - true - - - NDEBUG;%(PreprocessorDefinitions) - - - $(OutDir)\Introjucer.exe - true - %(IgnoreSpecificDefaultLibraries) - false - $(IntDir)\Introjucer.pdb - Windows - MachineX86 - true - true - true - - - true - $(IntDir)\Introjucer.bsc - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/extras/Introjucer/Builds/VisualStudio2010/The Introjucer.vcxproj.filters b/extras/Introjucer/Builds/VisualStudio2010/The Introjucer.vcxproj.filters deleted file mode 100644 index 8629af1fad..0000000000 --- a/extras/Introjucer/Builds/VisualStudio2010/The Introjucer.vcxproj.filters +++ /dev/null @@ -1,2939 +0,0 @@ - - - - - - {08497553-90EF-7F50-1FCE-C399F0F4F301} - - - {BCABA310-8FA8-9483-44C8-901CB254B038} - - - {D05B051C-4835-D6A6-3AF4-B61963EFC368} - - - {95DE2FA4-3654-5411-BB7B-2BDDDF07715E} - - - {073C6BA5-53F9-151C-4BB5-D5C403BF284F} - - - {53C392DB-7131-B7AF-5A28-9009B03EF76E} - - - {CFAABADC-489B-5592-206B-29BE85E556F8} - - - {449928FA-2DA7-18CE-61BF-50930E8C94A1} - - - {3CBBC95A-4009-C9C5-036C-B226EF4E113E} - - - {330A7495-9D53-820D-AD63-2DC83D2ED767} - - - {9CFC1C13-C955-D9BB-A0F7-363446AC2CBB} - - - {BF742880-2B1E-3276-CFB8-089DC7DD5EE5} - - - {CB03A00B-C740-D8D3-A019-4C165270265F} - - - {768EDA37-3A9B-E5C5-8D35-27FEF74CCBA0} - - - {FD79BB9B-CBFF-F94F-6A8B-91DA3ECFEA27} - - - {422C46B7-0467-2DB0-BF3C-16DFCAFD69AC} - - - {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} - - - {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} - - - {476C69CE-0B67-6B85-E888-45D91E37A29E} - - - {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} - - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} - - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} - - - {DA0DC4AC-B511-A2D4-199A-C93454D6F114} - - - {91929C6F-7902-B87D-5260-2F6CBF8ACD93} - - - {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} - - - {4634FFAE-9586-A970-364C-4FDDA635F99F} - - - {F2B2F310-F30F-7166-42A9-9BF9C230DA78} - - - {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} - - - {F03654BC-34D8-F975-BEA3-750CC2783D23} - - - {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} - - - {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - - {C79A4D23-7866-8F3E-AC39-BD68C52A9259} - - - {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} - - - {7703D2CE-C32A-936A-0EEF-949FE6E52EB5} - - - {8D283B6C-13BA-9EF6-1B18-B1C393786943} - - - {928D8FCC-5E00-174B-6538-93E8D75AB396} - - - {1988E68A-A964-64CA-0E0C-26FF9BC5176C} - - - {3DF036EA-3B80-553B-2494-3AAC835CAE75} - - - {358AEA11-3F96-36AE-7B32-71373B5C5396} - - - {F2A38F45-6E55-E147-2E52-64A89FDD9D59} - - - {6172822C-01A5-E824-12DA-FA43FA934D35} - - - {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} - - - {B098BC87-3298-7E6B-12DC-D26C09CDCAED} - - - {6322B88F-984A-C3CD-6263-38D7AA49B6EC} - - - {73C1E759-AD90-59A3-942E-2D10FAA29107} - - - {EE1AE8C3-0908-8F53-A4E5-D930C7C97C26} - - - {4926B3FF-E797-F586-857A-69D9703FA2D1} - - - {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - - {413F481F-075C-2958-115C-D8268682FCB7} - - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - - {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} - - - {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} - - - {E37D25CD-4350-4614-055B-7ABC55E67895} - - - {FFC6E1CC-C772-75E6-5087-FB5D4E016799} - - - {8E43579F-C185-266D-DD67-F8B95BD80F2F} - - - {2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D} - - - {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} - - - {A92719C7-70BE-57C4-CE9E-A9BC9DFEB757} - - - {75F1F352-251A-75E0-D941-8431588F5C1E} - - - {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} - - - {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} - - - {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} - - - {5A0AA36E-3957-E413-14C6-31CBE15271DF} - - - {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} - - - {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} - - - {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} - - - {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} - - - {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - - {61712B09-5783-ADFA-2001-5A0C3D7764EB} - - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} - - - {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} - - - {C60A6FCA-9462-922E-AD8D-69F10C9049AF} - - - {D56498EE-E354-1F00-5EEE-8CF7944BEAFB} - - - {61B2920C-494D-D8CB-C0C7-5DBF3D76D164} - - - {66C9B809-8739-A217-C78D-A15D6089B8E3} - - - {C413328B-5D81-89EE-F4F3-75752E700DE4} - - - {8B4D1BAA-6DB4-CAEC-A0FA-271F354D5C61} - - - - - The Introjucer\Application - - - The Introjucer\Application - - - The Introjucer\Application - - - The Introjucer\Application - - - The Introjucer\Application - - - The Introjucer\Application - - - The Introjucer\Application - - - The Introjucer\Application - - - The Introjucer\Code Editor - - - The Introjucer\ComponentEditor\components - - - The Introjucer\ComponentEditor\documents - - - The Introjucer\ComponentEditor\documents - - - The Introjucer\ComponentEditor\paintelements - - - The Introjucer\ComponentEditor\paintelements - - - The Introjucer\ComponentEditor\paintelements - - - The Introjucer\ComponentEditor\ui - - - The Introjucer\ComponentEditor\ui - - - The Introjucer\ComponentEditor\ui - - - The Introjucer\ComponentEditor\ui - - - The Introjucer\ComponentEditor\ui - - - The Introjucer\ComponentEditor\ui - - - The Introjucer\ComponentEditor\ui - - - The Introjucer\ComponentEditor\ui - - - The Introjucer\ComponentEditor - - - The Introjucer\ComponentEditor - - - The Introjucer\ComponentEditor - - - The Introjucer\ComponentEditor - - - The Introjucer\ComponentEditor - - - The Introjucer\ComponentEditor - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Wizards - - - The Introjucer\Wizards - - - The Introjucer\BinaryData\templates - - - The Introjucer\BinaryData\templates - - - The Introjucer\BinaryData\templates - - - The Introjucer\BinaryData\templates - - - The Introjucer\BinaryData\templates - - - The Introjucer\BinaryData\templates - - - The Introjucer\BinaryData\templates - - - The Introjucer\BinaryData\templates - - - The Introjucer\BinaryData\templates - - - The Introjucer\BinaryData\templates - - - The Introjucer\BinaryData\templates - - - The Introjucer\BinaryData\templates - - - The Introjucer\BinaryData\templates - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\xml - - - Juce Modules\juce_core\xml - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_cryptography\encryption - - - Juce Modules\juce_cryptography\encryption - - - Juce Modules\juce_cryptography\encryption - - - Juce Modules\juce_cryptography\hashing - - - Juce Modules\juce_cryptography\hashing - - - Juce Modules\juce_cryptography\hashing - - - Juce Modules\juce_data_structures\values - - - Juce Modules\juce_data_structures\values - - - Juce Modules\juce_data_structures\values - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\native - - - Juce Modules\juce_events\native - - - Juce Modules\juce_events\native - - - Juce Modules\juce_events\native - - - Juce Modules\juce_events\native - - - Juce Modules\juce_graphics\colour - - - Juce Modules\juce_graphics\colour - - - Juce Modules\juce_graphics\colour - - - Juce Modules\juce_graphics\colour - - - Juce Modules\juce_graphics\contexts - - - Juce Modules\juce_graphics\contexts - - - Juce Modules\juce_graphics\contexts - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\placement - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_gui_basics\components - - - Juce Modules\juce_gui_basics\components - - - Juce Modules\juce_gui_basics\components - - - Juce Modules\juce_gui_basics\components - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\documents - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra\native - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - - - The Introjucer\Application - - - The Introjucer\Application - - - The Introjucer\Application - - - The Introjucer\Application - - - The Introjucer\Application - - - The Introjucer\Application - - - The Introjucer\Application - - - The Introjucer\Application - - - The Introjucer\Application - - - The Introjucer\Application - - - The Introjucer\Application - - - The Introjucer\Application - - - The Introjucer\Code Editor - - - The Introjucer\ComponentEditor\components - - - The Introjucer\ComponentEditor\components - - - The Introjucer\ComponentEditor\components - - - The Introjucer\ComponentEditor\components - - - The Introjucer\ComponentEditor\components - - - The Introjucer\ComponentEditor\components - - - The Introjucer\ComponentEditor\components - - - The Introjucer\ComponentEditor\components - - - The Introjucer\ComponentEditor\components - - - The Introjucer\ComponentEditor\components - - - The Introjucer\ComponentEditor\components - - - The Introjucer\ComponentEditor\components - - - The Introjucer\ComponentEditor\components - - - The Introjucer\ComponentEditor\components - - - The Introjucer\ComponentEditor\components - - - The Introjucer\ComponentEditor\components - - - The Introjucer\ComponentEditor\components - - - The Introjucer\ComponentEditor\components - - - The Introjucer\ComponentEditor\documents - - - The Introjucer\ComponentEditor\documents - - - The Introjucer\ComponentEditor\paintelements - - - The Introjucer\ComponentEditor\paintelements - - - The Introjucer\ComponentEditor\paintelements - - - The Introjucer\ComponentEditor\paintelements - - - The Introjucer\ComponentEditor\paintelements - - - The Introjucer\ComponentEditor\paintelements - - - The Introjucer\ComponentEditor\paintelements - - - The Introjucer\ComponentEditor\paintelements - - - The Introjucer\ComponentEditor\paintelements - - - The Introjucer\ComponentEditor\paintelements - - - The Introjucer\ComponentEditor\paintelements - - - The Introjucer\ComponentEditor\paintelements - - - The Introjucer\ComponentEditor\paintelements - - - The Introjucer\ComponentEditor\paintelements - - - The Introjucer\ComponentEditor\paintelements - - - The Introjucer\ComponentEditor\paintelements - - - The Introjucer\ComponentEditor\properties - - - The Introjucer\ComponentEditor\properties - - - The Introjucer\ComponentEditor\properties - - - The Introjucer\ComponentEditor\properties - - - The Introjucer\ComponentEditor\properties - - - The Introjucer\ComponentEditor\properties - - - The Introjucer\ComponentEditor\properties - - - The Introjucer\ComponentEditor\properties - - - The Introjucer\ComponentEditor\properties - - - The Introjucer\ComponentEditor\ui - - - The Introjucer\ComponentEditor\ui - - - The Introjucer\ComponentEditor\ui - - - The Introjucer\ComponentEditor\ui - - - The Introjucer\ComponentEditor\ui - - - The Introjucer\ComponentEditor\ui - - - The Introjucer\ComponentEditor\ui - - - The Introjucer\ComponentEditor\ui - - - The Introjucer\ComponentEditor\ui - - - The Introjucer\ComponentEditor\ui - - - The Introjucer\ComponentEditor\ui - - - The Introjucer\ComponentEditor\ui - - - The Introjucer\ComponentEditor - - - The Introjucer\ComponentEditor - - - The Introjucer\ComponentEditor - - - The Introjucer\ComponentEditor - - - The Introjucer\ComponentEditor - - - The Introjucer\ComponentEditor - - - The Introjucer\ComponentEditor - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Wizards - - - The Introjucer\Wizards - - - The Introjucer\Wizards - - - The Introjucer\Wizards - - - The Introjucer\Wizards - - - The Introjucer\Wizards - - - The Introjucer\Wizards - - - The Introjucer\Wizards - - - The Introjucer\Wizards - - - The Introjucer\Wizards - - - The Introjucer\Wizards - - - The Introjucer\Wizards - - - The Introjucer\Wizards - - - The Introjucer\Wizards - - - The Introjucer\Wizards - - - The Introjucer\BinaryData\templates - - - The Introjucer\BinaryData\templates - - - The Introjucer\BinaryData\templates - - - The Introjucer\BinaryData\templates - - - The Introjucer\BinaryData\templates - - - The Introjucer\BinaryData\templates - - - The Introjucer\BinaryData\templates - - - The Introjucer\BinaryData\templates - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\xml - - - Juce Modules\juce_core\xml - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core - - - Juce Modules\juce_cryptography\encryption - - - Juce Modules\juce_cryptography\encryption - - - Juce Modules\juce_cryptography\encryption - - - Juce Modules\juce_cryptography\hashing - - - Juce Modules\juce_cryptography\hashing - - - Juce Modules\juce_cryptography\hashing - - - Juce Modules\juce_cryptography - - - Juce Modules\juce_data_structures\values - - - Juce Modules\juce_data_structures\values - - - Juce Modules\juce_data_structures\values - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\native - - - Juce Modules\juce_events\native - - - Juce Modules\juce_events\native - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics\colour - - - Juce Modules\juce_graphics\colour - - - Juce Modules\juce_graphics\colour - - - Juce Modules\juce_graphics\colour - - - Juce Modules\juce_graphics\colour - - - Juce Modules\juce_graphics\contexts - - - Juce Modules\juce_graphics\contexts - - - Juce Modules\juce_graphics\contexts - - - Juce Modules\juce_graphics\contexts - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\placement - - - Juce Modules\juce_graphics\placement - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics\components - - - Juce Modules\juce_gui_basics\components - - - Juce Modules\juce_gui_basics\components - - - Juce Modules\juce_gui_basics\components - - - Juce Modules\juce_gui_basics\components - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\documents - - - Juce Modules\juce_gui_extra\embedding - - - Juce Modules\juce_gui_extra\embedding - - - Juce Modules\juce_gui_extra\embedding - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - Juce Modules\juce_core - - - Juce Modules\juce_cryptography - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_gui_extra - - - Juce Library Code - - - - - Juce Library Code - - - diff --git a/extras/Introjucer/Builds/VisualStudio2010/icon.ico b/extras/Introjucer/Builds/VisualStudio2010/icon.ico deleted file mode 100644 index 96a024af02e9f7ad500f75dd58637e10c4ceb0c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32719 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

W;@y0k&FY?!v5)IGR6j@N;kPeFsn~ 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 d{y1L$SLT) - -VS_VERSION_INFO VERSIONINFO -FILEVERSION 4,1,0,0 -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904E4" - BEGIN - VALUE "CompanyName", "ROLI Ltd.\0" - VALUE "FileDescription", "The Introjucer\0" - VALUE "FileVersion", "4.1.0\0" - VALUE "ProductName", "The Introjucer\0" - VALUE "ProductVersion", "4.1.0\0" - END - END - - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1252 - END -END - -#endif - -IDI_ICON1 ICON DISCARDABLE "icon.ico" -IDI_ICON2 ICON DISCARDABLE "icon.ico" \ No newline at end of file diff --git a/extras/Introjucer/Builds/VisualStudio2012/The Introjucer.sln b/extras/Introjucer/Builds/VisualStudio2012/The Introjucer.sln deleted file mode 100644 index 62a24843f2..0000000000 --- a/extras/Introjucer/Builds/VisualStudio2012/The Introjucer.sln +++ /dev/null @@ -1,19 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2012 -Project("{62DDBD62-D03F-FBCA-D85C-731B2D53653D}") = "The Introjucer", "The Introjucer.vcxproj", "{26ABE2A4-1F2F-8375-088D-D692A4408B5A}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {26ABE2A4-1F2F-8375-088D-D692A4408B5A}.Debug|Win32.ActiveCfg = Debug|Win32 - {26ABE2A4-1F2F-8375-088D-D692A4408B5A}.Debug|Win32.Build.0 = Debug|Win32 - {26ABE2A4-1F2F-8375-088D-D692A4408B5A}.Release|Win32.ActiveCfg = Release|Win32 - {26ABE2A4-1F2F-8375-088D-D692A4408B5A}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/extras/Introjucer/Builds/VisualStudio2012/The Introjucer.vcxproj b/extras/Introjucer/Builds/VisualStudio2012/The Introjucer.vcxproj deleted file mode 100644 index 628dceea22..0000000000 --- a/extras/Introjucer/Builds/VisualStudio2012/The Introjucer.vcxproj +++ /dev/null @@ -1,1604 +0,0 @@ - - - - - - Debug - Win32 - - - Release - Win32 - - - - {26ABE2A4-1F2F-8375-088D-D692A4408B5A} - v110 - - - - Application - false - v110 - - - Application - false - true - v110 - - - - - - - - v110 - - - <_ProjectFileVersion>10.0.30319.1 - The Introjucer - true - The Introjucer - true - v110 - - - - _DEBUG;%(PreprocessorDefinitions) - true - true - Win32 - - - - Disabled - EditAndContinue - ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2012_78A501F=1;JUCE_APP_VERSION=4.1.0;JUCE_APP_VERSION_HEX=0x40100;%(PreprocessorDefinitions) - MultiThreadedDebug - true - - $(IntDir)\ - $(IntDir)\ - $(IntDir)\ - Level4 - true - true - - - _DEBUG;%(PreprocessorDefinitions) - - - $(OutDir)\The Introjucer.exe - true - libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries) - true - $(IntDir)\The Introjucer.pdb - Windows - MachineX86 - false - true - - - true - $(IntDir)\The Introjucer.bsc - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - Win32 - - - - MinSpace - ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2012_78A501F=1;JUCE_APP_VERSION=4.1.0;JUCE_APP_VERSION_HEX=0x40100;%(PreprocessorDefinitions) - MultiThreaded - true - - $(IntDir)\ - $(IntDir)\ - $(IntDir)\ - Level4 - true - true - - - NDEBUG;%(PreprocessorDefinitions) - - - $(OutDir)\The Introjucer.exe - true - %(IgnoreSpecificDefaultLibraries) - false - $(IntDir)\The Introjucer.pdb - Windows - MachineX86 - true - true - true - - - true - $(IntDir)\The Introjucer.bsc - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/extras/Introjucer/Builds/VisualStudio2012/The Introjucer.vcxproj.filters b/extras/Introjucer/Builds/VisualStudio2012/The Introjucer.vcxproj.filters deleted file mode 100644 index 8629af1fad..0000000000 --- a/extras/Introjucer/Builds/VisualStudio2012/The Introjucer.vcxproj.filters +++ /dev/null @@ -1,2939 +0,0 @@ - - - - - - {08497553-90EF-7F50-1FCE-C399F0F4F301} - - - {BCABA310-8FA8-9483-44C8-901CB254B038} - - - {D05B051C-4835-D6A6-3AF4-B61963EFC368} - - - {95DE2FA4-3654-5411-BB7B-2BDDDF07715E} - - - {073C6BA5-53F9-151C-4BB5-D5C403BF284F} - - - {53C392DB-7131-B7AF-5A28-9009B03EF76E} - - - {CFAABADC-489B-5592-206B-29BE85E556F8} - - - {449928FA-2DA7-18CE-61BF-50930E8C94A1} - - - {3CBBC95A-4009-C9C5-036C-B226EF4E113E} - - - {330A7495-9D53-820D-AD63-2DC83D2ED767} - - - {9CFC1C13-C955-D9BB-A0F7-363446AC2CBB} - - - {BF742880-2B1E-3276-CFB8-089DC7DD5EE5} - - - {CB03A00B-C740-D8D3-A019-4C165270265F} - - - {768EDA37-3A9B-E5C5-8D35-27FEF74CCBA0} - - - {FD79BB9B-CBFF-F94F-6A8B-91DA3ECFEA27} - - - {422C46B7-0467-2DB0-BF3C-16DFCAFD69AC} - - - {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} - - - {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} - - - {476C69CE-0B67-6B85-E888-45D91E37A29E} - - - {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} - - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} - - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} - - - {DA0DC4AC-B511-A2D4-199A-C93454D6F114} - - - {91929C6F-7902-B87D-5260-2F6CBF8ACD93} - - - {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} - - - {4634FFAE-9586-A970-364C-4FDDA635F99F} - - - {F2B2F310-F30F-7166-42A9-9BF9C230DA78} - - - {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} - - - {F03654BC-34D8-F975-BEA3-750CC2783D23} - - - {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} - - - {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - - {C79A4D23-7866-8F3E-AC39-BD68C52A9259} - - - {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} - - - {7703D2CE-C32A-936A-0EEF-949FE6E52EB5} - - - {8D283B6C-13BA-9EF6-1B18-B1C393786943} - - - {928D8FCC-5E00-174B-6538-93E8D75AB396} - - - {1988E68A-A964-64CA-0E0C-26FF9BC5176C} - - - {3DF036EA-3B80-553B-2494-3AAC835CAE75} - - - {358AEA11-3F96-36AE-7B32-71373B5C5396} - - - {F2A38F45-6E55-E147-2E52-64A89FDD9D59} - - - {6172822C-01A5-E824-12DA-FA43FA934D35} - - - {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} - - - {B098BC87-3298-7E6B-12DC-D26C09CDCAED} - - - {6322B88F-984A-C3CD-6263-38D7AA49B6EC} - - - {73C1E759-AD90-59A3-942E-2D10FAA29107} - - - {EE1AE8C3-0908-8F53-A4E5-D930C7C97C26} - - - {4926B3FF-E797-F586-857A-69D9703FA2D1} - - - {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - - {413F481F-075C-2958-115C-D8268682FCB7} - - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - - {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} - - - {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} - - - {E37D25CD-4350-4614-055B-7ABC55E67895} - - - {FFC6E1CC-C772-75E6-5087-FB5D4E016799} - - - {8E43579F-C185-266D-DD67-F8B95BD80F2F} - - - {2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D} - - - {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} - - - {A92719C7-70BE-57C4-CE9E-A9BC9DFEB757} - - - {75F1F352-251A-75E0-D941-8431588F5C1E} - - - {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} - - - {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} - - - {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} - - - {5A0AA36E-3957-E413-14C6-31CBE15271DF} - - - {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} - - - {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} - - - {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} - - - {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} - - - {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - - {61712B09-5783-ADFA-2001-5A0C3D7764EB} - - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} - - - {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} - - - {C60A6FCA-9462-922E-AD8D-69F10C9049AF} - - - {D56498EE-E354-1F00-5EEE-8CF7944BEAFB} - - - {61B2920C-494D-D8CB-C0C7-5DBF3D76D164} - - - {66C9B809-8739-A217-C78D-A15D6089B8E3} - - - {C413328B-5D81-89EE-F4F3-75752E700DE4} - - - {8B4D1BAA-6DB4-CAEC-A0FA-271F354D5C61} - - - - - The Introjucer\Application - - - The Introjucer\Application - - - The Introjucer\Application - - - The Introjucer\Application - - - The Introjucer\Application - - - The Introjucer\Application - - - The Introjucer\Application - - - The Introjucer\Application - - - The Introjucer\Code Editor - - - The Introjucer\ComponentEditor\components - - - The Introjucer\ComponentEditor\documents - - - The Introjucer\ComponentEditor\documents - - - The Introjucer\ComponentEditor\paintelements - - - The Introjucer\ComponentEditor\paintelements - - - The Introjucer\ComponentEditor\paintelements - - - The Introjucer\ComponentEditor\ui - - - The Introjucer\ComponentEditor\ui - - - The Introjucer\ComponentEditor\ui - - - The Introjucer\ComponentEditor\ui - - - The Introjucer\ComponentEditor\ui - - - The Introjucer\ComponentEditor\ui - - - The Introjucer\ComponentEditor\ui - - - The Introjucer\ComponentEditor\ui - - - The Introjucer\ComponentEditor - - - The Introjucer\ComponentEditor - - - The Introjucer\ComponentEditor - - - The Introjucer\ComponentEditor - - - The Introjucer\ComponentEditor - - - The Introjucer\ComponentEditor - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Wizards - - - The Introjucer\Wizards - - - The Introjucer\BinaryData\templates - - - The Introjucer\BinaryData\templates - - - The Introjucer\BinaryData\templates - - - The Introjucer\BinaryData\templates - - - The Introjucer\BinaryData\templates - - - The Introjucer\BinaryData\templates - - - The Introjucer\BinaryData\templates - - - The Introjucer\BinaryData\templates - - - The Introjucer\BinaryData\templates - - - The Introjucer\BinaryData\templates - - - The Introjucer\BinaryData\templates - - - The Introjucer\BinaryData\templates - - - The Introjucer\BinaryData\templates - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\xml - - - Juce Modules\juce_core\xml - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_cryptography\encryption - - - Juce Modules\juce_cryptography\encryption - - - Juce Modules\juce_cryptography\encryption - - - Juce Modules\juce_cryptography\hashing - - - Juce Modules\juce_cryptography\hashing - - - Juce Modules\juce_cryptography\hashing - - - Juce Modules\juce_data_structures\values - - - Juce Modules\juce_data_structures\values - - - Juce Modules\juce_data_structures\values - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\native - - - Juce Modules\juce_events\native - - - Juce Modules\juce_events\native - - - Juce Modules\juce_events\native - - - Juce Modules\juce_events\native - - - Juce Modules\juce_graphics\colour - - - Juce Modules\juce_graphics\colour - - - Juce Modules\juce_graphics\colour - - - Juce Modules\juce_graphics\colour - - - Juce Modules\juce_graphics\contexts - - - Juce Modules\juce_graphics\contexts - - - Juce Modules\juce_graphics\contexts - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\placement - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_gui_basics\components - - - Juce Modules\juce_gui_basics\components - - - Juce Modules\juce_gui_basics\components - - - Juce Modules\juce_gui_basics\components - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\documents - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra\native - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - - - The Introjucer\Application - - - The Introjucer\Application - - - The Introjucer\Application - - - The Introjucer\Application - - - The Introjucer\Application - - - The Introjucer\Application - - - The Introjucer\Application - - - The Introjucer\Application - - - The Introjucer\Application - - - The Introjucer\Application - - - The Introjucer\Application - - - The Introjucer\Application - - - The Introjucer\Code Editor - - - The Introjucer\ComponentEditor\components - - - The Introjucer\ComponentEditor\components - - - The Introjucer\ComponentEditor\components - - - The Introjucer\ComponentEditor\components - - - The Introjucer\ComponentEditor\components - - - The Introjucer\ComponentEditor\components - - - The Introjucer\ComponentEditor\components - - - The Introjucer\ComponentEditor\components - - - The Introjucer\ComponentEditor\components - - - The Introjucer\ComponentEditor\components - - - The Introjucer\ComponentEditor\components - - - The Introjucer\ComponentEditor\components - - - The Introjucer\ComponentEditor\components - - - The Introjucer\ComponentEditor\components - - - The Introjucer\ComponentEditor\components - - - The Introjucer\ComponentEditor\components - - - The Introjucer\ComponentEditor\components - - - The Introjucer\ComponentEditor\components - - - The Introjucer\ComponentEditor\documents - - - The Introjucer\ComponentEditor\documents - - - The Introjucer\ComponentEditor\paintelements - - - The Introjucer\ComponentEditor\paintelements - - - The Introjucer\ComponentEditor\paintelements - - - The Introjucer\ComponentEditor\paintelements - - - The Introjucer\ComponentEditor\paintelements - - - The Introjucer\ComponentEditor\paintelements - - - The Introjucer\ComponentEditor\paintelements - - - The Introjucer\ComponentEditor\paintelements - - - The Introjucer\ComponentEditor\paintelements - - - The Introjucer\ComponentEditor\paintelements - - - The Introjucer\ComponentEditor\paintelements - - - The Introjucer\ComponentEditor\paintelements - - - The Introjucer\ComponentEditor\paintelements - - - The Introjucer\ComponentEditor\paintelements - - - The Introjucer\ComponentEditor\paintelements - - - The Introjucer\ComponentEditor\paintelements - - - The Introjucer\ComponentEditor\properties - - - The Introjucer\ComponentEditor\properties - - - The Introjucer\ComponentEditor\properties - - - The Introjucer\ComponentEditor\properties - - - The Introjucer\ComponentEditor\properties - - - The Introjucer\ComponentEditor\properties - - - The Introjucer\ComponentEditor\properties - - - The Introjucer\ComponentEditor\properties - - - The Introjucer\ComponentEditor\properties - - - The Introjucer\ComponentEditor\ui - - - The Introjucer\ComponentEditor\ui - - - The Introjucer\ComponentEditor\ui - - - The Introjucer\ComponentEditor\ui - - - The Introjucer\ComponentEditor\ui - - - The Introjucer\ComponentEditor\ui - - - The Introjucer\ComponentEditor\ui - - - The Introjucer\ComponentEditor\ui - - - The Introjucer\ComponentEditor\ui - - - The Introjucer\ComponentEditor\ui - - - The Introjucer\ComponentEditor\ui - - - The Introjucer\ComponentEditor\ui - - - The Introjucer\ComponentEditor - - - The Introjucer\ComponentEditor - - - The Introjucer\ComponentEditor - - - The Introjucer\ComponentEditor - - - The Introjucer\ComponentEditor - - - The Introjucer\ComponentEditor - - - The Introjucer\ComponentEditor - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Wizards - - - The Introjucer\Wizards - - - The Introjucer\Wizards - - - The Introjucer\Wizards - - - The Introjucer\Wizards - - - The Introjucer\Wizards - - - The Introjucer\Wizards - - - The Introjucer\Wizards - - - The Introjucer\Wizards - - - The Introjucer\Wizards - - - The Introjucer\Wizards - - - The Introjucer\Wizards - - - The Introjucer\Wizards - - - The Introjucer\Wizards - - - The Introjucer\Wizards - - - The Introjucer\BinaryData\templates - - - The Introjucer\BinaryData\templates - - - The Introjucer\BinaryData\templates - - - The Introjucer\BinaryData\templates - - - The Introjucer\BinaryData\templates - - - The Introjucer\BinaryData\templates - - - The Introjucer\BinaryData\templates - - - The Introjucer\BinaryData\templates - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\memory - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\containers - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\xml - - - Juce Modules\juce_core\xml - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core - - - Juce Modules\juce_cryptography\encryption - - - Juce Modules\juce_cryptography\encryption - - - Juce Modules\juce_cryptography\encryption - - - Juce Modules\juce_cryptography\hashing - - - Juce Modules\juce_cryptography\hashing - - - Juce Modules\juce_cryptography\hashing - - - Juce Modules\juce_cryptography - - - Juce Modules\juce_data_structures\values - - - Juce Modules\juce_data_structures\values - - - Juce Modules\juce_data_structures\values - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\native - - - Juce Modules\juce_events\native - - - Juce Modules\juce_events\native - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics\colour - - - Juce Modules\juce_graphics\colour - - - Juce Modules\juce_graphics\colour - - - Juce Modules\juce_graphics\colour - - - Juce Modules\juce_graphics\colour - - - Juce Modules\juce_graphics\contexts - - - Juce Modules\juce_graphics\contexts - - - Juce Modules\juce_graphics\contexts - - - Juce Modules\juce_graphics\contexts - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\placement - - - Juce Modules\juce_graphics\placement - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics\native - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics\components - - - Juce Modules\juce_gui_basics\components - - - Juce Modules\juce_gui_basics\components - - - Juce Modules\juce_gui_basics\components - - - Juce Modules\juce_gui_basics\components - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\mouse - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\keyboard - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\widgets - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\windows - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\code_editor - - - Juce Modules\juce_gui_extra\documents - - - Juce Modules\juce_gui_extra\embedding - - - Juce Modules\juce_gui_extra\embedding - - - Juce Modules\juce_gui_extra\embedding - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\misc - - - Juce Modules\juce_gui_extra\native - - - Juce Modules\juce_gui_extra - - - Juce Library Code - - - Juce Library Code - - - Juce Library Code - - - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - The Introjucer\BinaryData - - - Juce Modules\juce_core - - - Juce Modules\juce_cryptography - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_gui_extra - - - Juce Library Code - - - - - Juce Library Code - - - diff --git a/extras/Introjucer/Builds/VisualStudio2012/icon.ico b/extras/Introjucer/Builds/VisualStudio2012/icon.ico deleted file mode 100644 index 96a024af02e9f7ad500f75dd58637e10c4ceb0c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32719 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

W;@y0k&FY?!v5)IGR6j@N;kPeFsn~ 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 d{y1L$SLT)`AT1KoNC<*T2}mj>4FXD+gh&ZU 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

W;@y0k&FY?!v5)IGR6j@N;kPeFsn~ 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 d{y1L$SLT) - -VS_VERSION_INFO VERSIONINFO -FILEVERSION 4,1,0,0 -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904E4" - BEGIN - VALUE "CompanyName", "ROLI Ltd.\0" - VALUE "FileDescription", "The Introjucer\0" - VALUE "FileVersion", "4.1.0\0" - VALUE "ProductName", "The Introjucer\0" - VALUE "ProductVersion", "4.1.0\0" - END - END - - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1252 - END -END - -#endif - -IDI_ICON1 ICON DISCARDABLE "icon.ico" -IDI_ICON2 ICON DISCARDABLE "icon.ico" \ No newline at end of file diff --git a/extras/Introjucer/Builds/VisualStudio2015/The Introjucer.sln b/extras/Introjucer/Builds/VisualStudio2015/The Introjucer.sln deleted file mode 100644 index de1fe86571..0000000000 --- a/extras/Introjucer/Builds/VisualStudio2015/The Introjucer.sln +++ /dev/null @@ -1,19 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2015 -Project("{62DDBD62-D03F-FBCA-D85C-731B2D53653D}") = "The Introjucer", "The Introjucer.vcxproj", "{26ABE2A4-1F2F-8375-088D-D692A4408B5A}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {26ABE2A4-1F2F-8375-088D-D692A4408B5A}.Debug|Win32.ActiveCfg = Debug|Win32 - {26ABE2A4-1F2F-8375-088D-D692A4408B5A}.Debug|Win32.Build.0 = Debug|Win32 - {26ABE2A4-1F2F-8375-088D-D692A4408B5A}.Release|Win32.ActiveCfg = Release|Win32 - {26ABE2A4-1F2F-8375-088D-D692A4408B5A}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/extras/Introjucer/Builds/VisualStudio2015/icon.ico b/extras/Introjucer/Builds/VisualStudio2015/icon.ico deleted file mode 100644 index 96a024af02e9f7ad500f75dd58637e10c4ceb0c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32719 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

W;@y0k&FY?!v5)IGR6j@N;kPeFsn~ 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 d{y1L$SLT) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/extras/Introjucer/JuceLibraryCode/BinaryData.cpp b/extras/Introjucer/JuceLibraryCode/BinaryData.cpp deleted file mode 100644 index bde4b6e0cf..0000000000 --- a/extras/Introjucer/JuceLibraryCode/BinaryData.cpp +++ /dev/null @@ -1,3908 +0,0 @@ -/* ==================================== JUCER_BINARY_RESOURCE ==================================== - - This is an auto-generated file: Any edits you make may be overwritten! - -*/ - -namespace BinaryData -{ - -//================== jucer_AnimatedComponentTemplate.cpp ================== -static const unsigned char temp_binary_data_0[] = -"/*\r\n" -" ==============================================================================\r\n" -"\r\n" -" This file was auto-generated!\r\n" -"\r\n" -" ==============================================================================\r\n" -"*/\r\n" -"\r\n" -"#ifndef MAINCOMPONENT_H_INCLUDED\r\n" -"#define MAINCOMPONENT_H_INCLUDED\r\n" -"\r\n" -"INCLUDE_JUCE\r\n" -"\r\n" -"//==============================================================================\r\n" -"/*\r\n" -" This component lives inside our window, and this is where you should put all\r\n" -" your controls and content.\r\n" -"*/\r\n" -"class MainContentComponent : public AnimatedAppComponent\r\n" -"{\r\n" -"public:\r\n" -" //==============================================================================\r\n" -" MainContentComponent()\r\n" -" {\r\n" -" setSize (800, 600);\r\n" -" setFramesPerSecond (60);\r\n" -" }\r\n" -"\r\n" -" ~MainContentComponent()\r\n" -" {\r\n" -" }\r\n" -"\r\n" -" void update() override\r\n" -" {\r\n" -" // This function is called at the frequency specified by the setFramesPerSecond() call\r\n" -" // in the constructor. You can use it to update counters, animate values, etc.\r\n" -" }\r\n" -"\r\n" -" void paint (Graphics& g) override\r\n" -" {\r\n" -" // (Our component is opaque, so we must completely fill the background with a solid colour)\r\n" -" g.fillAll (Colours::black);\r\n" -"\r\n" -"\r\n" -" // You can add your drawing code here!\r\n" -" }\r\n" -"\r\n" -" void resized() override\r\n" -" {\r\n" -" // This is called when the MainContentComponent is resized.\r\n" -" // If you add any child components, this is where you should\r\n" -" // update their positions.\r\n" -" }\r\n" -"\r\n" -"\r\n" -"private:\r\n" -" //==============================================================================\r\n" -"\r\n" -" // Your private member variables go here...\r\n" -"\r\n" -"\r\n" -"\r\n" -" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainContentComponent)\r\n" -"};\r\n" -"\r\n" -"\r\n" -"// (This function is called by the app startup code to create our main component)\r\n" -"Component* createMainContentComponent() { return new MainContentComponent(); }\r\n" -"\r\n" -"\r\n" -"#endif // MAINCOMPONENT_H_INCLUDED\r\n"; - -const char* jucer_AnimatedComponentTemplate_cpp = (const char*) temp_binary_data_0; - -//================== jucer_AudioComponentTemplate.cpp ================== -static const unsigned char temp_binary_data_1[] = -"/*\r\n" -" ==============================================================================\r\n" -"\r\n" -" This file was auto-generated!\r\n" -"\r\n" -" ==============================================================================\r\n" -"*/\r\n" -"\r\n" -"#ifndef MAINCOMPONENT_H_INCLUDED\r\n" -"#define MAINCOMPONENT_H_INCLUDED\r\n" -"\r\n" -"INCLUDE_JUCE\r\n" -"\r\n" -"//==============================================================================\r\n" -"/*\r\n" -" This component lives inside our window, and this is where you should put all\r\n" -" your controls and content.\r\n" -"*/\r\n" -"class MainContentComponent : public AudioAppComponent\r\n" -"{\r\n" -"public:\r\n" -" //==============================================================================\r\n" -" MainContentComponent()\r\n" -" {\r\n" -" setSize (800, 600);\r\n" -"\r\n" -" // specify the number of input and output channels that we want to open\r\n" -" setAudioChannels (2, 2);\r\n" -" }\r\n" -"\r\n" -" ~MainContentComponent()\r\n" -" {\r\n" -" shutdownAudio();\r\n" -" }\r\n" -"\r\n" -" //=======================================================================\r\n" -" void prepareToPlay (int samplesPerBlockExpected, double sampleRate) override\r\n" -" {\r\n" -" // This function will be called when the audio device is started, or when\r\n" -" // its settings (i.e. sample rate, block size, etc) are changed.\r\n" -"\r\n" -" // You can use this function to initialise any resources you might need,\r\n" -" // but be careful - it will be called on the audio thread, not the GUI thread.\r\n" -"\r\n" -" // For more details, see the help for AudioProcessor::prepareToPlay()\r\n" -" }\r\n" -"\r\n" -" void getNextAudioBlock (const AudioSourceChannelInfo& bufferToFill) override\r\n" -" {\r\n" -" // Your audio-processing code goes here!\r\n" -"\r\n" -" // For more details, see the help for AudioProcessor::getNextAudioBlock()\r\n" -"\r\n" -" // Right now we are not producing any data, in which case we need to clear the buffer\r\n" -" // (to prevent the output of random noise)\r\n" -" bufferToFill.clearActiveBufferRegion();\r\n" -" }\r\n" -"\r\n" -" void releaseResources() override\r\n" -" {\r\n" -" // This will be called when the audio device stops, or when it is being\r\n" -" // restarted due to a setting change.\r\n" -"\r\n" -" // For more details, see the help for AudioProcessor::releaseResources()\r\n" -" }\r\n" -"\r\n" -" //=======================================================================\r\n" -" void paint (Graphics& g) override\r\n" -" {\r\n" -" // (Our component is opaque, so we must completely fill the background with a solid colour)\r\n" -" g.fillAll (Colours::black);\r\n" -"\r\n" -"\r\n" -" // You can add your drawing code here!\r\n" -" }\r\n" -"\r\n" -" void resized() override\r\n" -" {\r\n" -" // This is called when the MainContentComponent is resized.\r\n" -" // If you add any child components, this is where you should\r\n" -" // update their positions.\r\n" -" }\r\n" -"\r\n" -"\r\n" -"private:\r\n" -" //==============================================================================\r\n" -"\r\n" -" // Your private member variables go here...\r\n" -"\r\n" -"\r\n" -" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainContentComponent)\r\n" -"};\r\n" -"\r\n" -"\r\n" -"// (This function is called by the app startup code to create our main component)\r\n" -"Component* createMainContentComponent() { return new MainContentComponent(); }\r\n" -"\r\n" -"\r\n" -"#endif // MAINCOMPONENT_H_INCLUDED\r\n"; - -const char* jucer_AudioComponentTemplate_cpp = (const char*) temp_binary_data_1; - -//================== jucer_AudioPluginEditorTemplate.cpp ================== -static const unsigned char temp_binary_data_2[] = -"/*\r\n" -" ==============================================================================\r\n" -"\r\n" -" This file was auto-generated by the Introjucer!\r\n" -"\r\n" -" It contains the basic framework code for a JUCE plugin editor.\r\n" -"\r\n" -" ==============================================================================\r\n" -"*/\r\n" -"\r\n" -"EDITORCPPHEADERS\r\n" -"\r\n" -"\r\n" -"//==============================================================================\r\n" -"EDITORCLASSNAME::EDITORCLASSNAME (FILTERCLASSNAME& p)\r\n" -" : AudioProcessorEditor (&p), processor (p)\r\n" -"{\r\n" -" // Make sure that before the constructor has finished, you've set the\r\n" -" // editor's size to whatever you need it to be.\r\n" -" setSize (400, 300);\r\n" -"}\r\n" -"\r\n" -"EDITORCLASSNAME::~EDITORCLASSNAME()\r\n" -"{\r\n" -"}\r\n" -"\r\n" -"//==============================================================================\r\n" -"void EDITORCLASSNAME::paint (Graphics& g)\r\n" -"{\r\n" -" g.fillAll (Colours::white);\r\n" -"\r\n" -" g.setColour (Colours::black);\r\n" -" g.setFont (15.0f);\r\n" -" g.drawFittedText (\"Hello World!\", getLocalBounds(), Justification::centred, 1);\r\n" -"}\r\n" -"\r\n" -"void EDITORCLASSNAME::resized()\r\n" -"{\r\n" -" // This is generally where you'll want to lay out the positions of any\r\n" -" // subcomponents in your editor..\r\n" -"}\r\n"; - -const char* jucer_AudioPluginEditorTemplate_cpp = (const char*) temp_binary_data_2; - -//================== jucer_AudioPluginEditorTemplate.h ================== -static const unsigned char temp_binary_data_3[] = -"/*\r\n" -" ==============================================================================\r\n" -"\r\n" -" This file was auto-generated by the Introjucer!\r\n" -"\r\n" -" It contains the basic framework code for a JUCE plugin editor.\r\n" -"\r\n" -" ==============================================================================\r\n" -"*/\r\n" -"\r\n" -"#ifndef HEADERGUARD\r\n" -"#define HEADERGUARD\r\n" -"\r\n" -"EDITORHEADERS\r\n" -"\r\n" -"\r\n" -"//==============================================================================\r\n" -"/**\r\n" -"*/\r\n" -"class EDITORCLASSNAME : public AudioProcessorEditor\r\n" -"{\r\n" -"public:\r\n" -" EDITORCLASSNAME (FILTERCLASSNAME&);\r\n" -" ~EDITORCLASSNAME();\r\n" -"\r\n" -" //==============================================================================\r\n" -" void paint (Graphics&) override;\r\n" -" void resized() override;\r\n" -"\r\n" -"private:\r\n" -" // This reference is provided as a quick way for your editor to\r\n" -" // access the processor object that created it.\r\n" -" FILTERCLASSNAME& processor;\r\n" -"\r\n" -" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (EDITORCLASSNAME)\r\n" -"};\r\n" -"\r\n" -"\r\n" -"#endif // HEADERGUARD\r\n"; - -const char* jucer_AudioPluginEditorTemplate_h = (const char*) temp_binary_data_3; - -//================== jucer_AudioPluginFilterTemplate.cpp ================== -static const unsigned char temp_binary_data_4[] = -"/*\r\n" -" ==============================================================================\r\n" -"\r\n" -" This file was auto-generated by the Introjucer!\r\n" -"\r\n" -" It contains the basic framework code for a JUCE plugin processor.\r\n" -"\r\n" -" ==============================================================================\r\n" -"*/\r\n" -"\r\n" -"FILTERHEADERS\r\n" -"\r\n" -"\r\n" -"//==============================================================================\r\n" -"FILTERCLASSNAME::FILTERCLASSNAME()\r\n" -"{\r\n" -"}\r\n" -"\r\n" -"FILTERCLASSNAME::~FILTERCLASSNAME()\r\n" -"{\r\n" -"}\r\n" -"\r\n" -"//==============================================================================\r\n" -"const String FILTERCLASSNAME::getName() const\r\n" -"{\r\n" -" return JucePlugin_Name;\r\n" -"}\r\n" -"\r\n" -"bool FILTERCLASSNAME::acceptsMidi() const\r\n" -"{\r\n" -" #if JucePlugin_WantsMidiInput\r\n" -" return true;\r\n" -" #else\r\n" -" return false;\r\n" -" #endif\r\n" -"}\r\n" -"\r\n" -"bool FILTERCLASSNAME::producesMidi() const\r\n" -"{\r\n" -" #if JucePlugin_ProducesMidiOutput\r\n" -" return true;\r\n" -" #else\r\n" -" return false;\r\n" -" #endif\r\n" -"}\r\n" -"\r\n" -"double FILTERCLASSNAME::getTailLengthSeconds() const\r\n" -"{\r\n" -" return 0.0;\r\n" -"}\r\n" -"\r\n" -"int FILTERCLASSNAME::getNumPrograms()\r\n" -"{\r\n" -" return 1; // NB: some hosts don't cope very well if you tell them there are 0 programs,\r\n" -" // so this should be at least 1, even if you're not really implementing programs.\r\n" -"}\r\n" -"\r\n" -"int FILTERCLASSNAME::getCurrentProgram()\r\n" -"{\r\n" -" return 0;\r\n" -"}\r\n" -"\r\n" -"void FILTERCLASSNAME::setCurrentProgram (int index)\r\n" -"{\r\n" -"}\r\n" -"\r\n" -"const String FILTERCLASSNAME::getProgramName (int index)\r\n" -"{\r\n" -" return String();\r\n" -"}\r\n" -"\r\n" -"void FILTERCLASSNAME::changeProgramName (int index, const String& newName)\r\n" -"{\r\n" -"}\r\n" -"\r\n" -"//==============================================================================\r\n" -"void FILTERCLASSNAME::prepareToPlay (double sampleRate, int samplesPerBlock)\r\n" -"{\r\n" -" // Use this method as the place to do any pre-playback\r\n" -" // initialisation that you need..\r\n" -"}\r\n" -"\r\n" -"void FILTERCLASSNAME::releaseResources()\r\n" -"{\r\n" -" // When playback stops, you can use this as an opportunity to free up any\r\n" -" // spare memory, etc.\r\n" -"}\r\n" -"\r\n" -"void FILTERCLASSNAME::processBlock (AudioSampleBuffer& buffer, MidiBuffer& midiMessages)\r\n" -"{\r\n" -" const int totalNumInputChannels = getTotalNumInputChannels();\r\n" -" const int totalNumOutputChannels = getTotalNumOutputChannels();\r\n" -"\r\n" -" // In case we have more outputs than inputs, this code clears any output\r\n" -" // channels that didn't contain input data, (because these aren't\r\n" -" // guaranteed to be empty - they may contain garbage).\r\n" -" // This is here to avoid people getting screaming feedback\r\n" -" // when they first compile a plugin, but obviously you don't need to keep\r\n" -" // this code if your algorithm always overwrites all the output channels.\r\n" -" for (int i = totalNumInputChannels; i < totalNumOutputChannels; ++i)\r\n" -" buffer.clear (i, 0, buffer.getNumSamples());\r\n" -"\r\n" -" // This is the place where you'd normally do the guts of your plugin's\r\n" -" // audio processing...\r\n" -" for (int channel = 0; channel < totalNumInputChannels; ++channel)\r\n" -" {\r\n" -" float* channelData = buffer.getWritePointer (channel);\r\n" -"\r\n" -" // ..do something to the data...\r\n" -" }\r\n" -"}\r\n" -"\r\n" -"//==============================================================================\r\n" -"bool FILTERCLASSNAME::hasEditor() const\r\n" -"{\r\n" -" return true; // (change this to false if you choose to not supply an editor)\r\n" -"}\r\n" -"\r\n" -"AudioProcessorEditor* FILTERCLASSNAME::createEditor()\r\n" -"{\r\n" -" return new EDITORCLASSNAME (*this);\r\n" -"}\r\n" -"\r\n" -"//==============================================================================\r\n" -"void FILTERCLASSNAME::getStateInformation (MemoryBlock& destData)\r\n" -"{\r\n" -" // You should use this method to store your parameters in the memory block.\r\n" -" // You could do that either as raw data, or use the XML or ValueTree classes\r\n" -" // as intermediaries to make it easy to save and load complex data.\r\n" -"}\r\n" -"\r\n" -"void FILTERCLASSNAME::setStateInformation (const void* data, int sizeInBytes)\r\n" -"{\r\n" -" // You should use this method to restore your parameters from this memory block,\r\n" -" // whose contents will have been created by the getStateInformation() call.\r\n" -"}\r\n" -"\r\n" -"//==============================================================================\r\n" -"// This creates new instances of the plugin..\r\n" -"AudioProcessor* JUCE_CALLTYPE createPluginFilter()\r\n" -"{\r\n" -" return new FILTERCLASSNAME();\r\n" -"}\r\n"; - -const char* jucer_AudioPluginFilterTemplate_cpp = (const char*) temp_binary_data_4; - -//================== jucer_AudioPluginFilterTemplate.h ================== -static const unsigned char temp_binary_data_5[] = -"/*\r\n" -" ==============================================================================\r\n" -"\r\n" -" This file was auto-generated by the Introjucer!\r\n" -"\r\n" -" It contains the basic framework code for a JUCE plugin processor.\r\n" -"\r\n" -" ==============================================================================\r\n" -"*/\r\n" -"\r\n" -"#ifndef HEADERGUARD\r\n" -"#define HEADERGUARD\r\n" -"\r\n" -"APPHEADERS\r\n" -"\r\n" -"\r\n" -"//==============================================================================\r\n" -"/**\r\n" -"*/\r\n" -"class FILTERCLASSNAME : public AudioProcessor\r\n" -"{\r\n" -"public:\r\n" -" //==============================================================================\r\n" -" FILTERCLASSNAME();\r\n" -" ~FILTERCLASSNAME();\r\n" -"\r\n" -" //==============================================================================\r\n" -" void prepareToPlay (double sampleRate, int samplesPerBlock) override;\r\n" -" void releaseResources() override;\r\n" -"\r\n" -" void processBlock (AudioSampleBuffer&, MidiBuffer&) override;\r\n" -"\r\n" -" //==============================================================================\r\n" -" AudioProcessorEditor* createEditor() override;\r\n" -" bool hasEditor() const override;\r\n" -"\r\n" -" //==============================================================================\r\n" -" const String getName() const override;\r\n" -"\r\n" -" bool acceptsMidi() const override;\r\n" -" bool producesMidi() const override;\r\n" -" double getTailLengthSeconds() const override;\r\n" -"\r\n" -" //==============================================================================\r\n" -" int getNumPrograms() override;\r\n" -" int getCurrentProgram() override;\r\n" -" void setCurrentProgram (int index) override;\r\n" -" const String getProgramName (int index) override;\r\n" -" void changeProgramName (int index, const String& newName) override;\r\n" -"\r\n" -" //==============================================================================\r\n" -" void getStateInformation (MemoryBlock& destData) override;\r\n" -" void setStateInformation (const void* data, int sizeInBytes) override;\r\n" -"\r\n" -"private:\r\n" -" //==============================================================================\r\n" -" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (FILTERCLASSNAME)\r\n" -"};\r\n" -"\r\n" -"\r\n" -"#endif // HEADERGUARD\r\n"; - -const char* jucer_AudioPluginFilterTemplate_h = (const char*) temp_binary_data_5; - -//================== jucer_ComponentTemplate.cpp ================== -static const unsigned char temp_binary_data_6[] = -"/*\r\n" -" ==============================================================================\r\n" -"\r\n" -" This is an automatically generated GUI class created by the Introjucer!\r\n" -"\r\n" -" Be careful when adding custom code to these files, as only the code within\r\n" -" the \"//[xyz]\" and \"//[/xyz]\" sections will be retained when the file is loaded\r\n" -" and re-saved.\r\n" -"\r\n" -" Created with Introjucer version: %%version%%\r\n" -"\r\n" -" ------------------------------------------------------------------------------\r\n" -"\r\n" -" The Introjucer is part of the JUCE library - \"Jules' Utility Class Extensions\"\r\n" -" Copyright (c) 2015 - ROLI Ltd.\r\n" -"\r\n" -" ==============================================================================\r\n" -"*/\r\n" -"\r\n" -"//[Headers] You can add your own extra header files here...\r\n" -"//[/Headers]\r\n" -"\r\n" -"%%includeFilesCPP%%\r\n" -"\r\n" -"//[MiscUserDefs] You can add your own user definitions and misc code here...\r\n" -"//[/MiscUserDefs]\r\n" -"\r\n" -"//==============================================================================\r\n" -"%%className%%::%%className%% (%%constructorParams%%)\r\n" -"%%initialisers%%{\r\n" -" //[Constructor_pre] You can add your own custom stuff here..\r\n" -" //[/Constructor_pre]\r\n" -"\r\n" -" %%constructor%%\r\n" -"\r\n" -" //[Constructor] You can add your own custom stuff here..\r\n" -" //[/Constructor]\r\n" -"}\r\n" -"\r\n" -"%%className%%::~%%className%%()\r\n" -"{\r\n" -" //[Destructor_pre]. You can add your own custom destruction code here..\r\n" -" //[/Destructor_pre]\r\n" -"\r\n" -" %%destructor%%\r\n" -"\r\n" -" //[Destructor]. You can add your own custom destruction code here..\r\n" -" //[/Destructor]\r\n" -"}\r\n" -"\r\n" -"//==============================================================================\r\n" -"%%methodDefinitions%%\r\n" -"\r\n" -"//[MiscUserCode] You can add your own definitions of your custom methods or any other code here...\r\n" -"//[/MiscUserCode]\r\n" -"\r\n" -"\r\n" -"//==============================================================================\r\n" -"#if 0\r\n" -"/* -- Introjucer information section --\r\n" -"\r\n" -" This is where the Introjucer stores the metadata that describe this GUI layout, so\r\n" -" make changes in here at your peril!\r\n" -"\r\n" -"BEGIN_JUCER_METADATA\r\n" -"\r\n" -"%%metadata%%\r\n" -"END_JUCER_METADATA\r\n" -"*/\r\n" -"#endif\r\n" -"\r\n" -"%%staticMemberDefinitions%%\r\n" -"//[EndFile] You can add extra defines here...\r\n" -"//[/EndFile]\r\n"; - -const char* jucer_ComponentTemplate_cpp = (const char*) temp_binary_data_6; - -//================== jucer_ComponentTemplate.h ================== -static const unsigned char temp_binary_data_7[] = -"/*\r\n" -" ==============================================================================\r\n" -"\r\n" -" This is an automatically generated GUI class created by the Introjucer!\r\n" -"\r\n" -" Be careful when adding custom code to these files, as only the code within\r\n" -" the \"//[xyz]\" and \"//[/xyz]\" sections will be retained when the file is loaded\r\n" -" and re-saved.\r\n" -"\r\n" -" Created with Introjucer version: %%version%%\r\n" -"\r\n" -" ------------------------------------------------------------------------------\r\n" -"\r\n" -" The Introjucer is part of the JUCE library - \"Jules' Utility Class Extensions\"\r\n" -" Copyright (c) 2015 - ROLI Ltd.\r\n" -"\r\n" -" ==============================================================================\r\n" -"*/\r\n" -"\r\n" -"#ifndef %%headerGuard%%\r\n" -"#define %%headerGuard%%\r\n" -"\r\n" -"//[Headers] -- You can add your own extra header files here --\r\n" -"#include \"JuceHeader.h\"\r\n" -"//[/Headers]\r\n" -"\r\n" -"%%includeFilesH%%\r\n" -"\r\n" -"//==============================================================================\r\n" -"/**\r\n" -" //[Comments]\r\n" -" An auto-generated component, created by the Introjucer.\r\n" -"\r\n" -" Describe your class and how it works here!\r\n" -" //[/Comments]\r\n" -"*/\r\n" -"%%classDeclaration%%\r\n" -"{\r\n" -"public:\r\n" -" //==============================================================================\r\n" -" %%className%% (%%constructorParams%%);\r\n" -" ~%%className%%();\r\n" -"\r\n" -" //==============================================================================\r\n" -" //[UserMethods] -- You can add your own custom methods in this section.\r\n" -" //[/UserMethods]\r\n" -"\r\n" -" %%publicMemberDeclarations%%\r\n" -"\r\n" -"private:\r\n" -" //[UserVariables] -- You can add your own custom variables in this section.\r\n" -" //[/UserVariables]\r\n" -"\r\n" -" //==============================================================================\r\n" -" %%privateMemberDeclarations%%\r\n" -"\r\n" -" //==============================================================================\r\n" -" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (%%className%%)\r\n" -"};\r\n" -"\r\n" -"//[EndFile] You can add extra defines here...\r\n" -"//[/EndFile]\r\n" -"\r\n" -"#endif // %%headerGuard%%\r\n"; - -const char* jucer_ComponentTemplate_h = (const char*) temp_binary_data_7; - -//================== jucer_ContentCompTemplate.cpp ================== -static const unsigned char temp_binary_data_8[] = -"/*\r\n" -" ==============================================================================\r\n" -"\r\n" -" This file was auto-generated!\r\n" -"\r\n" -" ==============================================================================\r\n" -"*/\r\n" -"\r\n" -"INCLUDE_CORRESPONDING_HEADER\r\n" -"\r\n" -"\r\n" -"//==============================================================================\r\n" -"CONTENTCOMPCLASS::CONTENTCOMPCLASS()\r\n" -"{\r\n" -" setSize (600, 400);\r\n" -"}\r\n" -"\r\n" -"CONTENTCOMPCLASS::~CONTENTCOMPCLASS()\r\n" -"{\r\n" -"}\r\n" -"\r\n" -"void CONTENTCOMPCLASS::paint (Graphics& g)\r\n" -"{\r\n" -" g.fillAll (Colour (0xff001F36));\r\n" -"\r\n" -" g.setFont (Font (16.0f));\r\n" -" g.setColour (Colours::white);\r\n" -" g.drawText (\"Hello World!\", getLocalBounds(), Justification::centred, true);\r\n" -"}\r\n" -"\r\n" -"void CONTENTCOMPCLASS::resized()\r\n" -"{\r\n" -" // This is called when the CONTENTCOMPCLASS is resized.\r\n" -" // If you add any child components, this is where you should\r\n" -" // update their positions.\r\n" -"}\r\n"; - -const char* jucer_ContentCompTemplate_cpp = (const char*) temp_binary_data_8; - -//================== jucer_ContentCompTemplate.h ================== -static const unsigned char temp_binary_data_9[] = -"/*\r\n" -" ==============================================================================\r\n" -"\r\n" -" This file was auto-generated!\r\n" -"\r\n" -" ==============================================================================\r\n" -"*/\r\n" -"\r\n" -"#ifndef HEADERGUARD\r\n" -"#define HEADERGUARD\r\n" -"\r\n" -"INCLUDE_JUCE\r\n" -"\r\n" -"\r\n" -"//==============================================================================\r\n" -"/*\r\n" -" This component lives inside our window, and this is where you should put all\r\n" -" your controls and content.\r\n" -"*/\r\n" -"class CONTENTCOMPCLASS : public Component\r\n" -"{\r\n" -"public:\r\n" -" //==============================================================================\r\n" -" CONTENTCOMPCLASS();\r\n" -" ~CONTENTCOMPCLASS();\r\n" -"\r\n" -" void paint (Graphics&);\r\n" -" void resized();\r\n" -"\r\n" -"private:\r\n" -" //==============================================================================\r\n" -" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (CONTENTCOMPCLASS)\r\n" -"};\r\n" -"\r\n" -"\r\n" -"#endif // HEADERGUARD\r\n"; - -const char* jucer_ContentCompTemplate_h = (const char*) temp_binary_data_9; - -//================== jucer_InlineComponentTemplate.h ================== -static const unsigned char temp_binary_data_10[] = -"//==============================================================================\r\n" -"class COMPONENTCLASS : public Component\r\n" -"{\r\n" -"public:\r\n" -" COMPONENTCLASS()\r\n" -" {\r\n" -" // In your constructor, you should add any child components, and\r\n" -" // initialise any special settings that your component needs.\r\n" -"\r\n" -" }\r\n" -"\r\n" -" ~COMPONENTCLASS()\r\n" -" {\r\n" -" }\r\n" -"\r\n" -" void paint (Graphics& g)\r\n" -" {\r\n" -" // You should replace everything in this method with your own drawing code..\r\n" -"\r\n" -" g.fillAll (Colours::white); // clear the background\r\n" -"\r\n" -" g.setColour (Colours::grey);\r\n" -" g.drawRect (getLocalBounds(), 1); // draw an outline around the component\r\n" -"\r\n" -" g.setColour (Colours::lightblue);\r\n" -" g.setFont (14.0f);\r\n" -" g.drawText (\"COMPONENTCLASS\", getLocalBounds(),\r\n" -" Justification::centred, true); // draw some placeholder text\r\n" -" }\r\n" -"\r\n" -" void resized()\r\n" -" {\r\n" -" // This method is where you should set the bounds of any child\r\n" -" // components that your component contains..\r\n" -"\r\n" -" }\r\n" -"\r\n" -"private:\r\n" -" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (COMPONENTCLASS)\r\n" -"};\r\n"; - -const char* jucer_InlineComponentTemplate_h = (const char*) temp_binary_data_10; - -//================== jucer_MainConsoleAppTemplate.cpp ================== -static const unsigned char temp_binary_data_11[] = -"/*\r\n" -" ==============================================================================\r\n" -"\r\n" -" This file was auto-generated!\r\n" -"\r\n" -" It contains the basic startup code for a Juce application.\r\n" -"\r\n" -" ==============================================================================\r\n" -"*/\r\n" -"\r\n" -"APPHEADERS\r\n" -"\r\n" -"\r\n" -"//==============================================================================\r\n" -"int main (int argc, char* argv[])\r\n" -"{\r\n" -"\r\n" -" // ..your code goes here!\r\n" -"\r\n" -"\r\n" -" return 0;\r\n" -"}\r\n"; - -const char* jucer_MainConsoleAppTemplate_cpp = (const char*) temp_binary_data_11; - -//================== jucer_MainTemplate_NoWindow.cpp ================== -static const unsigned char temp_binary_data_12[] = -"/*\r\n" -" ==============================================================================\r\n" -"\r\n" -" This file was auto-generated by the Introjucer!\r\n" -"\r\n" -" It contains the basic startup code for a Juce application.\r\n" -"\r\n" -" ==============================================================================\r\n" -"*/\r\n" -"\r\n" -"APPHEADERS\r\n" -"\r\n" -"\r\n" -"//==============================================================================\r\n" -"class APPCLASSNAME : public JUCEApplication\r\n" -"{\r\n" -"public:\r\n" -" //==============================================================================\r\n" -" APPCLASSNAME() {}\r\n" -"\r\n" -" const String getApplicationName() override { return ProjectInfo::projectName; }\r\n" -" const String getApplicationVersion() override { return ProjectInfo::versionString; }\r\n" -" bool moreThanOneInstanceAllowed() override { return ALLOWMORETHANONEINSTANCE; }\r\n" -"\r\n" -" //==============================================================================\r\n" -" void initialise (const String& commandLine) override\r\n" -" {\r\n" -" // Add your application's initialisation code here..\r\n" -" }\r\n" -"\r\n" -" void shutdown() override\r\n" -" {\r\n" -" // Add your application's shutdown code here..\r\n" -" }\r\n" -"\r\n" -" //==============================================================================\r\n" -" void systemRequestedQuit() override\r\n" -" {\r\n" -" // This is called when the app is being asked to quit: you can ignore this\r\n" -" // request and let the app carry on running, or call quit() to allow the app to close.\r\n" -" quit();\r\n" -" }\r\n" -"\r\n" -" void anotherInstanceStarted (const String& commandLine) override\r\n" -" {\r\n" -" // When another instance of the app is launched while this one is running,\r\n" -" // this method is invoked, and the commandLine parameter tells you what\r\n" -" // the other instance's command-line arguments were.\r\n" -" }\r\n" -"};\r\n" -"\r\n" -"//==============================================================================\r\n" -"// This macro generates the main() routine that launches the app.\r\n" -"START_JUCE_APPLICATION (APPCLASSNAME)\r\n"; - -const char* jucer_MainTemplate_NoWindow_cpp = (const char*) temp_binary_data_12; - -//================== jucer_MainTemplate_SimpleWindow.cpp ================== -static const unsigned char temp_binary_data_13[] = -"/*\r\n" -" ==============================================================================\r\n" -"\r\n" -" This file was auto-generated by the Introjucer!\r\n" -"\r\n" -" It contains the basic startup code for a Juce application.\r\n" -"\r\n" -" ==============================================================================\r\n" -"*/\r\n" -"\r\n" -"APPHEADERS\r\n" -"\r\n" -"Component* createMainContentComponent();\r\n" -"\r\n" -"//==============================================================================\r\n" -"class APPCLASSNAME : public JUCEApplication\r\n" -"{\r\n" -"public:\r\n" -" //==============================================================================\r\n" -" APPCLASSNAME() {}\r\n" -"\r\n" -" const String getApplicationName() override { return ProjectInfo::projectName; }\r\n" -" const String getApplicationVersion() override { return ProjectInfo::versionString; }\r\n" -" bool moreThanOneInstanceAllowed() override { return ALLOWMORETHANONEINSTANCE; }\r\n" -"\r\n" -" //==============================================================================\r\n" -" void initialise (const String& commandLine) override\r\n" -" {\r\n" -" // This method is where you should put your application's initialisation code..\r\n" -"\r\n" -" mainWindow = new MainWindow (getApplicationName());\r\n" -" }\r\n" -"\r\n" -" void shutdown() override\r\n" -" {\r\n" -" // Add your application's shutdown code here..\r\n" -"\r\n" -" mainWindow = nullptr; // (deletes our window)\r\n" -" }\r\n" -"\r\n" -" //==============================================================================\r\n" -" void systemRequestedQuit() override\r\n" -" {\r\n" -" // This is called when the app is being asked to quit: you can ignore this\r\n" -" // request and let the app carry on running, or call quit() to allow the app to close.\r\n" -" quit();\r\n" -" }\r\n" -"\r\n" -" void anotherInstanceStarted (const String& commandLine) override\r\n" -" {\r\n" -" // When another instance of the app is launched while this one is running,\r\n" -" // this method is invoked, and the commandLine parameter tells you what\r\n" -" // the other instance's command-line arguments were.\r\n" -" }\r\n" -"\r\n" -" //==============================================================================\r\n" -" /*\r\n" -" This class implements the desktop window that contains an instance of\r\n" -" our CONTENTCOMPCLASS class.\r\n" -" */\r\n" -" class MainWindow : public DocumentWindow\r\n" -" {\r\n" -" public:\r\n" -" MainWindow (String name) : DocumentWindow (name,\r\n" -" Colours::lightgrey,\r\n" -" DocumentWindow::allButtons)\r\n" -" {\r\n" -" setUsingNativeTitleBar (true);\r\n" -" setContentOwned (createMainContentComponent(), true);\r\n" -" setResizable (true, true);\r\n" -"\r\n" -" centreWithSize (getWidth(), getHeight());\r\n" -" setVisible (true);\r\n" -" }\r\n" -"\r\n" -" void closeButtonPressed() override\r\n" -" {\r\n" -" // This is called when the user tries to close this window. Here, we'll just\r\n" -" // ask the app to quit when this happens, but you can change this to do\r\n" -" // whatever you need.\r\n" -" JUCEApplication::getInstance()->systemRequestedQuit();\r\n" -" }\r\n" -"\r\n" -" /* Note: Be careful if you override any DocumentWindow methods - the base\r\n" -" class uses a lot of them, so by overriding you might break its functionality.\r\n" -" It's best to do all your work in your content component instead, but if\r\n" -" you really have to override any DocumentWindow methods, make sure your\r\n" -" subclass also calls the superclass's method.\r\n" -" */\r\n" -"\r\n" -" private:\r\n" -" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainWindow)\r\n" -" };\r\n" -"\r\n" -"private:\r\n" -" ScopedPointer mainWindow;\r\n" -"};\r\n" -"\r\n" -"//==============================================================================\r\n" -"// This macro generates the main() routine that launches the app.\r\n" -"START_JUCE_APPLICATION (APPCLASSNAME)\r\n"; - -const char* jucer_MainTemplate_SimpleWindow_cpp = (const char*) temp_binary_data_13; - -//================== jucer_MainTemplate_Window.cpp ================== -static const unsigned char temp_binary_data_14[] = -"/*\r\n" -" ==============================================================================\r\n" -"\r\n" -" This file was auto-generated by the Introjucer!\r\n" -"\r\n" -" It contains the basic startup code for a Juce application.\r\n" -"\r\n" -" ==============================================================================\r\n" -"*/\r\n" -"\r\n" -"APPHEADERS\r\n" -"\r\n" -"\r\n" -"//==============================================================================\r\n" -"class APPCLASSNAME : public JUCEApplication\r\n" -"{\r\n" -"public:\r\n" -" //==============================================================================\r\n" -" APPCLASSNAME() {}\r\n" -"\r\n" -" const String getApplicationName() override { return ProjectInfo::projectName; }\r\n" -" const String getApplicationVersion() override { return ProjectInfo::versionString; }\r\n" -" bool moreThanOneInstanceAllowed() override { return ALLOWMORETHANONEINSTANCE; }\r\n" -"\r\n" -" //==============================================================================\r\n" -" void initialise (const String& commandLine) override\r\n" -" {\r\n" -" // This method is where you should put your application's initialisation code..\r\n" -"\r\n" -" mainWindow = new MainWindow (getApplicationName());\r\n" -" }\r\n" -"\r\n" -" void shutdown() override\r\n" -" {\r\n" -" // Add your application's shutdown code here..\r\n" -"\r\n" -" mainWindow = nullptr; // (deletes our window)\r\n" -" }\r\n" -"\r\n" -" //==============================================================================\r\n" -" void systemRequestedQuit() override\r\n" -" {\r\n" -" // This is called when the app is being asked to quit: you can ignore this\r\n" -" // request and let the app carry on running, or call quit() to allow the app to close.\r\n" -" quit();\r\n" -" }\r\n" -"\r\n" -" void anotherInstanceStarted (const String& commandLine) override\r\n" -" {\r\n" -" // When another instance of the app is launched while this one is running,\r\n" -" // this method is invoked, and the commandLine parameter tells you what\r\n" -" // the other instance's command-line arguments were.\r\n" -" }\r\n" -"\r\n" -" //==============================================================================\r\n" -" /*\r\n" -" This class implements the desktop window that contains an instance of\r\n" -" our CONTENTCOMPCLASS class.\r\n" -" */\r\n" -" class MainWindow : public DocumentWindow\r\n" -" {\r\n" -" public:\r\n" -" MainWindow (String name) : DocumentWindow (name,\r\n" -" Colours::lightgrey,\r\n" -" DocumentWindow::allButtons)\r\n" -" {\r\n" -" setUsingNativeTitleBar (true);\r\n" -" setContentOwned (new CONTENTCOMPCLASS(), true);\r\n" -"\r\n" -" centreWithSize (getWidth(), getHeight());\r\n" -" setVisible (true);\r\n" -" }\r\n" -"\r\n" -" void closeButtonPressed() override\r\n" -" {\r\n" -" // This is called when the user tries to close this window. Here, we'll just\r\n" -" // ask the app to quit when this happens, but you can change this to do\r\n" -" // whatever you need.\r\n" -" JUCEApplication::getInstance()->systemRequestedQuit();\r\n" -" }\r\n" -"\r\n" -" /* Note: Be careful if you override any DocumentWindow methods - the base\r\n" -" class uses a lot of them, so by overriding you might break its functionality.\r\n" -" It's best to do all your work in your content component instead, but if\r\n" -" you really have to override any DocumentWindow methods, make sure your\r\n" -" subclass also calls the superclass's method.\r\n" -" */\r\n" -"\r\n" -" private:\r\n" -" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainWindow)\r\n" -" };\r\n" -"\r\n" -"private:\r\n" -" ScopedPointer mainWindow;\r\n" -"};\r\n" -"\r\n" -"//==============================================================================\r\n" -"// This macro generates the main() routine that launches the app.\r\n" -"START_JUCE_APPLICATION (APPCLASSNAME)\r\n"; - -const char* jucer_MainTemplate_Window_cpp = (const char*) temp_binary_data_14; - -//================== jucer_NewComponentTemplate.cpp ================== -static const unsigned char temp_binary_data_15[] = -"/*\r\n" -" ==============================================================================\r\n" -"\r\n" -" FILENAME\r\n" -" Created: DATE\r\n" -" Author: AUTHOR\r\n" -"\r\n" -" ==============================================================================\r\n" -"*/\r\n" -"\r\n" -"INCLUDE_JUCE\r\n" -"INCLUDE_CORRESPONDING_HEADER\r\n" -"\r\n" -"//==============================================================================\r\n" -"COMPONENTCLASS::COMPONENTCLASS()\r\n" -"{\r\n" -" // In your constructor, you should add any child components, and\r\n" -" // initialise any special settings that your component needs.\r\n" -"\r\n" -"}\r\n" -"\r\n" -"COMPONENTCLASS::~COMPONENTCLASS()\r\n" -"{\r\n" -"}\r\n" -"\r\n" -"void COMPONENTCLASS::paint (Graphics& g)\r\n" -"{\r\n" -" /* This demo code just fills the component's background and\r\n" -" draws some placeholder text to get you started.\r\n" -"\r\n" -" You should replace everything in this method with your own\r\n" -" drawing code..\r\n" -" */\r\n" -"\r\n" -" g.fillAll (Colours::white); // clear the background\r\n" -"\r\n" -" g.setColour (Colours::grey);\r\n" -" g.drawRect (getLocalBounds(), 1); // draw an outline around the component\r\n" -"\r\n" -" g.setColour (Colours::lightblue);\r\n" -" g.setFont (14.0f);\r\n" -" g.drawText (\"COMPONENTCLASS\", getLocalBounds(),\r\n" -" Justification::centred, true); // draw some placeholder text\r\n" -"}\r\n" -"\r\n" -"void COMPONENTCLASS::resized()\r\n" -"{\r\n" -" // This method is where you should set the bounds of any child\r\n" -" // components that your component contains..\r\n" -"\r\n" -"}\r\n"; - -const char* jucer_NewComponentTemplate_cpp = (const char*) temp_binary_data_15; - -//================== jucer_NewComponentTemplate.h ================== -static const unsigned char temp_binary_data_16[] = -"/*\r\n" -" ==============================================================================\r\n" -"\r\n" -" FILENAME\r\n" -" Created: DATE\r\n" -" Author: AUTHOR\r\n" -"\r\n" -" ==============================================================================\r\n" -"*/\r\n" -"\r\n" -"#ifndef HEADERGUARD\r\n" -"#define HEADERGUARD\r\n" -"\r\n" -"INCLUDE_JUCE\r\n" -"\r\n" -"//==============================================================================\r\n" -"/*\r\n" -"*/\r\n" -"class COMPONENTCLASS : public Component\r\n" -"{\r\n" -"public:\r\n" -" COMPONENTCLASS();\r\n" -" ~COMPONENTCLASS();\r\n" -"\r\n" -" void paint (Graphics&);\r\n" -" void resized();\r\n" -"\r\n" -"private:\r\n" -" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (COMPONENTCLASS)\r\n" -"};\r\n" -"\r\n" -"\r\n" -"#endif // HEADERGUARD\r\n"; - -const char* jucer_NewComponentTemplate_h = (const char*) temp_binary_data_16; - -//================== jucer_NewCppFileTemplate.cpp ================== -static const unsigned char temp_binary_data_17[] = -"/*\r\n" -" ==============================================================================\r\n" -"\r\n" -" FILENAME\r\n" -" Created: DATE\r\n" -" Author: AUTHOR\r\n" -"\r\n" -" ==============================================================================\r\n" -"*/\r\n" -"\r\n" -"INCLUDE_CORRESPONDING_HEADER\r\n"; - -const char* jucer_NewCppFileTemplate_cpp = (const char*) temp_binary_data_17; - -//================== jucer_NewCppFileTemplate.h ================== -static const unsigned char temp_binary_data_18[] = -"/*\r\n" -" ==============================================================================\r\n" -"\r\n" -" FILENAME\r\n" -" Created: DATE\r\n" -" Author: AUTHOR\r\n" -"\r\n" -" ==============================================================================\r\n" -"*/\r\n" -"\r\n" -"#ifndef HEADERGUARD\r\n" -"#define HEADERGUARD\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"#endif // HEADERGUARD\r\n"; - -const char* jucer_NewCppFileTemplate_h = (const char*) temp_binary_data_18; - -//================== jucer_NewInlineComponentTemplate.h ================== -static const unsigned char temp_binary_data_19[] = -"/*\r\n" -" ==============================================================================\r\n" -"\r\n" -" FILENAME\r\n" -" Created: DATE\r\n" -" Author: AUTHOR\r\n" -"\r\n" -" ==============================================================================\r\n" -"*/\r\n" -"\r\n" -"#ifndef HEADERGUARD\r\n" -"#define HEADERGUARD\r\n" -"\r\n" -"INCLUDE_JUCE\r\n" -"\r\n" -"//==============================================================================\r\n" -"/*\r\n" -"*/\r\n" -"class COMPONENTCLASS : public Component\r\n" -"{\r\n" -"public:\r\n" -" COMPONENTCLASS()\r\n" -" {\r\n" -" // In your constructor, you should add any child components, and\r\n" -" // initialise any special settings that your component needs.\r\n" -"\r\n" -" }\r\n" -"\r\n" -" ~COMPONENTCLASS()\r\n" -" {\r\n" -" }\r\n" -"\r\n" -" void paint (Graphics& g)\r\n" -" {\r\n" -" /* This demo code just fills the component's background and\r\n" -" draws some placeholder text to get you started.\r\n" -"\r\n" -" You should replace everything in this method with your own\r\n" -" drawing code..\r\n" -" */\r\n" -"\r\n" -" g.fillAll (Colours::white); // clear the background\r\n" -"\r\n" -" g.setColour (Colours::grey);\r\n" -" g.drawRect (getLocalBounds(), 1); // draw an outline around the component\r\n" -"\r\n" -" g.setColour (Colours::lightblue);\r\n" -" g.setFont (14.0f);\r\n" -" g.drawText (\"COMPONENTCLASS\", getLocalBounds(),\r\n" -" Justification::centred, true); // draw some placeholder text\r\n" -" }\r\n" -"\r\n" -" void resized()\r\n" -" {\r\n" -" // This method is where you should set the bounds of any child\r\n" -" // components that your component contains..\r\n" -"\r\n" -" }\r\n" -"\r\n" -"private:\r\n" -" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (COMPONENTCLASS)\r\n" -"};\r\n" -"\r\n" -"\r\n" -"#endif // HEADERGUARD\r\n"; - -const char* jucer_NewInlineComponentTemplate_h = (const char*) temp_binary_data_19; - -//================== jucer_OpenGLComponentTemplate.cpp ================== -static const unsigned char temp_binary_data_20[] = -"/*\r\n" -" ==============================================================================\r\n" -"\r\n" -" This file was auto-generated!\r\n" -"\r\n" -" ==============================================================================\r\n" -"*/\r\n" -"\r\n" -"#ifndef MAINCOMPONENT_H_INCLUDED\r\n" -"#define MAINCOMPONENT_H_INCLUDED\r\n" -"\r\n" -"INCLUDE_JUCE\r\n" -"\r\n" -"//==============================================================================\r\n" -"/*\r\n" -" This component lives inside our window, and this is where you should put all\r\n" -" your controls and content.\r\n" -"*/\r\n" -"class MainContentComponent : public OpenGLAppComponent\r\n" -"{\r\n" -"public:\r\n" -" //==============================================================================\r\n" -" MainContentComponent()\r\n" -" {\r\n" -" setSize (800, 600);\r\n" -" }\r\n" -"\r\n" -" ~MainContentComponent()\r\n" -" {\r\n" -" shutdownOpenGL();\r\n" -" }\r\n" -"\r\n" -" void initialise() override\r\n" -" {\r\n" -" }\r\n" -"\r\n" -" void shutdown() override\r\n" -" {\r\n" -" }\r\n" -"\r\n" -" void render() override\r\n" -" {\r\n" -" OpenGLHelpers::clear (Colours::black);\r\n" -"\r\n" -" }\r\n" -"\r\n" -" void paint (Graphics& g) override\r\n" -" {\r\n" -" // You can add your component specific drawing code here!\r\n" -" // This will draw over the top of the openGL background.\r\n" -" }\r\n" -"\r\n" -" void resized() override\r\n" -" {\r\n" -" // This is called when the MainContentComponent is resized.\r\n" -" // If you add any child components, this is where you should\r\n" -" // update their positions.\r\n" -" }\r\n" -"\r\n" -"\r\n" -"private:\r\n" -" //==============================================================================\r\n" -"\r\n" -" // private member variables\r\n" -"\r\n" -"\r\n" -"\r\n" -" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainContentComponent)\r\n" -"};\r\n" -"\r\n" -"\r\n" -"// (This function is called by the app startup code to create our main component)\r\n" -"Component* createMainContentComponent() { return new MainContentComponent(); }\r\n" -"\r\n" -"\r\n" -"#endif // MAINCOMPONENT_H_INCLUDED\r\n"; - -const char* jucer_OpenGLComponentTemplate_cpp = (const char*) temp_binary_data_20; - -//================== AudioPluginXCodeScript.txt ================== -static const unsigned char temp_binary_data_21[] = -"\r\n" -"# This script takes the build product and copies it to the AU, VST, VST3, RTAS and AAX folders, depending on \r\n" -"# which plugin types you've built\r\n" -"\r\n" -"original=$CONFIGURATION_BUILD_DIR/$FULL_PRODUCT_NAME\r\n" -"\r\n" -"# this looks inside the binary to detect which platforms are needed.. \r\n" -"copyAU=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'AudioUnit' | wc -l`\r\n" -"copyVST=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'VSTPlugin' | wc -l`\r\n" -"copyVST3=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'GetPluginFactory' | wc -l`\r\n" -"copyRTAS=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'CProcess' | wc -l`\r\n" -"copyAAX=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'ACFStartup' | wc -l`\r\n" -"\r\n" -"if [ $copyAU -gt 0 ]; then\r\n" -" echo \"Copying to AudioUnit folder...\"\r\n" -" AUDir=~/Library/Audio/Plug-Ins/Components\r\n" -" mkdir -p \"$AUDir\"\r\n" -" AU=$AUDir/$PRODUCT_NAME.component\r\n" -" if [ -d \"$AU\" ]; then \r\n" -" rm -r \"$AU\"\r\n" -" fi\r\n" -"\r\n" -" cp -r \"$original\" \"$AU\"\r\n" -" sed -i \"\" -e 's/TDMwPTul/BNDLPTul/g' \"$AU/Contents/PkgInfo\"\r\n" -" sed -i \"\" -e 's/TDMw/BNDL/g' \"$AU/Contents/$INFOPLIST_FILE\"\r\n" -"fi\r\n" -"\r\n" -"if [ $copyVST -gt 0 ]; then\r\n" -" echo \"Copying to VST folder...\"\r\n" -" VSTDir=~/Library/Audio/Plug-Ins/VST\r\n" -" mkdir -p \"$VSTDir\"\r\n" -" VST=$VSTDir/$PRODUCT_NAME.vst\r\n" -" if [ -d \"$VST\" ]; then \r\n" -" rm -r \"$VST\"\r\n" -" fi\r\n" -"\r\n" -" cp -r \"$original\" \"$VST\"\r\n" -" sed -i \"\" -e 's/TDMwPTul/BNDLPTul/g' \"$VST/Contents/PkgInfo\"\r\n" -" sed -i \"\" -e 's/TDMw/BNDL/g' \"$VST/Contents/$INFOPLIST_FILE\"\r\n" -"fi\r\n" -"\r\n" -"if [ $copyVST3 -gt 0 ]; then\r\n" -" echo \"Copying to VST3 folder...\"\r\n" -" VST3Dir=~/Library/Audio/Plug-Ins/VST3\r\n" -" mkdir -p \"$VST3Dir\"\r\n" -" VST3=$VST3Dir/$PRODUCT_NAME.vst3\r\n" -" if [ -d \"$VST3\" ]; then \r\n" -" rm -r \"$VST3\"\r\n" -" fi\r\n" -"\r\n" -" cp -r \"$original\" \"$VST3\"\r\n" -" sed -i \"\" -e 's/TDMwPTul/BNDLPTul/g' \"$VST3/Contents/PkgInfo\"\r\n" -" sed -i \"\" -e 's/TDMw/BNDL/g' \"$VST3/Contents/$INFOPLIST_FILE\"\r\n" -"fi\r\n" -"\r\n" -"if [ $copyRTAS -gt 0 ]; then\r\n" -" echo \"Copying to RTAS folder...\"\r\n" -" RTASDir=/Library/Application\\ Support/Digidesign/Plug-Ins\r\n" -" if [ -d \"$RTASDir\" ]; then\r\n" -" RTAS=$RTASDir/$PRODUCT_NAME.dpm\r\n" -" if [ -d \"$RTAS\" ]; then\r\n" -" rm -r \"$RTAS\"\r\n" -" fi\r\n" -"\r\n" -" cp -r \"$original\" \"$RTAS\"\r\n" -" fi\r\n" -"fi\r\n" -"\r\n" -"if [ $copyAAX -gt 0 ]; then\r\n" -" echo \"Copying to AAX folder...\"\r\n" -"\r\n" -" if [ -d \"/Applications/ProTools_3PDev/Plug-Ins\" ]; then\r\n" -" AAX1=\"/Applications/ProTools_3PDev/Plug-Ins/$PRODUCT_NAME.aaxplugin\"\r\n" -"\r\n" -" if [ -d \"$AAX1\" ]; then\r\n" -" rm -r \"$AAX1\"\r\n" -" fi\r\n" -"\r\n" -" cp -R -H \"$original\" \"$AAX1\"\r\n" -" fi\r\n" -"\r\n" -" if [ -d \"/Library/Application Support/Avid/Audio/Plug-Ins\" ]; then\r\n" -" AAX2=\"/Library/Application Support/Avid/Audio/Plug-Ins/$PRODUCT_NAME.aaxplugin\"\r\n" -"\r\n" -" if [ -d \"$AAX2\" ]; then\r\n" -" rm -r \"$AAX2\"\r\n" -" fi\r\n" -"\r\n" -" cp -R -H \"$original\" \"$AAX2\"\r\n" -" fi\r\n" -"fi\r\n"; - -const char* AudioPluginXCodeScript_txt = (const char*) temp_binary_data_21; - -//================== background_logo.svg ================== -static const unsigned char temp_binary_data_22[] = -"\r\n" -"\r\n" -"\r\n" -"\t\r\n" -"\t\t\r\n" -"\t\t\r\n" -"\t\t\r\n" -"\t\t\r\n" -"\t\r\n" -"\r\n" -"\r\n" -"\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\r\n" -"\r\n" -"\r\n"; - -const char* background_logo_svg = (const char*) temp_binary_data_22; - -//================== background_tile.png ================== -static const unsigned char temp_binary_data_23[] = -{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,7,0,0,0,7,8,6,0,0,0,196,82,87,211,0,0,0,94,73,68,65,84,120,218,85,141,73,14,0,33,8,4,253,137,226,18,19,245,234,255,127,70,75,155,232,56,135,10,132,94,112,33,4,37,222,123,205,57,107,74,105,239,196,137, -8,72,239,29,99,12,204,57,209,90,227,237,19,45,113,161,209,12,234,172,18,49,70,88,229,134,34,103,173,245,159,60,134,82,10,238,79,166,223,106,238,91,100,229,73,191,80,92,47,179,68,223,148,158,98,226,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; - -const char* background_tile_png = (const char*) temp_binary_data_23; - -//================== colourscheme_dark.xml ================== -static const unsigned char temp_binary_data_24[] = -"\r\n" -"\r\n" -"\r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -"\r\n"; - -const char* colourscheme_dark_xml = (const char*) temp_binary_data_24; - -//================== colourscheme_light.xml ================== -static const unsigned char temp_binary_data_25[] = -"\r\n" -"\r\n" -"\r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -"\r\n"; - -const char* colourscheme_light_xml = (const char*) temp_binary_data_25; - -//================== juce_icon.png ================== -static const unsigned char temp_binary_data_26[] = -{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,2,0,0,0,2,0,8,6,0,0,0,244,120,212,250,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,100,121,113,201,101,60,0,0,3,40,105,84,88,116,88,77,76,58, -99,111,109,46,97,100,111,98,101,46,120,109,112,0,0,0,0,0,60,63,120,112,97,99,107,101,116,32,98,101,103,105,110,61,34,239,187,191,34,32,105,100,61,34,87,53,77,48,77,112,67,101,104,105,72,122,114,101,83,122,78,84,99,122,107,99,57,100,34,63,62,32,60,120, -58,120,109,112,109,101,116,97,32,120,109,108,110,115,58,120,61,34,97,100,111,98,101,58,110,115,58,109,101,116,97,47,34,32,120,58,120,109,112,116,107,61,34,65,100,111,98,101,32,88,77,80,32,67,111,114,101,32,53,46,54,45,99,48,54,55,32,55,57,46,49,53,55, -55,52,55,44,32,50,48,49,53,47,48,51,47,51,48,45,50,51,58,52,48,58,52,50,32,32,32,32,32,32,32,32,34,62,32,60,114,100,102,58,82,68,70,32,120,109,108,110,115,58,114,100,102,61,34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,49,57,57, -57,47,48,50,47,50,50,45,114,100,102,45,115,121,110,116,97,120,45,110,115,35,34,62,32,60,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,32,114,100,102,58,97,98,111,117,116,61,34,34,32,120,109,108,110,115,58,120,109,112,77,77,61,34,104,116,116, -112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,109,109,47,34,32,120,109,108,110,115,58,115,116,82,101,102,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,115, -84,121,112,101,47,82,101,115,111,117,114,99,101,82,101,102,35,34,32,120,109,108,110,115,58,120,109,112,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,34,32,120,109,112,77,77,58,68,111,99,117,109, -101,110,116,73,68,61,34,120,109,112,46,100,105,100,58,67,49,65,67,65,55,67,68,55,66,48,54,49,49,69,53,66,51,49,53,69,69,54,51,67,65,56,68,70,50,56,48,34,32,120,109,112,77,77,58,73,110,115,116,97,110,99,101,73,68,61,34,120,109,112,46,105,105,100,58,67, -49,65,67,65,55,67,67,55,66,48,54,49,49,69,53,66,51,49,53,69,69,54,51,67,65,56,68,70,50,56,48,34,32,120,109,112,58,67,114,101,97,116,111,114,84,111,111,108,61,34,65,100,111,98,101,32,80,104,111,116,111,115,104,111,112,32,67,67,32,50,48,49,53,32,40,77, -97,99,105,110,116,111,115,104,41,34,62,32,60,120,109,112,77,77,58,68,101,114,105,118,101,100,70,114,111,109,32,115,116,82,101,102,58,105,110,115,116,97,110,99,101,73,68,61,34,120,109,112,46,105,105,100,58,53,52,53,66,70,48,70,51,55,66,48,54,49,49,69, -53,66,51,49,53,69,69,54,51,67,65,56,68,70,50,56,48,34,32,115,116,82,101,102,58,100,111,99,117,109,101,110,116,73,68,61,34,120,109,112,46,100,105,100,58,53,52,53,66,70,48,70,52,55,66,48,54,49,49,69,53,66,51,49,53,69,69,54,51,67,65,56,68,70,50,56,48,34, -47,62,32,60,47,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,62,32,60,47,114,100,102,58,82,68,70,62,32,60,47,120,58,120,109,112,109,101,116,97,62,32,60,63,120,112,97,99,107,101,116,32,101,110,100,61,34,114,34,63,62,138,110,239,84,0,0,155,155, -73,68,65,84,120,218,236,157,7,156,27,213,213,246,239,54,73,171,182,42,219,123,111,46,187,46,24,155,102,192,184,128,49,197,212,208,66,73,8,45,180,188,111,10,233,129,132,55,228,11,9,73,32,5,66,10,161,36,36,33,16,154,109,154,193,128,13,198,189,219,91,188, -189,87,73,91,189,254,238,185,187,50,11,24,240,222,153,145,70,210,243,207,79,217,181,141,70,163,153,185,247,60,231,220,115,206,141,58,124,248,48,3,0,0,0,64,100,17,141,75,0,0,0,0,64,0,0,0,0,0,0,2,0,0,0,0,0,16,0,0,0,0,0,128,0,0,0,0,0,0,4,0,0,0,0,0,32,0, -0,0,0,0,0,1,0,0,0,0,0,8,0,0,0,0,0,64,0,0,0,0,0,0,2,0,0,0,0,0,16,0,0,0,0,0,128,0,0,0,0,0,0,4,0,0,0,0,0,32,0,0,0,0,0,0,1,0,0,0,0,0,8,0,0,0,0,0,64,0,0,0,0,0,16,0,0,0,0,0,128,0,0,0,0,0,0,4,0,0,0,0,0,32,0,0,0,0,0,0,1,0,0,0,0,0,8,0,0,0,0,0,64,0,0,0,0,0,0,2, -0,0,0,0,0,16,0,0,0,0,0,128,0,0,0,0,0,0,4,0,0,0,0,0,212,38,54,152,31,62,60,60,140,59,0,192,231,112,248,240,225,35,63,39,255,206,255,159,191,162,142,250,158,152,152,24,241,242,255,247,19,255,97,212,164,113,127,180,55,142,242,215,216,196,191,141,77,254, -252,209,209,209,207,60,199,168,168,168,35,63,253,191,79,254,123,0,192,167,24,225,216,88,22,29,29,28,95,60,104,2,96,100,100,132,45,90,180,136,53,52,52,224,9,0,48,240,226,231,24,163,95,253,127,142,142,142,18,127,142,139,139,227,134,52,58,54,46,46,214,108, -48,24,19,248,127,225,48,26,77,9,38,147,209,201,255,221,21,19,19,157,96,179,217,28,252,119,254,111,204,206,95,54,147,201,20,111,48,24,76,252,88,102,210,3,252,69,63,253,179,140,133,29,61,250,231,155,16,1,100,181,7,232,119,110,191,7,14,29,26,27,244,122, -189,244,103,15,127,245,113,163,222,231,243,249,122,184,128,239,229,255,222,195,197,65,39,255,247,94,254,54,254,251,72,207,208,208,144,151,255,62,196,127,63,34,90,232,245,113,145,0,113,0,0,99,247,222,123,47,187,244,210,75,35,75,0,208,132,80,93,93,205, -154,154,154,240,4,0,192,13,55,55,218,73,220,107,79,179,90,109,153,177,177,49,153,241,241,150,116,62,76,178,205,102,51,253,61,189,156,92,12,88,248,216,177,68,11,151,129,140,40,119,213,199,14,179,158,158,222,143,28,172,167,167,71,213,147,251,184,177,158, -108,192,99,98,98,25,63,103,250,243,0,23,3,222,248,248,17,18,3,237,3,3,3,29,135,14,29,106,228,63,155,70,70,134,235,135,135,135,234,7,6,6,155,249,207,86,254,247,61,19,98,3,128,136,70,237,177,26,18,2,128,224,30,10,238,62,136,24,248,243,110,137,143,143,79, -229,206,121,174,197,98,46,228,63,139,140,70,99,1,255,187,44,110,207,211,249,191,59,185,225,52,145,231,255,209,200,192,199,67,255,186,133,162,14,241,92,8,36,242,243,44,112,56,28,31,17,15,19,223,131,219,254,67,189,92,40,180,12,14,14,52,140,140,140,28,240, -120,188,53,67,67,131,251,124,62,95,45,127,213,243,191,235,30,27,27,195,3,3,34,2,90,170,139,72,1,0,64,56,18,203,221,119,238,205,167,91,44,150,66,238,25,151,115,15,126,6,255,115,41,127,229,242,127,75,225,198,222,68,70,209,111,204,253,198,238,195,159,161, -251,221,39,139,21,110,232,143,58,223,241,239,239,226,66,193,197,175,71,57,255,243,146,228,228,40,255,247,31,227,194,160,99,104,104,232,32,9,2,46,12,118,249,124,222,29,3,3,36,14,188,117,252,239,125,120,186,0,128,0,0,64,47,234,61,138,123,240,153,54,155, -109,154,221,110,159,101,181,90,103,27,12,198,114,238,217,103,115,99,111,157,108,20,253,175,79,49,140,17,195,103,8,132,104,126,61,147,185,112,74,230,215,241,184,196,196,36,191,48,24,29,25,25,105,24,28,28,220,235,245,122,54,247,247,123,54,123,60,158,157, -62,159,143,34,7,16,5,0,64,0,0,160,61,220,107,165,132,187,18,110,160,230,38,36,56,230,153,205,241,149,220,224,23,196,196,196,90,41,210,237,55,242,180,46,255,121,153,243,224,179,35,8,147,231,41,78,46,191,238,185,9,9,9,75,39,68,193,33,126,125,235,188,94, -239,78,46,6,54,244,246,246,188,215,215,215,183,125,96,96,160,89,231,203,36,0,64,0,0,16,10,112,111,212,109,179,217,103,216,108,214,19,236,246,132,147,248,159,103,198,197,197,101,248,67,248,227,198,126,140,123,179,48,246,129,16,6,147,114,3,98,56,121,14, -135,35,207,233,116,158,157,149,149,69,149,69,61,67,67,131,187,184,32,88,223,211,211,243,118,111,111,239,7,94,175,239,32,215,10,184,128,0,64,0,0,240,217,24,141,70,51,55,244,51,29,142,132,83,248,207,133,220,235,156,67,235,246,126,35,52,110,236,97,80,244, -34,10,38,223,139,232,232,104,135,217,108,57,193,98,177,158,144,154,154,118,39,255,55,207,224,224,224,238,254,254,254,183,58,59,59,222,232,235,235,123,207,231,243,181,34,66,0,0,4,0,0,34,3,215,106,181,22,186,92,174,147,19,18,18,22,113,111,255,4,131,193, -144,231,247,240,201,224,35,148,31,90,81,130,73,88,227,227,227,143,179,88,44,199,165,166,166,222,57,58,58,210,229,243,13,108,236,238,238,126,165,171,171,235,245,190,190,222,109,35,35,35,232,70,6,32,0,0,136,20,12,6,163,137,123,248,149,220,232,47,113,58, -93,75,77,38,211,44,46,4,226,225,225,135,31,116,63,253,203,6,81,81,209,46,46,246,150,216,237,246,37,180,100,48,60,60,188,175,183,183,231,245,158,158,158,151,58,59,59,215,249,124,190,78,92,49,0,1,0,64,248,25,125,59,55,248,11,146,146,146,206,230,158,254, -18,163,209,88,76,94,190,223,64,192,203,143,156,8,129,95,16,196,197,197,21,39,39,167,20,167,164,164,126,101,100,100,164,181,175,175,239,109,46,8,254,219,209,209,249,106,127,127,95,61,150,10,0,4,0,0,33,138,217,108,118,184,221,137,39,39,38,38,158,207,61, -191,69,84,154,7,47,31,76,22,4,254,231,32,58,58,58,133,11,196,149,110,183,123,101,78,78,110,159,199,227,121,187,179,179,243,63,29,29,29,171,184,24,56,8,49,0,32,0,0,208,57,148,196,231,116,58,79,73,74,74,94,201,39,244,51,185,151,151,137,181,124,48,21,49, -192,177,219,108,182,51,19,18,18,206,204,201,201,233,247,122,61,235,184,24,120,186,181,181,245,101,46,12,154,113,181,0,4,0,0,58,129,18,249,184,209,159,159,150,150,126,145,195,225,88,193,69,64,17,140,254,39,219,6,79,254,243,199,255,237,104,189,254,63,237, -223,34,129,73,185,3,54,171,213,118,166,221,158,112,102,102,102,118,87,95,95,239,43,29,29,237,79,181,181,181,189,58,52,52,212,135,209,7,32,0,0,8,2,118,187,61,63,45,45,109,165,219,157,120,49,101,123,251,39,238,112,52,250,147,215,175,253,63,253,191,79,222, -39,96,124,147,158,104,177,147,32,253,238,223,102,212,191,61,240,199,127,159,108,240,252,215,205,191,253,239,209,62,115,252,179,198,55,33,242,111,8,68,159,241,241,159,225,36,28,252,215,154,95,83,23,231,98,183,219,125,113,110,110,222,193,158,158,158,103, -219,218,90,159,234,232,232,120,23,75,74,0,2,0,0,141,225,222,189,41,57,57,121,105,82,82,242,85,148,204,199,13,153,53,28,214,244,39,27,117,250,46,31,26,219,113,131,29,27,27,199,76,38,35,229,53,136,151,205,102,155,120,89,197,78,124,244,187,213,106,157,248, -247,120,198,5,17,191,86,38,254,50,176,184,56,122,197,138,99,208,49,233,119,218,98,120,114,20,128,62,111,120,120,248,200,185,112,239,86,252,221,192,192,32,255,125,144,13,14,14,49,159,207,199,255,236,99,30,143,151,191,60,172,175,175,143,245,247,247,31, -249,157,254,125,252,191,25,16,2,130,182,252,246,67,162,128,190,7,253,244,11,133,80,19,8,147,151,9,98,99,99,115,82,82,82,110,229,207,226,173,252,59,175,111,107,107,123,188,165,165,249,25,175,215,219,136,81,10,32,0,0,80,17,135,195,81,156,150,150,254,133, -196,196,196,47,112,17,80,226,159,140,67,205,219,247,27,120,255,203,111,28,249,119,18,70,156,118,208,227,30,38,75,78,78,98,92,228,176,148,148,100,241,103,151,203,205,236,246,113,67,79,70,94,111,59,105,210,125,32,195,79,98,128,94,93,93,93,172,179,179,147, -181,183,183,179,214,214,54,254,179,141,117,116,116,178,238,238,110,33,22,6,7,7,143,220,59,191,56,240,11,132,80,16,6,254,40,9,193,197,214,252,188,188,188,249,89,89,89,63,236,238,238,122,182,165,165,229,47,252,187,190,121,232,208,40,50,7,1,4,0,0,82,15, -103,108,108,12,247,176,206,72,77,77,187,142,123,251,203,185,129,48,135,138,209,159,156,131,64,231,76,127,38,3,103,177,88,184,81,79,225,6,62,153,101,101,101,178,204,76,122,101,177,212,212,84,110,228,157,66,0,144,119,30,130,247,234,72,84,226,179,174,73, -111,111,175,216,255,156,27,73,214,212,212,204,234,235,235,89,67,67,131,248,115,71,71,135,136,40,248,35,17,227,145,143,88,241,83,207,162,192,31,185,225,231,232,74,76,76,186,134,94,62,159,111,67,91,91,219,163,77,77,141,255,228,194,168,11,163,25,64,0,0, -112,12,112,143,202,157,145,145,113,9,247,128,175,227,6,115,118,40,120,251,135,14,141,239,7,48,50,66,231,120,88,120,232,100,204,201,176,231,228,228,176,252,252,60,254,202,103,252,123,177,196,196,68,225,197,71,26,100,196,233,154,208,43,55,55,247,19,17, -4,138,26,52,54,54,178,131,7,15,178,234,234,26,86,91,91,43,254,76,145,4,90,90,240,139,40,189,138,130,201,75,4,252,25,62,62,47,47,239,248,204,204,140,239,241,243,127,146,127,143,63,117,119,119,239,194,232,6,16,0,0,28,5,238,229,23,102,101,101,95,235,118, -187,175,162,13,119,244,154,208,55,89,144,140,142,30,226,6,41,134,18,18,89,122,122,58,43,44,44,96,37,37,37,172,184,184,88,120,247,46,151,11,55,246,24,35,8,20,21,161,215,172,89,179,142,252,61,45,39,52,53,53,113,65,80,205,246,238,221,199,14,28,216,207,234, -234,234,133,40,160,72,1,137,0,138,152,208,251,245,36,8,62,76,28,140,201,72,73,73,253,159,228,228,148,91,122,123,123,159,107,104,168,255,93,71,71,231,235,216,60,10,64,0,0,192,73,74,74,154,151,157,157,125,163,221,158,112,33,37,245,233,205,219,247,27,124, -74,106,163,159,6,131,145,123,241,110,225,213,151,151,79,99,101,101,165,172,160,160,64,132,246,253,25,240,64,29,40,177,145,196,20,189,150,45,91,38,254,174,167,167,151,139,128,131,108,247,238,61,108,231,206,29,108,255,254,3,172,185,185,153,121,189,94,221, -9,130,73,81,1,147,195,225,184,216,233,116,94,204,207,243,245,250,250,250,135,90,91,91,159,29,25,25,30,193,93,6,16,0,32,162,136,137,137,229,134,63,113,81,122,122,198,173,180,157,43,255,171,104,61,25,126,242,222,200,224,211,139,12,10,23,41,194,187,159, -49,99,6,127,205,228,6,63,95,132,178,65,224,113,56,18,248,107,38,155,57,115,38,255,211,197,162,98,161,174,174,142,11,130,221,108,243,230,45,108,207,158,61,34,106,64,203,6,36,200,252,130,32,216,76,90,30,56,173,180,180,244,180,220,220,220,45,45,45,205,15, -54,52,52,60,57,56,56,232,197,157,5,129,38,42,88,45,46,41,124,71,161,82,90,231,3,145,100,248,99,88,90,90,58,237,223,126,155,197,98,57,227,227,91,186,6,19,18,31,254,4,180,132,132,4,177,102,95,89,89,201,102,205,170,20,30,40,23,42,184,129,33,0,9,2,90,50, -216,186,117,43,219,180,105,51,219,187,119,47,107,107,107,23,57,26,36,6,232,165,135,232,0,157,3,141,7,126,190,251,154,155,73,8,212,255,133,11,129,94,220,193,200,226,15,127,248,3,251,242,151,191,12,1,0,194,223,240,103,102,102,254,143,213,106,93,56,121, -151,182,96,65,207,190,223,203,39,15,49,45,45,149,77,159,62,131,205,155,119,28,171,168,168,16,107,248,32,244,161,170,3,138,14,108,216,240,30,219,188,121,179,152,115,40,58,64,247,156,146,53,131,189,108,51,73,8,212,52,55,55,253,174,161,161,225,17,46,4,80, -57,0,1,160,57,88,2,0,129,50,252,95,227,134,255,212,96,39,246,145,209,31,30,38,163,63,204,76,38,19,203,203,203,99,115,231,206,97,243,231,47,224,198,127,154,88,115,6,225,5,45,213,44,88,176,64,188,232,217,59,112,160,138,189,255,254,251,108,253,250,245,34, -58,64,125,9,252,189,24,130,33,6,252,61,5,184,32,201,203,205,205,251,41,31,47,55,115,33,240,192,132,16,64,187,97,128,8,0,8,45,104,34,205,200,200,88,156,153,153,245,13,139,197,178,40,152,30,191,223,211,39,195,31,31,111,18,9,123,199,31,63,143,157,112,194, -137,34,129,47,20,235,238,129,58,80,201,225,198,141,31,176,183,222,122,139,237,218,181,75,68,11,72,180,6,51,50,48,41,34,80,205,133,192,47,184,16,120,148,11,1,31,238,22,34,0,136,0,0,221,147,148,148,180,32,39,39,247,91,180,49,79,48,61,254,113,163,63,44, -12,60,173,231,47,88,48,159,157,114,202,41,172,188,188,28,217,250,64,64,61,26,232,117,193,5,43,69,67,162,245,235,55,176,181,107,215,10,49,64,145,1,122,118,72,12,4,50,103,96,82,68,32,63,55,55,239,215,233,233,233,55,28,60,88,119,31,63,191,191,29,58,52,58, -134,187,6,16,1,0,186,195,233,116,150,230,231,23,144,225,191,156,255,49,38,24,201,125,36,56,168,205,44,77,216,212,116,135,194,190,167,157,118,170,200,24,135,167,15,142,149,154,154,26,246,230,155,111,241,215,90,182,111,223,126,145,88,72,66,32,24,207,144, -63,34,224,241,120,214,55,54,54,220,211,212,212,244,2,54,31,66,4,0,17,0,160,11,172,86,107,74,94,94,222,215,18,19,147,110,226,158,181,37,208,147,211,135,33,254,97,145,169,79,70,127,241,226,51,216,188,121,243,62,179,53,45,0,159,6,229,134,208,235,202,43, -175,96,219,183,111,103,175,189,246,26,91,183,238,109,17,37,32,131,28,200,124,1,127,68,192,108,54,207,47,41,41,125,62,45,45,253,121,46,80,238,110,111,111,123,15,119,10,32,2,0,130,2,247,136,12,57,57,185,215,167,167,167,127,131,123,70,153,212,21,143,218, -224,6,10,18,26,228,153,145,119,84,84,84,36,140,254,194,133,167,138,30,251,0,168,77,127,191,135,189,243,206,59,108,245,234,213,162,154,128,246,45,32,33,16,232,168,192,196,86,206,35,92,0,252,145,207,159,247,246,245,245,213,225,238,32,2,128,8,0,8,140,106, -20,225,245,204,179,178,179,179,127,104,54,91,230,82,125,117,32,215,249,73,60,210,139,218,236,158,118,218,105,236,204,51,151,177,185,115,231,234,162,217,11,8,95,104,235,229,165,75,151,136,87,85,85,149,16,2,175,189,246,186,104,66,228,175,34,8,68,174,192, -68,132,45,46,57,57,229,6,183,219,189,178,161,161,241,103,245,245,117,191,25,164,181,47,0,16,1,0,90,225,112,56,75,10,11,11,126,192,127,94,26,200,204,254,201,123,212,83,104,118,201,146,197,252,181,148,101,102,102,224,166,128,160,65,123,21,172,91,183,142, -61,255,252,11,162,241,16,61,163,84,94,58,225,165,7,68,140,83,87,205,193,193,129,205,124,46,253,94,67,67,253,243,184,43,136,0,32,2,0,84,133,79,106,230,220,220,188,219,211,211,211,191,206,39,157,132,64,121,252,100,240,7,6,6,153,193,16,199,230,204,153,195, -206,57,103,5,59,249,228,147,169,157,42,110,10,8,58,212,55,130,246,40,160,23,9,128,231,158,251,175,40,41,236,238,238,22,66,64,235,168,212,120,126,192,8,45,199,205,42,45,45,253,111,74,74,202,83,85,85,7,190,215,211,211,179,31,119,7,64,0,0,197,164,165,165, -47,45,40,40,248,41,159,208,42,2,101,248,41,204,73,17,77,74,226,91,182,108,9,59,255,252,243,63,178,75,92,56,50,46,118,6,196,218,114,111,95,191,168,73,239,237,233,229,191,247,137,206,117,116,237,77,70,19,179,219,109,44,37,53,133,229,228,100,179,148,228, -228,160,159,115,103,87,55,107,111,239,96,189,189,125,227,81,154,195,99,194,3,166,158,11,22,179,153,89,44,22,177,253,177,197,28,47,194,228,225,186,84,67,221,35,233,85,95,223,192,94,124,241,5,246,242,203,171,68,210,32,85,15,208,75,235,251,64,47,135,195, -113,233,236,217,115,150,54,54,54,252,164,186,186,250,87,35,212,241,10,128,79,1,75,0,224,179,188,155,244,194,194,162,123,18,19,19,175,9,84,184,159,140,28,25,126,218,109,239,140,51,22,179,243,206,59,87,52,238,9,55,67,79,9,101,228,37,118,118,118,177,246, -142,118,241,147,140,125,191,199,35,190,63,85,53,208,127,71,195,147,194,188,227,175,113,143,207,63,102,201,152,102,103,103,177,227,231,29,199,202,203,203,2,250,29,68,71,189,170,106,86,85,93,35,118,231,243,87,126,76,94,3,63,50,183,80,152,122,98,83,30,58, -103,18,5,86,171,69,8,25,218,70,217,198,189,104,51,23,7,225,86,166,217,219,219,43,68,192,115,207,61,43,118,44,36,225,67,223,95,243,73,125,162,108,144,139,198,13,213,213,85,95,111,105,105,121,19,179,153,126,193,94,0,64,87,80,66,83,110,110,222,23,179,179, -179,127,204,39,146,140,64,148,245,249,13,127,106,106,42,91,190,124,57,59,247,220,21,20,121,8,249,107,73,223,139,12,1,109,70,211,220,210,194,90,91,219,132,177,167,38,51,244,125,233,223,105,4,70,243,73,155,174,59,189,252,6,255,243,240,151,63,18,212,209, -112,249,89,103,50,167,83,251,29,10,155,154,91,216,166,77,91,132,231,31,19,19,125,204,235,221,126,241,50,54,70,63,199,38,140,21,9,131,88,17,46,183,90,44,98,167,63,167,195,193,18,248,79,18,6,70,163,33,228,159,1,186,207,175,190,250,42,251,231,63,255,37, -246,36,160,123,75,223,55,16,227,152,127,214,33,46,0,126,85,83,83,125,55,23,4,221,152,221,32,0,32,0,192,167,146,144,144,80,88,92,92,252,255,18,18,28,231,146,225,215,250,249,32,3,70,97,99,218,120,231,156,115,206,97,43,86,156,205,189,255,196,144,189,126, -228,217,183,182,181,137,237,104,155,154,154,133,225,39,1,48,56,56,158,192,24,29,253,161,161,87,179,142,156,140,140,203,229,100,23,95,116,161,88,26,208,138,157,187,118,179,45,91,183,139,231,66,173,68,183,163,9,3,242,150,201,72,82,230,189,203,233,100,137, -110,151,232,241,64,145,131,80,237,226,72,98,239,141,55,222,96,79,61,245,119,182,125,251,14,241,44,4,66,8,208,181,228,243,237,222,234,234,234,255,109,104,168,255,47,102,57,8,0,8,0,112,52,175,255,198,236,236,156,123,184,87,231,210,218,235,247,123,252,212, -173,239,188,243,206,227,30,255,57,33,185,221,46,25,119,242,136,235,14,214,177,134,134,70,214,222,209,193,188,94,47,163,158,8,126,99,79,134,50,16,229,97,36,166,76,166,120,118,245,23,175,208,164,58,98,27,55,90,100,252,201,160,4,226,251,140,47,59,141,139, -2,250,60,90,34,160,164,59,55,23,58,73,92,36,186,185,40,72,72,176,135,156,32,160,239,69,141,133,72,8,236,216,177,227,72,9,161,166,19,253,196,178,64,71,71,199,239,246,237,219,251,29,159,207,215,137,89,15,2,0,2,0,8,175,191,168,168,248,151,14,135,99,185, -214,94,63,29,159,18,221,82,82,82,184,209,63,151,93,120,225,5,33,101,248,41,25,175,177,177,137,213,240,231,182,238,96,61,107,107,111,23,127,119,232,208,216,145,112,120,48,13,18,109,120,68,134,241,250,47,95,39,188,101,181,56,80,85,195,222,121,119,125,192, -140,255,167,69,10,38,231,162,144,32,160,101,2,250,190,41,41,201,34,111,196,30,66,157,31,105,44,208,210,192,19,79,60,201,118,237,218,45,150,66,180,78,22,156,136,6,236,175,174,174,190,19,37,131,16,0,16,0,17,239,245,231,94,155,147,147,251,83,254,123,162, -150,94,191,63,195,157,182,102,93,177,98,5,187,248,226,139,132,8,208,59,52,62,218,218,218,88,77,77,173,72,120,107,108,106,98,253,189,253,108,148,95,43,61,24,252,163,65,145,149,121,243,142,99,231,159,119,142,42,199,163,101,141,151,94,94,205,70,70,71,117, -245,93,253,203,6,99,99,244,220,70,137,124,1,71,130,93,136,1,202,37,161,72,65,40,36,22,146,104,123,249,229,151,217,147,79,62,201,14,28,56,160,121,249,224,164,104,192,131,251,246,237,253,54,23,176,189,152,13,35,83,0,160,12,48,66,177,88,44,105,165,165,165, -247,187,92,238,75,41,28,175,149,241,167,73,154,12,63,77,106,20,234,191,252,242,203,53,93,163,86,3,10,165,147,151,191,111,255,126,86,197,61,95,18,0,180,134,79,33,125,154,152,99,227,198,95,122,133,194,201,91,182,108,101,243,142,155,203,50,50,148,39,82, -110,221,190,131,13,14,13,233,206,152,142,27,178,40,33,196,252,30,117,123,71,39,107,109,107,103,59,118,238,17,17,144,228,164,68,150,158,158,38,202,37,169,44,81,143,80,143,11,234,111,113,198,25,139,216,51,207,60,195,254,241,143,167,69,14,9,245,186,208, -162,161,144,127,111,129,196,196,196,155,109,54,219,194,125,251,246,221,220,218,138,74,129,72,4,2,32,2,201,202,202,94,158,151,151,255,96,92,92,108,142,63,139,92,11,40,185,143,38,27,106,220,115,245,213,87,179,233,211,167,233,246,154,208,185,214,213,55, -176,61,187,247,176,234,154,26,238,29,117,137,6,43,100,240,105,18,54,153,140,33,115,127,201,48,14,13,13,179,13,239,189,207,86,158,127,174,162,99,81,137,31,93,151,80,168,221,247,123,182,126,163,73,185,24,7,250,250,68,228,134,140,105,18,23,3,25,92,12,164, -165,165,138,82,68,189,65,189,18,72,32,47,93,186,148,61,245,212,83,236,63,255,121,86,84,139,208,223,107,177,236,66,34,128,139,186,233,51,102,204,120,213,233,116,222,93,85,117,224,199,124,62,192,54,131,16,0,32,28,225,131,221,88,82,82,122,79,106,106,234, -255,144,183,164,149,215,79,19,11,25,212,242,242,114,118,237,181,215,176,83,78,57,69,151,215,99,116,100,148,29,172,171,99,187,118,239,102,7,14,84,139,242,60,10,39,11,47,63,54,70,188,66,248,94,243,239,84,37,162,47,74,186,38,214,30,172,19,17,17,67,8,214, -232,79,174,180,160,37,199,186,186,122,118,144,127,31,191,24,200,206,202,20,98,32,222,164,175,200,0,85,193,220,114,203,45,236,204,51,207,100,127,250,211,159,217,235,175,191,46,150,208,180,168,24,152,200,169,136,205,204,204,252,161,195,225,88,184,123,247, -174,27,122,123,123,209,69,16,2,0,132,19,110,183,123,90,113,113,201,31,44,22,203,9,90,117,243,163,201,132,18,226,104,109,159,60,153,149,43,207,15,72,227,147,169,66,225,253,157,187,118,177,61,123,246,177,246,246,118,33,132,200,232,199,137,176,126,120,12, -9,10,139,147,247,72,223,181,176,80,174,145,18,69,111,168,119,65,76,136,150,221,125,60,58,224,143,98,144,160,161,110,125,117,117,13,162,1,81,26,117,85,204,206,18,221,21,227,116,20,233,160,6,88,247,220,115,55,91,191,126,61,123,248,225,71,216,182,109,219, -52,203,15,24,223,110,216,114,250,236,217,115,222,169,169,169,185,181,182,182,230,73,204,154,16,0,32,12,200,203,203,187,50,47,47,255,87,124,18,116,104,101,252,41,241,140,38,166,149,43,87,178,107,174,185,134,165,166,234,43,193,143,202,245,118,239,222,195, -182,239,216,41,140,34,133,200,199,189,252,216,176,109,77,75,149,9,100,192,101,5,128,79,180,37,246,132,108,221,253,177,136,1,122,14,104,137,160,186,166,86,116,37,204,204,76,103,185,57,217,204,237,114,233,230,124,231,207,159,47,246,193,120,230,153,255, -176,191,254,245,175,172,181,181,85,180,87,86,123,89,128,162,95,252,152,137,133,133,133,79,36,36,216,23,236,217,179,231,27,67,67,67,3,152,65,33,0,64,8,98,52,154,204,165,165,165,63,75,74,74,186,137,188,92,45,90,249,250,195,253,212,3,253,134,27,110,224, -19,213,108,253,24,64,254,125,171,171,170,217,150,173,219,68,118,117,31,55,102,228,205,142,55,153,49,134,253,253,39,251,64,251,9,200,226,245,120,133,183,28,110,2,96,50,227,189,26,198,151,55,104,103,191,157,59,119,179,189,123,247,139,62,3,121,121,57,44, -51,35,67,23,207,10,45,233,80,229,204,41,167,156,204,30,125,244,79,236,197,23,95,20,145,43,181,151,5,252,9,130,73,73,201,95,181,88,172,115,185,8,248,82,87,87,231,46,204,166,16,0,32,132,112,187,221,220,246,151,61,26,31,31,191,64,11,175,159,38,10,10,247, -243,207,97,55,221,116,35,187,232,162,139,116,227,73,211,166,52,59,118,238,100,91,185,225,167,38,61,99,124,162,164,9,212,100,52,70,212,51,64,30,226,224,192,144,244,251,7,135,252,221,11,163,35,226,122,249,115,6,232,217,110,105,109,19,209,19,170,36,200, -202,204,100,5,249,121,162,211,98,176,161,242,198,187,238,250,22,91,180,104,17,251,221,239,126,203,118,236,216,169,73,181,128,216,120,202,100,90,80,89,89,249,102,117,117,213,205,181,181,181,127,199,172,10,1,0,66,128,172,172,236,243,11,10,10,126,31,29, -29,147,164,133,241,167,132,42,242,62,22,47,62,131,123,253,55,242,207,203,212,197,247,166,78,124,31,124,176,137,237,222,179,135,139,128,126,17,226,23,107,186,177,120,204,101,141,64,144,218,132,4,93,56,141,39,128,198,136,173,168,119,239,217,43,54,62,74, -73,78,98,5,5,249,44,51,35,93,147,242,188,169,112,252,241,243,88,69,197,76,209,68,232,241,199,31,23,209,11,179,202,149,13,36,254,248,181,112,23,20,20,62,101,177,88,103,237,219,183,247,174,145,145,145,49,140,12,8,0,160,67,104,82,42,46,46,254,65,70,70,230, -247,199,67,254,234,102,249,147,103,68,165,85,89,89,89,220,240,127,133,45,89,178,36,232,223,153,190,231,158,189,251,216,198,141,31,176,234,234,26,17,178,22,222,190,201,136,7,2,168,26,21,104,108,106,22,47,218,112,137,34,2,121,185,57,1,233,229,255,105,208, -103,83,149,205,201,39,159,196,126,253,235,223,136,100,65,181,183,91,166,239,77,99,44,45,45,237,27,86,171,117,230,206,157,59,174,227,98,163,25,79,6,4,0,208,17,38,83,188,107,230,204,153,127,176,219,19,46,160,250,117,45,188,126,154,12,104,123,94,90,235, -167,208,127,48,161,164,67,234,77,79,134,159,146,250,8,255,118,179,0,104,19,21,24,159,46,169,55,194,251,27,55,137,200,64,110,78,14,43,42,204,103,182,32,182,32,46,42,42,98,15,60,240,75,246,244,211,255,100,143,60,242,136,72,120,85,59,26,64,209,32,46,0,206, -156,51,103,238,218,93,187,118,125,177,189,189,237,93,60,21,16,0,64,7,184,92,238,105,101,101,101,79,112,143,96,166,218,198,223,239,245,103,103,103,179,91,111,253,42,91,184,112,97,80,191,171,199,227,101,155,54,109,102,31,108,218,196,218,219,59,68,212,67, -235,254,233,0,76,198,223,108,136,150,7,118,236,220,197,14,84,85,137,241,81,82,84,24,144,237,152,63,77,160,80,146,224,113,199,205,229,98,224,87,236,157,119,222,161,36,96,85,123,89,80,36,32,58,58,166,136,59,26,107,14,28,216,127,227,193,131,7,31,195,211, -0,1,0,130,72,86,86,246,217,133,133,133,127,162,242,29,181,27,251,80,56,157,148,63,181,41,189,233,166,155,130,234,245,247,247,247,115,175,235,3,238,241,111,98,221,221,61,162,102,31,222,62,8,38,254,229,1,218,249,113,223,190,253,98,191,136,236,172,44,86, -90,90,20,180,50,194,188,188,60,246,139,95,220,207,254,241,143,127,176,71,30,249,163,24,55,74,26,65,125,210,33,160,198,65,81,150,162,162,226,191,90,173,214,210,61,123,246,126,251,208,161,81,60,12,16,0,32,208,138,159,15,194,219,178,178,178,238,31,27,27, -139,86,187,196,143,188,126,106,232,115,203,45,55,139,214,164,193,51,252,30,182,126,195,6,238,245,111,17,161,87,50,252,88,223,7,122,27,139,180,252,68,209,178,170,234,106,118,176,174,158,101,101,166,179,242,242,210,160,8,1,58,159,75,46,185,132,205,158, -61,155,221,127,255,47,184,104,222,40,150,4,212,170,230,240,151,10,166,165,165,223,101,54,91,10,182,109,219,122,253,208,208,80,31,158,4,8,0,16,0,12,6,67,76,73,73,233,253,169,169,169,183,170,221,203,223,191,93,47,181,239,189,243,206,59,85,217,76,70,86, -128,108,216,240,62,219,248,193,7,19,30,191,1,134,31,132,140,16,168,169,61,200,26,26,155,88,118,118,38,43,47,45,13,202,210,0,229,6,252,234,87,15,136,118,194,143,61,246,152,136,232,169,25,53,35,17,96,183,219,47,153,61,123,78,238,238,221,187,46,237,233, -233,169,197,83,0,1,0,52,132,15,224,132,138,138,202,63,39,36,36,156,167,182,241,167,196,58,202,44,190,237,182,219,216,21,87,92,30,148,239,71,77,133,40,212,191,126,253,123,172,179,179,115,34,163,223,132,27,15,66,51,34,80,85,195,234,235,26,89,110,94,14, -155,86,86,202,108,54,107,64,207,133,206,227,250,235,191,204,102,205,170,100,63,251,217,255,99,53,53,53,170,118,17,36,135,193,108,54,31,63,115,102,197,235,59,119,238,188,180,179,179,99,3,158,128,208,33,26,151,32,116,112,56,28,217,115,230,204,93,101,179, -217,84,53,254,52,81,81,29,113,126,126,190,200,38,14,134,241,167,37,140,15,62,216,204,126,247,251,135,217,11,47,188,36,250,216,147,225,15,118,189,53,0,74,133,192,216,225,49,145,35,240,210,170,53,108,243,150,109,66,104,7,154,227,142,59,142,253,254,247, -191,19,27,12,81,3,47,53,243,133,38,246,210,200,173,172,172,92,157,153,153,117,46,238,60,34,0,64,101,92,46,87,229,244,233,51,254,197,39,148,124,53,7,175,191,149,239,138,21,43,216,237,183,223,206,236,246,192,151,51,209,228,248,198,218,55,89,109,237,193, -137,173,119,225,241,131,240,19,2,52,214,182,109,223,41,150,7,202,203,74,88,81,97,65,64,5,174,211,233,100,63,250,209,15,217,140,25,51,216,67,15,61,116,36,226,167,150,128,231,223,211,94,92,92,242,47,163,209,112,115,85,85,245,239,185,107,129,155,15,1,0, -148,194,85,245,25,197,197,197,180,59,151,170,153,254,52,1,80,134,48,133,252,47,188,240,130,128,127,175,150,150,86,246,250,27,111,176,93,187,246,136,40,4,178,250,65,184,11,1,131,33,78,228,216,188,247,62,53,174,170,229,198,120,26,203,202,204,8,232,121, -92,116,209,133,172,180,180,132,253,223,255,253,148,139,239,125,84,223,175,202,113,15,139,182,145,99,49,249,249,5,191,51,24,140,41,187,119,239,250,17,238,186,190,193,18,128,254,141,255,197,37,37,37,207,242,193,149,168,102,166,63,37,217,229,230,230,138, -144,127,160,141,63,133,32,87,175,126,133,253,225,225,71,217,118,238,17,145,23,20,23,130,251,205,3,32,53,233,70,71,139,231,189,171,187,155,189,241,230,58,241,234,86,176,105,147,12,20,5,120,240,193,7,217,178,101,75,197,92,160,214,220,66,34,128,150,39,51, -50,50,126,56,115,102,197,175,13,6,67,20,238,56,34,0,64,130,194,194,162,235,115,114,114,126,75,101,126,135,85,106,202,78,3,157,12,240,25,103,156,193,190,254,245,255,21,97,193,64,178,101,203,86,246,218,235,107,89,123,123,187,104,224,3,175,31,68,42,254, -240,127,93,93,189,136,134,149,22,23,177,242,242,50,17,37,8,4,14,71,2,187,251,238,187,169,156,152,61,252,240,195,98,137,66,173,166,90,116,172,148,148,148,91,248,248,118,110,221,186,229,186,225,225,225,33,220,113,8,0,112,140,148,149,149,255,111,102,102, -230,125,227,27,178,168,99,252,73,153,147,0,248,202,87,174,103,215,93,119,157,234,251,137,127,22,52,193,173,94,243,10,219,179,103,31,159,248,162,177,206,15,192,4,34,81,144,143,203,173,219,119,178,186,134,6,86,57,115,6,203,206,206,10,216,231,95,117,213, -149,172,160,160,128,221,123,239,189,66,152,171,213,70,152,230,155,132,132,132,203,43,42,42,237,92,4,92,206,69,64,63,238,182,190,192,18,128,62,141,255,221,25,25,153,247,209,0,82,203,248,211,122,63,149,255,220,115,207,221,236,75,95,250,82,192,140,63,125, -135,215,94,123,131,61,252,200,163,220,248,239,229,30,191,65,55,219,6,3,160,23,252,249,1,125,125,253,108,237,91,111,179,55,215,189,35,154,96,5,138,19,79,60,129,61,244,208,131,98,105,128,42,130,212,130,28,24,46,2,86,112,17,240,44,23,22,110,220,105,8,0, -240,217,198,255,126,238,249,127,71,205,158,254,254,245,126,106,10,114,250,233,167,7,236,187,84,85,85,179,135,31,126,148,173,121,229,85,49,17,32,220,15,192,103,67,203,2,36,144,169,34,230,229,213,175,176,189,251,246,7,236,179,105,63,3,154,35,150,47,63, -75,136,0,181,242,2,38,26,6,157,54,103,206,220,23,184,24,72,198,93,134,0,0,31,131,194,128,211,166,77,127,32,35,35,227,14,181,106,252,41,122,64,189,192,79,60,241,68,246,224,131,191,97,37,37,37,1,249,46,148,229,76,181,252,127,249,235,223,88,83,115,179,8, -247,171,213,134,20,128,72,153,15,104,7,206,13,239,109,100,175,188,182,86,116,195,12,4,20,254,255,193,15,126,32,182,251,166,207,39,227,173,6,84,189,196,191,211,241,51,103,86,174,226,34,32,19,119,88,31,32,22,171,3,40,83,182,162,162,242,97,135,195,113,157, -90,198,159,212,59,25,226,139,47,190,152,221,113,199,237,1,203,178,223,183,255,0,123,233,165,85,172,165,165,69,120,252,104,228,3,128,164,119,54,177,217,80,83,83,179,232,138,57,99,122,57,43,43,45,101,129,88,189,163,28,33,238,140,176,251,238,251,217,145, -126,1,74,151,35,105,78,138,139,139,173,228,115,221,139,91,183,110,57,171,183,183,183,1,119,25,17,0,24,127,110,252,185,42,86,205,248,147,106,167,99,221,122,235,173,34,211,63,16,198,159,154,9,189,240,226,203,236,177,199,30,103,29,29,29,98,194,8,100,146, -33,0,225,27,13,136,21,30,244,198,15,54,179,87,95,127,131,245,246,6,102,223,157,101,203,150,177,159,255,252,231,44,41,41,73,84,14,169,229,152,240,249,104,198,204,153,21,47,34,18,0,1,16,233,198,159,249,141,191,26,161,54,50,184,67,67,195,194,224,83,24,47, -80,45,125,105,189,242,225,71,254,196,214,173,123,251,200,26,38,0,64,61,252,221,4,155,154,90,216,170,53,175,138,72,91,32,160,61,4,126,253,235,95,177,226,226,34,145,75,164,6,36,102,248,220,55,131,34,1,118,59,68,0,4,64,4,66,70,178,162,162,226,17,53,141, -191,207,55,192,92,46,39,251,217,207,238,99,75,150,44,214,252,59,144,154,127,253,141,181,236,207,127,121,76,132,252,225,245,3,160,125,52,128,162,123,235,55,188,207,222,124,235,109,49,230,181,134,146,3,31,120,224,1,54,127,254,124,145,83,164,150,8,224,115, -224,140,202,202,10,136,0,8,128,200,163,164,164,228,87,14,135,243,58,181,146,108,72,157,231,228,100,179,95,254,242,151,108,206,156,57,154,159,63,173,73,254,245,175,143,139,142,126,180,54,136,78,126,0,4,104,210,158,232,36,88,123,176,78,68,3,104,219,97, -173,161,134,97,228,88,80,133,0,149,39,170,81,158,76,14,68,108,108,220,12,238,8,209,114,64,10,238,44,4,64,68,64,165,126,105,105,233,95,85,107,205,159,140,255,244,233,211,68,9,79,97,97,129,230,231,191,125,199,78,17,242,223,183,127,63,50,252,1,8,90,52,32, -78,140,253,181,111,174,19,187,12,170,217,42,252,104,80,82,47,45,45,94,118,217,23,68,78,128,26,159,247,97,78,64,229,115,118,187,61,9,119,21,2,32,108,161,240,56,55,254,63,202,204,204,188,67,45,207,159,234,117,41,52,119,255,253,247,83,235,77,77,207,159, -206,249,197,151,94,102,127,255,251,211,98,2,64,93,63,0,193,133,114,110,104,94,161,93,6,169,197,182,214,205,131,232,179,238,188,243,14,118,253,245,215,139,234,0,181,68,128,193,16,55,175,188,124,218,191,12,6,131,29,119,21,2,32,44,141,127,105,105,25,181, -247,253,174,90,158,63,173,199,45,90,180,136,221,119,223,79,169,219,150,166,231,223,209,217,201,254,252,231,199,216,91,111,189,45,242,23,80,222,7,128,126,230,22,234,34,216,212,210,42,150,4,234,27,26,53,255,204,47,125,233,58,118,199,29,119,136,94,1,106, -236,80,74,199,176,90,173,39,87,84,84,252,131,139,128,120,220,85,8,128,176,162,160,160,240,122,234,237,175,134,241,167,245,55,242,252,87,172,56,91,180,246,213,186,175,254,238,221,123,216,35,127,252,19,171,174,169,69,162,31,0,58,37,142,11,243,193,193,33, -182,246,205,183,217,214,109,59,52,255,188,75,47,189,132,125,235,91,223,20,30,188,26,17,205,241,182,193,142,165,21,21,149,127,225,34,0,30,6,4,64,120,144,153,153,117,17,237,234,167,198,32,241,27,255,149,43,87,178,239,126,247,123,154,151,220,189,177,246, -77,246,196,147,127,103,94,143,79,244,241,7,0,232,23,218,104,43,58,58,138,109,217,186,93,108,51,76,253,57,180,228,156,115,206,97,223,249,206,119,68,30,144,26,206,205,196,222,1,23,77,159,62,253,33,220,77,8,128,48,48,254,153,167,151,148,148,252,69,141,45, -125,233,253,148,244,115,249,229,151,179,111,126,243,27,98,160,107,201,75,47,175,98,171,86,173,17,131,59,54,22,130,28,128,80,192,191,36,112,176,174,158,189,250,218,90,205,75,5,151,45,91,202,126,240,131,239,139,101,65,181,68,128,203,229,190,190,172,172, -252,199,136,54,66,0,132,44,78,167,171,162,184,184,228,31,220,248,199,171,105,252,169,181,175,214,3,99,237,218,183,248,107,157,72,244,67,150,63,0,161,135,33,46,78,228,238,172,125,107,29,27,30,25,209,244,179,78,59,237,52,213,69,0,119,158,238,42,41,41,189, -21,119,18,2,32,228,112,56,28,89,51,102,204,252,55,255,213,173,166,241,191,253,246,219,52,63,247,234,234,26,246,234,171,175,51,147,201,136,245,126,0,66,24,42,21,108,107,107,23,109,132,181,70,109,17,64,199,224,34,224,151,89,89,89,23,225,78,66,0,132,12, -220,107,182,83,73,75,92,92,108,190,210,50,153,64,27,127,202,198,93,181,250,21,54,118,120,12,198,31,128,112,136,4,24,12,98,107,238,134,0,84,7,124,84,4,40,207,121,226,243,81,84,73,73,233,159,211,211,211,79,198,157,132,0,208,61,252,193,143,169,168,168,124, -204,108,54,31,167,180,60,230,67,227,127,89,64,140,63,177,107,215,110,86,95,95,143,206,126,0,132,17,36,230,183,239,220,173,121,179,160,143,138,128,104,197,213,1,52,7,242,115,54,23,21,21,255,195,225,112,20,225,78,66,0,232,122,144,149,149,149,221,111,183, -219,207,81,35,227,159,140,63,101,251,223,126,251,237,1,251,14,155,54,111,129,231,15,64,248,57,38,162,125,55,45,7,4,2,18,1,223,253,238,119,132,224,80,234,8,209,49,248,249,167,206,156,89,241,175,248,248,120,39,238,38,4,128,46,41,44,44,186,45,45,45,253, -86,53,140,63,53,249,57,251,236,229,34,219,63,80,244,245,245,177,198,198,38,236,230,7,64,24,66,134,52,16,77,130,252,156,113,198,25,236,174,187,190,37,162,0,106,136,0,106,25,60,99,198,204,191,197,209,142,72,0,2,64,79,100,101,101,45,207,206,206,254,185, -26,201,47,84,231,63,62,120,238,10,168,55,222,210,210,202,188,94,31,178,254,1,8,199,201,158,143,235,206,206,46,85,54,242,57,86,150,47,95,46,90,7,83,199,64,165,203,15,36,34,236,118,251,89,165,165,165,247,99,142,130,0,208,13,46,151,171,140,123,255,84,235, -175,184,88,222,227,241,178,5,11,22,176,239,127,255,251,1,95,135,239,236,162,201,97,12,55,20,128,48,36,42,42,154,249,6,6,52,47,9,252,56,23,94,120,33,187,241,198,27,216,0,255,108,165,226,131,162,9,169,169,105,95,205,207,47,184,17,119,20,2,32,232,208,154, -84,89,89,249,223,185,167,174,184,220,143,54,216,153,49,99,6,187,251,238,31,241,227,154,2,254,93,104,128,2,0,194,85,0,48,85,194,241,50,124,241,139,95,100,87,94,121,165,200,107,82,10,69,89,115,114,114,30,72,75,75,59,29,119,21,2,32,104,80,98,205,140,25, -51,255,104,50,153,102,40,9,111,81,152,159,118,214,202,205,205,97,247,222,251,19,205,55,246,249,52,2,25,26,4,0,68,22,95,253,234,45,236,220,115,207,21,249,77,74,225,243,109,92,113,113,201,227,118,123,66,46,174,44,4,64,80,40,42,42,254,1,55,214,231,43,85, -212,100,252,93,46,23,251,201,79,126,194,82,82,146,131,246,125,168,94,24,0,16,158,144,192,39,167,37,38,58,120,109,189,191,241,141,175,179,83,79,61,85,228,57,41,253,46,177,177,177,169,211,166,149,63,110,52,26,77,184,187,16,0,1,37,43,43,235,156,204,204, -204,239,41,77,250,163,144,28,237,176,119,247,221,119,179,130,130,130,160,126,39,18,33,40,1,4,32,124,5,128,57,62,94,236,19,16,44,40,175,233,251,223,255,30,155,57,115,134,88,242,84,50,223,144,227,101,177,88,79,40,45,45,123,0,73,129,16,0,129,52,148,69,133, -133,69,143,82,151,42,37,199,241,215,200,82,169,204,236,217,179,130,254,189,82,83,83,132,24,193,82,0,0,225,7,205,55,78,151,51,232,34,223,102,179,177,123,238,185,135,218,252,42,206,59,34,7,42,57,57,249,250,188,188,252,47,227,14,67,0,104,142,209,104,140, -47,43,43,255,155,210,164,63,122,47,61,252,55,223,124,179,40,249,211,135,176,113,178,180,180,84,85,246,246,6,0,232,11,50,252,153,25,233,186,56,151,180,180,52,46,2,238,102,86,171,85,241,190,1,244,254,220,220,220,7,18,19,147,230,226,46,67,0,104,58,128,74, -75,203,126,30,31,31,63,79,105,77,43,149,251,93,116,209,69,162,205,175,110,190,31,255,95,197,204,25,65,201,18,6,0,104,7,141,105,135,195,193,210,82,83,116,115,78,101,101,101,236,59,223,249,14,35,63,74,133,61,83,184,99,86,250,24,159,155,29,184,219,16,0, -154,192,85,230,229,73,73,73,55,42,245,144,169,20,230,148,83,78,102,119,220,113,155,238,190,35,173,205,37,39,39,35,10,0,64,24,65,6,182,172,180,88,36,1,234,137,133,11,79,97,183,220,114,179,226,30,1,244,253,12,6,83,41,23,21,15,33,31,0,2,64,117,92,46,87, -105,94,94,254,131,106,100,252,83,178,31,245,201,142,141,213,223,134,59,70,163,145,157,126,218,66,68,1,0,8,19,40,68,78,75,123,5,121,121,186,60,191,47,124,225,82,118,225,133,23,136,168,168,18,14,29,26,101,110,119,226,23,248,60,125,19,238,58,4,128,106,196, -197,197,25,75,74,74,255,20,21,21,149,160,68,165,210,64,164,4,152,31,253,232,135,204,233,212,239,158,22,21,21,51,89,101,101,5,27,224,98,5,0,16,186,144,144,143,143,143,103,199,31,55,151,69,69,235,183,194,135,54,60,91,176,224,120,197,149,1,20,185,204,205, -205,253,89,82,82,210,44,220,125,8,0,85,40,41,41,185,199,98,177,204,87,226,21,83,136,138,94,223,250,214,183,88,81,145,254,119,181,60,103,197,114,150,151,147,195,134,134,134,240,0,0,16,130,76,236,162,199,78,58,97,62,179,219,109,186,62,87,234,65,242,221, -239,126,87,84,6,12,42,112,60,200,65,227,47,51,57,108,252,152,22,60,5,16,0,138,224,15,228,178,212,212,180,175,41,93,19,39,101,123,221,117,215,177,211,78,59,53,36,190,55,149,3,94,122,233,197,44,61,45,141,139,128,97,60,8,0,132,152,241,167,181,240,147,79, -58,65,132,255,67,1,202,61,250,222,247,190,39,150,33,149,58,91,124,254,170,40,43,43,187,15,79,2,4,128,52,241,241,230,228,130,130,194,135,149,213,251,71,137,164,63,42,245,187,230,154,171,67,234,251,39,36,216,217,149,87,94,198,69,64,42,34,1,0,132,160,241, -215,75,217,223,177,66,203,143,183,221,118,155,152,111,148,44,183,146,195,150,148,148,124,83,102,102,214,185,120,34,32,0,166,126,97,248,0,42,47,47,255,77,108,108,108,166,146,7,113,112,112,128,229,231,231,179,111,126,243,27,33,185,205,46,237,75,48,46,2, -210,196,150,158,0,0,24,127,45,57,239,188,115,217,5,23,172,84,188,113,16,69,17,138,138,138,30,178,217,236,169,120,50,32,0,166,68,78,78,238,23,93,46,215,69,74,66,81,227,109,126,227,69,198,127,176,54,248,81,83,4,164,165,34,18,0,0,140,191,246,220,122,235, -173,227,137,200,10,58,5,146,227,198,175,71,122,73,73,241,131,40,13,132,0,56,102,236,118,123,46,231,126,37,235,254,244,240,145,177,188,245,214,91,216,180,105,211,66,254,154,28,17,1,34,39,0,34,0,0,61,113,40,140,140,63,65,57,72,223,254,246,183,197,188,163, -100,30,30,111,128,228,92,153,147,147,115,13,158,18,8,128,207,191,32,124,16,149,148,148,252,150,255,116,41,9,253,83,248,106,197,138,179,217,249,231,159,31,54,215,134,6,227,85,16,1,0,232,206,243,143,9,35,227,239,135,59,97,236,107,95,187,83,148,79,43,153, -139,73,4,228,228,228,254,220,102,179,229,226,105,249,40,177,184,4,31,133,43,197,27,18,18,28,203,148,168,78,42,99,41,46,46,22,181,173,90,210,209,209,193,234,234,234,88,115,75,139,104,162,65,131,36,158,43,231,148,148,20,150,157,157,205,210,211,211,52,19, -1,127,125,236,9,214,220,220,194,140,70,108,33,12,64,48,141,191,214,158,63,205,133,3,3,131,108,144,139,126,106,182,67,182,152,62,211,104,48,112,79,221,40,188,117,173,88,178,100,9,219,190,125,7,123,234,169,167,196,190,1,50,76,108,131,236,228,142,221,131, -155,54,109,90,174,180,237,48,4,64,152,50,30,250,207,187,87,201,186,63,189,151,6,4,213,251,83,211,31,45,6,227,59,239,190,203,222,92,251,22,219,127,224,0,235,239,239,255,68,201,12,13,78,139,197,34,20,244,201,39,157,40,218,14,83,51,16,53,69,192,149,87,92, -198,30,251,27,137,128,102,81,182,3,0,8,47,227,223,199,231,150,174,174,110,230,241,122,143,234,133,83,195,30,250,124,154,239,28,124,78,160,205,196,226,98,213,55,41,55,221,116,19,219,185,115,39,219,189,123,183,180,216,24,95,10,112,157,149,157,157,115,109, -109,109,205,163,120,122,32,0,62,97,52,185,66,252,53,255,233,80,34,0,40,105,229,142,59,238,96,211,167,171,191,238,191,117,235,54,246,248,19,79,176,125,251,246,139,193,71,205,51,62,205,248,210,128,221,181,107,23,87,207,219,217,127,159,127,129,93,120,193, -74,118,234,169,11,85,59,23,135,99,60,18,240,24,69,2,90,90,196,185,0,0,66,223,248,251,124,3,98,76,147,0,152,108,232,63,235,191,167,37,207,246,142,14,150,156,148,196,95,137,170,158,79,124,188,137,125,243,155,223,100,55,222,120,163,152,215,100,247,51,160, -232,69,94,94,222,125,157,157,29,107,184,227,84,143,167,8,57,0,71,200,201,201,189,210,225,112,158,173,196,248,211,32,88,184,112,161,232,109,173,54,79,255,243,95,236,158,31,255,132,29,56,80,37,188,121,82,194,159,53,40,69,136,142,139,3,179,217,204,90,248, -96,254,197,47,31,96,191,248,197,3,138,75,107,62,17,9,64,117,0,0,97,99,252,201,136,239,175,170,18,198,159,62,131,94,159,215,154,55,58,58,74,24,101,138,78,54,52,54,178,234,154,90,213,55,19,43,46,46,226,2,224,6,197,93,2,249,247,113,151,148,148,254,34,42, -10,166,15,2,96,2,110,36,83,114,114,114,238,83,242,208,146,50,165,78,86,95,251,218,215,20,245,178,62,26,127,254,203,95,185,167,253,183,35,70,125,170,196,197,197,9,209,240,218,27,111,176,187,239,249,9,235,236,236,84,95,4,32,49,16,128,144,54,254,141,77, -205,172,190,161,209,111,40,167,252,126,154,247,72,8,244,244,246,178,42,13,68,192,133,23,94,200,78,63,253,116,69,78,12,57,120,78,167,243,130,172,172,204,11,240,52,65,0,136,135,182,184,184,228,167,252,193,77,149,205,52,165,247,209,195,126,219,109,183,170, -222,118,243,95,255,250,55,251,247,191,159,17,158,188,146,90,86,250,158,86,139,133,237,222,189,135,221,243,227,123,69,2,161,154,34,224,170,137,102,65,16,1,0,132,158,241,111,104,106,98,173,109,109,194,128,43,117,96,232,24,100,164,107,15,214,41,202,222, -63,26,119,222,121,7,75,77,77,21,14,151,44,227,27,6,229,221,207,231,84,103,164,63,83,17,47,0,82,82,82,206,72,76,76,252,162,210,208,255,242,229,203,217,226,197,139,85,61,183,247,55,126,192,158,120,234,41,225,189,171,21,85,48,155,227,89,77,77,13,251,241, -79,254,79,117,17,240,97,36,0,29,3,1,8,37,207,191,189,189,67,122,109,253,211,68,0,45,35,208,177,213,132,162,172,228,104,145,17,87,226,176,25,12,134,236,130,130,194,31,64,0,68,48,70,163,209,84,88,88,244,75,37,101,33,212,30,151,74,238,110,185,229,102,85, -207,141,214,237,127,251,219,223,177,40,22,165,122,11,97,18,20,218,138,0,228,4,0,16,42,198,191,181,189,93,147,54,229,36,2,40,167,160,171,187,91,213,227,46,90,180,72,56,92,228,120,201,250,69,36,32,184,152,184,41,41,41,233,120,8,128,8,37,47,47,239,78,147, -201,52,77,86,0,144,146,28,27,59,204,238,184,227,118,90,87,82,237,188,40,188,245,155,7,31,18,37,56,180,126,175,5,227,34,160,86,117,17,224,240,239,29,144,142,189,3,0,208,179,241,63,18,246,215,176,77,46,69,46,27,26,155,20,181,244,61,26,95,253,234,45,44, -43,43,91,81,180,145,207,223,177,5,5,133,191,140,141,141,141,216,106,184,136,21,0,9,9,142,252,244,244,140,111,42,73,84,25,239,246,183,156,157,116,210,73,170,158,219,227,79,60,201,182,109,219,46,202,95,180,132,142,175,69,36,192,49,209,39,0,213,1,0,232, -213,243,111,98,109,109,237,170,134,253,63,77,0,208,242,234,193,250,6,209,174,88,181,57,198,225,96,183,222,250,85,113,108,217,165,0,186,190,54,155,109,126,110,110,222,117,16,0,17,4,61,148,133,133,133,63,229,63,165,59,245,144,119,155,149,149,201,110,184, -225,6,85,207,237,221,119,215,179,231,158,251,175,72,250,11,4,218,47,7,32,49,16,0,125,121,254,205,220,243,215,222,248,31,49,50,252,123,248,124,62,33,58,212,132,250,154,156,121,230,153,138,170,2,200,1,76,79,79,255,33,159,111,147,33,0,34,132,140,140,140, -37,78,167,243,66,217,196,63,82,156,244,222,155,111,190,153,185,92,46,213,206,171,181,181,149,61,252,200,31,249,128,137,81,189,148,48,88,34,0,213,1,0,232,201,248,7,198,243,255,56,244,121,29,157,93,170,231,3,220,124,243,77,194,201,144,173,10,152,72,8,76, -41,40,40,252,30,4,64,4,16,23,23,103,200,206,206,249,169,146,196,63,82,179,148,136,66,47,181,32,65,241,251,223,63,204,186,186,186,248,57,6,126,73,42,48,145,0,228,4,0,16,44,227,79,30,248,120,182,127,112,166,253,104,238,212,52,54,54,137,61,5,212,34,49,49, -145,221,112,195,87,20,151,5,166,164,164,92,239,118,39,206,130,0,8,115,114,114,114,191,100,177,88,42,101,5,0,61,44,228,245,147,242,84,147,103,254,243,44,219,248,193,7,170,246,236,215,159,8,64,78,0,0,193,50,254,173,220,248,71,71,7,111,202,167,168,230,40, -119,116,234,235,27,84,237,15,112,214,89,103,178,147,78,58,81,56,102,178,240,243,137,203,207,207,255,105,160,35,35,16,0,1,132,27,254,196,140,140,140,239,42,221,233,239,154,107,174,161,117,35,213,206,107,239,222,189,236,233,167,255,25,84,227,175,181,8, -112,76,218,74,24,213,1,0,4,206,248,143,103,251,183,107,154,237,127,204,6,135,159,67,191,199,35,170,15,84,148,22,236,150,91,110,17,187,5,202,46,235,142,111,22,228,88,204,231,167,115,33,0,194,148,188,188,252,111,196,197,197,73,119,252,35,227,63,107,214, -44,118,193,5,43,85,59,39,58,230,239,255,240,176,8,97,69,71,235,227,118,104,157,19,128,234,0,0,2,231,249,7,99,205,255,179,160,115,105,105,109,83,117,95,146,188,188,60,118,217,101,151,137,141,137,100,153,232,16,248,99,99,4,109,111,26,49,2,192,225,112,22, -37,37,37,221,36,235,253,83,189,63,149,139,82,232,95,205,178,209,39,158,124,74,108,240,163,183,103,78,235,229,0,36,6,2,16,128,176,191,206,140,191,31,114,194,234,27,155,84,45,13,188,236,178,47,176,210,210,18,233,121,133,206,137,207,123,211,50,51,179,34, -166,44,48,34,4,0,173,61,21,20,20,124,159,15,52,233,218,58,159,207,203,206,62,123,57,171,168,168,80,237,188,104,123,223,23,95,124,41,96,37,127,122,19,1,40,17,4,48,254,90,174,249,235,211,248,11,195,51,81,26,216,210,210,170,234,124,69,9,129,100,200,101, -163,188,228,32,102,100,100,124,155,31,43,34,246,9,136,8,1,224,118,187,143,115,58,157,151,202,174,15,77,100,137,178,107,175,189,86,181,115,242,242,135,255,143,143,254,73,60,168,129,44,249,211,167,8,64,78,0,128,241,87,211,248,183,81,182,127,180,190,19, -218,252,173,130,41,39,64,45,168,41,27,245,7,144,237,60,56,81,22,152,158,159,159,127,27,4,64,56,124,65,62,200,114,115,115,127,200,111,172,244,104,160,117,250,171,174,186,146,37,37,37,169,118,94,79,61,245,119,86,91,123,144,30,54,221,95,195,201,34,160,93, -237,196,192,43,104,57,0,57,1,0,198,95,13,26,116,144,237,63,85,131,75,165,129,99,42,46,5,124,229,43,95,81,148,16,56,190,79,64,202,109,86,171,45,3,2,32,196,73,75,75,63,205,225,112,158,41,251,48,144,97,154,54,109,26,59,239,188,243,84,59,167,29,59,119,178, -151,95,90,37,118,230,11,21,252,123,7,252,68,237,72,128,227,195,156,0,84,7,0,24,127,101,198,191,77,39,217,254,83,113,208,124,220,91,167,164,64,181,224,14,31,187,224,130,11,20,237,63,16,19,19,227,200,201,201,254,95,8,128,16,134,223,196,168,236,236,172, -239,43,217,236,135,94,95,250,210,151,84,243,212,201,200,253,249,207,127,97,135,14,143,233,58,244,127,116,17,96,210,118,57,0,213,1,0,198,95,10,61,102,251,79,97,158,22,75,22,94,5,117,252,31,231,242,203,47,99,89,89,89,210,13,130,200,97,76,78,78,249,178, -205,102,207,135,0,8,89,239,63,109,153,197,98,93,40,43,0,72,65,158,120,226,137,162,201,132,90,60,251,236,115,108,223,190,253,204,24,2,161,255,79,143,4,248,69,64,167,234,34,0,213,1,0,198,127,234,198,191,53,68,141,255,135,206,214,152,216,154,88,173,6,65, -227,243,201,149,210,81,69,58,15,126,61,205,69,69,133,223,130,0,8,81,239,63,43,43,251,46,89,227,79,239,51,153,76,220,251,87,175,34,164,174,190,158,253,135,11,0,58,110,40,243,161,8,184,23,213,1,0,192,248,43,55,68,252,250,120,60,30,85,157,10,170,218,162, -229,91,217,185,132,114,1,156,78,215,21,110,183,187,24,2,32,196,72,77,77,229,222,191,229,36,37,222,255,210,165,75,89,105,105,169,74,10,151,177,191,254,245,111,162,249,69,56,180,155,212,188,89,16,170,3,0,140,255,231,26,127,145,237,31,38,237,107,233,58, -181,180,181,169,150,11,20,23,23,199,174,189,246,26,113,15,20,68,22,76,217,217,57,95,135,0,8,41,239,63,154,123,255,57,210,222,255,68,91,72,246,197,47,94,165,218,57,173,91,183,142,109,220,184,81,23,237,126,67,69,4,160,58,0,192,248,127,134,231,31,66,217, -254,199,2,229,68,141,140,140,178,38,21,123,3,156,116,210,201,236,248,227,143,23,149,92,178,182,192,229,114,93,30,174,81,128,176,20,0,105,105,233,203,172,86,101,222,255,185,231,158,67,13,33,84,57,31,143,199,203,158,124,234,239,170,118,16,140,4,17,128, -234,0,0,227,255,73,244,212,219,95,3,231,141,117,247,244,176,254,254,126,149,68,5,99,87,95,125,53,63,110,172,162,40,64,86,86,246,215,32,0,66,0,50,178,252,102,125,93,201,110,127,201,201,41,236,146,75,46,81,237,156,254,243,236,179,172,161,161,65,132,164, -194,17,205,155,5,137,234,0,136,0,0,227,63,158,237,31,62,97,255,163,194,13,117,83,75,139,106,9,129,179,102,85,178,147,79,62,73,186,44,144,238,167,195,225,184,220,106,181,230,65,0,232,28,151,203,189,208,98,177,156,170,196,251,95,185,242,60,177,207,180, -42,106,157,27,254,151,94,122,57,172,66,255,193,137,4,96,57,0,192,248,143,39,252,133,119,251,22,186,126,94,175,143,117,116,170,151,16,120,245,213,95,20,251,173,200,216,5,18,34,220,177,180,228,228,228,126,21,2,64,199,208,26,82,102,102,230,255,200,42,71, -170,25,229,239,103,23,94,120,161,106,231,68,161,127,74,252,139,142,14,255,174,203,216,59,0,192,248,35,219,95,45,17,64,223,119,68,193,214,237,147,161,100,238,133,11,229,91,4,143,247,5,72,190,218,102,179,165,66,0,232,20,183,219,61,203,233,84,214,245,111, -229,202,149,194,224,168,1,109,246,179,126,253,134,144,47,251,211,139,8,184,202,223,39,0,57,1,32,162,140,127,115,88,101,251,31,171,51,71,185,63,109,109,234,117,8,164,118,238,22,139,69,58,10,192,175,191,147,59,136,95,134,0,208,41,217,217,57,183,243,31, -82,163,196,239,253,83,242,159,26,144,8,249,251,63,254,161,251,205,126,52,23,1,237,232,24,8,96,252,21,121,254,237,237,17,17,65,252,56,36,120,58,58,187,216,128,100,6,255,199,41,42,42,98,167,158,122,170,162,40,64,98,98,210,87,140,70,163,29,2,64,103,216, -237,246,60,110,32,46,84,226,253,83,191,127,181,188,255,183,222,90,199,118,237,218,45,214,157,34,145,35,34,224,94,237,250,4,160,58,0,132,179,241,15,231,108,255,99,54,186,252,250,182,170,184,79,192,37,151,92,44,34,178,50,203,196,244,30,62,159,103,100,102, -102,125,1,2,64,119,222,127,246,87,168,117,163,204,123,41,243,63,149,123,149,43,86,156,173,202,185,80,205,233,191,159,121,38,44,203,254,164,35,1,26,136,128,84,68,2,64,24,123,254,109,17,180,230,255,169,81,0,126,125,123,122,123,153,199,235,85,229,120,74, -115,1,232,158,243,121,231,150,216,48,153,220,195,66,0,152,76,241,14,183,219,125,181,172,247,79,6,123,197,138,21,212,240,65,149,243,89,179,230,21,86,91,91,23,182,101,127,250,17,1,151,99,239,0,16,150,198,191,21,198,255,35,158,119,75,171,122,205,129,168, -196,155,54,119,147,137,2,208,125,231,115,218,244,148,148,212,101,16,0,58,33,35,35,227,210,184,56,99,138,204,13,29,95,215,73,100,231,157,119,174,42,231,66,13,44,158,127,225,69,102,52,26,48,114,53,23,1,118,84,7,128,240,51,254,237,48,254,31,49,82,252,90, -247,247,123,88,111,159,58,205,129,166,79,159,166,168,59,32,217,25,62,231,220,18,14,185,93,33,47,0,98,99,99,99,146,147,147,111,24,27,147,243,254,41,20,180,120,241,98,42,241,80,229,124,94,126,121,21,107,110,110,142,248,240,127,96,35,1,200,9,0,225,96,252, -155,69,123,223,152,104,24,255,79,18,197,90,219,218,216,97,149,142,118,241,197,23,139,251,40,235,52,242,121,103,145,211,233,154,9,1,16,100,146,146,146,79,179,88,44,21,50,165,29,244,30,187,221,46,74,255,212,160,183,183,143,173,90,189,38,98,19,255,130,46, -2,144,19,0,66,212,248,55,248,61,255,8,78,248,251,236,40,64,148,232,167,210,219,219,171,202,241,230,206,157,203,102,206,156,41,61,95,112,239,63,54,61,61,253,43,16,0,65,134,123,126,55,202,54,254,33,239,255,164,147,78,98,185,185,57,170,156,203,139,47,190, -200,218,249,32,134,247,31,28,17,112,37,34,1,32,68,141,127,91,27,140,255,177,208,198,231,87,53,90,4,147,160,184,224,130,149,76,201,134,113,137,137,137,151,196,199,155,19,67,249,122,134,244,19,103,183,39,228,243,137,255,44,217,198,14,148,8,66,15,129,58, -222,127,47,123,229,213,215,224,253,235,32,18,144,138,189,3,64,136,24,127,100,251,79,197,104,143,183,8,238,237,235,83,229,120,167,156,114,10,43,44,44,148,114,24,38,218,3,187,185,195,113,49,4,64,144,200,200,200,184,146,15,28,147,140,34,164,208,79,101,101, -165,8,3,169,193,234,213,107,88,123,71,7,6,178,78,68,64,122,58,150,3,128,254,61,127,100,251,7,47,10,64,206,218,242,229,203,165,35,134,244,108,36,39,39,95,27,19,194,155,51,132,236,137,115,239,221,148,152,152,120,149,108,233,31,221,60,53,51,255,87,175,121, -133,153,224,253,235,70,4,92,121,5,170,3,0,60,255,112,141,2,244,169,180,93,240,178,101,75,89,74,74,10,147,177,35,244,124,88,44,150,57,46,151,123,1,4,64,128,73,78,78,89,204,21,92,190,140,18,36,197,151,151,151,39,214,255,213,224,213,215,94,23,221,170,48, -152,117,24,9,64,78,0,208,157,241,143,188,222,254,106,211,174,82,139,113,234,253,114,218,105,167,73,151,4,82,41,32,119,52,174,133,0,8,184,0,72,190,70,54,12,68,6,97,217,178,101,170,108,210,67,137,132,212,248,7,117,255,58,141,4,160,58,0,232,200,248,55,68, -112,111,127,53,163,0,253,94,47,235,247,120,84,57,30,117,128,165,57,72,182,36,144,139,136,243,204,230,208,76,6,12,201,167,208,102,179,101,59,28,142,165,50,97,27,122,143,211,233,18,161,31,53,120,251,237,119,88,67,67,3,50,255,117,46,2,176,139,32,208,131, -241,71,182,191,74,112,99,221,174,210,60,81,92,92,204,102,205,154,37,21,5,152,72,6,116,165,166,166,158,7,1,16,32,210,210,210,46,226,131,84,170,239,63,221,228,19,78,88,32,50,197,149,50,58,122,136,173,90,181,26,198,63,164,34,1,16,1,32,24,198,191,25,107, -254,106,71,1,250,61,210,61,253,63,206,217,103,159,45,157,88,72,207,13,229,163,133,98,84,39,228,206,152,50,46,19,19,147,46,147,77,254,35,99,189,124,249,89,170,156,203,166,205,155,217,129,170,106,81,78,8,244,47,2,198,115,2,176,28,0,62,201,33,205,61,127, -228,8,105,113,207,58,58,186,84,57,214,137,39,158,64,27,202,137,109,225,101,4,128,205,102,95,224,112,56,166,67,0,104,12,191,200,115,184,145,152,37,91,250,231,15,247,168,193,234,213,171,249,255,31,198,72,212,68,4,212,106,218,44,8,34,0,76,158,192,99,144, -237,31,114,248,119,10,84,35,201,151,230,156,211,79,63,93,81,103,192,228,228,148,75,32,0,52,38,45,45,253,82,186,222,50,239,37,117,183,120,241,25,170,132,236,171,170,171,217,246,237,59,208,248,71,51,17,96,194,222,1,32,32,198,95,211,176,63,178,253,53,101, -100,116,148,117,117,247,168,114,172,165,75,151,48,171,213,42,157,12,152,148,148,120,97,92,92,104,133,131,67,74,0,24,12,134,120,167,211,113,190,108,223,127,167,211,41,84,158,26,188,178,230,85,145,79,16,14,59,66,233,59,18,128,189,3,64,40,26,255,38,209, -176,6,217,254,26,27,176,232,40,214,221,221,45,221,210,119,50,249,249,249,172,162,162,66,106,78,24,239,44,107,42,229,54,102,62,4,128,70,56,157,174,147,141,70,83,158,140,66,35,99,61,103,206,28,225,249,41,165,155,43,206,245,27,54,192,251,15,113,17,112,100, -57,0,145,0,24,127,181,141,63,178,253,3,2,57,96,131,220,96,171,213,30,120,201,146,197,76,54,191,140,124,193,228,228,164,144,90,6,8,169,39,148,95,220,139,148,60,40,75,150,44,81,229,60,214,189,253,54,235,234,234,66,104,47,172,34,1,16,1,48,254,202,105,68, -182,127,80,232,234,234,86,229,56,39,158,120,162,168,16,27,29,29,157,242,123,73,56,56,28,206,179,13,6,163,57,84,174,91,200,8,128,248,120,179,221,229,114,47,151,81,103,116,51,51,51,51,217,188,121,243,20,159,199,161,67,163,236,205,55,223,68,233,95,80,69, -64,167,250,34,0,213,1,48,254,138,141,127,147,216,179,30,198,63,192,70,140,223,79,143,215,171,74,73,32,205,7,243,231,207,151,94,6,48,153,76,217,220,81,93,8,1,160,50,110,183,123,97,92,92,92,154,108,246,63,213,254,91,44,202,133,217,142,157,187,88,117,117, -13,74,255,130,38,2,168,58,224,94,205,18,3,33,2,96,252,229,141,63,60,255,96,65,142,97,87,183,58,81,128,69,139,22,73,59,120,100,159,146,146,146,46,128,0,80,153,164,164,196,149,50,198,159,222,195,133,131,106,201,127,111,188,177,86,122,141,8,168,33,2,80, -29,0,244,101,252,145,237,175,143,40,64,79,111,159,42,115,115,101,101,5,203,201,201,145,238,9,96,183,39,44,51,153,226,173,16,0,42,17,23,103,176,90,44,214,197,50,153,158,116,19,11,10,242,217,180,105,211,20,159,7,173,251,111,222,188,5,201,127,186,136,4, -104,39,2,82,81,29,0,227,127,204,198,31,217,254,122,128,114,188,72,184,247,245,41,223,37,144,230,119,106,12,36,187,12,192,29,206,12,167,211,113,2,4,128,74,184,221,174,19,77,38,83,134,236,206,127,39,156,112,130,136,2,40,101,195,134,247,68,201,9,6,123,248, -139,0,84,7,192,248,31,147,241,71,182,191,174,232,234,81,167,39,192,41,167,44,20,66,64,54,234,236,114,185,67,98,111,128,144,120,114,19,19,147,86,200,222,8,50,20,11,23,42,207,201,160,99,209,198,63,8,243,69,144,8,64,117,0,140,255,167,128,108,127,29,26,51, -74,6,244,120,84,137,222,149,151,151,177,130,130,2,233,101,0,167,211,185,52,46,206,96,210,253,53,211,251,9,26,12,6,35,93,76,153,240,63,121,255,133,133,133,162,253,175,82,40,249,108,255,129,3,72,254,211,181,8,64,117,0,8,140,231,143,108,127,125,66,57,0, -212,30,88,41,148,4,72,137,227,50,249,64,228,44,26,141,198,124,110,183,230,64,0,40,196,110,79,168,228,70,183,80,38,2,64,234,109,254,252,227,85,25,168,239,190,187,30,157,255,116,45,2,180,171,14,16,91,9,35,18,0,227,207,208,219,63,20,162,0,36,0,100,119,246, -155,12,245,4,48,153,76,82,199,34,59,225,114,185,206,210,253,245,210,251,9,186,221,238,179,100,140,238,68,77,166,88,255,87,10,9,137,247,55,110,84,37,143,0,104,37,2,76,26,119,12,76,69,117,64,196,123,254,205,172,21,217,254,186,134,108,197,192,192,32,243, -169,208,19,128,34,199,185,185,185,138,150,1,104,247,90,8,0,73,104,160,113,21,181,68,54,251,159,110,94,73,73,137,226,243,216,187,119,31,171,175,175,71,243,159,144,136,4,96,239,0,24,127,237,178,253,145,240,23,26,207,129,26,203,0,180,220,59,111,222,113, -92,248,203,9,0,179,217,60,211,102,179,21,66,0,72,98,177,88,114,249,164,94,41,43,0,230,206,157,171,138,215,190,126,253,122,209,77,16,225,255,200,22,1,31,110,37,140,72,64,36,25,255,70,100,251,135,20,244,28,80,57,224,152,10,203,0,11,22,80,5,153,156,227, -199,237,69,28,119,96,79,131,0,144,196,237,118,159,202,111,166,84,38,37,121,235,11,22,40,223,152,137,60,190,45,91,183,34,249,15,34,96,82,78,0,170,3,34,199,248,55,163,195,95,136,33,54,8,26,28,98,94,175,87,241,177,166,77,43,103,25,25,25,82,203,0,180,12, -77,203,0,16,0,242,19,238,98,153,4,12,242,214,201,83,83,163,249,207,158,61,123,88,115,115,11,194,255,33,45,2,212,173,14,184,18,213,1,17,97,252,145,237,31,186,144,221,232,237,237,83,101,30,161,45,130,101,4,0,85,36,88,173,182,19,249,49,18,32,0,166,136,209, -104,48,219,108,246,147,100,203,255,102,204,152,65,75,8,138,207,227,253,247,55,74,237,12,5,244,34,2,180,174,14,128,8,8,79,207,31,217,254,161,76,116,116,20,235,247,120,84,89,6,160,74,50,89,226,226,226,146,237,246,132,217,16,0,83,196,102,75,152,97,48,24, -178,101,27,0,29,127,188,242,157,255,72,72,108,219,190,3,217,255,33,45,2,252,213,1,247,106,151,19,128,234,128,176,243,252,209,219,63,180,161,101,0,18,231,62,159,79,241,177,40,2,224,114,57,165,247,25,112,56,28,139,32,0,166,126,209,22,202,36,221,209,196, -192,223,43,110,154,82,170,170,170,88,19,159,12,16,254,15,151,72,128,54,137,129,233,168,14,8,59,227,143,118,223,225,240,156,28,86,101,111,128,164,164,36,86,84,84,44,93,14,232,114,185,78,213,235,243,164,203,179,34,195,207,39,215,83,101,155,255,228,231, -231,179,244,116,229,19,195,166,205,155,197,241,144,253,31,46,34,64,253,196,64,7,23,1,87,160,89,80,88,24,127,100,251,135,23,254,101,0,166,194,50,192,156,57,115,164,150,130,233,121,53,153,76,51,205,102,75,26,4,192,49,98,50,197,59,108,54,219,92,217,242, -191,89,179,102,169,50,209,108,219,182,29,222,63,68,192,49,137,128,43,81,29,16,226,198,31,217,254,225,198,120,53,192,32,27,80,33,58,55,123,246,44,233,174,128,252,153,178,37,36,216,143,131,0,56,70,236,118,123,37,55,188,73,50,23,155,214,235,233,102,169, -225,13,212,215,55,96,253,31,34,224,152,72,248,136,8,192,114,64,40,25,127,100,251,135,47,180,110,223,223,239,81,124,28,218,83,134,182,9,151,137,2,144,25,115,56,156,11,245,120,125,116,41,0,108,54,235,2,153,247,209,205,161,245,26,53,186,255,237,216,177, -67,212,145,34,252,31,174,34,64,195,156,0,84,7,132,144,231,143,108,255,112,143,2,136,101,0,21,230,140,178,178,50,201,126,0,99,220,166,217,78,208,99,30,64,180,30,111,88,66,130,227,36,217,245,255,162,162,34,138,32,40,62,143,109,91,183,35,17,40,140,49,107, -190,119,0,170,3,66,194,243,71,182,127,120,11,0,254,236,12,12,12,168,82,202,93,89,89,41,181,4,48,145,7,80,110,54,91,82,33,0,62,7,131,193,96,51,155,205,82,237,127,41,220,67,245,255,74,161,61,165,171,170,171,17,254,15,99,14,179,0,44,7,160,58,64,215,198, -95,148,250,65,228,135,183,0,152,112,12,189,94,229,229,128,51,103,206,160,254,254,82,34,32,54,54,214,110,179,217,42,33,0,62,7,155,205,94,202,69,64,218,84,47,50,253,247,212,174,151,110,146,82,170,170,170,89,103,103,39,60,131,8,64,251,196,64,84,7,232,205, -248,35,219,63,194,196,62,55,37,106,44,3,100,103,103,179,244,244,52,233,104,130,221,110,91,160,183,107,163,187,17,96,181,90,231,70,73,44,188,147,247,159,152,152,40,146,53,148,178,99,231,78,116,255,131,8,80,47,18,128,234,0,29,25,127,100,251,71,26,84,14, -232,245,249,152,210,98,64,114,48,149,244,3,176,219,237,199,235,238,218,232,237,132,28,142,132,249,178,253,255,169,254,223,102,179,41,62,135,61,187,247,96,130,128,8,208,64,4,96,57,32,152,198,31,217,254,145,137,191,43,224,176,10,227,111,198,140,233,76, -182,59,173,201,20,63,221,96,48,90,33,0,62,85,169,197,196,196,199,155,103,201,10,0,53,54,255,233,234,234,102,245,13,40,255,139,92,17,160,117,117,0,34,1,193,241,252,145,237,31,201,140,30,58,36,162,0,74,41,43,43,103,70,163,145,73,46,81,167,219,108,214,98, -8,128,79,159,128,211,249,197,45,144,76,178,96,229,229,101,138,207,161,186,186,154,245,245,245,161,2,32,98,69,128,214,213,1,169,168,14,8,184,231,223,140,222,254,145,30,5,224,47,53,182,7,206,201,201,17,165,230,50,251,2,208,210,182,213,106,155,165,167,235, -162,43,43,103,183,219,166,113,67,110,158,170,0,160,201,131,38,216,252,252,2,197,231,176,123,207,30,233,77,31,64,56,69,2,180,17,1,87,161,58,32,192,198,159,178,253,219,33,232,35,93,0,68,69,49,159,111,64,42,124,63,25,171,213,194,69,64,46,27,25,145,105,8, -116,152,150,168,231,66,0,124,170,0,176,75,169,35,10,255,83,239,255,228,228,36,197,231,176,127,255,1,120,10,64,219,156,128,43,176,28,16,8,227,143,108,127,48,89,0,80,228,109,88,133,232,91,89,89,9,127,110,229,4,128,197,98,169,212,83,115,57,93,141,12,139, -197,58,91,182,255,63,101,255,43,85,249,189,189,189,172,177,177,17,253,255,129,182,34,192,49,41,49,48,130,151,3,144,237,15,2,9,69,118,7,6,6,21,31,167,164,164,148,242,213,164,4,128,209,104,44,52,153,76,46,8,128,143,193,7,106,44,191,56,229,242,55,69,121, -110,69,93,93,61,235,233,233,197,164,1,2,19,9,160,156,128,212,200,44,17,212,218,243,71,182,63,56,154,1,86,35,17,48,63,63,143,202,213,217,84,157,85,250,252,184,184,184,196,248,120,115,129,94,174,137,110,4,0,159,104,83,185,0,200,145,109,0,68,45,128,149, -82,85,85,197,70,71,71,48,82,192,81,68,64,173,118,57,1,17,214,39,64,123,227,15,207,31,124,18,145,7,48,48,160,248,56,41,41,41,44,57,57,89,170,87,12,157,131,221,110,155,14,1,240,49,44,22,75,17,31,180,22,153,4,64,135,195,193,178,178,178,20,159,195,1,46,0, -144,44,4,142,46,2,2,80,29,16,1,34,0,217,254,32,152,2,128,146,111,149,38,121,147,195,73,213,0,178,199,177,90,109,51,33,0,62,113,81,172,229,50,201,17,164,194,104,242,36,17,160,4,202,35,104,168,111,192,228,1,62,39,18,128,102,65,250,52,254,77,172,29,217, -254,224,115,4,0,217,139,193,65,229,121,0,133,133,5,82,2,128,28,92,62,143,76,211,75,34,160,110,70,139,217,108,158,33,83,162,65,55,129,202,50,148,94,80,154,208,59,208,255,31,76,65,4,180,171,188,119,192,21,87,76,236,34,24,134,145,128,64,100,251,195,248, -131,207,127,14,15,179,1,21,4,64,65,65,129,148,173,152,216,25,176,48,54,54,214,4,1,48,73,153,153,76,241,165,50,239,37,209,80,80,144,175,220,131,104,104,100,62,159,15,147,8,56,102,17,240,19,181,55,16,114,132,103,78,128,246,237,125,177,230,15,142,157,1, -21,242,0,104,99,32,154,7,100,114,214,184,241,79,167,166,119,16,0,19,196,197,197,153,185,42,202,147,41,1,164,129,159,155,155,167,248,28,106,106,107,209,0,8,72,69,2,176,28,16,60,227,143,246,190,96,74,6,47,58,74,149,8,0,37,2,186,92,46,41,155,193,159,87, -35,183,119,249,186,184,30,122,56,9,126,49,210,184,8,72,149,73,0,180,88,44,44,51,51,67,241,57,212,213,213,193,251,7,58,19,1,161,189,28,160,117,157,63,140,63,144,97,120,120,68,241,110,175,100,119,82,83,83,165,143,195,223,175,139,61,1,116,97,241,248,68, -154,203,39,10,195,84,223,71,234,139,84,88,98,162,178,14,128,116,156,102,62,161,96,50,1,83,197,172,117,159,128,16,93,14,208,188,201,79,59,140,63,152,58,180,220,76,243,189,26,29,1,105,25,64,54,17,208,106,181,150,64,0,248,39,81,179,185,80,214,112,83,40, -134,74,180,148,208,211,211,195,58,187,186,48,161,128,169,15,102,166,253,222,1,105,33,182,28,160,121,157,127,59,218,251,2,5,14,31,127,62,7,85,24,79,217,217,242,165,231,113,113,134,34,61,84,2,232,69,0,20,201,86,0,100,102,102,42,254,124,234,26,70,59,69, -97,9,0,200,162,245,222,1,161,82,29,16,144,246,190,24,167,64,161,106,31,28,84,46,0,168,247,140,108,37,0,159,47,178,163,101,250,9,135,163,0,48,24,140,210,173,17,213,16,0,77,124,98,161,62,0,0,232,81,4,248,171,3,244,190,28,160,117,147,31,180,247,5,106,64, -142,183,26,17,181,180,180,116,202,95,147,218,97,144,63,199,105,6,131,193,25,209,2,96,226,194,69,145,26,146,169,0,160,201,70,141,4,192,166,198,70,197,219,68,2,240,81,17,112,175,6,203,1,151,235,118,57,64,251,108,127,24,127,160,150,0,24,223,25,80,233,156, -159,152,232,166,29,108,167,156,7,48,81,10,232,48,26,141,65,47,5,140,214,193,205,176,242,137,35,77,70,60,240,11,200,82,83,211,20,159,67,83,115,51,194,255,64,101,17,160,197,222,1,246,137,72,128,190,150,3,52,111,239,139,108,127,160,178,0,24,29,25,97,163, -10,203,190,201,248,83,18,186,164,243,26,109,54,91,50,131,125,45,162,131,61,113,112,35,158,108,48,24,92,50,37,128,180,35,147,219,237,82,124,14,237,232,31,14,52,139,4,104,153,24,24,124,17,160,185,231,143,108,127,160,1,148,8,168,116,217,151,132,4,37,161, -143,142,202,9,137,184,184,184,220,136,143,0,208,90,8,255,97,156,242,13,228,234,141,250,255,211,132,168,132,126,143,135,245,246,246,34,2,0,66,84,4,4,111,57,64,243,246,190,36,204,49,46,129,70,207,174,26,165,128,169,169,41,236,240,225,169,71,0,200,225,181, -88,44,57,17,45,0,198,47,130,53,83,198,248,210,13,76,76,76,36,21,165,232,28,186,187,187,81,1,0,66,88,4,4,103,57,0,217,254,32,148,33,219,163,198,184,161,37,104,217,92,130,216,216,216,236,136,143,0,240,139,32,181,14,114,232,208,24,75,74,74,82,252,249,157, -29,157,194,139,210,203,238,76,0,34,64,46,18,16,56,17,160,125,111,127,36,252,1,109,137,226,255,83,35,2,64,75,0,50,207,42,137,6,179,217,156,238,255,61,34,5,0,25,93,171,213,154,33,119,1,14,179,228,228,100,197,231,64,91,136,202,36,113,0,16,10,34,64,237,201, -5,189,253,65,152,40,0,54,172,66,233,183,63,10,45,51,206,248,56,74,33,31,56,162,35,0,28,233,76,200,228,100,229,17,0,218,210,21,37,128,32,92,68,192,228,6,39,148,228,164,36,73,214,110,179,137,205,83,252,227,131,242,110,208,219,31,132,133,253,159,168,4,80, -138,203,229,148,234,5,64,255,61,23,14,110,26,102,17,25,1,152,184,0,204,108,142,79,145,185,120,52,81,184,221,137,138,207,163,179,179,19,225,127,16,54,34,32,47,47,71,68,2,40,188,89,82,92,204,230,31,63,79,129,119,227,102,211,202,203,196,120,27,25,25,21, -19,29,178,253,65,184,48,122,104,84,241,14,176,54,46,146,173,86,203,148,163,200,52,166,184,152,182,145,134,8,230,53,8,106,248,129,27,94,62,230,99,164,172,120,108,108,172,168,193,84,74,95,95,63,18,0,65,208,68,192,183,239,250,166,8,35,170,37,2,174,189,230, -106,86,91,91,203,162,184,231,158,155,147,163,216,168,206,170,156,201,114,114,178,152,207,55,192,220,220,219,161,115,87,215,243,71,182,63,8,78,4,128,140,54,149,3,42,25,35,180,43,160,205,102,23,209,43,137,115,48,114,39,216,21,177,17,0,110,196,45,252,226, -59,101,34,0,228,141,80,99,20,197,42,80,225,182,144,0,232,41,18,16,27,27,195,10,11,11,88,65,126,190,106,30,181,203,233,20,94,191,250,198,31,217,254,32,120,8,179,163,208,248,210,24,163,86,221,178,157,108,249,152,74,142,88,1,192,141,120,66,108,172,193,42, -211,4,136,38,35,106,4,164,20,179,57,30,57,0,32,172,68,64,40,128,108,127,16,92,227,127,88,68,1,162,162,148,155,192,132,4,135,116,34,57,127,95,82,48,175,67,176,59,1,38,240,91,97,150,185,121,20,122,49,155,205,138,207,65,182,149,35,0,16,1,242,198,31,9,127, -32,216,196,242,231,143,34,102,74,161,134,116,178,78,36,119,130,19,131,153,131,22,84,1,96,50,197,59,162,37,22,224,201,96,83,242,133,193,96,80,124,14,185,185,185,24,9,0,34,32,96,198,31,217,254,64,31,17,0,218,75,70,13,227,235,116,58,165,4,0,189,133,143, -253,200,140,0,76,44,1,56,101,110,128,95,0,168,65,121,89,153,136,38,32,10,0,32,2,2,224,249,35,219,31,232,68,0,88,109,86,85,142,165,36,23,141,219,157,160,86,1,4,123,9,192,37,125,243,172,234,220,60,218,78,184,164,164,88,149,174,80,0,64,4,28,29,100,251,3, -61,65,85,100,14,187,93,149,99,209,174,128,114,162,246,48,69,177,221,193,172,66,139,14,242,77,112,200,10,0,187,221,166,218,121,44,63,235,44,140,8,0,17,160,153,241,71,182,63,208,15,212,70,158,214,237,213,88,66,38,172,86,155,200,232,151,169,102,139,143, -55,219,131,25,17,11,234,136,228,94,124,130,108,242,4,93,116,181,152,51,103,54,59,126,222,113,204,231,243,97,116,0,136,0,21,65,182,63,208,19,227,13,232,98,89,170,10,109,228,253,216,108,86,233,94,50,252,124,172,193,188,30,193,150,228,9,178,55,145,186,47, -169,5,229,33,92,119,221,181,44,37,37,57,168,219,171,2,16,78,34,160,17,217,254,64,135,2,128,122,90,24,12,113,170,142,85,217,253,0,72,63,240,87,208,6,72,176,5,128,148,27,79,6,155,18,247,212,132,118,22,188,243,142,59,68,110,1,68,0,208,139,8,168,174,174, -102,191,248,229,3,108,112,112,48,164,206,189,165,181,149,181,192,248,3,29,25,126,74,244,78,79,75,101,78,135,67,213,99,83,53,1,45,39,200,44,1,68,71,71,83,51,60,67,176,174,75,116,144,111,138,148,0,24,239,160,100,86,253,124,74,75,75,216,119,190,125,151, -216,84,197,235,245,162,65,16,8,58,212,235,98,231,206,221,108,223,190,125,33,115,206,52,209,118,118,117,99,205,31,232,230,121,36,167,49,51,35,131,165,168,24,250,159,44,0,40,169,80,70,148,112,225,96,48,153,76,198,136,19,0,228,25,112,15,199,34,99,100,233, -102,82,43,96,45,40,46,46,98,63,190,231,110,182,100,201,98,241,224,80,94,128,210,13,35,0,80,226,185,80,165,172,26,29,203,2,9,237,183,14,64,176,13,63,189,40,90,92,144,159,199,146,18,221,154,124,142,95,0,72,58,140,70,254,62,83,176,174,81,208,54,3,34,47, -158,196,143,204,132,56,30,1,208,238,154,81,134,232,45,55,223,36,68,192,234,85,107,216,214,109,219,196,174,129,126,33,32,38,99,154,223,16,32,0,218,89,80,209,41,132,202,83,231,204,153,195,133,105,113,200,156,58,141,79,183,219,201,26,26,155,197,166,68,144, -2,32,32,98,121,220,64,8,7,145,28,76,218,206,154,182,235,165,94,253,90,62,133,180,254,47,19,1,152,192,48,241,138,44,1,48,97,204,165,118,23,161,27,172,86,9,199,103,70,3,138,138,196,171,191,191,159,85,85,85,139,93,214,168,145,137,168,22,56,60,49,73,3,160, -209,108,54,118,120,140,165,165,166,177,229,203,207,228,94,134,33,164,78,159,66,173,177,177,113,172,223,227,17,95,6,50,0,104,59,92,198,29,195,56,254,204,197,155,76,44,222,28,207,140,134,192,140,25,18,27,20,5,24,27,147,242,8,99,35,86,0,48,201,236,199,64, -9,0,63,212,117,176,178,178,66,188,0,0,199,6,109,31,76,47,0,194,25,18,30,10,246,20,8,170,0,8,230,194,34,125,182,84,38,95,140,216,196,33,22,79,30,0,0,128,224,122,177,19,17,128,195,135,165,218,201,199,28,62,124,56,120,75,241,193,22,79,83,125,131,63,7,128, -214,93,0,0,0,128,80,101,34,154,29,52,59,28,178,117,58,40,209,3,0,0,160,15,35,110,148,178,73,20,61,48,155,205,65,235,6,24,76,1,64,97,15,169,110,62,88,2,0,0,0,160,23,148,108,232,19,76,103,54,152,2,128,210,130,99,100,46,22,9,0,44,1,0,0,0,0,161,41,0,132, -61,15,69,213,4,0,0,0,64,0,0,0,0,0,0,2,0,0,0,0,0,16,0,154,224,239,241,12,0,0,0,128,208,19,0,163,252,229,155,234,155,168,228,98,116,116,84,244,72,7,0,0,0,66,153,40,50,106,17,40,0,40,139,15,219,236,1,0,0,8,89,40,33,125,104,104,144,201,216,113,138,100,15, -13,13,13,68,162,0,16,226,71,246,130,163,10,0,0,0,128,94,68,128,12,36,0,6,6,6,130,22,206,14,118,4,192,59,101,197,128,37,0,0,0,0,58,129,140,56,217,36,201,72,254,97,254,190,160,121,179,193,108,167,167,104,9,224,208,161,192,174,30,144,194,107,109,109,99, -205,205,205,172,183,183,135,171,182,65,60,249,64,243,103,46,59,59,155,77,159,62,45,36,207,159,123,54,172,167,183,15,209,58,16,24,99,22,27,203,140,134,56,22,31,31,31,208,221,98,73,0,12,15,143,48,201,128,54,189,49,104,198,36,168,253,116,185,242,25,144, -189,224,52,185,4,130,253,251,247,179,87,95,125,149,189,255,254,70,214,216,216,200,60,30,15,27,25,25,193,104,3,1,17,0,212,245,242,170,171,174,100,55,222,120,99,72,157,123,71,103,39,219,182,125,231,120,164,46,120,57,78,32,130,160,167,204,191,81,156,213, -106,97,73,137,137,44,53,37,89,236,212,167,37,228,140,210,115,46,25,1,32,79,118,52,226,4,0,77,110,252,194,13,73,136,134,137,164,11,109,151,0,14,30,60,200,30,125,244,81,246,230,155,111,9,163,79,15,21,189,72,101,162,13,49,8,20,52,185,60,254,248,19,236,140, -51,206,96,69,69,69,33,35,92,246,31,168,22,94,17,246,236,0,129,134,28,180,206,206,46,214,209,209,201,106,106,15,178,172,204,12,150,155,147,45,196,180,22,80,248,127,124,9,64,234,237,100,200,134,130,117,173,130,54,58,233,130,121,189,94,159,108,230,228,224, -160,118,81,147,231,158,123,142,253,230,55,15,178,238,238,110,218,169,137,171,73,43,70,21,8,10,52,105,13,13,13,177,214,214,214,144,17,0,36,90,72,160,199,196,160,207,24,8,66,36,128,219,20,191,177,39,49,176,239,64,21,107,107,239,96,211,203,203,152,205,166, -254,92,78,227,83,54,7,128,191,103,136,94,193,186,86,193,30,161,253,50,111,26,95,2,240,105,114,66,143,60,242,8,187,231,158,31,139,37,6,50,252,74,118,121,2,64,141,201,37,49,49,145,149,148,148,132,204,57,147,215,239,112,216,197,164,8,64,176,197,64,28,127, -30,251,250,250,216,198,77,155,185,83,215,163,250,103,80,248,95,102,89,152,206,141,191,143,191,125,56,104,57,0,33,41,0,40,196,232,245,170,47,0,30,127,252,113,246,251,223,255,65,36,145,32,116,9,130,13,77,42,180,126,121,215,93,223,98,73,73,73,33,117,238, -165,197,197,44,33,129,139,128,67,104,245,1,130,15,69,4,104,60,109,217,182,157,121,188,94,85,143,77,209,104,58,246,84,35,0,19,21,109,3,92,0,68,102,4,128,95,128,62,217,247,122,85,190,137,239,191,255,62,123,232,161,223,10,227,15,175,31,232,193,248,83,174, -201,221,119,255,136,157,120,226,137,33,119,254,38,147,145,205,174,172,96,118,155,13,34,0,232,2,154,215,201,91,223,185,107,183,170,173,228,101,5,192,4,30,254,190,160,13,144,160,90,58,159,207,215,43,185,110,34,18,243,212,130,194,253,15,60,240,43,241,80, -104,149,40,2,128,140,241,63,233,164,147,66,246,123,152,76,38,46,2,102,114,17,96,13,120,217,46,0,159,22,9,160,101,128,186,250,6,213,142,73,206,168,236,243,205,109,25,69,193,131,86,39,27,84,1,48,52,52,212,35,121,209,88,127,127,159,106,231,241,194,11,47, -176,189,123,247,138,9,11,0,24,127,181,69,64,133,72,190,130,8,0,250,136,4,196,176,122,46,0,212,202,81,233,239,239,23,206,227,212,157,217,40,54,60,60,212,23,204,141,237,162,131,123,35,162,165,5,64,95,95,191,42,231,64,15,193,243,207,191,16,208,198,17,0, -68,130,241,63,154,8,192,114,0,8,190,0,136,98,94,223,128,232,85,161,150,0,144,17,183,100,199,6,6,6,122,130,41,140,131,42,0,70,71,71,186,100,186,132,169,185,4,176,103,207,94,86,85,85,133,218,126,0,227,31,0,17,128,156,0,160,23,168,79,128,26,244,246,246, -74,119,187,228,182,172,35,168,98,40,88,31,76,70,220,235,245,118,141,141,141,77,249,202,81,50,135,172,234,250,56,219,183,111,19,73,28,81,232,86,6,96,252,3,36,2,16,9,0,193,143,2,244,115,39,82,141,54,213,61,61,189,210,246,131,127,126,103,80,175,67,48,63, -124,162,10,96,112,234,55,47,90,68,0,212,104,7,92,83,83,139,172,127,0,227,31,48,17,128,234,0,16,124,200,96,15,15,13,179,17,21,242,0,168,97,156,92,50,187,88,62,232,8,230,94,25,65,141,0,240,201,175,119,108,236,144,87,166,126,146,140,191,26,203,0,61,61,61, -240,254,1,140,127,192,35,1,51,133,8,64,98,32,8,22,135,198,198,216,33,21,4,128,66,27,210,22,145,17,0,186,96,131,131,131,253,36,2,166,122,241,200,99,39,1,64,203,0,74,25,29,29,129,0,0,97,101,252,169,214,89,237,237,178,169,35,161,22,34,0,213,1,32,148,33, -239,157,118,135,149,41,31,167,247,242,113,218,22,76,251,19,236,221,0,135,39,146,32,10,100,38,208,174,174,110,85,38,34,108,87,10,194,197,248,191,240,194,75,236,221,245,239,10,81,123,194,130,5,108,217,178,165,138,4,110,237,193,58,246,206,59,235,69,173, -115,106,90,42,59,237,212,83,152,213,98,81,81,4,84,176,77,91,182,178,190,126,15,139,69,15,14,16,72,239,151,59,146,74,251,190,80,254,88,111,111,159,212,50,242,216,216,216,40,127,127,87,48,5,64,80,35,0,84,130,231,243,249,218,36,91,40,178,206,78,229,9,148, -46,151,155,5,179,14,19,192,248,171,197,63,158,254,39,251,247,51,255,17,194,184,163,179,139,61,253,207,127,177,119,223,93,47,125,60,154,216,94,124,105,21,107,110,105,97,190,129,1,182,103,207,62,246,204,127,158,99,253,253,234,53,225,154,92,29,128,72,0, -8,164,231,110,152,216,221,85,9,180,199,0,137,99,217,46,128,252,213,21,84,17,20,204,15,39,195,59,58,122,168,73,246,253,237,237,237,138,207,33,53,53,5,163,1,132,133,241,95,189,230,21,102,54,143,239,99,65,27,160,208,207,61,123,247,74,31,83,24,126,223,128, -232,145,65,30,14,37,240,181,181,117,176,255,60,247,95,77,68,0,250,4,128,64,10,128,184,137,231,90,9,84,2,200,157,216,41,31,103,162,45,113,47,255,181,39,34,35,0,254,155,48,56,56,216,36,123,1,218,218,148,231,79,164,166,166,34,7,0,132,188,241,95,195,141, -127,60,55,164,147,159,101,165,207,245,225,177,195,159,56,134,193,16,167,145,8,152,84,29,48,10,17,0,180,39,158,63,115,74,233,232,232,144,218,9,112,194,254,181,50,137,42,184,176,17,0,196,208,208,80,189,212,137,115,5,213,214,166,60,2,144,156,156,34,60,28, -228,1,128,80,54,254,166,143,25,127,45,17,34,160,221,47,2,250,85,59,238,145,234,0,59,150,3,128,246,206,103,124,188,242,214,239,100,131,104,57,90,102,25,219,231,243,181,168,33,212,67,90,0,12,15,15,215,203,24,95,74,222,32,245,165,116,253,62,57,57,137,153, -205,102,8,0,0,227,63,21,17,16,231,143,4,60,175,193,114,0,170,3,128,198,240,241,18,111,138,87,124,152,230,230,102,233,247,114,225,80,23,236,203,16,236,70,64,108,112,112,160,153,27,223,41,143,116,138,0,80,3,6,165,30,136,195,225,16,47,76,54,64,59,227,127, -119,88,25,255,143,68,2,184,7,132,156,0,16,106,68,147,0,136,87,46,0,90,91,91,152,130,29,109,15,70,188,0,224,42,168,149,27,223,94,25,1,64,25,152,36,2,148,78,54,201,201,201,16,0,64,67,207,255,68,213,141,255,234,213,193,53,254,31,138,0,131,166,137,129,104, -27,12,212,134,162,189,148,32,171,198,238,175,45,45,173,210,165,132,220,230,64,0,240,137,178,135,68,128,76,51,32,170,193,108,109,109,85,124,30,25,25,233,16,0,64,35,227,175,77,182,63,173,95,234,37,121,85,235,72,128,16,1,72,12,4,170,9,128,113,225,106,52, -42,219,1,150,178,255,105,25,90,178,7,0,243,120,250,177,4,192,161,102,8,245,50,23,145,146,47,154,154,154,20,159,71,118,118,14,67,10,0,8,5,227,127,180,108,127,125,136,128,201,145,0,181,19,3,43,68,98,32,34,1,64,173,8,0,85,157,40,45,1,164,126,27,84,6,40, -217,5,208,203,157,206,166,96,95,11,93,236,130,51,60,60,92,37,251,222,186,186,122,197,159,159,147,147,205,98,99,209,133,12,232,223,248,155,116,104,252,63,26,9,240,39,6,106,80,29,128,102,65,64,21,1,48,38,18,191,149,66,235,255,50,61,0,38,34,223,109,3,3, -3,237,193,190,22,186,16,0,94,175,167,74,102,82,163,11,223,216,216,160,248,243,51,50,50,68,66,8,58,2,2,24,127,53,69,0,170,3,128,62,81,163,157,117,67,67,131,84,15,128,137,125,112,234,70,71,71,7,131,125,29,116,33,0,134,134,134,246,203,188,143,66,47,205, -205,45,98,41,64,9,212,11,192,237,70,75,96,0,227,175,174,8,64,117,0,208,31,228,56,170,33,0,14,30,148,91,194,159,136,0,84,233,161,244,92,39,17,0,111,205,97,138,203,72,8,0,74,194,232,234,82,214,78,153,218,167,166,167,167,41,22,18,0,198,95,109,227,191,58, -196,140,255,209,69,128,6,57,1,136,4,0,9,68,11,224,216,88,49,231,43,165,190,190,78,42,143,96,162,4,112,175,30,174,135,46,4,192,192,192,64,61,159,72,59,100,42,1,104,114,105,106,106,86,124,14,185,185,121,152,80,128,238,140,127,124,8,26,255,143,138,128,118, -141,150,3,38,34,1,168,14,0,83,20,0,70,147,145,25,141,202,218,0,211,118,219,141,141,77,210,155,9,249,124,94,8,128,73,19,105,239,208,208,80,157,76,59,69,186,17,7,15,214,42,62,135,162,162,66,140,14,160,27,227,191,38,196,141,255,135,34,64,227,62,1,168,14, -0,83,20,0,22,139,69,241,184,162,200,51,189,100,42,0,198,198,198,14,113,167,247,0,4,192,135,23,228,240,224,224,224,62,217,155,82,93,93,173,248,28,10,10,10,196,164,130,150,192,64,15,198,223,20,6,198,255,163,145,0,13,247,14,64,117,0,152,130,0,176,89,173, -138,143,67,9,128,30,143,135,73,110,101,223,78,81,111,8,128,143,134,68,118,202,76,120,164,192,106,106,148,71,0,50,51,51,69,34,32,38,18,0,227,175,165,8,208,166,68,16,213,1,224,88,13,48,9,70,165,144,211,57,50,34,183,9,208,208,208,80,13,159,71,250,32,0,38, -225,245,250,118,200,188,143,214,96,26,27,27,69,61,166,18,108,252,161,200,202,202,66,34,32,56,6,227,127,55,140,191,98,17,160,77,78,0,68,0,248,44,239,159,198,175,197,170,188,2,224,192,129,42,22,29,45,183,7,192,224,224,224,110,189,84,156,233,70,0,120,60, -253,123,248,224,157,114,81,37,69,0,58,59,59,133,8,80,74,113,113,17,146,138,192,49,24,255,240,237,237,31,56,17,160,77,117,0,74,4,193,103,9,0,106,161,109,82,152,0,72,199,169,173,173,149,90,255,31,175,0,232,223,166,151,107,162,27,1,64,237,128,185,247,221, -36,19,82,25,24,24,96,213,213,53,138,207,161,188,188,92,74,213,129,72,49,254,218,108,236,179,70,103,189,253,67,61,18,128,13,132,192,209,32,175,219,102,181,41,30,103,157,157,93,162,5,189,76,5,0,137,7,254,204,111,135,0,248,24,195,195,195,3,92,4,236,149, -185,57,116,81,247,238,85,94,85,81,88,88,36,150,2,208,16,8,28,221,248,35,236,175,77,36,64,11,17,128,234,0,240,73,18,18,236,138,143,113,240,224,65,169,61,0,104,140,115,219,226,29,28,28,216,7,1,112,20,60,30,207,102,153,198,10,116,35,246,239,223,175,248, -243,169,25,80,90,26,26,2,1,24,255,192,139,0,84,7,0,109,33,59,145,96,87,46,0,246,237,219,39,213,2,120,194,209,173,241,249,124,205,122,185,38,58,19,0,253,155,100,222,71,161,152,186,186,58,214,215,167,44,177,146,142,83,90,90,42,125,115,1,140,63,140,191, -172,8,120,94,163,156,0,136,0,64,225,255,195,226,153,176,88,148,111,2,180,123,247,110,169,113,59,177,92,189,99,84,71,137,102,186,18,0,253,253,158,29,212,36,65,70,217,81,59,224,218,218,131,138,207,97,198,140,233,24,45,48,254,200,246,15,184,8,104,103,255, -121,86,109,17,96,68,137,32,16,80,167,121,122,14,100,18,247,62,62,55,84,85,85,73,173,255,83,116,187,183,183,119,163,158,174,139,174,4,128,207,231,171,230,23,184,94,178,182,146,237,217,179,91,241,57,148,151,79,19,91,69,162,33,16,140,191,38,217,254,48,254, -159,34,2,12,172,173,189,99,66,4,168,157,19,80,137,234,128,136,23,0,135,153,211,225,80,124,28,106,255,219,220,220,44,221,2,184,191,191,111,147,158,174,139,174,4,192,240,240,208,160,207,231,221,46,187,193,194,142,29,59,21,159,67,78,78,182,216,30,24,203, -0,145,108,252,53,204,246,135,241,255,236,72,64,187,22,137,129,70,84,7,68,56,228,249,59,18,18,20,31,135,214,255,189,94,239,148,55,1,154,232,0,216,235,241,120,119,65,0,124,6,30,143,103,131,204,4,73,19,55,37,2,210,222,0,74,160,227,76,155,54,13,2,32,162, -141,63,194,254,65,21,1,148,19,240,172,118,187,8,162,215,71,100,65,85,93,116,255,173,42,52,0,218,190,125,187,84,116,120,162,1,208,158,193,193,129,86,8,128,207,160,183,183,239,61,153,247,81,72,134,66,51,148,12,168,148,217,179,103,97,212,192,248,195,248, -7,61,18,160,77,98,32,109,32,132,156,128,200,129,12,182,35,193,174,120,253,159,142,67,9,128,178,235,255,30,79,255,70,189,149,152,235,80,0,244,110,147,233,147,76,147,43,181,3,166,27,164,148,25,51,102,176,132,132,4,244,3,128,241,135,241,15,118,36,0,123, -7,0,21,4,128,211,233,84,124,156,150,150,22,225,96,210,124,33,67,127,191,231,109,189,93,27,221,9,128,161,161,193,214,161,161,161,29,178,121,0,155,55,111,81,124,14,233,233,233,44,63,63,31,203,0,17,99,252,145,237,175,107,17,240,44,246,14,0,178,198,127,124, -89,215,233,84,158,0,184,123,247,30,81,106,46,99,155,184,51,57,210,211,211,243,1,4,192,231,95,40,202,3,88,31,21,53,245,83,163,27,77,17,0,165,121,0,52,97,211,50,0,4,64,164,24,127,100,251,235,90,4,180,251,115,2,80,29,0,166,42,0,198,152,197,98,97,230,248, -120,197,199,218,188,121,179,84,84,120,162,74,173,202,235,245,84,235,237,250,68,235,241,166,245,244,116,175,147,153,55,105,109,134,122,52,215,212,40,223,23,224,184,227,230,137,210,36,148,3,134,179,241,71,182,127,72,137,0,84,7,0,9,135,210,229,114,42,30, -139,20,41,218,177,99,59,183,49,83,15,255,71,71,199,208,50,214,250,81,29,182,152,213,169,0,232,221,200,47,248,148,247,247,245,231,1,108,221,186,85,241,57,148,149,149,162,45,112,216,27,127,132,253,67,74,4,104,184,139,32,68,64,120,66,225,250,68,183,75,241, -113,26,26,26,216,193,131,180,254,63,245,4,64,154,10,122,123,123,222,212,229,245,209,227,73,13,12,248,26,6,7,7,119,200,238,11,240,193,7,202,123,45,196,199,199,179,202,202,74,197,203,9,0,198,31,168,45,2,52,170,14,64,219,224,240,242,254,197,246,191,241, -170,244,255,39,167,210,227,241,200,174,255,143,114,167,246,93,8,128,99,132,15,194,195,125,125,125,111,201,246,3,160,142,128,180,91,147,82,78,56,97,1,38,115,24,127,24,127,61,138,128,103,81,29,0,62,199,240,30,26,99,78,71,130,226,242,63,98,227,198,15,164, -198,54,9,134,161,161,161,125,94,175,231,0,4,192,20,232,234,234,124,77,230,130,83,30,0,245,21,87,163,28,112,214,172,89,44,41,41,9,19,2,140,63,140,191,222,68,64,187,86,34,0,213,1,225,2,13,199,164,196,68,197,199,161,206,127,59,119,238,20,57,97,83,63,135, -40,122,70,223,30,213,233,90,178,110,5,0,247,224,223,231,19,119,143,100,4,129,109,216,176,65,241,57,80,237,40,245,4,160,125,6,64,168,27,127,148,250,65,4,76,77,4,32,39,32,116,161,228,109,163,209,168,74,253,63,149,255,81,15,0,153,6,64,52,47,116,117,117, -189,162,215,235,164,91,1,48,48,48,208,238,243,249,54,202,172,185,208,132,191,105,211,102,85,84,60,101,137,163,18,32,28,60,127,109,178,253,97,252,117,32,2,158,211,102,3,33,36,6,134,46,148,253,79,181,255,244,140,40,229,189,247,54,72,231,130,113,27,228, -237,233,233,126,7,2,64,66,193,117,119,119,173,150,21,0,181,181,181,172,186,90,121,217,229,188,121,243,152,219,237,70,72,48,164,141,63,60,255,176,22,1,154,236,29,128,18,193,144,142,0,240,87,114,82,146,42,66,130,214,255,227,226,166,30,254,39,219,197,29, -217,45,220,145,109,128,0,144,160,187,187,251,181,195,18,238,183,191,28,112,253,122,229,203,0,148,3,80,81,81,129,101,0,24,127,193,211,212,228,103,53,140,191,126,35,1,168,14,136,120,227,207,77,134,201,104,100,110,151,242,240,127,117,117,141,232,43,35,19, -73,32,1,192,189,255,53,122,110,41,175,107,1,208,215,215,183,157,27,222,253,178,201,128,106,228,1,16,167,158,122,42,150,1,96,252,143,116,248,139,143,135,241,215,111,36,0,213,1,145,142,104,254,35,194,255,6,197,199,162,240,191,199,227,149,30,239,220,137, -93,163,231,107,165,107,1,192,39,243,225,158,158,158,215,101,202,56,232,230,239,217,179,71,52,112,80,202,241,199,207,99,201,201,201,152,0,34,220,248,35,236,31,34,145,0,84,7,68,60,41,41,41,170,28,231,157,119,222,229,206,228,212,237,207,196,246,191,181, -93,93,93,155,33,0,20,192,5,192,11,82,95,44,58,90,108,220,240,222,123,239,41,62,7,202,36,61,238,184,227,232,134,98,100,193,248,227,98,135,140,8,208,102,3,33,228,4,232,151,195,19,205,127,212,8,255,55,54,54,10,39,82,38,146,64,246,135,139,208,215,248,188, -52,0,1,160,128,206,206,206,183,249,69,236,148,109,194,240,214,91,235,84,57,143,51,206,88,36,213,5,10,192,248,131,32,137,128,231,254,139,234,128,8,131,34,52,137,110,183,84,201,222,199,121,247,221,119,165,119,255,163,185,162,163,163,227,191,122,191,94, -186,183,104,3,3,190,46,126,19,214,202,220,4,170,3,165,6,14,77,77,205,138,207,99,206,156,57,44,39,39,7,59,4,194,248,131,80,17,1,168,14,136,56,200,78,164,166,170,19,254,39,231,81,102,249,153,230,138,225,225,225,174,174,174,206,183,32,0,84,160,167,167,251, -57,25,1,48,158,133,217,35,148,156,26,234,255,148,83,78,70,53,64,132,24,255,167,97,252,195,40,18,128,234,128,72,128,146,255,104,137,134,218,255,42,133,114,199,148,116,255,243,122,189,107,7,6,6,58,33,0,84,160,163,163,115,205,232,232,168,71,102,34,38,5, -183,118,237,27,170,156,199,226,197,75,152,217,108,70,69,64,4,120,254,171,133,241,143,135,241,15,151,72,192,115,26,85,7,88,145,24,168,39,1,144,146,156,172,202,152,93,183,238,109,177,159,140,172,227,201,221,255,103,67,34,98,18,10,39,201,7,110,147,199,227, -121,91,230,198,146,130,219,185,115,23,171,171,171,83,124,30,69,69,69,104,13,172,43,227,175,117,123,95,92,235,176,18,1,90,84,7,204,162,196,64,68,2,130,13,57,101,52,39,168,17,254,167,99,189,249,230,90,233,214,191,252,89,240,180,183,183,175,9,133,235,22, -34,89,109,135,89,103,103,199,191,100,213,24,37,114,172,93,171,124,59,102,50,8,203,150,45,101,163,163,24,236,250,240,252,209,222,23,76,65,4,104,86,29,48,19,213,1,58,240,254,221,46,23,51,199,199,43,62,86,85,85,21,219,181,107,183,200,33,147,17,0,30,79,255, -90,254,106,130,0,80,145,246,246,142,151,168,175,178,204,123,201,96,188,241,198,27,170,168,244,147,79,62,153,101,100,164,51,157,110,238,20,65,198,31,9,127,64,70,4,180,79,36,6,170,95,34,136,196,192,224,146,145,158,166,202,113,200,86,208,14,128,178,149, -103,29,29,29,255,10,149,107,22,50,2,128,43,170,6,143,199,243,150,108,83,160,125,251,246,169,178,69,112,66,66,2,59,245,212,133,108,112,16,203,0,48,254,32,244,68,128,97,34,18,160,149,8,176,65,4,4,193,251,183,90,173,204,237,118,169,50,207,80,180,88,182, -139,32,119,50,251,185,179,250,50,4,128,202,208,186,76,103,103,199,223,101,107,50,169,137,15,77,242,106,176,124,249,114,102,177,196,35,25,16,198,31,132,108,36,192,223,39,64,253,196,64,84,7,4,94,0,164,165,166,170,210,167,101,203,150,173,98,9,128,230,155, -169,66,206,41,119,82,95,243,122,61,205,161,114,237,66,170,179,77,107,107,235,75,212,29,88,102,162,166,193,185,110,221,58,17,218,81,10,37,3,206,158,61,7,157,1,195,198,248,35,219,63,114,69,0,170,3,66,25,114,194,140,220,91,79,79,83,167,246,127,213,170,85, -98,121,87,102,62,160,247,180,181,181,254,61,148,28,195,144,18,0,220,120,183,246,246,246,173,145,81,122,148,209,73,181,157,106,244,4,32,206,61,247,28,140,190,128,25,127,100,251,3,13,68,64,28,85,7,180,163,58,32,132,161,235,155,148,148,40,174,185,82,186, -186,186,216,250,245,235,165,142,69,198,159,59,167,29,220,73,93,21,74,215,47,228,122,219,182,183,183,63,33,235,173,209,251,94,126,89,157,251,179,96,193,2,17,9,24,30,30,198,40,212,220,243,71,182,63,208,42,18,96,208,180,89,16,170,3,52,54,96,49,49,44,43, -51,83,149,99,173,93,187,150,11,194,54,169,238,127,228,148,114,231,244,133,193,193,193,46,8,0,13,105,107,107,93,51,52,52,212,32,51,113,83,89,199,166,77,155,88,109,109,173,42,19,199,217,103,47,135,0,208,220,248,99,205,31,104,45,2,38,34,1,207,169,93,34, -136,182,193,90,123,255,180,237,111,66,130,93,241,177,40,108,191,106,213,106,41,227,239,167,165,165,249,111,33,39,160,66,237,132,185,193,245,246,244,116,255,91,86,165,145,202,87,43,10,64,61,1,210,211,81,18,168,141,241,191,27,198,31,4,54,18,208,214,129, -18,193,16,35,91,37,239,127,199,142,29,226,37,91,251,207,157,210,3,157,157,250,239,253,31,242,2,128,104,109,109,253,219,97,201,76,11,186,193,175,190,250,42,243,249,124,138,207,35,33,193,193,150,46,93,138,100,64,77,60,127,132,253,65,16,34,1,237,90,108, -32,132,189,3,212,134,50,255,237,118,27,75,74,76,84,229,120,207,63,255,130,136,230,202,182,155,239,232,104,127,146,207,95,33,87,27,30,146,2,128,43,173,141,220,128,111,148,73,6,36,3,67,109,129,213,218,38,248,188,243,206,101,78,167,19,3,91,85,227,143,108, -127,16,100,17,128,234,0,221,11,128,172,204,12,22,21,173,124,60,119,116,116,112,123,240,150,116,34,33,247,69,71,218,218,218,158,8,197,235,24,146,2,128,15,160,195,173,173,255,159,189,243,128,143,178,202,250,255,49,33,129,144,94,73,66,26,1,18,122,177,163, -139,34,96,67,87,101,85,220,85,217,93,69,221,85,81,177,238,170,232,234,174,13,235,139,117,197,142,138,40,34,32,210,171,128,210,33,129,36,147,222,51,51,169,51,153,36,83,210,248,223,115,147,193,44,127,11,204,60,211,127,223,247,243,188,9,172,204,60,229,62, -247,252,78,185,231,214,46,182,117,221,231,105,167,249,9,197,167,204,86,205,156,2,152,54,109,42,162,0,138,24,127,84,251,3,55,17,1,216,59,192,141,141,255,49,10,9,14,166,248,248,120,69,62,111,227,198,77,92,92,78,118,164,149,191,215,233,116,249,16,0,78,68, -171,213,46,235,236,236,180,177,39,64,127,217,240,33,39,39,87,145,115,153,53,107,22,5,139,1,201,170,20,216,227,249,35,236,15,124,33,18,128,213,1,246,9,128,46,74,18,222,127,63,59,10,246,172,112,216,127,221,186,181,54,119,254,99,1,32,108,209,71,158,218, -20,206,99,5,128,209,216,86,43,84,215,74,91,59,3,242,142,126,43,87,174,84,228,92,134,12,25,66,83,167,94,68,38,147,9,111,167,91,122,254,48,254,192,214,72,0,86,7,184,149,241,23,134,118,224,192,32,197,250,254,115,95,152,162,162,98,155,4,0,207,43,66,64,212, -212,213,213,174,246,212,251,233,231,201,131,65,163,81,127,96,235,228,206,134,97,199,142,157,226,51,148,233,218,120,195,13,55,80,80,80,16,162,0,240,252,129,87,137,128,192,222,102,65,14,220,59,0,187,139,158,188,0,16,130,137,115,255,182,180,234,253,57,86, -172,176,221,9,228,148,65,99,99,227,18,179,217,220,226,169,247,211,163,5,64,67,67,227,143,109,109,109,54,21,3,242,195,211,233,154,104,245,106,101,196,91,70,70,6,93,112,193,100,68,1,78,217,248,195,243,7,30,32,2,28,185,119,64,24,106,2,78,6,14,179,7,5,13, -16,222,127,162,34,159,151,155,155,75,7,15,30,180,171,248,79,56,161,31,121,242,61,245,104,1,208,221,221,213,93,91,91,187,200,214,98,64,126,240,235,214,173,39,131,193,160,200,249,204,158,61,155,6,14,28,136,40,0,140,63,240,58,17,224,192,194,64,172,14,56, -41,186,164,247,159,100,115,190,254,68,150,47,95,46,83,193,182,46,253,211,235,245,155,116,58,157,202,147,239,169,159,167,15,10,181,90,189,172,189,189,163,214,150,135,104,221,31,64,169,198,64,28,5,152,58,117,42,162,0,191,105,252,145,243,7,30,42,2,28,85, -24,56,177,167,48,16,34,224,151,189,127,206,253,115,248,95,9,120,41,56,111,251,203,105,91,91,224,57,70,171,213,190,227,233,59,194,122,188,0,48,155,77,250,198,198,134,79,109,109,225,200,106,114,213,170,149,82,9,42,193,205,55,223,36,247,166,70,20,224,215, -140,63,114,254,192,147,35,1,142,40,12,228,72,192,4,172,14,248,21,239,63,37,57,89,177,220,255,242,229,223,200,200,175,45,209,99,254,55,194,201,203,171,173,213,110,240,244,251,234,231,13,131,67,120,241,239,29,59,214,109,177,237,133,14,148,85,160,91,183, -110,85,228,92,210,211,211,233,178,203,46,83,164,211,160,247,25,127,20,252,1,111,16,1,189,109,131,191,93,141,213,1,78,128,157,41,94,247,159,52,88,153,220,63,111,248,179,113,227,70,155,189,255,222,165,127,239,118,118,118,118,64,0,184,1,6,67,115,161,78, -167,95,109,107,20,128,83,1,95,125,181,76,177,158,254,28,5,136,138,138,66,56,143,144,243,7,222,30,9,192,234,0,103,8,128,180,180,84,57,79,43,193,55,223,172,144,221,255,108,177,23,60,207,8,59,81,175,209,168,63,247,134,123,235,21,2,128,243,48,213,213,85, -175,219,106,4,120,127,0,149,42,143,118,236,216,161,200,249,112,119,192,153,51,103,146,209,232,219,181,0,48,254,192,39,34,1,171,28,181,58,0,53,1,108,252,121,183,191,196,4,101,186,254,53,53,233,104,205,154,239,108,174,252,103,209,80,87,87,183,216,104,52, -54,66,0,184,17,141,141,141,187,218,218,90,119,218,186,34,192,207,207,159,190,248,226,11,197,94,184,63,254,241,6,217,173,138,141,32,140,191,178,198,127,25,140,63,112,167,72,128,131,59,6,250,178,8,96,231,46,125,200,16,178,117,94,63,17,110,254,166,213,214, -218,28,77,16,130,196,84,83,83,253,142,183,220,95,175,17,0,188,63,64,85,85,229,255,217,58,80,56,10,112,228,200,81,197,162,0,17,17,17,50,21,160,84,113,161,103,26,127,199,84,251,111,132,241,7,238,38,2,28,182,68,208,119,69,0,95,115,76,116,52,13,138,139,85, -228,243,116,58,157,20,0,246,120,255,122,189,110,185,193,96,40,129,0,112,67,132,178,91,109,54,155,115,108,53,12,44,30,62,255,124,137,98,47,219,85,87,93,69,163,71,143,246,41,17,128,106,127,224,187,145,0,172,14,80,212,56,137,249,120,216,208,116,197,62,143, -187,254,113,231,87,59,106,9,186,42,42,42,94,243,244,165,127,94,43,0,184,42,83,60,224,255,179,181,24,144,95,182,163,71,143,210,246,237,219,21,154,20,2,233,246,219,111,151,97,44,111,26,52,191,109,252,81,237,15,124,81,4,4,58,168,48,208,247,86,7,112,65,118, -98,66,130,204,255,43,65,99,99,35,125,243,205,55,118,121,255,58,157,110,157,248,156,67,94,37,178,188,109,224,84,87,87,125,33,60,238,82,91,141,4,63,232,79,63,253,76,177,220,253,249,231,159,71,23,94,120,161,215,23,4,162,224,15,128,19,151,8,42,159,14,144, -171,3,188,92,4,176,179,196,41,217,161,233,105,202,205,33,95,45,163,218,90,219,115,255,60,239,104,52,234,151,188,237,94,123,157,0,16,198,223,168,86,171,23,218,26,5,224,129,151,151,151,39,215,137,42,197,223,254,118,135,87,231,241,96,252,1,232,43,2,250, -214,4,40,157,14,24,39,35,1,222,92,19,192,215,54,36,45,213,102,111,253,68,180,90,45,173,90,181,202,174,117,255,173,173,173,219,234,234,234,118,120,219,189,246,243,198,1,84,85,85,249,161,16,2,213,182,26,12,54,102,28,5,80,170,165,47,111,23,60,107,214,245, -94,25,5,112,142,241,15,130,241,7,158,39,2,234,29,215,39,192,91,29,10,235,178,191,148,228,36,197,62,243,179,207,62,151,41,0,91,157,66,22,0,149,149,149,207,123,227,253,246,74,1,208,222,222,222,170,86,215,188,110,79,123,224,146,146,18,90,185,114,149,98, -231,116,243,205,55,211,176,97,67,249,220,96,252,79,217,243,135,65,1,158,40,2,250,110,37,140,213,1,39,75,198,240,225,138,45,251,43,45,45,165,181,107,215,202,77,218,236,240,254,183,107,181,154,77,222,56,70,253,188,245,229,227,246,192,22,139,69,109,207, -78,129,220,23,128,151,142,40,65,112,112,48,221,117,215,157,242,133,245,134,130,64,132,253,1,56,73,17,112,124,117,128,210,34,192,187,86,7,244,20,254,197,83,116,84,164,98,159,249,209,71,31,11,3,222,70,182,247,135,97,239,191,226,89,111,221,219,197,107,5, -128,48,254,122,181,90,253,50,55,248,177,5,46,22,225,37,35,75,150,124,161,216,57,93,112,193,5,52,125,250,116,143,223,39,0,198,31,0,27,34,1,138,47,17,244,158,213,1,221,194,41,226,119,126,248,176,161,138,125,230,225,195,135,105,219,182,109,114,23,65,91, -224,8,50,123,255,181,181,181,155,189,117,108,250,121,243,139,87,93,93,245,158,197,98,174,176,213,144,112,216,104,197,138,21,84,81,81,161,216,57,221,125,247,93,20,29,29,173,216,190,3,48,254,0,120,138,8,176,182,13,118,208,222,1,30,44,2,186,197,185,243, -154,127,46,194,86,228,243,132,199,254,222,123,239,203,121,214,214,185,132,255,93,101,101,229,179,222,92,112,233,213,2,192,98,177,180,170,213,234,5,246,20,127,240,150,145,239,191,255,129,98,231,148,144,144,64,183,221,118,27,153,205,102,24,127,24,127,224, -83,34,160,183,109,176,67,68,128,231,174,14,224,115,142,141,141,81,108,183,63,102,211,166,77,116,240,224,65,123,43,255,55,214,214,106,55,123,243,152,244,243,246,151,174,186,186,234,227,246,246,246,66,123,162,0,188,85,240,254,253,251,21,59,167,153,51,175, -161,73,147,38,121,84,42,0,198,31,0,165,68,0,86,7,88,225,122,168,128,128,126,52,34,99,184,98,159,41,12,55,125,240,193,135,118,237,30,40,230,161,238,146,146,226,167,188,189,5,179,215,11,0,139,197,98,170,168,40,255,183,173,81,0,54,72,28,78,122,247,221,119, -21,107,14,196,234,114,222,188,251,196,203,26,234,17,47,43,140,63,0,74,138,128,190,29,3,125,123,117,0,159,103,122,250,16,89,36,173,20,95,124,177,148,202,202,202,228,125,182,133,158,174,127,77,43,234,235,235,119,123,251,88,244,243,133,23,174,186,186,122, -105,91,91,219,1,123,86,4,100,103,31,145,205,36,148,34,61,61,157,230,204,185,85,177,94,3,48,254,0,120,160,8,112,72,179,160,241,30,177,58,128,141,63,215,67,165,38,39,43,246,153,21,21,149,244,229,151,95,218,28,250,239,117,250,218,43,42,42,158,242,133,113, -232,19,2,64,12,180,174,202,202,202,249,182,70,1,172,47,214,199,31,127,66,66,21,42,118,94,179,102,205,114,235,84,0,140,63,0,14,22,1,14,76,7,184,243,234,0,107,232,127,228,136,12,69,223,255,119,223,253,175,172,219,178,117,174,231,180,65,109,109,237,135, -141,141,141,57,16,0,94,132,86,171,217,208,220,172,95,103,107,20,160,119,96,208,251,239,191,175,216,57,241,32,125,240,193,7,40,34,34,220,237,86,5,192,248,3,224,172,72,64,131,195,154,5,185,235,234,128,46,89,245,63,148,66,20,12,253,127,255,253,14,218,186, -117,155,205,77,127,120,46,18,231,213,92,86,86,250,172,175,140,63,159,17,0,60,224,74,75,75,31,19,2,192,230,68,62,231,169,190,251,110,13,29,56,112,80,177,243,74,77,77,165,187,238,186,203,173,182,12,134,241,7,192,153,34,192,186,58,192,17,205,130,220,111, -117,0,59,59,131,226,226,20,109,247,219,214,214,70,239,188,243,142,116,170,236,217,8,142,123,199,180,182,182,86,67,0,120,33,13,13,13,89,28,222,177,103,71,40,46,8,124,243,205,55,21,53,216,87,95,125,53,93,124,241,197,114,16,195,248,3,224,171,34,192,81,29, -3,221,167,48,144,231,79,62,39,14,253,43,201,226,197,159,202,246,237,182,22,254,241,124,212,222,222,94,42,188,255,133,190,52,238,252,124,237,69,43,47,47,123,90,188,8,141,182,26,32,30,188,185,185,185,178,210,84,73,30,120,224,126,26,60,120,176,75,247,10, -248,201,248,255,7,198,31,0,167,139,0,7,23,6,134,184,94,4,112,238,127,100,102,134,98,59,253,49,42,149,74,22,254,217,26,250,183,122,255,85,85,149,79,136,249,183,197,151,198,156,207,9,0,161,174,53,213,213,85,207,217,179,70,148,43,76,63,253,180,71,113,42, -5,87,195,62,242,200,35,199,85,178,107,61,255,243,97,252,1,112,149,8,112,84,97,224,68,215,174,14,224,208,63,135,253,7,13,138,83,244,51,23,46,124,93,54,86,179,189,223,63,183,252,109,249,190,178,178,242,11,95,27,111,126,190,248,146,137,7,253,150,201,100, -58,106,235,128,233,237,17,45,7,94,119,183,114,27,251,76,154,116,46,205,158,125,51,181,181,57,119,85,0,194,254,0,184,99,36,192,17,171,3,38,184,100,117,0,71,30,194,195,195,41,99,248,48,69,63,119,217,178,101,118,117,252,99,196,180,212,89,92,92,252,176,56, -199,99,190,54,214,124,82,0,88,4,101,101,101,143,216,179,229,36,135,155,246,236,217,67,223,124,179,92,209,115,155,51,103,142,16,2,231,56,109,105,32,140,63,0,110,28,9,80,124,117,128,243,55,16,226,176,63,71,92,199,140,26,73,246,44,197,62,145,242,242,114, -250,240,195,143,236,74,39,244,174,238,122,175,161,161,97,191,47,142,51,63,95,125,193,212,234,154,245,58,157,110,153,61,3,146,55,174,88,180,232,61,142,40,40,118,94,108,140,31,125,244,81,138,141,141,117,120,61,0,140,63,0,238,46,2,26,28,86,24,232,172,213, -1,156,210,28,145,153,33,211,15,74,126,230,107,175,189,38,215,252,219,83,212,221,213,213,169,21,66,226,41,95,29,99,62,43,0,88,149,22,23,23,61,34,126,54,219,106,160,120,224,53,55,55,203,129,200,159,167,20,137,137,137,244,207,127,254,227,248,64,135,241, -7,192,87,69,64,64,159,173,132,61,111,117,0,231,232,147,147,6,211,224,196,4,69,63,247,235,175,191,166,31,127,220,109,119,225,159,48,254,243,91,91,91,234,32,0,124,16,97,188,203,171,171,171,255,99,79,20,128,7,224,174,93,63,200,1,169,36,108,148,111,185,229, -22,135,44,13,68,181,63,0,30,22,9,112,164,8,112,208,234,0,254,204,200,200,8,202,84,112,163,31,134,251,252,243,86,191,246,228,253,123,118,251,107,217,94,89,89,249,145,47,143,45,63,95,127,185,74,75,75,94,55,153,76,7,237,169,7,224,23,233,221,119,23,113,163, -33,69,207,237,214,91,111,161,105,211,166,41,250,210,163,218,31,0,136,128,255,17,1,214,213,1,157,202,137,0,142,92,242,57,143,25,61,74,209,188,63,71,20,94,126,249,21,187,218,253,50,98,126,178,20,23,23,207,19,34,165,219,151,199,149,207,11,0,49,160,58,138, -138,138,238,17,2,192,230,209,207,169,0,94,21,240,210,75,47,41,182,99,160,85,165,62,246,216,163,52,102,204,24,249,249,246,98,177,180,195,243,7,192,211,69,128,67,250,4,76,160,240,240,48,69,90,146,179,241,231,185,107,220,216,209,20,108,71,136,254,231,248, -244,211,207,104,223,190,125,118,133,254,121,190,214,104,52,175,52,52,52,100,251,250,152,242,195,107,69,226,165,170,221,45,6,196,27,246,246,6,216,191,255,160,220,48,72,73,120,233,204,139,47,190,72,227,198,141,147,202,223,214,90,3,78,37,240,158,3,47,188, -240,60,60,127,0,60,89,4,212,55,56,96,137,96,127,58,99,226,4,138,139,141,165,14,33,2,108,157,103,88,64,176,147,49,113,252,56,138,142,138,82,244,218,143,28,57,42,230,215,143,237,50,254,44,76,204,102,179,74,56,125,207,98,52,65,0,28,167,164,164,248,95,237, -237,237,197,246,24,176,224,224,129,180,120,241,98,58,120,240,144,162,231,22,23,23,75,11,23,190,70,87,95,125,149,108,120,193,199,201,194,43,9,56,122,112,214,89,103,209,219,111,191,69,231,156,115,14,140,63,0,30,45,2,122,247,14,248,86,217,37,130,252,185, -19,39,140,163,17,25,195,101,120,189,243,20,132,0,231,251,249,136,141,137,161,179,207,58,131,162,163,149,53,254,60,135,45,88,176,64,206,103,246,164,107,197,191,61,86,90,90,58,183,163,163,221,136,145,4,1,112,28,97,84,13,37,37,37,247,216,147,87,226,129, -201,47,1,15,84,189,94,175,232,249,133,132,132,210,19,79,60,33,61,248,81,163,70,201,189,8,248,165,224,159,252,162,114,216,141,15,254,157,255,142,61,126,147,201,68,105,105,105,244,248,227,143,209,27,111,188,46,127,135,241,7,192,75,68,128,3,106,2,248,61, -30,146,150,74,231,156,125,38,165,166,36,83,160,240,230,121,78,227,121,133,127,90,231,25,78,157,119,246,254,61,139,4,46,246,27,63,118,12,157,113,250,4,197,195,254,12,239,191,82,88,88,104,247,154,255,250,250,186,119,212,234,154,173,24,65,189,247,4,183, -224,39,212,234,234,245,49,49,49,139,98,99,99,239,176,53,23,198,189,1,184,74,149,151,6,62,253,244,211,138,159,227,148,41,83,104,242,228,201,114,71,194,93,187,118,201,62,216,13,13,13,199,163,2,252,253,220,86,56,35,35,131,206,59,239,60,225,241,159,45,255, -78,105,96,252,1,112,181,8,248,169,48,240,154,171,174,164,208,208,80,197,62,155,141,248,200,17,153,52,52,125,8,53,233,244,210,161,105,51,26,169,163,163,147,215,80,147,127,63,127,26,208,127,128,44,30,140,138,140,164,176,176,80,135,93,231,250,245,235,105, -229,202,85,114,55,86,123,132,77,123,123,123,137,16,17,143,97,228,64,0,252,44,28,237,42,42,42,252,71,120,120,248,197,254,254,254,67,108,205,131,133,132,132,208,186,117,235,101,222,254,218,107,175,85,252,60,57,74,193,134,157,15,134,43,98,173,187,19,242, -164,16,22,22,230,80,163,12,227,15,128,59,138,128,223,43,218,108,199,250,249,241,131,226,228,225,10,172,206,20,215,21,216,51,215,240,156,89,80,80,112,151,201,100,106,198,168,249,9,164,0,78,192,104,52,234,75,75,75,238,178,119,233,10,27,199,55,223,124,139, -242,242,242,28,126,206,108,240,185,115,32,31,92,52,8,227,15,128,47,138,0,101,11,3,93,13,71,53,159,125,246,89,106,110,182,189,219,159,244,114,101,232,191,158,67,255,27,49,90,32,0,126,147,234,234,234,245,98,192,188,101,207,160,99,1,193,3,248,153,103,158, -149,30,186,55,0,227,15,128,155,139,128,85,222,35,2,56,239,159,149,149,109,119,195,159,142,142,246,130,194,194,130,127,98,148,64,0,156,52,42,149,234,159,188,92,196,222,6,65,69,69,69,244,210,75,47,195,248,3,0,28,47,2,28,176,58,192,21,172,89,179,134,150, -137,57,135,211,169,246,32,230,170,174,130,130,130,59,76,38,147,1,35,4,2,224,164,105,111,183,180,22,21,21,222,46,4,128,93,157,49,120,0,111,216,176,129,62,251,236,51,24,127,0,128,131,69,128,99,86,7,56,147,252,252,124,122,245,213,215,164,160,177,103,190, -233,109,248,243,130,86,171,221,129,145,1,1,112,202,212,214,214,254,80,85,85,245,31,123,82,1,12,135,176,254,251,223,119,229,246,193,48,254,0,0,135,71,2,28,208,49,208,25,240,106,131,127,255,251,63,114,59,116,123,230,93,142,220,138,207,216,93,92,92,244, -52,70,4,4,128,205,136,1,244,108,107,107,235,118,123,251,3,240,138,2,174,7,168,170,170,246,152,107,95,6,227,15,128,231,138,128,250,122,250,246,187,53,178,31,136,39,192,253,5,158,127,254,5,153,54,181,39,239,207,115,149,56,12,42,85,222,173,237,237,237,29, -24,13,16,0,54,211,37,200,203,203,157,35,6,103,163,61,70,144,95,200,122,241,66,114,111,0,86,183,238,206,218,117,235,105,195,198,77,48,254,0,120,176,8,208,104,106,197,123,188,133,186,143,185,255,158,55,188,161,218,214,173,91,101,218,212,158,237,213,57, -114,80,94,94,118,191,78,167,203,199,40,128,0,176,27,131,193,80,90,86,86,106,247,210,64,238,97,157,157,157,77,47,190,248,146,91,95,111,94,158,138,86,175,254,14,198,31,0,15,167,127,255,64,42,46,41,161,67,135,178,220,250,60,185,111,202,39,159,124,98,87, -159,127,171,241,111,104,104,248,84,204,215,31,226,233,67,0,40,70,121,121,249,87,245,245,117,111,217,91,15,192,234,150,43,92,63,252,208,61,199,39,239,24,184,124,249,55,82,129,219,179,2,2,0,224,30,112,19,157,125,251,15,146,94,239,158,61,112,142,28,57,34, -119,82,229,243,180,179,207,63,47,189,206,83,169,84,247,116,119,31,195,131,135,0,80,150,252,252,252,135,76,38,227,126,123,13,35,171,220,247,223,255,128,54,108,112,191,190,20,92,168,88,89,85,37,195,135,0,0,47,152,228,123,10,226,232,112,150,251,237,126, -171,86,171,233,95,255,122,74,246,76,177,199,185,234,201,251,147,41,63,95,245,103,179,25,221,254,32,0,28,226,29,91,204,121,121,170,217,226,87,157,61,161,113,126,33,57,157,192,155,6,113,74,192,93,224,205,62,126,248,225,71,178,55,202,1,0,112,191,40,64,81, -113,137,91,21,4,242,102,102,79,60,241,164,20,1,246,238,87,210,147,247,47,127,160,161,161,225,32,158,54,4,128,195,208,233,154,10,74,74,138,239,176,183,30,128,7,44,171,94,126,1,42,43,43,221,226,218,42,43,171,168,70,188,140,253,196,100,1,0,240,174,40,64, -139,48,184,85,213,53,110,227,108,240,170,40,14,255,43,148,247,255,184,180,180,244,191,120,210,16,0,14,167,162,162,226,107,141,70,243,162,189,158,50,23,217,213,213,213,209,252,249,243,21,223,62,216,22,184,88,136,247,219,70,217,31,0,94,200,177,99,66,224, -107,220,226,84,22,46,124,157,54,111,222,98,119,167,63,118,196,140,70,227,33,149,42,111,174,61,43,7,32,0,192,41,81,80,144,255,88,75,75,203,70,123,34,1,60,96,121,189,107,126,126,1,61,249,228,191,200,98,49,187,244,154,132,168,65,213,63,0,94,10,191,219,122, -157,235,29,141,197,139,23,211,210,165,75,133,241,15,182,251,122,196,28,218,40,140,255,159,204,102,115,27,158,48,4,128,211,232,236,236,236,202,201,201,249,179,248,89,106,175,209,228,125,174,119,239,222,77,207,61,247,188,108,134,225,42,184,117,40,42,255, -1,240,210,201,94,188,219,38,179,153,92,233,41,127,247,221,119,244,206,59,255,149,142,143,189,243,166,112,190,142,21,23,23,221,170,211,233,10,241,116,33,0,156,78,91,91,107,109,94,94,222,159,252,252,252,141,246,14,102,14,133,173,93,187,142,22,46,92,232, -178,235,233,234,234,198,67,5,192,139,113,165,241,223,185,115,39,45,88,240,162,221,203,253,24,78,191,170,213,53,243,43,43,43,191,197,83,133,0,112,25,245,245,117,251,138,139,11,255,102,111,81,160,53,18,240,197,23,75,233,131,15,62,112,201,181,112,211,16, -228,209,0,240,94,227,31,40,140,175,43,210,124,135,15,31,166,167,158,122,90,158,131,18,5,212,77,77,77,75,84,42,213,115,120,170,16,0,46,167,162,162,226,51,181,90,253,156,189,69,129,252,98,114,104,108,209,162,247,104,233,210,47,157,126,29,81,81,81,46,77, -65,0,0,28,71,183,48,190,33,161,33,78,255,94,222,221,239,241,199,231,147,201,100,150,222,191,61,176,120,48,153,140,123,115,115,115,239,128,179,2,1,224,54,20,20,228,63,110,48,52,47,243,247,183,79,4,112,104,140,87,7,112,42,224,219,111,157,27,221,74,77,73, -65,17,32,0,222,27,2,160,65,113,177,78,253,202,178,178,50,250,231,63,31,37,157,78,39,35,140,246,206,141,157,157,157,213,194,248,223,96,177,160,232,15,2,192,141,224,117,173,217,217,217,115,140,198,182,125,246,134,184,120,160,179,82,230,61,3,54,108,216, -224,180,107,24,158,49,156,66,67,67,17,5,0,192,11,225,57,37,57,41,201,105,223,199,13,126,30,121,228,31,164,213,214,218,181,187,31,195,142,137,159,223,105,198,194,194,130,27,244,122,125,5,158,38,4,128,219,97,177,88,90,242,242,114,175,239,236,236,168,176, -183,200,133,69,4,15,250,231,158,123,142,182,109,219,230,148,243,143,140,136,160,209,163,71,201,94,0,0,0,239,65,120,206,20,63,104,16,197,196,68,59,205,248,63,240,192,131,84,85,85,69,3,7,6,217,93,91,196,233,213,194,194,194,57,26,141,230,71,60,77,8,0,183, -165,185,185,185,50,39,39,231,58,222,143,218,222,112,58,15,122,222,212,130,139,103,156,37,2,166,79,155,38,219,114,34,191,6,128,247,192,81,189,9,19,198,57,37,197,199,219,158,115,216,159,195,255,65,65,3,21,49,254,213,213,85,255,168,172,172,92,138,39,9,1, -224,246,52,54,54,30,40,40,40,152,45,94,182,78,123,63,139,7,63,167,23,156,37,2,82,82,146,233,162,139,166,184,85,207,112,0,128,237,112,68,111,200,144,52,26,62,108,168,83,140,255,67,15,61,66,98,254,147,171,154,136,236,51,254,156,182,208,106,181,111,228, -231,231,191,136,39,9,1,224,49,8,197,250,109,121,121,249,221,1,10,244,213,231,207,112,166,8,184,242,138,25,52,114,228,72,136,0,0,60,156,206,206,46,10,17,134,248,162,11,47,112,184,247,223,208,208,64,15,63,252,48,169,84,42,217,223,95,9,207,95,175,215,47, -47,40,200,159,135,136,36,4,128,199,81,86,86,186,168,186,186,250,95,74,236,174,231,76,17,192,91,1,223,54,231,22,74,77,75,133,8,0,192,99,141,127,39,5,136,185,231,178,203,46,161,200,200,8,135,126,87,79,206,255,1,97,252,243,41,36,100,160,221,159,199,53,80, -45,45,45,59,178,179,179,254,210,209,209,129,170,100,8,0,207,131,85,171,74,149,247,111,141,70,243,134,210,145,128,205,155,55,59,244,220,195,195,195,233,158,185,119,211,232,81,163,200,40,68,0,20,56,0,158,131,48,154,210,11,191,234,247,51,40,53,37,217,161, -223,85,83,83,35,11,254,10,10,10,101,216,223,222,169,130,11,168,197,249,103,231,229,229,94,219,222,222,142,229,126,16,0,158,77,65,65,193,189,122,189,126,137,82,145,0,46,232,97,17,176,102,205,26,199,138,128,176,48,154,59,247,46,186,120,250,52,153,71,100, -241,1,0,112,111,44,22,11,37,38,38,208,245,215,205,148,53,61,142,132,11,253,230,205,187,159,202,203,203,123,141,191,125,214,191,103,173,127,71,89,86,86,214,204,150,150,150,6,60,77,8,0,143,71,12,104,202,206,206,186,165,185,89,191,70,9,17,192,159,193,47, -202,179,207,62,71,203,150,125,237,208,115,231,239,186,97,214,245,244,215,191,252,89,166,6,120,114,1,0,184,31,236,24,176,231,63,97,252,56,186,118,230,213,20,21,25,233,208,239,227,14,127,247,223,255,64,239,82,191,129,138,24,127,113,13,218,236,236,236,223, -27,12,205,101,120,162,16,0,94,131,240,160,219,197,192,254,99,115,115,243,118,37,246,13,224,207,96,227,252,202,43,175,208,199,31,127,226,240,243,159,52,233,92,122,224,254,251,132,71,145,34,235,2,144,18,0,192,125,96,195,207,243,1,71,235,166,79,187,136, -148,72,57,254,26,135,14,29,146,97,255,218,218,90,69,140,63,23,40,138,67,95,88,88,112,181,152,35,115,241,68,33,0,188,81,4,180,230,228,28,253,131,248,185,79,137,109,119,89,4,240,154,253,183,223,126,155,94,127,253,13,135,159,127,114,114,50,61,248,192,60, -154,114,225,133,72,9,0,224,6,176,225,229,168,220,160,65,131,232,250,107,103,210,216,49,163,28,254,157,59,118,236,144,29,254,132,161,150,29,254,148,48,254,98,62,108,81,169,242,102,170,213,234,125,120,170,16,0,94,139,240,158,117,71,142,100,95,41,20,123, -150,18,34,128,63,131,21,248,167,159,126,74,207,60,243,140,244,4,28,9,239,83,112,211,77,127,162,91,254,250,23,249,242,155,145,18,0,192,37,176,0,231,74,255,137,19,38,72,227,31,231,132,62,255,171,87,175,166,249,243,159,32,179,217,44,83,130,10,25,127,147, -74,165,250,163,48,254,219,241,84,33,0,188,30,161,156,235,57,207,213,217,217,113,84,9,17,192,47,81,72,72,8,173,92,185,74,118,224,50,24,12,14,191,134,115,207,61,135,30,122,240,126,26,153,153,41,83,2,216,63,0,0,231,193,17,56,110,177,123,197,140,203,104, -218,212,11,133,49,14,112,248,119,126,242,201,39,244,220,115,207,203,223,149,72,49,252,100,252,243,102,169,213,53,107,241,84,33,0,124,6,131,161,185,58,43,43,123,134,80,240,71,149,168,9,96,120,35,31,14,207,113,85,46,175,203,117,52,241,241,241,116,239,189, -247,208,53,87,95,37,95,102,236,33,0,128,99,97,161,205,239,217,208,161,233,116,195,245,215,81,102,198,112,167,68,26,94,125,245,85,122,235,173,183,165,215,175,196,124,213,107,252,59,132,231,63,91,204,85,223,225,201,66,0,248,164,8,200,206,206,154,33,94, -104,197,68,0,71,2,114,115,115,233,158,123,238,165,188,188,60,135,95,131,191,191,31,93,113,197,12,186,239,222,185,148,156,156,132,2,65,0,28,132,181,208,111,234,148,11,233,154,171,174,164,240,240,48,135,127,103,107,107,43,61,254,248,124,90,178,228,11,153, -106,84,42,98,41,62,167,179,199,248,215,44,199,147,133,0,240,89,154,155,155,171,143,28,201,158,33,94,110,69,210,1,12,175,199,229,8,192,125,247,221,79,219,183,111,119,202,117,12,27,54,140,30,124,224,126,186,236,210,75,143,123,41,0,0,101,188,126,139,165, -93,10,236,89,215,255,129,38,78,28,239,148,239,229,6,63,247,221,55,143,182,108,217,34,163,139,74,180,18,254,223,156,127,205,151,120,186,16,0,16,1,205,61,145,128,142,142,206,35,74,136,0,246,192,185,88,207,100,50,202,130,157,207,63,255,220,41,215,193,223, -121,237,181,51,233,222,123,238,166,164,164,36,212,6,0,96,39,44,164,57,223,62,229,194,201,114,109,127,108,76,140,83,190,55,43,43,139,230,206,189,135,114,114,114,100,84,81,9,250,24,255,235,225,249,67,0,128,255,47,18,144,117,89,103,103,199,62,165,210,1, -60,113,176,160,88,184,240,117,90,176,224,69,167,121,229,153,153,153,244,240,67,15,208,140,25,151,203,151,30,205,131,0,56,53,186,186,186,143,239,226,55,235,186,63,208,153,103,76,36,165,34,132,191,197,218,181,107,143,175,241,239,217,209,79,49,227,111,16, -198,255,58,97,252,215,224,9,67,0,128,255,95,4,104,14,31,62,124,101,75,75,203,247,74,116,12,100,88,76,112,238,110,217,178,101,199,95,106,103,192,253,9,102,94,115,53,221,127,255,125,52,124,248,48,25,13,64,223,0,0,126,157,158,117,253,61,21,254,151,76,159, -70,127,184,230,42,138,137,137,118,202,119,115,180,238,157,119,222,161,127,255,251,63,178,222,128,223,97,37,234,121,122,141,191,78,165,202,187,26,213,254,16,0,224,87,16,198,191,254,240,225,67,87,9,49,176,78,41,17,192,47,32,231,240,246,237,219,71,119,221, -117,55,9,145,225,180,235,73,31,50,132,30,184,127,30,253,241,143,55,72,33,130,34,65,0,126,30,94,211,207,70,152,155,249,252,113,214,117,52,118,236,104,167,125,183,78,167,163,71,31,125,140,62,252,240,35,105,248,149,154,123,56,106,33,222,119,141,48,254,151, -99,157,63,4,0,56,9,132,250,54,100,103,103,93,43,68,192,87,74,182,244,228,112,158,70,163,145,145,128,111,190,89,225,188,65,38,38,129,105,83,47,162,127,60,242,16,157,119,222,121,50,18,128,34,65,0,126,242,188,45,226,125,224,70,62,92,221,127,233,37,211,41, -44,44,212,105,223,207,171,133,238,190,123,46,109,221,186,77,230,251,149,74,53,112,244,81,204,101,37,194,225,184,84,24,255,189,120,210,16,0,224,36,17,6,210,36,68,192,141,13,13,13,239,42,165,198,25,86,247,108,128,23,44,88,64,47,188,176,64,122,228,206,34, -38,38,134,110,249,235,159,105,238,221,119,82,90,90,42,210,2,192,167,145,225,126,97,248,7,136,119,114,202,5,191,163,27,174,191,86,190,23,206,132,59,251,221,123,239,125,114,87,191,144,144,96,197,62,183,215,248,103,29,57,146,125,113,115,179,254,40,158,182, -123,210,15,183,192,173,69,64,87,86,214,225,191,143,24,49,178,49,41,41,233,49,165,218,252,242,203,201,109,124,151,47,95,78,37,37,197,244,232,163,143,82,122,122,186,211,174,107,212,168,81,148,145,145,65,59,118,236,164,141,155,54,83,99,99,163,20,38,206, -42,114,2,192,213,240,187,204,239,225,248,177,99,232,236,179,207,148,91,111,59,19,22,223,111,190,249,150,156,3,56,202,200,43,120,20,51,42,194,97,225,58,38,238,240,103,48,24,234,240,180,33,0,128,29,94,130,74,165,122,92,252,172,19,34,224,53,225,49,159,166, -84,97,14,135,251,142,30,205,145,117,1,243,230,205,163,203,46,187,212,121,3,143,27,154,76,189,136,206,56,227,116,218,184,113,19,237,250,225,71,57,41,177,16,80,98,189,49,0,238,8,231,249,249,253,77,75,77,161,115,206,57,155,6,39,38,56,253,28,74,74,74,232, -249,231,159,167,172,172,108,57,7,40,249,190,177,152,208,235,245,95,103,101,101,253,181,163,163,189,13,79,28,2,0,216,47,3,40,63,95,181,176,173,173,85,147,145,145,249,145,152,64,6,42,181,190,158,35,1,220,237,235,169,167,158,166,220,92,22,3,119,201,191, -115,22,225,225,225,116,253,245,215,209,164,73,147,104,253,250,13,116,232,240,97,153,22,96,33,0,128,183,192,99,154,143,248,65,131,232,172,179,206,160,140,225,195,92,114,30,188,196,143,151,5,243,78,126,92,24,172,180,168,215,104,52,111,20,22,22,204,19,198, -31,13,64,32,0,128,146,84,85,85,125,213,213,213,173,25,62,124,248,82,127,127,255,68,165,68,0,171,118,126,121,151,46,253,82,136,128,60,122,228,145,135,105,196,136,17,78,189,182,164,164,193,116,219,109,183,82,65,97,161,16,2,27,57,234,33,255,158,123,143, -3,224,177,134,95,188,163,236,245,71,71,70,210,233,167,79,164,209,163,70,138,119,205,223,233,231,209,210,210,66,111,190,249,38,173,90,245,173,124,223,149,20,249,28,65,240,247,239,71,53,53,213,255,84,169,242,22,224,169,67,0,0,7,161,86,215,236,52,26,141, -83,199,141,27,247,165,120,145,199,43,85,68,103,77,9,112,69,48,119,0,187,227,142,219,105,214,172,89,78,191,190,204,140,12,121,100,103,31,161,77,155,55,83,81,81,177,60,55,8,1,224,73,176,56,239,232,232,164,136,136,48,26,63,110,28,141,27,59,218,101,81,45, -238,234,247,210,75,47,83,161,16,215,188,18,72,201,144,63,215,237,136,207,107,43,44,204,191,163,178,178,114,9,158,60,4,0,112,48,122,189,174,224,192,129,253,83,199,140,25,251,73,88,88,216,149,236,97,40,5,123,6,188,68,239,229,151,95,161,67,135,14,201,94, -224,9,9,241,78,191,198,241,227,197,164,57,110,44,29,60,120,136,182,108,221,70,165,165,165,16,2,192,99,60,254,176,208,80,58,247,236,49,52,118,236,24,217,212,199,37,231,34,156,3,222,194,247,147,79,22,203,119,90,169,150,190,86,184,136,81,92,107,165,16,22, -55,106,52,234,31,240,244,33,0,128,147,48,26,141,77,89,89,135,103,102,102,102,190,18,31,159,112,175,82,43,4,172,47,54,123,10,188,46,56,47,79,69,115,231,206,165,75,46,185,216,233,215,200,6,255,204,51,207,144,161,211,67,135,14,75,33,192,203,149,24,14,99, -162,88,16,184,141,225,23,198,182,179,179,139,34,194,195,164,209,31,51,122,164,98,109,116,109,129,11,253,94,125,245,53,217,252,139,69,189,146,85,254,210,112,244,235,199,123,141,236,206,205,205,187,73,56,36,101,24,1,16,0,192,201,8,85,223,153,147,147,115, -159,201,100,46,72,77,77,125,173,187,187,59,80,201,46,123,60,129,53,53,53,209,147,79,62,73,123,246,236,22,66,224,110,138,138,138,118,250,117,114,152,145,133,0,175,24,224,212,192,182,237,219,169,176,176,72,134,89,57,34,0,33,0,92,133,181,123,95,84,84,164, -48,250,163,101,142,223,85,30,63,211,221,125,140,190,250,234,75,217,209,143,11,253,148,246,250,173,198,95,204,11,159,231,230,230,252,221,98,177,180,98,20,64,0,0,23,193,6,191,184,184,232,237,182,182,214,194,140,140,204,143,197,203,57,88,201,230,58,214, -2,193,213,171,191,147,198,247,206,59,239,164,233,211,167,185,228,90,217,208,79,152,48,94,30,42,85,62,109,223,254,61,229,230,229,145,217,98,161,254,66,8,160,143,0,112,214,59,103,77,187,197,197,197,201,214,189,35,50,51,169,127,127,215,166,167,216,235,231, -10,255,221,187,119,11,143,63,72,182,222,86,250,253,243,247,247,63,166,86,171,231,171,84,121,207,161,165,55,4,0,112,19,52,26,205,102,163,209,52,121,212,168,145,139,131,131,67,126,167,100,93,128,181,64,80,171,213,210,252,249,243,233,135,31,118,209,223, -255,126,39,13,26,20,231,178,235,29,57,114,132,60,202,203,43,104,231,174,93,114,77,179,193,96,56,46,88,0,112,132,225,231,84,27,143,175,212,148,20,217,171,127,104,250,16,82,106,247,78,91,97,193,191,116,233,82,153,235,119,148,215,223,43,174,27,10,11,11, -111,175,172,172,88,137,209,0,1,0,220,140,230,102,125,217,161,67,135,46,25,49,98,228,171,194,51,249,187,146,117,1,12,135,219,121,18,92,179,102,173,44,206,187,253,246,219,232,247,191,255,189,75,175,153,91,167,242,113,249,101,151,210,158,61,251,104,223, -254,253,82,168,240,132,133,58,1,160,148,129,229,252,62,135,246,51,51,134,211,152,49,163,93,210,192,231,231,200,201,201,161,183,222,122,139,14,28,56,232,16,175,95,26,9,33,120,140,70,227,254,252,124,213,95,154,154,154,84,24,17,16,0,192,77,177,88,44,166, -35,71,178,239,28,58,116,232,225,212,212,180,87,133,193,14,86,170,95,128,53,26,96,173,13,120,230,153,103,105,251,246,237,50,45,48,108,216,48,151,94,55,239,51,112,229,149,51,104,250,244,169,50,85,177,123,207,30,42,46,46,33,179,217,44,133,139,171,189,52, -87,1,1,100,187,183,111,141,162,69,71,71,211,136,204,12,113,12,151,141,171,220,129,150,150,86,90,188,120,177,220,230,155,199,184,35,188,254,222,144,63,183,234,254,80,165,202,155,39,190,167,5,35,3,2,0,120,192,228,85,92,92,188,200,96,48,100,103,100,100, -126,48,96,192,128,209,74,166,4,24,246,174,249,216,181,235,7,105,112,111,184,225,6,186,233,166,27,29,226,129,156,10,92,237,204,45,86,249,40,47,47,167,61,123,247,209,145,35,71,169,161,161,225,248,50,66,95,49,138,60,14,236,121,30,129,253,249,94,249,214, -187,195,158,62,123,252,65,65,3,100,100,105,212,136,76,249,211,157,210,74,91,183,110,165,69,139,222,147,57,127,126,190,142,232,220,217,19,242,63,205,88,86,86,246,80,89,89,201,59,92,92,8,32,0,128,7,81,87,87,183,183,181,181,117,242,136,17,35,95,23,94,204, -205,214,62,228,74,194,19,16,175,49,94,180,104,17,125,255,253,247,116,219,109,183,209,148,41,23,186,197,245,167,165,165,201,227,202,43,175,144,123,30,236,223,191,95,76,154,165,28,206,148,19,58,31,222,44,6,248,89,115,100,196,158,103,203,30,32,127,142,55, -223,167,238,222,181,251,124,173,177,177,209,52,124,216,80,202,24,62,156,34,35,35,220,234,60,185,23,198,123,239,189,47,163,110,214,186,28,135,24,5,241,94,8,111,255,104,65,65,193,109,245,245,117,251,48,147,66,0,0,15,69,24,59,93,86,214,225,217,233,233,67, -247,164,164,164,44,16,19,135,162,41,1,134,39,78,158,140,120,130,226,157,5,89,0,204,153,51,199,229,105,1,43,33,193,193,52,233,220,115,228,161,86,171,233,240,225,44,202,202,62,66,53,53,53,178,168,203,91,11,7,249,154,146,147,146,108,254,247,188,67,29,71, -84,56,196,236,109,2,160,199,232,119,201,8,71,152,184,78,222,156,39,35,99,24,37,13,30,236,118,171,73,184,141,239,146,37,95,208,215,95,127,45,139,252,88,152,57,226,121,244,9,249,127,146,159,175,154,103,50,153,244,152,65,33,0,128,23,76,118,197,197,69,111, -25,12,205,123,51,50,50,255,43,38,245,51,148,78,9,48,220,234,148,189,197,45,91,182,10,111,251,0,205,156,121,13,253,233,79,55,202,53,210,238,66,98,98,162,60,120,231,195,18,33,88,120,245,0,239,127,80,87,87,71,157,93,93,20,208,27,25,240,116,100,255,249,232, -104,74,73,73,182,35,2,16,68,49,49,209,84,81,81,229,21,75,44,249,61,224,240,62,7,193,66,66,130,133,177,79,164,225,195,135,81,74,114,146,226,141,114,148,138,224,172,91,183,142,62,254,248,19,217,0,139,67,253,142,106,46,212,251,124,245,226,123,30,46,43,43, -125,95,105,39,1,64,0,0,23,35,140,220,1,225,65,76,25,49,98,196,243,177,177,113,115,123,38,67,101,83,2,214,34,65,78,11,240,196,197,98,224,198,27,111,164,171,175,190,74,122,218,238,2,123,58,28,230,229,195,114,149,69,78,176,28,21,224,254,2,82,12,8,3,234, -201,105,2,142,108,140,30,61,202,110,195,150,62,100,136,184,55,21,30,59,230,185,53,111,151,120,150,50,100,46,198,101,162,48,250,188,116,143,133,81,176,139,235,85,126,13,78,87,125,244,209,199,116,240,224,65,57,6,29,21,238,151,70,160,167,202,127,167,240, -250,239,106,106,106,202,193,76,9,1,0,188,20,238,220,149,157,157,125,79,114,114,242,214,161,67,135,45,20,134,48,89,201,198,65,125,13,44,79,90,108,76,95,124,241,69,90,179,102,13,253,249,207,179,233,162,139,46,114,187,123,194,145,11,222,253,144,15,113,127, -100,111,1,94,94,149,159,95,64,218,218,90,50,153,76,242,122,120,162,244,4,79,152,69,29,27,254,11,38,255,206,238,207,226,109,107,247,237,63,32,211,0,158,114,237,114,235,93,97,248,253,253,252,41,60,44,84,26,253,33,105,169,114,199,73,119,54,250,76,81,81, -17,45,94,252,41,109,219,182,77,138,80,71,22,213,246,110,228,211,165,209,168,159,23,223,251,159,118,86,237,0,2,0,120,63,85,85,85,43,12,6,195,190,225,195,51,94,141,136,136,152,229,136,104,0,99,93,45,80,80,80,64,143,61,246,56,157,125,246,89,52,123,246,108, -58,243,204,51,221,242,190,176,24,200,204,204,144,7,223,19,174,19,96,33,160,202,207,23,247,172,90,230,99,249,62,89,5,129,59,70,7,88,176,76,157,122,17,13,30,60,216,238,207,10,14,30,72,227,199,141,165,93,63,252,232,178,221,236,126,211,203,103,131,223,197, -33,235,99,242,28,57,109,193,181,15,236,229,39,196,15,242,136,13,164,120,156,45,89,178,132,214,173,219,64,173,173,45,210,240,59,50,98,198,99,87,216,251,188,162,162,194,123,52,26,205,86,204,136,190,201,105,174,106,231,200,98,51,51,51,83,46,213,2,174,131, -189,128,212,212,180,91,83,83,83,23,8,163,22,227,136,104,64,95,239,140,61,73,158,124,126,247,187,243,233,230,155,111,166,49,99,198,120,204,189,106,210,233,100,170,160,176,160,136,74,197,79,142,110,176,177,181,78,168,44,10,92,45,8,248,189,226,14,141,15, -63,244,160,98,97,99,78,39,124,245,245,10,170,173,173,117,121,26,135,199,16,47,73,235,238,238,162,110,241,59,215,108,132,9,47,127,208,160,65,148,44,4,79,226,224,4,138,138,140,244,152,180,13,143,161,175,191,94,78,223,126,251,45,23,223,73,195,239,200,72, -139,181,208,175,190,190,254,109,97,252,31,51,26,141,205,152,5,93,11,175,160,186,253,246,219,33,0,128,235,8,11,11,31,150,145,145,241,74,68,68,196,85,142,138,6,244,157,196,217,112,114,152,122,242,228,201,178,127,192,200,145,35,61,234,126,113,145,20,27, -68,22,2,220,112,168,178,178,74,246,26,224,235,226,91,215,19,33,240,119,106,216,156,223,41,54,32,247,221,59,87,136,186,84,69,63,187,161,161,145,150,45,95,113,92,192,57,211,224,115,56,191,187,87,152,178,0,225,2,190,216,152,88,74,76,76,160,196,132,120,233, -241,187,83,125,201,201,192,198,126,197,138,149,180,114,229,74,57,142,184,192,207,209,205,170,122,189,254,252,146,146,146,7,106,106,170,215,97,214,131,0,128,0,0,255,227,29,164,165,13,153,35,140,199,115,98,50,138,115,100,52,192,106,68,217,96,114,209,224, -133,23,94,64,215,93,119,157,71,69,4,250,194,247,74,120,85,82,8,148,137,49,93,85,85,37,188,187,122,106,109,109,21,30,116,167,92,110,198,19,188,53,74,160,180,135,202,134,57,82,120,190,183,223,118,171,195,150,95,86,215,212,208,119,107,214,83,91,155,145, -2,3,149,55,184,61,222,125,119,207,33,126,103,241,52,160,127,127,185,76,47,54,38,134,226,227,7,201,232,70,84,100,132,71,132,245,127,142,250,250,6,90,181,106,21,173,94,253,45,169,213,26,41,130,29,45,168,248,62,242,33,198,231,155,194,235,127,146,151,6,99, -182,131,0,128,0,0,191,16,13,8,75,203,200,200,124,65,24,148,27,28,209,60,232,151,132,0,123,65,147,39,255,78,8,129,235,229,142,127,158,14,175,217,214,106,107,101,126,183,170,186,134,55,108,146,45,148,219,218,218,100,88,157,111,171,159,95,79,72,182,183, -32,235,148,133,1,127,14,63,163,81,163,70,210,77,55,254,73,238,78,231,88,207,181,137,54,110,222,34,174,73,125,60,237,97,179,161,23,63,143,245,46,55,243,243,243,23,198,48,80,166,45,56,132,207,13,140,98,99,99,40,38,58,138,66,67,67,61,190,15,1,27,251,85, -171,86,210,218,181,235,228,94,21,206,48,252,86,175,159,155,250,112,71,63,225,245,111,196,236,6,1,0,1,0,78,202,107,72,78,78,158,149,146,146,246,124,255,254,129,233,142,232,27,240,115,134,129,133,0,123,119,231,156,115,14,93,123,237,31,232,220,115,39,121, -85,59,90,22,5,245,13,13,50,236,171,209,104,229,207,38,97,84,155,13,6,121,237,29,44,184,132,81,100,131,39,69,1,123,111,125,132,129,213,120,114,196,129,255,142,123,26,92,116,209,20,154,124,254,249,226,191,117,206,141,226,177,192,75,38,179,143,228,144,94, -223,211,43,230,196,200,6,159,167,245,224,156,61,255,223,105,189,255,29,63,95,22,123,97,194,176,71,8,111,158,13,62,247,138,136,140,136,144,225,125,111,218,214,185,180,180,140,86,174,92,65,155,54,109,150,41,34,103,25,254,94,65,105,214,106,53,175,20,23, -23,191,192,171,127,48,171,65,0,64,0,128,83,34,56,56,56,102,232,208,161,243,99,99,227,238,22,99,165,159,51,26,132,88,139,5,121,18,27,55,110,28,93,115,205,213,52,101,202,20,183,108,214,162,148,65,109,105,109,37,93,83,19,53,53,233,100,42,161,177,247,119, -222,226,152,211,8,252,190,88,247,50,224,13,105,146,147,6,211,232,209,163,229,90,127,87,229,191,121,201,100,89,121,133,60,56,167,109,52,154,142,111,160,195,134,62,72,60,47,110,38,20,34,12,61,23,234,113,103,65,14,231,179,225,231,191,247,180,188,253,169, -144,157,157,45,115,252,59,119,238,148,207,208,25,57,126,57,161,247,22,249,181,180,180,108,41,45,45,253,71,125,125,221,65,204,98,16,0,16,0,192,46,226,226,226,206,75,79,31,250,66,104,104,232,100,103,164,5,172,66,128,141,12,139,14,33,66,104,198,140,203, -233,210,75,47,165,216,216,88,159,185,239,236,233,179,24,226,67,188,174,66,4,245,119,88,55,56,123,224,103,196,207,170,157,183,160,62,198,197,122,253,164,88,241,198,22,203,191,54,167,241,230,88,156,227,63,116,232,144,188,31,108,248,157,21,209,224,123,45, -222,205,154,138,138,138,167,171,170,42,223,115,70,212,14,64,0,64,0,248,8,98,130,241,31,50,100,200,29,137,137,137,243,3,2,2,19,157,57,193,240,120,233,89,226,54,72,70,3,174,184,98,134,199,173,28,0,222,9,167,113,56,196,191,126,253,122,222,133,83,254,29, -71,171,156,85,183,208,27,238,239,108,108,108,92,84,90,90,242,140,193,96,208,224,169,64,0,64,0,0,135,32,60,208,132,244,244,161,143,197,197,197,253,77,252,49,192,209,171,5,126,206,35,102,207,106,194,132,9,52,99,198,12,217,83,192,29,189,98,224,221,100,101, -101,209,186,117,235,101,152,159,211,54,28,241,112,230,234,132,255,13,247,151,60,33,206,97,55,158,10,4,192,41,57,117,184,253,224,84,105,107,107,211,28,61,122,228,158,216,216,184,197,105,105,105,79,69,68,68,204,112,86,90,128,39,60,54,246,252,93,123,247, -238,165,61,123,246,80,106,106,138,140,10,76,159,126,49,101,100,12,199,3,2,14,131,11,249,120,219,235,77,155,54,81,78,78,174,116,100,216,219,119,100,175,254,95,50,252,226,187,11,43,42,202,255,83,81,81,241,153,51,69,56,240,30,16,1,0,118,193,225,199,196, -196,193,127,16,66,224,73,225,149,143,119,150,16,232,11,47,133,227,124,43,79,194,92,52,56,125,250,52,58,255,252,243,41,42,42,10,15,8,40,50,87,241,22,210,27,55,110,148,162,147,187,247,177,1,230,182,195,206,94,158,200,121,126,97,236,155,212,106,245,107, -194,248,191,97,54,155,209,201,15,17,0,68,0,128,107,224,226,175,234,234,170,111,234,235,235,215,38,39,39,221,150,144,144,248,144,152,24,83,29,221,77,176,47,214,253,6,248,92,246,238,221,71,187,119,239,150,77,99,206,62,251,28,154,54,109,26,77,156,56,94, -120,105,65,120,88,224,148,40,40,40,20,222,254,118,218,177,99,39,149,150,150,202,21,14,236,237,187,34,221,212,187,130,192,82,91,91,251,161,112,154,22,180,180,24,42,240,132,0,34,0,192,173,8,10,26,24,147,158,158,62,55,46,46,110,174,152,180,162,157,41,4, -250,194,147,53,71,5,216,99,226,20,193,164,73,231,209,5,23,76,150,157,6,125,169,50,29,156,26,149,149,149,178,146,159,243,250,42,149,74,54,109,226,188,62,11,76,87,52,35,178,54,136,210,233,116,95,85,86,86,188,208,208,208,112,24,79,9,17,0,8,0,224,214,132, -133,133,165,36,39,167,220,47,132,192,28,49,137,133,186,46,71,121,76,182,226,229,241,198,19,57,47,39,60,247,220,115,233,252,243,207,147,171,8,188,121,45,58,56,121,163,191,103,207,94,97,248,119,73,163,175,215,55,203,125,28,92,17,226,239,107,248,249,104, -109,109,93,91,90,90,242,66,93,93,221,78,60,41,8,0,8,0,224,97,66,32,60,99,216,176,161,15,70,70,70,205,230,0,129,43,139,149,120,172,115,189,64,123,123,135,156,220,211,210,82,233,172,179,206,164,243,206,59,143,70,141,26,133,149,4,62,2,143,193,146,146,18, -218,191,127,191,76,23,241,86,213,205,205,134,227,93,10,93,217,137,240,39,195,223,178,185,170,170,250,101,173,86,179,1,5,126,16,0,16,0,192,163,137,137,137,25,149,146,146,50,79,8,129,155,89,8,112,190,222,85,99,175,175,24,224,163,95,191,0,26,60,56,65,22, -16,114,11,226,241,227,199,203,126,3,192,123,104,105,105,161,252,252,2,218,183,111,47,29,56,112,80,204,59,101,194,200,182,201,116,144,171,141,254,9,30,191,48,252,85,175,8,195,191,30,134,31,2,192,209,32,25,10,156,66,67,67,67,158,56,238,136,137,137,253, -191,164,164,164,123,34,34,34,110,18,147,111,168,171,106,4,172,109,117,249,224,239,231,190,252,188,147,223,119,223,173,145,125,233,135,15,207,160,211,79,159,72,19,39,78,148,187,235,33,58,224,89,176,192,172,168,168,160,236,236,35,116,240,224,65,202,205, -205,149,13,123,56,250,195,59,25,246,108,43,28,226,242,243,180,238,161,208,99,248,43,133,225,215,194,240,3,8,0,224,173,66,160,94,8,129,250,59,195,194,194,94,73,78,78,249,123,108,108,236,95,133,16,112,89,177,160,85,12,88,87,18,48,188,221,173,53,60,204, -85,223,241,241,241,52,114,228,8,25,25,24,59,118,156,44,42,228,20,2,112,31,120,236,168,213,106,225,229,231,203,6,61,71,143,230,144,48,168,194,243,111,61,46,246,248,249,186,203,54,194,189,85,253,221,58,157,110,181,48,250,111,212,214,106,183,192,240,3,8, -0,224,19,24,12,134,226,220,220,156,135,132,16,120,45,41,41,105,78,116,116,204,28,97,84,83,186,186,56,53,208,237,210,115,227,201,217,186,113,75,79,116,64,35,11,197,214,175,223,64,3,7,14,164,132,132,4,217,112,104,204,152,177,114,27,222,148,148,84,10,13, -13,193,67,117,34,156,66,228,109,150,11,11,11,165,177,103,195,207,207,136,55,222,97,239,159,141,61,135,247,221,41,114,211,179,195,163,63,143,239,54,97,248,151,87,86,86,188,221,208,208,176,23,79,19,184,108,76,162,6,0,184,3,194,211,142,16,66,224,79,131, -6,197,223,17,20,20,52,129,199,165,59,122,68,124,94,188,196,144,107,7,248,247,254,253,7,200,125,235,83,83,83,105,196,136,17,114,76,167,167,15,145,53,4,136,18,40,117,207,123,58,240,9,131,41,12,126,17,169,84,121,84,82,82,42,211,54,109,109,173,242,57,176, -177,103,163,239,142,91,9,91,243,251,98,220,104,234,235,235,62,171,169,81,127,160,215,235,10,240,100,1,131,26,0,224,243,152,205,102,125,113,113,241,59,21,21,21,239,11,17,112,121,124,124,252,29,225,225,225,151,10,141,218,175,187,187,203,165,5,131,39,122, -113,125,211,5,124,94,220,7,158,195,207,188,140,140,35,7,156,91,230,29,11,89,20,112,253,192,208,161,233,148,146,146,66,113,113,131,16,41,248,77,199,192,34,140,125,35,85,87,87,203,74,253,226,226,18,153,203,87,171,53,212,220,172,151,57,124,63,191,158,103, -192,247,154,35,50,238,138,53,191,111,50,153,142,106,181,218,15,180,90,205,146,182,182,182,122,60,101,224,46,64,0,0,183,66,120,214,29,213,213,85,223,242,17,29,29,125,122,66,66,226,173,49,49,49,215,9,15,111,16,135,118,249,112,39,120,130,103,239,179,111, -115,33,142,14,84,85,85,81,89,89,25,109,217,178,69,26,2,222,188,40,50,50,82,166,15,82,82,146,41,57,153,143,20,74,76,76,32,113,157,36,196,142,203,214,156,187,2,110,176,163,211,233,73,24,69,97,236,107,100,248,158,61,124,54,244,236,237,183,182,182,202,72, -139,181,239,189,213,195,119,151,28,254,175,141,7,62,95,33,12,219,245,122,253,134,218,218,90,54,252,235,196,181,180,227,237,6,16,0,0,156,36,141,141,141,135,248,8,14,14,254,119,124,124,252,117,177,177,113,127,17,191,159,205,255,155,171,151,17,254,26,214, -144,111,223,38,67,214,72,1,215,19,112,129,161,213,67,228,34,195,176,176,48,185,111,1,167,13,248,72,72,136,39,113,173,20,23,23,43,69,3,255,239,156,203,182,214,37,184,59,252,108,204,102,11,25,12,205,50,39,207,215,93,95,223,32,163,36,92,137,95,91,171,149, -94,126,115,115,51,25,141,70,41,152,172,247,141,13,189,181,207,190,39,165,80,172,207,188,189,189,189,178,190,190,238,43,241,156,23,139,177,123,20,111,49,128,0,0,192,62,111,177,174,164,164,228,237,242,242,242,119,162,163,99,38,11,49,48,91,24,204,171,132, -177,136,115,199,168,192,201,70,10,172,194,160,169,169,73,122,189,220,133,206,42,108,216,8,178,128,224,61,12,66,66,130,101,234,32,60,60,130,34,34,248,8,23,194,32,74,252,57,76,138,131,208,208,80,153,118,96,49,193,7,215,37,244,239,31,120,252,251,216,48, -89,197,195,201,68,25,248,251,173,247,149,235,48,172,109,149,185,110,135,183,98,230,131,61,120,94,91,111,48,180,72,67,47,188,93,233,209,243,79,62,216,240,243,127,99,53,240,252,25,125,61,100,62,172,34,201,221,189,250,147,240,246,59,196,189,216,38,132,205, -226,186,186,186,239,76,38,19,54,232,1,16,0,0,40,137,48,70,199,234,234,106,119,240,33,60,226,249,131,6,197,255,62,38,38,230,70,97,0,47,16,147,177,191,43,151,18,218,43,12,126,201,16,247,228,196,77,114,7,58,171,81,230,191,183,94,167,213,144,90,141,169,245, -176,26,127,246,162,123,126,6,202,98,58,254,115,175,209,58,225,60,122,138,237,44,22,179,252,105,109,146,212,247,176,22,63,178,16,232,17,7,124,62,61,247,156,175,195,122,88,115,223,214,243,242,52,111,254,183,158,151,181,63,191,16,69,5,26,141,250,171,250, -250,250,47,133,136,203,245,180,177,7,0,4,0,240,212,168,64,109,105,105,201,251,101,101,165,239,71,69,69,141,143,141,141,187,86,136,129,63,8,239,119,52,247,255,119,231,20,193,169,24,27,171,193,249,45,143,157,233,238,62,38,61,117,246,208,173,127,103,21, -11,125,255,252,91,223,249,211,207,211,164,48,176,158,199,137,30,124,96,160,239,212,44,88,197,140,16,64,181,122,189,126,157,86,171,89,218,216,216,184,189,157,21,26,0,16,0,0,56,31,54,104,98,34,206,230,35,48,48,240,153,200,200,200,243,133,24,184,46,50,50, -226,114,33,6,134,88,195,217,222,236,157,253,100,156,229,255,199,160,80,216,232,119,117,117,53,183,180,180,108,173,175,175,251,186,182,182,118,147,201,100,66,37,63,128,0,0,192,157,16,222,88,187,152,160,183,241,209,191,127,255,144,184,184,184,11,162,163, -99,102,134,133,133,93,26,16,16,144,220,227,37,123,183,24,0,246,9,41,107,120,191,199,232,27,118,54,52,52,174,104,108,108,216,104,48,24,170,113,135,0,4,0,0,30,128,197,98,105,173,170,170,90,203,199,128,1,3,194,194,195,35,206,141,141,141,189,58,34,34,226, -18,33,14,134,241,36,239,41,5,132,192,57,70,191,163,163,163,94,24,250,93,77,77,77,223,10,163,191,69,252,94,133,59,4,32,0,0,240,96,204,102,179,193,108,214,110,172,173,213,110,12,12,12,12,138,138,138,58,61,34,34,242,242,200,200,200,75,184,235,160,48,0,1, -190,144,42,0,61,88,67,251,189,99,163,180,165,165,101,123,99,99,227,154,166,166,198,157,70,163,17,225,125,0,1,0,128,55,210,222,222,110,210,106,181,63,240,225,239,239,63,63,44,44,108,164,16,2,23,68,70,70,93,28,18,18,50,41,32,32,32,145,255,59,68,7,188,211, -203,239,234,234,106,53,153,140,89,58,157,126,147,94,175,219,44,188,253,195,60,38,112,151,0,4,0,0,62,4,47,27,212,233,116,42,62,136,74,223,29,56,112,96,164,16,4,167,71,68,68,92,36,68,193,148,1,3,130,198,9,145,16,10,65,224,185,6,95,60,179,14,94,174,215, -218,218,250,163,240,240,183,233,245,250,221,109,109,109,21,120,150,0,64,0,0,112,28,163,209,168,19,199,22,173,86,187,133,13,72,112,112,112,146,16,4,103,70,68,68,254,46,52,52,244,188,160,160,160,81,66,16,132,91,5,65,223,229,117,192,117,198,190,239,33,158, -75,187,48,248,69,194,224,239,21,198,126,103,115,179,126,175,248,189,176,179,179,19,123,237,2,0,1,0,192,111,195,6,190,165,165,165,154,143,154,154,154,149,189,130,32,49,36,36,116,188,16,5,231,138,227,236,1,3,6,140,13,12,12,28,204,134,167,239,122,123,136, -2,231,120,247,189,59,70,234,76,38,83,190,48,242,7,90,91,91,118,235,245,205,135,218,218,90,75,58,58,58,58,113,183,0,128,0,0,64,41,65,160,230,67,163,81,175,227,191,235,223,191,127,88,104,104,104,134,16,5,19,66,66,66,78,23,2,97,2,175,48,8,8,8,136,133,40, -80,214,179,103,56,127,223,222,222,94,46,12,126,78,115,115,243,193,150,22,195,193,182,182,54,149,201,100,214,114,71,66,0,0,4,0,0,78,193,98,177,24,196,113,160,161,161,225,128,213,104,9,1,16,45,132,192,80,33,12,70,11,97,48,46,40,104,192,168,1,3,130,134, -246,235,215,111,176,240,92,7,88,133,129,85,84,48,190,44,14,126,206,208,139,251,210,213,217,217,89,103,177,152,203,205,102,139,74,120,246,71,90,90,90,143,154,205,166,34,97,252,107,132,119,143,4,62,0,16,0,0,184,15,108,200,205,102,115,35,31,130,125,214, -191,231,165,135,3,6,12,72,16,66,96,136,16,7,153,33,33,193,25,1,1,129,25,65,65,65,201,254,254,254,137,66,28,68,250,241,38,247,125,196,64,79,212,64,254,230,209,2,225,68,227,222,199,200,243,117,181,242,218,123,113,191,42,197,207,226,214,214,86,97,224,141, -249,70,163,169,68,252,172,22,222,190,30,145,19,0,32,0,0,240,88,120,153,153,56,74,13,6,67,169,248,227,150,227,47,95,191,126,254,66,8,68,245,239,223,63,49,56,120,224,224,126,253,2,134,8,113,32,68,65,191,180,129,3,7,198,11,81,16,31,16,16,16,213,187,18,97, -64,223,61,1,126,178,139,255,43,16,28,153,110,232,107,200,123,255,230,132,54,196,63,157,67,119,79,76,158,35,36,188,51,94,173,209,104,172,237,234,234,170,16,222,124,101,103,103,87,185,248,89,213,213,213,173,22,134,190,65,24,127,44,195,3,192,215,4,0,111, -39,10,128,175,194,149,233,226,168,23,70,176,94,175,215,101,255,204,127,18,32,14,54,254,66,4,244,139,18,162,32,86,152,215,65,156,102,8,10,10,138,21,134,54,90,136,134,72,241,123,120,239,127,23,42,68,66,80,96,96,32,111,189,215,191,247,223,91,15,63,235,70, -62,191,198,9,203,29,219,249,52,249,167,248,183,194,78,119,152,197,249,154,197,159,91,249,245,237,232,104,111,22,222,187,48,240,167,53,138,127,83,47,222,231,70,241,247,117,237,237,150,58,97,248,117,226,119,254,51,11,0,24,120,0,126,217,65,240,61,1,192, -91,148,190,249,230,155,16,1,0,252,2,188,207,188,56,154,196,175,77,125,61,251,190,94,56,71,5,250,24,117,241,171,127,128,16,8,3,56,98,208,71,4,4,246,188,114,1,126,66,68,132,112,212,224,151,60,124,97,184,133,77,55,243,140,196,42,192,210,43,0,196,207,211, -44,194,224,155,133,8,224,255,173,195,42,22,184,151,66,95,207,255,196,72,193,137,63,1,0,255,203,228,201,147,93,246,221,167,33,199,6,0,0,0,248,30,126,184,5,0,0,0,0,4,0,0,0,0,0,32,0,0,0,0,0,0,1,0,0,0,0,0,8,0,0,0,0,0,64,0,0,0,0,0,0,2,0,0,0,0,0,16,0,0,0,0, -0,128,0,0,0,0,0,0,4,0,0,0,0,0,32,0,0,0,0,0,0,1,0,0,0,0,0,8,0,0,0,0,0,64,0,0,0,0,0,0,2,0,0,0,0,0,16,0,0,0,0,0,128,0,0,0,0,0,0,4,0,0,0,0,0,1,0,0,0,0,0,8,0,0,0,0,0,64,0,0,0,0,0,0,2,0,0,0,0,0,16,0,0,0,0,0,128,0,0,0,0,0,0,4,0,0,0,0,0,32,0,0,0,0,0,0,1,0,0, -0,0,0,8,0,0,0,0,0,64,0,0,0,0,0,64,105,254,159,0,3,0,171,158,215,100,223,234,181,230,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; - -const char* juce_icon_png = (const char*) temp_binary_data_26; - -//================== projectIconAndroid.png ================== -static const unsigned char temp_binary_data_27[] = -{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,128,0,0,0,128,8,6,0,0,0,195,62,97,203,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,100,121,113,201,101,60,0,0,3,134,105,84,88,116,88,77,76, -58,99,111,109,46,97,100,111,98,101,46,120,109,112,0,0,0,0,0,60,63,120,112,97,99,107,101,116,32,98,101,103,105,110,61,34,239,187,191,34,32,105,100,61,34,87,53,77,48,77,112,67,101,104,105,72,122,114,101,83,122,78,84,99,122,107,99,57,100,34,63,62,32,60, -120,58,120,109,112,109,101,116,97,32,120,109,108,110,115,58,120,61,34,97,100,111,98,101,58,110,115,58,109,101,116,97,47,34,32,120,58,120,109,112,116,107,61,34,65,100,111,98,101,32,88,77,80,32,67,111,114,101,32,53,46,54,45,99,48,49,52,32,55,57,46,49,53, -54,55,57,55,44,32,50,48,49,52,47,48,56,47,50,48,45,48,57,58,53,51,58,48,50,32,32,32,32,32,32,32,32,34,62,32,60,114,100,102,58,82,68,70,32,120,109,108,110,115,58,114,100,102,61,34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,49,57, -57,57,47,48,50,47,50,50,45,114,100,102,45,115,121,110,116,97,120,45,110,115,35,34,62,32,60,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,32,114,100,102,58,97,98,111,117,116,61,34,34,32,120,109,108,110,115,58,120,109,112,77,77,61,34,104,116, -116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,109,109,47,34,32,120,109,108,110,115,58,115,116,82,101,102,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47, -115,84,121,112,101,47,82,101,115,111,117,114,99,101,82,101,102,35,34,32,120,109,108,110,115,58,120,109,112,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,34,32,120,109,112,77,77,58,79,114,105,103, -105,110,97,108,68,111,99,117,109,101,110,116,73,68,61,34,120,109,112,46,100,105,100,58,51,51,101,53,51,101,51,102,45,98,98,100,52,45,52,48,99,99,45,98,54,100,55,45,53,100,52,100,102,52,50,56,99,56,52,54,34,32,120,109,112,77,77,58,68,111,99,117,109,101, -110,116,73,68,61,34,120,109,112,46,100,105,100,58,70,55,67,50,56,48,65,66,52,67,55,56,49,49,69,52,57,54,50,67,65,49,51,66,54,69,53,52,48,69,51,54,34,32,120,109,112,77,77,58,73,110,115,116,97,110,99,101,73,68,61,34,120,109,112,46,105,105,100,58,70,55, -67,50,56,48,65,65,52,67,55,56,49,49,69,52,57,54,50,67,65,49,51,66,54,69,53,52,48,69,51,54,34,32,120,109,112,58,67,114,101,97,116,111,114,84,111,111,108,61,34,65,100,111,98,101,32,80,104,111,116,111,115,104,111,112,32,67,67,32,50,48,49,52,32,40,77,97, -99,105,110,116,111,115,104,41,34,62,32,60,120,109,112,77,77,58,68,101,114,105,118,101,100,70,114,111,109,32,115,116,82,101,102,58,105,110,115,116,97,110,99,101,73,68,61,34,120,109,112,46,105,105,100,58,54,49,99,99,53,50,57,52,45,98,55,101,57,45,52,56, -55,55,45,97,57,99,56,45,97,57,51,98,52,50,101,98,51,53,99,49,34,32,115,116,82,101,102,58,100,111,99,117,109,101,110,116,73,68,61,34,97,100,111,98,101,58,100,111,99,105,100,58,112,104,111,116,111,115,104,111,112,58,97,99,101,101,57,57,101,101,45,57,52, -100,101,45,49,49,55,55,45,97,53,100,98,45,56,53,99,49,100,48,98,53,54,97,53,50,34,47,62,32,60,47,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,62,32,60,47,114,100,102,58,82,68,70,62,32,60,47,120,58,120,109,112,109,101,116,97,62,32,60,63,120, -112,97,99,107,101,116,32,101,110,100,61,34,114,34,63,62,105,25,181,0,0,0,27,230,73,68,65,84,120,218,236,93,9,152,84,213,149,62,111,173,181,215,42,122,111,26,186,217,183,113,101,208,108,24,220,141,163,95,76,102,81,99,28,77,226,56,147,113,190,108,126,73, -116,162,209,44,102,49,209,9,137,243,229,251,208,153,104,150,81,38,49,147,56,137,74,32,46,76,132,0,138,128,44,13,13,205,210,44,13,93,213,85,175,150,87,111,155,115,238,123,175,170,104,186,161,193,234,166,170,121,87,31,85,253,170,222,171,251,238,249,207, -122,207,61,151,179,44,11,188,118,238,54,222,27,2,15,0,94,243,0,224,53,15,0,94,243,0,224,53,15,0,94,243,0,224,53,15,0,94,243,0,224,181,115,163,137,165,186,209,120,68,20,57,142,203,255,150,105,154,236,149,231,121,118,140,87,63,220,62,224,47,129,97,20,250, -64,231,157,207,56,107,156,194,171,133,190,148,1,0,198,225,113,217,96,171,170,58,69,215,141,171,240,196,85,56,0,17,60,183,22,95,95,150,101,233,37,81,20,237,47,18,117,198,168,19,68,220,92,46,55,9,251,112,13,190,197,62,240,109,150,101,108,193,62,172,144, -36,233,55,120,104,99,220,135,146,63,80,217,75,0,66,58,113,124,38,147,185,193,178,184,199,4,65,152,50,244,183,117,93,123,26,65,112,183,207,231,75,141,37,1,176,15,23,153,166,245,148,32,136,243,134,246,193,48,244,255,21,4,254,211,129,64,96,247,120,128,160, -20,18,160,98,0,144,78,167,47,64,226,255,17,137,95,117,226,111,217,3,145,205,166,126,138,131,127,27,130,192,202,203,233,18,246,1,137,63,197,48,172,87,81,210,180,15,247,188,244,157,108,54,189,18,127,255,122,191,223,159,41,117,31,198,2,0,101,111,4,210,67, -234,186,206,227,192,223,207,243,5,226,11,188,15,100,193,135,164,231,217,24,211,88,200,178,255,22,69,81,110,55,240,203,199,33,163,4,125,64,177,47,160,216,127,20,57,63,79,124,158,147,236,62,112,66,158,9,176,15,31,196,62,220,98,89,102,69,168,128,138,240, -2,144,160,181,72,132,75,242,157,230,68,56,146,92,15,239,28,254,57,146,222,68,2,240,108,240,145,56,32,138,242,55,147,73,165,107,56,67,204,53,212,78,117,12,185,134,35,245,131,182,199,109,120,255,15,187,12,45,240,50,36,213,189,176,233,224,83,160,106,3,121, -16,32,72,201,56,92,162,170,57,186,214,242,0,80,130,134,4,104,194,193,172,102,156,78,60,143,4,95,179,247,235,240,187,109,31,131,45,135,158,4,73,144,28,35,209,4,20,189,13,8,152,71,179,217,12,211,193,46,65,137,136,154,166,17,39,243,72,204,73,217,108,182, -21,143,57,120,204,192,163,9,207,213,224,103,36,109,216,125,138,68,172,133,159,119,34,129,31,33,160,217,0,20,240,126,42,188,178,235,179,240,251,237,119,192,238,216,239,64,226,69,7,0,204,88,157,140,247,242,159,83,110,224,24,171,129,99,72,194,52,190,13, -90,76,220,115,48,181,254,26,216,27,95,9,235,247,127,15,90,107,222,11,147,194,243,65,51,84,246,253,96,48,116,131,162,36,239,66,99,237,25,36,218,249,72,144,25,120,44,196,235,166,225,221,66,72,211,73,248,42,227,109,106,200,126,196,191,19,100,223,225,113, -20,255,78,34,0,54,160,107,183,5,137,185,30,129,115,16,239,243,168,44,251,26,108,161,194,129,136,146,102,221,190,165,208,27,123,25,162,161,121,208,92,181,16,12,7,52,212,144,248,241,64,192,159,243,0,80,162,134,150,245,81,77,211,55,162,8,94,194,44,126,83, -131,185,77,183,195,254,193,87,96,71,255,127,195,159,122,191,10,215,206,126,6,129,33,34,247,25,204,47,247,251,3,143,34,211,127,65,16,184,201,2,233,6,199,36,40,150,240,174,150,64,96,212,217,127,231,109,54,114,241,232,243,24,222,99,64,20,165,46,247,187, -146,32,195,161,196,91,240,230,129,31,48,85,116,113,251,189,8,130,217,144,115,192,71,146,6,1,240,103,148,68,38,94,83,246,238,96,217,171,0,71,183,27,200,149,75,105,112,137,251,73,68,147,1,182,168,227,43,80,227,239,132,61,3,47,193,166,190,101,72,28,177, -200,24,147,131,120,116,34,24,138,64,206,136,154,63,108,27,145,43,250,219,58,206,94,64,125,94,135,247,232,114,213,8,137,126,205,200,192,27,8,56,69,237,131,105,209,27,97,118,227,205,160,153,154,3,84,1,226,241,88,31,222,231,57,188,174,34,162,43,21,97,3, -144,33,134,3,250,63,170,154,125,202,61,167,163,14,142,134,102,192,69,237,159,99,70,224,134,3,143,161,97,184,9,197,179,47,15,2,58,232,51,2,139,232,120,13,62,209,135,64,177,15,50,228,68,60,232,125,241,103,244,93,226,238,161,238,45,1,236,237,131,63,70,209, -191,2,234,2,211,96,209,228,251,17,62,130,13,72,148,58,154,150,131,195,135,15,61,210,220,220,180,185,98,198,182,18,226,0,212,79,228,126,43,149,74,181,226,219,21,168,143,103,185,196,37,222,124,113,251,157,168,10,158,131,206,200,117,112,237,172,103,144, -24,68,64,142,125,70,220,153,206,29,66,139,125,63,30,251,64,201,237,135,108,46,134,190,3,26,132,122,130,129,67,18,194,120,141,4,33,185,9,194,114,27,84,251,39,67,216,215,2,1,49,138,159,163,88,183,128,169,142,195,201,55,225,55,239,124,4,178,104,245,95,54, -237,113,152,223,124,27,168,186,234,24,127,60,244,244,236,122,62,28,14,125,188,165,165,37,69,30,128,227,5,148,117,28,160,98,66,193,52,192,162,40,30,80,148,212,127,74,146,252,77,27,116,38,139,7,44,234,184,31,142,40,27,152,81,182,249,208,83,48,183,249,99, -176,47,190,22,14,196,95,129,254,212,102,136,103,118,34,161,98,104,168,229,144,152,90,62,68,192,57,97,2,114,37,109,58,241,76,42,8,156,15,66,8,128,250,192,12,104,172,186,8,218,106,63,0,213,190,201,40,250,31,134,148,122,16,102,54,252,13,204,105,188,5,245, -190,150,239,91,50,153,76,231,114,234,143,162,209,142,4,130,83,196,115,102,37,132,131,43,65,2,48,181,175,170,26,160,107,119,15,250,249,15,224,224,214,23,127,33,32,251,96,115,223,47,96,229,174,123,192,47,214,67,80,110,68,162,119,131,97,230,152,222,230, -57,217,145,22,220,40,98,67,22,251,207,180,116,52,232,114,236,189,95,172,67,137,208,6,3,233,109,76,50,124,120,222,11,248,218,148,55,252,138,172,255,183,13,67,255,52,74,129,215,36,73,226,188,72,96,137,136,159,205,170,33,85,205,61,45,203,254,199,209,208, -202,19,95,96,226,219,7,7,6,223,132,3,137,215,81,119,7,64,55,82,16,79,119,227,103,50,234,245,42,60,23,100,250,220,142,24,142,102,192,88,164,129,93,79,170,129,238,97,160,189,17,75,111,103,247,49,77,29,182,247,47,71,85,114,212,137,2,22,134,208,231,243,47, -64,245,244,187,116,58,125,23,218,3,174,248,231,60,9,112,134,125,115,130,48,45,186,110,252,4,57,127,73,129,153,56,28,124,25,137,208,15,111,238,127,28,182,30,249,25,90,231,73,70,176,177,247,74,12,180,43,82,104,4,206,128,11,90,255,5,102,52,252,53,227,35, -2,137,139,88,219,21,84,31,242,251,125,15,58,243,18,99,226,14,78,228,201,32,54,96,170,170,214,107,154,241,2,138,211,69,5,159,93,96,81,183,221,3,47,195,255,237,121,16,57,115,43,35,188,27,138,29,183,240,52,18,156,212,68,103,228,67,112,233,148,175,162,59, -218,158,87,9,46,8,80,101,125,35,20,10,222,135,30,204,152,168,131,137,10,0,242,250,104,206,221,143,98,255,89,228,252,235,221,113,99,162,28,31,122,195,254,199,88,4,144,8,64,98,255,44,70,41,144,232,73,36,126,23,44,238,250,30,180,215,189,23,61,139,28,128, -19,173,52,12,3,208,117,253,116,85,85,248,135,104,192,150,28,4,19,18,0,206,236,31,164,211,153,111,161,181,127,111,222,88,65,125,79,81,219,213,187,191,204,44,125,137,15,13,225,122,11,69,115,134,121,6,28,11,215,6,28,189,255,238,27,121,14,186,35,226,201, -238,32,207,163,184,233,102,154,73,161,15,116,61,10,51,39,221,136,30,71,1,4,154,166,169,248,255,181,53,53,53,43,121,59,117,201,244,0,112,242,254,88,104,68,221,200,243,226,115,28,103,71,99,200,146,199,79,224,149,157,159,71,125,255,52,14,118,117,222,133, -115,221,56,210,205,237,181,151,177,216,124,60,179,11,93,194,151,144,112,166,125,237,187,104,186,153,69,139,191,21,166,214,95,137,132,247,195,222,216,42,244,6,182,14,145,60,200,237,150,74,166,35,44,158,246,125,116,19,111,66,73,80,136,15,100,50,233,110, -158,231,22,135,195,225,62,206,166,154,229,1,96,132,7,202,100,50,205,134,97,190,230,198,223,201,202,22,121,9,57,255,1,120,179,111,41,248,208,42,63,222,176,182,112,240,53,22,149,59,191,245,238,124,172,127,235,225,229,240,106,207,231,153,27,119,166,146, -128,244,124,125,112,38,92,57,115,25,190,118,178,115,233,92,12,86,116,255,19,236,139,175,60,65,253,80,156,129,98,8,87,207,122,18,38,215,46,62,206,38,72,38,19,203,80,21,124,2,141,194,146,169,130,9,229,6,186,162,31,45,254,251,4,161,104,242,5,137,191,245, -240,207,96,99,223,19,104,249,135,79,240,170,72,52,79,10,205,135,121,77,159,192,247,38,139,204,229,12,29,102,53,124,132,205,18,26,200,193,103,46,250,117,152,223,252,73,136,132,58,217,125,233,8,200,117,204,250,39,55,209,26,34,205,233,28,169,131,63,238, -252,28,74,161,61,44,204,156,143,85,4,130,119,42,138,114,45,69,52,203,42,192,86,78,157,65,171,127,1,207,11,119,184,204,65,49,249,99,233,29,176,166,247,107,44,84,59,28,39,147,232,15,72,147,80,231,75,140,96,238,57,98,142,144,220,156,159,219,63,19,3,143, -236,14,10,15,155,102,177,84,0,22,104,98,118,192,48,82,143,226,14,9,117,15,155,161,68,217,148,79,86,65,79,134,192,123,63,170,55,191,7,128,17,184,223,48,172,79,34,0,2,110,215,104,0,215,238,125,4,82,218,17,198,93,195,53,10,221,146,78,78,170,125,44,54,64, -3,46,33,113,84,61,13,135,149,55,25,17,207,212,19,53,81,164,247,37,214,224,111,216,70,40,217,19,50,154,20,135,146,111,160,148,81,142,11,2,21,3,135,130,71,61,199,94,128,29,253,191,100,18,204,85,145,126,127,96,17,2,224,131,142,20,224,60,0,20,53,180,150, -155,208,96,186,201,253,155,178,124,246,199,95,133,61,177,23,79,26,224,33,194,208,68,207,107,61,247,194,64,166,155,233,252,100,110,31,254,253,37,56,150,218,124,130,197,126,58,141,60,137,45,135,150,193,219,7,127,138,162,61,201,116,252,206,163,47,34,40, -191,237,24,151,220,200,209,68,4,199,219,125,255,14,89,54,225,36,184,82,0,109,46,248,123,148,116,101,19,29,44,19,35,208,2,69,73,221,140,62,255,79,221,96,172,192,139,240,251,109,119,64,207,192,11,142,238,63,149,181,158,1,191,20,129,176,220,2,25,237,40, -164,114,125,142,145,246,238,198,154,212,10,233,122,202,59,160,56,196,96,182,7,207,25,142,68,58,249,51,107,70,10,62,56,253,223,96,118,195,223,50,131,208,201,110,62,102,24,218,194,104,52,218,243,110,35,132,19,194,8,180,3,38,164,100,185,107,92,98,145,190, -63,150,222,6,7,18,171,81,132,142,46,208,67,196,166,233,221,163,200,245,25,173,159,233,226,82,72,89,34,58,249,254,131,232,90,210,124,128,27,11,24,21,221,240,231,187,251,127,197,50,152,200,126,33,30,65,47,32,130,210,110,17,5,137,60,21,224,26,86,134,142, -190,29,55,223,5,180,128,111,246,197,87,161,30,31,56,173,16,47,17,75,68,95,253,204,245,254,200,148,36,85,66,199,233,184,148,34,231,135,35,104,135,196,51,61,96,39,38,89,44,107,8,1,255,151,100,243,120,0,200,3,192,108,71,253,63,155,249,253,44,168,98,194, -193,196,27,224,196,129,42,182,17,120,85,61,142,198,232,122,4,15,151,151,120,178,44,47,204,100,50,210,57,5,128,66,222,189,251,119,65,135,33,0,230,81,214,87,97,208,6,89,52,143,175,112,0,56,97,42,230,165,20,155,72,232,233,76,65,53,208,238,100,13,13,51,70, -227,103,35,138,227,65,120,154,25,211,117,141,67,66,79,71,15,168,3,57,157,167,245,22,60,207,145,33,180,11,63,159,227,206,149,144,197,156,206,29,6,213,136,179,208,106,165,55,146,98,137,108,47,24,166,238,216,1,22,218,1,114,227,224,96,188,37,155,205,244, -90,22,119,190,101,153,17,2,8,142,71,22,199,101,11,170,137,163,180,208,213,78,128,29,219,204,98,113,172,9,159,205,170,211,80,223,221,138,127,211,106,222,153,232,30,213,81,124,220,94,76,105,162,69,108,190,133,95,143,56,15,107,7,132,140,65,80,181,152,157, -77,97,233,21,13,0,211,201,73,164,9,37,87,165,9,130,104,73,146,252,117,77,51,171,112,44,230,161,68,144,136,233,157,49,217,173,105,250,59,56,10,203,101,89,250,47,84,23,153,34,107,214,170,8,0,56,179,96,68,252,219,241,1,31,17,69,169,177,152,192,5,113,39, -68,220,92,255,194,124,191,253,90,229,107,103,65,158,50,79,168,57,181,125,99,230,208,61,173,179,163,130,32,185,25,196,124,93,93,253,251,139,159,219,29,19,28,143,169,248,22,15,235,58,85,213,110,199,113,252,108,32,16,160,133,42,28,140,65,98,73,201,227,0, -14,241,121,36,254,247,241,97,238,113,185,189,56,64,66,134,30,203,188,179,70,202,155,180,179,169,198,83,23,142,169,29,96,89,35,154,91,44,53,213,93,92,202,102,53,205,161,17,210,24,122,73,119,132,195,161,231,157,233,228,124,166,113,217,205,6,82,127,200, -167,79,165,210,247,161,136,251,218,241,126,186,143,125,174,234,73,22,98,101,57,123,98,21,51,142,220,185,118,119,72,136,91,76,83,133,9,211,136,179,57,255,16,194,243,44,218,73,30,15,197,47,232,153,69,62,204,242,12,105,82,203,205,94,182,25,42,167,32,8,46, -175,174,174,94,83,60,157,92,150,211,193,233,116,250,189,136,246,151,81,175,249,221,197,156,34,45,167,74,174,99,179,122,148,190,77,41,218,62,177,30,26,171,46,132,217,13,183,226,235,121,160,25,118,18,5,37,121,82,8,248,165,29,159,2,137,5,115,42,187,81,248, -152,212,217,135,230,60,139,42,45,96,47,93,99,113,10,19,118,29,251,53,236,60,250,60,196,50,59,152,170,160,239,181,215,46,134,57,141,31,131,160,52,9,180,162,60,195,76,38,253,103,73,18,175,8,133,66,131,174,42,40,171,117,1,238,26,122,180,242,31,148,36,193, -239,250,244,68,252,77,7,159,132,55,122,31,98,72,167,164,10,82,3,233,92,63,244,43,27,97,103,255,47,225,146,41,15,194,220,166,219,28,16,0,147,16,228,9,72,66,104,66,0,192,14,73,23,210,218,12,51,13,175,244,124,30,118,244,47,119,194,222,182,173,147,202,29, -132,3,131,175,34,40,126,13,75,166,47,133,104,120,62,232,44,167,128,60,7,255,197,138,146,184,211,231,243,125,207,41,133,83,126,70,32,234,171,249,200,249,239,119,165,1,17,127,215,177,23,224,245,221,95,102,15,46,139,181,5,157,207,1,3,131,110,169,240,90, -207,23,33,40,55,192,212,250,171,11,2,146,205,190,73,21,15,0,139,77,43,139,69,207,197,193,107,123,30,128,109,71,126,206,214,27,20,27,185,246,18,182,0,28,75,111,129,21,221,119,195,245,115,150,67,64,106,96,234,128,34,136,104,43,220,156,201,100,126,88,85, -85,85,50,253,88,178,64,16,185,124,168,255,47,224,121,123,254,147,92,30,85,75,192,186,125,223,201,63,220,137,6,159,197,108,1,188,18,191,247,93,102,31,144,173,59,81,119,48,144,120,1,246,15,174,134,109,253,191,64,21,88,59,162,135,67,211,201,199,82,91,96, -243,193,101,200,36,5,18,33,8,166,33,0,186,202,50,18,104,175,220,133,203,10,70,159,0,135,148,117,16,163,69,26,188,255,20,3,67,168,223,10,253,169,141,192,79,224,202,133,164,178,123,99,47,162,10,200,156,114,78,129,230,52,122,227,43,28,166,16,216,248,162, -248,175,49,12,227,2,103,34,137,43,59,0,160,228,143,184,134,9,253,155,84,123,81,7,102,143,75,224,28,97,104,240,90,29,18,153,221,19,152,248,232,210,153,22,139,10,142,102,142,131,36,38,217,4,52,151,192,65,161,252,140,170,170,205,166,105,150,159,4,64,189, -47,32,0,130,199,131,226,244,162,120,148,89,59,129,249,159,249,248,100,237,115,163,102,94,74,120,213,243,188,78,188,133,70,118,109,89,2,160,52,34,137,131,137,223,184,119,203,104,37,93,133,85,74,9,0,94,27,39,207,162,28,1,224,181,113,35,127,73,197,164,7, -128,115,188,121,0,240,0,224,53,15,0,94,243,0,224,53,15,0,94,243,0,224,53,15,0,94,243,0,224,53,15,0,94,243,0,224,53,15,0,94,243,0,224,53,15,0,94,243,0,224,53,15,0,94,243,0,224,53,15,0,94,243,0,112,210,198,121,67,58,214,141,43,79,0,80,197,15,124,209,79, -236,172,229,225,39,255,116,199,239,91,120,234,102,157,144,66,110,89,150,94,202,101,243,37,5,0,213,68,46,62,39,139,225,252,162,134,209,52,218,239,103,226,54,139,85,14,151,133,26,86,197,252,212,223,182,216,106,98,145,173,40,182,138,1,16,231,75,184,124, -170,100,119,114,10,65,236,116,59,107,224,107,52,180,128,173,129,163,37,209,39,125,88,75,103,3,19,9,205,129,137,154,93,78,227,66,235,30,27,194,231,195,104,182,12,160,34,215,145,224,28,8,72,245,78,205,97,182,250,218,224,121,110,47,45,20,45,75,0,96,91,153, -7,128,169,33,65,103,195,212,250,107,33,103,36,78,122,45,237,186,209,21,185,30,234,2,211,89,97,230,137,170,8,104,105,216,180,232,13,172,234,40,85,54,29,233,73,237,42,228,28,204,105,188,21,165,64,190,172,12,213,8,232,71,226,111,40,75,0,216,245,109,248, -183,77,211,56,236,22,177,32,48,44,156,252,37,182,247,30,21,133,24,90,94,157,36,3,157,111,170,90,8,23,79,190,215,94,245,50,129,149,0,149,152,13,251,154,225,210,41,15,177,125,5,52,83,57,193,70,162,122,2,84,71,97,65,203,93,48,5,153,71,55,10,149,66,20,69, -121,43,20,10,31,130,18,214,10,42,233,210,48,73,146,246,235,186,190,172,32,198,52,86,110,253,234,153,63,129,25,147,62,202,186,172,25,10,147,8,244,74,22,209,204,134,191,131,171,103,253,4,130,82,35,219,248,97,162,55,42,130,209,25,185,6,159,249,63,152,138, -164,29,73,72,2,218,99,146,130,0,218,65,151,78,125,24,46,233,120,144,1,134,152,134,184,63,157,78,27,40,1,158,172,169,169,78,59,165,227,74,210,74,90,32,130,42,87,136,162,240,93,85,85,175,243,249,124,127,97,239,244,173,178,93,56,47,159,241,99,86,30,230, -112,114,29,100,181,99,224,151,162,140,243,39,133,207,99,96,214,77,21,206,141,102,177,109,238,39,215,93,198,74,228,244,37,222,96,85,205,169,8,68,149,175,3,90,107,222,195,118,32,163,45,111,221,130,81,196,253,251,247,239,123,38,26,141,254,22,153,172,164, -174,123,73,1,128,29,229,253,126,127,12,69,213,93,185,156,250,130,44,251,35,246,138,88,149,185,51,141,225,11,161,25,31,218,174,137,103,239,201,107,56,187,115,158,107,141,64,32,240,65,182,23,81,87,228,74,71,69,208,120,88,199,109,53,67,250,126,239,222,222, -117,178,44,62,140,0,32,195,65,112,92,238,178,11,4,177,242,101,84,202,44,20,10,174,209,117,237,198,116,58,181,213,222,134,157,103,68,38,46,167,135,179,183,117,81,109,174,231,96,194,148,131,59,93,155,137,109,66,233,140,7,29,244,158,234,35,209,103,36,77, -73,130,246,244,236,122,81,211,114,31,239,232,152,178,139,54,209,114,136,111,149,35,0,220,7,179,4,65,20,170,170,170,94,199,183,75,6,7,227,79,160,254,26,100,110,16,2,129,14,66,181,123,208,90,119,77,211,204,115,11,4,150,69,133,52,93,230,24,58,38,84,1,164, -191,191,191,183,187,123,251,87,124,62,249,214,174,174,174,173,120,94,44,37,231,143,137,10,128,66,253,58,19,59,44,84,87,87,31,204,102,213,127,84,148,228,82,69,73,92,142,24,88,68,251,235,34,24,124,232,45,232,8,140,119,80,74,172,170,169,169,187,188,185, -185,249,134,114,169,161,63,214,156,79,59,198,32,103,127,29,153,36,137,182,210,21,162,40,181,34,35,136,40,53,149,84,42,181,6,223,111,144,101,105,101,71,71,199,238,112,56,76,99,42,20,237,70,110,149,51,0,142,139,12,146,132,241,251,125,28,30,239,32,226,233, -248,65,38,147,169,193,7,149,105,28,106,107,107,148,104,52,146,197,111,79,45,101,213,139,10,8,10,113,200,217,235,35,145,250,95,225,115,63,134,70,115,216,48,116,1,13,104,173,177,177,33,129,118,148,225,108,55,43,56,213,195,141,98,6,171,4,0,184,146,192,114, -42,91,114,244,64,120,0,21,58,164,243,142,43,195,217,53,133,115,194,132,230,250,19,227,249,164,227,133,64,32,64,34,159,98,251,3,238,152,56,149,212,105,60,172,34,194,143,9,241,199,84,2,12,7,134,252,120,216,251,3,59,246,130,64,101,210,135,132,128,185,137, -196,238,246,78,35,110,61,96,171,176,47,128,163,255,205,130,208,228,160,212,70,94,57,0,96,88,64,20,84,133,237,21,185,167,105,128,104,243,39,218,41,204,174,176,93,217,41,11,244,12,52,31,194,234,36,22,213,83,70,66,171,69,134,239,89,243,131,249,179,203,28, -150,187,177,226,234,194,36,146,14,181,129,233,16,9,206,6,221,72,67,229,151,139,87,161,173,246,50,144,120,57,31,213,203,100,210,7,241,181,155,47,131,162,136,101,177,107,152,32,240,155,208,24,74,185,190,177,44,4,225,162,246,47,176,157,191,244,97,226,229, -149,33,249,77,200,234,49,104,174,190,148,21,127,214,205,130,58,207,102,51,61,168,255,123,97,12,234,255,87,130,10,56,1,3,104,16,237,65,119,241,15,248,250,87,110,148,108,114,221,98,184,98,230,143,97,109,239,55,32,150,233,102,49,115,123,172,10,18,129,74, -170,58,246,210,168,126,136,98,238,246,212,52,55,162,192,166,170,166,84,185,116,52,209,73,50,238,168,95,199,207,236,89,172,79,180,215,225,244,232,135,225,61,83,30,98,53,129,41,232,101,111,145,103,0,186,122,191,153,52,137,69,245,248,179,13,128,114,216, -56,146,153,191,138,162,156,199,243,226,42,4,65,109,126,227,104,193,7,170,22,135,67,201,245,112,72,89,203,184,202,182,168,41,124,104,194,246,35,203,33,171,29,29,69,229,77,27,56,51,27,62,202,136,49,82,95,73,36,31,74,172,135,3,131,171,71,181,227,40,137, -247,230,154,69,208,82,189,16,92,55,150,234,30,83,98,75,107,205,251,32,26,156,139,63,43,176,239,49,110,19,69,138,233,175,69,219,247,166,201,147,59,14,56,54,192,89,221,56,178,28,36,128,229,204,33,188,133,156,241,175,72,132,31,184,187,140,144,36,16,145, -203,59,234,151,192,212,200,146,227,125,4,252,103,111,124,21,219,143,71,56,5,0,44,39,181,234,252,214,127,134,186,96,59,140,20,114,160,173,253,54,244,62,1,189,177,21,163,2,0,113,126,123,205,98,88,56,245,30,24,90,20,85,55,237,253,130,44,103,207,35,34,126, -44,22,27,68,160,223,55,115,230,244,253,84,89,117,44,34,123,149,8,0,70,35,28,32,30,245,226,82,69,73,5,125,62,223,131,178,236,11,16,8,104,235,86,211,208,135,136,94,148,156,156,126,218,59,131,211,134,207,57,29,242,28,57,180,249,192,231,204,74,142,150,179, -56,118,47,34,62,197,242,71,146,42,100,232,246,247,31,217,139,199,23,58,59,59,87,138,162,36,56,110,241,89,55,110,202,198,199,34,113,70,83,157,225,112,232,219,104,36,93,157,72,12,190,158,203,229,76,119,16,199,194,98,182,107,240,115,37,127,14,55,166,111, -239,137,172,40,61,61,59,159,139,199,99,55,76,155,54,237,217,80,40,52,102,59,128,85,180,4,112,8,77,209,66,161,182,182,246,213,116,58,125,165,162,36,46,213,52,237,66,228,160,69,40,33,102,213,212,212,206,194,129,229,74,49,116,4,40,228,200,125,193,96,176, -58,16,8,214,148,194,22,178,183,118,201,40,131,131,241,29,170,170,110,70,9,181,17,127,103,77,93,93,205,91,245,245,145,20,79,229,190,109,149,103,121,0,24,57,98,72,220,35,132,195,225,44,114,203,31,116,93,251,3,122,8,144,76,38,23,225,199,175,149,170,207, -4,128,190,190,3,79,181,181,77,94,20,10,133,175,44,197,68,20,221,19,251,185,43,149,82,174,107,106,106,58,134,42,77,163,240,183,19,218,21,156,208,120,217,16,191,220,0,80,12,2,119,67,36,182,83,154,36,201,52,187,168,230,131,71,37,8,14,209,125,252,254,128, -33,203,146,81,202,226,203,130,192,3,114,123,6,165,152,65,132,119,8,110,14,125,70,15,0,167,0,65,145,135,224,196,206,75,111,3,32,184,74,202,141,246,246,175,188,133,154,204,44,138,241,151,117,59,215,215,6,158,243,53,238,189,197,161,30,0,188,230,1,192,107, -30,0,42,83,129,151,198,119,47,117,31,42,41,193,181,98,0,80,180,27,93,190,235,180,233,228,168,175,31,198,117,180,211,213,134,82,139,59,45,240,12,179,187,41,87,148,253,228,1,160,116,0,224,146,232,175,39,88,206,0,219,113,212,7,245,129,89,163,90,78,70,83, -192,126,169,30,124,66,109,126,254,192,201,202,73,227,167,89,55,14,64,47,97,95,235,40,183,172,117,250,16,156,205,22,116,184,231,114,185,220,0,186,128,122,165,72,1,190,66,136,79,254,245,110,211,52,55,185,3,77,75,173,91,106,222,51,170,235,105,214,142,150, -160,133,228,70,54,185,68,247,83,213,172,134,47,180,29,251,106,247,123,134,105,66,67,248,34,8,72,209,252,246,237,35,53,2,94,16,239,55,41,188,128,93,103,3,200,162,100,143,63,249,124,254,108,41,215,239,121,18,0,216,196,141,129,220,187,201,229,86,205,212, -161,179,254,90,182,190,208,94,126,206,13,43,248,137,144,18,31,134,5,205,159,194,63,237,252,11,138,46,34,0,142,250,253,254,237,130,192,111,118,231,242,137,168,181,129,41,48,187,241,102,150,60,50,114,152,192,2,221,72,193,156,198,219,160,202,215,194,126, -131,64,229,44,246,216,226,243,201,149,50,172,149,1,0,34,186,61,115,7,207,35,8,44,123,23,78,131,37,142,126,160,235,59,80,227,239,98,203,204,77,54,247,110,7,247,236,101,87,10,19,249,180,28,155,146,54,116,103,123,122,186,126,112,112,112,85,85,85,213,0,222, -247,207,134,161,239,116,69,182,129,192,186,176,237,51,48,61,122,19,100,245,56,155,238,117,151,181,211,43,253,173,234,131,108,85,243,121,173,119,163,116,177,167,170,237,121,128,196,94,73,146,254,84,202,245,251,30,0,138,212,128,44,203,175,228,114,218,139, -174,122,165,185,251,104,104,46,124,104,206,179,48,11,9,66,105,88,180,216,148,210,180,40,75,168,9,137,78,75,207,231,53,125,156,45,203,102,122,27,137,163,40,137,172,174,231,150,85,87,87,27,72,176,1,195,48,150,186,146,133,150,100,83,90,216,146,233,63,130, -75,58,30,96,54,1,129,72,55,211,12,136,85,254,118,4,212,195,112,217,180,199,17,70,18,3,154,155,234,53,48,48,240,84,52,26,221,67,2,171,98,198,181,12,82,194,70,221,87,20,213,150,162,164,230,241,188,176,10,9,23,117,127,147,229,221,227,107,60,179,11,226,217, -110,38,146,195,114,43,68,130,115,65,20,124,121,226,219,73,167,0,221,221,219,191,209,214,214,250,64,109,45,101,159,89,150,170,170,50,2,107,185,223,31,184,206,189,39,237,216,45,242,34,40,185,126,24,72,191,3,57,148,6,62,177,14,141,190,185,104,75,68,152, -10,114,75,223,96,95,160,183,119,207,106,158,231,62,218,209,209,113,200,241,4,204,241,96,138,115,10,0,116,232,186,102,38,147,202,77,178,236,123,90,146,228,64,97,73,25,199,202,169,240,206,160,80,119,72,167,187,86,191,155,80,178,107,87,247,242,112,56,124, -87,91,91,91,204,89,133,67,24,48,83,169,84,7,226,235,183,8,130,121,246,163,184,64,16,241,190,66,62,125,215,48,13,71,213,184,83,215,34,28,60,216,183,51,153,28,188,101,250,244,233,107,105,42,187,104,29,159,7,128,49,144,88,180,156,12,65,144,188,10,7,127, -105,32,16,156,102,115,246,240,155,42,187,217,68,233,116,90,71,46,253,81,117,117,213,55,145,248,84,198,134,119,103,236,232,158,8,36,83,81,148,14,93,55,30,15,6,67,55,144,170,24,233,158,110,214,143,174,235,148,228,185,50,151,83,191,216,217,217,185,142,146, -89,198,106,17,167,7,128,162,40,13,113,46,234,92,3,65,208,129,162,251,51,40,130,111,66,215,171,205,94,102,198,131,11,8,210,203,217,108,54,29,139,13,172,77,167,83,79,52,54,54,254,58,18,137,228,224,196,213,182,108,77,30,98,192,200,100,50,114,42,149,190, -19,239,245,15,180,146,153,196,187,123,79,59,126,96,144,175,15,137,68,98,91,60,30,123,186,170,42,188,172,165,165,229,176,187,124,123,60,19,62,206,69,0,228,85,129,195,181,6,17,131,196,55,18,110,1,158,127,31,207,139,51,209,170,151,144,59,99,72,252,215,69, -81,220,18,14,7,55,70,34,209,65,36,166,224,72,5,107,24,46,229,156,197,153,196,217,164,18,106,80,106,92,128,18,225,98,188,238,98,36,124,8,15,21,253,252,117,56,240,111,161,11,185,177,190,190,254,128,147,227,199,143,55,241,207,101,0,156,0,4,60,12,167,208, -4,250,247,42,113,50,19,239,62,159,207,36,14,38,181,108,57,54,96,81,152,214,58,153,132,33,135,0,9,110,17,199,227,61,9,20,130,227,137,208,210,109,96,185,137,54,225,79,117,79,15,0,227,164,22,184,226,129,41,238,207,144,216,188,117,166,247,28,250,156,103, -139,240,165,4,64,57,166,132,157,54,246,220,165,230,39,27,156,211,4,232,176,247,44,193,125,203,174,137,229,132,198,114,231,150,74,124,238,9,19,9,244,154,7,0,175,121,0,240,154,7,0,175,121,0,240,154,7,0,175,121,0,240,154,7,0,175,189,235,246,255,2,12,0,158, -137,39,54,252,6,9,64,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; - -const char* projectIconAndroid_png = (const char*) temp_binary_data_27; - -//================== projectIconCodeblocks.png ================== -static const unsigned char temp_binary_data_28[] = -{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,128,0,0,0,128,8,6,0,0,0,195,62,97,203,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,100,121,113,201,101,60,0,0,3,134,105,84,88,116,88,77,76, -58,99,111,109,46,97,100,111,98,101,46,120,109,112,0,0,0,0,0,60,63,120,112,97,99,107,101,116,32,98,101,103,105,110,61,34,239,187,191,34,32,105,100,61,34,87,53,77,48,77,112,67,101,104,105,72,122,114,101,83,122,78,84,99,122,107,99,57,100,34,63,62,32,60, -120,58,120,109,112,109,101,116,97,32,120,109,108,110,115,58,120,61,34,97,100,111,98,101,58,110,115,58,109,101,116,97,47,34,32,120,58,120,109,112,116,107,61,34,65,100,111,98,101,32,88,77,80,32,67,111,114,101,32,53,46,54,45,99,48,49,52,32,55,57,46,49,53, -54,55,57,55,44,32,50,48,49,52,47,48,56,47,50,48,45,48,57,58,53,51,58,48,50,32,32,32,32,32,32,32,32,34,62,32,60,114,100,102,58,82,68,70,32,120,109,108,110,115,58,114,100,102,61,34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,49,57, -57,57,47,48,50,47,50,50,45,114,100,102,45,115,121,110,116,97,120,45,110,115,35,34,62,32,60,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,32,114,100,102,58,97,98,111,117,116,61,34,34,32,120,109,108,110,115,58,120,109,112,77,77,61,34,104,116, -116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,109,109,47,34,32,120,109,108,110,115,58,115,116,82,101,102,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47, -115,84,121,112,101,47,82,101,115,111,117,114,99,101,82,101,102,35,34,32,120,109,108,110,115,58,120,109,112,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,34,32,120,109,112,77,77,58,79,114,105,103, -105,110,97,108,68,111,99,117,109,101,110,116,73,68,61,34,120,109,112,46,100,105,100,58,98,54,49,53,55,56,57,51,45,102,48,97,51,45,52,56,56,55,45,98,99,52,50,45,54,100,50,49,55,51,50,97,99,98,100,97,34,32,120,109,112,77,77,58,68,111,99,117,109,101,110, -116,73,68,61,34,120,109,112,46,100,105,100,58,70,55,67,50,56,48,65,70,52,67,55,56,49,49,69,52,57,54,50,67,65,49,51,66,54,69,53,52,48,69,51,54,34,32,120,109,112,77,77,58,73,110,115,116,97,110,99,101,73,68,61,34,120,109,112,46,105,105,100,58,70,55,67,50, -56,48,65,69,52,67,55,56,49,49,69,52,57,54,50,67,65,49,51,66,54,69,53,52,48,69,51,54,34,32,120,109,112,58,67,114,101,97,116,111,114,84,111,111,108,61,34,65,100,111,98,101,32,80,104,111,116,111,115,104,111,112,32,67,67,32,50,48,49,52,32,40,77,97,99,105, -110,116,111,115,104,41,34,62,32,60,120,109,112,77,77,58,68,101,114,105,118,101,100,70,114,111,109,32,115,116,82,101,102,58,105,110,115,116,97,110,99,101,73,68,61,34,120,109,112,46,105,105,100,58,54,48,97,49,51,52,53,100,45,97,99,57,50,45,52,48,99,98, -45,97,55,57,53,45,53,100,48,55,55,99,100,56,102,98,99,55,34,32,115,116,82,101,102,58,100,111,99,117,109,101,110,116,73,68,61,34,97,100,111,98,101,58,100,111,99,105,100,58,112,104,111,116,111,115,104,111,112,58,102,54,55,54,101,48,101,99,45,57,52,100, -102,45,49,49,55,55,45,97,53,100,98,45,56,53,99,49,100,48,98,53,54,97,53,50,34,47,62,32,60,47,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,62,32,60,47,114,100,102,58,82,68,70,62,32,60,47,120,58,120,109,112,109,101,116,97,62,32,60,63,120,112, -97,99,107,101,116,32,101,110,100,61,34,114,34,63,62,104,107,124,19,0,0,42,157,73,68,65,84,120,218,236,125,89,204,44,201,149,86,156,200,204,218,254,125,185,75,187,221,238,118,47,86,187,229,102,140,103,176,133,48,54,242,136,153,198,6,143,152,145,224,101, -120,0,193,3,235,3,210,136,71,94,64,72,60,33,129,16,226,1,36,16,26,48,30,75,192,72,48,48,96,132,133,102,198,96,141,192,99,187,109,26,247,116,247,244,118,125,251,222,255,254,75,85,229,22,135,56,177,101,100,100,100,85,253,203,253,239,149,169,236,206,251, -215,146,85,21,25,231,196,57,223,89,3,16,145,173,143,255,127,15,190,158,130,53,3,172,143,53,3,172,143,53,3,172,143,53,3,172,143,53,3,172,143,53,3,172,143,53,3,172,143,53,3,172,143,53,3,172,143,53,3,172,143,53,3,172,143,53,3,172,143,53,3,172,143,53,3,172, -143,31,199,35,61,207,197,151,204,29,128,199,224,126,209,222,7,0,180,238,203,127,254,24,140,245,194,19,29,220,199,213,50,192,5,137,14,134,113,192,103,32,249,248,161,79,178,156,12,12,38,6,205,107,216,199,160,52,174,112,108,143,96,172,232,141,89,60,54,18, -224,188,171,93,8,193,229,228,209,9,242,49,216,201,165,27,188,198,73,5,75,120,58,57,231,66,158,136,122,32,118,210,185,28,159,29,47,152,49,63,18,6,176,227,244,198,235,152,247,50,146,225,202,24,96,69,53,160,38,144,38,180,174,235,196,158,52,177,138,17,228, -201,224,26,164,44,137,118,73,108,78,147,169,9,47,146,36,169,233,164,199,118,210,237,184,170,170,74,105,156,2,5,87,204,32,240,218,84,1,202,255,18,158,200,1,51,197,164,105,146,86,52,78,203,20,196,8,184,194,228,63,14,42,64,17,223,18,157,38,85,142,10,73, -142,201,231,80,11,145,216,149,118,29,171,74,254,144,34,124,74,4,151,175,201,241,100,244,219,52,185,150,1,44,163,202,191,137,124,5,177,34,137,69,76,81,43,38,184,252,88,33,178,120,193,27,39,67,245,52,97,181,100,2,90,29,88,179,218,205,147,28,43,49,107,221, -243,69,215,43,1,150,113,152,17,247,138,240,52,217,149,20,173,103,211,105,82,78,167,227,162,174,211,186,170,18,97,164,1,49,6,51,248,192,61,166,239,183,140,174,31,235,247,244,151,219,9,176,175,53,207,245,245,173,201,33,81,47,79,181,226,51,121,14,54,54, -166,27,147,73,133,101,153,249,42,194,174,126,81,34,62,56,125,48,41,171,98,80,87,70,114,9,26,171,134,15,4,99,90,48,13,2,200,6,173,137,104,174,111,127,210,190,0,234,118,157,216,87,210,73,174,252,164,26,100,131,98,115,180,53,75,38,156,38,133,46,41,233,26, -122,255,113,199,0,106,50,229,196,233,21,5,80,157,190,255,222,179,247,190,254,95,255,234,176,40,110,75,162,215,114,98,228,93,33,183,196,14,208,150,55,175,230,145,86,23,122,250,132,208,4,215,204,67,74,155,222,160,153,108,72,97,103,21,205,210,146,215,73, -17,32,10,196,244,116,99,227,173,249,231,62,247,143,110,61,251,236,107,101,89,14,136,49,20,195,214,164,150,80,252,207,183,127,235,75,175,102,223,249,133,10,202,140,190,70,254,0,151,239,130,94,162,200,21,32,51,132,148,63,202,220,232,45,127,250,2,29,52, -179,106,197,45,28,115,32,67,163,204,133,252,102,244,185,93,208,183,75,150,21,76,74,160,103,230,207,125,227,75,131,47,255,19,14,28,164,66,34,105,64,146,12,32,96,242,199,14,4,26,9,192,229,74,207,230,156,79,203,55,223,250,137,143,191,254,195,191,48,188, -113,147,228,175,94,213,86,138,248,235,87,248,11,218,220,35,189,166,230,71,104,44,76,138,68,136,230,117,117,134,207,209,49,83,11,103,100,25,123,247,173,183,216,91,123,187,255,251,240,185,231,94,173,202,114,98,129,41,45,198,60,207,211,255,113,244,155,191, -152,124,182,254,18,38,150,84,204,16,185,25,27,178,134,240,24,145,201,150,192,138,125,204,115,193,106,197,57,194,253,171,31,213,222,243,230,42,100,37,43,216,221,163,59,47,126,246,222,31,249,215,251,59,123,71,37,43,83,146,100,6,64,63,214,32,80,77,168,22, -157,2,242,162,24,158,158,158,222,26,78,38,4,0,154,41,35,162,209,141,136,144,80,194,188,111,166,215,39,232,42,56,24,160,45,158,57,52,114,57,149,183,154,36,88,79,103,123,243,60,31,200,65,38,14,225,75,6,152,206,166,27,243,122,182,181,37,198,140,39,137,99, -128,197,206,1,108,189,107,63,97,25,64,223,49,145,53,137,146,159,155,71,150,21,184,250,171,153,78,174,252,209,7,247,239,222,220,217,218,57,150,178,1,60,11,101,33,14,56,47,131,240,243,18,127,201,9,254,89,230,249,240,248,222,189,91,18,130,107,6,80,114,85, -152,191,193,170,181,167,125,191,117,178,46,51,88,134,137,90,244,193,234,119,182,158,4,161,179,217,86,46,49,128,111,161,72,76,194,231,243,249,168,168,139,137,226,27,11,41,12,49,128,249,170,202,190,103,153,139,123,211,232,57,151,88,91,189,97,71,82,132, -143,137,57,154,223,173,202,106,244,163,179,31,221,146,24,22,140,5,101,231,181,119,254,31,186,4,32,238,90,196,97,100,75,59,16,72,43,76,130,62,56,62,190,41,209,152,239,135,107,240,20,176,182,184,238,157,33,140,160,233,64,0,251,224,145,121,146,128,55,210, -33,145,146,7,231,179,77,169,255,83,57,163,41,97,18,163,2,160,40,242,97,89,231,155,250,211,220,49,65,67,118,112,218,155,222,199,128,220,76,189,38,156,36,16,110,133,241,70,178,169,71,150,117,56,211,224,31,29,171,37,74,22,208,103,18,121,93,53,60,134,163, -3,57,66,86,99,195,0,203,104,240,40,49,128,91,249,180,186,20,24,44,138,17,148,229,13,37,126,173,254,119,160,137,27,31,23,70,8,205,218,171,223,49,137,247,60,196,11,161,132,112,147,212,224,13,73,113,198,139,124,163,148,8,127,40,213,131,21,171,100,44,22, -101,57,172,69,62,162,143,113,67,22,22,89,247,22,3,180,89,18,205,123,22,5,128,195,139,194,176,0,51,234,160,145,40,86,70,112,163,10,192,92,43,12,227,36,163,25,206,14,200,12,37,48,234,153,206,87,106,10,94,57,8,180,196,39,114,228,243,249,166,68,87,135,108, -48,136,172,116,225,144,122,148,248,190,56,183,79,29,40,244,153,163,71,10,216,223,114,76,39,167,148,152,112,62,27,151,53,249,38,82,237,19,38,6,144,159,47,36,94,169,235,124,192,148,46,78,220,106,102,29,91,211,39,178,207,28,202,149,99,222,105,88,64,175, -105,171,76,184,34,51,184,199,168,228,70,109,164,4,56,86,146,175,242,122,240,64,28,223,46,139,50,133,33,192,195,242,157,92,105,52,208,227,80,168,201,25,52,159,111,236,205,102,55,64,24,244,206,152,71,192,112,165,135,160,207,94,239,49,8,196,66,37,184,140, -35,205,119,146,123,5,217,124,122,54,34,19,208,119,85,211,123,211,179,233,164,204,139,180,81,0,220,145,73,191,194,189,213,155,184,43,154,43,193,187,190,253,73,31,71,64,199,178,176,114,0,140,218,209,167,24,215,252,100,247,232,86,89,84,169,189,56,22,167, -120,156,172,0,23,248,33,9,160,214,79,81,108,60,41,196,142,182,0,124,9,16,172,216,16,189,163,181,22,176,193,13,125,8,28,3,88,208,97,113,51,169,160,197,110,49,155,141,201,65,5,156,23,88,85,41,89,236,169,92,112,243,233,108,67,200,201,182,68,99,17,35,144, -49,8,188,63,141,36,0,3,227,26,213,33,2,182,64,143,196,232,49,68,3,49,193,103,130,177,196,205,7,229,97,121,191,76,6,91,89,45,180,15,196,2,237,43,115,5,95,181,4,80,171,138,233,65,226,108,58,221,29,15,135,35,103,1,56,244,207,26,27,222,71,254,76,120,86,0, -107,94,67,140,16,24,34,82,0,187,224,17,253,155,37,169,148,143,42,35,1,188,89,147,216,112,62,193,90,36,74,107,152,21,223,252,215,144,81,159,150,88,73,71,54,132,114,192,146,148,71,95,15,109,140,70,34,36,10,13,212,59,211,249,116,2,74,3,60,28,21,112,238, -124,128,85,204,13,37,172,229,133,167,247,238,221,20,116,47,44,4,114,254,138,143,96,128,216,114,118,12,195,34,234,194,251,188,197,12,78,255,155,147,27,243,74,2,83,105,161,12,204,189,184,168,159,52,3,55,144,139,132,5,171,189,249,183,199,143,239,44,132, -70,38,160,49,233,52,145,107,143,228,216,90,255,93,38,169,157,68,73,228,127,243,42,223,60,41,78,118,110,177,155,247,125,226,247,249,2,46,98,29,164,87,141,1,84,100,77,254,229,114,48,156,76,64,105,110,181,137,107,29,227,61,132,111,89,122,62,94,192,104,180, -111,249,160,132,2,128,134,43,165,48,42,135,162,170,6,228,82,37,151,181,242,195,203,119,165,25,56,22,3,76,26,147,15,60,129,31,88,20,10,188,181,29,63,208,130,137,224,76,60,112,6,37,122,127,125,241,239,51,81,99,95,164,242,191,138,149,155,211,100,186,37, -37,141,16,218,20,228,87,237,13,188,50,63,128,23,239,151,115,174,252,1,60,41,138,3,72,120,162,1,32,116,23,56,176,136,13,207,226,204,129,6,16,162,240,152,2,26,53,18,115,1,211,99,231,131,160,172,31,114,72,85,35,172,156,4,176,193,22,9,87,202,137,180,19,19, -203,156,237,149,15,173,149,222,118,4,249,6,161,240,220,64,214,3,80,59,66,163,89,237,13,62,96,158,12,176,108,165,177,4,169,151,26,196,86,206,102,59,114,160,4,46,18,59,230,171,244,5,92,185,4,80,186,138,194,87,69,49,16,69,113,168,137,198,218,78,159,69,32, -30,123,196,191,93,205,44,32,246,66,201,0,129,223,64,210,191,172,7,181,148,0,194,34,106,5,75,16,36,46,24,51,51,118,112,235,53,198,2,161,107,8,60,15,64,155,53,152,51,252,186,66,31,220,231,218,113,5,240,216,71,240,98,227,180,62,57,20,149,28,23,87,57,11, -124,65,124,249,209,50,128,231,170,84,147,88,228,249,104,243,236,236,118,34,234,246,10,5,232,70,81,156,137,7,17,32,231,233,117,31,12,58,128,24,56,129,124,75,2,188,248,130,121,67,148,213,72,142,109,172,135,172,179,147,72,122,229,243,124,34,198,164,2,176, -133,247,99,132,247,191,175,97,22,116,104,95,56,51,182,45,77,66,196,239,107,127,29,60,178,207,180,75,168,218,40,39,39,195,147,3,81,10,128,1,176,199,217,12,132,150,175,154,36,128,100,128,39,165,4,200,162,129,26,108,3,64,183,124,2,85,225,175,244,80,228, -199,176,65,139,9,172,25,233,71,138,145,149,101,49,146,99,155,160,183,146,36,22,72,103,243,217,182,52,15,1,23,71,155,60,190,133,32,12,212,126,7,156,59,8,3,198,129,206,149,109,220,224,161,133,93,41,3,118,230,135,85,94,67,182,145,182,98,45,143,165,25,200, -156,103,141,137,217,108,182,185,145,101,155,29,34,70,221,189,184,192,255,143,241,232,160,79,124,17,9,20,33,118,178,53,76,86,210,64,72,113,239,231,40,170,228,149,178,216,176,33,105,244,162,246,24,209,83,16,121,13,35,134,105,243,105,136,176,81,236,21,108, -185,151,211,36,101,165,40,246,243,34,247,29,87,87,42,1,174,42,26,232,59,41,56,229,223,77,31,60,216,175,132,24,183,137,236,173,220,142,7,208,243,20,10,236,218,241,214,132,108,49,14,152,107,49,194,80,97,44,65,94,10,202,79,49,170,139,98,34,172,67,69,210, -187,150,19,91,150,213,38,5,94,172,0,71,47,74,135,45,63,63,182,200,212,228,8,180,125,82,93,243,49,100,34,223,239,199,188,200,98,35,17,18,41,160,79,139,147,253,89,61,27,201,239,18,222,60,63,186,104,224,2,198,176,129,32,121,111,92,176,227,227,3,185,180, -134,141,62,6,79,103,131,97,61,8,124,2,126,50,8,235,81,5,49,215,49,182,177,132,85,23,192,26,23,52,145,150,48,159,16,25,86,210,18,208,181,0,148,111,198,84,6,147,168,71,196,76,244,209,218,69,244,109,176,183,54,154,217,18,85,120,209,65,240,174,110,51,9,70, -88,169,27,205,4,207,114,208,191,87,155,239,38,83,112,202,166,187,57,159,79,228,239,29,251,56,139,18,68,30,9,6,88,192,4,54,10,40,241,11,199,52,207,247,229,72,135,154,240,193,106,116,22,19,182,147,229,124,191,191,37,96,104,226,133,207,25,107,71,21,133, -199,4,190,235,217,74,25,174,28,68,216,198,44,218,180,66,47,109,195,129,70,230,39,171,112,71,40,193,218,49,139,70,22,216,199,194,187,170,29,93,180,65,229,230,119,88,139,161,172,18,210,190,128,122,183,100,210,68,85,214,181,112,150,128,113,6,224,181,51, -192,50,39,16,61,166,120,123,149,231,55,229,40,7,45,179,205,183,207,125,80,216,151,38,17,234,241,142,254,15,128,160,207,16,16,16,95,185,152,41,176,202,201,55,128,177,220,58,160,84,69,23,205,111,86,40,186,216,128,136,234,244,246,170,110,171,17,63,73,172, -9,28,135,247,10,45,121,97,175,32,75,160,132,124,119,90,158,237,144,122,234,36,41,60,134,126,0,181,186,10,201,0,131,211,211,155,153,20,173,206,17,19,66,165,150,184,14,99,248,61,160,80,193,75,17,1,135,44,194,12,44,154,91,128,148,124,201,208,47,76,81,191, -202,19,46,180,203,66,40,231,13,26,2,104,145,44,90,115,223,228,5,98,43,35,0,13,147,120,104,39,80,3,177,36,179,208,82,64,15,160,1,203,119,102,187,167,249,233,30,74,129,175,150,83,19,113,125,108,204,192,86,190,154,74,5,171,42,126,43,207,111,140,41,254,62, -24,4,121,0,158,52,16,145,212,173,168,69,224,185,117,67,19,208,254,21,162,241,37,132,94,65,39,1,72,203,144,46,7,132,8,91,130,118,10,57,18,162,209,199,220,169,2,104,37,134,176,78,90,72,179,230,109,182,95,44,183,16,91,57,4,139,19,197,196,141,106,43,63,158, -239,138,66,50,225,16,90,85,86,87,17,15,184,10,9,128,190,35,136,68,43,229,215,237,50,182,155,182,34,125,204,115,246,88,175,94,232,2,198,136,103,16,219,42,193,247,10,10,11,44,133,39,129,61,241,109,167,72,104,203,130,60,170,2,76,153,88,171,80,148,84,2,175, -53,70,21,164,119,61,243,168,29,200,133,78,36,18,156,211,167,201,7,110,16,129,240,254,245,213,75,104,68,134,150,133,253,158,100,156,192,188,154,238,215,105,37,89,55,99,143,212,17,212,99,110,128,23,15,80,232,244,236,248,120,71,226,128,45,37,254,67,127, -62,195,120,52,23,252,247,33,78,124,22,152,135,16,132,151,25,246,184,147,133,147,30,2,84,21,129,159,94,162,109,17,174,242,242,229,215,217,172,221,70,212,131,193,1,126,148,176,137,236,181,215,51,235,24,140,93,236,223,198,6,200,48,240,30,248,40,33,149,198, -224,209,252,232,176,28,84,217,128,13,106,3,2,163,206,160,71,22,13,116,49,0,26,148,52,1,241,244,116,143,178,111,123,245,63,243,60,116,128,11,192,96,219,142,111,28,133,24,137,43,132,110,98,214,85,3,142,51,98,197,21,96,106,180,208,100,232,177,86,188,142, -123,46,27,107,8,134,153,40,216,210,248,221,149,47,162,176,48,166,0,26,48,73,190,128,19,60,57,168,152,202,12,170,188,112,240,227,3,2,61,7,5,85,92,86,105,89,110,39,66,108,40,147,75,96,220,85,230,86,38,196,131,57,173,252,62,214,117,238,56,135,17,118,189, -140,49,151,176,41,40,145,75,93,89,96,17,95,28,210,112,107,79,5,160,151,203,135,65,120,8,58,33,98,214,97,134,152,7,0,61,117,129,29,227,49,156,29,50,5,51,150,243,249,65,205,235,76,10,167,57,21,174,250,25,194,143,60,28,108,137,111,147,65,9,138,213,121,46, -33,0,78,90,182,56,11,252,0,78,8,219,52,241,112,229,138,174,104,87,34,223,83,9,78,5,68,174,117,165,101,230,185,202,74,18,26,54,176,118,9,182,98,8,165,7,192,84,232,212,46,40,203,61,188,207,29,54,239,50,0,180,18,69,177,229,51,20,129,15,177,43,45,186,46, -100,116,4,226,44,199,252,32,47,231,19,57,215,39,118,158,213,72,56,191,180,47,224,42,37,128,26,84,85,215,0,84,13,84,148,27,206,2,96,145,192,15,4,240,123,217,109,68,227,255,145,194,17,196,168,62,117,140,192,129,117,145,28,49,19,9,47,222,98,0,77,10,174, -214,63,56,127,128,232,129,131,208,114,11,55,214,64,83,246,17,2,193,198,96,20,81,68,96,199,127,186,117,114,99,90,78,183,228,101,239,217,175,191,42,53,112,85,126,0,176,174,213,92,50,192,222,108,118,176,83,85,137,75,7,95,74,88,22,215,229,225,155,34,32,46, -122,82,1,35,249,6,126,45,129,181,70,168,168,20,64,120,225,96,197,17,4,2,229,233,106,249,124,146,10,151,221,139,173,76,158,118,13,145,104,71,242,90,114,0,91,198,97,168,2,250,204,64,97,236,143,234,137,124,47,127,123,190,1,34,90,135,252,248,56,130,168,17, -3,73,128,177,16,187,19,235,180,233,211,83,177,202,202,208,137,227,219,250,190,217,136,30,46,104,121,5,35,137,34,162,157,76,2,186,49,68,29,168,54,146,254,74,185,212,174,110,79,123,255,173,21,32,92,181,80,147,193,195,188,156,224,38,227,39,4,134,194,201, -133,182,85,208,118,6,55,242,202,247,67,106,150,73,54,147,73,81,23,91,140,106,68,224,106,35,184,87,202,0,105,154,86,85,81,76,230,69,177,71,213,184,206,22,103,16,120,249,32,48,34,177,29,11,112,129,21,240,69,116,4,220,137,254,0,17,250,17,196,134,113,80, -215,123,139,144,49,149,47,128,219,198,37,162,55,80,10,65,0,215,127,206,189,28,31,108,49,6,122,254,127,110,234,134,181,143,49,81,255,250,30,0,93,29,132,206,244,84,133,162,233,209,236,232,32,57,224,212,217,228,241,115,5,91,48,149,14,6,5,20,197,126,125, -255,254,45,151,149,139,16,184,61,61,100,222,237,156,96,136,203,61,43,193,3,141,246,9,247,164,128,167,71,155,149,110,65,36,52,140,80,202,53,76,64,16,20,2,100,16,250,94,73,137,165,146,52,73,97,114,115,209,65,64,238,224,31,247,8,207,61,18,129,115,29,183, -5,156,112,129,32,108,73,132,134,41,218,30,67,95,82,52,242,69,240,58,189,47,238,61,145,14,210,202,6,129,174,170,79,192,85,73,0,234,195,35,104,98,135,27,27,179,227,170,122,239,248,251,223,101,195,209,144,85,9,176,20,74,198,135,114,122,192,107,10,97,45, -10,82,19,94,226,38,114,179,142,44,19,216,212,110,47,128,164,249,7,91,36,68,79,244,107,39,105,173,153,66,212,146,182,37,43,79,24,251,222,221,154,205,182,54,41,77,153,181,170,8,229,192,210,52,17,213,73,193,126,248,59,111,176,233,248,73,38,117,153,179,120, -192,148,124,89,162,0,54,13,75,156,33,227,20,128,69,105,96,74,190,161,65,245,96,50,133,193,4,151,104,14,140,17,196,141,165,68,133,9,20,233,77,228,153,166,53,203,179,41,131,19,156,111,139,157,59,73,154,170,198,53,87,217,36,226,74,24,64,117,222,74,18,65, -137,160,135,59,59,103,243,95,248,249,191,253,141,217,233,116,242,245,95,255,249,237,147,7,27,48,76,24,121,90,7,146,40,169,92,133,148,39,152,214,149,90,145,116,130,17,229,42,76,3,232,12,3,110,68,189,75,156,128,32,140,192,65,137,79,97,90,13,208,227,130, -94,179,126,166,12,84,0,37,145,218,104,42,56,123,117,244,28,43,14,14,155,196,63,151,134,32,9,53,72,48,159,113,246,157,175,254,46,59,59,253,145,252,109,147,165,47,172,86,215,42,200,117,180,177,134,143,145,50,142,36,158,196,3,69,76,112,230,51,79,36,59,36, -244,90,194,146,36,97,60,77,229,95,206,210,76,62,151,143,179,20,212,88,137,240,48,146,191,206,231,236,134,56,248,225,207,236,255,209,127,240,185,79,126,254,223,212,80,13,83,158,86,126,131,171,71,206,0,166,131,21,245,175,169,133,196,0,117,81,12,159,124, -250,153,215,55,254,250,47,253,210,15,94,250,196,111,28,253,139,127,254,87,118,95,251,193,75,116,179,37,200,27,150,211,159,16,19,212,146,41,104,117,202,149,198,5,157,52,217,77,214,47,168,83,18,15,26,226,235,244,13,52,140,0,170,105,11,49,2,5,108,106,208, -127,21,3,128,126,142,169,252,141,129,156,212,148,147,149,199,70,35,149,174,174,64,160,87,101,161,86,36,197,136,74,90,177,146,9,54,242,169,126,205,165,162,27,181,36,12,225,233,127,98,12,97,180,60,232,80,178,213,66,78,73,16,225,85,248,89,45,113,121,143, -92,159,9,173,116,164,222,116,42,237,75,210,93,62,23,74,16,170,86,73,212,10,104,6,245,203,227,79,253,219,63,254,252,23,255,254,39,158,255,196,183,48,195,140,24,222,118,57,123,100,12,208,151,122,164,24,64,8,78,64,112,62,155,141,54,228,12,190,252,39,190, -252,149,55,94,248,216,119,222,253,202,47,255,197,244,235,255,249,79,110,204,231,195,98,144,169,90,17,34,54,77,0,40,7,77,77,9,79,70,92,107,228,174,141,51,116,117,122,224,199,146,204,138,66,131,35,104,229,19,209,133,33,124,165,164,130,124,46,185,7,229, -9,114,181,161,4,254,167,148,20,106,156,40,30,118,209,205,162,136,1,114,57,166,105,198,178,50,109,28,61,20,56,168,193,180,51,224,13,67,8,179,242,91,185,195,38,175,31,26,0,8,134,131,137,17,56,141,69,50,62,167,21,15,230,76,168,106,217,148,155,113,26,123, -201,246,202,189,55,190,240,225,207,255,227,207,191,248,185,175,236,221,216,191,63,199,249,230,16,134,185,156,219,82,158,4,4,109,32,235,250,163,129,177,31,48,3,225,102,66,69,154,101,101,53,159,143,234,179,179,237,15,63,251,236,107,155,127,249,175,253, -205,255,251,210,203,223,124,227,171,255,242,47,141,223,124,243,121,98,245,138,100,157,226,250,68,225,0,205,0,194,121,245,192,76,8,216,136,157,239,125,3,237,203,85,30,94,221,8,74,25,108,36,178,137,17,42,208,82,64,80,15,0,186,78,254,158,208,61,165,232, -26,227,1,228,141,208,166,0,17,117,135,155,201,21,121,170,165,148,91,209,106,72,202,110,144,175,37,77,74,155,11,99,24,67,145,235,215,141,91,193,136,44,77,120,245,48,49,12,144,104,41,144,82,159,43,121,61,53,133,227,153,46,166,225,85,82,190,180,241,226, -127,122,229,229,159,253,135,31,123,250,99,255,139,15,56,159,229,179,205,209,104,52,247,87,189,109,109,123,237,174,224,165,129,160,54,46,80,83,149,159,158,110,13,229,253,191,240,133,47,252,234,219,207,60,253,253,255,243,181,175,253,249,242,183,126,243, -149,52,159,143,107,201,4,164,175,33,105,162,117,232,217,242,104,171,122,125,107,16,108,121,161,169,161,1,45,31,84,131,5,90,253,160,171,241,20,67,40,169,160,171,131,40,20,76,147,94,83,199,5,174,76,190,198,29,204,53,58,171,230,82,21,205,19,195,0,90,191, -43,198,36,98,41,237,196,155,128,144,195,39,122,124,164,18,180,176,50,4,7,45,246,173,148,160,239,35,92,161,108,10,185,242,185,122,174,27,160,81,103,149,109,177,253,214,103,158,248,244,63,251,236,203,127,232,107,219,59,219,39,243,122,190,157,85,89,49,28, -14,115,95,220,251,249,151,87,145,22,118,101,158,64,211,30,206,53,135,148,167,107,107,82,228,249,176,144,0,241,224,230,237,119,199,127,246,207,253,221,239,62,251,220,239,188,255,31,127,237,23,241,157,119,62,10,89,38,137,150,105,164,140,198,68,50,113,2, -221,170,13,156,65,32,116,63,39,183,242,104,130,85,69,178,245,198,131,6,130,104,56,6,141,116,208,86,161,96,3,73,204,68,163,123,193,77,219,88,133,97,40,207,130,114,67,167,200,210,194,212,251,218,213,45,140,3,8,161,43,238,13,16,5,51,64,110,254,170,215,204, -169,138,82,233,229,84,3,64,200,64,73,2,165,248,51,65,76,80,63,51,126,250,191,125,246,99,159,253,167,207,63,243,252,183,37,143,164,167,179,211,237,129,52,169,165,184,87,139,139,230,211,180,184,21,87,9,0,47,141,1,76,211,95,213,23,144,106,238,203,178,74, -147,36,203,7,131,100,38,81,1,225,239,1,34,31,152,199,195,60,47,134,35,62,16,191,239,167,127,246,95,189,253,236,11,223,250,238,127,248,181,63,253,222,127,255,230,43,229,131,211,61,202,213,115,170,213,160,109,97,136,106,165,110,109,124,243,104,175,1,237, -50,65,99,42,106,149,224,187,27,192,101,34,209,42,219,28,103,236,176,170,49,161,150,177,205,100,74,11,134,250,69,73,140,157,151,76,228,247,181,3,19,27,192,103,138,134,53,168,99,154,224,10,213,27,6,179,14,36,213,190,208,72,1,83,114,216,48,1,17,63,53,152, -64,157,136,187,233,205,239,125,234,169,207,252,202,167,158,255,201,127,191,179,187,123,44,88,149,14,178,108,54,28,14,230,131,193,80,174,254,65,158,73,117,58,144,127,37,67,148,85,197,228,66,42,229,67,9,20,60,12,227,99,129,107,197,0,38,50,149,120,253,128, -217,91,111,126,255,51,103,211,119,127,138,38,177,174,203,148,218,173,18,7,35,82,235,211,154,83,119,14,20,117,178,179,151,229,47,124,233,19,191,119,240,28,251,193,230,131,119,63,173,165,40,120,125,164,154,174,89,194,133,2,180,238,179,126,91,52,177,0,97, -106,191,117,126,47,119,94,99,69,36,133,80,181,190,124,235,251,119,216,59,239,207,51,205,59,220,69,16,36,14,17,69,57,7,44,19,182,191,243,69,54,220,60,144,120,212,239,83,96,124,19,104,204,65,104,208,191,243,118,66,195,48,204,72,45,213,29,141,162,207,220, -4,161,236,95,234,88,87,227,241,110,181,245,157,122,246,52,251,214,171,245,207,213,226,78,146,101,4,242,18,42,89,54,221,77,185,52,249,168,175,113,130,147,81,122,252,201,151,247,191,126,235,214,225,187,52,159,182,103,192,101,37,194,101,84,0,232,40,171, -94,253,146,246,245,241,241,221,15,205,230,223,248,59,47,190,184,253,7,40,46,104,21,55,116,243,168,228,220,230,144,102,227,34,249,242,103,164,77,80,68,242,37,35,25,192,173,148,41,108,133,94,219,233,229,205,119,56,129,45,5,209,111,127,243,183,79,127,229, -43,27,95,221,63,188,241,122,93,85,67,219,140,89,160,72,63,241,194,139,191,254,214,15,171,151,118,119,255,198,167,39,79,236,178,170,16,14,132,106,16,215,78,85,176,104,159,247,100,175,117,194,16,230,111,109,60,213,242,115,27,105,42,94,185,147,23,63,39, -102,10,92,96,171,118,6,209,19,184,0,101,49,173,238,124,240,206,223,251,51,127,106,231,111,85,53,31,74,194,39,118,252,143,12,3,152,46,219,170,223,94,41,165,231,124,126,116,251,240,240,254,199,119,119,7,114,186,242,36,172,125,235,122,212,139,52,244,200, -118,163,65,225,99,236,186,127,91,225,64,17,92,111,211,136,18,182,247,196,232,238,31,126,229,103,126,249,137,39,158,124,171,40,230,19,41,94,11,149,196,90,22,195,207,252,228,31,252,47,119,126,111,240,210,171,111,12,63,125,231,237,148,44,82,150,112,67,108, -174,25,128,27,141,194,205,107,182,251,12,231,77,63,10,223,8,112,94,75,239,142,185,112,89,132,105,157,179,45,132,145,6,181,61,241,44,203,112,101,185,157,189,251,126,254,242,116,122,58,206,6,155,204,52,183,182,18,224,145,96,0,151,157,74,162,189,40,80,130, -191,179,221,167,158,34,157,47,22,16,147,7,132,1,214,223,232,39,70,112,8,158,139,86,206,88,60,3,79,55,118,154,205,78,111,28,61,120,231,5,196,159,248,182,49,255,172,73,37,168,67,200,187,119,222,127,177,78,114,249,218,86,139,189,200,158,1,209,196,180,208, -147,0,126,225,147,107,71,100,53,5,118,178,14,58,181,172,216,243,188,85,80,109,44,14,1,147,221,179,179,187,27,219,233,100,234,183,141,243,51,132,175,179,83,168,151,9,132,82,13,148,233,201,201,209,237,209,104,56,8,186,63,120,39,247,102,128,179,158,182, -95,145,213,31,4,147,122,94,195,160,218,174,253,219,137,20,201,103,27,167,103,239,125,172,170,106,181,114,236,61,200,199,213,217,217,116,251,238,253,147,23,43,41,167,57,196,162,127,241,54,199,173,108,53,22,228,167,176,254,10,182,190,130,167,152,159,13, -141,148,41,203,122,235,232,232,120,223,118,15,245,210,241,47,92,27,120,217,216,162,107,10,73,82,224,244,244,254,109,196,140,175,0,29,122,147,32,250,51,70,98,24,0,23,126,115,231,151,121,197,78,78,239,124,100,122,54,31,81,235,117,35,193,72,153,214,71,15, -142,14,167,179,252,80,136,126,181,26,118,177,109,21,158,134,4,93,20,169,142,84,183,177,24,150,240,152,139,238,109,150,215,155,71,15,170,125,80,37,142,34,185,138,172,160,115,49,128,14,110,112,102,99,210,141,10,208,187,155,36,201,217,129,22,132,98,9,161, -25,91,220,249,121,213,215,241,92,140,38,237,106,246,193,253,187,79,158,156,28,239,167,73,90,218,213,67,238,235,119,222,121,247,185,178,170,55,161,87,250,53,76,192,88,123,117,219,52,69,33,186,43,93,68,138,160,23,181,72,238,83,13,186,127,53,108,76,103, -124,151,20,87,51,247,2,44,93,46,130,5,46,37,1,108,103,112,13,4,171,44,73,138,27,109,88,17,3,126,200,122,82,132,47,65,112,92,202,14,90,2,36,236,228,248,248,214,241,233,209,33,165,128,121,25,182,236,238,221,15,158,169,107,49,114,197,69,44,168,92,143,172, -112,198,186,125,47,93,55,123,219,27,51,36,244,2,105,16,147,8,232,1,65,206,113,50,159,215,251,36,165,172,249,125,217,20,177,203,90,1,182,122,82,228,69,190,9,188,184,5,48,97,77,181,76,44,11,8,88,127,239,108,140,228,138,225,2,203,0,34,168,127,193,120,229, -236,87,101,53,40,139,98,72,155,68,200,147,235,110,97,85,146,23,229,152,186,134,51,172,52,209,132,243,252,234,64,96,80,73,226,170,209,124,180,111,26,146,9,47,161,41,180,208,195,174,120,97,79,43,92,176,62,242,42,27,31,159,242,3,33,42,176,221,247,46,171, -6,46,106,5,128,143,64,201,65,83,149,249,104,103,187,184,193,249,100,9,83,226,5,69,253,42,175,133,12,17,209,225,214,102,4,151,7,100,34,194,80,11,105,165,35,152,40,67,172,182,196,210,222,75,79,180,197,79,206,63,32,60,66,251,153,240,208,15,242,132,136,79, -65,8,129,235,106,59,59,155,237,222,168,170,156,243,100,16,109,25,115,109,45,98,154,150,165,218,29,39,7,53,185,253,132,216,53,49,160,208,35,179,210,10,93,110,5,96,143,201,24,182,114,137,247,142,213,33,6,114,56,114,219,121,179,201,9,80,161,8,29,143,8,197, -111,88,151,18,195,6,171,232,248,206,247,198,246,195,192,136,124,180,210,134,143,37,139,78,14,165,197,197,205,214,119,215,11,2,187,156,171,76,64,21,161,57,59,123,176,55,25,103,99,182,50,46,239,179,247,217,2,245,192,86,120,157,245,56,159,140,249,218,20, -141,182,182,237,210,161,132,166,208,52,172,67,69,182,92,111,163,151,161,46,206,1,246,98,86,69,167,200,9,181,51,106,54,47,247,102,179,249,68,199,183,46,223,51,232,162,126,0,103,108,171,166,16,82,115,206,102,199,210,132,74,135,113,162,138,5,43,27,151,156, -140,245,215,215,135,44,0,11,153,66,237,63,69,241,61,14,162,227,97,80,82,193,110,91,21,89,173,94,91,99,29,231,104,254,210,235,181,5,125,94,177,178,16,109,70,232,35,190,8,190,27,89,91,106,160,87,211,114,124,86,239,157,77,197,38,249,133,130,29,90,174,215, -19,216,50,1,149,230,59,145,22,0,203,206,183,130,151,217,253,231,5,125,184,80,226,24,149,21,239,14,66,73,173,216,36,164,44,178,211,45,48,180,213,109,22,12,58,86,71,182,112,95,204,62,219,31,177,139,153,125,243,147,171,70,167,176,83,20,201,6,167,29,13,219, -24,224,66,185,1,231,174,13,164,100,70,161,89,211,108,177,74,78,32,224,105,154,239,75,189,148,45,215,245,203,128,223,34,144,216,5,120,184,68,239,251,175,9,93,74,14,44,222,172,212,102,164,180,235,78,188,125,39,208,55,80,68,191,134,11,59,223,70,187,227, -123,59,231,48,232,246,209,100,97,87,29,98,128,84,221,239,86,89,138,77,45,137,27,21,144,36,201,181,154,129,110,95,0,122,82,150,69,138,76,245,4,74,186,118,254,170,168,31,207,33,9,22,93,211,253,94,155,74,166,34,113,140,155,68,144,118,19,89,85,253,163,226, -196,232,10,145,16,226,145,62,224,139,251,84,199,202,33,253,225,181,218,30,26,161,22,109,154,30,89,211,211,121,182,115,124,90,31,160,168,232,94,46,189,137,196,165,172,0,51,96,204,243,50,219,152,228,183,178,52,104,202,16,13,10,133,239,183,131,57,253,81, -191,240,187,113,137,212,195,46,155,8,230,41,121,223,225,175,227,113,232,229,36,178,8,10,239,52,39,11,28,59,49,96,23,11,246,56,61,239,221,190,211,249,190,99,73,116,43,231,242,252,96,251,108,58,62,16,162,100,166,43,255,165,152,224,34,24,160,181,57,148, -150,0,101,118,235,86,113,48,28,166,17,98,173,162,18,112,133,207,116,95,195,222,207,196,59,123,42,55,191,234,100,217,148,35,235,220,58,181,97,115,141,74,173,98,167,59,93,232,192,241,155,144,51,104,171,10,139,15,24,46,215,249,45,105,225,177,182,159,10, -1,194,139,58,210,248,147,221,180,172,223,223,171,235,146,118,58,105,209,227,90,93,193,205,143,114,49,157,158,110,142,39,108,171,235,3,88,20,207,95,197,57,20,91,253,125,196,95,14,4,53,6,160,186,64,46,66,108,67,175,57,43,39,226,134,93,68,192,78,44,191, -94,188,29,34,99,193,102,38,61,141,84,195,94,88,182,24,102,58,205,247,41,253,206,154,226,143,202,12,180,189,235,197,217,217,131,253,170,132,13,237,158,196,37,196,246,9,43,86,100,144,85,226,3,43,236,100,98,236,116,173,255,109,153,25,184,116,34,179,239, -97,127,239,15,92,46,111,252,107,252,221,111,162,1,37,193,22,183,82,102,221,109,147,104,76,71,15,138,253,162,196,1,0,250,13,186,46,20,18,62,119,52,208,138,25,187,65,36,165,75,0,76,119,16,235,113,191,199,111,21,134,64,182,106,104,24,25,246,196,24,22,142, -94,218,234,104,74,7,227,102,160,74,40,161,204,228,160,135,37,46,128,25,157,174,118,177,110,53,145,40,31,46,120,45,26,59,48,140,147,200,117,127,54,231,7,117,197,135,202,117,37,240,82,18,224,220,102,96,184,57,164,64,42,172,156,237,73,96,61,105,155,106, -176,32,176,179,170,217,135,43,248,12,160,199,237,28,113,5,91,6,0,64,128,246,125,113,181,111,0,82,227,232,78,74,23,91,224,107,100,44,210,224,4,151,155,132,173,239,14,51,135,34,183,194,161,9,11,215,181,216,171,106,28,82,247,99,63,51,232,34,117,2,23,226, -30,31,117,214,85,13,117,61,187,33,129,207,36,110,179,139,75,196,1,22,1,191,48,100,6,75,200,132,138,1,4,34,195,30,76,65,24,161,174,177,241,14,71,242,251,206,227,217,88,230,0,194,158,198,102,81,135,182,183,249,201,116,150,30,78,167,229,182,53,36,109,235, -184,107,51,3,125,6,40,138,154,75,9,112,107,56,192,193,98,159,254,121,212,193,74,242,104,133,88,128,255,156,51,157,233,13,206,19,24,122,4,133,114,106,97,148,175,250,26,154,54,161,132,229,196,95,6,210,99,193,33,223,210,0,231,11,184,121,112,54,5,82,187, -30,174,16,15,159,1,236,86,107,62,19,228,121,153,236,239,23,7,219,219,98,5,15,31,246,136,238,213,220,186,24,105,211,188,26,163,96,3,190,48,222,39,80,153,129,20,35,180,133,169,176,64,252,199,222,135,184,238,94,93,189,70,62,135,193,235,96,44,12,118,176, -85,148,201,150,32,103,16,186,182,177,23,202,13,184,140,4,80,137,149,179,217,124,56,28,21,187,131,1,239,49,251,216,57,86,122,159,120,183,115,12,17,177,191,44,245,188,185,77,33,180,167,55,74,28,93,159,217,20,166,122,226,223,218,252,54,253,219,39,148,159, -18,238,51,71,184,226,1,226,76,180,136,105,124,141,238,3,69,158,102,131,179,233,108,15,245,170,191,148,39,240,34,173,98,193,212,3,40,79,118,145,159,109,230,243,106,87,127,85,24,168,129,115,136,245,176,119,156,191,122,113,133,21,14,61,184,160,65,84,216, -232,127,191,148,202,219,85,72,152,234,163,246,42,247,29,63,139,90,244,216,228,144,24,19,180,246,178,130,5,4,103,221,182,74,225,95,26,226,189,123,243,91,130,252,218,102,183,214,139,134,134,47,42,1,140,184,33,167,202,124,3,145,0,73,194,186,9,28,253,171, -185,203,24,176,224,253,85,59,164,247,93,167,49,146,232,179,149,193,116,32,172,177,69,64,127,226,99,171,159,69,84,1,4,173,144,252,102,68,108,21,235,34,16,106,16,241,68,82,80,232,228,140,31,72,233,207,47,187,103,196,121,93,193,208,142,65,211,254,11,243, -77,206,11,201,0,212,19,176,234,33,254,101,192,30,139,170,2,92,233,243,109,105,128,58,11,32,22,14,38,118,38,253,175,226,1,190,216,239,19,227,81,194,247,255,244,226,17,66,12,246,183,31,187,244,51,34,90,38,193,119,197,14,132,222,76,18,47,19,15,72,47,186, -250,117,70,48,217,164,179,253,36,169,119,186,98,251,162,40,126,209,231,219,13,216,176,85,100,226,227,7,30,7,145,202,203,7,181,215,28,194,163,159,218,70,166,217,118,152,55,182,247,34,208,214,209,96,61,110,9,53,42,191,71,118,176,121,138,175,50,90,27,170, -134,140,103,32,236,217,148,221,144,0,124,52,26,225,137,221,82,246,218,48,128,121,6,117,69,195,155,29,142,198,184,221,175,123,113,137,206,95,166,215,251,63,3,157,221,54,98,217,65,141,76,21,162,29,145,117,146,0,117,159,64,213,139,128,186,197,240,166,14, -176,215,246,247,247,186,12,204,52,27,16,114,129,30,222,222,6,201,119,14,249,152,2,34,122,159,7,82,70,151,203,115,118,58,61,184,57,159,87,147,157,29,113,162,210,242,86,215,147,151,243,4,50,83,13,68,15,242,188,226,227,73,190,183,191,143,131,243,139,119, -88,162,46,96,197,239,131,128,236,109,230,193,214,222,63,200,192,245,141,240,124,1,186,206,158,204,64,221,149,0,226,96,111,161,105,7,93,155,223,223,192,164,133,27,150,33,255,8,16,116,104,6,180,190,170,217,135,14,242,252,119,55,148,235,186,217,69,228,90, -36,128,243,5,20,101,197,211,116,190,183,189,197,89,60,19,248,34,250,126,145,229,192,123,36,11,68,228,112,119,39,95,99,87,163,107,240,226,152,192,58,83,192,37,124,180,178,128,122,136,213,217,44,18,187,82,195,134,114,93,243,40,12,16,126,31,147,69,60,233, -190,235,56,73,178,201,116,54,223,214,153,110,215,36,1,236,208,172,9,88,85,197,48,207,167,55,24,27,178,118,242,199,50,83,45,166,235,87,92,94,43,93,31,67,82,220,184,129,153,0,206,99,193,32,157,20,76,61,3,35,32,16,34,120,32,244,188,135,121,0,204,182,13, -130,126,173,6,145,41,242,85,11,68,188,145,244,183,170,197,224,222,253,153,170,112,242,83,195,30,186,4,112,27,22,169,185,44,135,117,61,221,111,124,0,112,14,145,31,147,18,176,0,200,117,87,119,151,169,248,98,255,131,209,211,212,213,212,118,214,0,215,43, -136,41,35,128,65,35,1,162,142,155,8,216,67,111,133,67,184,217,9,180,71,229,154,136,96,183,193,68,216,73,215,254,158,43,73,247,164,135,124,152,30,61,128,27,6,188,250,27,73,61,92,51,208,248,157,121,173,178,84,203,97,154,230,123,203,37,64,223,138,199,37, -118,83,31,38,128,30,119,70,95,120,152,27,71,144,96,131,193,48,79,179,172,32,194,55,29,54,128,73,56,61,85,55,97,202,195,195,28,203,150,30,239,251,25,108,202,201,44,98,111,241,75,224,20,98,65,243,8,22,168,8,215,103,192,126,23,111,46,75,7,44,203,75,118, -168,83,203,154,26,199,235,48,3,155,114,176,106,190,197,121,37,37,192,36,96,128,85,9,199,86,0,126,139,164,4,44,248,188,47,17,116,243,119,234,178,116,120,248,228,219,59,59,187,247,104,199,112,221,35,128,169,2,215,167,158,122,242,245,52,77,207,132,168,55, -56,95,226,166,229,81,225,210,180,142,241,29,76,17,87,72,75,172,135,14,169,158,223,117,210,194,97,20,72,166,83,60,172,202,50,163,78,168,22,151,93,151,25,8,40,80,84,245,108,103,60,174,247,251,87,239,121,45,129,243,232,121,88,241,218,70,94,115,200,216,225, -193,135,95,223,220,220,152,10,81,82,143,128,90,119,165,21,252,230,205,155,239,221,56,220,121,87,94,121,19,120,163,207,91,141,205,3,98,59,54,13,164,3,68,134,133,61,142,206,86,186,249,162,101,226,237,91,163,123,37,103,236,248,108,251,22,181,223,27,167, -195,162,109,162,63,100,87,48,29,117,77,173,120,139,205,195,3,138,3,172,74,156,190,14,30,141,152,94,236,210,133,115,156,60,120,94,179,225,96,227,244,96,255,169,31,100,89,170,186,110,82,95,128,132,218,114,203,247,183,183,55,31,60,253,145,155,175,170,150, -174,166,221,11,53,49,5,163,14,18,207,50,176,18,130,155,142,111,246,58,110,123,9,37,102,149,122,159,73,204,251,246,187,237,247,218,6,84,60,248,110,223,205,204,195,254,67,106,49,14,88,89,63,113,88,213,212,49,140,93,111,151,48,211,30,80,2,169,124,123,255, -128,0,0,6,122,120,25,19,44,210,249,176,2,102,88,197,213,220,6,133,181,144,12,48,220,186,43,37,192,15,185,68,129,212,115,151,186,132,232,123,97,48,26,14,231,31,253,200,19,175,190,125,175,110,251,1,60,61,13,61,67,107,245,11,98,93,147,45,38,250,209,183, -235,89,183,153,84,184,150,57,235,74,137,36,29,110,151,69,53,72,120,114,124,81,6,184,144,4,160,216,57,213,215,205,230,167,135,89,54,134,197,174,219,101,65,32,22,68,16,23,5,119,96,117,39,123,112,155,101,137,108,52,60,120,255,246,237,15,191,73,237,108,36, -241,43,146,0,70,10,8,82,7,207,63,255,209,239,75,109,90,96,192,103,176,200,186,132,126,25,7,97,96,201,59,59,142,161,224,154,69,178,208,50,104,81,214,147,211,179,98,123,48,200,138,107,145,0,198,19,168,208,243,96,32,167,177,58,185,13,108,131,233,146,192, -186,101,115,47,223,40,121,145,219,183,47,159,16,122,192,223,50,6,75,89,93,145,104,191,249,230,225,225,225,93,2,80,68,120,98,100,208,29,23,21,67,63,249,228,173,55,118,119,143,143,6,67,141,3,90,209,57,92,16,156,12,115,0,89,219,53,140,139,92,92,216,13,250, -248,166,165,255,219,232,51,37,117,22,207,97,235,193,113,114,48,28,102,249,60,175,199,23,105,24,121,94,21,96,246,6,72,235,44,131,138,32,244,201,233,29,41,90,19,70,113,1,110,88,93,181,76,5,179,53,154,176,59,132,216,30,54,24,236,18,219,76,139,67,209,168, -149,90,226,122,4,55,155,51,145,179,150,67,184,65,147,191,131,8,111,229,81,171,125,183,228,7,62,248,128,163,168,63,254,27,91,91,10,0,82,143,192,74,131,64,11,158,16,63,116,123,247,205,143,126,248,131,111,125,240,193,252,143,9,97,76,91,180,114,218,58,253, -133,110,15,107,242,11,154,98,62,101,143,49,189,243,152,142,60,130,113,219,90,11,137,3,180,54,156,245,169,15,118,131,57,179,11,9,130,183,155,48,182,57,65,7,173,50,150,242,153,180,0,18,65,109,228,147,138,13,46,82,24,114,46,219,81,245,211,173,170,65,85, -149,89,89,8,246,163,15,94,255,56,138,111,127,81,26,132,131,34,23,96,60,82,92,59,220,84,195,92,87,138,213,12,206,238,216,211,108,178,98,74,179,108,119,87,98,26,245,36,225,54,213,73,39,109,8,87,168,161,55,169,214,123,182,152,156,126,131,128,85,164,79,51, -150,170,0,146,160,142,90,174,242,162,218,124,127,52,250,228,191,147,18,224,71,196,16,212,123,87,167,130,171,251,74,203,178,76,235,186,96,175,189,118,231,147,223,123,109,240,211,149,100,15,41,226,120,173,146,45,140,5,70,29,190,193,171,49,246,140,0,253, -190,208,155,79,177,86,74,57,232,248,2,96,87,64,8,167,64,56,232,162,114,68,163,238,193,178,23,52,243,71,190,11,206,148,180,98,48,132,131,189,242,205,159,250,253,163,95,221,221,221,125,64,237,110,169,175,48,157,15,141,1,76,71,112,154,172,140,218,195,74, -158,46,103,51,44,139,162,164,70,209,25,245,218,177,217,41,189,34,196,22,107,154,213,174,87,119,219,67,210,8,123,223,159,239,125,30,89,60,239,202,73,18,189,189,3,33,124,146,86,164,239,199,227,65,53,28,226,144,56,135,58,132,6,253,247,169,135,177,188,175, -106,192,185,40,80,76,165,121,93,200,123,172,51,211,4,203,166,94,197,241,0,178,139,229,228,118,228,124,187,171,36,250,219,210,113,221,190,154,26,91,147,244,74,179,180,28,100,163,186,22,195,17,189,47,113,64,105,113,205,67,197,0,214,124,210,12,81,39,163, -81,61,200,50,150,80,137,184,156,43,142,200,151,230,169,65,183,36,110,213,56,241,50,175,130,98,9,206,237,242,129,132,152,64,62,79,229,2,161,166,203,181,6,125,106,219,21,87,150,68,190,84,106,33,167,91,178,86,169,192,201,16,248,136,46,79,104,65,175,150, -116,9,216,99,237,175,180,14,35,187,105,183,121,77,229,48,168,68,76,218,128,41,69,76,178,170,166,251,224,234,126,12,158,121,232,253,1,208,243,161,51,234,84,38,127,55,149,115,89,5,221,42,174,116,143,251,11,154,170,22,179,8,227,246,21,218,122,233,246,220, -247,67,195,182,127,144,215,133,19,206,43,41,31,226,61,97,59,126,161,221,217,254,94,2,15,21,3,96,131,70,152,63,65,33,209,31,19,6,104,37,125,216,201,241,136,143,193,60,248,39,15,61,107,143,227,61,133,204,224,191,247,48,29,65,246,135,148,9,101,203,197,46, -202,84,15,91,2,120,13,161,41,237,191,111,130,252,4,17,176,224,208,111,140,253,56,221,147,207,16,11,238,233,234,37,192,250,248,241,59,248,122,10,214,12,176,62,214,12,176,62,214,12,176,62,214,12,176,62,214,12,176,62,214,12,176,62,214,12,176,62,214,12,176, -62,214,12,176,62,214,12,176,62,214,12,176,62,214,12,176,62,214,12,176,62,214,12,176,62,126,28,143,255,39,192,0,238,147,31,89,162,25,31,21,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; - -const char* projectIconCodeblocks_png = (const char*) temp_binary_data_28; - -//================== projectIconLinuxMakefile.png ================== -static const unsigned char temp_binary_data_29[] = -{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,110,0,0,0,128,8,6,0,0,0,234,21,92,9,0,0,10,65,105,67,67,80,73,67,67,32,80,114,111,102,105,108,101,0,0,72,13,157,150,119,84,83,217,22,135,207,189,55,189,208,18,34,32,37,244,26,122,9,32,210,59,72,21,4, -81,137,73,128,80,2,134,132,38,118,68,5,70,20,17,41,86,100,84,192,1,71,135,34,99,69,20,11,131,130,98,215,9,242,16,80,198,193,81,68,69,229,221,140,107,9,239,173,53,243,222,154,253,199,89,223,217,231,183,215,217,103,239,125,215,186,0,80,252,130,4,194,116, -88,1,128,52,161,88,20,238,235,193,92,18,19,203,196,247,2,24,16,1,14,88,1,192,225,102,102,4,71,248,68,2,212,252,189,61,153,153,168,72,198,179,246,238,46,128,100,187,219,44,191,80,38,115,214,255,127,145,34,55,67,36,6,0,10,69,213,54,60,126,38,23,229,2,148, -83,179,197,25,50,255,4,202,244,149,41,50,134,49,50,22,161,9,162,172,34,227,196,175,108,246,167,230,43,187,201,152,151,38,228,161,26,89,206,25,188,52,158,140,187,80,222,154,37,225,163,140,4,161,92,152,37,224,103,163,124,7,101,189,84,73,154,0,229,247,40, -211,211,248,156,76,0,48,20,153,95,204,231,38,161,108,137,50,69,20,25,238,137,242,2,0,8,148,196,57,188,114,14,139,249,57,104,158,0,120,166,103,228,138,4,137,73,98,166,17,215,152,105,229,232,200,102,250,241,179,83,249,98,49,43,148,195,77,225,136,120,76, -207,244,180,12,142,48,23,128,175,111,150,69,1,37,89,109,153,104,145,237,173,28,237,237,89,214,230,104,249,191,217,223,30,126,83,253,61,200,122,251,85,241,38,236,207,158,65,140,158,89,223,108,236,172,47,189,22,0,246,36,90,155,29,179,190,149,85,0,180,109, -6,64,229,225,172,79,239,32,0,242,5,0,180,222,156,243,30,134,108,94,146,196,226,12,39,11,139,236,236,108,115,1,159,107,46,43,232,55,251,159,130,111,202,191,134,57,247,153,203,238,251,86,59,166,23,63,129,35,73,21,51,101,69,229,166,167,166,75,68,204,204, -12,14,151,207,100,253,247,16,255,227,192,57,105,205,201,195,44,156,159,192,23,241,133,232,85,81,232,148,9,132,137,104,187,133,60,129,88,144,46,100,10,132,127,213,225,127,24,54,39,7,25,126,157,107,20,104,117,95,0,125,133,57,80,184,73,7,200,111,61,0,67, -35,3,36,110,63,122,2,125,235,91,16,49,10,200,190,188,104,173,145,175,115,143,50,122,254,231,250,31,11,92,138,110,225,76,65,34,83,230,246,12,143,100,114,37,162,44,25,163,223,132,108,193,2,18,144,7,116,160,10,52,129,46,48,2,44,96,13,28,128,51,112,3,222, -32,0,132,128,72,16,3,150,3,46,72,2,105,64,4,178,65,62,216,0,10,65,49,216,1,118,131,106,112,0,212,129,122,208,4,78,130,54,112,6,92,4,87,192,13,112,11,12,128,71,64,10,134,193,75,48,1,222,129,105,8,130,240,16,21,162,65,170,144,22,164,15,153,66,214,16,27, -90,8,121,67,65,80,56,20,3,197,67,137,144,16,146,64,249,208,38,168,24,42,131,170,161,67,80,61,244,35,116,26,186,8,93,131,250,160,7,208,32,52,6,253,1,125,132,17,152,2,211,97,13,216,0,182,128,217,176,59,28,8,71,194,203,224,68,120,21,156,7,23,192,219,225, -74,184,22,62,14,183,194,23,225,27,240,0,44,133,95,194,147,8,64,200,8,3,209,70,88,8,27,241,68,66,144,88,36,1,17,33,107,145,34,164,2,169,69,154,144,14,164,27,185,141,72,145,113,228,3,6,135,161,97,152,24,22,198,25,227,135,89,140,225,98,86,97,214,98,74,48, -213,152,99,152,86,76,23,230,54,102,16,51,129,249,130,165,98,213,177,166,88,39,172,63,118,9,54,17,155,141,45,196,86,96,143,96,91,176,151,177,3,216,97,236,59,28,14,199,192,25,226,28,112,126,184,24,92,50,110,53,174,4,183,15,215,140,187,128,235,195,13,225, -38,241,120,188,42,222,20,239,130,15,193,115,240,98,124,33,190,10,127,28,127,30,223,143,31,198,191,39,144,9,90,4,107,130,15,33,150,32,36,108,36,84,16,26,8,231,8,253,132,17,194,52,81,129,168,79,116,34,134,16,121,196,92,98,41,177,142,216,65,188,73,28,38, -78,147,20,73,134,36,23,82,36,41,153,180,129,84,73,106,34,93,38,61,38,189,33,147,201,58,100,71,114,24,89,64,94,79,174,36,159,32,95,37,15,146,63,80,148,40,38,20,79,74,28,69,66,217,78,57,74,185,64,121,64,121,67,165,82,13,168,110,212,88,170,152,186,157,90, -79,189,68,125,74,125,47,71,147,51,151,243,151,227,201,173,147,171,145,107,149,235,151,123,37,79,148,215,151,119,151,95,46,159,39,95,33,127,74,254,166,252,184,2,81,193,64,193,83,129,163,176,86,161,70,225,180,194,61,133,73,69,154,162,149,98,136,98,154, -98,137,98,131,226,53,197,81,37,188,146,129,146,183,18,79,169,64,233,176,210,37,165,33,26,66,211,165,121,210,184,180,77,180,58,218,101,218,48,29,71,55,164,251,211,147,233,197,244,31,232,189,244,9,101,37,101,91,229,40,229,28,229,26,229,179,202,82,6,194, -48,96,248,51,82,25,165,140,147,140,187,140,143,243,52,230,185,207,227,207,219,54,175,105,94,255,188,41,149,249,42,110,42,124,149,34,149,102,149,1,149,143,170,76,85,111,213,20,213,157,170,109,170,79,212,48,106,38,106,97,106,217,106,251,213,46,171,141, -207,167,207,119,158,207,157,95,52,255,228,252,135,234,176,186,137,122,184,250,106,245,195,234,61,234,147,26,154,26,190,26,25,26,85,26,151,52,198,53,25,154,110,154,201,154,229,154,231,52,199,180,104,90,11,181,4,90,229,90,231,181,94,48,149,153,238,204, -84,102,37,179,139,57,161,173,174,237,167,45,209,62,164,221,171,61,173,99,168,179,88,103,163,78,179,206,19,93,146,46,91,55,65,183,92,183,83,119,66,79,75,47,88,47,95,175,81,239,161,62,81,159,173,159,164,191,71,191,91,127,202,192,208,32,218,96,139,65,155, -193,168,161,138,161,191,97,158,97,163,225,99,35,170,145,171,209,42,163,90,163,59,198,56,99,182,113,138,241,62,227,91,38,176,137,157,73,146,73,141,201,77,83,216,212,222,84,96,186,207,180,207,12,107,230,104,38,52,171,53,187,199,162,176,220,89,89,172,70, -214,160,57,195,60,200,124,163,121,155,249,43,11,61,139,88,139,157,22,221,22,95,44,237,44,83,45,235,44,31,89,41,89,5,88,109,180,234,176,250,195,218,196,154,107,93,99,125,199,134,106,227,99,179,206,166,221,230,181,173,169,45,223,118,191,237,125,59,154, -93,176,221,22,187,78,187,207,246,14,246,34,251,38,251,49,7,61,135,120,135,189,14,247,216,116,118,40,187,132,125,213,17,235,232,225,184,206,241,140,227,7,39,123,39,177,211,73,167,223,157,89,206,41,206,13,206,163,11,12,23,240,23,212,45,24,114,209,113,225, -184,28,114,145,46,100,46,140,95,120,112,161,212,85,219,149,227,90,235,250,204,77,215,141,231,118,196,109,196,221,216,61,217,253,184,251,43,15,75,15,145,71,139,199,148,167,147,231,26,207,11,94,136,151,175,87,145,87,175,183,146,247,98,239,106,239,167,62, -58,62,137,62,141,62,19,190,118,190,171,125,47,248,97,253,2,253,118,250,221,243,215,240,231,250,215,251,79,4,56,4,172,9,232,10,164,4,70,4,86,7,62,11,50,9,18,5,117,4,195,193,1,193,187,130,31,47,210,95,36,92,212,22,2,66,252,67,118,133,60,9,53,12,93,21,250, -115,24,46,44,52,172,38,236,121,184,85,120,126,120,119,4,45,98,69,68,67,196,187,72,143,200,210,200,71,139,141,22,75,22,119,70,201,71,197,69,213,71,77,69,123,69,151,69,75,151,88,44,89,179,228,70,140,90,140,32,166,61,22,31,27,21,123,36,118,114,169,247,210, -221,75,135,227,236,226,10,227,238,46,51,92,150,179,236,218,114,181,229,169,203,207,174,144,95,193,89,113,42,30,27,31,29,223,16,255,137,19,194,169,229,76,174,244,95,185,119,229,4,215,147,187,135,251,146,231,198,43,231,141,241,93,248,101,252,145,4,151, -132,178,132,209,68,151,196,93,137,99,73,174,73,21,73,227,2,79,65,181,224,117,178,95,242,129,228,169,148,144,148,163,41,51,169,209,169,205,105,132,180,248,180,211,66,37,97,138,176,43,93,51,61,39,189,47,195,52,163,48,67,186,202,105,213,238,85,19,162,64, -209,145,76,40,115,89,102,187,152,142,254,76,245,72,140,36,155,37,131,89,11,179,106,178,222,103,71,101,159,202,81,204,17,230,244,228,154,228,110,203,29,201,243,201,251,126,53,102,53,119,117,103,190,118,254,134,252,193,53,238,107,14,173,133,214,174,92, -219,185,78,119,93,193,186,225,245,190,235,143,109,32,109,72,217,240,203,70,203,141,101,27,223,110,138,222,212,81,160,81,176,190,96,104,179,239,230,198,66,185,66,81,225,189,45,206,91,14,108,197,108,21,108,237,221,102,179,173,106,219,151,34,94,209,245, -98,203,226,138,226,79,37,220,146,235,223,89,125,87,249,221,204,246,132,237,189,165,246,165,251,119,224,118,8,119,220,221,233,186,243,88,153,98,89,94,217,208,174,224,93,173,229,204,242,162,242,183,187,87,236,190,86,97,91,113,96,15,105,143,100,143,180, -50,168,178,189,74,175,106,71,213,167,234,164,234,129,26,143,154,230,189,234,123,183,237,157,218,199,219,215,191,223,109,127,211,1,141,3,197,7,62,30,20,28,188,127,200,247,80,107,173,65,109,197,97,220,225,172,195,207,235,162,234,186,191,103,127,95,127, -68,237,72,241,145,207,71,133,71,165,199,194,143,117,213,59,212,215,55,168,55,148,54,194,141,146,198,177,227,113,199,111,253,224,245,67,123,19,171,233,80,51,163,185,248,4,56,33,57,241,226,199,248,31,239,158,12,60,217,121,138,125,170,233,39,253,159,246, -182,208,90,138,90,161,214,220,214,137,182,164,54,105,123,76,123,223,233,128,211,157,29,206,29,45,63,155,255,124,244,140,246,153,154,179,202,103,75,207,145,206,21,156,155,57,159,119,126,242,66,198,133,241,139,137,23,135,58,87,116,62,186,180,228,210,157, -174,176,174,222,203,129,151,175,94,241,185,114,169,219,189,251,252,85,151,171,103,174,57,93,59,125,157,125,189,237,134,253,141,214,30,187,158,150,95,236,126,105,233,181,239,109,189,233,112,179,253,150,227,173,142,190,5,125,231,250,93,251,47,222,246,186, -125,229,142,255,157,27,3,139,6,250,238,46,190,123,255,94,220,61,233,125,222,253,209,7,169,15,94,63,204,122,56,253,104,253,99,236,227,162,39,10,79,42,158,170,63,173,253,213,248,215,102,169,189,244,236,160,215,96,207,179,136,103,143,134,184,67,47,255,149, -249,175,79,195,5,207,169,207,43,70,180,70,234,71,173,71,207,140,249,140,221,122,177,244,197,240,203,140,151,211,227,133,191,41,254,182,247,149,209,171,159,126,119,251,189,103,98,201,196,240,107,209,235,153,63,74,222,168,190,57,250,214,246,109,231,100, -232,228,211,119,105,239,166,167,138,222,171,190,63,246,129,253,161,251,99,244,199,145,233,236,79,248,79,149,159,141,63,119,124,9,252,242,120,38,109,102,230,223,247,132,243,251,50,58,89,126,0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,0,0, -53,161,73,68,65,84,120,1,237,125,7,152,28,197,181,238,233,158,153,157,205,121,87,90,173,194,174,34,202,2,33,36,129,64,194,96,242,35,7,131,237,251,12,56,2,182,177,253,192,143,96,44,27,219,23,108,227,135,237,11,215,198,15,184,228,100,131,201,225,145,51, -40,24,37,16,146,80,206,187,210,230,60,211,117,255,255,204,212,104,52,154,213,102,105,120,31,245,109,109,245,84,87,85,159,58,127,157,83,167,66,87,139,124,225,190,224,192,23,28,248,130,3,95,112,160,11,14,56,93,220,255,60,222,182,117,98,104,226,42,16,127, -29,23,253,249,188,180,149,252,124,82,31,161,154,117,176,158,49,225,72,244,94,255,121,223,7,79,240,226,253,94,137,62,79,63,62,207,192,145,118,23,62,17,40,198,231,192,7,225,61,248,86,248,38,248,120,103,243,242,254,231,82,18,63,143,192,89,166,91,192,2,112, -19,195,225,240,209,142,227,28,10,32,42,140,49,165,8,179,225,153,166,30,241,155,225,215,34,254,3,164,123,23,113,235,225,173,163,36,218,178,108,220,23,97,63,115,128,76,182,110,176,235,186,255,11,126,145,207,231,51,61,240,77,72,251,52,252,217,182,32,132, -148,92,250,47,220,0,112,192,130,150,13,176,126,1,198,239,72,0,43,140,223,29,240,33,120,94,199,123,198,211,123,240,198,239,247,171,199,245,219,240,39,199,209,234,143,187,254,226,178,31,56,160,210,0,134,207,3,104,43,201,252,168,39,72,244,246,119,151,33, -202,240,160,54,67,160,41,28,7,224,125,248,93,20,165,211,54,144,126,32,123,224,138,248,60,16,73,26,41,41,223,64,248,56,152,94,140,144,140,183,125,93,183,84,28,242,9,250,55,25,49,98,132,83,94,94,238,162,191,115,26,27,27,195,12,225,166,194,159,11,32,63, -244,60,111,19,202,230,51,83,218,104,33,129,169,236,72,31,85,222,57,8,31,132,39,88,52,36,168,210,122,100,88,65,82,5,160,200,216,177,99,101,234,212,169,50,108,216,48,1,80,110,67,67,131,180,183,183,135,113,191,8,32,126,29,207,250,0,233,214,160,252,148,6, -47,149,117,58,37,137,32,85,192,223,1,79,199,223,189,106,108,148,56,186,252,252,124,25,58,116,168,74,31,128,18,0,230,172,93,187,214,15,0,67,72,19,68,220,227,72,54,19,254,99,120,109,56,8,83,206,117,75,205,28,76,170,33,1,215,225,249,133,240,29,240,189,6, -141,210,70,151,145,145,33,80,145,178,109,219,54,161,180,81,18,179,178,178,4,160,177,17,243,25,217,120,230,93,8,57,14,100,67,233,145,100,35,253,1,113,41,73,20,106,206,6,69,78,143,1,19,151,34,76,135,103,159,211,43,122,41,109,236,223,178,179,179,229,240, -195,15,71,49,34,91,183,110,149,218,218,90,5,177,163,163,67,239,235,141,72,255,233,135,228,93,3,176,111,66,92,74,74,93,170,170,74,5,8,210,112,38,24,71,208,122,173,34,9,6,85,162,117,80,139,82,93,93,45,205,205,205,26,79,80,173,143,166,81,45,132,184,31,227, -247,125,240,91,224,109,67,138,38,57,248,65,175,84,207,129,34,27,192,221,128,103,141,134,167,244,245,73,173,19,28,74,22,165,44,20,10,9,36,89,213,100,2,104,172,26,27,13,27,74,54,238,213,3,244,55,112,205,103,239,65,31,63,14,182,235,19,51,6,136,120,203,164, -65,96,218,33,209,103,244,27,157,22,48,74,97,188,36,38,212,197,170,228,11,16,159,9,159,114,125,93,191,49,36,161,226,125,249,169,76,195,252,99,25,90,252,136,104,65,150,145,177,114,41,41,189,113,4,139,224,5,131,65,149,184,78,192,211,198,131,103,140,71,218, -47,71,159,147,82,188,74,41,98,226,129,128,97,48,44,250,155,106,50,134,18,25,77,67,195,170,187,238,0,200,52,4,11,227,54,5,171,173,173,77,251,56,170,78,52,144,206,36,143,207,165,59,43,18,164,150,170,76,85,227,132,204,28,154,8,10,153,79,70,231,228,228,72, -83,83,83,204,156,167,73,79,115,63,49,61,25,158,150,150,166,96,49,61,29,199,112,211,166,77,83,224,95,124,241,69,33,136,148,62,130,152,144,95,27,11,232,152,141,108,84,151,205,240,140,75,137,190,46,101,37,14,12,226,212,22,157,50,138,204,197,12,135,2,198, -177,216,145,71,30,41,199,30,123,172,2,70,233,35,120,137,46,61,61,93,90,90,90,52,79,89,89,153,12,31,62,92,45,202,45,91,182,200,200,145,35,229,178,203,46,147,194,194,66,5,143,13,34,193,41,112,0,179,18,247,38,70,239,237,251,144,132,76,7,234,103,42,90,149, -218,170,193,176,211,224,143,66,139,55,144,26,151,0,96,142,81,61,165,103,247,238,221,50,121,242,100,149,160,213,171,87,171,26,68,82,229,27,67,130,70,147,127,214,172,89,114,234,169,167,42,208,135,29,118,152,28,122,232,161,146,153,153,41,143,60,242,136, -140,27,55,78,38,76,152,32,139,23,47,214,252,118,144,30,101,62,233,160,81,194,49,221,91,240,28,79,146,95,86,133,226,242,224,185,148,85,149,144,32,78,63,197,0,56,241,196,19,229,152,99,142,209,65,52,251,184,101,203,150,201,221,119,223,45,103,156,113,6,39, -142,101,195,134,13,170,70,237,64,187,190,190,94,239,29,127,252,241,66,105,179,198,8,239,183,182,182,234,156,229,173,183,222,42,115,231,206,149,241,227,199,203,39,159,124,162,106,149,247,19,29,26,208,84,196,113,76,151,18,160,145,190,148,5,14,160,193,150, -240,171,212,140,30,61,90,206,57,231,28,153,56,113,162,2,71,181,118,220,113,199,169,180,92,117,213,85,42,117,172,12,37,134,179,35,4,109,250,244,233,242,205,111,126,83,211,80,181,178,127,4,0,218,183,177,63,99,153,148,200,155,110,186,73,42,43,43,153,61, -126,246,68,127,227,159,170,75,208,50,54,26,145,18,253,155,37,46,213,66,237,71,0,218,173,67,134,12,33,163,66,191,251,221,239,76,85,85,21,248,183,199,1,36,3,201,49,96,60,211,24,204,246,235,90,92,52,143,121,234,169,167,12,164,103,79,134,132,43,222,91,181, -106,149,57,225,132,19,52,127,81,81,145,129,148,39,174,231,113,101,130,113,11,83,141,73,169,72,143,2,87,80,80,240,59,128,167,192,173,92,185,82,217,254,209,71,31,153,199,30,123,204,96,218,42,6,195,166,77,155,148,241,152,40,54,80,137,122,13,233,52,117,117, -117,177,52,219,183,111,55,15,63,252,176,185,229,150,91,204,219,111,191,109,8,186,117,47,188,240,130,230,129,181,153,8,26,127,43,112,0,244,147,84,100,84,170,209,164,6,19,12,145,223,128,48,115,242,201,39,135,96,77,154,37,75,150,196,24,12,80,205,162,69, -139,148,247,48,82,12,44,67,189,103,165,141,18,106,29,239,163,31,211,251,23,92,112,129,33,168,4,209,58,74,242,33,135,28,162,247,115,115,115,19,193,179,192,125,148,106,76,74,25,243,54,145,49,104,237,237,140,3,51,181,239,121,229,149,87,52,201,247,191,255, -125,185,246,218,107,229,222,123,239,213,120,142,211,102,207,226,242,153,200,172,153,71,104,152,1,139,210,186,55,223,124,83,222,120,227,13,25,51,102,140,212,212,212,8,84,163,60,240,192,3,186,172,195,52,121,121,121,114,254,249,231,107,114,94,3,80,155,53, -22,162,111,220,25,253,161,125,94,236,198,65,188,72,89,224,192,64,5,14,161,195,65,50,39,135,233,158,127,254,121,5,147,179,252,219,177,166,70,3,230,195,149,107,245,94,93,11,151,211,224,124,123,108,174,29,59,118,104,20,13,147,151,94,122,73,158,125,246,89, -121,250,233,167,101,233,82,90,247,176,206,144,159,3,122,58,52,22,13,227,254,89,20,119,197,197,165,196,101,202,2,7,203,175,158,28,122,239,189,247,116,134,132,3,102,186,55,222,124,75,62,251,108,141,212,236,174,18,39,16,148,134,250,70,49,107,63,149,121, -99,33,12,155,222,144,113,72,179,3,191,27,26,34,51,37,129,64,4,196,112,216,211,241,27,140,22,45,103,243,230,205,26,210,252,167,117,73,151,48,142,211,184,232,63,59,70,72,25,137,219,211,52,227,201,76,129,235,93,187,118,213,141,26,53,10,32,125,166,179,29, -52,239,233,166,77,28,43,191,253,237,239,164,108,210,209,82,187,234,53,25,108,94,144,229,79,139,4,210,10,161,230,154,48,205,50,88,90,27,111,149,198,247,33,141,19,174,145,142,112,68,138,178,130,33,25,156,219,44,217,21,99,100,233,199,171,133,101,211,113, -53,28,253,165,94,219,105,49,253,17,249,103,129,202,141,198,89,9,140,75,242,197,165,229,128,114,26,106,235,116,76,81,145,81,97,244,73,198,131,249,254,227,43,127,200,223,102,48,224,122,240,234,114,179,224,86,49,139,111,23,211,241,126,161,49,75,128,219, -191,196,44,188,77,204,35,151,151,152,237,79,138,193,158,101,179,252,145,35,204,57,179,57,109,230,131,215,225,133,193,84,151,105,106,106,84,251,100,211,230,205,90,38,13,19,244,151,157,25,39,17,100,45,133,41,16,166,172,196,161,79,170,227,64,26,206,249, -47,204,144,92,116,225,133,114,195,47,111,148,182,234,13,114,92,217,63,229,132,147,178,100,213,170,161,226,194,134,241,249,118,2,189,18,113,124,5,50,126,50,22,172,157,42,105,237,40,19,55,203,39,19,199,124,40,247,220,156,38,63,93,149,35,11,151,109,149, -38,255,57,114,201,181,191,134,218,204,82,246,191,255,30,119,164,71,140,148,36,18,167,247,240,143,243,166,148,58,18,68,41,36,216,7,213,89,85,112,80,137,72,120,56,37,46,140,217,145,195,193,157,5,131,74,138,101,203,214,109,242,207,167,159,149,25,163,74, -100,237,115,23,203,196,201,43,164,160,4,175,6,24,188,207,193,212,152,100,22,223,24,172,83,231,33,231,42,92,131,191,80,145,198,195,77,227,2,80,166,195,222,159,80,27,250,177,57,82,223,58,65,188,252,147,101,117,125,137,204,58,106,142,34,145,153,149,141, -169,48,187,0,16,163,136,0,145,71,173,24,203,29,131,126,119,1,174,149,190,88,138,131,116,65,34,82,205,209,96,226,32,185,208,117,228,91,18,110,243,181,117,132,205,224,237,15,58,197,13,127,147,201,135,85,73,97,9,164,197,68,152,108,96,54,232,154,170,175, -12,217,240,35,188,5,58,18,251,72,176,219,0,91,132,112,207,133,120,224,158,41,64,194,44,196,46,151,160,187,72,130,173,143,72,251,186,187,196,105,17,121,127,77,166,228,167,55,75,115,7,243,236,229,248,147,134,73,26,244,234,155,240,75,113,77,158,29,244,57, -203,84,180,42,85,13,113,114,63,59,205,105,172,107,10,201,143,190,156,46,231,156,16,144,169,71,149,74,225,32,74,26,65,35,233,220,232,67,228,176,123,220,129,68,121,53,202,83,199,137,242,150,59,238,124,195,196,241,151,66,234,10,145,54,83,60,147,141,164, -131,196,151,61,84,70,77,27,38,223,185,40,3,121,176,244,131,242,210,246,195,13,168,238,136,117,132,167,35,195,65,119,251,33,245,224,210,54,42,71,154,107,91,76,195,180,193,142,28,51,165,221,12,31,233,151,130,2,140,229,60,11,26,233,139,242,208,5,152,94, -3,252,86,196,89,129,64,213,220,97,17,245,9,80,140,7,117,233,237,22,55,163,73,54,111,172,150,39,254,177,77,218,234,183,73,97,65,187,28,138,251,205,200,30,140,234,31,142,249,232,163,78,47,160,1,230,69,127,83,2,99,55,163,113,7,60,72,69,224,20,141,225,121, -186,226,220,48,40,31,134,67,190,99,114,242,219,33,53,137,60,99,82,72,26,199,234,186,229,223,10,3,210,185,229,240,249,10,173,23,170,7,16,235,144,182,90,22,188,235,202,11,47,137,76,157,140,156,89,70,170,33,164,255,194,29,142,193,91,89,60,28,23,102,57,166, -227,224,28,78,65,2,144,92,33,152,192,8,184,47,128,139,240,97,223,255,51,135,18,56,167,177,185,133,123,76,124,152,12,65,27,131,69,239,89,108,226,179,120,187,0,94,27,98,216,14,145,192,29,1,155,164,68,153,239,200,78,113,211,86,75,93,77,179,60,252,119,191, -236,192,228,213,197,95,55,50,114,44,210,133,130,152,250,226,202,183,145,172,52,116,102,232,185,208,143,233,250,29,103,81,56,99,3,240,28,24,38,92,102,200,68,220,156,232,99,15,122,131,79,213,225,128,51,255,117,9,165,99,98,228,173,13,62,89,187,169,221,228, -47,247,203,232,137,105,146,95,10,233,234,112,0,10,155,61,85,26,44,74,149,43,7,76,247,196,56,5,218,151,57,190,6,132,59,165,5,243,147,139,151,248,100,203,22,71,102,31,97,100,196,40,100,12,65,188,194,153,178,107,251,118,121,241,53,66,145,33,38,212,46,33, -204,162,112,238,147,107,125,148,184,15,63,252,80,214,172,89,163,88,113,13,16,146,120,38,126,220,1,31,149,77,189,117,80,254,69,181,250,65,121,246,254,30,74,186,76,65,102,224,172,230,246,142,241,217,69,211,188,82,119,135,187,105,109,135,248,211,50,209, -47,117,136,27,4,104,49,234,161,185,32,3,78,26,226,252,132,179,65,106,170,183,202,191,22,180,202,251,31,248,165,108,136,200,113,243,60,128,14,192,66,133,18,110,175,150,237,235,27,229,131,229,199,201,194,214,57,178,100,201,34,72,22,54,12,65,228,168,38, -167,76,153,162,147,207,124,163,167,178,178,146,51,55,14,222,51,112,0,222,48,0,250,15,208,86,13,31,21,239,253,85,99,224,238,197,170,62,112,143,232,85,201,202,148,180,204,156,147,176,88,58,109,220,17,199,121,5,229,199,184,57,109,31,74,245,150,14,89,183, -49,27,210,213,46,173,205,142,164,65,211,249,144,186,3,130,184,121,19,230,41,183,117,200,155,111,182,203,166,77,62,25,82,238,147,99,142,242,100,40,12,27,7,175,133,55,238,174,150,77,107,26,228,147,85,19,228,179,182,203,164,125,216,73,146,149,157,35,159, -174,88,46,59,170,119,235,234,57,55,36,21,23,23,11,22,86,85,109,114,117,2,215,14,182,54,112,137,39,13,106,179,10,224,189,129,90,29,84,224,82,85,85,42,218,96,20,153,35,153,160,50,99,232,20,217,184,243,26,25,86,123,151,20,250,119,72,67,109,46,172,195,70, -201,204,113,176,215,68,164,13,192,109,223,38,50,14,147,205,115,142,116,164,148,115,29,65,244,99,29,249,210,88,21,150,173,235,182,201,134,29,179,36,60,226,98,201,61,124,130,140,200,43,16,15,234,49,11,3,239,25,179,102,203,250,77,143,233,158,21,62,239,253, -247,223,151,65,131,6,233,43,89,156,132,230,171,89,88,31,116,184,59,12,170,244,98,36,249,51,60,199,30,52,82,240,144,3,239,82,17,56,50,67,7,184,48,8,160,228,200,25,0,81,148,47,109,121,211,100,245,167,223,150,182,170,127,202,228,130,101,114,248,244,124, -201,205,111,4,251,162,188,99,109,148,149,216,103,217,22,148,166,170,76,169,218,182,83,214,163,155,106,44,190,65,74,231,158,32,131,134,12,151,156,172,12,9,192,98,196,58,184,170,196,217,179,103,11,86,214,117,89,135,125,28,87,11,184,134,119,244,209,71,235, -246,61,190,142,133,183,123,32,108,110,24,210,86,129,240,34,132,183,225,105,108,88,7,165,191,75,101,224,216,159,240,248,11,50,212,205,205,203,23,46,144,114,163,207,122,57,71,90,150,167,73,83,195,34,25,49,54,67,114,243,2,186,4,231,121,46,12,12,88,131,216, -202,87,191,187,81,182,110,104,148,106,239,12,201,153,118,145,140,26,55,85,138,11,11,36,15,118,127,16,229,216,113,26,23,79,185,63,243,136,35,142,80,99,132,170,145,247,248,26,214,19,79,60,161,111,175,98,123,132,170,77,90,152,160,137,36,253,8,254,126,248, -58,248,131,34,117,169,8,28,91,177,135,86,125,54,24,88,132,107,190,100,239,35,131,75,74,74,212,120,8,133,58,100,171,115,134,180,111,202,149,170,93,175,73,110,78,139,248,209,91,115,241,154,187,235,128,155,52,154,185,226,86,158,42,131,39,206,146,193,101, -229,82,84,0,233,68,25,104,4,40,50,226,104,250,227,57,50,105,210,36,221,28,75,43,146,139,170,92,234,177,27,112,23,44,224,244,36,150,141,160,143,161,54,93,208,196,55,87,71,33,223,143,0,226,124,220,58,40,82,151,106,192,145,9,180,239,243,192,156,31,145,169, -112,14,183,215,97,63,137,246,59,108,241,45,173,45,156,204,148,237,129,19,101,231,238,73,18,220,85,39,105,88,245,14,164,5,85,154,50,134,151,75,225,176,113,50,104,112,153,74,89,9,38,170,179,97,132,160,76,150,23,115,252,77,240,56,208,62,229,148,83,116,11, -195,163,143,62,170,134,9,183,57,16,228,232,48,128,160,217,252,138,60,242,254,4,5,61,0,191,26,158,113,7,84,101,166,26,112,202,89,48,242,122,0,52,2,106,43,140,5,85,223,140,25,51,116,7,51,152,163,0,114,249,37,20,10,11,154,191,212,99,87,114,8,163,114,50, -56,35,51,67,242,160,234,10,96,76,20,228,229,194,58,44,132,148,150,234,171,194,204,155,204,89,240,40,205,151,95,126,185,16,56,2,73,208,216,72,104,101,210,197,129,78,26,217,184,248,202,241,205,0,244,108,92,83,127,30,80,149,185,71,111,224,201,7,217,113, -10,35,4,166,205,3,195,238,224,158,126,244,51,14,250,31,135,155,131,184,109,156,140,36,64,52,32,216,215,209,113,107,66,86,70,80,242,161,226,8,86,33,84,98,17,250,178,210,210,82,248,65,154,79,19,118,241,143,192,208,146,228,26,224,171,175,190,170,67,2,110, -123,239,196,81,21,208,34,26,15,173,176,6,82,203,85,3,10,129,118,128,8,7,220,165,10,112,164,131,173,120,16,252,51,0,39,31,64,121,144,44,247,158,123,238,209,45,226,182,63,34,71,248,94,128,149,20,74,7,95,190,167,81,65,179,157,128,23,23,151,40,227,217,79, -117,199,177,172,248,70,193,29,100,216,2,168,214,37,159,219,137,227,13,7,247,143,132,127,20,215,220,205,196,122,116,154,1,247,250,205,165,2,112,84,49,218,82,161,122,120,84,197,116,72,75,24,155,88,125,55,223,124,179,96,47,100,236,77,28,171,174,24,166,3, -20,134,4,142,210,72,224,200,108,14,158,25,82,50,123,234,88,94,94,126,158,124,240,193,7,250,110,2,203,180,170,50,73,89,164,59,140,60,185,144,186,49,0,239,33,252,86,48,147,164,253,255,50,74,27,15,42,127,51,188,1,211,41,121,102,206,156,57,102,253,250,245, -224,7,102,32,227,118,30,107,68,244,31,38,129,117,107,58,119,42,115,227,43,183,164,247,135,187,237,182,219,8,128,193,160,59,113,15,74,178,223,118,211,236,149,81,116,82,205,110,24,144,70,163,149,132,164,93,8,111,32,37,30,164,141,210,103,254,254,247,191, -119,11,3,24,7,6,243,139,157,130,219,173,66,162,137,88,22,29,119,73,147,6,110,105,71,127,154,12,172,248,56,61,216,13,244,183,129,254,25,81,46,165,130,38,27,16,192,88,168,173,220,36,84,186,129,192,65,218,104,82,235,139,24,152,94,82,38,118,38,109,122,179, -159,255,217,103,193,64,49,103,157,117,150,130,7,213,27,15,82,103,215,122,16,28,52,198,114,208,143,85,93,117,58,150,137,94,247,123,48,160,133,239,135,90,237,31,112,63,0,192,238,66,200,202,134,208,186,149,30,190,11,71,35,227,64,59,246,113,104,11,58,8,39, -13,116,52,132,24,215,133,99,35,228,192,124,34,234,115,75,23,105,251,229,246,193,2,78,159,139,22,250,11,212,130,234,37,4,11,208,207,237,226,28,79,241,149,95,48,160,203,10,146,161,241,190,203,12,221,72,64,240,232,142,58,234,40,13,249,18,100,55,13,29,59, -28,248,54,104,255,26,50,83,229,15,88,127,119,48,128,35,34,156,198,58,10,76,250,223,202,29,157,142,140,0,197,193,54,221,126,198,80,209,44,145,65,49,25,109,125,236,70,23,23,4,155,227,64,78,38,115,134,100,231,206,157,88,104,221,130,165,160,77,177,119,20, -248,226,227,165,151,94,170,187,168,105,165,246,208,221,138,244,21,240,52,180,6,132,199,3,214,34,64,112,50,103,85,164,15,204,99,229,98,191,237,128,26,150,156,50,139,91,207,57,135,216,89,107,199,235,81,250,82,62,199,110,4,130,64,67,130,117,224,205,48,209, -113,202,138,91,17,56,15,25,239,9,30,77,126,222,167,231,208,130,239,137,83,242,207,62,251,108,185,243,206,59,117,222,146,207,96,3,97,217,188,166,79,226,248,96,130,85,4,169,187,21,229,157,137,107,74,30,235,153,52,3,226,123,229,186,214,71,189,42,182,211, -76,170,78,80,249,31,130,9,151,32,21,141,17,212,49,178,191,131,251,249,9,22,95,7,182,140,228,224,154,51,37,100,90,188,227,224,26,211,97,250,214,13,37,134,233,56,91,210,25,208,4,150,96,115,214,127,227,198,141,178,110,221,58,225,139,31,44,3,47,65,234,139, -37,4,145,135,2,208,243,189,114,206,143,190,254,250,235,178,98,197,10,237,115,89,6,233,226,96,157,227,199,253,128,71,176,56,171,178,25,105,184,23,137,124,254,220,2,199,214,72,160,120,98,208,253,240,214,250,114,8,2,37,142,167,34,140,25,61,70,215,200,40, -73,22,52,251,14,55,242,198,28,91,62,87,169,9,84,101,101,165,206,101,146,153,157,57,166,99,131,224,236,191,245,148,46,198,219,70,65,64,120,109,79,213,227,59,231,164,131,107,117,108,20,52,84,120,80,41,29,193,38,13,54,111,194,115,9,18,91,218,76,0,247,32, -194,122,120,214,191,223,192,59,144,18,167,132,163,178,215,161,178,39,161,18,33,84,202,199,138,147,225,4,142,51,244,84,83,60,193,149,76,99,171,39,227,40,145,157,57,222,39,176,218,250,193,42,238,56,73,230,248,28,150,67,230,51,207,224,193,120,117,4,158, -243,147,156,109,97,35,225,125,210,193,180,219,240,238,29,203,229,254,19,188,110,140,247,20,86,169,228,115,54,165,162,162,66,103,103,216,47,242,185,4,48,193,145,8,170,76,206,170,164,35,205,115,184,102,220,231,14,56,214,140,234,99,8,152,114,7,124,22,43, -12,70,113,3,142,26,9,108,201,23,93,116,145,30,95,193,107,74,7,1,37,19,247,231,20,48,36,96,186,206,64,139,207,175,233,153,22,222,74,33,135,30,148,94,134,4,139,125,33,1,164,74,229,89,40,52,84,120,46,10,129,198,251,232,122,220,6,27,21,143,225,160,186,165, -164,118,2,30,137,63,12,245,120,22,105,182,226,186,223,84,102,231,77,57,190,182,125,191,230,115,184,56,122,57,252,233,232,39,194,104,229,62,50,137,224,176,239,224,235,188,4,142,12,33,83,201,224,174,64,35,89,10,24,210,119,215,105,250,104,226,120,208,9, -34,85,40,45,72,54,26,210,196,190,142,253,30,223,205,227,27,172,60,200,134,210,201,97,11,251,85,2,201,60,188,78,66,43,137,98,215,192,3,110,138,225,57,17,221,111,238,64,0,199,10,80,218,210,32,97,183,97,122,170,148,149,229,230,27,50,135,158,86,221,31,254, -240,7,85,145,172,89,119,65,99,218,190,184,120,208,237,51,9,32,193,227,138,59,37,143,82,199,113,37,27,20,215,234,216,215,17,76,210,77,117,202,186,80,197,210,82,221,143,212,77,64,154,151,33,117,27,65,111,191,72,221,129,0,78,45,73,16,206,35,158,126,0,226, -13,152,224,82,210,56,184,165,85,247,235,95,255,90,37,142,12,176,12,236,11,32,189,201,107,37,198,62,159,128,80,125,210,138,108,110,105,86,117,249,206,59,239,232,9,68,52,166,172,97,67,105,163,163,186,76,226,172,212,177,171,200,69,217,143,33,100,92,159, -251,186,125,122,213,36,15,239,107,148,214,8,173,241,66,110,54,133,97,224,209,16,136,238,156,210,150,252,149,175,124,69,59,126,203,180,190,62,176,47,249,45,128,44,131,192,241,12,231,124,108,84,202,206,201,214,147,138,24,79,131,134,82,201,62,142,18,200, -254,144,113,28,182,36,1,208,242,248,108,72,243,44,100,39,63,250,44,48,182,80,210,51,16,142,229,147,208,225,168,144,78,254,161,143,112,9,32,91,50,221,141,55,222,168,39,217,165,2,104,74,80,194,63,90,145,60,106,35,47,55,79,15,116,227,109,106,10,130,68,199, -70,72,218,105,216,84,84,84,36,211,24,49,169,3,15,46,211,76,159,3,137,211,134,129,150,118,22,136,206,7,19,194,232,248,29,246,17,180,198,184,159,145,231,142,164,186,163,17,69,79,0,231,205,155,167,125,155,165,153,253,51,61,27,35,207,194,164,138,229,117, -188,228,34,173,21,144,211,113,93,9,207,198,108,227,112,217,115,215,167,204,93,60,142,45,141,99,25,46,239,159,207,86,73,139,140,33,85,11,29,55,231,80,197,48,46,161,162,122,63,85,254,145,62,58,90,155,231,158,123,174,94,179,14,236,159,177,136,171,191,57, -166,99,31,93,89,73,92,128,202,222,99,59,43,117,121,136,191,72,19,68,250,186,232,101,207,131,129,6,142,99,165,25,144,182,35,169,90,208,106,125,172,48,39,115,57,86,227,49,134,159,7,199,70,133,58,40,169,28,215,209,17,24,30,131,79,233,98,221,184,201,136, -150,37,193,237,196,17,60,186,175,194,243,232,35,246,21,54,14,151,61,115,3,14,28,90,171,74,27,42,68,233,211,254,129,225,197,23,95,28,219,114,151,202,210,70,90,227,29,13,18,58,74,27,45,203,120,218,217,40,57,156,160,179,64,235,143,200,63,242,154,95,96,226, -1,221,199,70,227,123,205,255,94,103,140,35,40,217,101,76,53,160,2,103,177,114,168,144,253,0,145,166,231,160,150,173,214,170,161,100,133,164,82,156,5,136,175,94,157,116,210,73,58,159,105,13,20,91,7,238,247,180,70,151,141,75,168,67,196,34,19,249,31,9,241, -61,254,217,249,172,108,143,139,218,43,3,27,4,55,209,156,133,112,36,42,237,161,53,186,108,133,156,161,167,9,205,105,164,222,58,29,91,193,192,161,33,112,160,156,5,142,115,157,180,36,233,108,63,102,65,226,196,51,193,164,79,98,160,104,22,254,67,250,227,17, -176,144,38,120,54,242,30,143,235,6,66,226,172,180,49,252,46,60,9,53,28,183,113,208,77,119,218,105,167,41,120,250,163,7,255,44,131,216,151,172,95,183,190,7,57,251,47,41,235,64,131,138,142,198,8,93,60,93,172,167,5,89,111,238,253,79,249,141,251,99,160,129, -38,71,111,145,79,61,118,3,1,156,150,137,74,93,8,106,102,66,202,60,12,100,125,28,231,216,138,206,156,57,51,214,106,247,83,201,78,43,195,57,196,237,59,34,214,92,167,137,6,232,6,165,140,199,223,211,89,85,201,107,198,115,26,172,190,174,62,89,255,198,36,214, -169,186,132,214,176,150,89,74,0,103,165,141,75,25,63,37,40,8,13,135,1,84,143,28,239,208,241,228,113,58,219,82,245,71,15,254,113,187,1,85,209,129,118,150,94,46,176,210,89,13,194,107,214,149,52,213,214,213,42,112,251,105,144,170,22,113,255,80,230,131,235, -177,154,100,166,254,150,56,45,15,173,239,187,32,108,10,202,103,235,242,113,246,129,253,145,157,215,99,7,223,23,199,190,196,74,175,101,102,95,202,235,110,94,251,44,206,85,210,17,28,11,16,251,93,174,243,209,91,3,165,147,114,85,194,80,214,88,220,207,132, -231,56,163,199,82,215,159,192,177,44,2,197,14,224,106,120,74,148,18,68,19,217,182,78,238,227,224,204,123,111,156,101,18,39,125,109,121,189,41,167,175,121,44,29,182,28,107,164,112,168,64,237,66,103,227,108,154,184,80,121,142,50,216,122,243,163,241,7,21, -56,125,56,8,190,2,68,113,176,67,16,241,51,210,54,108,200,105,33,90,102,125,113,173,45,123,230,10,251,82,78,111,243,90,201,179,249,45,144,236,14,108,191,103,227,108,154,36,97,9,226,40,113,189,114,253,37,113,4,141,64,241,104,192,189,166,116,56,4,224,192, -212,74,8,7,173,246,186,39,20,91,102,177,31,97,95,105,213,85,79,202,232,107,90,11,6,215,233,232,72,19,227,72,15,119,133,209,0,227,192,156,142,245,238,196,197,75,215,65,7,78,27,0,0,153,134,138,140,36,193,232,113,29,31,142,191,163,163,249,78,117,73,199, -202,90,16,52,162,135,255,216,127,132,194,161,88,121,61,204,222,47,201,217,16,233,88,15,219,8,43,42,42,212,56,225,194,43,53,138,5,185,139,7,118,138,110,23,249,250,109,167,173,109,69,65,30,217,196,227,149,10,32,123,60,98,137,93,111,115,125,53,42,50,92, -105,225,202,0,153,111,129,236,138,192,196,251,204,27,198,219,168,150,97,137,247,15,196,111,43,77,4,135,75,60,116,148,56,123,112,183,141,35,141,236,34,8,176,205,131,164,180,34,201,47,154,216,28,128,247,202,245,215,204,137,182,28,168,177,205,229,69,190, -186,45,53,146,215,184,147,244,144,70,60,98,247,118,25,53,186,65,151,69,168,234,226,42,209,99,162,153,151,224,117,179,69,247,184,252,238,100,224,243,233,56,197,197,5,85,46,247,176,94,203,151,47,143,169,76,90,190,118,229,128,180,82,181,83,165,226,90,129, -3,152,27,80,68,173,22,20,97,84,244,178,123,65,127,1,71,98,208,178,100,37,104,92,131,203,233,183,124,95,188,47,207,196,89,173,104,83,127,184,95,228,241,87,215,203,164,67,252,168,64,100,1,178,123,228,37,79,69,70,244,5,252,228,165,238,47,22,213,67,229,34, -206,81,213,207,107,2,70,75,146,146,197,213,1,106,19,26,95,28,231,49,196,135,40,52,237,194,133,11,85,50,169,66,1,158,7,250,121,122,195,71,40,130,135,220,176,155,209,134,143,176,219,174,223,128,123,237,53,241,131,159,161,171,47,144,127,93,254,85,153,62, -188,2,52,80,111,130,172,195,38,250,229,201,87,27,229,194,27,106,100,250,17,88,10,137,235,35,8,66,79,28,199,111,84,63,108,225,3,239,8,22,233,131,7,157,188,106,105,11,201,130,69,139,245,209,148,34,238,114,254,244,211,79,245,55,105,251,248,227,143,213,115, -172,106,23,95,175,190,250,106,61,67,229,245,215,95,151,226,130,76,183,3,198,77,91,135,60,23,21,220,158,49,64,159,212,79,255,176,241,76,39,237,86,220,17,152,214,246,182,175,198,44,247,25,111,161,207,243,22,164,153,240,130,0,54,97,99,45,117,73,134,249, -231,205,233,228,132,121,250,169,39,161,41,34,14,146,99,47,247,27,218,116,48,12,204,67,15,61,100,176,113,71,211,219,248,253,102,238,205,205,40,93,164,206,107,173,49,13,235,94,54,77,107,30,55,139,94,189,207,148,161,219,18,25,108,242,179,121,178,186,232, -203,143,144,186,216,187,115,104,88,26,207,123,244,151,92,114,137,249,214,183,190,197,107,72,22,121,224,223,126,202,60,156,179,31,113,7,13,56,160,162,141,81,234,95,243,189,103,86,249,0,86,48,100,22,151,0,176,17,240,35,77,120,97,145,49,11,161,108,62,202, -49,15,254,60,82,153,39,30,223,243,198,41,250,140,30,177,246,153,103,158,49,248,100,139,230,25,16,224,162,160,181,55,215,153,150,21,183,24,111,81,169,9,127,128,131,214,223,67,29,22,136,217,254,82,150,57,110,58,235,225,51,69,121,201,223,88,37,144,80,141, -10,220,160,65,165,230,136,35,102,152,49,67,10,67,39,206,16,115,250,145,242,87,98,54,127,126,239,103,174,250,172,42,1,8,85,100,199,199,119,187,87,229,148,152,89,210,144,22,114,125,197,48,167,56,59,130,254,12,135,89,187,56,11,217,132,176,47,31,103,38,159, -119,114,174,188,181,52,77,206,58,251,92,185,251,174,255,43,95,255,183,139,49,125,21,249,198,169,29,164,71,26,226,190,255,129,148,26,37,28,232,54,53,247,218,32,219,183,224,125,98,200,111,188,153,211,190,75,220,154,159,136,147,55,27,95,21,25,135,122,64, -177,24,236,232,42,219,38,83,198,172,149,87,22,225,28,103,156,90,27,73,189,119,33,164,85,135,13,96,78,113,142,11,85,185,65,94,249,243,110,247,216,89,69,24,206,56,151,152,112,245,107,193,163,4,95,103,210,227,90,122,220,199,233,248,107,239,71,118,255,23, -90,140,223,57,92,58,174,199,161,117,69,197,206,13,28,130,27,201,71,39,132,247,201,28,28,82,13,208,212,57,24,215,248,7,137,23,78,19,127,122,189,204,255,94,139,124,121,230,8,185,248,146,111,202,205,55,253,38,246,2,5,164,167,91,15,47,31,90,46,165,56,120, -134,174,167,125,100,183,30,16,81,32,210,214,184,59,178,145,206,195,184,205,224,52,163,48,14,110,246,117,224,156,48,79,214,210,4,67,109,57,111,222,153,174,11,3,209,97,69,174,172,88,179,75,174,254,74,149,204,155,85,224,56,25,195,188,64,254,8,191,47,80, -246,208,174,23,101,24,112,245,76,47,36,175,183,192,57,175,1,52,0,167,22,194,41,191,247,63,80,58,12,199,139,135,124,97,199,197,57,132,60,145,92,219,33,43,71,135,26,240,232,120,95,169,120,168,104,105,89,171,252,246,242,173,136,175,144,235,174,255,153,124, -231,59,223,209,23,11,237,152,135,173,53,153,179,32,17,180,190,78,84,39,43,63,49,174,106,195,50,105,215,97,90,51,142,160,106,65,35,65,195,130,20,174,92,186,65,62,93,8,233,131,38,108,229,104,44,137,163,93,86,0,54,236,214,177,186,39,223,56,29,162,149,129, -198,219,17,112,165,13,31,24,204,192,196,59,206,76,213,172,63,79,82,64,23,81,221,2,142,186,152,173,130,98,77,192,80,166,57,54,10,218,67,223,245,253,215,164,41,6,26,223,160,163,202,192,247,44,35,51,231,251,62,23,237,18,234,211,245,97,31,98,155,193,55,114, -60,185,243,218,141,72,54,82,95,168,56,246,75,95,210,113,16,193,161,239,12,60,150,75,243,123,64,87,191,241,124,186,250,218,6,105,215,217,45,160,195,163,241,189,13,56,14,248,51,217,190,1,111,254,144,229,0,53,157,218,83,83,239,249,199,223,4,45,12,223,84, -231,200,221,87,134,101,252,88,76,77,134,51,80,55,156,86,228,64,22,113,198,52,54,3,204,209,92,143,117,42,180,123,10,77,184,218,47,112,4,44,42,89,158,51,95,48,254,16,207,2,246,167,179,3,179,238,191,212,247,220,244,89,242,63,179,113,102,39,212,164,207,113, -121,134,191,226,154,240,24,254,68,117,8,170,131,26,179,102,120,242,5,39,57,114,244,228,181,56,114,173,66,86,227,53,38,126,101,152,175,52,209,17,188,238,170,78,205,208,159,255,208,66,119,86,239,146,109,216,141,166,163,14,126,231,192,224,51,48,33,188,4, -210,228,195,38,33,71,206,158,29,121,224,46,224,80,132,106,229,98,70,47,7,30,39,48,74,17,230,208,119,35,190,30,195,235,127,63,199,200,201,199,161,33,164,225,16,128,48,190,192,21,66,125,195,187,48,158,105,151,156,2,89,162,165,156,183,15,246,93,214,134, -92,78,234,64,187,242,14,55,217,241,12,126,240,66,201,207,46,243,205,66,91,57,14,13,126,68,48,232,29,61,116,184,72,249,72,0,10,251,67,12,154,30,140,144,88,191,150,180,84,160,229,226,60,72,131,85,226,80,131,100,229,57,242,215,235,125,50,225,130,245,50, -118,100,153,172,90,187,77,240,133,70,185,253,246,219,117,23,24,7,172,4,175,43,163,37,233,163,122,25,73,73,175,134,40,124,178,106,53,194,157,210,206,174,212,180,130,102,28,212,141,70,201,175,127,102,97,58,111,198,33,34,191,68,149,31,124,71,100,101,100, -94,121,175,39,206,29,41,114,62,228,105,238,81,70,138,74,129,100,71,13,140,51,28,138,74,7,201,149,80,62,142,37,46,174,210,227,157,127,17,137,238,201,255,164,192,69,65,51,127,58,57,112,232,161,243,188,239,149,143,48,167,22,20,56,67,176,153,87,130,200,209, -129,158,173,5,42,36,152,1,109,128,15,254,66,175,1,48,16,199,111,0,168,133,75,145,74,230,172,212,229,195,148,194,39,195,58,140,140,31,35,242,31,63,241,201,21,183,108,147,49,195,113,10,172,228,233,217,145,252,188,243,79,127,250,83,221,194,103,213,38,91, -210,64,59,206,252,239,4,112,187,176,103,178,185,25,111,19,65,216,32,42,84,1,208,103,70,248,45,165,124,216,94,60,3,250,80,144,83,6,5,178,165,26,19,233,144,176,102,244,103,25,144,184,2,236,97,26,135,70,93,81,137,23,2,71,186,0,27,55,217,252,245,37,92,178, -220,11,73,102,157,191,165,218,124,13,63,126,38,167,129,135,243,53,5,126,118,207,237,3,220,124,168,71,106,169,191,94,232,159,51,251,75,222,171,147,103,10,223,181,133,120,163,64,76,236,131,250,112,0,255,3,217,4,44,10,26,159,229,128,218,78,251,183,120,98, -40,117,216,52,106,144,222,171,83,134,124,245,84,124,100,251,25,159,124,240,105,29,196,186,73,119,128,253,249,207,127,150,215,48,29,115,223,125,247,197,246,120,16,192,129,6,143,243,144,52,227,219,96,46,118,160,133,182,129,231,232,189,149,5,172,69,22,200, -46,64,119,165,147,66,144,56,52,92,41,199,80,218,78,228,112,255,80,6,20,79,118,62,226,71,64,117,230,161,149,115,172,237,167,165,29,105,216,198,49,174,131,47,143,228,228,174,251,198,234,187,90,255,4,203,188,138,147,24,206,249,202,229,120,102,117,122,13, -46,238,237,230,70,68,70,166,30,97,190,61,249,72,128,134,115,61,165,13,35,210,14,168,10,204,237,154,144,227,55,33,140,60,81,25,0,7,98,208,196,92,172,250,186,104,122,252,150,141,70,238,93,230,222,191,144,137,210,137,244,142,139,226,33,117,249,200,126,243, -149,76,229,74,73,190,167,103,253,87,84,84,168,177,194,87,139,249,137,76,186,129,6,141,207,224,180,149,31,94,183,70,160,15,192,244,35,0,228,195,81,51,144,238,167,68,225,220,218,34,168,208,146,65,248,62,25,48,41,68,88,50,4,214,114,57,150,255,135,66,10, -135,137,140,128,170,44,25,140,51,53,3,184,240,35,210,133,168,146,63,16,2,158,221,32,237,217,33,95,241,200,161,69,195,229,31,124,46,65,195,235,119,128,189,123,110,31,224,100,110,36,99,17,182,249,171,214,11,25,72,92,129,235,248,43,241,220,81,240,35,163, -225,104,212,114,20,60,8,227,151,164,56,110,235,137,83,9,45,68,21,192,13,48,230,232,233,34,55,124,3,199,173,110,198,171,61,37,62,89,191,126,189,110,131,163,245,200,83,126,158,124,242,201,158,148,222,235,180,180,88,121,102,115,26,214,15,93,0,72,85,217, -214,10,212,240,167,30,228,98,138,82,138,32,117,165,0,107,16,192,26,2,92,134,0,172,114,168,199,97,149,34,67,43,49,232,46,197,210,83,0,137,56,166,213,198,76,93,137,204,49,231,249,165,41,43,84,48,108,220,209,205,111,202,205,140,198,75,185,97,59,125,24,75, -214,201,197,190,192,189,17,73,137,237,129,208,7,240,46,148,130,139,38,166,18,133,94,217,129,135,129,17,243,24,159,69,44,201,72,190,110,255,103,235,211,129,122,54,6,230,48,64,32,132,23,159,21,201,93,211,132,53,125,124,161,136,155,139,104,160,208,241,29, -58,187,76,98,251,188,72,234,254,253,79,73,227,228,177,15,0,114,46,15,198,159,180,182,0,53,240,156,216,89,23,192,164,16,251,186,82,72,28,193,27,28,245,148,194,108,178,135,178,67,62,197,114,197,231,142,150,194,15,220,181,229,152,140,193,227,175,174,127, -53,240,23,198,82,242,48,27,5,185,222,191,219,23,184,104,122,24,84,70,218,240,48,210,12,221,24,113,108,49,201,124,244,118,143,2,114,2,82,234,150,170,213,232,193,216,169,168,20,249,199,111,68,26,208,202,135,160,173,80,228,121,116,5,223,181,230,226,228, -54,188,186,59,208,142,234,152,71,219,135,177,202,30,238,104,197,162,45,37,142,11,161,9,79,38,249,224,13,85,39,142,130,86,207,107,198,97,180,142,127,252,209,165,22,226,128,21,45,35,203,228,12,25,247,157,134,215,242,223,90,122,187,20,112,54,202,96,181, -133,93,122,194,83,99,63,247,1,174,106,130,34,35,117,59,205,230,54,74,29,88,43,94,21,136,129,62,235,188,28,77,216,171,127,42,189,248,76,38,251,229,144,35,167,206,21,57,15,126,13,38,86,202,139,112,148,6,154,182,221,95,194,45,16,3,233,98,146,12,238,239, -218,181,91,234,170,209,80,192,186,118,44,229,16,192,189,171,15,134,83,37,17,36,50,159,63,233,53,17,216,202,126,95,5,71,35,121,163,51,23,1,175,45,35,156,93,81,57,103,226,225,67,222,218,241,188,76,113,142,229,161,110,40,185,19,240,246,1,238,188,143,35, -143,111,170,117,222,173,171,199,67,177,115,68,12,24,198,239,179,69,110,117,70,64,47,227,161,83,80,73,199,197,153,203,152,136,14,194,106,187,230,82,22,133,73,105,127,150,100,103,166,203,134,13,27,180,236,24,99,123,249,164,238,102,163,148,191,250,250,155, -152,221,90,0,186,112,202,17,63,209,137,118,181,199,145,47,232,34,92,244,237,250,185,51,88,42,14,38,213,217,111,107,67,100,215,2,179,210,206,213,238,201,216,217,21,154,7,212,102,189,47,228,230,150,77,44,29,62,118,73,219,123,185,215,35,49,206,129,73,14, -222,62,192,253,34,90,116,211,198,240,154,232,118,10,20,202,100,0,79,85,38,126,246,171,35,19,104,101,14,86,67,133,159,130,59,116,138,39,255,231,135,217,178,121,123,157,84,97,6,99,206,156,163,229,143,127,252,163,158,205,220,175,143,142,43,76,155,118,148, -75,47,191,252,178,60,120,207,93,146,159,139,241,166,11,130,208,136,246,200,13,36,140,32,249,134,194,163,131,195,252,43,105,87,3,141,161,195,223,48,74,186,86,147,113,79,183,151,198,143,238,9,155,106,242,76,218,208,202,27,27,223,40,124,10,119,146,130,7, -11,33,185,107,169,135,158,221,235,22,127,237,29,179,215,237,190,254,80,43,19,189,61,231,4,165,72,190,118,114,181,184,67,255,93,142,57,225,84,41,47,27,132,189,28,96,72,212,245,247,176,128,160,89,224,248,193,248,31,252,224,7,96,126,1,6,206,237,48,50,240, -90,112,116,183,90,228,241,52,170,32,81,106,148,69,249,161,195,32,196,219,79,197,88,66,123,21,26,172,66,123,198,169,73,243,178,74,11,79,49,239,238,158,224,28,41,203,112,42,21,165,39,38,247,157,2,135,79,180,5,212,50,210,135,83,202,96,70,169,232,15,4,120, -40,51,106,101,114,58,204,132,92,193,65,230,114,242,148,26,41,27,51,94,178,51,246,28,120,214,223,160,217,41,53,150,187,108,217,178,216,57,149,35,128,77,90,160,89,63,56,8,91,69,191,152,165,13,151,86,245,62,210,212,191,60,1,45,17,5,201,121,95,108,67,37, -4,231,41,14,123,254,237,163,42,203,182,70,6,129,67,143,18,95,150,110,215,36,81,180,144,104,150,239,147,124,79,73,253,113,165,3,84,244,29,6,115,72,78,185,12,11,254,86,22,189,240,55,193,216,191,223,7,223,4,140,82,102,151,146,56,78,228,185,93,234,178,74, -100,92,126,141,228,100,184,250,205,30,154,254,145,70,12,30,114,218,138,147,14,3,169,125,96,166,73,192,113,189,166,150,134,230,157,178,67,105,138,218,30,17,2,247,69,194,7,139,155,84,73,81,177,111,86,33,13,35,46,240,114,144,165,211,53,253,221,191,89,50, -108,8,67,197,225,17,135,176,135,48,147,158,94,48,88,202,219,46,147,247,94,127,213,38,232,83,104,85,34,11,33,96,108,216,27,54,172,151,249,243,231,203,153,103,158,41,5,216,137,60,172,20,51,64,77,85,82,146,135,85,0,84,155,210,166,192,105,155,37,31,128,226, -222,230,101,159,104,138,207,76,227,20,101,135,176,228,227,151,188,102,124,182,124,219,175,178,78,144,173,136,247,57,243,117,84,29,75,174,98,24,253,229,27,205,145,116,110,68,52,199,79,148,227,36,27,64,53,122,56,91,31,228,199,8,238,95,181,16,163,68,153, -193,134,65,14,145,169,176,191,67,45,50,106,164,200,138,103,142,147,143,138,150,201,180,169,147,84,74,108,30,50,62,153,35,64,137,142,105,227,211,211,82,197,222,21,185,226,138,43,52,41,207,202,220,186,117,27,186,41,76,78,66,233,228,96,8,70,192,2,24,163, -113,19,54,27,83,68,210,20,193,196,226,251,244,155,228,130,182,48,118,70,184,146,101,252,225,221,181,205,173,85,219,126,149,61,175,253,183,184,71,178,99,125,155,125,144,5,142,212,224,171,162,226,15,230,170,170,244,99,38,32,157,31,147,85,141,224,192,178, -226,56,78,251,56,50,139,126,95,230,216,66,123,31,218,178,89,2,174,209,223,209,114,155,52,102,187,60,254,31,87,72,240,170,191,97,65,114,204,94,197,39,130,148,8,144,77,76,213,200,83,18,248,205,83,90,141,63,255,249,207,245,22,167,184,184,55,146,39,210,114, -142,210,207,143,232,194,13,67,31,199,1,53,65,243,99,86,93,235,174,75,87,188,203,186,147,214,190,185,72,41,142,167,182,77,48,228,243,106,155,164,118,123,237,163,235,55,84,93,55,253,155,130,79,191,236,213,214,246,122,24,129,35,5,10,220,49,199,139,255,154, -255,148,182,167,127,29,152,130,81,247,151,35,111,40,67,187,115,28,23,222,140,84,48,131,241,33,88,85,155,250,180,120,70,147,140,190,58,219,154,109,89,84,153,219,37,35,103,136,28,146,255,134,92,121,254,137,114,201,181,55,201,236,89,179,244,184,166,196, -83,15,236,211,185,52,195,205,169,244,124,231,156,103,77,126,186,242,83,185,247,190,123,99,31,171,229,158,71,110,58,34,152,60,44,71,39,149,81,64,59,250,83,186,2,116,101,17,208,208,118,124,168,39,165,91,223,26,179,180,69,210,245,230,63,199,212,90,154,139, -209,97,160,13,115,150,13,178,125,221,238,247,151,46,109,248,229,137,215,201,243,44,243,185,63,73,16,143,196,124,82,114,23,15,156,91,140,217,39,36,243,198,140,49,249,144,60,124,159,196,54,45,62,6,173,63,12,53,66,139,138,11,166,92,123,99,191,167,6,5,139, -97,86,164,211,16,129,186,158,84,18,105,85,162,57,201,23,205,135,226,60,140,75,59,66,91,49,105,91,42,51,135,172,147,175,224,147,45,116,151,94,122,169,238,20,230,187,118,124,15,129,146,199,105,49,130,197,227,123,185,49,213,174,166,107,134,232,63,238,48, -102,255,70,64,249,130,6,175,233,233,136,15,38,73,164,4,93,25,55,92,251,80,45,126,236,83,169,137,253,227,5,61,235,218,149,139,79,195,53,49,228,194,76,139,227,195,203,15,130,165,244,214,122,255,103,203,119,109,88,177,194,220,124,198,175,228,126,108,0,111, -157,127,229,103,249,59,183,212,134,78,249,129,130,198,2,244,201,137,79,138,7,206,105,199,225,168,72,224,34,68,39,163,73,249,53,74,114,82,153,170,170,150,210,103,48,11,28,3,137,29,0,106,169,150,22,129,180,215,44,26,62,166,94,147,62,159,37,199,185,136, -113,18,23,129,57,67,128,135,175,48,26,108,29,24,62,36,79,38,85,230,201,242,117,27,245,144,235,248,116,201,174,169,54,249,162,33,37,147,142,239,142,115,190,147,32,243,158,5,204,230,13,2,36,2,55,21,99,107,124,202,90,219,32,169,214,169,71,229,31,197,17, -30,249,85,2,147,243,52,90,28,211,177,107,162,245,138,245,48,116,83,142,139,73,79,105,50,94,99,131,111,229,202,246,142,143,151,201,127,158,247,7,193,228,114,241,230,175,157,221,156,29,174,91,148,57,255,86,238,100,209,130,173,36,36,101,156,5,78,31,182, -249,99,13,210,255,242,183,208,250,223,92,231,174,201,171,112,70,99,161,154,114,135,129,20,192,180,69,40,225,172,4,9,227,204,2,128,100,28,193,244,136,56,193,164,100,70,165,147,67,9,53,110,44,45,72,178,143,99,69,65,179,54,10,251,160,200,2,37,214,139,177, -112,9,131,33,216,40,121,186,252,159,129,197,203,28,116,200,88,126,71,191,68,16,108,95,199,133,80,190,92,65,233,227,203,244,156,190,34,96,22,44,62,150,233,19,29,159,24,237,222,176,15,18,99,56,114,6,145,4,13,31,136,68,72,198,179,175,39,95,121,147,117,98, -155,142,47,139,25,64,172,206,48,177,46,228,77,27,158,7,141,23,110,13,55,215,118,248,182,111,54,206,71,75,156,119,238,252,125,240,166,231,36,240,225,156,57,225,244,226,80,117,209,253,143,171,132,145,161,241,5,198,95,227,214,30,71,10,98,238,197,21,226, -157,62,83,130,183,191,46,213,147,167,185,223,56,126,166,247,232,208,65,206,144,14,20,215,30,210,186,83,203,171,138,70,229,93,85,37,208,47,28,227,240,83,151,12,213,59,156,144,102,37,235,192,113,86,142,149,68,167,161,139,137,108,202,209,246,66,178,20,112, -130,214,140,180,152,53,161,74,38,199,192,92,110,15,192,199,25,35,82,71,206,194,69,180,90,187,212,226,211,208,45,224,81,103,46,14,28,205,153,248,27,249,44,83,108,200,71,170,75,71,187,163,218,36,105,156,92,230,212,95,176,197,96,101,27,196,168,99,145,0, -3,75,149,160,40,18,165,214,58,65,35,88,4,55,194,131,80,71,200,52,213,123,94,205,14,199,247,241,114,183,105,241,71,206,239,127,246,130,251,176,12,111,107,63,190,184,173,104,213,50,105,123,187,78,19,71,107,24,45,174,139,32,218,174,34,178,132,105,81,121, -234,3,9,159,54,91,178,190,119,107,104,21,36,231,212,59,254,205,251,110,81,161,57,30,135,222,141,194,199,124,157,160,109,104,160,23,93,139,231,3,237,252,22,183,31,195,47,152,207,244,152,205,199,247,185,225,121,205,205,53,142,11,80,40,149,80,121,145,25, -24,220,80,240,16,232,163,45,208,12,233,240,150,39,234,222,0,12,27,97,234,182,225,218,78,242,70,121,139,6,228,224,120,165,72,234,253,252,79,38,226,201,114,81,125,196,28,56,232,96,21,210,225,118,4,110,120,229,246,133,38,98,4,13,19,204,104,70,227,33,157, -140,96,125,44,112,81,237,3,245,16,198,250,98,59,182,32,54,214,27,111,87,149,227,214,110,119,124,159,172,150,5,15,191,32,55,190,180,53,180,114,230,56,201,104,192,249,3,47,47,86,117,197,103,91,208,24,218,107,92,238,117,205,223,49,23,15,156,87,11,254,64, -75,152,103,222,147,208,188,41,18,92,42,29,213,223,190,87,174,7,145,127,185,106,174,55,30,223,214,62,50,63,75,14,11,166,155,225,89,25,206,80,0,233,234,88,7,56,16,64,12,27,13,64,52,4,23,187,209,156,116,0,205,253,23,233,216,206,22,76,231,105,231,4,145,173, -17,156,136,39,79,201,1,63,129,4,85,19,140,66,84,58,226,227,193,131,202,50,232,214,153,147,235,230,201,0,136,85,44,238,130,28,165,117,70,79,142,51,63,243,178,238,236,252,64,45,246,217,224,31,247,145,208,53,130,68,108,87,48,240,14,37,158,235,109,42,233, -232,6,240,225,44,52,200,54,212,5,243,152,209,57,76,74,102,8,51,187,29,237,88,194,196,83,154,27,29,54,186,112,67,173,227,219,182,5,171,250,235,229,175,87,63,238,222,137,82,91,15,27,30,200,93,177,174,163,173,17,39,37,226,81,22,52,62,57,254,58,254,55,73, -218,199,217,202,179,18,251,248,137,67,36,109,80,161,4,222,173,18,175,117,135,118,104,108,98,254,25,69,254,225,71,79,50,35,115,50,205,208,130,92,103,70,118,186,169,8,4,157,210,236,116,41,226,52,153,130,137,202,250,131,98,96,117,155,140,44,0,8,207,29,82, -0,83,239,211,90,83,137,1,5,172,56,61,23,43,169,30,155,97,255,16,56,130,166,192,97,250,178,29,59,192,215,110,22,247,199,143,33,159,43,141,105,142,172,4,175,54,129,30,164,150,70,168,194,22,140,213,216,42,172,111,66,156,5,140,33,117,24,65,164,136,176,174, -212,217,217,232,251,120,20,97,25,194,17,233,174,25,217,212,33,101,147,74,157,65,63,58,89,28,172,223,154,172,60,172,249,99,122,18,244,43,237,56,237,73,27,41,186,214,168,218,6,221,40,149,128,181,66,177,52,129,26,30,233,213,218,32,190,205,91,100,247,146, -85,230,87,183,188,225,189,52,178,44,144,145,134,198,176,178,154,53,84,208,8,156,245,108,80,246,218,134,140,35,189,73,157,5,142,149,33,40,86,254,25,178,114,10,212,112,88,220,144,180,0,118,96,251,195,248,238,235,114,156,216,142,123,81,38,16,38,9,30,85, -238,13,159,61,198,84,66,165,86,148,228,200,12,124,103,182,34,15,199,26,243,184,45,206,62,164,1,64,0,167,32,66,34,29,170,87,72,104,172,95,177,192,209,16,32,3,168,34,163,210,230,181,55,137,187,27,221,223,63,22,152,109,207,125,226,60,51,36,71,158,221,218, -16,94,133,231,178,146,116,108,161,244,214,217,107,214,43,222,251,49,116,208,6,10,160,88,55,222,163,211,186,227,31,198,223,166,176,169,221,84,220,118,161,115,101,249,32,41,77,207,6,120,248,160,49,53,7,247,154,112,80,110,65,99,195,83,105,3,39,184,227,185, -5,189,1,214,122,195,29,141,226,219,184,205,172,126,234,93,231,218,103,214,132,87,30,86,30,200,222,88,35,237,213,205,29,29,60,230,11,234,151,188,139,7,200,94,39,134,182,30,74,100,252,63,11,28,227,88,9,86,202,130,167,21,196,111,5,143,33,233,54,120,111, -163,32,32,129,162,204,128,31,70,149,31,218,1,195,7,227,110,216,141,117,164,8,49,200,103,130,99,178,77,233,89,51,205,212,193,88,136,199,251,224,51,243,115,164,48,7,45,55,0,197,4,99,208,139,50,193,165,49,99,251,42,50,193,26,3,148,186,38,168,27,244,47,190, -170,221,102,221,179,255,146,187,159,90,225,190,115,88,73,104,227,226,42,113,209,90,2,104,186,201,42,102,235,196,48,254,190,11,208,98,117,1,112,172,31,127,91,143,45,246,198,87,1,26,63,171,113,107,126,113,138,119,217,196,10,249,186,63,93,66,233,152,161, -231,54,60,54,182,136,65,182,55,205,218,23,182,193,188,106,130,240,129,222,13,219,204,71,151,63,228,94,133,84,85,83,112,58,200,210,205,84,211,220,141,26,3,204,242,42,17,168,248,223,20,142,78,157,173,164,77,16,171,24,34,246,1,14,113,241,247,181,194,209, -22,236,43,196,38,223,252,28,195,25,36,167,30,253,247,166,90,18,73,85,101,210,70,103,154,146,115,143,52,51,202,139,157,99,240,9,210,195,11,115,37,131,42,147,79,64,122,15,13,128,214,170,210,66,181,131,22,105,176,187,138,91,15,221,205,59,204,226,7,222,118, -175,126,111,75,104,237,225,195,36,107,225,38,128,22,105,181,182,146,201,42,152,88,47,219,40,45,205,26,178,62,113,146,199,56,55,15,245,216,213,42,222,184,124,147,243,195,147,204,159,202,138,157,225,216,143,21,166,138,164,180,161,161,57,236,239,248,0,182, -10,244,201,248,98,36,222,6,192,216,55,12,37,189,105,167,188,249,253,71,156,107,145,162,113,82,177,4,150,67,53,34,43,247,28,17,44,11,152,13,227,193,180,245,97,152,172,78,136,222,227,18,43,200,59,241,149,180,173,210,134,177,10,35,29,227,152,214,198,225, -26,111,162,4,34,93,64,14,222,144,43,203,54,126,42,234,85,53,32,56,228,176,239,9,158,54,206,27,58,27,135,195,22,231,153,99,178,50,157,169,185,24,37,4,193,16,214,132,18,71,110,112,220,138,33,152,108,173,150,255,247,195,199,220,235,209,90,235,38,150,4,50, -86,84,117,180,65,234,177,145,32,166,170,45,3,162,57,145,63,218,0,244,42,242,47,190,62,150,86,5,41,42,129,122,141,164,76,231,226,133,87,183,178,64,124,235,106,156,182,243,15,245,70,29,51,214,92,87,152,227,76,204,128,166,136,169,246,40,215,52,192,147,217, -191,213,54,74,77,85,173,115,239,53,79,57,247,80,186,198,228,7,124,171,107,21,52,190,160,68,58,45,173,137,215,137,224,117,9,26,171,149,12,56,27,207,10,37,3,44,190,242,182,210,54,180,64,2,192,0,6,98,176,58,177,43,19,221,131,91,142,195,243,208,50,205,170, -93,180,236,176,125,74,2,57,151,206,246,70,143,27,44,71,194,58,29,231,247,153,161,200,156,3,203,174,45,20,114,182,236,110,52,207,255,236,25,239,9,208,224,141,41,18,223,106,228,3,239,104,125,176,226,172,156,101,128,101,72,98,133,89,183,68,208,44,125,182, -14,246,55,213,40,175,53,15,173,201,74,76,182,175,171,215,193,104,198,117,39,120,115,75,242,156,153,48,168,6,251,92,147,131,16,237,7,4,120,210,20,246,156,237,181,205,102,225,219,31,187,175,188,248,89,104,227,224,108,73,135,132,153,141,141,248,152,33,232, -4,166,241,116,146,70,11,148,141,183,191,25,178,1,118,203,117,6,156,205,108,43,102,43,26,31,218,123,241,33,203,99,26,203,52,203,12,254,118,178,81,163,76,236,51,45,207,15,56,91,155,59,194,59,208,97,35,158,222,55,42,51,144,63,105,184,9,214,54,57,29,111, -108,234,216,133,184,214,161,185,146,201,17,194,166,58,173,44,43,109,1,179,33,43,111,175,45,3,88,121,75,147,109,120,246,183,165,159,191,109,156,189,182,161,3,181,232,64,93,59,149,144,154,117,205,88,198,109,231,248,69,159,3,219,50,16,60,108,16,135,173, -98,222,223,161,125,23,102,25,148,190,224,228,33,226,223,176,75,194,245,109,251,165,215,2,102,67,210,205,58,244,200,117,5,156,45,204,86,146,21,79,188,182,21,142,15,45,112,10,24,242,216,144,229,233,51,75,240,25,111,26,43,57,96,18,102,41,188,197,155,117, -140,165,21,56,180,76,159,33,27,208,79,226,117,37,198,89,112,8,74,60,88,54,222,198,105,126,62,4,46,158,206,120,192,108,29,226,233,181,215,137,116,11,233,44,204,193,219,14,160,179,166,67,194,107,49,52,66,217,164,195,228,193,58,30,85,172,239,90,152,93,13, -18,222,1,122,163,35,84,166,177,222,210,22,31,242,218,254,238,182,148,33,79,204,41,19,99,191,186,190,176,21,179,149,183,97,103,21,103,60,243,216,231,216,112,175,39,97,14,216,96,249,11,147,193,232,47,0,34,38,248,205,78,88,104,136,178,158,149,179,215,54, -180,21,231,239,253,85,158,207,76,6,28,227,45,221,54,100,92,162,71,148,206,186,226,248,139,200,104,93,87,182,240,76,188,163,104,118,67,35,128,94,75,67,124,104,233,100,104,105,181,33,227,250,228,72,100,111,93,98,197,227,127,39,86,222,254,78,124,22,227, -45,211,25,38,250,206,24,97,211,37,150,215,213,111,11,80,98,104,233,99,188,189,102,72,103,195,200,175,200,255,206,104,238,140,94,27,111,243,197,151,213,171,235,100,68,245,170,32,100,138,175,48,175,227,153,192,50,237,179,108,200,56,58,91,25,11,198,254, -194,72,142,254,249,31,79,111,60,173,241,241,124,82,34,189,246,233,251,163,179,223,129,178,15,181,97,103,68,217,251,253,17,198,63,35,254,218,150,109,129,235,236,183,141,63,16,97,60,125,157,93,199,211,219,217,245,128,211,250,223,12,238,70,210,82,169,25, -10,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; - -const char* projectIconLinuxMakefile_png = (const char*) temp_binary_data_29; - -//================== projectIconVisualStudio.png ================== -static const unsigned char temp_binary_data_30[] = -{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,128,0,0,0,128,8,6,0,0,0,195,62,97,203,0,0,0,1,115,82,71,66,0,174,206,28,233,0,0,4,166,105,84,88,116,88,77,76,58,99,111,109,46,97,100,111,98,101,46,120,109,112,0,0,0,0,0,60,120,58,120,109,112,109,101, -116,97,32,120,109,108,110,115,58,120,61,34,97,100,111,98,101,58,110,115,58,109,101,116,97,47,34,32,120,58,120,109,112,116,107,61,34,88,77,80,32,67,111,114,101,32,53,46,52,46,48,34,62,10,32,32,32,60,114,100,102,58,82,68,70,32,120,109,108,110,115,58,114, -100,102,61,34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,49,57,57,57,47,48,50,47,50,50,45,114,100,102,45,115,121,110,116,97,120,45,110,115,35,34,62,10,32,32,32,32,32,32,60,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110, -32,114,100,102,58,97,98,111,117,116,61,34,34,10,32,32,32,32,32,32,32,32,32,32,32,32,120,109,108,110,115,58,120,109,112,77,77,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,109,109,47,34,10,32,32, -32,32,32,32,32,32,32,32,32,32,120,109,108,110,115,58,115,116,82,101,102,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,115,84,121,112,101,47,82,101,115,111,117,114,99,101,82,101,102,35,34,10,32, -32,32,32,32,32,32,32,32,32,32,32,120,109,108,110,115,58,116,105,102,102,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,116,105,102,102,47,49,46,48,47,34,10,32,32,32,32,32,32,32,32,32,32,32,32,120,109,108,110,115,58,120,109, -112,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,34,62,10,32,32,32,32,32,32,32,32,32,60,120,109,112,77,77,58,68,101,114,105,118,101,100,70,114,111,109,32,114,100,102,58,112,97,114,115,101,84,121, -112,101,61,34,82,101,115,111,117,114,99,101,34,62,10,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,82,101,102,58,105,110,115,116,97,110,99,101,73,68,62,120,109,112,46,105,105,100,58,100,98,101,99,56,57,51,56,45,56,49,54,56,45,52,52,102,101,45,97,55, -50,102,45,101,51,48,55,48,102,100,99,55,101,51,53,60,47,115,116,82,101,102,58,105,110,115,116,97,110,99,101,73,68,62,10,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,82,101,102,58,100,111,99,117,109,101,110,116,73,68,62,97,100,111,98,101,58,100,111, -99,105,100,58,112,104,111,116,111,115,104,111,112,58,55,100,55,51,53,51,48,56,45,57,52,100,102,45,49,49,55,55,45,97,53,100,98,45,56,53,99,49,100,48,98,53,54,97,53,50,60,47,115,116,82,101,102,58,100,111,99,117,109,101,110,116,73,68,62,10,32,32,32,32,32, -32,32,32,32,60,47,120,109,112,77,77,58,68,101,114,105,118,101,100,70,114,111,109,62,10,32,32,32,32,32,32,32,32,32,60,120,109,112,77,77,58,68,111,99,117,109,101,110,116,73,68,62,120,109,112,46,100,105,100,58,49,51,54,56,69,69,54,67,52,67,55,57,49,49,69, -52,57,54,50,67,65,49,51,66,54,69,53,52,48,69,51,54,60,47,120,109,112,77,77,58,68,111,99,117,109,101,110,116,73,68,62,10,32,32,32,32,32,32,32,32,32,60,120,109,112,77,77,58,73,110,115,116,97,110,99,101,73,68,62,120,109,112,46,105,105,100,58,49,51,49,68, -69,70,50,65,52,67,55,57,49,49,69,52,57,54,50,67,65,49,51,66,54,69,53,52,48,69,51,54,60,47,120,109,112,77,77,58,73,110,115,116,97,110,99,101,73,68,62,10,32,32,32,32,32,32,32,32,32,60,120,109,112,77,77,58,79,114,105,103,105,110,97,108,68,111,99,117,109, -101,110,116,73,68,62,97,100,111,98,101,58,100,111,99,105,100,58,112,104,111,116,111,115,104,111,112,58,51,97,99,50,101,99,98,55,45,57,52,100,102,45,49,49,55,55,45,97,53,100,98,45,56,53,99,49,100,48,98,53,54,97,53,50,60,47,120,109,112,77,77,58,79,114, -105,103,105,110,97,108,68,111,99,117,109,101,110,116,73,68,62,10,32,32,32,32,32,32,32,32,32,60,116,105,102,102,58,79,114,105,101,110,116,97,116,105,111,110,62,49,60,47,116,105,102,102,58,79,114,105,101,110,116,97,116,105,111,110,62,10,32,32,32,32,32, -32,32,32,32,60,120,109,112,58,67,114,101,97,116,111,114,84,111,111,108,62,65,100,111,98,101,32,80,104,111,116,111,115,104,111,112,32,67,67,32,50,48,49,52,32,40,77,97,99,105,110,116,111,115,104,41,60,47,120,109,112,58,67,114,101,97,116,111,114,84,111, -111,108,62,10,32,32,32,32,32,32,60,47,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,62,10,32,32,32,60,47,114,100,102,58,82,68,70,62,10,60,47,120,58,120,109,112,109,101,116,97,62,10,181,212,82,31,0,0,23,34,73,68,65,84,120,1,237,93,9,152,84, -213,149,62,221,93,93,91,239,27,2,141,40,224,2,35,160,40,26,53,162,99,148,209,68,65,109,149,65,176,49,40,102,198,4,197,104,62,51,126,25,53,126,201,231,18,162,142,27,78,136,138,34,42,162,81,65,34,8,10,74,80,135,168,24,81,65,140,226,2,210,108,246,222,181, -87,247,252,255,173,122,221,85,213,85,45,93,253,94,219,93,220,203,247,168,183,221,229,157,243,159,115,207,61,247,220,219,34,58,105,10,104,10,104,10,104,10,104,10,104,10,104,10,104,10,104,10,104,10,104,10,104,10,104,10,104,10,104,10,104,10,104,10,104,10, -104,10,104,10,104,10,104,10,104,10,104,10,104,10,104,10,104,10,104,10,100,32,5,178,210,249,166,182,182,54,27,242,29,140,35,27,71,91,58,101,232,60,166,82,128,124,168,201,202,202,106,233,110,169,100,100,58,105,168,215,235,125,7,25,157,56,90,211,41,64,231, -49,141,2,20,98,155,221,110,175,198,239,179,221,45,53,93,0,16,113,249,56,236,221,173,80,191,111,25,5,210,226,37,25,153,78,10,35,83,32,157,140,58,143,101,20,8,165,83,114,186,0,72,203,118,72,167,129,58,143,181,20,72,75,109,116,213,164,220,220,92,201,201, -201,233,234,21,253,172,7,20,8,135,195,18,12,6,123,80,66,124,86,211,1,192,198,249,124,62,129,69,26,95,147,190,234,49,5,48,250,50,93,184,76,3,0,25,238,112,56,100,217,178,101,178,104,209,34,41,42,42,82,141,101,163,117,234,25,5,72,219,214,214,86,169,171, -171,147,169,83,167,74,85,85,149,210,2,188,215,211,100,42,0,216,208,154,154,26,89,191,126,189,12,24,48,64,108,54,155,104,0,244,148,69,162,180,41,85,255,174,93,187,100,194,132,9,146,157,157,174,233,214,185,45,166,1,192,40,218,229,114,73,121,121,185,148, -150,150,106,13,96,16,165,135,191,20,44,2,32,20,10,137,219,237,238,97,105,241,217,205,131,82,180,92,45,241,241,4,54,251,202,108,250,154,14,0,179,63,88,151,103,45,5,52,0,172,165,111,159,47,93,3,160,207,179,200,218,6,106,0,88,75,223,62,95,186,6,64,159,103, -145,181,13,212,0,176,150,190,125,190,116,13,128,62,207,34,107,27,168,1,96,45,125,251,124,233,26,0,125,158,69,214,54,80,3,192,90,250,246,249,210,53,0,250,60,139,172,109,160,6,128,181,244,237,243,165,107,0,244,121,22,89,219,64,211,167,131,147,53,151,33, -98,140,18,170,173,173,85,129,13,156,222,212,41,57,5,56,219,71,250,148,149,149,137,211,233,84,211,192,201,223,52,231,174,229,0,224,199,180,180,180,72,69,69,133,76,156,56,17,65,34,185,10,4,230,52,63,243,74,97,176,71,56,28,146,141,27,55,202,238,221,187, -133,241,21,86,166,94,1,64,67,67,131,140,30,61,90,230,204,153,35,249,249,5,0,0,163,202,117,74,70,1,2,192,227,241,200,141,55,222,40,91,183,110,85,1,32,102,132,126,37,171,139,247,44,7,0,43,201,206,206,82,209,44,12,15,108,69,100,139,207,231,239,87,65,163, -140,196,233,173,228,206,139,68,252,4,81,167,17,250,101,101,151,217,43,0,64,84,155,162,31,37,63,28,110,85,96,176,242,163,122,139,89,86,212,19,14,129,70,12,246,236,165,96,90,61,10,176,130,139,253,168,76,13,128,126,196,44,43,154,170,1,96,5,85,251,81,153, -26,0,253,136,89,86,52,85,3,192,10,170,246,163,50,53,0,250,17,179,172,104,170,6,128,21,84,237,71,101,106,0,244,35,102,89,209,84,13,0,43,168,218,143,202,212,0,232,71,204,178,162,169,26,0,86,80,181,31,149,153,209,0,48,123,37,109,63,226,235,126,55,53,99, -1,192,25,72,155,77,239,85,244,93,72,232,165,217,192,239,106,134,121,207,41,245,217,57,217,98,203,181,169,41,231,28,27,103,31,91,165,173,181,45,114,96,99,83,61,19,217,65,239,140,2,0,153,159,67,230,219,193,124,78,65,35,254,32,43,139,96,136,156,115,42,154, -193,21,10,12,120,87,3,161,151,2,66,58,240,102,229,89,60,243,219,251,255,232,30,85,100,118,164,75,200,81,243,237,12,76,105,13,227,97,244,121,52,100,193,202,6,246,201,178,51,66,3,48,118,130,146,159,107,207,85,68,110,103,126,12,201,99,239,229,32,236,138, -54,66,91,78,27,64,208,26,13,192,96,12,198,129,167,21,250,61,0,200,52,246,249,93,49,63,6,7,113,0,97,200,21,143,28,148,113,160,118,15,189,2,0,171,250,218,174,152,207,103,118,167,93,108,217,54,9,183,97,119,77,95,80,90,219,90,227,250,125,190,195,100,116, -15,232,68,84,204,34,187,6,101,43,224,185,178,37,50,56,138,221,210,97,32,9,75,66,114,247,208,8,8,204,163,36,153,23,81,251,52,248,34,234,91,113,51,122,238,116,57,37,216,18,148,173,27,62,23,79,157,87,120,237,116,59,149,182,48,24,31,251,190,186,135,50,35, -218,196,6,141,98,147,28,14,35,209,85,100,114,178,68,3,144,217,70,120,179,223,239,87,235,2,154,155,187,253,183,12,82,210,221,96,190,26,234,129,253,177,12,229,185,11,140,14,249,194,178,248,150,151,100,245,130,55,101,204,105,71,200,132,169,199,203,191,156, -122,132,148,14,46,86,155,220,7,67,1,9,5,147,132,167,43,187,16,64,136,118,15,44,47,224,55,111,111,222,148,31,245,61,61,48,29,0,36,28,55,53,228,162,6,174,108,153,62,125,186,112,3,233,205,155,183,136,215,235,145,60,119,94,143,62,85,49,223,134,161,29,118, -33,37,208,82,49,255,201,155,151,202,138,121,175,163,27,200,149,77,171,62,145,143,95,255,84,134,142,174,148,227,39,29,45,199,79,30,43,149,35,7,74,174,205,46,161,214,144,4,3,193,136,1,24,51,20,48,202,205,210,26,160,123,252,226,42,32,110,23,123,234,169, -167,202,85,87,93,165,86,3,17,20,219,182,109,19,123,174,67,168,17,34,221,65,247,202,229,219,16,70,168,101,24,124,0,84,228,58,210,135,27,231,84,241,148,252,39,111,126,81,150,223,187,70,138,74,11,196,93,200,229,85,173,18,240,6,229,203,15,190,145,207,223, -253,90,94,131,86,24,119,246,81,114,226,133,227,100,196,184,67,196,149,239,194,159,61,193,59,190,128,234,178,98,219,23,1,28,134,142,8,215,182,58,25,160,179,186,158,216,242,77,213,0,236,239,185,97,244,204,153,51,229,186,235,174,147,202,202,74,213,255,83, -35,12,31,62,92,188,88,31,24,240,7,34,210,6,233,237,78,82,140,160,181,15,15,31,83,44,177,120,78,230,135,189,97,121,234,150,165,242,215,40,243,157,249,142,118,53,111,119,229,10,143,48,212,126,211,158,102,121,229,161,55,228,173,37,239,201,200,31,14,151, -19,47,56,86,70,255,235,145,146,63,0,139,50,66,240,24,118,224,170,59,77,236,151,239,154,6,0,50,33,16,8,200,228,201,147,229,210,75,47,21,252,13,27,181,32,148,160,160,68,113,117,13,127,29,184,207,243,48,220,179,49,26,183,75,226,197,51,191,179,218,87,204, -167,228,223,210,33,249,100,62,199,248,70,162,247,143,137,134,93,94,169,91,220,197,46,241,183,248,229,189,229,31,201,123,43,62,150,17,39,12,149,89,247,76,149,67,143,30,34,62,175,207,200,150,241,191,166,141,2,200,36,30,37,37,37,106,147,104,174,111,227, -117,162,58,37,211,109,246,28,117,144,186,124,167,171,196,231,202,189,75,201,79,209,231,135,149,218,143,151,252,88,230,199,150,207,242,12,48,56,11,156,82,62,164,68,236,14,155,108,125,243,115,217,243,229,62,52,15,13,236,158,114,138,45,190,223,157,155,166, -1,140,47,55,250,248,88,198,27,207,248,171,64,129,95,46,25,87,154,33,24,66,191,27,15,20,227,125,197,252,46,12,190,142,62,127,41,250,252,215,84,159,159,40,249,70,89,201,126,9,132,86,48,219,238,176,43,71,82,174,211,116,114,36,171,182,79,221,51,77,3,24,95, -101,48,158,204,203,206,201,82,203,155,29,46,59,92,238,29,146,78,161,87,207,97,28,210,131,71,9,79,76,17,230,67,83,68,103,245,120,109,36,158,187,220,46,137,72,62,213,126,247,153,111,148,197,95,150,23,91,126,236,179,76,63,239,76,121,147,190,216,225,114, -160,191,119,200,87,31,238,144,186,111,26,196,237,114,11,135,84,49,124,84,68,39,96,20,8,208,55,27,140,224,59,236,171,105,240,81,37,199,50,135,231,100,190,191,37,32,79,220,248,188,252,245,190,181,82,12,107,191,59,146,111,210,39,102,68,49,166,2,128,204, -161,39,141,155,26,4,91,66,178,226,193,55,228,247,231,223,47,15,92,177,80,190,249,100,151,56,29,78,53,140,75,100,40,41,201,153,58,122,223,216,1,43,15,95,10,107,159,204,247,53,5,228,209,235,23,203,242,7,35,67,61,205,252,244,177,104,42,0,148,177,150,147, -43,255,252,191,47,228,190,203,30,149,199,111,120,78,60,251,124,242,209,218,79,229,174,105,127,150,77,107,182,40,173,192,62,55,17,4,188,166,93,224,128,227,38,55,151,145,60,241,106,153,207,35,204,247,131,249,207,200,171,143,188,37,101,3,138,197,145,103, -87,227,252,244,73,112,96,231,52,13,0,84,229,244,1,188,183,114,147,220,62,109,158,252,125,217,7,82,80,146,39,37,7,21,74,197,144,82,217,249,201,110,185,103,250,35,178,18,227,239,172,54,104,9,72,178,74,29,93,123,123,151,192,41,24,240,59,46,185,41,249,141, -100,254,18,89,179,0,204,63,168,68,104,91,164,178,246,217,221,240,89,107,55,134,155,113,21,30,32,23,166,1,0,60,67,202,146,175,54,237,144,61,95,127,43,229,149,165,17,199,11,25,128,84,86,89,34,33,111,72,30,187,254,89,28,75,164,105,111,139,234,42,148,171, -53,134,217,17,205,208,113,131,215,156,200,241,54,129,249,191,122,6,204,127,19,204,47,142,148,29,51,206,87,149,68,255,99,55,20,128,141,208,82,239,85,147,57,134,97,26,251,142,62,143,80,192,60,0,68,41,202,161,89,129,221,173,164,153,195,59,38,50,145,210, -88,84,81,40,121,133,110,121,25,62,250,123,103,62,42,59,182,212,168,249,130,28,168,252,8,227,163,133,68,127,120,175,67,237,27,146,95,44,185,240,232,37,147,124,50,154,204,111,216,219,44,126,111,64,206,158,125,154,140,60,101,132,120,27,189,73,203,143,175, -237,192,188,50,29,0,36,99,187,252,66,43,196,198,223,209,37,236,44,112,72,249,224,18,249,96,245,22,153,59,101,190,108,124,249,67,204,17,216,209,247,119,182,11,226,153,79,201,47,73,201,124,21,225,3,192,236,219,81,39,246,60,155,204,248,227,133,50,237,119, -231,1,112,78,241,53,7,226,28,82,7,38,171,147,127,181,37,0,48,170,162,68,182,130,41,45,245,30,53,153,66,233,164,228,82,226,7,12,41,147,221,159,239,147,123,103,44,144,165,119,173,146,54,204,184,178,159,135,168,42,105,53,152,191,64,245,249,6,243,109,200, -223,14,47,163,26,37,245,1,95,72,246,110,175,149,161,71,13,146,57,11,47,151,137,179,38,168,153,62,79,147,79,249,35,218,95,214,39,113,20,176,20,0,28,171,15,25,117,144,140,159,52,86,154,190,109,81,99,119,130,192,112,197,150,85,22,227,92,100,209,111,94,148, -135,127,249,140,52,236,105,130,202,135,159,30,64,240,54,250,148,193,199,153,187,210,118,201,143,103,190,161,242,91,26,60,82,183,183,65,78,158,114,156,92,255,204,149,114,244,25,163,196,31,244,171,105,105,221,255,199,241,187,211,133,165,190,79,95,179,95, -92,240,183,207,188,231,98,201,47,205,147,151,31,128,211,6,118,128,11,19,53,156,162,109,131,52,23,148,229,65,173,219,100,245,195,127,147,221,159,237,149,153,119,79,145,146,193,69,178,240,215,207,201,154,199,223,86,204,231,44,94,98,159,111,204,211,215, -213,52,72,118,110,182,76,249,239,115,100,242,117,19,161,254,115,165,190,174,65,114,49,156,140,120,24,227,65,211,137,2,7,248,13,203,0,192,65,1,251,101,79,131,79,108,240,177,87,223,94,37,217,240,235,191,124,255,90,197,204,188,34,184,114,1,2,50,214,233, -182,75,197,224,82,217,178,238,51,153,55,107,33,0,80,44,31,174,249,68,74,7,20,41,107,63,145,249,212,34,225,64,88,106,119,214,73,197,176,114,153,246,251,243,228,135,83,198,139,31,179,145,141,181,77,106,50,71,75,254,254,33,219,50,0,196,86,239,247,250,197, -93,238,2,8,46,80,1,26,47,220,254,138,10,188,160,159,32,2,2,120,16,1,142,210,33,197,178,243,211,61,178,253,227,26,165,25,24,252,17,199,124,160,138,193,37,212,44,245,251,26,101,236,143,70,74,245,29,85,50,124,220,80,105,193,236,99,0,129,159,134,49,24,91, -191,62,79,77,129,94,1,0,213,181,47,224,83,253,253,148,155,206,21,55,164,127,241,77,203,164,225,219,102,41,68,23,64,195,206,176,11,242,75,92,145,81,4,52,183,49,140,100,243,149,68,195,168,108,194,16,143,65,37,103,95,117,154,176,172,194,138,124,105,108, -104,84,239,146,249,58,117,143,2,189,2,0,54,137,32,240,54,113,60,46,50,105,206,153,202,54,88,248,95,127,145,230,90,143,228,67,19,48,112,132,137,207,59,37,48,158,142,166,134,221,141,24,70,218,229,146,219,38,203,196,43,39,96,198,8,247,234,26,241,8,255,248, -142,78,221,166,64,239,0,32,202,84,170,111,63,162,109,218,192,236,51,47,63,5,210,159,47,79,98,4,208,136,16,45,250,7,58,28,8,9,223,1,135,18,135,115,71,156,52,92,166,252,246,28,25,117,242,8,241,160,156,0,38,133,12,99,48,33,135,190,220,79,10,88,58,12,76, -108,3,113,64,73,229,58,1,166,67,198,86,74,94,137,91,197,237,81,138,147,38,220,166,71,48,20,8,201,65,35,202,101,216,209,7,227,53,148,129,110,64,167,158,83,160,119,52,64,180,157,148,124,174,220,45,40,200,151,79,55,108,147,71,230,60,35,53,91,247,72,1,98, -244,146,185,130,85,54,160,134,86,127,62,108,133,183,22,191,43,123,182,237,149,234,59,171,100,216,49,48,252,90,60,0,2,22,157,88,222,247,199,207,76,246,156,236,201,75,32,13,248,175,55,83,239,0,128,82,12,53,206,249,254,124,48,127,211,107,91,100,254,236, -167,193,204,125,82,6,183,48,212,66,71,231,143,83,106,131,88,64,240,156,32,112,229,59,229,67,196,247,207,253,247,249,50,253,119,231,43,199,79,16,101,122,154,49,233,195,92,200,107,118,98,221,92,131,192,53,4,177,109,50,187,30,163,60,78,149,115,87,117,118, -151,169,251,68,227,237,158,255,246,74,23,160,152,143,88,126,50,127,195,139,239,203,3,51,31,151,189,95,214,74,197,193,165,146,133,176,49,53,2,0,243,200,100,122,15,155,106,35,171,136,98,37,155,239,228,56,114,84,158,250,157,141,242,208,207,158,80,35,137, -144,39,44,69,37,133,81,12,153,47,61,29,93,147,249,101,119,102,31,23,169,98,217,122,130,65,108,37,240,44,215,0,100,28,37,40,39,43,71,94,127,226,109,21,36,226,111,10,170,104,92,62,227,199,25,67,188,198,125,205,24,17,184,165,226,144,82,169,249,231,94,248, -12,92,136,32,226,250,194,8,241,13,160,148,14,44,82,243,11,207,223,185,82,182,127,82,35,151,222,118,129,12,62,252,32,105,106,110,86,113,255,157,9,219,189,59,84,36,156,195,160,20,50,198,97,245,234,213,242,220,115,207,169,176,54,134,170,225,145,101,137, -75,215,185,136,117,251,246,237,42,194,186,157,62,22,213,104,41,0,232,234,117,22,58,196,153,7,34,194,213,203,8,33,134,225,150,12,42,82,82,207,143,35,145,201,224,111,119,212,74,241,192,2,184,130,47,150,161,99,42,229,193,89,143,203,230,191,125,38,3,14,46, -83,147,57,6,8,216,69,210,121,228,46,118,171,153,193,191,47,253,135,236,130,11,185,250,142,11,100,220,89,163,225,111,240,171,225,166,25,244,34,48,121,124,253,245,215,178,242,149,149,82,84,8,207,36,130,88,173,148,72,3,92,133,133,133,106,170,220,88,87,97, -198,247,36,43,195,50,0,80,72,232,2,166,26,127,233,127,94,149,151,254,248,154,100,35,18,168,0,142,27,195,187,199,168,97,90,247,251,224,210,61,116,204,16,153,121,215,197,50,250,244,35,85,59,255,99,222,116,128,96,33,86,247,126,161,64,64,191,190,161,26,249, -2,203,160,65,89,129,89,69,26,146,247,86,47,144,170,95,159,37,63,158,125,58,34,145,242,177,72,5,35,13,37,169,61,55,12,184,198,177,188,172,28,198,107,129,90,150,102,37,0,212,199,71,255,139,253,222,216,251,102,158,91,106,3,208,227,247,213,63,118,202,210, -59,95,197,42,235,44,41,40,239,96,62,25,234,243,248,21,243,199,159,51,86,174,127,122,150,98,190,31,30,67,175,215,139,89,196,65,50,251,209,203,176,100,235,8,204,241,215,170,233,228,88,155,128,68,96,151,64,9,45,197,172,34,67,191,22,253,102,41,140,203,167, -164,97,103,147,184,157,46,60,235,152,121,236,9,209,12,77,208,23,126,123,242,29,201,242,90,166,1,140,202,66,254,144,90,161,203,69,23,148,90,18,145,46,91,26,122,94,143,79,126,252,243,211,100,234,45,231,97,182,208,141,181,131,240,20,70,251,123,158,87,30, -57,80,174,6,8,254,244,159,79,202,198,85,155,165,2,97,102,54,204,252,181,119,7,168,132,210,200,174,134,78,37,187,43,32,107,31,123,91,190,217,188,75,102,252,225,66,172,251,59,76,5,141,38,139,33,48,218,183,63,191,148,68,46,103,51,150,183,245,150,6,48,218, -70,154,209,56,100,253,102,215,109,41,0,216,216,28,123,54,6,104,29,210,202,143,169,197,20,110,14,150,135,77,195,80,238,220,57,103,32,64,4,179,134,88,58,78,139,155,207,153,8,4,46,39,175,24,90,38,87,205,175,150,121,176,250,223,95,245,17,64,80,166,84,191, -209,141,168,151,241,31,237,2,7,166,141,25,139,248,217,187,95,201,125,51,22,200,180,59,206,87,35,11,14,63,217,183,70,139,54,178,236,247,47,87,59,213,215,215,171,46,136,43,147,205,102,194,119,53,196,0,0,255,240,38,181,163,153,201,116,0,144,49,36,144,193, -72,246,195,236,138,41,245,148,220,189,80,231,12,4,153,113,231,133,114,242,197,199,97,131,166,16,52,65,231,37,227,42,63,50,242,131,203,176,126,239,231,127,174,150,249,191,120,90,222,93,190,9,190,3,196,5,98,61,95,162,100,179,124,14,37,203,49,188,108,193, -28,195,130,107,150,168,56,4,46,6,77,39,241,59,40,121,199,28,115,140,92,123,237,181,106,68,16,25,159,167,83,90,207,242,176,45,92,122,127,194,9,39,152,170,9,76,7,64,8,4,107,12,98,56,231,207,83,171,117,84,63,13,230,7,209,21,212,214,212,201,225,39,12,83, -65,31,71,252,96,152,4,67,65,181,57,67,59,88,18,105,164,84,7,65,224,81,81,197,191,120,120,134,60,114,205,98,89,191,228,29,41,27,132,248,64,71,231,191,66,106,72,39,153,30,240,32,50,184,206,131,174,161,123,78,28,2,150,109,98,89,148,254,99,143,61,86,198, -143,31,159,216,186,239,229,154,109,226,159,225,53,43,153,6,0,50,186,21,155,49,141,255,201,88,249,244,237,109,242,254,203,155,85,100,110,81,121,1,86,242,64,133,214,54,202,137,85,227,228,167,127,184,8,227,252,50,241,249,125,237,54,65,151,31,163,122,132, -72,23,81,8,35,242,202,7,46,81,93,202,58,130,96,32,86,246,38,137,22,82,90,7,132,82,140,199,133,1,138,46,235,73,241,144,64,232,216,227,40,197,75,189,120,187,39,223,146,172,153,166,1,128,133,251,177,195,198,33,71,13,150,107,31,187,66,214,62,254,150,10,255, -222,241,89,141,56,224,70,157,116,245,25,50,229,230,72,44,128,209,143,165,148,252,36,45,165,125,64,59,129,198,226,172,7,167,73,22,130,69,214,61,189,1,11,79,176,58,40,197,2,17,179,136,213,27,195,177,36,159,220,43,183,210,5,0,181,100,210,228,197,52,173, -3,115,246,63,185,250,71,114,36,166,109,95,184,103,165,12,27,51,84,206,191,238,223,84,236,158,215,3,35,38,98,231,37,205,223,213,77,130,128,229,231,33,104,228,103,15,76,83,49,5,175,204,95,39,37,8,29,99,88,25,13,65,157,186,71,129,116,1,192,124,249,169,170, -242,33,4,140,227,252,17,199,13,149,107,30,190,28,86,62,134,110,248,231,79,98,236,165,42,163,171,251,4,145,11,241,254,151,205,189,72,245,213,43,254,244,134,148,32,216,148,30,199,196,209,65,87,229,100,216,51,4,84,116,63,165,11,0,90,33,111,227,224,150,95, -195,113,196,129,129,170,157,210,200,61,129,184,196,59,140,217,173,16,54,130,72,84,249,184,110,128,154,222,134,252,76,137,122,129,90,134,127,181,121,48,142,74,28,237,137,229,208,135,192,85,72,151,97,188,207,156,43,1,130,98,65,196,49,64,96,178,38,96,27, -62,199,209,128,131,68,78,169,253,240,236,251,72,32,71,150,13,116,220,151,78,229,233,2,96,39,156,18,147,48,36,202,197,138,222,51,80,249,28,84,126,124,108,3,200,36,146,138,123,236,241,92,93,199,190,32,242,37,46,111,66,57,43,241,140,169,147,87,18,198,151, -31,110,216,209,40,255,110,188,219,169,124,95,20,4,52,44,185,68,124,217,61,171,149,255,192,141,80,244,253,5,1,234,85,109,83,155,71,195,144,77,146,246,161,254,235,49,26,88,143,125,143,184,162,53,233,75,73,242,245,214,45,69,59,76,184,213,166,83,97,90,0, -64,141,220,51,237,219,104,133,79,194,168,123,11,68,154,141,251,87,224,183,40,182,33,36,112,146,244,14,238,255,10,251,8,172,75,242,44,241,214,250,230,230,230,89,0,219,35,120,16,55,22,99,217,10,4,88,60,202,101,96,140,44,126,97,238,43,138,69,236,34,82,117, -7,108,18,241,198,89,55,6,148,48,148,156,219,201,210,163,152,36,133,80,79,125,105,105,41,53,0,143,140,74,157,164,46,157,175,3,35,191,192,113,3,172,229,105,200,191,22,71,82,74,70,203,126,30,204,156,182,159,204,87,89,242,243,243,55,161,236,203,113,177,33, -90,70,251,143,2,1,12,67,6,136,78,189,121,146,84,221,112,150,52,54,54,99,61,130,87,57,133,218,95,196,9,223,229,4,20,29,72,30,44,24,173,135,71,178,25,203,214,134,142,29,34,23,221,120,142,12,63,118,168,114,76,37,180,62,7,249,156,177,229,100,210,121,82,241, -236,201,7,54,54,54,150,193,93,58,27,154,224,74,148,19,219,119,51,136,111,30,84,233,173,216,73,172,62,157,58,224,0,57,18,64,120,8,121,79,79,204,143,250,176,192,20,93,52,166,155,95,156,187,82,158,189,109,5,166,83,237,146,143,105,99,122,8,41,245,116,70, -181,128,241,33,127,88,197,34,142,154,48,66,198,159,59,6,235,11,70,41,71,83,48,12,199,20,247,53,142,55,71,106,0,128,106,0,246,181,196,58,51,225,218,116,0,24,68,65,183,112,10,152,242,75,92,87,129,128,52,246,110,5,17,31,196,121,143,162,57,1,130,195,0,130, -255,69,185,103,24,117,25,191,6,8,24,124,242,226,221,171,100,241,111,151,169,109,105,184,45,93,83,93,179,218,119,104,208,225,3,212,218,193,227,206,25,35,135,159,56,76,77,84,193,133,37,1,48,94,109,38,97,20,214,241,187,11,26,171,26,182,200,171,29,183,50, -231,204,50,0,144,68,212,6,48,78,102,128,233,187,193,252,167,204,34,27,65,0,31,253,67,40,247,204,196,50,9,2,181,77,188,2,193,106,89,116,235,11,226,180,57,100,212,73,135,201,15,170,142,198,244,242,72,25,56,162,66,101,227,62,193,33,196,13,68,52,68,74,82, -52,163,204,75,242,242,242,150,39,214,149,9,215,41,191,186,175,127,28,52,204,161,96,204,189,104,231,228,196,182,26,154,0,130,45,235,150,108,80,59,140,140,61,125,164,228,161,59,160,121,18,8,6,212,78,165,124,15,32,74,204,30,123,189,11,239,172,130,6,248, -45,0,252,69,236,131,76,57,239,242,235,251,250,71,98,55,210,33,104,227,125,56,46,72,108,43,153,203,105,96,70,243,50,133,219,184,43,56,230,211,57,212,163,137,154,250,203,233,78,252,0,199,90,28,127,1,227,223,3,72,252,56,207,200,148,154,12,253,228,115,1, -2,26,154,247,227,232,4,2,126,130,33,225,4,68,87,9,239,209,78,89,131,95,170,250,181,153,42,241,137,52,232,247,0,224,7,97,158,124,16,24,55,23,167,211,19,63,240,59,174,131,120,254,37,142,229,200,191,12,221,202,251,209,241,254,119,100,203,156,199,25,1,0, -178,3,6,103,57,188,146,115,193,200,159,238,7,123,106,33,237,27,241,30,125,18,43,96,225,111,71,62,58,183,14,184,148,49,0,32,231,8,2,140,58,232,54,174,78,193,201,109,96,244,106,12,35,95,114,187,221,235,112,142,221,36,14,236,148,81,0,32,43,33,217,3,49,68, -60,9,167,156,184,49,164,154,223,25,2,227,183,193,73,245,49,24,79,213,175,147,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,192,129,64, -129,255,7,47,12,150,8,60,209,161,194,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; - -const char* projectIconVisualStudio_png = (const char*) temp_binary_data_30; - -//================== projectIconXcode.png ================== -static const unsigned char temp_binary_data_31[] = -{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,128,0,0,0,128,8,6,0,0,0,195,62,97,203,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,100,121,113,201,101,60,0,0,3,40,105,84,88,116,88,77,76,58, -99,111,109,46,97,100,111,98,101,46,120,109,112,0,0,0,0,0,60,63,120,112,97,99,107,101,116,32,98,101,103,105,110,61,34,239,187,191,34,32,105,100,61,34,87,53,77,48,77,112,67,101,104,105,72,122,114,101,83,122,78,84,99,122,107,99,57,100,34,63,62,32,60,120, -58,120,109,112,109,101,116,97,32,120,109,108,110,115,58,120,61,34,97,100,111,98,101,58,110,115,58,109,101,116,97,47,34,32,120,58,120,109,112,116,107,61,34,65,100,111,98,101,32,88,77,80,32,67,111,114,101,32,53,46,54,45,99,48,49,52,32,55,57,46,49,53,54, -55,57,55,44,32,50,48,49,52,47,48,56,47,50,48,45,48,57,58,53,51,58,48,50,32,32,32,32,32,32,32,32,34,62,32,60,114,100,102,58,82,68,70,32,120,109,108,110,115,58,114,100,102,61,34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,49,57,57, -57,47,48,50,47,50,50,45,114,100,102,45,115,121,110,116,97,120,45,110,115,35,34,62,32,60,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,32,114,100,102,58,97,98,111,117,116,61,34,34,32,120,109,108,110,115,58,120,109,112,61,34,104,116,116,112, -58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,34,32,120,109,108,110,115,58,120,109,112,77,77,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,109,109,47,34,32,120, -109,108,110,115,58,115,116,82,101,102,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,115,84,121,112,101,47,82,101,115,111,117,114,99,101,82,101,102,35,34,32,120,109,112,58,67,114,101,97,116,111, -114,84,111,111,108,61,34,65,100,111,98,101,32,80,104,111,116,111,115,104,111,112,32,67,67,32,50,48,49,52,32,40,77,97,99,105,110,116,111,115,104,41,34,32,120,109,112,77,77,58,73,110,115,116,97,110,99,101,73,68,61,34,120,109,112,46,105,105,100,58,49,51, -54,56,69,69,54,70,52,67,55,57,49,49,69,52,57,54,50,67,65,49,51,66,54,69,53,52,48,69,51,54,34,32,120,109,112,77,77,58,68,111,99,117,109,101,110,116,73,68,61,34,120,109,112,46,100,105,100,58,49,51,54,56,69,69,55,48,52,67,55,57,49,49,69,52,57,54,50,67,65, -49,51,66,54,69,53,52,48,69,51,54,34,62,32,60,120,109,112,77,77,58,68,101,114,105,118,101,100,70,114,111,109,32,115,116,82,101,102,58,105,110,115,116,97,110,99,101,73,68,61,34,120,109,112,46,105,105,100,58,49,51,54,56,69,69,54,68,52,67,55,57,49,49,69, -52,57,54,50,67,65,49,51,66,54,69,53,52,48,69,51,54,34,32,115,116,82,101,102,58,100,111,99,117,109,101,110,116,73,68,61,34,120,109,112,46,100,105,100,58,49,51,54,56,69,69,54,69,52,67,55,57,49,49,69,52,57,54,50,67,65,49,51,66,54,69,53,52,48,69,51,54,34, -47,62,32,60,47,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,62,32,60,47,114,100,102,58,82,68,70,62,32,60,47,120,58,120,109,112,109,101,116,97,62,32,60,63,120,112,97,99,107,101,116,32,101,110,100,61,34,114,34,63,62,9,144,57,89,0,0,67,215,73, -68,65,84,120,218,236,125,9,188,93,85,117,247,218,251,156,59,189,41,19,153,19,2,97,8,132,36,24,32,8,40,115,65,171,88,81,180,22,1,91,43,159,210,138,165,98,171,182,180,95,173,126,85,106,21,75,213,90,252,172,84,40,173,56,97,157,80,64,20,48,130,65,166,144, -64,18,8,153,200,60,190,228,13,119,56,103,239,111,173,181,199,115,19,126,95,127,242,46,190,103,121,249,221,220,247,238,61,247,156,115,247,94,123,13,255,245,95,107,11,173,53,252,170,63,141,70,3,86,175,94,13,47,230,28,47,255,188,248,159,217,179,103,195, -196,137,19,127,165,207,166,47,230,194,27,54,108,128,87,189,234,85,160,148,58,212,219,226,55,104,140,71,181,132,223,116,211,77,112,249,229,151,191,244,2,64,19,63,48,48,208,62,233,194,14,152,104,19,4,49,74,38,82,31,66,80,197,11,76,180,136,94,211,109,191, -143,154,159,86,171,245,43,127,54,125,177,23,151,82,58,13,224,6,50,1,33,74,160,5,62,131,164,67,94,80,0,200,116,8,241,146,205,189,144,169,72,123,166,84,240,154,194,93,63,27,216,89,215,42,211,209,61,169,82,42,242,84,66,150,183,84,179,169,33,63,196,120,169, -23,16,166,95,203,143,120,17,99,152,142,212,61,216,137,78,232,118,230,94,254,149,47,214,166,29,119,170,86,13,161,113,168,116,174,133,202,64,39,85,193,35,38,5,189,6,198,119,144,230,211,244,37,120,52,115,109,212,7,30,100,92,11,51,198,90,217,103,252,156, -72,131,60,209,235,244,253,249,125,43,130,42,83,32,18,17,132,12,236,181,146,84,166,221,147,43,218,45,108,252,76,171,127,123,67,235,76,9,105,142,81,90,231,147,106,98,168,170,242,65,53,184,125,143,104,110,219,156,236,125,118,85,115,199,211,143,175,95,253, -196,242,157,251,6,247,225,135,75,145,32,168,177,96,38,94,42,1,192,129,209,165,218,228,185,199,244,204,94,116,76,222,24,118,211,7,57,78,92,95,77,66,119,69,192,214,3,185,153,119,97,39,217,9,2,29,173,89,26,104,33,134,73,70,161,160,69,42,203,2,114,92,146, -210,222,53,31,34,33,18,16,205,231,210,237,250,70,91,1,16,248,94,150,249,223,89,131,85,250,252,177,218,126,126,0,207,181,159,180,90,247,60,212,112,0,229,57,25,76,174,12,235,215,92,180,254,201,236,217,59,111,125,224,135,95,191,101,243,246,61,187,240,35, -101,124,100,145,70,248,31,41,0,65,245,155,1,233,214,89,93,233,172,129,191,54,121,69,243,82,193,129,157,214,155,194,148,158,4,54,236,172,67,53,21,160,98,11,155,153,185,103,85,205,2,96,221,8,97,4,128,231,38,51,218,67,229,224,87,189,80,58,152,106,17,107, -4,59,165,36,16,185,153,92,153,136,200,218,43,43,52,25,107,2,62,78,27,13,36,18,141,95,134,254,206,65,55,50,24,198,11,174,221,215,16,107,178,137,139,102,77,191,226,31,46,185,246,188,119,172,184,243,115,31,186,247,167,15,220,21,9,1,140,38,179,240,223,54, -225,35,168,1,156,0,116,105,165,82,158,64,154,12,28,116,122,224,194,131,41,221,40,0,189,137,147,9,176,243,13,164,126,5,10,4,253,147,206,158,217,213,45,98,127,193,41,139,48,223,65,189,211,229,26,202,42,100,97,236,162,54,231,17,180,218,149,213,18,116,79, -246,120,17,9,32,153,28,115,31,218,8,129,213,80,2,157,1,242,115,74,137,196,47,167,224,249,29,253,240,245,167,202,11,143,186,232,47,238,184,252,237,151,190,207,158,161,108,23,147,24,107,209,143,28,193,115,9,59,8,85,28,240,68,90,27,44,34,251,61,165,79,66, -34,205,228,248,1,79,160,56,81,198,2,152,99,236,164,145,0,201,146,61,159,123,143,151,187,21,26,43,100,194,10,140,247,137,180,123,15,39,49,53,239,187,243,179,20,230,164,21,140,0,122,85,198,147,46,88,235,240,217,181,61,119,154,224,61,36,80,174,36,144,202, -28,190,185,108,103,165,247,148,119,124,230,79,174,254,227,15,218,111,80,26,139,66,48,210,62,128,245,3,104,33,11,72,74,18,109,191,134,38,218,239,33,180,221,199,76,73,97,211,222,156,127,23,96,85,62,249,102,218,168,221,102,110,78,80,78,141,67,152,181,140, -239,128,46,164,17,24,60,62,207,140,253,166,143,86,75,230,184,225,58,250,8,40,40,101,252,27,231,9,234,45,197,102,66,209,36,39,177,150,64,213,46,141,80,101,185,50,215,86,198,60,209,235,37,60,111,78,145,1,125,30,125,128,28,143,83,116,83,120,125,214,58,74, -66,43,67,227,160,36,223,248,205,119,61,11,215,189,245,205,127,123,237,53,66,222,112,227,231,63,25,57,135,217,88,113,12,211,14,104,20,153,55,112,16,235,56,178,82,3,250,124,112,194,225,21,168,225,208,28,117,88,10,179,198,37,176,165,191,6,83,251,18,232, -197,55,251,135,52,172,221,221,130,129,97,5,167,29,89,129,221,67,10,150,111,105,242,128,79,69,159,97,106,175,132,190,138,132,129,166,98,193,153,61,62,129,33,20,140,253,168,238,151,173,111,66,29,159,47,57,177,10,164,112,158,217,213,98,1,91,56,189,4,21, -252,102,221,168,152,43,40,132,93,120,237,6,10,195,126,60,247,30,188,78,130,234,102,114,183,228,201,222,61,152,243,103,183,236,203,96,195,158,22,244,97,164,50,185,75,64,23,222,91,111,89,3,90,45,20,134,28,246,14,181,96,168,158,194,97,120,226,198,144,128, -125,253,120,190,189,25,220,189,108,53,124,244,157,87,254,141,76,202,181,79,221,240,153,143,89,33,32,113,105,141,5,33,72,71,216,4,88,108,0,204,234,39,167,13,87,243,27,23,85,225,228,217,101,152,128,81,64,29,87,240,239,157,36,96,23,14,252,238,65,141,147, -163,241,181,4,154,221,9,156,115,76,5,246,13,107,56,128,194,67,171,253,154,115,122,1,23,35,12,83,48,142,171,113,0,159,55,236,201,97,2,78,92,95,93,194,115,61,25,100,53,1,151,44,238,194,243,41,104,225,235,107,118,100,112,24,10,205,235,78,168,65,25,87,255, -96,131,62,75,43,154,110,208,204,197,0,10,205,174,129,156,5,96,209,204,18,236,27,34,161,73,225,151,155,48,66,217,147,193,101,75,186,96,206,196,20,14,52,114,212,94,10,26,168,5,178,172,4,131,40,0,27,118,40,216,39,74,208,151,148,97,155,170,64,179,113,0,110, -185,235,41,248,219,63,253,147,15,182,114,149,220,120,227,141,31,137,198,117,212,71,8,105,7,206,41,36,174,188,4,7,95,227,26,160,9,255,248,93,7,80,189,107,184,238,194,62,246,206,175,251,94,63,212,40,164,35,207,27,255,166,21,88,66,245,253,253,39,135,57, -50,72,173,255,240,224,186,221,208,200,204,228,187,233,107,41,243,25,58,162,140,199,165,168,101,46,189,121,23,191,78,90,163,132,175,221,246,240,32,220,254,232,144,1,122,200,20,144,199,79,102,70,27,225,36,179,148,185,176,209,134,126,244,76,2,67,170,255, -253,223,106,224,121,208,36,177,41,81,108,94,240,83,24,138,182,160,213,172,227,247,26,130,188,62,4,186,94,199,231,28,106,155,214,195,229,231,31,7,215,190,255,154,15,160,195,88,254,204,103,62,243,215,209,120,140,106,33,232,132,0,160,4,72,10,230,2,232,131, -191,80,20,48,136,43,120,106,143,228,137,171,165,1,53,118,185,164,164,34,204,43,218,56,99,45,114,210,200,78,59,80,71,144,135,41,89,0,180,67,17,53,77,58,62,232,66,82,179,243,86,43,73,27,18,226,23,100,128,199,92,139,222,211,40,5,252,54,159,71,217,89,113, -192,16,254,141,231,84,12,8,1,251,19,244,5,248,122,116,12,122,140,101,124,104,124,100,58,197,195,49,162,81,41,236,219,219,15,63,125,98,19,204,63,98,50,188,247,189,239,125,95,146,36,229,79,127,250,211,127,17,37,201,70,173,16,200,142,156,84,154,137,55,33, -93,8,201,232,98,93,37,225,61,111,243,160,137,48,19,156,112,144,111,67,60,156,40,154,120,233,163,6,105,206,35,76,228,96,162,1,19,243,179,183,46,69,120,22,102,85,155,247,180,189,142,245,230,181,240,231,113,152,1,223,166,138,66,195,22,73,172,118,32,165, -193,38,116,136,44,232,11,72,84,113,66,38,44,72,101,148,192,7,158,220,8,185,29,206,171,174,186,234,61,31,249,200,71,110,68,65,168,218,240,184,4,16,157,238,55,93,0,220,162,226,129,183,3,156,224,138,175,183,180,1,250,32,196,224,57,58,119,82,154,129,165, -215,100,73,50,210,199,147,110,198,58,76,36,189,230,66,70,25,194,61,23,198,105,59,233,86,36,204,231,100,152,112,97,143,101,161,2,135,23,132,123,117,211,99,238,193,197,163,225,59,240,195,134,158,60,116,36,148,146,4,160,4,207,110,220,13,219,247,14,67,95, -79,55,223,199,219,223,254,246,43,62,113,253,245,55,85,170,213,190,56,58,26,109,66,208,57,1,208,17,200,99,7,153,6,158,212,63,105,6,103,199,19,210,8,41,240,67,59,100,61,23,222,44,104,103,166,85,49,173,72,43,207,96,1,225,98,82,138,98,60,15,17,24,100,79, -196,202,200,2,65,124,188,50,90,193,92,91,91,173,96,145,71,165,15,194,247,24,176,114,90,137,84,17,10,0,174,116,216,55,88,135,231,182,238,133,222,158,46,168,86,171,124,141,55,93,124,241,37,159,250,135,79,221,220,221,221,61,201,222,86,217,106,4,249,27,45, -0,20,6,170,40,18,230,201,195,175,223,196,1,37,8,88,186,85,232,84,60,136,34,170,7,118,114,242,224,163,9,7,27,90,161,242,19,66,194,148,25,211,161,99,191,206,171,116,17,180,130,23,144,88,67,132,172,38,88,129,97,252,192,33,153,78,104,148,176,96,149,53,107, -214,36,57,80,43,71,103,241,153,77,187,161,90,171,177,0,212,240,153,190,203,107,95,251,154,215,222,112,195,13,183,77,156,56,113,150,253,138,177,38,16,191,145,2,64,171,154,84,62,163,129,90,216,149,6,176,31,67,188,82,74,94,191,8,240,189,140,16,58,105,162, -7,143,204,225,115,138,234,56,113,171,78,10,171,154,193,128,65,214,31,208,46,37,234,132,37,137,84,186,93,237,14,58,166,137,230,76,161,140,51,145,96,205,79,36,144,140,254,133,41,162,251,242,215,182,121,9,35,25,210,251,57,27,183,237,101,85,86,169,84,10, -66,112,238,185,231,158,249,185,207,125,238,246,89,179,102,29,29,65,199,201,11,166,201,199,186,0,176,157,77,35,184,151,38,46,145,60,94,45,155,6,22,22,127,167,9,202,155,22,182,149,198,94,120,219,158,24,83,160,242,0,23,187,8,65,68,99,151,148,141,176,145, -105,73,24,234,179,16,112,148,106,54,230,65,24,21,175,193,107,29,17,57,122,44,36,137,17,50,201,247,129,247,172,132,123,43,228,31,200,100,128,100,186,131,72,140,38,144,120,236,238,254,33,179,196,209,39,136,133,128,126,78,62,249,228,197,40,4,223,152,59, -119,238,43,192,232,182,81,145,63,232,144,45,50,203,68,72,109,87,179,89,154,4,235,166,9,248,201,96,79,221,66,188,2,66,214,207,227,250,110,177,43,237,39,83,145,121,105,1,68,110,156,11,38,253,106,118,154,135,237,59,59,31,70,99,168,150,246,194,197,54,95, -219,227,164,21,42,167,121,68,208,30,108,14,84,236,112,26,1,73,203,238,59,24,213,149,224,23,219,143,126,0,135,165,105,10,105,90,212,4,116,254,121,243,230,29,251,217,207,126,246,235,11,22,44,56,211,134,134,37,171,9,126,109,66,32,59,53,253,70,37,139,16, -62,57,205,32,130,87,110,38,192,56,128,206,4,152,84,189,153,56,74,227,210,235,73,85,178,208,144,130,72,43,194,58,114,16,209,49,204,241,76,236,17,177,7,106,87,107,102,38,92,70,166,196,152,15,235,229,107,27,126,170,144,112,242,201,36,252,12,105,24,103,239, -157,95,225,179,213,50,246,96,204,135,73,219,165,135,16,2,114,22,143,60,242,200,89,40,4,95,59,243,204,51,223,96,133,160,252,235,20,2,217,65,5,96,86,153,85,215,110,210,8,214,85,22,181,115,206,28,171,208,68,68,118,220,120,227,206,145,11,156,27,97,7,216, -126,46,129,16,222,217,228,147,191,174,117,36,201,142,179,121,160,140,96,4,40,113,120,105,49,139,24,39,144,78,112,193,250,18,113,88,235,4,219,29,99,36,58,8,135,59,189,48,41,228,67,9,1,253,61,121,242,228,9,215,95,127,253,45,23,92,112,193,229,191,110,33, -72,59,229,3,184,137,160,65,215,81,172,78,88,128,178,118,157,157,42,165,189,93,215,214,227,118,206,92,98,209,66,86,195,222,150,147,0,9,99,94,132,9,203,98,143,63,208,81,3,198,199,166,35,58,7,56,191,66,182,221,51,203,152,13,9,117,49,138,177,20,166,144,250, -68,129,210,210,106,56,113,40,48,204,156,144,38,252,80,63,125,125,125,93,31,251,216,199,110,234,233,233,25,127,199,29,119,124,193,10,65,235,165,206,36,118,68,0,28,153,131,198,128,236,58,79,180,214,252,119,201,250,0,137,5,120,84,136,255,12,46,128,2,67, -137,27,86,231,188,50,77,206,222,76,74,64,235,116,108,171,61,75,72,251,149,74,51,170,61,243,68,120,68,208,133,154,4,246,232,76,27,152,56,49,172,33,127,31,210,42,199,220,248,14,116,125,130,135,181,53,23,218,57,183,209,13,196,56,133,11,79,255,127,66,128, -247,145,94,119,221,117,159,158,48,97,66,239,151,191,252,229,79,253,58,210,201,29,17,0,237,66,174,136,152,201,104,43,133,130,13,109,57,127,80,96,245,120,175,63,55,147,78,78,150,178,92,192,164,44,89,149,43,55,161,58,120,240,42,15,240,179,75,60,120,202, -159,136,236,145,163,17,57,201,241,142,165,243,242,181,191,7,86,237,148,23,72,77,30,129,35,7,27,234,177,117,81,218,71,43,206,159,96,33,111,215,132,255,61,33,128,171,175,190,250,35,104,30,122,63,255,249,207,127,52,50,162,47,73,254,160,35,2,96,66,48,233, -109,177,155,236,225,150,182,57,2,167,138,181,119,14,188,214,22,80,72,8,5,187,26,224,99,17,59,140,96,133,73,26,184,88,171,96,78,252,103,109,92,143,226,100,222,199,255,92,50,80,88,19,37,19,105,9,165,138,63,171,33,124,214,11,172,104,203,75,196,78,143,14, -106,191,93,8,200,249,163,7,133,135,36,225,213,114,9,127,199,215,236,241,67,67,67,112,229,149,87,126,0,133,164,251,198,27,111,252,240,75,153,73,236,140,9,208,6,122,13,115,108,84,254,129,186,102,82,168,201,198,133,213,168,163,133,42,180,243,17,76,136,72, -160,146,182,7,72,179,48,205,10,148,129,24,42,173,48,40,239,237,59,239,60,100,26,249,82,76,239,2,131,28,234,72,64,68,48,21,38,198,119,78,157,100,98,40,77,131,19,74,103,119,140,70,8,9,42,18,160,193,225,6,60,180,252,57,24,170,55,96,184,222,140,3,3,78,51, -87,112,226,107,149,18,244,118,149,161,187,90,134,158,90,10,19,198,247,225,223,21,232,63,48,0,239,124,231,31,92,85,198,159,27,110,184,225,131,121,158,215,33,16,75,58,38,4,29,115,2,121,242,210,128,233,211,133,118,13,105,142,2,82,74,177,58,6,176,100,198, -149,135,105,153,244,105,85,56,209,191,148,229,3,58,56,87,74,75,37,19,33,215,224,22,97,146,186,72,129,249,253,62,2,241,181,5,78,179,224,57,77,32,97,77,134,137,5,3,243,152,57,129,206,124,73,227,159,147,32,228,224,145,77,37,2,200,68,255,104,85,175,222,184, -3,46,186,230,179,144,181,154,40,192,89,160,188,187,36,19,227,5,18,74,105,2,189,181,42,76,28,215,13,179,167,77,132,227,143,156,10,139,143,153,14,115,167,245,193,187,175,124,231,31,214,106,213,210,71,63,250,177,107,236,228,235,78,106,130,206,8,128,69,220, -148,178,20,111,101,84,60,153,112,28,39,118,244,50,75,236,96,158,30,81,196,173,157,181,35,101,1,23,163,138,181,93,241,78,83,8,135,247,131,161,143,83,173,0,199,234,150,204,233,76,131,211,64,230,115,22,208,177,102,2,172,41,210,110,38,249,56,229,209,73,54, -13,153,209,66,102,182,37,115,9,2,124,104,76,129,179,77,198,44,152,201,77,165,225,135,122,1,240,154,78,187,122,20,216,55,48,12,187,246,15,194,211,235,183,195,157,15,62,133,154,161,2,71,207,154,12,23,158,122,20,188,254,245,111,188,162,89,31,26,188,254, -147,159,254,112,20,99,116,132,98,150,118,202,182,240,148,43,90,189,54,140,183,254,64,133,86,116,100,223,217,223,178,30,191,81,251,1,136,225,115,228,218,39,147,124,136,103,39,128,163,77,10,9,203,118,112,85,28,171,107,143,116,176,231,238,136,235,20,97, -228,202,99,8,32,130,31,97,160,93,171,17,172,32,230,13,197,14,168,118,60,2,86,65,210,57,50,172,41,248,115,84,9,135,15,137,246,199,132,146,138,77,139,142,194,68,9,81,72,169,205,224,235,8,35,89,243,252,46,88,177,126,23,252,112,217,90,248,163,55,93,120,213, -213,127,52,176,251,115,95,184,233,122,27,34,58,77,48,162,2,208,177,180,164,180,194,111,194,51,163,186,137,218,69,92,139,180,28,212,191,180,158,52,13,100,214,52,112,173,3,2,248,119,95,54,230,146,75,14,1,212,81,133,143,246,116,241,66,173,97,244,167,67, -23,217,52,85,101,1,130,134,216,79,16,96,75,26,237,177,101,233,51,138,44,108,96,4,128,159,21,9,12,78,60,218,30,122,200,180,4,162,84,65,161,47,227,163,130,130,83,197,123,198,191,211,10,63,11,122,46,133,223,5,14,132,76,202,120,157,18,62,151,0,205,63,140, -235,169,194,17,189,13,248,248,45,247,67,101,238,217,127,241,250,223,190,240,109,81,238,96,196,249,4,157,9,3,89,253,83,38,79,4,162,134,197,255,93,228,37,236,202,116,121,124,118,148,50,59,201,202,132,101,236,224,165,194,66,197,214,148,200,112,78,114,250, -164,203,210,197,252,1,79,244,208,62,18,241,224,148,22,62,139,72,166,195,107,29,105,28,68,83,10,170,141,214,128,128,248,105,79,74,49,56,6,213,190,74,156,244,180,82,70,115,86,9,230,58,179,160,133,214,150,136,10,177,20,70,101,106,246,57,55,78,143,171,114, -34,19,121,194,172,110,120,118,239,16,124,233,71,171,229,91,78,123,243,223,31,179,102,205,202,103,214,174,95,97,113,2,61,146,254,64,199,194,64,118,0,51,231,157,227,202,199,241,73,251,12,75,151,126,231,201,119,3,97,49,252,82,69,120,147,73,33,149,78,149, -79,192,4,228,71,251,9,54,170,217,240,0,77,49,169,17,38,158,84,31,93,152,236,159,182,254,136,51,13,236,108,166,210,168,105,17,21,152,70,174,187,240,180,38,11,70,89,170,153,214,134,14,38,75,41,126,55,92,193,9,174,116,190,241,132,87,56,115,13,149,85,175, -113,249,155,136,56,15,174,86,81,217,115,162,170,164,115,180,136,193,140,231,155,58,65,192,134,254,58,220,245,244,192,164,211,126,235,178,255,179,105,227,245,151,213,91,28,25,228,48,130,37,104,29,17,0,162,131,115,17,135,173,207,163,80,78,224,164,84,108, -193,71,174,131,142,38,225,112,28,63,151,227,19,62,89,40,162,156,66,228,0,138,224,13,50,25,163,165,125,138,89,75,221,22,142,26,164,79,104,233,41,99,206,46,27,184,217,56,101,30,150,148,161,154,41,111,69,0,79,102,52,129,210,218,230,29,72,250,80,133,167, -25,11,145,194,149,79,106,221,73,189,71,18,116,49,81,228,82,145,70,83,41,35,44,172,49,204,239,173,44,135,180,218,5,125,189,37,188,70,2,141,186,130,181,106,206,249,11,151,156,249,198,135,127,254,211,175,90,83,48,98,229,233,157,203,5,56,96,206,229,236,75, -70,32,168,58,184,148,82,20,96,110,63,177,89,57,199,194,17,73,80,231,62,190,207,139,231,245,56,191,93,98,169,211,28,150,228,9,73,96,4,185,101,232,4,140,94,34,138,122,119,89,242,204,19,83,185,108,193,32,123,195,94,221,27,36,51,32,132,84,17,100,32,229,132, -225,34,137,54,60,173,145,25,193,201,111,161,29,231,50,166,188,128,44,130,141,84,156,22,51,69,168,246,187,74,83,64,67,192,148,44,147,38,203,81,232,20,84,123,106,232,45,227,185,187,75,80,193,24,121,251,1,128,163,231,93,112,85,247,163,75,127,52,88,111,237, -143,176,129,23,29,21,116,68,0,18,107,111,149,50,54,218,140,173,128,129,97,227,21,151,241,170,92,60,172,3,247,206,171,121,187,218,157,58,246,4,78,25,105,13,207,221,11,30,180,112,145,133,108,163,144,5,228,151,39,165,11,39,126,225,180,18,60,185,181,9,215, -156,211,7,55,255,252,0,108,223,159,65,149,132,40,10,89,153,235,39,9,49,52,30,189,49,109,36,28,146,233,224,124,189,212,114,19,209,73,145,232,200,249,149,236,253,216,8,218,116,17,129,142,240,114,202,115,148,140,138,99,243,130,146,222,76,114,56,160,107, -48,125,114,13,146,205,3,24,82,162,128,100,25,236,42,31,181,184,103,250,188,211,6,215,173,184,219,206,91,238,60,150,209,23,6,58,86,79,20,3,209,252,214,81,59,82,229,15,199,222,100,87,69,88,29,206,44,178,182,109,153,76,160,112,1,191,5,116,140,41,176,159, -139,112,1,7,8,185,44,158,165,163,152,56,221,106,74,119,59,131,24,214,253,206,162,30,174,83,188,224,184,42,44,153,93,134,247,124,117,55,236,29,206,185,134,128,24,62,60,145,22,239,7,198,2,164,41,34,212,46,213,107,169,12,54,221,45,73,50,80,27,144,29,119, -61,6,60,6,16,117,159,209,81,166,210,84,79,211,12,68,13,48,72,19,224,156,14,0,250,0,147,169,119,1,1,71,248,26,122,187,77,140,28,242,169,167,156,15,235,86,252,196,46,147,17,65,8,59,19,6,218,213,152,150,101,112,128,169,226,7,205,192,222,97,109,28,95,17, -216,181,224,18,44,118,197,167,190,1,132,240,126,1,43,7,21,160,93,38,136,68,36,13,173,130,106,45,228,14,92,166,206,46,68,170,20,186,117,217,32,124,224,188,94,120,110,87,198,16,245,71,47,26,207,43,61,48,153,165,103,255,250,254,87,202,214,190,178,208,10, -227,240,73,19,2,82,52,128,241,31,30,95,1,42,5,224,208,143,194,187,196,134,125,20,22,82,8,72,97,95,90,14,97,97,153,222,171,154,71,153,30,93,144,84,186,249,185,171,187,23,195,85,243,72,171,125,104,230,186,161,107,246,226,147,40,147,220,198,36,26,133,140, -32,155,46,213,49,247,14,255,174,161,51,72,5,155,74,7,245,77,142,86,214,176,37,224,73,196,195,119,144,178,19,20,176,252,0,101,5,33,10,10,92,242,201,225,0,133,60,13,211,186,66,116,66,142,232,234,29,25,44,219,208,52,101,107,247,236,135,211,142,168,192,69, -11,106,140,81,184,18,115,71,23,43,85,13,145,68,250,123,177,92,64,233,84,63,97,0,104,255,211,148,31,70,32,74,102,162,147,146,41,30,73,12,239,221,189,103,142,71,39,47,49,241,63,189,71,127,211,103,74,149,10,236,207,203,176,109,16,223,47,163,25,40,147,64, -116,163,96,212,160,122,216,220,89,73,165,247,48,8,212,242,23,77,32,145,29,178,0,161,26,40,21,30,3,160,151,40,23,192,245,122,84,243,199,169,94,91,27,32,69,129,66,158,164,161,126,192,211,187,173,61,77,164,40,104,22,136,210,207,158,20,2,129,191,87,170,24, -225,32,220,128,34,20,250,252,237,143,13,195,171,142,172,48,73,245,150,135,73,35,140,131,233,227,82,31,254,25,219,30,120,127,34,9,204,31,10,31,77,101,144,52,19,44,13,32,100,4,32,225,94,2,36,73,50,53,88,1,135,140,73,252,25,247,57,35,20,137,21,28,122,173, -140,207,143,108,86,240,147,231,114,232,170,149,13,88,132,26,130,180,75,218,59,181,47,233,26,127,24,248,126,76,163,85,3,88,155,159,166,194,23,96,176,70,192,119,182,13,24,168,149,38,152,169,214,156,41,20,30,144,145,182,110,207,165,125,35,184,61,112,240, -146,182,112,209,230,29,152,0,162,116,84,121,36,124,24,22,4,5,189,126,60,199,210,231,154,240,196,230,22,92,177,164,27,254,253,145,33,232,71,111,252,207,207,31,199,247,108,194,82,237,23,153,65,32,101,160,161,218,92,133,249,82,38,79,32,64,134,116,49,72, -203,130,14,140,97,35,80,50,112,18,45,61,221,31,207,69,38,166,238,240,189,103,141,131,5,51,171,208,66,103,51,73,131,118,72,43,93,53,252,92,79,155,6,24,157,38,32,20,237,216,170,29,252,127,63,14,242,79,214,182,160,98,87,188,214,34,100,4,163,246,61,206,214, -7,226,101,168,5,76,236,228,211,192,103,22,124,35,97,74,219,8,25,210,179,124,3,107,135,72,38,105,197,56,113,84,120,250,181,199,135,225,156,163,42,48,185,55,129,143,222,181,31,78,71,141,240,219,243,107,172,21,204,106,215,158,32,226,39,77,68,154,64,90,109, -32,12,44,108,114,4,137,77,102,201,144,36,114,43,158,171,153,18,198,36,226,46,39,78,202,25,196,194,145,58,97,122,5,142,159,130,78,31,24,161,48,166,35,97,51,144,118,79,234,30,245,38,192,1,32,190,170,214,170,104,10,147,183,247,135,36,137,147,126,1,224,203, -186,60,93,76,134,194,146,144,255,21,33,214,135,160,29,192,37,115,36,4,150,15,4,190,191,141,206,88,224,200,215,164,82,244,46,20,134,7,214,54,96,115,127,14,151,157,212,5,43,183,103,240,221,149,195,240,167,103,247,193,172,9,41,155,41,176,89,96,111,22,164, -97,248,248,186,4,75,82,229,22,52,37,179,234,205,106,79,252,138,15,170,43,82,103,96,11,75,165,49,23,194,214,32,208,50,33,186,217,126,12,145,135,115,147,62,102,205,99,147,38,236,60,86,122,202,5,169,30,141,26,192,169,100,233,104,224,182,92,156,50,129,147, -123,165,143,176,56,127,239,226,99,136,34,2,16,62,42,48,38,93,251,122,62,23,50,154,170,161,192,242,117,147,99,30,142,26,166,11,62,4,245,26,184,120,81,13,142,152,148,194,129,33,205,149,74,183,62,60,4,191,125,124,21,142,198,215,110,198,232,96,235,254,28, -254,4,133,128,24,198,108,158,210,152,123,232,106,8,164,215,6,50,18,14,183,218,157,250,151,110,146,165,51,7,214,87,40,5,19,226,207,149,152,123,87,185,128,29,3,10,170,196,89,20,238,92,194,155,152,194,106,24,173,217,64,199,232,245,166,128,178,128,40,209, -199,79,79,225,164,89,41,78,132,48,89,64,221,230,241,203,80,78,110,86,191,246,116,49,55,233,177,179,232,35,134,168,28,32,20,112,72,203,68,50,172,34,210,208,51,199,167,112,218,156,18,76,236,146,240,230,83,186,224,168,41,41,124,251,201,6,108,220,155,195, -57,71,87,96,31,10,197,77,15,14,194,217,104,22,206,61,182,10,25,184,137,179,14,166,211,66,46,169,228,38,86,10,175,193,184,55,145,178,20,51,136,83,197,210,23,180,10,123,94,233,254,22,214,44,48,149,92,194,166,125,26,54,236,83,76,160,141,5,43,114,112,71, -44,35,216,49,62,64,112,188,140,141,167,129,57,237,240,20,118,13,90,251,110,33,82,231,164,185,100,13,153,80,10,13,181,11,239,82,59,249,153,9,231,210,82,244,245,85,72,16,8,151,109,115,180,18,247,159,205,75,15,214,53,188,239,213,85,152,135,147,190,104,122, -137,19,47,151,44,236,131,135,214,55,225,123,43,234,112,249,146,26,220,243,76,3,30,69,199,240,174,213,117,184,246,236,94,88,142,191,239,29,204,3,77,92,152,130,48,37,131,243,41,124,255,3,83,85,44,101,59,84,109,89,200,82,114,212,195,29,81,108,78,79,115, -158,201,28,164,108,249,59,117,78,249,206,202,6,167,206,107,101,105,252,36,233,213,28,20,147,221,163,84,3,184,16,206,241,239,93,28,62,185,71,194,164,158,80,171,47,69,168,208,117,199,123,154,151,8,182,215,81,182,211,52,208,175,165,101,249,10,219,136,194, -225,125,113,235,122,167,13,90,40,40,103,205,69,199,106,106,10,159,248,241,32,220,242,200,48,220,246,68,29,174,191,247,0,44,156,81,226,65,167,14,35,23,47,168,242,133,191,188,108,152,63,247,251,75,186,124,93,99,12,60,9,31,42,10,240,44,87,187,82,57,125, -45,165,175,64,230,242,52,171,37,18,219,115,16,108,89,185,193,19,140,26,75,236,10,111,161,9,88,56,189,140,90,42,69,43,104,35,133,168,143,65,161,40,114,180,10,128,47,202,53,237,121,109,129,7,192,129,134,134,241,85,81,76,236,136,98,223,64,22,160,196,76, -182,11,195,185,60,43,17,133,116,179,20,49,115,72,251,9,50,78,90,48,45,84,136,114,206,220,18,156,130,218,231,225,77,25,28,104,82,46,66,66,21,87,215,62,212,10,255,241,216,16,92,116,66,5,6,240,222,206,71,51,48,169,59,129,126,252,253,147,63,25,128,55,47, -234,98,1,105,217,116,51,200,56,212,179,68,151,184,17,133,141,108,28,12,45,18,7,34,5,129,33,130,137,140,177,6,215,231,192,254,77,207,39,160,134,234,174,26,191,73,104,17,133,147,133,46,136,163,156,17,36,163,178,43,27,226,80,77,64,119,89,88,46,158,246,37, -90,206,111,112,72,94,30,165,56,60,13,79,182,215,231,133,234,98,239,60,70,77,38,233,15,162,25,28,214,45,225,29,75,170,176,118,87,14,63,88,213,128,11,143,45,195,165,39,85,185,77,28,213,114,78,193,9,39,166,242,63,255,124,144,147,88,167,163,143,64,131,242, -228,214,12,190,247,84,29,174,126,117,47,116,87,100,212,156,34,80,195,101,91,191,1,25,119,63,113,213,197,73,226,7,194,125,7,173,33,162,150,7,27,79,218,190,138,227,115,204,228,212,39,145,124,118,84,201,23,213,21,252,37,22,128,8,168,137,90,188,82,207,69, -234,17,68,72,156,182,12,95,136,18,56,238,33,165,8,43,45,194,7,92,134,143,208,60,149,135,46,161,238,61,25,5,17,116,189,22,30,119,197,41,85,78,67,47,70,231,243,98,92,233,119,63,219,132,181,187,115,120,219,43,106,112,241,194,42,171,253,199,209,214,255,215, -147,117,248,241,51,77,35,0,212,32,26,231,237,63,31,31,134,217,19,18,120,195,130,46,162,139,66,34,99,92,66,248,22,49,161,54,80,88,141,39,11,42,91,68,52,115,136,194,195,80,168,106,5,3,167,163,134,23,158,53,161,100,250,37,137,8,133,148,35,105,249,95,130, -40,64,123,111,87,120,231,136,234,2,74,9,132,149,162,163,50,112,25,72,63,254,125,159,213,11,221,195,56,89,68,97,84,98,66,205,60,202,137,233,72,144,40,231,63,111,106,2,23,206,43,195,99,207,103,208,143,33,223,9,211,82,120,255,171,107,176,16,159,191,177, -188,14,75,14,47,193,124,252,253,17,124,159,60,242,175,61,58,12,139,103,150,225,60,52,5,196,190,236,199,251,189,121,217,16,188,251,244,46,152,57,33,69,193,139,48,9,17,248,140,126,66,45,54,19,23,149,136,184,51,137,51,29,50,216,254,184,67,133,19,4,106,140, -233,28,64,111,206,100,220,23,97,148,11,128,171,186,117,158,184,202,139,233,94,167,194,149,141,2,124,120,19,37,110,60,53,76,68,108,205,66,56,46,108,134,81,248,34,82,207,72,178,231,184,242,149,53,158,120,226,31,80,87,210,13,24,238,237,67,181,127,238,81, -101,248,223,191,213,13,199,162,170,253,171,239,13,192,211,168,238,39,161,73,88,191,87,193,143,86,55,224,210,197,53,198,44,168,157,205,61,207,54,88,99,92,253,234,110,40,227,164,84,202,214,121,107,155,10,33,226,213,236,112,127,17,18,86,82,20,89,79,174, -207,177,12,62,133,180,108,169,28,12,80,229,206,69,99,148,183,160,35,165,33,157,137,2,146,160,178,181,229,231,57,178,70,221,50,125,13,226,23,76,133,249,59,56,112,206,116,186,202,98,159,24,142,28,70,55,168,142,0,226,146,65,148,229,187,100,81,5,213,121, -10,159,91,58,12,219,7,20,28,49,49,225,9,39,129,122,22,39,116,74,175,132,109,7,20,172,217,147,195,210,141,166,136,131,162,129,127,195,8,160,15,29,176,197,232,252,53,149,17,180,207,254,108,0,78,157,93,130,11,230,85,216,140,37,73,148,21,108,23,133,168,27, -137,176,42,223,99,2,182,168,36,86,251,206,63,114,62,69,102,169,8,189,21,233,122,79,216,197,97,16,199,49,33,0,42,98,190,152,126,65,134,250,197,245,129,100,191,195,14,13,197,86,111,186,45,243,87,172,195,224,210,240,16,101,20,125,4,247,76,43,104,230,248, -4,222,115,122,13,190,255,116,19,142,64,27,62,136,66,119,235,163,13,216,188,95,193,113,83,18,56,122,146,100,98,202,223,221,51,8,91,251,53,244,148,141,62,167,46,163,207,239,83,240,99,212,2,255,235,180,46,126,157,108,241,38,124,237,43,24,58,94,117,70,23, -140,175,25,56,217,11,36,155,177,196,132,119,58,152,42,23,162,122,99,16,23,145,68,53,17,197,160,222,56,192,36,4,105,18,204,13,113,3,203,93,73,212,212,102,148,11,128,35,123,184,200,73,218,28,201,158,97,195,191,43,69,33,96,92,235,1,194,49,129,156,32,25, -79,190,48,144,142,78,173,124,201,79,168,66,182,97,223,59,78,169,112,191,225,79,220,51,204,190,192,226,153,37,56,227,136,20,126,182,174,5,255,250,112,157,87,248,173,191,172,195,186,221,138,87,125,96,36,9,168,225,202,251,183,95,14,179,250,63,227,240,50, -195,199,20,5,220,189,166,9,195,168,134,207,63,182,18,229,28,34,202,154,69,6,25,221,81,1,53,148,145,231,222,82,46,111,33,124,87,50,79,138,113,81,1,62,103,248,126,165,148,120,31,193,85,73,11,57,102,162,0,240,28,124,98,245,208,35,197,47,179,181,95,113,215, -240,90,41,146,228,56,215,11,161,4,156,158,166,244,8,56,231,200,18,80,157,101,158,71,172,112,199,234,245,221,155,140,208,145,202,62,250,48,116,252,142,45,193,39,127,58,12,115,38,74,152,62,78,194,39,239,27,102,40,250,236,185,37,56,27,207,247,20,39,126, -26,208,149,22,123,255,208,4,16,32,244,60,106,133,31,174,106,194,91,78,172,50,137,149,14,161,202,230,155,31,30,98,255,128,178,135,190,253,156,4,219,75,216,230,62,40,51,89,178,121,0,95,87,32,120,69,207,159,94,182,197,173,206,167,9,9,61,215,178,198,129, -142,61,101,23,41,133,246,55,162,160,85,70,179,19,24,131,52,142,162,133,95,132,237,167,0,31,78,57,2,105,92,69,236,104,88,180,199,0,169,235,19,166,75,254,156,230,14,99,130,87,81,211,170,73,202,216,13,103,154,87,57,77,16,201,213,7,207,173,193,79,159,203, -96,217,166,28,174,56,185,2,223,126,178,9,175,193,216,127,251,128,70,53,222,128,249,24,25,220,138,207,67,45,65,253,40,89,99,208,249,72,192,104,181,155,18,118,1,183,63,222,96,199,113,193,52,244,5,240,64,234,63,252,224,250,22,59,132,239,70,243,192,117,90, -74,176,96,145,150,34,225,163,207,183,50,67,120,161,246,244,117,46,44,22,48,128,2,124,220,148,18,10,84,141,209,235,36,21,145,249,51,131,197,125,21,109,93,35,251,73,145,178,103,82,141,160,202,169,145,159,171,180,83,2,32,227,86,174,194,72,189,100,7,205, -214,11,40,219,227,199,190,79,131,70,136,91,217,86,20,147,140,76,239,53,43,114,114,159,128,73,93,18,122,203,130,53,8,13,118,255,160,226,158,254,83,186,205,202,39,36,239,136,9,18,230,162,179,247,225,31,12,193,155,22,148,97,35,218,110,114,216,142,57,76, -194,255,93,214,128,15,157,83,131,95,160,195,183,106,71,14,199,77,53,251,21,84,113,4,168,13,61,237,65,48,13,29,67,250,123,24,7,122,0,255,190,107,117,19,222,188,160,10,203,183,14,178,0,150,48,190,191,13,67,197,27,223,216,135,161,101,5,238,127,174,9,227, -170,9,127,134,0,46,194,239,41,212,37,129,156,142,90,130,204,203,222,97,197,66,242,154,227,42,220,130,190,142,161,100,102,199,167,146,250,64,55,128,93,182,60,190,29,85,33,86,147,246,21,178,163,92,0,60,19,80,135,60,63,105,2,34,130,164,142,167,31,37,77, -104,226,79,158,149,192,5,199,148,216,71,32,167,141,42,136,142,64,21,62,174,42,224,134,139,186,112,64,165,47,54,161,202,226,6,10,18,77,26,197,234,100,46,104,18,142,69,245,255,197,95,212,25,196,89,60,35,129,207,254,188,1,87,157,94,129,187,158,105,113,236, -63,163,79,194,51,59,51,184,245,237,189,208,93,50,142,24,77,26,157,147,234,3,8,170,38,141,66,239,81,210,138,206,127,60,10,202,235,142,47,195,143,214,180,120,215,179,221,120,12,129,73,239,63,187,27,46,59,169,6,19,186,4,151,187,243,121,172,107,66,247,78, -27,92,144,102,161,239,187,3,163,141,105,120,237,241,232,123,92,119,65,47,244,160,224,145,134,163,161,33,146,204,55,158,168,195,206,1,179,43,9,119,71,151,194,251,22,2,2,40,146,36,35,238,3,118,70,0,50,234,199,111,54,227,66,181,108,28,189,52,209,76,116, -32,13,64,254,77,110,203,184,92,247,150,205,251,113,96,159,201,96,207,144,230,150,178,207,161,131,246,103,103,85,97,229,246,28,238,125,54,131,113,232,125,247,211,106,178,97,18,153,18,154,176,221,67,38,239,127,213,105,85,118,210,254,227,209,38,252,229, -249,53,248,33,78,250,34,20,2,154,132,173,120,238,79,189,190,6,255,244,179,97,206,7,156,56,61,195,207,42,158,224,76,25,210,7,97,18,253,77,211,199,144,118,13,33,83,64,231,163,213,252,246,87,84,97,35,250,5,235,247,229,92,87,112,231,234,22,99,9,59,135,20, -250,26,117,222,128,98,160,110,247,28,192,85,205,27,82,12,26,7,147,38,122,199,126,52,71,167,118,193,7,207,233,129,245,187,51,212,76,57,107,133,157,120,76,131,132,29,191,148,51,139,84,88,196,194,77,37,239,137,140,28,63,209,145,40,160,99,77,162,184,237, -171,20,33,36,180,68,254,3,77,179,82,28,248,145,101,198,177,217,57,8,176,165,223,32,56,36,32,175,152,158,192,172,241,168,254,51,9,27,246,74,94,165,147,186,18,219,47,0,24,212,153,130,171,239,149,179,83,152,136,207,111,59,177,12,31,248,222,16,156,127,76, -153,5,131,108,245,159,157,85,131,127,126,168,1,239,90,66,59,145,224,138,196,129,125,245,156,18,219,151,113,181,196,236,11,160,92,91,96,205,19,70,197,33,91,48,92,148,120,252,89,71,166,40,60,138,53,202,162,105,9,172,219,147,115,42,151,38,254,54,244,17, -46,123,69,133,253,148,181,123,0,182,13,100,144,104,194,241,19,60,119,201,132,164,182,15,209,94,156,232,25,118,183,52,34,123,44,223,146,177,0,36,73,200,138,66,212,254,70,138,208,76,211,107,0,29,154,109,140,122,1,224,184,63,238,137,45,108,107,23,124,94, -191,199,172,58,25,181,145,167,193,103,18,105,57,236,19,72,153,186,141,123,53,204,161,34,73,180,229,100,46,217,89,211,198,1,108,224,239,53,50,23,40,80,215,162,166,248,38,58,123,207,237,81,112,237,153,101,248,151,95,224,228,44,174,194,253,235,51,152,51, -94,194,146,217,9,124,232,251,67,140,8,42,138,22,90,134,160,146,89,65,109,178,227,134,39,182,29,76,114,219,222,110,39,254,189,106,167,130,233,125,45,56,239,168,18,44,221,208,226,80,150,60,244,123,215,54,225,204,35,74,240,174,83,107,240,109,140,40,166, -118,75,184,7,67,69,34,189,146,176,209,108,146,182,35,19,64,154,166,156,42,254,158,116,223,137,44,230,56,32,204,63,47,24,250,92,189,21,252,40,199,141,148,82,140,120,20,208,65,31,32,36,101,226,68,13,77,146,82,34,202,24,154,10,25,87,7,232,96,223,231,80, -80,14,176,115,38,224,89,52,7,213,196,36,99,204,150,47,198,127,216,129,239,159,62,167,204,234,242,11,184,210,175,56,169,12,43,208,100,80,248,56,9,181,194,215,150,231,240,15,175,171,193,151,208,1,92,181,51,103,167,139,122,245,20,174,5,33,165,156,171,224, -176,118,85,52,172,217,105,132,245,219,43,155,236,159,156,126,120,10,223,69,245,79,110,27,249,33,79,161,63,113,212,196,50,131,77,95,69,141,64,175,175,65,7,83,233,176,191,1,77,58,201,86,87,197,68,51,20,141,80,84,81,73,53,40,40,134,181,238,135,142,235,173, -70,57,5,89,204,179,140,137,48,208,209,163,220,239,180,167,35,169,212,203,22,151,76,97,72,148,43,144,110,27,152,136,33,76,168,220,44,140,225,155,153,249,189,92,178,217,56,59,94,52,49,39,76,149,240,251,39,151,217,217,163,173,104,200,9,252,57,122,249,111, -58,161,4,119,224,164,93,178,160,132,166,69,195,157,79,183,208,177,147,12,64,85,74,102,85,146,15,65,59,139,133,228,148,193,42,18,219,208,138,236,48,133,116,244,153,77,253,10,110,127,162,1,191,115,124,5,205,142,228,207,254,225,41,85,216,51,64,185,131,38, -28,137,206,234,132,46,201,247,78,247,74,219,217,149,233,122,137,241,244,19,75,74,109,100,218,11,190,182,57,126,33,139,137,32,122,108,71,167,113,114,79,98,57,131,129,38,39,58,160,1,58,135,4,10,139,153,131,1,130,40,175,95,207,73,125,130,165,133,7,226,72, -230,242,5,92,194,109,85,83,2,124,236,80,203,52,115,148,224,132,197,76,30,9,192,187,78,173,192,51,148,231,199,9,126,15,254,254,147,117,25,78,70,194,42,148,38,227,252,163,75,112,19,154,3,154,80,198,27,32,130,87,165,223,18,0,116,155,42,118,169,93,90,137, -20,147,87,240,243,223,121,186,201,78,219,229,139,43,112,229,41,21,120,4,157,201,71,54,231,158,77,228,154,98,248,60,8,132,126,201,244,218,14,252,44,221,215,140,190,196,147,98,157,141,151,82,20,118,45,33,31,166,86,114,168,167,163,207,119,32,23,220,49,36, -80,4,70,47,57,66,110,219,23,42,200,216,51,4,188,170,29,89,196,77,132,3,83,154,45,51,240,228,133,147,74,166,247,9,84,161,240,108,152,67,63,147,166,61,121,86,138,234,55,129,127,92,218,128,55,47,44,115,108,189,98,187,226,213,255,195,53,25,78,82,21,190,179, -162,9,171,182,102,166,47,129,227,85,40,83,29,148,101,130,169,98,116,45,138,44,72,77,83,56,106,0,29,243,160,152,125,0,35,151,93,196,210,197,207,239,69,159,96,238,4,180,245,207,182,56,42,249,203,115,107,76,44,161,72,228,45,39,86,184,194,152,170,206,201, -177,165,115,209,138,39,155,223,210,130,163,27,242,87,8,153,228,132,143,50,33,109,43,119,253,18,66,68,164,116,48,153,110,255,37,1,113,157,195,104,247,1,162,118,174,82,134,213,64,14,84,238,188,94,91,31,72,95,182,175,91,192,52,28,200,241,53,231,44,26,188, -128,18,47,36,0,23,29,151,242,138,160,243,141,199,21,183,27,207,115,233,43,74,240,61,92,249,253,117,128,55,204,47,193,223,223,95,135,183,160,202,95,177,45,71,83,32,249,179,119,60,157,113,10,151,38,185,100,213,77,220,7,128,194,61,98,8,167,86,8,89,179,104, -179,171,9,1,59,21,219,214,246,112,156,180,243,143,78,225,9,60,55,85,16,189,231,149,85,6,145,8,82,38,135,243,68,140,88,174,56,169,2,255,133,2,183,175,65,155,98,104,142,80,232,252,148,248,34,44,99,10,131,76,130,73,42,132,29,80,186,151,128,45,18,206,61, -24,85,144,16,185,144,47,87,209,122,143,247,43,2,49,54,112,0,15,98,216,58,62,55,230,42,218,209,67,89,181,78,216,127,13,39,235,117,199,37,108,63,9,68,217,143,43,124,11,198,238,132,238,209,224,30,137,171,142,86,38,173,34,202,217,95,138,126,196,14,116,166, -110,125,172,9,127,126,118,5,99,254,12,38,214,36,28,55,89,194,77,203,154,240,55,231,85,97,37,58,99,127,124,122,153,7,141,38,115,114,183,137,201,99,53,223,91,49,171,175,219,214,23,144,144,145,198,34,243,99,0,39,243,160,149,187,229,128,169,251,39,128,136, -142,126,108,115,6,55,254,108,24,239,187,12,139,103,166,44,212,127,253,91,93,140,42,146,86,112,63,180,107,169,11,255,40,156,252,93,12,29,47,152,87,102,13,71,223,103,8,191,216,138,109,25,236,220,144,153,98,63,187,111,98,195,22,164,72,81,4,255,70,218,8, -116,172,87,48,136,224,11,184,110,158,228,213,63,176,62,247,181,131,108,22,202,198,44,220,184,180,101,58,132,90,202,23,225,232,199,78,145,24,1,100,240,239,143,183,120,117,18,166,126,244,36,1,23,30,147,194,231,31,106,194,41,104,6,200,219,95,138,131,247, -151,231,84,224,235,43,50,120,203,194,18,135,141,255,180,212,56,134,52,1,180,18,201,236,12,56,219,42,141,223,65,130,70,128,77,217,98,243,21,27,146,130,101,20,145,230,104,102,218,135,159,202,180,8,64,143,191,201,161,231,245,175,235,230,144,240,190,117, -45,142,50,222,56,191,12,15,63,159,193,202,109,45,248,254,170,38,155,1,186,30,33,155,27,119,231,112,205,153,93,40,216,57,124,7,29,212,196,246,75,160,99,72,224,202,73,24,63,210,20,137,12,62,64,204,119,28,51,185,128,152,191,202,197,160,2,120,162,135,45, -234,229,108,191,147,234,212,150,132,49,224,81,66,53,140,131,190,26,99,240,149,219,13,150,222,208,198,107,191,26,87,245,131,27,114,120,20,29,176,79,189,190,10,55,63,218,132,11,81,61,179,10,197,143,207,70,117,253,241,123,27,184,178,4,172,219,163,60,63, -193,161,135,14,72,114,80,52,11,86,67,219,64,80,248,176,53,226,153,122,230,183,243,152,8,40,162,112,150,252,144,175,252,178,1,95,197,8,129,224,98,250,153,136,218,236,111,239,174,251,210,50,101,171,147,232,220,68,84,121,26,195,84,242,13,72,232,168,205, -80,218,182,196,201,208,145,227,59,99,156,233,118,46,74,157,115,0,59,136,3,224,68,55,140,221,141,251,63,144,93,158,84,51,212,172,36,122,207,109,0,17,84,136,225,12,220,191,46,231,137,162,85,62,190,10,112,202,236,132,243,3,127,121,215,48,92,246,138,50,172, -221,77,144,43,192,123,150,160,70,120,176,9,87,189,178,12,223,90,209,130,245,56,57,61,149,216,123,214,133,206,44,96,187,137,184,29,67,18,123,125,87,109,20,135,175,133,14,31,214,191,161,48,239,107,79,52,249,59,205,30,47,225,189,103,212,120,114,111,95,222, -132,183,45,42,195,155,23,148,57,227,88,182,244,117,210,237,21,188,151,255,196,215,8,2,161,207,199,187,161,197,125,164,18,105,28,70,130,147,57,138,138,27,100,142,88,111,176,142,227,0,24,11,87,44,47,48,248,133,92,19,64,206,147,210,80,192,181,11,50,30,119, -20,161,20,50,122,226,39,205,76,224,109,39,150,224,77,243,83,248,215,95,182,216,121,58,101,150,68,149,223,130,75,23,17,66,151,115,154,151,212,49,105,7,195,167,139,57,151,34,20,161,56,138,89,18,202,202,28,248,36,146,98,223,1,33,139,108,21,23,178,209,225, -251,208,25,36,223,224,156,163,74,60,249,55,63,210,68,181,223,130,181,40,124,239,56,185,10,11,166,165,188,210,93,9,28,117,61,105,218,104,199,51,153,68,208,48,177,246,36,144,137,34,157,112,195,225,123,140,29,66,8,132,22,47,142,219,71,94,190,243,184,99, -14,191,20,194,195,158,82,28,156,82,38,59,126,250,225,9,19,53,190,251,84,11,254,224,228,20,238,69,237,64,91,203,83,202,248,209,45,10,237,111,10,95,126,164,133,170,63,236,87,92,88,191,174,0,85,138,130,138,63,168,190,208,246,46,104,167,154,185,19,145,57, -154,137,190,197,7,207,169,241,10,39,8,122,90,175,73,57,19,124,253,45,140,4,136,131,248,254,179,106,48,17,157,193,86,94,228,62,200,136,217,234,38,52,110,133,111,198,41,116,58,113,91,221,134,250,201,49,130,4,166,73,188,237,171,81,121,83,186,165,217,55, -48,45,238,12,170,33,80,168,93,236,235,32,209,211,102,75,56,123,110,194,241,255,167,30,104,193,169,179,83,86,161,247,161,51,249,214,5,41,220,137,17,192,197,56,249,196,219,251,25,190,70,239,201,168,166,0,34,90,53,68,92,190,152,204,25,239,43,33,10,96,182, -240,5,172,126,27,27,43,148,183,163,99,250,47,15,25,158,33,169,236,139,142,43,177,160,62,137,161,226,210,245,25,227,8,215,188,186,102,242,13,162,77,179,104,40,144,97,227,58,10,186,119,114,78,183,246,231,193,239,136,37,112,172,64,193,14,107,247,245,13, -64,248,188,33,78,208,63,183,101,12,20,233,125,126,122,200,227,166,126,66,148,38,62,26,237,62,169,68,202,250,17,252,123,203,227,25,156,54,43,225,213,78,175,191,106,78,2,183,225,107,105,27,9,197,147,75,161,232,148,198,197,29,174,174,208,67,216,177,233, -136,150,167,235,91,64,2,176,5,67,193,205,232,205,83,116,241,228,214,156,191,219,214,3,26,206,58,178,196,128,21,1,69,95,248,69,157,57,14,175,63,222,132,124,113,31,227,120,197,199,85,47,116,12,69,34,132,101,44,223,106,114,23,133,141,52,198,138,9,16,174, -234,199,174,112,101,27,59,81,216,83,41,104,5,17,154,50,89,148,206,103,15,241,63,98,247,144,186,167,216,122,205,46,5,127,255,218,178,1,87,240,156,71,161,80,252,199,242,12,222,120,124,9,238,192,240,239,137,45,57,71,9,46,121,82,44,39,8,166,40,236,22,94, -132,174,61,28,91,164,40,122,96,211,149,123,209,57,19,109,252,19,18,184,141,251,76,244,241,12,134,129,4,21,83,8,71,218,138,34,5,98,33,17,92,125,88,143,240,232,159,239,131,32,14,50,241,222,4,82,253,226,254,58,248,220,71,39,183,18,235,216,182,113,113,173, -159,3,128,250,168,75,104,18,77,180,245,248,147,168,188,203,193,181,244,251,243,253,10,87,124,194,30,253,194,105,84,184,161,217,230,127,228,188,50,39,104,142,154,36,97,92,197,204,229,107,231,149,56,244,138,87,185,108,219,249,59,54,52,34,108,21,28,118, -5,21,109,142,105,155,48,184,29,71,125,193,167,69,23,73,237,159,122,120,10,191,124,222,168,109,210,20,68,38,93,186,49,103,92,224,242,147,42,28,218,77,236,22,108,26,221,247,110,247,1,220,46,246,19,80,200,187,92,20,163,138,161,245,152,40,13,115,3,236,74, -181,74,182,186,119,216,230,199,253,106,143,119,254,0,183,207,176,245,152,113,50,95,127,92,2,221,104,87,127,138,14,223,221,207,230,112,24,14,32,217,89,138,193,127,23,237,255,213,167,149,216,164,204,234,19,156,7,72,108,133,176,235,49,236,119,45,111,203, -189,251,38,20,34,218,75,74,67,180,145,85,216,68,66,20,2,65,104,203,227,11,46,230,36,237,67,248,195,225,19,36,196,95,171,134,223,227,182,199,155,76,71,163,36,210,37,11,202,94,43,6,83,21,101,2,165,137,0,22,78,79,216,17,212,174,56,244,224,242,147,209,45, -0,142,212,25,135,129,4,111,146,106,172,36,34,84,14,67,216,44,218,23,209,82,113,4,70,15,51,112,82,23,224,234,39,72,246,153,221,26,190,177,50,135,127,94,214,98,52,144,212,46,9,83,217,146,45,110,121,44,99,32,40,9,251,60,132,213,172,3,209,66,171,162,143, -160,189,105,16,81,206,34,216,127,87,182,85,104,241,19,103,13,45,127,143,114,28,228,132,158,55,55,101,138,151,115,112,73,133,147,217,35,200,154,76,193,137,211,211,66,116,114,176,73,55,23,39,254,99,201,22,206,198,218,106,12,153,0,17,86,75,228,188,42,11, -183,178,19,104,7,189,176,223,158,8,118,144,6,238,118,180,241,244,188,1,195,63,74,160,60,177,77,195,87,112,178,95,115,108,2,51,208,20,252,24,181,194,223,220,211,226,99,136,237,19,51,144,98,170,185,47,178,148,69,190,130,219,84,68,41,167,146,227,148,112, -196,100,242,234,58,50,15,50,0,74,20,14,254,96,85,6,139,112,130,123,184,174,191,72,222,32,184,153,82,188,228,163,176,153,146,193,5,105,159,87,242,45,136,64,90,16,188,88,32,199,132,19,40,98,96,179,40,12,206,83,215,2,66,46,220,142,132,107,50,173,237,234, -57,101,166,100,6,13,37,134,40,101,123,220,100,1,31,58,179,196,54,242,31,151,182,96,61,106,2,242,3,136,108,154,128,40,182,230,141,66,38,199,177,75,162,36,85,232,76,98,174,197,144,173,46,86,251,21,232,237,58,168,108,191,25,149,125,141,132,143,0,32,226, -15,206,159,156,216,52,179,161,192,159,59,151,72,48,101,120,104,83,198,32,216,164,30,9,245,150,201,66,182,59,158,116,186,46,180,18,68,132,17,237,9,0,209,25,37,208,209,30,65,70,162,129,85,58,49,119,91,121,100,71,117,176,207,42,108,31,234,109,44,77,202, -201,51,77,238,156,114,239,139,209,9,124,235,252,132,195,173,229,219,20,220,183,94,177,154,164,80,145,38,128,87,136,22,190,199,32,97,16,142,156,145,235,104,219,183,176,107,131,95,2,82,135,182,246,241,94,131,174,47,144,142,118,149,243,88,129,115,224,18, -237,203,209,239,93,155,113,65,42,113,17,201,124,189,105,190,9,11,191,248,112,19,38,163,6,59,117,22,250,45,103,84,152,241,188,245,128,66,13,150,153,108,169,243,66,173,111,192,77,52,92,47,2,29,76,21,140,149,100,144,91,85,153,219,17,197,198,220,76,19,79, -138,199,170,104,115,73,7,152,36,130,56,250,38,123,72,42,241,99,231,149,160,7,157,191,235,239,207,96,106,15,177,114,3,98,72,126,69,34,3,7,1,146,98,129,166,167,96,41,240,59,138,24,39,92,248,157,68,180,136,242,17,186,136,77,11,223,21,76,23,177,152,168,43, -57,21,171,92,124,66,137,11,78,169,80,229,10,92,241,196,34,254,225,154,22,252,98,83,206,254,202,73,51,36,223,51,53,200,160,227,127,176,170,101,32,235,130,99,106,190,75,79,197,148,166,115,201,89,42,138,224,148,24,3,132,16,13,80,64,244,160,205,4,164,182, -227,69,110,219,195,130,46,218,109,42,185,154,217,107,136,24,244,243,236,30,141,225,84,14,155,113,213,44,223,102,124,137,106,42,34,80,76,135,208,179,112,46,151,221,211,126,247,176,130,75,15,17,184,18,117,151,240,253,254,35,115,38,163,45,104,252,70,20, -246,56,114,76,215,162,163,122,198,156,132,193,170,183,206,40,193,87,30,109,194,234,93,102,135,210,185,19,4,92,186,168,204,224,206,39,239,171,115,129,72,119,57,160,131,89,22,239,146,98,55,218,140,157,82,29,37,140,198,66,101,144,176,118,95,218,189,242, -180,10,142,93,89,66,148,9,51,161,152,178,91,190,185,137,163,227,78,158,33,56,71,190,116,163,130,47,61,146,51,60,74,33,160,140,237,178,138,125,13,59,58,50,236,88,22,11,2,191,38,116,129,127,175,33,102,217,70,37,235,160,195,169,227,234,100,29,64,98,162, -125,185,38,146,4,12,17,63,144,132,148,38,238,202,37,37,248,61,156,240,183,44,208,108,178,166,246,8,206,92,18,85,141,252,3,106,66,21,171,126,79,255,6,67,139,35,106,58,245,7,112,249,0,223,181,184,3,136,80,199,52,128,86,81,79,67,219,231,55,203,225,160,186, -120,143,28,38,230,147,20,255,159,63,87,192,219,22,37,240,175,56,241,63,88,163,216,123,238,46,57,103,210,109,176,0,197,125,134,35,187,76,19,109,183,228,9,222,188,221,163,64,71,250,91,68,176,117,28,155,107,87,231,223,182,187,117,204,209,79,236,238,102, -238,126,136,109,108,10,59,77,244,66,0,22,105,131,39,112,213,19,64,244,212,246,220,39,182,32,152,124,147,124,74,220,86,50,230,117,202,151,84,146,32,108,29,164,3,116,74,3,152,1,39,254,126,26,65,191,74,155,108,154,107,33,163,245,33,136,35,76,2,21,240,216, -22,197,170,223,81,184,221,132,145,195,200,133,27,82,123,130,71,156,241,115,43,94,56,234,153,173,180,116,4,20,99,114,132,223,78,206,101,102,164,8,8,36,88,45,19,170,113,180,3,239,66,71,82,87,167,105,175,229,38,144,28,86,10,83,201,214,127,225,193,38,59, -134,36,192,229,164,40,64,49,196,172,93,46,0,204,121,154,89,104,136,21,51,130,59,145,11,232,24,35,168,90,54,180,174,184,91,22,141,121,57,177,197,143,194,168,89,173,61,71,211,116,2,149,164,78,53,172,216,97,106,254,202,9,20,120,113,50,41,218,110,215,110, -14,116,177,75,24,8,240,59,137,135,230,212,81,154,56,218,131,72,184,46,160,242,96,71,166,208,140,58,218,246,37,78,210,248,141,169,1,152,103,72,72,229,135,126,88,231,216,159,4,66,68,142,163,223,50,6,218,145,208,176,185,141,115,150,253,70,165,109,76,171, -49,161,1,180,223,216,33,212,223,185,9,98,74,116,28,142,153,173,249,124,232,67,234,148,251,237,218,12,156,178,198,218,169,251,36,41,94,77,218,102,17,34,222,20,188,96,47,163,77,164,197,193,106,95,251,30,204,214,38,183,229,8,130,169,113,93,78,139,231,113, -31,167,251,39,134,210,182,253,218,231,254,197,33,198,166,176,145,84,196,0,150,16,136,179,149,212,54,138,4,56,168,114,104,76,104,0,55,161,185,18,22,205,50,3,75,108,215,70,203,240,251,12,103,32,232,195,68,132,176,80,138,182,61,23,69,49,94,118,19,44,147, -192,242,117,30,191,136,106,17,221,184,229,182,99,137,49,61,186,184,202,33,218,152,26,138,152,68,12,25,20,246,33,210,197,200,193,161,138,137,48,219,215,59,155,161,227,238,206,81,24,25,218,202,128,239,132,238,180,9,71,57,174,129,166,8,173,117,199,20,16, -228,230,202,177,115,136,6,222,178,246,155,86,48,109,145,90,88,65,174,247,158,101,236,202,200,190,203,40,119,46,139,46,121,65,173,135,140,158,117,206,162,144,73,70,88,129,179,171,228,35,184,54,51,162,221,68,68,64,80,156,225,164,144,77,90,193,83,186,168, -89,188,121,208,109,2,165,163,13,236,69,177,149,110,172,17,132,173,91,160,66,24,21,169,124,237,251,229,141,124,109,96,199,162,0,186,223,136,13,229,155,31,180,148,235,237,223,22,79,219,15,58,213,47,226,73,134,104,155,54,8,228,8,165,28,216,108,95,179,230, -66,64,0,149,28,50,24,231,2,10,96,160,22,126,79,130,66,186,213,155,137,112,48,179,151,147,112,175,129,243,32,124,248,232,170,207,132,138,226,122,9,49,227,197,239,114,202,251,16,70,68,79,109,177,6,135,152,22,160,117,93,100,22,141,234,92,128,140,188,21, -29,227,216,194,132,55,198,35,54,85,51,237,85,15,162,144,199,143,153,189,197,228,146,95,213,246,197,56,157,91,224,36,68,61,254,115,21,175,186,54,14,98,16,165,2,46,4,5,8,57,36,149,28,233,68,229,174,99,104,200,64,138,200,68,21,168,104,113,10,24,196,193, -230,197,46,148,146,171,101,20,162,208,65,109,108,249,0,86,93,43,237,32,88,179,122,8,186,85,58,2,131,100,224,141,23,188,222,130,221,141,226,242,67,168,65,215,95,199,247,231,131,184,166,30,236,86,115,118,149,70,189,6,85,180,159,160,246,118,60,96,9,78,115, -105,221,230,221,66,240,228,147,164,232,76,138,8,62,244,145,131,40,250,26,225,52,145,79,210,102,231,185,84,61,10,55,164,56,120,1,140,106,31,160,221,129,35,141,72,144,41,225,226,220,47,47,115,201,128,226,38,24,194,218,111,95,185,91,72,196,184,190,130,218, -227,230,45,21,200,154,89,30,146,58,194,122,216,34,210,42,166,179,152,221,203,72,216,182,180,34,56,111,34,236,84,83,248,6,137,253,60,197,231,132,109,112,163,9,123,47,220,222,54,210,20,206,55,116,197,39,110,99,44,25,33,122,174,80,165,8,133,153,66,90,178, -255,180,72,220,66,137,70,101,140,85,6,217,65,35,239,155,138,58,102,99,124,76,137,156,185,19,5,156,60,195,148,126,75,97,160,97,105,118,104,101,219,71,95,156,24,181,132,152,141,171,154,247,232,117,130,135,221,68,236,107,8,230,9,238,29,2,56,98,60,112,82, -229,121,12,189,38,213,240,51,21,19,22,238,26,50,208,49,13,34,37,105,182,15,106,152,61,78,112,238,62,181,89,196,84,218,142,28,220,108,202,148,175,143,167,68,76,9,56,25,69,19,78,200,36,237,118,186,183,174,97,201,44,227,196,174,219,171,97,98,205,117,243, -4,139,85,104,190,15,7,78,165,118,222,92,71,19,170,121,204,181,233,72,70,8,33,245,40,116,120,63,193,191,116,143,68,150,161,251,57,12,223,167,38,23,68,55,175,103,218,131,103,157,176,3,29,235,16,162,162,237,119,41,251,117,252,97,0,11,167,0,204,236,5,184, -98,145,33,73,58,53,237,26,39,56,76,159,212,53,173,132,221,195,118,187,87,101,124,7,154,176,61,56,81,83,169,158,14,117,39,77,250,107,143,150,240,244,78,83,122,253,150,249,102,68,155,185,89,83,187,135,12,248,68,19,252,179,141,38,54,63,247,72,193,19,208, -202,227,240,48,20,175,210,158,6,156,97,180,176,237,222,186,81,209,148,147,56,227,240,132,191,203,55,87,102,208,87,54,181,0,115,198,11,230,39,72,203,254,73,133,105,128,165,180,235,12,106,206,229,198,130,132,138,190,15,17,72,57,85,110,191,122,45,53,130, -73,130,75,61,7,22,78,77,120,12,239,91,159,113,65,170,28,75,124,0,215,236,89,89,111,126,235,128,134,245,253,0,143,108,5,184,124,33,192,77,143,152,186,121,167,114,115,229,236,92,112,195,92,101,110,28,82,106,27,38,73,155,237,161,149,247,240,230,220,167, -132,87,218,246,44,185,14,154,195,69,36,174,169,196,99,91,205,117,114,21,32,107,119,17,186,103,42,214,204,84,112,218,232,92,196,59,160,201,161,114,240,92,25,95,166,133,179,243,243,77,10,22,76,149,92,169,236,218,213,57,187,231,118,43,215,16,21,157,136, -32,208,153,138,240,8,208,222,95,162,206,100,127,117,158,128,7,112,226,151,174,87,172,41,211,14,237,21,208,113,31,192,154,120,254,114,4,108,152,150,41,38,60,116,106,173,156,154,166,82,220,82,30,66,92,78,19,70,239,233,98,212,239,193,30,167,61,104,66,232, -188,52,73,196,194,105,240,214,176,218,191,206,126,130,189,22,245,18,108,229,96,241,8,115,70,122,45,142,68,41,205,204,43,57,49,164,78,18,22,90,181,195,182,189,93,26,119,246,194,159,107,78,79,225,91,79,229,240,253,213,57,171,117,37,98,175,63,14,228,131, -127,64,223,171,12,193,161,116,206,168,243,65,73,96,103,244,74,188,150,235,103,36,138,137,161,81,143,3,232,54,127,0,140,141,215,218,242,1,162,228,139,11,183,146,196,149,95,11,191,151,64,33,7,110,125,132,68,22,17,146,139,230,73,84,199,0,119,172,50,219, -172,189,245,4,9,71,79,50,43,233,171,79,42,216,124,64,195,25,179,105,203,90,128,85,104,42,166,245,80,67,73,1,199,29,102,26,71,124,111,181,226,234,96,233,55,152,2,56,21,109,253,155,230,39,92,203,72,130,66,171,245,75,191,204,80,195,152,228,148,243,15,201, -87,32,142,227,225,227,12,129,195,237,94,86,8,22,28,74,9,224,55,189,212,174,41,86,180,249,53,143,153,213,132,68,112,165,156,130,217,244,82,20,106,3,197,88,32,132,20,90,196,58,147,96,195,187,220,82,156,104,37,41,155,182,21,81,38,207,173,198,68,4,47,219, -13,64,10,80,64,8,7,51,227,107,76,233,70,191,160,91,192,187,78,18,156,54,190,111,189,153,244,249,147,5,172,223,7,248,44,209,1,212,232,131,80,7,112,193,44,99,42,227,38,71,240,91,43,131,64,113,27,55,92,233,167,206,164,182,180,0,95,88,150,113,73,251,153, -71,72,184,224,232,4,150,163,9,40,69,223,137,142,37,7,113,83,191,225,44,86,29,27,73,132,253,139,93,218,218,224,22,246,230,19,93,40,248,245,225,38,185,48,153,233,82,74,20,248,208,22,230,96,178,205,152,72,7,183,237,226,238,179,127,126,83,8,27,187,75,27, -235,58,127,32,46,148,136,83,111,28,115,71,182,155,22,221,172,62,116,46,167,154,118,44,107,112,98,111,91,158,195,150,253,192,205,33,136,136,49,161,166,225,152,73,134,185,251,253,53,26,254,238,126,197,228,146,171,150,72,184,125,133,105,232,92,182,177,124, -142,75,242,221,248,58,57,137,31,190,43,99,178,41,93,103,220,118,197,93,198,226,118,245,14,157,163,251,37,199,77,66,12,109,71,249,4,89,100,42,233,182,12,100,1,149,180,191,83,83,137,106,42,10,215,235,20,45,160,163,148,48,165,219,38,220,62,68,140,228,65, -128,83,217,211,77,244,65,38,196,21,143,122,251,31,49,117,72,237,111,57,0,112,221,143,21,59,131,139,80,24,174,62,213,52,145,254,47,180,203,164,230,191,182,82,115,45,193,115,123,169,164,76,192,181,231,74,120,240,121,205,225,92,197,66,187,100,227,95,131, -17,197,60,52,15,159,184,159,120,124,52,9,102,162,201,204,124,107,165,242,29,66,92,226,9,236,189,164,50,84,124,250,4,146,138,167,75,31,52,115,142,21,237,56,0,30,238,181,77,177,148,142,43,148,139,40,229,152,241,1,220,228,43,21,160,83,170,123,203,20,28, -148,186,13,57,30,225,119,10,215,186,152,182,117,197,28,198,103,48,145,196,166,126,154,84,96,149,127,44,174,244,87,206,20,240,115,156,220,47,62,170,208,15,32,42,152,134,109,7,140,118,57,115,142,128,223,69,31,225,199,235,20,220,185,198,109,97,103,106,22, -79,64,243,112,246,17,102,242,7,154,198,81,163,46,35,239,58,217,148,164,173,222,69,20,116,211,61,52,87,97,98,18,25,109,113,15,109,124,3,93,212,8,46,101,29,231,255,189,143,160,194,251,121,244,123,188,16,164,28,51,56,192,193,25,56,14,159,164,89,177,49,171, -54,102,201,20,49,239,40,77,44,205,231,101,52,192,50,218,137,139,156,184,75,142,23,176,31,39,238,134,7,21,172,221,27,162,8,106,245,118,56,198,234,111,61,65,160,159,0,236,31,252,232,217,104,247,50,155,96,57,13,29,191,239,162,67,216,223,48,145,193,32,158, -235,242,19,165,233,56,186,66,177,90,190,246,85,9,220,250,120,14,203,158,215,140,7,144,80,53,50,155,242,246,221,81,131,199,175,116,123,5,80,68,5,106,203,62,130,173,138,18,185,113,44,101,167,116,254,75,233,4,198,3,225,251,244,88,228,79,29,226,120,125,136, -191,67,137,132,134,2,117,95,7,231,242,169,93,2,109,191,1,86,52,24,224,137,219,201,250,162,84,128,135,112,210,86,108,7,56,107,14,192,95,159,45,225,254,13,26,126,138,194,64,220,75,138,34,158,223,79,199,4,28,254,117,199,72,152,143,90,225,147,15,228,133, -154,198,75,78,72,24,111,32,192,200,212,3,0,119,55,247,85,69,17,92,29,247,65,138,211,196,34,34,177,22,82,208,161,154,13,6,91,112,16,25,100,76,241,1,68,187,195,7,134,12,34,45,50,214,178,89,180,66,189,67,59,21,219,130,38,137,12,121,126,41,66,66,136,86,234, -145,227,9,104,162,73,16,140,49,56,30,64,154,20,7,141,158,31,223,166,97,229,78,179,218,201,20,28,142,145,193,82,20,132,33,140,81,47,56,74,114,219,246,153,24,127,47,152,106,52,192,103,31,50,221,61,73,160,136,236,249,237,167,21,58,143,9,124,252,130,4,158, -218,105,64,35,242,25,68,236,179,68,169,95,29,243,18,116,155,75,224,106,19,219,55,152,210,6,127,232,42,71,93,66,196,161,179,161,163,86,0,148,237,188,153,200,208,245,82,139,34,186,231,83,177,162,152,72,241,27,68,138,80,34,118,144,105,208,38,212,162,129, -58,124,156,17,128,99,38,154,149,187,125,80,248,213,170,109,79,98,202,23,80,149,49,65,187,164,250,31,222,66,14,33,65,199,2,150,160,207,240,205,167,52,252,4,253,130,11,142,18,176,17,125,138,59,159,209,92,135,216,178,17,2,229,43,114,124,190,31,53,70,63, -74,49,249,11,4,255,206,193,248,159,144,197,237,131,1,32,42,164,182,221,54,243,142,254,165,161,141,107,216,174,231,205,253,146,51,75,205,52,124,91,24,8,96,208,152,208,0,50,74,4,57,27,72,130,64,136,26,217,88,128,98,91,22,104,235,38,70,100,10,157,188,64, -131,68,175,29,4,59,148,247,174,55,43,113,207,112,128,124,195,249,77,183,207,239,174,54,222,122,57,117,184,59,112,136,247,197,71,12,13,141,176,247,187,215,105,184,119,157,137,231,133,77,82,49,18,137,3,95,207,77,181,18,253,77,130,65,147,238,64,45,247,125, -211,56,29,221,214,217,141,125,160,60,56,183,208,150,93,22,158,161,102,34,33,82,255,32,224,16,219,230,142,149,40,0,14,102,176,58,65,24,110,5,252,61,142,22,226,205,18,226,98,204,118,240,35,166,146,147,9,248,209,90,71,57,119,27,81,68,225,163,133,148,247, -212,133,157,176,208,46,206,249,34,238,167,108,255,72,109,24,26,53,15,243,223,64,90,232,24,32,28,19,227,30,16,225,22,34,226,249,199,196,144,66,17,75,251,152,89,97,162,76,228,222,225,182,250,137,177,214,40,50,6,55,180,181,255,101,155,15,24,104,69,27,69, -199,155,62,199,181,252,16,146,48,78,30,28,72,148,202,162,57,73,109,131,73,247,190,178,57,250,196,35,143,118,75,214,220,109,59,175,3,141,60,234,81,148,235,40,204,180,36,85,16,224,51,151,46,151,159,41,115,12,245,252,111,230,65,104,93,164,66,188,132,82, -18,42,127,169,233,131,107,84,233,252,33,179,231,128,209,94,78,115,105,139,46,186,42,42,170,34,174,37,197,60,193,216,114,2,237,128,81,248,69,233,224,201,93,230,249,125,75,66,122,215,37,114,220,100,186,238,221,52,0,142,51,224,200,30,77,43,68,148,63,223, -107,83,197,79,239,38,155,14,112,88,13,224,202,197,230,156,131,56,112,247,109,0,120,20,85,245,226,105,6,39,152,80,17,92,122,93,225,235,153,201,241,8,160,178,37,89,173,48,161,132,28,186,247,135,178,64,58,33,218,55,9,10,149,166,63,180,9,224,13,243,4,188, -114,150,225,1,56,243,70,152,193,119,87,41,254,78,139,103,160,159,49,67,50,48,85,181,123,21,184,212,51,105,195,125,195,166,52,142,28,77,250,62,196,75,152,217,103,146,90,148,226,94,246,188,178,66,49,134,146,65,74,199,182,218,124,201,85,187,240,245,137, -38,191,78,213,189,228,232,48,195,198,18,38,90,42,80,193,105,160,105,112,104,176,27,150,87,64,152,66,201,106,131,129,38,248,76,222,160,205,221,211,196,253,98,179,37,112,212,9,158,53,131,70,222,58,145,65,142,28,175,57,28,108,229,38,107,152,217,32,189,110, -181,145,203,28,210,15,13,248,142,65,109,1,25,211,213,164,156,152,110,36,84,6,78,0,82,211,166,154,105,191,32,234,48,62,216,48,215,230,142,232,246,126,9,205,165,4,18,77,234,220,9,230,125,66,249,92,250,155,206,75,215,37,97,39,252,159,62,71,190,199,130,169, -70,155,81,111,4,231,68,139,168,109,252,232,119,2,163,80,135,51,108,218,192,181,68,240,160,213,244,179,141,70,109,171,54,130,102,59,56,34,69,177,239,176,138,184,247,142,61,91,178,125,135,41,86,191,103,93,40,59,115,236,33,26,235,109,3,130,227,124,215,8, -218,215,225,181,133,86,204,32,142,248,3,142,150,38,162,164,149,243,55,192,10,205,170,221,26,86,236,140,170,146,173,149,119,81,1,29,74,144,51,229,41,138,102,95,251,251,8,147,107,132,207,165,158,151,111,211,156,176,138,125,34,61,194,13,99,71,82,0,10,157, -81,10,217,46,235,49,147,132,63,177,205,168,118,120,1,71,47,238,152,217,158,19,72,100,97,32,66,189,157,157,52,10,243,218,9,165,46,133,156,200,16,66,130,173,86,58,40,186,108,171,193,246,141,172,218,170,137,147,40,118,45,91,150,179,46,248,117,193,209,243, -41,112,155,70,86,170,152,228,210,81,197,19,251,61,168,165,54,237,55,254,7,117,20,209,177,183,92,116,172,245,136,45,214,17,22,2,93,104,200,24,197,246,90,5,10,148,251,201,219,154,38,197,43,211,161,135,113,157,124,124,94,25,61,199,4,210,104,3,14,207,251, -139,67,79,13,194,87,10,123,169,85,49,108,43,60,47,161,208,109,52,186,166,214,1,186,19,1,1,46,134,173,81,18,71,68,59,128,20,90,207,129,40,180,141,245,187,134,196,209,83,177,48,84,143,70,19,16,19,119,242,82,181,183,82,65,199,175,149,20,165,190,189,39,46, -143,97,110,202,161,29,4,75,15,19,127,155,155,115,161,225,161,42,98,148,45,36,73,147,67,39,164,220,245,148,58,24,158,54,161,155,240,25,56,95,189,163,99,115,19,232,221,90,31,164,138,219,206,117,80,239,137,67,212,22,192,65,125,140,116,187,22,212,47,16,250, -218,106,36,153,114,125,121,62,26,77,128,178,55,150,173,249,201,173,119,111,95,117,196,166,172,149,83,85,127,154,229,198,137,117,164,16,1,135,224,246,139,118,53,218,86,78,173,219,38,49,154,48,41,95,88,0,218,127,47,12,124,97,53,191,240,218,10,247,170,15, -50,109,193,124,196,26,76,31,114,137,28,98,135,184,131,175,81,104,88,194,229,225,44,231,82,138,166,72,74,195,3,59,55,108,115,202,115,36,180,193,72,106,0,199,246,111,61,122,251,199,111,197,103,244,123,97,28,1,111,54,36,239,104,103,242,223,224,31,154,104, -10,48,7,240,177,219,62,231,246,161,94,172,16,164,35,52,249,218,222,16,5,104,131,246,188,37,123,131,131,86,0,196,203,115,249,43,143,45,129,195,24,67,65,221,142,103,221,46,182,81,165,1,98,1,80,246,38,43,246,26,226,101,1,120,81,166,85,217,177,173,71,130, -144,65,49,171,62,42,124,128,150,21,134,204,222,164,235,223,249,242,228,191,120,45,144,217,69,214,178,143,28,70,0,19,24,233,40,32,111,211,6,241,202,127,89,8,126,245,113,133,200,222,143,136,237,31,17,1,160,141,152,149,82,135,18,130,67,181,194,125,89,0, -94,156,0,232,23,120,134,102,179,249,235,17,128,9,19,38,192,59,223,249,206,152,182,172,169,75,67,169,119,178,110,237,223,246,242,196,143,188,48,28,50,88,157,63,127,254,175,124,82,161,71,186,231,200,203,63,99,234,231,229,216,252,127,248,207,255,19,96,0, -221,83,18,25,240,8,112,38,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; - -const char* projectIconXcode_png = (const char*) temp_binary_data_31; - -//================== projectIconXcodeIOS.png ================== -static const unsigned char temp_binary_data_32[] = -{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,128,0,0,0,128,8,6,0,0,0,195,62,97,203,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,100,121,113,201,101,60,0,0,3,134,105,84,88,116,88,77,76, -58,99,111,109,46,97,100,111,98,101,46,120,109,112,0,0,0,0,0,60,63,120,112,97,99,107,101,116,32,98,101,103,105,110,61,34,239,187,191,34,32,105,100,61,34,87,53,77,48,77,112,67,101,104,105,72,122,114,101,83,122,78,84,99,122,107,99,57,100,34,63,62,32,60, -120,58,120,109,112,109,101,116,97,32,120,109,108,110,115,58,120,61,34,97,100,111,98,101,58,110,115,58,109,101,116,97,47,34,32,120,58,120,109,112,116,107,61,34,65,100,111,98,101,32,88,77,80,32,67,111,114,101,32,53,46,54,45,99,48,49,52,32,55,57,46,49,53, -54,55,57,55,44,32,50,48,49,52,47,48,56,47,50,48,45,48,57,58,53,51,58,48,50,32,32,32,32,32,32,32,32,34,62,32,60,114,100,102,58,82,68,70,32,120,109,108,110,115,58,114,100,102,61,34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,49,57, -57,57,47,48,50,47,50,50,45,114,100,102,45,115,121,110,116,97,120,45,110,115,35,34,62,32,60,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,32,114,100,102,58,97,98,111,117,116,61,34,34,32,120,109,108,110,115,58,120,109,112,77,77,61,34,104,116, -116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,109,109,47,34,32,120,109,108,110,115,58,115,116,82,101,102,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47, -115,84,121,112,101,47,82,101,115,111,117,114,99,101,82,101,102,35,34,32,120,109,108,110,115,58,120,109,112,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,34,32,120,109,112,77,77,58,79,114,105,103, -105,110,97,108,68,111,99,117,109,101,110,116,73,68,61,34,120,109,112,46,100,105,100,58,51,51,101,53,51,101,51,102,45,98,98,100,52,45,52,48,99,99,45,98,54,100,55,45,53,100,52,100,102,52,50,56,99,56,52,54,34,32,120,109,112,77,77,58,68,111,99,117,109,101, -110,116,73,68,61,34,120,109,112,46,100,105,100,58,49,51,54,56,69,69,55,52,52,67,55,57,49,49,69,52,57,54,50,67,65,49,51,66,54,69,53,52,48,69,51,54,34,32,120,109,112,77,77,58,73,110,115,116,97,110,99,101,73,68,61,34,120,109,112,46,105,105,100,58,49,51, -54,56,69,69,55,51,52,67,55,57,49,49,69,52,57,54,50,67,65,49,51,66,54,69,53,52,48,69,51,54,34,32,120,109,112,58,67,114,101,97,116,111,114,84,111,111,108,61,34,65,100,111,98,101,32,80,104,111,116,111,115,104,111,112,32,67,67,32,50,48,49,52,32,40,77,97, -99,105,110,116,111,115,104,41,34,62,32,60,120,109,112,77,77,58,68,101,114,105,118,101,100,70,114,111,109,32,115,116,82,101,102,58,105,110,115,116,97,110,99,101,73,68,61,34,120,109,112,46,105,105,100,58,97,101,56,50,49,51,51,49,45,49,102,97,102,45,52, -54,50,98,45,98,55,53,49,45,100,52,97,48,53,100,55,52,102,56,54,100,34,32,115,116,82,101,102,58,100,111,99,117,109,101,110,116,73,68,61,34,97,100,111,98,101,58,100,111,99,105,100,58,112,104,111,116,111,115,104,111,112,58,55,51,55,51,98,57,100,51,45,57, -52,100,100,45,49,49,55,55,45,97,53,100,98,45,56,53,99,49,100,48,98,53,54,97,53,50,34,47,62,32,60,47,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,62,32,60,47,114,100,102,58,82,68,70,62,32,60,47,120,58,120,109,112,109,101,116,97,62,32,60,63, -120,112,97,99,107,101,116,32,101,110,100,61,34,114,34,63,62,236,65,16,56,0,0,66,207,73,68,65,84,120,218,236,125,7,124,28,213,157,255,247,189,153,45,146,44,201,189,247,130,113,5,108,156,64,232,112,148,4,114,144,0,151,127,192,164,28,185,75,15,23,184,75, -46,151,92,146,203,125,46,201,229,18,72,114,185,112,164,83,19,122,66,9,189,184,226,130,141,193,54,238,189,219,146,37,89,109,87,187,51,239,255,126,175,204,188,93,175,100,201,182,44,147,67,254,140,87,154,157,157,153,157,95,251,254,234,99,66,8,28,237,79, -54,155,197,186,117,235,112,44,231,120,247,231,216,127,70,140,24,129,190,125,251,30,213,103,253,99,185,240,182,109,219,112,206,57,231,32,12,195,82,111,179,191,160,103,124,82,115,248,93,119,221,133,217,179,103,159,120,6,32,194,55,53,53,21,19,157,153,7, -198,138,24,129,157,36,132,20,37,24,149,181,67,104,230,236,19,69,191,159,52,63,185,92,238,168,63,235,31,235,197,57,231,86,3,216,7,233,129,177,4,4,147,175,224,116,72,187,12,64,166,131,177,19,70,123,198,125,230,247,26,152,146,215,100,246,250,249,166,3,25, -17,230,133,115,79,97,194,103,129,207,145,15,114,97,91,155,64,80,226,121,133,237,48,83,143,252,176,99,120,134,254,241,186,7,67,104,143,110,103,236,236,187,127,81,54,248,212,247,136,48,203,132,124,84,34,16,44,204,67,120,105,166,158,24,103,180,15,26,59, -112,253,105,250,18,234,105,6,66,171,15,121,144,134,22,250,25,139,208,188,202,207,49,63,230,39,218,79,223,95,189,111,88,48,204,135,96,30,139,153,12,230,90,158,207,253,138,1,41,97,5,91,126,38,215,176,47,43,68,62,100,92,31,19,10,17,244,43,99,45,233,48,104, -14,155,247,29,100,109,123,119,121,117,27,215,182,237,95,179,98,235,186,55,223,58,80,223,92,47,63,156,112,24,33,124,39,152,137,19,197,0,242,193,136,68,217,128,177,19,122,141,152,62,33,200,182,90,242,33,144,132,171,42,227,168,72,49,236,105,12,52,221,153, -33,178,101,4,58,90,40,110,32,65,140,137,44,153,130,132,148,39,25,2,41,146,220,220,181,58,132,195,97,16,161,206,37,138,245,141,48,12,192,228,123,249,124,244,187,210,96,169,170,232,88,97,62,223,36,207,117,136,180,90,197,68,169,225,128,228,168,60,6,164, -90,197,229,87,109,93,153,223,248,204,189,243,158,125,248,158,93,251,14,214,200,143,36,229,150,119,52,194,255,73,6,136,85,191,126,32,21,34,159,9,69,62,43,127,109,83,18,173,68,69,62,216,193,149,62,6,246,242,176,237,64,6,105,159,33,116,45,108,94,211,94, -169,106,197,0,6,70,48,205,0,138,54,121,173,61,194,0,145,212,179,80,196,166,154,185,26,193,144,148,24,34,208,196,229,30,115,172,125,104,152,38,175,52,129,58,78,104,13,196,60,33,191,12,253,29,64,100,243,104,149,23,220,84,159,101,235,243,125,167,15,31,114, -211,127,93,123,235,197,31,91,245,204,207,190,250,242,171,243,158,119,152,0,39,147,89,232,180,9,63,142,26,192,50,64,185,8,67,95,17,144,136,33,31,58,109,82,240,48,176,66,50,64,165,103,121,2,134,222,32,245,203,36,67,208,63,110,237,153,145,110,230,226,5, -171,44,98,122,199,234,157,46,151,13,141,66,102,218,46,10,125,30,70,210,30,26,45,65,247,100,142,103,14,3,146,201,209,247,33,52,19,24,13,197,36,24,32,156,147,240,184,252,114,33,118,238,111,192,195,111,39,167,141,187,234,107,143,207,190,225,163,95,52,103, -72,26,97,98,239,52,239,135,31,199,115,49,243,16,210,242,129,123,220,216,96,230,216,239,129,85,28,30,215,196,137,30,184,135,66,66,105,11,160,143,49,68,35,6,226,9,115,62,251,158,18,119,195,52,134,201,152,97,152,8,19,9,251,158,36,162,175,223,183,231,87, -92,24,144,86,208,12,24,169,50,69,116,166,180,142,58,187,48,231,246,61,121,15,30,146,41,15,62,15,240,232,146,3,169,202,51,63,118,199,151,190,240,185,175,152,111,144,120,39,50,193,241,198,0,6,7,144,32,51,120,9,46,109,191,64,155,180,223,45,210,118,79,24, -232,99,71,93,160,126,103,48,42,159,176,153,208,106,183,45,208,39,72,250,26,16,230,115,26,59,72,8,169,25,70,30,31,228,181,253,166,143,166,19,250,184,214,140,196,8,146,81,146,242,111,73,39,100,114,161,50,19,33,17,217,115,181,132,84,237,92,51,85,62,8,245, -181,67,109,158,104,127,66,158,55,32,207,128,62,47,49,64,32,143,11,233,166,228,245,149,214,9,57,114,121,105,28,66,174,110,252,183,207,111,196,215,175,255,240,191,221,122,11,227,183,255,228,127,126,224,128,195,252,59,5,24,250,221,160,81,120,144,149,15, -49,35,159,44,23,144,152,15,83,70,166,80,38,31,205,184,254,62,134,87,123,216,221,80,134,65,85,30,42,229,155,13,45,2,155,106,115,104,106,13,113,214,152,20,106,91,66,188,181,187,77,61,240,65,18,51,12,170,228,168,74,113,52,181,133,138,113,70,244,246,208, -34,25,227,144,84,247,75,182,182,33,35,95,175,61,45,13,82,56,27,106,114,138,193,166,13,73,32,37,191,89,133,84,204,41,201,132,229,242,218,89,201,12,135,228,185,15,202,235,120,82,221,12,168,224,138,216,181,205,129,250,236,238,250,60,182,29,204,161,74,122, -42,3,202,25,202,229,189,85,38,5,164,213,146,204,16,160,174,37,135,150,140,143,254,242,196,217,22,134,250,6,121,190,186,60,94,88,178,14,223,249,228,167,190,197,189,100,217,15,111,191,227,223,13,19,16,187,228,222,9,76,224,31,103,19,96,98,3,208,210,79,160, -77,74,243,213,211,211,152,57,34,137,62,210,11,200,72,9,254,127,51,24,106,228,131,175,109,22,146,56,66,238,243,208,86,225,225,194,9,41,212,183,10,52,74,230,33,105,191,229,194,74,72,97,68,43,57,227,82,26,155,228,235,182,131,1,250,72,194,85,101,56,54,247, -202,35,95,198,112,237,25,229,242,124,33,114,114,255,250,253,121,244,151,76,243,129,41,101,72,74,233,111,206,210,103,73,162,233,6,53,45,154,36,211,212,52,5,138,1,166,15,75,160,190,133,152,198,199,235,59,164,135,114,48,143,27,103,149,99,84,95,31,141,217, -64,106,175,16,89,169,5,242,249,4,154,37,3,108,219,31,162,158,37,80,229,37,177,55,76,161,45,219,136,123,158,127,27,255,246,15,95,250,74,46,8,189,159,252,228,39,223,118,158,235,73,239,33,248,221,112,78,198,165,228,121,242,225,11,41,3,68,240,239,62,223, -40,213,187,192,215,47,171,82,232,252,235,79,53,160,140,92,58,66,222,242,111,146,192,132,84,223,79,175,108,85,158,129,111,240,195,107,91,106,145,205,107,226,91,242,229,66,253,25,58,34,41,143,243,165,150,249,232,111,107,212,126,210,26,9,185,239,254,165, -205,120,112,121,139,14,244,144,41,32,196,79,102,70,104,230,36,179,148,183,110,163,113,253,232,149,24,134,84,255,151,31,203,202,243,72,147,164,76,73,168,204,139,252,148,116,69,115,200,181,101,228,247,106,65,144,105,129,200,100,228,107,128,178,29,91,49, -251,146,83,113,235,151,111,185,77,2,198,228,29,119,220,241,175,206,243,56,169,153,160,59,24,64,114,0,39,103,46,14,250,200,95,200,11,104,150,18,60,168,23,87,132,43,243,227,168,177,205,37,121,41,166,247,8,13,198,114,4,210,200,78,219,160,14,35,132,201,21, -3,8,27,69,20,68,116,185,209,133,184,80,224,173,44,193,141,75,40,191,160,10,240,232,107,209,123,66,114,129,122,91,157,39,52,84,177,129,33,249,183,60,103,168,2,66,80,120,130,190,128,186,30,29,35,17,99,82,110,66,110,121,225,203,195,165,71,19,250,168,175, -107,192,171,111,238,192,228,209,3,240,249,207,127,254,139,158,231,37,127,244,163,31,125,205,73,146,157,180,76,192,187,229,164,92,19,94,187,116,177,75,70,23,43,79,176,8,121,235,141,8,161,9,236,41,39,223,184,120,146,80,68,120,30,121,13,92,159,135,105,207, -65,123,3,218,231,87,104,157,179,248,149,105,169,214,239,9,115,29,131,230,5,139,206,99,99,6,234,54,67,199,53,204,17,199,10,27,164,212,177,9,17,123,22,244,5,184,84,113,140,123,138,145,146,146,3,231,173,220,142,192,60,206,207,124,230,51,159,254,246,183, -191,253,19,201,8,105,227,30,39,0,231,116,127,233,12,96,133,74,61,120,243,128,61,41,241,153,156,208,129,62,196,62,120,32,193,29,231,250,193,210,62,158,224,42,210,167,136,174,159,117,76,72,218,103,93,70,30,187,123,214,141,19,134,232,134,37,244,231,120, -76,112,102,142,85,76,5,27,47,136,239,213,146,71,223,131,245,71,227,239,160,54,227,122,170,71,71,76,201,137,1,18,216,184,189,22,251,234,90,81,213,171,66,221,199,13,55,220,112,211,247,190,255,253,187,82,233,116,149,235,29,157,108,76,208,125,12,32,156,32, -143,121,200,244,224,73,253,147,102,176,118,220,35,141,224,67,109,194,70,214,3,22,153,5,97,205,116,88,152,86,36,201,211,177,128,248,98,156,179,66,127,30,78,48,200,156,72,41,35,19,8,82,199,135,90,43,232,107,11,163,21,76,228,49,20,135,197,247,84,192,202, -106,37,82,69,146,1,164,164,163,190,57,131,205,123,234,80,217,171,28,233,116,90,93,227,67,215,92,115,237,15,255,235,135,191,173,168,168,232,103,110,43,105,52,2,255,139,102,0,114,3,67,199,19,86,196,147,95,191,77,62,80,10,1,115,43,133,86,197,131,21,70,245, -96,136,19,196,24,141,217,176,161,97,170,136,32,196,76,121,109,58,132,139,235,34,149,206,98,173,16,49,136,171,33,226,172,38,12,195,168,248,129,141,100,90,166,9,153,9,86,25,179,102,76,146,13,106,5,18,44,110,216,81,139,116,89,153,98,128,50,249,74,223,229, -138,43,46,191,226,246,219,111,191,191,111,223,190,195,205,87,116,53,1,251,139,100,0,146,106,82,249,42,26,40,152,145,52,224,144,116,241,18,62,161,126,22,135,239,185,19,161,227,218,123,136,34,115,242,213,151,234,216,179,82,199,153,81,205,208,193,32,131, -7,132,77,137,90,102,241,28,149,110,164,221,134,142,137,208,42,83,200,221,76,36,140,249,113,24,82,69,255,98,18,209,125,69,215,54,121,9,205,25,60,194,57,219,247,214,41,85,150,74,165,10,152,224,162,139,46,58,239,103,63,251,217,131,195,135,15,31,239,132, -142,189,118,211,228,93,252,105,167,32,167,39,189,0,253,176,148,212,8,109,187,185,199,213,243,202,153,52,176,146,121,227,34,4,57,104,109,224,49,99,199,13,54,247,180,41,176,201,31,37,229,204,18,59,78,2,121,73,141,13,116,118,80,159,131,176,131,16,214,101, -100,176,31,177,192,175,176,214,195,102,2,205,125,48,173,145,66,226,144,64,187,144,214,210,48,3,4,9,34,82,185,3,243,180,38,224,242,75,215,54,52,171,243,86,86,86,66,170,125,85,50,151,145,174,34,21,205,204,154,53,235,12,201,4,143,220,122,235,173,31,223, -188,121,243,27,134,9,114,208,122,14,163,71,143,22,201,100,18,109,109,109,71,204,239,7,65,16,21,129,208,177,246,90,180,63,33,241,8,49,132,122,6,148,195,144,127,119,116,62,191,123,20,139,126,184,140,91,233,211,162,73,97,93,223,51,234,29,134,57,12,106,103, -38,237,171,81,62,43,192,18,148,241,99,38,23,16,102,69,204,44,70,157,107,242,57,121,4,206,34,60,161,222,229,90,5,132,197,169,228,8,245,81,86,145,233,116,113,232,228,18,40,20,28,88,198,48,218,197,104,33,63,73,9,46,102,56,146,43,6,63,212,162,137,242,230, -138,21,88,248,218,107,216,179,103,15,202,203,203,113,202,41,167,96,242,228,201,152,49,99,198,41,119,222,121,231,195,183,221,118,219,39,87,173,90,53,215,9,29,7,253,251,247,199,79,127,250,83,65,175,173,173,173,237,18,205,247,125,117,94,42,199,35,236,65, -4,62,237,180,211,176,110,237,90,28,60,120,16,35,71,141,82,159,39,70,34,45,52,102,204,24,245,122,98,53,64,164,146,153,2,95,194,213,12,44,70,229,42,234,35,12,0,52,118,62,84,17,100,253,62,61,124,101,22,210,60,2,123,44,197,148,70,16,110,226,213,160,250,32, -31,42,109,16,3,4,125,13,197,88,70,43,69,230,37,20,198,199,23,6,4,198,26,37,82,48,66,19,59,74,47,91,240,106,235,24,12,179,209,47,94,34,137,129,189,24,110,249,210,23,112,223,253,191,87,196,176,63,100,18,102,206,156,137,171,175,190,154,204,193,240,223,252, -230,55,15,125,237,107,95,251,187,151,94,122,233,73,203,4,175,191,254,122,32,221,71,252,238,119,191,19,189,123,247,70,75,75,75,73,38,32,162,211,70,210,205,13,0,141,10,156,142,194,20,248,221,168,0,244,195,226,154,9,236,67,165,176,46,69,214,148,137,224, -136,129,154,5,118,66,68,40,93,171,107,22,87,24,26,198,224,158,208,102,193,115,188,3,147,124,130,136,3,75,164,105,72,250,121,16,155,27,29,64,130,49,17,49,222,176,231,38,77,64,166,75,129,63,207,42,232,168,52,65,51,129,101,110,242,68,228,121,37,223,225, -125,19,251,97,199,107,15,226,158,87,95,61,236,113,144,122,94,184,112,161,218,198,141,27,135,15,126,240,131,125,62,247,185,207,221,83,93,93,125,203,19,79,60,113,95,62,79,241,74,240,183,222,122,43,148,251,241,163,31,253,72,12,25,50,4,205,205,205,37,237, -189,85,241,170,130,201,252,30,165,74,79,6,16,104,137,105,165,5,44,70,224,20,11,8,173,93,55,25,62,173,189,227,116,175,253,172,2,127,70,234,172,202,214,96,157,69,238,101,4,204,28,215,47,70,254,113,204,65,69,1,45,179,145,196,7,135,223,51,99,177,148,171, -247,77,80,42,58,214,137,39,40,76,67,196,207,11,12,27,80,133,244,129,165,120,165,4,241,139,127,54,109,218,132,31,255,248,199,248,236,103,63,91,46,255,252,229,53,215,92,243,208,229,151,95,126,153,244,18,136,221,194,69,139,22,137,235,174,187,142,45,93,186, -84,97,137,119,102,28,32,140,226,36,234,193,43,155,111,226,240,9,131,1,20,170,102,142,51,36,52,14,160,232,159,34,122,16,71,4,85,48,8,49,162,143,136,235,32,120,197,32,194,197,1,60,246,223,13,168,227,60,118,39,41,216,67,140,160,204,16,115,98,16,194,68,14, -61,3,242,24,51,140,104,181,128,214,38,154,97,164,251,39,193,252,41,125,242,120,93,21,7,117,254,103,255,254,253,120,236,177,199,240,252,243,207,127,80,218,235,103,174,191,254,250,23,102,207,158,253,137,137,19,39,246,150,54,94,220,116,211,77,120,77,226, -136,170,170,170,119,30,3,8,235,114,121,214,21,212,196,37,19,117,40,43,76,205,31,139,142,139,2,60,158,245,177,161,64,22,17,133,106,0,21,202,246,221,114,174,200,147,143,24,69,17,215,115,36,95,56,197,35,145,173,142,25,34,138,38,250,110,20,194,122,35,92, -135,178,125,253,190,5,155,113,181,146,62,121,78,222,199,153,163,164,203,87,179,20,219,118,238,61,170,103,117,232,208,33,188,242,202,43,248,213,175,126,117,158,52,1,191,61,247,220,115,151,222,124,243,205,223,146,192,110,220,45,183,220,130,151,95,126,89, -1,201,119,86,46,192,99,38,198,175,37,43,52,68,106,205,9,147,35,128,99,219,227,232,157,181,245,204,85,233,140,21,72,187,213,0,156,91,70,51,72,220,134,119,141,219,103,189,2,91,113,108,85,182,214,6,194,184,132,214,244,24,162,115,30,49,67,4,92,109,46,195, -220,88,156,151,128,42,34,185,104,124,2,43,151,47,138,98,17,71,91,162,77,46,156,100,0,220,119,223,125,227,37,104,252,182,100,132,55,36,86,248,221,115,207,61,119,30,153,13,138,41,188,115,76,128,64,4,252,44,33,73,181,55,102,132,42,10,213,217,184,184,238, -46,162,186,249,156,102,26,77,64,10,42,217,50,95,110,8,8,83,2,174,131,61,177,137,160,232,99,24,88,155,206,34,149,239,170,111,197,156,96,5,173,43,81,82,137,199,196,182,132,6,119,253,127,68,39,11,37,120,31,232,31,194,134,165,207,99,213,219,27,10,241,196, -49,48,2,197,2,38,76,152,64,113,129,202,1,3,6,124,92,2,197,185,210,76,204,221,188,121,243,199,36,99,84,146,71,161,163,150,39,117,58,88,63,76,178,157,22,160,210,133,106,90,132,242,2,124,66,231,182,2,152,171,138,171,72,69,171,162,79,83,181,77,229,95,161, -169,7,180,193,27,37,249,78,255,17,115,218,78,60,223,162,121,85,223,31,217,254,168,183,192,154,39,121,78,93,138,104,60,3,232,207,68,149,199,170,38,208,154,12,174,99,118,100,107,2,68,145,77,226,207,81,213,1,214,47,88,133,108,59,193,27,119,95,103,251,39, -233,51,228,195,147,237,31,59,118,172,10,248,72,76,112,222,239,127,255,251,243,250,244,233,243,205,179,207,62,251,62,249,222,147,210,255,127,11,113,213,209,73,198,0,208,126,117,104,220,56,229,206,65,215,97,38,19,26,232,229,77,97,135,170,211,163,18,241, -80,196,182,56,10,251,234,24,130,242,209,121,164,8,116,70,80,104,2,210,131,37,156,160,162,129,166,152,211,154,134,40,250,103,65,129,169,10,178,45,7,220,198,248,141,70,144,119,172,25,81,232,96,147,200,235,64,149,174,95,231,170,150,192,154,149,68,194,71, -185,124,122,43,222,124,171,211,132,165,243,86,86,247,65,42,93,142,134,186,3,138,208,165,142,163,239,36,93,67,69,124,250,123,248,240,225,170,1,180,166,166,102,220,75,47,189,244,173,214,214,214,111,13,26,52,232,205,145,35,71,254,90,190,62,156,76,36,246, -230,74,156,171,231,226,0,86,186,66,146,94,83,169,109,98,20,41,146,104,129,56,69,203,161,154,62,136,192,54,240,195,152,115,142,192,137,206,9,199,107,96,186,239,76,249,236,73,99,243,67,39,8,101,19,248,92,167,112,133,45,92,87,230,37,212,62,190,99,26,52, -211,112,85,156,42,28,70,12,178,161,202,9,8,91,71,192,169,208,149,99,104,31,31,245,111,189,132,218,250,166,46,212,73,48,36,123,15,130,72,244,66,101,144,69,109,77,77,187,12,96,253,123,171,17,232,71,106,0,72,179,160,130,68,59,119,238,60,109,241,226,197, -63,149,38,226,235,101,233,244,195,146,73,126,157,72,38,87,116,213,60,116,27,3,112,35,241,214,223,231,92,151,118,81,173,133,159,148,186,171,77,152,200,32,21,219,234,232,94,190,45,84,238,161,151,50,5,58,57,91,252,97,170,139,60,68,161,89,21,182,117,77,129, -219,94,38,68,65,240,70,55,2,177,232,198,40,178,168,202,190,173,218,119,178,190,186,231,128,71,218,192,75,114,221,165,68,102,37,208,193,159,16,73,140,74,236,193,220,215,94,42,32,90,177,218,63,12,232,201,239,223,90,187,11,101,149,213,104,168,175,87,251, -250,245,235,135,94,189,122,97,239,222,189,42,96,100,51,147,54,224,195,109,33,12,116,19,40,105,6,10,7,83,120,153,76,132,252,220,160,199,30,127,252,11,190,231,125,122,198,204,153,191,28,50,100,200,29,18,71,108,108,235,164,70,232,22,6,208,234,159,50,121, -44,46,212,48,78,63,183,136,158,91,162,8,83,245,67,154,192,184,141,161,137,238,155,136,161,138,223,91,83,194,227,115,18,232,227,54,75,231,214,15,68,133,30,70,221,187,193,41,83,120,66,140,69,166,35,210,58,42,61,109,35,127,38,60,140,56,226,39,76,81,10,157, -174,119,101,10,193,182,185,216,178,125,143,10,197,146,100,82,210,135,98,240,132,230,219,99,4,218,215,220,212,168,54,251,67,4,149,170,28,147,38,77,130,4,122,104,104,104,80,175,68,96,174,180,77,16,167,157,205,70,223,157,174,71,191,15,29,58,20,195,134,13, -163,208,115,98,197,138,21,159,123,227,141,55,110,184,242,202,43,191,51,126,252,248,59,58,131,59,186,205,13,140,130,39,208,42,62,215,42,84,34,136,170,116,41,145,165,136,111,187,125,242,90,12,19,41,29,3,16,70,10,20,97,13,162,143,138,60,172,91,103,64,38, -108,18,201,48,69,84,20,18,67,255,168,57,37,170,1,48,226,206,125,74,53,115,211,84,194,226,54,79,227,119,234,235,113,181,41,55,82,186,47,82,205,226,194,222,27,177,114,254,147,234,112,202,196,17,114,167,168,29,37,114,164,74,86,127,219,80,109,41,38,112,55, -34,248,188,121,243,176,100,201,18,149,180,153,62,125,58,36,17,241,200,35,143,96,203,150,45,145,139,72,155,213,10,238,70,146,78,154,131,174,75,249,134,49,99,198,244,150,159,189,125,213,170,85,223,164,123,58,18,19,116,79,65,72,62,78,236,208,13,144,43,71, -132,77,153,160,74,32,98,184,168,10,71,120,236,57,16,243,248,190,174,27,180,46,155,46,202,140,85,186,27,224,81,89,65,235,54,134,69,104,219,168,126,93,184,195,11,195,229,70,105,144,231,192,173,6,48,69,35,220,179,26,201,4,138,76,45,161,4,27,232,143,90,148, -237,91,140,183,223,94,171,206,105,115,254,214,94,83,208,134,166,117,208,102,125,247,246,152,193,101,8,74,30,81,28,96,249,242,229,138,169,136,49,136,17,44,30,176,76,208,30,51,144,121,32,13,68,222,195,140,25,51,240,226,139,47,254,219,161,67,135,206,37, -13,213,35,110,160,193,80,17,160,242,18,42,181,174,186,131,19,190,78,160,168,206,28,147,254,181,85,56,42,26,24,37,115,16,213,3,184,231,181,7,232,191,37,195,164,88,97,174,223,139,43,130,192,29,147,96,42,149,169,68,189,34,201,85,60,129,42,149,147,38,181, -108,110,56,82,247,186,189,45,174,77,8,67,142,65,126,61,230,191,244,50,178,185,188,34,20,61,96,75,124,215,221,35,127,157,54,82,241,68,152,206,152,7,251,217,179,206,58,11,117,117,117,74,170,173,45,183,239,187,102,160,88,155,168,74,106,201,8,116,93,98,192, -133,11,23,222,54,101,202,148,249,39,190,34,200,216,219,48,116,170,109,228,127,77,173,218,69,75,250,142,83,110,9,199,11,213,176,173,199,211,121,3,166,107,7,77,152,22,70,43,184,1,26,85,243,31,37,157,204,3,49,24,209,208,85,225,138,114,73,248,51,135,167, -84,191,192,231,47,168,194,128,10,15,153,54,17,39,130,204,185,40,8,164,43,145,226,234,173,132,188,113,105,254,165,235,183,82,221,91,169,232,156,27,4,34,34,17,96,43,54,15,71,138,11,144,102,33,187,78,218,132,8,90,74,250,59,210,8,100,18,8,92,110,219,182, -237,125,242,247,222,61,144,14,182,89,190,56,220,70,68,200,72,149,74,157,63,194,20,95,112,203,201,102,24,132,125,38,249,156,205,4,138,8,226,51,91,196,97,63,231,196,5,108,64,200,101,10,1,75,60,97,29,74,117,254,102,233,214,253,245,244,94,170,79,241,210, -83,211,152,53,34,137,79,255,161,22,117,173,129,234,33,160,36,144,66,253,38,222,15,21,11,144,96,76,94,119,72,149,143,218,215,254,136,3,117,141,145,132,119,68,72,151,17,172,121,32,166,33,169,38,141,64,64,174,148,247,64,90,195,130,60,218,92,111,128,94,75, -73,127,241,62,210,76,146,121,250,73,151,113,160,188,207,250,19,31,10,102,84,53,195,11,50,119,190,52,3,117,173,66,97,0,43,173,204,77,176,24,137,247,163,170,29,230,212,252,64,5,139,220,92,127,84,92,98,180,136,112,184,40,10,1,131,69,113,4,250,147,36,255, -222,37,205,184,237,226,74,108,174,201,43,183,243,59,87,245,150,151,103,78,37,51,143,170,127,109,141,69,200,210,24,201,118,97,249,188,63,171,191,73,253,119,54,244,235,18,201,154,7,42,250,32,173,64,46,32,105,9,151,17,172,84,19,35,20,75,186,187,207,149, -250,98,109,64,199,73,38,104,148,12,211,208,3,245,0,6,205,219,136,156,177,215,101,82,141,83,195,102,40,226,134,12,170,7,204,59,101,94,136,203,241,163,148,171,245,2,20,234,15,13,35,56,181,3,54,249,20,213,30,176,194,212,164,197,16,116,28,1,209,117,251,243, -88,178,173,77,183,173,189,120,8,103,141,78,225,170,169,101,42,70,97,91,204,21,16,144,91,130,170,145,164,86,232,159,110,67,126,253,211,216,180,101,151,34,88,169,50,43,87,2,59,98,132,98,243,64,234,154,24,194,50,2,17,207,18,186,248,181,61,102,40,222,168, -152,68,158,115,161,188,212,190,19,207,0,78,182,143,251,174,93,214,21,65,170,95,143,122,254,242,20,194,53,189,1,22,128,133,113,35,137,237,31,136,170,134,140,27,224,113,86,160,89,224,164,159,163,44,35,226,250,189,68,74,51,7,161,122,242,80,232,243,15,190, -209,138,115,198,164,84,145,234,61,75,73,35,84,99,72,181,111,204,77,92,237,163,157,71,31,31,24,184,17,111,205,121,52,114,253,44,186,238,12,177,59,99,30,200,52,80,60,129,54,235,255,219,192,143,187,21,19,190,148,70,160,31,98,128,81,163,70,253,134,222,63, -241,12,96,108,190,239,179,168,1,67,251,247,12,123,155,116,168,149,8,172,139,66,52,200,179,1,25,110,250,246,220,180,111,65,70,207,182,120,197,137,185,40,239,160,226,1,161,112,58,143,152,157,59,227,48,138,68,253,242,28,11,54,183,225,205,93,57,220,52,171, -2,247,45,107,65,67,38,196,63,93,82,173,238,89,71,31,133,137,255,39,209,59,216,133,218,213,47,98,229,234,245,138,56,100,203,93,219,223,145,228,119,197,60,208,70,204,69,204,64,102,130,52,130,85,231,29,49,65,49,51,16,190,144,231,216,48,116,232,208,167,123, -134,1,56,67,220,180,99,186,118,168,248,65,62,228,87,54,73,55,197,72,188,16,44,206,8,58,245,30,214,214,199,133,151,113,47,160,103,136,79,132,37,176,168,92,73,95,199,14,10,190,152,173,51,140,147,7,170,200,196,79,113,197,84,212,120,250,208,138,86,92,56, -46,133,1,149,30,190,243,252,33,156,45,53,194,251,39,151,41,173,160,9,35,84,30,104,72,191,10,188,177,108,41,90,36,48,35,226,251,6,164,116,133,224,157,49,15,244,67,231,183,146,108,77,141,245,28,74,105,133,82,90,128,98,8,99,199,142,253,149,212,82,153,158, -169,7,48,4,138,186,106,141,138,38,55,120,95,67,168,30,108,84,159,167,234,235,17,69,240,108,185,152,13,200,196,82,108,58,124,195,184,206,32,46,241,98,81,129,39,227,69,69,38,38,251,167,59,138,153,194,154,212,138,94,46,153,97,222,166,44,118,53,4,184,113, -70,57,86,239,203,227,201,213,173,248,7,233,26,14,239,227,43,51,165,25,201,67,159,240,0,150,189,190,52,170,193,239,12,97,59,139,5,14,175,166,18,135,17,152,142,181,140,64,166,199,18,189,148,102,32,15,67,30,211,32,25,224,94,218,119,164,186,132,238,41,9, -51,42,153,219,50,112,211,46,78,153,192,1,149,60,242,176,84,254,158,9,39,126,239,132,233,194,24,205,11,196,149,194,214,101,212,93,67,113,229,167,78,56,113,179,197,21,192,46,134,160,89,3,215,76,47,195,232,126,62,26,91,132,234,84,186,119,105,11,222,63,41, -141,241,114,223,111,165,119,176,231,80,128,47,73,38,160,10,99,106,12,25,214,55,129,218,229,143,96,95,109,67,228,250,117,69,250,143,198,60,20,171,116,75,96,58,150,250,0,136,25,138,1,163,61,150,74,204,164,237,127,88,50,234,158,30,173,9,180,237,92,214,70, -147,90,157,52,196,199,140,225,190,36,4,211,101,97,162,8,241,59,65,28,91,75,104,235,9,45,209,93,176,24,121,12,110,64,40,234,24,230,81,37,18,129,76,26,235,51,172,183,143,179,70,37,208,183,156,227,195,103,150,99,220,64,31,127,92,153,197,246,186,0,23,142, -79,161,94,50,197,93,175,53,227,2,105,22,46,58,37,141,28,101,253,248,46,188,254,202,19,234,156,132,216,93,130,117,85,250,59,99,30,58,242,2,236,102,205,3,49,163,237,252,177,199,200,247,194,73,147,38,221,213,25,233,239,214,116,112,12,188,180,141,39,87,236, -172,145,62,106,154,141,125,55,197,28,22,164,217,30,0,202,1,144,107,40,172,123,103,155,70,242,218,157,243,19,78,21,169,45,230,48,229,101,186,6,192,96,4,251,31,215,247,208,156,17,248,226,185,105,76,148,68,159,62,36,1,46,247,93,59,173,10,139,182,182,225, -169,85,25,204,158,85,134,23,55,100,177,92,2,195,231,215,101,240,229,243,43,177,181,161,13,109,171,158,193,250,77,219,34,201,43,21,246,45,70,245,71,170,8,42,117,172,187,223,18,221,106,52,27,8,42,126,181,1,31,122,165,26,1,138,0,142,30,61,122,174,116,43, -95,167,64,82,143,105,0,235,194,193,196,241,173,31,62,160,23,71,191,94,78,109,61,139,59,116,237,241,81,153,151,129,242,81,229,47,180,87,97,27,65,56,143,187,120,184,169,3,136,152,202,101,64,202,163,75,70,57,127,108,10,147,6,249,248,222,75,205,184,103,89, -43,238,127,51,131,239,191,220,136,105,67,19,106,92,13,77,24,185,102,106,90,93,248,55,75,90,145,151,143,230,182,179,115,88,244,220,131,42,112,69,210,111,193,95,103,84,254,209,154,7,85,225,84,132,236,59,138,11,216,92,131,173,32,154,58,117,234,157,150,73, -221,90,130,19,238,6,90,20,239,249,60,74,219,54,102,5,122,167,89,97,98,135,21,206,13,84,12,228,105,98,219,190,1,238,179,120,76,140,241,247,57,115,43,135,68,20,25,228,166,98,215,154,22,106,68,185,112,108,2,103,74,237,179,116,71,30,141,109,148,139,224,72, -39,57,234,165,86,120,224,141,22,92,53,37,133,38,121,111,151,72,51,208,175,194,67,131,252,253,206,197,1,246,174,154,139,149,43,150,41,41,179,174,95,41,162,117,197,246,119,134,65,138,137,94,10,244,217,125,54,11,72,219,192,129,3,55,15,31,62,252,73,171,254, -59,99,2,186,205,11,224,214,167,231,113,254,158,122,2,42,146,204,212,226,197,45,90,22,55,216,72,94,224,116,237,68,101,120,220,121,160,34,110,2,133,163,146,221,33,147,244,7,149,25,244,175,224,248,216,172,52,54,213,4,248,243,218,44,46,59,37,137,143,206, -72,171,49,113,205,25,154,94,234,169,74,229,159,47,108,86,73,172,179,37,70,160,176,112,125,115,22,119,253,230,110,228,164,59,96,115,254,71,146,234,174,16,189,35,112,88,74,3,180,183,143,84,61,49,1,189,78,159,62,253,215,82,75,181,30,169,50,233,4,96,128, -56,80,99,103,254,210,11,205,92,164,25,65,30,215,42,219,43,74,224,48,167,118,46,234,197,51,109,219,194,57,159,26,63,199,109,205,64,220,88,26,37,111,77,167,79,78,30,119,211,57,105,149,134,62,67,130,207,113,253,61,188,176,177,13,67,164,39,242,145,211,203, -176,122,79,14,127,53,33,137,21,210,238,255,105,101,70,205,23,36,6,120,126,51,67,159,198,85,120,104,238,11,234,65,82,188,190,35,187,222,85,76,208,158,237,47,54,1,197,233,95,215,246,219,191,41,226,71,12,80,93,93,221,120,202,41,167,220,77,191,219,132,81, -143,153,0,11,242,108,107,149,106,239,146,87,162,190,128,132,105,9,211,21,91,113,143,159,173,4,98,204,121,63,202,234,197,211,195,84,178,136,10,76,60,237,106,18,96,140,122,248,28,70,162,156,255,196,65,30,46,155,152,196,27,59,243,104,144,46,223,148,193, -62,190,124,110,25,166,201,215,71,222,202,96,214,200,4,38,203,223,151,201,247,169,191,255,161,229,173,18,32,38,49,91,122,8,155,23,60,130,61,53,245,42,42,231,130,191,142,84,127,71,230,161,51,154,194,22,173,180,23,242,45,54,1,4,250,104,35,0,56,109,218,180, -71,165,166,218,229,50,101,143,121,1,182,15,47,52,225,216,48,64,60,141,27,49,208,11,133,112,202,183,53,5,195,144,69,133,32,206,12,9,43,254,17,184,39,230,9,37,99,249,166,103,32,12,227,66,17,107,66,62,245,222,50,69,120,170,63,40,147,39,218,38,221,189,65, -149,30,46,26,151,196,251,164,164,211,72,218,111,60,213,164,146,66,253,164,73,216,90,23,74,13,17,226,202,161,7,241,141,103,31,141,92,63,27,155,111,79,146,143,69,3,20,239,179,26,128,164,187,56,205,235,166,130,233,213,34,127,201,164,226,244,211,79,255,95, -98,12,123,76,41,237,114,194,24,192,86,33,233,178,42,17,119,235,114,13,202,236,192,168,184,239,62,182,219,65,32,162,182,43,29,22,54,128,49,140,107,194,172,123,201,5,115,240,131,197,4,84,119,16,226,250,211,83,82,157,251,248,234,211,205,24,221,135,227,125, -163,53,193,9,136,110,172,13,48,83,154,132,181,251,3,172,63,24,96,71,125,136,94,9,61,123,248,143,107,4,182,207,253,147,42,204,36,63,219,5,127,71,82,253,199,106,30,236,126,203,0,197,185,127,187,143,54,139,254,201,246,207,156,57,115,126,255,254,253,23,219, -193,18,150,65,58,83,34,222,45,38,32,116,134,55,232,121,65,186,244,75,245,7,82,251,86,188,66,67,225,168,55,81,148,249,19,5,109,0,170,180,60,246,50,226,54,240,168,78,208,212,27,14,235,237,225,211,103,151,225,233,53,109,146,248,30,154,37,211,221,187,60, -139,93,135,66,156,58,208,195,248,126,92,21,166,252,199,139,205,216,211,32,208,43,105,84,141,4,20,85,188,25,143,254,225,190,72,250,75,197,253,187,162,230,143,198,20,116,166,30,192,74,63,197,39,206,62,251,236,59,173,198,136,123,41,89,167,204,64,247,84, -5,27,183,142,179,216,27,32,176,118,176,85,215,223,37,28,23,208,237,245,0,67,97,53,177,208,72,62,254,14,142,185,8,69,220,51,232,184,136,164,97,62,118,102,74,205,27,254,222,139,173,10,11,156,49,44,33,53,128,143,249,91,114,248,245,210,12,170,210,28,247, -190,158,193,150,218,80,197,0,236,72,153,84,170,28,125,235,151,98,249,210,133,138,240,46,248,235,136,168,199,122,76,113,86,176,189,210,47,155,36,34,38,32,6,160,184,127,239,222,189,183,213,212,212,60,97,167,134,184,254,127,143,186,129,182,6,95,152,137, -27,190,188,153,61,13,161,154,26,94,150,112,48,191,155,235,133,169,238,53,146,76,35,87,46,28,147,64,166,77,219,245,168,59,72,216,170,94,17,23,144,82,7,141,36,226,120,137,244,47,59,37,129,31,188,218,138,81,125,57,134,84,115,252,96,78,171,10,69,95,48,54, -129,11,228,249,222,86,137,159,172,106,237,178,207,72,122,206,24,63,128,99,253,171,15,160,161,185,77,17,223,150,119,31,139,116,119,85,3,184,24,160,148,244,211,126,43,253,4,78,37,19,252,118,253,250,245,205,214,77,45,46,21,235,17,6,96,110,144,198,218,66, -41,101,228,6,122,214,190,179,184,128,212,246,240,217,128,16,217,125,90,99,128,212,245,148,33,92,125,78,168,9,99,76,77,15,167,191,169,170,152,50,118,173,121,161,164,156,90,207,137,175,190,114,81,25,94,221,156,199,146,29,1,110,154,153,194,31,87,182,225, -114,233,251,239,107,18,184,123,89,22,147,165,103,112,175,124,109,201,49,154,71,169,52,134,58,63,79,98,120,126,3,230,189,240,164,186,15,59,157,163,35,130,29,43,225,139,53,128,181,217,237,85,249,88,166,32,215,143,24,96,224,192,129,205,203,151,47,191,219, -13,27,119,213,4,248,221,197,0,156,23,78,242,32,16,71,82,74,133,161,129,157,224,229,128,69,34,38,229,232,147,166,163,152,30,197,144,74,29,162,29,80,197,208,175,156,163,82,170,107,210,32,36,233,13,205,161,154,233,63,176,66,75,62,69,242,8,236,141,237,235, -225,159,255,220,130,15,77,77,98,123,125,168,34,136,19,250,115,252,114,73,22,95,189,176,12,139,183,231,21,248,59,117,144,94,175,32,237,67,173,61,80,81,89,134,3,115,30,197,182,221,7,148,244,219,122,255,206,2,185,163,241,12,74,29,99,53,64,49,250,183,199, -218,130,82,51,33,236,79,91,229,15,73,127,113,66,169,24,184,246,64,32,40,174,6,178,95,140,10,65,124,91,167,207,99,183,141,8,63,115,184,135,75,39,36,20,70,32,208,70,29,68,163,165,10,175,78,51,220,126,85,185,10,222,168,26,66,146,124,105,255,179,146,145, -104,225,136,134,140,46,50,37,66,158,34,213,255,47,22,103,212,216,247,51,134,122,248,239,133,89,124,230,236,20,158,223,144,83,190,255,208,42,142,13,7,242,184,247,134,74,84,36,52,106,84,253,138,33,181,108,53,225,242,219,126,175,238,135,154,43,156,245,16, -143,11,35,116,180,207,149,90,203,0,197,184,192,30,67,51,7,9,249,143,25,51,70,108,218,180,233,87,170,241,198,36,132,218,235,29,56,225,12,144,167,121,252,122,49,46,169,150,53,208,243,61,90,229,67,151,134,83,48,40,16,206,236,32,249,178,235,144,192,11,27, -242,56,216,34,212,72,217,205,18,160,253,227,249,105,172,222,23,224,229,141,121,84,151,49,233,211,135,202,4,132,166,161,132,92,186,218,22,205,237,159,57,43,45,205,0,240,192,242,54,252,203,37,101,120,86,18,125,186,100,2,82,239,123,228,185,127,120,101,25, -126,58,191,85,229,3,78,27,146,151,159,13,21,3,209,251,213,149,189,48,102,231,147,88,179,102,181,178,171,164,1,58,202,234,117,133,168,93,101,160,226,206,96,87,3,16,6,32,6,160,247,251,244,233,179,116,206,156,57,11,172,83,228,2,191,158,215,0,198,119,167, -144,111,188,46,131,14,245,53,182,105,137,181,141,27,249,188,246,251,15,52,3,187,27,52,231,19,131,156,62,196,195,240,222,82,253,231,57,182,213,113,37,249,253,202,61,51,47,0,42,168,51,176,156,225,189,35,124,244,149,175,31,57,45,137,219,158,106,193,37,19, -146,138,49,54,73,95,255,31,207,47,195,207,23,101,113,243,44,90,137,36,148,184,2,56,119,84,66,217,151,234,50,221,209,147,149,64,96,100,159,60,30,253,249,221,10,40,246,233,87,165,60,0,91,137,211,89,223,255,120,152,7,55,14,80,172,1,136,192,68,124,178,253, -131,7,15,70,109,109,237,239,234,235,235,219,52,254,213,189,240,197,154,164,51,205,161,221,19,8,242,77,48,200,153,222,17,154,128,207,214,131,66,1,56,238,140,145,167,136,160,42,34,77,198,235,4,82,166,110,123,157,192,168,62,12,219,164,45,167,132,34,73,43, -49,15,125,62,43,127,47,35,115,33,25,234,86,169,41,30,149,96,111,243,193,16,183,158,151,196,255,46,206,226,198,51,210,152,187,53,143,81,189,57,102,141,240,240,213,167,91,84,68,48,36,111,33,167,11,84,200,148,248,233,50,240,221,11,177,120,254,156,168,76, -187,84,206,255,88,84,125,103,181,132,27,227,119,143,183,230,136,24,128,180,192,144,33,67,246,204,159,63,159,26,20,168,58,34,40,198,9,93,73,7,119,107,50,8,44,142,210,217,33,93,68,164,48,100,78,198,80,55,117,70,225,95,19,246,221,44,25,133,180,5,161,245, -141,210,28,164,169,178,135,219,37,95,52,126,216,47,223,63,123,84,82,45,38,117,167,148,244,155,102,36,177,74,154,12,114,31,251,73,173,240,208,91,1,254,235,3,101,248,149,4,128,107,15,4,170,39,64,71,211,244,181,136,9,38,14,101,152,243,196,221,18,84,102, -84,63,29,153,128,174,132,125,143,87,132,208,61,166,216,4,168,248,134,180,251,180,81,123,89,46,151,123,124,231,206,157,84,239,31,53,180,187,94,68,103,165,191,91,221,64,237,211,199,191,211,154,142,231,143,241,165,100,38,116,14,128,199,209,31,110,151,129, -113,42,132,105,237,159,225,210,135,111,203,235,223,147,9,22,133,135,213,146,114,242,248,41,131,56,62,62,51,169,192,30,45,69,67,32,112,161,68,249,31,154,146,192,227,171,219,112,237,212,132,52,45,2,207,172,201,73,208,199,85,0,42,149,208,203,200,16,134, -72,167,83,24,17,108,192,130,23,158,80,15,144,30,238,241,116,239,142,38,80,100,203,187,138,187,127,169,214,143,212,255,176,97,195,178,107,214,172,249,147,60,52,229,38,145,138,221,211,98,183,240,196,71,2,153,25,250,8,51,122,149,98,244,1,133,93,97,202,194, -227,194,145,124,96,87,3,225,241,80,41,201,219,116,44,1,53,10,40,153,230,110,165,73,136,120,196,0,55,191,39,133,13,148,231,151,4,254,180,252,253,149,45,121,140,145,110,32,1,77,98,164,75,198,39,112,151,52,7,106,234,8,119,70,202,153,156,194,160,234,36,246, -45,121,4,91,165,48,185,174,223,241,38,124,103,63,99,99,255,46,225,233,111,114,251,40,248,147,76,38,80,94,150,158,191,97,195,134,141,208,211,198,81,204,4,197,177,128,158,137,4,178,184,162,151,220,44,187,236,11,53,100,28,108,129,146,106,91,44,226,25,117, -76,33,95,242,231,219,114,58,96,68,129,29,2,126,244,62,173,249,71,1,159,86,229,250,65,185,126,148,204,25,39,137,253,227,5,89,124,120,90,18,52,184,123,213,190,80,73,255,179,235,243,248,212,153,105,60,177,170,13,107,247,228,245,92,2,187,120,72,168,187,131, -50,121,31,163,18,181,88,240,231,223,171,253,212,154,229,246,210,31,47,105,238,234,49,197,12,64,91,99,99,163,82,255,67,135,143,196,246,125,117,47,74,19,32,74,213,19,184,94,67,103,195,193,221,131,1,226,5,189,34,73,87,67,16,168,49,20,182,254,79,68,35,255, -170,42,24,6,87,112,244,46,179,96,81,199,11,122,151,105,181,127,213,169,190,10,31,43,66,73,160,88,43,207,243,209,211,19,120,74,74,126,67,6,248,224,228,4,254,115,110,6,215,73,149,191,106,111,32,77,1,87,159,125,124,77,94,74,141,142,36,38,140,186,209,14, -137,196,8,189,202,144,219,240,56,222,92,185,74,73,190,117,253,78,180,205,47,246,4,44,3,184,129,31,98,0,90,140,123,228,25,151,98,238,130,69,13,136,23,155,40,208,30,165,64,96,143,120,1,156,199,21,65,30,143,219,195,67,103,69,143,208,168,117,138,253,151, -73,98,125,224,84,79,217,122,10,0,29,146,18,190,91,250,238,20,221,59,77,186,131,99,250,112,165,29,40,70,64,57,251,143,74,28,177,191,73,224,222,55,218,240,79,23,164,164,207,159,71,223,50,142,83,7,112,220,181,164,13,223,186,56,141,213,251,3,124,238,236, -164,82,251,84,134,54,128,34,134,249,120,197,233,164,31,226,115,55,220,163,122,5,6,247,175,86,89,181,206,128,191,227,77,248,226,207,184,27,105,36,235,250,13,234,223,23,189,166,125,24,205,47,45,228,165,113,215,225,245,2,61,86,18,22,23,115,176,104,153,119, -85,17,36,209,250,188,173,65,212,59,168,204,66,82,155,133,159,44,200,233,41,226,208,37,95,25,73,139,83,6,114,233,1,228,113,223,138,156,178,251,77,210,235,29,223,143,225,178,9,62,254,103,81,27,206,148,102,128,208,254,130,109,121,252,203,133,41,60,188,42, -143,235,166,37,148,219,248,211,5,26,24,210,178,177,180,28,44,153,29,98,40,10,37,251,169,50,140,108,152,135,197,11,230,42,194,19,248,59,154,114,239,238,136,16,186,26,128,202,187,8,252,229,178,45,152,120,230,135,112,168,122,18,173,152,209,110,109,98,169, -10,163,30,203,5,184,171,120,171,102,80,6,69,232,214,92,168,212,186,181,253,54,191,239,155,150,48,213,82,150,16,72,75,6,88,119,32,196,106,105,215,201,93,163,25,211,180,30,240,23,164,84,191,182,45,192,242,93,1,126,120,101,26,191,93,222,134,203,198,251, -42,34,72,231,25,33,61,135,239,190,156,149,174,33,195,150,131,97,84,159,96,163,135,20,73,28,51,64,96,253,227,247,160,161,169,85,181,102,147,235,231,174,187,211,217,26,255,238,208,18,110,237,31,1,63,53,247,167,34,141,161,103,125,20,155,90,57,60,214,190, -244,151,194,40,61,150,14,110,205,198,4,182,68,32,187,60,180,146,171,196,143,91,200,201,189,184,2,72,63,9,157,4,154,187,37,192,65,105,14,72,202,39,72,201,191,110,154,175,242,3,63,156,223,134,27,79,79,98,83,109,136,154,102,224,194,177,190,196,3,121,220, -112,90,2,143,173,202,97,171,36,60,49,11,229,21,104,163,60,1,73,62,5,130,82,169,36,134,181,173,197,146,87,158,82,15,141,192,95,87,64,92,119,164,131,219,99,50,106,242,204,180,74,233,159,254,30,100,6,191,15,249,108,166,228,218,163,46,232,115,193,95,15,102, -3,229,67,79,233,185,187,238,16,70,234,9,160,12,92,232,44,16,17,141,111,1,10,150,148,87,19,69,36,19,16,242,159,49,198,195,172,225,28,211,7,115,252,250,245,156,202,10,158,41,255,254,143,87,179,152,45,25,97,129,212,8,148,230,165,202,30,210,14,212,248,201, -220,233,240,230,106,20,249,27,88,157,192,129,133,143,96,203,142,189,168,146,170,159,74,190,219,171,210,61,30,53,126,93,61,134,164,159,108,63,73,62,165,125,83,82,56,38,92,112,3,118,181,149,195,103,153,118,74,240,60,85,187,96,23,140,42,88,69,164,199,10, -66,16,143,120,177,107,55,16,202,247,157,130,207,104,230,31,139,39,123,115,118,120,74,153,236,248,217,35,61,236,108,16,120,242,237,28,62,49,211,199,203,91,2,181,180,60,165,140,151,239,14,113,245,100,31,191,89,150,147,170,223,41,36,133,179,196,0,105,33, -150,192,48,190,15,139,159,127,72,253,77,182,63,30,31,215,185,218,253,163,61,174,171,26,128,108,63,185,126,227,38,76,132,63,225,253,104,205,180,154,73,40,37,164,216,247,21,241,105,163,223,105,115,51,132,61,18,9,244,61,119,217,87,237,19,14,148,174,158, -90,55,208,47,92,25,52,150,210,56,68,172,92,32,234,39,28,193,113,193,88,79,249,255,63,156,151,195,123,70,248,170,120,115,142,4,147,215,79,245,241,140,244,0,174,145,196,167,194,206,249,114,31,189,199,153,179,108,140,83,156,82,89,158,68,118,237,51,88,181, -250,109,85,236,105,193,223,145,202,181,78,164,121,176,179,129,201,245,163,35,166,94,116,61,246,243,193,82,85,7,49,39,183,99,2,136,1,72,19,88,109,96,235,4,122,132,1,108,92,159,71,75,1,80,124,30,202,37,163,127,158,23,151,120,57,229,125,17,43,16,38,163, -121,66,148,38,30,47,237,62,5,127,40,235,71,225,223,123,86,228,113,214,112,79,73,59,237,63,103,148,135,251,229,62,159,23,47,39,19,179,85,32,125,207,97,233,102,188,249,194,253,200,72,36,72,182,159,30,82,87,164,250,104,106,252,186,90,47,104,179,126,196, -4,67,7,246,69,223,153,215,163,190,41,27,47,178,209,142,9,80,89,84,163,5,44,241,233,245,72,177,128,110,234,13,100,145,20,11,51,47,144,154,56,40,68,155,42,208,10,44,30,202,4,68,19,185,84,246,80,254,71,213,61,164,238,155,164,251,184,190,38,196,127,94,145, -84,46,29,49,204,56,201,20,15,188,149,199,213,147,18,120,92,186,127,111,238,14,20,240,211,229,103,113,151,144,101,190,84,50,133,244,158,133,88,182,120,161,122,56,196,0,197,43,110,30,107,99,103,87,247,149,58,198,70,254,72,51,157,113,254,7,80,223,107,18, -88,144,61,66,220,133,71,140,96,77,0,109,244,61,123,132,1,192,10,123,253,108,0,168,138,166,132,122,14,161,13,226,183,141,159,204,9,215,210,239,59,27,66,41,241,18,220,201,207,77,27,76,141,27,66,217,252,111,95,156,196,14,249,222,184,126,28,213,41,221,50, -112,197,196,132,242,46,220,25,19,209,2,35,160,72,99,128,13,115,238,71,237,161,22,85,241,99,167,124,117,101,156,203,209,48,72,87,204,67,129,235,39,129,207,168,243,111,194,129,70,51,77,149,193,105,123,71,73,208,106,215,20,116,153,224,72,12,208,125,11,71, -242,216,213,163,209,176,94,160,123,2,252,226,134,15,27,58,54,253,131,180,38,32,237,151,90,15,87,158,234,161,66,106,233,87,36,224,163,200,223,149,19,125,233,199,11,149,82,254,27,105,255,169,164,187,78,250,255,195,171,24,158,93,31,168,168,35,55,101,99, -204,100,22,149,25,74,36,81,221,176,18,79,207,121,54,154,238,125,36,212,223,213,152,192,241,242,30,8,252,145,22,152,54,227,28,180,13,61,7,193,193,12,60,20,46,108,213,145,247,85,156,17,236,177,222,64,238,128,57,157,221,99,10,200,169,5,35,120,156,35,176, -139,69,123,158,221,199,36,1,25,134,74,162,78,149,210,79,196,220,80,43,240,200,234,0,63,95,146,83,209,192,237,245,58,49,68,227,126,41,91,120,207,27,121,21,8,242,226,117,30,226,78,35,169,97,250,148,115,236,93,242,48,182,239,220,167,10,62,138,75,190,142, -36,249,39,194,60,16,177,8,245,147,235,71,105,235,73,23,207,198,254,108,57,18,44,116,82,231,157,99,0,123,62,119,85,209,19,108,2,88,100,127,93,127,60,20,122,98,184,2,129,102,81,167,104,229,79,196,136,221,142,149,125,80,218,120,122,221,38,221,191,62,18, -0,190,185,87,224,110,73,236,203,79,241,48,84,154,130,151,54,6,248,214,139,57,117,140,154,63,204,11,207,163,34,107,60,129,126,109,59,177,236,229,199,84,53,16,169,127,171,26,59,51,190,237,68,154,7,178,253,20,254,29,55,126,28,82,147,174,66,75,107,166,160, -89,214,230,88,58,27,139,233,209,178,112,75,9,59,164,217,50,131,69,234,194,52,120,234,234,28,179,66,152,29,49,15,29,25,60,115,24,87,245,252,148,24,162,247,79,29,192,240,169,25,62,250,72,32,248,227,5,57,229,81,16,14,88,185,55,84,169,102,59,129,52,114,149, -228,249,43,202,61,180,174,124,26,235,215,173,87,160,136,198,178,211,67,38,16,72,89,64,91,110,213,209,56,247,227,105,30,218,11,11,211,61,17,3,208,207,149,215,124,4,153,202,161,64,163,1,0,118,65,204,35,106,222,35,175,90,114,130,74,194,156,11,168,21,216, -117,146,67,45,29,143,120,176,147,5,106,182,68,204,142,124,97,134,1,102,74,6,160,194,15,170,8,62,67,130,192,235,39,123,216,211,40,240,150,36,248,156,173,161,82,149,228,42,146,244,43,9,17,44,154,49,168,6,79,72,73,31,148,104,198,242,151,255,160,92,191,84, -90,55,85,18,19,208,56,118,138,2,18,30,176,243,122,221,53,121,219,35,118,41,102,56,82,223,255,145,246,91,215,143,76,64,223,62,213,184,113,246,77,248,229,214,0,241,98,102,113,17,75,71,132,63,26,70,232,158,116,176,233,254,161,236,107,96,87,245,52,222,64, -162,104,253,2,235,17,68,157,65,74,19,8,52,102,117,246,144,194,193,255,126,113,66,117,239,126,127,110,30,131,122,1,7,90,226,136,33,225,10,143,199,225,99,120,238,44,1,15,141,111,60,138,149,43,94,87,43,125,20,171,95,122,232,180,217,225,205,238,56,247,163, -209,10,71,59,20,202,14,119,164,247,207,189,232,10,76,158,118,42,252,45,45,138,153,225,199,106,159,185,81,173,118,24,161,163,194,211,19,151,14,142,252,211,162,12,161,49,1,190,9,105,6,65,140,212,99,187,77,49,123,134,97,210,198,143,172,214,39,216,120,80, -96,233,206,0,187,26,67,41,253,26,75,164,205,234,35,142,27,17,205,250,215,113,4,142,1,233,60,54,45,122,12,117,13,77,72,166,203,218,245,159,41,232,66,139,54,213,214,214,42,144,72,90,225,68,153,7,186,6,169,126,114,255,42,210,62,198,93,120,19,26,36,243,39, -184,147,81,141,135,169,149,140,4,186,61,5,197,141,38,61,162,1,152,177,253,122,122,151,30,214,104,129,93,50,90,188,201,230,1,116,13,0,156,185,127,116,220,204,161,76,117,248,44,216,30,226,87,203,2,85,36,66,57,1,238,182,157,133,133,88,67,251,124,102,50, -156,159,64,197,193,215,177,254,205,69,224,126,226,136,128,201,78,224,36,211,80,95,95,175,204,3,105,5,219,34,222,93,230,129,126,232,122,116,237,201,103,158,141,214,161,231,163,94,226,158,202,20,143,38,159,219,133,79,24,43,237,13,184,12,80,74,242,59,98, -132,110,211,0,209,58,63,209,80,7,61,37,60,90,242,181,56,114,232,233,79,82,252,255,146,177,12,31,153,238,225,215,146,240,127,94,175,83,187,21,9,235,89,152,47,25,162,112,89,56,7,125,210,91,85,41,96,207,139,15,97,231,158,125,240,18,233,46,33,231,98,243, -64,166,129,152,225,120,155,7,218,103,93,63,18,140,201,23,223,128,154,160,18,101,94,168,34,166,110,206,180,35,4,104,207,231,150,146,217,253,61,179,102,144,113,249,168,194,202,119,66,191,161,169,197,183,35,100,162,153,62,110,225,136,42,2,101,120,99,119, -168,84,191,45,225,182,196,38,192,24,132,186,159,192,43,92,2,56,10,60,209,186,190,229,45,187,240,250,107,207,72,213,233,29,54,54,165,83,56,198,49,15,251,246,237,83,230,129,92,72,98,4,74,36,117,214,60,116,196,12,116,14,178,253,116,141,9,99,71,163,98,234, -95,99,127,107,155,20,2,63,90,230,94,8,7,1,116,48,95,184,148,9,232,49,47,128,174,159,78,234,178,46,22,207,121,86,146,153,244,96,34,118,122,13,62,33,226,53,125,212,36,80,249,220,151,237,18,88,181,95,127,153,164,23,191,15,196,99,229,34,73,11,163,53,98,34, -96,168,178,141,7,182,98,223,238,157,82,2,252,35,218,235,206,152,7,34,182,53,15,196,0,132,19,58,99,30,58,194,3,145,235,39,247,79,59,255,26,212,167,71,74,238,111,150,130,226,43,176,28,173,146,238,226,168,78,106,128,246,204,193,9,211,0,34,90,216,65,152, -229,227,98,2,169,210,236,104,76,140,48,203,187,26,208,200,116,243,70,24,198,147,195,67,179,192,148,85,247,133,90,205,204,29,52,46,164,213,2,34,159,65,174,196,188,220,174,44,232,108,147,69,54,162,102,143,39,149,173,138,53,140,121,160,205,14,145,238,172, -121,32,233,183,57,255,129,253,42,49,232,172,143,98,71,107,104,39,219,74,179,199,17,173,166,44,58,54,1,246,62,221,49,49,157,101,248,238,171,9,52,4,165,24,128,142,102,233,254,63,234,233,203,230,116,125,159,111,214,6,212,31,18,81,32,40,10,231,194,229,254, -104,1,130,130,53,132,237,210,241,204,174,248,197,204,114,50,229,253,245,250,123,205,117,237,38,68,58,122,72,4,202,72,194,105,173,94,146,84,146,124,194,4,110,185,181,107,30,232,88,50,15,116,77,183,193,163,189,235,90,215,143,174,51,101,214,197,200,244, -63,67,2,143,76,20,49,77,219,1,154,44,158,153,200,186,128,1,220,54,177,19,31,10,70,76,43,238,204,251,201,25,251,77,18,172,87,17,119,241,141,118,1,184,237,40,118,24,159,51,119,80,148,93,108,42,126,175,208,27,212,217,160,176,239,4,140,153,56,13,249,92,91, -167,212,188,43,53,244,32,201,222,79,153,50,69,5,137,236,42,94,118,46,159,11,226,172,121,32,6,217,182,109,27,182,110,221,170,76,5,17,182,189,144,51,237,35,13,66,174,95,47,137,246,198,94,48,27,245,185,4,173,79,162,190,51,53,194,132,174,202,23,49,80,42, -69,79,59,57,164,212,235,17,177,78,119,17,159,179,194,197,190,149,251,38,116,85,46,227,113,107,88,60,24,26,209,90,131,156,199,235,254,57,117,34,113,243,104,36,241,206,36,49,163,13,132,26,16,30,160,145,149,99,202,21,159,70,223,202,180,146,224,174,216,124, -218,198,140,25,19,13,107,160,229,219,105,141,94,59,48,178,120,25,22,55,243,70,132,221,181,107,151,26,51,71,177,5,210,18,165,18,51,196,36,116,95,19,166,156,6,127,220,37,200,211,113,76,175,81,100,35,166,5,161,117,39,80,86,74,3,184,68,119,87,18,235,17,13, -192,29,180,226,46,249,170,236,187,167,129,160,82,131,96,69,223,212,153,20,202,28,34,23,5,147,224,6,154,204,206,104,137,25,115,190,64,62,197,252,164,107,113,229,39,190,130,114,63,68,214,89,163,239,72,241,116,178,231,20,8,82,193,25,169,210,55,110,220,136, -154,154,26,140,31,63,62,106,222,236,200,123,160,141,136,187,127,255,126,197,8,59,118,236,136,204,7,85,233,144,22,161,191,201,245,155,116,193,71,80,207,251,192,67,62,50,125,9,219,203,232,44,126,121,36,12,80,44,249,157,45,14,237,62,12,96,26,67,116,49,136, -110,12,33,155,79,161,91,59,52,66,8,68,171,129,195,44,5,19,161,94,225,158,203,174,29,40,74,170,65,59,76,90,8,235,76,106,164,121,40,195,80,125,217,55,241,145,190,195,177,232,225,59,176,113,195,90,53,90,38,145,76,117,88,40,161,6,71,72,34,217,169,219,164, -254,237,108,158,206,186,89,174,121,32,91,79,128,143,152,138,250,16,72,75,208,249,70,143,24,134,222,167,127,24,187,179,121,216,53,46,237,153,117,77,67,108,3,98,161,40,125,191,118,144,148,59,80,162,51,109,226,221,150,12,42,6,112,100,141,40,151,79,121,124, -50,3,176,90,212,13,24,89,98,154,101,100,66,103,53,81,187,10,152,25,61,29,77,19,205,25,15,67,229,30,130,120,173,98,117,14,249,64,106,154,57,210,103,252,29,46,158,250,65,156,190,226,9,172,121,249,247,120,123,197,98,52,171,110,219,100,201,53,0,72,122,73, -69,211,15,1,188,129,3,7,42,245,79,210,236,2,172,174,6,151,72,163,208,166,204,133,100,140,241,239,189,10,181,229,227,209,214,212,170,132,133,26,105,201,254,147,144,88,65,113,158,74,187,105,0,87,242,139,23,169,236,97,13,160,147,65,189,211,192,8,233,37, -81,34,103,108,95,134,153,67,117,235,55,103,58,52,204,245,10,173,202,246,209,23,39,41,165,176,111,117,90,191,71,251,41,60,236,153,115,214,103,153,170,19,172,107,1,70,247,134,234,3,216,121,72,160,95,153,252,76,74,187,133,53,45,58,116,76,15,177,78,114,221, -222,150,193,56,237,234,191,199,37,31,250,24,176,117,14,22,60,117,63,158,125,238,121,236,222,179,79,161,209,68,162,176,130,150,236,55,33,123,2,119,59,119,238,140,2,63,116,140,173,182,61,218,224,18,17,171,79,117,5,174,190,126,54,248,24,249,125,179,158, -154,92,74,197,50,116,191,253,203,153,26,114,49,184,146,169,57,198,54,120,214,158,29,112,109,126,87,102,4,118,163,6,208,85,189,118,113,40,234,202,153,212,31,152,54,16,24,86,9,220,52,93,175,30,110,251,3,168,65,211,141,233,83,180,143,36,161,182,213,44,247, -26,106,236,64,65,162,131,25,201,72,1,69,8,185,34,250,21,227,57,214,28,208,171,128,95,55,89,35,203,182,64,171,207,218,22,29,124,162,89,128,243,183,75,21,41,63,59,117,124,26,3,78,189,28,239,185,240,114,92,52,123,21,158,253,211,131,88,246,210,99,216,178, -113,173,74,25,39,146,233,200,134,219,24,189,85,167,182,254,190,84,178,165,43,204,144,147,234,127,242,121,23,97,252,233,103,203,207,169,126,105,148,249,186,35,154,24,151,74,221,166,13,242,212,51,156,179,53,175,150,217,225,172,99,55,208,53,1,174,134,234, -49,13,160,2,56,166,130,101,79,147,192,214,6,96,217,30,96,246,52,224,174,101,66,197,3,108,123,120,16,90,59,39,162,47,169,6,65,134,133,46,165,48,237,221,220,68,75,8,76,46,221,21,68,41,97,234,8,14,109,10,218,104,14,235,145,216,161,18,43,246,230,213,117, -232,74,201,228,84,164,223,63,21,151,94,240,121,52,173,122,26,235,94,145,230,225,141,69,168,59,212,12,47,145,140,164,182,212,50,177,93,137,41,20,19,171,151,116,242,199,156,119,35,238,92,238,33,215,218,106,190,187,150,126,154,116,246,141,139,25,230,73, -194,47,216,26,42,77,233,243,142,243,1,238,84,81,119,60,92,71,177,136,19,130,1,108,98,134,190,28,5,54,8,221,82,0,136,120,222,170,181,164,175,135,74,133,65,92,61,4,211,200,73,239,137,130,44,168,19,236,49,218,131,152,135,206,75,233,211,182,128,41,243,225, -113,17,237,87,56,193,92,139,122,4,233,119,29,143,160,89,131,57,181,175,153,15,70,114,230,205,56,99,230,141,56,125,219,60,172,127,229,1,172,152,255,172,50,3,62,153,135,78,52,88,116,150,17,242,242,154,163,198,140,69,98,252,37,72,72,233,167,238,104,91,5, -109,61,38,98,88,234,161,244,61,59,207,136,21,38,134,58,96,128,226,22,241,30,209,0,238,53,163,85,187,13,160,83,245,0,81,37,80,156,16,242,60,91,14,102,230,255,211,205,187,57,112,131,17,60,238,156,84,30,115,213,68,142,42,41,37,143,175,13,21,193,175,159, -194,49,190,159,150,164,63,172,12,177,171,81,224,125,35,104,201,90,96,173,52,21,131,123,209,64,73,134,83,251,235,193,17,79,173,11,209,148,205,33,47,205,67,45,75,34,28,118,41,174,255,198,165,184,61,185,6,143,63,250,48,30,126,248,97,172,95,187,6,45,242, -96,210,4,157,5,128,237,153,7,30,6,152,116,209,223,160,181,124,8,88,182,205,228,55,140,7,99,52,33,21,184,86,166,76,50,40,140,195,128,237,217,118,23,4,22,15,138,236,49,19,80,252,234,25,247,46,48,37,78,228,18,134,54,108,235,100,242,108,125,136,103,10,75, -221,101,64,252,162,0,83,115,94,75,207,192,10,137,11,42,24,110,158,193,84,218,120,206,86,77,244,201,3,24,182,214,67,190,114,140,168,22,18,131,48,188,111,36,83,85,198,125,203,244,74,230,143,173,118,25,42,64,166,37,192,184,106,31,3,135,78,130,127,233,55, -113,225,228,207,226,156,117,127,198,214,185,15,96,241,162,5,168,107,144,230,193,79,192,79,36,186,228,9,40,219,47,113,197,144,193,131,48,248,172,27,112,48,136,195,214,214,255,167,81,138,76,126,39,178,249,253,43,76,87,19,47,93,108,211,145,9,232,249,92, -0,92,23,38,214,10,161,67,104,59,61,36,78,18,137,8,15,184,171,126,193,241,133,73,75,216,42,98,83,45,133,225,85,18,92,14,98,170,99,104,189,36,236,253,111,5,216,125,8,106,56,196,32,137,164,251,148,9,76,232,167,91,197,159,94,47,240,31,115,67,85,92,242,153, -89,28,15,174,18,42,99,153,52,235,14,81,9,249,223,203,253,253,203,129,175,60,157,83,147,77,153,55,0,179,46,249,56,110,184,225,6,252,238,79,243,176,127,209,3,88,185,224,25,236,220,181,91,85,29,81,76,161,179,230,33,148,12,112,234,89,151,35,215,127,18,88, -115,174,160,192,67,56,9,31,26,135,147,246,99,215,175,32,139,216,9,16,232,78,11,233,25,19,128,40,182,83,72,112,179,49,55,146,23,125,9,179,20,156,39,14,51,33,182,121,212,77,246,216,26,64,82,251,187,27,129,175,191,20,42,48,56,93,50,195,23,222,163,135,72, -255,105,93,160,212,252,67,171,133,234,37,216,92,71,45,101,12,183,94,196,241,218,78,129,45,117,194,20,94,232,248,196,229,210,163,152,40,205,195,247,230,6,242,111,34,2,169,211,28,254,106,132,135,71,222,246,80,59,228,98,12,189,233,98,140,189,114,45,106, -94,127,4,171,94,125,4,171,87,175,146,146,45,109,121,42,213,97,241,69,46,215,134,129,253,171,48,230,146,191,67,67,142,21,44,114,41,156,106,102,102,134,98,133,194,93,12,131,65,116,16,10,44,165,1,220,81,51,61,134,1,162,2,141,48,238,215,163,117,251,242,161, -51,34,222,9,1,155,244,87,180,82,184,13,239,186,76,100,83,164,158,167,61,137,29,13,68,84,40,149,127,138,148,244,247,14,99,88,40,137,251,139,229,161,196,1,76,37,88,246,54,106,237,114,222,40,134,191,145,24,225,165,45,33,158,89,111,151,176,211,61,139,83, -164,121,184,96,180,38,126,83,155,6,160,52,101,228,230,153,92,49,202,250,3,33,198,245,9,177,95,186,150,135,42,78,69,217,165,223,192,197,23,124,6,127,91,243,28,158,126,244,126,44,95,60,31,181,245,141,170,252,140,220,197,40,177,68,213,208,217,12,170,202, -124,124,224,19,255,140,220,240,115,33,90,219,34,83,23,229,53,194,56,165,29,56,191,187,130,192,57,235,20,3,184,217,200,30,139,4,70,18,46,16,125,41,2,128,36,177,145,4,195,233,36,62,172,247,205,73,19,115,253,121,238,48,151,125,24,244,133,105,246,207,181, -147,24,14,73,194,221,254,90,136,77,117,177,23,145,145,146,60,178,55,147,224,144,73,156,0,133,15,158,219,232,172,94,102,18,44,103,13,103,120,82,2,66,42,200,84,158,129,60,215,236,211,184,158,56,186,42,84,106,249,214,115,60,220,187,34,192,146,157,82,125, -83,208,138,245,199,45,55,222,136,212,233,31,193,232,197,11,176,247,181,7,176,74,154,135,61,187,119,161,45,175,23,198,73,75,183,103,210,180,169,56,235,186,47,65,156,246,183,168,207,4,202,75,137,38,169,137,56,43,163,108,126,160,155,103,120,39,74,193,220, -212,53,225,11,187,100,156,101,130,30,205,5,184,230,192,206,232,9,77,200,150,51,167,158,19,133,221,67,197,127,243,8,9,196,160,194,93,40,154,206,247,118,13,147,182,63,212,195,39,160,3,79,42,95,19,53,165,2,139,164,86,88,181,15,56,127,20,240,175,23,112,204, -221,38,240,170,100,6,170,189,36,47,98,231,33,58,38,142,195,127,96,2,199,100,169,21,126,48,47,40,232,105,188,118,138,167,226,13,180,8,38,3,85,244,248,216,219,226,161,110,232,5,24,114,195,5,24,253,254,13,56,180,105,1,90,14,108,147,232,222,67,213,80,169, -45,198,159,135,186,196,32,100,165,170,241,76,245,171,45,98,117,153,192,98,2,250,83,66,132,195,138,65,218,227,5,59,19,192,157,49,236,174,49,220,115,185,0,215,254,67,23,131,112,152,97,77,1,162,165,97,153,195,45,78,234,91,29,155,15,227,204,152,70,203,113, -66,136,36,117,76,111,10,52,209,144,73,166,98,12,76,119,82,40,47,195,125,104,244,186,98,175,192,234,3,90,218,201,20,140,148,158,193,2,201,8,45,210,71,189,116,28,151,15,61,196,48,233,127,79,29,164,53,192,127,47,10,149,121,32,134,202,72,130,252,113,77,40, -193,163,135,239,94,234,225,237,3,122,157,3,114,41,61,154,133,147,19,104,148,247,208,88,49,1,254,140,9,232,101,152,81,58,21,82,51,73,66,103,218,162,26,198,120,142,98,188,131,57,46,175,180,22,42,188,109,171,130,25,43,157,13,181,63,35,71,142,196,196,137, -19,143,138,78,221,194,0,170,228,203,72,123,104,107,254,88,97,116,47,26,7,227,160,96,215,37,180,238,158,199,75,152,6,85,39,47,212,131,26,89,173,25,96,66,95,45,185,251,154,89,36,173,194,204,36,166,124,1,117,25,83,110,128,84,255,210,221,4,8,41,116,204,48, -75,98,134,71,223,22,120,69,226,130,75,199,49,108,151,152,226,153,13,66,245,33,230,140,135,64,249,138,64,190,206,149,26,163,65,114,49,225,5,106,79,27,85,205,240,198,30,33,175,105,170,155,84,65,67,14,212,206,31,56,120,200,51,75,230,21,214,51,148,10,155, -233,251,37,48,75,195,52,108,189,132,93,37,13,96,199,157,86,221,214,25,100,19,65,214,206,19,35,208,172,190,134,108,97,145,135,219,20,98,61,7,70,32,200,59,172,84,160,224,23,50,13,4,40,95,222,170,37,241,96,107,28,242,141,207,207,20,202,127,114,157,246,28, -146,230,219,150,169,101,98,128,95,44,211,101,104,20,123,127,97,139,192,203,91,132,46,88,49,73,42,21,137,148,15,62,19,232,110,37,250,155,24,131,136,110,131,90,246,251,250,110,58,154,29,110,18,131,32,6,183,5,90,146,69,147,117,149,70,160,115,145,250,7,43, -44,2,101,172,123,52,117,183,185,129,197,21,172,150,17,90,109,61,64,145,183,0,81,88,12,226,82,95,20,121,24,246,92,100,2,158,219,100,75,206,237,66,20,142,251,104,164,239,96,134,25,130,197,129,23,139,69,34,59,106,254,240,141,27,42,10,43,177,212,55,224,38, -156,172,203,181,29,204,130,248,59,69,125,16,118,165,84,203,224,60,174,142,17,37,66,58,110,249,27,181,197,213,181,22,245,79,176,238,97,130,110,5,129,66,196,160,38,107,212,41,169,224,166,92,81,169,24,43,196,0,118,102,16,197,247,125,103,220,139,13,18,209, -62,215,156,248,102,192,164,125,159,152,129,222,242,162,200,163,126,37,41,228,44,198,9,188,104,70,81,32,28,55,211,20,169,194,152,46,59,243,32,52,173,107,244,86,202,215,141,44,150,105,173,167,66,117,9,9,47,94,229,148,198,211,217,65,149,22,15,209,117,232, -188,164,189,172,230,18,76,167,194,109,23,85,70,186,177,101,94,97,158,224,29,193,0,174,118,167,47,78,238,23,165,131,7,148,235,215,47,206,138,211,187,54,145,99,137,217,22,232,34,15,122,0,182,102,192,22,123,180,25,38,162,185,193,117,38,85,188,166,150,108, -58,208,191,12,248,212,25,250,156,205,242,193,205,217,6,44,151,170,250,140,193,58,78,208,39,197,36,176,210,215,77,152,220,106,20,1,12,245,57,91,115,49,65,245,144,73,253,126,75,62,46,58,161,193,148,196,40,91,235,5,22,237,0,62,56,145,225,189,195,245,36, -84,107,222,214,213,8,60,185,54,84,223,233,140,161,18,103,12,229,42,48,149,54,107,21,216,185,201,164,13,235,91,117,107,28,1,77,250,62,52,252,122,88,149,78,106,81,138,123,201,206,208,48,5,235,14,250,119,19,8,20,174,173,214,95,114,109,141,220,47,9,81,151, -209,221,189,4,116,8,19,216,37,96,114,97,92,253,75,15,154,30,14,61,236,172,169,43,32,111,198,54,76,54,153,66,95,229,175,231,180,244,16,225,22,239,210,175,116,141,154,22,253,208,8,173,239,107,22,210,91,16,202,29,204,5,58,107,152,55,177,234,140,209,70,9, -103,90,41,61,240,253,205,194,4,100,244,84,147,164,7,179,200,148,14,32,181,153,84,243,166,131,148,232,162,85,206,244,181,213,68,116,115,191,20,205,93,189,95,40,162,142,237,163,223,167,40,159,77,127,211,121,233,186,196,236,20,255,167,207,17,246,152,58, -72,107,51,154,141,96,65,52,227,246,249,176,147,159,1,184,227,234,168,48,168,208,225,90,42,240,32,105,154,191,93,171,109,55,95,192,156,9,161,81,176,135,21,206,29,182,118,214,186,83,68,204,132,153,59,76,190,250,139,91,226,182,51,91,61,68,207,122,111,19, -83,126,126,88,208,66,117,184,107,165,102,11,56,245,3,182,44,141,57,73,43,139,55,96,152,102,109,173,192,170,3,113,87,50,51,86,222,247,98,143,70,69,18,107,69,145,217,23,209,125,196,196,213,204,215,106,86,86,123,107,175,80,9,43,23,19,57,240,228,164,99,0, -129,66,76,23,215,5,26,196,76,28,254,230,94,173,218,209,14,208,139,218,161,75,164,149,61,94,240,32,76,117,113,92,244,65,110,94,113,65,169,77,33,123,60,118,33,97,186,149,14,243,46,139,122,176,237,66,87,238,250,7,202,20,56,190,107,210,84,57,139,2,92,23, -3,189,40,5,110,202,223,195,176,48,201,37,156,142,39,133,123,164,150,218,113,72,227,15,26,171,43,92,180,92,8,172,197,113,19,214,227,204,4,194,29,213,198,28,223,94,152,248,64,65,24,83,20,122,9,174,100,218,232,161,219,39,239,158,151,59,175,110,1,169,112, -104,237,243,88,115,68,253,5,208,211,68,93,36,111,179,140,140,89,2,178,130,101,141,89,209,53,133,136,67,119,12,177,43,87,224,173,58,73,156,40,184,197,11,219,188,237,208,7,230,132,63,221,72,169,189,130,147,113,20,39,163,9,112,11,119,130,68,186,50,149,146, -192,47,231,21,114,61,99,69,18,78,251,72,141,251,113,8,150,54,237,127,235,155,179,174,97,201,142,24,211,72,226,123,165,19,82,246,122,182,226,166,216,229,10,109,99,9,143,239,201,74,123,232,192,110,55,33,229,106,160,194,115,21,206,37,118,93,214,195,92,94, -86,186,120,198,213,34,162,196,119,161,198,23,51,235,32,56,25,77,64,104,110,44,191,254,149,123,95,216,183,118,244,142,124,46,160,174,126,95,34,120,5,98,109,81,8,67,137,218,126,86,172,70,11,19,69,16,69,68,116,8,86,42,220,45,68,161,59,90,236,67,187,9,40, -33,14,55,73,165,43,156,196,97,166,45,54,31,174,6,19,37,69,68,160,253,62,79,33,10,3,93,154,121,84,123,184,226,115,206,89,27,243,18,173,77,7,182,237,181,202,243,120,104,131,227,169,1,108,181,127,110,249,131,223,189,87,190,210,52,70,90,135,173,204,184,228, -221,58,153,252,47,248,135,8,77,14,102,147,220,106,205,107,96,182,240,88,153,192,63,78,196,23,230,134,200,65,107,54,231,77,152,27,108,54,12,192,222,165,229,81,63,91,10,14,83,249,112,198,60,207,140,17,182,147,74,3,184,12,16,154,155,76,153,107,176,119,25, -224,152,76,107,104,158,109,198,97,132,60,10,179,234,39,5,6,200,25,102,200,155,155,180,243,59,223,37,254,177,107,129,188,17,178,156,217,2,28,135,152,192,241,246,2,130,34,109,224,74,254,187,76,112,244,207,21,142,189,63,46,182,255,184,48,128,237,73,43,193, -4,97,9,162,191,203,0,199,198,0,162,157,87,213,105,220,35,12,64,131,146,62,249,201,79,186,117,103,130,86,133,76,84,14,16,185,67,123,223,37,252,241,103,134,146,206,234,228,201,147,143,250,164,172,171,29,174,239,254,252,101,253,188,235,155,255,31,255,249, -255,2,12,0,235,154,52,248,249,240,115,28,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; - -const char* projectIconXcodeIOS_png = (const char*) temp_binary_data_32; - -//================== RecentFilesMenuTemplate.nib ================== -static const unsigned char temp_binary_data_33[] = -{ 98,112,108,105,115,116,48,48,212,0,1,0,2,0,3,0,4,0,5,0,6,1,53,1,54,88,36,118,101,114,115,105,111,110,88,36,111,98,106,101,99,116,115,89,36,97,114,99,104,105,118,101,114,84,36,116,111,112,18,0,1,134,160,175,16,74,0,7,0,8,0,31,0,35,0,36,0,42,0,46,0,50, -0,53,0,57,0,74,0,77,0,78,0,86,0,87,0,97,0,112,0,113,0,114,0,119,0,120,0,121,0,124,0,128,0,129,0,132,0,143,0,144,0,145,0,149,0,153,0,162,0,163,0,164,0,169,0,173,0,180,0,181,0,182,0,185,0,192,0,193,0,200,0,201,0,208,0,209,0,216,0,217,0,224,0,225,0,226, -0,229,0,230,0,232,0,249,1,11,1,29,1,30,1,31,1,32,1,33,1,34,1,35,1,36,1,37,1,38,1,39,1,40,1,41,1,42,1,43,1,44,1,47,1,50,85,36,110,117,108,108,219,0,9,0,10,0,11,0,12,0,13,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,27,0,28,0,29,0, -29,95,16,16,78,83,86,105,115,105,98,108,101,87,105,110,100,111,119,115,93,78,83,79,98,106,101,99,116,115,75,101,121,115,86,78,83,82,111,111,116,92,78,83,79,105,100,115,86,97,108,117,101,115,86,36,99,108,97,115,115,90,78,83,79,105,100,115,75,101,121,115, -93,78,83,67,111,110,110,101,99,116,105,111,110,115,95,16,15,78,83,79,98,106,101,99,116,115,86,97,108,117,101,115,95,16,25,78,83,65,99,99,101,115,115,105,98,105,108,105,116,121,67,111,110,110,101,99,116,111,114,115,95,16,23,78,83,65,99,99,101,115,115, -105,98,105,108,105,116,121,79,105,100,115,75,101,121,115,95,16,25,78,83,65,99,99,101,115,115,105,98,105,108,105,116,121,79,105,100,115,86,97,108,117,101,115,128,5,128,9,128,2,128,55,128,73,128,54,128,7,128,53,128,71,128,72,128,72,210,0,13,0,32,0,33,0, -34,91,78,83,67,108,97,115,115,78,97,109,101,128,4,128,3,93,78,83,65,112,112,108,105,99,97,116,105,111,110,210,0,37,0,38,0,39,0,40,90,36,99,108,97,115,115,110,97,109,101,88,36,99,108,97,115,115,101,115,94,78,83,67,117,115,116,111,109,79,98,106,101,99, -116,162,0,39,0,41,88,78,83,79,98,106,101,99,116,210,0,13,0,43,0,44,0,45,90,78,83,46,111,98,106,101,99,116,115,128,6,160,210,0,37,0,38,0,47,0,48,92,78,83,77,117,116,97,98,108,101,83,101,116,163,0,47,0,49,0,41,85,78,83,83,101,116,210,0,13,0,43,0,51,0,52, -128,8,160,210,0,37,0,38,0,54,0,55,94,78,83,77,117,116,97,98,108,101,65,114,114,97,121,163,0,54,0,56,0,41,87,78,83,65,114,114,97,121,210,0,13,0,43,0,58,0,59,128,52,174,0,60,0,61,0,62,0,63,0,64,0,65,0,66,0,67,0,68,0,69,0,70,0,71,0,72,0,73,128,10,128,12, -128,45,128,15,128,39,128,25,128,28,128,30,128,33,128,35,128,43,128,41,128,47,128,50,210,0,13,0,32,0,33,0,76,128,4,128,11,93,78,83,65,112,112,108,105,99,97,116,105,111,110,212,0,79,0,13,0,80,0,81,0,82,0,83,0,84,0,85,91,78,83,77,101,110,117,73,116,101, -109,115,86,78,83,78,97,109,101,87,78,83,84,105,116,108,101,128,14,128,38,128,49,128,13,89,65,77,97,105,110,77,101,110,117,210,0,13,0,43,0,51,0,89,128,8,167,0,63,0,65,0,64,0,71,0,70,0,62,0,72,128,15,128,25,128,39,128,41,128,43,128,45,128,47,216,0,98,0, -99,0,100,0,13,0,101,0,102,0,103,0,81,0,104,0,61,0,106,0,107,0,108,0,109,0,110,0,111,95,16,17,78,83,75,101,121,69,113,117,105,118,77,111,100,77,97,115,107,86,78,83,77,101,110,117,89,78,83,79,110,73,109,97,103,101,90,78,83,75,101,121,69,113,117,105,118, -93,78,83,77,110,101,109,111,110,105,99,76,111,99,92,78,83,77,105,120,101,100,73,109,97,103,101,18,0,16,0,0,128,12,128,18,128,24,128,17,18,127,255,255,255,128,22,128,16,91,100,101,108,109,101,65,112,112,75,105,116,80,211,0,13,0,115,0,32,0,116,0,117,0, -118,94,78,83,82,101,115,111,117,114,99,101,78,97,109,101,128,21,128,20,128,19,87,78,83,73,109,97,103,101,95,16,15,78,83,77,101,110,117,67,104,101,99,107,109,97,114,107,210,0,37,0,38,0,122,0,123,95,16,16,78,83,67,117,115,116,111,109,82,101,115,111,117, -114,99,101,162,0,122,0,41,211,0,13,0,115,0,32,0,116,0,126,0,118,128,21,128,23,128,19,95,16,16,78,83,77,101,110,117,77,105,120,101,100,83,116,97,116,101,210,0,37,0,38,0,130,0,131,90,78,83,77,101,110,117,73,116,101,109,162,0,130,0,41,218,0,133,0,98,0,134, -0,99,0,100,0,13,0,101,0,102,0,103,0,81,0,135,0,104,0,66,0,61,0,106,0,107,0,108,0,109,0,110,0,142,88,78,83,65,99,116,105,111,110,89,78,83,83,117,98,109,101,110,117,128,27,128,28,128,12,128,18,128,24,128,17,128,22,128,26,84,70,105,108,101,94,115,117,98, -109,101,110,117,65,99,116,105,111,110,58,211,0,79,0,13,0,81,0,146,0,83,0,142,128,29,128,38,128,26,210,0,13,0,43,0,51,0,151,128,8,161,0,67,128,30,218,0,133,0,98,0,134,0,99,0,100,0,13,0,101,0,102,0,103,0,81,0,154,0,104,0,68,0,66,0,106,0,107,0,108,0,109, -0,110,0,161,128,32,128,33,128,28,128,18,128,24,128,17,128,22,128,31,91,79,112,101,110,32,82,101,99,101,110,116,94,115,117,98,109,101,110,117,65,99,116,105,111,110,58,212,0,79,0,13,0,80,0,81,0,165,0,83,0,167,0,161,128,34,128,38,128,37,128,31,210,0,13, -0,43,0,51,0,171,128,8,161,0,69,128,35,216,0,98,0,99,0,100,0,13,0,101,0,102,0,103,0,81,0,104,0,68,0,106,0,107,0,108,0,109,0,110,0,179,128,33,128,18,128,24,128,17,128,22,128,36,90,67,108,101,97,114,32,77,101,110,117,95,16,22,95,78,83,82,101,99,101,110, -116,68,111,99,117,109,101,110,116,115,77,101,110,117,210,0,37,0,38,0,183,0,184,86,78,83,77,101,110,117,162,0,183,0,41,216,0,98,0,99,0,100,0,13,0,101,0,102,0,103,0,81,0,104,0,61,0,106,0,107,0,108,0,109,0,110,0,191,128,12,128,18,128,24,128,17,128,22,128, -40,84,69,100,105,116,215,0,99,0,100,0,13,0,101,0,102,0,103,0,81,0,61,0,106,0,107,0,108,0,109,0,110,0,199,128,12,128,18,128,24,128,17,128,22,128,42,86,70,111,114,109,97,116,216,0,98,0,99,0,100,0,13,0,101,0,102,0,103,0,81,0,104,0,61,0,106,0,107,0,108,0, -109,0,110,0,207,128,12,128,18,128,24,128,17,128,22,128,44,84,86,105,101,119,216,0,98,0,99,0,100,0,13,0,101,0,102,0,103,0,81,0,104,0,61,0,106,0,107,0,108,0,109,0,110,0,215,128,12,128,18,128,24,128,17,128,22,128,46,86,87,105,110,100,111,119,215,0,99,0, -100,0,13,0,101,0,102,0,103,0,81,0,61,0,106,0,107,0,108,0,109,0,110,0,223,128,12,128,18,128,24,128,17,128,22,128,48,84,72,101,108,112,91,95,78,83,77,97,105,110,77,101,110,117,210,0,13,0,32,0,33,0,228,128,4,128,51,93,78,83,70,111,110,116,77,97,110,97,103, -101,114,210,0,37,0,38,0,56,0,231,162,0,56,0,41,210,0,13,0,43,0,58,0,234,128,52,174,0,22,0,22,0,61,0,61,0,61,0,61,0,65,0,66,0,67,0,68,0,61,0,61,0,61,0,22,128,2,128,2,128,12,128,12,128,12,128,12,128,25,128,28,128,30,128,33,128,12,128,12,128,12,128,2,210, -0,13,0,43,0,58,0,251,128,52,175,16,15,0,22,0,60,0,61,0,62,0,63,0,64,0,65,0,66,0,67,0,68,0,69,0,70,0,71,0,72,0,73,128,2,128,10,128,12,128,45,128,15,128,39,128,25,128,28,128,30,128,33,128,35,128,43,128,41,128,47,128,50,210,0,13,0,43,0,58,1,13,128,52,175, -16,15,1,14,1,15,1,16,1,17,1,18,1,19,1,20,1,21,1,22,1,23,1,24,1,25,1,26,1,27,1,28,128,56,128,57,128,58,128,59,128,60,128,61,128,62,128,63,128,64,128,65,128,66,128,67,128,68,128,69,128,70,17,2,22,17,2,23,17,2,24,17,2,25,17,2,26,17,2,27,17,2,28,17,2,29, -17,2,30,17,2,31,17,2,32,17,2,33,17,2,34,17,2,35,17,2,36,210,0,13,0,43,0,51,1,46,128,8,160,210,0,13,0,43,0,58,1,49,128,52,160,210,0,37,0,38,1,51,1,52,94,78,83,73,66,79,98,106,101,99,116,68,97,116,97,162,1,51,0,41,95,16,15,78,83,75,101,121,101,100,65,114, -99,104,105,118,101,114,209,1,55,1,56,93,73,66,46,111,98,106,101,99,116,100,97,116,97,128,1,0,8,0,25,0,34,0,43,0,53,0,58,0,63,0,214,0,220,1,9,1,28,1,42,1,49,1,62,1,69,1,80,1,94,1,112,1,140,1,166,1,194,1,196,1,198,1,200,1,202,1,204,1,206,1,208,1,210,1, -212,1,214,1,216,1,225,1,237,1,239,1,241,1,255,2,8,2,19,2,28,2,43,2,48,2,57,2,66,2,77,2,79,2,80,2,89,2,102,2,109,2,115,2,124,2,126,2,127,2,136,2,151,2,158,2,166,2,175,2,177,2,206,2,208,2,210,2,212,2,214,2,216,2,218,2,220,2,222,2,224,2,226,2,228,2,230, -2,232,2,234,2,243,2,245,2,247,3,5,3,22,3,34,3,41,3,49,3,51,3,53,3,55,3,57,3,67,3,76,3,78,3,93,3,95,3,97,3,99,3,101,3,103,3,105,3,107,3,140,3,160,3,167,3,177,3,188,3,202,3,215,3,220,3,222,3,224,3,226,3,228,3,233,3,235,3,237,3,249,3,250,4,7,4,22,4,24,4, -26,4,28,4,36,4,54,4,63,4,82,4,87,4,100,4,102,4,104,4,106,4,125,4,134,4,145,4,150,4,191,4,200,4,210,4,212,4,214,4,216,4,218,4,220,4,222,4,224,4,226,4,231,4,246,5,3,5,5,5,7,5,9,5,18,5,20,5,23,5,25,5,66,5,68,5,70,5,72,5,74,5,76,5,78,5,80,5,82,5,94,5,109, -5,126,5,128,5,130,5,132,5,134,5,143,5,145,5,148,5,150,5,183,5,185,5,187,5,189,5,191,5,193,5,195,5,206,5,231,5,240,5,247,5,252,6,29,6,31,6,33,6,35,6,37,6,39,6,41,6,46,6,75,6,77,6,79,6,81,6,83,6,85,6,87,6,94,6,127,6,129,6,131,6,133,6,135,6,137,6,139,6, -144,6,177,6,179,6,181,6,183,6,185,6,187,6,189,6,196,6,225,6,227,6,229,6,231,6,233,6,235,6,237,6,242,6,254,7,7,7,9,7,11,7,25,7,34,7,39,7,48,7,50,7,79,7,81,7,83,7,85,7,87,7,89,7,91,7,93,7,95,7,97,7,99,7,101,7,103,7,105,7,107,7,116,7,118,7,151,7,153,7,155, -7,157,7,159,7,161,7,163,7,165,7,167,7,169,7,171,7,173,7,175,7,177,7,179,7,181,7,190,7,192,7,225,7,227,7,229,7,231,7,233,7,235,7,237,7,239,7,241,7,243,7,245,7,247,7,249,7,251,7,253,7,255,8,2,8,5,8,8,8,11,8,14,8,17,8,20,8,23,8,26,8,29,8,32,8,35,8,38,8, -41,8,44,8,53,8,55,8,56,8,65,8,67,8,68,8,77,8,92,8,97,8,115,8,120,8,134,0,0,0,0,0,0,2,2,0,0,0,0,0,0,1,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,136,0,0 }; - -const char* RecentFilesMenuTemplate_nib = (const char*) temp_binary_data_33; - -//================== wizard_AnimatedApp.svg ================== -static const unsigned char temp_binary_data_34[] = -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\t\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\t\r\n" -"\t\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\t\r\n" -"\t\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n"; - -const char* wizard_AnimatedApp_svg = (const char*) temp_binary_data_34; - -//================== wizard_AudioApp.svg ================== -static const unsigned char temp_binary_data_35[] = -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n"; - -const char* wizard_AudioApp_svg = (const char*) temp_binary_data_35; - -//================== wizard_AudioPlugin.svg ================== -static const unsigned char temp_binary_data_36[] = -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\t\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\t\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\t\r\n" -"\t\t\r\n" -"\t\t\r\n" -"\t\t\t\r\n" -"\t\t\r\n" -"\t\r\n" -"\r\n" -"\r\n" -"\t\r\n" -"\t\t\r\n" -"\t\t\r\n" -"\t\t\t\r\n" -"\t\t\r\n" -"\t\r\n" -"\r\n" -"\r\n" -"\t\r\n" -"\t\t\r\n" -"\t\t\r\n" -"\t\t\t\r\n" -"\t\t\r\n" -"\t\r\n" -"\r\n" -"\r\n" -"\t\r\n" -"\t\t\r\n" -"\t\t\r\n" -"\t\t\t\r\n" -"\t\t\r\n" -"\t\r\n" -"\r\n" -"\r\n"; - -const char* wizard_AudioPlugin_svg = (const char*) temp_binary_data_36; - -//================== wizard_ConsoleApp.svg ================== -static const unsigned char temp_binary_data_37[] = -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\t\r\n" -"\r\n" -"\r\n" -"\t\r\n" -"\t\t\r\n" -"\t\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\t\r\n" -"\t\t\r\n" -"\t\r\n" -"\r\n" -"\r\n"; - -const char* wizard_ConsoleApp_svg = (const char*) temp_binary_data_37; - -//================== wizard_DLL.svg ================== -static const unsigned char temp_binary_data_38[] = -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\t\r\n" -"\r\n" -"\r\n" -"\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\r\n" -"\r\n" -"\r\n" -"\r\n" -"\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\r\n" -"\r\n" -"\r\n" -"\r\n" -"\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\r\n" -"\r\n" -"\r\n" -"\r\n"; - -const char* wizard_DLL_svg = (const char*) temp_binary_data_38; - -//================== wizard_GUI.svg ================== -static const unsigned char temp_binary_data_39[] = -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\t\r\n" -"\t\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\t\r\n" -"\t\r\n" -"\r\n" -"\r\n" -"\r\n"; - -const char* wizard_GUI_svg = (const char*) temp_binary_data_39; - -//================== wizard_Highlight.svg ================== -static const unsigned char temp_binary_data_40[] = -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n"; - -const char* wizard_Highlight_svg = (const char*) temp_binary_data_40; - -//================== wizard_Openfile.svg ================== -static const unsigned char temp_binary_data_41[] = -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n"; - -const char* wizard_Openfile_svg = (const char*) temp_binary_data_41; - -//================== wizard_OpenGL.svg ================== -static const unsigned char temp_binary_data_42[] = -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n"; - -const char* wizard_OpenGL_svg = (const char*) temp_binary_data_42; - -//================== wizard_StaticLibrary.svg ================== -static const unsigned char temp_binary_data_43[] = -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\r\n" -"\t\r\n" -"\r\n" -"\r\n" -"\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\r\n" -"\r\n" -"\r\n" -"\r\n" -"\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\r\n" -"\r\n" -"\r\n" -"\r\n" -"\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\r\n" -"\r\n" -"\r\n" -"\r\n"; - -const char* wizard_StaticLibrary_svg = (const char*) temp_binary_data_43; - - -const char* getNamedResource (const char*, int&) throw(); -const char* getNamedResource (const char* resourceNameUTF8, int& numBytes) throw() -{ - unsigned int hash = 0; - if (resourceNameUTF8 != 0) - while (*resourceNameUTF8 != 0) - hash = 31 * hash + (unsigned int) *resourceNameUTF8++; - - switch (hash) - { - case 0x6cf2645e: numBytes = 1949; return jucer_AnimatedComponentTemplate_cpp; - case 0xafccbd3f: numBytes = 3189; return jucer_AudioComponentTemplate_cpp; - case 0x27c5a93a: numBytes = 1180; return jucer_AudioPluginEditorTemplate_cpp; - case 0x4d0721bf: numBytes = 1012; return jucer_AudioPluginEditorTemplate_h; - case 0x51b49ac5: numBytes = 4273; return jucer_AudioPluginFilterTemplate_cpp; - case 0x488afa0a: numBytes = 2132; return jucer_AudioPluginFilterTemplate_h; - case 0xabad7041: numBytes = 2161; return jucer_ComponentTemplate_cpp; - case 0xfc72fe86: numBytes = 2141; return jucer_ComponentTemplate_h; - case 0x0b66646c: numBytes = 886; return jucer_ContentCompTemplate_cpp; - case 0x6fa10171: numBytes = 924; return jucer_ContentCompTemplate_h; - case 0x28d496ad: numBytes = 1143; return jucer_InlineComponentTemplate_h; - case 0x8905395b: numBytes = 470; return jucer_MainConsoleAppTemplate_cpp; - case 0x5e5ea047: numBytes = 2010; return jucer_MainTemplate_NoWindow_cpp; - case 0xda2391f8: numBytes = 3866; return jucer_MainTemplate_SimpleWindow_cpp; - case 0x400bc026: numBytes = 3778; return jucer_MainTemplate_Window_cpp; - case 0xf4842835: numBytes = 1389; return jucer_NewComponentTemplate_cpp; - case 0xe7bf237a: numBytes = 648; return jucer_NewComponentTemplate_h; - case 0x02a2a077: numBytes = 262; return jucer_NewCppFileTemplate_cpp; - case 0x0842c43c: numBytes = 308; return jucer_NewCppFileTemplate_h; - case 0x36e634a1: numBytes = 1626; return jucer_NewInlineComponentTemplate_h; - case 0x7fbac252: numBytes = 1827; return jucer_OpenGLComponentTemplate_cpp; - case 0x44be9398: numBytes = 2745; return AudioPluginXCodeScript_txt; - case 0x406db5c1: numBytes = 3117; return background_logo_svg; - case 0x4a0cfd09: numBytes = 151; return background_tile_png; - case 0x763d39dc: numBytes = 1050; return colourscheme_dark_xml; - case 0xe8b08520: numBytes = 1050; return colourscheme_light_xml; - case 0x154a7275: numBytes = 40749; return juce_icon_png; - case 0x507a15c7: numBytes = 8150; return projectIconAndroid_png; - case 0xe8e2796f: numBytes = 11917; return projectIconCodeblocks_png; - case 0x90374ad6: numBytes = 16444; return projectIconLinuxMakefile_png; - case 0x20236af2: numBytes = 7194; return projectIconVisualStudio_png; - case 0xecc12a3d: numBytes = 18281; return projectIconXcode_png; - case 0x9d3ae124: numBytes = 18111; return projectIconXcodeIOS_png; - case 0xa41e649d: numBytes = 2842; return RecentFilesMenuTemplate_nib; - case 0x1f3b6d2f: numBytes = 2963; return wizard_AnimatedApp_svg; - case 0x60296d04: numBytes = 9802; return wizard_AudioApp_svg; - case 0x1115ccda: numBytes = 10809; return wizard_AudioPlugin_svg; - case 0x1d65d363: numBytes = 1204; return wizard_ConsoleApp_svg; - case 0xba5a4595: numBytes = 3588; return wizard_DLL_svg; - case 0x683e4e6c: numBytes = 3448; return wizard_GUI_svg; - case 0x2e6bf065: numBytes = 638; return wizard_Highlight_svg; - case 0x52a8dfdf: numBytes = 686; return wizard_Openfile_svg; - case 0x58e2ae48: numBytes = 2497; return wizard_OpenGL_svg; - case 0xb1da6f9e: numBytes = 3563; return wizard_StaticLibrary_svg; - default: break; - } - - numBytes = 0; - return 0; -} - -const char* namedResourceList[] = -{ - "jucer_AnimatedComponentTemplate_cpp", - "jucer_AudioComponentTemplate_cpp", - "jucer_AudioPluginEditorTemplate_cpp", - "jucer_AudioPluginEditorTemplate_h", - "jucer_AudioPluginFilterTemplate_cpp", - "jucer_AudioPluginFilterTemplate_h", - "jucer_ComponentTemplate_cpp", - "jucer_ComponentTemplate_h", - "jucer_ContentCompTemplate_cpp", - "jucer_ContentCompTemplate_h", - "jucer_InlineComponentTemplate_h", - "jucer_MainConsoleAppTemplate_cpp", - "jucer_MainTemplate_NoWindow_cpp", - "jucer_MainTemplate_SimpleWindow_cpp", - "jucer_MainTemplate_Window_cpp", - "jucer_NewComponentTemplate_cpp", - "jucer_NewComponentTemplate_h", - "jucer_NewCppFileTemplate_cpp", - "jucer_NewCppFileTemplate_h", - "jucer_NewInlineComponentTemplate_h", - "jucer_OpenGLComponentTemplate_cpp", - "AudioPluginXCodeScript_txt", - "background_logo_svg", - "background_tile_png", - "colourscheme_dark_xml", - "colourscheme_light_xml", - "juce_icon_png", - "projectIconAndroid_png", - "projectIconCodeblocks_png", - "projectIconLinuxMakefile_png", - "projectIconVisualStudio_png", - "projectIconXcode_png", - "projectIconXcodeIOS_png", - "RecentFilesMenuTemplate_nib", - "wizard_AnimatedApp_svg", - "wizard_AudioApp_svg", - "wizard_AudioPlugin_svg", - "wizard_ConsoleApp_svg", - "wizard_DLL_svg", - "wizard_GUI_svg", - "wizard_Highlight_svg", - "wizard_Openfile_svg", - "wizard_OpenGL_svg", - "wizard_StaticLibrary_svg" -}; - -} diff --git a/extras/Introjucer/JuceLibraryCode/modules/juce_core/juce_core.h b/extras/Introjucer/JuceLibraryCode/modules/juce_core/juce_core.h deleted file mode 100644 index 06e88f9352..0000000000 --- a/extras/Introjucer/JuceLibraryCode/modules/juce_core/juce_core.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_core/juce_core.h" diff --git a/extras/Introjucer/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h b/extras/Introjucer/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h deleted file mode 100644 index e4574f4749..0000000000 --- a/extras/Introjucer/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_cryptography/juce_cryptography.h" diff --git a/extras/Introjucer/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h b/extras/Introjucer/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h deleted file mode 100644 index 9d814fd953..0000000000 --- a/extras/Introjucer/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_data_structures/juce_data_structures.h" diff --git a/extras/Introjucer/JuceLibraryCode/modules/juce_events/juce_events.h b/extras/Introjucer/JuceLibraryCode/modules/juce_events/juce_events.h deleted file mode 100644 index 509b1df8d2..0000000000 --- a/extras/Introjucer/JuceLibraryCode/modules/juce_events/juce_events.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_events/juce_events.h" diff --git a/extras/Introjucer/JuceLibraryCode/modules/juce_graphics/juce_graphics.h b/extras/Introjucer/JuceLibraryCode/modules/juce_graphics/juce_graphics.h deleted file mode 100644 index 28edbf35e3..0000000000 --- a/extras/Introjucer/JuceLibraryCode/modules/juce_graphics/juce_graphics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_graphics/juce_graphics.h" diff --git a/extras/Introjucer/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h b/extras/Introjucer/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h deleted file mode 100644 index 81ad4b7297..0000000000 --- a/extras/Introjucer/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_gui_basics/juce_gui_basics.h" diff --git a/extras/Introjucer/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h b/extras/Introjucer/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h deleted file mode 100644 index 5c9b7a96b5..0000000000 --- a/extras/Introjucer/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_gui_extra/juce_gui_extra.h" diff --git a/extras/Introjucer/Source/Application/jucer_Application.h b/extras/Introjucer/Source/Application/jucer_Application.h deleted file mode 100644 index 1a1e47703d..0000000000 --- a/extras/Introjucer/Source/Application/jucer_Application.h +++ /dev/null @@ -1,651 +0,0 @@ -/* - ============================================================================== - - 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. - - ============================================================================== -*/ - -#ifndef JUCER_APPLICATION_H_INCLUDED -#define JUCER_APPLICATION_H_INCLUDED - -#include "jucer_MainWindow.h" -#include "jucer_CommandLine.h" -#include "../Project/jucer_Module.h" -#include "jucer_AutoUpdater.h" -#include "../Code Editor/jucer_SourceCodeEditor.h" -#include "../Utility/jucer_UTF8Component.h" -#include "../Utility/jucer_SVGPathDataComponent.h" -#include "../Utility/jucer_FloatingToolWindow.h" -#include "../Utility/jucer_IntrojucerLookAndFeel.h" - -void createGUIEditorMenu (PopupMenu&); -void handleGUIEditorMenuCommand (int); -void registerGUIEditorCommands(); - -//============================================================================== -class IntrojucerApp : public JUCEApplication -{ -public: - //============================================================================== - IntrojucerApp() : isRunningCommandLine (false) {} - - //============================================================================== - void initialise (const String& commandLine) override - { - initialiseBasics(); - - if (commandLine.isNotEmpty()) - { - const int appReturnCode = performCommandLine (commandLine); - - if (appReturnCode != commandLineNotPerformed) - { - isRunningCommandLine = true; - setApplicationReturnValue (appReturnCode); - quit(); - return; - } - } - - if (sendCommandLineToPreexistingInstance()) - { - DBG ("Another instance is running - quitting..."); - quit(); - return; - } - - if (! initialiseLog()) - { - quit(); - return; - } - - initCommandManager(); - menuModel = new MainMenuModel(); - - settings->appearance.refreshPresetSchemeList(); - - initialiseWindows (commandLine); - - #if JUCE_MAC - MenuBarModel::setMacMainMenu (menuModel, nullptr, "Open Recent"); - #endif - - versionChecker = createVersionChecker(); - } - - void initialiseBasics() - { - LookAndFeel::setDefaultLookAndFeel (&lookAndFeel); - settings = new StoredSettings(); - ImageCache::setCacheTimeout (30 * 1000); - icons = new Icons(); - } - - virtual bool initialiseLog() - { - return initialiseLogger ("log_"); - } - - bool initialiseLogger (const char* filePrefix) - { - if (logger == nullptr) - { - logger = FileLogger::createDateStampedLogger (getLogFolderName(), filePrefix, ".txt", - getApplicationName() + " " + getApplicationVersion() - + " --- Build date: " __DATE__); - Logger::setCurrentLogger (logger); - } - - return logger != nullptr; - } - - virtual void initialiseWindows (const String& commandLine) - { - const String commandLineWithoutNSDebug (commandLine.replace ("-NSDocumentRevisionsDebugMode YES", "")); - - if (commandLineWithoutNSDebug.trim().isNotEmpty() && ! commandLineWithoutNSDebug.trim().startsWithChar ('-')) - anotherInstanceStarted (commandLine); - else - mainWindowList.reopenLastProjects(); - - mainWindowList.createWindowIfNoneAreOpen(); - } - - void shutdown() override - { - versionChecker = nullptr; - appearanceEditorWindow = nullptr; - globalPreferencesWindow = nullptr; - utf8Window = nullptr; - svgPathWindow = nullptr; - - mainWindowList.forceCloseAllWindows(); - openDocumentManager.clear(); - - #if JUCE_MAC - MenuBarModel::setMacMainMenu (nullptr); - #endif - - menuModel = nullptr; - commandManager = nullptr; - settings = nullptr; - - LookAndFeel::setDefaultLookAndFeel (nullptr); - - if (! isRunningCommandLine) - Logger::writeToLog ("Shutdown"); - - deleteLogger(); - } - - //============================================================================== - void systemRequestedQuit() override - { - if (ModalComponentManager::getInstance()->cancelAllModalComponents()) - { - new AsyncQuitRetrier(); - } - else - { - if (closeAllMainWindows()) - quit(); - } - } - - //============================================================================== - const String getApplicationName() override { return "Introjucer"; } - const String getApplicationVersion() override { return ProjectInfo::versionString; } - - virtual String getVersionDescription() const - { - String s; - - const Time buildDate (Time::getCompilationDate()); - - s << "Introjucer " << ProjectInfo::versionString - << newLine - << "Build date: " << buildDate.getDayOfMonth() - << " " << Time::getMonthName (buildDate.getMonth(), true) - << " " << buildDate.getYear(); - - return s; - } - - bool moreThanOneInstanceAllowed() override - { - return true; // this is handled manually in initialise() - } - - void anotherInstanceStarted (const String& commandLine) override - { - openFile (File (commandLine.unquoted())); - } - - static IntrojucerApp& getApp() - { - IntrojucerApp* const app = dynamic_cast (JUCEApplication::getInstance()); - jassert (app != nullptr); - return *app; - } - - static ApplicationCommandManager& getCommandManager() - { - ApplicationCommandManager* cm = IntrojucerApp::getApp().commandManager; - jassert (cm != nullptr); - return *cm; - } - - //============================================================================== - struct MainMenuModel : public MenuBarModel - { - MainMenuModel() - { - setApplicationCommandManagerToWatch (&getCommandManager()); - } - - StringArray getMenuBarNames() override - { - return getApp().getMenuNames(); - } - - PopupMenu getMenuForIndex (int /*topLevelMenuIndex*/, const String& menuName) override - { - PopupMenu menu; - getApp().createMenu (menu, menuName); - return menu; - } - - void menuItemSelected (int menuItemID, int /*topLevelMenuIndex*/) override - { - getApp().handleMainMenuCommand (menuItemID); - } - }; - - enum - { - recentProjectsBaseID = 100, - activeDocumentsBaseID = 300, - colourSchemeBaseID = 1000 - }; - - virtual StringArray getMenuNames() - { - const char* const names[] = { "File", "Edit", "View", "Window", "GUI Editor", "Tools", nullptr }; - return StringArray (names); - } - - virtual void createMenu (PopupMenu& menu, const String& menuName) - { - if (menuName == "File") createFileMenu (menu); - else if (menuName == "Edit") createEditMenu (menu); - else if (menuName == "View") createViewMenu (menu); - else if (menuName == "Window") createWindowMenu (menu); - else if (menuName == "Tools") createToolsMenu (menu); - else if (menuName == "GUI Editor") createGUIEditorMenu (menu); - else jassertfalse; // names have changed? - } - - virtual void createFileMenu (PopupMenu& menu) - { - menu.addCommandItem (commandManager, CommandIDs::newProject); - menu.addSeparator(); - menu.addCommandItem (commandManager, CommandIDs::open); - - PopupMenu recentFiles; - settings->recentFiles.createPopupMenuItems (recentFiles, recentProjectsBaseID, true, true); - menu.addSubMenu ("Open Recent", recentFiles); - - menu.addSeparator(); - menu.addCommandItem (commandManager, CommandIDs::closeDocument); - menu.addCommandItem (commandManager, CommandIDs::saveDocument); - menu.addCommandItem (commandManager, CommandIDs::saveDocumentAs); - menu.addCommandItem (commandManager, CommandIDs::saveAll); - menu.addSeparator(); - menu.addCommandItem (commandManager, CommandIDs::closeProject); - menu.addCommandItem (commandManager, CommandIDs::saveProject); - menu.addSeparator(); - menu.addCommandItem (commandManager, CommandIDs::openInIDE); - menu.addCommandItem (commandManager, CommandIDs::saveAndOpenInIDE); - - #if ! JUCE_MAC - menu.addSeparator(); - menu.addCommandItem (commandManager, StandardApplicationCommandIDs::quit); - #endif - } - - virtual void createEditMenu (PopupMenu& menu) - { - menu.addCommandItem (commandManager, StandardApplicationCommandIDs::undo); - menu.addCommandItem (commandManager, StandardApplicationCommandIDs::redo); - menu.addSeparator(); - menu.addCommandItem (commandManager, StandardApplicationCommandIDs::cut); - menu.addCommandItem (commandManager, StandardApplicationCommandIDs::copy); - menu.addCommandItem (commandManager, StandardApplicationCommandIDs::paste); - menu.addCommandItem (commandManager, StandardApplicationCommandIDs::del); - menu.addCommandItem (commandManager, StandardApplicationCommandIDs::selectAll); - menu.addCommandItem (commandManager, StandardApplicationCommandIDs::deselectAll); - menu.addSeparator(); - menu.addCommandItem (commandManager, CommandIDs::showFindPanel); - menu.addCommandItem (commandManager, CommandIDs::findSelection); - menu.addCommandItem (commandManager, CommandIDs::findNext); - menu.addCommandItem (commandManager, CommandIDs::findPrevious); - } - - virtual void createViewMenu (PopupMenu& menu) - { - menu.addCommandItem (commandManager, CommandIDs::showFilePanel); - menu.addCommandItem (commandManager, CommandIDs::showConfigPanel); - menu.addCommandItem (commandManager, CommandIDs::showProjectSettings); - menu.addCommandItem (commandManager, CommandIDs::showProjectModules); - menu.addSeparator(); - createColourSchemeItems (menu); - } - - void createColourSchemeItems (PopupMenu& menu) - { - const StringArray presetSchemes (settings->appearance.getPresetSchemes()); - - if (presetSchemes.size() > 0) - { - PopupMenu schemes; - - for (int i = 0; i < presetSchemes.size(); ++i) - schemes.addItem (colourSchemeBaseID + i, presetSchemes[i]); - - menu.addSubMenu ("Colour Scheme", schemes); - } - } - - virtual void createWindowMenu (PopupMenu& menu) - { - menu.addCommandItem (commandManager, CommandIDs::closeWindow); - menu.addSeparator(); - - menu.addCommandItem (commandManager, CommandIDs::goToPreviousDoc); - menu.addCommandItem (commandManager, CommandIDs::goToNextDoc); - menu.addCommandItem (commandManager, CommandIDs::goToCounterpart); - menu.addSeparator(); - - const int numDocs = jmin (50, openDocumentManager.getNumOpenDocuments()); - - for (int i = 0; i < numDocs; ++i) - { - OpenDocumentManager::Document* doc = openDocumentManager.getOpenDocument(i); - menu.addItem (activeDocumentsBaseID + i, doc->getName()); - } - - menu.addSeparator(); - menu.addCommandItem (commandManager, CommandIDs::closeAllDocuments); - } - - virtual void createToolsMenu (PopupMenu& menu) - { - menu.addCommandItem (commandManager, CommandIDs::showGlobalPreferences); - menu.addSeparator(); - menu.addCommandItem (commandManager, CommandIDs::showUTF8Tool); - menu.addCommandItem (commandManager, CommandIDs::showSVGPathTool); - menu.addCommandItem (commandManager, CommandIDs::showTranslationTool); - } - - virtual void handleMainMenuCommand (int menuItemID) - { - if (menuItemID >= recentProjectsBaseID && menuItemID < recentProjectsBaseID + 100) - { - // open a file from the "recent files" menu - openFile (settings->recentFiles.getFile (menuItemID - recentProjectsBaseID)); - } - else if (menuItemID >= activeDocumentsBaseID && menuItemID < activeDocumentsBaseID + 200) - { - if (OpenDocumentManager::Document* doc = openDocumentManager.getOpenDocument (menuItemID - activeDocumentsBaseID)) - mainWindowList.openDocument (doc, true); - else - jassertfalse; - } - else if (menuItemID >= colourSchemeBaseID && menuItemID < colourSchemeBaseID + 200) - { - settings->appearance.selectPresetScheme (menuItemID - colourSchemeBaseID); - } - else - { - handleGUIEditorMenuCommand (menuItemID); - } - } - - //============================================================================== - void getAllCommands (Array & commands) override - { - JUCEApplication::getAllCommands (commands); - - const CommandID ids[] = { CommandIDs::newProject, - CommandIDs::open, - CommandIDs::closeAllDocuments, - CommandIDs::saveAll, - CommandIDs::showGlobalPreferences, - CommandIDs::showUTF8Tool, - CommandIDs::showSVGPathTool }; - - commands.addArray (ids, numElementsInArray (ids)); - } - - void getCommandInfo (CommandID commandID, ApplicationCommandInfo& result) override - { - switch (commandID) - { - case CommandIDs::newProject: - result.setInfo ("New Project...", "Creates a new Jucer project", CommandCategories::general, 0); - result.defaultKeypresses.add (KeyPress ('n', ModifierKeys::commandModifier, 0)); - break; - - case CommandIDs::open: - result.setInfo ("Open...", "Opens a Jucer project", CommandCategories::general, 0); - result.defaultKeypresses.add (KeyPress ('o', ModifierKeys::commandModifier, 0)); - break; - - case CommandIDs::showGlobalPreferences: - result.setInfo ("Global Preferences...", "Shows the global preferences window.", CommandCategories::general, 0); - break; - - case CommandIDs::closeAllDocuments: - result.setInfo ("Close All Documents", "Closes all open documents", CommandCategories::general, 0); - result.setActive (openDocumentManager.getNumOpenDocuments() > 0); - break; - - case CommandIDs::saveAll: - result.setInfo ("Save All", "Saves all open documents", CommandCategories::general, 0); - result.defaultKeypresses.add (KeyPress ('s', ModifierKeys::commandModifier | ModifierKeys::altModifier, 0)); - break; - - case CommandIDs::showUTF8Tool: - result.setInfo ("UTF-8 String-Literal Helper", "Shows the UTF-8 string literal utility", CommandCategories::general, 0); - break; - - case CommandIDs::showSVGPathTool: - result.setInfo ("SVG Path Helper", "Shows the SVG->Path data conversion utility", CommandCategories::general, 0); - break; - - default: - JUCEApplication::getCommandInfo (commandID, result); - break; - } - } - - bool perform (const InvocationInfo& info) override - { - switch (info.commandID) - { - case CommandIDs::newProject: createNewProject(); break; - case CommandIDs::open: askUserToOpenFile(); break; - case CommandIDs::saveAll: openDocumentManager.saveAll(); break; - case CommandIDs::closeAllDocuments: closeAllDocuments (true); break; - case CommandIDs::showUTF8Tool: showUTF8ToolWindow(); break; - case CommandIDs::showSVGPathTool: showSVGPathDataToolWindow(); break; - - case CommandIDs::showGlobalPreferences: AppearanceSettings::showGlobalPreferences (globalPreferencesWindow); break; - default: return JUCEApplication::perform (info); - } - - return true; - } - - //============================================================================== - void createNewProject() - { - MainWindow* mw = mainWindowList.getOrCreateEmptyWindow(); - mw->showNewProjectWizard(); - mainWindowList.avoidSuperimposedWindows (mw); - } - - virtual void updateNewlyOpenedProject (Project&) {} - - void askUserToOpenFile() - { - FileChooser fc ("Open File"); - - if (fc.browseForFileToOpen()) - openFile (fc.getResult()); - } - - bool openFile (const File& file) - { - return mainWindowList.openFile (file); - } - - bool closeAllDocuments (bool askUserToSave) - { - return openDocumentManager.closeAll (askUserToSave); - } - - virtual bool closeAllMainWindows() - { - return mainWindowList.askAllWindowsToClose(); - } - - //============================================================================== - void showUTF8ToolWindow() - { - if (utf8Window != nullptr) - utf8Window->toFront (true); - else - new FloatingToolWindow ("UTF-8 String Literal Converter", - "utf8WindowPos", - new UTF8Component(), utf8Window, - 500, 500, 300, 300, 1000, 1000); - } - - void showSVGPathDataToolWindow() - { - if (svgPathWindow != nullptr) - svgPathWindow->toFront (true); - else - new FloatingToolWindow ("SVG Path Converter", - "svgPathWindowPos", - new SVGPathDataComponent(), svgPathWindow, - 500, 500, 300, 300, 1000, 1000); - } - - //============================================================================== - struct FileWithTime - { - FileWithTime (const File& f) : file (f), time (f.getLastModificationTime()) {} - FileWithTime() {} - - bool operator< (const FileWithTime& other) const { return time < other.time; } - bool operator== (const FileWithTime& other) const { return time == other.time; } - - File file; - Time time; - }; - - void deleteLogger() - { - const int maxNumLogFilesToKeep = 50; - - Logger::setCurrentLogger (nullptr); - - if (logger != nullptr) - { - Array logFiles; - logger->getLogFile().getParentDirectory().findChildFiles (logFiles, File::findFiles, false); - - if (logFiles.size() > maxNumLogFilesToKeep) - { - Array files; - - for (int i = 0; i < logFiles.size(); ++i) - files.addUsingDefaultSort (logFiles.getReference(i)); - - for (int i = 0; i < files.size() - maxNumLogFilesToKeep; ++i) - files.getReference(i).file.deleteFile(); - } - } - - logger = nullptr; - } - - virtual void addExtraConfigItems (Project&, TreeViewItem&) {} - - #if JUCE_LINUX - virtual String getLogFolderName() const { return "~/.config/Introjucer/Logs"; } - #else - virtual String getLogFolderName() const { return "com.juce.introjucer"; } - #endif - - virtual PropertiesFile::Options getPropertyFileOptionsFor (const String& filename) - { - PropertiesFile::Options options; - options.applicationName = filename; - options.filenameSuffix = "settings"; - options.osxLibrarySubFolder = "Application Support"; - #if JUCE_LINUX - options.folderName = "~/.config/Introjucer"; - #else - options.folderName = "Introjucer"; - #endif - - return options; - } - - virtual Component* createProjectContentComponent() const - { - return new ProjectContentComponent(); - } - - //============================================================================== - virtual LatestVersionChecker* createVersionChecker() const - { - return new LatestVersionChecker(); - } - - //============================================================================== - IntrojucerLookAndFeel lookAndFeel; - - ScopedPointer settings; - ScopedPointer icons; - - ScopedPointer menuModel; - - MainWindowList mainWindowList; - OpenDocumentManager openDocumentManager; - ScopedPointer commandManager; - - ScopedPointer appearanceEditorWindow, globalPreferencesWindow, utf8Window, svgPathWindow; - - ScopedPointer logger; - - bool isRunningCommandLine; - -private: - ScopedPointer versionChecker; - - class AsyncQuitRetrier : private Timer - { - public: - AsyncQuitRetrier() { startTimer (500); } - - void timerCallback() override - { - stopTimer(); - delete this; - - if (JUCEApplicationBase* app = JUCEApplicationBase::getInstance()) - app->systemRequestedQuit(); - } - - JUCE_DECLARE_NON_COPYABLE (AsyncQuitRetrier) - }; - - void initCommandManager() - { - commandManager = new ApplicationCommandManager(); - commandManager->registerAllCommandsForTarget (this); - - { - CodeDocument doc; - CppCodeEditorComponent ed (File::nonexistent, doc); - commandManager->registerAllCommandsForTarget (&ed); - } - - registerGUIEditorCommands(); - } -}; - - -#endif // JUCER_APPLICATION_H_INCLUDED diff --git a/extras/Introjucer/Source/Application/jucer_CommandIDs.h b/extras/Introjucer/Source/Application/jucer_CommandIDs.h deleted file mode 100644 index 396f942355..0000000000 --- a/extras/Introjucer/Source/Application/jucer_CommandIDs.h +++ /dev/null @@ -1,74 +0,0 @@ -/* - ============================================================================== - - 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. - - ============================================================================== -*/ - -/** - A namespace to hold all the possible command IDs. -*/ -namespace CommandIDs -{ - enum - { - newProject = 0x200010, - open = 0x200020, - closeDocument = 0x200030, - saveDocument = 0x200040, - saveDocumentAs = 0x200041, - - closeProject = 0x200051, - saveProject = 0x200060, - saveAll = 0x200080, - openInIDE = 0x200072, - saveAndOpenInIDE = 0x200073, - createNewExporter = 0x20007d, - - showUTF8Tool = 0x200076, - showGlobalPreferences = 0x200077, - showConfigPanel = 0x200074, - showFilePanel = 0x200078, - showTranslationTool = 0x200079, - showProjectSettings = 0x20007a, - showProjectModules = 0x20007b, - showSVGPathTool = 0x20007c, - - closeWindow = 0x201001, - closeAllDocuments = 0x201000, - goToPreviousDoc = 0x201002, - goToNextDoc = 0x201003, - goToCounterpart = 0x201004, - deleteSelectedItem = 0x201005, - - showFindPanel = 0x2010a0, - findSelection = 0x2010a1, - findNext = 0x2010a2, - findPrevious = 0x2010a3 - }; -} - -namespace CommandCategories -{ - static const char* const general = "General"; - static const char* const editing = "Editing"; - static const char* const view = "View"; - static const char* const windows = "Windows"; -} diff --git a/extras/Introjucer/Source/BinaryData/AudioPluginXCodeScript.txt b/extras/Introjucer/Source/BinaryData/AudioPluginXCodeScript.txt deleted file mode 100644 index 746d9fa24f..0000000000 --- a/extras/Introjucer/Source/BinaryData/AudioPluginXCodeScript.txt +++ /dev/null @@ -1,91 +0,0 @@ - -# This script takes the build product and copies it to the AU, VST, VST3, RTAS and AAX folders, depending on -# which plugin types you've built - -original=$CONFIGURATION_BUILD_DIR/$FULL_PRODUCT_NAME - -# this looks inside the binary to detect which platforms are needed.. -copyAU=`nm -g "$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH" | grep -i 'AudioUnit' | wc -l` -copyVST=`nm -g "$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH" | grep -i 'VSTPlugin' | wc -l` -copyVST3=`nm -g "$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH" | grep -i 'GetPluginFactory' | wc -l` -copyRTAS=`nm -g "$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH" | grep -i 'CProcess' | wc -l` -copyAAX=`nm -g "$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH" | grep -i 'ACFStartup' | wc -l` - -if [ $copyAU -gt 0 ]; then - echo "Copying to AudioUnit folder..." - AUDir=~/Library/Audio/Plug-Ins/Components - mkdir -p "$AUDir" - AU=$AUDir/$PRODUCT_NAME.component - if [ -d "$AU" ]; then - rm -r "$AU" - fi - - cp -r "$original" "$AU" - sed -i "" -e 's/TDMwPTul/BNDLPTul/g' "$AU/Contents/PkgInfo" - sed -i "" -e 's/TDMw/BNDL/g' "$AU/Contents/$INFOPLIST_FILE" -fi - -if [ $copyVST -gt 0 ]; then - echo "Copying to VST folder..." - VSTDir=~/Library/Audio/Plug-Ins/VST - mkdir -p "$VSTDir" - VST=$VSTDir/$PRODUCT_NAME.vst - if [ -d "$VST" ]; then - rm -r "$VST" - fi - - cp -r "$original" "$VST" - sed -i "" -e 's/TDMwPTul/BNDLPTul/g' "$VST/Contents/PkgInfo" - sed -i "" -e 's/TDMw/BNDL/g' "$VST/Contents/$INFOPLIST_FILE" -fi - -if [ $copyVST3 -gt 0 ]; then - echo "Copying to VST3 folder..." - VST3Dir=~/Library/Audio/Plug-Ins/VST3 - mkdir -p "$VST3Dir" - VST3=$VST3Dir/$PRODUCT_NAME.vst3 - if [ -d "$VST3" ]; then - rm -r "$VST3" - fi - - cp -r "$original" "$VST3" - sed -i "" -e 's/TDMwPTul/BNDLPTul/g' "$VST3/Contents/PkgInfo" - sed -i "" -e 's/TDMw/BNDL/g' "$VST3/Contents/$INFOPLIST_FILE" -fi - -if [ $copyRTAS -gt 0 ]; then - echo "Copying to RTAS folder..." - RTASDir=/Library/Application\ Support/Digidesign/Plug-Ins - if [ -d "$RTASDir" ]; then - RTAS=$RTASDir/$PRODUCT_NAME.dpm - if [ -d "$RTAS" ]; then - rm -r "$RTAS" - fi - - cp -r "$original" "$RTAS" - fi -fi - -if [ $copyAAX -gt 0 ]; then - echo "Copying to AAX folder..." - - if [ -d "/Applications/ProTools_3PDev/Plug-Ins" ]; then - AAX1="/Applications/ProTools_3PDev/Plug-Ins/$PRODUCT_NAME.aaxplugin" - - if [ -d "$AAX1" ]; then - rm -r "$AAX1" - fi - - cp -R -H "$original" "$AAX1" - fi - - if [ -d "/Library/Application Support/Avid/Audio/Plug-Ins" ]; then - AAX2="/Library/Application Support/Avid/Audio/Plug-Ins/$PRODUCT_NAME.aaxplugin" - - if [ -d "$AAX2" ]; then - rm -r "$AAX2" - fi - - cp -R -H "$original" "$AAX2" - fi -fi diff --git a/extras/Introjucer/Source/BinaryData/juce_icon.png b/extras/Introjucer/Source/BinaryData/juce_icon.png deleted file mode 100644 index 04071f5d0112b944cf128e4cf1bbb54f2e251245..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40749 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 BbA$i@ diff --git a/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_XCode.h b/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_XCode.h deleted file mode 100644 index 6b637bf4b9..0000000000 --- a/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_XCode.h +++ /dev/null @@ -1,1723 +0,0 @@ -/* - ============================================================================== - - 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(); - - if (iOS) - { - if (getScreenOrientationValue().toString().isEmpty()) - getScreenOrientationValue() = "portraitlandscape"; - } - } - - 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]; } - - Value getScreenOrientationValue() { return getSetting (Ids::iosScreenOrientation); } - String getScreenOrientationString() const { return settings [Ids::iosScreenOrientation]; } - - Value getCustomResourceFoldersValue() { return getSetting (Ids::customXcodeResourceFolders); } - String getCustomResourceFoldersString() const { return getSettingString (Ids::customXcodeResourceFolders).replaceCharacters ("\r\n", "::"); } - - Value getCustomXcassetsFolderValue() { return getSetting (Ids::customXcassetsFolder); } - String getCustomXcassetsFolderString() const { return settings [Ids::customXcassetsFolder]; } - - Value getInAppPurchasesValue() { return getSetting (Ids::iosInAppPurchases); } - bool isInAppPurchasesEnabled() const { return settings [Ids::iosInAppPurchases]; } - Value getBackgroundAudioValue() { return getSetting (Ids::iosBackgroundAudio); } - bool isBackgroundAudioEnabled() const { return settings [Ids::iosBackgroundAudio]; } - Value getBackgroundBleValue() { return getSetting (Ids::iosBackgroundBle); } - bool isBackgroundBleEnabled() const { return settings [Ids::iosBackgroundBle]; } - - Value getIosDevelopmentTeamIDValue() { return getSetting (Ids::iosDevelopmentTeamID); } - String getIosDevelopmentTeamIDString() const { return settings [Ids::iosDevelopmentTeamID]; } - - 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 (iOS) - { - props.add (new TextPropertyComponent (getCustomXcassetsFolderValue(), "Custom Xcassets folder", 128, false), - "If this field is not empty, your Xcode project will use the custom xcassets folder specified here " - "for the app icons and launchimages, and will ignore the Icon files specified above."); - } - - props.add (new TextPropertyComponent (getCustomResourceFoldersValue(), "Custom Xcode Resource folders", 8192, true), - "You can specify a list of custom resource folders here (separated by newlines or whitespace). " - "References to these folders will then be added to the Xcode resources. " - "This way you can specify them for OS X and iOS separately, and modify the content of the resource folders " - "without re-saving the Introjucer project."); - - if (iOS) - { - static const char* orientations[] = { "Portrait and Landscape", "Portrait", "Landscape", nullptr }; - static const char* orientationValues[] = { "portraitlandscape", "portrait", "landscape", nullptr }; - - props.add (new ChoicePropertyComponent (getScreenOrientationValue(), "Screen orientation",StringArray (orientations), Array (orientationValues)), - "The screen orientations that this app should support"); - - 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 BooleanPropertyComponent (getInAppPurchasesValue(), "In-App purchases capability", "Enabled"), - "Enable this to grant your app the capability for in-app purchases. " - "This option requires that you specify a valid Development Team ID."); - - props.add (new BooleanPropertyComponent (getBackgroundAudioValue(), "Audio background capability", "Enabled"), - "Enable this to grant your app the capability to access audio when in background mode."); - - props.add (new BooleanPropertyComponent (getBackgroundBleValue(), "Bluetooth MIDI background capability", "Enabled"), - "Enable this to grant your app the capability to connect to Bluetooth LE devices when in background mode."); - } - else if (projectType.isGUIApplication()) - { - 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."); - } - - 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."); - - if (iOS) - { - props.add (new TextPropertyComponent (getIosDevelopmentTeamIDValue(), "Development Team ID", 10, false), - "The Development Team ID to be used for setting up code-signing your iOS app. This is a ten-character " - "string (for example, \"S7B6T5XJ2Q\") that describes the distribution certificate Apple issued to you. " - "You can find this string in the OS X app Keychain Access under \"Certificates\"."); - } - } - - 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(); - addCustomResourceFolders(); - addMainBuildProduct(); - - if (xcodeCreatePList) - { - RelativePath plistPath (infoPlistFile, getTargetFolder(), RelativePath::buildTargetFolder); - addFileReference (plistPath.toUnixStyle()); - resourceFileRefs.add (createFileRefID (plistPath)); - } - - if (iOS) - { - if (! projectType.isStaticLibrary()) - { - String customXcassetsPath = getCustomXcassetsFolderString(); - - if (customXcassetsPath.isEmpty()) - createXcassetsFolderFromIcons(); - else - addCustomResourceFolder (customXcassetsPath, "folder.assetcatalog"); - } - } - 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); - - addIosScreenOrientations (dict); - addIosBackgroundModes (dict); - } - - for (int i = 0; i < xcodeExtraPListEntries.size(); ++i) - dict->addChildElement (new XmlElement (xcodeExtraPListEntries.getReference(i))); - - MemoryOutputStream mo; - plist->writeToStream (mo, ""); - - overwriteFileIfDifferentOrThrow (infoPlistFile, mo); - } - - void addIosScreenOrientations (XmlElement* dict) const - { - String screenOrientation = getScreenOrientationString(); - StringArray iOSOrientations; - - if (screenOrientation.contains ("portrait")) { iOSOrientations.add ("UIInterfaceOrientationPortrait"); } - if (screenOrientation.contains ("landscape")) { iOSOrientations.add ("UIInterfaceOrientationLandscapeLeft"); iOSOrientations.add ("UIInterfaceOrientationLandscapeRight"); } - - addArrayToPlist (dict, "UISupportedInterfaceOrientations", iOSOrientations); - - } - - void addIosBackgroundModes (XmlElement* dict) const - { - StringArray iosBackgroundModes; - - if (isBackgroundAudioEnabled()) iosBackgroundModes.add ("audio"); - if (isBackgroundBleEnabled()) iosBackgroundModes.add ("bluetooth-central"); - - if (! iosBackgroundModes.isEmpty()) - addArrayToPlist (dict, "UIBackgroundModes", iosBackgroundModes); - } - - static void addArrayToPlist (XmlElement* dict, String arrayKey, const StringArray& arrayElements) - { - dict->createNewChildElement ("key")->addTextElement (arrayKey); - XmlElement* plistStringArray = dict->createNewChildElement ("array"); - - for (int i = 0; i < arrayElements.size(); ++i) - plistStringArray->createNewChildElement ("string")->addTextElement (arrayElements[i]); - } - - 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 (iOS && isInAppPurchasesEnabled()) - s.addIfNotAlreadyThere ("StoreKit"); - - 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 addCustomResourceFolders() const - { - StringArray crf; - - crf.addTokens (getCustomResourceFoldersString(), ":", ""); - crf.trim(); - - for (int i = 0; i < crf.size(); ++i) - addCustomResourceFolder (crf[i]); - } - - void addCustomResourceFolder (String folderPathRelativeToProjectFolder, const String fileType = "folder") const - { - String folderPath = RelativePath (folderPathRelativeToProjectFolder, RelativePath::projectFolder) - .rebased (projectFolder, getTargetFolder(), RelativePath::buildTargetFolder) - .toUnixStyle(); - - const String fileRefID (createFileRefID (folderPath)); - - addFileOrFolderReference (folderPath, "", fileType); - - resourceIDs.add (addBuildFile (folderPath, fileRefID, false, false)); - resourceFileRefs.add (createFileRefID (folderPath)); - } - - //============================================================================== - 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 = ""; - } - - String fileType = getFileType (path); - - return addFileOrFolderReference (pathString, sourceTree, fileType); - } - - String addFileOrFolderReference (String pathString, String sourceTree, String fileType) const - { - const String fileRefID (createFileRefID (pathString)); - - ScopedPointer v (new ValueTree (fileRefID)); - v->setProperty ("isa", "PBXFileReference", nullptr); - v->setProperty ("lastKnownFileType", fileType, 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", getProjectObjectAttributes(), 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); - } - - String getProjectObjectAttributes() const - { - String attributes; - - attributes << "{ LastUpgradeCheck = 0440; "; - - if (iOS && isInAppPurchasesEnabled()) - { - attributes << "TargetAttributes = { " << createID ("__target") << " = { "; - attributes << "DevelopmentTeam = " << getIosDevelopmentTeamIDString() << "; "; - attributes << "SystemCapabilities = { com.apple.InAppPurchase = { enabled = 1; }; }; }; };"; - } - - attributes << "}"; - return attributes; - } - - //============================================================================== - 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 createXcassetsFolderFromIcons() 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/Introjucer/Source/Project/jucer_AudioPluginModule.h b/extras/Introjucer/Source/Project/jucer_AudioPluginModule.h deleted file mode 100644 index 7bed99128c..0000000000 --- a/extras/Introjucer/Source/Project/jucer_AudioPluginModule.h +++ /dev/null @@ -1,570 +0,0 @@ -/* - ============================================================================== - - 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. - - ============================================================================== -*/ - -#ifndef JUCER_AUDIOPLUGINMODULE_H_INCLUDED -#define JUCER_AUDIOPLUGINMODULE_H_INCLUDED - -#include "../Application/jucer_GlobalPreferences.h" - -//============================================================================== -namespace -{ - inline Value shouldBuildVST (Project& project) { return project.getProjectValue ("buildVST"); } - inline Value shouldBuildVST3 (Project& project) { return project.getProjectValue ("buildVST3"); } - inline Value shouldBuildAU (Project& project) { return project.getProjectValue ("buildAU"); } - inline Value shouldBuildRTAS (Project& project) { return project.getProjectValue ("buildRTAS"); } - inline Value shouldBuildAAX (Project& project) { return project.getProjectValue ("buildAAX"); } - - inline Value getPluginName (Project& project) { return project.getProjectValue ("pluginName"); } - inline Value getPluginDesc (Project& project) { return project.getProjectValue ("pluginDesc"); } - inline Value getPluginManufacturer (Project& project) { return project.getProjectValue ("pluginManufacturer"); } - inline Value getPluginManufacturerCode (Project& project) { return project.getProjectValue ("pluginManufacturerCode"); } - inline Value getPluginCode (Project& project) { return project.getProjectValue ("pluginCode"); } - inline Value getPluginChannelConfigs (Project& project) { return project.getProjectValue ("pluginChannelConfigs"); } - inline Value getPluginIsSynth (Project& project) { return project.getProjectValue ("pluginIsSynth"); } - inline Value getPluginWantsMidiInput (Project& project) { return project.getProjectValue ("pluginWantsMidiIn"); } - inline Value getPluginProducesMidiOut (Project& project) { return project.getProjectValue ("pluginProducesMidiOut"); } - inline Value getPluginIsMidiEffectPlugin (Project& project) { return project.getProjectValue ("pluginIsMidiEffectPlugin"); } - inline Value getPluginEditorNeedsKeyFocus (Project& project) { return project.getProjectValue ("pluginEditorRequiresKeys"); } - inline Value getPluginVSTCategory (Project& project) { return project.getProjectValue ("pluginVSTCategory"); } - inline Value getPluginAUExportPrefix (Project& project) { return project.getProjectValue ("pluginAUExportPrefix"); } - inline Value getPluginAUMainType (Project& project) { return project.getProjectValue ("pluginAUMainType"); } - inline Value getPluginRTASCategory (Project& project) { return project.getProjectValue ("pluginRTASCategory"); } - inline Value getPluginRTASBypassDisabled (Project& project) { return project.getProjectValue ("pluginRTASDisableBypass"); } - inline Value getPluginRTASMultiMonoDisabled (Project& project) { return project.getProjectValue ("pluginRTASDisableMultiMono"); } - inline Value getPluginAAXCategory (Project& project) { return project.getProjectValue ("pluginAAXCategory"); } - inline Value getPluginAAXBypassDisabled (Project& project) { return project.getProjectValue ("pluginAAXDisableBypass"); } - inline Value getPluginAAXMultiMonoDisabled (Project& project) { return project.getProjectValue ("pluginAAXDisableMultiMono"); } - - inline String getPluginRTASCategoryCode (Project& project) - { - if (static_cast (getPluginIsSynth (project).getValue())) - return "ePlugInCategory_SWGenerators"; - - String s (getPluginRTASCategory (project).toString()); - if (s.isEmpty()) - s = "ePlugInCategory_None"; - - return s; - } - - inline String getAUMainTypeString (Project& project) - { - String s (getPluginAUMainType (project).toString()); - - if (s.isEmpty()) - { - if (getPluginIsSynth (project).getValue()) s = "kAudioUnitType_MusicDevice"; - else if (getPluginWantsMidiInput (project).getValue()) s = "kAudioUnitType_MusicEffect"; - else s = "kAudioUnitType_Effect"; - } - - return s; - } - - inline String getAUMainTypeCode (Project& project) - { - String s (getPluginAUMainType (project).toString()); - - if (s.isEmpty()) - { - if (getPluginIsMidiEffectPlugin (project).getValue()) s = "aumi"; - else if (getPluginIsSynth (project).getValue()) s = "aumu"; - else if (getPluginWantsMidiInput (project).getValue()) s = "aumf"; - else s = "aufx"; - } - - return s; - } - - inline String getPluginVSTCategoryString (Project& project) - { - String s (getPluginVSTCategory (project).toString().trim()); - - if (s.isEmpty()) - s = static_cast (getPluginIsSynth (project).getValue()) ? "kPlugCategSynth" - : "kPlugCategEffect"; - return s; - } - - inline int countMaxPluginChannels (const String& configString, bool isInput) - { - StringArray configs; - configs.addTokens (configString, ", {}", StringRef()); - configs.trim(); - configs.removeEmptyStrings(); - jassert ((configs.size() & 1) == 0); // looks like a syntax error in the configs? - - int maxVal = 0; - for (int i = (isInput ? 0 : 1); i < configs.size(); i += 2) - maxVal = jmax (maxVal, configs[i].getIntValue()); - - return maxVal; - } - - inline String valueToBool (const Value& v) - { - return static_cast (v.getValue()) ? "1" : "0"; - } - - inline String valueToStringLiteral (const var& v) - { - return CppTokeniserFunctions::addEscapeChars (v.toString()).quoted(); - } - - inline String valueToCharLiteral (const var& v) - { - return CppTokeniserFunctions::addEscapeChars (v.toString().trim().substring (0, 4)).quoted ('\''); - } - - inline void writePluginCharacteristicsFile (ProjectSaver& projectSaver) - { - Project& project = projectSaver.project; - - StringPairArray flags; - flags.set ("JucePlugin_Build_VST", valueToBool (shouldBuildVST (project))); - flags.set ("JucePlugin_Build_VST3", valueToBool (shouldBuildVST3 (project))); - flags.set ("JucePlugin_Build_AU", valueToBool (shouldBuildAU (project))); - flags.set ("JucePlugin_Build_RTAS", valueToBool (shouldBuildRTAS (project))); - flags.set ("JucePlugin_Build_AAX", valueToBool (shouldBuildAAX (project))); - flags.set ("JucePlugin_Name", valueToStringLiteral (getPluginName (project))); - flags.set ("JucePlugin_Desc", valueToStringLiteral (getPluginDesc (project))); - flags.set ("JucePlugin_Manufacturer", valueToStringLiteral (getPluginManufacturer (project))); - flags.set ("JucePlugin_ManufacturerWebsite", valueToStringLiteral (project.getCompanyWebsite())); - flags.set ("JucePlugin_ManufacturerEmail", valueToStringLiteral (project.getCompanyEmail())); - flags.set ("JucePlugin_ManufacturerCode", valueToCharLiteral (getPluginManufacturerCode (project))); - flags.set ("JucePlugin_PluginCode", valueToCharLiteral (getPluginCode (project))); - flags.set ("JucePlugin_IsSynth", valueToBool (getPluginIsSynth (project))); - flags.set ("JucePlugin_WantsMidiInput", valueToBool (getPluginWantsMidiInput (project))); - flags.set ("JucePlugin_ProducesMidiOutput", valueToBool (getPluginProducesMidiOut (project))); - flags.set ("JucePlugin_IsMidiEffect", valueToBool (getPluginIsMidiEffectPlugin (project))); - flags.set ("JucePlugin_EditorRequiresKeyboardFocus", valueToBool (getPluginEditorNeedsKeyFocus (project))); - flags.set ("JucePlugin_Version", project.getVersionString()); - flags.set ("JucePlugin_VersionCode", project.getVersionAsHex()); - flags.set ("JucePlugin_VersionString", valueToStringLiteral (project.getVersionString())); - flags.set ("JucePlugin_VSTUniqueID", "JucePlugin_PluginCode"); - flags.set ("JucePlugin_VSTCategory", getPluginVSTCategoryString (project)); - flags.set ("JucePlugin_AUMainType", getAUMainTypeString (project)); - flags.set ("JucePlugin_AUSubType", "JucePlugin_PluginCode"); - flags.set ("JucePlugin_AUExportPrefix", getPluginAUExportPrefix (project).toString()); - flags.set ("JucePlugin_AUExportPrefixQuoted", valueToStringLiteral (getPluginAUExportPrefix (project))); - flags.set ("JucePlugin_AUManufacturerCode", "JucePlugin_ManufacturerCode"); - flags.set ("JucePlugin_CFBundleIdentifier", project.getBundleIdentifier().toString()); - flags.set ("JucePlugin_RTASCategory", getPluginRTASCategoryCode (project)); - flags.set ("JucePlugin_RTASManufacturerCode", "JucePlugin_ManufacturerCode"); - flags.set ("JucePlugin_RTASProductId", "JucePlugin_PluginCode"); - flags.set ("JucePlugin_RTASDisableBypass", valueToBool (getPluginRTASBypassDisabled (project))); - flags.set ("JucePlugin_RTASDisableMultiMono", valueToBool (getPluginRTASMultiMonoDisabled (project))); - flags.set ("JucePlugin_AAXIdentifier", project.getAAXIdentifier().toString()); - flags.set ("JucePlugin_AAXManufacturerCode", "JucePlugin_ManufacturerCode"); - flags.set ("JucePlugin_AAXProductId", "JucePlugin_PluginCode"); - flags.set ("JucePlugin_AAXCategory", getPluginAAXCategory (project).toString()); - flags.set ("JucePlugin_AAXDisableBypass", valueToBool (getPluginAAXBypassDisabled (project))); - flags.set ("JucePlugin_AAXDisableMultiMono", valueToBool (getPluginAAXMultiMonoDisabled (project))); - - { - String plugInChannelConfig = getPluginChannelConfigs (project).toString(); - - if (plugInChannelConfig.isNotEmpty()) - { - flags.set ("JucePlugin_MaxNumInputChannels", String (countMaxPluginChannels (plugInChannelConfig, true))); - flags.set ("JucePlugin_MaxNumOutputChannels", String (countMaxPluginChannels (plugInChannelConfig, false))); - flags.set ("JucePlugin_PreferredChannelConfigurations", plugInChannelConfig); - } - } - - MemoryOutputStream mem; - - mem << "//==============================================================================" << newLine - << "// Audio plugin settings.." << newLine - << newLine; - - for (int i = 0; i < flags.size(); ++i) - { - mem << "#ifndef " << flags.getAllKeys()[i] << newLine - << " #define " << flags.getAllKeys()[i].paddedRight (' ', 32) << " " - << flags.getAllValues()[i] << newLine - << "#endif" << newLine; - } - - projectSaver.setExtraAppConfigFileContent (mem.toString()); - } - - inline static void fixMissingXcodePostBuildScript (ProjectExporter& exporter) - { - if (exporter.isXcode() && exporter.settings [Ids::postbuildCommand].toString().isEmpty()) - exporter.getSetting (Ids::postbuildCommand) = String::fromUTF8 (BinaryData::AudioPluginXCodeScript_txt, - BinaryData::AudioPluginXCodeScript_txtSize); - } - - inline String createEscapedStringForVersion (ProjectExporter& exporter, const String& text) - { - // (VS10 automatically adds escape characters to the quotes for this definition) - return exporter.getVisualStudioVersion() < 10 ? CppTokeniserFunctions::addEscapeChars (text.quoted()) - : CppTokeniserFunctions::addEscapeChars (text).quoted(); - } - - inline String createRebasedPath (ProjectExporter& exporter, const RelativePath& path) - { - return createEscapedStringForVersion (exporter, - exporter.rebaseFromProjectFolderToBuildTarget (path) - .toWindowsStyle()); - } -} - -//============================================================================== -namespace VSTHelpers -{ - inline bool isExporterSupported (ProjectExporter& exporter) - { - return ! exporter.isAndroid(); - } - - inline void addVSTFolderToPath (ProjectExporter& exporter, bool isVST3) - { - const String vstFolder (exporter.getVSTPathValue (isVST3).toString()); - - if (vstFolder.isNotEmpty()) - exporter.addToExtraSearchPaths (RelativePath (vstFolder, RelativePath::projectFolder), 0); - } - - inline void createVSTPathEditor (ProjectExporter& exporter, PropertyListBuilder& props, bool isVST3) - { - const String vstFormat (isVST3 ? "VST3" : "VST"); - - props.add (new DependencyPathPropertyComponent (exporter.getVSTPathValue (isVST3), - vstFormat + " Folder"), - "If you're building a " + vstFormat + ", this must be the folder containing the " + vstFormat + " SDK. This should be an absolute path."); - } - - inline void prepareExporter (ProjectExporter& exporter, ProjectSaver& projectSaver, bool isVST3) - { - if (isExporterSupported (exporter)) - { - fixMissingXcodePostBuildScript (exporter); - writePluginCharacteristicsFile (projectSaver); - - exporter.makefileTargetSuffix = ".so"; - - Project::Item group (Project::Item::createGroup (const_cast (exporter).getProject(), - "Juce VST Wrapper", "__jucevstfiles")); - - addVSTFolderToPath (exporter, isVST3); - - if (exporter.isVisualStudio()) - { - RelativePath modulePath (exporter.rebaseFromProjectFolderToBuildTarget (RelativePath (exporter.getPathForModuleString ("juce_audio_plugin_client"), - RelativePath::projectFolder) - .getChildFile ("juce_audio_plugin_client") - .getChildFile ("VST3"))); - - for (ProjectExporter::ConfigIterator config (exporter); config.next();) - { - if (config->getValue (Ids::useRuntimeLibDLL).getValue().isVoid()) - config->getValue (Ids::useRuntimeLibDLL) = true; - - if (isVST3) - if (config->getValue (Ids::postbuildCommand).toString().isEmpty()) - config->getValue (Ids::postbuildCommand) = "copy /Y \"$(OutDir)\\$(TargetFileName)\" \"$(OutDir)\\$(TargetName).vst3\""; - } - } - - if (exporter.isLinux()) - exporter.makefileExtraLinkerFlags.add ("-Wl,--no-undefined"); - } - } - - inline void createPropertyEditors (ProjectExporter& exporter, PropertyListBuilder& props, bool isVST3) - { - if (isExporterSupported (exporter)) - { - fixMissingXcodePostBuildScript (exporter); - createVSTPathEditor (exporter, props, isVST3); - } - } -} - -//============================================================================== -namespace RTASHelpers -{ - inline RelativePath getRTASRelativeFolderPath (ProjectExporter& exporter) - { - return RelativePath (exporter.getRTASPathValue().toString(), RelativePath::projectFolder); - } - - inline bool isExporterSupported (ProjectExporter& exporter) - { - return exporter.isVisualStudio() || exporter.isXcode(); - } - - inline void addExtraSearchPaths (ProjectExporter& exporter) - { - RelativePath rtasFolder (getRTASRelativeFolderPath (exporter)); - - if (exporter.isVisualStudio()) - { - RelativePath juceWrapperFolder (exporter.getProject().getGeneratedCodeFolder(), - exporter.getTargetFolder(), RelativePath::buildTargetFolder); - - exporter.extraSearchPaths.add (juceWrapperFolder.toWindowsStyle()); - - static const char* p[] = { "AlturaPorts/TDMPlugins/PluginLibrary/EffectClasses", - "AlturaPorts/TDMPlugins/PluginLibrary/ProcessClasses", - "AlturaPorts/TDMPlugins/PluginLibrary/ProcessClasses/Interfaces", - "AlturaPorts/TDMPlugins/PluginLibrary/Utilities", - "AlturaPorts/TDMPlugins/PluginLibrary/RTASP_Adapt", - "AlturaPorts/TDMPlugins/PluginLibrary/CoreClasses", - "AlturaPorts/TDMPlugins/PluginLibrary/Controls", - "AlturaPorts/TDMPlugins/PluginLibrary/Meters", - "AlturaPorts/TDMPlugins/PluginLibrary/ViewClasses", - "AlturaPorts/TDMPlugins/PluginLibrary/DSPClasses", - "AlturaPorts/TDMPlugins/PluginLibrary/Interfaces", - "AlturaPorts/TDMPlugins/common", - "AlturaPorts/TDMPlugins/common/Platform", - "AlturaPorts/TDMPlugins/common/Macros", - "AlturaPorts/TDMPlugins/SignalProcessing/Public", - "AlturaPorts/TDMPlugIns/DSPManager/Interfaces", - "AlturaPorts/SADriver/Interfaces", - "AlturaPorts/DigiPublic/Interfaces", - "AlturaPorts/DigiPublic", - "AlturaPorts/Fic/Interfaces/DAEClient", - "AlturaPorts/NewFileLibs/Cmn", - "AlturaPorts/NewFileLibs/DOA", - "AlturaPorts/AlturaSource/PPC_H", - "AlturaPorts/AlturaSource/AppSupport", - "AvidCode/AVX2sdk/AVX/avx2/avx2sdk/inc", - "xplat/AVX/avx2/avx2sdk/inc" }; - - for (int i = 0; i < numElementsInArray (p); ++i) - exporter.addToExtraSearchPaths (rtasFolder.getChildFile (p[i])); - } - else if (exporter.isXcode()) - { - exporter.extraSearchPaths.add ("$(DEVELOPER_DIR)/Headers/FlatCarbon"); - exporter.extraSearchPaths.add ("$(SDKROOT)/Developer/Headers/FlatCarbon"); - - static const char* p[] = { "AlturaPorts/TDMPlugIns/PlugInLibrary/Controls", - "AlturaPorts/TDMPlugIns/PlugInLibrary/CoreClasses", - "AlturaPorts/TDMPlugIns/PlugInLibrary/DSPClasses", - "AlturaPorts/TDMPlugIns/PlugInLibrary/EffectClasses", - "AlturaPorts/TDMPlugIns/PlugInLibrary/MacBuild", - "AlturaPorts/TDMPlugIns/PlugInLibrary/Meters", - "AlturaPorts/TDMPlugIns/PlugInLibrary/ProcessClasses", - "AlturaPorts/TDMPlugIns/PlugInLibrary/ProcessClasses/Interfaces", - "AlturaPorts/TDMPlugIns/PlugInLibrary/RTASP_Adapt", - "AlturaPorts/TDMPlugIns/PlugInLibrary/Utilities", - "AlturaPorts/TDMPlugIns/PlugInLibrary/ViewClasses", - "AlturaPorts/TDMPlugIns/DSPManager/**", - "AlturaPorts/TDMPlugIns/SupplementalPlugInLib/Encryption", - "AlturaPorts/TDMPlugIns/SupplementalPlugInLib/GraphicsExtensions", - "AlturaPorts/TDMPlugIns/common/**", - "AlturaPorts/TDMPlugIns/common/PI_LibInterface", - "AlturaPorts/TDMPlugIns/PACEProtection/**", - "AlturaPorts/TDMPlugIns/SignalProcessing/**", - "AlturaPorts/OMS/Headers", - "AlturaPorts/Fic/Interfaces/**", - "AlturaPorts/Fic/Source/SignalNets", - "AlturaPorts/DSIPublicInterface/PublicHeaders", - "DAEWin/Include", - "AlturaPorts/DigiPublic/Interfaces", - "AlturaPorts/DigiPublic", - "AlturaPorts/NewFileLibs/DOA", - "AlturaPorts/NewFileLibs/Cmn", - "xplat/AVX/avx2/avx2sdk/inc", - "xplat/AVX/avx2/avx2sdk/utils" }; - - for (int i = 0; i < numElementsInArray (p); ++i) - exporter.addToExtraSearchPaths (rtasFolder.getChildFile (p[i])); - } - } - - inline void prepareExporter (ProjectExporter& exporter, ProjectSaver& projectSaver) - { - if (isExporterSupported (exporter)) - { - fixMissingXcodePostBuildScript (exporter); - - const RelativePath rtasFolder (getRTASRelativeFolderPath (exporter)); - - if (exporter.isVisualStudio()) - { - exporter.msvcTargetSuffix = ".dpm"; - - exporter.msvcExtraPreprocessorDefs.set ("JucePlugin_WinBag_path", - createRebasedPath (exporter, - rtasFolder.getChildFile ("WinBag"))); - - exporter.msvcDelayLoadedDLLs = "DAE.dll; DigiExt.dll; DSI.dll; PluginLib.dll; " - "DSPManager.dll; DSPManager.dll; DSPManagerClientLib.dll; RTASClientLib.dll"; - - if (! exporter.getExtraLinkerFlagsString().contains ("/FORCE:multiple")) - exporter.getExtraLinkerFlags() = exporter.getExtraLinkerFlags().toString() + " /FORCE:multiple"; - - RelativePath modulePath (exporter.rebaseFromProjectFolderToBuildTarget (RelativePath (exporter.getPathForModuleString ("juce_audio_plugin_client"), - RelativePath::projectFolder) - .getChildFile ("juce_audio_plugin_client") - .getChildFile ("RTAS"))); - - for (ProjectExporter::ConfigIterator config (exporter); config.next();) - { - config->getValue (Ids::msvcModuleDefinitionFile) = modulePath.getChildFile ("juce_RTAS_WinExports.def").toWindowsStyle(); - - if (config->getValue (Ids::useRuntimeLibDLL).getValue().isVoid()) - config->getValue (Ids::useRuntimeLibDLL) = true; - - if (config->getValue (Ids::postbuildCommand).toString().isEmpty()) - config->getValue (Ids::postbuildCommand) - = "copy /Y " - + modulePath.getChildFile ("juce_RTAS_WinResources.rsr").toWindowsStyle().quoted() - + " \"$(TargetPath)\".rsr"; - } - } - else - { - exporter.xcodeCanUseDwarf = false; - - exporter.xcodeExtraLibrariesDebug.add (rtasFolder.getChildFile ("MacBag/Libs/Debug/libPluginLibrary.a")); - exporter.xcodeExtraLibrariesRelease.add (rtasFolder.getChildFile ("MacBag/Libs/Release/libPluginLibrary.a")); - } - - writePluginCharacteristicsFile (projectSaver); - - addExtraSearchPaths (exporter); - } - } - - inline void createPropertyEditors (ProjectExporter& exporter, PropertyListBuilder& props) - { - if (isExporterSupported (exporter)) - { - fixMissingXcodePostBuildScript (exporter); - - props.add (new DependencyPathPropertyComponent (exporter.getRTASPathValue(), - "RTAS Folder"), - "If you're building an RTAS, this must be the folder containing the RTAS SDK. This should be an absolute path."); - } - } -} - -//============================================================================== -namespace AUHelpers -{ - inline void prepareExporter (ProjectExporter& exporter, ProjectSaver& projectSaver) - { - writePluginCharacteristicsFile (projectSaver); - - if (exporter.isXcode()) - { - exporter.xcodeFrameworks.addTokens ("AudioUnit CoreAudioKit", false); - - XmlElement plistKey ("key"); - plistKey.addTextElement ("AudioComponents"); - - XmlElement plistEntry ("array"); - XmlElement* dict = plistEntry.createNewChildElement ("dict"); - - Project& project = exporter.getProject(); - - addPlistDictionaryKey (dict, "name", getPluginManufacturer (project).toString() - + ": " + getPluginName (project).toString()); - addPlistDictionaryKey (dict, "description", getPluginDesc (project).toString()); - addPlistDictionaryKey (dict, "factoryFunction", getPluginAUExportPrefix (project).toString() + "Factory"); - addPlistDictionaryKey (dict, "manufacturer", getPluginManufacturerCode (project).toString().trim().substring (0, 4)); - addPlistDictionaryKey (dict, "type", getAUMainTypeCode (project)); - addPlistDictionaryKey (dict, "subtype", getPluginCode (project).toString().trim().substring (0, 4)); - addPlistDictionaryKeyInt (dict, "version", project.getVersionAsHexInteger()); - - exporter.xcodeExtraPListEntries.add (plistKey); - exporter.xcodeExtraPListEntries.add (plistEntry); - - fixMissingXcodePostBuildScript (exporter); - } - } -} - -//============================================================================== -namespace AAXHelpers -{ - inline RelativePath getAAXRelativeFolderPath (ProjectExporter& exporter) - { - return RelativePath (exporter.getAAXPathValue().toString(), RelativePath::projectFolder); - } - - inline bool isExporterSupported (ProjectExporter& exporter) - { - return exporter.isVisualStudio() || exporter.isXcode(); - } - - inline void addExtraSearchPaths (ProjectExporter& exporter) - { - const RelativePath aaxFolder (getAAXRelativeFolderPath (exporter)); - - exporter.addToExtraSearchPaths (aaxFolder); - exporter.addToExtraSearchPaths (aaxFolder.getChildFile ("Interfaces")); - exporter.addToExtraSearchPaths (aaxFolder.getChildFile ("Interfaces").getChildFile ("ACF")); - } - - inline void prepareExporter (ProjectExporter& exporter, ProjectSaver& projectSaver) - { - if (isExporterSupported (exporter)) - { - fixMissingXcodePostBuildScript (exporter); - - const RelativePath aaxLibsFolder (getAAXRelativeFolderPath (exporter).getChildFile ("Libs")); - - if (exporter.isVisualStudio()) - { - for (ProjectExporter::ConfigIterator config (exporter); config.next();) - if (config->getValue (Ids::useRuntimeLibDLL).getValue().isVoid()) - config->getValue (Ids::useRuntimeLibDLL) = true; - - exporter.msvcExtraPreprocessorDefs.set ("JucePlugin_AAXLibs_path", - createRebasedPath (exporter, aaxLibsFolder)); - } - else - { - exporter.xcodeExtraLibrariesDebug.add (aaxLibsFolder.getChildFile ("Debug/libAAXLibrary.a")); - exporter.xcodeExtraLibrariesRelease.add (aaxLibsFolder.getChildFile ("Release/libAAXLibrary.a")); - } - - writePluginCharacteristicsFile (projectSaver); - - addExtraSearchPaths (exporter); - } - } - - inline void createPropertyEditors (ProjectExporter& exporter, PropertyListBuilder& props) - { - if (isExporterSupported (exporter)) - { - fixMissingXcodePostBuildScript (exporter); - - props.add (new DependencyPathPropertyComponent (exporter.getAAXPathValue(), - "AAX SDK Folder"), - "If you're building an AAX, this must be the folder containing the AAX SDK. This should be an absolute path."); - } - } -} - -#endif // JUCER_AUDIOPLUGINMODULE_H_INCLUDED diff --git a/extras/Introjucer/Source/Project/jucer_ModulesPanel.h b/extras/Introjucer/Source/Project/jucer_ModulesPanel.h deleted file mode 100644 index 2b51dffdca..0000000000 --- a/extras/Introjucer/Source/Project/jucer_ModulesPanel.h +++ /dev/null @@ -1,540 +0,0 @@ -/* - ============================================================================== - - 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. - - ============================================================================== -*/ - -class ModulesPanel : public Component, - private TableListBoxModel, - private ValueTree::Listener, - private Button::Listener -{ -public: - ModulesPanel (Project& p) - : project (p), - modulesValueTree (p.getModules().state), - addWebModuleButton ("Download and add a module..."), - updateModuleButton ("Install updates to modules..."), - setCopyModeButton ("Set copy-mode for all modules..."), - copyPathButton ("Set paths for all modules...") - { - table.getHeader().addColumn ("Module", nameCol, 180, 100, 400, TableHeaderComponent::notSortable); - table.getHeader().addColumn ("Installed Version", versionCol, 100, 100, 100, TableHeaderComponent::notSortable); - table.getHeader().addColumn ("Available Version", updateCol, 100, 100, 100, TableHeaderComponent::notSortable); - table.getHeader().addColumn ("Make Local Copy", copyCol, 100, 100, 100, TableHeaderComponent::notSortable); - table.getHeader().addColumn ("Paths", pathCol, 250, 100, 600, TableHeaderComponent::notSortable); - - table.setModel (this); - table.setColour (TableListBox::backgroundColourId, Colours::transparentBlack); - addAndMakeVisible (table); - table.updateContent(); - table.setRowHeight (20); - - addAndMakeVisible (addWebModuleButton); - addAndMakeVisible (updateModuleButton); - addAndMakeVisible (setCopyModeButton); - addAndMakeVisible (copyPathButton); - addWebModuleButton.addListener (this); - updateModuleButton.addListener (this); - updateModuleButton.setEnabled (false); - setCopyModeButton.addListener (this); - setCopyModeButton.setTriggeredOnMouseDown (true); - copyPathButton.addListener (this); - copyPathButton.setTriggeredOnMouseDown (true); - - modulesValueTree.addListener (this); - lookAndFeelChanged(); - } - - void paint (Graphics& g) override - { - if (webUpdateThread == nullptr) - webUpdateThread = new WebsiteUpdateFetchThread (*this); - - IntrojucerLookAndFeel::fillWithBackgroundTexture (*this, g); - } - - void resized() override - { - Rectangle r (getLocalBounds().reduced (5, 4)); - - table.setBounds (r.removeFromTop (table.getRowPosition (getNumRows() - 1, true).getBottom() + 20)); - - Rectangle buttonRow (r.removeFromTop (32).removeFromBottom (28)); - addWebModuleButton.setBounds (buttonRow.removeFromLeft (jmin (260, r.getWidth() / 3))); - buttonRow.removeFromLeft (8); - updateModuleButton.setBounds (buttonRow.removeFromLeft (jmin (260, r.getWidth() / 3))); - buttonRow.removeFromLeft (8); - - buttonRow = r.removeFromTop (34).removeFromBottom (28); - setCopyModeButton.setBounds (buttonRow.removeFromLeft (jmin (260, r.getWidth() / 3))); - buttonRow.removeFromLeft (8); - copyPathButton.setBounds (buttonRow.removeFromLeft (jmin (260, r.getWidth() / 3))); - } - - int getNumRows() override - { - return project.getModules().getNumModules(); - } - - void paintRowBackground (Graphics& g, int /*rowNumber*/, int width, int height, bool rowIsSelected) override - { - g.setColour (rowIsSelected ? Colours::lightblue.withAlpha (0.4f) - : Colours::white.withAlpha (0.4f)); - g.fillRect (0, 0, width, height - 1); - } - - void paintCell (Graphics& g, int rowNumber, int columnId, int width, int height, bool /*rowIsSelected*/) override - { - String text; - const String moduleID (project.getModules().getModuleID (rowNumber)); - - if (columnId == nameCol) - { - text = moduleID; - } - else if (columnId == versionCol) - { - text = project.getModules().getModuleInfo (moduleID).getVersion(); - - if (text.isEmpty()) - text = "?"; - } - else if (columnId == updateCol) - { - if (listFromWebsite != nullptr) - { - if (const ModuleDescription* m = listFromWebsite->getModuleWithID (moduleID)) - { - if (m->getVersion() != project.getModules().getModuleInfo (moduleID).getVersion()) - text = m->getVersion() + " available"; - else - text = "Up-to-date"; - } - else - text = "?"; - } - else - { - text = "-"; - } - } - else if (columnId == copyCol) - { - text = project.getModules().shouldCopyModuleFilesLocally (moduleID).getValue() - ? "Yes" : "No"; - } - else if (columnId == pathCol) - { - StringArray paths; - - for (Project::ExporterIterator exporter (project); exporter.next();) - paths.addIfNotAlreadyThere (exporter->getPathForModuleString (moduleID).trim()); - - text = paths.joinIntoString (", "); - } - - g.setColour (Colours::black); - g.setFont (height * 0.65f); - g.drawText (text, Rectangle (width, height).reduced (4, 0), Justification::centredLeft, true); - } - - void cellDoubleClicked (int rowNumber, int, const MouseEvent&) override - { - const String moduleID (project.getModules().getModuleID (rowNumber)); - - if (moduleID.isNotEmpty()) - if (ProjectContentComponent* pcc = findParentComponentOfClass()) - pcc->showModule (moduleID); - } - - void deleteKeyPressed (int row) override - { - project.getModules().removeModule (project.getModules().getModuleID (row)); - } - - void webUpdateFinished (const ModuleList& newList) - { - listFromWebsite = new ModuleList (newList); - - table.updateContent(); - table.repaint(); - - updateModuleButton.setEnabled (getUpdatableModules().size() != 0); - } - - void buttonClicked (Button* b) override - { - if (b == &addWebModuleButton) showAddModuleMenu(); - else if (b == &updateModuleButton) showUpdateModulesMenu(); - else if (b == &setCopyModeButton) showCopyModeMenu(); - else if (b == ©PathButton) showSetPathsMenu(); - } - -private: - enum - { - nameCol = 1, - versionCol, - updateCol, - copyCol, - pathCol - }; - - Project& project; - ValueTree modulesValueTree; - TableListBox table; - TextButton addWebModuleButton, updateModuleButton, setCopyModeButton, copyPathButton; - ScopedPointer listFromWebsite; - - void valueTreePropertyChanged (ValueTree&, const Identifier&) override { itemChanged(); } - void valueTreeChildAdded (ValueTree&, ValueTree&) override { itemChanged(); } - void valueTreeChildRemoved (ValueTree&, ValueTree&, int) override { itemChanged(); } - void valueTreeChildOrderChanged (ValueTree&, int, int) override { itemChanged(); } - void valueTreeParentChanged (ValueTree&) override { itemChanged(); } - - void itemChanged() - { - table.updateContent(); - resized(); - repaint(); - } - - StringArray getUpdatableModules() const - { - StringArray result; - - if (listFromWebsite != nullptr) - { - for (int i = 0; i < listFromWebsite->modules.size(); ++i) - { - const ModuleDescription* m = listFromWebsite->modules.getUnchecked(i); - const String v1 (m->getVersion()); - const String v2 (project.getModules().getModuleInfo (m->getID()).getVersion()); - - if (v1 != v2 && v1.isNotEmpty() && v2.isNotEmpty()) - result.add (m->getID()); - } - } - - return result; - } - - StringArray getAddableModules() const - { - StringArray result; - - if (listFromWebsite != nullptr) - { - for (int i = 0; i < listFromWebsite->modules.size(); ++i) - { - const ModuleDescription* m = listFromWebsite->modules.getUnchecked(i); - - if (! project.getModules().isModuleEnabled (m->getID())) - result.add (m->getID()); - } - } - - return result; - } - - void showUpdateModulesMenu() - { - StringArray mods (getUpdatableModules()); - - PopupMenu m; - m.addItem (1000, "Update all modules"); - m.addSeparator(); - - for (int i = 0; i < mods.size(); ++i) - m.addItem (1 + i, "Update " + mods[i]); - - int res = m.showAt (&updateModuleButton); - - if (res > 0 && listFromWebsite != nullptr) - { - if (res != 1000) - mods = StringArray (mods[res - 1]); - - Array modsToUpdate; - - for (int i = 0; i < mods.size(); ++i) - { - if (const ModuleDescription* md = listFromWebsite->getModuleWithID (mods[i])) - { - ModuleDescription modToUpdate (*md); - modToUpdate.manifestFile = project.getModules().getModuleInfo (modToUpdate.getID()).manifestFile; - modsToUpdate.add (modToUpdate); - } - } - - DownloadAndInstallThread::updateModulesFromWeb (project, modsToUpdate); - } - } - - void showAddModuleMenu() - { - if (listFromWebsite == nullptr) - { - AlertWindow::showMessageBoxAsync (AlertWindow::WarningIcon, - "Couldn't contact the website!", - "Failed to get the latest module list from juce.com - " - "maybe network or server problems - try again soon!"); - return; - } - - StringArray mods (getAddableModules()); - - if (mods.size() == 0) - { - AlertWindow::showMessageBoxAsync (AlertWindow::WarningIcon, - "No modules to add!", - "Couldn't find any new modules that aren't already in your project!"); - return; - } - - PopupMenu m; - - for (int i = 0; i < mods.size(); ++i) - m.addItem (i + 1, "Install " + mods[i]); - - int res = m.showAt (&addWebModuleButton); - - if (res > 0 && listFromWebsite != nullptr) - if (const ModuleDescription* md = listFromWebsite->getModuleWithID (mods[res - 1])) - DownloadAndInstallThread::addModuleFromWebsite (project, *md); - } - - void showCopyModeMenu() - { - PopupMenu m; - m.addItem (1, "Set all modules to copy locally"); - m.addItem (2, "Set all modules to not copy locally"); - - int res = m.showAt (&setCopyModeButton); - - if (res != 0) - project.getModules().setLocalCopyModeForAllModules (res == 1); - } - - void showSetPathsMenu() - { - EnabledModuleList& moduleList = project.getModules(); - - const String moduleToCopy (moduleList.getModuleID (table.getSelectedRow())); - - if (moduleToCopy.isNotEmpty()) - { - PopupMenu m; - m.addItem (1, "Copy the paths from the module '" + moduleToCopy + "' to all other modules"); - - int res = m.showAt (©PathButton); - - if (res != 0) - { - for (Project::ExporterIterator exporter (project); exporter.next();) - { - for (int i = 0; i < moduleList.getNumModules(); ++i) - { - String modID = moduleList.getModuleID (i); - - if (modID != moduleToCopy) - exporter->getPathForModuleValue (modID) = exporter->getPathForModuleValue (moduleToCopy).getValue(); - } - } - } - - table.repaint(); - } - else - { - PopupMenu m; - m.addItem (1, "Copy the paths from the selected module to all other modules", false); - - m.showAt (©PathButton); - } - } - - struct WebsiteUpdateFetchThread : private Thread, - private AsyncUpdater - { - WebsiteUpdateFetchThread (ModulesPanel& p) : Thread ("Web Updater"), panel (p) - { - startThread (3); - } - - ~WebsiteUpdateFetchThread() - { - stopThread (15000); - } - - void run() override - { - static Time lastDownloadTime; - static ModuleList lastList; - - if (Time::getCurrentTime() < lastDownloadTime + RelativeTime::minutes (2.0)) - { - list = lastList; - triggerAsyncUpdate(); - } - else - { - if (list.loadFromWebsite() && ! threadShouldExit()) - { - lastList = list; - lastDownloadTime = Time::getCurrentTime(); - triggerAsyncUpdate(); - } - } - } - - void handleAsyncUpdate() override - { - panel.webUpdateFinished (list); - } - - private: - ModuleList list; - ModulesPanel& panel; - }; - - //============================================================================== - class DownloadAndInstallThread : public ThreadWithProgressWindow - { - public: - DownloadAndInstallThread (const Array& modulesToInstall) - : ThreadWithProgressWindow ("Installing New Modules", true, true), - result (Result::ok()), - modules (modulesToInstall) - { - } - - static void updateModulesFromWeb (Project& project, const Array& mods) - { - DownloadAndInstallThread d (mods); - - if (d.runThread()) - { - if (d.result.failed()) - { - AlertWindow::showMessageBoxAsync (AlertWindow::WarningIcon, - "Module Install Failed", - d.result.getErrorMessage()); - } - else - { - for (int i = 0; i < d.modules.size(); ++i) - project.getModules().addModule (d.modules.getReference(i).manifestFile, - project.getModules().areMostModulesCopiedLocally()); - } - } - } - - static void addModuleFromWebsite (Project& project, const ModuleDescription& module) - { - Array mods; - mods.add (module); - - static File lastLocation (EnabledModuleList::findDefaultModulesFolder (project)); - - FileChooser fc ("Select the parent folder for the new module...", lastLocation, String::empty, false); - - if (fc.browseForDirectory()) - { - lastLocation = fc.getResult(); - - if (lastLocation.getChildFile (ModuleDescription::getManifestFileName()).exists()) - { - AlertWindow::showMessageBoxAsync (AlertWindow::WarningIcon, - "Adding Module", - "You chose a folder that appears to be a module.\n\n" - "You need to select the *parent* folder inside which the new modules will be created."); - return; - } - - for (int i = 0; i < mods.size(); ++i) - mods.getReference(i).manifestFile = lastLocation.getChildFile (mods.getReference(i).getID()) - .getChildFile (ModuleDescription::getManifestFileName()); - - updateModulesFromWeb (project, mods); - } - } - - void run() override - { - for (int i = 0; i < modules.size(); ++i) - { - const ModuleDescription& m = modules.getReference(i); - - setProgress (i / (double) modules.size()); - - MemoryBlock downloaded; - result = download (m, downloaded); - - if (result.failed() || threadShouldExit()) - break; - - result = unzip (m, downloaded); - - if (result.failed() || threadShouldExit()) - break; - } - } - - Result download (const ModuleDescription& m, MemoryBlock& dest) - { - setStatusMessage ("Downloading " + m.getID() + "..."); - - const ScopedPointer in (m.url.createInputStream (false, nullptr, nullptr, String::empty, 10000)); - - if (in != nullptr && in->readIntoMemoryBlock (dest)) - return Result::ok(); - - return Result::fail ("Failed to download from: " + m.url.toString (false)); - } - - Result unzip (const ModuleDescription& m, const MemoryBlock& data) - { - setStatusMessage ("Installing " + m.getID() + "..."); - - MemoryInputStream input (data, false); - ZipFile zip (input); - - if (zip.getNumEntries() == 0) - return Result::fail ("The downloaded file wasn't a valid module file!"); - - if (! m.getFolder().deleteRecursively()) - return Result::fail ("Couldn't delete the existing folder:\n" + m.getFolder().getFullPathName()); - - return zip.uncompressTo (m.getFolder().getParentDirectory(), true); - } - - Result result; - Array modules; - - JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (DownloadAndInstallThread) - }; - - ScopedPointer webUpdateThread; - - JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ModulesPanel) -}; diff --git a/extras/Introjucer/Source/Project/jucer_ProjectType.cpp b/extras/Introjucer/Source/Project/jucer_ProjectType.cpp deleted file mode 100644 index 067a9a1cc8..0000000000 --- a/extras/Introjucer/Source/Project/jucer_ProjectType.cpp +++ /dev/null @@ -1,379 +0,0 @@ -/* - ============================================================================== - - 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. - - ============================================================================== -*/ - -#include "../jucer_Headers.h" -#include "jucer_ProjectType.h" -#include "../Project Saving/jucer_ProjectExporter.h" -#include "../Project Saving/jucer_ProjectSaver.h" -#include "jucer_AudioPluginModule.h" - - -//============================================================================== -ProjectType::ProjectType (const String& t, const String& d) - : type (t), desc (d) -{ - getAllTypes().add (this); -} - -ProjectType::~ProjectType() -{ - getAllTypes().removeFirstMatchingValue (this); -} - -Array& ProjectType::getAllTypes() -{ - static Array types; - return types; -} - -const ProjectType* ProjectType::findType (const String& typeCode) -{ - const Array& types = getAllTypes(); - - for (int i = types.size(); --i >= 0;) - if (types.getUnchecked(i)->getType() == typeCode) - return types.getUnchecked(i); - - jassertfalse; - return nullptr; -} - -//============================================================================== -class ProjectType_GUIApp : public ProjectType -{ -public: - ProjectType_GUIApp() : ProjectType (getTypeName(), "Application (GUI)") {} - - static const char* getTypeName() noexcept { return "guiapp"; } - bool isGUIApplication() const { return true; } - - void setMissingProjectProperties (Project&) const - { - } - - void createPropertyEditors (Project&, PropertyListBuilder&) const - { - } - - void prepareExporter (ProjectExporter& exporter) const - { - exporter.xcodePackageType = "APPL"; - exporter.xcodeBundleSignature = "????"; - exporter.xcodeCreatePList = true; - exporter.xcodeFileType = "wrapper.application"; - exporter.xcodeBundleExtension = ".app"; - exporter.xcodeProductType = "com.apple.product-type.application"; - exporter.xcodeProductInstallPath = "$(HOME)/Applications"; - - exporter.msvcIsWindowsSubsystem = true; - exporter.msvcTargetSuffix = ".exe"; - exporter.msvcExtraPreprocessorDefs.set ("_CRT_SECURE_NO_WARNINGS", ""); - } -}; - -//============================================================================== -class ProjectType_ConsoleApp : public ProjectType -{ -public: - ProjectType_ConsoleApp() : ProjectType (getTypeName(), "Application (Non-GUI)") {} - - static const char* getTypeName() noexcept { return "consoleapp"; } - bool isCommandLineApp() const { return true; } - - void setMissingProjectProperties (Project&) const - { - } - - void createPropertyEditors (Project&, PropertyListBuilder&) const - { - } - - void prepareExporter (ProjectExporter& exporter) const - { - exporter.xcodeCreatePList = false; - exporter.xcodeFileType = "compiled.mach-o.executable"; - exporter.xcodeBundleExtension = String::empty; - exporter.xcodeProductType = "com.apple.product-type.tool"; - exporter.xcodeProductInstallPath = "/usr/bin"; - - exporter.msvcIsWindowsSubsystem = false; - exporter.msvcTargetSuffix = ".exe"; - exporter.msvcExtraPreprocessorDefs.set ("_CONSOLE", ""); - exporter.msvcExtraPreprocessorDefs.set ("_CRT_SECURE_NO_WARNINGS", ""); - } -}; - -//============================================================================== -class ProjectType_StaticLibrary : public ProjectType -{ -public: - ProjectType_StaticLibrary() : ProjectType (getTypeName(), "Static Library") {} - - static const char* getTypeName() noexcept { return "library"; } - bool isStaticLibrary() const { return true; } - - void setMissingProjectProperties (Project&) const - { - } - - void createPropertyEditors (Project&, PropertyListBuilder&) const - { - } - - void prepareExporter (ProjectExporter& exporter) const - { - exporter.xcodeCreatePList = false; - exporter.xcodeFileType = "archive.ar"; - exporter.xcodeProductType = "com.apple.product-type.library.static"; - exporter.xcodeProductInstallPath = String::empty; - exporter.makefileTargetSuffix = ".a"; - exporter.msvcTargetSuffix = ".lib"; - exporter.msvcExtraPreprocessorDefs.set ("_LIB", ""); - exporter.msvcExtraPreprocessorDefs.set ("_CRT_SECURE_NO_WARNINGS", ""); - } -}; - -//============================================================================== -class ProjectType_DLL : public ProjectType -{ -public: - ProjectType_DLL() : ProjectType (getTypeName(), "Dynamic Library") {} - - static const char* getTypeName() noexcept { return "dll"; } - bool isDynamicLibrary() const { return true; } - - void setMissingProjectProperties (Project&) const - { - } - - void createPropertyEditors (Project&, PropertyListBuilder&) const - { - } - - void prepareExporter (ProjectExporter& exporter) const - { - exporter.xcodeCreatePList = false; - exporter.xcodeFileType = "compiled.mach-o.dylib"; - exporter.xcodeProductType = "com.apple.product-type.library.dynamic"; - exporter.xcodeBundleExtension = ".dylib"; - exporter.xcodeProductInstallPath = String::empty; - exporter.makefileTargetSuffix = ".so"; - exporter.msvcTargetSuffix = ".dll"; - exporter.msvcExtraPreprocessorDefs.set ("_LIB", ""); - exporter.msvcExtraPreprocessorDefs.set ("_CRT_SECURE_NO_WARNINGS", ""); - } -}; - -//============================================================================== -class ProjectType_AudioPlugin : public ProjectType -{ -public: - ProjectType_AudioPlugin() : ProjectType (getTypeName(), "Audio Plug-in") {} - - static const char* getTypeName() noexcept { return "audioplug"; } - bool isAudioPlugin() const { return true; } - - void setMissingProjectProperties (Project& project) const - { - const String sanitisedProjectName (CodeHelpers::makeValidIdentifier (project.getTitle(), false, true, false)); - - setValueIfVoid (shouldBuildVST (project), true); - setValueIfVoid (shouldBuildVST3 (project), false); - setValueIfVoid (shouldBuildAU (project), true); - setValueIfVoid (shouldBuildRTAS (project), false); - setValueIfVoid (shouldBuildAAX (project), false); - - setValueIfVoid (getPluginName (project), project.getTitle()); - setValueIfVoid (getPluginDesc (project), project.getTitle()); - setValueIfVoid (getPluginManufacturer (project), "yourcompany"); - setValueIfVoid (getPluginManufacturerCode (project), "Manu"); - setValueIfVoid (getPluginCode (project), makeValid4CC (project.getProjectUID() + project.getProjectUID())); - setValueIfVoid (getPluginChannelConfigs (project), ""); - setValueIfVoid (getPluginIsSynth (project), false); - setValueIfVoid (getPluginWantsMidiInput (project), false); - setValueIfVoid (getPluginProducesMidiOut (project), false); - setValueIfVoid (getPluginIsMidiEffectPlugin (project), false); - setValueIfVoid (getPluginEditorNeedsKeyFocus (project), false); - setValueIfVoid (getPluginAUExportPrefix (project), sanitisedProjectName + "AU"); - setValueIfVoid (getPluginRTASCategory (project), String::empty); - setValueIfVoid (project.getBundleIdentifier(), project.getDefaultBundleIdentifier()); - setValueIfVoid (project.getAAXIdentifier(), project.getDefaultAAXIdentifier()); - setValueIfVoid (getPluginAAXCategory (project), "AAX_ePlugInCategory_Dynamics"); - } - - void createPropertyEditors (Project& project, PropertyListBuilder& props) const - { - props.add (new BooleanPropertyComponent (shouldBuildVST (project), "Build VST", "Enabled"), - "Whether the project should produce a VST plugin."); - props.add (new BooleanPropertyComponent (shouldBuildVST3 (project), "Build VST3", "Enabled"), - "Whether the project should produce a VST3 plugin."); - props.add (new BooleanPropertyComponent (shouldBuildAU (project), "Build AudioUnit", "Enabled"), - "Whether the project should produce an AudioUnit plugin."); - props.add (new BooleanPropertyComponent (shouldBuildRTAS (project), "Build RTAS", "Enabled"), - "Whether the project should produce an RTAS plugin."); - props.add (new BooleanPropertyComponent (shouldBuildAAX (project), "Build AAX", "Enabled"), - "Whether the project should produce an AAX plugin."); - - props.add (new TextPropertyComponent (getPluginName (project), "Plugin Name", 128, false), - "The name of your plugin (keep it short!)"); - props.add (new TextPropertyComponent (getPluginDesc (project), "Plugin Description", 256, false), - "A short description of your plugin."); - - props.add (new TextPropertyComponent (getPluginManufacturer (project), "Plugin Manufacturer", 256, false), - "The name of your company (cannot be blank)."); - props.add (new TextPropertyComponent (getPluginManufacturerCode (project), "Plugin Manufacturer Code", 4, false), - "A four-character unique ID for your company. Note that for AU compatibility, this must contain at least one upper-case letter!"); - props.add (new TextPropertyComponent (getPluginCode (project), "Plugin Code", 4, false), - "A four-character unique ID for your plugin. Note that for AU compatibility, this must contain at least one upper-case letter!"); - - props.add (new TextPropertyComponent (getPluginChannelConfigs (project), "Plugin Channel Configurations", 1024, false), - "This list is a comma-separated set list in the form {numIns, numOuts} and each pair indicates a valid plug-in " - "configuration. For example {1, 1}, {2, 2} means that the plugin can be used either with 1 input and 1 output, " - "or with 2 inputs and 2 outputs. If your plug-in requires side-chains, aux output buses etc., then you must leave " - "this field empty and override the setPreferredBusArrangement method in your AudioProcessor."); - - props.add (new BooleanPropertyComponent (getPluginIsSynth (project), "Plugin is a Synth", "Is a Synth"), - "Enable this if you want your plugin to be treated as a synth or generator. It doesn't make much difference to the plugin itself, but some hosts treat synths differently to other plugins."); - - props.add (new BooleanPropertyComponent (getPluginWantsMidiInput (project), "Plugin Midi Input", "Plugin wants midi input"), - "Enable this if you want your plugin to accept midi messages."); - - props.add (new BooleanPropertyComponent (getPluginProducesMidiOut (project), "Plugin Midi Output", "Plugin produces midi output"), - "Enable this if your plugin is going to produce midi messages."); - - props.add (new BooleanPropertyComponent (getPluginIsMidiEffectPlugin (project), "Midi Effect Plugin", "Plugin is a midi effect plugin"), - "Enable this if your plugin only processes midi and no audio."); - - props.add (new BooleanPropertyComponent (getPluginEditorNeedsKeyFocus (project), "Key Focus", "Plugin editor requires keyboard focus"), - "Enable this if your plugin needs keyboard input - some hosts can be a bit funny about keyboard focus.."); - - props.add (new TextPropertyComponent (getPluginAUExportPrefix (project), "Plugin AU Export Prefix", 64, false), - "A prefix for the names of exported entry-point functions that the component exposes - typically this will be a version of your plugin's name that can be used as part of a C++ token."); - - props.add (new TextPropertyComponent (getPluginAUMainType (project), "Plugin AU Main Type", 128, false), - "In an AU, this is the value that is set as JucePlugin_AUMainType. Leave it blank unless you want to use a custom value."); - - props.add (new TextPropertyComponent (getPluginVSTCategory (project), "VST Category", 64, false), - "In a VST, this is the value that is set as JucePlugin_VSTCategory. Leave it blank unless you want to use a custom value."); - - props.add (new TextPropertyComponent (getPluginRTASCategory (project), "Plugin RTAS Category", 64, false), - "(Leave this blank if your plugin is a synth). This is one of the RTAS categories from FicPluginEnums.h, such as: ePlugInCategory_None, ePlugInCategory_EQ, ePlugInCategory_Dynamics, " - "ePlugInCategory_PitchShift, ePlugInCategory_Reverb, ePlugInCategory_Delay, " - "ePlugInCategory_Modulation, ePlugInCategory_Harmonic, ePlugInCategory_NoiseReduction, " - "ePlugInCategory_Dither, ePlugInCategory_SoundField"); - - props.add (new TextPropertyComponent (getPluginAAXCategory (project), "Plugin AAX Category", 64, false), - "This is one of the categories from the AAX_EPlugInCategory enum"); - - props.add (new TextPropertyComponent (project.getAAXIdentifier(), "Plugin AAX Identifier", 256, false), - "The value to use for the JucePlugin_AAXIdentifier setting"); - } - - void prepareExporter (ProjectExporter& exporter) const - { - exporter.xcodeIsBundle = true; - exporter.xcodeCreatePList = true; - exporter.xcodePackageType = "TDMw"; - exporter.xcodeBundleSignature = "PTul"; - exporter.xcodeFileType = "wrapper.cfbundle"; - exporter.xcodeBundleExtension = ".component"; - exporter.xcodeProductType = "com.apple.product-type.bundle"; - exporter.xcodeProductInstallPath = "$(HOME)/Library/Audio/Plug-Ins/Components/"; - - exporter.xcodeOtherRezFlags = "-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\\\""; - - exporter.msvcTargetSuffix = ".dll"; - exporter.msvcIsDLL = true; - exporter.msvcExtraPreprocessorDefs.set ("_CRT_SECURE_NO_WARNINGS", ""); - exporter.makefileIsDLL = true; - } - - static String makeValid4CC (const String& seed) - { - String s (CodeHelpers::makeValidIdentifier (seed, false, true, false) + "xxxx"); - - return s.substring (0, 1).toUpperCase() - + s.substring (1, 4).toLowerCase(); - } -}; - -//============================================================================== -class ProjectType_BrowserPlugin : public ProjectType -{ -public: - ProjectType_BrowserPlugin() : ProjectType (getTypeName(), "Browser Plug-in") {} - - static const char* getTypeName() noexcept { return "browserplug"; } - bool isBrowserPlugin() const { return true; } - - void prepareExporter (ProjectExporter& exporter) const - { - exporter.xcodeIsBundle = true; - exporter.xcodeCreatePList = true; - exporter.xcodeFileType = "wrapper.cfbundle"; - exporter.xcodeBundleExtension = ".plugin"; - exporter.xcodeProductType = "com.apple.product-type.bundle"; - exporter.xcodeProductInstallPath = "$(HOME)/Library/Internet Plug-Ins//"; - - { - XmlElement mimeTypesKey ("key"); - mimeTypesKey.setText ("WebPluginMIMETypes"); - - XmlElement mimeTypesEntry ("dict"); - const String exeName (exporter.getProject().getProjectFilenameRoot().toLowerCase()); - mimeTypesEntry.createNewChildElement ("key")->setText ("application/" + exeName + "-plugin"); - XmlElement* d = mimeTypesEntry.createNewChildElement ("dict"); - d->createNewChildElement ("key")->setText ("WebPluginExtensions"); - d->createNewChildElement ("array") - ->createNewChildElement ("string")->setText (exeName); - d->createNewChildElement ("key")->setText ("WebPluginTypeDescription"); - d->createNewChildElement ("string")->setText (exporter.getProject().getTitle()); - - exporter.xcodeExtraPListEntries.add (mimeTypesKey); - exporter.xcodeExtraPListEntries.add (mimeTypesEntry); - } - - exporter.msvcTargetSuffix = ".dll"; - exporter.msvcIsDLL = true; - exporter.msvcExtraPreprocessorDefs.set ("_CRT_SECURE_NO_WARNINGS", ""); - - exporter.makefileIsDLL = true; - } -}; - -//============================================================================== -static ProjectType_GUIApp guiType; -static ProjectType_ConsoleApp consoleType; -static ProjectType_StaticLibrary libraryType; -static ProjectType_DLL dllType; -static ProjectType_AudioPlugin audioPluginType; - -//============================================================================== -const char* ProjectType::getGUIAppTypeName() { return ProjectType_GUIApp::getTypeName(); } -const char* ProjectType::getConsoleAppTypeName() { return ProjectType_ConsoleApp::getTypeName(); } -const char* ProjectType::getStaticLibTypeName() { return ProjectType_StaticLibrary::getTypeName(); } -const char* ProjectType::getDynamicLibTypeName() { return ProjectType_DLL::getTypeName(); } -const char* ProjectType::getAudioPluginTypeName() { return ProjectType_AudioPlugin::getTypeName(); } diff --git a/extras/Introjucer/Source/Project/jucer_ProjectType.h b/extras/Introjucer/Source/Project/jucer_ProjectType.h deleted file mode 100644 index b1bc55a8c3..0000000000 --- a/extras/Introjucer/Source/Project/jucer_ProjectType.h +++ /dev/null @@ -1,74 +0,0 @@ -/* - ============================================================================== - - 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. - - ============================================================================== -*/ - -#ifndef JUCER_PROJECTTYPE_H_INCLUDED -#define JUCER_PROJECTTYPE_H_INCLUDED - -class Project; -class ProjectExporter; - -//============================================================================== -class ProjectType -{ -public: - //============================================================================== - virtual ~ProjectType(); - - const String& getType() const noexcept { return type; } - const String& getDescription() const noexcept { return desc; } - - //============================================================================== - static Array& getAllTypes(); - static const ProjectType* findType (const String& typeCode); - - //============================================================================== - virtual bool isStaticLibrary() const { return false; } - virtual bool isDynamicLibrary() const { return false; } - virtual bool isGUIApplication() const { return false; } - virtual bool isCommandLineApp() const { return false; } - virtual bool isAudioPlugin() const { return false; } - virtual bool isBrowserPlugin() const { return false; } - - static const char* getGUIAppTypeName(); - static const char* getConsoleAppTypeName(); - static const char* getStaticLibTypeName(); - static const char* getDynamicLibTypeName(); - static const char* getAudioPluginTypeName(); - - - virtual void setMissingProjectProperties (Project&) const = 0; - virtual void createPropertyEditors (Project&, PropertyListBuilder&) const = 0; - virtual void prepareExporter (ProjectExporter&) const = 0; - -protected: - ProjectType (const String& type, const String& desc); - -private: - const String type, desc; - - JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ProjectType) -}; - - -#endif // JUCER_PROJECTTYPE_H_INCLUDED diff --git a/extras/Introjucer/Where has the Introjucer gone.txt b/extras/Introjucer/Where has the Introjucer gone.txt new file mode 100644 index 0000000000..b967bbef7c --- /dev/null +++ b/extras/Introjucer/Where has the Introjucer gone.txt @@ -0,0 +1,20 @@ + + Where did the Introjucer go?? + +If you've just updated to JUCE v4.2 from an earlier version, you'll probably +be a little puzzled to find that this folder is empty, apart from some abandoned +build folders that GIT has failed to delete, and you may be wondering what happened... + +Historically, we had the Introjucer, which was open-source, and the Projucer, +which was closed-source. These shared a vast amount of their code, and we +wanted to find a way to blend them into a single project. We also found it +very tiresome and confusing for beginners to keep having to explain the +difference between the Introjucer and the Projucer. + +So what we've done is to delete the Introjucer altogether! All of its open-source +functionality is now provided by our newly open-sourced version of the Projucer. +To keep the live-coding stuff secret, we squashed all of that functionality into a +closed-source DLL. You can build the Projucer yourself now from the open-source +folder in here, and it will run just fine (doing all the things that the old +Introjucer used to do) but if it can also find the DLL, it'll be able to use +all the fancy live-coding stuff too. diff --git a/extras/Introjucer/Builds/Linux/Makefile b/extras/Projucer/Builds/LinuxMakefile/Makefile similarity index 83% rename from extras/Introjucer/Builds/Linux/Makefile rename to extras/Projucer/Builds/LinuxMakefile/Makefile index 4ad04849fd..bf3b0f2492 100644 --- a/extras/Introjucer/Builds/Linux/Makefile +++ b/extras/Projucer/Builds/LinuxMakefile/Makefile @@ -1,5 +1,5 @@ -# Automatically generated makefile, created by the Introjucer -# Don't edit this file! Your changes will be overwritten when you re-save the Introjucer project! +# Automatically generated makefile, created by the Projucer +# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project! # (this disables dependency generation if multiple architectures are set) DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) @@ -15,15 +15,15 @@ ifeq ($(CONFIG),Debug) OUTDIR := build ifeq ($(TARGET_ARCH),) - TARGET_ARCH := + TARGET_ARCH := -march=native endif - CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -D "JUCE_APP_VERSION=4.1.0" -D "JUCE_APP_VERSION_HEX=0x40100" -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules - CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 -std=gnu++0x -Wreorder -Wuninitialized -Wunused-parameter -Wstrict-aliasing -Wshadow -Wsign-compare + CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_6D53C8B4=1" -D "JUCE_APP_VERSION=4.2.0" -D "JUCE_APP_VERSION_HEX=0x40200" -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules + CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 -std=c++11 CXXFLAGS += $(CFLAGS) -std=c++11 LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -L/usr/X11R6/lib/ -lX11 -lXext -lXinerama -ldl -lfreetype -lpthread -lrt -lcurl - TARGET := Introjucer + TARGET := Projucer BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) endif @@ -35,15 +35,15 @@ ifeq ($(CONFIG),Release) OUTDIR := build ifeq ($(TARGET_ARCH),) - TARGET_ARCH := + TARGET_ARCH := -march=native endif - CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "NDEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -D "JUCE_APP_VERSION=4.1.0" -D "JUCE_APP_VERSION_HEX=0x40100" -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules - CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -O3 -std=gnu++0x -Wreorder -Wuninitialized -Wunused-parameter -Wstrict-aliasing -Wshadow -Wsign-compare + CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "NDEBUG=1" -D "JUCER_LINUX_MAKE_6D53C8B4=1" -D "JUCE_APP_VERSION=4.2.0" -D "JUCE_APP_VERSION_HEX=0x40200" -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules + CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -O3 -std=c++11 CXXFLAGS += $(CFLAGS) -std=c++11 LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -fvisibility=hidden -L/usr/X11R6/lib/ -lX11 -lXext -lXinerama -ldl -lfreetype -lpthread -lrt -lcurl - TARGET := Introjucer + TARGET := Projucer BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) endif @@ -57,6 +57,8 @@ OBJECTS := \ $(OBJDIR)/jucer_Main_f8488f5b.o \ $(OBJDIR)/jucer_MainWindow_1e163aeb.o \ $(OBJDIR)/jucer_OpenDocumentManager_4c72d210.o \ + $(OBJDIR)/projucer_CompileEngineClient_542e6b2d.o \ + $(OBJDIR)/projucer_CompileEngineServer_a5a32aa5.o \ $(OBJDIR)/jucer_SourceCodeEditor_461f5487.o \ $(OBJDIR)/jucer_ComponentTypeHandler_6bec6262.o \ $(OBJDIR)/jucer_ButtonDocument_56c341cc.o \ @@ -78,47 +80,46 @@ OBJECTS := \ $(OBJDIR)/jucer_JucerDocument_ff8afcc2.o \ $(OBJDIR)/jucer_ObjectTypes_4406f01c.o \ $(OBJDIR)/jucer_PaintRoutine_e1e891ee.o \ - $(OBJDIR)/jucer_ProjectExporter_eefe2e5b.o \ - $(OBJDIR)/jucer_ResourceFile_6af120d3.o \ $(OBJDIR)/jucer_DependencyPathPropertyComponent_4d137229.o \ $(OBJDIR)/jucer_Module_3f7666a5.o \ $(OBJDIR)/jucer_Project_c131864a.o \ - $(OBJDIR)/jucer_ProjectContentComponent_60de0eee.o \ - $(OBJDIR)/jucer_ProjectType_1bc27a24.o \ + $(OBJDIR)/jucer_ProjectExporter_eefe2e5b.o \ + $(OBJDIR)/jucer_ProjectSaver_38b16c25.o \ + $(OBJDIR)/jucer_ResourceFile_6af120d3.o \ $(OBJDIR)/jucer_CodeHelpers_c317179c.o \ $(OBJDIR)/jucer_FileHelpers_f98ed0ad.o \ $(OBJDIR)/jucer_Icons_9db2f51e.o \ - $(OBJDIR)/jucer_IntrojucerLookAndFeel_d578c909.o \ $(OBJDIR)/jucer_JucerTreeViewBase_d043309d.o \ $(OBJDIR)/jucer_MiscUtilities_25b68c82.o \ + $(OBJDIR)/jucer_ProjucerLookAndFeel_d6c6b28a.o \ $(OBJDIR)/jucer_SlidingPanelComponent_9aa7a2ab.o \ $(OBJDIR)/jucer_StoredSettings_26078d2c.o \ $(OBJDIR)/jucer_NewFileWizard_fac97f47.o \ $(OBJDIR)/jucer_NewProjectWizardClasses_891f6fa2.o \ $(OBJDIR)/BinaryData_ce4232d4.o \ - $(OBJDIR)/juce_core_1ee54a40.o \ - $(OBJDIR)/juce_cryptography_3b1f489a.o \ - $(OBJDIR)/juce_data_structures_84790dfc.o \ - $(OBJDIR)/juce_events_584896b4.o \ - $(OBJDIR)/juce_graphics_f9afc18.o \ - $(OBJDIR)/juce_gui_basics_90929794.o \ - $(OBJDIR)/juce_gui_extra_b81d9e1c.o \ + $(OBJDIR)/juce_core_75b14332.o \ + $(OBJDIR)/juce_cryptography_6de2ebff.o \ + $(OBJDIR)/juce_data_structures_72d3da2c.o \ + $(OBJDIR)/juce_events_d2be882c.o \ + $(OBJDIR)/juce_graphics_9c18891e.o \ + $(OBJDIR)/juce_gui_basics_8a6da59c.o \ + $(OBJDIR)/juce_gui_extra_4a026f23.o \ .PHONY: clean $(OUTDIR)/$(TARGET): $(OBJECTS) $(RESOURCES) - @echo Linking The Introjucer + @echo Linking Projucer -@mkdir -p $(BINDIR) -@mkdir -p $(LIBDIR) -@mkdir -p $(OUTDIR) @$(BLDCMD) clean: - @echo Cleaning The Introjucer + @echo Cleaning Projucer @$(CLEANCMD) strip: - @echo Stripping The Introjucer + @echo Stripping Projucer -@strip --strip-unneeded $(OUTDIR)/$(TARGET) $(OBJDIR)/jucer_AppearanceSettings_788d9889.o: ../../Source/Application/jucer_AppearanceSettings.cpp @@ -161,6 +162,16 @@ $(OBJDIR)/jucer_OpenDocumentManager_4c72d210.o: ../../Source/Application/jucer_O @echo "Compiling jucer_OpenDocumentManager.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" +$(OBJDIR)/projucer_CompileEngineClient_542e6b2d.o: ../../Source/LiveBuildEngine/projucer_CompileEngineClient.cpp + -@mkdir -p $(OBJDIR) + @echo "Compiling projucer_CompileEngineClient.cpp" + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + +$(OBJDIR)/projucer_CompileEngineServer_a5a32aa5.o: ../../Source/LiveBuildEngine/projucer_CompileEngineServer.cpp + -@mkdir -p $(OBJDIR) + @echo "Compiling projucer_CompileEngineServer.cpp" + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + $(OBJDIR)/jucer_SourceCodeEditor_461f5487.o: ../../Source/Code\ Editor/jucer_SourceCodeEditor.cpp -@mkdir -p $(OBJDIR) @echo "Compiling jucer_SourceCodeEditor.cpp" @@ -266,16 +277,6 @@ $(OBJDIR)/jucer_PaintRoutine_e1e891ee.o: ../../Source/ComponentEditor/jucer_Pain @echo "Compiling jucer_PaintRoutine.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_ProjectExporter_eefe2e5b.o: ../../Source/Project\ Saving/jucer_ProjectExporter.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_ProjectExporter.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/jucer_ResourceFile_6af120d3.o: ../../Source/Project\ Saving/jucer_ResourceFile.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_ResourceFile.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - $(OBJDIR)/jucer_DependencyPathPropertyComponent_4d137229.o: ../../Source/Project/jucer_DependencyPathPropertyComponent.cpp -@mkdir -p $(OBJDIR) @echo "Compiling jucer_DependencyPathPropertyComponent.cpp" @@ -291,14 +292,19 @@ $(OBJDIR)/jucer_Project_c131864a.o: ../../Source/Project/jucer_Project.cpp @echo "Compiling jucer_Project.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_ProjectContentComponent_60de0eee.o: ../../Source/Project/jucer_ProjectContentComponent.cpp +$(OBJDIR)/jucer_ProjectExporter_eefe2e5b.o: ../../Source/Project\ Saving/jucer_ProjectExporter.cpp -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_ProjectContentComponent.cpp" + @echo "Compiling jucer_ProjectExporter.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_ProjectType_1bc27a24.o: ../../Source/Project/jucer_ProjectType.cpp +$(OBJDIR)/jucer_ProjectSaver_38b16c25.o: ../../Source/Project\ Saving/jucer_ProjectSaver.cpp -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_ProjectType.cpp" + @echo "Compiling jucer_ProjectSaver.cpp" + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + +$(OBJDIR)/jucer_ResourceFile_6af120d3.o: ../../Source/Project\ Saving/jucer_ResourceFile.cpp + -@mkdir -p $(OBJDIR) + @echo "Compiling jucer_ResourceFile.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" $(OBJDIR)/jucer_CodeHelpers_c317179c.o: ../../Source/Utility/jucer_CodeHelpers.cpp @@ -316,11 +322,6 @@ $(OBJDIR)/jucer_Icons_9db2f51e.o: ../../Source/Utility/jucer_Icons.cpp @echo "Compiling jucer_Icons.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_IntrojucerLookAndFeel_d578c909.o: ../../Source/Utility/jucer_IntrojucerLookAndFeel.cpp - -@mkdir -p $(OBJDIR) - @echo "Compiling jucer_IntrojucerLookAndFeel.cpp" - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - $(OBJDIR)/jucer_JucerTreeViewBase_d043309d.o: ../../Source/Utility/jucer_JucerTreeViewBase.cpp -@mkdir -p $(OBJDIR) @echo "Compiling jucer_JucerTreeViewBase.cpp" @@ -331,6 +332,11 @@ $(OBJDIR)/jucer_MiscUtilities_25b68c82.o: ../../Source/Utility/jucer_MiscUtiliti @echo "Compiling jucer_MiscUtilities.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" +$(OBJDIR)/jucer_ProjucerLookAndFeel_d6c6b28a.o: ../../Source/Utility/jucer_ProjucerLookAndFeel.cpp + -@mkdir -p $(OBJDIR) + @echo "Compiling jucer_ProjucerLookAndFeel.cpp" + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + $(OBJDIR)/jucer_SlidingPanelComponent_9aa7a2ab.o: ../../Source/Utility/jucer_SlidingPanelComponent.cpp -@mkdir -p $(OBJDIR) @echo "Compiling jucer_SlidingPanelComponent.cpp" @@ -356,37 +362,37 @@ $(OBJDIR)/BinaryData_ce4232d4.o: ../../JuceLibraryCode/BinaryData.cpp @echo "Compiling BinaryData.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_core_1ee54a40.o: ../../../../modules/juce_core/juce_core.cpp +$(OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_core.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_cryptography_3b1f489a.o: ../../../../modules/juce_cryptography/juce_cryptography.cpp +$(OBJDIR)/juce_cryptography_6de2ebff.o: ../../JuceLibraryCode/juce_cryptography.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_cryptography.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_data_structures_84790dfc.o: ../../../../modules/juce_data_structures/juce_data_structures.cpp +$(OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_data_structures.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_events_584896b4.o: ../../../../modules/juce_events/juce_events.cpp +$(OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_events.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_graphics_f9afc18.o: ../../../../modules/juce_graphics/juce_graphics.cpp +$(OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_graphics.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_basics_90929794.o: ../../../../modules/juce_gui_basics/juce_gui_basics.cpp +$(OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_gui_basics.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_extra_b81d9e1c.o: ../../../../modules/juce_gui_extra/juce_gui_extra.cpp +$(OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_gui_extra.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" diff --git a/extras/Projucer/Builds/MacOSX/Icon.icns b/extras/Projucer/Builds/MacOSX/Icon.icns new file mode 100644 index 0000000000000000000000000000000000000000..64566582b2fa7109c5409816ee0cbb78564cd94a GIT binary patch literal 44839 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 literal 0 HcmV?d00001 diff --git a/extras/Projucer/Builds/MacOSX/Info-App.plist b/extras/Projucer/Builds/MacOSX/Info-App.plist new file mode 100644 index 0000000000..ebd1de7b9c --- /dev/null +++ b/extras/Projucer/Builds/MacOSX/Info-App.plist @@ -0,0 +1,61 @@ + + + + + + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + NSExceptionDomains + + amazonaws.com + + NSExceptionAllowsInsecureHTTPLoads + + NSIncludesSubdomains + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + Icon.icns + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleName + Projucer + CFBundleDisplayName + Projucer + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleShortVersionString + 4.2.0 + CFBundleVersion + 4.2.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + CFBundleDocumentTypes + + + CFBundleTypeExtensions + + jucer + + CFBundleTypeName + jucer + CFBundleTypeRole + Editor + CFBundleTypeIconFile + Icon + NSPersistentStoreTypeKey + XML + + + + diff --git a/extras/Introjucer/Builds/MacOSX/Info.plist b/extras/Projucer/Builds/MacOSX/Info.plist similarity index 71% rename from extras/Introjucer/Builds/MacOSX/Info.plist rename to extras/Projucer/Builds/MacOSX/Info.plist index 74e92d44f0..8fb75c8af6 100644 --- a/extras/Introjucer/Builds/MacOSX/Info.plist +++ b/extras/Projucer/Builds/MacOSX/Info.plist @@ -3,6 +3,21 @@ + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + NSExceptionDomains + + amazonaws.com + + NSExceptionAllowsInsecureHTTPLoads + + NSIncludesSubdomains + + + + CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIconFile @@ -10,7 +25,7 @@ CFBundleIdentifier $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName - The Introjucer + Projucer CFBundlePackageType APPL CFBundleSignature @@ -20,7 +35,7 @@ CFBundleVersion 4.1.0 NSHumanReadableCopyright - ROLI Ltd. + NSHighResolutionCapable CFBundleDocumentTypes diff --git a/extras/Introjucer/Builds/MacOSX/The Introjucer.xcodeproj/project.pbxproj b/extras/Projucer/Builds/MacOSX/Projucer.xcodeproj/project.pbxproj similarity index 92% rename from extras/Introjucer/Builds/MacOSX/The Introjucer.xcodeproj/project.pbxproj rename to extras/Projucer/Builds/MacOSX/Projucer.xcodeproj/project.pbxproj index 4e49d15eea..29ae17f5c8 100644 --- a/extras/Introjucer/Builds/MacOSX/The Introjucer.xcodeproj/project.pbxproj +++ b/extras/Projucer/Builds/MacOSX/Projucer.xcodeproj/project.pbxproj @@ -6,6 +6,7 @@ objectVersion = 46; objects = { + A6A9D7624D002544ECB81D82 = {isa = PBXBuildFile; fileRef = 09DE066936CF037E9709ADB1; }; 1E76E36772355E2A43CF4961 = {isa = PBXBuildFile; fileRef = D00F311BFC3C2625C457CB9B; }; 241F29FCBB7A17BB44A0B10C = {isa = PBXBuildFile; fileRef = D1F9B0E9F5D54FE48BEB46EA; }; 49C22786B54C5DC94E4654B8 = {isa = PBXBuildFile; fileRef = E96597BBC6A98255B51B94DC; }; @@ -21,6 +22,8 @@ 95B44E6C74B1DED31DBE37EB = {isa = PBXBuildFile; fileRef = 8C52A3DDA62A746AA7A68535; }; AA9D0B8E23F3D87A23DE9F8A = {isa = PBXBuildFile; fileRef = 9069981E414A631B036CC9AC; }; 244BA1BDA5FAA465EA3F9C6D = {isa = PBXBuildFile; fileRef = 2247EE920DF0610CAF9F4513; }; + 85B5E65F8DD80938BFBDCE61 = {isa = PBXBuildFile; fileRef = A1333F975410DD3DBBE2841F; }; + D805169E01D7F90B01C11769 = {isa = PBXBuildFile; fileRef = 635290DEB1D564927D7A450C; }; FCE6F604C00039A32649CB69 = {isa = PBXBuildFile; fileRef = 2E680E2C65684A4272AE079A; }; 9BF773500BA51A8B5C6C7348 = {isa = PBXBuildFile; fileRef = 65C498761CE166072A202AA0; }; 57B1F32A372143B4D3B1C517 = {isa = PBXBuildFile; fileRef = 3E03B7C7A19E63A724EB79F4; }; @@ -42,31 +45,30 @@ 209FCCC2155A1FCB7E11E20D = {isa = PBXBuildFile; fileRef = 269A454F1FF081DA67FFD578; }; C93569F47B4AC1A8E37992ED = {isa = PBXBuildFile; fileRef = 9D7689451732AF8333402B3A; }; 1B988E139004D8E2850EB656 = {isa = PBXBuildFile; fileRef = C187718F7B9EBA88584B43F3; }; - 1F37544891EC8DBB5E500C1C = {isa = PBXBuildFile; fileRef = F71AF6D2DF3E652F8B51EBAB; }; - 110221CD5578153B528AD2BE = {isa = PBXBuildFile; fileRef = D10D51A0A2D63F38B4D86A60; }; 3D777382FE212D59BAF871FD = {isa = PBXBuildFile; fileRef = DCBB17488227A2CA7D3D3947; }; 3FCA61C401007B243E2E9035 = {isa = PBXBuildFile; fileRef = F797071D88542C813CF7222A; }; 30B921C38DCEE787B294B746 = {isa = PBXBuildFile; fileRef = BAC43B20E14A340CCF14119C; }; - 676D2E1E750E61AA2FAA335E = {isa = PBXBuildFile; fileRef = 86E468DE6556BB2AD76A3D80; }; - 8012E6487639A7368E4C4470 = {isa = PBXBuildFile; fileRef = E70CA21960A64CCB835725FF; }; + 1F37544891EC8DBB5E500C1C = {isa = PBXBuildFile; fileRef = F71AF6D2DF3E652F8B51EBAB; }; + 0C5F43C262695A3EB7A9E1C0 = {isa = PBXBuildFile; fileRef = 14A24BB4AB7B81D40EF062E5; }; + 110221CD5578153B528AD2BE = {isa = PBXBuildFile; fileRef = D10D51A0A2D63F38B4D86A60; }; CD4F7B119CE718BCE78D61F4 = {isa = PBXBuildFile; fileRef = 9B9CAD20E1243B4351B4C8D8; }; 78CB463DD98A55313A543859 = {isa = PBXBuildFile; fileRef = 1729AEDC34001C31B8CC357C; }; 1499DF2E85B05AC1BF423773 = {isa = PBXBuildFile; fileRef = CF21D9DB3AEC0A4DCAB36A99; }; - 92A214B8ED913EB1925B5C41 = {isa = PBXBuildFile; fileRef = 72744569CBFA8AC9880E7AA2; }; 123810DAF8AF758928916ECE = {isa = PBXBuildFile; fileRef = 47DD50A5A9091F9900E0EAD9; }; C9F11BA62D6D092A300363F7 = {isa = PBXBuildFile; fileRef = 0F249640243FBD5717F6ADD9; }; + 9EAF9BE59FFE0BD49410B10E = {isa = PBXBuildFile; fileRef = 87414819D9DE343EA28E0AAD; }; 4A1DB797F1356E85110FF871 = {isa = PBXBuildFile; fileRef = 20FAAE9F3A7B96C2D8C75BB2; }; F6635694A01FFBF5EF0968DB = {isa = PBXBuildFile; fileRef = 631983AA62673015F8D7453B; }; 518DD443B6F17A5AFD707263 = {isa = PBXBuildFile; fileRef = A69024A225F2AC31F17B1314; }; B7EBA1A83575F48CD08140B9 = {isa = PBXBuildFile; fileRef = 4B083E951ECB62217C46CB01; }; 3C5267E06A897B0DC0F7EA50 = {isa = PBXBuildFile; fileRef = 472F9A90F685220D730EBF6C; }; - 7E72CB84146E1B4B168356CA = {isa = PBXBuildFile; fileRef = 38F29C2049566C47993A6D92; }; - 24AE6B973834AF7E0DE1F228 = {isa = PBXBuildFile; fileRef = D53B54D1786A1FFC024BF064; }; - AF55472121E1C56E5EB9CB4B = {isa = PBXBuildFile; fileRef = D9E59DE07A815AB303A297D9; }; - 284EBBCCB7C9FCB23BE43971 = {isa = PBXBuildFile; fileRef = 56E24241C02F953589493551; }; - EF27EC7543BED0B8DD66A098 = {isa = PBXBuildFile; fileRef = A2A081D9DA35B3D1F183C3FE; }; - 756B48DA5FA991E74035E812 = {isa = PBXBuildFile; fileRef = 70DC1D288DC6503E628A5A03; }; - 81E6980930B09FF108123186 = {isa = PBXBuildFile; fileRef = 9539EC08D70D4719A89A4A30; }; + 9ED1BEFFBBF553678675DEF7 = {isa = PBXBuildFile; fileRef = 25AE732333DA2FD74CC41087; }; + 4EA7BA3999C577D98568D5B3 = {isa = PBXBuildFile; fileRef = FB81EC093D67E7A4DE50CD69; }; + 58836EE272BEE27887D2F665 = {isa = PBXBuildFile; fileRef = 5926C29A69BD8A8063D316C8; }; + 386C3F32B995940D9AF82114 = {isa = PBXBuildFile; fileRef = 5965D919F31AD2CEF9219A9E; }; + BDA1FA163E7AEAE532661BFB = {isa = PBXBuildFile; fileRef = DE675FC14BF239A4CEA42BB3; }; + F44E979EBF431CC0122CE29A = {isa = PBXBuildFile; fileRef = 01E989844AA3018F427E0E44; }; + C0534804C9B068A2BA6491F6 = {isa = PBXBuildFile; fileRef = 7A7158A25E07A54D6AA6EBAB; }; 001730671DD492F405B37778 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; }; 0019A20E8A7B6B383B6ADE26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; }; 00376BD04FB81AF9455D45EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -76,6 +78,7 @@ 00EFEF8A403F4EC9E4D5B7D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; }; 013B24D69F07C2A525E82B58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTreeSynchroniser.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"; sourceTree = "SOURCE_ROOT"; }; 0169ACAA0FAE70CCEEE4F650 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_PaintElementPath.cpp"; path = "../../Source/ComponentEditor/paintelements/jucer_PaintElementPath.cpp"; sourceTree = "SOURCE_ROOT"; }; + 01E989844AA3018F427E0E44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 025C33B85E0CCD3E238D4BDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; }; 02C516CEFEE3FE48B492FDC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; }; 02DDC84BAB18E091E2CE8CB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; }; @@ -105,10 +108,12 @@ 0906A934A2797145A64FF423 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 09349C0C8300CA414AAE93A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CPlusPlusCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; 09697D1C3F7B90DD33A8090E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; }; + 09DE066936CF037E9709ADB1 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Projucer.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; 0B96A219A0CFF707E5A13B68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; }; 0BDFA0E402BA7E6B366E953C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScrollBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h"; sourceTree = "SOURCE_ROOT"; }; 0BEDB3FD70AB61D3E7891D74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; }; 0C2AD2FC0C196F440C3FF994 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_DependencyPathPropertyComponent.h"; path = "../../Source/Project/jucer_DependencyPathPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 0C6B1A14D37958E405448B8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "projucer_ErrorListComponent.h"; path = "../../Source/LiveBuildEngine/projucer_ErrorListComponent.h"; sourceTree = "SOURCE_ROOT"; }; 0C747328CDADAE15E86E5E93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; 0C956209A61542371A7A5257 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; }; 0CC9026D5056CA9C1FE64A64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; }; @@ -134,6 +139,7 @@ 125CD8A5E5B57840F5154ACD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; }; 1268E54178897254E9A8B94C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; 129CDB26CC63D4BC2EB1F2CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1300F6577D67C5609550A25F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_DialogLookAndFeel.h"; path = "../../Source/Utility/jucer_DialogLookAndFeel.h"; sourceTree = "SOURCE_ROOT"; }; 133F1E428260C5ADDF496DF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ComponentLayout.cpp"; path = "../../Source/ComponentEditor/jucer_ComponentLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; 1353717582E55D6E4D074BA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Files.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; 138550CC958D2F029C01B4E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -141,6 +147,7 @@ 14337E3F4B92468517BA24AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; 143BB0407046E63639E1D79D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextInputTarget.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h"; sourceTree = "SOURCE_ROOT"; }; 148FC834CE2CAE18477AB708 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 14A24BB4AB7B81D40EF062E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ProjectSaver.cpp"; path = "../../Source/Project Saving/jucer_ProjectSaver.cpp"; sourceTree = "SOURCE_ROOT"; }; 14B7611971E56AC319072A5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; }; 14DCD95D4AFE5101B036A6EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; }; 14EB1DA96BC8E4901FC953F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentPeer.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h"; sourceTree = "SOURCE_ROOT"; }; @@ -203,7 +210,6 @@ 21F4416597D1AB02D38BA62E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; }; 21FAFA7F2C5D0E8D99876EA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; 220003AF19CAFA778CE9A2A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Base64.h"; path = "../../../../modules/juce_core/text/juce_Base64.h"; sourceTree = "SOURCE_ROOT"; }; - 2210EB5F41023B53ADD0DFBD = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_cryptography/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 221C1BAC4138F261F97121AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; 223C4209F18A221EB183A056 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_AppearanceSettings.h"; path = "../../Source/Application/jucer_AppearanceSettings.h"; sourceTree = "SOURCE_ROOT"; }; 2247EE920DF0610CAF9F4513 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_OpenDocumentManager.cpp"; path = "../../Source/Application/jucer_OpenDocumentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -220,6 +226,7 @@ 24C34D0578AE6C7A3EA18781 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_InlineComponentTemplate.h"; path = "../../Source/BinaryData/jucer_InlineComponentTemplate.h"; sourceTree = "SOURCE_ROOT"; }; 24CA69C0CC466CD524021099 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; }; 24CB53290AE7A023C1BDD0DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; + 25AE732333DA2FD74CC41087 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; 25D76CD621FC2A211CF7BB52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; 25E306BB0D875CB0934C405C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; 261EFE631AA08FB2651B78C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -232,12 +239,13 @@ 295A9B126C98FE15F5A8B81E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_FilePropertyComponent.h"; path = "../../Source/ComponentEditor/properties/jucer_FilePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 2A060BB0D79BEC3CF644F553 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; }; 2A4B079CDB9C40EB912B6EEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; }; + 2A71988FE59A4522412BB5F0 = {isa = PBXFileReference; lastKnownFileType = file.r; name = "juce_AU_Resources.r"; path = "../../Source/BinaryData/juce_AU_Resources.r"; sourceTree = "SOURCE_ROOT"; }; 2AADCE9D8BADF4DAC05CCA1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; }; - 2B074BFC193A25602E73D0CC = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_core/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 2B8548461E318DCB3354DB43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; }; 2BB98D1E325EF7BD90C6BBB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; }; 2BC28F37C470E4770E479BCD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; }; 2C7A9B2EDC724657EBF9FA83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2C7CDA71ACB5829BC616A353 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "projucer_ComponentListComp.h"; path = "../../Source/LiveBuildEngine/projucer_ComponentListComp.h"; sourceTree = "SOURCE_ROOT"; }; 2CB90BE5027B202896EBCE9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; }; 2CD0B485ED8C5E8402671D36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableEdgeComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h"; sourceTree = "SOURCE_ROOT"; }; 2CD34A70B4032C0426F7AA10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_MainWindow.h"; path = "../../Source/Application/jucer_MainWindow.h"; sourceTree = "SOURCE_ROOT"; }; @@ -253,7 +261,7 @@ 301592EBAC0FFF6F5B268E99 = {isa = PBXFileReference; lastKnownFileType = image.png; name = "background_tile.png"; path = "../../Source/BinaryData/background_tile.png"; sourceTree = "SOURCE_ROOT"; }; 304EEA3B0DF16CE313D8A0BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; 3058CCA7DE9BB9B37FE73297 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; }; - 30AD756E053A0663BF664823 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_graphics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 313BC56B30B05119686B1E99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "projucer_ProjectBuildInfo.h"; path = "../../Source/LiveBuildEngine/projucer_ProjectBuildInfo.h"; sourceTree = "SOURCE_ROOT"; }; 318F4AB64A5D4068CC1C4F29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; 31A8DF142F8B653E285C7E01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageCache.h"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.h"; sourceTree = "SOURCE_ROOT"; }; 31ACA83BF72B34828ADA1F3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; }; @@ -278,7 +286,6 @@ 37A0A38C2B5825B9A302879C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; 3804BE13635F779ACB8C5491 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; }; 38CE1587800D612BA0C394A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; - 38F29C2049566C47993A6D92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; 3A2888667372BA896AACFBDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; }; 3A55FEFC24C387D3B29444D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; }; 3A5B5DC92BE6D22CA15B9671 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_SnapGridPainter.h"; path = "../../Source/ComponentEditor/ui/jucer_SnapGridPainter.h"; sourceTree = "SOURCE_ROOT"; }; @@ -300,6 +307,7 @@ 3F9D4C7F6E5779D4E4AE655D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentLayout.h"; path = "../../Source/ComponentEditor/jucer_ComponentLayout.h"; sourceTree = "SOURCE_ROOT"; }; 3FAFD16944A6674164D23914 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; }; 400E4C67ABCDDB1D49EBB85E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_TabbedComponentHandler.h"; path = "../../Source/ComponentEditor/components/jucer_TabbedComponentHandler.h"; sourceTree = "SOURCE_ROOT"; }; + 4073A12E196BDDADE211E19F = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "projucer_EULA.txt"; path = "../../Source/BinaryData/projucer_EULA.txt"; sourceTree = "SOURCE_ROOT"; }; 4076F14FE0016A4DA9087771 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; }; 408C544F9201DFF06544F878 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; 40A83A20ED109AAAE6D63AF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; }; @@ -310,6 +318,7 @@ 422524EBD7DA6530970A7872 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; }; 42B5C970B8DCD08A864F2208 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableObjectResizer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp"; sourceTree = "SOURCE_ROOT"; }; 430239E0574C157689D83206 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 43C068B8D98821C09492AB29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "projucer_ActivityListComponent.h"; path = "../../Source/LiveBuildEngine/projucer_ActivityListComponent.h"; sourceTree = "SOURCE_ROOT"; }; 441A0EA83E44264CB977F21B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; }; 441CFEA771BAA50E187342E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_AppearanceSettings.cpp"; path = "../../Source/Application/jucer_AppearanceSettings.cpp"; sourceTree = "SOURCE_ROOT"; }; 442031AD0C8A280B68CE9EF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -334,6 +343,7 @@ 4924392751ACE0C9F2076599 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; }; 4977BC2F82532C86B116A07F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; }; 49A941554FB8B2B20F219182 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; }; + 4A035FB6A8D93BF154C08C3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "projucer_BuildTabStatusComp.h"; path = "../../Source/LiveBuildEngine/projucer_BuildTabStatusComp.h"; sourceTree = "SOURCE_ROOT"; }; 4A41FD3066D0979DB48691E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_MiscUtilities.h"; path = "../../Source/Utility/jucer_MiscUtilities.h"; sourceTree = "SOURCE_ROOT"; }; 4A4EBDAD8D098F72CE053235 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectWizard_AudioPlugin.h"; path = "../../Source/Wizards/jucer_ProjectWizard_AudioPlugin.h"; sourceTree = "SOURCE_ROOT"; }; 4AE0078871D92B6085C28313 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -343,7 +353,6 @@ 4BC9122A6E6496EAF716560E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; 4C150A1BF98D747EC218A602 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Component.cpp"; sourceTree = "SOURCE_ROOT"; }; 4C2093BCD3528ACEDC7A2B33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ImageButtonHandler.h"; path = "../../Source/ComponentEditor/components/jucer_ImageButtonHandler.h"; sourceTree = "SOURCE_ROOT"; }; - 4CA1C3E6585D7694AA9C309F = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = "SOURCE_ROOT"; }; 4D698BF12BCD6B0896BCDF17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_AutoUpdater.h"; path = "../../Source/Application/jucer_AutoUpdater.h"; sourceTree = "SOURCE_ROOT"; }; 4D6F99ED00A4D8683AF313B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; }; 4D7F53313945ED27A7D16B80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; }; @@ -383,26 +392,28 @@ 54569C1C994F3A0255785EAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; 54747E887C1021F05F172B89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 553725A0E3A391651ED1731E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_FileHelpers.h"; path = "../../Source/Utility/jucer_FileHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 558D6BDDD9452E6F359D713A = {isa = PBXFileReference; lastKnownFileType = file.otf; name = ContaxPro65Med.otf; path = ../../Source/BinaryData/ContaxPro65Med.otf; sourceTree = "SOURCE_ROOT"; }; 55F7CE15FA02A9F599A83A58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; }; 563091B0916AD9AAA36C7DC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_OpenDocumentManager.h"; path = "../../Source/Application/jucer_OpenDocumentManager.h"; sourceTree = "SOURCE_ROOT"; }; 5644F0AFA78E8AC7501978DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 56B52F0F6AEDCEC78C38B5F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; }; - 56E24241C02F953589493551 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; 56E8C48ADDEBD48A49C885CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; }; 5708CF7899EA21D0B72CDC2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BlowFish.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp"; sourceTree = "SOURCE_ROOT"; }; 5745ECDAA4216EE2AF97E5AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; }; 576D62C0C9C1BA4B7A514721 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PositionPropertyBase.h"; path = "../../Source/ComponentEditor/properties/jucer_PositionPropertyBase.h"; sourceTree = "SOURCE_ROOT"; }; 578AA1C9D44D2E3AEA5D0278 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 57FD2D74F5DCFF42099CA738 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_extra/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 58139D8D454051C59E77609B = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = ../../Source/BinaryData/RecentFilesMenuTemplate.nib; sourceTree = "SOURCE_ROOT"; }; 5843A5060852C6ACC4770EC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; 58858190E0EE0AA6955EA236 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; 58943E79C32289AB7273F59D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; }; 589A6DAE96E2A7924646873F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 59184A106CE3FAE8BFCD82FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 5926C29A69BD8A8063D316C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; + 5965D919F31AD2CEF9219A9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; 5B462BC3C5F8B6D72688ABF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleComponent.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 5B8DF06BA7B7CB88C4922682 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 5BC5622E615CA3B13C6F9046 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; }; + 5C7636E577B8DBB1D3133022 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "projucer_ActivityList.h"; path = "../../Source/LiveBuildEngine/projucer_ActivityList.h"; sourceTree = "SOURCE_ROOT"; }; 5C82ACC4EE09A1DE1CCEC9A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Primes.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.cpp"; sourceTree = "SOURCE_ROOT"; }; 5CB6ACA0F14EDE47A4F7BCC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; }; 5D31021458D8774CC185F499 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; }; @@ -411,7 +422,6 @@ 5DBA8C92675235B098946B18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 5E674E757BBB4EA2F62B12E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; 5F04029BEEB2A503B29B13FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; }; - 5F4F4EAB042F2730F94A1CEA = {isa = PBXFileReference; lastKnownFileType = text.txt; name = AudioPluginXCodeScript.txt; path = ../../Source/BinaryData/AudioPluginXCodeScript.txt; sourceTree = "SOURCE_ROOT"; }; 5F6584B675E30761521A9F42 = {isa = PBXFileReference; lastKnownFileType = file.xml; name = "colourscheme_light.xml"; path = "../../Source/BinaryData/colourscheme_light.xml"; sourceTree = "SOURCE_ROOT"; }; 600102C053153EE4E1E72C85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; 61593EB1738286004B592FD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; }; @@ -422,8 +432,8 @@ 620C2E1340FB7A40C1A2316B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; }; 6231187E6EE9328EC9EE5D77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Whirlpool.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_Whirlpool.cpp"; sourceTree = "SOURCE_ROOT"; }; 628869AB2D553E2A6C68C748 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarComponent.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h"; sourceTree = "SOURCE_ROOT"; }; - 63092DCDC875D681A5677105 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_events/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 631983AA62673015F8D7453B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_StoredSettings.cpp"; path = "../../Source/Utility/jucer_StoredSettings.cpp"; sourceTree = "SOURCE_ROOT"; }; + 635290DEB1D564927D7A450C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "projucer_CompileEngineServer.cpp"; path = "../../Source/LiveBuildEngine/projucer_CompileEngineServer.cpp"; sourceTree = "SOURCE_ROOT"; }; 6367309B2092121B86FE3AA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; 63B72B34BC9AC448422EF1A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 63B74F9D9F43393F6427501C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WebBrowserComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -452,6 +462,7 @@ 6A337C69A928E3CE79C55457 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentChoiceProperty.h"; path = "../../Source/ComponentEditor/properties/jucer_ComponentChoiceProperty.h"; sourceTree = "SOURCE_ROOT"; }; 6AA46ED6C6DDD5A7BC72F686 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; 6AC88EFC247C225CC5C11A43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_BinaryResources.h"; path = "../../Source/ComponentEditor/jucer_BinaryResources.h"; sourceTree = "SOURCE_ROOT"; }; + 6AEF2E6130619AE550A5FCA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_EulaDialogue.h"; path = "../../Source/Application/jucer_EulaDialogue.h"; sourceTree = "SOURCE_ROOT"; }; 6B693819BC8F0548179A74AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; }; 6B8796ED91A82AB5A8EB922F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; }; 6B8E7B90EE615FA508709ADF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BooleanPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -468,15 +479,12 @@ 6E8B46E33BF7A0DD930A5100 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 6EE1847181635ED3C0838A4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; }; 6EE91491434D058606460AFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - 6F45E2C7C9665CD6E4B6E2F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_IntrojucerLookAndFeel.h"; path = "../../Source/Utility/jucer_IntrojucerLookAndFeel.h"; sourceTree = "SOURCE_ROOT"; }; 6F8A53EDF09094C83DE4D111 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; 70CF9F1991538524A7C4CE39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; - 70DC1D288DC6503E628A5A03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 714267352CE5C4357ADBC231 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_StartPageComponent.h"; path = "../../Source/Wizards/jucer_StartPageComponent.h"; sourceTree = "SOURCE_ROOT"; }; 71A61C2973404BD68E8E7902 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; 7211101FFA28400ADBB1D47A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_Module.h"; path = "../../Source/Project/jucer_Module.h"; sourceTree = "SOURCE_ROOT"; }; 7256D1C79741E66E2C002EE2 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "wizard_DLL.svg"; path = "../../Source/BinaryData/wizard_DLL.svg"; sourceTree = "SOURCE_ROOT"; }; - 72744569CBFA8AC9880E7AA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_IntrojucerLookAndFeel.cpp"; path = "../../Source/Utility/jucer_IntrojucerLookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; 72FED7B10FBF5AD1F504FDFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; }; 736E99601AB6C492D82DBF3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; 73B9F17FE55A02C2BB87E008 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_OpenGLComponentTemplate.cpp"; path = "../../Source/BinaryData/jucer_OpenGLComponentTemplate.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -497,13 +505,16 @@ 795AF1D634CA3E6FA899E0B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; }; 796AEF1400580E81AAF23CE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; }; 79B3DE19D706135161A727B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; }; + 79E58813D1B414AF49DD9598 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_LiveBuildCodeEditor.h"; path = "../../Source/Code Editor/jucer_LiveBuildCodeEditor.h"; sourceTree = "SOURCE_ROOT"; }; 79F7CC3E9B848AAA3A5C682B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; }; 7A3E96D22F1C9EB4C739834F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PointComponent.h"; path = "../../Source/ComponentEditor/paintelements/jucer_PointComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 7A7158A25E07A54D6AA6EBAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; 7B4E33B1E04139F359FB484B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ConfigTree_Exporter.h"; path = "../../Source/Project/jucer_ConfigTree_Exporter.h"; sourceTree = "SOURCE_ROOT"; }; 7B6E461262D8822132135F56 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "wizard_AnimatedApp.svg"; path = "../../Source/BinaryData/wizard_AnimatedApp.svg"; sourceTree = "SOURCE_ROOT"; }; 7B824A2F1BBE334B140BD8AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; 7C02936574E000C436E3AD8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; }; 7C48EA717C5B1136A39FF4FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnection.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7CA44FF0BA319517C6E39651 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_Application.cpp"; path = "../../Source/Application/jucer_Application.cpp"; sourceTree = "SOURCE_ROOT"; }; 7CBB297E627A7DC7EA12A8B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; 7CFA76389645D629E6C61B39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; 7D264E60AC701D3736527D8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -519,6 +530,7 @@ 7FDC4820A86DBA34E62B241E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; 7FF7EFDC3CF13673541E332D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; }; 80131CEDAA488DC654996A55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; }; + 8022F586EC72D9503F490267 = {isa = PBXFileReference; lastKnownFileType = file.otf; name = ContaxPro45Lig.otf; path = ../../Source/BinaryData/ContaxPro45Lig.otf; sourceTree = "SOURCE_ROOT"; }; 808503667FBB423F81780796 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; }; 8090981F07A76E465DAAADF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ValueSourceHelpers.h"; path = "../../Source/Utility/jucer_ValueSourceHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 8138A55052E9FC27284B74DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_FontPropertyComponent.h"; path = "../../Source/ComponentEditor/properties/jucer_FontPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -546,9 +558,11 @@ 86E468DE6556BB2AD76A3D80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ProjectContentComponent.cpp"; path = "../../Source/Project/jucer_ProjectContentComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 86E8A40E5A83781A8478454D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_MainTemplate_Window.cpp"; path = "../../Source/BinaryData/jucer_MainTemplate_Window.cpp"; sourceTree = "SOURCE_ROOT"; }; 8702F43110E4CCA5E5F827F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; }; + 87414819D9DE343EA28E0AAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ProjucerLookAndFeel.cpp"; path = "../../Source/Utility/jucer_ProjucerLookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; 8803733D62CD6DE90727BCA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_cryptography.h"; path = "../../../../modules/juce_cryptography/juce_cryptography.h"; sourceTree = "SOURCE_ROOT"; }; 882E28FED1A99E73B0035FC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; }; 88EA32274CBB5C3A4ECB9ECA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 89C92F903E2F6CE56F73FA6D = {isa = PBXFileReference; lastKnownFileType = file.otf; name = ContaxPro55RmSC.otf; path = ../../Source/BinaryData/ContaxPro55RmSC.otf; sourceTree = "SOURCE_ROOT"; }; 8A0E175187B06CE9C368A73B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; }; 8A5D40E78966BA8B0F8B542A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; }; 8A825FDDC00DD253F44D2C3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectWizard_AudioApp.h"; path = "../../Source/Wizards/jucer_ProjectWizard_AudioApp.h"; sourceTree = "SOURCE_ROOT"; }; @@ -568,6 +582,7 @@ 9069981E414A631B036CC9AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_MainWindow.cpp"; path = "../../Source/Application/jucer_MainWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 90B324F7579B218ADE1C825B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTreeSynchroniser.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h"; sourceTree = "SOURCE_ROOT"; }; 90BD70D106A80947463BCB1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; }; + 90E05EF7005D9C0712FA7662 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "projucer_DiagnosticMessage.h"; path = "../../Source/LiveBuildEngine/projucer_DiagnosticMessage.h"; sourceTree = "SOURCE_ROOT"; }; 9101B27E4D98157EABCE9B8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; }; 914ADDB50ED7365F08BA91F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_CodeHelpers.h"; path = "../../Source/Utility/jucer_CodeHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 915ACCF56213FACAB42B427D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModifierKeys.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h"; sourceTree = "SOURCE_ROOT"; }; @@ -579,12 +594,10 @@ 939B1B2421964EEF71768BC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 93B419190CCE92ACAB1ED25B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ColouredElement.cpp"; path = "../../Source/ComponentEditor/paintelements/jucer_ColouredElement.cpp"; sourceTree = "SOURCE_ROOT"; }; 93BD6F4BB776E432A4006696 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Identifier.h"; path = "../../../../modules/juce_core/text/juce_Identifier.h"; sourceTree = "SOURCE_ROOT"; }; - 93D03B2BC76998A3BDA747E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_AudioPluginModule.h"; path = "../../Source/Project/jucer_AudioPluginModule.h"; sourceTree = "SOURCE_ROOT"; }; 93D165846B65A638F1C25C4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; }; 943FD0D3066412B00830FD86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; }; 943FFC4D765C40DEAF9023D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; 951128CA33CCDEF570436B1C = {isa = PBXFileReference; lastKnownFileType = file.icns; name = Icon.icns; path = Icon.icns; sourceTree = "SOURCE_ROOT"; }; - 9539EC08D70D4719A89A4A30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; 953ECF85818382C60F49544B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; 95CAB4F09E05FDBAED45812E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; }; 963E0740B7B4D59EF2D16740 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentTemplate.h"; path = "../../Source/BinaryData/jucer_ComponentTemplate.h"; sourceTree = "SOURCE_ROOT"; }; @@ -643,6 +656,7 @@ A085174413736ACC8D7D42A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectWizard_openGL.h"; path = "../../Source/Wizards/jucer_ProjectWizard_openGL.h"; sourceTree = "SOURCE_ROOT"; }; A0951828C3BF47FA7E1E52F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ViewportHandler.h"; path = "../../Source/ComponentEditor/components/jucer_ViewportHandler.h"; sourceTree = "SOURCE_ROOT"; }; A132B5A63CFEF32407ACA5D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; }; + A1333F975410DD3DBBE2841F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "projucer_CompileEngineClient.cpp"; path = "../../Source/LiveBuildEngine/projucer_CompileEngineClient.cpp"; sourceTree = "SOURCE_ROOT"; }; A17913CCDA69951BC373F637 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; A1B4DCE00B10BF7C59F0E603 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; A1C82396A9A0F9A296AA7E6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -651,7 +665,6 @@ A207C9202FF3FDE0C6B273D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp"; sourceTree = "SOURCE_ROOT"; }; A243C85FC2C37FD73F115E67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; }; A28743047698F6C02194A218 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; }; - A2A081D9DA35B3D1F183C3FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; A2FBC2BA5FFB83CFCD61F399 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; }; A37D773DEFB69C248D703F40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; A3DB226F40C387078864E68A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -670,10 +683,12 @@ A6D36E0244150AFBF63C1162 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; A6E4200E8939608555935EF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; }; A726B794D536985E1F35525F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; }; + A73878536863FB25753A98E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjucerLicenses.h"; path = "../../Source/Application/jucer_ProjucerLicenses.h"; sourceTree = "SOURCE_ROOT"; }; A8394930355B8BE2F67347F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; }; A8912DFCDA76B8897A5053CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Desktop.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.cpp"; sourceTree = "SOURCE_ROOT"; }; A8DB614600D348C730AC3930 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GroupComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h"; sourceTree = "SOURCE_ROOT"; }; A8F9DE55079FC7F6440CF678 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LeakedObjectDetector.h"; path = "../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h"; sourceTree = "SOURCE_ROOT"; }; + A973D33C0CE829AD293E035B = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "projucer_login_bg.svg"; path = "../../Source/BinaryData/projucer_login_bg.svg"; sourceTree = "SOURCE_ROOT"; }; A9F6985D38A1C25F0C75215B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; A9FA71357C5B2A46A75D9230 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; }; AA2D4949BD61CE8B891731E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -693,6 +708,7 @@ AE84254C46407F84EB70A370 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h"; sourceTree = "SOURCE_ROOT"; }; AEE6CA38BE01F8C61920C203 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; }; AF34CB5CB61484442764640E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_File.h"; path = "../../../../modules/juce_core/files/juce_File.h"; sourceTree = "SOURCE_ROOT"; }; + AF57278F8F46D86B4EBA449E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "projucer_CompileEngineServer.h"; path = "../../Source/LiveBuildEngine/projucer_CompileEngineServer.h"; sourceTree = "SOURCE_ROOT"; }; AF71B1EBA9D281491F30F42B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; AF9D42A4C5359EE904DCAF8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsRegistry.h"; path = "../../../../modules/juce_core/misc/juce_WindowsRegistry.h"; sourceTree = "SOURCE_ROOT"; }; AFAF4EF669407663DCB0F452 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -715,6 +731,7 @@ B4AA53EF291A383B3C50048A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; B54DB627A7AEB6AD820A0A90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; }; B5C4B75E1E71D9445A1AAEE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; }; + B5CB69026BC4E8F439355CDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "projucer_SourceCodeRange.h"; path = "../../Source/LiveBuildEngine/projucer_SourceCodeRange.h"; sourceTree = "SOURCE_ROOT"; }; B65666B7927C1B36DF8DBAB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInactivityDetector.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h"; sourceTree = "SOURCE_ROOT"; }; B65C16AB5714B1FBD65AD824 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; }; B6C40E843F7E8E7C4768B99E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -736,7 +753,9 @@ BB9C1E6E54A16F795908C469 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "background_logo.svg"; path = "../../Source/BinaryData/background_logo.svg"; sourceTree = "SOURCE_ROOT"; }; BC17B02633EF1E31024051C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; BCAD13352CE76BA81629A6E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; }; + BCB819DDDD2AC13632CA502F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjucerLookAndFeel.h"; path = "../../Source/Utility/jucer_ProjucerLookAndFeel.h"; sourceTree = "SOURCE_ROOT"; }; BCCFDFB2C02C4AA436C0ECF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_SliderHandler.h"; path = "../../Source/ComponentEditor/components/jucer_SliderHandler.h"; sourceTree = "SOURCE_ROOT"; }; + BD2BC2395BF27FD40259F14F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "projucer_ErrorList.h"; path = "../../Source/LiveBuildEngine/projucer_ErrorList.h"; sourceTree = "SOURCE_ROOT"; }; BD7C18F07DE633B97B4478E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; BDBE6F06F82DF5C3BFF53B2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Slider.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp"; sourceTree = "SOURCE_ROOT"; }; BDCE974230A7401C0E9D28BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; }; @@ -746,6 +765,7 @@ BF171B0762D5550B797869F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; }; BF3CEF080FA013E2778DCE90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_Project.h"; path = "../../Source/Project/jucer_Project.h"; sourceTree = "SOURCE_ROOT"; }; BF92CA3FD8F9A61AE358D151 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; + C00793A0D4A59BDADC62EEF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "projucer_CompileEngineClient.h"; path = "../../Source/LiveBuildEngine/projucer_CompileEngineClient.h"; sourceTree = "SOURCE_ROOT"; }; C061E0D3680889C69B1F0E95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; C094F3B6A65A79A6DF87C9C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintElementGroup.h"; path = "../../Source/ComponentEditor/paintelements/jucer_PaintElementGroup.h"; sourceTree = "SOURCE_ROOT"; }; C09BBB58CA45B66D693E8C31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_TemplateThumbnailsComponent.h"; path = "../../Source/Wizards/jucer_TemplateThumbnailsComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -768,35 +788,45 @@ C5D5D2FFB030BD43160167EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; C5FCECA838D4D12D03929139 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; C61E82D93918A611FAFD9E9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; + C63233C27ED46CECF10EC7C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "projucer_MessageIDs.h"; path = "../../Source/LiveBuildEngine/projucer_MessageIDs.h"; sourceTree = "SOURCE_ROOT"; }; + C68355AA4D62939EECAD469E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; }; C6861DB44A31CE7A3DEFA083 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; }; C6E46DBD249D9426C95E2235 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; + C714153DB8056CAC5BC69FAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "projucer_ClassDatabase.h"; path = "../../Source/LiveBuildEngine/projucer_ClassDatabase.h"; sourceTree = "SOURCE_ROOT"; }; C717D2384896547D1CD993F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; }; C71A9AF1EC7C5BE8DE2EADBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PixelFormats.h"; path = "../../../../modules/juce_graphics/colour/juce_PixelFormats.h"; sourceTree = "SOURCE_ROOT"; }; C7608A3967D9AB9481848F2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_DocumentEditorComponent.cpp"; path = "../../Source/Application/jucer_DocumentEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; C7B47372A9D5970E3D9A5400 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_GroupInformationComponent.h"; path = "../../Source/Project/jucer_GroupInformationComponent.h"; sourceTree = "SOURCE_ROOT"; }; C7E19F79947BEFC7DB7A9CE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; C83992DA0BE30EA3CD06EA98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; }; + C85B4D62B96F4A44890F20E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; }; C8A229ACD244F402C57286CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectExport_MSVC.h"; path = "../../Source/Project Saving/jucer_ProjectExport_MSVC.h"; sourceTree = "SOURCE_ROOT"; }; C90C66C5727759D5CBD5FB07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; }; C9616830BB2474066AC8C910 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ResourceFile.h"; path = "../../Source/Project Saving/jucer_ResourceFile.h"; sourceTree = "SOURCE_ROOT"; }; C9871C46DEDD05103443DC33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NewLine.h"; path = "../../../../modules/juce_core/text/juce_NewLine.h"; sourceTree = "SOURCE_ROOT"; }; C9DCA94BF8A4C583E5392755 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; CA62F9F7C5F0D77D8E33D91F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; }; + CB147AFB52BD5FC0816C0EEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "projucer_LiveCodeBuilderDLL.h"; path = "../../Source/LiveBuildEngine/projucer_LiveCodeBuilderDLL.h"; sourceTree = "SOURCE_ROOT"; }; CB36CD7F57D0F4231DC98686 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; }; CB48495010366C2E371BEFDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemStats.cpp"; path = "../../../../modules/juce_core/system/juce_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + CBB97680B21DE1EDBA84A3EB = {isa = PBXFileReference; lastKnownFileType = file.otf; name = ContaxPro55Rm.otf; path = ../../Source/BinaryData/ContaxPro55Rm.otf; sourceTree = "SOURCE_ROOT"; }; CBE0B96838EE76C9CB8E1230 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; }; CC3F5263B16932FF4E74B9D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; CC63B9EC2E95FD4AF7608D8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + CCEF7B4C6667DDE5D32FD219 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "projucer_CompileEngineDLL.h"; path = "../../Source/LiveBuildEngine/projucer_CompileEngineDLL.h"; sourceTree = "SOURCE_ROOT"; }; CD140A1C0161176682F6CA29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; CD3216F23C7B273B010A8D12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; CDCAF0EC777DA2884AEB2B59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; }; + CDDF5BDC75277F7B83A38885 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; }; CDF8F65F9079B2C14A740F0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; }; CE1DFE4E3908943656E180AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; }; + CEF0436C145DA86ACE2CA5E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "projucer_ClientServerMessages.h"; path = "../../Source/LiveBuildEngine/projucer_ClientServerMessages.h"; sourceTree = "SOURCE_ROOT"; }; CF0615A1AF1A514A60322B50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; }; CF21D9DB3AEC0A4DCAB36A99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_Icons.cpp"; path = "../../Source/Utility/jucer_Icons.cpp"; sourceTree = "SOURCE_ROOT"; }; CF6C8BD0DA3D8CD4E99EBADA = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; CF8011B3C67B609032974DA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_NewCppFileTemplate.cpp"; path = "../../Source/BinaryData/jucer_NewCppFileTemplate.cpp"; sourceTree = "SOURCE_ROOT"; }; D00F311BFC3C2625C457CB9B = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; + D041043D3B554B88F855C174 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; }; D0D8B580D0689FFF4B9B823B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_StrokeType.h"; path = "../../Source/ComponentEditor/paintelements/jucer_StrokeType.h"; sourceTree = "SOURCE_ROOT"; }; D0F1614CC861E8E0B59B7A06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; D10D51A0A2D63F38B4D86A60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ResourceFile.cpp"; path = "../../Source/Project Saving/jucer_ResourceFile.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -815,49 +845,34 @@ D503780AB98993E8F0BA1311 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; D5057D7B18ABD5E810A6F830 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; D526C38D581425949BA0E4AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_FilePreviewComponent.h"; path = "../../Source/Application/jucer_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; - D53B54D1786A1FFC024BF064 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../../../modules/juce_cryptography/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; D678882D133090214AF681BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; }; D6C91E2BF537F75A80F5C1DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; }; D75EAC16FAECCC51E3669193 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; }; D780ED33573AED5AD383A036 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; }; D782DA091AD3ECE158FC6A5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + D7A7F1AA9F313B0CCAAA73A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; }; D800DE818BEDBF4579D15B1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; }; D87FC8F6834E9DC9C8E88B94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_JustificationProperty.h"; path = "../../Source/ComponentEditor/properties/jucer_JustificationProperty.h"; sourceTree = "SOURCE_ROOT"; }; D926E13AB5AD647A7A00F486 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; D92A6E9404A30EED32DCE4ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_RelativePositionedRectangle.h"; path = "../../Source/ComponentEditor/ui/jucer_RelativePositionedRectangle.h"; sourceTree = "SOURCE_ROOT"; }; D9342535EA61901A1AD816C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - D9E59DE07A815AB303A297D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; - DA345D5B9DABD049F90DC96F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_GeneratedCode.h"; path = "../../Source/ComponentEditor/jucer_GeneratedCode.h"; sourceTree = "SOURCE_ROOT"; }; - DB876F7873F42DC685A58CA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; - DC922C6A65D260C18E888E49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ComponentTemplate.cpp"; path = "../../Source/BinaryData/jucer_ComponentTemplate.cpp"; sourceTree = "SOURCE_ROOT"; }; - DD00494140C86144306A9356 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; }; - DD2494D5F1C081898D616AF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; }; - DE5F3C9EF6BFFDE73AF9E7FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - E0F9CA57E44F7F7E7E217E47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentUndoableAction.h"; path = "../../Source/ComponentEditor/components/jucer_ComponentUndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; - E1D8CCD9F4ACBE1EC1D5BEA0 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "wizard_AudioApp.svg"; path = "../../Source/BinaryData/wizard_AudioApp.svg"; sourceTree = "SOURCE_ROOT"; }; - E2374E15D65425C4101237E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_NewComponentTemplate.h"; path = "../../Source/BinaryData/jucer_NewComponentTemplate.h"; sourceTree = "SOURCE_ROOT"; }; - E3B56C5718D87CA0EFCB2662 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_AudioComponentTemplate.cpp"; path = "../../Source/BinaryData/jucer_AudioComponentTemplate.cpp"; sourceTree = "SOURCE_ROOT"; }; - E4BB22E27C5AA4B666F265BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_TextButtonHandler.h"; path = "../../Source/ComponentEditor/components/jucer_TextButtonHandler.h"; sourceTree = "SOURCE_ROOT"; }; - E4BD4C43370651B49F75855B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_MainTemplate_SimpleWindow.cpp"; path = "../../Source/BinaryData/jucer_MainTemplate_SimpleWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; - E5D6C36496F5BC84D7213BE8 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; - E65A820D34BF39478B7C5925 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_DocumentEditorComponent.h"; path = "../../Source/Application/jucer_DocumentEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; - E96597BBC6A98255B51B94DC = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; - 25F52316D256B4534BED16D1 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Introjucer.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; - C68355AA4D62939EECAD469E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; }; - C85B4D62B96F4A44890F20E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; }; - CDDF5BDC75277F7B83A38885 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; }; - D041043D3B554B88F855C174 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; }; - D7A7F1AA9F313B0CCAAA73A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; }; D95D7B49EC6C6BDCB5A1B988 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; D9B077E2ECDDA94961E134D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; }; + DA345D5B9DABD049F90DC96F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_GeneratedCode.h"; path = "../../Source/ComponentEditor/jucer_GeneratedCode.h"; sourceTree = "SOURCE_ROOT"; }; DAF84A553D264705FA6EB6FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_TreeViewHandler.h"; path = "../../Source/ComponentEditor/components/jucer_TreeViewHandler.h"; sourceTree = "SOURCE_ROOT"; }; DB20268A566DABEAE3F2CBEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; }; + DB876F7873F42DC685A58CA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; DBE0CDE1B017190ABBFF557C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectExport_CodeBlocks.h"; path = "../../Source/Project Saving/jucer_ProjectExport_CodeBlocks.h"; sourceTree = "SOURCE_ROOT"; }; DC5E7FF30B01118F6DAEC38F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; }; + DC922C6A65D260C18E888E49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ComponentTemplate.cpp"; path = "../../Source/BinaryData/jucer_ComponentTemplate.cpp"; sourceTree = "SOURCE_ROOT"; }; DCBB17488227A2CA7D3D3947 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_DependencyPathPropertyComponent.cpp"; path = "../../Source/Project/jucer_DependencyPathPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; DCCB75165B7C73A589498E87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; + DD00494140C86144306A9356 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; }; + DD2494D5F1C081898D616AF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; }; DD985A60FB76E976AF91852D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SHA256.h"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.h"; sourceTree = "SOURCE_ROOT"; }; DE40B42B57F29C650CB7F2AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; }; + DE5F3C9EF6BFFDE73AF9E7FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + DE675FC14BF239A4CEA42BB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../JuceLibraryCode/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; DE8DF5D263F40F65581CFDE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; DEF579B1433EB8DEE7AB50F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; }; DF725A596B7BCD7520CC0A9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ResourceEditorPanel.cpp"; path = "../../Source/ComponentEditor/ui/jucer_ResourceEditorPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -865,38 +880,46 @@ DF7BB5B6B394EDEEF5F5B4B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; }; DFC6364D81D9C60BD4CA9D12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; E07C56267CBB46FC44EF2026 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; }; + E0F9CA57E44F7F7E7E217E47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentUndoableAction.h"; path = "../../Source/ComponentEditor/components/jucer_ComponentUndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; E19160CF7208320D128786CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; }; E1C16C872E34BCB144B469F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; }; + E1D8CCD9F4ACBE1EC1D5BEA0 = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "wizard_AudioApp.svg"; path = "../../Source/BinaryData/wizard_AudioApp.svg"; sourceTree = "SOURCE_ROOT"; }; + E2374E15D65425C4101237E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_NewComponentTemplate.h"; path = "../../Source/BinaryData/jucer_NewComponentTemplate.h"; sourceTree = "SOURCE_ROOT"; }; + E266DE67FF319D56F63193A6 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-App.plist"; path = "Info-App.plist"; sourceTree = "SOURCE_ROOT"; }; E27F0860F27023BAA9798B46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; }; E284B565DBD647DC0830D23B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; E2C1C995D554A3F0A363CE58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; }; E2DBA3307837B64AFCCD8F8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; }; E382C78A1D837DD98916E86A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_FloatingToolWindow.h"; path = "../../Source/Utility/jucer_FloatingToolWindow.h"; sourceTree = "SOURCE_ROOT"; }; E3869AC657E984565F1718AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; + E3B56C5718D87CA0EFCB2662 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_AudioComponentTemplate.cpp"; path = "../../Source/BinaryData/jucer_AudioComponentTemplate.cpp"; sourceTree = "SOURCE_ROOT"; }; E3FF16862AA1B2F943DC616C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; }; E446FFE889CD490FDE3F0F2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; - E4E74B2BC3F3CB5A4F4DC55E = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + E4BB22E27C5AA4B666F265BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_TextButtonHandler.h"; path = "../../Source/ComponentEditor/components/jucer_TextButtonHandler.h"; sourceTree = "SOURCE_ROOT"; }; + E4BD4C43370651B49F75855B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_MainTemplate_SimpleWindow.cpp"; path = "../../Source/BinaryData/jucer_MainTemplate_SimpleWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; E4F9D1E097CC2C1D1291823C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; sourceTree = "SOURCE_ROOT"; }; E530742870F07704E9616358 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; }; E54D0994D31E20A0A05EBA2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; }; E570E57CC1FCEF78B54A7084 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + E5D6C36496F5BC84D7213BE8 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; E60E28D1B7491047DEA236AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectContentComponent.h"; path = "../../Source/Project/jucer_ProjectContentComponent.h"; sourceTree = "SOURCE_ROOT"; }; E62D9BA6E92FE7BB6EF65699 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; E63F54CF8D5D922A319C6962 = {isa = PBXFileReference; lastKnownFileType = image.png; name = projectIconXcodeIOS.png; path = ../../Source/BinaryData/projectIconXcodeIOS.png; sourceTree = "SOURCE_ROOT"; }; E642193A9990C48CFB6479A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; E654E3A3CD45A888C5F773DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; }; + E65A820D34BF39478B7C5925 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_DocumentEditorComponent.h"; path = "../../Source/Application/jucer_DocumentEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; E6F5CEC32EDC917B054467EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; }; - E70CA21960A64CCB835725FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ProjectType.cpp"; path = "../../Source/Project/jucer_ProjectType.cpp"; sourceTree = "SOURCE_ROOT"; }; E720FBCD836FF3AA466C31B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; E73C7E17116F6085765622E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; }; E7A4604F766ABC8BE26C94A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; }; E7B6A0CBA0D27A095E83F5B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; E7D09B860F4D4A13D4312C38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; }; - E7E122AE104E79BB641B07B3 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_data_structures/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; E7E1C4F416CFA44BE7DD1A74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; }; E7E1D60BC7AEF79AA7B65B7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; E7F098BA306EC789242AB9A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V1.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp"; sourceTree = "SOURCE_ROOT"; }; + E80E921407164C1E664A88F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_LoginForm.h"; path = "../../Source/Application/jucer_LoginForm.h"; sourceTree = "SOURCE_ROOT"; }; E82C9EF1A74D867BBFF2090D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RSAKey.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp"; sourceTree = "SOURCE_ROOT"; }; + E96597BBC6A98255B51B94DC = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; E99F5A31373E9BDEAC40792F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; E9B8C3CA480AE94BEA852EA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; EA0D43AB5F47506D5CDA81BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -953,10 +976,12 @@ F994D79D564B5F8D06E6766E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; F9D77BAA08889D69E0C43F25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemTrayIconComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; FA04E39EE7E83D445AF9E406 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_FillType.h"; path = "../../Source/ComponentEditor/paintelements/jucer_FillType.h"; sourceTree = "SOURCE_ROOT"; }; + FA70084EC51835082E67D261 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "projucer_CppHelpers.h"; path = "../../Source/LiveBuildEngine/projucer_CppHelpers.h"; sourceTree = "SOURCE_ROOT"; }; FAC03FFD051FA5B34EE9BA15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DeletedAtShutdown.cpp"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp"; sourceTree = "SOURCE_ROOT"; }; FACB4278128DD3C2E2F488DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; }; FB1B309BB58E2C3F8C8E78F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; FB61FEC24C6C031EB0455B0A = {isa = PBXFileReference; lastKnownFileType = file.svg; name = "wizard_ConsoleApp.svg"; path = "../../Source/BinaryData/wizard_ConsoleApp.svg"; sourceTree = "SOURCE_ROOT"; }; + FB81EC093D67E7A4DE50CD69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../JuceLibraryCode/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; FBBDD70D47163D341B2F0A8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentOverlayComponent.h"; path = "../../Source/ComponentEditor/ui/jucer_ComponentOverlayComponent.h"; sourceTree = "SOURCE_ROOT"; }; FBC98F0857AE7FCBD70C7C5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; }; FDD33A6837774904810208D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; }; @@ -967,11 +992,12 @@ FF11D6B512FDC5D887E06F66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PaintElementImage.h"; path = "../../Source/ComponentEditor/paintelements/jucer_PaintElementImage.h"; sourceTree = "SOURCE_ROOT"; }; FF1F954094B14C1900C9495D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; FF94FF5C4BEC605E56149EFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_LabelHandler.h"; path = "../../Source/ComponentEditor/components/jucer_LabelHandler.h"; sourceTree = "SOURCE_ROOT"; }; - ACBAFA7D92DD82AD44ABE68A = {isa = PBXGroup; children = ( + 48618F36B2E3C15A7B0F63AC = {isa = PBXGroup; children = ( 441CFEA771BAA50E187342E9, 223C4209F18A221EB183A056, - 0D4D508C638BC74943B9976D, + 7CA44FF0BA319517C6E39651, EE690110171E1648FF2118B8, + 0D4D508C638BC74943B9976D, 4D698BF12BCD6B0896BCDF17, 23A8DE16C0CDB8EED18B008B, 0400CB0E056A1D840304D2DE, @@ -979,19 +1005,43 @@ 6E6140969908E7619F858740, C7608A3967D9AB9481848F2B, E65A820D34BF39478B7C5925, + 6AEF2E6130619AE550A5FCA7, D526C38D581425949BA0E4AC, 84DE44680C9D37CDDCD127FF, 1C81C5501BE7F2C912250711, F03E2BDD36E6F4F53AB767A8, + E80E921407164C1E664A88F4, 8C52A3DDA62A746AA7A68535, 9069981E414A631B036CC9AC, 2CD34A70B4032C0426F7AA10, 2247EE920DF0610CAF9F4513, - 563091B0916AD9AAA36C7DC5, ); name = Application; sourceTree = ""; }; - FC22321797D433148500EDDA = {isa = PBXGroup; children = ( + 563091B0916AD9AAA36C7DC5, + A73878536863FB25753A98E7, ); name = Application; sourceTree = ""; }; + 82B98DB2654A087911E8157F = {isa = PBXGroup; children = ( + 5C7636E577B8DBB1D3133022, + 43C068B8D98821C09492AB29, + 4A035FB6A8D93BF154C08C3F, + C714153DB8056CAC5BC69FAF, + CEF0436C145DA86ACE2CA5E3, + A1333F975410DD3DBBE2841F, + C00793A0D4A59BDADC62EEF7, + CCEF7B4C6667DDE5D32FD219, + 635290DEB1D564927D7A450C, + AF57278F8F46D86B4EBA449E, + 2C7CDA71ACB5829BC616A353, + FA70084EC51835082E67D261, + 90E05EF7005D9C0712FA7662, + BD2BC2395BF27FD40259F14F, + 0C6B1A14D37958E405448B8D, + CB147AFB52BD5FC0816C0EEE, + C63233C27ED46CECF10EC7C3, + 313BC56B30B05119686B1E99, + B5CB69026BC4E8F439355CDC, ); name = LiveBuildEngine; sourceTree = ""; }; + 142DEF17A4C953926833D7F8 = {isa = PBXGroup; children = ( + 79E58813D1B414AF49DD9598, 2E680E2C65684A4272AE079A, 78CA0E0F336229E2E2F111B0, ); name = "Code Editor"; sourceTree = ""; }; - DA3DF56D3295CCD84DA4E882 = {isa = PBXGroup; children = ( + 6CE6335290CF9C26FBE93D7C = {isa = PBXGroup; children = ( 0FF1C6905150EAAB1AE081A7, 008C8B2C2328CFBB9375397D, B741170E45D74F30B7D5CDDF, @@ -1011,12 +1061,12 @@ 084C0070BC67BC893B967EF1, DAF84A553D264705FA6EB6FF, A0951828C3BF47FA7E1E52F8, ); name = components; sourceTree = ""; }; - 2BA1ACF18E7E078C7171B162 = {isa = PBXGroup; children = ( + 7CF8A12404899178DC6EBF9C = {isa = PBXGroup; children = ( 3E03B7C7A19E63A724EB79F4, 1FA92F8F2B26C6CEC8B1D737, 662C76394C5D1B56766FAFD9, 9C803826E5E3FDB1B37660D5, ); name = documents; sourceTree = ""; }; - B3DB7CF28491BD6FFAAC716A = {isa = PBXGroup; children = ( + 105940C80EB9807392E04AB9 = {isa = PBXGroup; children = ( 93B419190CCE92ACAB1ED25B, B1963F0D8C0046E54FD9E023, 5091B14CC87C6238CF044258, @@ -1036,7 +1086,7 @@ 27A2B025813B7E54E0862642, 7A3E96D22F1C9EB4C739834F, D0D8B580D0689FFF4B9B823B, ); name = paintelements; sourceTree = ""; }; - AECCE15B651C9EBBD07B925F = {isa = PBXGroup; children = ( + BD7D64D86872DEDFCAF1CC39 = {isa = PBXGroup; children = ( B00F60201606F195058BB575, 04C1267B2BD11A6ECCCA654C, 6A337C69A928E3CE79C55457, @@ -1046,7 +1096,7 @@ 8138A55052E9FC27284B74DD, D87FC8F6834E9DC9C8E88B94, 576D62C0C9C1BA4B7A514721, ); name = properties; sourceTree = ""; }; - 4FDE8BC3A59AA207C6CE77F8 = {isa = PBXGroup; children = ( + 976B9E06EE94AA45594FEAF6 = {isa = PBXGroup; children = ( EF30A74B566A461A171BBF83, 263D9041F9B7D6A79DC38CD6, 3514E78B58A08F4C98F54C5A, @@ -1067,12 +1117,12 @@ 3A5B5DC92BE6D22CA15B9671, 921752D9B004A15973DDF56F, 9F41F3338BF00D0FC74C6390, ); name = ui; sourceTree = ""; }; - 825956EA572E23B506C8236F = {isa = PBXGroup; children = ( - DA3DF56D3295CCD84DA4E882, - 2BA1ACF18E7E078C7171B162, - B3DB7CF28491BD6FFAAC716A, - AECCE15B651C9EBBD07B925F, - 4FDE8BC3A59AA207C6CE77F8, + 78FDC751FE3D97F79839DBC6 = {isa = PBXGroup; children = ( + 6CE6335290CF9C26FBE93D7C, + 7CF8A12404899178DC6EBF9C, + 105940C80EB9807392E04AB9, + BD7D64D86872DEDFCAF1CC39, + 976B9E06EE94AA45594FEAF6, 9EF583A6201DBC813C2F63C4, 6AC88EFC247C225CC5C11A43, 133F1E428260C5ADDF496DF9, @@ -1086,21 +1136,7 @@ C187718F7B9EBA88584B43F3, 66B49F08C5EC3E4974825FF8, 5432B7B9B2CF2EAEC8B66D5C, ); name = ComponentEditor; sourceTree = ""; }; - E345840128627D533DF908AC = {isa = PBXGroup; children = ( - 049A726AFEC564314777C076, - 16385D79A30C6E06EFB46B79, - 4DB834787369EBFCFF560F46, - DBE0CDE1B017190ABBFF557C, - 05076CDF1511A5F8A8E18F1D, - C8A229ACD244F402C57286CD, - 974B862C51DA9A16CBBB3A29, - F71AF6D2DF3E652F8B51EBAB, - 35CB48D497F35BF3F6998F5D, - 9C04F9680F82BF279D528688, - D10D51A0A2D63F38B4D86A60, - C9616830BB2474066AC8C910, ); name = "Project Saving"; sourceTree = ""; }; - 891F84627A03FA733F37A199 = {isa = PBXGroup; children = ( - 93D03B2BC76998A3BDA747E8, + 524339C1BD702C610F2A7DAB = {isa = PBXGroup; children = ( 8F8BF1A7130D858E0A239F9E, 7B4E33B1E04139F359FB484B, 9F75811FE7B5F8D1321BEC69, @@ -1117,27 +1153,41 @@ 375AFDF06A908D89DEC5205F, 47B49049B85EED74D29C9906, 4F6365A0D2D51337151D85C3, - E70CA21960A64CCB835725FF, B8385E9A644BD3CD94876448, 9EA541503DBADC5FFDEB0282, ); name = Project; sourceTree = ""; }; - D93DED1F5F1B0E49E10A6760 = {isa = PBXGroup; children = ( + EB15E4BA49763AC74CE29FDE = {isa = PBXGroup; children = ( + 4DB834787369EBFCFF560F46, + 049A726AFEC564314777C076, + 16385D79A30C6E06EFB46B79, + DBE0CDE1B017190ABBFF557C, + 05076CDF1511A5F8A8E18F1D, + C8A229ACD244F402C57286CD, + 974B862C51DA9A16CBBB3A29, + F71AF6D2DF3E652F8B51EBAB, + 35CB48D497F35BF3F6998F5D, + 14A24BB4AB7B81D40EF062E5, + 9C04F9680F82BF279D528688, + D10D51A0A2D63F38B4D86A60, + C9616830BB2474066AC8C910, ); name = "Project Saving"; sourceTree = ""; }; + 6580E53C420AA794542CC8D7 = {isa = PBXGroup; children = ( 9B9CAD20E1243B4351B4C8D8, 914ADDB50ED7365F08BA91F9, DF78EF6242D82F912534A277, 188D03A4247F4BC0539F5C49, + 1300F6577D67C5609550A25F, 1729AEDC34001C31B8CC357C, 553725A0E3A391651ED1731E, 35A36102EAD2D2620EE99E7E, E382C78A1D837DD98916E86A, CF21D9DB3AEC0A4DCAB36A99, 515FF6E74826E3E3F7273621, - 72744569CBFA8AC9880E7AA2, - 6F45E2C7C9665CD6E4B6E2F4, 47DD50A5A9091F9900E0EAD9, 820291543BF93243B718F0EE, 0F249640243FBD5717F6ADD9, 4A41FD3066D0979DB48691E5, 1AF7EFBE4961C7B6C834BF54, + 87414819D9DE343EA28E0AAD, + BCB819DDDD2AC13632CA502F, 1F421199C40092BFEE0658C2, 20FAAE9F3A7B96C2D8C75BB2, C22791DB75870C4F102AA8A3, @@ -1147,7 +1197,7 @@ D3E139185095C486DD3D61F2, 7F29F77B1C00A9704E6D0859, 8090981F07A76E465DAAADF4, ); name = Utility; sourceTree = ""; }; - EA13CB5FD121EE215A7A51BE = {isa = PBXGroup; children = ( + C5A691BE7288ADA68DC8D39A = {isa = PBXGroup; children = ( A69024A225F2AC31F17B1314, 11DC04468BC6023671017EBF, 087CB3A961CD3C7434D660A4, @@ -1165,7 +1215,7 @@ 471C7B0A8B92320AF0C80839, 714267352CE5C4357ADBC231, C09BBB58CA45B66D693E8C31, ); name = Wizards; sourceTree = ""; }; - 955A73C474B8CD4FB0D9A96F = {isa = PBXGroup; children = ( + C76CE0579AC77DF56E755836 = {isa = PBXGroup; children = ( 468BFFBE4DA7835DD40C5FE8, E3B56C5718D87CA0EFCB2662, 0075C5208947159AF2802F3B, @@ -1187,13 +1237,17 @@ 53151B683E11F420203E61C2, F7CAB5BC15EE351949D3F2C3, 73B9F17FE55A02C2BB87E008, ); name = templates; sourceTree = ""; }; - 88DFD62CB6545EE8CA5C485B = {isa = PBXGroup; children = ( - 955A73C474B8CD4FB0D9A96F, - 5F4F4EAB042F2730F94A1CEA, + 63EE1C3AC218E509130AF2BA = {isa = PBXGroup; children = ( + C76CE0579AC77DF56E755836, BB9C1E6E54A16F795908C469, 301592EBAC0FFF6F5B268E99, 41105E536155E394E54BDD35, 5F6584B675E30761521A9F42, + 8022F586EC72D9503F490267, + CBB97680B21DE1EDBA84A3EB, + 89C92F903E2F6CE56F73FA6D, + 558D6BDDD9452E6F359D713A, + 2A71988FE59A4522412BB5F0, B483D960309FAFC193F9CDA2, 1A8E24245E48C7C4DB0164E6, 353E622BE257074B5589199D, @@ -1201,6 +1255,8 @@ F4B6EB1967E9E1D9AAA683B0, 3F4EEDF4AA7C37DC6A1B14B5, E63F54CF8D5D922A319C6962, + 4073A12E196BDDADE211E19F, + A973D33C0CE829AD293E035B, 58139D8D454051C59E77609B, 7B6E461262D8822132135F56, E1D8CCD9F4ACBE1EC1D5BEA0, @@ -1213,66 +1269,16 @@ A4D275622A4B115AABE190A4, 0DB0A9E30EEDDEA720BC5A03, ); name = BinaryData; sourceTree = ""; }; D3109994DA6AD871BE85C4E2 = {isa = PBXGroup; children = ( - ACBAFA7D92DD82AD44ABE68A, - FC22321797D433148500EDDA, - 825956EA572E23B506C8236F, - E345840128627D533DF908AC, - 891F84627A03FA733F37A199, - D93DED1F5F1B0E49E10A6760, - EA13CB5FD121EE215A7A51BE, - 88DFD62CB6545EE8CA5C485B, ); name = "The Introjucer"; sourceTree = ""; }; - ED7BB3F297250D7B43B2A536 = {isa = PBXGroup; children = ( - A598E4796ED23772A5D82FB3, - 220003AF19CAFA778CE9A2A5, - 795AF1D634CA3E6FA899E0B0, - CC63B9EC2E95FD4AF7608D8E, - 3FAFD16944A6674164D23914, - 1BE0A20FB2284A4DDC3A359E, - 51C6A6EB22F80FFF0A2800B3, - D2F80DA0946A5EE01FC016CA, - 52D8EA5A16D441BE77242E9D, - 93BD6F4BB776E432A4006696, - 04F670E070D31FB66C7DCAEB, - 025C33B85E0CCD3E238D4BDC, - C9871C46DEDD05103443DC33, - E7E1D60BC7AEF79AA7B65B7C, - F1BEFCAF20EA392DE762B876, - 261EFE631AA08FB2651B78C7, - A6E4200E8939608555935EF3, - FACB4278128DD3C2E2F488DA, - D9B077E2ECDDA94961E134D7, - 9AEC1D0512CFF7E9173BEE4E, - 31ACA83BF72B34828ADA1F3F, - 93260AA1B96F74E928B7B07C, - 0D1C432D74433308E05942AD, - 79B3DE19D706135161A727B0, ); name = text; sourceTree = ""; }; - F824830BD560E7906A8CD82B = {isa = PBXGroup; children = ( - 61A072FFE3185BDDC42DA144, - 50DBEAC56E34B9909BA9C7AD, - 225414095942818432AAE07D, - BF171B0762D5550B797869F2, - D7A7F1AA9F313B0CCAAA73A0, - 265CA78BFB9DEF68B34C57D4, - 988186E582883A70582A40E1, - C68355AA4D62939EECAD469E, - B368804F75C1079C9DE731E3, - C1FE4E528BC8E1003DC17AD0, ); name = maths; sourceTree = ""; }; - 01C121A5814A16A7CB907FB9 = {isa = PBXGroup; children = ( - 168F5F32F673036DDAEF1D8D, - 1B1A4A48AF3898485E7B1618, - 48A2FBB4CB48AC4FCA796F2F, - 53CC682B805DD49B6E434A95, - A8F9DE55079FC7F6440CF678, - 2BC28F37C470E4770E479BCD, - 2416644BBABFD1F95EE12792, - 7E45364D59D84EF762F1A928, - 6AA46ED6C6DDD5A7BC72F686, - 9F7896DA332F9718CAB6B162, - 1A1B5A2E9F1DA2122D21F9DF, - 21B527BEBFFFC536BA0DEE6B, - 990F2A6080B28137CCE2D7B9, - 6E815592344CAA798C9848BF, ); name = memory; sourceTree = ""; }; - 101599FA5E724FC0C78144B3 = {isa = PBXGroup; children = ( + 48618F36B2E3C15A7B0F63AC, + 82B98DB2654A087911E8157F, + 142DEF17A4C953926833D7F8, + 78FDC751FE3D97F79839DBC6, + 524339C1BD702C610F2A7DAB, + EB15E4BA49763AC74CE29FDE, + 6580E53C420AA794542CC8D7, + C5A691BE7288ADA68DC8D39A, + 63EE1C3AC218E509130AF2BA, ); name = Projucer; sourceTree = ""; }; + 6F3DB9D084021812FF7EB876 = {isa = PBXGroup; children = ( C90C66C5727759D5CBD5FB07, 66A67F1C25A59167AA729C9C, DD00494140C86144306A9356, @@ -1294,37 +1300,7 @@ A63DA2EB2FA9E6F88F63A09A, BDE24BA8FEAE654645079B84, 7ECD37A096E0B99622585950, ); name = containers; sourceTree = ""; }; - 815C2090B70E6EECD913C0CA = {isa = PBXGroup; children = ( - DE8DF5D263F40F65581CFDE4, - 25D76CD621FC2A211CF7BB52, - F2759373EAAC820F17409939, - 3B061AB9BFD8883A6AE8BCE5, - E720FBCD836FF3AA466C31B6, - D041043D3B554B88F855C174, - 24CB53290AE7A023C1BDD0DC, - 0F2505BCD0232EB95D5199F2, - E6F5CEC32EDC917B054467EF, - 619D4AFD1F66A75AE05DDAE1, - 193908A02BA553DB5B30D759, - 46C2D683A917A9D3729EEAC4, - A17913CCDA69951BC373F637, - 75EB08697D38632CCBE734D8, - 541BCBB19A86B7E793D397CC, - E2C1C995D554A3F0A363CE58, - D678882D133090214AF681BC, - 6736FDF36413E6445C526C86, - 78B148C840109794FED89FAB, - 32D9A904B4186B64A61FA8CC, - 4E5FFE3BE8774948082411F0, - B1B44E3A7614189E65CB9FBE, ); name = threads; sourceTree = ""; }; - D385600698057B290BC2AEF7 = {isa = PBXGroup; children = ( - 129CDB26CC63D4BC2EB1F2CC, - 4904357A3FFA61972A9E9D6F, - DFC6364D81D9C60BD4CA9D12, - F6938A1377A2609D6AEDC120, - DC5E7FF30B01118F6DAEC38F, - 3AB1D4CECEADD4836ACEEAEE, ); name = time; sourceTree = ""; }; - 0B795464B0BFEE19C4F89F0F = {isa = PBXGroup; children = ( + 11EA6CE05726799FFBF4C64C = {isa = PBXGroup; children = ( C5D5D2FFB030BD43160167EB, B35200B1BC9B12580BAD4D3D, E2DBA3307837B64AFCCD8F8D, @@ -1342,66 +1318,43 @@ 3A2888667372BA896AACFBDB, 66069653FDEA4CB7C2B4B02F, 408C544F9201DFF06544F878, ); name = files; sourceTree = ""; }; - 20F9DB293E2CC9F98F43758C = {isa = PBXGroup; children = ( - 71A61C2973404BD68E8E7902, - 97C394E9AAB90435B7E5CA95, - 9F26333042DFB93B7DFEC870, - 0473C3BCB7A43F710B8EE36C, - 14337E3F4B92468517BA24AF, - 2BB98D1E325EF7BD90C6BBB4, - 6CD1E57C60BC2917A46BF4AD, - C2ECD077AC4C784A67BC3DDE, - FF04AE9E4F2AAA29AC549461, - EBF7B2DEDAEEB28C1873F580, ); name = network; sourceTree = ""; }; - 06D5C2B5F1F4E37AF1C7A425 = {isa = PBXGroup; children = ( - 3276A099EB6880D55D2D52C0, - B89AC6F01153CC6E222EE72E, - 00376BD04FB81AF9455D45EB, - 2A4B079CDB9C40EB912B6EEB, - C510495DF7602C36F216A50C, - F40F5C63CA1098C21B96C80F, - 5283D6B68A74B09EB6D68711, - 1614411A8699B82D1F7B0346, - 051D4EAC1602802E97B24A12, - 5DBA8C92675235B098946B18, - B9F806910507E82E7BFB15E0, - 939B1B2421964EEF71768BC7, - 2CB90BE5027B202896EBCE9D, - 589A6DAE96E2A7924646873F, - 8575C117887D90BDF84397C3, ); name = streams; sourceTree = ""; }; - CBF105D9162BB597EBC1B981 = {isa = PBXGroup; children = ( - F406A0F41B2C7A512FDBC9E0, - 02DDC84BAB18E091E2CE8CB3, - F1164F66F799CEA74174328A, - EE8504403714A7CE606B5F34, ); name = logging; sourceTree = ""; }; - ABD92B739720D08778AF88F8 = {isa = PBXGroup; children = ( - 73CEF8ADF016E554F96FD3B0, - 3C48242E40D358BC6FF7FE53, - A071CAC9920625A3707CF949, - CB48495010366C2E371BEFDB, - 865A30767AAA44DAE7683C8B, - EC0AF83CFFFCCDE438BCAF25, ); name = system; sourceTree = ""; }; - F6C04F077B187FD605483DEB = {isa = PBXGroup; children = ( - FB1B309BB58E2C3F8C8E78F6, - 99A9C369D8595E72707E866C, - A004A03A932CDECDED29F19C, - 1039ABBDCC86BDC9D2663017, ); name = xml; sourceTree = ""; }; - E659B9C71FCEAA788CFEF8F0 = {isa = PBXGroup; children = ( + 8F7A5CF85FC282B015BF4823 = {isa = PBXGroup; children = ( EBAFF46BB735F0E6F444369C, E19160CF7208320D128786CF, EE8577F6F43A0E948401A675, E62D9BA6E92FE7BB6EF65699, ); name = javascript; sourceTree = ""; }; - 59884479C6FFC940D3992EE6 = {isa = PBXGroup; children = ( - B92070A7D5952D560DAD32C4, - 68E1CA6424A84D91BEA46175, - B6C40E843F7E8E7C4768B99E, - 001730671DD492F405B37778, - F7EAAE1A1BD13685BFF6176E, - 1772B02BAF54F29AD99DF42E, ); name = zip; sourceTree = ""; }; - 248A3D6E995D23F2AFDBF78B = {isa = PBXGroup; children = ( - CE1DFE4E3908943656E180AD, - EC4F3034A642D9E037570D4F, ); name = "unit_tests"; sourceTree = ""; }; - A09D1A158BCD0A396549C1F3 = {isa = PBXGroup; children = ( + 32856389FA1DD35362C415E0 = {isa = PBXGroup; children = ( + F406A0F41B2C7A512FDBC9E0, + 02DDC84BAB18E091E2CE8CB3, + F1164F66F799CEA74174328A, + EE8504403714A7CE606B5F34, ); name = logging; sourceTree = ""; }; + 7C9525AC42878F1D864E1DB2 = {isa = PBXGroup; children = ( + 61A072FFE3185BDDC42DA144, + 50DBEAC56E34B9909BA9C7AD, + 225414095942818432AAE07D, + BF171B0762D5550B797869F2, + D7A7F1AA9F313B0CCAAA73A0, + 265CA78BFB9DEF68B34C57D4, + 988186E582883A70582A40E1, + C68355AA4D62939EECAD469E, + B368804F75C1079C9DE731E3, + C1FE4E528BC8E1003DC17AD0, ); name = maths; sourceTree = ""; }; + 83B08778B0FED168353799D2 = {isa = PBXGroup; children = ( + 168F5F32F673036DDAEF1D8D, + 1B1A4A48AF3898485E7B1618, + 48A2FBB4CB48AC4FCA796F2F, + 53CC682B805DD49B6E434A95, + A8F9DE55079FC7F6440CF678, + 2BC28F37C470E4770E479BCD, + 2416644BBABFD1F95EE12792, + 7E45364D59D84EF762F1A928, + 6AA46ED6C6DDD5A7BC72F686, + 9F7896DA332F9718CAB6B162, + 1A1B5A2E9F1DA2122D21F9DF, + 21B527BEBFFFC536BA0DEE6B, + 990F2A6080B28137CCE2D7B9, + 6E815592344CAA798C9848BF, ); name = memory; sourceTree = ""; }; + CE58846EA817E0DB1151A392 = {isa = PBXGroup; children = ( 3A55FEFC24C387D3B29444D5, 4D7F53313945ED27A7D16B80, 943FFC4D765C40DEAF9023D4, @@ -1409,7 +1362,7 @@ 3AB744A14A560E541723DC9A, 6BAA8DF455FA84AE62E9DADC, AF9D42A4C5359EE904DCAF8E, ); name = misc; sourceTree = ""; }; - 43F993699B5DE3F1B3D3C905 = {isa = PBXGroup; children = ( + BDB203474CE88B8216F5EA15 = {isa = PBXGroup; children = ( 986707BA1F2C9F7343BD152F, 81A3ACDD205C8F9E424B51F6, C4718AEAC94D07FEB9DA0312, @@ -1439,25 +1392,128 @@ 2107C02B684C7F5B75662333, 2E1F83CE00F5855083AFA246, 514848DA3E69A69AB0099570, ); name = native; sourceTree = ""; }; + 70A9B0A38EF41E7FF4D4E7C1 = {isa = PBXGroup; children = ( + 71A61C2973404BD68E8E7902, + 97C394E9AAB90435B7E5CA95, + 9F26333042DFB93B7DFEC870, + 0473C3BCB7A43F710B8EE36C, + 14337E3F4B92468517BA24AF, + 2BB98D1E325EF7BD90C6BBB4, + 6CD1E57C60BC2917A46BF4AD, + C2ECD077AC4C784A67BC3DDE, + FF04AE9E4F2AAA29AC549461, + EBF7B2DEDAEEB28C1873F580, ); name = network; sourceTree = ""; }; + B817E1C4CDA4877278BF7692 = {isa = PBXGroup; children = ( + 3276A099EB6880D55D2D52C0, + B89AC6F01153CC6E222EE72E, + 00376BD04FB81AF9455D45EB, + 2A4B079CDB9C40EB912B6EEB, + C510495DF7602C36F216A50C, + F40F5C63CA1098C21B96C80F, + 5283D6B68A74B09EB6D68711, + 1614411A8699B82D1F7B0346, + 051D4EAC1602802E97B24A12, + 5DBA8C92675235B098946B18, + B9F806910507E82E7BFB15E0, + 939B1B2421964EEF71768BC7, + 2CB90BE5027B202896EBCE9D, + 589A6DAE96E2A7924646873F, + 8575C117887D90BDF84397C3, ); name = streams; sourceTree = ""; }; + ABD92B739720D08778AF88F8 = {isa = PBXGroup; children = ( + 73CEF8ADF016E554F96FD3B0, + 3C48242E40D358BC6FF7FE53, + A071CAC9920625A3707CF949, + CB48495010366C2E371BEFDB, + 865A30767AAA44DAE7683C8B, + EC0AF83CFFFCCDE438BCAF25, ); name = system; sourceTree = ""; }; + 2F7539AFEF865AAD0807D41A = {isa = PBXGroup; children = ( + A598E4796ED23772A5D82FB3, + 220003AF19CAFA778CE9A2A5, + 795AF1D634CA3E6FA899E0B0, + CC63B9EC2E95FD4AF7608D8E, + 3FAFD16944A6674164D23914, + 1BE0A20FB2284A4DDC3A359E, + 51C6A6EB22F80FFF0A2800B3, + D2F80DA0946A5EE01FC016CA, + 52D8EA5A16D441BE77242E9D, + 93BD6F4BB776E432A4006696, + 04F670E070D31FB66C7DCAEB, + 025C33B85E0CCD3E238D4BDC, + C9871C46DEDD05103443DC33, + E7E1D60BC7AEF79AA7B65B7C, + F1BEFCAF20EA392DE762B876, + 261EFE631AA08FB2651B78C7, + A6E4200E8939608555935EF3, + FACB4278128DD3C2E2F488DA, + D9B077E2ECDDA94961E134D7, + 9AEC1D0512CFF7E9173BEE4E, + 31ACA83BF72B34828ADA1F3F, + 93260AA1B96F74E928B7B07C, + 0D1C432D74433308E05942AD, + 79B3DE19D706135161A727B0, ); name = text; sourceTree = ""; }; + 5E067976BA025CAD12715A18 = {isa = PBXGroup; children = ( + DE8DF5D263F40F65581CFDE4, + 25D76CD621FC2A211CF7BB52, + F2759373EAAC820F17409939, + 3B061AB9BFD8883A6AE8BCE5, + E720FBCD836FF3AA466C31B6, + D041043D3B554B88F855C174, + 24CB53290AE7A023C1BDD0DC, + 0F2505BCD0232EB95D5199F2, + E6F5CEC32EDC917B054467EF, + 619D4AFD1F66A75AE05DDAE1, + 193908A02BA553DB5B30D759, + 46C2D683A917A9D3729EEAC4, + A17913CCDA69951BC373F637, + 75EB08697D38632CCBE734D8, + 541BCBB19A86B7E793D397CC, + E2C1C995D554A3F0A363CE58, + D678882D133090214AF681BC, + 6736FDF36413E6445C526C86, + 78B148C840109794FED89FAB, + 32D9A904B4186B64A61FA8CC, + 4E5FFE3BE8774948082411F0, + B1B44E3A7614189E65CB9FBE, ); name = threads; sourceTree = ""; }; + 9E9E1D79F77EBB4C7360FFCF = {isa = PBXGroup; children = ( + 129CDB26CC63D4BC2EB1F2CC, + 4904357A3FFA61972A9E9D6F, + DFC6364D81D9C60BD4CA9D12, + F6938A1377A2609D6AEDC120, + DC5E7FF30B01118F6DAEC38F, + 3AB1D4CECEADD4836ACEEAEE, ); name = time; sourceTree = ""; }; + 248A3D6E995D23F2AFDBF78B = {isa = PBXGroup; children = ( + CE1DFE4E3908943656E180AD, + EC4F3034A642D9E037570D4F, ); name = "unit_tests"; sourceTree = ""; }; + F6393A399A2034B27F776135 = {isa = PBXGroup; children = ( + FB1B309BB58E2C3F8C8E78F6, + 99A9C369D8595E72707E866C, + A004A03A932CDECDED29F19C, + 1039ABBDCC86BDC9D2663017, ); name = xml; sourceTree = ""; }; + F4426AC31708E9631531CC1B = {isa = PBXGroup; children = ( + B92070A7D5952D560DAD32C4, + 68E1CA6424A84D91BEA46175, + B6C40E843F7E8E7C4768B99E, + 001730671DD492F405B37778, + F7EAAE1A1BD13685BFF6176E, + 1772B02BAF54F29AD99DF42E, ); name = zip; sourceTree = ""; }; 8BA5B0B5CBCE8D29F02D341A = {isa = PBXGroup; children = ( - ED7BB3F297250D7B43B2A536, - F824830BD560E7906A8CD82B, - 01C121A5814A16A7CB907FB9, - 101599FA5E724FC0C78144B3, - 815C2090B70E6EECD913C0CA, - D385600698057B290BC2AEF7, - 0B795464B0BFEE19C4F89F0F, - 20F9DB293E2CC9F98F43758C, - 06D5C2B5F1F4E37AF1C7A425, - CBF105D9162BB597EBC1B981, + 6F3DB9D084021812FF7EB876, + 11EA6CE05726799FFBF4C64C, + 8F7A5CF85FC282B015BF4823, + 32856389FA1DD35362C415E0, + 7C9525AC42878F1D864E1DB2, + 83B08778B0FED168353799D2, + CE58846EA817E0DB1151A392, + BDB203474CE88B8216F5EA15, + 70A9B0A38EF41E7FF4D4E7C1, + B817E1C4CDA4877278BF7692, ABD92B739720D08778AF88F8, - F6C04F077B187FD605483DEB, - E659B9C71FCEAA788CFEF8F0, - 59884479C6FFC940D3992EE6, + 2F7539AFEF865AAD0807D41A, + 5E067976BA025CAD12715A18, + 9E9E1D79F77EBB4C7360FFCF, 248A3D6E995D23F2AFDBF78B, - A09D1A158BCD0A396549C1F3, - 43F993699B5DE3F1B3D3C905, - 2B074BFC193A25602E73D0CC, + F6393A399A2034B27F776135, + F4426AC31708E9631531CC1B, 6670AE915E331809563CA152, ); name = "juce_core"; sourceTree = ""; }; E45B4DA7B49FC8D397F1EA56 = {isa = PBXGroup; children = ( 5708CF7899EA21D0B72CDC2A, @@ -1476,31 +1532,45 @@ E58F94F6CDB786C1ED488C9C = {isa = PBXGroup; children = ( E45B4DA7B49FC8D397F1EA56, 1EB4CE7119697D9CCE604271, - 2210EB5F41023B53ADD0DFBD, 8803733D62CD6DE90727BCA0, ); name = "juce_cryptography"; sourceTree = ""; }; - 2A8293EA2395BFFCA229F799 = {isa = PBXGroup; children = ( + CB6BD117D401D351CD6D96C3 = {isa = PBXGroup; children = ( + 4AF755C65E352951D80FB93B, + AD3C946C260F68C4AD2B491F, + E7D09B860F4D4A13D4312C38, + 9E36C30D10A1EF9305E8D663, ); name = "app_properties"; sourceTree = ""; }; + 8E7A1020B8096653D203C38A = {isa = PBXGroup; children = ( + 98DC0221D9015F760E4613FE, + F7E829D0B21B9C1B4790A245, + 1B03B2952A4DDA6E6A1C35F9, ); name = undomanager; sourceTree = ""; }; + 6F6B6EC125462224B6393FC1 = {isa = PBXGroup; children = ( 7C02936574E000C436E3AD8E, 72FED7B10FBF5AD1F504FDFF, 5D5E0592B7C61D523CC40C50, A485A4F0363775AE730EA0E9, 013B24D69F07C2A525E82B58, 90B324F7579B218ADE1C825B, ); name = values; sourceTree = ""; }; - 8E7A1020B8096653D203C38A = {isa = PBXGroup; children = ( - 98DC0221D9015F760E4613FE, - F7E829D0B21B9C1B4790A245, - 1B03B2952A4DDA6E6A1C35F9, ); name = undomanager; sourceTree = ""; }; - BD9E9E80DDC81539B00DCAB6 = {isa = PBXGroup; children = ( - 4AF755C65E352951D80FB93B, - AD3C946C260F68C4AD2B491F, - E7D09B860F4D4A13D4312C38, - 9E36C30D10A1EF9305E8D663, ); name = "app_properties"; sourceTree = ""; }; 6A6672A570C2C2418F926C82 = {isa = PBXGroup; children = ( - 2A8293EA2395BFFCA229F799, + CB6BD117D401D351CD6D96C3, 8E7A1020B8096653D203C38A, - BD9E9E80DDC81539B00DCAB6, - E7E122AE104E79BB641B07B3, + 6F6B6EC125462224B6393FC1, 352DA3794CAAE2400AE8F2E0, ); name = "juce_data_structures"; sourceTree = ""; }; - 2287744248275B6237708450 = {isa = PBXGroup; children = ( + 03AC6E1674731C5F4A47A5D0 = {isa = PBXGroup; children = ( + BF92CA3FD8F9A61AE358D151, + 9C9402994B7971876006AEBB, + 1A79A64F47F7B5083EEBB328, + 7FDC4820A86DBA34E62B241E, + 5F04029BEEB2A503B29B13FB, + C6E46DBD249D9426C95E2235, + C22E03FEBEB6921978C5612A, + AACB287C990F7A7C51DE3C5B, ); name = broadcasters; sourceTree = ""; }; + 71669671316919F0A68DC5B1 = {isa = PBXGroup; children = ( + 820DD9C4FF0EDE10F79977FB, + E3869AC657E984565F1718AA, + 7C48EA717C5B1136A39FF4FB, + F8AC12B589FCB90E66D84729, + ACD82099C2B72FF43539FB4E, + 50672C2FACA36416A9A86310, ); name = interprocess; sourceTree = ""; }; + B2E49AF40AEB24B46CD116CA = {isa = PBXGroup; children = ( 139C8BAED6DCEE26652651B8, 38CE1587800D612BA0C394A5, DF7BB5B6B394EDEEF5F5B4B8, @@ -1514,28 +1584,7 @@ 1116222363E600327FC672A0, 8DEFBFC3BEDCCF29BA577EE9, 863A117E6B25D1FF3AEE8F0F, ); name = messages; sourceTree = ""; }; - 83DEE68BC6A9B685C3E75FEA = {isa = PBXGroup; children = ( - C9DCA94BF8A4C583E5392755, - 1BF5C3F5DC2285FBEF72B697, - 4F5843D423E67797070115B3, - 9A6FD2E154DA99F96FEA1405, ); name = timers; sourceTree = ""; }; - DCBE58B4AFE058653EBBBAAE = {isa = PBXGroup; children = ( - BF92CA3FD8F9A61AE358D151, - 9C9402994B7971876006AEBB, - 1A79A64F47F7B5083EEBB328, - 7FDC4820A86DBA34E62B241E, - 5F04029BEEB2A503B29B13FB, - C6E46DBD249D9426C95E2235, - C22E03FEBEB6921978C5612A, - AACB287C990F7A7C51DE3C5B, ); name = broadcasters; sourceTree = ""; }; - 084F5B9CA3F5822A7D9156AF = {isa = PBXGroup; children = ( - 820DD9C4FF0EDE10F79977FB, - E3869AC657E984565F1718AA, - 7C48EA717C5B1136A39FF4FB, - F8AC12B589FCB90E66D84729, - ACD82099C2B72FF43539FB4E, - 50672C2FACA36416A9A86310, ); name = interprocess; sourceTree = ""; }; - 334607E7051C2D75E0AC85F6 = {isa = PBXGroup; children = ( + 1DBDAEB96E94BE722CA64FC0 = {isa = PBXGroup; children = ( 54569C1C994F3A0255785EAA, D95D7B49EC6C6BDCB5A1B988, D0F1614CC861E8E0B59B7A06, @@ -1544,13 +1593,17 @@ A5864A527A761F92C237EB7C, 157290445D39269EA81887A3, 236FFB34CCADD5FC95DFF04D, ); name = native; sourceTree = ""; }; + 0DE45B915F1FBE67B539237F = {isa = PBXGroup; children = ( + C9DCA94BF8A4C583E5392755, + 1BF5C3F5DC2285FBEF72B697, + 4F5843D423E67797070115B3, + 9A6FD2E154DA99F96FEA1405, ); name = timers; sourceTree = ""; }; DE7F542DC0967F8EDCC4DCD0 = {isa = PBXGroup; children = ( - 2287744248275B6237708450, - 83DEE68BC6A9B685C3E75FEA, - DCBE58B4AFE058653EBBBAAE, - 084F5B9CA3F5822A7D9156AF, - 334607E7051C2D75E0AC85F6, - 63092DCDC875D681A5677105, + 03AC6E1674731C5F4A47A5D0, + 71669671316919F0A68DC5B1, + B2E49AF40AEB24B46CD116CA, + 1DBDAEB96E94BE722CA64FC0, + 0DE45B915F1FBE67B539237F, 8D12E5100E73E3B7DAA10261, ); name = "juce_events"; sourceTree = ""; }; C3FB0CB81D460B4263689CAF = {isa = PBXGroup; children = ( AFAF4EF669407663DCB0F452, @@ -1570,19 +1623,25 @@ 6EE1847181635ED3C0838A4B, 6165970F48D70C4EF06D35C4, 620C2E1340FB7A40C1A2316B, ); name = contexts; sourceTree = ""; }; - DECB572AE46DB4A77186D494 = {isa = PBXGroup; children = ( - E07C56267CBB46FC44EF2026, - A726B794D536985E1F35525F, - E3FF16862AA1B2F943DC616C, - 31A8DF142F8B653E285C7E01, - 210A4FDD4A56CF817E5E8567, - 68C633ECE610641BB1D21C95, - A60E4D1A58B70887556782F4, - 796AEF1400580E81AAF23CE7, ); name = images; sourceTree = ""; }; - F3174EF36ADC4DC23BB304F2 = {isa = PBXGroup; children = ( - 221C1BAC4138F261F97121AD, - DB876F7873F42DC685A58CA7, - FE90AF2B2BC1106C0D4056BD, ); name = "image_formats"; sourceTree = ""; }; + E3EAF3C1DB843C98A77A69AD = {isa = PBXGroup; children = ( + D2F1CF252F7EC62B35A21CB6, + 9DE1BC5241C70AF12B327932, + C7E19F79947BEFC7DB7A9CE7, + 6B693819BC8F0548179A74AA, + 11C55B714FE5D7CAFC35A0C7, ); name = effects; sourceTree = ""; }; + FDDF6067ACA897DF696D784B = {isa = PBXGroup; children = ( + BA1E340A922D0D7E543563CF, + 7B824A2F1BBE334B140BD8AF, + 3F1501FE4867042830B25DD5, + CD3216F23C7B273B010A8D12, + 14B7611971E56AC319072A5A, + 0E80EFDB550393DB1C94F291, + 50EF77E1AB95027E82157377, + 6944804CF7BBD230EDF98E3F, + 1268E54178897254E9A8B94C, + 1C666CA3AF0AB4CDCA1D983F, + 02C516CEFEE3FE48B492FDC9, + 9BB612A0BA1E2174488B5D0C, ); name = fonts; sourceTree = ""; }; EEE23FCA48A7F9A0152A68EE = {isa = PBXGroup; children = ( 953ECF85818382C60F49544B, 56B52F0F6AEDCEC78C38B5F1, @@ -1599,30 +1658,20 @@ B79595279502C1A11A4E8C36, E27F0860F27023BAA9798B46, F08EB921DB62255A4B6DE85A, ); name = geometry; sourceTree = ""; }; - 14995D34FE0826A52FA5262D = {isa = PBXGroup; children = ( - 1F7F2864FE54D79A0C42BE93, - DB20268A566DABEAE3F2CBEE, - 93D165846B65A638F1C25C4C, ); name = placement; sourceTree = ""; }; - 59C2687AA614A77DA150AFAB = {isa = PBXGroup; children = ( - BA1E340A922D0D7E543563CF, - 7B824A2F1BBE334B140BD8AF, - 3F1501FE4867042830B25DD5, - CD3216F23C7B273B010A8D12, - 14B7611971E56AC319072A5A, - 0E80EFDB550393DB1C94F291, - 50EF77E1AB95027E82157377, - 6944804CF7BBD230EDF98E3F, - 1268E54178897254E9A8B94C, - 1C666CA3AF0AB4CDCA1D983F, - 02C516CEFEE3FE48B492FDC9, - 9BB612A0BA1E2174488B5D0C, ); name = fonts; sourceTree = ""; }; - 8EB51FAF42AAEC7AC357396B = {isa = PBXGroup; children = ( - D2F1CF252F7EC62B35A21CB6, - 9DE1BC5241C70AF12B327932, - C7E19F79947BEFC7DB7A9CE7, - 6B693819BC8F0548179A74AA, - 11C55B714FE5D7CAFC35A0C7, ); name = effects; sourceTree = ""; }; - 6CA37BA48005B8EF0478B69E = {isa = PBXGroup; children = ( + AABCC64594DCB006B26589D8 = {isa = PBXGroup; children = ( + 221C1BAC4138F261F97121AD, + DB876F7873F42DC685A58CA7, + FE90AF2B2BC1106C0D4056BD, ); name = "image_formats"; sourceTree = ""; }; + FD3F1912E7755415A5BCDF35 = {isa = PBXGroup; children = ( + E07C56267CBB46FC44EF2026, + A726B794D536985E1F35525F, + E3FF16862AA1B2F943DC616C, + 31A8DF142F8B653E285C7E01, + 210A4FDD4A56CF817E5E8567, + 68C633ECE610641BB1D21C95, + A60E4D1A58B70887556782F4, + 796AEF1400580E81AAF23CE7, ); name = images; sourceTree = ""; }; + A6DB11B93D845213CCF97133 = {isa = PBXGroup; children = ( 70CF9F1991538524A7C4CE39, 784287AD783AB8DDF512956F, EC192FAABC6A0689436E28EF, @@ -1636,19 +1685,54 @@ D5057D7B18ABD5E810A6F830, 2ED5D4ABB34DAA5D6E93A171, 5843A5060852C6ACC4770EC7, ); name = native; sourceTree = ""; }; + 93DC2E7FDF5BE082AC5029D0 = {isa = PBXGroup; children = ( + 1F7F2864FE54D79A0C42BE93, + DB20268A566DABEAE3F2CBEE, + 93D165846B65A638F1C25C4C, ); name = placement; sourceTree = ""; }; E9819C83D0B797FC71811B1B = {isa = PBXGroup; children = ( C3FB0CB81D460B4263689CAF, F417C2CB1A694D2C1A892F63, - DECB572AE46DB4A77186D494, - F3174EF36ADC4DC23BB304F2, + E3EAF3C1DB843C98A77A69AD, + FDDF6067ACA897DF696D784B, EEE23FCA48A7F9A0152A68EE, - 14995D34FE0826A52FA5262D, - 59C2687AA614A77DA150AFAB, - 8EB51FAF42AAEC7AC357396B, - 6CA37BA48005B8EF0478B69E, - 30AD756E053A0663BF664823, + AABCC64594DCB006B26589D8, + FD3F1912E7755415A5BCDF35, + A6DB11B93D845213CCF97133, + 93DC2E7FDF5BE082AC5029D0, 8DDA82E1200B61D3B6C526E8, ); name = "juce_graphics"; sourceTree = ""; }; - 2CEAE8B236FEF5E06317EF3B = {isa = PBXGroup; children = ( + 09FEED5D789051BFDAD211E1 = {isa = PBXGroup; children = ( + 6A04C2E34DB0C6515FFF160B, + 2252F2B96709F3C7CE07B5E7, ); name = application; sourceTree = ""; }; + 03B44F97164B227ABC077D25 = {isa = PBXGroup; children = ( + F6B1C18DDF8DFF1B3767F018, + 0CC9026D5056CA9C1FE64A64, + 6DFDC749FF36D8C27C997B3E, + 5745ECDAA4216EE2AF97E5AF, + 202591AAB1ABCFE458F33F7C, + 215EAB10AE8D19F23AD2BDBC, + 138550CC958D2F029C01B4E7, + 736E99601AB6C492D82DBF3A, + 9F5483F3EEF0A1E0C71B95A5, + CDF8F65F9079B2C14A740F0F, + 9BD2CA4A6C8DA8FF236F3AF1, + 06411E446478986E7E65FE6B, + A207C9202FF3FDE0C6B273D2, + 6D596D17B6A79C2E6C4CFBD1, + A28743047698F6C02194A218, + 3F222D26A164E7AD78A33B3D, + 263F153E8A277E02A3754BBF, + 206D399250A42034706E5434, ); name = buttons; sourceTree = ""; }; + 6AC240E460C463D3A72438E0 = {isa = PBXGroup; children = ( + D4F2D42C58F4D86E00E76F31, + B5C4B75E1E71D9445A1AAEE0, + D75EAC16FAECCC51E3669193, + 54747E887C1021F05F172B89, + 7E0C5AFB74461AC174941BDD, + 1B2B08359011B2BD7B07A677, + BA5C7DE347A73A87F687703C, + 9101B27E4D98157EABCE9B8B, + AEE6CA38BE01F8C61920C203, ); name = commands; sourceTree = ""; }; + A423F9146636FA3A9067D08F = {isa = PBXGroup; children = ( 3CABAAC1C4BC0D8105183D56, 4C150A1BF98D747EC218A602, FDD33A6837774904810208D5, @@ -1658,28 +1742,46 @@ D141433D3FE81F20490DE928, 96972221C7D4CB0FCD5C3E2B, 4E259F36C28F1ACDAB4CC73F, ); name = components; sourceTree = ""; }; - CD1AFCF4DFA46BA5BACBB1CB = {isa = PBXGroup; children = ( - 9D69073057BE050870B38749, - 336D0A9B4D15CF866BCE3DFF, - 58943E79C32289AB7273F59D, - 3D2B51C71E3676F283B778EA, - 47F4C6341177140302CE802A, - 1C76BBCD73ED21571035675F, - 3804BE13635F779ACB8C5491, - B8BEDDA33D5B1613213434F4, - CF0615A1AF1A514A60322B50, - 7EF2BB6A11579386E7181553, - 7DCAE585F301C5591F96AF99, - 4662B49B0FBEAD3239602EC0, - B65666B7927C1B36DF8DBAB3, - 117B5BB797DEC16E103A08F0, - AFDCCE90EAB0DDCE50A5B89A, - 199722DD9BA0E30C0506941E, - 2FBA1138907F4DE651870008, - B20A5F49C7E6342B71770D18, - 35BF11530EF0D771FD94ABDC, - BDEBB0AC32DDA8C16FFE6011, ); name = mouse; sourceTree = ""; }; - A186EF5D092D513F30A4FE23 = {isa = PBXGroup; children = ( + 82010DA28187616427A1A721 = {isa = PBXGroup; children = ( + DEF579B1433EB8DEE7AB50F8, + E73C7E17116F6085765622E3, + AA2D4949BD61CE8B891731E4, + F5C02C740A62090A9E9BD25B, + C1FDD2DDB01AC8C4DECB2C10, + FBC98F0857AE7FCBD70C7C5C, + 003CA65912AC8048759478F9, + A132B5A63CFEF32407ACA5D7, + 05C936573E73B8AACBDF3191, + 40A83A20ED109AAAE6D63AF4, + 99557681178F79E2A803C65C, + B01CBF496E7C88105DF4B52A, + 51A0763AC785F93591517559, + BCAD13352CE76BA81629A6E7, + 16017456A45F74C692A3AE45, ); name = drawables; sourceTree = ""; }; + 9654942B3DC3A46F0A1D3531 = {isa = PBXGroup; children = ( + DE5F3C9EF6BFFDE73AF9E7FC, + 808503667FBB423F81780796, + BE97579323E97AF084D41476, + C48DCD3879352EB40F468B0F, + C5FCECA838D4D12D03929139, + 304EEA3B0DF16CE313D8A0BA, + 07EF1095F6D45A29AF2A6B6F, + 4543EACC9AEA1894A380624F, + 0411DD6D48DBCEBAA51BEE49, + A6D36E0244150AFBF63C1162, + 9718703E5D696761B85D25B8, + 6658BF44509F89120F6C6F8C, + E642193A9990C48CFB6479A9, + 21D1D6A04B25346CD5524B89, + 0819B9CBFBA5F410C41C978A, + 7CFA76389645D629E6C61B39, + 1F28C0018228A0F749E5658E, + 21F4416597D1AB02D38BA62E, + 6E8B46E33BF7A0DD930A5100, + C2D43E4F571D16F0E9B1E44E, + 578AA1C9D44D2E3AEA5D0278, + 050D2D209E6423528D0138F7, ); name = filebrowser; sourceTree = ""; }; + 90FFD151DF15E5083FC6B5DF = {isa = PBXGroup; children = ( 148FC834CE2CAE18477AB708, D780ED33573AED5AD383A036, 88EA32274CBB5C3A4ECB9ECA, @@ -1693,62 +1795,7 @@ 2FADEBA1901F74204DE253BC, 1ACDDD42A7050309C8765F75, 143BB0407046E63639E1D79D, ); name = keyboard; sourceTree = ""; }; - 617C7A87C00C7357D6B4CA43 = {isa = PBXGroup; children = ( - 82E0CDC77F8802A998A475D7, - FF10E9B389909FB45E229D5B, - D503780AB98993E8F0BA1311, - 64CF8D7D0C97323C1B4F16F2, - CDCAF0EC777DA2884AEB2B59, - 79339A92305BFB7034095C67, - 4BC9122A6E6496EAF716560E, - D6C91E2BF537F75A80F5C1DB, - 8A0E175187B06CE9C368A73B, - C83992DA0BE30EA3CD06EA98, - BDBE6F06F82DF5C3BFF53B2B, - 51D4296A417B284BB2666FE8, - 9B3F6F800DC0AD8C92D70E9A, - F6FF660331F6CBF9FFC85E88, - A1DD0D7A34E118E3117ACAB4, - 227646334D4CBE863870234C, - D4E56676E2EF83404EDCBA8C, - 7723BAE1917C8A0418F2D23B, - 76439EAACE53C774CE07BD9E, - A8394930355B8BE2F67347F7, - 7FC13BEF6B2A5E5E5E92D3FC, - E530742870F07704E9616358, - 04960EE443D073F4CB7121FB, - 444CA4B9CAD1F5ED5C45448B, - 9A7E8AF6EFD287AF13B46104, - A1D3838043B605010FB84975, - AE1786BA679872921797AE25, ); name = widgets; sourceTree = ""; }; - FDA3E07A3631D25DFEA73850 = {isa = PBXGroup; children = ( - 4AE0078871D92B6085C28313, - 8A9386451AEA0640E55E8869, - 9EE339FCA2CFDAE060CB8FE6, - BDCE974230A7401C0E9D28BB, - 0CEF14D37EC664CA49A2B04D, - 14EB1DA96BC8E4901FC953F6, - 45B8EAC396722D21E6658AE8, - C717D2384896547D1CD993F6, - 63B72B34BC9AC448422EF1A0, - 96C105A8CFFC54B429A5B822, - 4977BC2F82532C86B116A07F, - CD140A1C0161176682F6CA29, - 882E28FED1A99E73B0035FC8, - E446FFE889CD490FDE3F0F2B, - 59184A106CE3FAE8BFCD82FF, - 0906A934A2797145A64FF423, - C38DFB0C94BBC1CE46A3D4E4, - 412B48D0F05D78A73064B36B, - 8E00CF4CE2305C5CE5B60E37, ); name = windows; sourceTree = ""; }; - 1183520311BFD05477F94ECA = {isa = PBXGroup; children = ( - 5644F0AFA78E8AC7501978DE, - 628869AB2D553E2A6C68C748, - 7507846FD162469386479CDB, - E654E3A3CD45A888C5F773DF, - D376B9B54EC944E766AFEC45, - F92A6000284C0FDA0A4845CA, ); name = menus; sourceTree = ""; }; - 3644BF38DFC789105B7D80FB = {isa = PBXGroup; children = ( + D1C62C4BB0ECDBAB9C68A4EF = {isa = PBXGroup; children = ( 64CCE4A87FEE5C2B8E83BD29, 467A5E1882A75E01876A8C4A, 4924392751ACE0C9F2076599, @@ -1785,72 +1832,7 @@ 14DCD95D4AFE5101B036A6EC, 125CD8A5E5B57840F5154ACD, 189357BBA18F12A3242706A0, ); name = layout; sourceTree = ""; }; - 58CA858FC033FD1F47ADA039 = {isa = PBXGroup; children = ( - F6B1C18DDF8DFF1B3767F018, - 0CC9026D5056CA9C1FE64A64, - 6DFDC749FF36D8C27C997B3E, - 5745ECDAA4216EE2AF97E5AF, - 202591AAB1ABCFE458F33F7C, - 215EAB10AE8D19F23AD2BDBC, - 138550CC958D2F029C01B4E7, - 736E99601AB6C492D82DBF3A, - 9F5483F3EEF0A1E0C71B95A5, - CDF8F65F9079B2C14A740F0F, - 9BD2CA4A6C8DA8FF236F3AF1, - 06411E446478986E7E65FE6B, - A207C9202FF3FDE0C6B273D2, - 6D596D17B6A79C2E6C4CFBD1, - A28743047698F6C02194A218, - 3F222D26A164E7AD78A33B3D, - 263F153E8A277E02A3754BBF, - 206D399250A42034706E5434, ); name = buttons; sourceTree = ""; }; - A3BF94AE00810C812E121816 = {isa = PBXGroup; children = ( - 0019A20E8A7B6B383B6ADE26, - B40E8B05F3556B148477324B, - F2C7DE572E29A3D62EFB40F8, - 859DCE43FF52E0BF3E9E9540, - 35AF9D5F0603CF6CE2D355A1, - 8B698D4DCFED3BCB6F30D69F, - E7A4604F766ABC8BE26C94A1, - 80131CEDAA488DC654996A55, - 867C3547D1301204924989F9, - 6920079B91BB1A48F82C7B0A, - 7FF7EFDC3CF13673541E332D, - 49A941554FB8B2B20F219182, - 5E674E757BBB4EA2F62B12E9, - B54DB627A7AEB6AD820A0A90, ); name = positioning; sourceTree = ""; }; - 69E5820210E99179A52F1A77 = {isa = PBXGroup; children = ( - DEF579B1433EB8DEE7AB50F8, - E73C7E17116F6085765622E3, - AA2D4949BD61CE8B891731E4, - F5C02C740A62090A9E9BD25B, - C1FDD2DDB01AC8C4DECB2C10, - FBC98F0857AE7FCBD70C7C5C, - 003CA65912AC8048759478F9, - A132B5A63CFEF32407ACA5D7, - 05C936573E73B8AACBDF3191, - 40A83A20ED109AAAE6D63AF4, - 99557681178F79E2A803C65C, - B01CBF496E7C88105DF4B52A, - 51A0763AC785F93591517559, - BCAD13352CE76BA81629A6E7, - 16017456A45F74C692A3AE45, ); name = drawables; sourceTree = ""; }; - B2243BBE276C148522C5987E = {isa = PBXGroup; children = ( - 52508197A5E3C0040A5651CF, - 6B8E7B90EE615FA508709ADF, - E284B565DBD647DC0830D23B, - D782DA091AD3ECE158FC6A5F, - D4697A0232AECE5DAC5E332E, - 20FC504E8FB8D30E890A9837, - BD7C18F07DE633B97B4478E7, - 6D3FB966CF0EBF70802B3575, - 5382FC7D5D61AE2AD603240B, - A513D5453FF52483D13BA026, - 2DF5213993DF1380E29C848A, - B8B309972EBB7F07305ACCCA, - EDAC762083E327A80CE9D260, - F994D79D564B5F8D06E6766E, ); name = properties; sourceTree = ""; }; - C2A68B1BEC638D0513BF25C1 = {isa = PBXGroup; children = ( + 4DD5DD690690DBA21C23B522 = {isa = PBXGroup; children = ( 9BDE235186FA9648EEECB373, AE84254C46407F84EB70A370, E7F098BA306EC789242AB9A8, @@ -1859,48 +1841,40 @@ 203CF0F8F72A516BB1CC5422, A2FBC2BA5FFB83CFCD61F399, 845CE323405ACC3A7E84EEAE, ); name = lookandfeel; sourceTree = ""; }; - 00C2E5EAA46FC2E94B735C42 = {isa = PBXGroup; children = ( - DE5F3C9EF6BFFDE73AF9E7FC, - 808503667FBB423F81780796, - BE97579323E97AF084D41476, - C48DCD3879352EB40F468B0F, - C5FCECA838D4D12D03929139, - 304EEA3B0DF16CE313D8A0BA, - 07EF1095F6D45A29AF2A6B6F, - 4543EACC9AEA1894A380624F, - 0411DD6D48DBCEBAA51BEE49, - A6D36E0244150AFBF63C1162, - 9718703E5D696761B85D25B8, - 6658BF44509F89120F6C6F8C, - E642193A9990C48CFB6479A9, - 21D1D6A04B25346CD5524B89, - 0819B9CBFBA5F410C41C978A, - 7CFA76389645D629E6C61B39, - 1F28C0018228A0F749E5658E, - 21F4416597D1AB02D38BA62E, - 6E8B46E33BF7A0DD930A5100, - C2D43E4F571D16F0E9B1E44E, - 578AA1C9D44D2E3AEA5D0278, - 050D2D209E6423528D0138F7, ); name = filebrowser; sourceTree = ""; }; - 952AFE51A503A04FFF4B0EF7 = {isa = PBXGroup; children = ( - D4F2D42C58F4D86E00E76F31, - B5C4B75E1E71D9445A1AAEE0, - D75EAC16FAECCC51E3669193, - 54747E887C1021F05F172B89, - 7E0C5AFB74461AC174941BDD, - 1B2B08359011B2BD7B07A677, - BA5C7DE347A73A87F687703C, - 9101B27E4D98157EABCE9B8B, - AEE6CA38BE01F8C61920C203, ); name = commands; sourceTree = ""; }; - 76F28FCB72DD5943D08F3342 = {isa = PBXGroup; children = ( + 9F1B391B5C02E9DDC7EAF404 = {isa = PBXGroup; children = ( + 5644F0AFA78E8AC7501978DE, + 628869AB2D553E2A6C68C748, + 7507846FD162469386479CDB, + E654E3A3CD45A888C5F773DF, + D376B9B54EC944E766AFEC45, + F92A6000284C0FDA0A4845CA, ); name = menus; sourceTree = ""; }; + C52A25964F972B7F1FC027BA = {isa = PBXGroup; children = ( 5B462BC3C5F8B6D72688ABF3, 999BC36BBD71BD4117EFDFC4, 14F096198DE1002BF2CC56EF, 422524EBD7DA6530970A7872, ); name = misc; sourceTree = ""; }; - DD0FDFC530E403BD51C86315 = {isa = PBXGroup; children = ( - 6A04C2E34DB0C6515FFF160B, - 2252F2B96709F3C7CE07B5E7, ); name = application; sourceTree = ""; }; - 8EAF68A83656BC02B4B7C9C9 = {isa = PBXGroup; children = ( + C25A90F4BF5CAED46854797C = {isa = PBXGroup; children = ( + 9D69073057BE050870B38749, + 336D0A9B4D15CF866BCE3DFF, + 58943E79C32289AB7273F59D, + 3D2B51C71E3676F283B778EA, + 47F4C6341177140302CE802A, + 1C76BBCD73ED21571035675F, + 3804BE13635F779ACB8C5491, + B8BEDDA33D5B1613213434F4, + CF0615A1AF1A514A60322B50, + 7EF2BB6A11579386E7181553, + 7DCAE585F301C5591F96AF99, + 4662B49B0FBEAD3239602EC0, + B65666B7927C1B36DF8DBAB3, + 117B5BB797DEC16E103A08F0, + AFDCCE90EAB0DDCE50A5B89A, + 199722DD9BA0E30C0506941E, + 2FBA1138907F4DE651870008, + B20A5F49C7E6342B71770D18, + 35BF11530EF0D771FD94ABDC, + BDEBB0AC32DDA8C16FFE6011, ); name = mouse; sourceTree = ""; }; + 7D633C3F4CD7DF38CD24F159 = {isa = PBXGroup; children = ( E99F5A31373E9BDEAC40792F, A9F6985D38A1C25F0C75215B, B1C57BEEEFD26639F1ADFC1C, @@ -1917,25 +1891,102 @@ 1241F3A1FCDF100CD75D5E78, 84444B1D8FCE50BA88CDE7BF, 0D100A1B27A72355323CB637, ); name = native; sourceTree = ""; }; + E411524696CC33B96CE3B7E5 = {isa = PBXGroup; children = ( + 0019A20E8A7B6B383B6ADE26, + B40E8B05F3556B148477324B, + F2C7DE572E29A3D62EFB40F8, + 859DCE43FF52E0BF3E9E9540, + 35AF9D5F0603CF6CE2D355A1, + 8B698D4DCFED3BCB6F30D69F, + E7A4604F766ABC8BE26C94A1, + 80131CEDAA488DC654996A55, + 867C3547D1301204924989F9, + 6920079B91BB1A48F82C7B0A, + 7FF7EFDC3CF13673541E332D, + 49A941554FB8B2B20F219182, + 5E674E757BBB4EA2F62B12E9, + B54DB627A7AEB6AD820A0A90, ); name = positioning; sourceTree = ""; }; + 713DF714B2BE419808B003A5 = {isa = PBXGroup; children = ( + 52508197A5E3C0040A5651CF, + 6B8E7B90EE615FA508709ADF, + E284B565DBD647DC0830D23B, + D782DA091AD3ECE158FC6A5F, + D4697A0232AECE5DAC5E332E, + 20FC504E8FB8D30E890A9837, + BD7C18F07DE633B97B4478E7, + 6D3FB966CF0EBF70802B3575, + 5382FC7D5D61AE2AD603240B, + A513D5453FF52483D13BA026, + 2DF5213993DF1380E29C848A, + B8B309972EBB7F07305ACCCA, + EDAC762083E327A80CE9D260, + F994D79D564B5F8D06E6766E, ); name = properties; sourceTree = ""; }; + 4BA045BE605D3758276E819D = {isa = PBXGroup; children = ( + 82E0CDC77F8802A998A475D7, + FF10E9B389909FB45E229D5B, + D503780AB98993E8F0BA1311, + 64CF8D7D0C97323C1B4F16F2, + CDCAF0EC777DA2884AEB2B59, + 79339A92305BFB7034095C67, + 4BC9122A6E6496EAF716560E, + D6C91E2BF537F75A80F5C1DB, + 8A0E175187B06CE9C368A73B, + C83992DA0BE30EA3CD06EA98, + BDBE6F06F82DF5C3BFF53B2B, + 51D4296A417B284BB2666FE8, + 9B3F6F800DC0AD8C92D70E9A, + F6FF660331F6CBF9FFC85E88, + A1DD0D7A34E118E3117ACAB4, + 227646334D4CBE863870234C, + D4E56676E2EF83404EDCBA8C, + 7723BAE1917C8A0418F2D23B, + 76439EAACE53C774CE07BD9E, + A8394930355B8BE2F67347F7, + 7FC13BEF6B2A5E5E5E92D3FC, + E530742870F07704E9616358, + 04960EE443D073F4CB7121FB, + 444CA4B9CAD1F5ED5C45448B, + 9A7E8AF6EFD287AF13B46104, + A1D3838043B605010FB84975, + AE1786BA679872921797AE25, ); name = widgets; sourceTree = ""; }; + F8586181355E822605749425 = {isa = PBXGroup; children = ( + 4AE0078871D92B6085C28313, + 8A9386451AEA0640E55E8869, + 9EE339FCA2CFDAE060CB8FE6, + BDCE974230A7401C0E9D28BB, + 0CEF14D37EC664CA49A2B04D, + 14EB1DA96BC8E4901FC953F6, + 45B8EAC396722D21E6658AE8, + C717D2384896547D1CD993F6, + 63B72B34BC9AC448422EF1A0, + 96C105A8CFFC54B429A5B822, + 4977BC2F82532C86B116A07F, + CD140A1C0161176682F6CA29, + 882E28FED1A99E73B0035FC8, + E446FFE889CD490FDE3F0F2B, + 59184A106CE3FAE8BFCD82FF, + 0906A934A2797145A64FF423, + C38DFB0C94BBC1CE46A3D4E4, + 412B48D0F05D78A73064B36B, + 8E00CF4CE2305C5CE5B60E37, ); name = windows; sourceTree = ""; }; 2A27F41171A44038C2A1CB56 = {isa = PBXGroup; children = ( - 2CEAE8B236FEF5E06317EF3B, - CD1AFCF4DFA46BA5BACBB1CB, - A186EF5D092D513F30A4FE23, - 617C7A87C00C7357D6B4CA43, - FDA3E07A3631D25DFEA73850, - 1183520311BFD05477F94ECA, - 3644BF38DFC789105B7D80FB, - 58CA858FC033FD1F47ADA039, - A3BF94AE00810C812E121816, - 69E5820210E99179A52F1A77, - B2243BBE276C148522C5987E, - C2A68B1BEC638D0513BF25C1, - 00C2E5EAA46FC2E94B735C42, - 952AFE51A503A04FFF4B0EF7, - 76F28FCB72DD5943D08F3342, - DD0FDFC530E403BD51C86315, - 8EAF68A83656BC02B4B7C9C9, - E4E74B2BC3F3CB5A4F4DC55E, + 09FEED5D789051BFDAD211E1, + 03B44F97164B227ABC077D25, + 6AC240E460C463D3A72438E0, + A423F9146636FA3A9067D08F, + 82010DA28187616427A1A721, + 9654942B3DC3A46F0A1D3531, + 90FFD151DF15E5083FC6B5DF, + D1C62C4BB0ECDBAB9C68A4EF, + 4DD5DD690690DBA21C23B522, + 9F1B391B5C02E9DDC7EAF404, + C52A25964F972B7F1FC027BA, + C25A90F4BF5CAED46854797C, + 7D633C3F4CD7DF38CD24F159, + E411524696CC33B96CE3B7E5, + 713DF714B2BE419808B003A5, + 4BA045BE605D3758276E819D, + F8586181355E822605749425, 2B8548461E318DCB3354DB43, ); name = "juce_gui_basics"; sourceTree = ""; }; 9DEFBE65118D0527555955A2 = {isa = PBXGroup; children = ( BC17B02633EF1E31024051C2, @@ -1997,7 +2048,6 @@ A1B124604F7F471E01D8AA6E, 4B54A6F89F9AC7EF540646B4, B09CB33C943D2DE7005C9E75, - 57FD2D74F5DCFF42099CA738, 17C645785FB20AA2E91ED84B, ); name = "juce_gui_extra"; sourceTree = ""; }; 8A24D1B6925535A868974986 = {isa = PBXGroup; children = ( 8BA5B0B5CBCE8D29F02D341A, @@ -2011,16 +2061,16 @@ 8702F43110E4CCA5E5F827F5, 472F9A90F685220D730EBF6C, 4F687965FBE86EAFDB3ACFEC, - 38F29C2049566C47993A6D92, - D53B54D1786A1FFC024BF064, - D9E59DE07A815AB303A297D9, - 56E24241C02F953589493551, - A2A081D9DA35B3D1F183C3FE, - 70DC1D288DC6503E628A5A03, - 9539EC08D70D4719A89A4A30, + 25AE732333DA2FD74CC41087, + FB81EC093D67E7A4DE50CD69, + 5926C29A69BD8A8063D316C8, + 5965D919F31AD2CEF9219A9E, + DE675FC14BF239A4CEA42BB3, + 01E989844AA3018F427E0E44, + 7A7158A25E07A54D6AA6EBAB, 364D1A9B113320407A7E57B9, ); name = "Juce Library Code"; sourceTree = ""; }; 8180B5894A78501084B8F133 = {isa = PBXGroup; children = ( - 4CA1C3E6585D7694AA9C309F, + E266DE67FF319D56F63193A6, 6678E9B3EEACAD47F438B264, 951128CA33CCDEF570436B1C, ); name = Resources; sourceTree = ""; }; 0FFEF043CA89142B18C79ABE = {isa = PBXGroup; children = ( @@ -2030,7 +2080,7 @@ E5D6C36496F5BC84D7213BE8, CF6C8BD0DA3D8CD4E99EBADA, ); name = Frameworks; sourceTree = ""; }; 92ABB8016546F41128399E9D = {isa = PBXGroup; children = ( - 25F52316D256B4534BED16D1, ); name = Products; sourceTree = ""; }; + 09DE066936CF037E9709ADB1, ); name = Products; sourceTree = ""; }; 3CC531922CC2D398E283A845 = {isa = PBXGroup; children = ( D3109994DA6AD871BE85C4E2, 8A24D1B6925535A868974986, @@ -2038,8 +2088,9 @@ 8180B5894A78501084B8F133, 0FFEF043CA89142B18C79ABE, 92ABB8016546F41128399E9D, ); name = Source; sourceTree = ""; }; - EA0BCC969703B2D179089E55 = {isa = XCBuildConfiguration; buildSettings = { + 0CC6C439D038EDA0D7F10DF0 = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_CXX_LIBRARY = "libc++"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; @@ -2050,19 +2101,19 @@ "_DEBUG=1", "DEBUG=1", "JUCER_XCODE_MAC_F6D2F4CF=1", - "JUCE_APP_VERSION=4.1.0", - "JUCE_APP_VERSION_HEX=0x40100", ); + "JUCE_APP_VERSION=4.2.0", + "JUCE_APP_VERSION_HEX=0x40200", ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.plist; INSTALL_PATH = "$(HOME)/Applications"; - 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; + PRODUCT_BUNDLE_IDENTIFIER = com.juce.theprojucer; SDKROOT_ppc = macosx10.5; }; name = Debug; }; - B159CF4275B8A90122629FF4 = {isa = XCBuildConfiguration; buildSettings = { + 0BC15DC2E5FE5ECFFB398D49 = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_CXX_LIBRARY = "libc++"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; @@ -2073,17 +2124,17 @@ "_NDEBUG=1", "NDEBUG=1", "JUCER_XCODE_MAC_F6D2F4CF=1", - "JUCE_APP_VERSION=4.1.0", - "JUCE_APP_VERSION_HEX=0x40100", ); + "JUCE_APP_VERSION=4.2.0", + "JUCE_APP_VERSION_HEX=0x40200", ); GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; + INFOPLIST_FILE = Info-App.plist; INSTALL_PATH = "$(HOME)/Applications"; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 10.7; 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; + PRODUCT_BUNDLE_IDENTIFIER = com.juce.theprojucer; SDKROOT_ppc = macosx10.5; }; name = Release; }; C42924A24AB55E6A940423EA = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -2099,7 +2150,7 @@ GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; GCC_WARN_UNUSED_VARIABLE = YES; ONLY_ACTIVE_ARCH = YES; - PRODUCT_NAME = "Introjucer"; + PRODUCT_NAME = "Projucer"; WARNING_CFLAGS = -Wreorder; ZERO_LINK = NO; }; name = Debug; }; 70135D15D7E0D8410C42BBA3 = {isa = XCBuildConfiguration; buildSettings = { @@ -2114,19 +2165,20 @@ GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; GCC_WARN_UNUSED_VARIABLE = YES; - PRODUCT_NAME = "Introjucer"; + PRODUCT_NAME = "Projucer"; WARNING_CFLAGS = -Wreorder; ZERO_LINK = NO; }; name = Release; }; + 50E3FDD15B8D8C9793DFABF9 = {isa = PBXTargetDependency; target = 0039FE1A254FE518518BF8B8; }; F90407F24422C589DA251604 = {isa = XCConfigurationList; buildConfigurations = ( C42924A24AB55E6A940423EA, 70135D15D7E0D8410C42BBA3, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 9D7584E9B3803102EC798231 = {isa = XCConfigurationList; buildConfigurations = ( - EA0BCC969703B2D179089E55, - B159CF4275B8A90122629FF4, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - C009859650B4628FDD068941 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 0655A4A348F7F91F77583ADC = {isa = XCConfigurationList; buildConfigurations = ( + 0CC6C439D038EDA0D7F10DF0, + 0BC15DC2E5FE5ECFFB398D49, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + C262D0F297DDE25326F5AC81 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( 2610F357881240ACBF612F48, 1321E6C1C6170B6C898AD09D, ); runOnlyForDeploymentPostprocessing = 0; }; - 84449D044096A03F2582904B = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 5CB869A8DA78BE6FA2757034 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 357A6AA6960EF95D92929BEE, 6DD9DA1677A6CF789CDAB478, 954A036F5DDB375DB23FFB3E, @@ -2135,6 +2187,8 @@ 95B44E6C74B1DED31DBE37EB, AA9D0B8E23F3D87A23DE9F8A, 244BA1BDA5FAA465EA3F9C6D, + 85B5E65F8DD80938BFBDCE61, + D805169E01D7F90B01C11769, FCE6F604C00039A32649CB69, 9BF773500BA51A8B5C6C7348, 57B1F32A372143B4D3B1C517, @@ -2156,42 +2210,41 @@ 209FCCC2155A1FCB7E11E20D, C93569F47B4AC1A8E37992ED, 1B988E139004D8E2850EB656, - 1F37544891EC8DBB5E500C1C, - 110221CD5578153B528AD2BE, 3D777382FE212D59BAF871FD, 3FCA61C401007B243E2E9035, 30B921C38DCEE787B294B746, - 676D2E1E750E61AA2FAA335E, - 8012E6487639A7368E4C4470, + 1F37544891EC8DBB5E500C1C, + 0C5F43C262695A3EB7A9E1C0, + 110221CD5578153B528AD2BE, CD4F7B119CE718BCE78D61F4, 78CB463DD98A55313A543859, 1499DF2E85B05AC1BF423773, - 92A214B8ED913EB1925B5C41, 123810DAF8AF758928916ECE, C9F11BA62D6D092A300363F7, + 9EAF9BE59FFE0BD49410B10E, 4A1DB797F1356E85110FF871, F6635694A01FFBF5EF0968DB, 518DD443B6F17A5AFD707263, B7EBA1A83575F48CD08140B9, 3C5267E06A897B0DC0F7EA50, - 7E72CB84146E1B4B168356CA, - 24AE6B973834AF7E0DE1F228, - AF55472121E1C56E5EB9CB4B, - 284EBBCCB7C9FCB23BE43971, - EF27EC7543BED0B8DD66A098, - 756B48DA5FA991E74035E812, - 81E6980930B09FF108123186, ); runOnlyForDeploymentPostprocessing = 0; }; - B8D802107FEE6AD60F5309A3 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 9ED1BEFFBBF553678675DEF7, + 4EA7BA3999C577D98568D5B3, + 58836EE272BEE27887D2F665, + 386C3F32B995940D9AF82114, + BDA1FA163E7AEAE532661BFB, + F44E979EBF431CC0122CE29A, + C0534804C9B068A2BA6491F6, ); runOnlyForDeploymentPostprocessing = 0; }; + D150288A32EE596408C2B99F = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( 1E76E36772355E2A43CF4961, 241F29FCBB7A17BB44A0B10C, 49C22786B54C5DC94E4654B8, 11D42F7EC6E6539D79A7F4B1, B980464FA2761CCD64B1FAD6, ); runOnlyForDeploymentPostprocessing = 0; }; - FE688C03195D5E72123A75BF = {isa = PBXNativeTarget; buildConfigurationList = 9D7584E9B3803102EC798231; buildPhases = ( - C009859650B4628FDD068941, - 84449D044096A03F2582904B, - B8D802107FEE6AD60F5309A3, ); buildRules = ( ); dependencies = ( ); name = "The Introjucer"; productName = "The Introjucer"; productReference = 25F52316D256B4534BED16D1; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; - 74EA481348A24104E6ACE009 = {isa = PBXProject; buildConfigurationList = F90407F24422C589DA251604; attributes = { LastUpgradeCheck = 0440; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 3CC531922CC2D398E283A845; projectDirPath = ""; projectRoot = ""; targets = ( FE688C03195D5E72123A75BF ); }; + 0039FE1A254FE518518BF8B8 = {isa = PBXNativeTarget; buildConfigurationList = 0655A4A348F7F91F77583ADC; buildPhases = ( + C262D0F297DDE25326F5AC81, + 5CB869A8DA78BE6FA2757034, + D150288A32EE596408C2B99F, ); buildRules = ( ); dependencies = ( ); name = "Projucer (App)"; productName = Projucer; productReference = 09DE066936CF037E9709ADB1; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; + 74EA481348A24104E6ACE009 = {isa = PBXProject; buildConfigurationList = F90407F24422C589DA251604; attributes = { LastUpgradeCheck = 0440; TargetAttributes = { 0039FE1A254FE518518BF8B8 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 3CC531922CC2D398E283A845; projectDirPath = ""; projectRoot = ""; targets = (0039FE1A254FE518518BF8B8); }; }; rootObject = 74EA481348A24104E6ACE009; } diff --git a/extras/Introjucer/Builds/MacOSX/RecentFilesMenuTemplate.nib b/extras/Projucer/Builds/MacOSX/RecentFilesMenuTemplate.nib similarity index 100% rename from extras/Introjucer/Builds/MacOSX/RecentFilesMenuTemplate.nib rename to extras/Projucer/Builds/MacOSX/RecentFilesMenuTemplate.nib diff --git a/extras/Projucer/Builds/VisualStudio2013/Projucer.sln b/extras/Projucer/Builds/VisualStudio2013/Projucer.sln new file mode 100644 index 0000000000..f4a3755c7d --- /dev/null +++ b/extras/Projucer/Builds/VisualStudio2013/Projucer.sln @@ -0,0 +1,19 @@ +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2013 +Project("{9EC86232-31E3-55F2-1B6F-6E1C1F954A40}") = "Projucer", "Projucer.vcxproj", "{26ABE2A4-1F2F-8375-088D-D692A4408B5A}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {26ABE2A4-1F2F-8375-088D-D692A4408B5A}.Debug|x64.ActiveCfg = Debug|x64 + {26ABE2A4-1F2F-8375-088D-D692A4408B5A}.Debug|x64.Build.0 = Debug|x64 + {26ABE2A4-1F2F-8375-088D-D692A4408B5A}.Release|x64.ActiveCfg = Release|x64 + {26ABE2A4-1F2F-8375-088D-D692A4408B5A}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/extras/Introjucer/Builds/VisualStudio2013/The Introjucer.vcxproj b/extras/Projucer/Builds/VisualStudio2013/Projucer.vcxproj similarity index 93% rename from extras/Introjucer/Builds/VisualStudio2013/The Introjucer.vcxproj rename to extras/Projucer/Builds/VisualStudio2013/Projucer.vcxproj index 7d814b35fb..2f204c3716 100644 --- a/extras/Introjucer/Builds/VisualStudio2013/The Introjucer.vcxproj +++ b/extras/Projucer/Builds/VisualStudio2013/Projucer.vcxproj @@ -2,30 +2,32 @@ - + Debug - Win32 + x64 - + Release - Win32 + x64 {26ABE2A4-1F2F-8375-088D-D692A4408B5A} - v120 + v120_xp - + Application false - v120 + v120_xp + v120_xp - + Application false true - v120 + v120_xp + v120_xp @@ -34,17 +36,17 @@ Label="LocalAppDataPlatform"/> - v120 + v120_xp <_ProjectFileVersion>10.0.30319.1 - The Introjucer - true - The Introjucer - true - v120 + Projucer + true + Projucer + true + v120_xp - + _DEBUG;%(PreprocessorDefinitions) true @@ -54,10 +56,10 @@ Disabled - EditAndContinue + ProgramDatabase ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2013_78A5020=1;JUCE_APP_VERSION=4.1.0;JUCE_APP_VERSION_HEX=0x40100;%(PreprocessorDefinitions) - MultiThreadedDebug + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2013_78A5020=1;JUCE_APP_VERSION=4.2.0;JUCE_APP_VERSION_HEX=0x40200;%(PreprocessorDefinitions) + MultiThreadedDebugDLL true $(IntDir)\ @@ -71,22 +73,20 @@ _DEBUG;%(PreprocessorDefinitions) - $(OutDir)\The Introjucer.exe + $(OutDir)\Projucer.exe true libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries) true - $(IntDir)\The Introjucer.pdb + $(IntDir)\Projucer.pdb Windows - MachineX86 - false true true - $(IntDir)\The Introjucer.bsc + $(IntDir)\Projucer.bsc - + NDEBUG;%(PreprocessorDefinitions) true @@ -95,9 +95,9 @@ - MinSpace + Full ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2013_78A5020=1;JUCE_APP_VERSION=4.1.0;JUCE_APP_VERSION_HEX=0x40100;%(PreprocessorDefinitions) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2013_78A5020=1;JUCE_APP_VERSION=4.2.0;JUCE_APP_VERSION_HEX=0x40200;%(PreprocessorDefinitions) MultiThreaded true @@ -112,24 +112,26 @@ NDEBUG;%(PreprocessorDefinitions) - $(OutDir)\The Introjucer.exe + $(OutDir)\Projucer.exe true %(IgnoreSpecificDefaultLibraries) false - $(IntDir)\The Introjucer.pdb + $(IntDir)\Projucer.pdb Windows - MachineX86 true true true true - $(IntDir)\The Introjucer.bsc + $(IntDir)\Projucer.bsc + + true + @@ -137,6 +139,8 @@ + + @@ -158,19 +162,21 @@ - - - - + + true + + + + - + @@ -214,45 +220,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -268,33 +235,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -319,40 +259,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -361,31 +271,16 @@ true - + true - + true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -451,6 +346,117 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -469,6 +475,15 @@ true + + true + + + true + + + true + true @@ -478,33 +493,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -523,6 +511,18 @@ true + + true + + + true + + + true + + + true + true @@ -532,6 +532,12 @@ true + + true + + + true + true @@ -553,43 +559,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -610,10 +583,40 @@ true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -640,6 +643,51 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -652,6 +700,153 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -673,19 +868,70 @@ true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -754,246 +1000,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -1061,13 +1067,13 @@ true - - - - - - - + + + + + + + @@ -1077,11 +1083,32 @@ + + + + + + + + + + + + + + + + + + + + + @@ -1147,17 +1174,6 @@ - - - - - - - - - - - @@ -1172,17 +1188,28 @@ + + + + + + + + + + + - + @@ -1213,21 +1240,35 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1248,22 +1289,49 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1283,53 +1351,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - @@ -1338,14 +1365,22 @@ + + + + - - - - + + + + + + + + @@ -1355,19 +1390,11 @@ - - - - - - - - - - + + @@ -1378,10 +1405,15 @@ - - - - + + + + + + + + + @@ -1392,26 +1424,91 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1425,14 +1522,21 @@ - - - - - - - - + + + + + + + + + + + + + + + @@ -1457,83 +1561,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1564,11 +1591,15 @@ - + + + + + @@ -1576,6 +1607,8 @@ + + @@ -1587,13 +1620,6 @@ - - - - - - - diff --git a/extras/Introjucer/Builds/VisualStudio2013/The Introjucer.vcxproj.filters b/extras/Projucer/Builds/VisualStudio2013/Projucer.vcxproj.filters similarity index 87% rename from extras/Introjucer/Builds/VisualStudio2013/The Introjucer.vcxproj.filters rename to extras/Projucer/Builds/VisualStudio2013/Projucer.vcxproj.filters index 0f6bf928d7..46341b703c 100644 --- a/extras/Introjucer/Builds/VisualStudio2013/The Introjucer.vcxproj.filters +++ b/extras/Projucer/Builds/VisualStudio2013/Projucer.vcxproj.filters @@ -2,50 +2,53 @@ - - {08497553-90EF-7F50-1FCE-C399F0F4F301} + + {7DBEF27C-2AFE-DA02-1DBF-E80FAAC99EA7} - - {BCABA310-8FA8-9483-44C8-901CB254B038} + + {4F8BCD36-CE20-D951-FB82-2CCEDD0C5898} - - {D05B051C-4835-D6A6-3AF4-B61963EFC368} + + {0A3B9446-F50B-3D4E-230F-7ED493541A07} - - {95DE2FA4-3654-5411-BB7B-2BDDDF07715E} + + {5405FC41-BFE2-A51C-0AE7-96B19E9AFBCF} - - {073C6BA5-53F9-151C-4BB5-D5C403BF284F} + + {5F21E507-E5E8-0A74-F1AE-874BB67C26CC} - - {53C392DB-7131-B7AF-5A28-9009B03EF76E} + + {0560E4F4-F24D-870A-444C-9BC16D918768} - - {CFAABADC-489B-5592-206B-29BE85E556F8} + + {D2D3D7D7-2F4C-85E4-1C43-9D4F9E558BF4} - - {449928FA-2DA7-18CE-61BF-50930E8C94A1} + + {AA9D8157-1521-DB4F-B8EB-B7EF407D9FAD} - - {3CBBC95A-4009-C9C5-036C-B226EF4E113E} + + {5208559E-5151-522B-610E-4A7D10D0709F} - - {330A7495-9D53-820D-AD63-2DC83D2ED767} + + {ACB81B1C-458D-6018-E92B-663C616374C1} - - {9CFC1C13-C955-D9BB-A0F7-363446AC2CBB} + + {BBF7BD20-FB7D-59E5-D1DD-3E6F1455CA02} - - {BF742880-2B1E-3276-CFB8-089DC7DD5EE5} + + {9F94CAA6-D93A-E34C-3744-8DB22A7D65DD} - - {CB03A00B-C740-D8D3-A019-4C165270265F} + + {F77CA057-8DE4-E076-7EB6-D2646794864B} - - {768EDA37-3A9B-E5C5-8D35-27FEF74CCBA0} + + {4BBA3556-B2A1-3008-8BE1-F82DE6666552} - - {FD79BB9B-CBFF-F94F-6A8B-91DA3ECFEA27} + + {FE290DF2-C600-4159-D484-7F48DB498EBE} + + + {DD0D745A-044A-A337-0DBA-0816C2E7C767} {422C46B7-0467-2DB0-BF3C-16DFCAFD69AC} @@ -53,8 +56,17 @@ {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} - - {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + + {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + + {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + + {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} {476C69CE-0B67-6B85-E888-45D91E37A29E} @@ -62,17 +74,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} - - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -80,29 +86,26 @@ {91929C6F-7902-B87D-5260-2F6CBF8ACD93} - - {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} - {4634FFAE-9586-A970-364C-4FDDA635F99F} - - {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} - - {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - {F03654BC-34D8-F975-BEA3-750CC2783D23} + + {C9F6D785-BF78-5AA1-B479-111C65397864} {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} - - {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} - - {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + {F03654BC-34D8-F975-BEA3-750CC2783D23} {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} @@ -116,33 +119,33 @@ {928D8FCC-5E00-174B-6538-93E8D75AB396} - - {1988E68A-A964-64CA-0E0C-26FF9BC5176C} + + {358AEA11-3F96-36AE-7B32-71373B5C5396} {3DF036EA-3B80-553B-2494-3AAC835CAE75} - - {358AEA11-3F96-36AE-7B32-71373B5C5396} + + {1988E68A-A964-64CA-0E0C-26FF9BC5176C} {F2A38F45-6E55-E147-2E52-64A89FDD9D59} - - {6172822C-01A5-E824-12DA-FA43FA934D35} - - - {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} - {B098BC87-3298-7E6B-12DC-D26C09CDCAED} {6322B88F-984A-C3CD-6263-38D7AA49B6EC} + + {6172822C-01A5-E824-12DA-FA43FA934D35} + {73C1E759-AD90-59A3-942E-2D10FAA29107} + + {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} + {EE1AE8C3-0908-8F53-A4E5-D930C7C97C26} @@ -152,81 +155,81 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} - - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - - {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {E37D25CD-4350-4614-055B-7ABC55E67895} {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {C1A1A236-AB01-173E-96C3-0706BFF93B1E} + + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + + {413F481F-075C-2958-115C-D8268682FCB7} {FFC6E1CC-C772-75E6-5087-FB5D4E016799} + + {1182303F-ECA3-166D-AC0C-92C5E762CB93} + {8E43579F-C185-266D-DD67-F8B95BD80F2F} + + {61712B09-5783-ADFA-2001-5A0C3D7764EB} + + + {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + + {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} + {2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D} - - {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + {5A0AA36E-3957-E413-14C6-31CBE15271DF} + + + {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} {A92719C7-70BE-57C4-CE9E-A9BC9DFEB757} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} + + + {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} + + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} + + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + + {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} + + + {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} + {75F1F352-251A-75E0-D941-8431588F5C1E} {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} - - {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} - - - {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} - - - {5A0AA36E-3957-E413-14C6-31CBE15271DF} - - - {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} - - - {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} - - - {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} - - - {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} - - - {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - - {61712B09-5783-ADFA-2001-5A0C3D7764EB} - - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} - {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -251,220 +254,190 @@ - The Introjucer\Application + Projucer\Application + + + Projucer\Application - The Introjucer\Application + Projucer\Application - The Introjucer\Application + Projucer\Application - The Introjucer\Application + Projucer\Application - The Introjucer\Application + Projucer\Application - The Introjucer\Application + Projucer\Application - The Introjucer\Application + Projucer\Application - The Introjucer\Application + Projucer\Application + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine - The Introjucer\Code Editor + Projucer\Code Editor - The Introjucer\ComponentEditor\components + Projucer\ComponentEditor\components - The Introjucer\ComponentEditor\documents + Projucer\ComponentEditor\documents - The Introjucer\ComponentEditor\documents + Projucer\ComponentEditor\documents - The Introjucer\ComponentEditor\paintelements + Projucer\ComponentEditor\paintelements - The Introjucer\ComponentEditor\paintelements + Projucer\ComponentEditor\paintelements - The Introjucer\ComponentEditor\paintelements + Projucer\ComponentEditor\paintelements - The Introjucer\ComponentEditor\ui + Projucer\ComponentEditor\ui - The Introjucer\ComponentEditor\ui + Projucer\ComponentEditor\ui - The Introjucer\ComponentEditor\ui + Projucer\ComponentEditor\ui - The Introjucer\ComponentEditor\ui + Projucer\ComponentEditor\ui - The Introjucer\ComponentEditor\ui + Projucer\ComponentEditor\ui - The Introjucer\ComponentEditor\ui + Projucer\ComponentEditor\ui - The Introjucer\ComponentEditor\ui + Projucer\ComponentEditor\ui - The Introjucer\ComponentEditor\ui + Projucer\ComponentEditor\ui - The Introjucer\ComponentEditor + Projucer\ComponentEditor - The Introjucer\ComponentEditor + Projucer\ComponentEditor - The Introjucer\ComponentEditor + Projucer\ComponentEditor - The Introjucer\ComponentEditor + Projucer\ComponentEditor - The Introjucer\ComponentEditor + Projucer\ComponentEditor - The Introjucer\ComponentEditor - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving + Projucer\ComponentEditor - The Introjucer\Project + Projucer\Project - The Introjucer\Project + Projucer\Project - The Introjucer\Project + Projucer\Project - The Introjucer\Project + Projucer\Project - - The Introjucer\Project + + Projucer\Project Saving + + + Projucer\Project Saving + + + Projucer\Project Saving - The Introjucer\Utility + Projucer\Utility - The Introjucer\Utility + Projucer\Utility - The Introjucer\Utility - - - The Introjucer\Utility + Projucer\Utility - The Introjucer\Utility + Projucer\Utility - The Introjucer\Utility + Projucer\Utility + + + Projucer\Utility - The Introjucer\Utility + Projucer\Utility - The Introjucer\Utility + Projucer\Utility - The Introjucer\Wizards + Projucer\Wizards - The Introjucer\Wizards + Projucer\Wizards - The Introjucer\BinaryData\templates + Projucer\BinaryData\templates - The Introjucer\BinaryData\templates + Projucer\BinaryData\templates - The Introjucer\BinaryData\templates + Projucer\BinaryData\templates - The Introjucer\BinaryData\templates + Projucer\BinaryData\templates - The Introjucer\BinaryData\templates + Projucer\BinaryData\templates - The Introjucer\BinaryData\templates + Projucer\BinaryData\templates - The Introjucer\BinaryData\templates + Projucer\BinaryData\templates - The Introjucer\BinaryData\templates + Projucer\BinaryData\templates - The Introjucer\BinaryData\templates + Projucer\BinaryData\templates - The Introjucer\BinaryData\templates + Projucer\BinaryData\templates - The Introjucer\BinaryData\templates + Projucer\BinaryData\templates - The Introjucer\BinaryData\templates + Projucer\BinaryData\templates - The Introjucer\BinaryData\templates - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\memory + Projucer\BinaryData\templates Juce Modules\juce_core\containers @@ -481,33 +454,6 @@ Juce Modules\juce_core\containers - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - Juce Modules\juce_core\files @@ -532,41 +478,11 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -574,32 +490,17 @@ Juce Modules\juce_core\logging - - Juce Modules\juce_core\system + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc @@ -679,6 +580,117 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + Juce Modules\juce_cryptography\encryption @@ -697,6 +709,15 @@ Juce Modules\juce_cryptography\hashing + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -706,33 +727,6 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - Juce Modules\juce_events\broadcasters @@ -751,6 +745,18 @@ Juce Modules\juce_events\interprocess + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + Juce Modules\juce_events\native @@ -766,6 +772,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_graphics\colour @@ -787,44 +799,11 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\effects Juce Modules\juce_graphics\fonts @@ -844,11 +823,41 @@ Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -880,6 +889,51 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -892,6 +946,153 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -913,20 +1114,92 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -994,267 +1267,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_extra\code_editor @@ -1336,502 +1348,607 @@ Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - The Introjucer\Application + Projucer\Application - The Introjucer\Application + Projucer\Application - The Introjucer\Application + Projucer\Application - The Introjucer\Application + Projucer\Application - The Introjucer\Application + Projucer\Application - The Introjucer\Application + Projucer\Application - The Introjucer\Application + Projucer\Application + + + Projucer\Application - The Introjucer\Application + Projucer\Application - The Introjucer\Application + Projucer\Application - The Introjucer\Application + Projucer\Application + + + Projucer\Application - The Introjucer\Application + Projucer\Application - The Introjucer\Application + Projucer\Application + + + Projucer\Application + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\Code Editor - The Introjucer\Code Editor + Projucer\Code Editor - The Introjucer\ComponentEditor\components + Projucer\ComponentEditor\components - The Introjucer\ComponentEditor\components + Projucer\ComponentEditor\components - The Introjucer\ComponentEditor\components + Projucer\ComponentEditor\components - The Introjucer\ComponentEditor\components + Projucer\ComponentEditor\components - The Introjucer\ComponentEditor\components + Projucer\ComponentEditor\components - The Introjucer\ComponentEditor\components + Projucer\ComponentEditor\components - The Introjucer\ComponentEditor\components + Projucer\ComponentEditor\components - The Introjucer\ComponentEditor\components + Projucer\ComponentEditor\components - The Introjucer\ComponentEditor\components + Projucer\ComponentEditor\components - The Introjucer\ComponentEditor\components + Projucer\ComponentEditor\components - The Introjucer\ComponentEditor\components + Projucer\ComponentEditor\components - The Introjucer\ComponentEditor\components + Projucer\ComponentEditor\components - The Introjucer\ComponentEditor\components + Projucer\ComponentEditor\components - The Introjucer\ComponentEditor\components + Projucer\ComponentEditor\components - The Introjucer\ComponentEditor\components + Projucer\ComponentEditor\components - The Introjucer\ComponentEditor\components + Projucer\ComponentEditor\components - The Introjucer\ComponentEditor\components + Projucer\ComponentEditor\components - The Introjucer\ComponentEditor\components + Projucer\ComponentEditor\components - The Introjucer\ComponentEditor\documents + Projucer\ComponentEditor\documents - The Introjucer\ComponentEditor\documents + Projucer\ComponentEditor\documents - The Introjucer\ComponentEditor\paintelements + Projucer\ComponentEditor\paintelements - The Introjucer\ComponentEditor\paintelements + Projucer\ComponentEditor\paintelements - The Introjucer\ComponentEditor\paintelements + Projucer\ComponentEditor\paintelements - The Introjucer\ComponentEditor\paintelements + Projucer\ComponentEditor\paintelements - The Introjucer\ComponentEditor\paintelements + Projucer\ComponentEditor\paintelements - The Introjucer\ComponentEditor\paintelements + Projucer\ComponentEditor\paintelements - The Introjucer\ComponentEditor\paintelements + Projucer\ComponentEditor\paintelements - The Introjucer\ComponentEditor\paintelements + Projucer\ComponentEditor\paintelements - The Introjucer\ComponentEditor\paintelements + Projucer\ComponentEditor\paintelements - The Introjucer\ComponentEditor\paintelements + Projucer\ComponentEditor\paintelements - The Introjucer\ComponentEditor\paintelements + Projucer\ComponentEditor\paintelements - The Introjucer\ComponentEditor\paintelements + Projucer\ComponentEditor\paintelements - The Introjucer\ComponentEditor\paintelements + Projucer\ComponentEditor\paintelements - The Introjucer\ComponentEditor\paintelements + Projucer\ComponentEditor\paintelements - The Introjucer\ComponentEditor\paintelements + Projucer\ComponentEditor\paintelements - The Introjucer\ComponentEditor\paintelements + Projucer\ComponentEditor\paintelements - The Introjucer\ComponentEditor\properties + Projucer\ComponentEditor\properties - The Introjucer\ComponentEditor\properties + Projucer\ComponentEditor\properties - The Introjucer\ComponentEditor\properties + Projucer\ComponentEditor\properties - The Introjucer\ComponentEditor\properties + Projucer\ComponentEditor\properties - The Introjucer\ComponentEditor\properties + Projucer\ComponentEditor\properties - The Introjucer\ComponentEditor\properties + Projucer\ComponentEditor\properties - The Introjucer\ComponentEditor\properties + Projucer\ComponentEditor\properties - The Introjucer\ComponentEditor\properties + Projucer\ComponentEditor\properties - The Introjucer\ComponentEditor\properties + Projucer\ComponentEditor\properties - The Introjucer\ComponentEditor\ui + Projucer\ComponentEditor\ui - The Introjucer\ComponentEditor\ui + Projucer\ComponentEditor\ui - The Introjucer\ComponentEditor\ui + Projucer\ComponentEditor\ui - The Introjucer\ComponentEditor\ui + Projucer\ComponentEditor\ui - The Introjucer\ComponentEditor\ui + Projucer\ComponentEditor\ui - The Introjucer\ComponentEditor\ui + Projucer\ComponentEditor\ui - The Introjucer\ComponentEditor\ui + Projucer\ComponentEditor\ui - The Introjucer\ComponentEditor\ui + Projucer\ComponentEditor\ui - The Introjucer\ComponentEditor\ui + Projucer\ComponentEditor\ui - The Introjucer\ComponentEditor\ui + Projucer\ComponentEditor\ui - The Introjucer\ComponentEditor\ui + Projucer\ComponentEditor\ui - The Introjucer\ComponentEditor\ui + Projucer\ComponentEditor\ui - The Introjucer\ComponentEditor + Projucer\ComponentEditor - The Introjucer\ComponentEditor + Projucer\ComponentEditor - The Introjucer\ComponentEditor + Projucer\ComponentEditor - The Introjucer\ComponentEditor + Projucer\ComponentEditor - The Introjucer\ComponentEditor + Projucer\ComponentEditor - The Introjucer\ComponentEditor + Projucer\ComponentEditor - The Introjucer\ComponentEditor - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project + Projucer\ComponentEditor - The Introjucer\Project + Projucer\Project - The Introjucer\Project + Projucer\Project - The Introjucer\Project + Projucer\Project - The Introjucer\Project + Projucer\Project - The Introjucer\Project + Projucer\Project - The Introjucer\Project + Projucer\Project - The Introjucer\Project + Projucer\Project - The Introjucer\Project + Projucer\Project - The Introjucer\Project + Projucer\Project - The Introjucer\Project + Projucer\Project - The Introjucer\Project + Projucer\Project - The Introjucer\Project + Projucer\Project - The Introjucer\Project + Projucer\Project - The Introjucer\Project + Projucer\Project + + + Projucer\Project Saving + + + Projucer\Project Saving + + + Projucer\Project Saving + + + Projucer\Project Saving + + + Projucer\Project Saving + + + Projucer\Project Saving + + + Projucer\Project Saving + + + Projucer\Project Saving + + + Projucer\Project Saving + + + Projucer\Project Saving - The Introjucer\Utility + Projucer\Utility - The Introjucer\Utility + Projucer\Utility - The Introjucer\Utility + Projucer\Utility + + + Projucer\Utility - The Introjucer\Utility + Projucer\Utility - The Introjucer\Utility + Projucer\Utility - The Introjucer\Utility + Projucer\Utility - The Introjucer\Utility - - - The Introjucer\Utility + Projucer\Utility - The Introjucer\Utility + Projucer\Utility - The Introjucer\Utility + Projucer\Utility - The Introjucer\Utility + Projucer\Utility + + + Projucer\Utility - The Introjucer\Utility + Projucer\Utility - The Introjucer\Utility + Projucer\Utility - The Introjucer\Utility + Projucer\Utility - The Introjucer\Utility + Projucer\Utility - The Introjucer\Utility + Projucer\Utility - The Introjucer\Utility + Projucer\Utility - The Introjucer\Utility + Projucer\Utility - The Introjucer\Wizards + Projucer\Wizards - The Introjucer\Wizards + Projucer\Wizards - The Introjucer\Wizards + Projucer\Wizards - The Introjucer\Wizards + Projucer\Wizards - The Introjucer\Wizards + Projucer\Wizards - The Introjucer\Wizards + Projucer\Wizards - The Introjucer\Wizards + Projucer\Wizards - The Introjucer\Wizards + Projucer\Wizards - The Introjucer\Wizards + Projucer\Wizards - The Introjucer\Wizards + Projucer\Wizards - The Introjucer\Wizards + Projucer\Wizards - The Introjucer\Wizards + Projucer\Wizards - The Introjucer\Wizards + Projucer\Wizards - The Introjucer\Wizards + Projucer\Wizards - The Introjucer\Wizards + Projucer\Wizards - The Introjucer\BinaryData\templates + Projucer\BinaryData\templates - The Introjucer\BinaryData\templates + Projucer\BinaryData\templates - The Introjucer\BinaryData\templates + Projucer\BinaryData\templates - The Introjucer\BinaryData\templates + Projucer\BinaryData\templates - The Introjucer\BinaryData\templates + Projucer\BinaryData\templates - The Introjucer\BinaryData\templates + Projucer\BinaryData\templates - The Introjucer\BinaryData\templates + Projucer\BinaryData\templates - The Introjucer\BinaryData\templates + Projucer\BinaryData\templates - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -1893,53 +2010,134 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text Juce Modules\juce_core\threads @@ -1998,92 +2196,8 @@ Juce Modules\juce_core\time - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -2091,12 +2205,6 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - Juce Modules\juce_core\zip @@ -2106,39 +2214,6 @@ Juce Modules\juce_core\zip - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - Juce Modules\juce_core @@ -2163,6 +2238,18 @@ Juce Modules\juce_cryptography + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -2172,21 +2259,33 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - Juce Modules\juce_data_structures + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + Juce Modules\juce_events\messages @@ -2214,36 +2313,6 @@ Juce Modules\juce_events\messages - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - Juce Modules\juce_events\native @@ -2253,6 +2322,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_events @@ -2283,17 +2358,32 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -2325,38 +2415,17 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -2367,9 +2436,60 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + Juce Modules\juce_graphics + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -2385,6 +2505,171 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -2424,29 +2709,50 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -2520,237 +2826,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_basics @@ -2837,95 +2912,92 @@ - - The Introjucer\BinaryData - - The Introjucer\BinaryData + Projucer\BinaryData - The Introjucer\BinaryData + Projucer\BinaryData - The Introjucer\BinaryData + Projucer\BinaryData - The Introjucer\BinaryData + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData - The Introjucer\BinaryData + Projucer\BinaryData - The Introjucer\BinaryData + Projucer\BinaryData - The Introjucer\BinaryData + Projucer\BinaryData - The Introjucer\BinaryData + Projucer\BinaryData - The Introjucer\BinaryData + Projucer\BinaryData - The Introjucer\BinaryData + Projucer\BinaryData - The Introjucer\BinaryData + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData - The Introjucer\BinaryData + Projucer\BinaryData - The Introjucer\BinaryData + Projucer\BinaryData - The Introjucer\BinaryData + Projucer\BinaryData - The Introjucer\BinaryData + Projucer\BinaryData - The Introjucer\BinaryData + Projucer\BinaryData - The Introjucer\BinaryData + Projucer\BinaryData - The Introjucer\BinaryData + Projucer\BinaryData - The Introjucer\BinaryData + Projucer\BinaryData - The Introjucer\BinaryData + Projucer\BinaryData - The Introjucer\BinaryData + Projucer\BinaryData - The Introjucer\BinaryData - - - Juce Modules\juce_core - - - Juce Modules\juce_cryptography - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_gui_extra + Projucer\BinaryData Juce Library Code diff --git a/extras/Projucer/Builds/VisualStudio2013/icon.ico b/extras/Projucer/Builds/VisualStudio2013/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..09d32ad703e414097a17e969e7d765325e912c77 GIT binary patch literal 33530 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

(u1;L6(cQ?)GnM#vbq;}_8j8w4Fi2^0KYHDQh@ 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 VS_VERSION_INFO VERSIONINFO -FILEVERSION 4,1,0,0 +FILEVERSION 4,2,0,0 BEGIN BLOCK "StringFileInfo" BEGIN BLOCK "040904E4" BEGIN - VALUE "CompanyName", "ROLI Ltd.\0" - VALUE "FileDescription", "The Introjucer\0" - VALUE "FileVersion", "4.1.0\0" - VALUE "ProductName", "The Introjucer\0" - VALUE "ProductVersion", "4.1.0\0" + VALUE "FileDescription", "Projucer\0" + VALUE "FileVersion", "4.2.0\0" + VALUE "ProductName", "Projucer\0" + VALUE "ProductVersion", "4.2.0\0" END END diff --git a/extras/Projucer/Builds/VisualStudio2015/Projucer.sln b/extras/Projucer/Builds/VisualStudio2015/Projucer.sln new file mode 100644 index 0000000000..14a224b654 --- /dev/null +++ b/extras/Projucer/Builds/VisualStudio2015/Projucer.sln @@ -0,0 +1,19 @@ +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2015 +Project("{9EC86232-31E3-55F2-1B6F-6E1C1F954A40}") = "Projucer", "Projucer.vcxproj", "{26ABE2A4-1F2F-8375-088D-D692A4408B5A}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {26ABE2A4-1F2F-8375-088D-D692A4408B5A}.Debug|x64.ActiveCfg = Debug|x64 + {26ABE2A4-1F2F-8375-088D-D692A4408B5A}.Debug|x64.Build.0 = Debug|x64 + {26ABE2A4-1F2F-8375-088D-D692A4408B5A}.Release|x64.ActiveCfg = Release|x64 + {26ABE2A4-1F2F-8375-088D-D692A4408B5A}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/extras/Introjucer/Builds/VisualStudio2015/The Introjucer.vcxproj b/extras/Projucer/Builds/VisualStudio2015/Projucer.vcxproj similarity index 93% rename from extras/Introjucer/Builds/VisualStudio2015/The Introjucer.vcxproj rename to extras/Projucer/Builds/VisualStudio2015/Projucer.vcxproj index 465ed7e140..70609b6bc9 100644 --- a/extras/Introjucer/Builds/VisualStudio2015/The Introjucer.vcxproj +++ b/extras/Projucer/Builds/VisualStudio2015/Projucer.vcxproj @@ -2,30 +2,32 @@ - + Debug - Win32 + x64 - + Release - Win32 + x64 {26ABE2A4-1F2F-8375-088D-D692A4408B5A} - v140 + v140_xp - + Application false - v140 + v140_xp + v140_xp - + Application false true - v140 + v140_xp + v140_xp @@ -34,17 +36,17 @@ Label="LocalAppDataPlatform"/> - v140 + v140_xp <_ProjectFileVersion>10.0.30319.1 - The Introjucer - true - The Introjucer - true - v140 + Projucer + true + Projucer + true + v140_xp - + _DEBUG;%(PreprocessorDefinitions) true @@ -54,10 +56,10 @@ Disabled - EditAndContinue + ProgramDatabase ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=4.1.0;JUCE_APP_VERSION_HEX=0x40100;%(PreprocessorDefinitions) - MultiThreadedDebug + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=4.2.0;JUCE_APP_VERSION_HEX=0x40200;%(PreprocessorDefinitions) + MultiThreadedDebugDLL true $(IntDir)\ @@ -71,22 +73,20 @@ _DEBUG;%(PreprocessorDefinitions) - $(OutDir)\The Introjucer.exe + $(OutDir)\Projucer.exe true libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries) true - $(IntDir)\The Introjucer.pdb + $(IntDir)\Projucer.pdb Windows - MachineX86 - false true true - $(IntDir)\The Introjucer.bsc + $(IntDir)\Projucer.bsc - + NDEBUG;%(PreprocessorDefinitions) true @@ -95,9 +95,9 @@ - MinSpace + Full ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=4.1.0;JUCE_APP_VERSION_HEX=0x40100;%(PreprocessorDefinitions) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=4.2.0;JUCE_APP_VERSION_HEX=0x40200;%(PreprocessorDefinitions) MultiThreaded true @@ -112,24 +112,26 @@ NDEBUG;%(PreprocessorDefinitions) - $(OutDir)\The Introjucer.exe + $(OutDir)\Projucer.exe true %(IgnoreSpecificDefaultLibraries) false - $(IntDir)\The Introjucer.pdb + $(IntDir)\Projucer.pdb Windows - MachineX86 true true true true - $(IntDir)\The Introjucer.bsc + $(IntDir)\Projucer.bsc + + true + @@ -137,6 +139,8 @@ + + @@ -158,19 +162,21 @@ - - - - + + true + + + + - + @@ -214,45 +220,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -268,33 +235,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -319,40 +259,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -361,31 +271,16 @@ true - + true - + true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -451,6 +346,117 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -469,6 +475,15 @@ true + + true + + + true + + + true + true @@ -478,33 +493,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -523,6 +511,18 @@ true + + true + + + true + + + true + + + true + true @@ -532,6 +532,12 @@ true + + true + + + true + true @@ -553,43 +559,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -610,10 +583,40 @@ true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -640,6 +643,51 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -652,6 +700,153 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -673,19 +868,70 @@ true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -754,246 +1000,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -1061,13 +1067,13 @@ true - - - - - - - + + + + + + + @@ -1077,11 +1083,32 @@ + + + + + + + + + + + + + + + + + + + + + @@ -1147,17 +1174,6 @@ - - - - - - - - - - - @@ -1172,17 +1188,28 @@ + + + + + + + + + + + - + @@ -1213,21 +1240,35 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1248,22 +1289,49 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1283,53 +1351,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - @@ -1338,14 +1365,22 @@ + + + + - - - - + + + + + + + + @@ -1355,19 +1390,11 @@ - - - - - - - - - - + + @@ -1378,10 +1405,15 @@ - - - - + + + + + + + + + @@ -1392,26 +1424,91 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1425,14 +1522,21 @@ - - - - - - - - + + + + + + + + + + + + + + + @@ -1457,83 +1561,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1564,11 +1591,15 @@ - + + + + + @@ -1576,6 +1607,8 @@ + + @@ -1587,13 +1620,6 @@ - - - - - - - diff --git a/extras/Introjucer/Builds/VisualStudio2015/The Introjucer.vcxproj.filters b/extras/Projucer/Builds/VisualStudio2015/Projucer.vcxproj.filters similarity index 87% rename from extras/Introjucer/Builds/VisualStudio2015/The Introjucer.vcxproj.filters rename to extras/Projucer/Builds/VisualStudio2015/Projucer.vcxproj.filters index 1fcf8279a0..5b3b6abefa 100644 --- a/extras/Introjucer/Builds/VisualStudio2015/The Introjucer.vcxproj.filters +++ b/extras/Projucer/Builds/VisualStudio2015/Projucer.vcxproj.filters @@ -2,50 +2,53 @@ - - {08497553-90EF-7F50-1FCE-C399F0F4F301} + + {7DBEF27C-2AFE-DA02-1DBF-E80FAAC99EA7} - - {BCABA310-8FA8-9483-44C8-901CB254B038} + + {4F8BCD36-CE20-D951-FB82-2CCEDD0C5898} - - {D05B051C-4835-D6A6-3AF4-B61963EFC368} + + {0A3B9446-F50B-3D4E-230F-7ED493541A07} - - {95DE2FA4-3654-5411-BB7B-2BDDDF07715E} + + {5405FC41-BFE2-A51C-0AE7-96B19E9AFBCF} - - {073C6BA5-53F9-151C-4BB5-D5C403BF284F} + + {5F21E507-E5E8-0A74-F1AE-874BB67C26CC} - - {53C392DB-7131-B7AF-5A28-9009B03EF76E} + + {0560E4F4-F24D-870A-444C-9BC16D918768} - - {CFAABADC-489B-5592-206B-29BE85E556F8} + + {D2D3D7D7-2F4C-85E4-1C43-9D4F9E558BF4} - - {449928FA-2DA7-18CE-61BF-50930E8C94A1} + + {AA9D8157-1521-DB4F-B8EB-B7EF407D9FAD} - - {3CBBC95A-4009-C9C5-036C-B226EF4E113E} + + {5208559E-5151-522B-610E-4A7D10D0709F} - - {330A7495-9D53-820D-AD63-2DC83D2ED767} + + {ACB81B1C-458D-6018-E92B-663C616374C1} - - {9CFC1C13-C955-D9BB-A0F7-363446AC2CBB} + + {BBF7BD20-FB7D-59E5-D1DD-3E6F1455CA02} - - {BF742880-2B1E-3276-CFB8-089DC7DD5EE5} + + {9F94CAA6-D93A-E34C-3744-8DB22A7D65DD} - - {CB03A00B-C740-D8D3-A019-4C165270265F} + + {F77CA057-8DE4-E076-7EB6-D2646794864B} - - {768EDA37-3A9B-E5C5-8D35-27FEF74CCBA0} + + {4BBA3556-B2A1-3008-8BE1-F82DE6666552} - - {FD79BB9B-CBFF-F94F-6A8B-91DA3ECFEA27} + + {FE290DF2-C600-4159-D484-7F48DB498EBE} + + + {DD0D745A-044A-A337-0DBA-0816C2E7C767} {422C46B7-0467-2DB0-BF3C-16DFCAFD69AC} @@ -53,8 +56,17 @@ {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} - - {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + + {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + + {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + + {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} {476C69CE-0B67-6B85-E888-45D91E37A29E} @@ -62,17 +74,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} - - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -80,29 +86,26 @@ {91929C6F-7902-B87D-5260-2F6CBF8ACD93} - - {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} - {4634FFAE-9586-A970-364C-4FDDA635F99F} - - {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} - - {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - {F03654BC-34D8-F975-BEA3-750CC2783D23} + + {C9F6D785-BF78-5AA1-B479-111C65397864} {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} - - {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} - - {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + {F03654BC-34D8-F975-BEA3-750CC2783D23} {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} @@ -116,33 +119,33 @@ {928D8FCC-5E00-174B-6538-93E8D75AB396} - - {1988E68A-A964-64CA-0E0C-26FF9BC5176C} + + {358AEA11-3F96-36AE-7B32-71373B5C5396} {3DF036EA-3B80-553B-2494-3AAC835CAE75} - - {358AEA11-3F96-36AE-7B32-71373B5C5396} + + {1988E68A-A964-64CA-0E0C-26FF9BC5176C} {F2A38F45-6E55-E147-2E52-64A89FDD9D59} - - {6172822C-01A5-E824-12DA-FA43FA934D35} - - - {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} - {B098BC87-3298-7E6B-12DC-D26C09CDCAED} {6322B88F-984A-C3CD-6263-38D7AA49B6EC} + + {6172822C-01A5-E824-12DA-FA43FA934D35} + {73C1E759-AD90-59A3-942E-2D10FAA29107} + + {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} + {EE1AE8C3-0908-8F53-A4E5-D930C7C97C26} @@ -152,81 +155,81 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} - - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - - {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {E37D25CD-4350-4614-055B-7ABC55E67895} {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {C1A1A236-AB01-173E-96C3-0706BFF93B1E} + + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + + {413F481F-075C-2958-115C-D8268682FCB7} {FFC6E1CC-C772-75E6-5087-FB5D4E016799} + + {1182303F-ECA3-166D-AC0C-92C5E762CB93} + {8E43579F-C185-266D-DD67-F8B95BD80F2F} + + {61712B09-5783-ADFA-2001-5A0C3D7764EB} + + + {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + + {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} + {2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D} - - {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + {5A0AA36E-3957-E413-14C6-31CBE15271DF} + + + {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} {A92719C7-70BE-57C4-CE9E-A9BC9DFEB757} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} + + + {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} + + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} + + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + + {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} + + + {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} + {75F1F352-251A-75E0-D941-8431588F5C1E} {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} - - {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} - - - {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} - - - {5A0AA36E-3957-E413-14C6-31CBE15271DF} - - - {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} - - - {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} - - - {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} - - - {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} - - - {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - - {61712B09-5783-ADFA-2001-5A0C3D7764EB} - - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} - {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -251,220 +254,190 @@ - The Introjucer\Application + Projucer\Application + + + Projucer\Application - The Introjucer\Application + Projucer\Application - The Introjucer\Application + Projucer\Application - The Introjucer\Application + Projucer\Application - The Introjucer\Application + Projucer\Application - The Introjucer\Application + Projucer\Application - The Introjucer\Application + Projucer\Application - The Introjucer\Application + Projucer\Application + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine - The Introjucer\Code Editor + Projucer\Code Editor - The Introjucer\ComponentEditor\components + Projucer\ComponentEditor\components - The Introjucer\ComponentEditor\documents + Projucer\ComponentEditor\documents - The Introjucer\ComponentEditor\documents + Projucer\ComponentEditor\documents - The Introjucer\ComponentEditor\paintelements + Projucer\ComponentEditor\paintelements - The Introjucer\ComponentEditor\paintelements + Projucer\ComponentEditor\paintelements - The Introjucer\ComponentEditor\paintelements + Projucer\ComponentEditor\paintelements - The Introjucer\ComponentEditor\ui + Projucer\ComponentEditor\ui - The Introjucer\ComponentEditor\ui + Projucer\ComponentEditor\ui - The Introjucer\ComponentEditor\ui + Projucer\ComponentEditor\ui - The Introjucer\ComponentEditor\ui + Projucer\ComponentEditor\ui - The Introjucer\ComponentEditor\ui + Projucer\ComponentEditor\ui - The Introjucer\ComponentEditor\ui + Projucer\ComponentEditor\ui - The Introjucer\ComponentEditor\ui + Projucer\ComponentEditor\ui - The Introjucer\ComponentEditor\ui + Projucer\ComponentEditor\ui - The Introjucer\ComponentEditor + Projucer\ComponentEditor - The Introjucer\ComponentEditor + Projucer\ComponentEditor - The Introjucer\ComponentEditor + Projucer\ComponentEditor - The Introjucer\ComponentEditor + Projucer\ComponentEditor - The Introjucer\ComponentEditor + Projucer\ComponentEditor - The Introjucer\ComponentEditor - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving + Projucer\ComponentEditor - The Introjucer\Project + Projucer\Project - The Introjucer\Project + Projucer\Project - The Introjucer\Project + Projucer\Project - The Introjucer\Project + Projucer\Project - - The Introjucer\Project + + Projucer\Project Saving + + + Projucer\Project Saving + + + Projucer\Project Saving - The Introjucer\Utility + Projucer\Utility - The Introjucer\Utility + Projucer\Utility - The Introjucer\Utility - - - The Introjucer\Utility + Projucer\Utility - The Introjucer\Utility + Projucer\Utility - The Introjucer\Utility + Projucer\Utility + + + Projucer\Utility - The Introjucer\Utility + Projucer\Utility - The Introjucer\Utility + Projucer\Utility - The Introjucer\Wizards + Projucer\Wizards - The Introjucer\Wizards + Projucer\Wizards - The Introjucer\BinaryData\templates + Projucer\BinaryData\templates - The Introjucer\BinaryData\templates + Projucer\BinaryData\templates - The Introjucer\BinaryData\templates + Projucer\BinaryData\templates - The Introjucer\BinaryData\templates + Projucer\BinaryData\templates - The Introjucer\BinaryData\templates + Projucer\BinaryData\templates - The Introjucer\BinaryData\templates + Projucer\BinaryData\templates - The Introjucer\BinaryData\templates + Projucer\BinaryData\templates - The Introjucer\BinaryData\templates + Projucer\BinaryData\templates - The Introjucer\BinaryData\templates + Projucer\BinaryData\templates - The Introjucer\BinaryData\templates + Projucer\BinaryData\templates - The Introjucer\BinaryData\templates + Projucer\BinaryData\templates - The Introjucer\BinaryData\templates + Projucer\BinaryData\templates - The Introjucer\BinaryData\templates - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\memory + Projucer\BinaryData\templates Juce Modules\juce_core\containers @@ -481,33 +454,6 @@ Juce Modules\juce_core\containers - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - Juce Modules\juce_core\files @@ -532,41 +478,11 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -574,32 +490,17 @@ Juce Modules\juce_core\logging - - Juce Modules\juce_core\system + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc @@ -679,6 +580,117 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + Juce Modules\juce_cryptography\encryption @@ -697,6 +709,15 @@ Juce Modules\juce_cryptography\hashing + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -706,33 +727,6 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - Juce Modules\juce_events\broadcasters @@ -751,6 +745,18 @@ Juce Modules\juce_events\interprocess + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + Juce Modules\juce_events\native @@ -766,6 +772,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_graphics\colour @@ -787,44 +799,11 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\effects Juce Modules\juce_graphics\fonts @@ -844,11 +823,41 @@ Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -880,6 +889,51 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -892,6 +946,153 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -913,20 +1114,92 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -994,267 +1267,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_extra\code_editor @@ -1336,502 +1348,607 @@ Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - The Introjucer\Application + Projucer\Application - The Introjucer\Application + Projucer\Application - The Introjucer\Application + Projucer\Application - The Introjucer\Application + Projucer\Application - The Introjucer\Application + Projucer\Application - The Introjucer\Application + Projucer\Application - The Introjucer\Application + Projucer\Application + + + Projucer\Application - The Introjucer\Application + Projucer\Application - The Introjucer\Application + Projucer\Application - The Introjucer\Application + Projucer\Application + + + Projucer\Application - The Introjucer\Application + Projucer\Application - The Introjucer\Application + Projucer\Application + + + Projucer\Application + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\LiveBuildEngine + + + Projucer\Code Editor - The Introjucer\Code Editor + Projucer\Code Editor - The Introjucer\ComponentEditor\components + Projucer\ComponentEditor\components - The Introjucer\ComponentEditor\components + Projucer\ComponentEditor\components - The Introjucer\ComponentEditor\components + Projucer\ComponentEditor\components - The Introjucer\ComponentEditor\components + Projucer\ComponentEditor\components - The Introjucer\ComponentEditor\components + Projucer\ComponentEditor\components - The Introjucer\ComponentEditor\components + Projucer\ComponentEditor\components - The Introjucer\ComponentEditor\components + Projucer\ComponentEditor\components - The Introjucer\ComponentEditor\components + Projucer\ComponentEditor\components - The Introjucer\ComponentEditor\components + Projucer\ComponentEditor\components - The Introjucer\ComponentEditor\components + Projucer\ComponentEditor\components - The Introjucer\ComponentEditor\components + Projucer\ComponentEditor\components - The Introjucer\ComponentEditor\components + Projucer\ComponentEditor\components - The Introjucer\ComponentEditor\components + Projucer\ComponentEditor\components - The Introjucer\ComponentEditor\components + Projucer\ComponentEditor\components - The Introjucer\ComponentEditor\components + Projucer\ComponentEditor\components - The Introjucer\ComponentEditor\components + Projucer\ComponentEditor\components - The Introjucer\ComponentEditor\components + Projucer\ComponentEditor\components - The Introjucer\ComponentEditor\components + Projucer\ComponentEditor\components - The Introjucer\ComponentEditor\documents + Projucer\ComponentEditor\documents - The Introjucer\ComponentEditor\documents + Projucer\ComponentEditor\documents - The Introjucer\ComponentEditor\paintelements + Projucer\ComponentEditor\paintelements - The Introjucer\ComponentEditor\paintelements + Projucer\ComponentEditor\paintelements - The Introjucer\ComponentEditor\paintelements + Projucer\ComponentEditor\paintelements - The Introjucer\ComponentEditor\paintelements + Projucer\ComponentEditor\paintelements - The Introjucer\ComponentEditor\paintelements + Projucer\ComponentEditor\paintelements - The Introjucer\ComponentEditor\paintelements + Projucer\ComponentEditor\paintelements - The Introjucer\ComponentEditor\paintelements + Projucer\ComponentEditor\paintelements - The Introjucer\ComponentEditor\paintelements + Projucer\ComponentEditor\paintelements - The Introjucer\ComponentEditor\paintelements + Projucer\ComponentEditor\paintelements - The Introjucer\ComponentEditor\paintelements + Projucer\ComponentEditor\paintelements - The Introjucer\ComponentEditor\paintelements + Projucer\ComponentEditor\paintelements - The Introjucer\ComponentEditor\paintelements + Projucer\ComponentEditor\paintelements - The Introjucer\ComponentEditor\paintelements + Projucer\ComponentEditor\paintelements - The Introjucer\ComponentEditor\paintelements + Projucer\ComponentEditor\paintelements - The Introjucer\ComponentEditor\paintelements + Projucer\ComponentEditor\paintelements - The Introjucer\ComponentEditor\paintelements + Projucer\ComponentEditor\paintelements - The Introjucer\ComponentEditor\properties + Projucer\ComponentEditor\properties - The Introjucer\ComponentEditor\properties + Projucer\ComponentEditor\properties - The Introjucer\ComponentEditor\properties + Projucer\ComponentEditor\properties - The Introjucer\ComponentEditor\properties + Projucer\ComponentEditor\properties - The Introjucer\ComponentEditor\properties + Projucer\ComponentEditor\properties - The Introjucer\ComponentEditor\properties + Projucer\ComponentEditor\properties - The Introjucer\ComponentEditor\properties + Projucer\ComponentEditor\properties - The Introjucer\ComponentEditor\properties + Projucer\ComponentEditor\properties - The Introjucer\ComponentEditor\properties + Projucer\ComponentEditor\properties - The Introjucer\ComponentEditor\ui + Projucer\ComponentEditor\ui - The Introjucer\ComponentEditor\ui + Projucer\ComponentEditor\ui - The Introjucer\ComponentEditor\ui + Projucer\ComponentEditor\ui - The Introjucer\ComponentEditor\ui + Projucer\ComponentEditor\ui - The Introjucer\ComponentEditor\ui + Projucer\ComponentEditor\ui - The Introjucer\ComponentEditor\ui + Projucer\ComponentEditor\ui - The Introjucer\ComponentEditor\ui + Projucer\ComponentEditor\ui - The Introjucer\ComponentEditor\ui + Projucer\ComponentEditor\ui - The Introjucer\ComponentEditor\ui + Projucer\ComponentEditor\ui - The Introjucer\ComponentEditor\ui + Projucer\ComponentEditor\ui - The Introjucer\ComponentEditor\ui + Projucer\ComponentEditor\ui - The Introjucer\ComponentEditor\ui + Projucer\ComponentEditor\ui - The Introjucer\ComponentEditor + Projucer\ComponentEditor - The Introjucer\ComponentEditor + Projucer\ComponentEditor - The Introjucer\ComponentEditor + Projucer\ComponentEditor - The Introjucer\ComponentEditor + Projucer\ComponentEditor - The Introjucer\ComponentEditor + Projucer\ComponentEditor - The Introjucer\ComponentEditor + Projucer\ComponentEditor - The Introjucer\ComponentEditor - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project + Projucer\ComponentEditor - The Introjucer\Project + Projucer\Project - The Introjucer\Project + Projucer\Project - The Introjucer\Project + Projucer\Project - The Introjucer\Project + Projucer\Project - The Introjucer\Project + Projucer\Project - The Introjucer\Project + Projucer\Project - The Introjucer\Project + Projucer\Project - The Introjucer\Project + Projucer\Project - The Introjucer\Project + Projucer\Project - The Introjucer\Project + Projucer\Project - The Introjucer\Project + Projucer\Project - The Introjucer\Project + Projucer\Project - The Introjucer\Project + Projucer\Project - The Introjucer\Project + Projucer\Project + + + Projucer\Project Saving + + + Projucer\Project Saving + + + Projucer\Project Saving + + + Projucer\Project Saving + + + Projucer\Project Saving + + + Projucer\Project Saving + + + Projucer\Project Saving + + + Projucer\Project Saving + + + Projucer\Project Saving + + + Projucer\Project Saving - The Introjucer\Utility + Projucer\Utility - The Introjucer\Utility + Projucer\Utility - The Introjucer\Utility + Projucer\Utility + + + Projucer\Utility - The Introjucer\Utility + Projucer\Utility - The Introjucer\Utility + Projucer\Utility - The Introjucer\Utility + Projucer\Utility - The Introjucer\Utility - - - The Introjucer\Utility + Projucer\Utility - The Introjucer\Utility + Projucer\Utility - The Introjucer\Utility + Projucer\Utility - The Introjucer\Utility + Projucer\Utility + + + Projucer\Utility - The Introjucer\Utility + Projucer\Utility - The Introjucer\Utility + Projucer\Utility - The Introjucer\Utility + Projucer\Utility - The Introjucer\Utility + Projucer\Utility - The Introjucer\Utility + Projucer\Utility - The Introjucer\Utility + Projucer\Utility - The Introjucer\Utility + Projucer\Utility - The Introjucer\Wizards + Projucer\Wizards - The Introjucer\Wizards + Projucer\Wizards - The Introjucer\Wizards + Projucer\Wizards - The Introjucer\Wizards + Projucer\Wizards - The Introjucer\Wizards + Projucer\Wizards - The Introjucer\Wizards + Projucer\Wizards - The Introjucer\Wizards + Projucer\Wizards - The Introjucer\Wizards + Projucer\Wizards - The Introjucer\Wizards + Projucer\Wizards - The Introjucer\Wizards + Projucer\Wizards - The Introjucer\Wizards + Projucer\Wizards - The Introjucer\Wizards + Projucer\Wizards - The Introjucer\Wizards + Projucer\Wizards - The Introjucer\Wizards + Projucer\Wizards - The Introjucer\Wizards + Projucer\Wizards - The Introjucer\BinaryData\templates + Projucer\BinaryData\templates - The Introjucer\BinaryData\templates + Projucer\BinaryData\templates - The Introjucer\BinaryData\templates + Projucer\BinaryData\templates - The Introjucer\BinaryData\templates + Projucer\BinaryData\templates - The Introjucer\BinaryData\templates + Projucer\BinaryData\templates - The Introjucer\BinaryData\templates + Projucer\BinaryData\templates - The Introjucer\BinaryData\templates + Projucer\BinaryData\templates - The Introjucer\BinaryData\templates + Projucer\BinaryData\templates - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -1893,53 +2010,134 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text Juce Modules\juce_core\threads @@ -1998,92 +2196,8 @@ Juce Modules\juce_core\time - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -2091,12 +2205,6 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - Juce Modules\juce_core\zip @@ -2106,39 +2214,6 @@ Juce Modules\juce_core\zip - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - Juce Modules\juce_core @@ -2163,6 +2238,18 @@ Juce Modules\juce_cryptography + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -2172,21 +2259,33 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - Juce Modules\juce_data_structures + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + Juce Modules\juce_events\messages @@ -2214,36 +2313,6 @@ Juce Modules\juce_events\messages - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - Juce Modules\juce_events\native @@ -2253,6 +2322,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_events @@ -2283,17 +2358,32 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -2325,38 +2415,17 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -2367,9 +2436,60 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + Juce Modules\juce_graphics + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -2385,6 +2505,171 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -2424,29 +2709,50 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -2520,237 +2826,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_basics @@ -2837,95 +2912,92 @@ - - The Introjucer\BinaryData - - The Introjucer\BinaryData + Projucer\BinaryData - The Introjucer\BinaryData + Projucer\BinaryData - The Introjucer\BinaryData + Projucer\BinaryData - The Introjucer\BinaryData + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData - The Introjucer\BinaryData + Projucer\BinaryData - The Introjucer\BinaryData + Projucer\BinaryData - The Introjucer\BinaryData + Projucer\BinaryData - The Introjucer\BinaryData + Projucer\BinaryData - The Introjucer\BinaryData + Projucer\BinaryData - The Introjucer\BinaryData + Projucer\BinaryData - The Introjucer\BinaryData + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData - The Introjucer\BinaryData + Projucer\BinaryData - The Introjucer\BinaryData + Projucer\BinaryData - The Introjucer\BinaryData + Projucer\BinaryData - The Introjucer\BinaryData + Projucer\BinaryData - The Introjucer\BinaryData + Projucer\BinaryData - The Introjucer\BinaryData + Projucer\BinaryData - The Introjucer\BinaryData + Projucer\BinaryData - The Introjucer\BinaryData + Projucer\BinaryData - The Introjucer\BinaryData + Projucer\BinaryData - The Introjucer\BinaryData + Projucer\BinaryData - The Introjucer\BinaryData - - - Juce Modules\juce_core - - - Juce Modules\juce_cryptography - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_gui_extra + Projucer\BinaryData Juce Library Code diff --git a/extras/Projucer/Builds/VisualStudio2015/icon.ico b/extras/Projucer/Builds/VisualStudio2015/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..09d32ad703e414097a17e969e7d765325e912c77 GIT binary patch literal 33530 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

(u1;L6(cQ?)GnM#vbq;}_8j8w4Fi2^0KYHDQh@ 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 VS_VERSION_INFO VERSIONINFO -FILEVERSION 4,1,0,0 +FILEVERSION 4,2,0,0 BEGIN BLOCK "StringFileInfo" BEGIN BLOCK "040904E4" BEGIN - VALUE "CompanyName", "ROLI Ltd.\0" - VALUE "FileDescription", "The Introjucer\0" - VALUE "FileVersion", "4.1.0\0" - VALUE "ProductName", "The Introjucer\0" - VALUE "ProductVersion", "4.1.0\0" + VALUE "FileDescription", "Projucer\0" + VALUE "FileVersion", "4.2.0\0" + VALUE "ProductName", "Projucer\0" + VALUE "ProductVersion", "4.2.0\0" END END diff --git a/extras/Introjucer/JuceLibraryCode/AppConfig.h b/extras/Projucer/JuceLibraryCode/AppConfig.h similarity index 81% rename from extras/Introjucer/JuceLibraryCode/AppConfig.h rename to extras/Projucer/JuceLibraryCode/AppConfig.h index 14f97ce213..e7eb6c0073 100644 --- a/extras/Introjucer/JuceLibraryCode/AppConfig.h +++ b/extras/Projucer/JuceLibraryCode/AppConfig.h @@ -4,8 +4,8 @@ project - if you alter its contents, your changes may be overwritten! There's a section below where you can add your own custom code safely, and the - Introjucer will preserve the contents of that block, but the best way to change - any of these definitions is by using the Introjucer's project settings. + Projucer will preserve the contents of that block, but the best way to change + any of these definitions is by using the Projucer's project settings. Any commented-out settings will assume their default values. @@ -17,7 +17,7 @@ //============================================================================== // [BEGIN_USER_CODE_SECTION] -// (You can add your own code in this section, and the Introjucer will not overwrite it) +// (You can add your own code in this section, and the Projucer will not overwrite it) // [END_USER_CODE_SECTION] @@ -32,9 +32,15 @@ //============================================================================== #ifndef JUCE_STANDALONE_APPLICATION - #define JUCE_STANDALONE_APPLICATION 1 + #ifdef JucePlugin_Build_Standalone + #define JUCE_STANDALONE_APPLICATION JucePlugin_Build_Standalone + #else + #define JUCE_STANDALONE_APPLICATION 1 + #endif #endif +#define JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED 1 + //============================================================================== // juce_core flags: @@ -66,7 +72,7 @@ // juce_graphics flags: #ifndef JUCE_USE_COREIMAGE_LOADER - #define JUCE_USE_COREIMAGE_LOADER 0 + //#define JUCE_USE_COREIMAGE_LOADER #endif #ifndef JUCE_USE_DIRECTWRITE diff --git a/extras/Projucer/JuceLibraryCode/BinaryData.cpp b/extras/Projucer/JuceLibraryCode/BinaryData.cpp new file mode 100644 index 0000000000..36996869c0 --- /dev/null +++ b/extras/Projucer/JuceLibraryCode/BinaryData.cpp @@ -0,0 +1,5562 @@ +/* ==================================== JUCER_BINARY_RESOURCE ==================================== + + This is an auto-generated file: Any edits you make may be overwritten! + +*/ + +namespace BinaryData +{ + +//================== jucer_AnimatedComponentTemplate.cpp ================== +static const unsigned char temp_binary_data_0[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" This file was auto-generated!\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"#ifndef MAINCOMPONENT_H_INCLUDED\r\n" +"#define MAINCOMPONENT_H_INCLUDED\r\n" +"\r\n" +"INCLUDE_JUCE\r\n" +"\r\n" +"//==============================================================================\r\n" +"/*\r\n" +" This component lives inside our window, and this is where you should put all\r\n" +" your controls and content.\r\n" +"*/\r\n" +"class MainContentComponent : public AnimatedAppComponent\r\n" +"{\r\n" +"public:\r\n" +" //==============================================================================\r\n" +" MainContentComponent()\r\n" +" {\r\n" +" setSize (800, 600);\r\n" +" setFramesPerSecond (60);\r\n" +" }\r\n" +"\r\n" +" ~MainContentComponent()\r\n" +" {\r\n" +" }\r\n" +"\r\n" +" void update() override\r\n" +" {\r\n" +" // This function is called at the frequency specified by the setFramesPerSecond() call\r\n" +" // in the constructor. You can use it to update counters, animate values, etc.\r\n" +" }\r\n" +"\r\n" +" void paint (Graphics& g) override\r\n" +" {\r\n" +" // (Our component is opaque, so we must completely fill the background with a solid colour)\r\n" +" g.fillAll (Colours::black);\r\n" +"\r\n" +"\r\n" +" // You can add your drawing code here!\r\n" +" }\r\n" +"\r\n" +" void resized() override\r\n" +" {\r\n" +" // This is called when the MainContentComponent is resized.\r\n" +" // If you add any child components, this is where you should\r\n" +" // update their positions.\r\n" +" }\r\n" +"\r\n" +"\r\n" +"private:\r\n" +" //==============================================================================\r\n" +"\r\n" +" // Your private member variables go here...\r\n" +"\r\n" +"\r\n" +"\r\n" +" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainContentComponent)\r\n" +"};\r\n" +"\r\n" +"\r\n" +"// (This function is called by the app startup code to create our main component)\r\n" +"Component* createMainContentComponent() { return new MainContentComponent(); }\r\n" +"\r\n" +"\r\n" +"#endif // MAINCOMPONENT_H_INCLUDED\r\n"; + +const char* jucer_AnimatedComponentTemplate_cpp = (const char*) temp_binary_data_0; + +//================== jucer_AudioComponentTemplate.cpp ================== +static const unsigned char temp_binary_data_1[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" This file was auto-generated!\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"#ifndef MAINCOMPONENT_H_INCLUDED\r\n" +"#define MAINCOMPONENT_H_INCLUDED\r\n" +"\r\n" +"INCLUDE_JUCE\r\n" +"\r\n" +"//==============================================================================\r\n" +"/*\r\n" +" This component lives inside our window, and this is where you should put all\r\n" +" your controls and content.\r\n" +"*/\r\n" +"class MainContentComponent : public AudioAppComponent\r\n" +"{\r\n" +"public:\r\n" +" //==============================================================================\r\n" +" MainContentComponent()\r\n" +" {\r\n" +" setSize (800, 600);\r\n" +"\r\n" +" // specify the number of input and output channels that we want to open\r\n" +" setAudioChannels (2, 2);\r\n" +" }\r\n" +"\r\n" +" ~MainContentComponent()\r\n" +" {\r\n" +" shutdownAudio();\r\n" +" }\r\n" +"\r\n" +" //==============================================================================\r\n" +" void prepareToPlay (int samplesPerBlockExpected, double sampleRate) override\r\n" +" {\r\n" +" // This function will be called when the audio device is started, or when\r\n" +" // its settings (i.e. sample rate, block size, etc) are changed.\r\n" +"\r\n" +" // You can use this function to initialise any resources you might need,\r\n" +" // but be careful - it will be called on the audio thread, not the GUI thread.\r\n" +"\r\n" +" // For more details, see the help for AudioProcessor::prepareToPlay()\r\n" +" }\r\n" +"\r\n" +" void getNextAudioBlock (const AudioSourceChannelInfo& bufferToFill) override\r\n" +" {\r\n" +" // Your audio-processing code goes here!\r\n" +"\r\n" +" // For more details, see the help for AudioProcessor::getNextAudioBlock()\r\n" +"\r\n" +" // Right now we are not producing any data, in which case we need to clear the buffer\r\n" +" // (to prevent the output of random noise)\r\n" +" bufferToFill.clearActiveBufferRegion();\r\n" +" }\r\n" +"\r\n" +" void releaseResources() override\r\n" +" {\r\n" +" // This will be called when the audio device stops, or when it is being\r\n" +" // restarted due to a setting change.\r\n" +"\r\n" +" // For more details, see the help for AudioProcessor::releaseResources()\r\n" +" }\r\n" +"\r\n" +" //==============================================================================\r\n" +" void paint (Graphics& g) override\r\n" +" {\r\n" +" // (Our component is opaque, so we must completely fill the background with a solid colour)\r\n" +" g.fillAll (Colours::black);\r\n" +"\r\n" +"\r\n" +" // You can add your drawing code here!\r\n" +" }\r\n" +"\r\n" +" void resized() override\r\n" +" {\r\n" +" // This is called when the MainContentComponent is resized.\r\n" +" // If you add any child components, this is where you should\r\n" +" // update their positions.\r\n" +" }\r\n" +"\r\n" +"\r\n" +"private:\r\n" +" //==============================================================================\r\n" +"\r\n" +" // Your private member variables go here...\r\n" +"\r\n" +"\r\n" +" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainContentComponent)\r\n" +"};\r\n" +"\r\n" +"\r\n" +"// (This function is called by the app startup code to create our main component)\r\n" +"Component* createMainContentComponent() { return new MainContentComponent(); }\r\n" +"\r\n" +"\r\n" +"#endif // MAINCOMPONENT_H_INCLUDED\r\n"; + +const char* jucer_AudioComponentTemplate_cpp = (const char*) temp_binary_data_1; + +//================== jucer_AudioPluginEditorTemplate.cpp ================== +static const unsigned char temp_binary_data_2[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" This file was auto-generated!\r\n" +"\r\n" +" It contains the basic framework code for a JUCE plugin editor.\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"EDITORCPPHEADERS\r\n" +"\r\n" +"\r\n" +"//==============================================================================\r\n" +"EDITORCLASSNAME::EDITORCLASSNAME (FILTERCLASSNAME& p)\r\n" +" : AudioProcessorEditor (&p), processor (p)\r\n" +"{\r\n" +" // Make sure that before the constructor has finished, you've set the\r\n" +" // editor's size to whatever you need it to be.\r\n" +" setSize (400, 300);\r\n" +"}\r\n" +"\r\n" +"EDITORCLASSNAME::~EDITORCLASSNAME()\r\n" +"{\r\n" +"}\r\n" +"\r\n" +"//==============================================================================\r\n" +"void EDITORCLASSNAME::paint (Graphics& g)\r\n" +"{\r\n" +" g.fillAll (Colours::white);\r\n" +"\r\n" +" g.setColour (Colours::black);\r\n" +" g.setFont (15.0f);\r\n" +" g.drawFittedText (\"Hello World!\", getLocalBounds(), Justification::centred, 1);\r\n" +"}\r\n" +"\r\n" +"void EDITORCLASSNAME::resized()\r\n" +"{\r\n" +" // This is generally where you'll want to lay out the positions of any\r\n" +" // subcomponents in your editor..\r\n" +"}\r\n"; + +const char* jucer_AudioPluginEditorTemplate_cpp = (const char*) temp_binary_data_2; + +//================== jucer_AudioPluginEditorTemplate.h ================== +static const unsigned char temp_binary_data_3[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" This file was auto-generated!\r\n" +"\r\n" +" It contains the basic framework code for a JUCE plugin editor.\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"#ifndef HEADERGUARD\r\n" +"#define HEADERGUARD\r\n" +"\r\n" +"EDITORHEADERS\r\n" +"\r\n" +"\r\n" +"//==============================================================================\r\n" +"/**\r\n" +"*/\r\n" +"class EDITORCLASSNAME : public AudioProcessorEditor\r\n" +"{\r\n" +"public:\r\n" +" EDITORCLASSNAME (FILTERCLASSNAME&);\r\n" +" ~EDITORCLASSNAME();\r\n" +"\r\n" +" //==============================================================================\r\n" +" void paint (Graphics&) override;\r\n" +" void resized() override;\r\n" +"\r\n" +"private:\r\n" +" // This reference is provided as a quick way for your editor to\r\n" +" // access the processor object that created it.\r\n" +" FILTERCLASSNAME& processor;\r\n" +"\r\n" +" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (EDITORCLASSNAME)\r\n" +"};\r\n" +"\r\n" +"\r\n" +"#endif // HEADERGUARD\r\n"; + +const char* jucer_AudioPluginEditorTemplate_h = (const char*) temp_binary_data_3; + +//================== jucer_AudioPluginFilterTemplate.cpp ================== +static const unsigned char temp_binary_data_4[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" This file was auto-generated!\r\n" +"\r\n" +" It contains the basic framework code for a JUCE plugin processor.\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"FILTERHEADERS\r\n" +"\r\n" +"\r\n" +"//==============================================================================\r\n" +"FILTERCLASSNAME::FILTERCLASSNAME()\r\n" +"{\r\n" +"}\r\n" +"\r\n" +"FILTERCLASSNAME::~FILTERCLASSNAME()\r\n" +"{\r\n" +"}\r\n" +"\r\n" +"//==============================================================================\r\n" +"const String FILTERCLASSNAME::getName() const\r\n" +"{\r\n" +" return JucePlugin_Name;\r\n" +"}\r\n" +"\r\n" +"bool FILTERCLASSNAME::acceptsMidi() const\r\n" +"{\r\n" +" #if JucePlugin_WantsMidiInput\r\n" +" return true;\r\n" +" #else\r\n" +" return false;\r\n" +" #endif\r\n" +"}\r\n" +"\r\n" +"bool FILTERCLASSNAME::producesMidi() const\r\n" +"{\r\n" +" #if JucePlugin_ProducesMidiOutput\r\n" +" return true;\r\n" +" #else\r\n" +" return false;\r\n" +" #endif\r\n" +"}\r\n" +"\r\n" +"double FILTERCLASSNAME::getTailLengthSeconds() const\r\n" +"{\r\n" +" return 0.0;\r\n" +"}\r\n" +"\r\n" +"int FILTERCLASSNAME::getNumPrograms()\r\n" +"{\r\n" +" return 1; // NB: some hosts don't cope very well if you tell them there are 0 programs,\r\n" +" // so this should be at least 1, even if you're not really implementing programs.\r\n" +"}\r\n" +"\r\n" +"int FILTERCLASSNAME::getCurrentProgram()\r\n" +"{\r\n" +" return 0;\r\n" +"}\r\n" +"\r\n" +"void FILTERCLASSNAME::setCurrentProgram (int index)\r\n" +"{\r\n" +"}\r\n" +"\r\n" +"const String FILTERCLASSNAME::getProgramName (int index)\r\n" +"{\r\n" +" return String();\r\n" +"}\r\n" +"\r\n" +"void FILTERCLASSNAME::changeProgramName (int index, const String& newName)\r\n" +"{\r\n" +"}\r\n" +"\r\n" +"//==============================================================================\r\n" +"void FILTERCLASSNAME::prepareToPlay (double sampleRate, int samplesPerBlock)\r\n" +"{\r\n" +" // Use this method as the place to do any pre-playback\r\n" +" // initialisation that you need..\r\n" +"}\r\n" +"\r\n" +"void FILTERCLASSNAME::releaseResources()\r\n" +"{\r\n" +" // When playback stops, you can use this as an opportunity to free up any\r\n" +" // spare memory, etc.\r\n" +"}\r\n" +"\r\n" +"void FILTERCLASSNAME::processBlock (AudioSampleBuffer& buffer, MidiBuffer& midiMessages)\r\n" +"{\r\n" +" const int totalNumInputChannels = getTotalNumInputChannels();\r\n" +" const int totalNumOutputChannels = getTotalNumOutputChannels();\r\n" +"\r\n" +" // In case we have more outputs than inputs, this code clears any output\r\n" +" // channels that didn't contain input data, (because these aren't\r\n" +" // guaranteed to be empty - they may contain garbage).\r\n" +" // This is here to avoid people getting screaming feedback\r\n" +" // when they first compile a plugin, but obviously you don't need to keep\r\n" +" // this code if your algorithm always overwrites all the output channels.\r\n" +" for (int i = totalNumInputChannels; i < totalNumOutputChannels; ++i)\r\n" +" buffer.clear (i, 0, buffer.getNumSamples());\r\n" +"\r\n" +" // This is the place where you'd normally do the guts of your plugin's\r\n" +" // audio processing...\r\n" +" for (int channel = 0; channel < totalNumInputChannels; ++channel)\r\n" +" {\r\n" +" float* channelData = buffer.getWritePointer (channel);\r\n" +"\r\n" +" // ..do something to the data...\r\n" +" }\r\n" +"}\r\n" +"\r\n" +"//==============================================================================\r\n" +"bool FILTERCLASSNAME::hasEditor() const\r\n" +"{\r\n" +" return true; // (change this to false if you choose to not supply an editor)\r\n" +"}\r\n" +"\r\n" +"AudioProcessorEditor* FILTERCLASSNAME::createEditor()\r\n" +"{\r\n" +" return new EDITORCLASSNAME (*this);\r\n" +"}\r\n" +"\r\n" +"//==============================================================================\r\n" +"void FILTERCLASSNAME::getStateInformation (MemoryBlock& destData)\r\n" +"{\r\n" +" // You should use this method to store your parameters in the memory block.\r\n" +" // You could do that either as raw data, or use the XML or ValueTree classes\r\n" +" // as intermediaries to make it easy to save and load complex data.\r\n" +"}\r\n" +"\r\n" +"void FILTERCLASSNAME::setStateInformation (const void* data, int sizeInBytes)\r\n" +"{\r\n" +" // You should use this method to restore your parameters from this memory block,\r\n" +" // whose contents will have been created by the getStateInformation() call.\r\n" +"}\r\n" +"\r\n" +"//==============================================================================\r\n" +"// This creates new instances of the plugin..\r\n" +"AudioProcessor* JUCE_CALLTYPE createPluginFilter()\r\n" +"{\r\n" +" return new FILTERCLASSNAME();\r\n" +"}\r\n"; + +const char* jucer_AudioPluginFilterTemplate_cpp = (const char*) temp_binary_data_4; + +//================== jucer_AudioPluginFilterTemplate.h ================== +static const unsigned char temp_binary_data_5[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" This file was auto-generated!\r\n" +"\r\n" +" It contains the basic framework code for a JUCE plugin processor.\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"#ifndef HEADERGUARD\r\n" +"#define HEADERGUARD\r\n" +"\r\n" +"APPHEADERS\r\n" +"\r\n" +"\r\n" +"//==============================================================================\r\n" +"/**\r\n" +"*/\r\n" +"class FILTERCLASSNAME : public AudioProcessor\r\n" +"{\r\n" +"public:\r\n" +" //==============================================================================\r\n" +" FILTERCLASSNAME();\r\n" +" ~FILTERCLASSNAME();\r\n" +"\r\n" +" //==============================================================================\r\n" +" void prepareToPlay (double sampleRate, int samplesPerBlock) override;\r\n" +" void releaseResources() override;\r\n" +"\r\n" +" void processBlock (AudioSampleBuffer&, MidiBuffer&) override;\r\n" +"\r\n" +" //==============================================================================\r\n" +" AudioProcessorEditor* createEditor() override;\r\n" +" bool hasEditor() const override;\r\n" +"\r\n" +" //==============================================================================\r\n" +" const String getName() const override;\r\n" +"\r\n" +" bool acceptsMidi() const override;\r\n" +" bool producesMidi() const override;\r\n" +" double getTailLengthSeconds() const override;\r\n" +"\r\n" +" //==============================================================================\r\n" +" int getNumPrograms() override;\r\n" +" int getCurrentProgram() override;\r\n" +" void setCurrentProgram (int index) override;\r\n" +" const String getProgramName (int index) override;\r\n" +" void changeProgramName (int index, const String& newName) override;\r\n" +"\r\n" +" //==============================================================================\r\n" +" void getStateInformation (MemoryBlock& destData) override;\r\n" +" void setStateInformation (const void* data, int sizeInBytes) override;\r\n" +"\r\n" +"private:\r\n" +" //==============================================================================\r\n" +" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (FILTERCLASSNAME)\r\n" +"};\r\n" +"\r\n" +"\r\n" +"#endif // HEADERGUARD\r\n"; + +const char* jucer_AudioPluginFilterTemplate_h = (const char*) temp_binary_data_5; + +//================== jucer_ComponentTemplate.cpp ================== +static const unsigned char temp_binary_data_6[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" This is an automatically generated GUI class created by the Projucer!\r\n" +"\r\n" +" Be careful when adding custom code to these files, as only the code within\r\n" +" the \"//[xyz]\" and \"//[/xyz]\" sections will be retained when the file is loaded\r\n" +" and re-saved.\r\n" +"\r\n" +" Created with Projucer version: %%version%%\r\n" +"\r\n" +" ------------------------------------------------------------------------------\r\n" +"\r\n" +" The Projucer is part of the JUCE library - \"Jules' Utility Class Extensions\"\r\n" +" Copyright (c) 2015 - ROLI Ltd.\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"//[Headers] You can add your own extra header files here...\r\n" +"//[/Headers]\r\n" +"\r\n" +"%%includeFilesCPP%%\r\n" +"\r\n" +"//[MiscUserDefs] You can add your own user definitions and misc code here...\r\n" +"//[/MiscUserDefs]\r\n" +"\r\n" +"//==============================================================================\r\n" +"%%className%%::%%className%% (%%constructorParams%%)\r\n" +"%%initialisers%%{\r\n" +" //[Constructor_pre] You can add your own custom stuff here..\r\n" +" //[/Constructor_pre]\r\n" +"\r\n" +" %%constructor%%\r\n" +"\r\n" +" //[Constructor] You can add your own custom stuff here..\r\n" +" //[/Constructor]\r\n" +"}\r\n" +"\r\n" +"%%className%%::~%%className%%()\r\n" +"{\r\n" +" //[Destructor_pre]. You can add your own custom destruction code here..\r\n" +" //[/Destructor_pre]\r\n" +"\r\n" +" %%destructor%%\r\n" +"\r\n" +" //[Destructor]. You can add your own custom destruction code here..\r\n" +" //[/Destructor]\r\n" +"}\r\n" +"\r\n" +"//==============================================================================\r\n" +"%%methodDefinitions%%\r\n" +"\r\n" +"//[MiscUserCode] You can add your own definitions of your custom methods or any other code here...\r\n" +"//[/MiscUserCode]\r\n" +"\r\n" +"\r\n" +"//==============================================================================\r\n" +"#if 0\r\n" +"/* -- Projucer information section --\r\n" +"\r\n" +" This is where the Projucer stores the metadata that describe this GUI layout, so\r\n" +" make changes in here at your peril!\r\n" +"\r\n" +"BEGIN_JUCER_METADATA\r\n" +"\r\n" +"%%metadata%%\r\n" +"END_JUCER_METADATA\r\n" +"*/\r\n" +"#endif\r\n" +"\r\n" +"%%staticMemberDefinitions%%\r\n" +"//[EndFile] You can add extra defines here...\r\n" +"//[/EndFile]\r\n"; + +const char* jucer_ComponentTemplate_cpp = (const char*) temp_binary_data_6; + +//================== jucer_ComponentTemplate.h ================== +static const unsigned char temp_binary_data_7[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" This is an automatically generated GUI class created by the Projucer!\r\n" +"\r\n" +" Be careful when adding custom code to these files, as only the code within\r\n" +" the \"//[xyz]\" and \"//[/xyz]\" sections will be retained when the file is loaded\r\n" +" and re-saved.\r\n" +"\r\n" +" Created with Projucer version: %%version%%\r\n" +"\r\n" +" ------------------------------------------------------------------------------\r\n" +"\r\n" +" The Projucer is part of the JUCE library - \"Jules' Utility Class Extensions\"\r\n" +" Copyright (c) 2015 - ROLI Ltd.\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"#ifndef %%headerGuard%%\r\n" +"#define %%headerGuard%%\r\n" +"\r\n" +"//[Headers] -- You can add your own extra header files here --\r\n" +"#include \"../../JuceLibraryCode/JuceHeader.h\"\r\n" +"//[/Headers]\r\n" +"\r\n" +"%%includeFilesH%%\r\n" +"\r\n" +"//==============================================================================\r\n" +"/**\r\n" +" //[Comments]\r\n" +" An auto-generated component, created by the Projucer.\r\n" +"\r\n" +" Describe your class and how it works here!\r\n" +" //[/Comments]\r\n" +"*/\r\n" +"%%classDeclaration%%\r\n" +"{\r\n" +"public:\r\n" +" //==============================================================================\r\n" +" %%className%% (%%constructorParams%%);\r\n" +" ~%%className%%();\r\n" +"\r\n" +" //==============================================================================\r\n" +" //[UserMethods] -- You can add your own custom methods in this section.\r\n" +" //[/UserMethods]\r\n" +"\r\n" +" %%publicMemberDeclarations%%\r\n" +"\r\n" +"private:\r\n" +" //[UserVariables] -- You can add your own custom variables in this section.\r\n" +" //[/UserVariables]\r\n" +"\r\n" +" //==============================================================================\r\n" +" %%privateMemberDeclarations%%\r\n" +"\r\n" +" //==============================================================================\r\n" +" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (%%className%%)\r\n" +"};\r\n" +"\r\n" +"//[EndFile] You can add extra defines here...\r\n" +"//[/EndFile]\r\n" +"\r\n" +"#endif // %%headerGuard%%\r\n"; + +const char* jucer_ComponentTemplate_h = (const char*) temp_binary_data_7; + +//================== jucer_ContentCompTemplate.cpp ================== +static const unsigned char temp_binary_data_8[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" This file was auto-generated!\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"INCLUDE_CORRESPONDING_HEADER\r\n" +"\r\n" +"\r\n" +"//==============================================================================\r\n" +"CONTENTCOMPCLASS::CONTENTCOMPCLASS()\r\n" +"{\r\n" +" setSize (600, 400);\r\n" +"}\r\n" +"\r\n" +"CONTENTCOMPCLASS::~CONTENTCOMPCLASS()\r\n" +"{\r\n" +"}\r\n" +"\r\n" +"void CONTENTCOMPCLASS::paint (Graphics& g)\r\n" +"{\r\n" +" g.fillAll (Colour (0xff001F36));\r\n" +"\r\n" +" g.setFont (Font (16.0f));\r\n" +" g.setColour (Colours::white);\r\n" +" g.drawText (\"Hello World!\", getLocalBounds(), Justification::centred, true);\r\n" +"}\r\n" +"\r\n" +"void CONTENTCOMPCLASS::resized()\r\n" +"{\r\n" +" // This is called when the CONTENTCOMPCLASS is resized.\r\n" +" // If you add any child components, this is where you should\r\n" +" // update their positions.\r\n" +"}\r\n"; + +const char* jucer_ContentCompTemplate_cpp = (const char*) temp_binary_data_8; + +//================== jucer_ContentCompTemplate.h ================== +static const unsigned char temp_binary_data_9[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" This file was auto-generated!\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"#ifndef HEADERGUARD\r\n" +"#define HEADERGUARD\r\n" +"\r\n" +"INCLUDE_JUCE\r\n" +"\r\n" +"\r\n" +"//==============================================================================\r\n" +"/*\r\n" +" This component lives inside our window, and this is where you should put all\r\n" +" your controls and content.\r\n" +"*/\r\n" +"class CONTENTCOMPCLASS : public Component\r\n" +"{\r\n" +"public:\r\n" +" //==============================================================================\r\n" +" CONTENTCOMPCLASS();\r\n" +" ~CONTENTCOMPCLASS();\r\n" +"\r\n" +" void paint (Graphics&);\r\n" +" void resized();\r\n" +"\r\n" +"private:\r\n" +" //==============================================================================\r\n" +" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (CONTENTCOMPCLASS)\r\n" +"};\r\n" +"\r\n" +"\r\n" +"#endif // HEADERGUARD\r\n"; + +const char* jucer_ContentCompTemplate_h = (const char*) temp_binary_data_9; + +//================== jucer_InlineComponentTemplate.h ================== +static const unsigned char temp_binary_data_10[] = +"//==============================================================================\r\n" +"class COMPONENTCLASS : public Component\r\n" +"{\r\n" +"public:\r\n" +" COMPONENTCLASS()\r\n" +" {\r\n" +" // In your constructor, you should add any child components, and\r\n" +" // initialise any special settings that your component needs.\r\n" +"\r\n" +" }\r\n" +"\r\n" +" ~COMPONENTCLASS()\r\n" +" {\r\n" +" }\r\n" +"\r\n" +" void paint (Graphics& g)\r\n" +" {\r\n" +" // You should replace everything in this method with your own drawing code..\r\n" +"\r\n" +" g.fillAll (Colours::white); // clear the background\r\n" +"\r\n" +" g.setColour (Colours::grey);\r\n" +" g.drawRect (getLocalBounds(), 1); // draw an outline around the component\r\n" +"\r\n" +" g.setColour (Colours::lightblue);\r\n" +" g.setFont (14.0f);\r\n" +" g.drawText (\"COMPONENTCLASS\", getLocalBounds(),\r\n" +" Justification::centred, true); // draw some placeholder text\r\n" +" }\r\n" +"\r\n" +" void resized()\r\n" +" {\r\n" +" // This method is where you should set the bounds of any child\r\n" +" // components that your component contains..\r\n" +"\r\n" +" }\r\n" +"\r\n" +"private:\r\n" +" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (COMPONENTCLASS)\r\n" +"};\r\n"; + +const char* jucer_InlineComponentTemplate_h = (const char*) temp_binary_data_10; + +//================== jucer_MainConsoleAppTemplate.cpp ================== +static const unsigned char temp_binary_data_11[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" This file was auto-generated!\r\n" +"\r\n" +" It contains the basic startup code for a Juce application.\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"APPHEADERS\r\n" +"\r\n" +"\r\n" +"//==============================================================================\r\n" +"int main (int argc, char* argv[])\r\n" +"{\r\n" +"\r\n" +" // ..your code goes here!\r\n" +"\r\n" +"\r\n" +" return 0;\r\n" +"}\r\n"; + +const char* jucer_MainConsoleAppTemplate_cpp = (const char*) temp_binary_data_11; + +//================== jucer_MainTemplate_NoWindow.cpp ================== +static const unsigned char temp_binary_data_12[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" This file was auto-generated!\r\n" +"\r\n" +" It contains the basic startup code for a Juce application.\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"APPHEADERS\r\n" +"\r\n" +"\r\n" +"//==============================================================================\r\n" +"class APPCLASSNAME : public JUCEApplication\r\n" +"{\r\n" +"public:\r\n" +" //==============================================================================\r\n" +" APPCLASSNAME() {}\r\n" +"\r\n" +" const String getApplicationName() override { return ProjectInfo::projectName; }\r\n" +" const String getApplicationVersion() override { return ProjectInfo::versionString; }\r\n" +" bool moreThanOneInstanceAllowed() override { return ALLOWMORETHANONEINSTANCE; }\r\n" +"\r\n" +" //==============================================================================\r\n" +" void initialise (const String& commandLine) override\r\n" +" {\r\n" +" // Add your application's initialisation code here..\r\n" +" }\r\n" +"\r\n" +" void shutdown() override\r\n" +" {\r\n" +" // Add your application's shutdown code here..\r\n" +" }\r\n" +"\r\n" +" //==============================================================================\r\n" +" void systemRequestedQuit() override\r\n" +" {\r\n" +" // This is called when the app is being asked to quit: you can ignore this\r\n" +" // request and let the app carry on running, or call quit() to allow the app to close.\r\n" +" quit();\r\n" +" }\r\n" +"\r\n" +" void anotherInstanceStarted (const String& commandLine) override\r\n" +" {\r\n" +" // When another instance of the app is launched while this one is running,\r\n" +" // this method is invoked, and the commandLine parameter tells you what\r\n" +" // the other instance's command-line arguments were.\r\n" +" }\r\n" +"};\r\n" +"\r\n" +"//==============================================================================\r\n" +"// This macro generates the main() routine that launches the app.\r\n" +"START_JUCE_APPLICATION (APPCLASSNAME)\r\n"; + +const char* jucer_MainTemplate_NoWindow_cpp = (const char*) temp_binary_data_12; + +//================== jucer_MainTemplate_SimpleWindow.cpp ================== +static const unsigned char temp_binary_data_13[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" This file was auto-generated!\r\n" +"\r\n" +" It contains the basic startup code for a Juce application.\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"APPHEADERS\r\n" +"\r\n" +"Component* createMainContentComponent();\r\n" +"\r\n" +"//==============================================================================\r\n" +"class APPCLASSNAME : public JUCEApplication\r\n" +"{\r\n" +"public:\r\n" +" //==============================================================================\r\n" +" APPCLASSNAME() {}\r\n" +"\r\n" +" const String getApplicationName() override { return ProjectInfo::projectName; }\r\n" +" const String getApplicationVersion() override { return ProjectInfo::versionString; }\r\n" +" bool moreThanOneInstanceAllowed() override { return ALLOWMORETHANONEINSTANCE; }\r\n" +"\r\n" +" //==============================================================================\r\n" +" void initialise (const String& commandLine) override\r\n" +" {\r\n" +" // This method is where you should put your application's initialisation code..\r\n" +"\r\n" +" mainWindow = new MainWindow (getApplicationName());\r\n" +" }\r\n" +"\r\n" +" void shutdown() override\r\n" +" {\r\n" +" // Add your application's shutdown code here..\r\n" +"\r\n" +" mainWindow = nullptr; // (deletes our window)\r\n" +" }\r\n" +"\r\n" +" //==============================================================================\r\n" +" void systemRequestedQuit() override\r\n" +" {\r\n" +" // This is called when the app is being asked to quit: you can ignore this\r\n" +" // request and let the app carry on running, or call quit() to allow the app to close.\r\n" +" quit();\r\n" +" }\r\n" +"\r\n" +" void anotherInstanceStarted (const String& commandLine) override\r\n" +" {\r\n" +" // When another instance of the app is launched while this one is running,\r\n" +" // this method is invoked, and the commandLine parameter tells you what\r\n" +" // the other instance's command-line arguments were.\r\n" +" }\r\n" +"\r\n" +" //==============================================================================\r\n" +" /*\r\n" +" This class implements the desktop window that contains an instance of\r\n" +" our CONTENTCOMPCLASS class.\r\n" +" */\r\n" +" class MainWindow : public DocumentWindow\r\n" +" {\r\n" +" public:\r\n" +" MainWindow (String name) : DocumentWindow (name,\r\n" +" Colours::lightgrey,\r\n" +" DocumentWindow::allButtons)\r\n" +" {\r\n" +" setUsingNativeTitleBar (true);\r\n" +" setContentOwned (createMainContentComponent(), true);\r\n" +" setResizable (true, true);\r\n" +"\r\n" +" centreWithSize (getWidth(), getHeight());\r\n" +" setVisible (true);\r\n" +" }\r\n" +"\r\n" +" void closeButtonPressed() override\r\n" +" {\r\n" +" // This is called when the user tries to close this window. Here, we'll just\r\n" +" // ask the app to quit when this happens, but you can change this to do\r\n" +" // whatever you need.\r\n" +" JUCEApplication::getInstance()->systemRequestedQuit();\r\n" +" }\r\n" +"\r\n" +" /* Note: Be careful if you override any DocumentWindow methods - the base\r\n" +" class uses a lot of them, so by overriding you might break its functionality.\r\n" +" It's best to do all your work in your content component instead, but if\r\n" +" you really have to override any DocumentWindow methods, make sure your\r\n" +" subclass also calls the superclass's method.\r\n" +" */\r\n" +"\r\n" +" private:\r\n" +" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainWindow)\r\n" +" };\r\n" +"\r\n" +"private:\r\n" +" ScopedPointer mainWindow;\r\n" +"};\r\n" +"\r\n" +"//==============================================================================\r\n" +"// This macro generates the main() routine that launches the app.\r\n" +"START_JUCE_APPLICATION (APPCLASSNAME)\r\n"; + +const char* jucer_MainTemplate_SimpleWindow_cpp = (const char*) temp_binary_data_13; + +//================== jucer_MainTemplate_Window.cpp ================== +static const unsigned char temp_binary_data_14[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" This file was auto-generated!\r\n" +"\r\n" +" It contains the basic startup code for a Juce application.\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"APPHEADERS\r\n" +"\r\n" +"\r\n" +"//==============================================================================\r\n" +"class APPCLASSNAME : public JUCEApplication\r\n" +"{\r\n" +"public:\r\n" +" //==============================================================================\r\n" +" APPCLASSNAME() {}\r\n" +"\r\n" +" const String getApplicationName() override { return ProjectInfo::projectName; }\r\n" +" const String getApplicationVersion() override { return ProjectInfo::versionString; }\r\n" +" bool moreThanOneInstanceAllowed() override { return ALLOWMORETHANONEINSTANCE; }\r\n" +"\r\n" +" //==============================================================================\r\n" +" void initialise (const String& commandLine) override\r\n" +" {\r\n" +" // This method is where you should put your application's initialisation code..\r\n" +"\r\n" +" mainWindow = new MainWindow (getApplicationName());\r\n" +" }\r\n" +"\r\n" +" void shutdown() override\r\n" +" {\r\n" +" // Add your application's shutdown code here..\r\n" +"\r\n" +" mainWindow = nullptr; // (deletes our window)\r\n" +" }\r\n" +"\r\n" +" //==============================================================================\r\n" +" void systemRequestedQuit() override\r\n" +" {\r\n" +" // This is called when the app is being asked to quit: you can ignore this\r\n" +" // request and let the app carry on running, or call quit() to allow the app to close.\r\n" +" quit();\r\n" +" }\r\n" +"\r\n" +" void anotherInstanceStarted (const String& commandLine) override\r\n" +" {\r\n" +" // When another instance of the app is launched while this one is running,\r\n" +" // this method is invoked, and the commandLine parameter tells you what\r\n" +" // the other instance's command-line arguments were.\r\n" +" }\r\n" +"\r\n" +" //==============================================================================\r\n" +" /*\r\n" +" This class implements the desktop window that contains an instance of\r\n" +" our CONTENTCOMPCLASS class.\r\n" +" */\r\n" +" class MainWindow : public DocumentWindow\r\n" +" {\r\n" +" public:\r\n" +" MainWindow (String name) : DocumentWindow (name,\r\n" +" Colours::lightgrey,\r\n" +" DocumentWindow::allButtons)\r\n" +" {\r\n" +" setUsingNativeTitleBar (true);\r\n" +" setContentOwned (new CONTENTCOMPCLASS(), true);\r\n" +"\r\n" +" centreWithSize (getWidth(), getHeight());\r\n" +" setVisible (true);\r\n" +" }\r\n" +"\r\n" +" void closeButtonPressed() override\r\n" +" {\r\n" +" // This is called when the user tries to close this window. Here, we'll just\r\n" +" // ask the app to quit when this happens, but you can change this to do\r\n" +" // whatever you need.\r\n" +" JUCEApplication::getInstance()->systemRequestedQuit();\r\n" +" }\r\n" +"\r\n" +" /* Note: Be careful if you override any DocumentWindow methods - the base\r\n" +" class uses a lot of them, so by overriding you might break its functionality.\r\n" +" It's best to do all your work in your content component instead, but if\r\n" +" you really have to override any DocumentWindow methods, make sure your\r\n" +" subclass also calls the superclass's method.\r\n" +" */\r\n" +"\r\n" +" private:\r\n" +" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainWindow)\r\n" +" };\r\n" +"\r\n" +"private:\r\n" +" ScopedPointer mainWindow;\r\n" +"};\r\n" +"\r\n" +"//==============================================================================\r\n" +"// This macro generates the main() routine that launches the app.\r\n" +"START_JUCE_APPLICATION (APPCLASSNAME)\r\n"; + +const char* jucer_MainTemplate_Window_cpp = (const char*) temp_binary_data_14; + +//================== jucer_NewComponentTemplate.cpp ================== +static const unsigned char temp_binary_data_15[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" FILENAME\r\n" +" Created: DATE\r\n" +" Author: AUTHOR\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"INCLUDE_JUCE\r\n" +"INCLUDE_CORRESPONDING_HEADER\r\n" +"\r\n" +"//==============================================================================\r\n" +"COMPONENTCLASS::COMPONENTCLASS()\r\n" +"{\r\n" +" // In your constructor, you should add any child components, and\r\n" +" // initialise any special settings that your component needs.\r\n" +"\r\n" +"}\r\n" +"\r\n" +"COMPONENTCLASS::~COMPONENTCLASS()\r\n" +"{\r\n" +"}\r\n" +"\r\n" +"void COMPONENTCLASS::paint (Graphics& g)\r\n" +"{\r\n" +" /* This demo code just fills the component's background and\r\n" +" draws some placeholder text to get you started.\r\n" +"\r\n" +" You should replace everything in this method with your own\r\n" +" drawing code..\r\n" +" */\r\n" +"\r\n" +" g.fillAll (Colours::white); // clear the background\r\n" +"\r\n" +" g.setColour (Colours::grey);\r\n" +" g.drawRect (getLocalBounds(), 1); // draw an outline around the component\r\n" +"\r\n" +" g.setColour (Colours::lightblue);\r\n" +" g.setFont (14.0f);\r\n" +" g.drawText (\"COMPONENTCLASS\", getLocalBounds(),\r\n" +" Justification::centred, true); // draw some placeholder text\r\n" +"}\r\n" +"\r\n" +"void COMPONENTCLASS::resized()\r\n" +"{\r\n" +" // This method is where you should set the bounds of any child\r\n" +" // components that your component contains..\r\n" +"\r\n" +"}\r\n"; + +const char* jucer_NewComponentTemplate_cpp = (const char*) temp_binary_data_15; + +//================== jucer_NewComponentTemplate.h ================== +static const unsigned char temp_binary_data_16[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" FILENAME\r\n" +" Created: DATE\r\n" +" Author: AUTHOR\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"#ifndef HEADERGUARD\r\n" +"#define HEADERGUARD\r\n" +"\r\n" +"INCLUDE_JUCE\r\n" +"\r\n" +"//==============================================================================\r\n" +"/*\r\n" +"*/\r\n" +"class COMPONENTCLASS : public Component\r\n" +"{\r\n" +"public:\r\n" +" COMPONENTCLASS();\r\n" +" ~COMPONENTCLASS();\r\n" +"\r\n" +" void paint (Graphics&);\r\n" +" void resized();\r\n" +"\r\n" +"private:\r\n" +" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (COMPONENTCLASS)\r\n" +"};\r\n" +"\r\n" +"\r\n" +"#endif // HEADERGUARD\r\n"; + +const char* jucer_NewComponentTemplate_h = (const char*) temp_binary_data_16; + +//================== jucer_NewCppFileTemplate.cpp ================== +static const unsigned char temp_binary_data_17[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" FILENAME\r\n" +" Created: DATE\r\n" +" Author: AUTHOR\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"INCLUDE_CORRESPONDING_HEADER\r\n"; + +const char* jucer_NewCppFileTemplate_cpp = (const char*) temp_binary_data_17; + +//================== jucer_NewCppFileTemplate.h ================== +static const unsigned char temp_binary_data_18[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" FILENAME\r\n" +" Created: DATE\r\n" +" Author: AUTHOR\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"#ifndef HEADERGUARD\r\n" +"#define HEADERGUARD\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"#endif // HEADERGUARD\r\n"; + +const char* jucer_NewCppFileTemplate_h = (const char*) temp_binary_data_18; + +//================== jucer_NewInlineComponentTemplate.h ================== +static const unsigned char temp_binary_data_19[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" FILENAME\r\n" +" Created: DATE\r\n" +" Author: AUTHOR\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"#ifndef HEADERGUARD\r\n" +"#define HEADERGUARD\r\n" +"\r\n" +"INCLUDE_JUCE\r\n" +"\r\n" +"//==============================================================================\r\n" +"/*\r\n" +"*/\r\n" +"class COMPONENTCLASS : public Component\r\n" +"{\r\n" +"public:\r\n" +" COMPONENTCLASS()\r\n" +" {\r\n" +" // In your constructor, you should add any child components, and\r\n" +" // initialise any special settings that your component needs.\r\n" +"\r\n" +" }\r\n" +"\r\n" +" ~COMPONENTCLASS()\r\n" +" {\r\n" +" }\r\n" +"\r\n" +" void paint (Graphics& g)\r\n" +" {\r\n" +" /* This demo code just fills the component's background and\r\n" +" draws some placeholder text to get you started.\r\n" +"\r\n" +" You should replace everything in this method with your own\r\n" +" drawing code..\r\n" +" */\r\n" +"\r\n" +" g.fillAll (Colours::white); // clear the background\r\n" +"\r\n" +" g.setColour (Colours::grey);\r\n" +" g.drawRect (getLocalBounds(), 1); // draw an outline around the component\r\n" +"\r\n" +" g.setColour (Colours::lightblue);\r\n" +" g.setFont (14.0f);\r\n" +" g.drawText (\"COMPONENTCLASS\", getLocalBounds(),\r\n" +" Justification::centred, true); // draw some placeholder text\r\n" +" }\r\n" +"\r\n" +" void resized()\r\n" +" {\r\n" +" // This method is where you should set the bounds of any child\r\n" +" // components that your component contains..\r\n" +"\r\n" +" }\r\n" +"\r\n" +"private:\r\n" +" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (COMPONENTCLASS)\r\n" +"};\r\n" +"\r\n" +"\r\n" +"#endif // HEADERGUARD\r\n"; + +const char* jucer_NewInlineComponentTemplate_h = (const char*) temp_binary_data_19; + +//================== jucer_OpenGLComponentTemplate.cpp ================== +static const unsigned char temp_binary_data_20[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" This file was auto-generated!\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"#ifndef MAINCOMPONENT_H_INCLUDED\r\n" +"#define MAINCOMPONENT_H_INCLUDED\r\n" +"\r\n" +"INCLUDE_JUCE\r\n" +"\r\n" +"//==============================================================================\r\n" +"/*\r\n" +" This component lives inside our window, and this is where you should put all\r\n" +" your controls and content.\r\n" +"*/\r\n" +"class MainContentComponent : public OpenGLAppComponent\r\n" +"{\r\n" +"public:\r\n" +" //==============================================================================\r\n" +" MainContentComponent()\r\n" +" {\r\n" +" setSize (800, 600);\r\n" +" }\r\n" +"\r\n" +" ~MainContentComponent()\r\n" +" {\r\n" +" shutdownOpenGL();\r\n" +" }\r\n" +"\r\n" +" void initialise() override\r\n" +" {\r\n" +" }\r\n" +"\r\n" +" void shutdown() override\r\n" +" {\r\n" +" }\r\n" +"\r\n" +" void render() override\r\n" +" {\r\n" +" OpenGLHelpers::clear (Colours::black);\r\n" +"\r\n" +" }\r\n" +"\r\n" +" void paint (Graphics& g) override\r\n" +" {\r\n" +" // You can add your component specific drawing code here!\r\n" +" // This will draw over the top of the openGL background.\r\n" +" }\r\n" +"\r\n" +" void resized() override\r\n" +" {\r\n" +" // This is called when the MainContentComponent is resized.\r\n" +" // If you add any child components, this is where you should\r\n" +" // update their positions.\r\n" +" }\r\n" +"\r\n" +"\r\n" +"private:\r\n" +" //==============================================================================\r\n" +"\r\n" +" // private member variables\r\n" +"\r\n" +"\r\n" +"\r\n" +" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainContentComponent)\r\n" +"};\r\n" +"\r\n" +"\r\n" +"// (This function is called by the app startup code to create our main component)\r\n" +"Component* createMainContentComponent() { return new MainContentComponent(); }\r\n" +"\r\n" +"\r\n" +"#endif // MAINCOMPONENT_H_INCLUDED\r\n"; + +const char* jucer_OpenGLComponentTemplate_cpp = (const char*) temp_binary_data_20; + +//================== background_logo.svg ================== +static const unsigned char temp_binary_data_21[] = +"\r\n" +"\r\n" +"\r\n" +"\t\r\n" +"\t\t\r\n" +"\t\t\r\n" +"\t\t\r\n" +"\t\t\r\n" +"\t\r\n" +"\r\n" +"\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\r\n" +"\r\n"; + +const char* background_logo_svg = (const char*) temp_binary_data_21; + +//================== background_tile.png ================== +static const unsigned char temp_binary_data_22[] = +{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,7,0,0,0,7,8,6,0,0,0,196,82,87,211,0,0,0,94,73,68,65,84,120,218,85,141,73,14,0,33,8,4,253,137,226,18,19,245,234,255,127,70,75,155,232,56,135,10,132,94,112,33,4,37,222,123,205,57,107,74,105,239,196,137, +8,72,239,29,99,12,204,57,209,90,227,237,19,45,113,161,209,12,234,172,18,49,70,88,229,134,34,103,173,245,159,60,134,82,10,238,79,166,223,106,238,91,100,229,73,191,80,92,47,179,68,223,148,158,98,226,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; + +const char* background_tile_png = (const char*) temp_binary_data_22; + +//================== colourscheme_dark.xml ================== +static const unsigned char temp_binary_data_23[] = +"\r\n" +"\r\n" +"\r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +"\r\n"; + +const char* colourscheme_dark_xml = (const char*) temp_binary_data_23; + +//================== colourscheme_light.xml ================== +static const unsigned char temp_binary_data_24[] = +"\r\n" +"\r\n" +"\r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +"\r\n"; + +const char* colourscheme_light_xml = (const char*) temp_binary_data_24; + +//================== ContaxPro45Lig.otf ================== +static const unsigned char temp_binary_data_25[] = +{ 79,84,84,79,0,10,0,128,0,3,0,32,67,70,70,32,130,48,47,136,0,0,14,116,0,0,50,99,71,80,79,83,172,161,164,162,0,0,68,168,0,0,27,170,79,83,47,50,137,80,143,12,0,0,1,16,0,0,0,96,99,109,97,112,114,241,200,81,0,0,10,224,0,0,3,116,104,101,97,100,243,145,10,4, +0,0,0,172,0,0,0,54,104,104,101,97,6,169,4,10,0,0,0,228,0,0,0,36,104,109,116,120,255,63,48,131,0,0,64,216,0,0,3,208,109,97,120,112,0,244,80,0,0,0,1,8,0,0,0,6,110,97,109,101,36,183,109,127,0,0,1,112,0,0,9,111,112,111,115,116,255,126,0,20,0,0,14,84,0,0, +0,32,0,1,0,0,0,1,0,0,12,27,62,250,95,15,60,245,0,3,3,232,0,0,0,0,200,99,99,47,0,0,0,0,200,99,99,47,255,111,255,40,4,68,3,158,0,0,0,3,0,2,0,0,0,0,0,0,0,1,0,0,2,190,255,58,0,53,4,108,255,111,255,111,4,68,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,244,0,0,80,0,0, +244,0,0,0,2,2,24,1,44,0,5,0,6,2,138,2,88,0,0,0,75,2,188,2,138,0,0,1,221,0,50,0,250,0,0,2,0,6,3,3,0,0,2,0,4,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,97,107,116,105,0,0,0,32,251,2,2,190,255,58,0,53,3,158,0,216,32,0,0,1,0,0,0,0,2,11,2,154,0,32,0,32,0,2,0,0,0,24, +1,38,0,1,0,0,0,0,0,0,0,75,0,0,0,1,0,0,0,0,0,1,0,17,0,75,0,1,0,0,0,0,0,2,0,7,0,92,0,1,0,0,0,0,0,3,0,25,0,99,0,1,0,0,0,0,0,4,0,17,0,75,0,1,0,0,0,0,0,5,0,32,0,124,0,1,0,0,0,0,0,6,0,14,0,156,0,1,0,0,0,0,0,7,0,70,0,170,0,1,0,0,0,0,0,9,0,33,0,240,0,1,0,0,0, +0,0,10,1,159,1,17,0,1,0,0,0,0,0,11,0,19,2,176,0,1,0,0,0,0,0,12,0,19,2,176,0,3,0,1,4,9,0,0,0,150,2,195,0,3,0,1,4,9,0,1,0,34,3,89,0,3,0,1,4,9,0,2,0,14,3,123,0,3,0,1,4,9,0,3,0,50,3,137,0,3,0,1,4,9,0,4,0,34,3,89,0,3,0,1,4,9,0,5,0,64,3,187,0,3,0,1,4,9,0,6, +0,28,3,251,0,3,0,1,4,9,0,7,0,140,4,23,0,3,0,1,4,9,0,9,0,66,4,163,0,3,0,1,4,9,0,10,3,62,4,229,0,3,0,1,4,9,0,11,0,38,8,35,0,3,0,1,4,9,0,12,0,38,8,35,67,111,112,121,114,105,103,104,116,32,40,99,41,32,65,108,101,120,32,75,97,99,122,117,110,44,32,100,98,97, +32,84,121,112,101,32,73,110,110,111,118,97,116,105,111,110,115,44,32,49,57,57,55,46,32,65,108,108,32,114,105,103,104,116,115,32,114,101,115,101,114,118,101,100,46,67,111,110,116,97,120,32,80,114,111,32,52,53,32,76,105,103,82,101,103,117,108,97,114,49, +46,48,48,48,59,97,107,116,105,59,67,111,110,116,97,120,80,114,111,52,53,76,105,103,79,84,70,32,49,46,48,48,48,59,80,83,32,48,48,49,46,48,48,48,59,67,111,114,101,32,49,46,48,46,51,52,67,111,110,116,97,120,80,114,111,52,53,76,105,103,67,111,110,116,97, +120,32,80,114,111,32,52,53,32,76,105,103,32,105,115,32,97,32,116,114,97,100,101,109,97,114,107,32,111,102,32,65,108,101,120,32,75,97,99,122,117,110,44,32,100,98,97,32,84,121,112,101,32,73,110,110,111,118,97,116,105,111,110,115,46,65,108,101,120,32,75, +97,99,122,117,110,44,32,100,98,97,32,84,121,112,101,32,73,110,110,111,118,97,116,105,111,110,115,84,104,101,32,100,105,103,105,116,97,108,108,121,32,101,110,99,111,100,101,100,32,109,97,99,104,105,110,101,32,114,101,97,100,97,98,108,101,32,115,111,102, +116,119,97,114,101,32,102,111,114,32,112,114,111,100,117,99,105,110,103,32,32,32,116,104,101,32,84,121,112,101,102,97,99,101,115,32,108,105,99,101,110,115,101,100,32,116,111,32,121,111,117,32,105,115,32,99,111,112,121,114,105,103,104,116,101,100,32,40, +99,41,32,49,57,57,55,32,65,108,101,120,32,75,97,99,122,117,110,44,32,100,98,97,32,84,121,112,101,32,73,110,110,111,118,97,116,105,111,110,115,46,32,65,108,108,32,82,105,103,104,116,115,32,82,101,115,101,114,118,101,100,46,32,84,104,105,115,32,115,111, +102,116,119,97,114,101,32,105,115,32,116,104,101,32,112,114,111,112,101,114,116,121,32,111,102,32,65,108,101,120,32,75,97,99,122,117,110,44,32,100,98,97,32,84,121,112,101,32,73,110,110,111,118,97,116,105,111,110,115,44,32,97,110,100,32,105,116,115,32, +108,105,99,101,110,115,111,114,115,44,32,97,110,100,32,109,97,121,32,110,111,116,32,98,101,32,114,101,112,114,111,100,117,99,101,100,44,32,117,115,101,100,44,32,100,105,115,112,108,97,121,101,100,44,32,109,111,100,105,102,105,101,100,44,32,100,105,115, +99,108,111,115,101,100,32,111,114,32,116,114,97,110,115,102,101,114,114,101,100,32,119,105,116,104,111,117,116,32,116,104,101,32,101,120,112,114,101,115,115,32,119,114,105,116,116,101,110,32,97,112,112,114,111,118,97,108,32,111,102,32,65,108,101,120, +32,75,97,99,122,117,110,44,32,100,98,97,32,84,121,112,101,32,73,110,110,111,118,97,116,105,111,110,115,46,32,116,121,112,101,105,110,110,111,118,97,116,105,111,110,115,46,99,111,109,0,67,0,111,0,112,0,121,0,114,0,105,0,103,0,104,0,116,0,32,0,40,0,99, +0,41,0,32,0,65,0,108,0,101,0,120,0,32,0,75,0,97,0,99,0,122,0,117,0,110,0,44,0,32,0,100,0,98,0,97,0,32,0,84,0,121,0,112,0,101,0,32,0,73,0,110,0,110,0,111,0,118,0,97,0,116,0,105,0,111,0,110,0,115,0,44,0,32,0,49,0,57,0,57,0,55,0,46,0,32,0,65,0,108,0,108, +0,32,0,114,0,105,0,103,0,104,0,116,0,115,0,32,0,114,0,101,0,115,0,101,0,114,0,118,0,101,0,100,0,46,0,67,0,111,0,110,0,116,0,97,0,120,0,32,0,80,0,114,0,111,0,32,0,52,0,53,0,32,0,76,0,105,0,103,0,82,0,101,0,103,0,117,0,108,0,97,0,114,0,49,0,46,0,48,0,48, +0,48,0,59,0,97,0,107,0,116,0,105,0,59,0,67,0,111,0,110,0,116,0,97,0,120,0,80,0,114,0,111,0,52,0,53,0,76,0,105,0,103,0,79,0,84,0,70,0,32,0,49,0,46,0,48,0,48,0,48,0,59,0,80,0,83,0,32,0,48,0,48,0,49,0,46,0,48,0,48,0,48,0,59,0,67,0,111,0,114,0,101,0,32,0, +49,0,46,0,48,0,46,0,51,0,52,0,67,0,111,0,110,0,116,0,97,0,120,0,80,0,114,0,111,0,52,0,53,0,76,0,105,0,103,0,67,0,111,0,110,0,116,0,97,0,120,0,32,0,80,0,114,0,111,0,32,0,52,0,53,0,32,0,76,0,105,0,103,0,32,0,105,0,115,0,32,0,97,0,32,0,116,0,114,0,97,0, +100,0,101,0,109,0,97,0,114,0,107,0,32,0,111,0,102,0,32,0,65,0,108,0,101,0,120,0,32,0,75,0,97,0,99,0,122,0,117,0,110,0,44,0,32,0,100,0,98,0,97,0,32,0,84,0,121,0,112,0,101,0,32,0,73,0,110,0,110,0,111,0,118,0,97,0,116,0,105,0,111,0,110,0,115,0,46,0,65,0, +108,0,101,0,120,0,32,0,75,0,97,0,99,0,122,0,117,0,110,0,44,0,32,0,100,0,98,0,97,0,32,0,84,0,121,0,112,0,101,0,32,0,73,0,110,0,110,0,111,0,118,0,97,0,116,0,105,0,111,0,110,0,115,0,84,0,104,0,101,0,32,0,100,0,105,0,103,0,105,0,116,0,97,0,108,0,108,0,121, +0,32,0,101,0,110,0,99,0,111,0,100,0,101,0,100,0,32,0,109,0,97,0,99,0,104,0,105,0,110,0,101,0,32,0,114,0,101,0,97,0,100,0,97,0,98,0,108,0,101,0,32,0,115,0,111,0,102,0,116,0,119,0,97,0,114,0,101,0,32,0,102,0,111,0,114,0,32,0,112,0,114,0,111,0,100,0,117, +0,99,0,105,0,110,0,103,0,32,0,32,0,32,0,116,0,104,0,101,0,32,0,84,0,121,0,112,0,101,0,102,0,97,0,99,0,101,0,115,0,32,0,108,0,105,0,99,0,101,0,110,0,115,0,101,0,100,0,32,0,116,0,111,0,32,0,121,0,111,0,117,0,32,0,105,0,115,0,32,0,99,0,111,0,112,0,121,0, +114,0,105,0,103,0,104,0,116,0,101,0,100,0,32,0,40,0,99,0,41,0,32,0,49,0,57,0,57,0,55,0,32,0,65,0,108,0,101,0,120,0,32,0,75,0,97,0,99,0,122,0,117,0,110,0,44,0,32,0,100,0,98,0,97,0,32,0,84,0,121,0,112,0,101,0,32,0,73,0,110,0,110,0,111,0,118,0,97,0,116, +0,105,0,111,0,110,0,115,0,46,0,32,0,65,0,108,0,108,0,32,0,82,0,105,0,103,0,104,0,116,0,115,0,32,0,82,0,101,0,115,0,101,0,114,0,118,0,101,0,100,0,46,0,32,0,84,0,104,0,105,0,115,0,32,0,115,0,111,0,102,0,116,0,119,0,97,0,114,0,101,0,32,0,105,0,115,0,32, +0,116,0,104,0,101,0,32,0,112,0,114,0,111,0,112,0,101,0,114,0,116,0,121,0,32,0,111,0,102,0,32,0,65,0,108,0,101,0,120,0,32,0,75,0,97,0,99,0,122,0,117,0,110,0,44,0,32,0,100,0,98,0,97,0,32,0,84,0,121,0,112,0,101,0,32,0,73,0,110,0,110,0,111,0,118,0,97,0,116, +0,105,0,111,0,110,0,115,0,44,0,32,0,97,0,110,0,100,0,32,0,105,0,116,0,115,0,32,0,108,0,105,0,99,0,101,0,110,0,115,0,111,0,114,0,115,0,44,0,32,0,97,0,110,0,100,0,32,0,109,0,97,0,121,0,32,0,110,0,111,0,116,0,32,0,98,0,101,0,32,0,114,0,101,0,112,0,114,0, +111,0,100,0,117,0,99,0,101,0,100,0,44,0,32,0,117,0,115,0,101,0,100,0,44,0,32,0,100,0,105,0,115,0,112,0,108,0,97,0,121,0,101,0,100,0,44,0,32,0,109,0,111,0,100,0,105,0,102,0,105,0,101,0,100,0,44,0,32,0,100,0,105,0,115,0,99,0,108,0,111,0,115,0,101,0,100, +0,32,0,111,0,114,0,32,0,116,0,114,0,97,0,110,0,115,0,102,0,101,0,114,0,114,0,101,0,100,0,32,0,119,0,105,0,116,0,104,0,111,0,117,0,116,0,32,0,116,0,104,0,101,0,32,0,101,0,120,0,112,0,114,0,101,0,115,0,115,0,32,0,119,0,114,0,105,0,116,0,116,0,101,0,110, +0,32,0,97,0,112,0,112,0,114,0,111,0,118,0,97,0,108,0,32,0,111,0,102,0,32,0,65,0,108,0,101,0,120,0,32,0,75,0,97,0,99,0,122,0,117,0,110,0,44,0,32,0,100,0,98,0,97,0,32,0,84,0,121,0,112,0,101,0,32,0,73,0,110,0,110,0,111,0,118,0,97,0,116,0,105,0,111,0,110, +0,115,0,46,0,32,0,116,0,121,0,112,0,101,0,105,0,110,0,110,0,111,0,118,0,97,0,116,0,105,0,111,0,110,0,115,0,46,0,99,0,111,0,109,0,0,0,0,3,0,0,0,3,0,0,1,34,0,1,0,0,0,0,0,28,0,3,0,1,0,0,1,34,0,0,1,6,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,21,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98, +99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,0,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161, +162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,21,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,242,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, +223,224,225,0,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,0,4,2,82,0,0,0,88,0,64,0,5,0,24,0,126,0,163,0,255,1,49,1,66,1,83,1,97,1,120,1,126,1,146,2,199,2,201,2,218,2,221,3,126,3,148,3,169,3,188,3,192,32,20,32,26,32,30,32,34,32,38,32,48, +32,58,32,68,32,172,33,34,33,38,34,2,34,6,34,15,34,18,34,21,34,26,34,30,34,43,34,72,34,96,34,101,37,202,251,2,255,255,0,0,0,32,0,160,0,165,1,49,1,65,1,82,1,96,1,120,1,125,1,146,2,198,2,201,2,216,2,219,3,126,3,148,3,169,3,188,3,192,32,19,32,24,32,28,32, +32,32,38,32,48,32,57,32,68,32,172,33,34,33,38,34,2,34,6,34,15,34,17,34,21,34,25,34,30,34,43,34,72,34,96,34,100,37,202,251,1,255,255,255,245,0,0,0,0,255,182,254,193,255,111,254,164,255,84,254,141,255,38,0,0,254,33,254,19,0,0,252,178,253,38,253,8,252,237, +252,237,224,176,0,0,0,0,0,0,224,151,224,166,224,149,224,137,224,70,223,124,223,139,222,168,222,180,222,157,0,0,222,184,0,0,222,134,222,131,222,113,222,65,222,66,219,0,5,207,0,1,0,0,0,86,0,92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,248,0,252,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,0,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,0,181,0,150,0,151,0,168,0,18,0,152,0,160,0,157,0,175,0,187,0,182,0,34,0,156,0,234,0,149,0,165,0,17,0,16,0,159,0,169,0,154,0,211,0,238, +0,14,0,176,0,188,0,13,0,12,0,15,0,180,0,190,0,217,0,215,0,191,0,116,0,117,0,162,0,118,0,219,0,119,0,216,0,218,0,223,0,220,0,221,0,222,0,243,0,120,0,227,0,224,0,225,0,192,0,121,0,20,0,163,0,230,0,228,0,229,0,122,0,6,0,8,0,155,0,124,0,123,0,125,0,127,0, +126,0,128,0,178,0,129,0,131,0,130,0,132,0,133,0,135,0,134,0,136,0,137,0,1,0,138,0,140,0,139,0,141,0,143,0,142,0,201,0,179,0,145,0,144,0,146,0,147,0,7,0,9,0,203,0,232,0,241,0,240,0,233,0,239,0,199,0,200,0,212,0,197,0,198,0,213,0,148,0,210,0,153,0,171, +0,19,0,211,0,183,0,3,0,0,0,0,0,0,255,123,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,4,2,0,1,1,1,15,67,111,110,116,97,120,80,114,111,52,53,76,105,103,0,1,1,1,47,248,15,0,248,43,1,248,44,12,0,248,45,2,248,45,3,248,22,4,251,25,12,3,159,12,4,251,37, +251,108,250,216,250,50,5,249,124,15,250,220,17,179,28,43,98,18,0,19,2,0,1,0,9,0,17,0,26,0,38,0,49,0,58,0,65,0,67,0,75,0,80,0,87,0,98,0,103,0,110,0,115,0,119,0,194,2,97,2,114,110,111,116,101,113,117,97,108,105,110,102,105,110,105,116,121,108,101,115,115, +101,113,117,97,108,103,114,101,97,116,101,114,101,113,117,97,108,112,97,114,116,105,97,108,100,105,102,102,115,117,109,109,97,116,105,111,110,112,114,111,100,117,99,116,112,105,105,110,116,101,103,114,97,108,79,109,101,103,97,114,97,100,105,99,97,108, +97,112,112,114,111,120,101,113,117,97,108,68,101,108,116,97,108,111,122,101,110,103,101,97,112,112,108,101,69,117,114,111,67,111,112,121,114,105,103,104,116,32,40,99,41,32,65,108,101,120,32,75,97,99,122,117,110,44,32,100,98,97,32,84,121,112,101,32,73, +110,110,111,118,97,116,105,111,110,115,44,32,49,57,57,55,46,32,65,108,108,32,114,105,103,104,116,115,32,114,101,115,101,114,118,101,100,46,84,104,101,32,100,105,103,105,116,97,108,108,121,32,101,110,99,111,100,101,100,32,109,97,99,104,105,110,101,32, +114,101,97,100,97,98,108,101,32,115,111,102,116,119,97,114,101,32,102,111,114,32,112,114,111,100,117,99,105,110,103,32,32,32,116,104,101,32,84,121,112,101,102,97,99,101,115,32,108,105,99,101,110,115,101,100,32,116,111,32,121,111,117,32,105,115,32,99, +111,112,121,114,105,103,104,116,101,100,32,40,99,41,32,49,57,57,55,32,65,108,101,120,32,75,97,99,122,117,110,44,32,100,98,97,32,84,121,112,101,32,73,110,110,111,118,97,116,105,111,110,115,46,32,65,108,108,32,82,105,103,104,116,115,32,82,101,115,101,114, +118,101,100,46,32,84,104,105,115,32,115,111,102,116,119,97,114,101,32,105,115,32,116,104,101,32,112,114,111,112,101,114,116,121,32,111,102,32,65,108,101,120,32,75,97,99,122,117,110,44,32,100,98,97,32,84,121,112,101,32,73,110,110,111,118,97,116,105,111, +110,115,44,32,97,110,100,32,105,116,115,32,108,105,99,101,110,115,111,114,115,44,32,97,110,100,32,109,97,121,32,110,111,116,32,98,101,32,114,101,112,114,111,100,117,99,101,100,44,32,117,115,101,100,44,32,100,105,115,112,108,97,121,101,100,44,32,109,111, +100,105,102,105,101,100,44,32,100,105,115,99,108,111,115,101,100,32,111,114,32,116,114,97,110,115,102,101,114,114,101,100,32,119,105,116,104,111,117,116,32,116,104,101,32,101,120,112,114,101,115,115,32,119,114,105,116,116,101,110,32,97,112,112,114,111, +118,97,108,32,111,102,32,65,108,101,120,32,75,97,99,122,117,110,44,32,100,98,97,32,84,121,112,101,32,73,110,110,111,118,97,116,105,111,110,115,46,32,67,111,110,116,97,120,32,80,114,111,32,52,53,32,76,105,103,0,0,1,0,167,0,0,140,0,0,146,0,0,192,0,0,221, +0,0,197,0,0,226,0,0,157,0,0,162,0,0,199,0,0,228,0,0,155,0,0,158,0,0,150,0,0,163,0,0,169,0,0,164,0,0,160,0,0,166,0,0,168,0,0,1,6,0,104,0,0,9,55,0,124,0,0,66,29,0,173,0,0,175,0,0,177,1,0,186,0,0,189,0,0,195,0,0,200,0,0,203,0,0,201,1,0,205,0,0,204,0,0,206, +1,0,210,0,0,208,1,0,211,0,0,214,0,0,212,1,0,215,1,0,219,0,0,217,1,0,220,0,0,222,0,0,225,0,0,223,1,0,112,0,0,161,0,0,97,1,0,102,0,0,116,0,0,115,0,0,149,0,0,165,0,0,170,0,0,153,0,0,125,0,0,131,0,1,135,0,0,138,0,0,141,0,1,136,0,0,156,0,1,137,1,0,100,0,0, +152,0,1,139,4,0,139,0,0,143,0,1,144,0,0,144,0,0,147,0,0,123,0,0,96,0,0,151,0,1,145,0,0,101,0,1,146,1,0,106,0,0,120,1,0,174,0,0,176,0,0,191,0,0,142,0,0,148,0,0,111,0,0,137,0,0,105,0,0,119,0,0,65,0,0,8,0,0,159,0,1,148,0,0,227,0,0,198,0,0,99,0,0,107,3,0, +113,1,0,117,1,0,122,0,0,172,0,0,179,0,0,171,0,0,180,5,0,187,1,1,149,0,0,190,0,0,193,1,0,196,0,0,145,0,0,126,4,0,132,4,1,150,0,0,154,0,0,244,2,0,1,0,4,0,123,0,173,0,219,0,228,0,238,0,246,0,254,1,47,1,65,1,74,1,83,1,131,1,197,1,217,2,41,2,69,2,90,2,123, +2,135,2,186,2,189,2,211,2,233,3,85,3,220,3,239,4,119,4,131,4,181,4,235,5,36,5,69,5,83,5,100,5,114,5,131,5,196,5,227,6,37,6,140,6,190,7,20,7,110,7,136,8,4,8,93,8,116,8,136,8,161,8,182,8,208,9,45,9,226,10,21,10,133,10,147,10,162,10,191,10,218,11,50,11, +90,11,105,11,156,11,192,11,211,12,5,12,44,12,58,12,100,12,155,12,224,13,67,13,96,13,155,13,186,13,236,14,29,14,66,14,97,14,130,14,148,14,180,14,214,14,230,14,254,15,70,15,98,15,121,15,162,15,250,16,13,16,65,16,78,16,90,16,131,16,175,16,194,17,24,17,36, +17,67,17,81,17,104,17,145,17,237,18,19,18,73,18,104,18,152,18,206,18,244,19,20,19,106,19,130,19,215,19,239,19,243,19,252,20,50,20,58,20,67,20,71,20,75,20,82,20,86,20,90,20,94,20,98,20,106,20,159,20,166,20,173,20,180,20,187,20,194,20,201,20,207,20,214, +20,222,20,226,20,230,20,234,20,238,20,242,20,246,20,250,20,254,21,2,21,36,21,92,21,187,22,27,22,190,22,221,23,42,23,158,24,19,24,130,24,201,24,213,24,234,25,47,25,112,25,229,26,82,26,121,26,152,26,183,26,251,27,58,27,151,27,217,28,10,28,48,28,119,28, +228,29,43,29,134,29,207,30,67,30,160,30,195,30,223,31,4,31,112,31,147,31,182,31,196,31,211,31,233,31,241,31,245,31,254,32,110,32,168,32,184,32,201,32,224,32,250,33,5,33,16,33,50,33,94,33,102,33,110,33,128,33,138,33,149,33,187,33,216,34,11,34,26,34,43, +34,65,34,97,34,101,34,105,34,109,34,113,34,117,34,121,34,125,34,129,34,133,34,142,34,146,34,238,34,242,34,246,34,250,34,254,35,13,35,42,35,104,35,119,35,159,35,168,35,223,36,30,36,55,36,110,36,137,37,16,37,46,251,207,14,108,131,186,248,11,185,247,139, +119,1,187,190,248,12,190,3,248,162,247,123,21,247,25,48,247,27,251,11,247,6,30,247,10,194,121,177,251,25,77,108,165,115,160,119,155,25,101,110,154,129,156,124,175,109,25,251,22,78,158,101,247,37,207,195,85,194,79,177,71,25,179,95,86,149,98,27,251,17, +251,2,35,251,21,251,21,247,2,33,247,20,247,23,247,1,242,247,28,31,88,135,21,35,55,55,36,35,54,223,243,242,224,223,243,242,223,55,36,30,14,71,139,185,249,0,119,1,247,8,191,3,248,131,22,185,251,219,247,167,7,247,75,247,11,5,192,7,251,75,251,13,5,247,186, +87,251,219,7,34,71,5,87,7,244,207,5,251,179,7,14,251,212,160,118,249,80,119,1,247,9,191,3,247,171,248,76,21,192,7,251,2,66,5,247,172,87,251,205,7,251,3,66,5,87,7,247,3,211,5,251,226,191,248,4,7,14,97,247,50,247,36,222,247,99,14,251,7,247,15,139,247,7, +247,99,14,57,247,47,247,36,228,106,10,44,247,32,139,247,13,106,10,88,160,118,247,42,184,247,173,185,247,36,119,138,10,247,194,190,3,248,141,247,227,21,245,56,220,251,9,30,251,45,247,36,87,253,46,191,247,42,247,45,6,247,8,223,218,245,71,10,124,10,247, +89,119,64,10,247,202,88,254,22,190,247,195,7,32,10,89,247,44,247,36,229,247,99,14,251,47,235,139,247,14,247,99,14,247,61,139,177,114,118,248,8,178,247,163,119,18,247,53,182,248,100,182,19,188,249,93,22,42,10,247,17,249,54,21,93,6,19,124,252,13,253,62, +5,185,6,156,247,171,59,10,14,135,10,248,158,119,18,247,53,182,248,48,183,19,124,249,106,247,6,21,177,73,247,161,7,251,158,251,199,5,247,114,251,6,183,247,6,6,74,248,196,21,92,6,19,188,72,10,125,247,171,59,10,248,91,251,11,21,251,29,6,247,29,247,53,5, +14,251,161,247,184,118,248,39,119,1,247,53,182,3,247,96,247,163,59,10,14,135,10,247,7,104,10,247,206,183,19,126,128,249,115,247,6,21,177,72,247,161,7,251,157,251,199,5,247,113,251,6,183,247,6,6,84,248,196,21,92,6,19,189,128,72,10,213,248,32,21,180,116, +179,92,157,30,19,126,128,47,10,19,125,128,60,10,247,206,251,128,21,251,28,6,247,28,247,53,5,14,251,127,247,159,104,10,19,232,247,202,248,24,21,180,116,179,92,157,30,19,240,47,10,19,232,60,10,14,251,127,247,163,177,247,218,178,1,247,160,182,3,247,205, +247,163,21,42,10,14,252,19,84,118,249,130,119,1,227,186,3,247,27,248,60,21,247,142,92,251,142,7,186,252,136,21,247,142,92,251,142,7,14,134,247,146,185,1,248,177,247,146,65,10,14,134,231,118,248,47,119,1,248,142,243,21,251,65,247,65,247,64,247,65,107, +171,251,65,251,64,251,65,247,64,107,107,247,65,251,65,251,65,251,65,171,107,247,65,247,65,247,66,251,66,5,14,251,207,14,251,236,152,144,10,247,48,247,89,21,248,139,88,252,139,7,206,251,56,78,10,14,251,93,133,10,240,186,3,247,191,248,113,21,247,130,92, +251,130,7,38,22,145,10,106,160,118,247,122,178,247,33,179,247,108,119,1,248,171,248,46,21,179,251,9,7,171,247,108,5,97,6,105,251,108,5,251,35,6,172,247,108,5,96,6,106,251,108,5,251,13,99,247,7,6,118,251,33,5,251,16,100,247,9,6,104,251,122,5,182,6,174, +247,122,5,247,36,6,104,251,122,5,181,6,175,247,122,5,247,13,178,251,7,6,161,247,33,5,95,22,118,251,33,5,251,36,6,161,247,33,5,14,106,67,118,242,184,248,192,187,229,119,1,227,190,247,11,182,247,29,190,3,248,125,247,85,21,230,89,193,251,30,173,30,247,132, +7,201,134,188,102,155,84,188,149,24,121,211,77,195,43,145,8,229,96,48,7,43,128,65,72,48,26,62,183,91,247,18,107,30,251,170,7,63,146,82,186,128,210,91,129,24,151,54,215,71,243,132,8,37,182,242,7,246,149,220,212,239,26,251,123,247,83,21,49,165,110,169, +192,26,201,186,188,211,146,30,247,72,252,55,21,66,86,83,55,131,30,247,159,7,242,110,173,101,76,26,14,247,61,74,10,3,249,114,247,45,21,39,10,247,217,251,252,21,45,10,247,49,130,183,125,118,248,30,183,247,82,185,18,221,191,143,190,19,188,249,75,248,30, +21,183,251,161,95,222,7,184,68,146,50,91,59,251,123,247,131,24,81,199,104,171,188,26,187,181,185,204,182,176,118,122,157,30,169,179,5,163,110,94,159,83,27,51,71,75,65,73,181,96,183,96,31,58,101,78,60,54,26,63,204,251,7,247,62,220,201,173,198,191,30,19, +124,220,55,5,207,6,251,9,247,14,199,235,138,238,94,216,25,64,251,171,21,19,188,97,103,84,101,68,27,251,4,64,215,219,206,182,194,215,179,31,14,251,241,133,10,3,247,43,248,113,21,145,10,136,10,234,190,3,247,180,251,76,21,44,247,32,92,247,37,247,39,26,247, +39,186,247,35,234,247,33,30,102,163,5,56,251,4,66,251,47,251,80,26,251,80,212,251,49,221,251,3,30,14,136,10,247,86,190,3,247,137,247,140,21,247,80,65,247,47,57,247,4,30,102,114,5,234,251,32,186,251,35,251,39,26,251,39,92,251,37,44,251,33,30,176,116,5, +221,247,3,213,247,49,247,80,26,14,94,248,38,118,247,211,119,1,247,149,184,3,248,84,248,195,21,123,188,251,26,88,147,247,35,5,87,6,146,251,35,251,25,190,123,90,247,29,102,50,251,3,180,109,218,247,12,218,251,12,180,169,50,247,3,5,14,134,195,118,247,111, +185,247,111,142,10,247,146,21,185,251,110,247,111,93,251,111,251,110,93,247,110,251,111,185,247,111,7,14,251,233,251,26,118,247,111,119,1,247,61,203,117,10,251,152,247,123,183,1,247,179,247,123,21,183,251,121,95,7,14,251,233,151,118,222,119,1,247,65, +171,21,33,10,14,139,10,247,229,249,126,21,92,152,251,144,253,212,186,126,5,14,106,131,151,10,1,198,190,247,244,190,3,248,149,247,225,21,247,148,32,224,251,12,251,18,38,54,251,148,251,148,240,54,247,18,247,12,246,224,247,148,30,88,22,251,121,56,74,46, +38,64,204,247,121,247,121,214,204,240,232,222,81,251,128,30,14,106,160,118,249,54,119,1,247,188,190,3,247,239,22,249,54,106,7,251,77,65,157,97,247,41,200,5,252,255,7,14,106,139,185,248,217,186,1,248,51,190,3,248,105,22,185,251,201,7,247,113,247,144,5, +198,207,165,192,196,26,247,2,55,227,251,10,59,74,99,66,102,30,178,116,5,197,172,186,170,200,27,223,208,72,56,93,119,98,78,69,31,251,172,251,212,5,14,106,131,186,247,192,182,247,137,186,18,248,42,191,112,191,19,232,248,119,247,84,21,212,95,211,47,163, +30,19,240,220,163,169,199,197,26,237,59,212,251,4,66,83,113,92,98,30,180,111,5,178,171,185,154,192,27,213,203,92,62,59,86,98,251,23,31,98,96,212,6,19,232,234,221,80,49,56,64,71,46,77,80,163,179,108,31,96,113,5,85,181,204,108,224,27,247,13,241,226,247, +5,31,14,106,160,118,247,89,184,248,82,119,1,248,9,190,3,248,170,247,88,21,185,251,2,248,82,7,252,38,252,127,5,247,243,251,89,190,247,88,6,88,185,21,251,148,6,247,148,247,208,5,14,106,131,186,247,253,186,247,65,185,1,247,3,186,247,174,191,3,248,128,247, +112,21,247,29,40,229,251,29,109,109,136,127,101,30,247,80,247,174,185,251,221,251,195,7,165,183,187,150,184,27,247,8,215,74,251,7,251,4,50,70,251,2,91,93,152,175,95,31,103,104,5,97,187,193,120,204,27,247,35,247,7,230,247,29,31,14,106,131,186,248,11,185, +247,120,119,1,188,190,248,12,190,3,248,163,247,122,21,247,17,35,244,251,20,86,92,117,109,105,30,171,198,247,20,247,25,228,198,100,168,24,251,1,55,251,105,251,83,251,74,26,251,27,247,1,35,247,24,247,20,247,1,244,247,25,30,88,136,21,35,54,55,35,36,55,223, +243,242,223,223,242,243,224,55,36,30,14,106,160,118,249,0,185,1,248,163,249,46,21,252,73,93,247,250,6,251,198,253,0,5,192,6,14,106,131,186,247,186,186,247,139,186,18,198,190,114,190,247,193,190,114,190,19,242,248,150,247,75,21,214,92,219,43,159,30,19, +236,222,159,173,208,197,26,227,63,220,251,18,251,17,63,58,51,81,173,70,222,119,30,19,242,43,119,92,59,64,26,33,234,54,247,25,247,21,237,224,245,30,19,236,62,247,213,21,73,82,81,46,44,83,197,205,206,196,195,233,233,195,83,72,30,19,242,165,251,212,21,61, +69,72,33,32,69,206,217,220,208,207,247,0,247,1,206,71,58,30,14,106,138,118,247,120,185,248,11,186,1,185,191,248,11,190,3,248,160,248,71,21,247,27,251,1,243,251,23,251,20,251,2,34,251,25,251,17,244,34,247,19,192,187,161,169,173,30,107,80,251,20,251,25, +50,80,178,110,24,247,0,223,247,105,247,83,247,74,26,88,143,21,36,55,55,36,35,55,223,242,243,223,223,243,242,223,55,35,30,14,251,233,151,118,248,24,119,1,229,222,3,247,65,247,230,51,10,251,198,4,33,10,14,251,233,251,26,118,248,170,119,1,247,65,247,230, +51,10,135,251,166,117,10,131,10,170,21,185,7,252,72,247,92,248,72,247,92,5,185,7,252,124,251,114,5,91,7,14,134,247,51,185,247,31,185,1,248,177,247,236,65,10,248,118,251,77,65,10,14,131,10,247,145,21,187,7,252,125,247,114,5,93,7,248,72,251,92,252,72,251, +92,5,93,7,14,251,33,152,118,249,41,186,1,247,60,190,247,28,191,3,248,43,248,180,21,239,47,195,45,59,82,107,86,108,30,184,116,5,181,164,180,158,197,27,210,201,91,76,74,104,106,88,97,31,62,77,117,89,137,44,8,190,6,141,226,162,178,214,199,8,208,195,158, +186,199,26,251,63,252,146,21,162,120,157,116,116,120,121,116,115,158,121,120,10,157,163,30,14,248,11,99,179,247,41,178,247,201,172,247,32,179,1,243,185,247,58,191,248,101,183,3,250,1,248,45,21,247,70,251,36,247,15,251,105,251,118,251,82,251,67,251,110, +251,113,247,54,251,28,247,122,247,24,247,11,192,186,198,30,117,170,5,83,61,48,104,32,27,251,110,251,32,247,8,247,90,247,101,247,65,247,39,247,98,247,76,247,12,36,251,47,251,25,61,48,61,108,116,158,175,158,145,161,147,168,31,200,247,93,5,94,6,119,68,5, +188,127,93,177,78,27,41,39,38,251,25,50,193,81,214,193,196,169,199,171,31,100,131,162,88,207,27,247,0,237,247,6,247,38,31,251,161,141,21,97,128,89,114,88,30,90,115,96,105,87,27,91,102,179,209,238,208,242,221,197,170,96,96,31,14,154,160,118,247,136,185, +248,34,119,1,249,0,22,251,202,249,68,251,202,253,68,5,195,6,247,0,247,136,5,247,183,6,247,0,251,136,5,251,21,247,182,21,251,141,6,247,17,247,173,5,14,139,139,185,247,168,184,247,145,185,18,239,191,247,202,191,107,190,19,244,248,169,247,75,21,213,98,211, +51,157,30,19,248,213,154,175,211,201,26,201,102,247,0,251,42,30,251,119,253,46,247,119,6,19,244,247,53,184,247,1,213,31,19,248,68,247,204,21,54,88,96,251,6,30,251,37,247,145,247,42,6,247,6,185,94,59,31,19,244,159,251,204,21,82,112,59,251,27,30,251,60, +247,168,247,56,6,247,26,171,60,79,31,14,186,131,151,10,1,191,192,3,40,10,140,10,146,10,231,139,185,248,210,68,10,253,46,66,10,248,210,89,10,91,139,185,247,160,123,10,22,185,251,219,247,160,247,207,185,251,207,247,152,247,219,185,252,15,253,46,7,14,75, +160,118,247,206,123,10,249,0,21,185,252,15,253,46,191,247,206,247,207,185,251,207,247,152,7,14,247,57,131,186,247,166,184,247,161,186,1,191,192,248,196,191,3,249,97,247,223,21,166,251,197,94,247,145,7,251,48,251,6,251,10,251,49,251,55,251,18,247,22,247, +56,247,56,247,19,247,22,247,54,220,209,107,75,200,30,178,172,5,210,74,51,178,41,27,251,81,251,45,251,45,251,80,140,10,247,87,247,20,247,47,247,76,31,14,226,160,118,247,213,184,247,192,119,1,233,191,248,24,191,3,248,222,22,249,46,87,251,192,252,24,247, +192,87,253,46,191,247,213,248,24,251,213,7,14,251,225,100,10,247,2,191,3,247,54,22,249,46,137,10,251,8,131,186,249,7,119,1,247,234,190,3,248,29,247,117,21,248,77,88,252,77,7,251,6,70,67,40,90,98,158,178,105,30,103,107,5,89,182,191,116,204,27,247,23,227, +232,247,32,31,14,122,100,10,239,191,3,248,205,22,251,239,247,229,247,205,247,221,5,73,6,251,209,251,224,247,236,251,226,5,251,236,22,249,46,137,10,55,139,185,249,0,119,138,10,3,248,115,22,185,251,219,249,0,137,10,247,170,138,118,182,118,249,68,119,1, +249,239,22,251,110,249,68,251,92,252,202,251,92,248,202,251,109,253,68,5,192,6,247,60,248,173,247,88,252,195,247,88,248,198,247,61,252,176,5,14,247,25,138,118,182,118,249,46,119,181,119,138,10,248,71,190,3,249,18,117,21,249,68,88,252,187,7,252,123,248, +209,5,253,68,191,248,187,7,14,247,73,131,151,10,1,148,10,46,10,86,22,50,10,88,160,118,247,186,184,247,173,112,10,247,194,190,3,248,141,248,115,21,246,55,219,251,8,30,251,97,253,46,191,247,186,247,45,6,247,8,223,219,244,71,10,247,73,251,40,118,247,53, +186,114,118,249,14,186,18,148,10,19,220,38,10,30,19,188,147,150,140,142,27,247,184,251,54,163,179,251,137,247,27,5,247,25,173,247,7,247,19,247,58,26,86,22,19,220,50,10,135,160,118,247,185,178,247,180,112,10,247,209,191,3,248,208,22,251,169,247,183,5, +145,176,140,140,144,31,247,5,146,204,225,230,26,246,61,221,251,23,30,251,104,253,46,191,249,0,247,48,6,237,202,83,52,52,75,81,40,31,251,8,6,247,207,251,224,5,14,97,131,186,248,224,187,1,211,192,247,207,192,3,248,129,247,77,21,236,86,195,251,40,176,30, +251,19,169,99,172,202,26,211,201,193,228,214,199,100,74,157,30,190,150,5,219,120,67,200,251,2,27,251,5,45,65,35,56,188,87,247,31,107,31,247,29,107,182,99,65,26,57,72,76,38,48,70,189,220,126,30,89,129,5,46,152,226,64,247,12,27,247,17,238,219,247,5,31, +14,43,160,118,249,0,185,1,247,121,191,3,248,117,249,0,21,185,252,88,93,247,92,253,0,191,249,0,7,14,243,131,186,249,7,119,1,235,190,248,51,190,3,248,249,247,158,21,248,36,88,252,30,7,251,35,52,49,251,13,251,12,52,229,247,35,30,248,30,88,252,36,7,251,62, +247,10,35,247,32,247,33,247,10,243,247,62,30,14,154,138,118,249,68,119,1,249,0,249,46,21,82,6,251,145,252,207,251,146,248,207,5,83,6,247,202,253,68,5,14,247,170,138,118,249,68,119,181,119,1,249,239,249,46,21,86,6,251,61,252,176,251,88,248,198,251,88, +252,195,251,60,248,173,5,86,6,247,109,253,68,247,92,248,202,247,92,252,202,5,14,91,100,10,248,186,22,251,132,247,239,247,113,247,211,5,76,6,251,81,251,165,251,83,247,165,5,76,6,247,114,251,211,251,133,251,239,5,202,6,247,101,247,194,247,101,251,194,5, +14,57,100,10,247,128,190,3,248,171,249,46,21,77,6,251,103,251,203,251,104,247,203,5,77,6,247,140,252,2,5,251,192,190,247,192,7,14,89,139,185,248,210,185,1,248,158,22,185,252,40,7,248,27,249,0,5,252,98,93,248,7,6,252,27,253,0,5,14,129,10,247,22,188,90, +247,35,19,208,247,165,251,77,21,181,7,19,224,45,249,168,6,19,208,233,181,251,35,253,252,6,14,139,10,247,218,66,21,251,144,249,212,91,126,247,145,253,212,5,14,129,10,206,247,35,90,188,19,224,247,102,251,77,21,249,252,251,35,97,7,19,208,233,253,168,6,19, +224,45,97,6,14,100,248,65,118,247,209,119,1,248,113,248,44,21,251,86,247,209,251,86,251,209,5,192,6,247,33,247,124,247,34,251,124,5,14,34,251,27,185,1,248,136,251,27,21,185,252,136,93,7,14,248,235,118,247,72,119,1,247,89,248,214,21,251,18,247,72,97,113, +247,10,251,46,5,14,67,131,182,125,111,10,18,182,190,247,194,190,19,120,248,105,22,123,170,133,182,171,26,247,124,7,247,21,36,175,59,67,75,116,101,89,30,86,10,100,82,50,55,26,19,184,62,205,91,229,215,212,170,212,192,30,19,120,113,145,91,151,117,30,116, +247,103,21,19,184,79,10,169,131,186,121,109,10,18,225,190,248,34,191,19,124,49,10,247,202,88,253,80,190,244,7,19,188,32,10,64,131,99,10,190,3,43,10,251,31,247,5,251,8,247,33,203,196,159,182,186,31,14,169,131,186,121,109,10,18,187,191,248,34,190,19,124, +248,185,22,249,80,88,251,202,62,10,31,19,188,69,10,30,19,124,34,7,247,139,4,19,188,41,10,126,87,10,187,191,248,32,190,3,248,183,247,144,21,247,32,39,247,3,251,37,251,33,251,5,251,6,251,34,251,31,247,6,251,8,247,33,210,207,165,189,190,30,103,173,5,99, +95,83,116,85,27,38,47,214,247,8,129,31,248,82,6,139,140,151,149,26,88,161,21,252,31,6,247,3,154,226,210,238,27,239,222,71,251,6,150,31,14,251,159,94,10,1,244,191,3,248,22,249,43,21,168,108,99,155,34,10,169,251,98,186,247,43,103,10,193,21,248,77,57,10, +101,7,251,33,45,54,251,4,77,88,162,184,100,30,101,109,5,83,187,206,110,214,27,247,41,247,0,247,7,247,37,31,88,247,85,21,41,10,127,160,109,10,67,10,247,178,88,253,80,75,10,160,118,249,68,61,10,253,27,21,125,10,14,251,108,186,249,237,61,10,253,72,21,248, +176,88,252,143,7,34,97,87,66,116,125,143,150,121,30,109,107,5,118,169,165,130,172,27,235,205,216,233,31,14,251,15,160,118,249,82,119,1,225,190,3,248,100,22,251,152,247,147,247,130,247,132,5,74,6,251,131,251,132,247,152,251,147,5,251,153,22,249,82,88, +253,82,7,14,160,118,249,80,119,1,234,191,3,247,39,22,249,80,87,253,80,7,14,247,192,160,111,10,1,225,190,247,183,191,247,183,190,20,56,249,202,22,247,186,7,247,20,58,220,251,0,47,82,85,75,113,30,196,121,84,200,46,27,52,91,88,102,119,31,219,88,252,131, +190,247,174,7,247,1,203,204,222,223,199,75,251,2,30,251,174,191,247,174,7,247,1,202,204,222,223,200,75,251,2,30,251,174,7,14,127,160,111,10,67,10,220,88,252,131,75,10,141,131,99,10,190,248,44,191,3,248,195,247,139,21,247,34,251,7,247,6,251,33,85,10,141, +10,30,87,22,63,10,124,10,64,10,244,88,253,73,190,247,195,7,32,10,169,251,69,118,247,82,103,10,251,90,21,249,73,57,10,251,195,7,248,81,4,41,10,251,162,160,118,248,139,119,1,225,190,3,247,208,248,90,21,188,7,48,133,81,92,109,82,8,241,88,252,131,190,247, +136,7,234,188,236,247,22,157,30,14,251,7,131,149,10,203,191,247,154,190,3,248,65,247,30,21,212,97,184,251,18,165,30,37,160,96,161,184,26,189,187,175,212,201,188,114,87,157,30,192,151,5,205,120,80,185,42,27,38,60,86,56,77,182,97,247,9,115,31,247,0,118, +185,110,88,26,82,85,97,58,65,80,170,204,127,30,86,127,5,61,153,209,86,245,27,247,4,221,195,229,31,14,251,172,160,118,248,86,184,247,63,119,1,247,10,191,3,247,202,248,86,21,184,251,32,247,63,87,251,63,33,94,245,252,86,191,248,86,7,14,127,131,186,121,118, +248,131,119,18,222,190,247,213,191,19,120,132,10,19,184,251,2,68,74,48,48,71,203,247,3,30,247,173,88,251,178,7,251,31,228,61,247,5,233,196,192,175,158,30,19,120,58,7,14,32,132,118,248,159,119,1,248,124,248,131,21,83,6,251,74,252,42,251,76,248,42,5,83, +6,247,131,252,159,5,14,247,83,132,118,248,187,119,1,249,147,248,131,21,85,6,251,35,252,28,251,64,248,56,251,64,252,56,251,34,248,28,5,84,6,247,85,252,159,247,68,248,68,247,68,252,68,5,14,251,48,160,118,248,131,119,1,248,71,22,251,73,247,144,247,66,247, +135,5,79,6,251,36,251,93,251,36,247,93,5,80,6,247,65,251,135,251,72,251,144,5,199,6,247,42,247,103,247,43,251,103,5,14,44,251,73,118,249,77,119,1,248,137,248,131,21,82,6,251,80,252,23,251,83,248,23,5,83,6,247,110,252,78,251,17,251,147,5,195,6,14,251, +47,139,185,248,39,185,1,248,44,22,185,251,187,7,247,175,248,85,5,251,247,93,247,161,6,251,174,252,85,5,14,130,10,247,29,188,90,247,35,19,208,247,172,251,77,21,176,7,19,224,54,141,130,160,235,26,247,48,7,199,126,176,88,166,30,191,165,151,174,200,26,247, +50,7,19,208,235,148,159,224,141,30,177,7,38,142,97,101,44,26,251,71,7,72,124,108,78,126,30,105,7,200,127,154,107,73,26,251,67,7,41,179,101,242,142,30,14,252,19,251,71,118,250,124,119,1,227,186,3,247,27,251,92,21,250,124,92,254,124,7,14,130,10,199,247, +35,90,188,19,224,247,171,247,125,21,173,7,78,152,124,170,206,26,247,71,7,234,97,177,38,136,30,101,7,19,208,224,137,148,119,43,26,251,50,7,78,151,104,191,113,30,88,112,126,102,79,26,251,48,7,19,224,43,130,118,54,137,30,102,7,242,136,179,177,237,26,247, +67,7,205,154,171,200,151,30,14,134,247,109,184,166,184,141,119,18,19,160,248,168,247,209,21,90,10,27,19,192,37,10,14,96,10,105,10,154,247,80,247,30,204,247,94,14,186,147,10,247,31,247,24,92,151,10,18,191,192,247,196,189,19,174,40,10,251,65,247,21,251, +35,247,59,117,31,101,134,10,99,31,120,124,140,134,114,10,159,27,247,12,115,10,142,143,139,143,27,146,10,91,247,55,247,36,208,106,10,247,25,247,142,247,36,217,152,10,110,10,105,10,95,10,105,10,67,247,27,139,236,106,10,119,10,121,10,119,10,113,10,119,10, +105,10,119,10,152,10,67,247,28,139,236,247,94,14,64,147,10,247,31,247,24,92,81,10,18,187,190,247,121,189,19,174,43,10,251,20,235,251,0,247,14,123,31,102,134,10,98,31,121,123,140,135,114,10,158,27,247,13,115,10,204,195,159,182,186,31,14,126,247,73,139, +240,106,10,126,247,74,139,240,121,10,126,247,74,139,240,113,10,126,247,73,139,240,105,10,139,139,247,86,247,137,14,139,139,247,85,247,137,14,139,139,247,137,113,10,139,139,247,92,247,137,14,127,247,66,139,247,2,152,10,80,10,106,10,80,10,121,10,80,10, +113,10,80,10,105,10,80,10,152,10,97,10,106,10,97,10,121,10,97,10,113,10,97,10,105,10,116,251,35,118,248,212,185,247,134,143,10,248,48,21,185,251,101,247,134,87,251,134,251,101,93,247,101,252,212,191,248,212,7,14,34,248,46,182,247,104,182,1,240,183,247, +102,183,3,248,35,248,195,21,221,72,206,57,57,72,72,57,57,206,72,221,221,206,206,221,30,95,22,81,92,91,81,81,92,187,197,197,186,187,197,197,186,91,81,30,14,106,141,118,249,82,119,1,210,191,247,61,181,3,248,130,247,38,21,102,174,103,107,99,122,92,138,25, +248,51,7,187,138,178,122,175,107,176,174,24,92,179,86,160,79,141,8,228,97,47,7,251,18,123,44,33,251,22,26,251,21,235,251,0,247,17,122,30,35,181,242,7,199,140,194,160,184,179,8,251,94,126,21,42,156,67,225,242,26,244,210,222,237,155,30,14,106,139,185,247, +155,183,247,166,186,1,247,27,189,169,189,3,248,146,248,253,21,174,99,89,161,69,27,35,251,3,69,251,20,77,171,78,139,31,36,95,247,10,6,139,172,66,88,26,85,117,94,105,99,30,61,93,248,59,185,251,183,6,168,176,162,178,202,26,197,108,205,139,30,247,81,183, +251,96,6,139,105,203,198,26,209,195,220,247,1,184,185,122,111,173,30,14,116,251,98,185,249,202,185,18,207,191,147,191,247,129,191,131,191,19,244,248,149,247,98,21,235,60,191,62,182,30,51,188,50,183,208,26,208,193,173,199,203,186,99,77,146,30,188,151, +5,225,124,83,189,45,27,55,55,85,43,100,157,101,181,102,31,62,119,96,82,82,26,36,223,87,219,94,30,19,248,230,88,233,96,63,26,73,80,105,78,77,84,178,210,128,30,91,128,5,44,156,206,89,233,27,236,212,196,229,185,119,176,84,183,31,19,244,207,159,190,192,204, +26,87,22,83,99,100,78,124,30,87,168,102,159,96,164,8,86,169,84,185,200,26,181,165,189,215,156,30,190,110,174,118,184,114,8,188,112,198,91,79,26,14,34,247,83,118,247,224,119,1,248,52,247,228,21,231,64,213,47,48,64,64,48,48,214,64,230,231,214,213,231,30, +14,85,251,56,184,248,52,186,247,203,184,1,169,247,11,247,27,187,212,187,3,248,159,249,35,21,184,251,147,7,251,2,251,20,87,251,41,251,41,247,20,86,247,18,31,252,52,36,94,247,43,249,199,212,253,199,187,249,199,7,251,61,251,203,21,49,141,94,207,224,26,224, +184,206,229,141,30,14,84,127,186,125,118,247,251,180,247,153,186,18,225,190,247,168,191,120,190,19,186,248,133,247,96,21,219,100,227,41,150,30,139,139,140,138,30,19,124,221,163,163,207,206,26,247,1,39,195,44,251,3,66,63,251,3,30,252,157,190,248,139,7, +247,18,201,171,212,225,194,86,61,41,69,106,54,140,30,98,7,19,186,247,7,137,212,112,251,30,26,44,71,77,37,30,131,123,140,137,27,94,7,138,141,158,137,146,27,247,22,228,225,247,22,31,14,130,247,190,175,247,81,119,237,174,199,176,18,217,178,237,178,100,247, +69,226,179,19,251,248,155,248,151,21,247,13,40,236,251,13,251,14,40,42,251,13,251,13,238,43,247,14,247,13,238,235,247,13,30,99,22,39,59,58,39,38,58,220,239,239,220,220,240,239,219,58,39,30,63,251,13,21,68,242,5,179,144,159,169,170,26,179,111,172,92,30, +37,251,134,6,19,253,178,247,99,193,6,167,156,125,113,115,122,125,111,31,100,6,227,251,21,5,14,247,73,131,180,243,179,247,201,179,246,180,1,191,184,247,11,184,248,64,184,46,10,94,22,251,59,251,24,251,25,251,56,251,56,251,24,247,25,247,59,247,59,247,24, +247,25,247,56,247,56,247,24,251,25,251,59,30,251,54,251,37,21,110,166,5,112,111,107,128,103,27,60,77,205,229,226,201,205,219,176,170,127,112,166,31,168,169,5,170,105,97,157,91,27,36,55,54,251,0,251,0,223,51,242,187,180,155,174,174,31,14,247,141,247,228, +118,247,239,177,154,119,18,247,50,183,19,176,249,177,247,223,21,251,21,248,20,38,251,171,37,247,171,251,20,252,20,5,185,6,224,247,154,238,251,170,238,247,170,224,251,154,5,19,208,252,60,247,223,21,177,251,187,101,247,18,251,223,183,247,223,7,14,248,235, +118,247,72,119,1,247,128,107,10,14,248,242,221,1,247,138,150,10,121,76,10,157,157,162,30,251,58,22,82,10,14,134,185,118,247,26,185,247,31,185,247,25,119,1,248,177,247,51,21,185,251,142,7,209,247,31,5,247,72,185,251,49,6,206,247,25,5,87,6,73,251,25,5, +251,166,93,247,142,6,69,251,31,5,251,72,93,247,49,6,72,251,26,5,191,6,206,247,26,5,14,247,172,139,185,247,160,185,247,152,185,1,248,62,191,3,249,169,22,185,251,203,247,160,247,191,185,251,191,247,152,247,203,185,252,31,7,252,61,253,46,5,196,6,247,94, +247,206,5,247,90,251,206,6,247,252,4,251,62,6,247,62,247,156,5,14,247,73,124,118,167,151,10,167,119,1,148,10,3,249,114,247,225,21,236,99,227,74,201,30,240,247,14,5,78,6,63,47,5,179,83,70,163,64,27,77,10,41,180,51,204,77,31,38,251,13,5,200,6,215,230,5, +99,195,208,116,213,27,93,10,31,86,22,92,10,76,81,159,173,92,30,248,8,248,85,5,191,86,171,66,56,26,251,11,247,132,21,252,9,252,86,5,87,192,107,213,222,26,247,57,247,19,247,21,247,53,202,195,120,104,189,30,14,200,247,80,181,247,104,181,1,145,182,248,203, +183,3,249,40,247,230,21,225,80,199,53,71,87,105,59,77,30,217,77,83,175,76,27,53,79,77,53,52,199,78,224,205,190,171,222,204,31,61,201,198,102,202,27,224,197,200,228,31,95,135,21,78,100,96,79,88,93,170,214,78,30,219,204,177,165,192,27,200,179,94,76,31, +251,201,141,21,65,79,91,107,88,27,81,98,184,200,200,180,184,198,192,183,109,63,200,31,14,134,148,185,247,133,185,247,85,142,10,247,188,21,185,251,110,247,85,93,251,85,251,110,93,247,110,251,85,185,247,85,7,247,110,251,179,65,10,14,128,10,237,21,187,7, +252,68,247,65,248,68,247,65,5,186,7,252,118,251,87,5,88,7,248,118,251,176,65,10,14,128,10,247,185,21,190,7,252,118,247,87,5,92,7,248,68,251,65,252,68,251,65,5,91,7,248,118,50,65,10,14,106,160,118,247,49,178,243,178,247,219,119,1,247,153,190,3,248,169, +249,46,21,79,6,251,78,251,203,251,79,247,203,5,80,6,247,88,251,219,5,251,50,100,247,74,35,251,66,100,247,66,251,49,190,247,49,247,66,178,251,66,243,247,75,178,251,51,6,14,127,251,69,118,247,82,186,121,118,248,130,119,160,119,18,223,190,247,212,191,19, +174,132,10,19,214,251,2,68,74,49,48,71,203,247,3,30,247,172,88,253,72,190,247,163,7,84,173,193,113,205,27,229,191,185,180,163,31,19,174,60,7,14,106,131,181,248,13,180,247,148,119,1,196,186,247,252,187,3,248,148,247,165,21,247,143,251,20,247,49,251,123, +166,30,125,102,247,28,122,247,49,68,169,251,118,25,216,94,60,157,81,27,251,14,38,39,251,22,251,22,239,39,247,18,247,32,228,247,1,247,64,31,91,97,21,251,0,66,50,32,42,56,219,246,247,0,217,221,244,240,215,68,251,1,30,14,247,25,251,90,181,247,56,118,249, +17,181,18,248,223,181,106,181,19,232,249,18,251,90,21,247,77,97,251,35,252,115,7,247,163,248,42,251,162,248,10,5,19,240,248,105,251,35,181,247,77,252,201,95,6,247,161,252,8,251,161,252,39,5,94,7,14,247,25,251,90,177,249,168,177,1,247,27,186,248,10,186, +3,249,72,251,90,21,177,50,249,168,228,177,253,26,101,228,253,168,50,101,247,117,177,50,249,168,248,10,253,168,50,101,7,14,116,160,118,248,104,181,1,247,6,189,247,146,189,3,248,180,248,104,21,181,252,142,97,215,252,104,189,248,104,247,146,252,104,189, +248,104,7,14,102,251,98,170,250,18,170,1,247,16,179,237,184,237,179,20,56,248,81,249,1,21,230,137,112,177,76,27,74,113,84,69,31,253,104,7,86,123,116,106,101,128,155,232,30,99,6,38,140,165,100,204,27,204,165,194,209,31,249,104,7,192,155,162,172,176,151, +121,59,30,14,251,83,247,162,177,189,175,247,133,178,1,207,183,247,62,183,3,247,235,247,255,21,125,165,136,164,157,26,247,30,7,220,73,162,87,93,100,125,112,104,30,164,109,5,158,166,165,152,177,27,186,167,116,97,142,31,251,72,113,105,86,87,26,89,181,108, +198,182,180,152,178,171,30,141,123,143,120,146,127,8,191,46,21,177,251,181,101,7,247,113,247,117,21,75,82,102,92,106,106,152,170,177,169,176,247,32,160,30,14,251,83,247,162,177,189,179,247,127,180,1,188,183,247,120,183,3,248,1,248,152,21,226,68,210,52, +52,68,68,52,51,210,69,226,226,210,209,227,30,131,251,138,21,177,251,192,101,7,247,156,247,138,21,74,88,86,76,76,88,192,204,203,190,192,202,202,190,86,75,30,14,247,25,139,183,248,234,186,1,206,192,248,135,192,3,249,60,22,183,251,75,7,237,193,216,239,247, +57,26,247,80,251,22,247,30,251,64,251,65,251,22,251,30,251,80,251,57,216,39,237,85,30,251,75,95,247,139,183,6,251,18,211,79,242,247,28,26,247,57,246,247,14,247,35,247,35,245,251,14,251,57,251,28,79,36,251,18,67,30,95,7,14,247,226,87,10,182,190,247,194, +190,248,21,191,3,250,8,116,10,69,73,87,111,30,223,124,61,173,59,27,67,75,116,101,89,31,86,10,98,82,52,55,26,62,205,91,229,222,233,172,246,188,30,57,173,226,88,10,82,116,86,58,10,224,71,251,6,143,31,252,72,76,21,79,10,141,124,118,167,81,10,166,119,1,187, +190,248,44,191,3,248,201,248,166,21,83,6,79,67,5,167,97,89,156,85,27,91,10,68,168,75,186,93,31,54,37,5,195,6,201,213,5,110,180,190,122,193,27,141,10,211,109,203,92,186,31,164,251,75,21,251,7,50,46,251,7,96,99,152,162,106,30,247,156,247,209,5,174,102, +160,88,82,26,50,247,66,21,251,155,251,210,5,104,177,118,189,195,26,247,9,229,231,247,6,182,179,126,117,171,30,14,251,33,251,90,186,249,41,119,1,195,190,247,29,190,3,247,202,248,104,21,163,121,157,116,116,120,121,115,116,158,121,162,162,157,157,162,30, +239,252,217,21,94,162,5,97,114,98,120,81,27,68,76,187,202,204,175,172,190,181,31,216,201,160,189,142,234,8,88,6,137,52,116,100,64,79,8,70,83,120,92,79,26,39,231,83,232,220,196,171,192,170,30,14,251,236,251,69,144,10,247,64,248,105,21,162,121,157,116, +116,73,10,162,162,157,157,162,30,123,253,47,21,248,139,88,252,139,7,14,134,247,68,118,247,81,185,1,248,131,185,3,248,177,247,47,21,247,127,252,118,93,248,72,251,81,7,14,138,146,118,249,143,177,1,249,0,249,129,21,177,251,64,7,251,137,253,63,65,247,128, +5,40,101,207,6,242,251,208,247,172,249,143,5,14,106,251,41,181,248,114,181,247,129,181,1,248,116,249,70,21,141,119,127,139,125,27,89,104,127,110,114,31,118,115,128,104,127,78,118,251,10,24,251,2,97,242,6,84,251,207,5,251,26,116,119,110,74,27,131,127, +139,141,129,31,132,97,5,137,153,147,139,154,27,189,173,152,168,162,31,162,168,152,174,151,211,200,247,234,24,247,31,181,251,24,6,159,247,6,5,232,155,164,169,198,27,151,151,139,138,155,31,14,134,247,24,184,166,184,190,184,166,184,141,119,18,19,232,248, +168,248,36,21,90,10,27,19,240,37,10,251,60,4,90,10,37,10,14,200,139,181,249,4,119,1,249,30,22,251,177,249,46,5,75,6,251,177,253,46,5,248,202,181,21,252,134,6,247,141,248,218,5,14,89,101,10,248,121,220,48,10,251,78,168,48,10,14,89,101,10,248,150,247,148, +54,10,121,247,96,54,10,14,248,31,130,222,1,249,255,171,21,33,10,251,225,22,33,10,251,225,22,33,10,14,154,247,68,247,36,204,121,10,96,10,152,10,247,73,247,174,247,36,218,152,10,247,214,131,186,100,185,247,160,185,247,152,185,100,186,18,191,192,248,17, +191,19,118,249,230,22,185,251,204,247,160,247,192,185,251,192,247,152,247,204,185,251,121,7,19,174,66,71,147,57,27,251,89,251,41,251,44,251,81,251,81,247,41,251,44,247,89,31,19,118,221,207,147,212,27,251,27,185,21,19,174,134,105,116,137,113,27,251,61, +251,21,247,18,247,60,247,60,247,21,247,18,247,61,31,19,118,165,162,137,134,173,31,14,248,76,87,10,187,190,248,44,189,248,21,191,3,250,118,116,10,54,72,58,109,30,227,104,48,199,38,27,85,10,235,229,193,234,181,31,48,175,228,88,10,83,116,85,58,10,225,71, +251,6,142,31,252,71,112,21,63,10,34,247,124,181,1,248,136,247,124,21,181,252,136,97,7,14,248,31,247,124,181,1,250,124,247,124,21,181,254,124,97,7,14,251,82,83,10,247,250,248,80,21,251,1,247,144,95,117,241,251,122,5,42,22,108,10,251,82,83,10,248,0,249, +54,21,94,161,251,5,118,10,93,247,122,21,94,161,251,0,118,10,14,251,233,83,10,247,102,248,80,21,108,10,251,233,83,10,247,105,249,54,122,10,14,134,189,118,247,117,185,247,116,119,1,247,151,222,3,247,234,248,119,78,10,247,91,251,121,65,10,247,175,251,76, +21,33,10,14,200,145,118,249,76,119,1,248,219,247,225,21,251,144,247,240,251,144,251,240,247,144,251,240,5,247,91,247,241,21,251,90,251,168,251,91,247,167,247,90,247,168,5,14,44,247,23,139,247,13,105,10,57,247,34,247,36,228,105,10,252,107,152,118,249, +62,119,1,247,171,249,54,21,92,6,72,10,14,251,158,101,10,247,161,220,48,10,14,251,158,101,10,247,190,247,148,54,10,14,115,94,10,119,119,18,244,191,247,169,190,19,220,248,137,249,27,21,82,10,123,253,27,21,125,10,88,249,47,21,19,236,163,111,99,156,34,10, +115,94,10,1,244,191,247,169,190,3,248,121,22,249,80,88,253,80,7,88,249,47,21,163,111,99,156,34,10,116,251,35,118,248,90,184,247,29,184,247,75,143,10,247,182,21,184,251,101,247,29,247,101,184,251,101,247,75,87,251,75,251,101,94,247,101,251,29,251,101, +94,247,101,252,90,191,248,90,7,14,251,233,247,130,118,222,119,1,247,65,247,151,51,10,14,251,233,251,34,84,10,247,64,206,21,94,161,251,5,118,10,14,251,82,251,34,84,10,247,215,206,122,10,92,247,122,21,95,161,251,1,118,10,14,248,163,74,10,175,186,247,120, +186,3,250,216,247,45,53,10,251,250,22,39,10,249,63,251,252,52,10,251,250,22,45,10,96,10,113,10,127,10,113,10,96,10,106,10,127,10,105,10,127,10,121,10,98,10,106,10,98,10,113,10,98,10,105,10,98,10,121,10,247,73,247,168,247,36,218,106,10,110,10,113,10,247, +69,132,118,249,99,119,1,248,21,247,41,3,248,170,249,71,21,48,127,83,74,137,43,8,219,213,217,234,134,31,247,54,252,159,21,77,165,101,195,206,26,195,162,178,197,183,30,187,104,91,162,77,79,103,107,100,111,99,169,83,27,251,3,63,50,251,22,251,28,239,251, +90,233,31,174,169,169,203,198,153,111,184,27,195,201,210,247,15,190,31,14,110,10,121,10,95,10,106,10,95,10,113,10,95,10,121,10,160,118,248,131,119,1,235,190,3,247,39,22,125,10,14,248,235,118,247,70,119,1,247,140,248,214,21,251,18,247,70,251,19,251,70, +5,194,6,211,245,210,33,5,14,248,247,118,161,118,227,119,160,119,18,19,144,247,151,249,54,21,105,145,5,111,135,123,124,116,27,19,160,110,92,181,94,27,100,109,108,86,134,31,175,134,5,169,144,158,151,157,27,19,80,170,179,98,185,27,180,170,166,195,144,31, +14,248,231,184,1,247,135,248,231,21,184,251,135,94,7,14,248,228,182,214,119,1,247,149,249,90,21,98,6,93,129,105,110,88,27,88,105,168,185,129,31,99,6,71,144,198,89,210,27,206,202,189,207,145,31,14,249,7,118,221,119,1,44,10,14,248,214,178,247,25,177,1, +155,179,247,24,178,3,247,119,249,63,21,197,92,186,81,81,91,92,81,81,187,92,197,197,186,186,197,30,100,22,103,109,109,103,103,109,169,175,175,169,170,175,175,169,108,103,30,14,147,10,188,229,235,119,18,247,52,188,19,184,247,101,251,28,21,190,92,161,87, +30,167,205,5,103,6,97,43,5,203,175,125,108,104,94,129,99,31,120,124,140,134,27,19,120,124,109,5,19,184,147,163,137,158,27,247,12,156,189,167,31,14,248,235,118,247,77,119,1,247,206,107,10,123,247,51,21,97,165,251,13,251,77,5,189,6,14,252,11,251,85,118, +247,106,119,1,165,189,3,247,91,251,94,21,131,167,5,136,130,116,134,125,27,107,102,154,191,167,164,179,204,186,31,97,6,90,114,90,88,88,26,83,188,108,195,162,169,145,145,154,30,14,248,218,118,247,70,119,1,247,140,249,119,21,84,6,68,33,67,245,5,84,6,247, +19,251,70,5,14,106,131,186,247,103,178,241,177,247,90,186,1,248,169,190,21,109,178,5,105,94,102,122,88,27,38,52,227,247,15,113,31,247,122,6,150,178,5,251,140,6,138,153,138,154,154,26,159,140,158,141,158,30,247,166,6,150,177,5,251,168,6,247,8,169,222, +221,237,27,189,177,124,102,184,31,169,177,5,176,99,83,163,76,27,251,18,32,37,251,35,104,31,58,6,128,101,5,225,6,136,120,137,120,119,26,124,140,124,141,125,30,59,6,128,100,5,236,6,251,41,168,247,2,251,1,247,23,27,198,191,158,179,187,31,14,231,139,185, +247,168,182,247,147,68,10,251,193,39,96,239,251,214,66,10,247,168,247,75,182,251,75,247,147,89,10,117,161,248,159,139,247,35,161,6,251,98,147,7,30,160,53,113,255,12,9,186,10,190,11,181,144,12,12,186,143,12,13,247,135,20,248,241,21,179,19,0,121,2,0,1, +0,35,0,48,0,82,0,100,0,118,0,149,0,173,0,191,0,244,1,5,1,55,1,104,1,117,1,126,1,133,1,172,1,193,1,213,1,241,1,255,2,3,2,7,2,26,2,33,2,42,2,50,2,81,2,98,2,127,2,136,2,152,2,175,2,185,2,192,2,218,2,244,3,11,3,25,3,30,3,51,3,59,3,66,3,88,3,107,3,119,3,128, +3,136,3,153,3,160,3,165,3,177,3,182,3,188,3,199,3,216,3,226,3,241,3,254,4,7,4,16,4,25,4,34,4,43,4,50,4,57,4,64,4,71,4,75,4,82,4,89,4,94,4,104,4,118,4,121,4,124,4,137,4,148,4,154,4,162,4,167,4,171,4,174,4,186,4,198,4,210,4,220,4,226,4,232,4,236,4,239, +4,250,5,3,5,12,5,19,5,24,5,31,5,41,5,51,5,61,5,71,5,81,5,91,5,101,5,111,5,121,5,126,5,130,5,139,5,148,5,157,5,166,5,175,5,184,5,191,5,198,5,204,5,210,5,214,5,219,5,224,5,227,59,187,216,106,215,27,247,29,247,4,247,9,247,30,31,87,22,251,7,53,46,251,5,251, +5,56,10,247,5,247,5,225,70,10,162,55,10,116,117,157,120,120,10,158,161,30,11,95,27,49,64,72,251,38,31,51,94,226,252,86,191,248,86,247,69,184,251,69,6,247,22,191,175,206,168,165,131,119,161,30,14,74,89,87,75,75,89,191,204,204,189,191,203,203,189,87,74, +30,11,228,67,211,50,50,67,67,50,50,211,67,228,228,211,211,228,30,11,89,60,211,55,27,77,98,97,85,114,31,174,120,5,175,157,168,173,180,225,187,67,222,27,196,180,182,196,165,31,11,249,114,247,225,21,247,81,251,44,247,44,251,81,77,10,251,81,247,44,251,44, +247,81,11,36,10,251,28,248,157,21,93,6,72,10,247,32,248,157,53,10,11,248,224,190,21,109,178,5,105,84,89,122,81,27,251,54,251,20,247,21,247,57,247,57,247,20,247,21,247,54,199,186,124,102,195,31,169,177,5,176,90,70,163,63,27,251,79,251,47,251,43,251,82, +11,251,7,53,46,251,6,251,4,56,10,247,4,247,6,225,70,10,177,251,73,7,247,17,247,29,5,176,181,156,170,174,26,205,86,193,62,88,98,115,90,113,30,172,119,5,176,161,165,156,175,27,187,179,103,94,113,126,116,104,101,31,251,73,251,88,5,11,248,106,194,21,103, +174,5,105,100,96,122,88,27,251,3,48,233,247,6,247,10,229,230,247,6,190,181,122,105,177,31,175,174,5,180,91,83,161,76,27,251,34,251,5,251,5,251,35,11,247,55,126,10,117,116,73,10,162,161,102,10,11,35,10,252,8,247,252,52,10,14,3,38,10,93,10,30,11,178,157, +154,171,171,26,198,88,185,66,93,104,123,106,107,30,175,116,5,164,161,165,147,169,27,181,176,114,98,96,108,118,64,31,108,102,189,6,11,21,251,51,247,67,247,51,247,67,109,168,251,90,251,96,247,90,251,96,5,11,248,223,247,139,21,247,32,251,4,247,8,251,29, +63,61,105,60,92,30,11,92,10,251,53,251,19,247,21,247,57,247,57,247,19,247,21,247,53,247,53,247,19,251,21,251,57,30,14,21,161,55,10,117,116,157,120,120,10,158,162,30,11,21,35,10,11,21,36,10,11,21,251,90,247,96,109,110,247,51,251,67,251,51,251,67,169,110, +5,11,120,158,116,116,121,120,11,53,232,247,7,247,9,225,231,11,88,34,62,10,69,10,31,11,27,38,46,214,247,8,135,31,248,72,6,139,140,151,149,26,87,161,21,252,21,6,247,3,147,229,210,238,27,238,11,21,248,39,112,7,251,12,94,156,104,226,173,5,251,249,7,11,193, +187,107,90,94,95,103,86,104,105,151,166,118,31,102,118,5,100,170,180,121,193,27,217,204,192,207,31,11,119,1,235,190,3,44,10,123,11,7,218,92,61,173,62,27,251,28,251,4,251,8,251,32,11,251,7,50,46,251,7,251,6,49,232,247,7,247,9,229,231,247,6,247,7,228,70, +10,1,225,190,248,34,191,3,49,10,11,21,185,252,118,93,7,11,247,100,6,247,82,247,39,247,35,247,82,31,86,22,251,52,251,19,251,19,251,56,30,251,41,11,1,225,190,247,213,191,3,248,146,22,247,178,7,247,31,49,217,251,4,44,83,86,103,119,30,11,112,10,248,76,192, +3,249,25,247,225,21,247,82,251,39,247,35,251,82,30,251,100,11,251,30,247,4,251,9,247,28,216,216,172,219,187,11,47,251,9,30,14,31,88,22,64,83,74,45,30,251,44,247,173,247,44,6,233,195,74,63,31,14,252,13,253,62,5,186,6,11,120,121,116,116,158,121,11,131, +183,247,126,183,177,183,247,126,183,1,179,186,247,120,186,189,186,247,120,186,11,190,247,173,7,247,2,211,204,230,229,207,75,251,3,30,251,173,7,14,157,116,116,121,121,116,116,157,121,162,162,11,251,81,251,44,251,44,251,81,11,21,162,120,76,10,102,10,11, +251,2,39,73,56,81,78,163,197,204,192,208,247,141,175,30,14,141,247,73,139,247,3,11,186,248,53,186,11,162,120,157,116,117,73,10,161,162,102,10,11,248,101,84,10,11,118,247,144,119,1,11,91,10,251,32,247,6,251,7,247,33,11,169,104,5,167,179,183,160,204,27, +228,189,95,56,31,251,188,11,131,186,247,83,183,247,74,186,1,11,81,238,27,210,207,165,189,189,31,103,173,5,99,96,11,247,41,6,247,56,247,19,251,19,251,52,31,14,105,158,5,100,120,107,104,101,11,251,33,251,6,251,6,251,34,11,251,57,251,19,251,21,251,53,11, +247,81,247,44,247,44,247,81,11,160,118,248,86,184,247,58,186,11,243,247,127,247,36,224,11,154,247,80,247,36,204,11,127,247,65,139,247,9,11,251,225,154,247,36,212,11,149,10,187,11,160,118,249,46,119,1,11,212,118,248,44,119,1,11,158,157,162,30,11,99,10, +191,248,34,190,3,248,185,11,178,247,54,176,247,22,178,18,247,142,183,110,184,11,247,92,14,247,86,14,249,112,21,96,165,251,18,251,72,5,190,6,11,251,6,247,144,94,117,246,251,122,5,14,111,10,247,89,119,11,247,73,247,164,247,36,218,11,118,248,92,186,11,185, +138,10,11,247,87,14,27,19,110,124,109,5,19,158,147,162,137,11,156,189,167,190,92,161,87,31,162,194,5,11,247,144,21,247,46,35,236,251,28,251,1,11,21,86,6,40,251,111,5,192,6,14,251,144,5,190,6,11,67,247,33,139,236,11,162,162,158,11,247,85,14,21,94,161, +251,6,251,144,5,191,6,11,185,247,152,112,10,3,248,115,11,169,251,69,118,247,82,81,10,11,248,131,88,252,131,7,11,150,10,120,157,11,91,247,59,247,36,208,11,134,148,185,248,120,119,1,248,177,11,251,157,251,77,181,249,168,181,18,11,251,157,251,77,176,249, +177,177,18,11,134,191,118,248,128,119,1,248,180,11,248,143,22,248,131,87,251,173,7,11,248,134,118,247,130,119,1,244,185,11,51,5,202,175,125,108,104,95,129,11,247,61,152,118,168,118,247,6,177,11,251,157,251,79,118,250,35,119,1,11,87,253,46,7,14,1,239, +191,11,251,123,74,118,249,225,119,1,11,251,81,247,45,251,44,247,81,11,247,33,247,7,247,7,247,32,11,119,1,247,169,185,3,248,177,11,119,1,247,157,191,3,248,162,11,118,249,88,119,1,244,190,3,11,247,130,93,251,130,7,14,210,202,155,182,199,31,14,251,106,170, +110,119,11,191,192,248,212,192,11,81,10,1,11,249,27,21,162,11,186,248,224,186,11,247,88,14,0,1,34,0,0,2,62,0,48,2,25,0,11,1,29,0,6,2,51,0,49,1,234,0,45,2,11,255,244,1,254,0,9,2,42,0,100,2,123,0,86,2,43,0,27,1,194,0,28,3,6,0,57,3,6,0,57,1,80,0,57,3,6, +0,41,1,114,0,41,1,114,0,39,0,222,0,88,2,88,0,59,2,88,0,95,1,34,0,0,1,5,0,89,1,148,0,105,2,60,0,37,2,60,0,66,3,6,0,40,2,250,0,82,1,0,0,105,1,84,0,95,1,84,0,52,2,48,0,112,2,88,0,59,1,8,0,17,1,89,0,58,1,8,0,90,1,118,0,38,2,60,0,59,2,60,0,129,2,60,0,54,2, +60,0,68,2,60,0,22,2,60,0,67,2,60,0,49,2,60,0,90,2,60,0,59,2,60,0,46,1,8,0,90,1,8,0,17,2,88,0,56,2,88,0,59,2,88,0,55,1,208,0,53,3,212,0,104,2,108,0,0,2,93,0,100,2,140,0,52,2,185,0,100,2,45,0,100,2,29,0,100,3,2,0,52,2,180,0,94,1,16,0,110,1,233,0,14,2,76, +0,100,2,9,0,100,3,115,0,24,2,226,0,100,3,18,0,52,2,42,0,100,3,18,0,52,2,89,0,100,2,51,0,49,1,253,0,29,2,197,0,96,2,108,0,0,3,115,0,24,2,45,0,6,2,11,255,244,2,43,0,27,1,84,0,130,1,118,0,26,1,84,0,67,2,54,0,89,1,244,0,0,0,243,0,29,2,21,0,43,2,123,0,86, +2,18,0,48,2,123,0,48,2,80,0,48,1,82,0,18,2,123,0,48,2,81,0,86,0,243,0,80,0,243,255,152,1,226,0,86,0,243,0,95,3,137,0,86,2,81,0,86,2,95,0,48,2,123,0,86,2,123,0,48,1,79,0,86,1,234,0,45,1,69,0,12,2,81,0,83,1,242,0,10,3,28,0,29,1,193,0,14,1,254,0,9,1,194, +0,28,1,84,0,61,0,222,0,88,1,84,0,60,2,88,0,68,2,108,0,0,2,108,0,0,2,140,0,52,2,45,0,100,2,226,0,100,3,18,0,52,2,197,0,96,2,21,0,43,2,21,0,43,2,21,0,43,2,21,0,43,2,21,0,43,2,21,0,43,2,18,0,48,2,80,0,48,2,80,0,48,2,80,0,48,2,80,0,48,0,243,0,67,0,243,0, +29,0,243,255,251,0,243,255,253,2,81,0,86,2,95,0,48,2,95,0,48,2,95,0,48,2,95,0,48,2,95,0,48,2,81,0,83,2,81,0,83,2,81,0,83,2,81,0,83,2,70,0,56,1,244,0,101,2,60,0,71,2,60,0,64,2,70,0,68,1,244,0,83,2,39,0,30,2,38,0,86,2,84,0,78,3,18,0,52,3,86,0,32,0,243, +0,67,0,243,255,253,2,88,0,59,3,117,255,225,3,18,0,52,2,154,0,6,2,88,0,59,2,88,0,59,2,88,0,59,2,60,0,41,2,81,0,84,2,60,0,57,2,226,0,64,2,226,0,46,2,70,0,38,2,56,0,124,1,158,0,61,1,158,0,49,2,226,0,59,3,171,0,43,2,95,0,39,1,208,0,56,1,5,0,89,2,88,0,59, +2,92,0,30,2,60,0,52,2,88,0,68,2,154,0,16,2,43,0,41,2,43,0,70,3,232,0,126,2,108,0,0,2,108,0,0,3,18,0,52,3,159,0,52,4,21,0,48,1,244,0,0,3,232,0,0,1,159,0,51,1,159,0,58,1,8,0,51,1,8,0,54,2,88,0,59,2,154,0,79,1,254,0,9,2,11,255,244,0,134,255,111,1,83,0,41, +1,83,0,70,2,69,0,18,2,69,0,18,2,70,0,56,1,8,0,90,1,8,0,14,1,159,0,16,4,108,0,40,2,108,0,0,2,45,0,100,2,108,0,0,2,45,0,100,2,45,0,100,1,16,0,82,1,16,0,10,1,16,0,12,1,16,0,44,3,18,0,52,3,18,0,52,3,14,0,86,3,18,0,52,2,197,0,96,2,197,0,96,2,197,0,96,0,243, +0,96,0,243,255,251,0,243,255,243,0,243,0,0,0,243,255,242,0,243,0,80,0,243,0,16,0,243,0,21,0,243,0,17,0,230,0,26,0,243,255,251,2,60,0,7,2,185,0,0,0,1,0,0,0,10,0,30,0,44,0,1,108,97,116,110,0,8,0,4,0,0,0,0,255,255,0,1,0,0,0,1,107,101,114,110,0,8,0,0,0,1, +0,0,0,1,0,4,0,2,0,0,0,1,0,8,0,1,26,186,0,4,0,0,0,98,0,206,0,236,1,202,1,216,2,234,2,244,2,250,3,28,3,138,3,148,3,154,3,160,3,166,3,172,4,166,5,36,5,42,5,64,5,138,5,144,5,158,5,172,5,242,6,224,7,150,8,100,8,114,8,140,9,94,9,108,9,214,9,244,11,2,11,68, +11,250,12,172,13,178,14,144,15,162,15,172,15,182,15,188,15,222,15,228,15,234,15,240,15,246,15,252,16,2,16,20,16,38,16,52,16,66,16,80,16,94,16,104,17,98,18,92,18,218,18,240,18,254,19,24,19,90,19,100,19,106,19,112,19,118,19,124,19,130,19,136,19,142,19, +148,19,154,19,160,19,186,19,192,20,186,21,180,21,206,21,232,22,66,22,76,22,90,23,56,24,50,24,72,25,66,25,88,25,110,25,124,25,138,25,152,25,166,25,192,25,218,25,244,26,54,26,120,0,7,0,54,0,24,0,116,0,24,0,117,0,24,0,190,0,24,0,191,0,24,0,215,0,24,0,217, +0,24,0,55,0,5,255,216,0,6,0,36,0,10,0,24,0,34,255,175,0,35,255,155,0,54,255,192,0,63,255,200,0,66,255,214,0,73,0,34,0,75,0,36,0,76,0,34,0,77,0,24,0,78,0,36,0,79,0,24,0,86,255,192,0,88,255,175,0,89,255,175,0,90,255,175,0,91,0,12,0,92,255,175,0,94,0,12, +0,100,255,175,0,102,255,175,0,104,255,216,0,105,0,40,0,116,255,192,0,117,255,192,0,123,255,192,0,124,255,192,0,125,255,192,0,126,255,192,0,127,255,192,0,128,255,192,0,129,255,175,0,130,255,175,0,131,255,175,0,132,255,175,0,133,255,175,0,134,0,12,0,135, +0,12,0,136,0,12,0,137,0,12,0,139,255,175,0,140,255,175,0,141,255,175,0,142,255,175,0,143,255,175,0,178,255,192,0,179,255,175,0,190,255,192,0,191,255,192,0,204,0,36,0,215,255,192,0,217,255,192,0,231,0,12,0,3,0,35,255,171,0,199,0,40,0,200,0,32,0,68,0,4, +0,24,0,6,0,24,0,10,0,24,0,34,255,215,0,54,0,52,0,55,0,24,0,56,255,232,0,57,0,24,0,58,0,24,0,59,0,24,0,60,255,232,0,61,0,24,0,62,0,24,0,63,0,24,0,64,0,24,0,65,0,24,0,66,0,34,0,67,0,24,0,68,255,232,0,69,0,24,0,70,255,232,0,71,0,24,0,72,0,24,0,73,0,24,0, +75,0,24,0,76,0,12,0,77,0,36,0,78,0,24,0,79,0,24,0,86,0,30,0,94,0,24,0,105,0,40,0,116,0,52,0,117,0,52,0,118,255,232,0,119,0,24,0,120,0,24,0,121,255,232,0,123,0,30,0,124,0,30,0,125,0,30,0,126,0,30,0,127,0,30,0,128,0,30,0,134,0,24,0,135,0,24,0,136,0,24, +0,137,0,24,0,163,255,232,0,178,0,30,0,190,0,52,0,191,0,52,0,192,255,232,0,193,255,232,0,204,0,24,0,215,0,52,0,216,0,24,0,217,0,52,0,218,0,24,0,219,0,24,0,220,0,24,0,221,0,24,0,222,0,24,0,223,0,24,0,224,255,232,0,225,255,232,0,227,255,232,0,231,0,24,0, +2,0,34,255,240,0,199,0,30,0,1,0,95,0,93,0,8,0,6,255,175,0,73,255,187,0,75,255,208,0,76,255,224,0,77,255,224,0,78,255,175,0,109,255,232,0,204,255,175,0,27,0,6,255,156,0,7,255,212,0,38,255,119,0,46,255,192,0,68,255,224,0,70,255,224,0,73,255,176,0,74,255, +224,0,75,255,156,0,76,255,184,0,78,255,156,0,107,255,172,0,108,255,216,0,110,255,212,0,121,255,224,0,122,255,224,0,163,255,224,0,192,255,224,0,193,255,224,0,203,255,212,0,204,255,156,0,224,255,224,0,225,255,224,0,227,255,224,0,228,255,224,0,229,255,224, +0,230,255,224,0,2,0,35,255,176,0,200,255,176,0,1,0,35,255,232,0,1,0,35,255,236,0,1,0,35,255,123,0,1,0,35,255,163,0,62,0,4,0,24,0,5,0,24,0,6,255,192,0,7,255,232,0,10,0,52,0,11,0,34,0,54,0,24,0,63,0,50,0,66,0,24,0,72,0,24,0,73,255,216,0,74,255,244,0,75, +255,196,0,76,255,216,0,77,0,24,0,78,255,192,0,79,0,52,0,86,0,30,0,87,0,12,0,91,0,18,0,93,0,12,0,94,0,12,0,95,0,24,0,96,0,12,0,97,0,12,0,98,0,12,0,99,0,12,0,101,0,12,0,103,0,12,0,104,0,24,0,105,0,24,0,107,255,222,0,108,255,232,0,109,0,42,0,110,255,232, +0,111,0,34,0,116,0,24,0,117,0,24,0,122,255,244,0,123,0,30,0,124,0,30,0,125,0,30,0,126,0,30,0,127,0,30,0,128,0,30,0,134,0,12,0,135,0,12,0,136,0,12,0,137,0,12,0,138,0,12,0,178,0,30,0,190,0,24,0,191,0,24,0,200,255,204,0,203,255,232,0,204,255,192,0,215,0, +24,0,217,0,24,0,228,255,244,0,229,255,244,0,230,255,244,0,231,0,12,0,31,0,6,0,24,0,10,0,24,0,34,255,235,0,54,0,24,0,56,255,232,0,60,255,232,0,63,0,24,0,66,0,24,0,68,255,232,0,70,255,232,0,73,0,24,0,75,0,24,0,76,0,24,0,77,0,24,0,78,0,24,0,79,0,24,0,116, +0,24,0,117,0,24,0,118,255,232,0,121,255,232,0,163,255,232,0,190,0,24,0,191,0,24,0,192,255,232,0,193,255,232,0,204,0,24,0,215,0,24,0,217,0,24,0,224,255,232,0,225,255,232,0,227,255,232,0,1,0,35,255,223,0,5,0,6,0,12,0,63,0,24,0,77,0,24,0,78,0,12,0,204,0, +12,0,18,0,35,255,176,0,54,255,204,0,63,255,190,0,66,255,214,0,86,255,236,0,116,255,204,0,117,255,204,0,123,255,236,0,124,255,236,0,125,255,236,0,126,255,236,0,127,255,236,0,128,255,236,0,178,255,236,0,190,255,204,0,191,255,204,0,215,255,204,0,217,255, +204,0,1,0,35,255,224,0,3,0,10,0,24,0,77,0,24,0,79,0,24,0,3,0,10,0,24,0,77,0,24,0,79,0,24,0,17,0,35,255,223,0,54,255,244,0,66,255,244,0,86,255,246,0,116,255,244,0,117,255,244,0,123,255,246,0,124,255,246,0,125,255,246,0,126,255,246,0,127,255,246,0,128, +255,246,0,178,255,246,0,190,255,244,0,191,255,244,0,215,255,244,0,217,255,244,0,59,0,6,0,12,0,7,255,232,0,10,0,24,0,11,0,24,0,34,255,183,0,54,0,12,0,56,255,214,0,60,255,214,0,63,0,24,0,68,255,214,0,70,255,214,0,75,0,24,0,77,0,24,0,78,0,12,0,79,0,24,0, +88,255,232,0,89,255,232,0,90,255,232,0,92,255,244,0,95,0,24,0,100,255,232,0,102,255,232,0,106,255,232,0,107,255,232,0,108,255,232,0,109,0,24,0,110,255,232,0,111,0,24,0,116,0,12,0,117,0,12,0,118,255,214,0,121,255,214,0,129,255,232,0,130,255,232,0,131, +255,232,0,132,255,232,0,133,255,232,0,139,255,232,0,140,255,232,0,141,255,232,0,142,255,232,0,143,255,232,0,144,255,232,0,145,255,232,0,146,255,232,0,147,255,232,0,163,255,214,0,179,255,232,0,190,0,12,0,191,0,12,0,192,255,214,0,193,255,214,0,203,255, +232,0,204,0,12,0,215,0,12,0,217,0,12,0,224,255,214,0,225,255,214,0,227,255,214,0,45,0,6,255,176,0,10,0,24,0,34,255,228,0,54,0,52,0,56,255,232,0,60,255,232,0,63,0,24,0,66,0,24,0,68,255,232,0,70,255,232,0,73,255,182,0,74,255,232,0,75,255,182,0,76,255,220, +0,77,0,24,0,78,255,176,0,79,0,24,0,86,0,30,0,116,0,52,0,117,0,52,0,118,255,232,0,121,255,232,0,122,255,232,0,123,0,30,0,124,0,30,0,125,0,30,0,126,0,30,0,127,0,30,0,128,0,30,0,163,255,232,0,178,0,30,0,190,0,52,0,191,0,52,0,192,255,232,0,193,255,232,0, +200,255,204,0,204,255,176,0,215,0,52,0,217,0,52,0,224,255,232,0,225,255,232,0,227,255,232,0,228,255,232,0,229,255,232,0,230,255,232,0,51,0,4,0,18,0,5,0,24,0,6,255,214,0,10,0,34,0,11,0,36,0,54,0,24,0,63,0,24,0,72,0,18,0,73,255,220,0,75,255,232,0,76,255, +232,0,77,0,24,0,78,255,214,0,79,0,34,0,86,0,36,0,88,0,12,0,89,0,12,0,90,0,12,0,92,0,12,0,100,0,12,0,102,0,12,0,104,0,24,0,105,0,12,0,109,0,24,0,111,0,36,0,116,0,24,0,117,0,24,0,123,0,36,0,124,0,36,0,125,0,36,0,126,0,36,0,127,0,36,0,128,0,36,0,129,0,12, +0,130,0,12,0,131,0,12,0,132,0,12,0,133,0,12,0,139,0,12,0,140,0,12,0,141,0,12,0,142,0,12,0,143,0,12,0,178,0,36,0,179,0,12,0,190,0,24,0,191,0,24,0,200,255,236,0,204,255,214,0,215,0,24,0,217,0,24,0,3,0,10,0,24,0,77,0,24,0,79,0,24,0,6,0,10,255,232,0,35,255, +224,0,73,255,222,0,77,255,232,0,79,255,232,0,91,0,24,0,52,0,6,0,24,0,7,0,20,0,11,0,20,0,34,255,228,0,35,255,155,0,54,255,182,0,63,255,188,0,66,255,204,0,75,0,34,0,76,0,24,0,78,0,24,0,86,255,236,0,88,255,236,0,89,255,236,0,90,255,236,0,91,0,20,0,92,255, +236,0,100,255,236,0,102,255,236,0,105,0,20,0,107,0,20,0,108,0,20,0,109,0,20,0,110,0,20,0,111,0,20,0,116,255,182,0,117,255,182,0,123,255,236,0,124,255,236,0,125,255,236,0,126,255,236,0,127,255,236,0,128,255,236,0,129,255,236,0,130,255,236,0,131,255,236, +0,132,255,236,0,133,255,236,0,139,255,236,0,140,255,236,0,141,255,236,0,142,255,236,0,143,255,236,0,178,255,236,0,179,255,236,0,190,255,182,0,191,255,182,0,200,0,16,0,203,0,20,0,204,0,24,0,215,255,182,0,217,255,182,0,3,0,35,255,224,0,73,255,232,0,91, +0,24,0,26,0,34,255,220,0,54,0,12,0,63,0,24,0,68,255,244,0,77,0,24,0,86,0,18,0,116,0,12,0,117,0,12,0,121,255,244,0,123,0,18,0,124,0,18,0,125,0,18,0,126,0,18,0,127,0,18,0,128,0,18,0,163,255,244,0,178,0,18,0,190,0,12,0,191,0,12,0,192,255,244,0,193,255,244, +0,215,0,12,0,217,0,12,0,224,255,244,0,225,255,244,0,227,255,244,0,7,0,54,0,24,0,116,0,24,0,117,0,24,0,190,0,24,0,191,0,24,0,215,0,24,0,217,0,24,0,67,0,5,255,216,0,6,0,34,0,10,0,24,0,11,255,216,0,34,255,188,0,35,255,175,0,54,255,216,0,63,255,214,0,66, +255,220,0,68,255,222,0,70,255,222,0,75,0,34,0,76,0,24,0,77,0,24,0,78,0,34,0,79,0,24,0,86,255,174,0,88,255,175,0,89,255,171,0,90,255,176,0,92,255,175,0,98,255,216,0,99,255,216,0,100,255,175,0,101,255,216,0,102,255,175,0,103,255,216,0,104,255,216,0,106, +255,216,0,111,255,216,0,116,255,216,0,117,255,216,0,121,255,222,0,123,255,174,0,124,255,174,0,125,255,174,0,126,255,174,0,127,255,174,0,128,255,174,0,129,255,175,0,130,255,176,0,131,255,176,0,132,255,176,0,133,255,176,0,138,255,216,0,139,255,175,0,140, +255,175,0,141,255,175,0,142,255,175,0,143,255,175,0,144,255,216,0,145,255,216,0,146,255,216,0,147,255,216,0,163,255,222,0,178,255,174,0,179,255,175,0,190,255,216,0,191,255,216,0,192,255,222,0,193,255,222,0,204,0,34,0,215,255,216,0,217,255,216,0,224,255, +222,0,225,255,222,0,227,255,222,0,16,0,35,255,223,0,54,255,244,0,86,255,246,0,116,255,244,0,117,255,244,0,123,255,246,0,124,255,246,0,125,255,246,0,126,255,246,0,127,255,246,0,128,255,246,0,178,255,246,0,190,255,244,0,191,255,244,0,215,255,244,0,217, +255,244,0,45,0,5,255,216,0,6,0,36,0,34,255,208,0,35,255,155,0,54,255,196,0,63,255,214,0,66,255,232,0,73,0,34,0,76,0,12,0,77,0,24,0,78,0,36,0,86,255,210,0,88,255,203,0,89,255,203,0,90,255,204,0,92,255,203,0,100,255,203,0,102,255,203,0,104,255,216,0,105, +0,40,0,116,255,196,0,117,255,196,0,123,255,210,0,124,255,210,0,125,255,210,0,126,255,210,0,127,255,210,0,128,255,210,0,129,255,203,0,130,255,204,0,131,255,204,0,132,255,204,0,133,255,204,0,139,255,203,0,140,255,203,0,141,255,203,0,142,255,203,0,143,255, +203,0,178,255,210,0,179,255,203,0,190,255,196,0,191,255,196,0,204,0,36,0,215,255,196,0,217,255,196,0,44,0,5,255,216,0,6,0,34,0,34,255,223,0,35,255,184,0,54,255,216,0,63,255,232,0,66,255,232,0,73,0,24,0,75,0,24,0,78,0,34,0,86,255,226,0,88,255,216,0,89, +255,216,0,90,255,216,0,92,255,216,0,100,255,216,0,102,255,216,0,104,255,216,0,105,0,32,0,116,255,216,0,117,255,216,0,123,255,226,0,124,255,226,0,125,255,226,0,126,255,226,0,127,255,226,0,128,255,226,0,129,255,216,0,130,255,216,0,131,255,216,0,132,255, +216,0,133,255,216,0,139,255,216,0,140,255,216,0,141,255,216,0,142,255,216,0,143,255,216,0,178,255,226,0,179,255,216,0,190,255,216,0,191,255,216,0,204,0,34,0,215,255,216,0,217,255,216,0,65,0,4,0,18,0,6,0,24,0,10,0,36,0,34,255,224,0,54,0,24,0,55,0,24,0, +57,0,24,0,58,0,24,0,59,0,24,0,61,0,24,0,62,0,24,0,63,0,42,0,64,0,24,0,65,0,24,0,66,0,24,0,67,0,24,0,68,255,232,0,69,0,24,0,70,255,232,0,71,0,24,0,72,0,18,0,73,0,24,0,75,0,24,0,77,0,24,0,78,0,24,0,79,0,36,0,86,0,20,0,91,0,24,0,94,0,24,0,105,0,24,0,116, +0,24,0,117,0,24,0,119,0,24,0,120,0,24,0,121,255,232,0,123,0,20,0,124,0,20,0,125,0,20,0,126,0,20,0,127,0,20,0,128,0,20,0,134,0,24,0,135,0,24,0,136,0,24,0,137,0,24,0,163,255,232,0,178,0,20,0,190,0,24,0,191,0,24,0,192,255,232,0,193,255,232,0,204,0,24,0, +215,0,24,0,216,0,24,0,217,0,24,0,218,0,24,0,219,0,24,0,220,0,24,0,221,0,24,0,222,0,24,0,223,0,24,0,224,255,232,0,225,255,232,0,227,255,232,0,231,0,24,0,55,0,5,255,216,0,6,0,36,0,10,0,24,0,34,255,175,0,35,255,155,0,54,255,192,0,63,255,200,0,66,255,214, +0,73,0,34,0,75,0,36,0,76,0,34,0,77,0,24,0,78,0,36,0,79,0,24,0,86,255,192,0,88,255,175,0,89,255,175,0,90,255,175,0,91,0,12,0,92,255,175,0,94,0,12,0,100,255,175,0,102,255,175,0,104,255,216,0,105,0,40,0,116,255,192,0,117,255,192,0,123,255,192,0,124,255, +192,0,125,255,192,0,126,255,192,0,127,255,192,0,128,255,192,0,129,255,175,0,130,255,175,0,131,255,175,0,132,255,175,0,133,255,175,0,134,0,12,0,135,0,12,0,136,0,12,0,137,0,12,0,139,255,175,0,140,255,175,0,141,255,175,0,142,255,175,0,143,255,175,0,178, +255,192,0,179,255,175,0,190,255,192,0,191,255,192,0,204,0,36,0,215,255,192,0,217,255,192,0,231,0,12,0,68,0,4,0,24,0,6,0,24,0,10,0,24,0,34,255,215,0,54,0,52,0,55,0,24,0,56,255,232,0,57,0,24,0,58,0,24,0,59,0,24,0,60,255,232,0,61,0,24,0,62,0,24,0,63,0,24, +0,64,0,24,0,65,0,24,0,66,0,34,0,67,0,24,0,68,255,232,0,69,0,24,0,70,255,232,0,71,0,24,0,72,0,24,0,73,0,24,0,75,0,24,0,76,0,12,0,77,0,36,0,78,0,24,0,79,0,24,0,86,0,30,0,94,0,24,0,105,0,40,0,116,0,52,0,117,0,52,0,118,255,232,0,119,0,24,0,120,0,24,0,121, +255,232,0,123,0,30,0,124,0,30,0,125,0,30,0,126,0,30,0,127,0,30,0,128,0,30,0,134,0,24,0,135,0,24,0,136,0,24,0,137,0,24,0,163,255,232,0,178,0,30,0,190,0,52,0,191,0,52,0,192,255,232,0,193,255,232,0,204,0,24,0,215,0,52,0,216,0,24,0,217,0,52,0,218,0,24,0, +219,0,24,0,220,0,24,0,221,0,24,0,222,0,24,0,223,0,24,0,224,255,232,0,225,255,232,0,227,255,232,0,231,0,24,0,2,0,35,255,240,0,199,255,242,0,2,0,199,0,30,0,200,0,20,0,1,0,199,255,239,0,8,0,30,0,56,0,34,255,212,0,35,255,215,0,52,0,32,0,82,0,44,0,114,0,44, +0,199,0,60,0,200,0,24,0,1,0,199,255,242,0,1,0,34,255,207,0,1,0,199,255,242,0,1,0,199,255,242,0,1,0,199,255,242,0,1,0,199,255,242,0,4,0,34,255,212,0,35,255,215,0,199,0,30,0,200,0,40,0,4,0,34,255,224,0,35,255,232,0,199,0,50,0,200,0,33,0,3,0,35,255,171, +0,199,0,40,0,200,0,32,0,3,0,35,255,216,0,199,0,30,0,200,0,33,0,3,0,34,255,232,0,199,0,20,0,200,0,32,0,3,0,35,255,171,0,199,0,40,0,200,0,32,0,2,0,34,255,240,0,199,0,30,0,62,0,4,0,24,0,5,0,24,0,6,255,192,0,7,255,232,0,10,0,52,0,11,0,34,0,54,0,24,0,63,0, +50,0,66,0,24,0,72,0,24,0,73,255,216,0,74,255,244,0,75,255,196,0,76,255,216,0,77,0,24,0,78,255,192,0,79,0,52,0,86,0,30,0,87,0,12,0,91,0,18,0,93,0,12,0,94,0,12,0,95,0,24,0,96,0,12,0,97,0,12,0,98,0,12,0,99,0,12,0,101,0,12,0,103,0,12,0,104,0,24,0,105,0,24, +0,107,255,222,0,108,255,232,0,109,0,42,0,110,255,232,0,111,0,34,0,116,0,24,0,117,0,24,0,122,255,244,0,123,0,30,0,124,0,30,0,125,0,30,0,126,0,30,0,127,0,30,0,128,0,30,0,134,0,12,0,135,0,12,0,136,0,12,0,137,0,12,0,138,0,12,0,178,0,30,0,190,0,24,0,191,0, +24,0,200,255,204,0,203,255,232,0,204,255,192,0,215,0,24,0,217,0,24,0,228,255,244,0,229,255,244,0,230,255,244,0,231,0,12,0,62,0,4,0,24,0,5,0,24,0,6,255,192,0,7,255,232,0,10,0,52,0,11,0,34,0,54,0,24,0,63,0,50,0,66,0,24,0,72,0,24,0,73,255,216,0,74,255,244, +0,75,255,196,0,76,255,216,0,77,0,24,0,78,255,192,0,79,0,52,0,86,0,30,0,87,0,12,0,91,0,18,0,93,0,12,0,94,0,12,0,95,0,24,0,96,0,12,0,97,0,12,0,98,0,12,0,99,0,12,0,101,0,12,0,103,0,12,0,104,0,24,0,105,0,24,0,107,255,222,0,108,255,232,0,109,0,42,0,110,255, +232,0,111,0,34,0,116,0,24,0,117,0,24,0,122,255,244,0,123,0,30,0,124,0,30,0,125,0,30,0,126,0,30,0,127,0,30,0,128,0,30,0,134,0,12,0,135,0,12,0,136,0,12,0,137,0,12,0,138,0,12,0,178,0,30,0,190,0,24,0,191,0,24,0,200,255,204,0,203,255,232,0,204,255,192,0,215, +0,24,0,217,0,24,0,228,255,244,0,229,255,244,0,230,255,244,0,231,0,12,0,31,0,6,0,24,0,10,0,24,0,34,255,235,0,54,0,24,0,56,255,232,0,60,255,232,0,63,0,24,0,66,0,24,0,68,255,232,0,70,255,232,0,73,0,24,0,75,0,24,0,76,0,24,0,77,0,24,0,78,0,24,0,79,0,24,0, +116,0,24,0,117,0,24,0,118,255,232,0,121,255,232,0,163,255,232,0,190,0,24,0,191,0,24,0,192,255,232,0,193,255,232,0,204,0,24,0,215,0,24,0,217,0,24,0,224,255,232,0,225,255,232,0,227,255,232,0,5,0,6,0,12,0,63,0,24,0,77,0,24,0,78,0,12,0,204,0,12,0,3,0,10, +0,24,0,77,0,24,0,79,0,24,0,6,0,10,255,232,0,35,255,224,0,73,255,222,0,77,255,232,0,79,255,232,0,91,0,24,0,16,0,35,255,223,0,54,255,244,0,86,255,246,0,116,255,244,0,117,255,244,0,123,255,246,0,124,255,246,0,125,255,246,0,126,255,246,0,127,255,246,0,128, +255,246,0,178,255,246,0,190,255,244,0,191,255,244,0,215,255,244,0,217,255,244,0,2,0,199,0,30,0,200,0,20,0,1,0,199,255,239,0,1,0,199,255,239,0,1,0,199,255,239,0,1,0,199,255,239,0,1,0,199,255,242,0,1,0,199,255,242,0,1,0,199,255,242,0,1,0,199,255,242,0, +1,0,199,255,242,0,1,0,199,255,242,0,6,0,10,255,232,0,35,255,224,0,73,255,222,0,77,255,232,0,79,255,232,0,91,0,24,0,1,0,199,255,242,0,62,0,4,0,24,0,5,0,24,0,6,255,192,0,7,255,232,0,10,0,52,0,11,0,34,0,54,0,24,0,63,0,50,0,66,0,24,0,72,0,24,0,73,255,216, +0,74,255,244,0,75,255,196,0,76,255,216,0,77,0,24,0,78,255,192,0,79,0,52,0,86,0,30,0,87,0,12,0,91,0,18,0,93,0,12,0,94,0,12,0,95,0,24,0,96,0,12,0,97,0,12,0,98,0,12,0,99,0,12,0,101,0,12,0,103,0,12,0,104,0,24,0,105,0,24,0,107,255,222,0,108,255,232,0,109, +0,42,0,110,255,232,0,111,0,34,0,116,0,24,0,117,0,24,0,122,255,244,0,123,0,30,0,124,0,30,0,125,0,30,0,126,0,30,0,127,0,30,0,128,0,30,0,134,0,12,0,135,0,12,0,136,0,12,0,137,0,12,0,138,0,12,0,178,0,30,0,190,0,24,0,191,0,24,0,200,255,204,0,203,255,232,0, +204,255,192,0,215,0,24,0,217,0,24,0,228,255,244,0,229,255,244,0,230,255,244,0,231,0,12,0,62,0,4,0,24,0,5,0,24,0,6,255,192,0,7,255,232,0,10,0,52,0,11,0,34,0,54,0,24,0,63,0,50,0,66,0,24,0,72,0,24,0,73,255,216,0,74,255,244,0,75,255,196,0,76,255,216,0,77, +0,24,0,78,255,192,0,79,0,52,0,86,0,30,0,87,0,12,0,91,0,18,0,93,0,12,0,94,0,12,0,95,0,24,0,96,0,12,0,97,0,12,0,98,0,12,0,99,0,12,0,101,0,12,0,103,0,12,0,104,0,24,0,105,0,24,0,107,255,222,0,108,255,232,0,109,0,42,0,110,255,232,0,111,0,34,0,116,0,24,0,117, +0,24,0,122,255,244,0,123,0,30,0,124,0,30,0,125,0,30,0,126,0,30,0,127,0,30,0,128,0,30,0,134,0,12,0,135,0,12,0,136,0,12,0,137,0,12,0,138,0,12,0,178,0,30,0,190,0,24,0,191,0,24,0,200,255,204,0,203,255,232,0,204,255,192,0,215,0,24,0,217,0,24,0,228,255,244, +0,229,255,244,0,230,255,244,0,231,0,12,0,6,0,10,255,232,0,35,255,224,0,73,255,222,0,77,255,232,0,79,255,232,0,91,0,24,0,6,0,10,255,232,0,35,255,224,0,73,255,222,0,77,255,232,0,79,255,232,0,91,0,24,0,22,0,5,255,176,0,7,0,33,0,11,0,21,0,38,255,176,0,41, +255,212,0,44,255,208,0,54,255,204,0,63,255,184,0,66,255,236,0,105,0,33,0,107,0,33,0,108,0,33,0,109,0,33,0,110,0,33,0,111,0,21,0,116,255,204,0,117,255,204,0,190,255,204,0,191,255,204,0,203,0,33,0,215,255,204,0,217,255,204,0,2,0,5,255,204,0,104,255,204, +0,3,0,35,255,171,0,199,0,40,0,200,0,32,0,55,0,5,255,216,0,6,0,36,0,10,0,24,0,34,255,175,0,35,255,155,0,54,255,192,0,63,255,200,0,66,255,214,0,73,0,34,0,75,0,36,0,76,0,34,0,77,0,24,0,78,0,36,0,79,0,24,0,86,255,192,0,88,255,175,0,89,255,175,0,90,255,175, +0,91,0,12,0,92,255,175,0,94,0,12,0,100,255,175,0,102,255,175,0,104,255,216,0,105,0,40,0,116,255,192,0,117,255,192,0,123,255,192,0,124,255,192,0,125,255,192,0,126,255,192,0,127,255,192,0,128,255,192,0,129,255,175,0,130,255,175,0,131,255,175,0,132,255, +175,0,133,255,175,0,134,0,12,0,135,0,12,0,136,0,12,0,137,0,12,0,139,255,175,0,140,255,175,0,141,255,175,0,142,255,175,0,143,255,175,0,178,255,192,0,179,255,175,0,190,255,192,0,191,255,192,0,204,0,36,0,215,255,192,0,217,255,192,0,231,0,12,0,62,0,4,0,24, +0,5,0,24,0,6,255,192,0,7,255,232,0,10,0,52,0,11,0,34,0,54,0,24,0,63,0,50,0,66,0,24,0,72,0,24,0,73,255,216,0,74,255,244,0,75,255,196,0,76,255,216,0,77,0,24,0,78,255,192,0,79,0,52,0,86,0,30,0,87,0,12,0,91,0,18,0,93,0,12,0,94,0,12,0,95,0,24,0,96,0,12,0, +97,0,12,0,98,0,12,0,99,0,12,0,101,0,12,0,103,0,12,0,104,0,24,0,105,0,24,0,107,255,222,0,108,255,232,0,109,0,42,0,110,255,232,0,111,0,34,0,116,0,24,0,117,0,24,0,122,255,244,0,123,0,30,0,124,0,30,0,125,0,30,0,126,0,30,0,127,0,30,0,128,0,30,0,134,0,12,0, +135,0,12,0,136,0,12,0,137,0,12,0,138,0,12,0,178,0,30,0,190,0,24,0,191,0,24,0,200,255,204,0,203,255,232,0,204,255,192,0,215,0,24,0,217,0,24,0,228,255,244,0,229,255,244,0,230,255,244,0,231,0,12,0,5,0,6,0,12,0,63,0,24,0,77,0,24,0,78,0,12,0,204,0,12,0,62, +0,4,0,24,0,5,0,24,0,6,255,192,0,7,255,232,0,10,0,52,0,11,0,34,0,54,0,24,0,63,0,50,0,66,0,24,0,72,0,24,0,73,255,216,0,74,255,244,0,75,255,196,0,76,255,216,0,77,0,24,0,78,255,192,0,79,0,52,0,86,0,30,0,87,0,12,0,91,0,18,0,93,0,12,0,94,0,12,0,95,0,24,0,96, +0,12,0,97,0,12,0,98,0,12,0,99,0,12,0,101,0,12,0,103,0,12,0,104,0,24,0,105,0,24,0,107,255,222,0,108,255,232,0,109,0,42,0,110,255,232,0,111,0,34,0,116,0,24,0,117,0,24,0,122,255,244,0,123,0,30,0,124,0,30,0,125,0,30,0,126,0,30,0,127,0,30,0,128,0,30,0,134, +0,12,0,135,0,12,0,136,0,12,0,137,0,12,0,138,0,12,0,178,0,30,0,190,0,24,0,191,0,24,0,200,255,204,0,203,255,232,0,204,255,192,0,215,0,24,0,217,0,24,0,228,255,244,0,229,255,244,0,230,255,244,0,231,0,12,0,5,0,6,0,12,0,63,0,24,0,77,0,24,0,78,0,12,0,204,0, +12,0,5,0,6,0,12,0,63,0,24,0,77,0,24,0,78,0,12,0,204,0,12,0,3,0,10,0,24,0,77,0,24,0,79,0,24,0,3,0,10,0,24,0,77,0,24,0,79,0,24,0,3,0,10,0,24,0,77,0,24,0,79,0,24,0,3,0,10,0,24,0,77,0,24,0,79,0,24,0,6,0,10,255,232,0,35,255,224,0,73,255,222,0,77,255,232,0, +79,255,232,0,91,0,24,0,6,0,10,255,232,0,35,255,224,0,73,255,222,0,77,255,232,0,79,255,232,0,91,0,24,0,6,0,10,255,232,0,35,255,224,0,73,255,222,0,77,255,232,0,79,255,232,0,91,0,24,0,16,0,35,255,223,0,54,255,244,0,86,255,246,0,116,255,244,0,117,255,244, +0,123,255,246,0,124,255,246,0,125,255,246,0,126,255,246,0,127,255,246,0,128,255,246,0,178,255,246,0,190,255,244,0,191,255,244,0,215,255,244,0,217,255,244,0,16,0,35,255,223,0,54,255,244,0,86,255,246,0,116,255,244,0,117,255,244,0,123,255,246,0,124,255, +246,0,125,255,246,0,126,255,246,0,127,255,246,0,128,255,246,0,178,255,246,0,190,255,244,0,191,255,244,0,215,255,244,0,217,255,244,0,16,0,35,255,223,0,54,255,244,0,86,255,246,0,116,255,244,0,117,255,244,0,123,255,246,0,124,255,246,0,125,255,246,0,126, +255,246,0,127,255,246,0,128,255,246,0,178,255,246,0,190,255,244,0,191,255,244,0,215,255,244,0,217,255,244,0,2,0,30,0,4,0,4,0,0,0,6,0,7,0,1,0,10,0,11,0,3,0,29,0,29,0,5,0,34,0,35,0,6,0,38,0,38,0,8,0,40,0,40,0,9,0,42,0,42,0,10,0,44,0,44,0,11,0,46,0,46,0, +12,0,54,0,54,0,13,0,56,0,79,0,14,0,87,0,88,0,38,0,90,0,91,0,40,0,93,0,93,0,42,0,96,0,96,0,43,0,98,0,101,0,44,0,103,0,103,0,48,0,105,0,105,0,49,0,107,0,111,0,50,0,116,0,122,0,55,0,129,0,133,0,62,0,138,0,143,0,67,0,163,0,163,0,73,0,179,0,179,0,74,0,190, +0,193,0,75,0,199,0,200,0,79,0,203,0,204,0,81,0,215,0,225,0,83,0,227,0,230,0,94,0,0,0,0 }; + +const char* ContaxPro45Lig_otf = (const char*) temp_binary_data_25; + +//================== ContaxPro55Rm.otf ================== +static const unsigned char temp_binary_data_26[] = +{ 79,84,84,79,0,10,0,128,0,3,0,32,67,70,70,32,97,134,60,165,0,0,14,76,0,0,53,16,71,80,79,83,168,109,65,45,0,0,71,44,0,0,49,6,79,83,47,50,137,187,143,117,0,0,1,16,0,0,0,96,99,109,97,112,114,241,200,81,0,0,10,184,0,0,3,116,104,101,97,100,243,137,7,226,0, +0,0,172,0,0,0,54,104,104,101,97,6,160,4,2,0,0,0,228,0,0,0,36,104,109,116,120,11,2,45,103,0,0,67,92,0,0,3,208,109,97,120,112,0,244,80,0,0,0,1,8,0,0,0,6,110,97,109,101,158,239,241,9,0,0,1,112,0,0,9,69,112,111,115,116,255,126,0,20,0,0,14,44,0,0,0,32,0,1, +0,0,0,1,0,0,73,44,209,225,95,15,60,245,0,3,3,232,0,0,0,0,200,99,98,23,0,0,0,0,200,99,98,23,255,103,255,32,4,68,3,180,0,0,0,3,0,2,0,0,0,0,0,0,0,1,0,0,2,188,255,58,0,54,4,108,255,103,255,103,4,68,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,244,0,0,80,0,0,244,0,0, +0,2,2,36,1,144,0,5,0,6,2,138,2,88,0,0,0,75,2,188,2,138,0,0,1,221,0,50,0,250,0,0,2,0,6,3,3,0,0,2,0,4,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,97,107,116,105,0,64,0,32,251,2,2,188,255,58,0,54,3,180,0,224,32,0,0,1,0,0,0,0,2,18,2,154,0,32,0,32,0,2,0,0,0,24,1,38,0, +1,0,0,0,0,0,0,0,75,0,0,0,1,0,0,0,0,0,1,0,13,0,75,0,1,0,0,0,0,0,2,0,7,0,88,0,1,0,0,0,0,0,3,0,22,0,95,0,1,0,0,0,0,0,4,0,13,0,75,0,1,0,0,0,0,0,5,0,32,0,117,0,1,0,0,0,0,0,6,0,11,0,149,0,1,0,0,0,0,0,7,0,66,0,160,0,1,0,0,0,0,0,9,0,33,0,226,0,1,0,0,0,0,0,10, +1,159,1,3,0,1,0,0,0,0,0,11,0,19,2,162,0,1,0,0,0,0,0,12,0,19,2,162,0,3,0,1,4,9,0,0,0,150,2,181,0,3,0,1,4,9,0,1,0,26,3,75,0,3,0,1,4,9,0,2,0,14,3,101,0,3,0,1,4,9,0,3,0,44,3,115,0,3,0,1,4,9,0,4,0,26,3,75,0,3,0,1,4,9,0,5,0,64,3,159,0,3,0,1,4,9,0,6,0,22,3, +223,0,3,0,1,4,9,0,7,0,132,3,245,0,3,0,1,4,9,0,9,0,66,4,121,0,3,0,1,4,9,0,10,3,62,4,187,0,3,0,1,4,9,0,11,0,38,7,249,0,3,0,1,4,9,0,12,0,38,7,249,67,111,112,121,114,105,103,104,116,32,40,99,41,32,65,108,101,120,32,75,97,99,122,117,110,44,32,100,98,97,32, +84,121,112,101,32,73,110,110,111,118,97,116,105,111,110,115,44,32,49,57,57,55,46,32,65,108,108,32,114,105,103,104,116,115,32,114,101,115,101,114,118,101,100,46,67,111,110,116,97,120,32,80,114,111,32,53,53,82,101,103,117,108,97,114,49,46,48,48,48,59,97, +107,116,105,59,67,111,110,116,97,120,80,114,111,53,53,79,84,70,32,49,46,48,48,48,59,80,83,32,48,48,49,46,48,48,48,59,67,111,114,101,32,49,46,48,46,51,52,67,111,110,116,97,120,80,114,111,53,53,67,111,110,116,97,120,32,80,114,111,32,53,53,32,105,115,32, +97,32,116,114,97,100,101,109,97,114,107,32,111,102,32,65,108,101,120,32,75,97,99,122,117,110,44,32,100,98,97,32,84,121,112,101,32,73,110,110,111,118,97,116,105,111,110,115,46,65,108,101,120,32,75,97,99,122,117,110,44,32,100,98,97,32,84,121,112,101,32, +73,110,110,111,118,97,116,105,111,110,115,84,104,101,32,100,105,103,105,116,97,108,108,121,32,101,110,99,111,100,101,100,32,109,97,99,104,105,110,101,32,114,101,97,100,97,98,108,101,32,115,111,102,116,119,97,114,101,32,102,111,114,32,112,114,111,100, +117,99,105,110,103,32,32,32,116,104,101,32,84,121,112,101,102,97,99,101,115,32,108,105,99,101,110,115,101,100,32,116,111,32,121,111,117,32,105,115,32,99,111,112,121,114,105,103,104,116,101,100,32,40,99,41,32,49,57,57,55,32,65,108,101,120,32,75,97,99, +122,117,110,44,32,100,98,97,32,84,121,112,101,32,73,110,110,111,118,97,116,105,111,110,115,46,32,65,108,108,32,82,105,103,104,116,115,32,82,101,115,101,114,118,101,100,46,32,84,104,105,115,32,115,111,102,116,119,97,114,101,32,105,115,32,116,104,101,32, +112,114,111,112,101,114,116,121,32,111,102,32,65,108,101,120,32,75,97,99,122,117,110,44,32,100,98,97,32,84,121,112,101,32,73,110,110,111,118,97,116,105,111,110,115,44,32,97,110,100,32,105,116,115,32,108,105,99,101,110,115,111,114,115,44,32,97,110,100, +32,109,97,121,32,110,111,116,32,98,101,32,114,101,112,114,111,100,117,99,101,100,44,32,117,115,101,100,44,32,100,105,115,112,108,97,121,101,100,44,32,109,111,100,105,102,105,101,100,44,32,100,105,115,99,108,111,115,101,100,32,111,114,32,116,114,97,110, +115,102,101,114,114,101,100,32,119,105,116,104,111,117,116,32,116,104,101,32,101,120,112,114,101,115,115,32,119,114,105,116,116,101,110,32,97,112,112,114,111,118,97,108,32,111,102,32,65,108,101,120,32,75,97,99,122,117,110,44,32,100,98,97,32,84,121,112, +101,32,73,110,110,111,118,97,116,105,111,110,115,46,32,116,121,112,101,105,110,110,111,118,97,116,105,111,110,115,46,99,111,109,0,67,0,111,0,112,0,121,0,114,0,105,0,103,0,104,0,116,0,32,0,40,0,99,0,41,0,32,0,65,0,108,0,101,0,120,0,32,0,75,0,97,0,99,0, +122,0,117,0,110,0,44,0,32,0,100,0,98,0,97,0,32,0,84,0,121,0,112,0,101,0,32,0,73,0,110,0,110,0,111,0,118,0,97,0,116,0,105,0,111,0,110,0,115,0,44,0,32,0,49,0,57,0,57,0,55,0,46,0,32,0,65,0,108,0,108,0,32,0,114,0,105,0,103,0,104,0,116,0,115,0,32,0,114,0, +101,0,115,0,101,0,114,0,118,0,101,0,100,0,46,0,67,0,111,0,110,0,116,0,97,0,120,0,32,0,80,0,114,0,111,0,32,0,53,0,53,0,82,0,101,0,103,0,117,0,108,0,97,0,114,0,49,0,46,0,48,0,48,0,48,0,59,0,97,0,107,0,116,0,105,0,59,0,67,0,111,0,110,0,116,0,97,0,120,0, +80,0,114,0,111,0,53,0,53,0,79,0,84,0,70,0,32,0,49,0,46,0,48,0,48,0,48,0,59,0,80,0,83,0,32,0,48,0,48,0,49,0,46,0,48,0,48,0,48,0,59,0,67,0,111,0,114,0,101,0,32,0,49,0,46,0,48,0,46,0,51,0,52,0,67,0,111,0,110,0,116,0,97,0,120,0,80,0,114,0,111,0,53,0,53,0, +67,0,111,0,110,0,116,0,97,0,120,0,32,0,80,0,114,0,111,0,32,0,53,0,53,0,32,0,105,0,115,0,32,0,97,0,32,0,116,0,114,0,97,0,100,0,101,0,109,0,97,0,114,0,107,0,32,0,111,0,102,0,32,0,65,0,108,0,101,0,120,0,32,0,75,0,97,0,99,0,122,0,117,0,110,0,44,0,32,0,100, +0,98,0,97,0,32,0,84,0,121,0,112,0,101,0,32,0,73,0,110,0,110,0,111,0,118,0,97,0,116,0,105,0,111,0,110,0,115,0,46,0,65,0,108,0,101,0,120,0,32,0,75,0,97,0,99,0,122,0,117,0,110,0,44,0,32,0,100,0,98,0,97,0,32,0,84,0,121,0,112,0,101,0,32,0,73,0,110,0,110,0, +111,0,118,0,97,0,116,0,105,0,111,0,110,0,115,0,84,0,104,0,101,0,32,0,100,0,105,0,103,0,105,0,116,0,97,0,108,0,108,0,121,0,32,0,101,0,110,0,99,0,111,0,100,0,101,0,100,0,32,0,109,0,97,0,99,0,104,0,105,0,110,0,101,0,32,0,114,0,101,0,97,0,100,0,97,0,98,0, +108,0,101,0,32,0,115,0,111,0,102,0,116,0,119,0,97,0,114,0,101,0,32,0,102,0,111,0,114,0,32,0,112,0,114,0,111,0,100,0,117,0,99,0,105,0,110,0,103,0,32,0,32,0,32,0,116,0,104,0,101,0,32,0,84,0,121,0,112,0,101,0,102,0,97,0,99,0,101,0,115,0,32,0,108,0,105,0, +99,0,101,0,110,0,115,0,101,0,100,0,32,0,116,0,111,0,32,0,121,0,111,0,117,0,32,0,105,0,115,0,32,0,99,0,111,0,112,0,121,0,114,0,105,0,103,0,104,0,116,0,101,0,100,0,32,0,40,0,99,0,41,0,32,0,49,0,57,0,57,0,55,0,32,0,65,0,108,0,101,0,120,0,32,0,75,0,97,0, +99,0,122,0,117,0,110,0,44,0,32,0,100,0,98,0,97,0,32,0,84,0,121,0,112,0,101,0,32,0,73,0,110,0,110,0,111,0,118,0,97,0,116,0,105,0,111,0,110,0,115,0,46,0,32,0,65,0,108,0,108,0,32,0,82,0,105,0,103,0,104,0,116,0,115,0,32,0,82,0,101,0,115,0,101,0,114,0,118, +0,101,0,100,0,46,0,32,0,84,0,104,0,105,0,115,0,32,0,115,0,111,0,102,0,116,0,119,0,97,0,114,0,101,0,32,0,105,0,115,0,32,0,116,0,104,0,101,0,32,0,112,0,114,0,111,0,112,0,101,0,114,0,116,0,121,0,32,0,111,0,102,0,32,0,65,0,108,0,101,0,120,0,32,0,75,0,97, +0,99,0,122,0,117,0,110,0,44,0,32,0,100,0,98,0,97,0,32,0,84,0,121,0,112,0,101,0,32,0,73,0,110,0,110,0,111,0,118,0,97,0,116,0,105,0,111,0,110,0,115,0,44,0,32,0,97,0,110,0,100,0,32,0,105,0,116,0,115,0,32,0,108,0,105,0,99,0,101,0,110,0,115,0,111,0,114,0, +115,0,44,0,32,0,97,0,110,0,100,0,32,0,109,0,97,0,121,0,32,0,110,0,111,0,116,0,32,0,98,0,101,0,32,0,114,0,101,0,112,0,114,0,111,0,100,0,117,0,99,0,101,0,100,0,44,0,32,0,117,0,115,0,101,0,100,0,44,0,32,0,100,0,105,0,115,0,112,0,108,0,97,0,121,0,101,0,100, +0,44,0,32,0,109,0,111,0,100,0,105,0,102,0,105,0,101,0,100,0,44,0,32,0,100,0,105,0,115,0,99,0,108,0,111,0,115,0,101,0,100,0,32,0,111,0,114,0,32,0,116,0,114,0,97,0,110,0,115,0,102,0,101,0,114,0,114,0,101,0,100,0,32,0,119,0,105,0,116,0,104,0,111,0,117,0, +116,0,32,0,116,0,104,0,101,0,32,0,101,0,120,0,112,0,114,0,101,0,115,0,115,0,32,0,119,0,114,0,105,0,116,0,116,0,101,0,110,0,32,0,97,0,112,0,112,0,114,0,111,0,118,0,97,0,108,0,32,0,111,0,102,0,32,0,65,0,108,0,101,0,120,0,32,0,75,0,97,0,99,0,122,0,117,0, +110,0,44,0,32,0,100,0,98,0,97,0,32,0,84,0,121,0,112,0,101,0,32,0,73,0,110,0,110,0,111,0,118,0,97,0,116,0,105,0,111,0,110,0,115,0,46,0,32,0,116,0,121,0,112,0,101,0,105,0,110,0,110,0,111,0,118,0,97,0,116,0,105,0,111,0,110,0,115,0,46,0,99,0,111,0,109,0, +0,0,0,0,0,3,0,0,0,3,0,0,1,34,0,1,0,0,0,0,0,28,0,3,0,1,0,0,1,34,0,0,1,6,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57, +58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,0,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130, +131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,21,190,191,192, +193,194,195,196,197,198,199,200,201,202,203,204,205,242,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,0,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,0,4,2,82,0,0,0,88,0,64,0,5,0,24,0,126,0,163,0,255,1, +49,1,66,1,83,1,97,1,120,1,126,1,146,2,199,2,201,2,218,2,221,3,126,3,148,3,169,3,188,3,192,32,20,32,26,32,30,32,34,32,38,32,48,32,58,32,68,32,172,33,34,33,38,34,2,34,6,34,15,34,18,34,21,34,26,34,30,34,43,34,72,34,96,34,101,37,202,251,2,255,255,0,0,0,32, +0,160,0,165,1,49,1,65,1,82,1,96,1,120,1,125,1,146,2,198,2,201,2,216,2,219,3,126,3,148,3,169,3,188,3,192,32,19,32,24,32,28,32,32,32,38,32,48,32,57,32,68,32,172,33,34,33,38,34,2,34,6,34,15,34,17,34,21,34,25,34,30,34,43,34,72,34,96,34,100,37,202,251,1,255, +255,255,245,0,0,0,0,255,182,254,193,255,111,254,164,255,84,254,141,255,38,0,0,254,33,254,19,0,0,252,178,253,38,253,8,252,237,252,237,224,176,0,0,0,0,0,0,224,151,224,166,224,149,224,137,224,70,223,124,223,139,222,168,222,180,222,157,0,0,222,184,0,0,222, +134,222,131,222,113,222,65,222,66,219,0,5,207,0,1,0,0,0,86,0,92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,0,252,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,0,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,0,181,0,150, +0,151,0,168,0,18,0,152,0,160,0,157,0,175,0,187,0,182,0,34,0,156,0,234,0,149,0,165,0,17,0,16,0,159,0,169,0,154,0,211,0,238,0,14,0,176,0,188,0,13,0,12,0,15,0,180,0,190,0,217,0,215,0,191,0,116,0,117,0,162,0,118,0,219,0,119,0,216,0,218,0,223,0,220,0,221, +0,222,0,243,0,120,0,227,0,224,0,225,0,192,0,121,0,20,0,163,0,230,0,228,0,229,0,122,0,6,0,8,0,155,0,124,0,123,0,125,0,127,0,126,0,128,0,178,0,129,0,131,0,130,0,132,0,133,0,135,0,134,0,136,0,137,0,1,0,138,0,140,0,139,0,141,0,143,0,142,0,201,0,179,0,145, +0,144,0,146,0,147,0,7,0,9,0,203,0,232,0,241,0,240,0,233,0,239,0,199,0,200,0,212,0,197,0,198,0,213,0,148,0,210,0,153,0,171,0,19,0,211,0,183,0,3,0,0,0,0,0,0,255,123,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,4,2,0,1,1,1,12,67,111,110,116,97,120,80, +114,111,53,53,0,1,1,1,47,248,15,0,248,43,1,248,44,12,0,248,45,2,248,45,3,248,46,4,251,25,12,3,159,12,4,251,45,251,116,250,216,250,72,5,249,125,15,250,221,17,181,28,41,16,18,0,20,2,0,1,0,9,0,17,0,26,0,38,0,49,0,58,0,65,0,67,0,75,0,80,0,87,0,98,0,103,0, +110,0,115,0,119,0,194,2,97,2,110,2,116,110,111,116,101,113,117,97,108,105,110,102,105,110,105,116,121,108,101,115,115,101,113,117,97,108,103,114,101,97,116,101,114,101,113,117,97,108,112,97,114,116,105,97,108,100,105,102,102,115,117,109,109,97,116,105, +111,110,112,114,111,100,117,99,116,112,105,105,110,116,101,103,114,97,108,79,109,101,103,97,114,97,100,105,99,97,108,97,112,112,114,111,120,101,113,117,97,108,68,101,108,116,97,108,111,122,101,110,103,101,97,112,112,108,101,69,117,114,111,67,111,112, +121,114,105,103,104,116,32,40,99,41,32,65,108,101,120,32,75,97,99,122,117,110,44,32,100,98,97,32,84,121,112,101,32,73,110,110,111,118,97,116,105,111,110,115,44,32,49,57,57,55,46,32,65,108,108,32,114,105,103,104,116,115,32,114,101,115,101,114,118,101, +100,46,84,104,101,32,100,105,103,105,116,97,108,108,121,32,101,110,99,111,100,101,100,32,109,97,99,104,105,110,101,32,114,101,97,100,97,98,108,101,32,115,111,102,116,119,97,114,101,32,102,111,114,32,112,114,111,100,117,99,105,110,103,32,32,32,116,104, +101,32,84,121,112,101,102,97,99,101,115,32,108,105,99,101,110,115,101,100,32,116,111,32,121,111,117,32,105,115,32,99,111,112,121,114,105,103,104,116,101,100,32,40,99,41,32,49,57,57,55,32,65,108,101,120,32,75,97,99,122,117,110,44,32,100,98,97,32,84,121, +112,101,32,73,110,110,111,118,97,116,105,111,110,115,46,32,65,108,108,32,82,105,103,104,116,115,32,82,101,115,101,114,118,101,100,46,32,84,104,105,115,32,115,111,102,116,119,97,114,101,32,105,115,32,116,104,101,32,112,114,111,112,101,114,116,121,32,111, +102,32,65,108,101,120,32,75,97,99,122,117,110,44,32,100,98,97,32,84,121,112,101,32,73,110,110,111,118,97,116,105,111,110,115,44,32,97,110,100,32,105,116,115,32,108,105,99,101,110,115,111,114,115,44,32,97,110,100,32,109,97,121,32,110,111,116,32,98,101, +32,114,101,112,114,111,100,117,99,101,100,44,32,117,115,101,100,44,32,100,105,115,112,108,97,121,101,100,44,32,109,111,100,105,102,105,101,100,44,32,100,105,115,99,108,111,115,101,100,32,111,114,32,116,114,97,110,115,102,101,114,114,101,100,32,119,105, +116,104,111,117,116,32,116,104,101,32,101,120,112,114,101,115,115,32,119,114,105,116,116,101,110,32,97,112,112,114,111,118,97,108,32,111,102,32,65,108,101,120,32,75,97,99,122,117,110,44,32,100,98,97,32,84,121,112,101,32,73,110,110,111,118,97,116,105, +111,110,115,46,32,67,111,110,116,97,120,32,80,114,111,32,53,53,78,111,114,109,97,108,0,0,1,0,167,0,0,140,0,0,146,0,0,192,0,0,221,0,0,197,0,0,226,0,0,157,0,0,162,0,0,199,0,0,228,0,0,155,0,0,158,0,0,150,0,0,163,0,0,169,0,0,164,0,0,160,0,0,166,0,0,168,0, +0,1,6,0,104,0,0,9,55,0,124,0,0,66,29,0,173,0,0,175,0,0,177,1,0,186,0,0,189,0,0,195,0,0,200,0,0,203,0,0,201,1,0,205,0,0,204,0,0,206,1,0,210,0,0,208,1,0,211,0,0,214,0,0,212,1,0,215,1,0,219,0,0,217,1,0,220,0,0,222,0,0,225,0,0,223,1,0,112,0,0,161,0,0,97, +1,0,102,0,0,116,0,0,115,0,0,149,0,0,165,0,0,170,0,0,153,0,0,125,0,0,131,0,1,135,0,0,138,0,0,141,0,1,136,0,0,156,0,1,137,1,0,100,0,0,152,0,1,139,4,0,139,0,0,143,0,1,144,0,0,144,0,0,147,0,0,123,0,0,96,0,0,151,0,1,145,0,0,101,0,1,146,1,0,106,0,0,120,1,0, +174,0,0,176,0,0,191,0,0,142,0,0,148,0,0,111,0,0,137,0,0,105,0,0,119,0,0,65,0,0,8,0,0,159,0,1,148,0,0,227,0,0,198,0,0,99,0,0,107,3,0,113,1,0,117,1,0,122,0,0,172,0,0,179,0,0,171,0,0,180,5,0,187,1,1,149,0,0,190,0,0,193,1,0,196,0,0,145,0,0,126,4,0,132,4, +1,150,0,0,154,0,0,244,2,0,1,0,4,0,97,0,153,0,206,0,228,0,249,1,6,1,22,1,63,1,81,1,98,1,115,1,159,1,198,1,219,2,15,2,43,2,64,2,97,2,109,2,160,2,163,2,197,2,216,3,32,3,169,3,188,4,70,4,83,4,133,4,187,4,242,5,19,5,33,5,50,5,59,5,76,5,142,5,173,5,239,6,85, +6,134,6,215,7,41,7,66,7,189,8,6,8,20,8,34,8,59,8,80,8,106,8,187,9,121,9,128,9,238,9,255,10,15,10,26,10,58,10,141,10,180,10,189,10,235,11,18,11,36,11,86,11,92,11,97,11,132,11,186,11,246,12,5,12,34,12,43,12,73,12,122,12,172,12,180,12,189,12,222,12,240, +13,15,13,49,13,65,13,73,13,94,13,115,13,138,13,170,13,178,13,194,13,245,14,5,14,27,14,78,14,112,14,122,14,177,14,183,14,189,14,203,14,226,15,11,15,25,15,60,15,67,15,98,15,146,15,199,15,210,15,219,16,63,16,87,16,186,16,217,16,235,16,255,17,42,17,50,17, +62,17,80,17,98,17,105,17,112,17,119,17,155,17,166,17,207,17,243,17,250,18,1,18,8,18,26,18,34,18,42,18,54,18,73,18,86,18,93,18,100,18,107,18,126,18,139,18,150,18,161,18,191,18,224,19,4,19,60,19,154,19,254,20,161,20,192,21,23,21,130,21,245,22,118,22,186, +22,194,22,207,23,33,23,79,23,191,24,44,24,83,24,114,24,145,24,208,25,10,25,100,25,166,25,215,25,252,26,64,26,173,26,244,27,80,27,178,28,34,28,114,28,143,28,171,28,213,29,63,29,111,29,146,29,160,29,175,29,209,29,216,29,228,29,240,30,72,30,149,30,165,30, +182,30,205,30,215,30,226,30,237,31,17,31,61,31,81,31,101,31,119,31,129,31,140,31,189,31,213,32,10,32,21,32,33,32,44,32,74,32,82,32,90,32,98,32,125,32,133,32,141,32,155,32,175,32,183,32,191,32,199,33,35,33,43,33,51,33,59,33,67,33,74,33,82,33,95,33,110, +33,154,33,169,33,184,33,219,33,249,34,46,34,57,34,188,34,219,251,173,14,237,10,247,218,213,247,132,206,10,247,127,21,247,25,47,247,26,39,234,30,247,0,189,110,200,251,24,78,111,163,114,160,118,155,25,74,91,160,127,162,122,161,121,25,251,9,84,168,78,247, +36,206,184,96,182,92,156,113,25,150,116,109,148,97,27,251,14,251,5,33,251,20,251,23,247,4,251,3,247,22,247,26,247,3,247,2,247,25,31,59,135,146,10,110,139,211,248,230,119,18,155,247,72,59,219,19,224,248,144,178,10,247,136,7,247,67,247,6,5,219,7,251,67, +251,6,5,247,162,230,10,59,251,214,6,19,224,39,74,5,59,230,10,239,204,5,251,156,7,14,251,159,229,10,18,145,247,78,59,219,59,247,78,19,200,247,190,248,66,21,219,7,19,224,33,70,5,247,151,230,10,59,251,203,6,19,224,33,70,5,59,230,10,245,208,5,251,201,219, +247,253,7,14,138,179,10,216,247,123,119,226,10,19,236,72,10,19,244,137,10,67,249,94,76,10,72,128,10,247,144,119,228,10,19,236,75,10,19,244,139,10,97,248,252,76,10,124,161,10,247,174,107,10,247,24,248,229,60,10,98,251,73,118,250,110,119,1,77,10,247,119, +250,71,60,10,134,160,118,247,36,210,247,132,211,247,31,119,1,239,233,10,3,248,153,247,227,21,247,2,54,221,251,13,30,251,23,247,31,59,253,46,219,247,36,114,10,203,10,247,82,119,125,10,247,172,59,254,22,219,247,172,7,71,10,132,139,211,248,158,211,247,132, +119,134,10,248,49,250,30,76,10,32,139,211,247,250,211,247,152,119,132,10,247,254,249,142,76,10,247,95,139,193,98,118,247,247,195,247,163,119,18,247,35,201,248,80,203,19,188,249,93,22,84,10,247,43,249,54,21,76,6,19,124,157,10,157,247,172,21,122,10,14, +219,10,248,148,119,18,247,35,201,248,16,201,19,124,249,93,143,10,74,248,202,21,76,6,19,188,157,10,247,172,4,122,10,248,78,251,2,222,10,251,127,247,185,118,248,38,119,1,247,35,201,3,247,97,247,164,21,122,10,14,219,10,243,185,10,247,165,201,19,126,128, +249,114,143,10,98,248,202,21,76,6,19,189,128,157,10,222,248,36,21,182,115,172,98,158,30,19,126,128,100,10,19,125,128,121,10,247,165,251,122,222,10,251,77,247,158,185,10,19,232,247,225,248,28,21,182,115,172,98,158,30,19,240,100,10,19,232,121,10,14,251, +77,247,163,193,247,185,195,1,247,156,203,3,247,220,247,163,21,84,10,14,251,241,85,118,249,130,119,1,216,207,3,247,37,248,61,21,247,142,71,251,142,7,207,252,136,21,247,142,71,251,142,7,14,168,247,135,207,1,248,188,247,135,127,10,14,168,208,118,248,94, +119,1,248,166,235,21,251,73,247,74,247,72,247,72,91,187,251,72,251,72,251,73,247,72,91,91,247,73,251,72,251,74,251,74,187,91,247,74,247,74,247,73,251,74,5,14,251,173,14,251,173,131,247,2,248,234,119,18,163,10,44,219,19,208,247,77,247,80,21,248,148,59, +252,148,7,19,224,234,251,33,21,44,10,251,37,218,10,219,207,3,247,213,248,93,21,209,10,59,22,209,10,14,150,160,118,247,111,196,247,19,196,166,10,248,180,248,39,21,196,251,1,7,204,10,251,21,6,204,10,251,9,82,247,1,6,119,251,19,5,251,10,82,247,1,196,10, +247,21,196,10,247,9,196,251,1,6,159,247,19,5,79,22,119,251,19,5,251,22,6,159,247,19,5,14,150,71,118,249,214,119,18,204,213,87,217,227,203,244,217,19,220,248,136,247,91,21,231,91,194,251,27,176,30,247,93,7,191,131,178,104,148,88,213,155,24,127,217,76, +204,40,149,8,225,75,51,7,44,124,68,70,48,26,61,182,88,247,15,107,30,251,132,7,19,236,75,150,92,184,136,205,65,123,24,145,49,213,63,247,0,127,8,41,203,238,7,245,153,216,214,239,26,251,139,247,94,21,19,220,75,161,115,163,179,26,186,174,178,192,149,30,247, +61,252,21,21,80,98,93,75,128,30,247,114,7,215,114,168,110,87,26,14,247,95,142,10,3,249,114,247,45,21,79,10,247,195,251,252,21,96,10,247,83,129,207,102,118,248,16,210,247,40,214,18,217,219,112,219,19,180,249,88,248,16,21,210,251,194,68,229,7,175,85,146, +51,105,84,251,102,247,110,24,87,193,107,167,177,26,181,172,175,199,178,169,125,119,158,30,186,202,5,173,104,86,151,90,27,38,69,70,61,71,183,93,172,106,31,19,184,78,110,70,63,51,26,61,204,251,11,247,66,221,202,176,186,181,30,19,120,209,65,5,246,6,251, +20,247,25,194,227,136,242,106,195,25,251,5,251,152,21,19,184,112,113,90,104,76,27,42,73,211,205,197,178,188,196,169,31,14,251,185,218,10,3,247,65,248,93,21,209,10,14,214,10,223,217,3,247,196,251,57,21,44,247,28,92,247,32,247,33,26,247,33,186,247,30,234, +247,28,30,78,177,5,55,251,0,64,251,48,251,81,26,251,81,214,251,50,223,251,0,30,14,214,10,247,70,217,3,247,148,247,144,21,247,81,64,247,48,55,247,0,30,78,101,5,234,251,28,186,251,30,251,33,26,251,33,92,251,32,44,251,28,30,200,101,5,223,247,0,214,247,50, +247,81,26,14,150,248,22,118,247,235,119,1,247,148,209,3,248,107,248,184,21,114,217,251,18,84,151,247,29,5,57,6,151,251,28,251,18,192,114,61,247,25,109,50,35,205,91,209,247,10,210,251,9,205,187,49,242,5,14,168,184,118,247,111,207,247,111,225,10,247,135, +21,207,251,110,247,111,71,251,111,251,110,71,247,110,251,111,207,247,111,7,14,251,173,251,26,118,247,136,119,1,247,94,228,186,10,251,118,247,112,210,1,247,189,247,112,21,210,251,141,68,7,14,251,173,129,138,10,184,21,44,10,224,10,247,252,249,119,21,69, +159,251,144,253,212,209,119,5,14,150,175,10,1,198,219,247,196,219,3,248,159,247,225,21,247,150,251,4,222,251,12,251,18,33,56,251,150,251,150,245,56,247,18,247,12,247,4,222,247,150,30,59,22,251,96,70,78,56,49,77,200,247,96,247,96,201,200,229,222,208,97, +251,115,30,14,150,160,118,249,54,119,1,247,184,219,3,248,8,22,249,54,89,7,251,86,62,166,73,247,29,195,5,252,223,7,14,150,139,211,248,162,215,1,248,37,219,3,248,120,22,211,251,170,7,247,82,247,110,5,199,208,164,192,197,26,247,6,53,229,251,14,52,70,94, +55,101,30,203,101,5,199,168,181,170,196,27,210,198,82,69,98,121,106,84,75,31,251,182,251,225,5,14,237,10,247,147,211,247,95,215,18,248,23,219,83,219,19,232,248,127,247,90,21,216,96,197,63,166,30,19,240,202,167,171,185,201,26,240,54,216,251,11,61,80,108, +81,96,30,206,98,5,179,168,181,153,185,27,204,194,101,75,70,91,107,251,4,31,84,67,224,6,19,232,221,211,87,64,68,73,82,59,80,83,163,181,113,31,72,98,5,76,181,211,101,226,27,247,22,242,229,247,8,31,14,150,160,118,247,80,210,248,65,119,1,248,3,219,3,248, +187,247,79,21,211,35,248,65,7,252,69,252,136,5,247,245,251,80,219,247,79,6,59,211,21,251,92,6,247,92,247,123,5,14,237,10,247,205,215,247,29,211,1,247,0,215,247,130,219,3,248,138,247,117,21,247,32,39,231,251,32,108,110,135,133,121,30,247,39,247,161,211, +251,237,251,225,7,173,185,191,153,187,27,240,206,83,39,41,61,80,43,92,95,152,178,97,31,83,84,5,88,190,198,117,211,27,247,38,247,7,232,247,32,31,14,237,10,247,218,213,247,112,206,10,247,126,21,247,20,38,245,251,14,106,111,134,124,107,30,156,162,247,4, +247,13,223,187,74,187,24,39,62,251,111,251,87,251,73,26,251,25,247,3,251,2,247,26,247,22,247,4,247,3,247,23,30,59,136,21,49,65,66,49,49,66,212,229,229,212,212,229,229,213,66,49,30,14,150,160,118,248,230,211,1,248,185,236,10,252,93,67,247,225,6,251,185, +252,230,5,224,6,14,237,10,247,141,215,247,97,215,18,197,219,84,219,247,148,219,84,219,19,242,248,160,247,82,21,217,93,202,58,166,30,19,236,204,163,176,191,205,26,237,47,215,251,8,251,7,46,63,41,73,176,87,204,115,30,19,242,58,112,93,76,61,26,251,4,240, +53,247,24,247,24,240,225,247,4,30,19,236,34,247,198,21,83,89,92,61,59,91,186,195,195,188,185,218,218,188,93,83,30,19,242,164,251,197,21,72,78,83,47,47,78,195,206,209,199,195,232,232,199,83,69,30,14,150,138,118,247,112,213,247,218,215,1,186,219,247,219, +219,3,248,170,248,67,21,247,25,251,3,247,2,251,26,251,22,251,4,251,3,251,23,251,20,240,33,247,14,172,167,144,154,171,30,122,116,251,4,251,13,55,91,204,91,24,239,216,247,111,247,87,247,73,26,59,143,146,10,251,173,129,247,2,247,74,118,10,251,184,4,44,10, +251,173,251,26,118,248,73,118,10,141,251,140,186,10,215,10,155,21,207,7,252,61,247,85,248,61,247,85,5,207,7,252,144,251,122,5,77,7,14,168,247,34,207,247,26,207,1,248,188,247,236,127,10,248,140,251,94,127,10,14,215,10,247,138,21,201,7,252,144,247,122, +5,71,7,248,61,251,85,252,61,251,85,5,71,7,14,32,131,247,4,248,156,215,18,247,30,247,4,42,219,238,219,19,216,248,48,248,172,21,243,41,199,41,49,81,99,77,108,30,211,104,5,181,160,172,158,193,27,198,195,101,87,82,106,108,94,103,31,57,73,120,87,35,26,219, +6,225,158,180,211,195,30,209,193,157,191,198,26,19,232,251,54,252,124,153,10,14,248,65,92,196,247,22,194,84,201,247,180,189,247,12,196,18,242,207,247,29,219,248,79,205,19,191,250,21,248,45,21,247,75,251,39,247,17,251,112,251,124,251,87,251,69,251,115, +251,119,247,59,251,29,247,128,247,33,247,17,198,188,196,30,107,183,5,81,61,46,102,251,0,27,251,103,251,28,247,4,247,84,247,95,247,60,247,35,247,92,247,70,247,6,41,251,42,251,18,69,55,65,114,120,151,168,157,145,160,147,167,31,204,247,106,5,67,6,119,69, +5,184,126,98,180,72,27,41,36,251,5,251,23,47,194,75,219,197,194,167,213,173,31,83,129,164,93,215,27,247,5,242,247,13,247,40,31,251,186,141,21,138,98,127,92,115,88,8,19,223,88,114,105,113,95,27,96,107,174,202,227,202,247,1,213,188,168,99,100,31,14,172, +10,248,37,52,10,14,184,139,211,247,128,211,247,106,211,18,239,219,247,157,219,78,219,19,244,248,180,247,82,21,216,98,195,70,165,30,19,248,194,159,175,193,204,26,204,102,247,5,251,48,30,251,124,253,46,247,124,6,19,244,247,58,185,247,5,216,31,19,248,40, +247,189,21,67,93,104,42,30,251,14,247,106,247,14,6,236,185,104,67,31,19,244,158,251,189,21,88,111,72,251,7,30,251,33,247,128,247,33,6,247,7,167,72,88,31,14,220,175,10,201,10,3,80,10,90,10,216,205,158,189,204,31,14,247,23,139,211,248,158,131,10,253,46, +129,10,248,158,169,10,138,139,112,10,1,239,219,3,66,10,14,122,160,118,247,193,211,247,113,211,10,3,248,128,248,230,21,211,252,28,253,46,219,247,193,247,192,211,251,192,238,10,14,247,91,131,215,247,123,211,247,119,215,201,10,248,139,220,3,249,97,247,222, +21,180,251,214,67,247,133,7,251,18,37,34,251,33,251,38,251,6,247,9,247,40,247,40,247,7,247,9,247,37,217,205,107,75,197,30,199,189,5,218,74,46,182,35,27,205,10,247,44,251,45,247,81,247,87,247,21,247,47,247,75,31,14,247,21,160,118,247,199,211,247,179,212, +10,247,232,219,3,248,236,22,249,46,59,251,179,251,232,247,179,59,253,46,219,247,199,247,232,251,199,7,14,251,163,160,118,249,46,97,10,14,64,174,10,1,247,212,219,3,248,36,247,121,21,248,73,59,252,73,7,41,80,76,54,92,101,158,181,107,30,81,89,5,79,185,196, +112,211,27,247,25,230,234,247,34,31,14,218,161,10,1,239,219,3,249,17,22,251,240,247,229,247,206,247,221,5,34,6,251,210,251,225,247,236,251,225,5,251,236,22,249,46,59,239,10,14,94,139,211,248,230,212,10,3,248,128,178,10,248,230,59,239,10,14,247,223,138, +118,182,118,249,68,119,1,250,3,22,251,120,249,68,251,92,252,141,251,92,248,141,251,120,253,68,5,223,6,247,43,248,102,247,85,252,124,247,85,248,124,247,43,252,102,5,14,220,10,181,119,10,14,124,10,36,10,14,134,160,118,247,175,210,247,132,211,1,239,233, +10,3,248,153,248,110,21,247,2,53,221,251,12,30,251,103,253,46,219,247,175,114,10,247,107,251,37,118,247,50,223,10,215,201,10,248,156,220,3,249,117,38,21,251,111,247,8,5,247,0,180,247,0,247,8,247,53,26,56,10,145,150,140,139,30,247,180,251,51,5,94,248, +135,21,51,10,14,180,160,118,247,178,199,247,140,211,10,247,164,219,3,248,235,22,251,133,247,178,5,238,214,220,242,247,2,60,225,251,28,31,251,109,253,46,219,248,230,247,22,6,223,197,90,64,64,81,90,55,31,39,6,247,180,251,238,5,14,138,179,10,216,226,10, +19,216,72,10,19,232,137,10,14,78,160,118,248,230,211,1,247,107,219,3,248,122,248,230,21,211,252,98,67,247,83,252,230,219,248,230,7,14,247,37,131,215,248,234,53,10,14,208,138,118,249,68,119,1,249,20,236,10,51,6,251,124,252,142,251,124,248,142,5,51,6,247, +212,253,68,5,14,247,223,138,118,249,68,119,181,119,1,250,3,236,10,55,6,251,43,252,102,251,85,248,124,251,85,252,124,251,43,248,102,5,55,6,247,120,253,68,247,92,248,141,247,92,252,141,5,14,160,161,10,1,248,220,22,251,132,247,238,247,114,247,212,5,41,6, +251,65,251,140,251,65,247,140,5,41,6,247,114,251,212,251,132,251,238,5,237,6,247,83,247,168,247,83,251,168,5,14,124,160,118,249,46,107,10,14,132,139,211,248,158,211,134,10,14,216,10,247,9,214,64,247,59,19,208,247,176,251,77,21,205,7,19,224,47,249,120, +6,19,208,231,205,251,59,253,252,6,14,224,10,247,226,66,21,251,144,249,212,69,119,247,144,253,212,5,14,216,10,195,247,59,64,214,19,224,247,115,251,77,21,249,252,251,59,73,230,10,231,253,120,6,19,224,47,73,6,14,168,248,36,118,247,238,119,1,248,148,248, +15,21,251,104,247,238,251,104,251,238,5,216,6,247,27,247,113,247,27,251,113,5,14,68,251,40,212,1,248,136,251,40,21,212,252,136,66,7,14,187,10,247,127,248,214,59,10,149,10,140,10,19,120,40,10,19,184,82,10,19,120,83,10,19,184,63,10,14,184,10,225,232,10, +19,124,106,10,247,172,59,253,80,219,221,7,19,188,71,10,98,128,10,213,10,3,87,10,251,34,247,7,251,9,247,35,210,201,163,190,189,31,14,184,10,187,232,10,19,124,248,192,231,10,251,172,123,10,31,19,188,135,10,30,19,124,57,7,247,143,4,19,188,68,10,168,131, +156,10,1,37,10,14,251,109,197,10,3,248,44,249,29,21,177,104,92,160,108,10,210,251,98,215,247,14,182,10,196,21,248,81,113,10,126,7,251,16,57,64,41,79,92,163,185,103,30,78,91,5,75,189,210,105,222,27,247,42,247,2,247,8,247,39,31,59,247,86,21,68,10,172,199, +10,247,82,119,85,10,247,155,59,253,80,115,10,14,160,118,248,235,247,2,18,220,207,10,247,83,249,34,98,10,253,34,21,141,10,14,251,98,215,249,110,247,2,18,220,207,10,247,83,249,35,98,10,253,63,21,248,166,59,252,134,7,50,107,94,77,117,126,144,153,119,30, +90,86,5,109,176,170,127,179,27,239,209,219,237,31,14,112,229,10,1,225,219,3,248,164,22,251,150,247,151,247,128,247,135,5,36,6,251,129,251,136,247,149,251,150,5,251,149,221,10,229,10,1,235,219,3,247,68,221,10,247,239,199,10,1,225,219,247,146,219,247,146, +219,20,56,249,214,22,247,199,7,247,7,57,227,251,11,58,80,97,74,112,30,203,118,80,182,56,27,72,92,107,100,116,31,202,59,252,138,168,10,168,10,7,14,172,199,10,86,10,14,182,128,10,41,10,14,203,10,125,10,221,59,253,80,219,247,172,7,71,10,210,251,69,118,247, +82,182,10,251,90,21,249,80,113,10,251,172,7,248,85,4,68,10,251,109,160,118,248,146,119,1,225,219,3,247,228,248,68,21,217,7,54,133,83,98,110,90,8,227,59,252,138,219,247,124,7,230,185,231,247,16,156,30,14,72,128,10,228,10,19,216,75,10,19,232,139,10,14, +251,121,198,10,247,56,119,1,247,5,219,3,247,219,248,67,21,210,251,26,247,56,59,251,56,38,68,240,252,67,219,248,67,7,14,176,10,248,138,62,10,14,84,132,118,248,166,119,1,248,147,248,138,21,51,6,251,57,251,244,251,57,247,244,5,51,6,247,145,252,166,5,14, +247,121,132,118,248,194,119,1,249,154,248,138,21,55,6,251,19,251,230,251,55,248,2,251,55,252,2,251,19,247,230,5,55,6,247,98,252,166,247,60,248,20,247,60,252,20,5,14,48,160,118,248,138,119,1,248,106,22,251,74,247,148,247,68,247,138,5,44,6,251,21,251,72, +251,21,247,72,5,44,6,247,68,251,138,251,74,251,148,5,234,6,247,27,247,81,247,27,251,81,5,14,98,251,73,118,249,84,119,1,77,10,14,32,139,211,247,250,211,132,10,14,251,123,251,77,196,249,138,196,18,247,16,214,64,247,58,19,208,247,182,251,76,21,195,7,19, +224,56,131,153,225,31,247,51,7,202,118,170,94,164,30,185,164,159,166,204,26,247,57,230,10,223,147,152,222,140,30,195,7,140,128,134,139,132,27,38,97,98,42,31,251,69,7,79,125,116,81,128,30,83,7,197,129,153,114,80,26,251,58,7,33,179,98,241,146,144,139,140, +151,30,14,251,241,251,71,118,250,124,119,1,216,207,3,247,37,251,92,21,250,124,71,254,124,7,14,251,123,251,72,196,249,138,196,18,189,247,58,64,214,19,224,247,180,247,119,21,195,7,81,150,125,162,199,26,247,69,7,236,97,180,38,132,134,139,138,128,30,83,230, +10,222,138,147,126,55,26,251,57,7,74,159,112,185,114,30,94,114,118,108,76,26,251,51,7,19,224,53,131,125,56,30,83,7,138,151,144,139,146,27,241,179,180,245,31,247,58,7,198,153,164,197,149,30,14,168,247,97,207,90,118,213,207,145,119,18,19,144,248,182,247, +213,21,170,10,27,19,96,152,10,27,19,160,148,10,14,172,10,248,92,155,10,247,57,210,10,45,10,247,47,247,184,33,10,172,10,248,65,191,10,1,247,96,191,10,3,45,10,247,8,247,218,70,10,220,251,116,183,218,247,61,63,223,10,215,18,191,220,247,154,215,19,220,80, +10,251,61,247,14,251,32,247,53,112,99,10,139,144,139,142,216,205,158,189,204,30,14,69,10,247,206,250,13,60,10,220,10,247,95,119,10,247,232,247,245,42,10,124,10,208,247,2,201,10,244,120,10,244,35,10,34,248,101,33,10,158,10,236,155,10,235,219,166,120,10, +166,49,10,32,248,166,33,10,46,10,159,248,110,60,10,46,10,129,247,199,59,10,46,10,176,247,199,50,10,149,10,228,247,2,18,182,219,132,120,10,93,219,19,121,40,10,19,186,82,10,19,121,83,10,19,185,63,10,19,182,185,248,19,33,10,149,10,247,87,39,10,178,248,61, +42,10,149,10,207,191,10,18,182,219,166,191,10,137,219,19,126,128,40,10,19,191,0,82,10,19,126,128,83,10,19,190,128,63,10,19,191,0,141,248,59,70,10,98,251,116,183,218,247,61,63,136,10,18,187,219,247,79,215,19,220,87,10,251,17,228,34,247,10,115,99,10,212, +200,163,190,189,31,14,47,10,109,248,91,60,10,47,10,79,247,180,59,10,47,10,126,247,180,50,10,168,131,156,10,228,155,10,247,47,210,10,37,10,133,248,0,33,10,144,10,247,61,249,125,60,10,144,10,247,31,248,214,59,10,160,118,249,164,102,10,247,78,248,214,50, +10,160,118,248,235,155,10,120,188,10,20,56,117,10,247,87,249,34,33,10,172,199,10,247,87,119,86,10,156,249,76,42,10,54,10,89,248,130,60,10,54,10,59,247,219,59,10,54,10,106,247,219,50,10,182,128,10,228,247,2,213,10,163,120,10,163,38,10,115,248,39,33,10, +182,128,10,247,87,119,41,10,108,248,81,42,10,176,10,249,164,62,10,132,249,125,60,10,176,10,249,164,62,10,102,248,214,59,10,176,10,248,138,215,195,10,18,222,219,247,167,219,19,124,105,10,19,188,61,10,19,124,74,7,149,248,214,50,10,176,10,248,235,247,2, +18,222,219,123,120,10,120,219,19,114,105,10,19,178,61,10,19,114,74,7,19,172,158,249,34,33,10,150,251,35,118,248,198,210,247,123,208,10,248,167,248,34,21,210,251,92,247,123,59,251,123,251,92,68,247,92,252,198,219,248,198,7,14,68,248,46,204,247,60,204, +1,240,204,247,60,204,3,248,35,248,195,21,221,72,206,57,57,72,72,57,57,206,72,221,221,206,206,221,30,74,22,93,101,101,93,93,101,177,185,185,177,177,185,185,177,101,93,30,14,150,142,118,249,80,119,1,205,219,247,25,203,3,248,143,247,46,21,82,193,106,108, +105,122,99,135,25,248,0,7,180,135,173,121,171,108,196,194,24,92,184,84,165,77,142,8,225,75,50,7,251,14,118,48,33,251,20,26,251,19,231,32,247,13,118,30,38,203,237,7,201,142,196,164,184,185,8,251,120,146,21,62,159,83,211,224,26,226,194,209,217,159,30,14, +150,139,211,247,116,209,247,124,215,18,247,17,219,132,219,19,240,248,157,248,241,21,181,97,84,166,61,27,33,251,7,66,251,23,81,161,93,139,31,48,69,247,8,6,19,232,139,165,81,93,26,95,121,94,111,108,30,61,67,248,74,211,251,168,6,153,158,167,175,204,26,198, +117,184,139,30,247,67,209,251,92,6,19,240,139,113,189,193,26,196,186,210,233,183,186,118,112,166,30,14,150,251,98,213,249,146,213,18,193,219,119,219,247,101,219,103,219,19,212,248,163,247,106,21,232,57,193,58,183,30,56,184,52,175,202,26,196,187,167,191, +201,183,90,86,30,216,157,5,239,127,77,197,32,27,47,49,81,37,97,156,106,167,110,31,19,232,81,123,92,80,78,26,33,226,85,223,93,30,225,92,231,103,70,26,84,81,112,91,79,87,179,209,135,30,62,121,5,32,153,214,80,245,27,245,217,201,234,188,120,179,100,168,31, +19,228,198,162,182,197,203,26,59,127,21,95,106,107,101,123,30,93,168,93,159,93,165,8,90,167,84,176,201,26,180,174,175,176,152,30,185,111,184,115,184,114,8,185,114,198,97,83,26,14,68,247,83,118,247,224,119,1,248,52,247,228,21,231,64,213,47,48,64,64,48, +48,214,64,230,231,214,213,231,30,14,150,251,56,209,248,15,215,247,155,215,69,209,18,169,247,36,135,247,66,67,211,217,211,19,219,248,205,249,10,21,209,251,189,7,251,4,251,22,85,251,45,251,45,247,22,84,247,4,31,252,15,7,19,213,37,69,247,66,249,174,217, +253,174,211,249,174,6,19,235,251,114,251,161,21,77,141,103,197,211,26,211,175,196,201,141,30,14,126,127,212,99,118,247,237,204,247,114,215,18,225,219,247,124,219,90,219,19,186,248,145,247,102,21,223,94,218,52,149,30,141,7,19,124,211,163,168,194,210,26, +247,5,33,199,44,251,7,63,60,251,7,30,252,150,219,248,133,7,246,188,167,207,207,186,89,80,49,70,112,60,143,30,74,7,19,186,247,1,209,119,251,18,56,81,84,51,122,123,142,139,31,67,7,139,160,135,153,247,25,230,228,247,25,30,14,164,247,190,185,247,139,184, +189,186,18,217,188,222,188,90,247,79,211,189,19,246,248,155,248,151,21,247,13,40,236,251,13,251,14,40,42,251,13,251,13,238,43,247,14,247,13,238,235,247,13,30,89,22,45,63,62,45,44,62,216,233,234,216,215,234,234,214,63,44,30,83,251,13,21,71,238,5,170,146, +160,168,171,26,180,110,173,88,30,32,251,134,6,19,250,188,247,89,188,6,163,155,128,118,119,123,128,115,31,94,6,231,251,26,5,14,247,107,131,200,223,196,247,167,196,226,200,1,191,200,234,200,248,40,200,3,249,114,247,225,21,247,80,251,45,247,45,251,80,205, +10,247,45,251,45,247,80,247,80,247,45,247,45,247,80,30,78,22,251,46,251,18,251,18,251,46,251,46,251,18,227,10,227,10,251,18,251,46,30,251,25,251,30,21,96,178,5,112,111,109,126,102,27,65,80,201,216,215,198,199,214,176,168,125,112,167,31,182,182,5,174, +101,93,159,86,27,251,0,52,54,251,0,251,0,226,51,247,0,192,185,157,179,177,31,14,247,175,247,222,118,247,228,194,161,119,1,247,42,199,3,249,177,247,223,21,251,22,248,27,39,251,146,37,247,146,251,20,252,27,5,202,6,210,247,113,235,251,135,234,247,134,211, +251,112,5,252,35,247,206,21,194,251,203,84,247,18,251,206,199,247,206,7,14,187,10,247,157,249,125,60,10,248,235,155,10,120,210,10,247,183,249,34,33,10,168,163,247,78,71,207,247,26,207,71,247,78,18,19,160,248,188,247,34,21,207,251,142,7,207,247,26,5,247, +74,207,251,40,6,19,144,198,247,10,5,67,6,19,160,80,251,10,5,251,176,71,247,142,6,71,251,26,5,251,74,6,19,96,71,247,40,7,19,160,80,251,10,5,211,6,19,96,198,247,10,5,14,247,185,139,112,10,1,248,45,219,3,249,166,164,10,252,64,7,252,23,253,46,5,226,6,247, +67,247,193,5,247,68,251,193,6,248,9,4,251,26,6,247,26,247,123,5,14,247,107,126,118,186,118,249,62,119,185,119,201,10,248,156,220,3,249,126,249,80,21,43,6,71,57,5,174,85,74,160,69,27,93,10,46,176,56,198,77,31,32,251,21,5,235,6,207,221,5,104,193,204,118, +208,27,103,10,231,104,222,78,201,31,154,251,129,21,89,10,88,91,154,163,99,30,247,226,248,39,5,180,92,163,78,70,26,251,13,247,117,21,251,225,252,38,5,97,185,115,201,208,26,92,10,190,187,124,114,179,30,14,234,247,72,200,247,82,200,1,137,198,248,187,199, +3,249,48,247,230,21,230,77,202,48,69,84,105,64,82,30,212,82,80,175,74,27,48,76,74,48,47,202,75,229,207,193,171,216,199,31,67,196,201,102,204,27,229,200,203,233,31,79,135,21,83,103,102,84,90,96,167,206,85,30,211,197,174,162,190,27,195,176,100,81,31,251, +206,141,21,73,87,94,110,90,27,86,101,178,195,195,177,178,193,190,180,112,71,192,31,14,168,139,207,247,119,207,247,83,225,10,247,187,21,207,251,110,247,83,71,251,83,251,110,71,247,110,251,83,207,247,83,7,247,110,251,187,127,10,14,217,10,235,21,206,7,252, +59,247,58,248,59,247,58,5,206,7,252,140,251,94,5,77,7,248,140,251,190,127,10,14,217,10,247,190,21,201,7,252,140,247,94,5,72,7,248,59,251,58,252,59,251,58,5,72,7,248,140,43,127,10,14,150,160,118,247,44,196,226,196,247,205,208,10,248,188,236,10,47,6,251, +61,251,175,251,61,247,175,5,47,6,247,79,251,205,5,251,35,82,247,69,52,251,61,82,247,61,251,44,219,247,44,247,61,196,251,61,226,247,69,196,251,35,6,14,172,251,69,118,247,82,235,10,248,138,119,18,225,219,247,164,219,19,188,105,10,19,220,44,78,83,64,60, +82,195,234,30,247,175,59,253,80,219,247,152,7,89,171,181,119,201,27,197,185,159,189,171,31,19,188,77,7,14,150,131,202,247,226,202,247,148,119,1,199,209,247,207,209,3,248,151,247,165,21,247,143,251,20,247,49,251,123,166,30,118,86,247,28,122,247,27,71, +169,251,76,25,182,100,83,162,81,27,251,14,38,36,251,19,251,22,239,39,247,18,247,31,229,247,1,247,64,31,69,89,21,43,70,67,50,53,68,212,232,233,210,213,228,229,204,70,42,30,14,247,59,251,90,203,247,47,118,248,238,203,18,248,213,199,88,199,19,232,249,26, +251,90,21,247,90,79,251,26,252,78,7,247,147,248,20,251,144,247,244,5,19,240,248,66,251,27,199,247,91,252,214,85,6,247,152,251,255,251,152,252,28,5,84,7,14,247,59,251,90,191,249,140,191,1,247,17,206,247,246,206,3,249,82,251,90,21,191,50,249,140,228,191, +253,46,87,228,253,140,50,87,247,137,191,50,249,140,247,246,253,140,50,87,7,14,150,160,118,248,82,203,1,240,215,247,120,215,3,248,184,248,82,21,203,252,150,75,206,252,82,215,248,82,247,120,252,82,215,248,82,7,14,150,251,98,176,250,6,176,1,247,15,195,221, +200,221,195,20,56,248,96,248,243,21,241,108,180,70,69,110,82,65,30,253,101,7,93,127,118,110,103,134,162,233,30,83,6,251,5,168,98,210,209,168,196,213,30,249,101,7,185,151,160,168,174,145,116,56,30,14,251,49,247,147,191,189,190,247,102,195,1,202,201,247, +36,201,3,247,243,247,254,21,123,168,135,166,158,26,247,22,7,225,71,160,83,89,97,123,108,102,30,175,96,5,158,166,163,154,178,27,177,163,120,113,142,31,251,65,111,106,89,87,26,86,181,106,203,182,178,158,163,162,30,140,127,143,125,145,127,8,207,32,21,191, +251,192,87,7,247,108,247,141,21,76,91,106,97,112,112,149,163,174,169,164,247,6,160,30,14,251,49,247,147,191,189,199,247,88,199,1,188,201,247,84,201,3,248,1,248,151,21,227,69,209,51,51,69,69,51,51,209,69,227,227,209,209,227,30,131,251,152,21,191,251,192, +87,7,247,138,247,152,21,85,97,95,85,85,97,183,193,193,181,183,193,193,181,95,85,30,14,247,59,139,208,248,180,215,201,10,248,108,220,3,249,74,22,208,251,79,7,247,12,201,198,240,247,22,26,247,80,251,29,247,31,251,72,251,72,251,29,251,31,251,80,251,22,198, +38,247,12,77,30,251,79,70,247,167,204,6,251,17,206,78,234,247,19,26,247,42,238,247,1,247,29,247,25,242,251,1,251,42,251,19,78,44,251,17,72,30,74,7,14,247,237,131,207,71,156,10,140,10,247,207,223,19,190,249,239,202,10,60,78,105,91,97,30,191,110,81,169, +55,27,61,71,112,95,86,31,55,10,56,206,87,234,234,205,180,210,191,30,66,187,212,100,223,27,150,10,31,82,191,5,19,126,97,100,84,116,87,27,50,65,205,224,31,248,33,88,10,251,207,6,222,214,200,226,226,205,84,50,30,252,31,76,21,19,190,63,10,14,182,126,118, +186,118,248,180,119,213,10,247,250,219,3,248,220,248,172,21,56,6,84,72,5,165,99,91,154,88,27,91,10,71,165,76,183,93,31,49,251,0,5,222,6,195,206,5,113,179,187,124,191,27,104,10,208,112,202,95,185,31,130,251,70,21,37,61,58,38,105,108,148,155,113,30,247, +121,247,168,5,165,107,154,98,94,26,50,247,51,21,251,121,251,167,5,114,170,124,180,183,26,241,217,220,240,172,169,130,124,166,30,14,32,251,90,215,248,156,247,4,18,191,219,221,247,4,44,219,19,240,247,218,248,90,153,10,240,252,186,21,67,174,5,97,118,106, +120,85,27,80,83,177,191,196,172,170,184,175,31,19,232,221,205,158,191,243,26,59,6,53,120,98,67,83,30,69,85,121,87,80,26,35,237,79,237,229,197,179,201,170,30,14,251,173,251,69,118,248,234,247,2,18,229,207,10,247,92,248,91,98,10,253,33,21,248,148,59,252, +148,7,14,168,247,46,118,247,103,207,1,248,120,207,3,248,188,247,25,21,247,171,252,140,71,248,72,251,103,7,14,234,146,118,247,211,191,248,14,191,1,249,16,249,115,21,191,251,78,7,251,132,253,23,71,247,105,5,251,4,87,209,6,247,0,251,211,247,178,249,129, +5,14,150,251,41,202,248,82,202,247,98,202,1,248,135,249,68,21,142,111,123,140,120,27,85,101,125,108,111,31,117,115,126,103,127,76,120,38,24,251,5,76,241,6,84,251,193,5,251,9,118,120,111,80,27,128,130,139,142,123,31,128,77,5,136,162,148,138,160,27,195, +176,153,171,165,31,163,168,153,174,152,212,199,247,218,24,247,32,202,251,21,6,157,238,5,218,153,164,167,192,27,153,147,139,136,163,31,14,168,247,12,207,90,118,213,207,174,207,143,207,145,119,18,19,180,248,182,248,47,21,170,10,27,19,184,152,10,148,10, +251,67,4,170,10,147,10,19,120,171,10,27,19,184,148,10,14,234,139,202,248,239,119,1,249,42,22,251,177,249,46,5,51,6,251,177,253,46,5,248,195,202,21,252,96,6,247,122,248,172,5,14,150,173,10,248,148,218,101,10,251,65,180,101,10,14,150,173,10,248,177,247, +148,111,10,135,247,110,111,10,14,248,65,129,155,10,247,4,247,2,247,115,247,2,247,115,247,2,20,112,250,12,184,34,10,251,225,22,32,10,251,225,22,44,10,65,10,208,247,108,59,10,172,10,248,198,52,10,247,40,247,226,42,10,124,10,247,67,119,36,10,37,248,143, +42,10,247,241,131,219,67,112,10,67,219,18,191,220,247,225,219,19,182,249,223,164,10,251,125,7,19,174,69,74,147,61,27,251,88,251,41,251,44,251,81,251,81,247,41,251,44,247,88,31,19,118,217,204,147,209,27,251,36,213,21,136,120,121,136,115,27,251,47,251, +9,247,5,247,44,247,44,247,9,247,5,247,47,163,157,136,136,158,31,14,248,79,131,156,10,213,10,247,250,216,247,207,223,3,250,86,202,10,251,1,81,79,89,100,30,204,92,65,184,48,27,67,10,217,219,173,217,195,31,66,187,212,100,223,27,150,10,31,95,10,65,205,224, +31,248,33,88,10,251,207,6,222,214,200,226,226,205,84,50,30,252,28,100,21,64,10,14,68,247,114,206,1,248,136,247,114,21,206,252,136,72,7,14,248,65,247,114,206,1,250,124,247,114,21,206,254,124,72,7,14,251,17,159,10,248,25,248,60,21,251,4,247,168,71,105, +239,251,134,5,72,22,183,10,251,17,159,10,248,33,249,46,130,10,251,173,159,10,247,134,248,60,21,183,10,251,173,159,10,247,134,249,46,126,10,14,168,155,247,2,247,9,207,247,9,155,10,247,137,247,2,20,224,247,247,248,119,34,10,247,89,251,132,127,10,247,199, +251,64,21,44,10,234,145,118,249,76,119,1,248,219,247,225,21,251,144,247,240,251,144,251,240,247,144,251,240,5,247,72,247,240,21,251,72,251,141,251,72,247,141,247,72,247,141,5,14,98,251,73,118,249,181,155,10,247,2,210,10,77,10,247,134,249,236,33,10,124, +161,10,236,155,10,247,15,188,10,20,28,78,10,247,7,248,138,33,10,252,73,152,118,249,62,119,1,247,179,249,54,21,76,6,157,10,14,251,97,173,10,247,188,218,101,10,14,251,97,173,10,247,217,247,148,111,10,14,194,198,10,236,247,2,62,216,138,119,18,240,219,247, +146,247,2,44,219,19,230,248,181,249,34,34,10,19,205,124,253,34,21,141,10,89,249,37,21,168,112,92,161,94,10,19,214,145,10,194,197,10,247,161,219,3,248,166,231,10,253,80,7,89,249,37,21,168,112,92,161,108,10,150,251,35,118,248,77,210,247,2,211,247,62,208, +10,248,167,247,169,21,210,251,92,247,2,247,92,211,251,92,247,62,59,251,62,251,92,67,247,92,251,2,251,92,68,247,92,252,77,219,248,77,7,14,251,173,247,92,138,10,247,147,21,44,10,251,173,251,26,162,10,247,94,226,126,10,14,251,17,251,26,162,10,247,247,226, +130,10,248,197,142,10,175,154,10,3,250,216,247,45,110,10,251,250,22,79,10,249,41,251,252,109,10,251,250,22,96,10,65,10,247,38,247,108,50,10,69,10,247,234,249,102,50,10,65,10,247,21,248,19,60,10,138,139,112,10,216,247,2,18,239,219,100,120,10,19,250,66, +10,247,243,249,178,34,10,19,246,43,10,69,10,247,187,249,102,59,10,133,10,247,61,250,13,60,10,251,163,161,10,247,174,97,10,247,78,249,102,50,10,251,163,161,10,236,155,10,134,188,10,20,28,116,10,247,87,249,178,33,10,133,10,247,31,249,102,59,10,48,10,251, +13,248,192,60,10,48,10,251,6,248,25,50,10,247,103,132,118,249,99,119,1,248,21,247,41,3,248,170,249,71,21,48,127,83,74,137,43,8,219,213,217,234,134,31,247,54,252,159,21,77,165,101,195,206,26,195,162,178,197,183,30,187,104,91,162,77,79,103,107,100,111, +99,169,83,27,251,3,63,50,251,22,251,28,239,251,90,233,31,174,169,169,203,198,153,111,184,27,195,201,210,247,15,190,31,14,48,10,251,53,248,25,59,10,58,10,251,25,249,1,60,10,58,10,251,8,248,90,50,10,58,10,251,55,248,90,59,10,160,118,248,138,102,10,14,187, +10,247,174,248,214,50,10,248,248,118,247,6,119,1,247,176,249,76,42,10,248,232,209,1,247,164,248,232,21,209,251,164,69,7,14,248,232,203,75,247,31,18,19,64,247,174,249,115,21,79,6,19,128,93,133,108,110,90,27,19,64,90,108,168,185,133,31,79,6,60,205,79,219, +215,209,199,218,30,14,248,235,155,10,220,247,2,3,247,83,249,34,21,44,10,248,214,191,10,1,159,191,10,3,247,144,249,74,70,10,251,116,183,139,218,247,1,119,1,247,62,215,3,247,138,251,30,21,200,81,158,90,30,167,205,5,87,6,92,251,1,81,10,30,14,248,235,118, +247,112,119,1,248,0,249,125,21,77,178,57,10,118,247,73,21,77,178,251,38,251,112,5,219,6,14,251,95,118,247,116,119,1,169,215,3,247,108,251,101,21,128,176,5,136,130,120,136,128,27,110,108,154,183,168,155,174,207,194,31,81,6,81,109,95,88,86,26,83,190,105, +198,165,174,147,146,154,30,14,248,213,118,166,10,247,174,249,142,76,10,237,10,247,63,196,226,196,247,50,215,1,248,185,200,21,91,200,5,102,95,100,122,92,27,62,64,209,240,109,31,247,106,6,154,196,5,251,132,6,138,151,138,151,152,26,156,140,155,141,156,30, +247,155,6,154,196,5,251,156,6,233,172,210,203,213,27,187,176,124,99,184,31,187,199,5,181,98,78,168,69,27,251,16,33,42,251,29,102,31,56,6,124,82,5,226,6,137,123,138,122,122,26,126,140,127,140,127,30,60,6,124,82,5,242,6,251,35,172,247,0,35,247,21,27,203, +193,158,189,193,31,14,247,23,139,211,247,127,211,247,107,131,10,251,179,39,67,239,251,199,129,10,247,127,247,67,211,251,67,247,107,169,10,117,161,248,166,139,247,28,161,6,251,98,147,7,30,160,53,113,255,12,9,215,10,219,11,207,147,173,12,12,201,157,169, +12,13,247,164,20,248,207,21,181,19,0,208,2,0,1,0,19,0,23,0,27,0,44,0,51,0,107,0,130,0,150,0,175,0,182,0,222,0,227,0,230,1,12,1,25,1,45,1,55,1,101,1,114,1,136,1,141,1,148,1,159,1,181,1,194,1,202,1,209,1,222,1,228,2,0,2,20,2,36,2,53,2,61,2,82,2,93,2,109, +2,123,2,161,2,180,2,244,3,6,3,24,3,85,3,101,3,131,3,160,3,183,3,232,4,3,4,14,4,25,4,75,4,101,4,110,4,155,4,165,4,174,4,183,4,190,4,199,4,208,4,231,4,242,4,251,5,4,5,10,5,26,5,65,5,86,5,92,5,101,5,108,5,116,5,136,5,145,5,149,5,153,5,157,5,176,5,182,5, +190,5,220,5,237,5,246,5,252,6,3,6,31,6,36,6,65,6,81,6,97,6,102,6,110,6,118,6,125,6,129,6,155,6,168,6,191,6,216,6,226,6,251,7,9,7,14,7,38,7,46,7,69,7,74,7,80,7,94,7,116,7,126,7,137,7,156,7,168,7,180,7,187,7,193,7,198,7,203,7,222,7,227,7,231,7,239,7,247, +7,252,8,1,8,7,8,11,8,17,8,21,8,38,8,43,8,47,8,52,8,68,8,81,8,90,8,99,8,106,8,113,8,119,8,123,8,128,8,133,8,138,8,142,8,146,8,150,8,160,8,172,8,183,8,196,8,207,8,213,8,221,8,226,8,230,8,235,8,240,8,244,8,248,8,252,9,8,9,17,9,23,9,27,9,30,9,34,9,45,9,54, +9,65,9,76,9,86,9,93,9,100,9,107,9,111,9,115,9,119,9,123,9,133,9,143,9,153,9,163,9,173,9,183,9,193,9,199,9,207,9,211,9,220,9,229,9,238,9,247,10,0,10,6,10,10,10,15,10,20,10,25,10,30,10,34,10,38,10,42,10,46,10,50,169,114,164,109,109,114,114,109,109,164, +114,169,169,164,164,169,30,11,34,10,43,10,21,32,10,11,220,3,249,114,247,225,21,56,10,103,10,30,58,22,51,10,11,201,10,248,156,35,10,11,248,191,247,146,21,247,32,37,247,8,251,39,251,35,251,7,165,10,251,34,247,8,251,9,247,35,150,10,30,95,10,66,205,224,125, +31,248,58,88,10,251,231,6,222,155,210,200,226,27,226,199,85,49,157,31,11,219,3,248,202,247,143,21,247,35,192,10,251,35,67,10,104,10,30,59,22,64,10,11,119,140,10,19,124,40,10,19,188,82,10,19,124,83,10,19,188,63,10,11,248,120,22,121,174,133,185,175,26, +238,10,247,32,32,171,55,61,71,112,95,86,30,55,10,11,213,10,247,250,38,10,11,21,85,148,5,111,138,124,125,121,110,92,181,94,27,93,102,99,74,137,31,194,130,5,170,141,156,149,154,170,178,98,186,27,187,176,176,207,142,31,14,251,92,22,44,10,32,10,14,249,20, +22,251,212,249,68,251,212,253,68,5,227,6,237,247,107,5,247,160,6,237,251,107,5,251,23,247,179,21,251,94,6,240,247,111,5,11,114,131,207,100,118,248,146,207,247,98,39,10,11,168,131,215,139,247,43,139,210,139,247,36,139,215,139,207,166,10,37,10,11,124,10, +139,187,247,98,119,36,10,11,219,3,249,0,247,160,21,248,34,59,252,28,7,251,18,63,59,33,33,63,219,247,18,30,248,28,59,252,34,7,251,63,247,12,34,247,34,247,34,247,12,244,247,63,30,11,21,251,38,247,98,57,10,205,237,205,41,5,14,89,10,251,37,251,7,247,8,247, +41,92,10,247,37,247,7,251,8,251,41,30,11,119,1,45,10,11,167,10,248,0,49,10,11,182,128,10,139,207,247,98,119,41,10,11,187,82,5,168,177,182,162,203,27,213,182,101,82,31,251,173,94,83,56,55,26,11,247,81,251,44,247,44,251,81,93,10,90,10,11,251,38,251,98, +5,219,6,11,158,10,247,174,53,10,11,21,251,38,247,98,77,100,247,20,251,59,5,14,21,77,178,57,10,14,44,78,83,61,61,81,195,234,30,247,175,59,251,180,7,251,34,232,59,247,7,208,196,176,175,160,30,11,119,18,222,219,247,167,219,19,120,105,10,19,184,61,10,19, +120,74,7,11,32,52,79,67,92,88,159,186,197,192,190,247,96,174,30,11,37,61,58,38,38,61,220,241,241,217,220,240,240,217,180,10,11,208,160,118,250,52,52,10,11,248,128,178,10,247,121,247,192,211,251,192,247,113,247,204,211,252,28,239,10,11,91,10,251,35,247, +8,251,8,247,35,11,37,64,58,40,40,64,220,241,241,214,220,238,238,214,200,10,138,139,112,10,139,195,247,98,212,10,3,66,10,11,21,203,87,191,75,75,87,87,75,75,191,87,203,203,191,191,203,30,83,22,106,112,112,106,106,112,166,172,172,166,166,172,172,166,112, +106,30,14,89,171,204,99,218,27,247,31,247,5,247,10,247,33,31,59,22,68,10,248,138,247,84,21,238,87,199,251,43,176,30,251,2,166,101,166,191,26,199,193,183,214,208,194,101,76,150,30,217,156,5,228,125,63,211,251,12,27,251,10,44,60,32,54,187,83,247,35,106, +31,247,11,111,180,107,75,26,68,80,87,53,30,11,88,98,98,88,88,98,180,190,190,180,180,190,190,180,98,88,30,11,228,67,211,50,50,67,67,50,50,211,67,228,228,211,211,228,30,11,248,79,247,38,21,215,100,188,251,26,167,30,53,157,99,155,174,26,176,180,168,198, +196,184,116,87,151,30,219,155,5,218,124,76,195,251,1,27,33,58,75,56,74,175,93,247,21,113,31,231,121,181,119,97,26,93,93,107,72,30,11,21,59,6,73,41,73,237,5,59,6,247,38,251,98,5,14,248,160,248,138,21,51,6,251,63,251,246,251,64,247,246,5,51,6,247,108,252, +73,251,23,251,159,5,227,6,11,248,204,236,10,43,6,251,86,251,175,251,86,247,175,5,43,6,247,142,252,6,5,251,188,219,247,188,7,11,74,10,251,20,248,157,21,76,6,252,12,253,62,5,202,6,247,24,248,157,110,10,11,248,237,200,21,91,200,5,102,85,91,122,82,27,251, +37,192,10,247,41,247,41,177,10,247,37,198,184,124,99,194,31,187,199,5,181,89,65,168,55,27,251,79,251,46,251,43,251,82,11,5,202,178,130,109,106,98,132,103,115,120,141,139,31,117,97,5,139,174,135,166,247,25,162,199,165,11,56,206,87,234,217,208,184,184, +174,30,11,114,143,105,152,116,30,115,247,119,21,11,193,251,59,7,247,2,247,8,5,178,181,155,171,174,26,208,83,194,58,82,94,112,83,112,30,189,112,5,176,159,163,156,173,27,181,173,109,101,117,128,120,106,104,31,251,84,251,95,5,11,1,225,219,247,167,219,3, +248,157,22,247,180,7,247,34,46,219,251,7,70,82,102,103,118,30,11,85,10,204,59,252,138,115,10,11,248,125,206,21,82,193,5,103,101,99,122,90,27,41,60,221,240,242,217,219,240,188,178,121,103,176,31,196,194,5,188,88,78,165,69,27,251,36,251,7,251,7,251,36, +11,6,139,141,156,157,26,55,175,21,11,251,41,251,7,251,8,251,37,11,251,81,247,44,251,44,247,81,11,251,35,251,8,165,10,11,247,41,247,7,247,8,247,37,11,251,81,251,44,251,44,251,81,11,88,27,43,62,68,251,27,31,55,68,222,252,67,219,248,67,247,61,210,251,61, +6,11,82,191,5,97,100,84,116,87,27,50,11,73,10,252,8,247,252,109,10,14,119,1,247,2,219,3,116,10,11,34,10,19,208,124,11,31,97,41,81,10,200,81,158,90,30,19,188,160,189,5,11,172,157,155,165,173,26,200,84,187,60,88,101,120,99,105,30,194,109,5,165,158,163, +146,166,27,176,172,120,105,102,110,123,73,31,99,85,198,6,11,21,251,40,247,69,247,40,247,69,96,180,251,104,251,110,247,104,251,110,5,11,167,10,3,117,10,11,247,81,247,44,247,44,247,81,11,247,35,177,10,247,35,11,248,154,193,10,251,175,7,11,248,230,247,143, +21,247,33,251,5,247,10,251,31,60,74,99,89,107,30,11,119,1,247,130,219,3,78,10,11,94,10,145,10,21,73,10,11,21,74,10,11,21,251,104,247,110,96,98,247,40,251,69,251,40,251,69,182,98,5,11,211,247,121,189,10,11,59,57,123,10,135,10,31,11,247,23,6,247,12,225, +220,247,2,31,59,22,75,92,83,59,30,251,22,247,132,247,22,6,219,186,83,75,31,14,219,247,175,7,234,200,195,217,217,197,83,44,30,251,175,7,11,247,82,22,249,46,59,239,10,11,247,68,22,141,10,11,138,10,247,229,34,10,11,212,10,248,20,219,3,249,24,117,21,249, +68,59,252,123,7,252,100,248,145,5,253,68,219,248,123,7,11,247,2,163,10,11,187,182,112,99,100,100,109,92,104,106,152,167,120,31,86,109,5,95,171,186,116,196,27,225,206,194,210,31,11,248,38,101,7,251,20,93,161,90,221,169,5,251,229,7,11,7,189,107,74,179, +60,27,251,31,251,5,251,10,251,33,11,247,107,175,10,11,1,225,232,10,3,106,10,11,21,71,173,251,17,160,10,11,21,207,252,140,71,7,11,131,136,10,11,247,106,6,247,81,247,39,247,35,247,82,31,58,22,251,40,251,12,251,5,251,39,30,251,14,11,126,10,92,247,134,21, +71,173,251,4,160,10,14,211,10,248,25,220,3,249,30,247,225,21,247,82,251,39,247,35,251,81,30,251,106,11,1,248,58,22,211,251,163,7,247,163,248,66,5,252,17,67,247,138,6,251,163,252,66,5,11,251,163,151,10,195,247,98,97,10,11,1,248,167,22,211,252,10,7,248, +10,248,230,5,252,120,67,247,235,6,252,10,252,230,5,11,251,33,247,5,251,10,247,31,218,204,179,189,171,11,215,248,2,215,11,55,75,188,218,135,31,61,122,5,37,146,230,54,247,21,27,247,21,239,223,247,8,31,11,155,10,163,10,3,247,92,11,71,85,167,204,136,31,58, +122,5,50,147,214,76,247,7,27,247,9,223,203,229,31,11,18,182,233,10,11,181,10,252,138,7,11,131,154,10,177,154,10,1,179,154,10,189,154,10,11,247,0,21,193,73,247,150,7,251,183,251,203,5,247,121,251,1,201,247,0,6,11,160,118,248,138,215,247,98,102,10,11,235, +181,173,195,167,164,129,117,160,30,14,21,49,66,66,49,49,65,212,229,229,213,212,229,229,212,66,49,30,14,91,58,211,55,27,70,92,90,76,113,31,11,225,186,67,223,27,203,186,188,206,166,31,11,114,131,207,100,234,10,11,216,213,169,198,191,11,160,118,249,46,11, +147,10,171,10,11,21,170,114,164,108,108,114,114,108,108,164,114,170,170,164,164,170,30,11,208,247,76,208,11,247,2,1,11,215,247,43,210,247,36,215,11,252,13,253,62,5,202,6,11,247,37,174,10,11,248,81,162,10,11,251,168,5,219,6,11,151,10,119,11,118,247,168, +119,1,11,229,247,2,11,22,211,251,189,247,121,247,177,211,251,177,247,113,247,189,211,11,251,8,251,35,11,195,10,1,11,119,1,235,219,11,219,247,177,7,232,192,195,213,215,190,84,45,30,251,177,11,247,14,6,247,39,247,12,251,5,251,40,31,14,86,169,5,101,123, +109,99,101,11,192,109,5,174,155,165,178,181,11,208,160,118,247,107,211,11,198,118,248,72,119,1,11,131,215,248,234,119,11,179,10,215,11,172,131,235,10,11,247,8,247,8,11,22,211,251,204,11,131,223,10,11,58,37,30,11,248,138,59,11,136,10,1,187,232,10,3,248, +192,11,251,17,247,168,71,105,247,5,251,134,5,14,210,131,215,92,234,10,247,82,119,18,11,195,247,28,193,245,195,18,247,147,201,92,202,11,21,56,6,251,2,251,136,5,222,6,14,248,235,118,166,10,11,247,2,144,219,144,247,2,11,211,247,113,211,11,207,195,10,11, +195,247,12,195,11,251,8,247,8,11,22,181,10,11,1,239,219,11,247,98,119,11,6,106,251,111,5,199,6,173,247,111,5,11,198,10,247,22,215,1,240,219,11,160,118,248,67,210,11,160,234,10,11,180,10,14,1,191,220,11,247,146,21,247,67,251,3,220,251,18,11,210,251,69, +118,247,82,136,10,11,170,247,98,5,79,6,107,251,98,5,11,251,80,251,45,251,45,251,80,251,80,11,119,213,10,247,219,219,3,248,171,11,247,2,44,219,19,224,11,119,1,247,143,219,3,11,247,150,71,251,150,7,11,120,10,3,11,211,194,10,11,119,194,10,11,1,187,219,11, +251,123,251,74,118,250,32,119,1,11,168,176,118,248,158,119,1,248,190,11,251,123,251,77,205,249,120,205,18,11,168,139,207,248,130,119,1,248,188,11,248,114,118,247,150,119,1,244,207,11,247,95,152,118,168,118,247,1,192,11,247,65,138,118,182,118,249,46,119, +11,231,10,253,80,7,14,21,32,6,246,247,5,5,14,215,248,166,11,251,65,67,118,249,232,119,1,11,119,1,247,158,207,3,248,188,11,18,185,217,85,220,247,162,220,11,247,18,247,46,247,46,247,18,11,18,183,220,78,219,247,111,219,11,160,118,249,80,119,11,7,19,208, +11,22,249,80,59,11,219,247,240,219,11,219,247,149,219,11,118,248,70,215,11,215,92,118,11,249,46,21,11,150,131,215,11,247,113,7,11,253,46,7,11,1,34,0,0,2,70,0,48,2,30,0,16,1,48,0,6,2,58,0,46,1,248,0,44,2,44,255,244,2,18,0,5,2,54,0,100,2,130,0,86,2,52, +0,16,1,208,0,16,3,6,0,39,3,6,0,39,1,80,0,39,3,6,0,44,1,130,0,44,1,130,0,28,0,222,0,77,2,88,0,48,2,88,0,71,1,34,0,0,1,34,0,90,1,170,0,105,2,70,0,38,2,70,0,65,3,6,0,40,2,250,0,78,1,22,0,105,1,84,0,84,1,84,0,36,2,70,0,111,2,88,0,48,1,34,0,9,1,89,0,48,1, +34,0,90,1,142,0,38,2,70,0,59,2,70,0,128,2,70,0,38,2,70,0,57,2,70,0,14,2,70,0,59,2,70,0,48,2,70,0,92,2,70,0,58,2,70,0,47,1,34,0,90,1,34,0,9,2,88,0,46,2,88,0,48,2,88,0,46,1,208,0,37,3,232,0,103,2,128,0,0,2,104,0,100,2,140,0,52,2,190,0,100,2,58,0,100,2, +42,0,100,3,2,0,52,2,188,0,100,1,44,0,110,1,240,0,1,2,138,0,100,2,14,0,100,3,134,0,23,2,232,0,100,3,18,0,52,2,54,0,100,3,18,0,52,2,100,0,100,2,58,0,46,1,254,0,24,2,204,0,96,2,128,0,0,3,134,0,23,2,80,0,6,2,44,255,244,2,52,0,16,1,84,0,117,1,142,0,12,1,84, +0,56,2,88,0,88,1,244,0,0,1,16,0,27,2,34,0,43,2,130,0,86,2,18,0,48,2,130,0,48,2,88,0,48,1,98,0,18,2,130,0,48,2,92,0,86,1,16,0,81,1,16,255,154,2,32,0,86,1,16,0,96,3,150,0,86,2,92,0,86,2,102,0,48,2,130,0,86,2,130,0,48,1,98,0,86,1,248,0,44,1,86,0,12,2,92, +0,83,2,4,0,5,3,32,0,26,1,224,0,10,2,18,0,5,1,208,0,16,1,84,0,52,0,222,0,77,1,84,0,50,2,88,0,54,2,128,0,0,2,128,0,0,2,140,0,52,2,58,0,100,2,232,0,100,3,18,0,52,2,204,0,96,2,34,0,43,2,34,0,43,2,34,0,43,2,34,0,43,2,34,0,43,2,34,0,43,2,18,0,48,2,88,0,48, +2,88,0,48,2,88,0,48,2,88,0,48,1,16,0,57,1,16,0,27,1,16,255,246,1,16,255,237,2,92,0,86,2,102,0,48,2,102,0,48,2,102,0,48,2,102,0,48,2,102,0,48,2,92,0,83,2,92,0,83,2,92,0,83,2,92,0,83,2,70,0,51,1,244,0,101,2,70,0,66,2,70,0,56,2,70,0,54,1,244,0,83,2,70,0, +30,2,46,0,86,2,84,0,78,3,18,0,52,3,86,0,24,1,16,0,57,1,16,255,237,2,88,0,48,3,96,255,227,3,18,0,41,2,154,255,254,2,88,0,48,2,88,0,48,2,88,0,48,2,70,0,30,2,92,0,86,2,70,0,60,2,226,0,59,2,226,0,36,2,70,0,34,2,70,0,123,1,158,0,53,1,158,0,49,2,226,0,44,3, +148,0,43,2,102,0,28,1,208,0,52,1,34,0,90,2,88,0,48,2,154,0,30,2,70,0,38,2,88,0,54,2,154,0,4,2,70,0,41,2,70,0,70,3,232,0,112,2,128,0,0,2,128,0,0,3,18,0,52,3,152,0,52,3,246,0,48,1,244,0,0,3,232,0,0,1,190,0,49,1,190,0,57,1,34,0,49,1,34,0,49,2,88,0,48,2, +154,0,79,2,18,0,5,2,44,255,244,0,134,255,103,1,110,0,41,1,110,0,70,2,114,0,18,2,114,0,18,2,70,0,51,1,34,0,90,1,34,0,9,1,190,0,15,4,108,0,40,2,128,0,0,2,58,0,100,2,128,0,0,2,58,0,100,2,58,0,100,1,44,0,71,1,44,0,4,1,44,255,251,1,44,0,41,3,18,0,52,3,18, +0,52,3,14,0,86,3,18,0,52,2,204,0,96,2,204,0,96,2,204,0,96,1,16,0,96,1,16,255,246,1,16,255,246,1,16,0,0,1,16,255,246,1,16,0,81,1,16,0,20,1,16,0,28,1,16,0,7,1,16,0,30,1,16,255,246,2,70,0,4,2,190,0,0,0,1,0,0,0,10,0,30,0,44,0,1,108,97,116,110,0,8,0,4,0,0, +0,0,255,255,0,1,0,0,0,1,107,101,114,110,0,8,0,0,0,1,0,0,0,1,0,4,0,2,0,0,0,19,0,44,1,218,3,184,5,98,7,20,8,190,10,148,12,62,14,40,15,230,17,148,19,98,19,192,22,28,25,36,27,72,28,56,32,164,33,224,0,1,35,84,0,4,0,0,0,4,0,18,0,44,0,230,0,244,0,6,0,116,0, +24,0,117,0,24,0,190,0,24,0,191,0,24,0,215,0,24,0,217,0,24,0,46,0,5,255,216,0,6,0,36,0,10,0,24,0,34,255,175,0,35,255,155,0,63,255,200,0,66,255,214,0,73,0,34,0,75,0,36,0,76,0,34,0,77,0,24,0,89,255,175,0,91,0,12,0,92,255,175,0,102,255,175,0,105,0,40,0,116, +255,192,0,117,255,192,0,123,255,192,0,124,255,192,0,125,255,192,0,126,255,192,0,127,255,192,0,128,255,192,0,129,255,175,0,130,255,175,0,131,255,175,0,132,255,175,0,133,255,175,0,134,0,12,0,135,0,12,0,136,0,12,0,137,0,12,0,139,255,175,0,140,255,175,0, +141,255,175,0,142,255,175,0,143,255,175,0,178,255,192,0,179,255,175,0,190,255,192,0,191,255,192,0,204,0,36,0,215,255,192,0,217,255,192,0,231,0,12,0,3,0,35,255,171,0,199,0,40,0,200,0,32,0,46,0,4,0,24,0,6,0,24,0,10,0,24,0,55,0,24,0,57,0,24,0,59,0,24,0, +60,255,232,0,61,0,24,0,63,0,24,0,64,0,24,0,65,0,24,0,66,0,34,0,69,0,24,0,70,255,232,0,71,0,24,0,73,0,24,0,75,0,24,0,76,0,12,0,77,0,36,0,105,0,40,0,116,0,52,0,117,0,52,0,118,255,232,0,119,0,24,0,120,0,24,0,121,255,232,0,123,0,30,0,124,0,30,0,125,0,30, +0,126,0,30,0,127,0,30,0,128,0,30,0,134,0,24,0,135,0,24,0,136,0,24,0,137,0,24,0,163,255,232,0,178,0,30,0,190,0,52,0,191,0,52,0,192,255,232,0,193,255,232,0,204,0,24,0,215,0,52,0,216,0,24,0,217,0,52,0,1,33,178,0,4,0,0,0,16,0,42,0,88,0,98,0,104,0,134,0,228, +0,238,0,244,0,250,1,0,1,6,1,12,1,78,1,84,1,94,1,156,0,11,0,34,255,215,0,218,0,24,0,219,0,24,0,220,0,24,0,221,0,24,0,222,0,24,0,223,0,24,0,224,255,232,0,225,255,232,0,227,255,232,0,231,0,24,0,2,0,34,255,240,0,199,0,30,0,1,0,95,0,93,0,7,0,6,255,175,0,73, +255,187,0,75,255,208,0,76,255,224,0,77,255,224,0,109,255,232,0,204,255,175,0,23,0,6,255,156,0,7,255,212,0,38,255,119,0,46,255,192,0,70,255,224,0,73,255,176,0,75,255,156,0,76,255,184,0,107,255,172,0,108,255,216,0,121,255,224,0,122,255,224,0,163,255,224, +0,192,255,224,0,193,255,224,0,203,255,212,0,204,255,156,0,224,255,224,0,225,255,224,0,227,255,224,0,228,255,224,0,229,255,224,0,230,255,224,0,2,0,35,255,176,0,200,255,176,0,1,0,35,255,232,0,1,0,35,255,236,0,1,0,35,255,123,0,1,0,35,255,163,0,1,0,35,255, +223,0,16,0,35,255,176,0,63,255,190,0,66,255,214,0,116,255,204,0,117,255,204,0,123,255,236,0,124,255,236,0,125,255,236,0,126,255,236,0,127,255,236,0,128,255,236,0,178,255,236,0,190,255,204,0,191,255,204,0,215,255,204,0,217,255,204,0,1,0,35,255,224,0,2, +0,10,0,24,0,77,0,24,0,15,0,35,255,223,0,66,255,244,0,116,255,244,0,117,255,244,0,123,255,246,0,124,255,246,0,125,255,246,0,126,255,246,0,127,255,246,0,128,255,246,0,178,255,246,0,190,255,244,0,191,255,244,0,215,255,244,0,217,255,244,0,16,0,6,0,12,0,7, +255,232,0,10,0,24,0,11,0,24,0,60,255,214,0,63,0,24,0,70,255,214,0,75,0,24,0,77,0,24,0,89,255,232,0,92,255,244,0,95,0,24,0,102,255,232,0,107,255,232,0,108,255,232,0,109,0,24,0,1,31,248,0,4,0,0,0,3,0,16,0,146,1,44,0,32,0,34,255,183,0,116,0,12,0,117,0,12, +0,118,255,214,0,121,255,214,0,129,255,232,0,130,255,232,0,131,255,232,0,132,255,232,0,133,255,232,0,139,255,232,0,140,255,232,0,141,255,232,0,142,255,232,0,143,255,232,0,144,255,232,0,145,255,232,0,146,255,232,0,147,255,232,0,163,255,214,0,179,255,232, +0,190,0,12,0,191,0,12,0,192,255,214,0,193,255,214,0,203,255,232,0,204,0,12,0,215,0,12,0,217,0,12,0,224,255,214,0,225,255,214,0,227,255,214,0,38,0,6,255,176,0,10,0,24,0,34,255,228,0,60,255,232,0,63,0,24,0,66,0,24,0,70,255,232,0,73,255,182,0,75,255,182, +0,76,255,220,0,77,0,24,0,116,0,52,0,117,0,52,0,118,255,232,0,121,255,232,0,122,255,232,0,123,0,30,0,124,0,30,0,125,0,30,0,126,0,30,0,127,0,30,0,128,0,30,0,163,255,232,0,178,0,30,0,190,0,52,0,191,0,52,0,192,255,232,0,193,255,232,0,200,255,204,0,204,255, +176,0,215,0,52,0,217,0,52,0,224,255,232,0,225,255,232,0,227,255,232,0,228,255,232,0,229,255,232,0,230,255,232,0,31,0,4,0,18,0,5,0,24,0,6,255,214,0,10,0,34,0,11,0,36,0,63,0,24,0,73,255,220,0,75,255,232,0,76,255,232,0,77,0,24,0,89,0,12,0,92,0,12,0,102, +0,12,0,105,0,12,0,109,0,24,0,116,0,24,0,117,0,24,0,123,0,36,0,124,0,36,0,125,0,36,0,126,0,36,0,127,0,36,0,128,0,36,0,129,0,12,0,130,0,12,0,131,0,12,0,132,0,12,0,133,0,12,0,139,0,12,0,140,0,12,0,141,0,12,0,1,30,88,0,4,0,0,0,5,0,20,0,62,0,240,0,254,1,92, +0,10,0,142,0,12,0,143,0,12,0,178,0,36,0,179,0,12,0,190,0,24,0,191,0,24,0,200,255,236,0,204,255,214,0,215,0,24,0,217,0,24,0,44,0,6,0,24,0,7,0,20,0,11,0,20,0,34,255,228,0,35,255,155,0,63,255,188,0,66,255,204,0,75,0,34,0,76,0,24,0,89,255,236,0,91,0,20,0, +92,255,236,0,102,255,236,0,105,0,20,0,107,0,20,0,108,0,20,0,109,0,20,0,116,255,182,0,117,255,182,0,123,255,236,0,124,255,236,0,125,255,236,0,126,255,236,0,127,255,236,0,128,255,236,0,129,255,236,0,130,255,236,0,131,255,236,0,132,255,236,0,133,255,236, +0,139,255,236,0,140,255,236,0,141,255,236,0,142,255,236,0,143,255,236,0,178,255,236,0,179,255,236,0,190,255,182,0,191,255,182,0,200,0,16,0,203,0,20,0,204,0,24,0,215,255,182,0,217,255,182,0,3,0,35,255,224,0,73,255,232,0,91,0,24,0,23,0,34,255,220,0,63, +0,24,0,77,0,24,0,116,0,12,0,117,0,12,0,121,255,244,0,123,0,18,0,124,0,18,0,125,0,18,0,126,0,18,0,127,0,18,0,128,0,18,0,163,255,244,0,178,0,18,0,190,0,12,0,191,0,12,0,192,255,244,0,193,255,244,0,215,0,12,0,217,0,12,0,224,255,244,0,225,255,244,0,227,255, +244,0,21,0,5,255,216,0,6,0,34,0,10,0,24,0,11,255,216,0,63,255,214,0,66,255,220,0,70,255,222,0,75,0,34,0,76,0,24,0,77,0,24,0,89,255,171,0,92,255,175,0,98,255,216,0,101,255,216,0,102,255,175,0,103,255,216,0,116,255,216,0,117,255,216,0,121,255,222,0,123, +255,174,0,124,255,174,0,1,28,180,0,4,0,0,0,3,0,16,0,154,1,52,0,34,0,34,255,188,0,35,255,175,0,125,255,174,0,126,255,174,0,127,255,174,0,128,255,174,0,129,255,175,0,130,255,176,0,131,255,176,0,132,255,176,0,133,255,176,0,138,255,216,0,139,255,175,0,140, +255,175,0,141,255,175,0,142,255,175,0,143,255,175,0,144,255,216,0,145,255,216,0,146,255,216,0,147,255,216,0,163,255,222,0,178,255,174,0,179,255,175,0,190,255,216,0,191,255,216,0,192,255,222,0,193,255,222,0,204,0,34,0,215,255,216,0,217,255,216,0,224,255, +222,0,225,255,222,0,227,255,222,0,38,0,5,255,216,0,6,0,36,0,34,255,208,0,35,255,155,0,63,255,214,0,66,255,232,0,73,0,34,0,76,0,12,0,77,0,24,0,89,255,203,0,92,255,203,0,102,255,203,0,105,0,40,0,116,255,196,0,117,255,196,0,123,255,210,0,124,255,210,0,125, +255,210,0,126,255,210,0,127,255,210,0,128,255,210,0,129,255,203,0,130,255,204,0,131,255,204,0,132,255,204,0,133,255,204,0,139,255,203,0,140,255,203,0,141,255,203,0,142,255,203,0,143,255,203,0,178,255,210,0,179,255,203,0,190,255,196,0,191,255,196,0,204, +0,36,0,215,255,196,0,217,255,196,0,29,0,5,255,216,0,6,0,34,0,63,255,232,0,66,255,232,0,73,0,24,0,75,0,24,0,89,255,216,0,92,255,216,0,102,255,216,0,105,0,32,0,116,255,216,0,117,255,216,0,123,255,226,0,124,255,226,0,125,255,226,0,126,255,226,0,127,255, +226,0,128,255,226,0,129,255,216,0,130,255,216,0,131,255,216,0,132,255,216,0,133,255,216,0,139,255,216,0,140,255,216,0,141,255,216,0,142,255,216,0,143,255,216,0,178,255,226,0,1,27,20,0,4,0,0,0,14,0,38,0,72,1,38,1,48,1,82,1,88,1,94,1,100,1,106,1,124,1, +142,1,156,1,170,1,184,0,8,0,34,255,223,0,35,255,184,0,179,255,216,0,190,255,216,0,191,255,216,0,204,0,34,0,215,255,216,0,217,255,216,0,55,0,4,0,18,0,6,0,24,0,10,0,36,0,34,255,224,0,55,0,24,0,57,0,24,0,59,0,24,0,61,0,24,0,63,0,42,0,64,0,24,0,65,0,24,0, +66,0,24,0,69,0,24,0,70,255,232,0,71,0,24,0,73,0,24,0,75,0,24,0,77,0,24,0,91,0,24,0,105,0,24,0,116,0,24,0,117,0,24,0,119,0,24,0,120,0,24,0,121,255,232,0,123,0,20,0,124,0,20,0,125,0,20,0,126,0,20,0,127,0,20,0,128,0,20,0,134,0,24,0,135,0,24,0,136,0,24,0, +137,0,24,0,163,255,232,0,178,0,20,0,190,0,24,0,191,0,24,0,192,255,232,0,193,255,232,0,204,0,24,0,215,0,24,0,216,0,24,0,217,0,24,0,218,0,24,0,219,0,24,0,220,0,24,0,221,0,24,0,222,0,24,0,223,0,24,0,224,255,232,0,225,255,232,0,227,255,232,0,231,0,24,0,2, +0,35,255,240,0,199,255,242,0,8,0,30,0,56,0,34,255,212,0,35,255,215,0,52,0,32,0,82,0,44,0,114,0,44,0,199,0,60,0,200,0,24,0,1,0,199,255,242,0,1,0,34,255,207,0,1,0,199,255,242,0,1,0,199,255,242,0,4,0,34,255,212,0,35,255,215,0,199,0,30,0,200,0,40,0,4,0,34, +255,224,0,35,255,232,0,199,0,50,0,200,0,33,0,3,0,35,255,171,0,199,0,40,0,200,0,32,0,3,0,35,255,216,0,199,0,30,0,200,0,33,0,3,0,34,255,232,0,199,0,20,0,200,0,32,0,7,0,4,0,24,0,5,0,24,0,6,255,192,0,7,255,232,0,10,0,52,0,11,0,34,0,63,0,50,0,1,25,94,0,4, +0,0,0,3,0,16,0,194,1,144,0,44,0,66,0,24,0,73,255,216,0,75,255,196,0,76,255,216,0,77,0,24,0,87,0,12,0,91,0,18,0,93,0,12,0,95,0,24,0,96,0,12,0,97,0,12,0,98,0,12,0,101,0,12,0,103,0,12,0,105,0,24,0,107,255,222,0,108,255,232,0,109,0,42,0,116,0,24,0,117,0, +24,0,122,255,244,0,123,0,30,0,124,0,30,0,125,0,30,0,126,0,30,0,127,0,30,0,128,0,30,0,134,0,12,0,135,0,12,0,136,0,12,0,137,0,12,0,138,0,12,0,178,0,30,0,190,0,24,0,191,0,24,0,200,255,204,0,203,255,232,0,204,255,192,0,215,0,24,0,217,0,24,0,228,255,244,0, +229,255,244,0,230,255,244,0,231,0,12,0,51,0,4,0,24,0,5,0,24,0,6,255,192,0,7,255,232,0,10,0,52,0,11,0,34,0,63,0,50,0,66,0,24,0,73,255,216,0,75,255,196,0,76,255,216,0,77,0,24,0,87,0,12,0,91,0,18,0,93,0,12,0,95,0,24,0,96,0,12,0,97,0,12,0,98,0,12,0,101,0, +12,0,103,0,12,0,105,0,24,0,107,255,222,0,108,255,232,0,109,0,42,0,116,0,24,0,117,0,24,0,122,255,244,0,123,0,30,0,124,0,30,0,125,0,30,0,126,0,30,0,127,0,30,0,128,0,30,0,134,0,12,0,135,0,12,0,136,0,12,0,137,0,12,0,138,0,12,0,178,0,30,0,190,0,24,0,191,0, +24,0,200,255,204,0,203,255,232,0,204,255,192,0,215,0,24,0,217,0,24,0,228,255,244,0,229,255,244,0,230,255,244,0,231,0,12,0,6,0,6,0,24,0,10,0,24,0,60,255,232,0,63,0,24,0,66,0,24,0,70,255,232,0,1,23,190,0,4,0,0,0,19,0,48,0,130,0,148,0,158,0,180,0,238,0, +248,0,254,1,4,1,10,1,16,1,22,1,28,1,34,1,40,1,46,1,52,1,74,1,80,0,20,0,34,255,235,0,73,0,24,0,75,0,24,0,76,0,24,0,77,0,24,0,116,0,24,0,117,0,24,0,118,255,232,0,121,255,232,0,163,255,232,0,190,0,24,0,191,0,24,0,192,255,232,0,193,255,232,0,204,0,24,0,215, +0,24,0,217,0,24,0,224,255,232,0,225,255,232,0,227,255,232,0,4,0,6,0,12,0,63,0,24,0,77,0,24,0,204,0,12,0,2,0,10,0,24,0,77,0,24,0,5,0,10,255,232,0,35,255,224,0,73,255,222,0,77,255,232,0,91,0,24,0,14,0,35,255,223,0,116,255,244,0,117,255,244,0,123,255,246, +0,124,255,246,0,125,255,246,0,126,255,246,0,127,255,246,0,128,255,246,0,178,255,246,0,190,255,244,0,191,255,244,0,215,255,244,0,217,255,244,0,2,0,199,0,30,0,200,0,20,0,1,0,199,255,239,0,1,0,199,255,239,0,1,0,199,255,239,0,1,0,199,255,239,0,1,0,199,255, +242,0,1,0,199,255,242,0,1,0,199,255,242,0,1,0,199,255,242,0,1,0,199,255,242,0,1,0,199,255,242,0,5,0,10,255,232,0,35,255,224,0,73,255,222,0,77,255,232,0,91,0,24,0,1,0,199,255,242,0,38,0,4,0,24,0,5,0,24,0,6,255,192,0,7,255,232,0,10,0,52,0,11,0,34,0,63, +0,50,0,66,0,24,0,73,255,216,0,75,255,196,0,76,255,216,0,77,0,24,0,87,0,12,0,91,0,18,0,93,0,12,0,95,0,24,0,96,0,12,0,97,0,12,0,98,0,12,0,101,0,12,0,103,0,12,0,105,0,24,0,107,255,222,0,108,255,232,0,109,0,42,0,116,0,24,0,117,0,24,0,122,255,244,0,123,0, +30,0,124,0,30,0,125,0,30,0,126,0,30,0,127,0,30,0,128,0,30,0,134,0,12,0,135,0,12,0,136,0,12,0,137,0,12,0,1,21,252,0,4,0,0,0,8,0,26,0,80,1,30,1,52,1,74,1,152,1,158,1,172,0,13,0,138,0,12,0,178,0,30,0,190,0,24,0,191,0,24,0,200,255,204,0,203,255,232,0,204, +255,192,0,215,0,24,0,217,0,24,0,228,255,244,0,229,255,244,0,230,255,244,0,231,0,12,0,51,0,4,0,24,0,5,0,24,0,6,255,192,0,7,255,232,0,10,0,52,0,11,0,34,0,63,0,50,0,66,0,24,0,73,255,216,0,75,255,196,0,76,255,216,0,77,0,24,0,87,0,12,0,91,0,18,0,93,0,12,0, +95,0,24,0,96,0,12,0,97,0,12,0,98,0,12,0,101,0,12,0,103,0,12,0,105,0,24,0,107,255,222,0,108,255,232,0,109,0,42,0,116,0,24,0,117,0,24,0,122,255,244,0,123,0,30,0,124,0,30,0,125,0,30,0,126,0,30,0,127,0,30,0,128,0,30,0,134,0,12,0,135,0,12,0,136,0,12,0,137, +0,12,0,138,0,12,0,178,0,30,0,190,0,24,0,191,0,24,0,200,255,204,0,203,255,232,0,204,255,192,0,215,0,24,0,217,0,24,0,228,255,244,0,229,255,244,0,230,255,244,0,231,0,12,0,5,0,10,255,232,0,35,255,224,0,73,255,222,0,77,255,232,0,91,0,24,0,5,0,10,255,232,0, +35,255,224,0,73,255,222,0,77,255,232,0,91,0,24,0,19,0,5,255,176,0,7,0,33,0,11,0,21,0,38,255,176,0,41,255,212,0,44,255,208,0,63,255,184,0,66,255,236,0,105,0,33,0,107,0,33,0,108,0,33,0,109,0,33,0,116,255,204,0,117,255,204,0,190,255,204,0,191,255,204,0, +203,0,33,0,215,255,204,0,217,255,204,0,1,0,5,255,204,0,3,0,35,255,171,0,199,0,40,0,200,0,32,0,4,0,5,255,216,0,6,0,36,0,10,0,24,0,63,255,200,0,1,20,82,0,4,0,0,0,4,0,18,0,188,1,138,1,156,0,42,0,34,255,175,0,35,255,155,0,66,255,214,0,73,0,34,0,75,0,36,0, +76,0,34,0,77,0,24,0,89,255,175,0,91,0,12,0,92,255,175,0,102,255,175,0,105,0,40,0,116,255,192,0,117,255,192,0,123,255,192,0,124,255,192,0,125,255,192,0,126,255,192,0,127,255,192,0,128,255,192,0,129,255,175,0,130,255,175,0,131,255,175,0,132,255,175,0,133, +255,175,0,134,0,12,0,135,0,12,0,136,0,12,0,137,0,12,0,139,255,175,0,140,255,175,0,141,255,175,0,142,255,175,0,143,255,175,0,178,255,192,0,179,255,175,0,190,255,192,0,191,255,192,0,204,0,36,0,215,255,192,0,217,255,192,0,231,0,12,0,51,0,4,0,24,0,5,0,24, +0,6,255,192,0,7,255,232,0,10,0,52,0,11,0,34,0,63,0,50,0,66,0,24,0,73,255,216,0,75,255,196,0,76,255,216,0,77,0,24,0,87,0,12,0,91,0,18,0,93,0,12,0,95,0,24,0,96,0,12,0,97,0,12,0,98,0,12,0,101,0,12,0,103,0,12,0,105,0,24,0,107,255,222,0,108,255,232,0,109, +0,42,0,116,0,24,0,117,0,24,0,122,255,244,0,123,0,30,0,124,0,30,0,125,0,30,0,126,0,30,0,127,0,30,0,128,0,30,0,134,0,12,0,135,0,12,0,136,0,12,0,137,0,12,0,138,0,12,0,178,0,30,0,190,0,24,0,191,0,24,0,200,255,204,0,203,255,232,0,204,255,192,0,215,0,24,0, +217,0,24,0,228,255,244,0,229,255,244,0,230,255,244,0,231,0,12,0,4,0,6,0,12,0,63,0,24,0,77,0,24,0,204,0,12,0,4,0,4,0,24,0,5,0,24,0,6,255,192,0,7,255,232,0,1,18,176,0,4,0,0,0,12,0,34,0,224,0,242,1,4,1,14,1,24,1,34,1,44,1,66,1,88,1,110,1,168,0,47,0,10,0, +52,0,11,0,34,0,63,0,50,0,66,0,24,0,73,255,216,0,75,255,196,0,76,255,216,0,77,0,24,0,87,0,12,0,91,0,18,0,93,0,12,0,95,0,24,0,96,0,12,0,97,0,12,0,98,0,12,0,101,0,12,0,103,0,12,0,105,0,24,0,107,255,222,0,108,255,232,0,109,0,42,0,116,0,24,0,117,0,24,0,122, +255,244,0,123,0,30,0,124,0,30,0,125,0,30,0,126,0,30,0,127,0,30,0,128,0,30,0,134,0,12,0,135,0,12,0,136,0,12,0,137,0,12,0,138,0,12,0,178,0,30,0,190,0,24,0,191,0,24,0,200,255,204,0,203,255,232,0,204,255,192,0,215,0,24,0,217,0,24,0,228,255,244,0,229,255, +244,0,230,255,244,0,231,0,12,0,4,0,6,0,12,0,63,0,24,0,77,0,24,0,204,0,12,0,4,0,6,0,12,0,63,0,24,0,77,0,24,0,204,0,12,0,2,0,10,0,24,0,77,0,24,0,2,0,10,0,24,0,77,0,24,0,2,0,10,0,24,0,77,0,24,0,2,0,10,0,24,0,77,0,24,0,5,0,10,255,232,0,35,255,224,0,73,255, +222,0,77,255,232,0,91,0,24,0,5,0,10,255,232,0,35,255,224,0,73,255,222,0,77,255,232,0,91,0,24,0,5,0,10,255,232,0,35,255,224,0,73,255,222,0,77,255,232,0,91,0,24,0,14,0,35,255,223,0,116,255,244,0,117,255,244,0,123,255,246,0,124,255,246,0,125,255,246,0,126, +255,246,0,127,255,246,0,128,255,246,0,178,255,246,0,190,255,244,0,191,255,244,0,215,255,244,0,217,255,244,0,9,0,116,255,244,0,117,255,244,0,123,255,246,0,124,255,246,0,125,255,246,0,126,255,246,0,127,255,246,0,128,255,246,0,178,255,246,0,1,16,242,0,4, +0,0,0,2,0,14,0,36,0,5,0,35,255,223,0,190,255,244,0,191,255,244,0,215,255,244,0,217,255,244,0,14,0,35,255,223,0,116,255,244,0,117,255,244,0,123,255,246,0,124,255,246,0,125,255,246,0,126,255,246,0,127,255,246,0,128,255,246,0,178,255,246,0,190,255,244,0, +191,255,244,0,215,255,244,0,217,255,244,0,2,16,156,0,4,0,0,17,224,18,50,0,14,0,21,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,192,0,36,0,24,255,192,255,175,255,175,0,12,255,175,255,216,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,0,24,0,24,0,30,0,0,0,0,0,24,0,0,0,0,255,232,0,24,0,24,0,24,255,232,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,175,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,156,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,255,224,0,0,255,224,255,212,0,0,0,0,0,0,0,0,255,204,0,0,0,0,255,236,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255, +244,0,0,0,0,255,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,12,0,24,0,0,255,232,255,232,0,0,255,232,0,0,255,214,0,0,0,0,0,0,255,214,0,0,0,0,255,232,255,232,0,24,0,0,0,0,0,52,255,176,0,24,0,30,0,0,0,0,0,0,0,0,0,0,255, +232,0,0,0,0,0,0,255,232,0,0,255,232,0,0,0,0,0,0,0,0,0,0,0,24,255,214,0,34,0,36,0,12,0,12,0,0,0,12,0,24,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,36,0,0,0,0,255,182,0,24,0,0,255,236,255,236,255,236,0,0,255,236,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,20, +0,0,0,0,0,12,0,0,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,244,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,216,0,34,0,24,255,174,255,175,255,176,0,0,255,175,255,216,0,0,0,0,0,0,0,0,255,222,0,0,0,0,0,0,255,216,255,216,255,216,0,2,14,96,0,4,0,0,17,36,17,148, +0,19,0,20,0,0,255,196,0,36,255,210,255,203,255,204,255,203,255,216,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,216,0,34,255,226,255,216,255,216,255,216,255,216,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,24,0,20,0,0,0,0,0,0, +0,0,0,24,0,24,0,24,255,232,0,18,0,36,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,192,0,30,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,24,0,52,0,12,255,244,0,12,255,232,0,34,0,0,0,0,0,24,255,192,0,30,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,24,0,52,0,12,255,244,0,12,255,232, +0,34,0,0,0,0,0,24,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,232,0,0,0,24,0,0,0,0,0,0,0,0,0,0,255,232,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,232,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,244,0,0,255,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,232,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,24,255,192,0,30,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,24,0,52,0,12,255,244,0,12,255,232,0,34,0,0,0,0,0,24,255,192,0,30,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,24,0,52,0,12,255,244,0,12,255,232,0,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,255,232,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,232,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,204,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +255,204,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,192,0,36,255,192,255,175,255,175,255,175,255,216,0,0,0,0,0,0,0,0,0,0,0,24,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,192,0,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,52,0,12,255,244,0,0,0,0,0, +0,0,0,0,2,11,130,0,4,0,0,15,206,16,92,0,19,0,14,0,0,0,12,0,24,255,232,0,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,24,255,232,0,34,255,192,0,24,0,24,255,244,0,52,0,30,0,12,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,232,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,232,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,232, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,244,0,0,0,0,0,0,255,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,244,0,0,0,0,0,0,255,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,244,0,0,0,0,0,0,255,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,255,239,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,242,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,242,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,0,20,0,2,9,146,0,4,0,0,14,252,15,12,0,2,0,56,0,0,0,50,0,24, +255,216,255,196,255,216,0,24,0,12,0,18,0,12,0,24,0,12,0,12,0,12,0,12,0,12,0,24,255,222,255,232,0,42,0,24,0,24,255,192,255,232,0,52,0,34,0,24,0,24,255,244,0,30,0,30,0,30,0,30,0,30,0,30,0,12,0,12,0,12,0,12,0,12,0,30,0,24,0,24,255,232,255,192,0,24,0,24, +255,244,255,244,255,244,0,12,255,204,0,0,0,0,0,0,0,0,0,0,0,24,0,24,0,24,0,24,0,24,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,24,0,0,0,24,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,255,232,255,232,255,232,255,232,0,2,8,184,0,4,0,0,15,106,16,4,0,9,0,62,0,0,255,232,0,24,0,24,255,232,255,232,0,24,0,24,0,24,255,232,255,232,255,232,255,235,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,24,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,232,0,0,255,232,255,222,0,24,255,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,244,255,244,0,0,0,0,0,0,255,244,255,244,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,223,255,244,255, +244,255,246,255,246,255,246,255,246,255,246,255,246,255,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,24,0,0,0,0,0,0,0,24,0,24,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,192,255,192,0,0,0,0,0,36,255,192,255,192,0, +0,0,0,0,0,255,175,255,200,0,24,0,36,0,24,0,34,0,12,255,155,255,192,255,192,255,192,255,192,255,192,255,192,255,192,255,192,255,192,255,214,0,36,0,34,255,175,255,175,255,175,0,40,255,216,255,175,255,175,255,175,255,175,255,175,0,12,0,12,0,12,0,12,255, +175,255,175,255,175,255,175,255,175,255,175,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,171,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,24,0,24,255,232,0,24,0,24,0,24,0,2,4,144,0,4,0,0,13,10,13,38,0,3,0,50,0,0,0,24,255,232,0,24,0,24,0,24,0,12,0,36,0,40,0,24,0,24,0,24,0,52,0,52,255,232,0,24,0,24,255,232,0,30,0,30,0,30, +0,30,0,30,0,30,0,24,0,24,0,24,0,24,255,232,0,30,0,52,0,52,255,232,255,232,0,24,0,52,0,24,0,52,0,24,0,24,0,24,0,24,0,24,0,24,255,232,255,232,255,232,0,24,255,215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,240,0,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,106,0,4,0,0,13,20,13,180,0,10,0,20,0,0,0,24,0,24,255,244,255,192,0,52,0,30,0,12,0,12,0,24,255,232,0,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,24,0,24,0,0,0,0,0,0, +0,0,0,0,0,0,255,232,255,232,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,232,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,244,0,0,0,0,0,0,0,0,255,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,192,0,0,0,0,0,36,0,24,255, +192,0,12,0,0,255,216,0,0,0,0,0,0,0,0,255,175,255,175,255,175,0,0,0,0,0,0,0,0,0,52,0,24,0,0,0,24,0,24,0,30,0,24,0,0,0,0,0,0,0,0,255,232,255,232,0,0,0,0,0,0,0,24,0,24,0,24,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,1,0,4,0,4,0,6,0,7,0,10,0,1,0,16,0,10,0,11,0,29,0,34,0,35,0,38,0,40,0,42,0,44,0,46,0,57,0,59,0,60,0,61,0,63,0,64,0,2,0,1,0,64,0,66,0,0,0,1,0,5,0,66,0,69,0,70,0,71,0,73,0,1,0,3,0,73,0,75,0,76,0,1,0,14,0,76,0,77,0,87,0,91,0,93,0,96,0,98,0,101,0,103,0, +105,0,107,0,108,0,109,0,116,0,2,0,1,0,116,0,118,0,0,0,2,0,6,0,118,0,122,0,0,0,129,0,133,0,5,0,138,0,143,0,10,0,163,0,163,0,16,0,179,0,179,0,17,0,190,0,190,0,18,0,1,0,8,0,190,0,191,0,192,0,193,0,199,0,200,0,203,0,204,0,1,0,4,0,204,0,215,0,216,0,217,0, +2,0,2,0,217,0,225,0,0,0,227,0,229,0,9,0,1,0,2,0,229,0,230,0,1,0,14,0,4,0,6,0,10,0,34,0,35,0,59,0,61,0,63,0,64,0,65,0,66,0,69,0,71,0,73,0,1,0,19,0,75,0,76,0,77,0,116,0,117,0,118,0,119,0,120,0,121,0,122,0,163,0,190,0,191,0,192,0,193,0,199,0,200,0,204,0, +215,0,2,0,8,0,88,0,88,0,0,0,90,0,90,0,1,0,99,0,100,0,2,0,129,0,133,0,4,0,138,0,143,0,9,0,179,0,179,0,15,0,215,0,225,0,16,0,227,0,230,0,27,0,1,0,9,0,54,0,56,0,116,0,117,0,118,0,190,0,191,0,215,0,217,0,1,0,32,0,4,0,6,0,7,0,10,0,56,0,58,0,67,0,68,0,72,0, +74,0,78,0,79,0,110,0,118,0,119,0,120,0,121,0,122,0,163,0,192,0,193,0,203,0,204,0,216,0,218,0,219,0,224,0,225,0,227,0,228,0,229,0,230,0,1,0,9,0,10,0,11,0,62,0,79,0,111,0,220,0,221,0,222,0,223,0,1,0,41,0,4,0,6,0,10,0,54,0,56,0,58,0,62,0,67,0,68,0,72,0, +74,0,78,0,79,0,116,0,117,0,118,0,119,0,120,0,121,0,122,0,163,0,190,0,191,0,192,0,193,0,204,0,215,0,216,0,217,0,218,0,219,0,220,0,221,0,222,0,223,0,224,0,225,0,227,0,228,0,229,0,230,0,2,0,13,0,6,0,6,0,1,0,10,0,10,0,2,0,34,0,34,0,3,0,35,0,35,0,4,0,59,0, +59,0,5,0,61,0,61,0,6,0,63,0,63,0,7,0,64,0,64,0,8,0,65,0,65,0,9,0,66,0,66,0,10,0,69,0,69,0,11,0,71,0,71,0,12,0,73,0,73,0,13,0,2,0,55,0,4,0,4,0,15,0,5,0,5,0,9,0,6,0,6,0,2,0,7,0,7,0,17,0,10,0,10,0,3,0,11,0,11,0,19,0,54,0,54,0,1,0,56,0,56,0,10,0,58,0,58, +0,11,0,62,0,62,0,12,0,67,0,67,0,13,0,68,0,68,0,14,0,72,0,72,0,15,0,74,0,74,0,16,0,78,0,78,0,2,0,79,0,79,0,3,0,86,0,86,0,4,0,88,0,88,0,5,0,90,0,90,0,6,0,94,0,94,0,7,0,99,0,99,0,20,0,100,0,100,0,8,0,104,0,104,0,9,0,106,0,106,0,18,0,110,0,110,0,17,0,111, +0,111,0,19,0,116,0,117,0,1,0,118,0,118,0,10,0,119,0,119,0,11,0,120,0,120,0,13,0,121,0,121,0,14,0,122,0,122,0,16,0,123,0,128,0,4,0,129,0,129,0,5,0,130,0,133,0,6,0,134,0,137,0,7,0,138,0,138,0,20,0,139,0,143,0,8,0,144,0,147,0,18,0,163,0,163,0,14,0,178,0, +178,0,4,0,179,0,179,0,8,0,190,0,191,0,1,0,192,0,193,0,14,0,203,0,203,0,17,0,204,0,204,0,2,0,215,0,215,0,1,0,216,0,216,0,11,0,217,0,217,0,1,0,218,0,219,0,11,0,220,0,223,0,12,0,224,0,225,0,14,0,227,0,227,0,14,0,228,0,230,0,16,0,231,0,231,0,7,0,2,0,18,0, +76,0,76,0,1,0,77,0,77,0,2,0,116,0,116,0,3,0,117,0,117,0,4,0,118,0,118,0,5,0,119,0,119,0,6,0,120,0,120,0,7,0,121,0,121,0,8,0,122,0,122,0,9,0,163,0,163,0,10,0,190,0,190,0,11,0,191,0,191,0,12,0,192,0,192,0,13,0,193,0,193,0,14,0,199,0,199,0,15,0,200,0,200, +0,16,0,204,0,204,0,17,0,215,0,215,0,18,0,2,0,53,0,4,0,4,0,12,0,5,0,5,0,7,0,6,0,6,0,2,0,7,0,7,0,17,0,10,0,10,0,13,0,11,0,11,0,18,0,54,0,54,0,1,0,56,0,56,0,19,0,58,0,58,0,8,0,62,0,62,0,9,0,67,0,67,0,10,0,68,0,68,0,11,0,72,0,72,0,12,0,74,0,74,0,15,0,78, +0,78,0,2,0,79,0,79,0,13,0,86,0,86,0,3,0,88,0,88,0,4,0,90,0,90,0,5,0,94,0,94,0,14,0,99,0,99,0,16,0,100,0,100,0,6,0,104,0,104,0,7,0,110,0,110,0,17,0,111,0,111,0,18,0,116,0,117,0,1,0,118,0,118,0,19,0,119,0,119,0,8,0,120,0,120,0,10,0,121,0,121,0,11,0,122, +0,122,0,15,0,123,0,128,0,3,0,129,0,129,0,4,0,130,0,133,0,5,0,134,0,137,0,14,0,138,0,138,0,16,0,139,0,143,0,6,0,163,0,163,0,11,0,178,0,178,0,3,0,179,0,179,0,6,0,190,0,191,0,1,0,192,0,193,0,11,0,203,0,203,0,17,0,204,0,204,0,2,0,215,0,215,0,1,0,216,0,216, +0,8,0,217,0,217,0,1,0,218,0,219,0,8,0,220,0,223,0,9,0,224,0,225,0,11,0,227,0,227,0,11,0,228,0,230,0,15,0,231,0,231,0,14,0,2,0,23,0,88,0,88,0,18,0,90,0,90,0,15,0,99,0,99,0,16,0,100,0,100,0,17,0,129,0,129,0,18,0,130,0,133,0,15,0,138,0,138,0,16,0,139,0, +143,0,17,0,179,0,179,0,17,0,216,0,216,0,1,0,217,0,217,0,2,0,218,0,218,0,3,0,219,0,219,0,4,0,220,0,220,0,5,0,221,0,221,0,6,0,222,0,222,0,7,0,223,0,223,0,8,0,224,0,224,0,9,0,225,0,225,0,10,0,227,0,227,0,11,0,228,0,228,0,12,0,229,0,229,0,13,0,230,0,230, +0,14,0,2,0,32,0,4,0,4,0,7,0,5,0,5,0,2,0,6,0,6,0,5,0,7,0,7,0,3,0,10,0,10,0,9,0,11,0,11,0,4,0,54,0,54,0,6,0,72,0,72,0,7,0,74,0,74,0,8,0,78,0,78,0,5,0,79,0,79,0,9,0,86,0,86,0,10,0,94,0,94,0,11,0,99,0,99,0,1,0,104,0,104,0,2,0,110,0,110,0,3,0,111,0,111,0, +4,0,116,0,117,0,6,0,122,0,122,0,8,0,123,0,128,0,10,0,134,0,137,0,11,0,138,0,138,0,1,0,178,0,178,0,10,0,190,0,191,0,6,0,199,0,199,0,12,0,200,0,200,0,13,0,203,0,203,0,3,0,204,0,204,0,5,0,215,0,215,0,6,0,217,0,217,0,6,0,228,0,230,0,8,0,231,0,231,0,11,0, +2,0,2,0,56,0,56,0,1,0,118,0,118,0,1,0,2,0,55,0,4,0,4,0,20,0,5,0,5,0,21,0,6,0,6,0,22,0,7,0,7,0,23,0,10,0,10,0,24,0,11,0,11,0,25,0,60,0,60,0,52,0,63,0,63,0,1,0,66,0,66,0,2,0,70,0,70,0,53,0,73,0,73,0,3,0,75,0,75,0,4,0,76,0,76,0,5,0,77,0,77,0,6,0,87,0,87, +0,7,0,91,0,91,0,8,0,93,0,93,0,9,0,95,0,95,0,10,0,96,0,96,0,11,0,97,0,97,0,12,0,98,0,98,0,13,0,101,0,101,0,14,0,103,0,103,0,15,0,105,0,105,0,16,0,107,0,107,0,17,0,108,0,108,0,18,0,109,0,109,0,19,0,116,0,116,0,26,0,117,0,117,0,27,0,118,0,118,0,54,0,121, +0,121,0,55,0,122,0,122,0,28,0,123,0,123,0,29,0,124,0,124,0,30,0,125,0,125,0,31,0,126,0,126,0,32,0,127,0,127,0,33,0,128,0,128,0,34,0,134,0,134,0,35,0,135,0,135,0,36,0,136,0,136,0,37,0,137,0,137,0,38,0,138,0,138,0,39,0,178,0,178,0,40,0,190,0,190,0,41,0, +191,0,191,0,42,0,200,0,200,0,51,0,203,0,203,0,43,0,204,0,204,0,44,0,215,0,215,0,45,0,217,0,217,0,46,0,228,0,228,0,47,0,229,0,229,0,48,0,230,0,230,0,49,0,231,0,231,0,50,0,2,0,25,0,4,0,4,0,5,0,6,0,6,0,6,0,7,0,7,0,7,0,10,0,10,0,8,0,58,0,58,0,1,0,67,0,67, +0,2,0,68,0,68,0,3,0,72,0,72,0,5,0,74,0,74,0,4,0,78,0,78,0,6,0,79,0,79,0,8,0,110,0,110,0,7,0,119,0,119,0,1,0,120,0,120,0,2,0,121,0,121,0,3,0,122,0,122,0,4,0,163,0,163,0,3,0,192,0,193,0,3,0,203,0,203,0,7,0,204,0,204,0,6,0,216,0,216,0,1,0,218,0,219,0,1, +0,224,0,225,0,3,0,227,0,227,0,3,0,228,0,230,0,4,0,2,0,61,0,5,0,5,0,36,0,6,0,6,0,15,0,10,0,10,0,16,0,34,0,34,0,12,0,35,0,35,0,19,0,55,0,55,0,55,0,57,0,57,0,56,0,59,0,59,0,57,0,60,0,60,0,58,0,61,0,61,0,59,0,63,0,63,0,13,0,64,0,64,0,60,0,65,0,65,0,61,0, +66,0,66,0,29,0,73,0,73,0,17,0,75,0,75,0,30,0,76,0,76,0,31,0,77,0,77,0,14,0,89,0,89,0,32,0,91,0,91,0,18,0,92,0,92,0,33,0,102,0,102,0,34,0,105,0,105,0,35,0,116,0,116,0,20,0,117,0,117,0,21,0,123,0,123,0,22,0,124,0,124,0,23,0,125,0,125,0,24,0,126,0,126,0, +25,0,127,0,127,0,26,0,128,0,128,0,27,0,129,0,129,0,37,0,130,0,130,0,38,0,131,0,131,0,39,0,132,0,132,0,40,0,133,0,133,0,41,0,134,0,134,0,42,0,135,0,135,0,43,0,136,0,136,0,44,0,137,0,137,0,45,0,139,0,139,0,46,0,140,0,140,0,47,0,141,0,141,0,48,0,142,0,142, +0,49,0,143,0,143,0,50,0,163,0,163,0,1,0,178,0,178,0,28,0,179,0,179,0,51,0,190,0,190,0,2,0,191,0,191,0,3,0,192,0,192,0,4,0,193,0,193,0,5,0,199,0,199,0,53,0,200,0,200,0,54,0,204,0,204,0,6,0,215,0,215,0,7,0,217,0,217,0,8,0,224,0,224,0,9,0,225,0,225,0,10, +0,227,0,227,0,11,0,231,0,231,0,52,0,2,0,4,0,11,0,11,0,1,0,62,0,62,0,2,0,111,0,111,0,1,0,220,0,223,0,2,0,2,0,49,0,4,0,4,0,9,0,6,0,6,0,10,0,10,0,10,0,11,0,34,0,34,0,48,0,69,0,69,0,1,0,70,0,70,0,2,0,71,0,71,0,3,0,73,0,73,0,4,0,75,0,75,0,5,0,76,0,76,0,6, +0,77,0,77,0,7,0,105,0,105,0,8,0,116,0,116,0,12,0,117,0,117,0,13,0,118,0,118,0,14,0,119,0,119,0,15,0,120,0,120,0,16,0,121,0,121,0,17,0,123,0,123,0,18,0,124,0,124,0,19,0,125,0,125,0,20,0,126,0,126,0,21,0,127,0,127,0,22,0,128,0,128,0,23,0,134,0,134,0,24, +0,135,0,135,0,25,0,136,0,136,0,26,0,137,0,137,0,27,0,163,0,163,0,28,0,178,0,178,0,29,0,190,0,190,0,30,0,191,0,191,0,31,0,192,0,192,0,32,0,193,0,193,0,33,0,199,0,199,0,49,0,204,0,204,0,34,0,215,0,215,0,35,0,216,0,216,0,36,0,217,0,217,0,37,0,218,0,218, +0,38,0,219,0,219,0,39,0,220,0,220,0,40,0,221,0,221,0,41,0,222,0,222,0,42,0,223,0,223,0,43,0,224,0,224,0,44,0,225,0,225,0,45,0,227,0,227,0,46,0,231,0,231,0,47,0,2,0,26,0,4,0,4,0,6,0,6,0,6,0,7,0,10,0,10,0,8,0,56,0,56,0,1,0,58,0,58,0,2,0,62,0,62,0,9,0,67, +0,67,0,3,0,68,0,68,0,4,0,72,0,72,0,6,0,74,0,74,0,5,0,78,0,78,0,7,0,79,0,79,0,8,0,118,0,118,0,1,0,119,0,119,0,2,0,120,0,120,0,3,0,121,0,121,0,4,0,122,0,122,0,5,0,163,0,163,0,4,0,192,0,193,0,4,0,204,0,204,0,7,0,216,0,216,0,2,0,218,0,219,0,2,0,220,0,223, +0,9,0,224,0,225,0,4,0,227,0,227,0,4,0,228,0,230,0,5,0,2,0,53,0,4,0,4,0,2,0,5,0,5,0,9,0,6,0,6,0,4,0,7,0,7,0,10,0,10,0,10,0,5,0,11,0,11,0,11,0,54,0,54,0,1,0,56,0,56,0,12,0,58,0,58,0,17,0,62,0,62,0,18,0,67,0,67,0,19,0,68,0,68,0,13,0,72,0,72,0,2,0,74,0,74, +0,3,0,78,0,78,0,4,0,79,0,79,0,5,0,86,0,86,0,6,0,88,0,88,0,14,0,90,0,90,0,15,0,94,0,94,0,7,0,99,0,99,0,8,0,100,0,100,0,16,0,104,0,104,0,9,0,110,0,110,0,10,0,111,0,111,0,11,0,116,0,117,0,1,0,118,0,118,0,12,0,119,0,119,0,17,0,120,0,120,0,19,0,121,0,121, +0,13,0,122,0,122,0,3,0,123,0,128,0,6,0,129,0,129,0,14,0,130,0,133,0,15,0,134,0,137,0,7,0,138,0,138,0,8,0,139,0,143,0,16,0,163,0,163,0,13,0,178,0,178,0,6,0,179,0,179,0,16,0,190,0,191,0,1,0,192,0,193,0,13,0,203,0,203,0,10,0,204,0,204,0,4,0,215,0,215,0, +1,0,216,0,216,0,17,0,217,0,217,0,1,0,218,0,219,0,17,0,220,0,223,0,18,0,224,0,225,0,13,0,227,0,227,0,13,0,228,0,230,0,3,0,231,0,231,0,7,0,0,0,0 }; + +const char* ContaxPro55Rm_otf = (const char*) temp_binary_data_26; + +//================== ContaxPro55RmSC.otf ================== +static const unsigned char temp_binary_data_27[] = +{ 79,84,84,79,0,10,0,128,0,3,0,32,67,70,70,32,125,226,196,55,0,0,14,148,0,0,51,152,71,80,79,83,46,221,11,202,0,0,69,252,0,0,28,228,79,83,47,50,137,33,143,226,0,0,1,16,0,0,0,96,99,109,97,112,114,241,200,81,0,0,11,0,0,0,3,116,104,101,97,100,243,137,8,66, +0,0,0,172,0,0,0,54,104,104,101,97,6,6,4,64,0,0,0,228,0,0,0,36,104,109,116,120,13,164,45,98,0,0,66,44,0,0,3,208,109,97,120,112,0,244,80,0,0,0,1,8,0,0,0,6,110,97,109,101,166,66,118,24,0,0,1,112,0,0,9,141,112,111,115,116,255,126,0,20,0,0,14,116,0,0,0,32, +0,1,0,0,0,1,0,0,242,19,56,51,95,15,60,245,0,3,3,232,0,0,0,0,200,99,98,71,0,0,0,0,200,99,98,71,255,103,255,32,4,68,3,180,0,0,0,3,0,2,0,0,0,0,0,0,0,1,0,0,2,34,255,120,0,54,4,108,255,103,255,103,4,68,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,244,0,0,80,0,0,244, +0,0,0,2,2,39,1,144,0,5,0,6,2,138,2,88,0,0,0,75,2,188,2,138,0,0,1,221,0,50,0,250,0,0,2,0,6,3,3,0,0,2,0,4,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,97,107,116,105,0,64,0,32,251,2,2,34,255,120,0,54,3,180,0,224,32,0,0,1,0,0,0,0,2,62,2,154,0,32,0,32,0,2,0,0,0,24,1, +38,0,1,0,0,0,0,0,0,0,75,0,0,0,1,0,0,0,0,0,1,0,20,0,75,0,1,0,0,0,0,0,2,0,7,0,95,0,1,0,0,0,0,0,3,0,27,0,102,0,1,0,0,0,0,0,4,0,20,0,75,0,1,0,0,0,0,0,5,0,32,0,129,0,1,0,0,0,0,0,6,0,16,0,161,0,1,0,0,0,0,0,7,0,73,0,177,0,1,0,0,0,0,0,9,0,33,0,250,0,1,0,0,0, +0,0,10,1,159,1,27,0,1,0,0,0,0,0,11,0,19,2,186,0,1,0,0,0,0,0,12,0,19,2,186,0,3,0,1,4,9,0,0,0,150,2,205,0,3,0,1,4,9,0,1,0,40,3,99,0,3,0,1,4,9,0,2,0,14,3,139,0,3,0,1,4,9,0,3,0,54,3,153,0,3,0,1,4,9,0,4,0,40,3,99,0,3,0,1,4,9,0,5,0,64,3,207,0,3,0,1,4,9,0,6, +0,32,4,15,0,3,0,1,4,9,0,7,0,146,4,47,0,3,0,1,4,9,0,9,0,66,4,193,0,3,0,1,4,9,0,10,3,62,5,3,0,3,0,1,4,9,0,11,0,38,8,65,0,3,0,1,4,9,0,12,0,38,8,65,67,111,112,121,114,105,103,104,116,32,40,99,41,32,65,108,101,120,32,75,97,99,122,117,110,44,32,100,98,97,32, +84,121,112,101,32,73,110,110,111,118,97,116,105,111,110,115,44,32,49,57,57,55,46,32,65,108,108,32,114,105,103,104,116,115,32,114,101,115,101,114,118,101,100,46,67,111,110,116,97,120,32,80,114,111,32,53,53,32,83,109,32,67,97,112,82,101,103,117,108,97, +114,49,46,48,48,48,59,97,107,116,105,59,67,111,110,116,97,120,80,114,111,53,53,83,109,67,97,112,79,84,70,32,49,46,48,48,48,59,80,83,32,48,48,49,46,48,48,48,59,67,111,114,101,32,49,46,48,46,51,52,67,111,110,116,97,120,80,114,111,53,53,83,109,67,97,112, +67,111,110,116,97,120,32,80,114,111,32,53,53,32,83,109,32,67,97,112,32,105,115,32,97,32,116,114,97,100,101,109,97,114,107,32,111,102,32,65,108,101,120,32,75,97,99,122,117,110,44,32,100,98,97,32,84,121,112,101,32,73,110,110,111,118,97,116,105,111,110, +115,46,65,108,101,120,32,75,97,99,122,117,110,44,32,100,98,97,32,84,121,112,101,32,73,110,110,111,118,97,116,105,111,110,115,84,104,101,32,100,105,103,105,116,97,108,108,121,32,101,110,99,111,100,101,100,32,109,97,99,104,105,110,101,32,114,101,97,100, +97,98,108,101,32,115,111,102,116,119,97,114,101,32,102,111,114,32,112,114,111,100,117,99,105,110,103,32,32,32,116,104,101,32,84,121,112,101,102,97,99,101,115,32,108,105,99,101,110,115,101,100,32,116,111,32,121,111,117,32,105,115,32,99,111,112,121,114, +105,103,104,116,101,100,32,40,99,41,32,49,57,57,55,32,65,108,101,120,32,75,97,99,122,117,110,44,32,100,98,97,32,84,121,112,101,32,73,110,110,111,118,97,116,105,111,110,115,46,32,65,108,108,32,82,105,103,104,116,115,32,82,101,115,101,114,118,101,100,46, +32,84,104,105,115,32,115,111,102,116,119,97,114,101,32,105,115,32,116,104,101,32,112,114,111,112,101,114,116,121,32,111,102,32,65,108,101,120,32,75,97,99,122,117,110,44,32,100,98,97,32,84,121,112,101,32,73,110,110,111,118,97,116,105,111,110,115,44,32, +97,110,100,32,105,116,115,32,108,105,99,101,110,115,111,114,115,44,32,97,110,100,32,109,97,121,32,110,111,116,32,98,101,32,114,101,112,114,111,100,117,99,101,100,44,32,117,115,101,100,44,32,100,105,115,112,108,97,121,101,100,44,32,109,111,100,105,102, +105,101,100,44,32,100,105,115,99,108,111,115,101,100,32,111,114,32,116,114,97,110,115,102,101,114,114,101,100,32,119,105,116,104,111,117,116,32,116,104,101,32,101,120,112,114,101,115,115,32,119,114,105,116,116,101,110,32,97,112,112,114,111,118,97,108, +32,111,102,32,65,108,101,120,32,75,97,99,122,117,110,44,32,100,98,97,32,84,121,112,101,32,73,110,110,111,118,97,116,105,111,110,115,46,32,116,121,112,101,105,110,110,111,118,97,116,105,111,110,115,46,99,111,109,0,67,0,111,0,112,0,121,0,114,0,105,0,103, +0,104,0,116,0,32,0,40,0,99,0,41,0,32,0,65,0,108,0,101,0,120,0,32,0,75,0,97,0,99,0,122,0,117,0,110,0,44,0,32,0,100,0,98,0,97,0,32,0,84,0,121,0,112,0,101,0,32,0,73,0,110,0,110,0,111,0,118,0,97,0,116,0,105,0,111,0,110,0,115,0,44,0,32,0,49,0,57,0,57,0,55, +0,46,0,32,0,65,0,108,0,108,0,32,0,114,0,105,0,103,0,104,0,116,0,115,0,32,0,114,0,101,0,115,0,101,0,114,0,118,0,101,0,100,0,46,0,67,0,111,0,110,0,116,0,97,0,120,0,32,0,80,0,114,0,111,0,32,0,53,0,53,0,32,0,83,0,109,0,32,0,67,0,97,0,112,0,82,0,101,0,103, +0,117,0,108,0,97,0,114,0,49,0,46,0,48,0,48,0,48,0,59,0,97,0,107,0,116,0,105,0,59,0,67,0,111,0,110,0,116,0,97,0,120,0,80,0,114,0,111,0,53,0,53,0,83,0,109,0,67,0,97,0,112,0,79,0,84,0,70,0,32,0,49,0,46,0,48,0,48,0,48,0,59,0,80,0,83,0,32,0,48,0,48,0,49,0, +46,0,48,0,48,0,48,0,59,0,67,0,111,0,114,0,101,0,32,0,49,0,46,0,48,0,46,0,51,0,52,0,67,0,111,0,110,0,116,0,97,0,120,0,80,0,114,0,111,0,53,0,53,0,83,0,109,0,67,0,97,0,112,0,67,0,111,0,110,0,116,0,97,0,120,0,32,0,80,0,114,0,111,0,32,0,53,0,53,0,32,0,83, +0,109,0,32,0,67,0,97,0,112,0,32,0,105,0,115,0,32,0,97,0,32,0,116,0,114,0,97,0,100,0,101,0,109,0,97,0,114,0,107,0,32,0,111,0,102,0,32,0,65,0,108,0,101,0,120,0,32,0,75,0,97,0,99,0,122,0,117,0,110,0,44,0,32,0,100,0,98,0,97,0,32,0,84,0,121,0,112,0,101,0, +32,0,73,0,110,0,110,0,111,0,118,0,97,0,116,0,105,0,111,0,110,0,115,0,46,0,65,0,108,0,101,0,120,0,32,0,75,0,97,0,99,0,122,0,117,0,110,0,44,0,32,0,100,0,98,0,97,0,32,0,84,0,121,0,112,0,101,0,32,0,73,0,110,0,110,0,111,0,118,0,97,0,116,0,105,0,111,0,110, +0,115,0,84,0,104,0,101,0,32,0,100,0,105,0,103,0,105,0,116,0,97,0,108,0,108,0,121,0,32,0,101,0,110,0,99,0,111,0,100,0,101,0,100,0,32,0,109,0,97,0,99,0,104,0,105,0,110,0,101,0,32,0,114,0,101,0,97,0,100,0,97,0,98,0,108,0,101,0,32,0,115,0,111,0,102,0,116, +0,119,0,97,0,114,0,101,0,32,0,102,0,111,0,114,0,32,0,112,0,114,0,111,0,100,0,117,0,99,0,105,0,110,0,103,0,32,0,32,0,32,0,116,0,104,0,101,0,32,0,84,0,121,0,112,0,101,0,102,0,97,0,99,0,101,0,115,0,32,0,108,0,105,0,99,0,101,0,110,0,115,0,101,0,100,0,32, +0,116,0,111,0,32,0,121,0,111,0,117,0,32,0,105,0,115,0,32,0,99,0,111,0,112,0,121,0,114,0,105,0,103,0,104,0,116,0,101,0,100,0,32,0,40,0,99,0,41,0,32,0,49,0,57,0,57,0,55,0,32,0,65,0,108,0,101,0,120,0,32,0,75,0,97,0,99,0,122,0,117,0,110,0,44,0,32,0,100,0, +98,0,97,0,32,0,84,0,121,0,112,0,101,0,32,0,73,0,110,0,110,0,111,0,118,0,97,0,116,0,105,0,111,0,110,0,115,0,46,0,32,0,65,0,108,0,108,0,32,0,82,0,105,0,103,0,104,0,116,0,115,0,32,0,82,0,101,0,115,0,101,0,114,0,118,0,101,0,100,0,46,0,32,0,84,0,104,0,105, +0,115,0,32,0,115,0,111,0,102,0,116,0,119,0,97,0,114,0,101,0,32,0,105,0,115,0,32,0,116,0,104,0,101,0,32,0,112,0,114,0,111,0,112,0,101,0,114,0,116,0,121,0,32,0,111,0,102,0,32,0,65,0,108,0,101,0,120,0,32,0,75,0,97,0,99,0,122,0,117,0,110,0,44,0,32,0,100, +0,98,0,97,0,32,0,84,0,121,0,112,0,101,0,32,0,73,0,110,0,110,0,111,0,118,0,97,0,116,0,105,0,111,0,110,0,115,0,44,0,32,0,97,0,110,0,100,0,32,0,105,0,116,0,115,0,32,0,108,0,105,0,99,0,101,0,110,0,115,0,111,0,114,0,115,0,44,0,32,0,97,0,110,0,100,0,32,0,109, +0,97,0,121,0,32,0,110,0,111,0,116,0,32,0,98,0,101,0,32,0,114,0,101,0,112,0,114,0,111,0,100,0,117,0,99,0,101,0,100,0,44,0,32,0,117,0,115,0,101,0,100,0,44,0,32,0,100,0,105,0,115,0,112,0,108,0,97,0,121,0,101,0,100,0,44,0,32,0,109,0,111,0,100,0,105,0,102, +0,105,0,101,0,100,0,44,0,32,0,100,0,105,0,115,0,99,0,108,0,111,0,115,0,101,0,100,0,32,0,111,0,114,0,32,0,116,0,114,0,97,0,110,0,115,0,102,0,101,0,114,0,114,0,101,0,100,0,32,0,119,0,105,0,116,0,104,0,111,0,117,0,116,0,32,0,116,0,104,0,101,0,32,0,101,0, +120,0,112,0,114,0,101,0,115,0,115,0,32,0,119,0,114,0,105,0,116,0,116,0,101,0,110,0,32,0,97,0,112,0,112,0,114,0,111,0,118,0,97,0,108,0,32,0,111,0,102,0,32,0,65,0,108,0,101,0,120,0,32,0,75,0,97,0,99,0,122,0,117,0,110,0,44,0,32,0,100,0,98,0,97,0,32,0,84, +0,121,0,112,0,101,0,32,0,73,0,110,0,110,0,111,0,118,0,97,0,116,0,105,0,111,0,110,0,115,0,46,0,32,0,116,0,121,0,112,0,101,0,105,0,110,0,110,0,111,0,118,0,97,0,116,0,105,0,111,0,110,0,115,0,46,0,99,0,111,0,109,0,0,0,0,0,0,3,0,0,0,3,0,0,1,34,0,1,0,0,0,0, +0,28,0,3,0,1,0,0,1,34,0,0,1,6,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70, +71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,0,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140, +141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,21,190,191,192,193,194,195,196,197,198,199,200,201,202, +203,204,205,242,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,0,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,0,4,2,82,0,0,0,88,0,64,0,5,0,24,0,126,0,163,0,255,1,49,1,66,1,83,1,97,1,120,1,126,1,146,2,199, +2,201,2,218,2,221,3,126,3,148,3,169,3,188,3,192,32,20,32,26,32,30,32,34,32,38,32,48,32,58,32,68,32,172,33,34,33,38,34,2,34,6,34,15,34,18,34,21,34,26,34,30,34,43,34,72,34,96,34,101,37,202,251,2,255,255,0,0,0,32,0,160,0,165,1,49,1,65,1,82,1,96,1,120,1, +125,1,146,2,198,2,201,2,216,2,219,3,126,3,148,3,169,3,188,3,192,32,19,32,24,32,28,32,32,32,38,32,48,32,57,32,68,32,172,33,34,33,38,34,2,34,6,34,15,34,17,34,21,34,25,34,30,34,43,34,72,34,96,34,100,37,202,251,1,255,255,255,245,0,0,0,0,255,182,254,193,255, +111,254,164,255,84,254,141,255,38,0,0,254,33,254,19,0,0,252,178,253,38,253,8,252,237,252,237,224,176,0,0,0,0,0,0,224,151,224,166,224,149,224,137,224,70,223,124,223,139,222,168,222,180,222,157,0,0,222,184,0,0,222,134,222,131,222,113,222,65,222,66,219, +0,5,207,0,1,0,0,0,86,0,92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,0,252,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,0,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,0,181,0,150,0,151,0,168,0,18,0,152,0,160,0,157, +0,175,0,187,0,182,0,34,0,156,0,234,0,149,0,165,0,17,0,16,0,159,0,169,0,154,0,211,0,238,0,14,0,176,0,188,0,13,0,12,0,15,0,180,0,190,0,217,0,215,0,191,0,116,0,117,0,162,0,118,0,219,0,119,0,216,0,218,0,223,0,220,0,221,0,222,0,243,0,120,0,227,0,224,0,225, +0,192,0,121,0,20,0,163,0,230,0,228,0,229,0,122,0,6,0,8,0,155,0,124,0,123,0,125,0,127,0,126,0,128,0,178,0,129,0,131,0,130,0,132,0,133,0,135,0,134,0,136,0,137,0,1,0,138,0,140,0,139,0,141,0,143,0,142,0,201,0,179,0,145,0,144,0,146,0,147,0,7,0,9,0,203,0,232, +0,241,0,240,0,233,0,239,0,199,0,200,0,212,0,197,0,198,0,213,0,148,0,210,0,153,0,171,0,19,0,211,0,183,0,3,0,0,0,0,0,0,255,123,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,4,2,0,1,1,1,17,67,111,110,116,97,120,80,114,111,53,53,83,109,67,97,112,0,1,1, +1,47,248,15,0,248,43,1,248,44,12,0,248,45,2,248,45,3,248,46,4,251,25,12,3,159,12,4,251,45,251,116,250,216,250,72,5,249,137,15,250,233,17,179,28,41,52,18,0,20,2,0,1,0,9,0,17,0,26,0,38,0,49,0,58,0,65,0,67,0,75,0,80,0,87,0,98,0,103,0,110,0,115,0,119,0,194, +2,97,2,117,2,123,110,111,116,101,113,117,97,108,105,110,102,105,110,105,116,121,108,101,115,115,101,113,117,97,108,103,114,101,97,116,101,114,101,113,117,97,108,112,97,114,116,105,97,108,100,105,102,102,115,117,109,109,97,116,105,111,110,112,114,111, +100,117,99,116,112,105,105,110,116,101,103,114,97,108,79,109,101,103,97,114,97,100,105,99,97,108,97,112,112,114,111,120,101,113,117,97,108,68,101,108,116,97,108,111,122,101,110,103,101,97,112,112,108,101,69,117,114,111,67,111,112,121,114,105,103,104, +116,32,40,99,41,32,65,108,101,120,32,75,97,99,122,117,110,44,32,100,98,97,32,84,121,112,101,32,73,110,110,111,118,97,116,105,111,110,115,44,32,49,57,57,55,46,32,65,108,108,32,114,105,103,104,116,115,32,114,101,115,101,114,118,101,100,46,84,104,101,32, +100,105,103,105,116,97,108,108,121,32,101,110,99,111,100,101,100,32,109,97,99,104,105,110,101,32,114,101,97,100,97,98,108,101,32,115,111,102,116,119,97,114,101,32,102,111,114,32,112,114,111,100,117,99,105,110,103,32,32,32,116,104,101,32,84,121,112,101, +102,97,99,101,115,32,108,105,99,101,110,115,101,100,32,116,111,32,121,111,117,32,105,115,32,99,111,112,121,114,105,103,104,116,101,100,32,40,99,41,32,49,57,57,55,32,65,108,101,120,32,75,97,99,122,117,110,44,32,100,98,97,32,84,121,112,101,32,73,110,110, +111,118,97,116,105,111,110,115,46,32,65,108,108,32,82,105,103,104,116,115,32,82,101,115,101,114,118,101,100,46,32,84,104,105,115,32,115,111,102,116,119,97,114,101,32,105,115,32,116,104,101,32,112,114,111,112,101,114,116,121,32,111,102,32,65,108,101,120, +32,75,97,99,122,117,110,44,32,100,98,97,32,84,121,112,101,32,73,110,110,111,118,97,116,105,111,110,115,44,32,97,110,100,32,105,116,115,32,108,105,99,101,110,115,111,114,115,44,32,97,110,100,32,109,97,121,32,110,111,116,32,98,101,32,114,101,112,114,111, +100,117,99,101,100,44,32,117,115,101,100,44,32,100,105,115,112,108,97,121,101,100,44,32,109,111,100,105,102,105,101,100,44,32,100,105,115,99,108,111,115,101,100,32,111,114,32,116,114,97,110,115,102,101,114,114,101,100,32,119,105,116,104,111,117,116,32, +116,104,101,32,101,120,112,114,101,115,115,32,119,114,105,116,116,101,110,32,97,112,112,114,111,118,97,108,32,111,102,32,65,108,101,120,32,75,97,99,122,117,110,44,32,100,98,97,32,84,121,112,101,32,73,110,110,111,118,97,116,105,111,110,115,46,32,67,111, +110,116,97,120,32,80,114,111,32,53,53,32,83,109,32,67,97,112,78,111,114,109,97,108,0,0,1,0,167,0,0,140,0,0,146,0,0,192,0,0,221,0,0,197,0,0,226,0,0,157,0,0,162,0,0,199,0,0,228,0,0,155,0,0,158,0,0,150,0,0,163,0,0,169,0,0,164,0,0,160,0,0,166,0,0,168,0,0, +1,6,0,104,0,0,9,55,0,124,0,0,66,29,0,173,0,0,175,0,0,177,1,0,186,0,0,189,0,0,195,0,0,200,0,0,203,0,0,201,1,0,205,0,0,204,0,0,206,1,0,210,0,0,208,1,0,211,0,0,214,0,0,212,1,0,215,1,0,219,0,0,217,1,0,220,0,0,222,0,0,225,0,0,223,1,0,112,0,0,161,0,0,97,1, +0,102,0,0,116,0,0,115,0,0,149,0,0,165,0,0,170,0,0,153,0,0,125,0,0,131,0,1,135,0,0,138,0,0,141,0,1,136,0,0,156,0,1,137,1,0,100,0,0,152,0,1,139,4,0,139,0,0,143,0,1,144,0,0,144,0,0,147,0,0,123,0,0,96,0,0,151,0,1,145,0,0,101,0,1,146,1,0,106,0,0,120,1,0,174, +0,0,176,0,0,191,0,0,142,0,0,148,0,0,111,0,0,137,0,0,105,0,0,119,0,0,65,0,0,8,0,0,159,0,1,148,0,0,227,0,0,198,0,0,99,0,0,107,3,0,113,1,0,117,1,0,122,0,0,172,0,0,179,0,0,171,0,0,180,5,0,187,1,1,149,0,0,190,0,0,193,1,0,196,0,0,145,0,0,126,4,0,132,4,1,150, +0,0,154,0,0,244,2,0,1,0,4,0,34,0,92,0,148,0,170,0,193,0,206,0,224,1,9,1,47,1,64,1,81,1,125,1,164,1,185,1,237,2,9,2,30,2,63,2,75,2,126,2,129,2,163,2,182,3,0,3,136,3,155,4,37,4,50,4,100,4,154,4,209,4,242,5,0,5,17,5,26,5,43,5,114,5,145,5,210,6,57,6,116, +6,198,7,33,7,60,7,184,8,19,8,33,8,47,8,72,8,93,8,119,8,200,9,134,9,141,9,251,10,13,10,29,10,39,10,72,10,155,10,194,10,203,10,249,11,32,11,52,11,102,11,108,11,113,11,148,11,202,12,6,12,21,12,50,12,59,12,90,12,140,12,190,12,198,12,207,12,240,13,2,13,33, +13,67,13,83,13,91,13,98,13,204,13,223,13,238,13,249,14,5,14,91,14,129,14,131,14,181,14,215,14,228,15,22,15,32,15,38,15,71,15,126,15,187,15,203,15,232,15,240,16,15,16,63,16,114,16,125,16,134,16,234,17,2,17,101,17,132,17,151,17,171,17,212,17,220,17,232, +17,250,18,12,18,20,18,27,18,35,18,54,18,68,18,88,18,119,18,127,18,135,18,143,18,175,18,183,18,191,18,205,18,227,18,244,18,251,19,2,19,9,19,28,19,43,19,50,19,58,19,65,19,91,19,127,19,183,20,20,20,120,21,27,21,58,21,145,21,174,22,33,22,174,22,242,22,250, +23,6,23,88,23,133,23,245,24,99,24,138,24,169,24,200,25,8,25,74,25,164,25,230,26,23,26,60,26,128,26,237,27,52,27,144,27,207,28,71,28,151,28,186,28,214,29,1,29,107,29,155,29,191,29,205,29,220,29,254,30,5,30,17,30,29,30,120,30,216,30,232,30,249,31,15,31, +24,31,35,31,46,31,82,31,127,31,148,31,166,31,184,31,194,31,205,31,225,31,245,32,42,32,53,32,65,32,75,32,105,32,113,32,121,32,129,32,155,32,163,32,171,32,185,32,203,32,211,32,219,32,227,33,63,33,71,33,79,33,87,33,95,33,97,33,105,33,119,33,134,33,178,33, +191,33,206,33,241,34,14,34,69,34,80,34,212,34,243,251,155,14,197,139,211,247,66,211,247,48,122,10,251,120,53,67,225,251,138,126,10,247,66,247,43,211,251,43,247,48,162,10,128,139,211,248,230,119,18,155,247,72,59,219,19,224,248,164,22,211,251,224,247,136, +7,247,67,247,6,5,219,7,251,67,251,6,5,247,162,196,10,59,251,214,6,19,224,39,74,5,59,196,10,239,204,5,251,156,7,14,50,139,211,248,110,119,18,155,247,58,59,219,19,224,248,67,22,211,251,141,247,75,7,247,43,237,5,219,7,251,43,41,5,247,103,196,10,59,251,155, +6,19,224,53,83,5,59,196,10,225,195,5,251,95,7,14,156,139,10,216,247,123,119,194,10,19,236,71,10,19,244,128,10,67,249,94,75,10,72,111,10,247,144,119,18,184,153,10,19,236,59,10,19,244,74,10,102,249,25,75,10,142,146,10,247,174,100,10,247,24,248,229,61,10, +57,160,118,249,208,119,1,247,87,220,76,10,247,1,248,183,61,10,152,160,118,247,36,210,247,132,211,247,31,177,10,247,149,219,3,248,153,247,227,21,247,2,54,221,251,13,30,251,23,247,31,59,253,46,219,247,36,106,10,77,160,118,247,8,212,247,68,211,247,1,178, +10,247,91,220,3,248,82,247,168,21,231,66,208,38,30,33,247,1,59,252,182,219,247,8,115,10,150,139,211,248,158,211,247,132,119,123,10,248,49,250,30,75,10,64,139,211,248,38,211,247,152,119,125,10,247,125,249,114,75,10,247,113,139,193,98,118,247,247,195,247, +163,119,18,247,35,201,248,80,203,19,188,249,93,22,83,10,247,43,249,54,21,76,6,19,124,143,10,157,247,172,21,113,10,14,188,10,248,148,119,18,247,35,201,248,16,201,19,124,249,93,132,10,74,248,202,21,76,6,19,188,143,10,247,172,4,113,10,248,78,251,2,190,10, +251,109,247,185,118,248,38,119,1,247,35,201,3,247,97,247,164,21,113,10,14,188,10,243,160,10,247,165,201,19,126,128,249,114,132,10,98,248,202,21,76,6,19,189,128,143,10,222,248,36,21,182,115,172,98,158,30,19,126,128,94,10,19,125,128,112,10,247,165,251, +122,190,10,251,59,247,158,160,10,19,232,247,225,248,28,21,182,115,172,98,158,30,19,240,94,10,19,232,112,10,14,251,59,247,163,193,247,185,195,1,247,156,203,3,247,220,247,163,21,83,10,14,251,223,85,118,249,130,119,1,216,207,3,247,37,248,61,21,247,142,71, +251,142,7,207,252,136,21,247,142,71,251,142,7,14,186,247,135,207,1,248,188,247,135,117,10,14,186,208,118,248,94,119,1,248,166,235,21,251,73,247,74,247,72,247,72,91,187,251,72,251,72,251,73,247,72,91,91,247,73,251,72,251,74,251,74,187,91,247,74,247,74, +247,73,251,74,5,14,251,155,14,251,155,131,247,2,248,234,119,18,148,10,44,219,19,208,247,77,247,80,21,248,148,59,252,148,7,19,224,234,251,33,21,41,10,251,19,187,10,219,207,3,247,213,248,93,21,176,10,59,22,176,10,14,168,160,118,247,51,196,247,19,196,247, +38,119,1,248,180,247,235,21,196,251,1,7,172,10,251,21,6,172,10,251,9,82,247,1,6,119,251,19,5,251,10,82,247,1,167,10,247,21,167,10,247,9,196,251,1,6,159,247,19,5,79,22,119,251,19,5,251,22,6,159,247,19,5,14,168,55,118,249,80,119,18,226,220,78,219,215,203, +218,219,19,220,248,122,247,38,21,212,103,187,251,15,168,30,247,29,7,176,129,167,114,148,100,219,155,24,126,210,87,191,50,149,8,226,75,52,7,49,128,73,80,64,26,76,173,93,247,14,113,30,251,54,7,19,236,86,148,100,170,136,194,58,122,24,146,56,206,78,241,132, +8,41,203,239,7,234,152,203,198,218,26,251,115,247,57,21,19,220,87,153,115,155,166,26,171,169,168,185,146,30,247,35,251,182,21,101,108,108,91,129,30,247,38,7,193,124,164,119,107,26,14,247,113,133,10,3,249,114,247,45,21,78,10,247,195,251,252,21,91,10,247, +101,129,207,102,118,248,16,210,247,40,214,18,217,219,112,219,19,180,249,88,248,16,21,210,251,194,68,229,7,175,85,146,51,105,84,251,102,247,110,24,87,193,107,167,177,26,181,172,175,199,178,169,125,119,158,30,186,202,5,173,104,86,151,90,27,38,69,70,61, +71,183,93,172,106,31,19,184,78,110,70,63,51,26,61,204,251,11,247,66,221,202,176,186,181,30,19,120,209,65,5,246,6,251,20,247,25,194,227,136,242,106,195,25,251,5,251,152,21,19,184,112,113,90,104,76,27,42,73,211,205,197,178,188,196,169,31,14,251,167,187, +10,3,247,65,248,93,21,176,10,14,183,10,223,217,3,247,196,251,57,21,44,247,28,92,247,32,247,33,26,247,33,186,247,30,234,247,28,30,78,177,5,55,251,0,64,251,48,251,81,26,251,81,214,251,50,223,251,0,30,14,183,10,247,70,217,3,247,148,247,144,21,247,81,64, +247,48,55,247,0,30,78,101,5,234,251,28,186,251,30,251,33,26,251,33,92,251,32,44,251,28,30,200,101,5,223,247,0,214,247,50,247,81,26,14,168,248,22,118,247,235,119,1,247,148,209,3,248,107,248,184,21,114,217,251,18,84,151,247,29,5,57,6,151,251,28,251,18, +192,114,61,247,25,109,50,35,205,91,209,247,10,210,251,9,205,187,49,242,5,14,186,184,118,247,111,207,247,111,191,10,247,135,21,207,251,110,247,111,71,251,111,251,110,71,247,110,251,111,207,247,111,7,14,251,155,251,26,118,247,136,119,1,247,94,228,161,10, +251,100,247,132,210,1,247,189,247,132,21,210,251,141,68,7,14,251,155,129,129,10,184,21,41,10,193,10,247,252,249,119,21,69,159,251,144,253,212,209,119,5,14,200,131,215,248,2,215,1,187,219,247,250,219,3,248,202,247,143,21,247,35,251,8,247,8,251,35,251, +35,251,8,251,8,251,35,251,35,247,8,251,8,247,35,247,35,247,8,247,8,247,35,30,59,22,37,61,58,38,38,61,220,241,241,217,220,240,240,217,58,37,30,14,168,160,118,248,146,119,1,247,184,219,3,248,8,22,248,146,89,7,251,86,62,166,73,247,29,195,5,252,59,7,14,168, +139,211,248,0,213,1,248,33,218,3,248,115,22,211,251,119,7,247,19,245,5,210,198,165,180,215,26,177,105,247,10,251,49,50,72,102,63,98,30,202,102,5,192,169,188,162,192,27,231,161,86,111,91,125,109,71,82,31,251,154,251,112,5,14,168,251,64,213,247,149,211, +247,97,213,18,248,23,219,83,219,19,232,248,127,173,21,216,96,197,63,166,30,19,240,202,167,171,185,201,26,240,54,216,251,11,61,80,108,81,96,30,206,98,5,179,168,181,155,185,27,204,194,99,75,70,91,107,251,4,31,84,67,224,6,19,232,221,211,87,64,68,73,80,59, +80,83,165,181,113,31,72,98,5,76,181,211,101,226,27,247,22,242,229,247,8,31,14,168,251,38,118,247,59,210,88,118,248,158,119,18,247,246,219,19,184,248,174,138,21,19,216,211,35,248,86,7,252,69,252,157,5,247,245,251,59,219,6,19,184,247,58,7,19,216,59,211, +21,251,97,6,247,97,247,139,5,14,168,251,64,215,247,205,215,247,29,211,1,247,5,215,247,130,219,3,248,143,200,21,247,32,39,231,251,32,108,110,135,133,121,30,247,39,247,161,211,251,237,251,225,7,173,185,191,153,187,27,240,206,83,39,41,61,80,43,92,95,152, +178,97,31,83,84,5,88,190,198,117,211,27,247,38,247,7,232,247,32,31,14,168,131,215,247,218,213,247,112,119,1,187,219,247,219,219,3,248,171,247,126,21,247,20,38,245,251,14,106,111,134,124,107,30,156,162,247,4,247,13,223,187,74,187,24,39,62,251,111,251, +87,251,73,26,251,25,247,3,251,2,247,26,247,22,247,4,247,3,247,23,30,59,136,21,49,65,66,49,49,66,212,229,229,212,212,229,229,213,66,49,30,14,168,251,35,118,248,230,211,1,248,177,248,138,21,252,93,67,247,225,6,251,185,252,230,5,224,6,14,168,131,215,247, +141,215,247,97,215,18,197,219,84,219,247,148,219,84,219,19,242,248,160,247,82,21,217,93,202,58,166,30,19,236,204,163,176,191,205,26,237,47,215,251,8,251,7,46,63,41,73,176,87,204,115,30,19,242,58,112,93,76,61,26,251,4,240,53,247,24,247,24,240,225,247, +4,30,19,236,34,247,198,21,83,89,92,61,59,91,186,195,195,188,185,218,218,188,93,83,30,19,242,164,251,197,21,72,78,83,47,47,78,195,206,209,199,195,232,232,199,83,69,30,14,168,251,57,118,247,112,213,247,218,215,1,186,219,247,219,219,3,248,170,247,159,21, +247,25,251,3,247,2,251,26,251,22,251,4,251,3,251,23,251,20,240,33,247,14,172,167,144,154,171,30,122,116,251,4,251,13,55,91,204,91,24,239,216,247,111,247,87,247,73,26,59,143,21,49,66,66,49,49,65,212,229,229,213,212,229,229,212,66,49,30,14,251,155,129, +247,2,247,74,110,10,251,184,4,41,10,251,155,251,26,118,248,73,110,10,141,251,140,161,10,182,10,155,21,207,7,252,61,247,85,248,61,247,85,5,207,7,252,144,251,122,5,77,7,14,186,247,34,207,247,26,207,1,248,188,247,236,117,10,248,140,251,94,117,10,14,182, +10,247,138,21,201,7,252,144,247,122,5,71,7,248,61,251,85,252,61,251,85,5,71,7,14,50,131,247,4,248,156,215,18,247,30,247,4,42,219,238,219,19,216,248,48,248,172,21,243,41,199,41,49,81,99,77,108,30,211,104,5,181,160,172,158,193,27,198,195,101,87,82,106, +108,94,103,31,57,73,120,87,35,26,219,6,225,158,180,211,195,30,209,193,157,191,198,26,19,232,251,54,252,124,138,10,14,248,83,92,196,247,22,194,84,201,247,180,189,247,12,196,18,242,207,247,29,219,248,79,205,19,191,250,21,248,45,21,247,75,251,39,247,17, +251,112,251,124,251,87,251,69,251,115,251,119,247,59,251,29,247,128,247,33,247,17,198,188,196,30,107,183,5,81,61,46,102,251,0,27,251,103,251,28,247,4,247,84,247,95,247,60,247,35,247,92,247,70,247,6,41,251,42,251,18,69,55,65,114,120,151,168,157,145,160, +147,167,31,204,247,106,5,67,6,119,69,5,184,126,98,180,72,27,41,36,251,5,251,23,47,194,75,219,197,194,167,213,173,31,83,129,164,93,215,27,247,5,242,247,13,247,40,31,251,186,141,21,138,98,127,92,115,88,8,19,223,88,114,105,113,95,27,96,107,174,202,227,202, +247,1,213,188,168,99,100,31,14,152,10,248,37,52,10,14,202,139,211,247,128,211,247,106,211,18,239,219,247,157,219,78,219,19,244,248,180,247,82,21,216,98,195,70,165,30,19,248,194,159,175,193,204,26,204,102,247,5,251,48,30,251,124,253,46,247,124,6,19,244, +247,58,185,247,5,216,31,19,248,40,247,189,21,67,93,104,42,30,251,14,247,106,247,14,6,236,185,104,67,31,19,244,158,251,189,21,88,111,72,251,7,30,251,33,247,128,247,33,6,247,7,167,72,88,31,14,238,139,10,215,171,10,3,79,10,86,10,216,205,158,189,204,31,14, +247,41,139,211,248,158,121,10,253,46,119,10,248,158,149,10,156,105,10,1,239,219,3,68,10,14,140,160,118,247,193,211,247,113,179,10,3,248,128,248,230,21,211,252,28,253,46,219,247,193,247,192,211,251,192,247,113,7,14,247,109,131,215,247,123,211,247,119, +215,171,10,248,139,220,3,249,97,247,222,21,180,251,214,67,247,133,7,251,18,37,34,251,33,251,38,251,6,247,9,247,40,247,40,247,7,247,9,247,37,217,205,107,75,197,30,199,189,5,218,74,46,182,35,27,173,10,247,44,251,45,247,81,247,87,247,21,247,47,247,75,31, +14,247,39,160,118,247,199,211,247,179,177,10,247,232,219,3,248,236,22,249,46,59,251,179,251,232,247,179,59,253,46,219,247,199,247,232,251,199,7,14,251,145,160,118,249,46,92,10,14,82,156,10,1,247,212,219,3,248,36,247,121,21,248,73,59,252,73,7,41,80,76, +54,92,101,158,181,107,30,81,89,5,79,185,196,112,211,27,247,25,230,234,247,34,31,14,236,146,10,1,239,219,3,249,17,22,251,240,247,229,247,206,247,221,5,34,6,251,210,251,225,247,236,251,225,5,251,236,22,249,46,59,199,10,14,112,139,211,248,230,177,10,3,248, +148,22,211,251,224,248,230,59,199,10,14,247,241,138,118,182,118,249,68,119,1,250,3,22,251,120,249,68,251,92,252,141,251,92,248,141,251,120,253,68,5,223,6,247,43,248,102,247,85,252,124,247,85,248,124,247,43,252,102,5,14,189,10,181,109,10,14,114,10,37, +10,14,152,160,118,247,175,210,247,132,179,10,247,149,219,3,248,153,248,110,21,247,2,53,221,251,12,30,251,103,253,46,219,247,175,106,10,247,125,251,37,118,247,50,169,10,215,171,10,248,156,220,3,249,117,38,21,251,111,247,8,5,247,0,180,247,0,247,8,247,53, +26,56,10,145,150,140,139,30,247,180,251,51,5,94,248,135,21,49,10,14,198,160,118,247,178,199,247,140,179,10,247,164,219,3,248,235,22,251,133,247,178,5,238,214,220,242,247,2,60,225,251,28,31,251,109,253,46,219,248,230,247,22,6,223,197,90,64,64,81,90,55, +31,39,6,247,180,251,238,5,14,156,139,10,216,194,10,19,216,71,10,19,232,128,10,14,96,160,118,248,230,211,1,247,107,219,3,248,122,248,230,21,211,252,98,67,247,83,252,230,219,248,230,7,14,247,55,131,215,248,234,53,10,14,226,138,118,249,68,119,1,249,20,249, +46,21,51,6,251,124,252,142,251,124,248,142,5,51,6,247,212,253,68,5,14,247,241,138,118,249,68,119,181,119,1,250,3,249,46,21,55,6,251,43,252,102,251,85,248,124,251,85,252,124,251,43,248,102,5,55,6,247,120,253,68,247,92,248,141,247,92,252,141,5,14,178,146, +10,1,248,220,22,251,132,247,238,247,114,247,212,5,41,6,251,65,251,140,251,65,247,140,5,41,6,247,114,251,212,251,132,251,238,5,237,6,247,83,247,168,247,83,251,168,5,14,142,160,118,249,46,100,10,14,150,139,211,248,158,211,123,10,14,184,10,247,9,214,64, +247,59,19,208,247,176,251,77,21,205,7,19,224,47,249,120,6,19,208,231,205,251,59,253,252,6,14,193,10,247,226,66,21,251,144,249,212,69,119,247,144,253,212,5,14,184,10,195,247,59,64,214,19,224,247,115,251,77,21,249,252,251,59,73,196,10,231,253,120,6,19, +224,47,73,6,14,186,248,36,118,247,238,119,1,248,148,248,15,21,251,104,247,238,251,104,251,238,5,216,6,247,27,247,113,247,27,251,113,5,14,86,251,40,212,1,248,136,251,40,21,212,252,136,66,7,14,163,10,247,127,249,2,60,10,155,10,247,231,51,10,14,137,139, +211,247,65,211,247,49,211,18,225,219,247,118,220,72,221,19,244,248,124,247,51,21,198,108,183,84,163,30,19,248,183,157,166,182,189,26,193,105,234,251,22,30,251,115,252,182,247,115,6,19,244,247,30,180,233,204,31,19,248,43,247,129,21,86,103,113,68,30,251, +11,247,49,247,11,6,210,175,114,86,31,19,244,153,251,129,21,101,118,90,55,30,251,27,247,65,247,27,6,223,160,91,101,31,14,135,111,10,1,187,220,3,84,10,251,47,247,17,251,18,247,48,195,10,197,139,211,248,38,122,10,252,182,126,10,248,38,162,10,89,139,211, +247,60,164,10,3,67,10,14,76,160,118,247,132,164,10,3,248,71,93,10,231,131,215,247,63,211,247,59,215,1,187,220,248,22,221,3,248,233,247,163,21,179,251,166,67,247,84,7,45,136,61,62,34,27,251,4,51,230,247,6,247,6,228,230,247,3,199,190,114,85,188,31,199, +188,5,209,81,62,175,54,27,251,47,251,18,251,19,251,46,251,46,247,16,251,19,247,49,247,53,246,247,21,247,42,31,14,194,160,118,247,137,211,247,121,178,10,247,168,219,3,248,158,22,248,182,59,251,121,251,168,247,121,59,252,182,219,247,137,247,168,251,137, +7,14,130,10,251,14,131,215,248,114,119,1,247,160,219,3,247,240,247,85,21,247,245,59,251,245,7,63,94,90,73,102,110,154,178,111,30,80,88,5,83,182,188,116,200,27,247,5,217,220,247,12,31,14,158,157,10,178,10,3,248,191,22,251,177,247,168,247,150,247,162,5, +36,6,251,151,251,165,247,172,251,165,5,251,172,98,10,14,34,139,211,248,110,178,10,3,248,51,174,10,14,247,86,131,118,189,118,248,210,119,1,249,105,22,251,84,248,210,251,52,252,36,251,51,248,36,251,84,252,210,5,221,6,247,9,247,249,247,44,252,22,247,45, +248,22,247,8,251,249,5,14,216,131,118,189,118,248,210,108,10,14,244,111,10,38,10,14,77,160,118,247,117,212,247,68,158,10,247,91,220,3,248,82,248,21,21,231,66,208,38,30,251,78,252,182,219,247,117,115,10,244,251,7,118,247,20,131,10,1,187,220,248,37,220, +3,248,250,68,21,251,60,228,5,227,176,216,236,247,13,26,63,10,247,17,251,18,247,48,144,146,140,139,30,247,126,251,21,5,94,248,45,21,54,10,14,138,160,118,247,124,198,247,75,158,10,247,123,220,3,248,174,22,251,87,247,124,5,214,142,199,205,220,26,231,72, +211,251,6,30,251,103,252,182,219,248,110,247,18,6,201,182,103,83,84,96,103,77,31,47,6,247,130,251,183,5,14,72,111,10,18,184,153,10,19,216,59,10,19,232,74,10,14,41,160,118,248,110,211,1,247,80,219,3,248,67,248,110,21,211,252,42,67,247,55,252,110,219,248, +110,7,14,205,131,215,248,114,55,10,14,124,131,118,248,211,119,1,248,173,248,182,21,51,6,251,72,252,29,251,72,248,29,5,52,6,247,159,252,211,5,14,247,124,131,118,248,239,119,1,249,174,248,182,21,54,6,251,34,252,8,251,59,248,36,251,59,252,36,251,34,248, +8,5,54,6,247,111,252,211,247,67,248,54,247,67,252,54,5,14,86,157,10,119,1,248,130,22,251,88,247,176,247,74,247,154,5,42,6,251,26,251,84,251,26,247,84,5,42,6,247,74,251,154,251,88,251,176,5,236,6,247,40,247,106,247,40,251,106,5,14,57,157,10,119,1,247, +87,220,76,10,14,64,139,211,248,38,211,125,10,14,251,105,251,77,196,249,138,196,18,247,16,214,64,247,58,19,208,247,182,251,76,21,195,7,19,224,56,131,153,225,31,247,51,7,202,118,170,94,164,30,185,164,159,166,204,26,247,57,196,10,223,147,152,222,140,30, +195,7,140,128,134,139,132,27,38,97,98,42,31,251,69,7,79,125,116,81,128,30,83,7,197,129,153,114,80,26,251,58,7,33,179,98,241,146,144,139,140,151,30,14,251,223,251,71,118,250,124,119,1,216,207,3,247,37,251,92,21,250,124,71,254,124,7,14,251,105,251,72,196, +249,138,196,18,189,247,58,64,214,19,224,247,180,247,119,21,195,7,81,150,125,162,199,26,247,69,7,236,97,180,38,132,134,139,138,128,30,83,196,10,222,138,147,126,55,26,251,57,7,74,159,112,185,114,30,94,114,118,108,76,26,251,51,7,19,224,53,131,125,56,30, +83,7,138,151,144,139,146,27,241,179,180,245,31,247,58,7,198,153,164,197,149,30,14,186,247,97,207,90,118,213,207,145,119,18,19,144,248,182,247,213,21,151,10,27,19,96,137,10,27,19,160,134,10,14,152,10,248,92,141,10,247,57,118,10,3,42,10,247,47,247,184, +33,10,152,10,248,65,166,10,1,247,96,166,10,3,42,10,247,8,247,218,70,10,238,192,10,248,166,215,18,191,220,247,154,215,19,220,79,10,251,61,247,14,251,32,247,53,112,31,97,41,99,10,139,144,139,142,216,205,158,189,204,30,14,69,10,247,206,250,13,61,10,189, +10,247,95,109,10,247,232,247,245,39,10,114,10,208,247,2,171,10,244,118,10,244,34,10,34,248,101,33,10,142,10,236,141,10,235,219,166,118,10,166,45,10,32,248,166,33,10,65,10,247,23,248,32,61,10,65,10,240,247,121,60,10,65,10,247,40,247,121,47,10,155,10,248, +44,141,10,247,8,118,10,3,43,10,247,49,247,197,33,10,155,10,248,77,119,232,51,10,247,42,247,239,39,10,155,10,248,23,166,10,1,247,42,166,10,3,43,10,247,5,247,237,70,10,135,192,10,248,46,215,18,187,220,247,102,215,19,220,84,10,251,30,238,251,7,247,24,115, +31,97,42,99,10,195,10,64,10,247,197,249,169,61,10,64,10,247,167,249,2,60,10,64,10,247,214,249,2,47,10,89,139,211,247,60,211,247,54,211,236,247,2,18,225,219,80,118,10,19,250,67,10,247,223,249,78,35,10,19,246,40,10,127,10,247,62,249,169,61,10,127,10,247, +32,249,2,60,10,251,177,160,118,249,208,81,10,247,79,249,2,47,10,251,177,160,118,168,10,119,247,2,143,219,145,247,2,90,10,247,88,249,78,33,10,216,131,118,189,118,249,56,119,232,108,10,247,194,247,255,39,10,46,10,67,248,152,61,10,46,10,37,247,241,60,10, +46,10,84,247,241,47,10,244,111,10,228,141,10,187,220,184,118,10,185,36,10,93,248,61,33,10,244,111,10,247,14,119,232,119,38,10,86,248,103,39,10,62,10,41,248,203,61,10,62,10,251,20,248,36,60,10,62,10,58,248,36,47,10,205,131,215,248,211,247,2,18,222,219, +130,118,10,131,219,19,228,50,10,19,216,67,248,112,33,10,168,251,35,118,248,198,210,247,123,175,10,248,167,248,34,21,210,251,92,247,123,59,251,123,251,92,68,247,92,252,198,219,248,198,7,14,86,248,46,204,247,60,204,1,240,204,247,60,204,3,248,35,248,195, +21,221,72,206,57,57,72,72,57,57,206,72,221,221,206,206,221,30,74,22,93,101,101,93,93,101,177,185,185,177,177,185,185,177,101,93,30,14,168,55,118,249,80,119,1,205,219,247,25,203,3,248,143,206,21,82,193,106,108,105,122,99,135,25,248,0,7,180,135,173,121, +171,108,196,194,24,92,184,84,165,77,142,8,225,75,50,7,251,14,118,48,33,251,20,26,251,19,231,32,247,13,118,30,38,203,237,7,201,142,196,164,184,185,8,251,120,146,21,62,159,83,211,224,26,226,194,209,217,159,30,14,168,139,211,247,116,209,247,124,215,18,247, +17,219,132,219,19,240,248,157,248,241,21,181,97,84,166,61,27,33,251,7,66,251,23,81,161,93,139,31,48,69,247,8,6,19,232,139,165,81,93,26,95,121,94,111,108,30,61,67,248,74,211,251,168,6,153,158,167,175,204,26,198,117,184,139,30,247,67,209,251,92,6,19,240, +139,113,189,193,26,196,186,210,233,183,186,118,112,166,30,14,168,251,98,213,249,146,213,18,193,219,119,219,247,101,219,103,219,19,212,248,163,247,106,21,232,57,193,58,183,30,56,184,52,175,202,26,196,187,167,191,201,183,90,86,30,216,157,5,239,127,77,197, +32,27,47,49,81,37,97,156,106,167,110,31,19,232,81,123,92,80,78,26,33,226,85,223,93,30,225,92,231,103,70,26,84,81,112,91,79,87,179,209,135,30,62,121,5,32,153,214,80,245,27,245,217,201,234,188,120,179,100,168,31,19,228,198,162,182,197,203,26,59,127,21, +95,106,107,101,123,30,93,168,93,159,93,165,8,90,167,84,176,201,26,180,174,175,176,152,30,185,111,184,115,184,114,8,185,114,198,97,83,26,14,86,247,83,118,247,224,119,1,248,52,247,228,21,231,64,213,47,48,64,64,48,48,214,64,230,231,214,213,231,30,14,168, +251,56,209,248,15,215,247,155,215,69,209,18,169,247,36,135,247,66,67,211,217,211,19,219,248,205,249,10,21,209,251,189,7,251,4,251,22,85,251,45,251,45,247,22,84,247,4,31,252,15,7,19,213,37,69,247,66,249,174,217,253,174,211,249,174,6,19,235,251,114,251, +161,21,77,141,103,197,211,26,211,175,196,201,141,30,14,248,55,111,10,18,184,153,10,244,153,10,19,221,59,10,19,235,74,10,248,122,22,48,10,19,237,74,10,14,182,247,190,185,247,139,184,189,186,18,217,188,222,188,90,247,79,211,189,19,246,248,155,248,151,21, +247,13,40,236,251,13,251,14,40,42,251,13,251,13,238,43,247,14,247,13,238,235,247,13,30,89,22,45,63,62,45,44,62,216,233,234,216,215,234,234,214,63,44,30,83,251,13,21,71,238,5,170,146,160,168,171,26,180,110,173,88,30,32,251,134,6,19,250,188,247,89,188, +6,163,155,128,118,119,123,128,115,31,94,6,231,251,26,5,14,247,125,131,200,223,196,247,167,196,226,200,1,191,200,234,200,248,40,200,3,249,114,247,225,21,247,80,251,45,247,45,251,80,173,10,247,45,251,45,247,80,247,80,247,45,247,45,247,80,30,78,22,251,46, +251,18,251,18,251,46,251,46,251,18,247,18,247,46,247,46,247,18,247,18,247,46,247,46,247,18,251,18,251,46,30,251,25,251,30,21,96,178,5,112,111,109,126,102,27,65,80,201,216,215,198,199,214,176,168,125,112,167,31,182,182,5,174,101,93,159,86,27,251,0,52, +54,251,0,251,0,226,51,247,0,192,185,157,179,177,31,14,247,193,247,222,118,247,228,194,161,119,1,247,42,199,3,249,177,247,223,21,251,22,248,27,39,251,146,37,247,146,251,20,252,27,5,202,6,210,247,113,235,251,135,234,247,134,211,251,112,5,252,35,247,206, +21,194,251,203,84,247,18,251,206,199,247,206,7,14,163,10,247,157,249,169,61,10,168,10,120,118,10,3,247,183,249,78,33,10,186,163,247,78,71,207,247,26,207,71,247,78,18,19,160,248,188,247,34,21,207,251,142,7,207,247,26,5,247,74,207,251,40,6,19,144,198,247, +10,5,67,6,19,160,80,251,10,5,251,176,71,247,142,6,71,251,26,5,251,74,6,19,96,71,247,40,7,19,160,80,251,10,5,211,6,19,96,198,247,10,5,14,247,203,105,10,1,248,45,219,3,249,166,147,10,252,64,7,252,23,253,46,5,226,6,247,67,247,193,5,247,68,251,193,6,248, +9,4,251,26,6,247,26,247,123,5,14,247,125,126,118,186,118,249,62,119,185,119,171,10,248,156,220,3,249,126,249,80,21,43,6,71,57,5,174,85,74,160,69,27,89,10,46,176,56,198,77,31,32,251,21,5,235,6,207,221,5,104,193,204,118,208,27,96,10,231,104,222,78,201, +31,154,251,129,21,88,10,88,91,154,163,99,30,247,226,248,39,5,180,92,163,78,70,26,251,13,247,117,21,251,225,252,38,5,97,185,115,201,208,26,87,10,190,187,124,114,179,30,14,247,5,247,72,200,247,82,200,1,137,198,248,187,199,3,249,48,247,230,21,230,77,202, +48,69,84,105,64,82,30,212,82,80,175,74,27,48,76,74,48,47,202,75,229,207,193,171,216,199,31,67,196,201,102,204,27,229,200,203,233,31,79,135,21,83,103,102,84,90,96,167,206,85,30,211,197,174,162,190,27,195,176,100,81,31,251,206,141,21,73,87,94,110,90,27, +86,101,178,195,195,177,178,193,190,180,112,71,192,31,14,186,139,207,247,119,207,247,83,191,10,247,187,21,207,251,110,247,83,71,251,83,251,110,71,247,110,251,83,207,247,83,7,247,110,251,187,117,10,14,185,10,235,21,206,7,252,59,247,58,248,59,247,58,5,206, +7,252,140,251,94,5,77,7,248,140,251,190,117,10,14,185,10,247,190,21,201,7,252,140,247,94,5,72,7,248,59,251,58,252,59,251,58,5,72,7,248,140,43,117,10,14,168,160,118,247,44,196,226,196,247,205,175,10,248,188,249,46,21,47,6,251,61,251,175,251,61,247,175, +5,47,6,247,79,251,205,5,251,35,82,247,69,52,251,61,82,247,61,251,44,219,247,44,247,61,196,251,61,226,247,69,196,251,35,6,14,190,251,69,118,247,82,215,92,118,248,138,119,18,225,219,247,164,219,19,188,248,154,22,248,138,59,251,175,7,19,220,44,78,83,64, +60,82,195,234,30,247,175,59,253,80,219,247,152,7,89,171,181,119,201,27,197,185,159,189,171,31,19,188,77,7,14,168,131,202,247,226,202,247,148,119,1,199,209,247,207,209,3,248,151,247,165,21,247,143,251,20,247,49,251,123,166,30,118,86,247,28,122,247,27, +71,169,251,76,25,182,100,83,162,81,27,251,14,38,36,251,19,251,22,239,39,247,18,247,31,229,247,1,247,64,31,69,89,21,43,70,67,50,53,68,212,232,233,210,213,228,229,204,70,42,30,14,247,77,251,90,203,247,47,118,248,238,203,18,248,213,199,88,199,19,232,249, +26,251,90,21,247,90,79,251,26,252,78,7,247,147,248,20,251,144,247,244,5,19,240,248,66,251,27,199,247,91,252,214,85,6,247,152,251,255,251,152,252,28,5,84,7,14,247,77,251,90,191,249,140,191,1,247,17,206,247,246,206,3,249,82,251,90,21,191,50,249,140,228, +191,253,46,87,228,253,140,50,87,247,137,191,50,249,140,247,246,253,140,50,87,7,14,168,160,118,248,82,203,1,240,215,247,120,215,3,248,184,248,82,21,203,252,150,75,206,252,82,215,248,82,247,120,252,82,215,248,82,7,14,168,251,98,176,250,6,176,1,247,15,195, +221,200,221,195,20,56,248,96,248,243,21,241,108,180,70,69,110,82,65,30,253,101,7,93,127,118,110,103,134,162,233,30,83,6,251,5,168,98,210,209,168,196,213,30,249,101,7,185,151,160,168,174,145,116,56,30,14,251,31,247,147,191,189,190,247,102,195,1,202,201, +247,36,201,3,247,243,247,254,21,123,168,135,166,158,26,247,22,7,225,71,160,83,89,97,123,108,102,30,175,96,5,158,166,163,154,178,27,177,163,120,113,142,31,251,65,111,106,89,87,26,86,181,106,203,182,178,158,163,162,30,140,127,143,125,145,127,8,207,32,21, +191,251,192,87,7,247,108,247,141,21,76,91,106,97,112,112,149,163,174,169,164,247,6,160,30,14,251,31,247,147,191,189,199,247,88,199,1,188,201,247,84,201,3,248,1,248,151,21,227,69,209,51,51,69,69,51,51,209,69,227,227,209,209,227,30,131,251,152,21,191,251, +192,87,7,247,138,247,152,21,85,97,95,85,85,97,183,193,193,181,183,193,193,181,95,85,30,14,247,77,139,208,248,180,215,171,10,248,108,220,3,249,74,22,208,251,79,7,247,12,201,198,240,247,22,26,247,80,251,29,247,31,251,72,251,72,251,29,251,31,251,80,251, +22,198,38,247,12,77,30,251,79,70,247,167,204,6,251,17,206,78,234,247,19,26,247,42,238,247,1,247,29,247,25,242,251,1,251,42,251,19,78,44,251,17,72,30,74,7,14,247,91,139,211,247,39,212,87,211,247,54,211,18,247,240,219,19,184,249,63,22,211,251,147,186,10, +247,147,211,252,20,7,251,210,252,182,5,226,6,19,216,247,20,247,111,5,247,44,251,111,6,247,184,4,251,2,6,247,2,247,81,5,14,244,132,118,180,118,248,218,119,18,187,220,248,37,220,19,184,249,2,248,210,21,51,6,86,75,5,167,95,87,155,83,27,85,10,65,168,70,187, +89,31,49,251,0,5,228,6,193,203,5,19,120,111,183,191,123,195,27,97,10,214,109,207,91,190,31,136,251,86,21,251,7,50,49,251,4,102,104,149,157,109,30,247,148,247,202,5,168,103,157,93,88,26,40,247,69,21,251,148,251,201,5,110,174,122,185,190,26,247,7,228,229, +247,3,176,174,129,121,169,30,14,50,251,46,215,248,156,247,4,18,191,219,221,247,4,44,219,19,240,247,218,248,134,138,10,240,252,186,21,67,174,5,97,118,106,120,85,27,80,83,177,191,196,172,170,184,175,31,19,232,221,205,158,191,243,26,59,6,53,120,98,67,83, +30,69,85,121,87,80,26,35,237,79,237,229,197,179,201,170,30,14,251,155,251,25,118,248,234,247,2,18,148,10,44,219,19,224,247,92,248,135,35,10,19,208,124,253,33,21,248,148,59,252,148,7,14,186,247,46,118,247,103,207,1,248,120,207,3,248,188,247,25,21,247, +171,252,140,71,248,72,251,103,7,14,247,5,146,118,247,211,191,248,14,191,1,249,16,249,115,21,191,251,78,7,251,132,253,23,71,247,105,5,251,4,87,209,6,247,0,251,211,247,178,249,129,5,14,168,251,59,202,248,82,202,247,98,202,1,248,135,249,50,21,142,111,123, +140,120,27,85,101,125,108,111,31,117,115,126,103,127,76,120,38,24,251,5,76,241,6,84,251,193,5,251,9,118,120,111,80,27,128,130,139,142,123,31,128,77,5,136,162,148,138,160,27,195,176,153,171,165,31,163,168,153,174,152,212,199,247,218,24,247,32,202,251, +21,6,157,238,5,218,153,164,167,192,27,153,147,139,136,163,31,14,186,247,12,207,90,118,213,207,174,207,143,207,145,119,18,19,180,248,182,248,47,21,151,10,27,19,184,137,10,134,10,251,67,4,151,10,135,10,19,120,150,10,27,19,184,134,10,14,247,5,139,202,248, +239,119,1,249,42,22,251,177,249,46,5,51,6,251,177,253,46,5,248,195,202,21,252,96,6,247,122,248,172,5,14,168,154,10,248,148,234,95,10,251,65,180,95,10,14,168,154,10,248,177,247,164,102,10,135,247,110,102,10,14,248,83,129,141,10,247,4,247,2,247,115,247, +2,247,115,247,2,20,112,250,12,184,35,10,251,225,22,32,10,251,225,22,41,10,66,10,208,247,108,60,10,152,10,248,198,52,10,247,40,247,226,39,10,114,10,247,67,119,37,10,37,248,143,39,10,248,3,131,219,67,211,247,121,165,10,67,219,18,191,220,247,225,219,19, +182,249,223,147,10,251,125,7,19,174,69,74,147,61,27,251,88,251,41,251,44,251,81,251,81,247,41,251,44,247,88,31,19,118,217,204,147,209,27,251,36,213,21,136,120,121,136,115,27,251,47,251,9,247,5,247,44,247,44,247,9,247,5,247,47,163,157,136,136,158,31,14, +247,121,132,218,67,211,247,60,211,247,54,211,67,218,18,187,220,247,143,219,19,182,249,96,22,211,251,148,186,10,247,148,211,251,106,7,19,174,83,87,146,77,27,251,53,251,15,251,17,251,47,251,47,247,15,251,17,247,53,31,19,118,201,191,146,195,27,251,14,211, +21,137,126,126,137,124,27,251,13,50,228,247,8,247,8,228,228,247,13,154,152,137,137,152,31,14,86,247,134,206,1,248,136,247,134,21,206,252,136,72,7,14,248,83,247,134,206,1,250,124,247,134,21,206,254,124,72,7,14,32,144,10,248,25,248,60,21,251,4,247,168, +71,105,239,251,134,5,72,22,159,10,32,144,10,248,33,249,46,120,10,251,155,144,10,247,134,248,60,21,159,10,251,155,144,10,247,134,249,46,116,10,14,186,155,247,2,247,9,207,247,9,141,10,247,137,247,2,20,224,247,247,248,119,35,10,247,89,251,132,117,10,247, +199,251,64,21,41,10,247,5,145,118,249,76,119,1,248,219,247,225,21,251,144,247,240,251,144,251,240,247,144,251,240,5,247,72,247,240,21,251,72,251,141,251,72,247,141,247,72,247,141,5,14,57,160,118,168,10,220,247,2,143,220,144,247,2,76,10,247,7,248,92,33, +10,142,146,10,236,141,10,247,15,181,10,77,10,247,7,248,138,33,10,252,55,152,118,249,62,119,1,247,179,249,54,21,76,6,143,10,14,251,79,154,10,247,188,234,95,10,14,251,79,154,10,247,217,247,164,102,10,14,247,97,160,118,247,132,164,10,248,54,219,3,249,44, +98,10,251,41,93,10,248,21,139,211,247,60,164,10,248,46,219,3,250,29,174,10,251,33,93,10,168,251,35,118,248,77,210,247,2,211,247,62,175,10,248,167,247,169,21,210,251,92,247,2,247,92,211,251,92,247,62,59,251,62,251,92,67,247,92,251,2,251,92,68,247,92,252, +77,219,248,77,7,14,251,155,247,112,129,10,247,167,21,41,10,251,155,251,26,145,10,247,94,226,116,10,14,32,251,26,145,10,247,247,226,120,10,248,215,133,10,175,140,10,3,250,216,247,45,101,10,251,250,22,78,10,249,41,251,252,103,10,251,250,22,91,10,66,10, +247,38,247,108,47,10,69,10,247,234,249,102,47,10,66,10,247,21,248,19,61,10,156,105,10,216,247,2,18,239,219,100,118,10,19,250,68,10,247,243,249,178,35,10,19,246,40,10,69,10,247,187,249,102,60,10,124,10,247,61,250,13,61,10,251,145,146,10,247,174,92,10, +247,78,249,102,47,10,251,145,146,10,236,141,10,134,181,10,107,10,247,87,249,178,33,10,124,10,247,31,249,102,60,10,44,10,251,13,248,192,61,10,44,10,251,6,248,25,47,10,247,121,132,118,249,99,119,1,248,21,247,41,3,248,170,249,71,21,48,127,83,74,137,43,8, +219,213,217,234,134,31,247,54,252,159,21,77,165,101,195,206,26,195,162,178,197,183,30,187,104,91,162,77,79,103,107,100,111,99,169,83,27,251,3,63,50,251,22,251,28,239,251,90,233,31,174,169,169,203,198,153,111,184,27,195,201,210,247,15,190,31,14,44,10, +251,53,248,25,60,10,58,10,251,25,249,1,61,10,58,10,251,8,248,90,47,10,58,10,251,55,248,90,60,10,130,10,163,10,247,174,249,2,47,10,249,36,118,180,119,232,119,1,247,176,249,120,39,10,249,20,209,1,247,164,249,20,21,209,251,164,69,7,14,249,20,203,75,247, +31,18,19,64,247,174,249,159,21,79,6,19,128,93,133,108,110,90,27,19,64,90,108,168,185,133,31,79,6,60,205,79,219,215,209,199,218,30,14,168,10,220,247,2,3,247,83,249,78,21,41,10,249,2,166,10,1,159,166,10,3,247,144,249,118,70,10,251,116,183,139,218,247,1, +119,1,247,62,215,3,247,138,251,30,21,200,81,158,90,30,167,205,5,87,6,92,251,1,80,10,30,14,249,23,118,247,112,119,1,248,0,249,169,21,77,178,57,10,118,247,73,21,77,178,251,38,251,112,104,10,14,251,95,118,185,119,247,90,119,1,169,215,3,247,108,251,101,21, +128,176,5,136,130,120,136,128,27,110,108,154,183,168,155,174,207,194,31,81,6,81,109,95,88,86,26,83,190,105,198,165,174,147,146,154,30,14,249,1,118,197,10,247,174,249,186,75,10,168,131,215,247,63,196,226,196,247,50,215,1,248,185,200,21,91,200,5,102,95, +100,122,92,27,62,64,209,240,109,31,247,106,6,154,196,5,251,132,6,138,151,138,151,152,26,156,140,155,141,156,30,247,155,6,154,196,5,251,156,6,233,172,210,203,213,27,187,176,124,99,184,31,187,199,5,181,98,78,168,69,27,251,16,33,42,251,29,102,31,56,6,124, +82,5,226,6,137,123,138,122,122,26,126,140,127,140,127,30,60,6,124,82,5,242,6,251,35,172,247,0,35,247,21,27,203,193,158,189,193,31,14,247,41,139,211,247,127,211,247,107,121,10,251,179,39,67,239,251,199,119,10,247,127,247,67,211,251,67,247,107,149,10,117, +161,248,210,139,231,161,6,251,28,139,7,30,160,69,70,255,12,9,211,10,219,11,211,177,12,12,201,157,169,12,13,247,164,20,248,189,21,179,19,0,168,2,0,1,0,19,0,23,0,40,0,44,0,67,0,74,0,82,0,122,0,127,0,130,0,168,0,206,0,216,1,6,1,17,1,30,1,85,1,107,1,147, +1,152,1,157,1,166,1,186,1,197,1,210,1,217,1,224,1,232,1,245,1,251,2,3,2,16,2,39,2,47,2,55,2,78,2,101,2,114,2,152,2,216,2,234,2,252,3,18,3,34,3,65,3,95,3,118,3,171,3,198,3,205,3,214,4,8,4,51,4,60,4,69,4,78,4,87,4,96,4,102,4,111,4,120,4,140,4,179,4,200, +4,209,4,218,4,225,4,238,4,247,4,251,5,14,5,18,5,22,5,29,5,59,5,68,5,96,5,124,5,131,5,135,5,164,5,180,5,186,5,211,5,221,5,228,5,233,6,3,6,18,6,41,6,64,6,89,6,99,6,123,6,147,6,157,6,181,6,189,6,196,6,201,6,223,6,237,6,249,7,5,7,10,7,15,7,34,7,38,7,43,7, +47,7,52,7,60,7,65,7,71,7,75,7,92,7,96,7,109,7,118,7,127,7,134,7,141,7,148,7,155,7,161,7,166,7,170,7,182,7,195,7,206,7,217,7,223,7,229,7,234,7,239,7,251,8,0,8,4,8,8,8,12,8,23,8,34,8,44,8,51,8,58,8,62,8,66,8,70,8,74,8,84,8,94,8,104,8,114,8,124,8,134,8, +144,8,154,8,164,8,172,8,181,8,190,8,199,8,208,8,215,8,219,8,224,8,228,8,232,169,114,164,109,109,114,114,109,109,164,114,169,169,164,164,169,30,11,35,10,40,10,220,3,249,114,247,225,21,56,10,96,10,30,58,22,49,10,11,21,32,10,11,220,3,248,247,247,165,21, +63,10,247,18,251,18,247,48,97,10,30,58,22,54,10,11,171,10,248,156,34,10,11,1,187,220,248,37,36,10,11,21,85,148,5,111,138,124,125,121,110,92,181,94,27,93,102,99,74,137,31,194,130,5,170,141,156,149,154,170,178,98,186,27,187,176,176,207,142,31,14,251,92, +22,41,10,32,10,14,249,20,22,251,212,249,68,251,212,253,68,5,227,6,237,247,107,5,247,160,6,237,251,107,5,251,23,247,179,21,251,94,6,240,247,111,5,11,248,173,22,251,160,248,210,251,159,252,210,5,226,6,213,247,55,5,247,104,6,213,251,55,5,251,0,247,127,21, +251,37,6,212,247,50,5,11,114,10,139,187,247,98,119,37,10,11,219,3,249,0,247,160,21,248,34,59,252,28,7,251,18,63,59,33,33,63,219,247,18,30,248,28,59,252,34,7,251,63,247,12,34,247,34,247,34,247,12,244,247,63,30,11,244,111,10,139,207,247,98,119,38,10,11, +21,251,38,247,98,57,10,205,237,205,41,5,14,221,95,190,251,18,169,30,57,159,109,157,179,26,182,179,172,194,191,179,111,85,149,30,216,156,5,220,126,75,199,39,27,41,58,72,50,67,180,92,247,11,112,31,229,117,171,117,91,26,86,95,100,75,30,11,88,10,251,37,251, +7,247,8,247,41,87,10,247,37,247,7,251,8,251,41,30,11,248,172,247,114,21,247,216,59,251,212,7,44,76,76,55,56,76,202,234,30,247,212,59,251,216,7,251,33,243,50,247,14,247,15,243,228,247,33,30,11,119,1,43,10,11,119,1,42,10,11,119,1,235,219,248,0,45,10,11, +251,7,50,49,251,4,251,3,82,10,247,3,247,4,228,49,251,7,30,11,119,1,222,219,247,185,219,3,50,10,11,247,81,251,44,247,44,251,81,89,10,86,10,11,251,38,251,98,104,10,11,142,10,247,174,53,10,11,248,62,247,53,21,48,10,11,21,251,38,247,98,77,100,247,20,251, +59,5,14,21,77,178,57,10,14,205,131,215,249,140,55,10,11,247,47,251,18,247,18,251,48,85,10,251,47,11,89,139,211,139,247,60,139,211,139,247,54,139,211,139,215,247,98,178,10,3,67,10,11,124,160,118,249,208,51,10,11,226,160,118,250,52,52,10,11,248,71,22,211, +251,161,247,60,247,151,211,251,151,247,54,247,161,211,251,241,170,10,11,248,128,22,211,251,204,247,121,247,192,211,251,192,247,113,247,204,211,252,28,199,10,11,156,105,10,139,195,247,98,177,10,3,68,10,11,21,203,87,191,75,75,87,87,75,75,191,87,203,203, +191,191,203,30,83,22,106,112,112,106,106,112,166,172,172,166,166,172,172,166,112,106,30,14,248,138,247,84,21,238,87,199,251,43,176,30,251,2,166,101,166,191,26,199,193,183,214,208,194,101,76,150,30,217,156,5,228,125,63,211,251,12,27,251,10,44,60,32,54, +187,83,247,35,106,31,247,11,111,180,107,75,26,68,80,87,53,30,11,88,98,98,88,88,98,180,190,190,180,180,190,190,180,98,88,30,11,228,67,211,50,50,67,67,50,50,211,67,228,228,211,211,228,30,11,76,91,175,207,136,31,62,122,5,48,145,214,67,246,27,247,0,224,211, +236,31,11,21,59,6,73,41,73,237,5,59,6,247,38,251,98,5,14,3,248,117,248,182,21,44,6,251,42,251,112,251,43,247,112,5,44,6,247,97,251,196,5,251,134,220,247,134,7,11,248,204,249,46,21,43,6,251,86,251,175,251,86,247,175,5,43,6,247,142,252,6,5,251,188,219, +247,188,7,11,73,10,251,20,248,157,21,76,6,252,12,253,62,5,202,6,247,24,248,157,101,10,11,248,237,200,21,91,200,5,102,85,91,122,82,27,251,37,251,8,247,8,247,41,247,41,247,8,247,8,247,37,198,184,124,99,194,31,187,199,5,181,89,65,168,55,27,251,79,251,46, +251,43,251,82,11,5,202,178,130,109,106,98,132,103,115,120,141,139,31,117,97,5,139,174,135,166,247,25,162,199,165,11,119,1,233,219,90,10,11,50,229,247,7,247,7,228,229,11,193,251,59,7,247,2,247,8,5,178,181,155,171,174,26,208,83,194,58,82,94,112,83,112, +30,189,112,5,176,159,163,156,173,27,181,173,109,101,117,128,120,106,104,31,251,84,251,95,5,11,248,142,193,21,91,199,5,107,92,102,125,95,27,251,4,82,10,247,4,185,172,127,104,189,31,186,199,5,178,92,78,163,70,27,251,46,251,19,251,17,251,48,11,251,48,251, +17,251,18,251,47,11,251,81,247,44,251,44,247,81,11,247,41,247,7,247,8,247,37,11,251,41,251,7,251,8,251,37,11,251,81,251,44,251,44,251,81,11,3,247,66,98,10,11,72,10,252,8,247,252,103,10,14,119,1,247,2,219,3,107,10,11,248,110,21,211,251,241,252,182,219, +247,132,247,151,211,251,151,247,54,7,14,172,157,155,165,173,26,200,84,187,60,88,101,120,99,105,30,194,109,5,165,158,163,146,166,27,176,172,120,105,102,110,123,73,31,99,85,198,6,11,21,251,40,247,69,247,40,247,69,96,180,251,104,251,110,247,104,251,110, +5,11,247,81,247,44,247,44,247,81,11,247,48,247,17,247,18,247,47,11,22,248,182,59,170,10,11,80,10,200,81,158,90,30,19,188,160,189,5,11,119,1,247,130,219,3,77,10,11,21,73,10,11,21,251,104,247,110,96,98,247,40,251,69,251,40,251,69,182,98,5,11,21,72,10,11, +5,219,6,11,139,211,247,121,165,10,11,247,23,6,247,12,225,220,247,2,31,59,22,75,92,83,59,30,251,22,247,132,247,22,6,219,186,83,75,31,14,247,82,22,249,46,59,199,10,11,178,10,247,191,219,3,248,181,110,21,248,211,59,252,13,7,252,15,248,41,5,252,210,219,248, +13,7,11,177,10,248,20,219,3,249,24,117,21,249,68,59,252,123,7,252,100,248,145,5,253,68,219,248,123,7,11,129,10,247,229,35,10,11,131,131,10,11,187,182,112,99,100,100,109,92,104,106,152,167,120,31,86,109,5,95,171,186,116,196,27,225,206,194,210,31,11,248, +38,101,7,251,20,93,161,90,221,169,5,251,229,7,11,247,125,139,10,215,11,245,6,240,212,208,230,31,58,22,93,105,98,80,30,33,247,68,245,6,198,173,98,91,31,14,21,71,173,251,17,251,168,104,10,11,21,207,252,140,71,7,11,247,2,148,10,11,247,106,6,247,81,247,39, +247,35,247,82,31,58,22,251,40,251,12,251,5,251,39,30,251,14,11,116,10,92,247,134,21,71,173,251,4,251,168,104,10,14,179,10,248,25,220,3,249,30,247,225,21,247,82,251,39,247,35,251,81,30,251,106,11,158,10,247,208,220,3,248,199,247,165,21,247,48,251,14,247, +9,251,48,30,251,91,11,1,248,167,22,211,252,10,7,248,10,248,230,5,252,120,67,247,235,6,252,10,252,230,5,11,251,145,136,10,195,247,98,92,10,11,1,248,87,248,182,21,252,43,67,247,159,6,251,190,252,110,5,248,68,211,251,184,6,11,247,91,6,247,48,247,14,247, +9,247,48,31,58,22,251,6,46,52,251,5,30,251,2,11,251,177,157,10,215,247,98,81,10,11,55,75,188,218,135,31,61,122,5,37,146,230,54,247,21,27,247,21,239,223,247,8,31,11,141,10,148,10,3,247,92,11,251,177,157,10,81,10,14,215,248,46,215,11,247,0,21,193,73,247, +150,7,251,183,251,203,5,247,121,251,1,201,247,0,6,11,131,140,10,177,140,10,1,179,140,10,189,140,10,11,225,186,67,223,27,203,186,188,206,166,31,11,91,58,211,55,27,70,92,90,76,113,31,11,160,118,249,46,11,135,10,150,10,11,21,170,114,164,108,108,114,114, +108,108,164,114,170,170,164,164,170,30,11,131,169,10,11,208,247,76,208,11,247,2,1,11,247,55,156,10,11,252,13,253,62,5,202,6,11,248,81,145,10,11,118,247,168,119,1,11,136,10,119,11,22,211,251,189,247,121,247,177,211,251,177,247,113,247,189,211,11,229,247, +2,11,247,14,6,247,39,247,12,251,5,251,40,31,14,192,109,5,174,155,165,178,181,11,86,169,5,101,123,109,99,101,11,226,160,118,247,107,211,11,216,79,221,247,92,221,11,214,118,248,72,119,1,11,124,160,118,247,55,211,11,131,215,248,234,119,11,160,118,248,182, +11,211,180,10,11,251,17,247,168,71,105,247,5,251,134,5,14,195,247,28,193,245,195,18,247,147,201,92,202,11,21,56,6,251,2,251,136,5,222,6,14,247,2,6,247,5,232,52,251,6,31,14,249,23,118,197,10,11,211,247,54,158,10,11,211,247,113,211,11,195,247,12,195,11, +6,115,251,51,5,199,6,164,247,51,5,11,249,23,141,10,11,215,248,166,11,252,182,7,11,1,191,220,11,161,247,38,5,79,6,116,251,38,5,11,251,80,251,45,251,45,251,80,251,80,11,22,211,251,141,248,110,59,170,10,11,119,1,247,143,219,3,11,247,150,71,251,150,7,11, +119,198,10,11,119,180,10,11,211,198,10,11,1,225,219,11,247,2,144,219,144,247,2,20,28,11,186,176,118,248,158,119,1,248,190,11,251,105,251,74,118,250,32,119,1,11,251,105,251,77,205,249,120,205,18,11,186,139,207,248,130,119,1,248,188,11,247,60,247,138,211, +251,138,247,54,11,248,114,118,247,150,119,1,244,207,11,247,113,152,118,168,118,247,1,192,11,247,83,138,118,182,118,249,46,119,11,21,32,6,246,247,5,5,14,119,1,247,158,207,3,248,188,11,251,116,183,218,247,61,63,215,11,251,47,67,118,249,232,119,1,11,18, +185,217,85,220,247,162,220,11,202,193,155,185,199,31,14,7,19,208,11,247,98,119,1,11,1,239,219,11,253,46,7,11,1,34,0,0,2,99,0,0,2,30,0,16,1,208,0,16,2,58,0,46,1,230,0,45,2,44,255,244,1,215,255,246,2,54,0,100,1,235,0,86,2,52,0,16,1,222,0,13,3,6,0,39,3, +6,0,39,1,80,0,39,3,6,0,44,1,130,0,44,1,130,0,28,0,222,0,77,2,88,0,48,2,88,0,71,1,34,0,0,1,34,0,90,1,170,0,105,2,70,0,38,2,70,0,87,3,6,0,40,2,250,0,78,1,22,0,105,1,84,0,84,1,84,0,36,2,70,0,111,2,88,0,48,1,34,0,9,1,89,0,48,1,34,0,90,1,142,0,38,2,102,0, +48,2,70,0,128,2,70,0,53,2,70,0,57,2,70,0,1,2,70,0,64,2,70,0,48,2,70,0,84,2,70,0,58,2,70,0,47,1,34,0,90,1,34,0,9,2,88,0,46,2,88,0,48,2,88,0,46,1,208,0,37,3,232,0,103,2,128,0,0,2,104,0,100,2,140,0,52,2,190,0,100,2,58,0,100,2,42,0,100,3,2,0,52,2,188,0,100, +1,44,0,110,1,240,0,1,2,138,0,100,2,14,0,100,3,134,0,23,2,232,0,100,3,18,0,52,2,54,0,100,3,18,0,52,2,100,0,100,2,58,0,46,1,254,0,24,2,204,0,96,2,128,0,0,3,134,0,23,2,80,0,6,2,44,255,244,2,52,0,16,1,84,0,117,1,142,0,12,1,84,0,56,2,88,0,88,1,244,0,0,1,16, +0,27,2,26,0,2,2,39,0,86,2,37,0,48,2,99,0,86,1,247,0,86,1,234,0,86,2,133,0,48,2,96,0,86,1,12,0,94,1,175,0,4,2,60,0,86,1,192,0,86,2,235,0,22,2,118,0,86,2,146,0,48,1,235,0,86,2,146,0,48,2,40,0,86,1,230,0,45,1,199,0,25,2,107,0,83,2,26,0,2,3,17,0,6,1,244, +0,4,1,215,255,246,1,222,0,13,1,84,0,52,0,222,0,77,1,84,0,50,2,88,0,54,2,128,0,0,2,128,0,0,2,140,0,52,2,58,0,100,2,232,0,100,3,18,0,52,2,204,0,96,2,26,0,2,2,26,0,2,2,26,0,2,2,26,0,2,2,26,0,2,2,26,0,2,2,37,0,48,1,247,0,86,1,247,0,86,1,247,0,86,1,247,0, +86,1,12,0,56,1,12,0,26,1,12,255,245,1,12,255,236,2,118,0,86,2,146,0,48,2,146,0,48,2,146,0,48,2,146,0,48,2,146,0,48,2,107,0,83,2,107,0,83,2,107,0,83,2,107,0,83,2,70,0,51,1,244,0,101,2,70,0,66,2,70,0,56,2,70,0,54,1,244,0,83,2,70,0,30,3,204,0,45,2,84,0, +78,3,18,0,52,3,86,0,24,1,16,0,57,1,16,255,237,2,88,0,48,3,96,255,227,3,18,0,41,2,154,255,254,2,88,0,48,2,88,0,48,2,88,0,48,2,70,0,30,2,92,0,86,2,70,0,60,2,226,0,59,2,226,0,36,2,70,0,34,2,70,0,123,1,158,0,53,1,158,0,49,2,226,0,44,2,240,255,237,2,146,0, +35,1,208,0,52,1,34,0,90,2,88,0,48,2,154,0,30,2,70,0,38,2,88,0,54,2,154,0,4,2,70,0,41,2,70,0,70,3,232,0,112,2,128,0,0,2,128,0,0,3,18,0,52,3,152,0,52,3,14,0,48,1,244,0,0,3,232,0,0,1,190,0,49,1,190,0,57,1,34,0,49,1,34,0,49,2,88,0,48,2,154,0,79,1,215,255, +246,2,44,255,244,0,134,255,103,1,110,0,41,1,110,0,70,2,246,0,86,3,170,0,86,2,70,0,51,1,34,0,90,1,34,0,9,1,190,0,15,4,108,0,40,2,128,0,0,2,58,0,100,2,128,0,0,2,58,0,100,2,58,0,100,1,44,0,71,1,44,0,4,1,44,255,251,1,44,0,41,3,18,0,52,3,18,0,52,3,14,0,86, +3,18,0,52,2,204,0,96,2,204,0,96,2,204,0,96,1,12,0,94,1,16,255,246,1,16,255,246,1,16,0,0,1,16,255,246,1,16,0,81,1,16,0,20,1,16,0,28,1,16,0,7,1,16,0,30,1,16,255,246,2,70,0,4,2,190,0,0,0,1,0,0,0,10,0,30,0,44,0,1,108,97,116,110,0,8,0,4,0,0,0,0,255,255,0, +1,0,0,0,1,107,101,114,110,0,8,0,0,0,1,0,0,0,1,0,4,0,2,0,0,0,1,0,8,0,1,28,6,0,4,0,0,0,106,0,222,0,252,1,198,1,244,2,254,3,8,3,14,3,48,3,158,3,168,3,174,3,180,3,186,3,192,4,182,5,52,5,58,5,80,5,154,5,160,5,174,5,188,6,2,6,216,7,142,8,64,8,78,8,100,9,54, +9,64,9,170,9,200,11,34,11,100,12,2,12,156,13,158,14,100,15,110,15,140,15,150,15,160,15,166,15,208,15,214,15,220,15,254,16,4,16,10,16,16,16,54,16,104,16,150,16,196,16,210,17,0,17,10,18,0,18,246,19,116,19,138,19,152,19,174,19,240,20,14,20,44,20,74,20,104, +20,134,20,164,20,174,20,180,20,186,20,192,20,198,20,204,20,210,20,216,20,222,20,228,20,234,21,0,21,30,21,36,22,26,23,16,23,38,23,60,23,150,23,160,23,206,24,152,25,142,25,164,26,154,26,176,26,198,26,212,26,226,26,240,26,254,27,20,27,42,27,64,27,130,27, +196,0,7,0,54,0,24,0,116,0,24,0,117,0,24,0,190,0,24,0,191,0,24,0,215,0,24,0,217,0,24,0,50,0,5,255,216,0,6,0,36,0,10,0,24,0,34,255,175,0,35,255,155,0,54,255,192,0,63,255,200,0,66,255,214,0,73,0,34,0,75,0,36,0,76,0,34,0,77,0,24,0,78,0,36,0,79,0,24,0,86, +255,192,0,88,255,208,0,89,255,175,0,92,255,208,0,94,0,12,0,95,255,208,0,98,255,208,0,100,255,208,0,102,255,208,0,104,255,216,0,116,255,192,0,117,255,192,0,123,255,192,0,124,255,192,0,125,255,192,0,126,255,192,0,127,255,192,0,128,255,192,0,129,255,175, +0,134,0,12,0,135,0,12,0,136,0,12,0,137,0,12,0,139,255,175,0,140,255,175,0,141,255,175,0,142,255,175,0,143,255,175,0,178,255,192,0,179,255,175,0,190,255,192,0,191,255,192,0,204,0,36,0,215,255,192,0,217,255,192,0,231,0,12,0,11,0,35,255,171,0,86,255,212, +0,123,255,212,0,124,255,212,0,125,255,212,0,126,255,212,0,127,255,212,0,128,255,212,0,178,255,212,0,199,0,40,0,200,0,32,0,66,0,4,0,24,0,6,0,24,0,10,0,24,0,34,255,215,0,54,0,52,0,55,0,24,0,56,255,232,0,57,0,24,0,58,0,24,0,59,0,24,0,60,255,232,0,61,0,24, +0,62,0,24,0,63,0,24,0,64,0,24,0,65,0,24,0,66,0,34,0,67,0,24,0,68,255,232,0,70,255,232,0,71,0,24,0,72,0,24,0,73,0,24,0,75,0,24,0,76,0,12,0,77,0,36,0,78,0,24,0,79,0,24,0,86,0,30,0,94,0,24,0,116,0,52,0,117,0,52,0,118,255,232,0,119,0,24,0,120,0,24,0,121, +255,232,0,123,0,30,0,124,0,30,0,125,0,30,0,126,0,30,0,127,0,30,0,128,0,30,0,134,0,24,0,135,0,24,0,136,0,24,0,137,0,24,0,163,255,232,0,178,0,30,0,190,0,52,0,191,0,52,0,192,255,232,0,193,255,232,0,204,0,24,0,215,0,52,0,216,0,24,0,217,0,52,0,218,0,24,0, +219,0,24,0,220,0,24,0,221,0,24,0,222,0,24,0,223,0,24,0,224,255,232,0,225,255,232,0,227,255,232,0,231,0,24,0,2,0,34,255,240,0,199,0,30,0,1,0,95,0,93,0,8,0,6,255,175,0,73,255,187,0,75,255,208,0,76,255,224,0,77,255,224,0,78,255,175,0,109,255,232,0,204,255, +175,0,27,0,6,255,156,0,7,255,212,0,38,255,119,0,46,255,192,0,68,255,224,0,70,255,224,0,73,255,176,0,74,255,224,0,75,255,156,0,76,255,184,0,78,255,156,0,107,255,172,0,108,255,216,0,110,255,212,0,121,255,224,0,122,255,224,0,163,255,224,0,192,255,224,0, +193,255,224,0,203,255,212,0,204,255,156,0,224,255,224,0,225,255,224,0,227,255,224,0,228,255,224,0,229,255,224,0,230,255,224,0,2,0,35,255,176,0,200,255,176,0,1,0,35,255,232,0,1,0,35,255,236,0,1,0,35,255,123,0,1,0,35,255,163,0,61,0,4,0,24,0,5,0,24,0,6, +255,192,0,7,255,232,0,10,0,52,0,11,0,34,0,54,0,24,0,63,0,50,0,66,0,24,0,72,0,24,0,73,255,216,0,74,255,244,0,75,255,196,0,76,255,216,0,77,0,24,0,78,255,192,0,79,0,52,0,86,0,30,0,87,0,12,0,91,0,18,0,93,0,12,0,94,0,12,0,95,0,24,0,96,0,12,0,97,0,12,0,98, +0,12,0,99,0,12,0,101,0,12,0,103,0,12,0,104,0,24,0,107,255,222,0,108,255,232,0,109,0,42,0,110,255,232,0,111,0,34,0,116,0,24,0,117,0,24,0,122,255,244,0,123,0,30,0,124,0,30,0,125,0,30,0,126,0,30,0,127,0,30,0,128,0,30,0,134,0,12,0,135,0,12,0,136,0,12,0,137, +0,12,0,138,0,12,0,178,0,30,0,190,0,24,0,191,0,24,0,200,255,204,0,203,255,232,0,204,255,192,0,215,0,24,0,217,0,24,0,228,255,244,0,229,255,244,0,230,255,244,0,231,0,12,0,31,0,6,0,24,0,10,0,24,0,34,255,235,0,54,0,24,0,56,255,232,0,60,255,232,0,63,0,24,0, +66,0,24,0,68,255,232,0,70,255,232,0,73,0,24,0,75,0,24,0,76,0,24,0,77,0,24,0,78,0,24,0,79,0,24,0,116,0,24,0,117,0,24,0,118,255,232,0,121,255,232,0,163,255,232,0,190,0,24,0,191,0,24,0,192,255,232,0,193,255,232,0,204,0,24,0,215,0,24,0,217,0,24,0,224,255, +232,0,225,255,232,0,227,255,232,0,1,0,35,255,223,0,5,0,6,0,12,0,63,0,24,0,77,0,24,0,78,0,12,0,204,0,12,0,18,0,35,255,176,0,54,255,204,0,63,255,190,0,66,255,214,0,86,255,215,0,116,255,204,0,117,255,204,0,123,255,215,0,124,255,215,0,125,255,215,0,126,255, +215,0,127,255,215,0,128,255,215,0,178,255,215,0,190,255,204,0,191,255,204,0,215,255,204,0,217,255,204,0,1,0,35,255,224,0,3,0,10,0,24,0,77,0,24,0,79,0,24,0,3,0,10,0,24,0,77,0,24,0,79,0,24,0,17,0,35,255,223,0,54,255,244,0,66,255,244,0,86,255,246,0,116, +255,244,0,117,255,244,0,123,255,246,0,124,255,246,0,125,255,246,0,126,255,246,0,127,255,246,0,128,255,246,0,178,255,246,0,190,255,244,0,191,255,244,0,215,255,244,0,217,255,244,0,53,0,6,0,12,0,7,255,232,0,10,0,24,0,11,0,24,0,34,255,183,0,54,0,12,0,56, +255,214,0,60,255,214,0,63,0,24,0,68,255,214,0,70,255,214,0,75,0,24,0,77,0,24,0,78,0,12,0,79,0,24,0,88,255,232,0,92,255,244,0,95,0,24,0,100,255,232,0,102,255,232,0,106,255,232,0,107,255,232,0,108,255,232,0,109,0,24,0,110,255,232,0,111,0,24,0,116,0,12, +0,117,0,12,0,118,255,214,0,121,255,214,0,129,255,232,0,139,255,232,0,140,255,232,0,141,255,232,0,142,255,232,0,143,255,232,0,144,255,232,0,145,255,232,0,146,255,232,0,147,255,232,0,163,255,214,0,179,255,232,0,190,0,12,0,191,0,12,0,192,255,214,0,193,255, +214,0,203,255,232,0,204,0,12,0,215,0,12,0,217,0,12,0,224,255,214,0,225,255,214,0,227,255,214,0,45,0,6,255,176,0,10,0,24,0,34,255,228,0,54,0,52,0,56,255,232,0,60,255,232,0,63,0,24,0,66,0,24,0,68,255,232,0,70,255,232,0,73,255,182,0,74,255,232,0,75,255, +182,0,76,255,220,0,77,0,24,0,78,255,176,0,79,0,24,0,86,0,30,0,116,0,52,0,117,0,52,0,118,255,232,0,121,255,232,0,122,255,232,0,123,0,30,0,124,0,30,0,125,0,30,0,126,0,30,0,127,0,30,0,128,0,30,0,163,255,232,0,178,0,30,0,190,0,52,0,191,0,52,0,192,255,232, +0,193,255,232,0,200,255,204,0,204,255,176,0,215,0,52,0,217,0,52,0,224,255,232,0,225,255,232,0,227,255,232,0,228,255,232,0,229,255,232,0,230,255,232,0,44,0,4,0,18,0,5,0,24,0,6,255,214,0,10,0,34,0,11,0,36,0,54,0,24,0,63,0,24,0,72,0,18,0,73,255,220,0,75, +255,232,0,76,255,232,0,77,0,24,0,78,255,214,0,79,0,34,0,86,0,36,0,88,0,12,0,92,0,12,0,100,0,12,0,102,0,12,0,104,0,24,0,109,0,24,0,111,0,36,0,116,0,24,0,117,0,24,0,123,0,36,0,124,0,36,0,125,0,36,0,126,0,36,0,127,0,36,0,128,0,36,0,129,0,12,0,139,0,12,0, +140,0,12,0,141,0,12,0,142,0,12,0,143,0,12,0,178,0,36,0,179,0,12,0,190,0,24,0,191,0,24,0,200,255,236,0,204,255,214,0,215,0,24,0,217,0,24,0,3,0,10,0,24,0,77,0,24,0,79,0,24,0,5,0,10,255,232,0,35,255,224,0,73,255,222,0,77,255,232,0,79,255,232,0,52,0,6,0, +24,0,7,0,20,0,11,0,20,0,34,255,228,0,35,255,155,0,54,255,182,0,63,255,188,0,66,255,204,0,75,0,34,0,76,0,24,0,78,0,24,0,86,255,236,0,88,255,236,0,89,255,236,0,90,255,236,0,91,0,20,0,92,255,236,0,100,255,236,0,102,255,236,0,105,0,20,0,107,0,20,0,108,0, +20,0,109,0,20,0,110,0,20,0,111,0,20,0,116,255,182,0,117,255,182,0,123,255,236,0,124,255,236,0,125,255,236,0,126,255,236,0,127,255,236,0,128,255,236,0,129,255,236,0,130,255,236,0,131,255,236,0,132,255,236,0,133,255,236,0,139,255,236,0,140,255,236,0,141, +255,236,0,142,255,236,0,143,255,236,0,178,255,236,0,179,255,236,0,190,255,182,0,191,255,182,0,200,0,16,0,203,0,20,0,204,0,24,0,215,255,182,0,217,255,182,0,2,0,35,255,224,0,73,255,232,0,26,0,34,255,220,0,54,0,12,0,63,0,24,0,68,255,244,0,77,0,24,0,86,0, +18,0,116,0,12,0,117,0,12,0,121,255,244,0,123,0,18,0,124,0,18,0,125,0,18,0,126,0,18,0,127,0,18,0,128,0,18,0,163,255,244,0,178,0,18,0,190,0,12,0,191,0,12,0,192,255,244,0,193,255,244,0,215,0,12,0,217,0,12,0,224,255,244,0,225,255,244,0,227,255,244,0,7,0, +54,0,24,0,116,0,24,0,117,0,24,0,190,0,24,0,191,0,24,0,215,0,24,0,217,0,24,0,86,0,5,255,216,0,6,0,34,0,7,255,208,0,10,0,24,0,11,255,208,0,34,255,188,0,35,255,175,0,54,255,216,0,63,255,214,0,66,255,220,0,68,255,222,0,70,255,222,0,75,0,34,0,76,0,24,0,77, +0,24,0,78,0,34,0,79,0,24,0,86,255,174,0,87,255,208,0,88,255,175,0,89,255,208,0,90,255,208,0,91,255,208,0,92,255,175,0,93,255,208,0,94,255,208,0,95,255,176,0,96,255,208,0,97,255,208,0,98,255,208,0,99,255,208,0,100,255,175,0,101,255,208,0,102,255,175,0, +103,255,208,0,104,255,216,0,105,255,208,0,106,255,208,0,107,255,208,0,108,255,208,0,109,255,208,0,110,255,208,0,111,255,208,0,116,255,216,0,117,255,216,0,121,255,222,0,123,255,174,0,124,255,174,0,125,255,174,0,126,255,174,0,127,255,174,0,128,255,174, +0,129,255,175,0,130,255,208,0,131,255,208,0,132,255,208,0,133,255,208,0,134,255,208,0,135,255,208,0,136,255,208,0,137,255,208,0,138,255,208,0,139,255,175,0,140,255,175,0,141,255,175,0,142,255,175,0,143,255,175,0,144,255,208,0,145,255,208,0,146,255,208, +0,147,255,208,0,163,255,222,0,178,255,174,0,179,255,175,0,190,255,216,0,191,255,216,0,192,255,222,0,193,255,222,0,203,255,208,0,204,0,34,0,215,255,216,0,217,255,216,0,224,255,222,0,225,255,222,0,227,255,222,0,231,255,208,0,16,0,35,255,223,0,54,255,244, +0,86,255,246,0,116,255,244,0,117,255,244,0,123,255,246,0,124,255,246,0,125,255,246,0,126,255,246,0,127,255,246,0,128,255,246,0,178,255,246,0,190,255,244,0,191,255,244,0,215,255,244,0,217,255,244,0,39,0,5,255,216,0,6,0,36,0,34,255,208,0,35,255,155,0,54, +255,196,0,63,255,214,0,66,255,232,0,73,0,34,0,76,0,12,0,77,0,24,0,78,0,36,0,86,255,210,0,88,255,203,0,92,255,203,0,100,255,203,0,102,255,203,0,104,255,216,0,105,0,40,0,116,255,196,0,117,255,196,0,123,255,210,0,124,255,210,0,125,255,210,0,126,255,210, +0,127,255,210,0,128,255,210,0,129,255,203,0,139,255,203,0,140,255,203,0,141,255,203,0,142,255,203,0,143,255,203,0,178,255,210,0,179,255,203,0,190,255,196,0,191,255,196,0,204,0,36,0,215,255,196,0,217,255,196,0,38,0,5,255,216,0,6,0,34,0,34,255,223,0,35, +255,184,0,54,255,216,0,63,255,232,0,66,255,232,0,73,0,24,0,75,0,24,0,78,0,34,0,86,255,226,0,88,255,216,0,92,255,216,0,100,255,216,0,102,255,216,0,104,255,216,0,105,0,32,0,116,255,216,0,117,255,216,0,123,255,226,0,124,255,226,0,125,255,226,0,126,255,226, +0,127,255,226,0,128,255,226,0,129,255,216,0,139,255,216,0,140,255,216,0,141,255,216,0,142,255,216,0,143,255,216,0,178,255,226,0,179,255,216,0,190,255,216,0,191,255,216,0,204,0,34,0,215,255,216,0,217,255,216,0,64,0,4,0,18,0,6,0,24,0,10,0,36,0,34,255,224, +0,54,0,24,0,55,0,24,0,57,0,24,0,58,0,24,0,59,0,24,0,61,0,24,0,62,0,24,0,63,0,42,0,64,0,24,0,65,0,24,0,66,0,24,0,67,0,24,0,68,255,232,0,70,255,232,0,71,0,24,0,72,0,18,0,73,0,24,0,75,0,24,0,77,0,24,0,78,0,24,0,79,0,36,0,86,0,20,0,91,0,24,0,94,0,24,0,105, +0,24,0,116,0,24,0,117,0,24,0,119,0,24,0,120,0,24,0,121,255,232,0,123,0,20,0,124,0,20,0,125,0,20,0,126,0,20,0,127,0,20,0,128,0,20,0,134,0,24,0,135,0,24,0,136,0,24,0,137,0,24,0,163,255,232,0,178,0,20,0,190,0,24,0,191,0,24,0,192,255,232,0,193,255,232,0, +204,0,24,0,215,0,24,0,216,0,24,0,217,0,24,0,218,0,24,0,219,0,24,0,220,0,24,0,221,0,24,0,222,0,24,0,223,0,24,0,224,255,232,0,225,255,232,0,227,255,232,0,231,0,24,0,49,0,5,255,216,0,6,0,36,0,10,0,24,0,34,255,175,0,35,255,155,0,54,255,192,0,63,255,200,0, +66,255,214,0,73,0,34,0,75,0,36,0,76,0,34,0,77,0,24,0,78,0,36,0,79,0,24,0,86,255,192,0,88,255,208,0,92,255,208,0,94,0,12,0,95,255,208,0,98,255,208,0,100,255,208,0,102,255,208,0,104,255,216,0,116,255,192,0,117,255,192,0,123,255,192,0,124,255,192,0,125, +255,192,0,126,255,192,0,127,255,192,0,128,255,192,0,129,255,175,0,134,0,12,0,135,0,12,0,136,0,12,0,137,0,12,0,139,255,175,0,140,255,175,0,141,255,175,0,142,255,175,0,143,255,175,0,178,255,192,0,179,255,175,0,190,255,192,0,191,255,192,0,204,0,36,0,215, +255,192,0,217,255,192,0,231,0,12,0,66,0,4,0,24,0,6,0,24,0,10,0,24,0,34,255,215,0,54,0,52,0,55,0,24,0,56,255,232,0,57,0,24,0,58,0,24,0,59,0,24,0,60,255,232,0,61,0,24,0,62,0,24,0,63,0,24,0,64,0,24,0,65,0,24,0,66,0,34,0,67,0,24,0,68,255,232,0,70,255,232, +0,71,0,24,0,72,0,24,0,73,0,24,0,75,0,24,0,76,0,12,0,77,0,36,0,78,0,24,0,79,0,24,0,86,0,30,0,94,0,24,0,116,0,52,0,117,0,52,0,118,255,232,0,119,0,24,0,120,0,24,0,121,255,232,0,123,0,30,0,124,0,30,0,125,0,30,0,126,0,30,0,127,0,30,0,128,0,30,0,134,0,24,0, +135,0,24,0,136,0,24,0,137,0,24,0,163,255,232,0,178,0,30,0,190,0,52,0,191,0,52,0,192,255,232,0,193,255,232,0,204,0,24,0,215,0,52,0,216,0,24,0,217,0,52,0,218,0,24,0,219,0,24,0,220,0,24,0,221,0,24,0,222,0,24,0,223,0,24,0,224,255,232,0,225,255,232,0,227, +255,232,0,231,0,24,0,7,0,7,255,211,0,95,0,48,0,105,255,207,0,107,255,224,0,108,255,236,0,110,255,211,0,203,255,211,0,2,0,35,255,240,0,199,255,242,0,2,0,199,0,30,0,200,0,20,0,1,0,199,255,239,0,10,0,35,255,215,0,86,255,215,0,123,255,215,0,124,255,215,0, +125,255,215,0,126,255,215,0,127,255,215,0,128,255,215,0,178,255,215,0,200,0,24,0,1,0,199,255,242,0,1,0,34,255,207,0,8,0,86,0,25,0,123,0,25,0,124,0,25,0,125,0,25,0,126,0,25,0,127,0,25,0,128,0,25,0,178,0,25,0,1,0,199,255,242,0,1,0,199,255,242,0,1,0,199, +255,242,0,9,0,86,255,207,0,123,255,207,0,124,255,207,0,125,255,207,0,126,255,207,0,127,255,207,0,128,255,207,0,178,255,207,0,199,255,242,0,12,0,34,255,224,0,35,255,232,0,86,255,208,0,123,255,208,0,124,255,208,0,125,255,208,0,126,255,208,0,127,255,208, +0,128,255,208,0,178,255,208,0,199,0,50,0,200,0,33,0,11,0,35,255,171,0,86,255,224,0,123,255,224,0,124,255,224,0,125,255,224,0,126,255,224,0,127,255,224,0,128,255,224,0,178,255,224,0,199,0,40,0,200,0,32,0,11,0,35,255,216,0,86,255,236,0,123,255,236,0,124, +255,236,0,125,255,236,0,126,255,236,0,127,255,236,0,128,255,236,0,178,255,236,0,199,0,30,0,200,0,33,0,3,0,34,255,232,0,199,0,20,0,200,0,32,0,11,0,35,255,171,0,86,255,212,0,123,255,212,0,124,255,212,0,125,255,212,0,126,255,212,0,127,255,212,0,128,255, +212,0,178,255,212,0,199,0,40,0,200,0,32,0,2,0,34,255,240,0,199,0,30,0,61,0,4,0,24,0,5,0,24,0,6,255,192,0,7,255,232,0,10,0,52,0,11,0,34,0,54,0,24,0,63,0,50,0,66,0,24,0,72,0,24,0,73,255,216,0,74,255,244,0,75,255,196,0,76,255,216,0,77,0,24,0,78,255,192, +0,79,0,52,0,86,0,30,0,87,0,12,0,91,0,18,0,93,0,12,0,94,0,12,0,95,0,24,0,96,0,12,0,97,0,12,0,98,0,12,0,99,0,12,0,101,0,12,0,103,0,12,0,104,0,24,0,107,255,222,0,108,255,232,0,109,0,42,0,110,255,232,0,111,0,34,0,116,0,24,0,117,0,24,0,122,255,244,0,123,0, +30,0,124,0,30,0,125,0,30,0,126,0,30,0,127,0,30,0,128,0,30,0,134,0,12,0,135,0,12,0,136,0,12,0,137,0,12,0,138,0,12,0,178,0,30,0,190,0,24,0,191,0,24,0,200,255,204,0,203,255,232,0,204,255,192,0,215,0,24,0,217,0,24,0,228,255,244,0,229,255,244,0,230,255,244, +0,231,0,12,0,61,0,4,0,24,0,5,0,24,0,6,255,192,0,7,255,232,0,10,0,52,0,11,0,34,0,54,0,24,0,63,0,50,0,66,0,24,0,72,0,24,0,73,255,216,0,74,255,244,0,75,255,196,0,76,255,216,0,77,0,24,0,78,255,192,0,79,0,52,0,86,0,30,0,87,0,12,0,91,0,18,0,93,0,12,0,94,0, +12,0,95,0,24,0,96,0,12,0,97,0,12,0,98,0,12,0,99,0,12,0,101,0,12,0,103,0,12,0,104,0,24,0,107,255,222,0,108,255,232,0,109,0,42,0,110,255,232,0,111,0,34,0,116,0,24,0,117,0,24,0,122,255,244,0,123,0,30,0,124,0,30,0,125,0,30,0,126,0,30,0,127,0,30,0,128,0,30, +0,134,0,12,0,135,0,12,0,136,0,12,0,137,0,12,0,138,0,12,0,178,0,30,0,190,0,24,0,191,0,24,0,200,255,204,0,203,255,232,0,204,255,192,0,215,0,24,0,217,0,24,0,228,255,244,0,229,255,244,0,230,255,244,0,231,0,12,0,31,0,6,0,24,0,10,0,24,0,34,255,235,0,54,0,24, +0,56,255,232,0,60,255,232,0,63,0,24,0,66,0,24,0,68,255,232,0,70,255,232,0,73,0,24,0,75,0,24,0,76,0,24,0,77,0,24,0,78,0,24,0,79,0,24,0,116,0,24,0,117,0,24,0,118,255,232,0,121,255,232,0,163,255,232,0,190,0,24,0,191,0,24,0,192,255,232,0,193,255,232,0,204, +0,24,0,215,0,24,0,217,0,24,0,224,255,232,0,225,255,232,0,227,255,232,0,5,0,6,0,12,0,63,0,24,0,77,0,24,0,78,0,12,0,204,0,12,0,3,0,10,0,24,0,77,0,24,0,79,0,24,0,5,0,10,255,232,0,35,255,224,0,73,255,222,0,77,255,232,0,79,255,232,0,16,0,35,255,223,0,54,255, +244,0,86,255,246,0,116,255,244,0,117,255,244,0,123,255,246,0,124,255,246,0,125,255,246,0,126,255,246,0,127,255,246,0,128,255,246,0,178,255,246,0,190,255,244,0,191,255,244,0,215,255,244,0,217,255,244,0,7,0,7,255,211,0,95,0,48,0,105,255,207,0,107,255,224, +0,108,255,236,0,110,255,211,0,203,255,211,0,7,0,7,255,211,0,95,0,48,0,105,255,207,0,107,255,224,0,108,255,236,0,110,255,211,0,203,255,211,0,7,0,7,255,211,0,95,0,48,0,105,255,207,0,107,255,224,0,108,255,236,0,110,255,211,0,203,255,211,0,7,0,7,255,211, +0,95,0,48,0,105,255,207,0,107,255,224,0,108,255,236,0,110,255,211,0,203,255,211,0,7,0,7,255,211,0,95,0,48,0,105,255,207,0,107,255,224,0,108,255,236,0,110,255,211,0,203,255,211,0,7,0,7,255,211,0,95,0,48,0,105,255,207,0,107,255,224,0,108,255,236,0,110, +255,211,0,203,255,211,0,2,0,199,0,30,0,200,0,20,0,1,0,199,255,239,0,1,0,199,255,239,0,1,0,199,255,239,0,1,0,199,255,239,0,1,0,199,255,242,0,1,0,199,255,242,0,1,0,199,255,242,0,1,0,199,255,242,0,1,0,199,255,242,0,1,0,199,255,242,0,5,0,10,255,232,0,35, +255,224,0,73,255,222,0,77,255,232,0,79,255,232,0,7,0,7,255,211,0,95,0,48,0,105,255,207,0,107,255,224,0,108,255,236,0,110,255,211,0,203,255,211,0,1,0,199,255,242,0,61,0,4,0,24,0,5,0,24,0,6,255,192,0,7,255,232,0,10,0,52,0,11,0,34,0,54,0,24,0,63,0,50,0, +66,0,24,0,72,0,24,0,73,255,216,0,74,255,244,0,75,255,196,0,76,255,216,0,77,0,24,0,78,255,192,0,79,0,52,0,86,0,30,0,87,0,12,0,91,0,18,0,93,0,12,0,94,0,12,0,95,0,24,0,96,0,12,0,97,0,12,0,98,0,12,0,99,0,12,0,101,0,12,0,103,0,12,0,104,0,24,0,107,255,222, +0,108,255,232,0,109,0,42,0,110,255,232,0,111,0,34,0,116,0,24,0,117,0,24,0,122,255,244,0,123,0,30,0,124,0,30,0,125,0,30,0,126,0,30,0,127,0,30,0,128,0,30,0,134,0,12,0,135,0,12,0,136,0,12,0,137,0,12,0,138,0,12,0,178,0,30,0,190,0,24,0,191,0,24,0,200,255, +204,0,203,255,232,0,204,255,192,0,215,0,24,0,217,0,24,0,228,255,244,0,229,255,244,0,230,255,244,0,231,0,12,0,61,0,4,0,24,0,5,0,24,0,6,255,192,0,7,255,232,0,10,0,52,0,11,0,34,0,54,0,24,0,63,0,50,0,66,0,24,0,72,0,24,0,73,255,216,0,74,255,244,0,75,255,196, +0,76,255,216,0,77,0,24,0,78,255,192,0,79,0,52,0,86,0,30,0,87,0,12,0,91,0,18,0,93,0,12,0,94,0,12,0,95,0,24,0,96,0,12,0,97,0,12,0,98,0,12,0,99,0,12,0,101,0,12,0,103,0,12,0,104,0,24,0,107,255,222,0,108,255,232,0,109,0,42,0,110,255,232,0,111,0,34,0,116,0, +24,0,117,0,24,0,122,255,244,0,123,0,30,0,124,0,30,0,125,0,30,0,126,0,30,0,127,0,30,0,128,0,30,0,134,0,12,0,135,0,12,0,136,0,12,0,137,0,12,0,138,0,12,0,178,0,30,0,190,0,24,0,191,0,24,0,200,255,204,0,203,255,232,0,204,255,192,0,215,0,24,0,217,0,24,0,228, +255,244,0,229,255,244,0,230,255,244,0,231,0,12,0,5,0,10,255,232,0,35,255,224,0,73,255,222,0,77,255,232,0,79,255,232,0,5,0,10,255,232,0,35,255,224,0,73,255,222,0,77,255,232,0,79,255,232,0,22,0,5,255,176,0,7,0,33,0,11,0,21,0,38,255,176,0,41,255,212,0,44, +255,208,0,54,255,204,0,63,255,184,0,66,255,236,0,105,0,33,0,107,0,33,0,108,0,33,0,109,0,33,0,110,0,33,0,111,0,21,0,116,255,204,0,117,255,204,0,190,255,204,0,191,255,204,0,203,0,33,0,215,255,204,0,217,255,204,0,2,0,5,255,204,0,104,255,204,0,11,0,35,255, +171,0,86,255,212,0,123,255,212,0,124,255,212,0,125,255,212,0,126,255,212,0,127,255,212,0,128,255,212,0,178,255,212,0,199,0,40,0,200,0,32,0,50,0,5,255,216,0,6,0,36,0,10,0,24,0,34,255,175,0,35,255,155,0,54,255,192,0,63,255,200,0,66,255,214,0,73,0,34,0, +75,0,36,0,76,0,34,0,77,0,24,0,78,0,36,0,79,0,24,0,86,255,192,0,88,255,208,0,89,255,175,0,92,255,208,0,94,0,12,0,95,255,208,0,98,255,208,0,100,255,208,0,102,255,208,0,104,255,216,0,116,255,192,0,117,255,192,0,123,255,192,0,124,255,192,0,125,255,192,0, +126,255,192,0,127,255,192,0,128,255,192,0,129,255,175,0,134,0,12,0,135,0,12,0,136,0,12,0,137,0,12,0,139,255,175,0,140,255,175,0,141,255,175,0,142,255,175,0,143,255,175,0,178,255,192,0,179,255,175,0,190,255,192,0,191,255,192,0,204,0,36,0,215,255,192,0, +217,255,192,0,231,0,12,0,61,0,4,0,24,0,5,0,24,0,6,255,192,0,7,255,232,0,10,0,52,0,11,0,34,0,54,0,24,0,63,0,50,0,66,0,24,0,72,0,24,0,73,255,216,0,74,255,244,0,75,255,196,0,76,255,216,0,77,0,24,0,78,255,192,0,79,0,52,0,86,0,30,0,87,0,12,0,91,0,18,0,93, +0,12,0,94,0,12,0,95,0,24,0,96,0,12,0,97,0,12,0,98,0,12,0,99,0,12,0,101,0,12,0,103,0,12,0,104,0,24,0,107,255,222,0,108,255,232,0,109,0,42,0,110,255,232,0,111,0,34,0,116,0,24,0,117,0,24,0,122,255,244,0,123,0,30,0,124,0,30,0,125,0,30,0,126,0,30,0,127,0, +30,0,128,0,30,0,134,0,12,0,135,0,12,0,136,0,12,0,137,0,12,0,138,0,12,0,178,0,30,0,190,0,24,0,191,0,24,0,200,255,204,0,203,255,232,0,204,255,192,0,215,0,24,0,217,0,24,0,228,255,244,0,229,255,244,0,230,255,244,0,231,0,12,0,5,0,6,0,12,0,63,0,24,0,77,0,24, +0,78,0,12,0,204,0,12,0,61,0,4,0,24,0,5,0,24,0,6,255,192,0,7,255,232,0,10,0,52,0,11,0,34,0,54,0,24,0,63,0,50,0,66,0,24,0,72,0,24,0,73,255,216,0,74,255,244,0,75,255,196,0,76,255,216,0,77,0,24,0,78,255,192,0,79,0,52,0,86,0,30,0,87,0,12,0,91,0,18,0,93,0, +12,0,94,0,12,0,95,0,24,0,96,0,12,0,97,0,12,0,98,0,12,0,99,0,12,0,101,0,12,0,103,0,12,0,104,0,24,0,107,255,222,0,108,255,232,0,109,0,42,0,110,255,232,0,111,0,34,0,116,0,24,0,117,0,24,0,122,255,244,0,123,0,30,0,124,0,30,0,125,0,30,0,126,0,30,0,127,0,30, +0,128,0,30,0,134,0,12,0,135,0,12,0,136,0,12,0,137,0,12,0,138,0,12,0,178,0,30,0,190,0,24,0,191,0,24,0,200,255,204,0,203,255,232,0,204,255,192,0,215,0,24,0,217,0,24,0,228,255,244,0,229,255,244,0,230,255,244,0,231,0,12,0,5,0,6,0,12,0,63,0,24,0,77,0,24,0, +78,0,12,0,204,0,12,0,5,0,6,0,12,0,63,0,24,0,77,0,24,0,78,0,12,0,204,0,12,0,3,0,10,0,24,0,77,0,24,0,79,0,24,0,3,0,10,0,24,0,77,0,24,0,79,0,24,0,3,0,10,0,24,0,77,0,24,0,79,0,24,0,3,0,10,0,24,0,77,0,24,0,79,0,24,0,5,0,10,255,232,0,35,255,224,0,73,255,222, +0,77,255,232,0,79,255,232,0,5,0,10,255,232,0,35,255,224,0,73,255,222,0,77,255,232,0,79,255,232,0,5,0,10,255,232,0,35,255,224,0,73,255,222,0,77,255,232,0,79,255,232,0,16,0,35,255,223,0,54,255,244,0,86,255,246,0,116,255,244,0,117,255,244,0,123,255,246, +0,124,255,246,0,125,255,246,0,126,255,246,0,127,255,246,0,128,255,246,0,178,255,246,0,190,255,244,0,191,255,244,0,215,255,244,0,217,255,244,0,16,0,35,255,223,0,54,255,244,0,86,255,246,0,116,255,244,0,117,255,244,0,123,255,246,0,124,255,246,0,125,255, +246,0,126,255,246,0,127,255,246,0,128,255,246,0,178,255,246,0,190,255,244,0,191,255,244,0,215,255,244,0,217,255,244,0,16,0,35,255,223,0,54,255,244,0,86,255,246,0,116,255,244,0,117,255,244,0,123,255,246,0,124,255,246,0,125,255,246,0,126,255,246,0,127, +255,246,0,128,255,246,0,178,255,246,0,190,255,244,0,191,255,244,0,215,255,244,0,217,255,244,0,2,0,27,0,4,0,4,0,0,0,6,0,7,0,1,0,10,0,11,0,3,0,29,0,29,0,5,0,34,0,35,0,6,0,38,0,38,0,8,0,40,0,40,0,9,0,42,0,42,0,10,0,44,0,44,0,11,0,46,0,46,0,12,0,54,0,54, +0,13,0,56,0,79,0,14,0,86,0,88,0,38,0,90,0,91,0,41,0,93,0,93,0,43,0,96,0,101,0,44,0,105,0,105,0,50,0,107,0,111,0,51,0,116,0,133,0,56,0,138,0,143,0,74,0,163,0,163,0,80,0,178,0,179,0,81,0,190,0,193,0,83,0,199,0,200,0,87,0,203,0,204,0,89,0,215,0,225,0,91, +0,227,0,230,0,102,0,0 }; + +const char* ContaxPro55RmSC_otf = (const char*) temp_binary_data_27; + +//================== ContaxPro65Med.otf ================== +static const unsigned char temp_binary_data_28[] = +{ 79,84,84,79,0,10,0,128,0,3,0,32,67,70,70,32,186,26,4,83,0,0,14,116,0,0,51,146,71,80,79,83,172,161,164,162,0,0,69,216,0,0,27,170,79,83,47,50,138,35,143,64,0,0,1,16,0,0,0,96,99,109,97,112,114,241,200,81,0,0,10,224,0,0,3,116,104,101,97,100,243,154,10,122, +0,0,0,172,0,0,0,54,104,104,101,97,6,177,4,20,0,0,0,228,0,0,0,36,104,109,116,120,13,251,42,132,0,0,66,8,0,0,3,208,109,97,120,112,0,244,80,0,0,0,1,8,0,0,0,6,110,97,109,101,23,180,94,126,0,0,1,112,0,0,9,111,112,111,115,116,255,126,0,20,0,0,14,84,0,0,0,32, +0,1,0,0,0,1,0,0,151,13,186,109,95,15,60,245,0,3,3,232,0,0,0,0,200,99,99,99,0,0,0,0,200,99,99,99,255,96,255,28,4,92,3,184,0,0,0,3,0,2,0,0,0,0,0,0,0,1,0,0,2,188,255,58,0,54,4,132,255,96,255,97,4,92,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,244,0,0,80,0,0,244,0, +0,0,2,2,39,1,244,0,5,0,6,2,138,2,88,0,0,0,75,2,188,2,138,0,0,1,221,0,50,0,250,0,0,2,0,6,3,3,0,0,2,0,4,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,97,107,116,105,0,0,0,32,251,2,2,188,255,58,0,54,3,184,0,228,32,0,0,1,0,0,0,0,2,22,2,154,0,32,0,32,0,2,0,0,0,24,1,38, +0,1,0,0,0,0,0,0,0,75,0,0,0,1,0,0,0,0,0,1,0,17,0,75,0,1,0,0,0,0,0,2,0,7,0,92,0,1,0,0,0,0,0,3,0,25,0,99,0,1,0,0,0,0,0,4,0,17,0,75,0,1,0,0,0,0,0,5,0,32,0,124,0,1,0,0,0,0,0,6,0,14,0,156,0,1,0,0,0,0,0,7,0,70,0,170,0,1,0,0,0,0,0,9,0,33,0,240,0,1,0,0,0,0,0, +10,1,159,1,17,0,1,0,0,0,0,0,11,0,19,2,176,0,1,0,0,0,0,0,12,0,19,2,176,0,3,0,1,4,9,0,0,0,150,2,195,0,3,0,1,4,9,0,1,0,34,3,89,0,3,0,1,4,9,0,2,0,14,3,123,0,3,0,1,4,9,0,3,0,50,3,137,0,3,0,1,4,9,0,4,0,34,3,89,0,3,0,1,4,9,0,5,0,64,3,187,0,3,0,1,4,9,0,6,0,28, +3,251,0,3,0,1,4,9,0,7,0,140,4,23,0,3,0,1,4,9,0,9,0,66,4,163,0,3,0,1,4,9,0,10,3,62,4,229,0,3,0,1,4,9,0,11,0,38,8,35,0,3,0,1,4,9,0,12,0,38,8,35,67,111,112,121,114,105,103,104,116,32,40,99,41,32,65,108,101,120,32,75,97,99,122,117,110,44,32,100,98,97,32, +84,121,112,101,32,73,110,110,111,118,97,116,105,111,110,115,44,32,49,57,57,55,46,32,65,108,108,32,114,105,103,104,116,115,32,114,101,115,101,114,118,101,100,46,67,111,110,116,97,120,32,80,114,111,32,54,53,32,77,101,100,82,101,103,117,108,97,114,49,46, +48,48,48,59,97,107,116,105,59,67,111,110,116,97,120,80,114,111,54,53,77,101,100,79,84,70,32,49,46,48,48,48,59,80,83,32,48,48,49,46,48,48,48,59,67,111,114,101,32,49,46,48,46,51,52,67,111,110,116,97,120,80,114,111,54,53,77,101,100,67,111,110,116,97,120, +32,80,114,111,32,54,53,32,77,101,100,32,105,115,32,97,32,116,114,97,100,101,109,97,114,107,32,111,102,32,65,108,101,120,32,75,97,99,122,117,110,44,32,100,98,97,32,84,121,112,101,32,73,110,110,111,118,97,116,105,111,110,115,46,65,108,101,120,32,75,97, +99,122,117,110,44,32,100,98,97,32,84,121,112,101,32,73,110,110,111,118,97,116,105,111,110,115,84,104,101,32,100,105,103,105,116,97,108,108,121,32,101,110,99,111,100,101,100,32,109,97,99,104,105,110,101,32,114,101,97,100,97,98,108,101,32,115,111,102,116, +119,97,114,101,32,102,111,114,32,112,114,111,100,117,99,105,110,103,32,32,32,116,104,101,32,84,121,112,101,102,97,99,101,115,32,108,105,99,101,110,115,101,100,32,116,111,32,121,111,117,32,105,115,32,99,111,112,121,114,105,103,104,116,101,100,32,40,99, +41,32,49,57,57,55,32,65,108,101,120,32,75,97,99,122,117,110,44,32,100,98,97,32,84,121,112,101,32,73,110,110,111,118,97,116,105,111,110,115,46,32,65,108,108,32,82,105,103,104,116,115,32,82,101,115,101,114,118,101,100,46,32,84,104,105,115,32,115,111,102, +116,119,97,114,101,32,105,115,32,116,104,101,32,112,114,111,112,101,114,116,121,32,111,102,32,65,108,101,120,32,75,97,99,122,117,110,44,32,100,98,97,32,84,121,112,101,32,73,110,110,111,118,97,116,105,111,110,115,44,32,97,110,100,32,105,116,115,32,108, +105,99,101,110,115,111,114,115,44,32,97,110,100,32,109,97,121,32,110,111,116,32,98,101,32,114,101,112,114,111,100,117,99,101,100,44,32,117,115,101,100,44,32,100,105,115,112,108,97,121,101,100,44,32,109,111,100,105,102,105,101,100,44,32,100,105,115,99, +108,111,115,101,100,32,111,114,32,116,114,97,110,115,102,101,114,114,101,100,32,119,105,116,104,111,117,116,32,116,104,101,32,101,120,112,114,101,115,115,32,119,114,105,116,116,101,110,32,97,112,112,114,111,118,97,108,32,111,102,32,65,108,101,120,32, +75,97,99,122,117,110,44,32,100,98,97,32,84,121,112,101,32,73,110,110,111,118,97,116,105,111,110,115,46,32,116,121,112,101,105,110,110,111,118,97,116,105,111,110,115,46,99,111,109,0,67,0,111,0,112,0,121,0,114,0,105,0,103,0,104,0,116,0,32,0,40,0,99,0,41, +0,32,0,65,0,108,0,101,0,120,0,32,0,75,0,97,0,99,0,122,0,117,0,110,0,44,0,32,0,100,0,98,0,97,0,32,0,84,0,121,0,112,0,101,0,32,0,73,0,110,0,110,0,111,0,118,0,97,0,116,0,105,0,111,0,110,0,115,0,44,0,32,0,49,0,57,0,57,0,55,0,46,0,32,0,65,0,108,0,108,0,32, +0,114,0,105,0,103,0,104,0,116,0,115,0,32,0,114,0,101,0,115,0,101,0,114,0,118,0,101,0,100,0,46,0,67,0,111,0,110,0,116,0,97,0,120,0,32,0,80,0,114,0,111,0,32,0,54,0,53,0,32,0,77,0,101,0,100,0,82,0,101,0,103,0,117,0,108,0,97,0,114,0,49,0,46,0,48,0,48,0,48, +0,59,0,97,0,107,0,116,0,105,0,59,0,67,0,111,0,110,0,116,0,97,0,120,0,80,0,114,0,111,0,54,0,53,0,77,0,101,0,100,0,79,0,84,0,70,0,32,0,49,0,46,0,48,0,48,0,48,0,59,0,80,0,83,0,32,0,48,0,48,0,49,0,46,0,48,0,48,0,48,0,59,0,67,0,111,0,114,0,101,0,32,0,49,0, +46,0,48,0,46,0,51,0,52,0,67,0,111,0,110,0,116,0,97,0,120,0,80,0,114,0,111,0,54,0,53,0,77,0,101,0,100,0,67,0,111,0,110,0,116,0,97,0,120,0,32,0,80,0,114,0,111,0,32,0,54,0,53,0,32,0,77,0,101,0,100,0,32,0,105,0,115,0,32,0,97,0,32,0,116,0,114,0,97,0,100,0, +101,0,109,0,97,0,114,0,107,0,32,0,111,0,102,0,32,0,65,0,108,0,101,0,120,0,32,0,75,0,97,0,99,0,122,0,117,0,110,0,44,0,32,0,100,0,98,0,97,0,32,0,84,0,121,0,112,0,101,0,32,0,73,0,110,0,110,0,111,0,118,0,97,0,116,0,105,0,111,0,110,0,115,0,46,0,65,0,108,0, +101,0,120,0,32,0,75,0,97,0,99,0,122,0,117,0,110,0,44,0,32,0,100,0,98,0,97,0,32,0,84,0,121,0,112,0,101,0,32,0,73,0,110,0,110,0,111,0,118,0,97,0,116,0,105,0,111,0,110,0,115,0,84,0,104,0,101,0,32,0,100,0,105,0,103,0,105,0,116,0,97,0,108,0,108,0,121,0,32, +0,101,0,110,0,99,0,111,0,100,0,101,0,100,0,32,0,109,0,97,0,99,0,104,0,105,0,110,0,101,0,32,0,114,0,101,0,97,0,100,0,97,0,98,0,108,0,101,0,32,0,115,0,111,0,102,0,116,0,119,0,97,0,114,0,101,0,32,0,102,0,111,0,114,0,32,0,112,0,114,0,111,0,100,0,117,0,99, +0,105,0,110,0,103,0,32,0,32,0,32,0,116,0,104,0,101,0,32,0,84,0,121,0,112,0,101,0,102,0,97,0,99,0,101,0,115,0,32,0,108,0,105,0,99,0,101,0,110,0,115,0,101,0,100,0,32,0,116,0,111,0,32,0,121,0,111,0,117,0,32,0,105,0,115,0,32,0,99,0,111,0,112,0,121,0,114, +0,105,0,103,0,104,0,116,0,101,0,100,0,32,0,40,0,99,0,41,0,32,0,49,0,57,0,57,0,55,0,32,0,65,0,108,0,101,0,120,0,32,0,75,0,97,0,99,0,122,0,117,0,110,0,44,0,32,0,100,0,98,0,97,0,32,0,84,0,121,0,112,0,101,0,32,0,73,0,110,0,110,0,111,0,118,0,97,0,116,0,105, +0,111,0,110,0,115,0,46,0,32,0,65,0,108,0,108,0,32,0,82,0,105,0,103,0,104,0,116,0,115,0,32,0,82,0,101,0,115,0,101,0,114,0,118,0,101,0,100,0,46,0,32,0,84,0,104,0,105,0,115,0,32,0,115,0,111,0,102,0,116,0,119,0,97,0,114,0,101,0,32,0,105,0,115,0,32,0,116, +0,104,0,101,0,32,0,112,0,114,0,111,0,112,0,101,0,114,0,116,0,121,0,32,0,111,0,102,0,32,0,65,0,108,0,101,0,120,0,32,0,75,0,97,0,99,0,122,0,117,0,110,0,44,0,32,0,100,0,98,0,97,0,32,0,84,0,121,0,112,0,101,0,32,0,73,0,110,0,110,0,111,0,118,0,97,0,116,0,105, +0,111,0,110,0,115,0,44,0,32,0,97,0,110,0,100,0,32,0,105,0,116,0,115,0,32,0,108,0,105,0,99,0,101,0,110,0,115,0,111,0,114,0,115,0,44,0,32,0,97,0,110,0,100,0,32,0,109,0,97,0,121,0,32,0,110,0,111,0,116,0,32,0,98,0,101,0,32,0,114,0,101,0,112,0,114,0,111,0, +100,0,117,0,99,0,101,0,100,0,44,0,32,0,117,0,115,0,101,0,100,0,44,0,32,0,100,0,105,0,115,0,112,0,108,0,97,0,121,0,101,0,100,0,44,0,32,0,109,0,111,0,100,0,105,0,102,0,105,0,101,0,100,0,44,0,32,0,100,0,105,0,115,0,99,0,108,0,111,0,115,0,101,0,100,0,32, +0,111,0,114,0,32,0,116,0,114,0,97,0,110,0,115,0,102,0,101,0,114,0,114,0,101,0,100,0,32,0,119,0,105,0,116,0,104,0,111,0,117,0,116,0,32,0,116,0,104,0,101,0,32,0,101,0,120,0,112,0,114,0,101,0,115,0,115,0,32,0,119,0,114,0,105,0,116,0,116,0,101,0,110,0,32, +0,97,0,112,0,112,0,114,0,111,0,118,0,97,0,108,0,32,0,111,0,102,0,32,0,65,0,108,0,101,0,120,0,32,0,75,0,97,0,99,0,122,0,117,0,110,0,44,0,32,0,100,0,98,0,97,0,32,0,84,0,121,0,112,0,101,0,32,0,73,0,110,0,110,0,111,0,118,0,97,0,116,0,105,0,111,0,110,0,115, +0,46,0,32,0,116,0,121,0,112,0,101,0,105,0,110,0,110,0,111,0,118,0,97,0,116,0,105,0,111,0,110,0,115,0,46,0,99,0,111,0,109,0,0,0,0,3,0,0,0,3,0,0,1,34,0,1,0,0,0,0,0,28,0,3,0,1,0,0,1,34,0,0,1,6,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100, +101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,0,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162, +163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,21,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,242,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223, +224,225,0,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,0,4,2,82,0,0,0,88,0,64,0,5,0,24,0,126,0,163,0,255,1,49,1,66,1,83,1,97,1,120,1,126,1,146,2,199,2,201,2,218,2,221,3,126,3,148,3,169,3,188,3,192,32,20,32,26,32,30,32,34,32,38,32,48,32, +58,32,68,32,172,33,34,33,38,34,2,34,6,34,15,34,18,34,21,34,26,34,30,34,43,34,72,34,96,34,101,37,202,251,2,255,255,0,0,0,32,0,160,0,165,1,49,1,65,1,82,1,96,1,120,1,125,1,146,2,198,2,201,2,216,2,219,3,126,3,148,3,169,3,188,3,192,32,19,32,24,32,28,32,32, +32,38,32,48,32,57,32,68,32,172,33,34,33,38,34,2,34,6,34,15,34,17,34,21,34,25,34,30,34,43,34,72,34,96,34,100,37,202,251,1,255,255,255,245,0,0,0,0,255,182,254,193,255,111,254,164,255,84,254,141,255,38,0,0,254,33,254,19,0,0,252,178,253,38,253,8,252,237, +252,237,224,176,0,0,0,0,0,0,224,151,224,166,224,149,224,137,224,70,223,124,223,139,222,168,222,180,222,157,0,0,222,184,0,0,222,134,222,131,222,113,222,65,222,66,219,0,5,207,0,1,0,0,0,86,0,92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,248,0,252,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,0,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,0,181,0,150,0,151,0,168,0,18,0,152,0,160,0,157,0,175,0,187,0,182,0,34,0,156,0,234,0,149,0,165,0,17,0,16,0,159,0,169,0,154,0,211,0,238, +0,14,0,176,0,188,0,13,0,12,0,15,0,180,0,190,0,217,0,215,0,191,0,116,0,117,0,162,0,118,0,219,0,119,0,216,0,218,0,223,0,220,0,221,0,222,0,243,0,120,0,227,0,224,0,225,0,192,0,121,0,20,0,163,0,230,0,228,0,229,0,122,0,6,0,8,0,155,0,124,0,123,0,125,0,127,0, +126,0,128,0,178,0,129,0,131,0,130,0,132,0,133,0,135,0,134,0,136,0,137,0,1,0,138,0,140,0,139,0,141,0,143,0,142,0,201,0,179,0,145,0,144,0,146,0,147,0,7,0,9,0,203,0,232,0,241,0,240,0,233,0,239,0,199,0,200,0,212,0,197,0,198,0,213,0,148,0,210,0,153,0,171, +0,19,0,211,0,183,0,3,0,0,0,0,0,0,255,123,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,4,2,0,1,1,1,15,67,111,110,116,97,120,80,114,111,54,53,77,101,100,0,1,1,1,47,248,15,0,248,43,1,248,44,12,0,248,45,2,248,45,3,248,23,4,251,25,12,3,159,12,4,251,52, +251,120,250,240,250,76,5,249,124,15,250,220,17,175,28,44,134,18,0,19,2,0,1,0,9,0,17,0,26,0,38,0,49,0,58,0,65,0,67,0,75,0,80,0,87,0,98,0,103,0,110,0,115,0,119,0,194,2,97,2,114,110,111,116,101,113,117,97,108,105,110,102,105,110,105,116,121,108,101,115, +115,101,113,117,97,108,103,114,101,97,116,101,114,101,113,117,97,108,112,97,114,116,105,97,108,100,105,102,102,115,117,109,109,97,116,105,111,110,112,114,111,100,117,99,116,112,105,105,110,116,101,103,114,97,108,79,109,101,103,97,114,97,100,105,99,97, +108,97,112,112,114,111,120,101,113,117,97,108,68,101,108,116,97,108,111,122,101,110,103,101,97,112,112,108,101,69,117,114,111,67,111,112,121,114,105,103,104,116,32,40,99,41,32,65,108,101,120,32,75,97,99,122,117,110,44,32,100,98,97,32,84,121,112,101,32, +73,110,110,111,118,97,116,105,111,110,115,44,32,49,57,57,55,46,32,65,108,108,32,114,105,103,104,116,115,32,114,101,115,101,114,118,101,100,46,84,104,101,32,100,105,103,105,116,97,108,108,121,32,101,110,99,111,100,101,100,32,109,97,99,104,105,110,101, +32,114,101,97,100,97,98,108,101,32,115,111,102,116,119,97,114,101,32,102,111,114,32,112,114,111,100,117,99,105,110,103,32,32,32,116,104,101,32,84,121,112,101,102,97,99,101,115,32,108,105,99,101,110,115,101,100,32,116,111,32,121,111,117,32,105,115,32, +99,111,112,121,114,105,103,104,116,101,100,32,40,99,41,32,49,57,57,55,32,65,108,101,120,32,75,97,99,122,117,110,44,32,100,98,97,32,84,121,112,101,32,73,110,110,111,118,97,116,105,111,110,115,46,32,65,108,108,32,82,105,103,104,116,115,32,82,101,115,101, +114,118,101,100,46,32,84,104,105,115,32,115,111,102,116,119,97,114,101,32,105,115,32,116,104,101,32,112,114,111,112,101,114,116,121,32,111,102,32,65,108,101,120,32,75,97,99,122,117,110,44,32,100,98,97,32,84,121,112,101,32,73,110,110,111,118,97,116,105, +111,110,115,44,32,97,110,100,32,105,116,115,32,108,105,99,101,110,115,111,114,115,44,32,97,110,100,32,109,97,121,32,110,111,116,32,98,101,32,114,101,112,114,111,100,117,99,101,100,44,32,117,115,101,100,44,32,100,105,115,112,108,97,121,101,100,44,32,109, +111,100,105,102,105,101,100,44,32,100,105,115,99,108,111,115,101,100,32,111,114,32,116,114,97,110,115,102,101,114,114,101,100,32,119,105,116,104,111,117,116,32,116,104,101,32,101,120,112,114,101,115,115,32,119,114,105,116,116,101,110,32,97,112,112,114, +111,118,97,108,32,111,102,32,65,108,101,120,32,75,97,99,122,117,110,44,32,100,98,97,32,84,121,112,101,32,73,110,110,111,118,97,116,105,111,110,115,46,32,67,111,110,116,97,120,32,80,114,111,32,54,53,32,77,101,100,0,0,1,0,167,0,0,140,0,0,146,0,0,192,0, +0,221,0,0,197,0,0,226,0,0,157,0,0,162,0,0,199,0,0,228,0,0,155,0,0,158,0,0,150,0,0,163,0,0,169,0,0,164,0,0,160,0,0,166,0,0,168,0,0,1,6,0,104,0,0,9,55,0,124,0,0,66,29,0,173,0,0,175,0,0,177,1,0,186,0,0,189,0,0,195,0,0,200,0,0,203,0,0,201,1,0,205,0,0,204, +0,0,206,1,0,210,0,0,208,1,0,211,0,0,214,0,0,212,1,0,215,1,0,219,0,0,217,1,0,220,0,0,222,0,0,225,0,0,223,1,0,112,0,0,161,0,0,97,1,0,102,0,0,116,0,0,115,0,0,149,0,0,165,0,0,170,0,0,153,0,0,125,0,0,131,0,1,135,0,0,138,0,0,141,0,1,136,0,0,156,0,1,137,1,0, +100,0,0,152,0,1,139,4,0,139,0,0,143,0,1,144,0,0,144,0,0,147,0,0,123,0,0,96,0,0,151,0,1,145,0,0,101,0,1,146,1,0,106,0,0,120,1,0,174,0,0,176,0,0,191,0,0,142,0,0,148,0,0,111,0,0,137,0,0,105,0,0,119,0,0,65,0,0,8,0,0,159,0,1,148,0,0,227,0,0,198,0,0,99,0,0, +107,3,0,113,1,0,117,1,0,122,0,0,172,0,0,179,0,0,171,0,0,180,5,0,187,1,1,149,0,0,190,0,0,193,1,0,196,0,0,145,0,0,126,4,0,132,4,1,150,0,0,154,0,0,244,2,0,1,0,4,0,98,0,156,0,209,0,218,0,227,0,235,0,243,1,28,1,42,1,51,1,59,1,104,1,159,1,179,2,2,2,40,2,61, +2,94,2,105,2,156,2,159,2,195,2,214,3,32,3,168,3,187,4,70,4,83,4,133,4,187,4,242,5,19,5,30,5,47,5,58,5,75,5,146,5,177,5,245,6,91,6,142,6,223,7,49,7,76,7,201,8,17,8,31,8,42,8,67,8,91,8,117,8,213,9,135,9,186,10,39,10,50,10,66,10,95,10,122,10,214,10,253, +11,14,11,63,11,104,11,125,11,184,11,228,11,251,12,30,12,78,12,141,12,247,13,20,13,78,13,111,13,169,13,221,14,4,14,34,14,67,14,85,14,116,14,150,14,166,14,190,15,3,15,30,15,52,15,93,15,171,15,187,15,242,16,32,16,55,16,112,16,154,16,170,16,228,17,14,17, +44,17,54,17,83,17,124,17,226,18,5,18,55,18,88,18,144,18,198,18,236,19,10,19,111,19,135,19,235,20,13,20,21,20,30,20,95,20,103,20,112,20,116,20,120,20,127,20,131,20,135,20,139,20,143,20,151,20,205,20,212,20,219,20,226,20,233,20,240,20,247,20,253,21,4,21, +12,21,20,21,24,21,28,21,32,21,36,21,44,21,48,21,52,21,56,21,92,21,148,21,242,22,90,23,2,23,33,23,118,23,228,24,85,24,234,25,55,25,67,25,110,25,192,25,248,26,111,26,220,27,2,27,44,27,81,27,147,27,200,28,34,28,97,28,146,28,183,29,5,29,112,29,183,30,16, +30,116,30,229,31,71,31,109,31,137,31,182,32,31,32,79,32,114,32,128,32,158,32,194,32,202,32,210,32,219,33,53,33,144,33,160,33,177,33,199,33,222,33,233,33,244,34,42,34,86,34,94,34,102,34,122,34,132,34,142,34,194,34,220,35,14,35,26,35,37,35,63,35,104,35, +112,35,120,35,128,35,136,35,144,35,152,35,156,35,160,35,164,35,173,35,177,36,13,36,17,36,26,36,30,36,34,36,51,36,80,36,144,36,159,36,203,36,235,37,32,37,70,37,95,37,150,37,177,38,51,38,82,251,173,14,151,131,229,247,195,228,247,128,119,10,247,130,21,247, +19,53,247,23,44,232,30,241,186,104,213,251,24,78,113,161,116,158,115,159,25,64,83,159,126,162,122,157,124,25,251,4,86,175,66,247,34,205,172,108,170,103,154,118,25,146,122,118,145,110,27,251,15,251,6,251,0,251,21,251,25,247,5,251,4,247,23,247,28,247,4, +247,3,247,27,31,42,135,67,10,116,139,227,248,214,119,18,157,247,86,41,237,19,224,248,151,22,227,251,195,247,119,7,247,61,247,3,5,235,7,251,61,251,3,5,247,147,151,10,41,251,210,6,19,224,43,76,5,43,151,10,235,202,5,251,144,7,14,251,149,149,10,18,155,247, +86,42,236,42,247,87,19,200,247,200,248,59,21,233,7,19,224,41,75,5,247,139,151,10,42,251,201,6,19,224,42,75,5,45,151,10,236,202,5,251,188,236,247,251,7,14,146,247,40,247,36,222,247,99,14,75,247,6,139,247,7,247,99,14,128,247,71,247,36,228,96,10,110,247, +38,139,247,13,96,10,152,160,118,247,32,227,247,107,227,247,27,152,10,247,134,238,3,248,173,247,227,21,247,4,50,223,251,15,30,251,21,247,27,41,253,46,237,247,32,50,10,113,10,247,78,119,57,10,247,151,43,254,22,41,10,136,247,39,247,36,229,247,99,14,36,235, +139,247,14,247,99,14,247,89,139,205,86,118,247,243,208,247,154,119,18,247,26,216,248,59,218,19,188,249,93,22,36,10,247,53,249,54,21,62,6,19,124,252,13,77,10,155,247,164,52,10,14,142,10,248,137,119,18,247,26,216,247,255,215,19,124,249,91,245,21,206,78, +247,144,120,7,251,160,115,10,75,248,204,21,63,6,19,188,252,13,77,10,140,247,164,52,10,248,76,48,21,52,6,226,235,5,14,251,132,247,177,118,248,46,119,1,247,26,216,3,247,103,247,156,52,10,14,142,10,224,207,247,14,205,231,207,18,247,135,217,75,217,247,141, +215,19,126,128,249,101,245,21,206,78,247,144,119,7,251,159,115,10,112,248,204,21,62,6,19,189,128,252,12,77,10,217,248,33,21,183,116,170,100,158,30,19,126,128,42,10,19,125,128,55,10,247,141,251,108,21,51,6,227,235,5,14,251,72,247,150,207,247,14,205,231, +207,18,247,139,217,75,217,19,232,247,231,248,25,21,183,116,170,100,158,30,19,240,42,10,19,232,55,10,14,251,72,247,154,205,247,169,208,1,247,147,218,3,247,226,247,154,21,36,10,14,251,241,87,118,249,128,119,1,208,223,3,247,45,248,49,21,247,154,55,251,154, +7,223,252,122,21,247,154,55,251,154,7,14,168,247,128,221,1,248,186,247,128,72,10,168,203,118,248,103,119,1,248,170,240,21,251,67,247,69,247,67,247,67,81,196,251,67,251,66,251,68,247,66,81,82,247,69,251,67,251,69,251,69,196,81,247,69,247,70,247,68,251, +70,5,14,251,173,14,251,173,131,247,17,248,219,119,18,221,247,18,251,3,235,19,208,247,85,247,80,21,248,148,43,252,148,7,19,224,247,3,251,25,68,10,251,25,135,10,215,223,3,247,233,248,81,21,124,10,63,22,124,10,14,150,160,118,247,105,211,247,0,212,247,92, +119,1,248,182,248,29,21,212,34,7,116,10,251,2,6,116,10,251,7,66,243,6,122,251,0,5,251,7,67,243,6,107,136,10,247,2,6,106,136,10,247,7,211,34,6,156,247,0,5,64,22,122,251,0,5,251,3,6,156,247,0,5,14,150,73,118,249,210,119,18,201,227,70,234,212,211,230,233, +19,220,248,142,247,94,21,232,89,196,251,27,175,30,247,73,7,183,130,173,107,148,89,228,158,24,125,224,76,205,40,150,8,223,67,53,7,44,123,66,68,48,26,58,186,87,247,13,108,30,251,111,7,19,236,84,151,98,180,136,205,51,119,24,145,43,213,62,246,126,8,43,211, +236,7,246,154,217,216,239,26,251,149,247,99,21,19,220,86,158,119,160,173,26,180,168,172,183,150,30,247,55,252,3,21,87,103,99,84,127,30,247,90,7,205,117,164,113,93,26,14,247,109,64,10,3,249,128,247,50,21,34,10,247,187,251,242,21,40,10,247,83,130,223,85, +118,248,6,222,247,24,228,18,216,235,95,235,19,180,249,84,248,6,21,222,251,194,56,224,7,168,93,146,67,114,91,251,86,247,94,24,90,189,109,164,174,26,176,168,171,191,174,167,127,113,164,30,194,213,5,180,98,85,151,89,27,35,68,67,59,76,176,94,171,106,31,19, +184,80,107,77,65,55,26,60,204,251,13,247,69,217,200,173,182,181,30,19,120,204,71,5,247,21,6,251,27,247,33,188,219,138,232,112,195,25,251,29,251,135,21,19,184,115,115,96,111,86,27,50,78,204,199,190,173,182,188,167,31,14,251,185,135,10,3,247,73,248,81, +21,124,10,14,132,10,216,234,3,247,204,251,51,21,42,247,32,96,247,28,247,27,26,247,27,182,247,27,236,247,31,30,66,184,5,51,251,5,65,251,47,251,78,26,251,78,213,251,49,227,251,4,30,14,132,10,247,60,234,3,247,155,247,144,21,247,78,65,247,47,51,247,5,30, +66,94,5,236,251,31,182,251,27,251,27,26,251,27,96,251,28,42,251,32,30,212,95,5,227,247,4,213,247,49,247,78,26,14,150,248,7,118,247,250,119,1,247,141,222,3,248,115,248,174,21,110,229,251,15,86,150,247,25,5,45,6,150,251,24,251,15,190,110,49,247,22,109, +53,38,215,83,207,247,7,208,251,5,216,194,51,239,5,14,168,186,118,247,102,221,247,102,145,10,247,128,21,221,251,101,247,102,57,251,102,251,101,57,247,101,251,102,221,247,102,7,14,150,10,247,148,119,1,247,107,244,99,10,251,118,247,108,224,1,247,195,247, +108,21,224,251,153,54,7,14,251,173,130,247,17,75,10,192,21,71,10,139,10,248,3,249,114,21,53,164,251,142,253,207,224,114,5,14,150,131,229,248,138,229,1,195,236,247,168,236,3,248,162,247,225,21,247,151,251,7,221,251,12,251,19,251,0,57,251,151,251,151,247, +0,57,247,19,247,12,247,7,221,247,151,30,42,22,251,83,78,79,62,55,85,199,247,83,247,83,193,199,223,216,200,97,251,101,30,14,150,160,118,249,54,119,1,247,174,236,3,248,15,22,249,54,80,7,251,92,60,172,60,247,21,192,5,252,205,7,14,150,139,225,248,134,229, +1,248,25,238,3,248,124,22,225,251,155,7,247,67,247,92,5,199,208,164,192,197,26,247,9,51,230,251,16,51,69,94,46,97,30,215,94,5,203,170,179,168,190,27,203,193,85,76,100,118,104,87,79,31,251,172,251,212,5,126,7,14,150,131,229,247,125,225,247,75,229,18,248, +11,235,66,236,19,232,248,131,247,94,21,211,101,199,64,165,30,19,240,202,167,165,185,197,26,242,53,218,251,13,60,79,107,73,89,30,218,91,5,181,170,180,153,180,27,197,189,103,83,76,94,111,38,31,76,53,231,6,19,232,213,205,92,71,75,79,85,67,85,85,161,186, +110,31,60,91,5,67,187,212,100,227,27,247,24,243,231,247,10,31,14,150,160,118,247,75,224,248,56,119,1,247,246,235,3,248,187,247,74,21,225,38,248,56,126,7,252,54,252,119,5,117,247,227,251,75,235,247,74,7,43,225,21,251,65,6,247,65,247,92,5,14,150,131,229, +247,180,229,247,12,225,1,243,231,247,105,235,3,248,141,247,120,21,247,33,38,230,251,33,113,115,136,135,122,30,247,19,247,154,225,251,246,251,239,7,179,193,191,150,184,27,231,201,88,48,49,67,83,51,96,96,151,181,93,31,74,76,5,80,197,199,117,211,27,247, +40,247,7,233,247,34,31,14,150,131,229,247,195,223,247,113,119,10,247,128,21,247,32,32,232,251,15,116,117,136,128,117,30,165,169,239,242,213,185,63,195,24,251,0,54,251,103,251,79,251,73,26,251,26,247,4,251,3,247,27,247,24,247,5,247,4,247,24,30,42,136, +21,56,71,71,57,57,72,207,222,223,206,207,221,221,207,71,55,30,14,150,160,118,248,214,227,1,248,186,249,33,21,152,252,98,51,247,210,7,251,176,252,214,5,242,6,14,150,131,229,247,119,229,247,77,229,18,194,236,66,236,247,122,235,67,236,19,242,248,163,247, +86,21,213,99,203,59,165,30,19,236,202,161,171,193,200,26,240,46,217,251,10,251,9,44,61,38,78,171,85,203,117,30,19,242,59,112,99,76,65,26,251,6,241,51,247,26,247,26,241,227,247,6,30,19,236,251,13,247,190,21,88,93,97,70,67,96,181,190,190,183,180,210,209, +184,98,88,30,19,242,163,251,190,21,77,83,89,56,55,84,189,201,204,193,189,224,223,194,89,74,30,14,150,136,118,247,113,223,247,195,229,1,183,236,247,191,235,3,248,172,248,65,21,247,26,251,4,247,3,251,27,251,24,251,5,251,4,251,24,251,32,246,46,247,15,162, +161,142,150,161,30,113,109,39,36,65,93,215,83,24,247,0,224,247,103,247,79,247,73,26,43,143,67,10,251,173,130,247,17,247,50,53,10,251,176,4,71,10,150,10,248,61,53,10,146,251,124,99,10,133,10,153,21,221,7,252,33,247,73,248,33,247,73,5,221,7,252,140,251, +120,5,69,7,14,168,247,30,221,247,6,221,1,248,186,247,226,21,221,252,136,57,7,248,136,251,88,72,10,133,10,247,134,21,209,7,252,140,247,120,5,57,7,248,33,251,73,252,33,251,73,5,57,7,14,32,131,247,18,248,127,230,18,247,25,247,19,251,5,236,217,235,19,216, +248,54,248,167,21,246,39,201,39,47,81,98,67,103,30,225,98,5,184,162,169,157,187,27,191,190,107,91,87,108,111,97,106,31,57,73,119,87,251,2,26,236,6,223,157,178,205,191,30,211,194,157,192,199,26,19,232,251,50,252,112,21,174,110,167,104,104,111,111,104, +104,167,111,174,174,137,10,248,37,102,211,247,2,216,247,156,207,239,212,1,228,224,247,7,236,248,49,223,3,250,7,248,53,21,247,75,251,39,247,19,251,113,251,124,251,86,251,69,251,115,251,119,247,59,251,29,247,128,247,32,247,16,198,193,203,30,98,195,5,78, +57,48,103,37,27,251,93,251,21,246,247,74,247,85,247,50,247,29,247,84,247,61,245,46,251,33,251,9,77,58,71,118,126,150,161,155,145,160,146,165,31,204,247,112,5,51,6,124,86,5,189,118,104,158,79,27,33,40,251,6,251,25,43,197,73,222,192,189,161,199,173,31, +93,167,103,206,247,7,245,247,14,247,42,30,251,198,141,21,138,100,127,94,117,92,8,92,116,109,115,100,27,101,113,171,194,220,195,240,207,181,164,106,105,31,14,209,160,118,247,91,227,248,37,119,1,249,27,22,251,212,249,68,5,127,6,251,212,253,68,5,245,6,230, +247,91,5,247,150,6,229,251,91,5,251,23,247,179,21,251,69,6,228,247,84,5,14,201,139,227,247,103,228,247,82,227,18,237,237,247,142,238,58,238,19,244,248,199,247,86,21,211,102,193,72,168,30,19,248,192,161,172,191,200,26,205,98,247,8,251,51,30,251,139,253, +46,247,139,6,19,244,247,61,188,247,7,218,31,19,248,251,9,247,181,21,74,96,109,52,30,251,12,247,82,247,12,6,226,182,108,75,31,19,244,157,251,181,21,93,113,79,36,30,251,31,247,103,247,31,6,242,165,80,93,31,14,223,131,103,10,3,35,10,87,10,146,10,247,27, +139,227,248,126,61,10,253,46,62,10,248,126,93,10,143,139,227,247,97,120,10,22,227,251,195,247,97,247,183,227,251,183,247,89,247,195,227,252,37,253,46,7,14,127,160,118,247,185,120,10,248,214,21,227,252,37,253,46,237,247,185,247,183,227,251,183,247,89, +7,14,247,93,131,231,247,99,227,247,95,231,1,190,239,248,105,240,3,249,101,247,222,21,188,251,226,51,247,125,7,251,6,135,45,46,251,20,27,251,29,33,247,2,247,31,247,31,246,247,2,247,28,212,201,108,73,199,31,212,199,5,225,68,46,182,35,27,251,81,251,46,251, +45,251,80,251,80,247,44,251,45,247,83,247,88,247,23,247,47,247,75,31,14,247,24,160,118,247,191,227,247,171,152,10,247,203,237,3,248,241,22,249,46,41,251,171,251,203,247,171,41,253,46,237,247,191,247,203,251,191,7,14,251,151,91,10,246,237,3,247,97,22, +249,46,41,253,46,7,14,71,131,231,248,218,119,1,247,203,237,3,248,45,247,123,21,248,71,41,252,71,7,50,86,81,62,96,105,157,185,104,30,68,78,5,71,191,197,112,212,27,247,26,233,235,247,35,31,14,245,91,10,237,237,3,249,44,22,251,240,247,229,247,206,247,221, +5,251,19,6,251,199,251,215,5,247,215,41,253,46,237,247,216,7,247,224,251,216,5,14,100,139,227,248,214,152,10,3,248,135,22,227,251,195,248,214,41,253,46,7,14,247,217,138,118,182,118,249,68,119,1,250,1,22,251,120,249,68,5,127,6,251,81,252,112,251,80,248, +112,5,126,6,251,120,253,68,5,240,6,247,34,248,71,247,72,252,93,5,151,6,247,72,248,93,247,34,252,71,5,14,247,63,138,118,182,118,249,46,119,181,152,10,247,243,237,3,249,25,117,21,249,68,41,252,93,7,252,73,248,115,5,127,253,68,237,248,93,6,248,72,252,115, +5,14,247,109,131,103,10,248,123,239,3,249,118,247,225,21,60,10,143,10,30,39,22,49,10,152,160,118,247,167,227,247,107,104,10,247,134,238,3,248,173,248,106,21,247,4,49,223,251,14,30,251,119,253,46,237,247,167,50,10,247,109,251,36,118,247,49,103,10,248, +123,239,3,249,121,54,21,251,96,247,0,5,246,187,233,247,6,247,40,26,60,10,145,147,140,139,30,247,178,251,50,5,83,248,134,21,49,10,202,160,118,247,175,211,247,115,104,10,247,148,238,3,249,4,22,251,129,247,175,5,230,143,212,219,238,26,247,4,57,227,251,30, +30,251,125,253,46,237,248,214,247,20,6,215,191,95,71,72,87,95,63,31,35,130,6,247,174,251,238,5,14,146,131,231,248,134,232,18,186,234,65,239,247,136,239,19,216,248,148,247,88,21,239,85,201,251,45,176,30,39,164,102,161,187,26,192,188,178,206,202,188,105, +73,151,30,233,159,5,238,123,62,213,251,14,27,251,12,40,58,251,1,52,189,81,247,37,106,31,247,2,113,178,112,80,26,75,85,92,61,30,19,232,63,80,183,222,136,31,44,118,5,251,3,147,230,52,247,23,27,247,24,242,225,247,10,31,14,84,160,118,248,214,227,1,247,101, +237,3,248,129,248,214,21,227,252,105,51,247,77,252,214,237,248,214,7,14,247,39,131,231,248,218,119,1,233,237,247,227,237,3,249,5,247,162,21,248,32,41,252,27,7,251,8,69,64,41,41,70,214,247,8,30,248,27,41,252,32,7,251,65,247,14,34,247,35,247,35,247,15, +244,247,65,30,14,209,138,118,249,68,119,1,249,27,249,46,21,32,6,251,111,252,115,251,112,248,115,5,33,6,247,212,253,68,5,151,6,14,247,217,138,118,249,68,119,181,119,1,250,1,249,46,21,38,6,251,34,252,71,251,72,248,93,5,127,6,251,72,252,93,251,34,248,71, +5,38,6,247,120,253,68,5,152,6,247,80,248,112,247,81,252,112,5,151,6,14,163,91,10,248,231,22,251,131,247,238,247,114,247,212,5,251,10,6,251,56,251,126,251,55,247,126,5,251,10,6,247,114,251,212,251,131,251,238,5,247,10,6,247,72,247,153,247,73,251,153,5, +14,128,91,10,247,123,237,3,248,215,249,46,21,251,7,6,251,76,251,160,251,76,247,160,5,251,8,6,247,143,252,7,5,251,187,237,247,187,7,14,136,139,227,248,126,227,1,248,179,249,46,21,252,133,51,247,218,6,252,0,252,214,5,248,163,227,251,248,6,14,131,10,247, +0,230,48,247,75,19,208,247,183,251,77,21,220,7,19,224,47,249,90,6,19,208,231,220,251,75,253,252,6,14,139,10,247,234,71,21,251,142,249,207,53,114,247,142,253,207,5,14,131,10,187,247,76,47,231,19,224,247,124,251,77,21,249,252,251,76,58,151,10,231,253,90, +6,19,224,47,58,6,14,161,248,26,118,247,255,119,1,248,155,248,5,21,251,114,247,255,251,115,251,255,5,236,6,247,17,247,100,247,19,251,100,5,14,68,251,47,225,1,248,136,251,47,21,225,252,136,53,7,14,248,235,118,247,106,119,1,247,140,248,214,21,251,43,247, +106,69,95,247,22,251,62,5,14,116,131,221,86,105,10,18,180,235,247,123,236,19,120,248,130,22,115,185,134,182,173,26,247,107,7,247,35,251,1,172,53,61,70,112,89,80,30,63,10,19,184,53,207,85,238,209,203,176,178,174,30,19,120,141,119,144,110,151,120,8,111, +247,119,21,19,184,73,10,97,10,222,235,247,212,235,19,124,47,10,247,151,43,253,80,235,204,7,19,188,98,173,197,107,33,10,100,131,76,10,3,38,10,251,35,247,8,251,10,247,36,210,202,163,197,196,31,14,97,10,185,235,247,212,235,19,124,248,194,22,249,80,43,251, +151,56,10,31,19,188,84,10,209,197,171,180,173,30,19,124,74,7,247,145,4,19,188,32,10,168,131,229,247,25,224,247,16,229,1,248,193,247,148,21,247,33,36,247,9,251,40,251,36,251,8,251,9,251,36,251,35,247,9,251,10,247,36,216,214,169,205,198,30,72,200,5,114, +10,127,31,248,43,6,139,141,162,157,26,36,183,21,251,197,6,210,155,204,192,215,27,215,194,91,63,156,31,14,251,102,109,10,3,248,54,249,21,21,185,97,91,160,46,10,209,251,98,229,247,0,92,10,198,21,248,83,58,10,220,196,179,172,163,31,251,4,69,70,45,81,94, +162,188,100,30,68,83,5,67,195,211,105,222,27,247,43,247,3,247,9,247,40,31,43,247,86,21,32,10,172,160,105,10,247,78,119,117,10,247,181,7,247,36,44,220,251,8,80,88,111,109,115,30,247,136,43,253,80,235,247,178,7,226,194,190,210,209,192,87,53,30,251,178, +7,14,160,118,248,219,247,18,107,10,65,10,19,208,125,253,26,21,248,142,42,252,142,7,14,251,98,229,249,80,247,17,107,10,249,27,21,173,111,69,10,167,167,174,30,19,208,125,253,51,21,248,166,42,252,137,7,60,113,97,83,120,125,144,156,115,30,82,76,5,102,184, +171,127,180,27,242,211,221,239,31,14,136,149,10,1,222,235,3,248,193,22,251,152,247,153,247,130,247,137,5,251,15,6,251,125,251,132,5,248,70,43,253,80,235,247,145,7,247,144,251,145,5,14,149,10,1,231,236,3,247,81,22,249,80,42,253,80,7,14,247,230,160,105, +10,1,222,235,247,120,236,247,120,235,20,56,249,208,22,247,199,7,247,11,60,227,251,12,63,83,103,83,108,30,193,114,85,177,63,27,80,91,114,105,114,31,190,43,252,142,235,82,10,236,82,10,7,14,172,160,105,10,117,10,247,188,7,247,29,51,220,251,8,77,86,111,107, +113,30,191,43,252,142,235,247,180,7,225,194,189,210,209,192,90,53,30,251,181,7,14,182,131,76,10,247,222,235,3,248,204,247,145,21,247,36,251,9,247,9,251,36,78,10,144,10,30,43,22,70,10,113,10,57,10,204,43,253,84,41,10,209,251,69,118,247,82,92,10,251,90, +21,249,84,58,10,209,197,170,181,173,31,251,155,7,248,87,4,32,10,251,102,160,118,248,151,119,1,222,235,3,247,236,248,59,21,231,7,59,133,89,108,104,94,8,212,43,252,142,235,247,129,7,223,181,225,247,15,155,30,14,75,131,229,247,234,229,18,181,236,61,236, +247,86,235,19,216,248,84,247,43,21,216,101,191,251,29,168,30,62,155,101,150,170,26,171,176,164,190,189,179,120,83,153,30,235,158,5,229,121,75,195,251,4,27,251,1,57,72,54,72,175,90,247,24,112,31,222,123,179,124,102,26,98,97,111,81,30,19,232,78,90,163, +208,136,31,42,118,5,40,147,215,76,247,10,27,247,11,224,206,231,31,14,251,114,110,10,247,52,119,1,247,1,235,3,247,227,248,57,21,224,251,22,247,52,43,251,52,41,54,237,252,57,235,248,57,7,14,172,131,229,78,153,10,18,219,235,247,141,235,19,120,134,10,19, +184,53,84,89,68,69,86,188,225,30,247,181,43,251,188,7,251,29,227,58,247,8,201,192,167,171,165,30,19,120,87,7,14,98,134,118,248,168,119,1,248,162,248,142,21,33,6,251,47,251,221,251,46,247,221,5,32,6,247,146,252,168,5,153,6,14,247,124,134,118,248,196,119, +1,249,158,248,142,21,38,6,251,10,251,205,251,43,247,233,5,127,6,251,45,251,234,251,9,247,206,5,37,6,247,99,252,168,5,153,6,247,48,247,250,247,49,251,250,5,153,6,14,68,160,153,10,1,248,128,22,251,76,247,149,247,70,247,141,5,251,7,6,251,13,251,60,251,13, +247,60,5,251,7,6,247,70,251,141,251,75,251,149,5,247,7,6,247,18,247,69,247,19,251,69,5,14,110,251,73,118,249,88,119,1,248,174,248,142,21,32,6,251,52,251,224,251,54,247,224,5,33,6,247,107,252,70,251,26,251,166,5,245,6,14,36,139,225,247,226,225,1,248,71, +248,142,21,252,32,53,247,125,6,251,157,252,56,5,248,57,225,251,150,6,14,251,123,251,77,213,249,104,213,18,247,8,230,48,247,72,19,208,247,188,251,75,21,211,7,19,224,57,132,152,214,31,247,49,7,199,121,170,97,164,30,182,163,156,167,201,26,247,55,151,10, +212,146,151,221,140,30,211,7,141,119,135,139,131,27,35,95,96,38,31,251,67,7,87,127,118,81,129,30,68,7,197,131,151,116,87,26,251,56,7,251,1,181,96,244,147,144,139,141,159,30,14,251,241,251,71,118,250,124,119,1,208,223,3,247,45,251,92,21,250,124,55,254, +124,7,14,251,123,251,74,213,249,104,213,18,183,247,72,48,230,19,224,247,186,247,109,21,210,7,81,149,127,160,191,26,247,67,7,240,95,182,35,131,135,139,137,119,30,67,151,10,221,138,146,127,66,26,251,55,7,77,156,111,182,115,30,97,114,121,108,79,26,251,49, +7,19,224,64,132,126,57,30,67,7,137,159,144,139,147,27,244,181,182,247,1,31,247,56,7,191,151,162,197,147,30,14,168,247,91,221,73,118,214,221,148,119,18,19,144,248,185,247,215,21,74,176,100,10,19,96,45,10,19,144,88,10,214,170,31,14,209,247,72,247,36,204, +95,10,209,247,72,247,30,204,247,94,14,223,251,120,193,206,247,83,47,231,74,118,248,220,231,18,190,239,247,126,224,19,206,35,10,31,19,158,251,59,247,12,251,31,247,50,110,30,19,206,140,93,34,139,31,43,10,247,27,161,201,166,121,10,19,174,159,187,5,141,140, +139,141,27,146,10,143,247,41,247,36,208,96,10,247,63,247,128,247,36,217,155,10,101,10,95,10,102,10,95,10,116,247,27,139,236,96,10,111,10,112,10,111,10,106,10,111,10,95,10,111,10,155,10,116,247,20,139,236,247,94,14,100,251,120,193,206,247,81,50,228,247, +234,229,18,185,235,247,64,224,19,220,38,10,251,19,230,33,247,12,116,31,95,35,5,43,10,247,26,162,201,166,121,10,19,188,159,188,207,142,197,163,192,193,25,14,168,247,68,139,240,96,10,168,247,62,139,240,112,10,168,247,62,139,240,106,10,168,247,60,139,240, +95,10,139,139,247,86,247,137,14,139,139,247,85,247,137,14,139,139,247,137,106,10,139,139,247,92,247,137,14,172,247,66,139,247,2,155,10,182,247,63,139,247,3,96,10,90,10,112,10,90,10,106,10,90,10,95,10,90,10,155,10,172,247,58,139,247,9,96,10,123,10,112, +10,123,10,106,10,123,10,95,10,150,251,35,118,248,187,227,247,117,125,10,248,169,248,23,21,227,251,86,247,117,43,251,117,251,87,51,247,87,252,187,235,248,187,7,14,68,248,36,218,247,42,218,1,235,219,247,40,219,3,248,40,248,190,21,224,70,208,54,54,70,70, +54,54,208,70,224,224,208,208,224,30,59,22,98,106,105,98,98,106,173,180,180,172,173,180,180,172,105,98,30,14,150,142,118,249,80,119,1,202,235,247,7,211,3,248,150,247,51,21,73,202,106,107,106,123,103,134,25,247,230,7,176,134,172,122,171,107,205,203,24, +87,189,84,166,78,143,8,223,67,51,7,251,13,117,49,33,251,20,26,251,19,230,32,247,12,117,30,39,211,235,7,200,144,196,164,189,190,8,251,132,155,21,72,161,91,205,214,26,216,187,203,206,161,30,14,150,139,225,247,95,223,247,103,229,18,247,12,236,113,236,19, +240,248,164,248,234,21,188,90,83,166,60,27,32,251,9,64,251,25,93,155,100,141,131,31,54,55,247,7,6,19,232,142,132,159,91,100,26,100,123,98,114,110,30,60,53,248,80,225,251,154,6,152,159,161,173,194,26,187,123,178,137,146,30,247,58,223,251,89,6,19,240,136, +146,120,181,183,26,191,181,205,224,180,183,119,108,171,30,14,150,251,98,228,249,116,228,18,190,236,99,237,247,77,237,83,235,19,212,248,165,247,107,21,233,58,195,57,183,30,62,181,56,170,200,26,190,181,164,185,193,179,96,81,30,233,161,5,247,2,126,75,197, +251,1,27,45,45,79,33,100,154,106,163,112,31,19,232,85,118,97,83,80,26,32,226,83,223,93,30,220,96,227,107,73,26,89,87,115,97,85,93,175,212,135,30,45,117,5,251,9,154,216,80,247,0,27,247,0,221,204,238,185,120,179,106,167,31,19,228,193,165,177,195,200,26, +43,128,21,101,112,112,107,125,30,96,166,96,158,95,163,8,94,165,88,172,195,26,174,168,170,170,151,30,182,112,182,116,181,116,8,181,116,194,102,88,26,14,68,247,83,118,247,224,119,1,248,52,247,228,21,231,64,213,47,48,64,64,48,48,214,64,230,231,214,213,231, +30,14,150,251,56,215,248,2,218,247,159,215,18,167,247,38,137,247,72,59,219,207,218,19,246,248,207,249,4,21,215,251,191,7,251,5,251,23,83,251,47,251,43,247,17,79,247,11,31,252,2,7,19,234,39,63,247,72,249,168,207,253,168,218,249,168,6,19,246,251,119,251, +159,21,77,141,103,197,211,26,211,175,196,201,141,30,14,130,129,227,82,118,247,229,220,247,91,229,18,222,235,247,103,235,73,236,19,186,248,153,247,107,21,225,96,213,56,148,30,19,124,138,139,140,139,31,204,162,170,189,212,26,247,7,32,200,40,251,12,62,58, +251,9,30,252,145,235,248,129,7,235,182,167,202,202,181,94,86,58,78,115,56,143,30,58,7,19,186,247,3,202,121,251,7,64,88,88,57,124,113,145,139,31,49,7,139,168,135,153,247,27,232,229,247,27,30,14,184,247,164,191,247,148,187,191,192,1,214,194,220,195,247, +111,195,3,248,178,248,138,21,247,20,35,242,251,21,251,22,35,36,251,20,251,21,243,38,247,22,247,21,243,240,247,21,30,83,22,41,60,59,41,40,59,219,237,237,219,219,238,238,217,59,41,30,83,251,18,21,67,237,5,170,145,163,170,173,26,182,108,179,85,30,251,9, +251,144,195,247,96,188,6,163,156,125,117,118,122,126,115,31,97,139,6,131,7,229,251,18,5,14,247,107,131,205,214,213,247,141,213,217,205,1,191,205,223,217,248,24,205,3,249,114,247,225,21,247,80,251,45,247,45,251,80,251,80,251,45,251,45,251,80,251,80,247, +45,251,45,247,80,247,80,247,45,247,45,247,80,30,73,22,251,42,251,17,251,17,251,42,251,44,251,15,247,17,247,42,247,42,247,15,247,17,247,44,247,42,247,17,251,17,251,42,30,251,12,251,25,21,84,189,5,108,107,111,127,106,27,72,86,195,209,208,192,193,207,172, +166,126,108,171,31,194,194,5,182,93,92,159,85,27,251,2,50,52,251,2,251,2,228,49,247,2,193,186,157,188,185,31,14,247,187,247,217,118,247,223,204,161,119,1,247,40,213,3,249,194,247,215,21,251,25,248,35,5,127,6,43,251,137,41,247,137,5,126,6,251,23,252,35, +5,214,6,208,247,105,231,251,124,5,151,6,229,247,124,209,251,105,5,252,30,247,204,21,204,251,213,74,247,16,251,204,213,247,204,7,14,248,235,118,247,106,119,1,247,166,98,10,14,248,234,247,11,1,123,247,11,215,247,10,3,247,189,249,38,21,171,112,166,107,138, +10,171,166,166,172,30,251,86,22,171,112,166,106,138,10,172,166,166,172,30,14,168,165,247,86,57,221,247,6,221,57,247,89,18,19,160,248,186,247,30,21,221,251,129,7,198,247,6,5,247,70,221,251,30,6,19,144,197,247,7,5,52,6,19,160,82,251,7,5,251,168,57,247, +127,6,81,251,6,5,251,69,6,19,96,57,247,28,7,19,160,83,251,4,5,226,6,19,96,194,247,4,5,14,247,201,139,227,247,71,228,76,227,247,89,227,18,248,54,237,19,184,249,183,80,10,252,81,7,252,23,253,46,5,245,6,19,216,247,48,247,159,5,247,77,251,159,6,247,248,4, +251,26,6,247,26,247,122,5,14,247,109,126,118,186,118,249,62,119,185,119,1,190,239,248,123,239,3,249,133,249,80,21,251,0,6,74,60,5,172,85,76,159,70,27,85,10,47,175,57,198,77,31,251,1,251,23,5,247,0,6,204,218,5,106,192,203,119,206,27,143,10,230,104,221, +79,201,31,134,251,127,21,83,10,94,96,152,160,103,30,247,204,248,11,5,174,96,160,84,77,26,251,11,247,107,21,251,203,252,12,5,102,182,119,195,201,26,247,32,246,128,10,185,180,126,118,177,30,14,234,247,71,215,247,54,215,1,145,213,248,142,213,3,249,40,247, +230,21,230,77,203,47,73,86,108,71,85,30,206,85,83,171,77,27,48,75,73,48,46,203,75,229,204,191,168,209,195,31,73,194,197,106,201,27,230,200,203,234,31,65,135,21,91,108,108,92,96,102,163,196,92,30,200,189,169,159,184,27,187,171,106,89,31,251,193,141,21, +83,94,100,114,96,27,93,107,172,187,187,171,172,186,184,174,115,82,185,31,14,168,139,221,247,98,221,247,75,145,10,247,180,21,221,251,101,247,75,57,251,75,251,101,57,247,101,251,64,221,247,64,7,247,101,251,180,72,10,168,139,220,248,111,119,1,248,186,241, +21,222,7,252,25,247,36,248,25,247,36,5,222,7,252,136,251,84,5,69,7,248,136,251,186,21,220,252,136,58,7,14,168,139,221,248,110,119,1,248,186,247,186,21,209,7,252,136,247,84,5,56,7,248,25,251,36,252,25,251,36,5,56,7,248,136,37,72,10,150,160,118,247,36, +211,212,211,247,197,125,10,248,197,249,46,21,251,2,6,251,52,251,163,251,53,247,163,5,251,1,6,247,73,251,197,5,251,24,67,247,65,66,251,57,67,247,57,251,36,235,247,36,247,57,211,251,57,212,247,65,211,251,25,6,14,172,122,10,78,153,10,18,221,235,247,139, +235,19,188,134,10,19,220,53,84,89,70,68,87,188,225,30,247,181,43,253,84,235,247,136,7,101,169,178,123,193,27,192,185,162,174,164,31,19,188,89,7,14,150,131,217,247,201,218,247,142,119,1,197,225,247,180,225,3,248,154,247,166,21,247,142,251,19,247,47,251, +129,168,30,112,69,247,24,122,247,14,81,174,251,47,25,172,103,92,156,89,27,251,15,37,34,251,20,251,24,240,38,247,19,247,32,231,247,1,247,65,31,53,91,21,50,76,72,57,61,74,206,226,226,204,207,220,221,199,76,49,30,14,247,59,251,90,218,249,86,218,18,248,197, +217,70,216,19,208,249,27,251,90,21,247,108,62,251,29,252,41,7,247,136,248,5,251,133,247,229,5,19,224,248,29,251,29,217,247,108,252,217,73,6,247,143,251,243,251,143,252,17,5,73,7,14,247,59,251,90,207,249,108,207,1,247,15,222,247,218,222,3,249,82,251,90, +21,207,52,249,108,226,207,253,46,71,226,253,108,52,71,247,149,207,52,249,108,247,218,253,108,52,71,7,14,150,160,118,248,71,218,1,236,231,247,95,232,3,248,186,248,71,21,218,252,154,60,204,252,71,231,248,71,247,95,252,71,232,248,71,7,14,150,251,98,194, +84,247,60,249,11,247,49,18,247,4,212,207,216,207,212,20,28,19,188,248,107,248,229,21,247,7,108,181,60,63,107,80,61,30,253,89,7,102,129,121,116,30,19,124,107,136,160,231,31,66,6,251,19,167,98,221,216,170,198,217,30,249,89,7,176,149,157,163,168,144,118, +58,30,14,251,49,247,137,196,189,198,247,91,203,1,247,153,210,3,247,246,247,249,21,120,174,136,165,157,26,247,19,7,229,70,160,83,90,96,124,104,98,30,181,90,5,160,167,162,153,174,27,170,162,124,117,142,31,251,58,112,108,86,88,26,84,182,104,204,177,176, +155,162,162,30,140,128,143,127,145,128,8,214,251,4,21,196,251,193,82,7,247,100,247,145,21,82,95,109,101,115,117,150,158,171,165,164,241,156,30,14,251,49,247,137,196,190,206,247,78,206,1,186,210,247,71,210,3,248,4,248,149,21,228,68,210,50,50,67,68,50, +50,211,68,228,228,210,210,228,30,131,251,160,21,196,251,197,82,7,247,134,247,160,21,87,100,98,89,88,100,180,191,191,178,180,190,189,178,98,87,30,14,247,59,139,223,248,150,230,1,191,236,248,76,237,3,249,74,22,223,251,53,7,243,201,189,235,247,11,26,247, +81,251,30,247,31,251,72,251,72,251,29,251,31,251,81,251,11,189,43,242,77,30,251,53,55,247,178,217,6,251,15,205,81,228,247,13,26,247,34,231,241,247,20,247,17,234,37,251,34,251,13,82,50,251,15,73,30,61,7,14,247,229,131,221,57,229,247,25,224,247,16,229, +18,180,235,247,123,235,247,183,243,19,190,249,239,141,10,251,28,62,78,106,98,101,30,186,108,82,166,59,27,61,70,112,89,80,31,63,10,53,207,85,238,219,206,173,209,196,30,72,188,212,102,220,27,217,213,169,205,198,31,72,200,5,19,126,114,10,135,31,248,28,79, +10,215,27,215,198,90,64,145,31,252,23,66,21,19,190,73,10,182,127,118,185,118,248,184,119,1,185,235,247,222,235,3,248,228,248,176,21,42,6,86,75,5,163,100,92,153,90,27,86,10,72,164,78,181,92,31,46,251,3,5,235,6,193,203,5,114,178,186,125,190,27,144,10,207, +113,201,97,185,31,111,251,68,21,44,67,63,46,110,112,146,152,116,30,247,103,247,145,5,160,111,151,104,100,26,50,247,44,21,251,101,251,144,5,119,166,127,174,177,26,234,211,215,232,167,164,132,127,162,30,14,32,251,86,230,248,127,247,18,18,184,235,200,247, +19,251,2,235,19,240,247,221,248,87,21,174,111,167,104,104,110,111,104,104,168,111,174,174,167,167,174,30,241,252,168,21,53,180,5,94,116,109,121,90,27,87,89,171,187,191,170,167,181,172,31,19,232,221,205,158,191,247,2,26,43,6,55,121,100,72,87,30,67,84, +122,86,79,26,32,238,77,239,231,198,180,211,175,30,14,251,173,251,65,118,248,219,247,17,18,221,247,18,251,3,235,19,224,247,100,248,87,21,37,10,19,208,124,253,25,21,248,148,43,252,148,7,14,168,247,44,118,247,94,224,1,248,103,224,3,248,188,247,23,21,247, +179,252,140,54,248,55,251,94,7,14,234,143,118,247,210,207,247,242,207,1,249,30,249,99,21,207,251,86,7,251,121,252,249,78,247,87,5,251,23,71,214,6,247,0,251,210,5,149,6,247,173,249,116,5,14,150,251,41,220,248,54,217,247,75,220,1,248,140,249,67,21,143, +102,123,140,120,27,83,100,123,108,110,31,117,114,126,103,126,75,122,47,24,251,3,61,236,6,87,251,177,5,33,120,125,112,85,27,129,131,139,144,115,31,125,59,5,134,170,149,138,160,27,197,177,155,172,166,31,163,168,153,174,153,213,196,247,204,24,247,29,217, +251,15,6,155,226,5,209,151,160,165,186,27,152,147,139,136,170,31,14,168,247,2,221,73,118,214,221,169,221,127,221,148,119,18,19,148,248,185,248,53,21,74,175,100,10,19,136,51,10,215,170,31,251,75,4,74,176,100,10,19,116,51,10,214,170,31,14,234,139,217,248, +224,119,1,249,47,22,251,177,249,46,5,41,6,251,177,253,46,5,248,180,217,21,252,56,6,247,102,248,126,5,14,159,89,10,248,164,223,44,10,251,64,190,44,10,14,159,89,10,248,193,247,148,21,251,108,247,116,86,88,247,37,251,65,251,37,251,64,192,88,5,130,247,115, +66,10,248,65,130,247,17,1,243,247,18,247,99,247,18,247,99,247,18,20,112,250,20,192,21,37,10,251,225,22,37,10,251,225,22,37,10,14,209,247,46,247,36,204,112,10,209,247,76,247,36,204,155,10,247,109,247,154,247,36,218,155,10,247,237,131,235,51,227,247,97, +227,247,89,227,51,235,18,190,239,247,197,237,19,182,249,221,80,10,251,128,7,19,174,71,75,147,63,27,251,88,251,42,251,44,251,81,251,81,247,42,251,44,247,88,31,19,118,215,203,147,207,27,251,41,228,21,137,123,124,136,120,27,251,40,32,246,247,34,247,34,247, +0,246,247,39,158,154,136,137,155,31,14,248,71,131,229,247,25,224,247,16,229,1,185,235,247,222,232,247,182,243,3,250,83,141,10,251,27,38,77,86,91,100,30,191,99,68,188,44,27,78,10,219,215,175,205,190,31,76,184,211,100,224,27,216,213,169,205,198,31,73,200, +5,93,96,85,118,92,27,60,70,197,214,136,31,248,27,79,10,216,27,214,199,90,64,144,31,252,19,92,21,70,10,68,247,110,219,1,248,136,247,110,21,219,252,136,59,7,14,248,65,247,110,219,1,250,124,247,110,21,219,254,124,59,7,14,33,74,10,248,60,248,48,21,251,11, +247,182,56,98,242,251,141,5,68,22,94,10,33,74,10,248,62,118,10,238,6,72,247,141,21,56,180,251,11,251,182,5,238,6,14,251,173,74,10,247,146,248,48,21,94,10,251,173,74,10,247,144,118,10,237,6,14,168,153,247,18,234,223,234,247,18,1,247,129,247,18,20,224, +247,255,248,113,130,10,105,168,110,173,173,168,168,173,30,247,81,251,134,21,223,252,140,55,7,247,207,251,50,130,10,104,168,111,173,173,137,10,234,139,118,249,88,119,1,248,223,247,225,21,251,148,247,246,251,148,251,246,247,148,251,246,5,247,55,247,246, +21,251,55,251,118,251,56,247,118,247,56,247,118,5,14,110,247,23,139,247,13,95,10,128,247,32,247,36,228,95,10,252,73,152,118,249,62,119,1,247,185,249,54,21,63,6,252,13,77,10,14,251,97,89,10,247,196,223,44,10,14,251,97,89,10,247,224,247,148,66,10,210,110, +10,216,247,18,48,230,138,119,18,236,236,247,137,247,17,251,3,236,19,230,248,200,65,10,19,205,125,253,26,21,248,142,42,252,142,7,100,249,25,21,180,101,91,161,39,10,19,214,59,10,210,109,10,247,151,236,3,248,186,22,249,80,42,253,80,7,100,249,25,21,180,101, +91,161,46,10,150,251,35,118,248,61,226,236,228,247,58,125,10,248,169,247,153,21,226,251,86,236,247,86,228,251,86,247,58,43,251,58,251,87,50,247,87,42,251,87,52,247,87,252,61,235,248,61,7,14,251,173,247,87,247,17,75,10,247,150,68,10,150,10,247,183,119, +1,247,108,108,10,14,33,251,22,118,247,183,119,1,248,28,108,10,72,247,141,21,56,181,251,11,251,183,5,238,6,14,248,221,64,10,175,221,247,60,221,3,250,240,247,50,81,10,47,213,65,231,231,213,213,231,30,252,4,22,34,10,249,42,251,242,48,10,252,3,22,40,10,209, +247,72,247,36,204,106,10,143,247,51,247,36,208,106,10,209,247,76,247,36,204,96,10,143,247,52,247,36,208,95,10,143,247,46,247,36,208,112,10,251,151,154,247,36,212,96,10,126,10,106,10,126,10,95,10,126,10,112,10,247,109,247,159,247,36,218,96,10,101,10,106, +10,247,103,132,118,249,99,119,1,248,21,247,41,3,248,170,249,71,21,48,127,83,74,137,43,8,219,213,217,234,134,31,247,54,252,159,21,77,165,101,195,206,26,195,162,178,197,183,30,187,104,91,162,77,79,103,107,100,111,99,169,83,27,251,3,63,50,251,22,251,28, +239,251,90,233,31,174,169,169,203,198,153,111,184,27,195,201,210,247,15,190,31,14,101,10,112,10,247,39,247,114,247,36,224,96,10,102,10,106,10,102,10,112,10,160,153,10,1,231,236,3,247,81,22,248,142,42,252,142,7,14,248,235,118,247,108,119,1,247,185,248, +214,21,251,44,247,108,251,45,251,108,5,230,6,201,232,200,46,5,14,248,247,118,161,118,220,119,200,119,160,119,18,19,168,247,187,249,83,21,75,150,5,109,138,123,127,124,27,19,176,111,93,180,95,27,92,96,98,67,136,31,204,129,5,171,140,157,147,152,27,19,104, +169,177,100,185,27,188,182,176,214,143,31,14,248,232,218,1,247,170,248,232,21,218,251,167,60,7,14,248,232,212,66,247,38,18,19,64,247,180,249,122,21,70,6,19,128,92,133,111,113,95,27,19,64,94,111,165,186,133,31,70,6,53,206,79,220,216,209,199,225,30,14, +248,223,247,14,1,218,247,15,3,247,94,249,28,21,173,111,166,106,105,111,112,105,105,167,112,173,172,167,166,173,30,14,248,214,205,244,204,1,160,206,244,206,3,247,152,249,76,21,205,85,191,73,73,86,87,73,74,192,86,205,205,193,192,204,30,72,22,110,116,116, +110,109,116,162,168,168,162,163,169,168,162,115,110,30,14,251,120,193,139,206,247,7,119,1,247,60,224,3,247,145,251,31,21,121,10,166,203,5,77,6,89,251,7,5,43,10,247,27,161,201,166,30,14,248,235,118,247,119,119,1,248,6,98,10,124,247,75,21,70,183,251,43, +251,119,5,230,6,14,251,201,251,99,118,247,120,119,1,161,225,3,247,108,251,104,21,125,185,5,135,125,122,137,128,27,114,112,152,177,166,154,172,215,200,31,66,6,81,109,93,87,86,26,81,191,104,200,165,174,147,147,159,30,14,248,210,118,247,107,119,1,247,185, +249,148,21,48,6,78,46,77,232,5,48,6,247,45,251,107,5,14,150,131,231,247,40,209,213,209,247,28,231,1,248,191,206,21,82,212,5,100,93,104,122,96,27,64,74,199,227,111,31,247,94,6,157,209,5,251,126,6,149,138,149,150,26,154,140,153,140,153,30,247,146,6,157, +209,5,251,146,6,220,169,201,194,210,27,183,173,125,97,185,31,196,210,5,187,94,74,168,71,27,251,18,36,45,251,26,101,31,58,6,121,69,5,225,6,137,125,138,125,124,26,128,140,129,140,129,30,64,6,120,69,5,244,6,251,31,173,244,38,247,23,27,201,197,158,195,197, +31,14,247,27,139,227,247,104,224,247,85,61,10,251,173,41,54,237,251,192,62,10,247,104,247,60,224,251,60,247,85,93,10,117,161,248,170,139,247,24,161,6,251,98,147,7,30,160,53,113,255,12,9,229,10,235,11,221,147,12,12,247,173,20,248,207,21,175,19,0,124,2, +0,1,0,19,0,34,0,72,0,123,0,173,0,191,0,236,1,4,1,26,1,36,1,75,1,96,1,117,1,138,1,142,1,162,1,178,1,202,1,232,1,239,2,0,2,16,2,27,2,56,2,72,2,82,2,89,2,102,2,115,2,138,2,163,2,186,2,208,2,220,2,239,3,2,3,9,3,18,3,36,3,51,3,58,3,74,3,82,3,90,3,98,3,104, +3,115,3,132,3,149,3,159,3,174,3,183,3,192,3,201,3,210,3,219,3,228,3,235,3,242,3,249,4,2,4,14,4,26,4,29,4,32,4,43,4,56,4,67,4,75,4,83,4,91,4,99,4,103,4,108,4,111,4,123,4,135,4,144,4,150,4,156,4,159,4,166,4,177,4,188,4,199,4,210,4,221,4,232,4,241,4,248, +4,255,5,6,5,13,5,20,5,27,5,32,5,37,5,41,5,51,5,61,5,71,5,81,5,91,5,101,5,111,5,116,5,125,5,134,5,143,5,152,5,161,5,170,5,179,5,188,5,195,5,199,5,204,5,210,5,216,5,220,5,224,5,229,5,233,5,236,44,70,63,48,48,70,215,234,234,208,215,230,230,208,63,44,30, +14,209,27,247,32,247,6,247,11,247,34,31,43,22,32,10,231,65,213,48,140,10,230,213,213,231,30,251,20,248,152,21,62,6,252,12,77,10,247,20,248,152,81,10,48,213,64,231,231,213,214,230,30,11,248,246,206,21,80,212,5,100,82,94,122,85,27,251,28,251,0,247,1,247, +32,247,32,247,0,128,10,195,180,124,97,199,31,197,211,5,187,81,65,168,55,27,251,80,251,47,251,43,251,82,11,205,251,47,7,235,243,5,178,182,157,172,175,26,212,79,196,58,82,93,111,75,109,30,198,105,5,180,160,161,155,169,27,175,168,112,105,118,126,119,109, +107,31,251,72,251,87,5,125,7,11,174,110,167,105,105,110,111,104,105,168,111,173,173,168,167,173,30,11,248,133,213,21,73,202,5,99,98,99,124,94,27,49,66,217,232,234,211,215,232,184,178,122,100,179,31,205,203,5,195,81,77,165,69,27,251,37,251,8,251,8,251, +37,11,87,27,43,61,70,251,25,136,31,56,54,220,252,57,236,248,57,247,50,224,251,50,6,11,127,10,92,102,177,186,187,176,176,186,185,177,102,91,30,252,13,247,242,48,10,14,235,247,155,7,97,173,197,108,33,10,170,157,156,163,174,26,205,84,187,60,82,101,120,91, +101,30,202,103,5,167,160,161,146,163,27,170,167,122,110,106,113,126,82,31,93,73,203,6,11,205,174,132,112,110,102,135,107,116,117,141,139,31,112,87,5,139,181,135,166,11,21,251,38,247,64,247,38,247,65,86,190,251,109,251,116,247,109,251,115,5,11,92,60,209, +58,27,69,91,90,68,109,31,204,102,5,179,157,162,174,176,27,11,39,10,59,10,248,231,247,145,21,247,34,251,6,247,11,251,32,69,81,107,98,105,30,11,147,10,93,101,177,186,187,177,176,185,185,177,102,91,30,11,83,10,251,28,32,247,1,247,32,247,32,246,128,10,247, +28,247,0,251,1,251,32,30,14,247,21,6,247,14,229,222,247,4,31,40,22,82,97,89,67,30,251,20,247,107,247,20,6,211,181,89,81,31,14,45,10,19,148,88,10,11,21,248,46,91,7,251,22,91,165,78,214,167,5,251,221,7,11,247,18,75,10,247,229,21,173,110,54,10,168,168,173, +30,11,168,154,10,110,105,105,167,110,174,173,11,180,177,115,103,105,105,111,99,108,108,151,171,119,31,77,103,5,87,175,185,115,198,27,226,207,194,215,31,11,7,180,105,81,171,69,27,251,32,251,6,251,11,251,34,11,1,222,235,247,212,235,3,47,10,11,43,74,56, +10,84,10,11,219,140,175,171,188,27,163,164,130,114,164,31,14,247,81,251,46,247,44,251,82,85,10,87,10,11,104,10,247,251,239,3,249,35,247,225,21,247,82,251,41,247,35,251,82,30,251,110,11,247,110,6,247,82,247,41,247,35,247,82,31,39,22,251,31,251,4,33,251, +30,30,251,1,11,195,72,5,171,181,180,161,198,27,201,179,109,90,142,31,251,165,96,86,53,55,26,11,131,220,247,62,220,157,220,247,62,220,1,179,221,247,60,221,184,221,247,60,220,11,249,26,21,173,111,54,10,167,168,173,30,11,21,251,109,247,116,86,88,247,38, +251,65,251,38,251,64,192,88,5,14,21,55,72,71,57,57,71,207,223,222,207,207,221,221,206,71,56,30,14,21,173,110,69,10,137,10,148,10,105,104,167,111,174,173,11,44,67,63,46,46,67,215,234,234,211,215,232,232,211,63,44,30,14,174,110,148,10,104,105,167,111,174, +173,168,167,173,30,14,21,221,252,136,57,7,14,41,60,84,73,95,97,159,177,192,184,188,247,78,168,30,14,248,69,118,247,182,119,1,11,1,221,247,18,3,247,100,11,229,247,234,229,1,185,235,11,253,62,5,216,6,11,86,10,251,36,247,9,251,9,247,36,11,6,139,142,162, +157,26,35,183,21,251,182,6,210,145,206,192,11,22,227,251,179,247,97,247,167,227,251,167,247,89,247,179,227,11,21,231,65,213,47,47,65,65,47,11,247,180,7,223,186,191,206,208,184,88,54,30,251,180,11,251,32,251,0,251,1,251,28,11,251,34,247,6,251,11,247,32, +11,251,82,251,45,251,44,251,81,11,251,36,251,9,251,9,251,36,11,251,81,247,45,251,44,247,82,11,223,184,69,221,27,204,187,188,11,193,118,248,83,119,1,11,182,247,58,139,247,3,11,160,118,249,46,119,1,11,76,10,247,212,235,3,248,194,11,247,1,6,247,30,247,4, +33,251,31,31,14,251,23,247,182,55,98,247,9,251,141,5,14,247,92,14,247,86,14,209,131,229,78,105,10,247,78,119,18,11,249,127,21,70,184,251,44,251,106,5,230,6,11,21,38,6,251,8,251,148,5,240,6,14,5,96,121,112,103,106,27,11,247,109,247,146,247,36,218,11,247, +39,247,111,247,36,224,11,231,248,134,231,1,190,239,11,227,129,10,11,118,248,60,229,11,247,87,14,18,217,247,17,251,3,236,19,224,247,95,11,237,21,56,181,251,24,251,183,5,238,6,11,110,10,247,4,229,1,236,236,11,160,118,248,57,224,11,116,247,25,139,236,11, +247,85,14,209,122,10,247,234,229,11,93,97,85,118,91,27,61,70,197,214,11,251,190,5,119,247,103,32,215,245,7,11,170,247,92,5,63,6,108,251,92,5,11,1,222,235,247,141,235,3,248,160,22,11,249,41,21,56,180,251,24,251,182,5,11,119,1,185,235,247,191,236,3,248, +174,11,227,247,89,104,10,3,248,135,11,199,86,160,91,141,30,11,251,69,118,247,82,229,11,172,247,52,139,247,9,11,247,162,55,251,162,7,11,119,1,247,135,235,3,11,251,151,155,247,36,212,11,92,101,101,93,11,247,1,247,28,11,1,237,237,11,21,173,110,168,105,105, +110,110,105,11,251,123,251,77,220,249,90,220,18,11,251,123,251,74,118,250,33,119,1,11,168,174,118,248,162,119,1,248,188,11,248,157,22,248,142,43,251,180,7,11,248,102,118,247,162,119,1,236,223,11,251,105,5,215,6,172,247,105,5,11,168,167,174,30,14,107, +112,112,107,106,166,112,171,11,251,65,67,118,249,232,119,1,11,47,65,65,47,47,213,65,231,11,247,148,21,247,54,251,1,235,11,247,89,152,118,168,118,246,205,11,247,82,247,46,247,44,247,81,11,247,36,247,9,247,9,247,36,11,119,1,247,151,221,3,248,186,11,216, +205,158,195,212,31,14,21,127,10,11,167,154,10,111,11,160,118,249,80,119,11,251,173,251,22,118,11,7,19,208,11,119,129,10,11,118,248,142,119,11,105,104,111,11,247,88,14,0,0,1,34,0,0,2,71,0,46,2,36,0,18,1,58,0,16,2,66,0,47,1,251,0,42,2,48,255,236,2,30,0, +3,2,72,0,98,2,129,0,83,2,56,0,8,1,212,0,7,3,0,0,33,3,0,0,33,1,75,0,33,3,0,0,39,1,135,0,43,1,135,0,32,0,222,0,69,2,88,0,50,2,88,0,67,1,34,0,0,1,34,0,82,1,182,0,97,2,70,0,36,2,70,0,62,3,20,0,40,2,250,0,77,1,22,0,97,1,84,0,77,1,84,0,28,2,70,0,103,2,88,0, +50,1,34,255,254,1,89,0,42,1,34,0,82,1,142,0,31,2,70,0,56,2,70,0,120,2,70,0,36,2,70,0,50,2,70,0,19,2,70,0,52,2,70,0,46,2,70,0,88,2,70,0,55,2,70,0,44,1,34,0,82,1,34,255,254,2,88,0,48,2,88,0,50,2,88,0,48,1,208,0,32,3,204,0,89,2,129,255,251,2,121,0,98,2, +143,0,51,2,194,0,98,2,63,0,98,2,47,0,98,3,4,0,51,2,191,0,98,1,56,0,107,1,247,255,254,2,165,0,98,2,20,0,98,3,128,0,19,2,230,0,98,3,20,0,51,2,72,0,98,3,20,0,51,2,122,0,98,2,66,0,47,2,4,0,24,2,206,0,94,2,129,255,251,3,128,0,19,2,83,255,254,2,48,255,236, +2,56,0,8,1,84,0,108,1,142,0,6,1,84,0,48,2,81,0,74,1,244,0,0,1,25,0,27,2,36,0,41,2,129,0,83,2,20,0,46,2,129,0,46,2,88,0,46,1,105,0,16,2,129,0,46,2,92,0,83,1,25,0,78,1,25,255,152,2,56,0,83,1,25,0,92,3,141,0,83,2,92,0,83,2,102,0,46,2,129,0,83,2,129,0,46, +1,105,0,83,1,251,0,42,1,93,0,11,2,92,0,80,2,18,0,4,3,35,0,24,1,244,0,9,2,30,0,3,1,212,0,7,1,84,0,46,0,222,0,69,1,84,0,44,2,88,0,51,2,129,255,251,2,129,255,251,2,143,0,51,2,63,0,98,2,230,0,98,3,20,0,51,2,206,0,94,2,36,0,41,2,36,0,41,2,36,0,41,2,36,0,41, +2,36,0,41,2,36,0,41,2,20,0,46,2,88,0,46,2,88,0,46,2,88,0,46,2,88,0,46,1,25,0,53,1,25,0,27,1,25,255,244,1,25,255,240,2,92,0,83,2,102,0,46,2,102,0,46,2,102,0,46,2,102,0,46,2,102,0,46,2,92,0,80,2,92,0,80,2,92,0,80,2,92,0,80,2,70,0,48,1,244,0,96,2,70,0,63, +2,70,0,53,2,70,0,51,1,244,0,83,2,70,0,28,2,50,0,83,2,104,0,75,3,18,0,52,3,98,0,24,1,25,0,53,1,25,255,240,2,88,0,50,3,112,255,227,3,20,0,37,2,154,0,6,2,88,0,50,2,88,0,50,2,88,0,50,2,70,0,21,2,92,0,82,2,70,0,58,2,226,0,58,2,226,0,36,2,70,0,32,2,70,0,112, +1,158,0,53,1,158,0,47,2,226,0,44,3,140,0,41,2,102,0,20,1,208,0,45,1,34,0,82,2,88,0,48,2,154,0,35,2,70,0,34,2,88,0,51,2,154,255,255,2,79,0,33,2,79,0,62,3,232,0,104,2,129,255,251,2,129,255,251,3,20,0,51,3,148,0,51,3,238,0,46,1,244,0,0,3,232,0,0,1,209,0, +39,1,209,0,41,1,34,0,39,1,34,0,37,2,88,0,48,2,154,0,75,2,30,0,3,2,48,255,236,0,134,255,96,1,110,0,34,1,110,0,62,2,130,0,16,2,130,0,16,2,70,0,48,1,34,0,82,1,34,0,1,1,209,0,7,4,132,0,40,2,129,255,251,2,63,0,98,2,129,255,251,2,63,0,98,2,63,0,98,1,56,0,68, +1,56,0,4,1,56,0,0,1,56,0,43,3,20,0,51,3,20,0,51,3,14,0,86,3,20,0,51,2,206,0,94,2,206,0,94,2,206,0,94,1,25,0,92,1,25,255,244,1,25,255,244,1,25,0,3,1,25,255,249,1,25,0,79,1,25,0,21,1,25,0,27,1,25,0,5,1,6,0,22,1,25,255,244,2,70,0,2,2,194,0,0,0,1,0,0,0,10, +0,30,0,44,0,1,108,97,116,110,0,8,0,4,0,0,0,0,255,255,0,1,0,0,0,1,107,101,114,110,0,8,0,0,0,1,0,0,0,1,0,4,0,2,0,0,0,1,0,8,0,1,26,186,0,4,0,0,0,98,0,206,0,236,1,202,1,216,2,234,2,244,2,250,3,28,3,138,3,148,3,154,3,160,3,166,3,172,4,166,5,36,5,42,5,64,5, +138,5,144,5,158,5,172,5,242,6,224,7,150,8,100,8,114,8,140,9,94,9,108,9,214,9,244,11,2,11,68,11,250,12,172,13,178,14,144,15,162,15,172,15,182,15,188,15,222,15,228,15,234,15,240,15,246,15,252,16,2,16,20,16,38,16,52,16,66,16,80,16,94,16,104,17,98,18,92, +18,218,18,240,18,254,19,24,19,90,19,100,19,106,19,112,19,118,19,124,19,130,19,136,19,142,19,148,19,154,19,160,19,186,19,192,20,186,21,180,21,206,21,232,22,66,22,76,22,90,23,56,24,50,24,72,25,66,25,88,25,110,25,124,25,138,25,152,25,166,25,192,25,218,25, +244,26,54,26,120,0,7,0,54,0,24,0,116,0,24,0,117,0,24,0,190,0,24,0,191,0,24,0,215,0,24,0,217,0,24,0,55,0,5,255,216,0,6,0,36,0,10,0,24,0,34,255,175,0,35,255,155,0,54,255,192,0,63,255,200,0,66,255,214,0,73,0,34,0,75,0,36,0,76,0,34,0,77,0,24,0,78,0,36,0, +79,0,24,0,86,255,192,0,88,255,175,0,89,255,175,0,90,255,175,0,91,0,12,0,92,255,175,0,94,0,12,0,100,255,175,0,102,255,175,0,104,255,216,0,105,0,40,0,116,255,192,0,117,255,192,0,123,255,192,0,124,255,192,0,125,255,192,0,126,255,192,0,127,255,192,0,128, +255,192,0,129,255,175,0,130,255,175,0,131,255,175,0,132,255,175,0,133,255,175,0,134,0,12,0,135,0,12,0,136,0,12,0,137,0,12,0,139,255,175,0,140,255,175,0,141,255,175,0,142,255,175,0,143,255,175,0,178,255,192,0,179,255,175,0,190,255,192,0,191,255,192,0, +204,0,36,0,215,255,192,0,217,255,192,0,231,0,12,0,3,0,35,255,171,0,199,0,40,0,200,0,32,0,68,0,4,0,24,0,6,0,24,0,10,0,24,0,34,255,215,0,54,0,52,0,55,0,24,0,56,255,232,0,57,0,24,0,58,0,24,0,59,0,24,0,60,255,232,0,61,0,24,0,62,0,24,0,63,0,24,0,64,0,24,0, +65,0,24,0,66,0,34,0,67,0,24,0,68,255,232,0,69,0,24,0,70,255,232,0,71,0,24,0,72,0,24,0,73,0,24,0,75,0,24,0,76,0,12,0,77,0,36,0,78,0,24,0,79,0,24,0,86,0,30,0,94,0,24,0,105,0,40,0,116,0,52,0,117,0,52,0,118,255,232,0,119,0,24,0,120,0,24,0,121,255,232,0,123, +0,30,0,124,0,30,0,125,0,30,0,126,0,30,0,127,0,30,0,128,0,30,0,134,0,24,0,135,0,24,0,136,0,24,0,137,0,24,0,163,255,232,0,178,0,30,0,190,0,52,0,191,0,52,0,192,255,232,0,193,255,232,0,204,0,24,0,215,0,52,0,216,0,24,0,217,0,52,0,218,0,24,0,219,0,24,0,220, +0,24,0,221,0,24,0,222,0,24,0,223,0,24,0,224,255,232,0,225,255,232,0,227,255,232,0,231,0,24,0,2,0,34,255,240,0,199,0,30,0,1,0,95,0,93,0,8,0,6,255,175,0,73,255,187,0,75,255,208,0,76,255,224,0,77,255,224,0,78,255,175,0,109,255,232,0,204,255,175,0,27,0,6, +255,156,0,7,255,212,0,38,255,119,0,46,255,192,0,68,255,224,0,70,255,224,0,73,255,176,0,74,255,224,0,75,255,156,0,76,255,184,0,78,255,156,0,107,255,172,0,108,255,216,0,110,255,212,0,121,255,224,0,122,255,224,0,163,255,224,0,192,255,224,0,193,255,224,0, +203,255,212,0,204,255,156,0,224,255,224,0,225,255,224,0,227,255,224,0,228,255,224,0,229,255,224,0,230,255,224,0,2,0,35,255,176,0,200,255,176,0,1,0,35,255,232,0,1,0,35,255,236,0,1,0,35,255,123,0,1,0,35,255,163,0,62,0,4,0,24,0,5,0,24,0,6,255,192,0,7,255, +232,0,10,0,52,0,11,0,34,0,54,0,24,0,63,0,50,0,66,0,24,0,72,0,24,0,73,255,216,0,74,255,244,0,75,255,196,0,76,255,216,0,77,0,24,0,78,255,192,0,79,0,52,0,86,0,30,0,87,0,12,0,91,0,18,0,93,0,12,0,94,0,12,0,95,0,24,0,96,0,12,0,97,0,12,0,98,0,12,0,99,0,12,0, +101,0,12,0,103,0,12,0,104,0,24,0,105,0,24,0,107,255,222,0,108,255,232,0,109,0,42,0,110,255,232,0,111,0,34,0,116,0,24,0,117,0,24,0,122,255,244,0,123,0,30,0,124,0,30,0,125,0,30,0,126,0,30,0,127,0,30,0,128,0,30,0,134,0,12,0,135,0,12,0,136,0,12,0,137,0,12, +0,138,0,12,0,178,0,30,0,190,0,24,0,191,0,24,0,200,255,204,0,203,255,232,0,204,255,192,0,215,0,24,0,217,0,24,0,228,255,244,0,229,255,244,0,230,255,244,0,231,0,12,0,31,0,6,0,24,0,10,0,24,0,34,255,235,0,54,0,24,0,56,255,232,0,60,255,232,0,63,0,24,0,66,0, +24,0,68,255,232,0,70,255,232,0,73,0,24,0,75,0,24,0,76,0,24,0,77,0,24,0,78,0,24,0,79,0,24,0,116,0,24,0,117,0,24,0,118,255,232,0,121,255,232,0,163,255,232,0,190,0,24,0,191,0,24,0,192,255,232,0,193,255,232,0,204,0,24,0,215,0,24,0,217,0,24,0,224,255,232, +0,225,255,232,0,227,255,232,0,1,0,35,255,223,0,5,0,6,0,12,0,63,0,24,0,77,0,24,0,78,0,12,0,204,0,12,0,18,0,35,255,176,0,54,255,204,0,63,255,190,0,66,255,214,0,86,255,236,0,116,255,204,0,117,255,204,0,123,255,236,0,124,255,236,0,125,255,236,0,126,255,236, +0,127,255,236,0,128,255,236,0,178,255,236,0,190,255,204,0,191,255,204,0,215,255,204,0,217,255,204,0,1,0,35,255,224,0,3,0,10,0,24,0,77,0,24,0,79,0,24,0,3,0,10,0,24,0,77,0,24,0,79,0,24,0,17,0,35,255,223,0,54,255,244,0,66,255,244,0,86,255,246,0,116,255, +244,0,117,255,244,0,123,255,246,0,124,255,246,0,125,255,246,0,126,255,246,0,127,255,246,0,128,255,246,0,178,255,246,0,190,255,244,0,191,255,244,0,215,255,244,0,217,255,244,0,59,0,6,0,12,0,7,255,232,0,10,0,24,0,11,0,24,0,34,255,183,0,54,0,12,0,56,255, +214,0,60,255,214,0,63,0,24,0,68,255,214,0,70,255,214,0,75,0,24,0,77,0,24,0,78,0,12,0,79,0,24,0,88,255,232,0,89,255,232,0,90,255,232,0,92,255,244,0,95,0,24,0,100,255,232,0,102,255,232,0,106,255,232,0,107,255,232,0,108,255,232,0,109,0,24,0,110,255,232, +0,111,0,24,0,116,0,12,0,117,0,12,0,118,255,214,0,121,255,214,0,129,255,232,0,130,255,232,0,131,255,232,0,132,255,232,0,133,255,232,0,139,255,232,0,140,255,232,0,141,255,232,0,142,255,232,0,143,255,232,0,144,255,232,0,145,255,232,0,146,255,232,0,147,255, +232,0,163,255,214,0,179,255,232,0,190,0,12,0,191,0,12,0,192,255,214,0,193,255,214,0,203,255,232,0,204,0,12,0,215,0,12,0,217,0,12,0,224,255,214,0,225,255,214,0,227,255,214,0,45,0,6,255,176,0,10,0,24,0,34,255,228,0,54,0,52,0,56,255,232,0,60,255,232,0,63, +0,24,0,66,0,24,0,68,255,232,0,70,255,232,0,73,255,182,0,74,255,232,0,75,255,182,0,76,255,220,0,77,0,24,0,78,255,176,0,79,0,24,0,86,0,30,0,116,0,52,0,117,0,52,0,118,255,232,0,121,255,232,0,122,255,232,0,123,0,30,0,124,0,30,0,125,0,30,0,126,0,30,0,127, +0,30,0,128,0,30,0,163,255,232,0,178,0,30,0,190,0,52,0,191,0,52,0,192,255,232,0,193,255,232,0,200,255,204,0,204,255,176,0,215,0,52,0,217,0,52,0,224,255,232,0,225,255,232,0,227,255,232,0,228,255,232,0,229,255,232,0,230,255,232,0,51,0,4,0,18,0,5,0,24,0, +6,255,214,0,10,0,34,0,11,0,36,0,54,0,24,0,63,0,24,0,72,0,18,0,73,255,220,0,75,255,232,0,76,255,232,0,77,0,24,0,78,255,214,0,79,0,34,0,86,0,36,0,88,0,12,0,89,0,12,0,90,0,12,0,92,0,12,0,100,0,12,0,102,0,12,0,104,0,24,0,105,0,12,0,109,0,24,0,111,0,36,0, +116,0,24,0,117,0,24,0,123,0,36,0,124,0,36,0,125,0,36,0,126,0,36,0,127,0,36,0,128,0,36,0,129,0,12,0,130,0,12,0,131,0,12,0,132,0,12,0,133,0,12,0,139,0,12,0,140,0,12,0,141,0,12,0,142,0,12,0,143,0,12,0,178,0,36,0,179,0,12,0,190,0,24,0,191,0,24,0,200,255, +236,0,204,255,214,0,215,0,24,0,217,0,24,0,3,0,10,0,24,0,77,0,24,0,79,0,24,0,6,0,10,255,232,0,35,255,224,0,73,255,222,0,77,255,232,0,79,255,232,0,91,0,24,0,52,0,6,0,24,0,7,0,20,0,11,0,20,0,34,255,228,0,35,255,155,0,54,255,182,0,63,255,188,0,66,255,204, +0,75,0,34,0,76,0,24,0,78,0,24,0,86,255,236,0,88,255,236,0,89,255,236,0,90,255,236,0,91,0,20,0,92,255,236,0,100,255,236,0,102,255,236,0,105,0,20,0,107,0,20,0,108,0,20,0,109,0,20,0,110,0,20,0,111,0,20,0,116,255,182,0,117,255,182,0,123,255,236,0,124,255, +236,0,125,255,236,0,126,255,236,0,127,255,236,0,128,255,236,0,129,255,236,0,130,255,236,0,131,255,236,0,132,255,236,0,133,255,236,0,139,255,236,0,140,255,236,0,141,255,236,0,142,255,236,0,143,255,236,0,178,255,236,0,179,255,236,0,190,255,182,0,191,255, +182,0,200,0,16,0,203,0,20,0,204,0,24,0,215,255,182,0,217,255,182,0,3,0,35,255,224,0,73,255,232,0,91,0,24,0,26,0,34,255,220,0,54,0,12,0,63,0,24,0,68,255,244,0,77,0,24,0,86,0,18,0,116,0,12,0,117,0,12,0,121,255,244,0,123,0,18,0,124,0,18,0,125,0,18,0,126, +0,18,0,127,0,18,0,128,0,18,0,163,255,244,0,178,0,18,0,190,0,12,0,191,0,12,0,192,255,244,0,193,255,244,0,215,0,12,0,217,0,12,0,224,255,244,0,225,255,244,0,227,255,244,0,7,0,54,0,24,0,116,0,24,0,117,0,24,0,190,0,24,0,191,0,24,0,215,0,24,0,217,0,24,0,67, +0,5,255,216,0,6,0,34,0,10,0,24,0,11,255,216,0,34,255,188,0,35,255,175,0,54,255,216,0,63,255,214,0,66,255,220,0,68,255,222,0,70,255,222,0,75,0,34,0,76,0,24,0,77,0,24,0,78,0,34,0,79,0,24,0,86,255,174,0,88,255,175,0,89,255,171,0,90,255,176,0,92,255,175, +0,98,255,216,0,99,255,216,0,100,255,175,0,101,255,216,0,102,255,175,0,103,255,216,0,104,255,216,0,106,255,216,0,111,255,216,0,116,255,216,0,117,255,216,0,121,255,222,0,123,255,174,0,124,255,174,0,125,255,174,0,126,255,174,0,127,255,174,0,128,255,174, +0,129,255,175,0,130,255,176,0,131,255,176,0,132,255,176,0,133,255,176,0,138,255,216,0,139,255,175,0,140,255,175,0,141,255,175,0,142,255,175,0,143,255,175,0,144,255,216,0,145,255,216,0,146,255,216,0,147,255,216,0,163,255,222,0,178,255,174,0,179,255,175, +0,190,255,216,0,191,255,216,0,192,255,222,0,193,255,222,0,204,0,34,0,215,255,216,0,217,255,216,0,224,255,222,0,225,255,222,0,227,255,222,0,16,0,35,255,223,0,54,255,244,0,86,255,246,0,116,255,244,0,117,255,244,0,123,255,246,0,124,255,246,0,125,255,246, +0,126,255,246,0,127,255,246,0,128,255,246,0,178,255,246,0,190,255,244,0,191,255,244,0,215,255,244,0,217,255,244,0,45,0,5,255,216,0,6,0,36,0,34,255,208,0,35,255,155,0,54,255,196,0,63,255,214,0,66,255,232,0,73,0,34,0,76,0,12,0,77,0,24,0,78,0,36,0,86,255, +210,0,88,255,203,0,89,255,203,0,90,255,204,0,92,255,203,0,100,255,203,0,102,255,203,0,104,255,216,0,105,0,40,0,116,255,196,0,117,255,196,0,123,255,210,0,124,255,210,0,125,255,210,0,126,255,210,0,127,255,210,0,128,255,210,0,129,255,203,0,130,255,204,0, +131,255,204,0,132,255,204,0,133,255,204,0,139,255,203,0,140,255,203,0,141,255,203,0,142,255,203,0,143,255,203,0,178,255,210,0,179,255,203,0,190,255,196,0,191,255,196,0,204,0,36,0,215,255,196,0,217,255,196,0,44,0,5,255,216,0,6,0,34,0,34,255,223,0,35,255, +184,0,54,255,216,0,63,255,232,0,66,255,232,0,73,0,24,0,75,0,24,0,78,0,34,0,86,255,226,0,88,255,216,0,89,255,216,0,90,255,216,0,92,255,216,0,100,255,216,0,102,255,216,0,104,255,216,0,105,0,32,0,116,255,216,0,117,255,216,0,123,255,226,0,124,255,226,0,125, +255,226,0,126,255,226,0,127,255,226,0,128,255,226,0,129,255,216,0,130,255,216,0,131,255,216,0,132,255,216,0,133,255,216,0,139,255,216,0,140,255,216,0,141,255,216,0,142,255,216,0,143,255,216,0,178,255,226,0,179,255,216,0,190,255,216,0,191,255,216,0,204, +0,34,0,215,255,216,0,217,255,216,0,65,0,4,0,18,0,6,0,24,0,10,0,36,0,34,255,224,0,54,0,24,0,55,0,24,0,57,0,24,0,58,0,24,0,59,0,24,0,61,0,24,0,62,0,24,0,63,0,42,0,64,0,24,0,65,0,24,0,66,0,24,0,67,0,24,0,68,255,232,0,69,0,24,0,70,255,232,0,71,0,24,0,72, +0,18,0,73,0,24,0,75,0,24,0,77,0,24,0,78,0,24,0,79,0,36,0,86,0,20,0,91,0,24,0,94,0,24,0,105,0,24,0,116,0,24,0,117,0,24,0,119,0,24,0,120,0,24,0,121,255,232,0,123,0,20,0,124,0,20,0,125,0,20,0,126,0,20,0,127,0,20,0,128,0,20,0,134,0,24,0,135,0,24,0,136,0, +24,0,137,0,24,0,163,255,232,0,178,0,20,0,190,0,24,0,191,0,24,0,192,255,232,0,193,255,232,0,204,0,24,0,215,0,24,0,216,0,24,0,217,0,24,0,218,0,24,0,219,0,24,0,220,0,24,0,221,0,24,0,222,0,24,0,223,0,24,0,224,255,232,0,225,255,232,0,227,255,232,0,231,0,24, +0,55,0,5,255,216,0,6,0,36,0,10,0,24,0,34,255,175,0,35,255,155,0,54,255,192,0,63,255,200,0,66,255,214,0,73,0,34,0,75,0,36,0,76,0,34,0,77,0,24,0,78,0,36,0,79,0,24,0,86,255,192,0,88,255,175,0,89,255,175,0,90,255,175,0,91,0,12,0,92,255,175,0,94,0,12,0,100, +255,175,0,102,255,175,0,104,255,216,0,105,0,40,0,116,255,192,0,117,255,192,0,123,255,192,0,124,255,192,0,125,255,192,0,126,255,192,0,127,255,192,0,128,255,192,0,129,255,175,0,130,255,175,0,131,255,175,0,132,255,175,0,133,255,175,0,134,0,12,0,135,0,12, +0,136,0,12,0,137,0,12,0,139,255,175,0,140,255,175,0,141,255,175,0,142,255,175,0,143,255,175,0,178,255,192,0,179,255,175,0,190,255,192,0,191,255,192,0,204,0,36,0,215,255,192,0,217,255,192,0,231,0,12,0,68,0,4,0,24,0,6,0,24,0,10,0,24,0,34,255,215,0,54,0, +52,0,55,0,24,0,56,255,232,0,57,0,24,0,58,0,24,0,59,0,24,0,60,255,232,0,61,0,24,0,62,0,24,0,63,0,24,0,64,0,24,0,65,0,24,0,66,0,34,0,67,0,24,0,68,255,232,0,69,0,24,0,70,255,232,0,71,0,24,0,72,0,24,0,73,0,24,0,75,0,24,0,76,0,12,0,77,0,36,0,78,0,24,0,79, +0,24,0,86,0,30,0,94,0,24,0,105,0,40,0,116,0,52,0,117,0,52,0,118,255,232,0,119,0,24,0,120,0,24,0,121,255,232,0,123,0,30,0,124,0,30,0,125,0,30,0,126,0,30,0,127,0,30,0,128,0,30,0,134,0,24,0,135,0,24,0,136,0,24,0,137,0,24,0,163,255,232,0,178,0,30,0,190,0, +52,0,191,0,52,0,192,255,232,0,193,255,232,0,204,0,24,0,215,0,52,0,216,0,24,0,217,0,52,0,218,0,24,0,219,0,24,0,220,0,24,0,221,0,24,0,222,0,24,0,223,0,24,0,224,255,232,0,225,255,232,0,227,255,232,0,231,0,24,0,2,0,35,255,240,0,199,255,242,0,2,0,199,0,30, +0,200,0,20,0,1,0,199,255,239,0,8,0,30,0,56,0,34,255,212,0,35,255,215,0,52,0,32,0,82,0,44,0,114,0,44,0,199,0,60,0,200,0,24,0,1,0,199,255,242,0,1,0,34,255,207,0,1,0,199,255,242,0,1,0,199,255,242,0,1,0,199,255,242,0,1,0,199,255,242,0,4,0,34,255,212,0,35, +255,215,0,199,0,30,0,200,0,40,0,4,0,34,255,224,0,35,255,232,0,199,0,50,0,200,0,33,0,3,0,35,255,171,0,199,0,40,0,200,0,32,0,3,0,35,255,216,0,199,0,30,0,200,0,33,0,3,0,34,255,232,0,199,0,20,0,200,0,32,0,3,0,35,255,171,0,199,0,40,0,200,0,32,0,2,0,34,255, +240,0,199,0,30,0,62,0,4,0,24,0,5,0,24,0,6,255,192,0,7,255,232,0,10,0,52,0,11,0,34,0,54,0,24,0,63,0,50,0,66,0,24,0,72,0,24,0,73,255,216,0,74,255,244,0,75,255,196,0,76,255,216,0,77,0,24,0,78,255,192,0,79,0,52,0,86,0,30,0,87,0,12,0,91,0,18,0,93,0,12,0,94, +0,12,0,95,0,24,0,96,0,12,0,97,0,12,0,98,0,12,0,99,0,12,0,101,0,12,0,103,0,12,0,104,0,24,0,105,0,24,0,107,255,222,0,108,255,232,0,109,0,42,0,110,255,232,0,111,0,34,0,116,0,24,0,117,0,24,0,122,255,244,0,123,0,30,0,124,0,30,0,125,0,30,0,126,0,30,0,127,0, +30,0,128,0,30,0,134,0,12,0,135,0,12,0,136,0,12,0,137,0,12,0,138,0,12,0,178,0,30,0,190,0,24,0,191,0,24,0,200,255,204,0,203,255,232,0,204,255,192,0,215,0,24,0,217,0,24,0,228,255,244,0,229,255,244,0,230,255,244,0,231,0,12,0,62,0,4,0,24,0,5,0,24,0,6,255, +192,0,7,255,232,0,10,0,52,0,11,0,34,0,54,0,24,0,63,0,50,0,66,0,24,0,72,0,24,0,73,255,216,0,74,255,244,0,75,255,196,0,76,255,216,0,77,0,24,0,78,255,192,0,79,0,52,0,86,0,30,0,87,0,12,0,91,0,18,0,93,0,12,0,94,0,12,0,95,0,24,0,96,0,12,0,97,0,12,0,98,0,12, +0,99,0,12,0,101,0,12,0,103,0,12,0,104,0,24,0,105,0,24,0,107,255,222,0,108,255,232,0,109,0,42,0,110,255,232,0,111,0,34,0,116,0,24,0,117,0,24,0,122,255,244,0,123,0,30,0,124,0,30,0,125,0,30,0,126,0,30,0,127,0,30,0,128,0,30,0,134,0,12,0,135,0,12,0,136,0, +12,0,137,0,12,0,138,0,12,0,178,0,30,0,190,0,24,0,191,0,24,0,200,255,204,0,203,255,232,0,204,255,192,0,215,0,24,0,217,0,24,0,228,255,244,0,229,255,244,0,230,255,244,0,231,0,12,0,31,0,6,0,24,0,10,0,24,0,34,255,235,0,54,0,24,0,56,255,232,0,60,255,232,0, +63,0,24,0,66,0,24,0,68,255,232,0,70,255,232,0,73,0,24,0,75,0,24,0,76,0,24,0,77,0,24,0,78,0,24,0,79,0,24,0,116,0,24,0,117,0,24,0,118,255,232,0,121,255,232,0,163,255,232,0,190,0,24,0,191,0,24,0,192,255,232,0,193,255,232,0,204,0,24,0,215,0,24,0,217,0,24, +0,224,255,232,0,225,255,232,0,227,255,232,0,5,0,6,0,12,0,63,0,24,0,77,0,24,0,78,0,12,0,204,0,12,0,3,0,10,0,24,0,77,0,24,0,79,0,24,0,6,0,10,255,232,0,35,255,224,0,73,255,222,0,77,255,232,0,79,255,232,0,91,0,24,0,16,0,35,255,223,0,54,255,244,0,86,255,246, +0,116,255,244,0,117,255,244,0,123,255,246,0,124,255,246,0,125,255,246,0,126,255,246,0,127,255,246,0,128,255,246,0,178,255,246,0,190,255,244,0,191,255,244,0,215,255,244,0,217,255,244,0,2,0,199,0,30,0,200,0,20,0,1,0,199,255,239,0,1,0,199,255,239,0,1,0, +199,255,239,0,1,0,199,255,239,0,1,0,199,255,242,0,1,0,199,255,242,0,1,0,199,255,242,0,1,0,199,255,242,0,1,0,199,255,242,0,1,0,199,255,242,0,6,0,10,255,232,0,35,255,224,0,73,255,222,0,77,255,232,0,79,255,232,0,91,0,24,0,1,0,199,255,242,0,62,0,4,0,24,0, +5,0,24,0,6,255,192,0,7,255,232,0,10,0,52,0,11,0,34,0,54,0,24,0,63,0,50,0,66,0,24,0,72,0,24,0,73,255,216,0,74,255,244,0,75,255,196,0,76,255,216,0,77,0,24,0,78,255,192,0,79,0,52,0,86,0,30,0,87,0,12,0,91,0,18,0,93,0,12,0,94,0,12,0,95,0,24,0,96,0,12,0,97, +0,12,0,98,0,12,0,99,0,12,0,101,0,12,0,103,0,12,0,104,0,24,0,105,0,24,0,107,255,222,0,108,255,232,0,109,0,42,0,110,255,232,0,111,0,34,0,116,0,24,0,117,0,24,0,122,255,244,0,123,0,30,0,124,0,30,0,125,0,30,0,126,0,30,0,127,0,30,0,128,0,30,0,134,0,12,0,135, +0,12,0,136,0,12,0,137,0,12,0,138,0,12,0,178,0,30,0,190,0,24,0,191,0,24,0,200,255,204,0,203,255,232,0,204,255,192,0,215,0,24,0,217,0,24,0,228,255,244,0,229,255,244,0,230,255,244,0,231,0,12,0,62,0,4,0,24,0,5,0,24,0,6,255,192,0,7,255,232,0,10,0,52,0,11, +0,34,0,54,0,24,0,63,0,50,0,66,0,24,0,72,0,24,0,73,255,216,0,74,255,244,0,75,255,196,0,76,255,216,0,77,0,24,0,78,255,192,0,79,0,52,0,86,0,30,0,87,0,12,0,91,0,18,0,93,0,12,0,94,0,12,0,95,0,24,0,96,0,12,0,97,0,12,0,98,0,12,0,99,0,12,0,101,0,12,0,103,0,12, +0,104,0,24,0,105,0,24,0,107,255,222,0,108,255,232,0,109,0,42,0,110,255,232,0,111,0,34,0,116,0,24,0,117,0,24,0,122,255,244,0,123,0,30,0,124,0,30,0,125,0,30,0,126,0,30,0,127,0,30,0,128,0,30,0,134,0,12,0,135,0,12,0,136,0,12,0,137,0,12,0,138,0,12,0,178,0, +30,0,190,0,24,0,191,0,24,0,200,255,204,0,203,255,232,0,204,255,192,0,215,0,24,0,217,0,24,0,228,255,244,0,229,255,244,0,230,255,244,0,231,0,12,0,6,0,10,255,232,0,35,255,224,0,73,255,222,0,77,255,232,0,79,255,232,0,91,0,24,0,6,0,10,255,232,0,35,255,224, +0,73,255,222,0,77,255,232,0,79,255,232,0,91,0,24,0,22,0,5,255,176,0,7,0,33,0,11,0,21,0,38,255,176,0,41,255,212,0,44,255,208,0,54,255,204,0,63,255,184,0,66,255,236,0,105,0,33,0,107,0,33,0,108,0,33,0,109,0,33,0,110,0,33,0,111,0,21,0,116,255,204,0,117,255, +204,0,190,255,204,0,191,255,204,0,203,0,33,0,215,255,204,0,217,255,204,0,2,0,5,255,204,0,104,255,204,0,3,0,35,255,171,0,199,0,40,0,200,0,32,0,55,0,5,255,216,0,6,0,36,0,10,0,24,0,34,255,175,0,35,255,155,0,54,255,192,0,63,255,200,0,66,255,214,0,73,0,34, +0,75,0,36,0,76,0,34,0,77,0,24,0,78,0,36,0,79,0,24,0,86,255,192,0,88,255,175,0,89,255,175,0,90,255,175,0,91,0,12,0,92,255,175,0,94,0,12,0,100,255,175,0,102,255,175,0,104,255,216,0,105,0,40,0,116,255,192,0,117,255,192,0,123,255,192,0,124,255,192,0,125, +255,192,0,126,255,192,0,127,255,192,0,128,255,192,0,129,255,175,0,130,255,175,0,131,255,175,0,132,255,175,0,133,255,175,0,134,0,12,0,135,0,12,0,136,0,12,0,137,0,12,0,139,255,175,0,140,255,175,0,141,255,175,0,142,255,175,0,143,255,175,0,178,255,192,0, +179,255,175,0,190,255,192,0,191,255,192,0,204,0,36,0,215,255,192,0,217,255,192,0,231,0,12,0,62,0,4,0,24,0,5,0,24,0,6,255,192,0,7,255,232,0,10,0,52,0,11,0,34,0,54,0,24,0,63,0,50,0,66,0,24,0,72,0,24,0,73,255,216,0,74,255,244,0,75,255,196,0,76,255,216,0, +77,0,24,0,78,255,192,0,79,0,52,0,86,0,30,0,87,0,12,0,91,0,18,0,93,0,12,0,94,0,12,0,95,0,24,0,96,0,12,0,97,0,12,0,98,0,12,0,99,0,12,0,101,0,12,0,103,0,12,0,104,0,24,0,105,0,24,0,107,255,222,0,108,255,232,0,109,0,42,0,110,255,232,0,111,0,34,0,116,0,24, +0,117,0,24,0,122,255,244,0,123,0,30,0,124,0,30,0,125,0,30,0,126,0,30,0,127,0,30,0,128,0,30,0,134,0,12,0,135,0,12,0,136,0,12,0,137,0,12,0,138,0,12,0,178,0,30,0,190,0,24,0,191,0,24,0,200,255,204,0,203,255,232,0,204,255,192,0,215,0,24,0,217,0,24,0,228,255, +244,0,229,255,244,0,230,255,244,0,231,0,12,0,5,0,6,0,12,0,63,0,24,0,77,0,24,0,78,0,12,0,204,0,12,0,62,0,4,0,24,0,5,0,24,0,6,255,192,0,7,255,232,0,10,0,52,0,11,0,34,0,54,0,24,0,63,0,50,0,66,0,24,0,72,0,24,0,73,255,216,0,74,255,244,0,75,255,196,0,76,255, +216,0,77,0,24,0,78,255,192,0,79,0,52,0,86,0,30,0,87,0,12,0,91,0,18,0,93,0,12,0,94,0,12,0,95,0,24,0,96,0,12,0,97,0,12,0,98,0,12,0,99,0,12,0,101,0,12,0,103,0,12,0,104,0,24,0,105,0,24,0,107,255,222,0,108,255,232,0,109,0,42,0,110,255,232,0,111,0,34,0,116, +0,24,0,117,0,24,0,122,255,244,0,123,0,30,0,124,0,30,0,125,0,30,0,126,0,30,0,127,0,30,0,128,0,30,0,134,0,12,0,135,0,12,0,136,0,12,0,137,0,12,0,138,0,12,0,178,0,30,0,190,0,24,0,191,0,24,0,200,255,204,0,203,255,232,0,204,255,192,0,215,0,24,0,217,0,24,0, +228,255,244,0,229,255,244,0,230,255,244,0,231,0,12,0,5,0,6,0,12,0,63,0,24,0,77,0,24,0,78,0,12,0,204,0,12,0,5,0,6,0,12,0,63,0,24,0,77,0,24,0,78,0,12,0,204,0,12,0,3,0,10,0,24,0,77,0,24,0,79,0,24,0,3,0,10,0,24,0,77,0,24,0,79,0,24,0,3,0,10,0,24,0,77,0,24, +0,79,0,24,0,3,0,10,0,24,0,77,0,24,0,79,0,24,0,6,0,10,255,232,0,35,255,224,0,73,255,222,0,77,255,232,0,79,255,232,0,91,0,24,0,6,0,10,255,232,0,35,255,224,0,73,255,222,0,77,255,232,0,79,255,232,0,91,0,24,0,6,0,10,255,232,0,35,255,224,0,73,255,222,0,77, +255,232,0,79,255,232,0,91,0,24,0,16,0,35,255,223,0,54,255,244,0,86,255,246,0,116,255,244,0,117,255,244,0,123,255,246,0,124,255,246,0,125,255,246,0,126,255,246,0,127,255,246,0,128,255,246,0,178,255,246,0,190,255,244,0,191,255,244,0,215,255,244,0,217,255, +244,0,16,0,35,255,223,0,54,255,244,0,86,255,246,0,116,255,244,0,117,255,244,0,123,255,246,0,124,255,246,0,125,255,246,0,126,255,246,0,127,255,246,0,128,255,246,0,178,255,246,0,190,255,244,0,191,255,244,0,215,255,244,0,217,255,244,0,16,0,35,255,223,0, +54,255,244,0,86,255,246,0,116,255,244,0,117,255,244,0,123,255,246,0,124,255,246,0,125,255,246,0,126,255,246,0,127,255,246,0,128,255,246,0,178,255,246,0,190,255,244,0,191,255,244,0,215,255,244,0,217,255,244,0,2,0,30,0,4,0,4,0,0,0,6,0,7,0,1,0,10,0,11,0, +3,0,29,0,29,0,5,0,34,0,35,0,6,0,38,0,38,0,8,0,40,0,40,0,9,0,42,0,42,0,10,0,44,0,44,0,11,0,46,0,46,0,12,0,54,0,54,0,13,0,56,0,79,0,14,0,87,0,88,0,38,0,90,0,91,0,40,0,93,0,93,0,42,0,96,0,96,0,43,0,98,0,101,0,44,0,103,0,103,0,48,0,105,0,105,0,49,0,107,0, +111,0,50,0,116,0,122,0,55,0,129,0,133,0,62,0,138,0,143,0,67,0,163,0,163,0,73,0,179,0,179,0,74,0,190,0,193,0,75,0,199,0,200,0,79,0,203,0,204,0,81,0,215,0,225,0,83,0,227,0,230,0,94,0,0,0,0 }; + +const char* ContaxPro65Med_otf = (const char*) temp_binary_data_28; + +//================== juce_AU_Resources.r ================== +static const unsigned char temp_binary_data_29[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" This file is part of the JUCE library.\r\n" +" Copyright (c) 2015 - ROLI Ltd.\r\n" +"\r\n" +" Permission is granted to use this software under the terms of either:\r\n" +" a) the GPL v2 (or any later version)\r\n" +" b) the Affero GPL v3\r\n" +"\r\n" +" Details of these licenses can be found at: www.gnu.org/licenses\r\n" +"\r\n" +" JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r\n" +" WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r\n" +" A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r\n" +"\r\n" +" ------------------------------------------------------------------------------\r\n" +"\r\n" +" To release a closed-source product which uses JUCE, commercial licenses are\r\n" +" available: visit www.juce.com for more information.\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"#define UseExtendedThingResource 1\r\n" +"#include \r\n" +"\r\n" +"//==============================================================================\r\n" +"/* The AppConfig.h file should be a file in your project, containing info to describe the\r\n" +" plugin's name, type, etc. The Projucer will generate this file automatically for you.\r\n" +"\r\n" +" You may need to adjust the include path of your project to make sure it can be \r\n" +" found by this include statement. (Don't hack this file to change the include path)\r\n" +"*/\r\n" +"#include \"AppConfig.h\"\r\n" +"\r\n" +"\r\n" +"//==============================================================================\r\n" +"// component resources for Audio Unit\r\n" +"#define RES_ID 1000\r\n" +"#define COMP_TYPE JucePlugin_AUMainType\r\n" +"#define COMP_SUBTYPE JucePlugin_AUSubType\r\n" +"#define COMP_MANUF JucePlugin_AUManufacturerCode\r\n" +"#define VERSION JucePlugin_VersionCode\r\n" +"#define NAME JucePlugin_Manufacturer \": \" JucePlugin_Name\r\n" +"#define DESCRIPTION JucePlugin_Desc\r\n" +"#define ENTRY_POINT JucePlugin_AUExportPrefixQuoted \"Entry\"\r\n" +"\r\n" +"#include \r\n" +"\r\n" +"resource 'STR ' (RES_ID, purgeable) { NAME };\r\n" +"resource 'STR ' (RES_ID + 1, purgeable) { DESCRIPTION };\r\n" +"resource 'dlle' (RES_ID) { ENTRY_POINT };\r\n" +"\r\n" +"resource 'thng' (RES_ID, NAME)\r\n" +"{\r\n" +" COMP_TYPE, COMP_SUBTYPE, COMP_MANUF,\r\n" +" 0, 0, 0, 0,\r\n" +" 'STR ', RES_ID,\r\n" +" 'STR ', RES_ID + 1,\r\n" +" 0, 0, VERSION,\r\n" +" componentHasMultiplePlatforms | componentDoAutoVersion, 0,\r\n" +" {\r\n" +" 0x10000000, 'dlle', RES_ID, platformIA32NativeEntryPoint,\r\n" +" 0x10000000, 'dlle', RES_ID, 8\r\n" +" }\r\n" +"};\r\n" +"\r\n" +"#undef RES_ID\r\n" +"#undef COMP_TYPE\r\n" +"#undef COMP_SUBTYPE\r\n" +"#undef COMP_MANUF\r\n" +"#undef VERSION\r\n" +"#undef NAME\r\n" +"#undef DESCRIPTION\r\n" +"#undef ENTRY_POINT\r\n" +"#undef NeedLeadingComma\r\n" +"\r\n" +"//==============================================================================\r\n" +"// component resources for Audio Unit Carbon View\r\n" +"\r\n" +"#ifndef BUILD_AU_CARBON_UI\r\n" +" #define BUILD_AU_CARBON_UI 1\r\n" +"#endif\r\n" +"\r\n" +"#if BUILD_AU_CARBON_UI\r\n" +" #define RES_ID 2000\r\n" +" #define COMP_TYPE kAudioUnitCarbonViewComponentType\r\n" +" #define COMP_SUBTYPE JucePlugin_AUSubType\r\n" +" #define COMP_MANUF JucePlugin_AUManufacturerCode\r\n" +" #define VERSION JucePlugin_VersionCode\r\n" +" #define NAME JucePlugin_Manufacturer \": \" JucePlugin_Name \" View\"\r\n" +" #define DESCRIPTION NAME\r\n" +" #define ENTRY_POINT JucePlugin_AUExportPrefixQuoted \"ViewEntry\"\r\n" +"\r\n" +" resource 'STR ' (RES_ID, purgeable) { NAME };\r\n" +" resource 'STR ' (RES_ID + 1, purgeable) { DESCRIPTION };\r\n" +" resource 'dlle' (RES_ID) { ENTRY_POINT };\r\n" +"\r\n" +" resource 'thng' (RES_ID, NAME)\r\n" +" {\r\n" +" COMP_TYPE, COMP_SUBTYPE, COMP_MANUF,\r\n" +" 0, 0, 0, 0,\r\n" +" 'STR ', RES_ID,\r\n" +" 'STR ', RES_ID + 1,\r\n" +" 0, 0, VERSION,\r\n" +" componentHasMultiplePlatforms | componentDoAutoVersion, 0,\r\n" +" {\r\n" +" 0x10000000, 'dlle', RES_ID, platformIA32NativeEntryPoint,\r\n" +" 0x10000000, 'dlle', RES_ID, 8\r\n" +" }\r\n" +" };\r\n" +"#endif\r\n"; + +const char* juce_AU_Resources_r = (const char*) temp_binary_data_29; + +//================== juce_icon.png ================== +static const unsigned char temp_binary_data_30[] = +{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,2,0,0,0,2,0,8,6,0,0,0,244,120,212,250,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,100,121,113,201,101,60,0,0,3,40,105,84,88,116,88,77,76,58, +99,111,109,46,97,100,111,98,101,46,120,109,112,0,0,0,0,0,60,63,120,112,97,99,107,101,116,32,98,101,103,105,110,61,34,239,187,191,34,32,105,100,61,34,87,53,77,48,77,112,67,101,104,105,72,122,114,101,83,122,78,84,99,122,107,99,57,100,34,63,62,32,60,120, +58,120,109,112,109,101,116,97,32,120,109,108,110,115,58,120,61,34,97,100,111,98,101,58,110,115,58,109,101,116,97,47,34,32,120,58,120,109,112,116,107,61,34,65,100,111,98,101,32,88,77,80,32,67,111,114,101,32,53,46,54,45,99,48,54,55,32,55,57,46,49,53,55, +55,52,55,44,32,50,48,49,53,47,48,51,47,51,48,45,50,51,58,52,48,58,52,50,32,32,32,32,32,32,32,32,34,62,32,60,114,100,102,58,82,68,70,32,120,109,108,110,115,58,114,100,102,61,34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,49,57,57, +57,47,48,50,47,50,50,45,114,100,102,45,115,121,110,116,97,120,45,110,115,35,34,62,32,60,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,32,114,100,102,58,97,98,111,117,116,61,34,34,32,120,109,108,110,115,58,120,109,112,61,34,104,116,116,112, +58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,34,32,120,109,108,110,115,58,120,109,112,77,77,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,109,109,47,34,32,120, +109,108,110,115,58,115,116,82,101,102,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,115,84,121,112,101,47,82,101,115,111,117,114,99,101,82,101,102,35,34,32,120,109,112,58,67,114,101,97,116,111, +114,84,111,111,108,61,34,65,100,111,98,101,32,80,104,111,116,111,115,104,111,112,32,67,67,32,50,48,49,53,32,40,77,97,99,105,110,116,111,115,104,41,34,32,120,109,112,77,77,58,73,110,115,116,97,110,99,101,73,68,61,34,120,109,112,46,105,105,100,58,53,52, +53,66,70,48,69,70,55,66,48,54,49,49,69,53,66,51,49,53,69,69,54,51,67,65,56,68,70,50,56,48,34,32,120,109,112,77,77,58,68,111,99,117,109,101,110,116,73,68,61,34,120,109,112,46,100,105,100,58,53,52,53,66,70,48,70,48,55,66,48,54,49,49,69,53,66,51,49,53,69, +69,54,51,67,65,56,68,70,50,56,48,34,62,32,60,120,109,112,77,77,58,68,101,114,105,118,101,100,70,114,111,109,32,115,116,82,101,102,58,105,110,115,116,97,110,99,101,73,68,61,34,120,109,112,46,105,105,100,58,53,52,53,66,70,48,69,68,55,66,48,54,49,49,69, +53,66,51,49,53,69,69,54,51,67,65,56,68,70,50,56,48,34,32,115,116,82,101,102,58,100,111,99,117,109,101,110,116,73,68,61,34,120,109,112,46,100,105,100,58,53,52,53,66,70,48,69,69,55,66,48,54,49,49,69,53,66,51,49,53,69,69,54,51,67,65,56,68,70,50,56,48,34, +47,62,32,60,47,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,62,32,60,47,114,100,102,58,82,68,70,62,32,60,47,120,58,120,109,112,109,101,116,97,62,32,60,63,120,112,97,99,107,101,116,32,101,110,100,61,34,114,34,63,62,115,115,54,90,0,0,175,140, +73,68,65,84,120,218,236,157,7,128,92,117,181,255,207,45,211,251,236,204,246,94,179,61,189,247,144,70,11,45,244,14,74,81,154,20,17,241,1,239,161,40,54,44,207,191,138,138,62,124,2,250,176,32,85,233,32,37,72,9,9,73,72,239,61,219,119,218,109,255,223,239, +55,155,80,4,201,220,123,103,167,157,79,24,118,179,73,238,220,185,237,124,207,249,157,194,105,154,6,8,130,32,8,130,20,22,60,30,2,4,65,16,4,65,1,128,32,8,130,32,8,10,0,4,65,16,4,65,80,0,32,8,130,32,8,130,2,0,65,16,4,65,16,20,0,8,130,32,8,130,160,0,64,16, +4,65,16,4,5,0,130,32,8,130,32,40,0,16,4,65,16,4,65,1,128,32,8,130,32,8,10,0,4,65,16,4,65,80,0,32,8,130,32,8,130,2,0,65,16,4,65,16,20,0,8,130,32,8,130,160,0,64,16,4,65,16,4,5,0,130,32,8,130,32,40,0,16,4,65,16,4,65,1,128,32,8,130,32,40,0,16,4,65,16,4,65, +1,128,32,8,130,32,8,10,0,4,65,16,4,65,80,0,32,8,130,32,8,130,2,0,65,16,4,65,16,20,0,8,130,32,8,130,160,0,64,16,4,65,16,4,5,0,130,32,8,130,32,40,0,16,4,65,16,4,65,1,128,32,8,130,32,8,10,0,4,65,16,4,65,204,70,204,228,155,39,18,9,60,3,8,242,41,104,154,70, +254,207,129,166,210,175,26,249,10,160,42,90,242,207,200,207,52,250,61,151,252,187,28,207,125,228,223,90,28,2,136,86,129,254,171,195,63,226,224,200,223,102,247,61,247,9,111,41,147,151,58,242,103,106,242,31,113,228,61,85,136,15,201,255,186,111,201,221, +98,239,205,9,220,200,126,16,175,66,224,217,31,28,222,39,186,141,79,124,55,4,65,64,20,69,224,249,204,248,226,25,19,0,146,36,193,130,5,11,96,231,206,157,120,5,32,5,13,51,234,228,63,85,86,129,218,85,250,123,142,163,134,52,105,53,109,30,11,8,22,94,180,186, +69,167,59,108,247,17,227,239,119,23,59,124,158,18,71,144,124,31,176,216,5,127,184,217,235,35,127,213,71,254,185,151,124,245,120,74,236,14,103,192,102,39,127,238,36,191,23,200,203,245,33,163,79,191,255,164,39,78,100,68,4,208,191,23,165,223,115,28,23,149, +98,74,172,103,219,16,253,253,16,121,13,240,60,55,208,187,125,184,47,210,19,31,32,6,191,55,62,40,31,234,217,58,216,79,12,126,127,124,64,234,27,58,24,31,34,251,31,143,13,74,160,74,42,168,106,82,188,80,113,64,182,199,62,23,21,12,60,143,194,0,65,238,186, +235,46,56,243,204,51,11,75,0,80,15,98,243,230,205,176,123,247,110,188,2,144,2,119,1,136,53,182,130,215,95,233,12,19,207,189,44,212,228,173,180,58,197,202,80,163,183,130,220,41,85,254,74,23,253,121,88,180,11,1,135,207,234,34,247,142,155,23,121,142,136, +2,96,138,129,69,4,134,142,184,249,148,65,101,16,6,134,52,115,246,143,108,84,168,251,168,94,8,212,2,4,57,203,72,132,194,2,85,9,43,48,177,16,149,135,163,253,210,0,177,243,251,251,119,69,14,202,49,101,119,223,206,200,174,72,111,124,199,240,193,248,142,129, +61,145,61,145,158,196,190,200,65,169,15,18,32,227,201,71,10,157,190,190,190,76,62,122,50,135,213,106,197,179,143,20,4,212,163,119,4,108,78,95,133,179,212,225,183,214,16,35,223,20,168,118,53,187,66,182,6,242,179,42,209,42,148,147,159,7,136,23,109,103, +134,29,52,226,57,143,68,8,104,100,64,101,170,153,121,211,28,36,163,239,144,248,136,141,254,8,212,229,55,53,195,71,249,183,250,0,172,34,93,110,0,135,197,99,117,184,253,92,136,236,106,125,113,93,128,236,3,199,62,59,93,14,160,75,22,170,162,41,137,136,220, +79,94,123,7,118,69,118,70,251,19,27,15,109,26,220,60,180,63,182,190,111,199,240,150,222,29,195,187,162,125,137,94,37,161,226,69,131,20,4,130,32,20,166,0,64,144,124,196,234,18,121,111,153,163,140,24,246,70,226,197,183,133,155,188,157,158,18,71,139,167, +212,81,103,243,136,101,196,192,219,233,58,57,91,199,39,47,69,214,152,113,87,228,164,209,147,227,202,191,221,190,150,133,159,121,36,16,193,34,123,138,170,141,8,151,79,121,222,89,248,160,51,96,13,186,195,246,54,142,227,22,53,31,83,206,142,131,42,107,74, +108,80,58,56,124,48,182,131,8,130,181,68,24,172,233,221,54,188,234,224,166,129,13,228,247,59,134,14,196,162,120,117,33,8,10,0,4,201,10,44,78,17,136,177,175,40,170,115,183,21,143,241,141,35,6,127,188,191,202,213,78,60,251,26,171,67,244,208,117,111,234, +201,51,239,151,122,242,228,171,36,43,255,222,165,206,115,180,145,156,0,85,86,62,30,74,16,44,14,161,36,88,235,46,9,53,120,38,214,207,44,97,130,66,142,41,82,124,88,222,49,176,59,178,238,208,150,161,119,14,174,31,120,107,207,234,222,213,253,187,34,91,163, +125,137,56,94,133,8,130,2,0,65,210,14,241,226,93,129,42,87,115,89,87,96,2,49,246,83,194,77,158,241,174,176,189,145,24,123,47,13,185,39,13,125,242,149,136,224,18,119,106,202,32,121,252,20,250,98,63,72,254,159,227,192,98,115,137,245,37,173,254,250,178, +206,192,177,116,73,65,138,169,82,164,55,190,109,96,119,116,21,17,3,43,14,172,31,120,125,255,218,190,247,250,118,70,246,107,170,134,199,18,65,80,0,32,136,97,131,239,41,110,241,117,86,116,7,166,149,118,4,102,4,106,220,227,236,94,177,150,174,211,83,207, +158,101,185,163,177,79,175,46,24,17,6,170,66,4,193,136,191,79,69,129,51,96,109,116,19,241,85,57,33,120,50,21,15,241,65,233,16,17,0,171,247,173,233,123,109,247,202,158,151,247,174,233,127,171,127,231,240,238,195,165,147,8,130,160,0,64,144,79,197,225,179, +90,66,77,158,182,154,41,225,217,229,221,193,185,129,26,215,68,135,223,86,205,11,192,214,234,21,98,240,229,4,121,197,49,73,45,227,162,128,69,90,62,88,70,224,69,190,40,220,232,153,83,210,234,155,211,117,106,205,151,227,67,82,127,255,142,200,187,251,214, +246,189,176,107,101,239,243,68,24,188,213,179,117,168,23,143,30,130,160,0,64,16,98,52,56,8,84,187,43,171,38,21,205,168,28,87,180,176,180,195,63,195,85,100,107,33,30,62,71,13,62,245,240,165,40,122,247,57,33,10,84,141,136,51,162,12,70,42,8,120,129,247, +133,26,61,179,138,91,125,179,58,79,169,185,53,62,40,237,57,184,113,240,181,157,111,31,122,122,199,138,131,47,238,93,219,191,70,138,200,168,228,16,20,0,8,82,40,208,44,125,226,221,119,86,79,14,45,168,28,31,92,66,4,192,100,155,91,244,209,144,190,146,80, +208,195,207,87,65,32,242,101,101,93,129,147,43,198,7,79,158,116,126,163,210,191,43,178,234,192,250,254,167,55,191,180,239,137,237,111,28,92,49,124,48,62,132,71,13,65,1,128,32,121,6,241,234,173,229,93,129,201,213,147,195,75,171,38,135,150,248,43,156,99, +137,65,224,169,193,167,158,254,199,91,221,34,121,42,8,98,35,75,6,28,8,222,50,199,216,64,181,107,108,243,194,242,27,134,246,199,182,31,218,52,248,236,150,87,246,63,178,245,213,3,47,244,110,27,234,193,35,134,160,0,64,144,92,53,250,33,155,181,106,98,104, +74,195,156,210,19,43,186,3,199,186,66,246,54,218,181,134,54,153,145,98,133,93,138,135,106,0,88,62,7,125,81,236,94,75,117,245,148,208,133,181,211,139,47,140,13,36,246,237,93,211,247,252,150,151,247,255,105,235,43,251,159,233,221,62,124,16,15,24,130,2, +0,65,178,28,171,75,132,138,238,224,148,230,99,202,78,174,153,86,124,2,17,1,109,244,97,79,155,235,96,166,62,242,105,208,74,1,53,154,20,133,188,200,151,84,79,10,157,81,59,181,248,140,88,63,17,3,107,251,254,78,196,192,31,54,60,179,231,133,161,3,177,126, +60,90,8,10,0,4,201,18,232,112,153,146,86,127,203,152,37,21,167,212,78,15,159,234,43,119,78,160,195,102,104,184,55,49,92,200,70,95,251,88,215,192,145,185,1,159,82,21,199,29,233,39,252,65,99,97,238,99,191,47,136,163,166,106,32,29,22,3,22,34,6,38,134,206, +37,98,224,220,73,231,55,108,223,181,178,247,209,13,207,238,249,253,214,127,236,127,41,129,9,132,8,10,0,4,201,12,129,106,87,81,211,130,178,165,228,117,78,176,214,51,87,180,243,118,37,126,56,188,159,127,166,156,118,197,35,126,234,145,175,234,200,215,164, +81,255,192,170,243,28,207,70,240,114,35,95,217,48,31,78,36,63,23,152,6,160,163,71,121,78,132,15,154,10,115,108,59,10,237,221,203,141,180,243,213,228,15,189,39,253,170,30,249,154,28,240,155,220,238,225,247,161,191,232,164,63,238,200,215,252,16,14,76,12, +140,44,23,217,60,150,234,230,5,101,87,146,235,237,202,254,157,195,43,183,188,178,255,247,239,63,185,235,255,246,174,233,95,143,205,135,16,20,0,8,146,102,104,136,191,114,124,209,180,214,165,21,231,84,79,14,159,236,240,91,203,21,73,97,235,250,137,161,220, +117,200,14,27,87,149,189,20,106,222,143,24,117,129,23,153,1,183,10,54,176,11,14,242,114,130,83,116,147,151,7,156,150,145,175,228,247,118,209,69,94,78,246,231,54,242,119,173,188,29,44,188,13,68,242,239,69,222,194,182,65,223,135,126,165,191,255,240,84, +1,250,94,146,26,63,34,6,36,37,193,246,35,174,198,200,207,19,144,80,98,16,147,163,16,87,34,16,37,175,136,60,4,195,210,0,68,229,225,35,223,199,200,207,227,74,148,189,36,34,38,152,136,208,180,35,194,128,10,147,195,47,14,248,156,59,71,116,153,224,240,50, +146,167,196,209,61,238,140,186,238,174,147,107,110,221,255,126,255,51,235,158,220,245,155,141,207,237,125,98,232,64,108,24,239,82,4,5,0,130,152,136,159,120,251,205,243,203,78,110,59,190,234,34,127,149,115,58,53,42,82,156,24,168,33,41,183,12,61,53,240, +212,219,166,70,158,188,168,129,164,6,145,26,106,106,196,221,86,31,248,172,69,16,176,133,193,79,94,65,242,242,218,130,228,103,65,112,89,188,224,32,70,222,33,184,70,12,120,246,64,141,125,156,136,132,40,17,3,84,16,12,36,122,161,63,209,3,125,241,131,208, +27,219,15,189,228,43,253,126,80,234,35,127,62,200,4,133,60,50,45,136,70,38,4,242,226,217,139,203,137,200,193,225,4,66,178,187,142,146,86,255,241,229,93,129,227,39,95,212,180,113,203,203,251,126,191,246,137,93,191,221,245,78,207,90,140,10,32,40,0,16,68, +39,116,132,108,221,244,240,216,214,99,43,47,172,158,28,90,238,8,216,202,233,186,126,114,125,54,55,60,122,106,232,15,123,194,2,47,48,239,220,111,13,16,195,94,12,197,142,10,40,118,86,64,152,124,45,178,151,48,35,239,182,248,178,206,184,31,13,52,170,144, +140,74,184,161,232,83,143,137,10,195,210,32,19,1,135,162,251,224,96,108,15,236,143,238,130,253,145,157,228,251,189,76,48,68,165,33,34,12,164,145,72,133,192,162,31,84,24,112,89,42,10,180,145,4,83,57,14,96,115,139,141,29,39,85,223,66,68,234,151,246,172, +234,125,226,189,191,238,248,229,166,23,246,254,45,54,32,73,120,55,35,40,0,16,228,40,176,185,45,98,219,241,149,75,90,22,149,127,190,180,221,191,132,120,251,22,230,237,15,102,239,115,84,101,198,254,131,176,183,133,183,18,99,238,133,32,49,236,165,206,106, +40,119,213,66,133,187,142,25,123,191,173,136,9,129,130,19,116,192,51,129,67,95,101,206,154,143,252,25,53,250,3,82,47,28,136,238,134,189,195,219,97,247,240,86,216,51,188,13,14,196,118,195,64,188,7,98,106,116,68,68,37,151,67,4,58,102,49,203,68,1,91,34, +24,102,121,20,118,218,112,168,114,124,240,228,254,221,205,239,110,120,102,207,47,222,125,120,219,3,125,59,177,156,16,65,1,128,32,159,136,183,220,233,239,62,181,230,204,134,185,165,159,11,214,184,199,43,172,13,111,118,122,251,204,179,39,70,139,126,165, +30,170,203,226,33,94,124,13,51,242,53,238,102,168,242,52,66,137,163,146,133,239,185,2,203,162,215,245,32,226,45,44,42,66,95,45,254,177,71,126,78,151,19,168,40,216,53,180,25,182,15,109,128,29,67,155,96,127,100,23,12,38,122,89,110,2,93,62,17,88,126,67, +22,69,9,104,84,32,166,0,93,224,112,6,109,93,19,207,171,255,97,251,9,85,55,111,123,253,192,253,111,63,184,229,87,123,86,245,174,199,51,142,160,0,64,16,66,105,135,191,178,109,105,229,197,77,11,202,46,118,133,237,53,244,225,153,109,107,251,116,189,94,30, +49,248,52,169,206,107,13,66,153,171,6,106,61,45,80,231,109,133,74,119,3,11,227,179,76,123,196,52,232,146,66,141,167,153,189,166,195,18,246,51,154,95,176,39,178,13,182,13,188,15,91,6,214,18,81,176,17,122,98,7,88,18,98,182,9,2,85,86,201,181,172,130,96, +227,203,91,22,149,127,185,97,78,201,23,247,174,238,123,248,173,7,54,255,100,211,11,251,94,199,51,140,160,0,64,10,211,240,183,251,155,198,159,93,127,69,195,236,146,243,45,78,177,72,138,200,89,19,230,167,235,213,52,73,141,26,125,106,76,168,193,167,222, +125,189,183,13,26,253,29,196,224,55,178,53,123,100,244,241,90,3,236,117,56,82,64,171,14,246,68,182,195,150,254,181,176,190,111,37,108,31,92,15,61,241,253,144,80,226,236,220,209,232,66,166,133,153,54,178,60,192,113,224,170,24,23,60,159,188,206,221,249, +86,207,99,171,255,188,253,135,155,95,218,247,52,54,169,66,80,0,32,5,65,205,212,112,71,251,241,85,95,32,222,208,121,162,93,112,209,48,127,54,24,126,133,121,249,9,182,158,79,203,235,106,60,245,196,216,119,194,24,255,56,168,246,52,129,223,22,194,147,151, +133,216,4,7,139,196,208,215,188,202,147,32,38,71,96,231,240,38,34,6,222,133,245,189,239,176,101,131,129,68,15,75,44,20,57,11,203,35,200,84,116,128,38,13,178,101,45,14,120,34,2,78,168,158,20,58,225,208,230,193,103,222,249,195,214,123,214,60,182,243,81, +9,133,0,50,138,112,154,150,153,82,149,68,34,1,45,45,45,176,117,235,86,60,11,5,66,195,220,210,174,241,103,213,93,91,49,54,120,54,199,113,54,250,32,204,212,245,119,24,234,225,203,154,196,18,212,168,129,175,243,142,129,214,224,4,104,246,119,67,185,179,134, +53,185,65,114,27,90,126,184,169,255,61,88,211,243,79,216,208,255,46,171,60,160,125,14,104,100,128,190,50,189,84,32,88,121,16,201,235,208,166,161,23,222,249,195,150,239,172,121,124,23,10,129,2,226,231,63,255,57,124,238,115,159,195,8,0,146,159,148,119, +7,219,102,92,209,114,35,241,120,206,38,191,181,102,58,177,143,26,125,154,64,70,215,242,195,142,114,102,236,59,138,166,64,163,175,147,133,150,145,252,130,10,187,9,197,115,216,139,246,31,216,54,180,1,222,59,180,130,9,130,93,195,91,88,51,35,26,21,160,149, +27,153,16,3,180,137,21,125,249,170,156,115,22,220,220,57,167,251,244,186,231,87,254,97,235,119,215,62,182,243,81,92,26,64,48,2,128,228,36,165,29,254,134,241,103,213,95,223,48,187,228,2,226,229,56,89,75,213,12,57,252,180,60,143,173,9,147,7,61,205,206, +111,13,142,135,238,208,116,104,240,117,20,100,73,30,146,204,243,216,49,184,9,222,235,89,1,239,30,122,141,124,191,145,137,129,100,231,68,107,198,34,3,201,136,128,0,135,182,12,254,253,173,223,109,254,214,170,63,109,127,6,207,22,70,0,48,2,128,228,4,197, +99,124,165,147,206,111,184,174,126,86,201,101,162,93,240,81,143,63,19,94,63,205,220,79,168,113,22,222,15,59,202,160,189,104,50,51,250,77,196,211,167,235,198,72,129,123,63,228,186,160,185,29,244,181,180,230,28,216,57,180,9,222,57,248,50,188,123,240,53, +246,125,76,137,177,168,192,104,55,102,58,28,17,240,87,56,23,30,243,149,174,133,99,22,87,252,133,8,129,187,54,189,136,85,3,8,10,0,36,75,241,150,59,61,99,151,215,94,209,177,172,234,58,187,215,82,154,136,140,254,52,62,154,232,37,17,79,159,38,244,209,208, +239,184,192,108,152,88,60,7,90,2,227,88,73,25,130,124,26,180,148,147,190,142,171,61,15,54,247,175,133,183,15,190,68,196,192,171,176,55,178,157,37,134,90,121,219,168,86,19,200,68,4,16,5,11,21,227,130,203,42,199,23,29,183,253,141,131,247,255,227,255,173, +251,230,222,213,125,216,71,0,49,71,4,227,18,0,98,20,155,91,228,186,79,171,61,103,252,57,245,95,117,6,108,99,18,81,153,149,61,141,38,178,38,51,195,111,23,29,172,84,111,66,241,92,230,237,211,158,250,8,162,23,90,98,248,126,239,219,176,98,255,179,176,166, +231,77,232,143,31,202,204,18,1,121,43,139,93,160,145,129,193,141,47,236,253,241,171,63,93,255,253,190,157,195,7,240,12,229,62,184,4,128,228,166,122,228,57,104,154,95,58,119,218,101,45,183,23,213,185,231,176,114,190,81,108,224,115,216,219,167,195,117, +104,95,253,113,225,153,48,169,100,1,43,7,67,16,83,196,173,224,128,46,34,36,233,235,80,108,31,91,34,88,177,239,89,216,54,248,62,200,138,196,38,52,142,74,84,96,164,124,144,220,115,158,49,139,43,190,82,51,37,124,206,170,63,109,187,235,141,223,108,250,69, +98,88,198,76,65,4,35,0,200,232,81,214,17,168,159,126,69,203,127,84,79,14,93,192,38,163,37,70,111,20,47,13,239,211,108,110,155,96,103,117,250,211,75,23,179,7,52,134,248,145,209,17,158,42,235,49,240,234,158,167,88,242,96,50,42,96,97,249,2,163,5,47,112, +32,58,4,232,219,54,252,218,235,247,109,188,109,237,99,59,254,166,225,240,65,140,0,96,4,0,73,39,142,128,213,49,229,162,166,171,59,78,170,190,73,180,241,193,209,92,227,167,165,123,180,132,143,134,245,103,150,45,133,105,101,139,89,184,31,65,70,213,107,2, +158,117,33,164,47,26,21,120,99,223,179,240,218,190,191,179,121,5,244,79,105,84,32,221,203,3,108,240,208,144,12,158,50,199,212,197,183,117,63,53,102,113,249,111,95,253,217,250,219,247,172,238,221,132,103,8,65,1,128,152,251,208,35,207,179,182,227,171,142, +157,114,73,211,157,254,42,215,56,106,248,71,35,179,255,112,152,159,122,93,229,174,122,152,78,140,254,228,146,5,184,182,143,100,5,116,254,195,146,154,179,96,126,213,41,176,234,224,171,240,210,158,199,224,253,222,149,68,172,198,193,202,219,217,108,130, +116,114,184,98,160,102,74,248,220,242,238,224,177,171,254,180,237,155,43,126,181,241,135,209,254,68,28,207,14,130,2,0,49,76,121,87,160,102,234,231,155,255,139,60,100,206,163,15,155,209,104,219,75,13,63,13,243,211,245,213,38,127,23,204,174,56,1,198,133, +102,18,239,202,158,215,199,90,147,162,160,197,7,65,27,62,8,234,240,33,80,135,246,147,239,15,145,159,13,177,68,48,206,230,1,222,83,10,66,184,9,132,162,6,0,193,146,241,125,86,135,183,129,58,176,46,249,53,222,75,63,4,112,130,131,236,107,17,112,116,64,146, +189,152,124,31,6,206,234,7,206,226,205,203,243,70,43,4,104,226,41,125,109,236,95,5,47,238,250,43,188,115,240,21,24,150,6,216,53,43,164,57,79,128,54,12,226,120,46,56,225,156,134,187,27,102,151,158,241,218,47,215,223,180,230,177,157,207,2,46,11,32,40,0, +16,61,216,189,22,24,127,78,253,149,19,206,174,191,77,176,9,197,163,17,238,215,52,34,48,212,24,123,160,142,13,207,132,121,21,203,160,45,56,41,255,12,61,49,242,42,49,242,218,192,94,80,250,119,18,3,186,135,188,246,130,22,33,198,62,54,64,108,104,12,52,37, +145,108,30,127,56,4,147,60,64,201,223,138,86,224,125,149,96,169,39,162,168,101,49,112,206,81,238,96,72,206,147,188,239,89,144,118,61,6,10,49,254,154,52,4,201,46,79,28,251,239,200,126,211,96,56,79,30,51,196,8,82,227,207,89,131,192,59,136,40,112,84,0,231, +170,6,222,89,65,4,66,25,17,8,116,255,243,163,237,50,237,40,73,95,123,134,183,194,139,187,31,101,73,131,180,29,49,93,26,16,56,49,141,167,68,99,73,184,238,98,251,132,37,183,143,125,166,101,81,197,207,94,188,103,205,109,135,54,15,238,195,167,25,242,73,96, +18,32,242,137,212,207,44,233,158,117,117,235,119,138,26,60,199,80,195,79,31,46,105,245,34,137,65,97,137,125,162,131,101,243,207,175,56,25,234,125,237,249,97,236,35,61,160,246,239,2,165,119,27,40,61,196,75,238,219,65,60,251,3,196,208,247,3,80,67,79,62, +59,179,155,212,75,228,5,90,94,49,98,240,185,127,27,35,1,69,102,34,129,247,148,128,109,220,153,96,29,179,100,84,62,143,210,255,30,36,214,255,63,80,250,86,38,141,54,77,126,251,183,161,110,109,68,16,168,116,44,30,19,15,236,51,83,113,32,88,147,194,192,22, +38,98,160,18,120,119,29,8,238,6,224,220,181,192,211,101,30,222,146,243,231,159,230,9,188,188,231,49,120,101,207,147,112,48,186,55,237,66,224,72,84,194,41,66,180,47,177,253,205,255,221,124,243,91,15,108,126,96,52,19,117,145,163,39,147,73,128,40,0,144, +143,123,253,214,233,151,183,220,216,121,114,205,45,228,183,78,57,158,222,117,126,106,8,98,74,148,77,223,155,24,158,11,243,42,79,102,157,217,114,214,216,75,81,98,236,119,131,122,104,19,40,7,55,18,131,191,37,233,217,83,175,94,145,62,102,232,133,15,60,123, +67,22,89,34,54,85,2,107,203,66,112,76,191,18,64,180,165,237,243,73,59,31,129,248,250,255,38,239,25,37,94,189,25,221,20,53,38,8,168,48,208,52,153,9,5,118,124,200,245,192,219,138,153,32,224,189,77,32,120,90,200,247,181,44,130,144,171,208,137,132,47,239, +126,156,69,5,14,68,119,131,133,8,1,49,205,66,128,86,11,88,93,34,236,124,187,231,15,47,222,179,230,166,61,171,122,241,129,139,2,0,5,0,242,137,94,255,100,226,245,255,128,120,253,83,105,134,113,58,175,13,186,198,31,87,34,96,23,92,48,169,120,30,44,168,58, +149,117,97,203,57,131,31,31,2,149,122,246,251,215,129,188,255,125,80,123,182,38,67,251,114,44,121,131,209,7,188,48,226,213,167,53,51,92,99,251,98,169,159,5,206,121,55,166,69,4,72,219,30,76,26,127,230,241,167,217,131,61,34,10,164,164,40,160,83,251,172, +1,224,93,213,32,120,199,0,239,239,32,162,160,25,56,123,113,206,93,51,131,137,62,120,137,136,128,164,16,216,53,146,35,144,222,227,105,113,8,32,199,213,253,111,254,118,211,87,87,220,183,241,23,180,116,23,65,1,128,2,0,1,187,207,98,153,126,89,203,87,70,188, +126,91,58,189,254,164,225,143,178,53,254,241,197,179,97,97,213,114,168,201,165,198,61,74,130,133,241,149,189,239,129,188,119,53,40,135,182,36,215,237,229,4,51,242,156,32,154,231,217,235,20,36,214,214,165,224,152,125,141,169,219,149,247,62,3,177,85,119, +16,227,111,251,140,112,127,250,174,28,38,10,84,137,232,1,133,69,9,104,82,33,239,170,1,193,215,14,66,112,44,240,222,22,224,44,254,220,17,2,82,31,60,191,243,47,68,8,60,2,61,177,253,172,233,80,58,155,10,113,52,26,224,20,97,247,59,61,15,191,112,207,154,27, +48,26,128,2,0,5,64,129,83,55,163,120,236,236,107,218,126,72,188,254,89,233,246,250,233,26,63,71,140,71,87,104,42,44,169,57,27,26,188,185,177,198,175,13,29,0,121,223,26,144,119,175,4,101,223,58,80,7,247,178,36,189,35,6,159,134,243,51,60,83,254,35,18,43, +17,1,231,220,47,129,165,121,161,41,91,84,163,187,33,186,226,242,100,162,95,54,173,201,211,124,2,85,102,75,7,52,209,144,179,133,88,84,64,8,78,0,33,48,150,45,25,192,40,246,238,215,75,111,252,0,60,179,227,97,120,121,207,227,44,58,64,219,89,115,105,76,136, +28,137,6,236,253,231,253,155,110,124,237,222,245,191,197,167,96,225,10,0,172,2,40,80,68,27,15,51,174,28,115,245,184,51,234,190,78,108,190,59,157,165,125,180,129,15,29,199,75,27,167,44,37,134,191,163,104,74,182,155,124,22,202,151,119,173,36,175,183,217, +90,190,26,237,99,63,167,161,104,160,198,198,154,173,35,132,147,137,117,177,55,127,7,98,245,100,224,236,62,227,194,109,211,175,64,139,31,34,23,77,150,117,90,164,198,93,16,200,39,78,46,119,104,137,94,144,15,188,12,210,254,23,129,19,93,44,58,32,6,199,129, +16,154,2,130,183,213,164,156,5,243,161,61,45,78,107,188,28,102,149,31,7,79,110,127,16,86,236,125,26,98,106,20,236,172,228,213,124,97,73,251,119,240,2,87,58,253,242,150,251,203,58,252,139,94,184,103,205,245,61,91,134,112,174,64,33,218,1,60,4,133,71,73, +171,175,122,254,151,59,127,76,110,254,19,232,196,190,116,101,248,83,163,159,80,226,80,233,174,103,134,127,74,233,49,105,245,108,140,217,124,149,24,250,13,32,239,124,27,228,29,255,4,133,8,0,234,73,3,207,143,100,170,231,208,248,96,193,194,202,10,19,239, +255,13,108,221,203,141,121,255,131,27,65,38,6,21,68,103,246,127,110,150,111,33,142,152,76,34,226,6,55,64,188,127,13,112,219,126,207,202,13,133,192,56,16,195,211,129,247,119,146,191,154,125,109,163,75,156,85,112,193,152,27,153,16,120,108,235,253,176,234, +224,107,108,41,137,46,151,153,13,237,36,72,69,127,237,180,226,243,74,59,2,211,94,250,193,154,47,174,126,100,199,83,248,116,68,1,128,228,49,227,207,170,63,101,202,165,77,63,178,185,197,242,248,80,122,234,250,233,58,127,76,142,128,223,86,4,39,212,93,0, +243,43,79,33,222,76,118,26,16,229,208,38,144,183,173,32,70,255,13,150,177,79,67,251,28,109,174,195,146,206,156,57,123,158,105,159,0,105,211,11,96,235,56,201,80,179,32,105,207,83,160,201,195,89,105,48,63,43,18,66,147,21,57,214,159,159,136,129,200,110, +80,134,182,178,42,6,206,81,14,98,209,4,16,139,103,131,64,196,64,182,69,6,104,123,235,171,186,238,130,183,15,188,4,143,18,33,176,117,96,93,218,74,7,105,3,33,209,198,55,46,188,181,235,137,170,201,161,187,158,251,246,123,183,199,250,19,18,32,40,0,144,252, +193,225,183,218,231,223,216,241,141,150,197,21,215,73,177,244,181,241,165,235,252,2,47,194,236,242,227,225,184,186,243,32,100,47,203,186,99,65,203,242,228,109,175,129,180,237,85,22,222,167,158,254,7,70,223,149,31,39,156,70,1,250,118,50,81,35,132,155, +117,30,40,137,252,251,55,71,140,104,46,195,37,207,237,72,254,130,22,223,15,137,29,127,6,105,215,163,192,19,175,91,12,77,5,161,120,14,17,3,237,144,61,185,28,0,227,194,179,160,189,104,50,188,176,235,47,240,212,246,135,160,55,118,0,236,162,211,244,57,3, +170,76,187,110,42,92,235,146,202,91,194,77,222,25,79,127,227,221,203,118,175,236,125,31,159,154,40,0,144,60,160,118,122,113,251,220,47,181,221,27,172,245,76,75,215,184,222,195,225,254,102,127,55,156,84,127,49,180,4,198,101,213,49,208,18,195,32,239,124, +139,121,197,52,131,95,141,246,19,131,64,215,144,173,249,99,244,63,102,244,104,101,130,114,96,131,110,1,160,198,246,146,227,180,55,253,37,127,163,31,30,33,255,137,35,145,129,93,16,223,250,0,112,59,254,200,18,8,197,146,57,44,50,64,163,4,217,0,13,255,47, +172,58,29,198,135,231,192,163,91,255,7,94,221,251,20,168,170,98,126,75,108,13,88,23,193,64,181,123,206,169,255,61,245,229,21,247,109,188,122,197,125,27,30,208,176,90,16,5,0,146,187,76,185,164,233,28,242,250,33,199,113,193,116,24,255,195,225,254,160,189, +24,150,54,158,13,115,42,78,28,149,46,103,71,45,76,136,135,79,141,190,188,245,53,80,6,118,143,60,255,109,57,29,222,79,197,241,165,29,8,117,159,219,216,62,114,0,35,201,210,191,124,61,64,71,34,3,26,185,62,214,130,220,183,10,248,45,191,101,149,4,98,217,98, +16,139,38,101,69,229,3,29,58,68,243,3,166,148,44,128,63,111,254,37,108,32,251,153,142,101,1,90,2,204,9,92,104,198,149,99,126,87,60,198,55,245,239,119,190,123,83,12,7,11,161,0,64,114,11,135,223,106,157,119,99,199,183,90,22,149,95,43,199,20,80,20,243,165, +60,157,120,70,153,89,126,44,156,88,119,17,123,72,101,133,183,47,69,147,33,254,13,207,129,76,188,125,250,123,186,38,158,83,137,124,102,69,1,232,16,33,221,81,147,129,100,169,93,129,28,43,42,116,56,242,210,148,56,155,115,32,239,123,30,120,119,61,136,165, +11,192,82,58,63,43,162,2,99,2,227,225,134,241,157,240,236,142,63,194,147,219,126,7,3,82,31,216,89,14,131,121,203,2,218,72,130,96,227,220,210,171,3,213,174,113,79,127,99,213,37,187,87,246,108,192,167,42,10,0,36,7,168,24,27,172,59,230,150,174,95,21,213, +187,231,198,233,0,31,147,147,252,105,223,126,218,197,175,202,211,4,167,212,127,14,186,66,211,178,226,115,171,196,195,151,54,60,11,210,230,151,64,233,219,201,50,168,57,161,64,188,253,127,19,163,49,160,164,14,143,247,41,48,221,196,3,140,36,173,170,195, +91,33,190,225,167,32,109,123,8,132,240,116,176,16,177,43,4,186,51,251,208,230,44,176,168,250,12,232,14,205,128,63,110,190,23,222,218,255,2,139,4,136,38,71,42,232,12,144,64,141,123,214,41,63,156,242,210,63,254,223,186,207,191,253,224,150,71,240,233,138, +2,0,201,98,58,150,85,47,154,115,93,219,175,68,187,80,145,142,44,127,154,228,39,242,86,88,90,123,46,28,87,115,46,56,196,204,175,159,43,251,214,66,98,221,147,32,109,127,29,52,186,182,95,144,222,126,154,188,226,66,103,164,146,64,83,162,32,239,122,28,228, +189,127,7,193,223,5,150,138,227,64,12,207,98,83,14,51,69,137,179,18,174,232,184,3,94,223,251,52,252,105,243,47,216,124,1,179,147,4,105,244,144,23,185,146,185,215,183,255,185,168,222,243,181,231,190,189,250,235,216,70,24,5,0,146,109,207,41,145,135,89, +95,28,115,237,248,115,234,239,150,227,138,133,222,184,230,123,253,81,168,247,181,193,233,141,87,66,19,121,8,102,214,177,85,65,222,190,2,18,107,159,0,121,247,187,44,108,203,137,246,60,77,232,67,50,175,133,132,145,94,8,26,40,61,111,131,220,243,38,155,90, +200,132,64,233,66,214,150,56,83,208,254,26,99,130,227,224,143,155,238,101,73,130,60,249,37,154,88,185,65,171,4,36,69,230,186,78,173,185,51,80,227,234,122,234,246,149,151,13,236,137,244,225,69,129,2,0,201,2,188,101,14,251,130,155,59,127,84,63,171,228, +82,186,118,103,118,55,223,195,94,63,173,233,63,150,120,254,214,76,38,133,201,9,144,182,188,76,12,255,227,108,0,15,11,81,211,48,191,197,137,23,2,50,58,81,17,226,245,83,31,91,29,222,6,241,117,63,128,196,182,63,128,165,124,9,17,3,199,103,108,56,145,207, +90,4,23,181,222,12,93,69,83,225,255,54,253,12,246,71,118,153,26,13,160,207,20,250,108,169,28,95,116,250,242,159,78,107,122,250,27,239,158,187,237,245,3,107,240,122,64,1,128,100,144,146,86,95,213,226,219,198,222,31,106,242,206,137,13,152,155,229,175,129, +10,81,57,2,245,222,86,56,189,233,139,208,156,65,175,159,38,242,73,27,95,32,134,255,49,80,14,109,102,51,5,64,180,99,144,26,201,28,212,203,166,203,3,137,67,16,223,244,75,144,118,253,21,68,226,141,91,171,78,206,88,194,224,132,226,185,208,232,239,132,255, +219,248,51,120,109,239,223,76,207,13,160,121,1,238,98,251,184,19,190,61,241,185,127,252,100,221,69,111,63,184,229,113,188,16,80,0,32,25,128,120,252,83,150,220,49,246,119,86,167,88,111,118,47,127,218,191,159,178,184,250,76,88,86,127,81,230,58,249,73,49, +72,108,120,6,18,107,30,99,237,121,233,240,29,92,223,71,178,43,40,32,178,78,137,154,52,8,137,173,191,3,121,207,83,172,132,48,83,66,128,70,3,46,105,187,5,218,130,19,225,225,77,63,131,190,248,65,83,239,95,90,42,200,139,92,241,156,235,218,30,241,150,57,174, +123,233,135,107,127,68,91,11,35,40,0,144,209,82,250,231,212,47,159,117,85,235,47,21,89,243,72,38,175,247,71,229,97,150,96,116,102,243,85,208,85,148,161,12,127,69,34,30,255,243,16,95,253,103,80,15,109,97,157,237,10,59,155,31,201,126,33,32,36,133,128,28, +25,17,2,79,130,165,108,41,88,170,79,203,200,210,192,180,210,69,208,232,235,128,7,214,255,16,86,30,124,5,108,130,221,180,113,195,52,47,64,83,20,97,210,249,141,63,116,6,109,245,207,222,189,250,122,226,132,96,118,32,10,0,36,189,207,24,14,230,94,215,126, +67,247,242,154,111,43,9,21,204,84,222,138,166,176,218,254,201,37,11,136,241,255,34,243,36,70,29,77,3,105,243,139,16,95,245,39,80,14,172,103,99,94,1,13,63,146,147,66,32,202,132,128,180,247,239,96,169,60,145,188,78,30,245,100,193,176,163,28,174,234,190, +11,158,218,246,32,252,117,235,111,32,65,238,111,179,114,120,104,94,64,180,63,1,173,75,43,175,13,84,187,106,30,185,225,159,23,13,29,136,245,227,5,128,2,0,73,3,118,175,133,159,127,83,231,247,91,143,171,184,58,62,64,231,160,155,103,252,227,74,140,205,33, +95,222,120,57,27,222,147,9,104,171,222,248,59,191,39,158,211,106,182,198,143,137,125,72,174,11,1,16,93,160,73,3,144,216,248,11,144,118,63,9,214,154,211,193,82,126,220,168,150,15,210,68,192,37,53,103,65,131,191,29,254,247,253,123,96,251,224,6,112,178, +242,93,115,50,104,104,135,209,226,86,255,201,167,253,116,90,249,223,239,92,121,250,174,183,123,182,227,201,207,13,120,60,4,185,129,59,108,119,157,242,227,169,15,142,89,90,113,117,172,95,50,209,248,107,16,149,135,160,202,211,0,95,26,251,221,140,24,127, +58,145,47,242,204,93,16,121,234,14,144,247,18,227,111,33,15,71,209,138,39,29,201,19,33,64,252,44,26,17,136,29,128,216,218,239,67,228,141,47,176,78,131,163,77,147,175,11,110,28,119,15,235,220,25,83,34,44,226,103,22,82,68,6,127,165,115,202,9,119,79,124, +174,122,82,104,44,158,116,20,0,136,73,132,155,188,37,203,190,63,249,177,146,86,223,114,51,147,253,84,242,0,136,42,81,242,64,56,14,110,32,15,134,58,111,235,168,126,46,45,210,3,177,87,127,14,195,127,253,50,72,155,95,78,206,114,23,237,120,194,145,60,125, +218,90,200,245,237,2,117,104,19,196,222,189,29,162,111,221,0,74,223,234,81,221,5,151,197,11,23,183,126,5,206,105,254,18,155,218,153,80,205,107,243,79,39,140,210,132,228,147,238,153,252,247,238,229,181,199,224,9,207,126,112,9,32,203,169,28,23,108,56,225, +219,19,255,100,243,88,58,105,9,142,105,55,43,185,241,45,188,141,60,8,174,37,94,255,201,163,251,161,84,5,18,235,158,128,248,202,135,65,29,220,203,178,250,49,179,31,41,28,33,144,92,131,87,14,173,128,104,239,59,96,169,88,10,214,186,243,129,179,133,71,109, +23,230,85,158,4,213,158,70,248,205,186,239,192,174,161,205,166,117,244,164,93,2,121,145,11,205,187,161,227,17,14,224,194,119,254,176,245,247,120,194,49,2,128,232,160,98,92,81,55,49,254,127,183,186,44,157,84,93,155,5,205,242,15,59,42,224,154,238,111,141, +186,241,151,119,175,132,225,71,111,134,232,203,63,1,45,218,155,236,220,199,225,101,136,20,32,35,67,124,18,219,255,4,145,215,47,7,105,251,195,163,58,124,169,193,215,1,55,142,191,7,38,22,207,101,203,128,180,239,135,41,250,94,214,64,73,40,142,57,215,183, +63,48,235,170,214,203,56,108,214,129,17,0,36,53,58,150,85,205,156,117,117,219,195,22,135,80,76,235,110,205,64,99,235,253,195,48,54,60,19,206,111,185,30,252,182,208,168,125,30,109,248,16,196,222,126,0,164,245,79,211,39,4,150,244,33,8,133,38,187,178,68, +193,62,136,173,251,62,155,64,104,109,188,116,212,6,14,121,44,126,184,162,243,14,248,235,150,122,120,116,235,253,192,17,107,77,135,13,25,22,1,10,121,218,104,42,63,229,226,166,159,218,125,22,223,223,191,254,238,221,128,173,2,80,0,32,159,77,247,242,218, +197,243,111,236,120,72,145,84,31,45,245,51,3,154,240,35,171,9,88,90,115,54,156,210,240,121,16,76,170,7,62,26,18,239,255,13,226,111,61,48,18,238,39,134,95,196,203,14,65,62,42,4,104,254,139,8,74,223,187,16,125,235,122,176,84,46,3,107,253,249,228,126,241, +141,198,155,195,9,117,23,66,185,187,22,126,75,68,200,176,52,0,86,19,170,20,52,85,99,101,130,93,167,212,124,139,24,127,239,211,223,120,247,86,13,69,0,10,0,228,223,26,255,147,231,221,208,254,91,41,174,56,53,83,106,252,57,144,212,88,114,189,127,204,141, +44,225,111,180,80,123,183,65,108,197,175,217,148,62,78,176,226,160,30,4,249,44,168,225,213,84,72,108,123,16,148,131,175,129,181,241,115,32,150,204,29,149,183,158,16,158,203,150,6,127,181,230,27,176,99,112,147,105,121,1,180,69,121,215,169,53,95,37,143, +34,247,211,223,88,117,45,21,6,72,118,128,139,175,217,101,252,151,207,163,158,127,66,53,201,248,211,250,254,8,4,108,197,112,117,247,55,71,207,248,107,10,36,86,253,41,153,221,191,125,69,210,235,231,81,107,34,200,209,105,118,158,53,18,82,163,187,33,246, +238,109,16,91,125,39,104,241,3,163,242,214,213,238,38,248,210,216,239,65,119,104,58,68,88,94,128,57,207,161,216,160,68,71,149,95,115,242,15,38,255,212,25,176,98,86,0,10,0,228,99,198,255,2,98,252,31,160,163,124,205,234,238,71,215,251,233,248,222,235,199, +125,15,154,253,163,179,166,72,7,245,12,63,126,43,68,95,189,23,52,57,142,217,253,8,162,251,233,108,5,16,108,172,129,80,100,197,149,32,239,125,122,84,222,214,107,13,192,23,186,238,132,133,85,203,217,8,112,58,10,220,184,83,144,28,36,84,55,189,248,178,19, +191,59,233,94,103,192,134,34,0,5,0,242,33,227,255,43,37,174,8,102,120,254,84,181,83,245,62,177,100,46,92,219,125,55,107,7,58,10,110,63,107,223,27,121,236,43,32,239,94,149,76,242,227,5,60,185,8,98,44,28,144,76,18,140,31,130,216,170,255,76,70,3,18,135, +210,254,174,116,138,224,89,205,87,195,233,141,87,178,126,33,138,102,78,9,50,141,4,148,119,5,47,57,241,187,19,239,117,96,36,0,5,0,26,127,98,252,111,104,167,198,159,55,195,243,167,106,61,70,84,251,162,234,51,224,178,246,219,193,33,186,211,254,25,212,254, +221,16,121,242,118,214,212,71,147,19,201,78,126,8,130,152,248,164,182,176,252,128,100,52,224,11,32,31,120,105,84,222,150,62,71,46,109,191,21,44,188,245,200,132,80,163,208,214,193,101,157,129,75,150,125,119,18,21,1,120,110,81,0,20,184,231,159,80,77,49, +254,84,165,203,154,68,84,251,21,112,102,211,23,129,31,133,250,122,105,195,51,48,252,232,77,32,237,248,103,50,201,15,189,126,4,73,111,52,32,182,15,98,43,191,6,241,247,127,72,110,250,104,218,223,149,246,9,248,98,215,93,224,179,6,217,146,128,25,208,229, +128,178,46,38,2,126,225,12,226,114,0,10,128,194,51,254,203,169,231,47,155,228,249,203,170,68,78,38,15,23,181,222,12,139,171,207,76,251,254,107,241,65,136,190,120,15,68,158,255,30,249,126,8,215,250,17,100,212,158,218,86,246,74,108,123,8,34,255,188,26, +148,129,117,105,127,203,102,127,23,92,59,246,219,80,238,170,101,115,4,76,17,1,67,50,148,19,17,112,252,55,39,220,43,88,208,20,161,0,40,28,227,127,242,188,27,58,126,75,61,127,227,107,254,28,107,235,107,23,157,112,69,231,127,178,25,224,233,70,217,183,134, +117,243,75,172,123,42,25,238,199,12,127,4,201,64,52,192,13,234,192,122,136,190,121,45,72,59,254,152,246,119,164,198,255,186,177,223,129,38,95,39,75,48,54,131,56,17,1,21,227,139,46,153,255,229,142,31,112,216,50,16,5,64,1,24,255,197,243,110,236,248,173, +156,80,172,170,9,198,159,134,228,104,104,142,206,252,238,40,154,146,246,253,79,172,250,51,12,63,241,31,160,246,110,31,169,235,199,155,22,65,50,6,237,27,160,202,16,91,251,61,150,36,168,73,253,105,125,59,218,61,244,170,238,111,30,41,19,52,39,18,32,209, +102,65,87,31,115,75,231,93,40,2,80,0,228,45,237,39,84,205,156,127,83,199,239,21,83,154,252,112,172,198,191,216,81,1,87,119,223,13,13,222,246,180,238,187,22,27,128,232,179,223,134,232,171,63,79,246,43,23,109,120,66,17,36,43,130,1,2,203,13,144,246,60,5, +81,186,36,208,255,94,90,223,206,41,186,225,242,142,59,96,106,233,66,211,68,192,72,179,160,155,137,8,248,42,138,0,20,0,121,71,197,184,96,215,156,107,219,30,86,18,170,215,140,53,255,152,50,12,149,238,6,184,102,236,183,200,215,250,180,238,187,114,96,61, +12,63,118,11,36,54,62,155,44,239,227,48,209,15,65,178,78,7,208,37,129,161,109,172,149,176,180,243,47,105,125,47,171,96,131,75,218,110,129,185,21,39,154,214,48,136,150,8,118,157,82,115,231,130,175,116,94,133,103,19,5,64,62,25,255,134,19,191,61,241,17, +209,33,20,211,113,153,198,141,127,4,234,188,99,88,119,63,26,1,72,39,52,203,63,242,196,215,88,91,95,108,229,139,32,89,14,49,204,160,74,16,95,251,29,136,175,251,46,251,62,109,111,197,137,112,222,152,27,96,81,245,233,16,147,35,198,69,0,249,231,177,33,22, +9,248,225,184,51,235,206,193,147,137,2,32,231,41,170,247,20,19,227,255,103,171,75,172,49,99,176,15,77,190,105,244,117,16,227,255,45,8,164,121,126,120,124,229,31,32,242,194,247,89,71,63,12,249,35,72,206,132,2,216,168,225,196,246,135,33,186,242,86,114, +255,14,167,239,173,200,175,51,155,174,98,149,71,102,137,0,90,34,56,231,186,182,95,117,47,175,93,130,39,19,5,64,206,226,14,219,93,75,254,115,220,255,217,60,150,14,57,110,134,231,63,12,77,254,78,248,66,231,215,217,24,207,116,146,120,239,175,16,123,253, +62,54,196,7,179,252,17,36,231,84,0,209,1,30,144,247,191,4,177,213,95,39,134,85,78,235,187,157,222,116,37,156,88,119,33,139,78,26,21,1,116,88,16,113,150,172,243,110,236,120,176,110,102,241,100,60,151,40,0,114,14,98,244,249,101,223,155,244,235,226,22,239, +44,41,170,24,247,252,21,234,249,19,227,223,69,140,191,53,189,198,95,217,179,138,24,255,95,2,103,177,177,193,36,8,130,228,168,12,176,16,17,176,239,121,72,108,186,47,237,239,181,172,254,98,56,177,246,66,83,34,1,52,79,138,142,67,95,124,219,216,135,43,198, +21,213,227,153,68,1,144,51,208,166,22,243,191,220,241,253,146,54,255,105,52,156,101,134,241,111,58,108,252,211,236,249,131,28,135,232,107,247,210,59,16,147,253,16,36,31,68,128,232,74,142,23,78,115,117,192,17,17,80,119,33,43,79,54,44,2,36,21,236,30,75, +229,177,119,142,251,163,167,196,17,196,51,137,2,32,39,152,117,77,235,245,237,199,85,93,29,31,52,158,128,67,67,106,204,248,119,222,153,126,227,79,72,108,120,22,148,3,27,112,205,31,65,242,70,1,144,199,188,154,128,196,230,251,71,229,237,168,8,88,82,115, +22,203,87,50,42,2,164,152,2,174,144,173,251,196,239,76,124,192,21,182,227,224,0,20,0,217,205,248,179,235,79,27,123,90,237,183,105,93,171,193,187,246,72,182,63,29,205,233,177,6,210,191,243,196,235,151,222,255,27,113,252,45,120,34,17,36,159,16,236,160, +244,188,9,234,224,134,81,121,187,211,26,46,135,37,35,137,129,96,84,4,68,21,40,105,243,47,90,116,107,215,127,243,34,246,8,64,1,144,165,212,205,40,158,52,251,154,214,251,20,73,229,52,205,200,69,159,108,242,83,229,110,128,43,153,231,31,24,149,253,87,122, +54,147,215,86,186,134,129,39,19,65,242,236,81,175,145,103,138,124,224,31,163,246,142,167,55,125,1,230,86,158,4,17,19,170,16,104,52,181,110,102,201,165,243,111,234,188,25,207,37,10,128,172,35,220,226,173,88,250,95,227,126,175,72,154,219,104,163,159,184, +26,133,98,103,37,49,254,255,149,246,82,191,143,8,128,125,235,146,37,127,216,222,23,65,242,14,142,19,65,233,95,51,170,239,121,110,203,117,48,163,108,137,41,29,3,105,203,224,142,147,170,239,162,81,86,60,155,40,0,178,6,79,137,195,190,244,142,113,15,88,157, +98,173,42,27,43,247,163,131,125,252,214,16,92,217,241,95,16,78,115,147,159,127,17,0,125,59,209,246,35,72,222,42,0,1,180,232,94,114,163,199,71,239,45,201,175,11,198,220,4,227,195,179,13,15,16,162,65,85,37,174,192,172,171,90,127,89,59,45,60,14,79,40,10, +128,140,35,218,4,56,230,150,206,31,135,154,188,179,104,194,138,17,232,72,95,135,232,130,43,58,238,128,10,119,221,168,127,22,45,62,128,222,63,130,228,111,8,0,52,37,6,154,26,31,213,183,21,121,11,92,218,254,85,24,19,24,103,120,148,48,141,174,106,170,230, +93,124,251,216,223,251,43,93,97,60,169,40,0,50,202,244,43,90,174,169,159,85,122,137,209,140,127,69,147,65,224,5,184,180,237,107,80,239,107,203,208,167,209,240,132,34,72,94,147,153,123,220,46,56,225,178,142,219,161,202,221,196,74,4,141,56,26,180,157,186, +195,103,109,60,225,238,137,247,219,125,86,172,85,70,1,144,25,218,79,168,58,102,226,185,13,223,137,15,38,140,169,90,77,37,2,64,129,243,90,110,128,142,162,204,53,190,226,44,46,20,1,8,146,207,182,159,120,227,92,134,58,123,122,173,1,184,162,243,14,8,217, +75,33,161,198,12,109,139,70,91,195,45,222,197,243,110,104,255,22,158,88,20,0,163,78,121,87,160,122,238,245,237,247,75,49,89,52,146,240,79,235,100,105,210,223,169,13,159,103,227,53,51,122,49,120,203,146,11,109,8,130,228,33,10,240,182,34,54,39,32,83,208, +225,101,151,117,222,14,78,209,5,178,102,44,106,26,31,146,96,204,146,138,235,39,158,223,112,54,158,91,20,0,163,134,221,103,177,46,188,181,251,126,209,46,148,170,178,49,131,73,19,99,22,85,157,206,134,105,100,26,33,220,8,156,128,125,255,17,36,47,3,0,170, +76,68,126,11,100,58,207,167,214,51,6,46,110,189,133,37,8,170,154,129,188,41,242,232,149,99,10,76,191,172,229,167,181,51,138,187,240,12,163,0,24,21,230,223,212,249,237,162,122,207,108,217,96,210,31,53,254,147,74,230,193,242,198,43,178,226,115,9,225,102, +224,61,165,0,170,140,39,25,65,242,12,142,19,64,44,154,146,21,251,210,21,154,198,166,8,74,106,194,80,183,64,86,114,205,129,103,209,215,186,255,215,87,225,244,226,89,70,1,144,86,38,95,220,116,86,203,162,138,171,227,195,198,194,87,49,37,202,198,250,94,56, +230,203,192,103,73,207,125,206,226,4,75,237,140,145,94,0,8,130,228,13,106,156,120,255,77,32,4,186,179,102,151,230,84,156,8,75,106,206,54,92,30,72,199,172,187,130,182,142,133,183,118,255,183,96,69,147,134,2,32,77,212,76,13,143,153,122,105,211,79,228,152, +108,40,87,142,214,250,135,236,37,240,185,246,91,89,217,95,54,97,105,59,22,120,103,32,57,12,8,65,144,188,64,83,37,176,86,47,39,79,252,236,106,167,127,74,253,165,48,181,228,24,195,34,32,17,145,161,122,74,232,220,105,159,111,190,2,207,54,10,0,211,113,248, +172,246,121,55,118,252,134,227,192,111,164,211,31,45,247,179,240,54,184,164,237,171,16,114,148,103,223,5,225,46,6,91,247,114,208,164,40,158,116,4,201,7,227,47,71,88,232,95,44,61,38,235,246,141,227,120,56,111,204,13,172,244,217,104,121,32,237,20,56,241, +220,134,239,54,206,45,29,143,103,29,5,128,169,204,187,169,227,174,96,141,123,178,28,215,223,233,143,174,117,209,102,63,103,53,95,13,77,254,236,205,89,177,118,156,8,150,186,233,160,37,134,241,196,35,72,46,163,38,88,230,191,173,245,186,172,29,239,77,163, +160,151,182,221,10,126,91,136,60,31,245,47,63,106,228,209,172,170,154,131,58,106,238,176,221,131,39,31,5,128,41,140,61,163,110,217,152,37,21,215,210,178,19,35,208,48,23,205,246,159,81,182,52,187,63,48,121,80,56,102,95,11,98,113,11,70,2,16,36,103,141, +191,196,66,254,246,206,175,2,239,172,202,234,93,45,113,86,194,69,173,95,102,17,1,218,23,69,47,52,31,192,93,108,239,88,112,115,231,247,104,231,67,4,5,128,33,194,77,222,138,105,159,111,254,169,20,53,150,25,79,141,255,216,240,76,56,185,225,115,57,241,185, +57,187,23,28,199,124,21,132,162,122,20,1,8,146,147,198,223,66,140,255,109,32,4,39,229,196,46,183,145,253,60,181,225,50,214,23,197,72,146,85,98,88,134,134,185,165,151,78,190,176,225,12,188,16,80,0,232,134,102,148,30,243,213,174,159,217,220,162,161,122, +255,132,26,135,82,87,53,92,48,230,6,16,184,220,233,92,201,187,195,224,90,244,31,40,2,16,36,23,141,127,215,109,32,134,167,231,212,174,31,83,117,26,204,42,59,206,112,82,160,20,145,105,197,214,143,75,90,125,181,120,65,160,0,208,197,140,43,199,92,85,214, +17,56,78,138,234,207,136,167,45,126,173,188,21,46,106,189,25,124,214,162,156,59,6,28,17,1,206,17,17,0,40,2,16,36,103,60,127,49,52,61,39,63,194,153,205,87,65,189,175,99,36,41,80,231,97,80,52,16,173,124,104,254,151,59,127,110,117,137,184,22,128,2,32,53, +106,166,134,59,198,159,89,127,23,45,47,209,143,198,122,94,159,214,120,5,171,249,207,217,139,100,36,18,192,99,36,0,65,114,195,248,135,167,231,236,199,160,131,131,104,62,128,219,226,3,89,211,255,252,165,142,91,121,87,112,225,244,203,91,174,197,139,3,5, +192,81,99,243,88,196,185,215,183,255,92,211,52,151,166,234,15,253,71,228,97,22,206,154,91,177,44,231,143,9,139,4,44,190,13,151,3,16,4,141,127,218,41,119,213,194,217,205,215,130,162,202,134,58,5,210,65,109,221,167,213,222,89,61,57,212,137,23,9,10,128, +163,130,40,198,175,20,213,123,166,201,113,253,161,127,234,249,215,122,91,224,140,230,47,230,207,197,226,10,97,78,0,130,160,241,31,21,104,155,244,99,170,78,53,148,15,144,156,109,166,57,169,67,103,115,91,44,120,177,124,20,156,252,242,49,106,167,134,39, +116,157,90,115,107,194,64,171,95,58,224,194,198,59,224,130,49,55,130,67,72,83,167,63,162,140,19,187,214,129,180,125,53,200,7,182,129,26,237,103,87,59,103,119,131,24,172,0,75,101,27,88,171,218,129,179,153,251,254,135,115,2,34,127,251,79,80,14,109,6,206, +226,192,139,6,65,242,214,248,107,160,36,54,130,28,95,3,138,180,13,52,181,47,89,112,207,59,129,23,75,65,180,182,128,104,107,3,142,79,79,217,253,41,13,159,135,173,3,239,195,198,254,85,96,211,57,197,144,246,110,9,53,122,167,78,251,124,243,77,207,127,239, +189,175,227,69,131,2,224,19,177,123,45,214,57,95,106,255,41,185,230,173,6,74,81,153,247,127,78,203,151,160,198,211,98,254,237,40,197,32,242,207,191,146,215,95,64,222,183,25,180,196,72,247,44,158,251,64,242,210,151,96,97,66,192,222,49,15,92,83,78,5,129, +124,111,90,36,96,36,39,96,24,69,0,130,100,222,248,119,165,33,225,79,75,64,124,248,41,136,15,61,193,4,128,166,142,68,252,56,254,67,174,181,198,122,134,240,98,9,88,157,51,193,238,57,133,124,95,97,234,110,88,120,43,156,63,230,6,248,214,91,87,177,164,64, +129,211,103,178,168,67,215,189,188,246,107,155,95,222,247,232,246,21,7,87,226,197,51,242,44,199,67,240,1,211,46,107,185,161,168,193,51,209,72,232,159,134,171,38,23,47,128,121,21,39,153,190,127,241,141,43,224,224,79,46,134,254,63,125,3,164,221,235,217, +205,72,61,126,206,238,2,206,234,76,190,136,199,207,126,102,177,129,210,183,7,134,158,253,21,28,248,201,133,48,244,226,253,73,229,110,114,36,0,171,3,16,36,195,158,191,201,198,95,138,189,1,3,123,175,132,225,131,119,19,239,121,45,115,48,56,222,149,124,113, +142,228,139,119,142,252,222,14,154,124,8,98,253,15,193,192,158,43,32,54,240,144,233,31,181,204,85,3,167,55,94,105,104,114,224,200,163,207,54,247,250,246,159,216,220,22,116,124,81,0,124,148,154,105,225,14,22,250,31,50,144,117,74,46,80,218,209,234,204, +230,171,77,223,191,225,127,60,0,61,247,93,3,210,222,13,71,12,252,103,118,186,18,44,192,57,60,160,69,135,96,224,175,223,133,158,255,185,30,212,225,94,115,35,1,139,147,213,1,40,2,16,36,3,198,223,228,176,127,172,255,127,96,104,223,205,32,19,175,63,105,224, +109,240,153,253,249,137,87,206,241,110,208,180,8,68,122,126,4,195,7,238,32,6,55,98,234,126,77,47,91,66,94,75,33,38,235,223,46,117,236,66,141,222,233,211,46,107,190,6,47,34,20,0,71,176,185,69,126,238,117,237,63,34,226,210,161,105,58,21,230,136,50,61,155, +92,91,94,107,192,212,253,27,122,238,62,232,255,203,221,204,224,115,22,123,234,27,16,68,38,4,98,171,159,131,67,191,186,10,148,190,189,230,69,2,92,88,29,128,32,249,96,252,35,189,63,38,175,159,177,176,62,245,236,83,39,41,4,226,195,127,131,161,3,255,65,4, +129,185,207,131,211,27,175,96,209,0,201,192,188,0,218,37,176,251,180,218,219,202,187,2,77,120,49,161,0,96,76,56,167,254,243,161,6,207,92,163,161,255,5,85,167,66,71,209,20,83,247,45,250,246,227,48,240,212,127,3,103,115,146,179,101,172,139,32,21,1,210, +206,53,208,243,155,235,76,21,1,180,58,192,137,213,1,8,146,211,198,63,214,255,32,51,224,70,205,2,77,8,148,162,175,66,228,208,247,76,221,71,218,23,224,236,150,107,128,35,251,167,129,190,229,76,90,214,77,252,40,207,236,107,218,126,32,88,208,252,21,252,17, +40,105,245,87,78,56,183,241,206,248,176,254,208,63,109,245,91,231,109,133,101,117,23,153,186,111,210,174,181,196,243,255,22,17,228,150,15,146,111,140,122,236,54,23,203,31,48,91,4,124,56,39,0,69,0,130,228,162,241,167,21,67,230,52,205,163,34,128,38,16, +198,6,30,52,117,95,219,2,19,89,187,224,168,129,165,0,41,166,64,197,216,224,210,73,23,52,158,131,2,160,144,63,188,192,193,140,47,180,124,75,180,241,69,122,27,254,208,201,85,34,39,178,208,191,222,50,149,79,220,110,164,31,250,254,112,59,168,241,8,11,225, +155,9,141,38,164,67,4,240,40,2,16,36,125,198,191,43,93,198,255,33,83,141,255,7,34,192,1,209,222,95,128,28,251,167,169,219,61,161,238,66,226,112,141,129,132,18,211,239,180,69,100,24,127,118,221,55,131,53,238,162,66,190,180,10,90,0,140,89,92,177,168,102, +106,248,108,35,237,126,227,74,4,22,215,156,5,13,190,118,83,247,173,255,145,187,153,145,214,181,230,159,37,34,0,19,3,17,196,68,207,223,228,108,255,72,207,97,207,223,105,186,241,79,66,151,44,85,86,77,160,42,251,77,219,170,77,176,195,89,205,87,131,200,91, +65,211,89,217,68,103,5,216,60,150,202,233,87,182,220,129,2,160,0,113,248,172,182,169,151,53,127,151,206,143,214,173,34,137,2,173,39,134,255,216,26,115,35,73,195,47,255,14,162,111,61,206,178,253,211,73,186,150,3,62,92,29,128,145,0,4,49,193,248,135,211, +96,252,7,30,76,139,231,255,209,135,140,21,20,101,15,68,14,125,151,252,70,49,109,179,141,190,78,88,88,181,28,162,138,254,165,0,234,248,53,205,43,187,188,97,78,233,100,20,0,5,198,228,139,27,175,241,87,186,58,244,10,0,170,60,69,114,115,158,217,116,21,107, +86,97,22,137,237,171,96,224,169,159,144,251,102,52,154,235,104,35,34,224,253,17,17,176,207,188,251,158,85,7,224,114,0,130,100,157,241,239,29,37,227,127,248,89,192,185,136,177,253,7,196,250,127,107,234,118,143,173,61,151,229,94,37,244,86,5,104,44,18,32, +204,184,162,229,123,22,135,80,144,182,176,32,63,116,73,171,175,186,235,148,154,175,36,12,36,254,81,229,73,179,254,205,12,253,171,209,65,232,123,248,191,64,147,227,134,51,254,83,19,1,238,17,17,112,173,201,213,1,97,156,29,128,32,217,102,252,251,71,207, +248,31,17,1,188,19,162,125,255,99,106,62,0,93,10,56,163,233,11,196,136,241,186,27,4,177,222,0,77,222,25,19,206,109,56,31,5,64,1,192,241,52,241,175,245,78,193,38,248,245,38,254,209,58,212,106,79,35,28,87,123,158,169,251,54,240,216,61,32,239,73,223,186, +255,103,71,2,176,58,0,65,50,138,150,127,198,255,3,83,163,193,240,161,239,131,166,244,153,182,213,102,127,55,204,173,92,102,104,96,16,29,27,60,246,244,218,59,189,165,142,64,161,93,110,5,39,0,26,231,150,206,172,153,26,58,71,210,153,248,167,141,104,205, +211,26,175,96,115,171,205,34,250,246,19,16,121,227,207,105,95,247,255,183,198,58,141,137,129,24,9,64,144,163,240,252,185,220,203,246,63,250,7,140,21,20,121,59,217,151,31,153,186,217,19,106,47,132,50,103,53,235,196,170,235,176,203,42,56,252,214,138,233, +87,180,220,140,2,32,143,161,235,60,228,36,127,83,77,168,186,63,55,109,69,57,189,116,49,116,4,205,203,27,81,14,237,132,254,199,190,7,156,104,201,220,205,153,102,17,128,179,3,16,228,51,140,127,206,102,251,167,240,28,224,92,16,31,250,59,36,134,30,55,109, +155,46,139,135,77,13,164,83,88,65,231,82,0,141,2,52,47,40,255,98,121,119,160,25,5,64,158,210,189,188,246,204,162,58,207,12,89,103,226,159,172,201,16,180,23,195,178,250,139,77,188,241,85,232,123,228,110,80,7,15,177,222,253,217,192,104,84,7,160,8,64,144, +79,48,254,185,154,237,159,202,243,133,183,178,150,195,170,188,211,180,109,78,40,158,3,227,195,179,33,166,232,123,174,208,229,96,222,202,59,103,92,57,166,160,198,5,23,140,0,240,20,219,93,19,207,107,184,67,138,25,24,246,163,196,217,186,127,192,22,54,109, +191,134,95,121,8,226,107,95,98,70,55,123,248,120,78,0,86,7,32,8,26,127,179,16,137,223,211,11,195,61,63,160,7,192,180,173,158,210,240,57,112,137,222,145,72,128,158,40,128,12,149,227,138,78,109,61,182,114,54,10,128,60,99,236,25,117,87,56,131,182,70,85, +214,23,34,138,43,49,150,112,50,171,252,56,211,246,73,222,187,17,6,159,254,217,40,149,252,233,21,1,35,213,1,253,230,86,7,56,23,225,0,33,4,141,127,190,148,250,165,236,8,112,78,144,34,175,65,108,240,143,166,109,179,196,89,5,139,170,79,39,207,106,157,207, +20,141,229,3,112,147,47,106,252,186,197,33,114,133,112,9,22,132,0,8,55,121,139,59,79,169,185,73,26,214,159,248,39,242,34,83,152,2,103,82,91,94,85,129,254,71,190,205,74,255,70,175,228,207,64,36,224,215,102,231,4,224,0,33,4,141,127,254,101,251,167,240, +12,224,237,16,237,187,15,20,105,171,105,219,164,115,2,170,60,77,186,19,2,233,242,112,81,189,103,102,235,146,138,83,80,0,228,9,19,47,104,184,222,238,17,195,170,206,178,63,154,248,55,181,116,17,52,249,187,76,219,39,22,250,223,184,34,57,229,47,203,193,217, +1,8,146,6,227,159,175,217,254,71,141,0,154,58,8,209,158,31,131,89,75,1,116,30,203,178,186,139,117,47,3,48,17,16,83,96,194,249,245,183,59,131,54,107,190,95,138,121,47,0,138,91,124,53,141,115,74,175,212,219,239,95,33,23,146,223,86,4,39,212,154,215,39,66, +62,176,21,6,159,190,55,75,67,255,153,19,1,152,24,136,20,138,241,119,164,35,219,191,55,123,178,253,143,250,185,194,57,33,17,125,29,226,131,143,152,182,205,113,225,153,208,77,142,109,76,103,155,96,69,82,33,88,227,233,24,119,70,221,121,249,126,57,230,189, +0,152,112,94,253,205,162,93,112,235,156,25,193,214,147,142,169,90,14,65,123,137,57,59,164,105,172,225,143,26,237,207,226,208,255,167,137,0,156,29,128,32,134,61,127,98,252,133,112,186,74,253,114,193,243,255,216,115,133,183,177,165,0,85,222,99,218,54,79, +172,191,136,69,3,84,157,15,254,68,68,130,246,101,85,183,184,66,25,108,204,130,2,192,24,165,29,254,230,198,185,165,23,208,236,78,61,208,117,164,42,119,3,204,175,60,217,188,27,245,173,71,33,182,246,197,44,203,250,63,106,245,130,213,1,8,98,208,248,23,78, +182,255,209,34,130,170,244,176,210,64,179,168,118,55,193,204,178,99,217,180,86,93,167,75,214,192,29,182,215,143,61,189,230,226,124,190,44,243,86,0,208,150,191,179,190,216,122,139,96,21,28,122,189,127,69,149,89,217,31,85,146,166,60,3,6,15,193,224,223, +126,10,156,152,203,75,75,31,171,14,192,217,1,8,146,57,227,223,155,235,198,255,240,243,218,73,188,238,231,64,138,188,104,218,54,151,214,158,205,74,182,21,77,167,3,24,85,160,253,196,234,47,17,33,224,65,1,144,99,212,78,15,183,85,140,15,158,165,215,251,167, +101,127,45,129,177,48,177,120,158,105,251,68,75,254,148,222,221,89,211,240,199,188,72,0,206,14,64,144,140,24,255,254,220,55,254,35,119,62,249,37,64,164,239,94,208,212,33,83,182,232,183,134,96,65,213,105,108,108,187,190,40,128,74,163,0,53,221,167,213, +92,142,2,32,151,62,20,241,254,39,158,219,240,101,98,167,172,122,58,67,210,178,63,158,227,224,248,218,243,201,87,115,14,81,98,203,91,16,249,231,35,57,26,250,255,148,91,22,103,7,32,200,103,27,255,130,207,246,63,218,7,138,21,148,196,22,136,13,252,206,180, +77,206,173,88,6,229,174,90,144,232,185,208,21,5,144,161,99,89,245,181,238,144,221,139,2,32,71,168,156,80,52,134,120,255,103,208,16,142,94,239,191,43,52,29,90,131,19,204,217,33,69,134,129,39,127,12,154,162,208,180,215,188,58,214,56,59,0,65,62,221,248, +99,182,127,138,247,61,249,76,177,129,63,130,34,109,50,101,123,14,209,5,139,170,207,0,89,247,160,32,13,92,97,123,121,247,233,53,23,162,0,200,17,218,79,172,186,142,227,56,155,158,127,171,129,10,86,222,10,199,214,156,107,218,254,12,191,241,103,72,108,121, +155,8,92,123,62,30,110,172,14,64,144,79,242,252,49,219,95,151,73,210,180,8,68,123,127,97,218,22,167,149,46,130,90,111,11,27,227,174,43,10,16,145,161,131,230,2,228,97,69,64,222,9,128,226,22,95,125,227,220,178,243,164,136,94,239,63,202,6,75,212,121,199, +152,243,44,24,234,129,161,231,238,3,206,98,131,252,229,99,57,1,253,88,29,128,160,241,199,108,127,157,247,60,235,13,240,10,36,76,74,8,20,137,67,183,184,250,44,80,84,125,54,65,85,88,20,160,166,123,121,237,57,40,0,178,156,9,231,214,95,101,177,243,14,77, +75,125,241,95,211,84,176,11,46,114,177,156,105,218,254,12,61,255,107,80,122,119,229,65,226,223,209,138,128,247,161,231,215,105,168,14,64,17,128,228,140,241,255,15,204,246,55,42,2,64,128,88,223,125,228,153,28,51,101,123,19,137,83,215,224,239,128,132,129, +40,0,141,44,187,66,246,188,242,228,242,74,0,148,140,241,149,53,206,45,189,80,111,215,191,152,26,133,201,37,243,161,210,221,96,202,254,208,97,63,195,43,254,148,87,137,127,41,69,2,204,204,9,112,97,117,0,146,205,151,254,135,61,255,25,230,27,255,254,194, +49,254,201,27,222,10,114,98,3,196,7,255,98,142,161,227,4,54,40,72,111,99,32,26,5,112,23,219,91,154,230,149,230,213,140,128,188,18,0,109,199,87,93,106,113,138,126,77,87,230,191,10,78,193,13,11,171,150,155,182,63,131,207,220,11,90,124,152,102,182,20,212, +179,16,103,7,32,5,231,249,115,233,44,245,123,168,176,140,255,225,231,8,111,135,216,192,239,65,83,14,154,178,189,113,161,153,208,232,107,215,29,5,144,227,10,116,157,86,123,157,197,33,228,205,3,61,111,62,136,167,212,225,105,94,88,246,121,73,175,247,47, +71,97,82,201,60,40,115,213,154,178,63,241,77,43,32,186,250,57,34,100,157,80,136,224,236,0,164,96,140,255,225,108,255,48,102,251,155,139,8,170,188,143,136,128,135,76,139,2,44,172,210,31,5,80,18,42,132,26,60,147,90,151,86,30,131,2,32,203,232,58,165,230, +44,87,200,94,73,67,53,169,123,255,26,216,69,39,204,175,52,41,186,67,46,176,193,103,126,193,190,230,91,217,95,106,34,192,149,214,62,1,60,138,0,36,11,140,63,102,251,167,51,10,224,132,216,224,99,160,72,219,77,217,222,216,176,177,40,128,34,171,208,122,92, +229,181,180,211,44,10,128,44,193,230,22,197,166,5,101,95,160,99,28,117,121,235,114,4,198,135,103,155,182,246,31,91,253,44,36,54,189,153,83,211,254,210,67,26,171,3,104,36,96,241,109,184,28,128,100,220,248,155,237,249,71,123,10,43,225,239,179,76,20,29, +25,28,27,248,95,83,182,38,112,2,235,14,168,119,92,176,18,87,160,172,195,191,176,110,70,113,55,10,128,44,161,97,110,233,194,96,173,187,139,142,113,212,227,253,91,5,59,185,40,78,53,199,228,201,9,24,124,254,55,57,55,233,47,253,34,224,112,117,128,121,34, +128,119,133,176,68,16,201,43,227,79,61,255,40,26,255,143,69,1,28,144,24,126,22,148,196,251,166,108,143,230,2,212,120,154,217,176,183,148,159,102,26,155,51,35,118,44,171,186,18,5,64,54,124,0,145,167,77,26,190,168,199,248,83,104,159,232,142,162,201,80, +235,105,49,71,189,175,124,10,164,29,239,229,121,221,191,145,72,192,181,88,29,128,228,240,165,140,131,125,50,19,5,136,67,180,255,183,166,108,77,36,231,111,94,197,73,32,235,109,15,28,81,160,122,114,248,140,112,179,183,20,5,64,134,169,158,84,212,81,62,46, +184,72,79,248,63,217,243,95,48,109,237,95,75,68,97,232,69,114,145,138,22,188,103,63,201,88,99,117,0,146,235,158,63,102,251,103,44,10,32,69,95,1,57,254,158,41,219,155,84,50,31,202,92,53,32,107,169,139,0,218,99,198,234,18,124,173,199,86,158,143,2,32,195, +180,29,87,117,9,167,129,168,75,201,17,85,217,228,235,132,150,192,56,115,188,255,183,31,7,121,207,250,28,31,247,155,251,34,0,19,3,145,180,24,127,204,246,207,228,147,131,24,94,217,180,92,0,58,226,125,86,217,177,32,41,122,27,3,41,48,102,113,197,37,206,128, +45,167,67,189,57,45,0,188,101,142,64,205,212,240,217,180,62,83,215,61,173,169,48,167,98,25,27,68,105,138,247,255,202,67,104,252,143,74,4,96,117,0,146,123,198,31,179,253,51,252,220,224,236,196,240,190,6,114,124,181,41,219,155,86,182,24,2,246,98,80,116, +36,4,178,198,64,97,91,115,227,252,210,69,40,0,50,68,243,194,242,83,156,1,107,177,158,210,63,58,29,170,210,93,15,99,77,186,161,233,218,191,188,103,3,0,10,128,163,145,75,31,36,6,178,234,0,147,167,8,98,117,0,146,6,227,143,189,253,179,32,10,0,178,105,125, +1,188,214,32,76,42,158,199,242,192,244,160,200,26,180,46,169,184,44,151,75,2,115,86,0,88,157,34,215,113,98,245,231,36,157,165,127,116,62,244,244,210,165,96,225,141,71,112,52,57,14,195,175,254,30,215,254,83,22,1,238,100,36,224,215,215,97,117,0,146,181, +198,223,129,9,127,89,20,5,112,128,20,121,21,228,248,26,83,182,55,171,252,120,54,50,152,118,130,77,217,137,140,43,80,210,30,56,166,172,35,208,132,2,96,148,41,31,27,156,228,175,118,77,214,147,253,79,107,64,3,182,16,76,41,53,167,161,19,173,251,151,118,173, +3,78,196,204,255,212,69,128,51,125,213,1,40,2,16,19,60,127,1,141,127,150,69,1,18,16,31,252,63,115,236,136,171,22,218,139,38,65,92,79,46,128,70,3,190,188,173,245,184,138,243,80,0,140,50,109,199,85,94,192,233,188,123,226,106,12,198,23,207,6,159,53,104, +194,131,66,129,225,87,254,128,117,255,70,110,233,116,37,6,162,8,64,12,26,255,180,101,251,115,104,252,245,71,1,236,144,136,188,2,138,180,217,156,40,64,217,113,196,16,234,59,23,82,84,134,250,89,37,231,56,131,182,156,236,250,150,147,2,192,87,238,244,87, +79,9,157,42,233,44,253,179,241,118,152,81,182,212,148,125,137,175,127,5,18,219,223,5,206,98,199,59,51,75,69,128,11,171,3,144,20,141,63,102,251,103,183,217,210,212,97,136,15,254,217,148,173,141,9,78,128,106,79,147,174,198,64,52,255,204,83,236,168,111, +154,95,186,0,5,192,40,209,188,176,252,56,103,192,86,162,169,169,39,255,209,178,143,38,127,23,212,152,212,248,103,248,213,63,224,253,104,154,8,72,211,40,97,172,14,64,82,244,252,49,219,63,203,159,21,196,137,75,12,63,79,12,176,241,220,33,145,19,97,106,233, +34,150,24,174,235,178,81,84,104,156,91,118,65,46,158,214,156,19,0,180,243,95,243,49,101,23,40,9,157,165,127,228,215,244,178,37,166,236,139,180,99,53,196,55,190,129,222,191,105,124,124,118,128,217,213,1,73,17,128,203,1,200,167,26,255,46,204,246,207,13, +4,98,120,123,32,62,248,184,41,91,155,88,60,15,252,182,176,174,25,1,82,92,129,242,238,192,226,226,102,95,5,10,128,52,19,110,242,54,6,235,61,179,229,68,234,201,127,138,38,67,177,163,2,186,138,166,153,227,253,191,254,48,171,0,40,228,137,127,105,21,1,191, +78,223,114,0,138,0,228,227,198,159,133,253,67,104,252,115,43,10,240,55,208,212,33,195,219,242,219,138,160,43,52,77,95,73,32,49,69,22,135,232,105,152,83,114,50,10,128,52,211,118,92,197,105,162,77,176,65,234,209,127,114,114,227,108,234,31,45,251,48,138, +210,187,27,98,107,94,64,239,63,109,34,192,153,182,229,0,108,27,140,252,139,231,143,217,254,57,136,8,138,180,19,18,145,231,77,217,218,212,210,133,32,240,22,246,252,73,21,57,161,208,165,233,179,45,14,33,167,78,116,78,9,0,139,83,224,107,166,21,159,174,196, +117,38,255,137,14,152,108,82,174,70,228,205,71,65,29,234,197,236,255,116,42,252,116,182,13,198,234,0,36,237,217,254,104,252,211,254,140,224,68,136,15,209,101,0,197,240,182,104,91,248,100,50,160,164,227,82,82,33,80,229,154,92,218,17,232,64,1,144,38,202, +58,2,227,253,149,206,110,85,78,61,252,79,147,255,26,188,237,80,237,54,222,179,65,75,68,32,250,206,83,56,241,47,151,69,128,11,103,7,160,241,79,119,182,63,26,255,244,63,32,172,160,196,215,130,28,91,105,252,153,192,9,48,177,120,174,174,100,64,58,38,152, +23,121,161,97,78,201,105,40,0,210,68,203,226,138,229,28,207,241,154,142,240,63,237,247,76,39,64,153,65,108,237,203,32,31,216,2,32,96,231,191,209,17,1,31,106,27,140,179,3,16,19,61,127,204,246,207,249,167,3,49,190,202,72,20,192,56,19,138,231,128,219,234, +103,115,98,82,118,50,99,10,237,9,112,138,221,103,21,115,229,232,229,140,0,112,6,108,150,186,233,197,39,233,25,251,75,51,59,253,182,16,116,135,204,73,254,139,188,249,87,154,129,130,247,222,168,241,161,182,193,105,154,29,128,213,1,133,103,252,205,246,252, +163,152,240,151,25,9,192,219,136,126,127,29,84,217,248,115,33,100,47,131,22,255,88,54,41,54,229,75,75,86,193,87,225,236,168,158,84,52,1,5,128,201,84,77,42,154,228,10,217,154,245,12,254,73,144,147,217,26,156,0,62,107,145,225,253,160,70,40,177,229,45,76, +254,203,136,8,72,87,117,64,8,171,3,10,200,248,59,210,52,216,39,138,198,63,67,208,146,192,62,72,68,158,53,101,107,180,36,80,211,147,101,206,174,49,128,134,57,165,57,83,13,144,51,2,160,97,46,57,168,58,207,9,29,247,75,215,118,76,81,249,239,60,1,90,60,130, +165,127,25,19,1,88,29,128,232,185,116,48,219,63,175,163,0,156,5,18,195,207,38,207,179,65,58,138,38,65,145,189,148,149,141,167,10,173,6,168,28,95,116,162,195,103,205,137,245,225,156,16,0,206,160,205,90,49,54,120,130,172,35,251,159,158,196,176,163,2,198, +4,198,25,127,134,196,135,33,250,222,115,152,252,151,233,155,29,171,3,144,84,61,127,14,179,253,243,251,161,96,37,198,119,19,72,241,119,140,219,27,209,3,109,193,137,250,90,3,203,26,184,139,237,173,85,147,67,227,81,0,152,68,121,87,96,130,59,108,111,209, +27,254,239,40,154,12,118,193,105,120,63,226,235,95,3,229,224,14,76,254,203,10,17,224,194,217,1,200,209,25,127,44,245,43,16,20,72,12,61,109,202,150,38,132,103,179,170,0,125,209,8,128,234,137,161,147,80,0,152,68,245,164,208,9,122,35,238,2,39,194,184,208, +12,115,110,248,119,158,196,251,60,107,208,62,90,29,208,143,179,3,16,52,254,5,237,20,112,54,144,98,111,128,166,244,24,222,22,157,23,19,118,148,235,91,6,136,171,80,49,46,120,172,197,46,100,125,147,152,172,23,0,22,135,40,84,79,13,31,75,15,106,202,39,66, +147,160,196,81,1,13,62,227,189,25,148,222,61,144,216,242,38,112,34,134,255,179,75,4,184,147,34,128,37,6,238,51,239,97,50,82,29,128,203,1,104,252,63,78,20,75,253,178,20,1,84,249,0,36,162,175,24,222,146,77,112,64,107,96,2,235,30,155,178,173,144,84,240, +87,187,218,203,58,3,237,40,0,12,82,49,54,216,230,175,116,117,208,131,154,42,146,146,128,214,224,68,176,10,198,51,246,99,107,158,199,206,127,89,45,2,232,114,192,181,166,87,7,124,52,49,16,31,246,185,100,252,49,219,191,16,195,0,2,155,18,104,6,99,195,51, +64,224,245,149,244,11,34,47,212,207,41,93,154,237,135,43,235,5,64,213,164,162,69,188,160,111,49,70,36,39,111,108,104,166,41,70,38,186,250,89,122,86,241,6,203,90,17,224,76,75,179,32,238,35,137,129,17,60,212,57,228,249,11,56,213,175,240,236,63,77,6,140, +191,71,188,240,237,134,183,69,91,3,211,101,0,89,213,87,13,80,222,21,56,150,207,242,209,0,89,45,0,232,232,223,202,241,69,75,21,41,245,236,127,26,254,15,179,240,127,155,225,253,144,246,110,4,105,231,90,224,68,43,222,97,217,124,243,167,49,49,16,171,3,114, +203,248,139,88,234,87,160,240,108,58,160,20,125,217,240,150,232,50,0,173,30,147,53,29,213,0,146,10,69,117,238,137,225,102,111,21,10,0,157,248,43,157,101,193,90,247,100,61,225,127,153,60,12,104,71,39,122,18,141,18,95,243,34,104,241,33,236,254,87,224,34, +192,133,34,32,235,141,191,163,11,19,254,48,10,32,130,20,161,121,0,154,225,109,209,209,241,156,142,115,78,219,213,91,156,162,179,122,114,104,46,10,0,157,84,77,10,205,180,185,45,30,29,109,153,217,73,235,44,154,98,194,131,69,129,216,218,23,1,4,244,254,115, +3,45,109,34,128,195,18,193,236,246,252,137,241,23,66,104,252,81,1,208,158,0,27,64,73,108,50,188,169,70,95,7,4,236,197,108,150,76,202,151,165,172,66,213,132,208,98,46,139,155,198,101,183,0,24,95,180,88,83,83,87,113,201,222,255,97,104,244,119,26,222,7, +105,207,122,242,218,128,225,255,156,20,1,135,115,2,176,58,32,239,141,63,13,251,135,48,219,31,73,186,127,154,58,76,52,186,241,106,0,151,197,11,13,190,118,93,77,129,228,132,10,225,22,239,44,103,145,205,153,173,71,42,107,5,128,221,107,181,148,118,6,102, +209,100,138,148,141,54,57,89,245,222,86,112,91,124,134,247,35,254,254,43,160,37,162,216,250,55,39,69,192,72,137,32,171,14,48,79,4,252,107,117,0,146,113,227,143,217,254,200,135,37,0,109,13,28,93,1,102,44,3,180,7,39,147,205,164,30,134,166,206,171,195,111, +173,14,55,123,187,81,0,164,72,81,131,167,205,85,100,109,212,211,253,143,142,114,164,173,28,141,219,16,21,98,239,255,3,64,196,206,127,185,29,9,48,191,68,144,195,182,193,121,109,252,49,225,47,215,21,128,21,148,196,70,80,164,173,134,55,213,226,239,6,151, +213,11,42,164,40,2,52,90,149,200,67,221,140,226,249,217,122,152,178,86,0,212,78,13,205,17,44,228,232,105,169,30,115,21,156,22,55,52,251,141,139,46,121,255,150,100,248,31,91,255,230,246,179,32,93,179,3,92,56,64,40,239,140,63,203,246,127,8,141,127,238, +223,245,35,203,0,43,12,111,41,228,40,131,10,87,61,75,44,79,253,82,85,161,180,221,63,143,23,179,243,90,202,74,1,64,147,237,203,199,6,231,41,178,158,236,127,25,202,156,53,80,226,50,94,125,17,223,176,2,180,24,102,255,231,135,8,112,165,109,128,208,225,234, +0,76,12,204,3,227,207,214,252,157,104,252,243,225,158,231,4,83,4,0,77,40,167,21,101,138,142,126,0,106,178,43,224,120,111,137,163,40,27,143,81,86,90,54,87,145,221,21,172,117,79,84,117,150,255,209,228,63,222,132,143,22,219,240,10,118,254,203,27,210,95, +29,128,179,3,70,201,248,99,169,31,114,84,55,38,93,6,216,0,170,98,60,255,135,246,3,16,121,11,164,154,83,160,170,26,216,61,150,64,73,155,127,98,54,30,162,172,20,0,197,45,222,46,71,192,86,169,103,253,159,78,112,106,13,24,159,196,168,14,236,7,105,231,58, +204,254,207,75,17,144,190,234,0,30,151,3,210,111,252,49,219,31,57,74,243,166,42,125,32,199,86,26,222,82,181,167,9,2,182,176,174,114,64,26,65,40,31,27,156,141,2,224,40,33,7,107,58,207,167,126,35,210,242,63,159,53,8,53,158,102,195,251,16,223,186,18,212, +161,30,140,0,228,165,8,248,208,236,128,126,115,171,3,176,89,80,250,140,191,35,13,165,126,152,237,159,255,72,209,55,12,111,195,33,186,153,93,145,116,228,1,208,78,182,165,237,254,153,217,216,22,56,235,4,0,173,182,43,235,12,204,212,53,252,71,147,160,210, +93,15,94,34,2,140,146,216,104,78,9,9,146,205,145,0,34,2,126,125,173,233,203,1,88,29,96,230,169,250,80,147,31,204,246,71,82,189,31,249,228,108,0,77,51,126,47,54,5,186,200,118,82,183,75,138,172,65,160,218,213,233,41,115,134,80,0,124,6,174,34,187,35,88, +235,30,175,103,253,95,85,21,168,247,25,159,192,168,201,113,136,111,91,137,221,255,242,94,4,96,117,64,214,123,254,92,122,154,252,96,182,127,161,64,71,4,239,99,185,0,70,105,244,117,130,77,176,147,39,71,106,142,33,237,7,96,243,88,2,165,109,190,172,235,7, +144,117,2,192,95,237,106,177,123,45,149,122,218,255,210,233,127,180,117,163,81,228,125,155,65,233,217,9,28,78,255,203,127,15,33,93,34,192,141,34,192,176,241,199,108,127,196,248,29,78,188,246,4,200,177,119,12,111,169,220,89,3,65,123,9,168,154,172,103, +55,104,100,123,42,10,128,207,58,200,221,129,137,188,149,231,83,85,89,116,253,159,134,254,171,220,141,134,247,33,177,229,109,208,226,216,253,175,112,68,128,43,45,163,132,89,137,32,206,14,200,82,227,143,158,127,225,220,224,2,72,38,36,2,90,137,247,95,229, +110,208,53,30,88,149,53,218,220,14,5,192,103,17,110,242,77,213,145,104,201,198,255,150,187,106,193,99,245,27,222,135,248,230,183,200,145,193,218,255,194,225,195,109,131,175,51,53,49,240,112,199,64,172,14,64,227,143,100,200,254,115,22,80,164,205,160,41, +135,12,111,139,206,5,80,117,132,167,217,120,224,122,79,151,51,104,115,100,211,177,201,42,43,103,177,139,92,168,201,51,94,79,2,160,162,42,80,235,29,99,220,20,196,134,216,0,32,14,215,255,11,87,4,252,218,236,234,0,28,37,156,138,241,119,164,171,189,47,26, +255,2,69,0,85,233,5,57,177,209,240,150,106,189,173,96,101,182,33,245,126,0,14,175,165,50,80,237,106,66,1,240,41,120,203,29,101,158,98,123,147,166,163,254,95,224,4,54,0,200,40,210,222,141,172,7,0,8,88,254,87,152,34,32,141,213,1,152,19,240,111,14,61,102, +251,35,233,188,190,20,144,227,171,12,111,166,204,85,3,94,107,81,234,253,0,136,73,19,108,60,95,222,21,28,139,2,224,83,40,170,247,180,91,156,162,59,213,17,192,52,36,227,180,120,160,210,221,96,120,31,18,219,87,145,103,81,28,31,20,5,12,38,6,102,192,243,199, +108,127,36,173,55,181,192,202,1,141,226,18,61,80,230,172,214,151,7,160,2,132,154,188,89,213,17,48,171,4,64,184,217,59,78,207,61,170,104,50,132,236,165,172,83,147,25,2,0,123,255,35,40,2,70,209,248,167,189,189,47,102,251,23,252,253,204,242,0,182,129,166, +244,26,222,86,181,167,153,37,157,167,126,169,107,16,172,115,143,203,166,193,64,89,101,233,66,141,222,241,122,194,255,84,0,84,184,235,89,27,96,35,104,137,40,200,123,55,0,135,227,127,17,72,115,117,192,71,6,8,21,168,113,74,99,123,95,76,248,67,62,138,64, +140,127,31,75,6,52,74,173,183,133,216,154,212,77,167,42,171,224,45,177,183,184,195,14,127,182,28,149,172,17,0,22,135,40,4,170,93,109,84,37,165,108,184,53,13,106,60,198,115,43,228,131,219,65,233,223,79,142,10,214,255,35,236,202,250,88,117,128,217,29,3, +15,207,14,136,20,174,241,239,68,227,143,140,210,221,172,73,32,199,215,26,222,78,185,171,14,28,162,139,141,158,79,233,253,85,13,172,94,107,40,80,227,170,71,1,240,49,124,229,206,18,87,216,86,167,103,0,144,69,176,66,149,219,184,0,144,118,175,99,81,0,172, +255,71,254,85,4,208,196,64,115,69,64,193,206,14,192,108,127,36,19,16,175,93,78,188,111,120,51,69,246,18,240,219,66,186,6,3,9,2,199,133,155,189,29,217,114,72,178,71,0,84,58,27,89,2,160,150,122,3,32,183,197,7,197,206,74,227,2,96,231,90,188,73,144,79,17, +1,174,15,68,0,86,7,24,56,148,152,237,143,100,200,254,131,8,138,180,149,214,122,27,218,142,133,183,66,169,179,26,20,29,137,128,212,190,249,43,93,89,211,18,56,107,4,64,176,222,221,206,235,240,188,169,10,11,218,74,192,99,49,186,172,162,177,250,127,12,255, +35,159,46,2,48,49,208,176,231,159,174,108,255,30,204,246,71,62,75,1,136,160,202,7,64,145,247,24,222,20,29,58,167,171,33,144,172,65,168,193,211,158,45,147,1,179,70,0,20,55,123,59,85,85,95,2,96,153,171,90,87,82,198,71,78,204,96,15,40,61,187,176,255,63, +242,239,159,33,163,32,2,242,178,109,112,186,179,253,7,48,219,31,249,236,24,128,166,69,64,73,24,79,4,76,38,157,235,75,4,244,148,58,26,109,30,139,13,5,192,225,157,16,121,240,150,58,199,168,74,234,138,138,134,84,104,82,134,81,104,2,160,58,220,135,45,128, +145,163,16,1,31,174,14,48,177,99,224,200,236,0,62,223,68,64,58,179,253,113,205,31,73,205,96,152,50,25,144,46,1,216,4,135,222,201,128,21,222,50,71,25,10,128,17,236,30,139,195,83,98,175,211,100,29,29,0,121,129,8,128,26,227,2,96,223,70,208,228,4,62,68,144, +163,185,141,63,36,2,174,53,183,58,32,223,102,7,28,78,248,75,87,169,31,174,249,35,41,221,96,66,50,15,192,32,65,91,49,120,172,129,148,251,1,208,20,55,209,46,216,189,229,206,172,168,4,200,10,1,224,173,112,148,217,188,150,178,84,59,0,210,50,12,187,224,132, +98,71,133,225,125,144,246,108,196,236,127,36,197,72,192,135,171,3,112,118,192,167,26,255,206,219,64,192,82,63,36,27,238,89,160,2,96,39,49,196,198,18,1,105,25,32,173,6,208,83,9,192,243,28,109,8,212,130,2,96,4,103,192,86,43,88,4,91,138,5,0,44,9,195,75, +84,24,45,201,48,44,0,14,108,33,71,3,251,255,35,122,34,1,233,153,29,224,202,229,196,192,116,103,251,163,241,71,116,70,0,52,181,7,52,249,128,225,77,81,199,83,85,83,23,0,212,209,45,170,243,160,0,56,76,81,189,167,81,79,86,36,157,0,24,176,21,179,181,24,67, +207,170,216,32,40,189,123,201,3,5,19,0,17,61,34,32,61,137,129,92,174,86,7,96,182,63,146,181,240,196,104,71,64,145,119,26,222,18,77,62,79,53,7,224,176,0,32,78,111,19,199,115,89,112,52,178,128,96,173,187,89,211,81,1,160,130,98,74,248,95,38,15,109,117,184, +23,35,0,136,126,99,141,213,1,31,24,255,195,29,254,48,219,31,201,74,205,174,176,185,0,198,35,0,149,108,10,109,202,142,43,109,9,92,225,168,177,56,50,63,114,54,43,4,128,43,100,111,72,181,1,16,59,143,228,223,148,152,208,0,72,57,180,19,59,0,34,38,136,128, +52,206,14,200,133,234,128,81,25,236,131,158,63,98,244,70,229,76,17,0,33,71,41,88,5,123,234,149,0,228,175,91,157,98,153,35,96,11,20,180,0,96,109,127,45,192,249,42,156,213,84,21,165,188,243,28,15,97,71,185,241,8,192,193,237,116,103,240,198,64,140,186,22, +31,21,1,38,38,6,102,125,117,0,14,246,65,114,6,1,84,121,183,225,173,248,172,69,224,178,120,82,175,4,160,165,128,110,209,239,10,217,202,51,125,36,50,27,1,208,232,51,131,115,139,54,190,44,213,165,20,170,186,44,188,13,130,246,18,227,2,224,192,118,244,254, +17,19,35,1,238,15,37,6,154,91,29,64,7,8,101,93,78,0,14,246,65,114,233,254,100,2,224,0,107,10,100,4,151,197,11,94,107,48,245,142,128,26,235,125,195,23,213,186,43,51,125,44,50,27,1,32,94,191,175,194,81,108,247,91,131,169,14,1,210,200,65,119,90,220,224, +183,21,25,222,15,165,119,23,174,255,35,105,136,4,172,79,246,9,232,51,121,128,80,54,37,6,166,115,205,31,179,253,145,180,40,0,158,120,225,253,160,201,61,6,133,4,7,1,91,56,229,8,0,251,183,196,225,180,121,44,181,5,31,1,160,107,33,60,207,165,220,22,81,37, +191,220,68,129,185,68,175,177,93,72,68,65,25,56,128,2,0,73,131,8,200,243,234,128,116,27,127,108,242,131,164,41,6,160,169,81,80,149,253,134,183,68,123,1,232,201,95,83,201,191,41,106,240,212,100,250,72,100,84,0,40,10,29,140,224,174,20,44,60,164,186,4,64, +235,47,233,26,140,72,30,64,134,158,97,195,189,236,197,113,40,0,144,52,60,106,142,68,2,242,108,128,208,168,100,251,163,241,71,210,36,0,52,25,20,217,248,253,88,100,47,213,85,10,72,255,137,205,37,86,23,180,0,160,203,238,54,183,69,215,58,8,141,0,208,240, +139,97,17,50,112,16,180,120,148,102,20,226,125,129,164,41,18,144,198,234,128,197,25,40,17,196,176,63,146,243,168,166,36,2,210,62,52,122,135,2,249,171,93,44,9,80,79,9,124,206,11,0,26,53,161,205,127,138,26,61,149,122,166,0,210,176,75,192,94,108,92,0,244, +239,3,77,193,25,0,72,186,69,128,59,61,213,1,174,207,168,14,208,49,178,244,35,110,202,199,189,27,244,252,145,188,8,2,240,196,8,27,95,2,240,219,67,44,10,173,165,158,197,78,19,1,75,129,214,193,21,106,4,96,228,64,232,238,228,19,48,161,5,48,243,200,84,21, +111,8,100,148,68,64,122,170,3,92,135,171,3,18,31,202,108,150,19,192,123,74,245,63,35,29,149,44,99,26,14,39,57,169,137,35,189,253,177,206,31,201,109,136,0,80,140,183,3,246,90,252,96,163,189,0,82,204,3,208,20,218,13,208,26,180,20,129,71,149,11,50,2,64, +199,34,90,193,95,229,42,81,83,238,1,160,129,192,139,44,7,192,120,4,96,63,150,0,34,163,40,2,210,83,29,192,141,84,7,136,101,29,201,72,0,121,137,85,19,193,218,113,162,238,109,10,254,54,176,212,158,149,20,0,242,48,112,86,31,246,246,71,242,35,0,64,132,173, +166,244,209,44,112,67,219,161,125,0,232,96,32,58,152,46,85,251,39,216,120,15,103,129,160,158,36,66,179,200,92,243,123,141,206,101,224,4,209,46,132,116,68,79,64,224,68,86,131,105,120,55,162,3,248,208,65,70,89,4,124,80,29,16,188,224,251,196,208,150,154, +178,101,90,29,224,58,246,235,32,239,89,197,68,173,88,218,65,110,20,35,17,70,14,108,77,151,131,165,100,30,168,177,125,32,248,218,200,190,135,76,61,26,81,204,246,71,50,36,1,52,45,78,94,18,185,85,172,186,183,66,167,209,58,69,15,244,196,14,64,170,227,108, +104,245,27,141,2,104,25,12,64,103,46,2,160,106,96,247,138,46,139,67,8,164,60,6,152,40,38,171,96,99,101,128,8,146,147,143,159,52,149,8,82,131,47,86,142,7,177,98,156,65,227,255,161,135,132,183,5,196,226,217,166,27,127,26,246,143,162,241,71,114,24,158,19, +192,101,241,233,106,7,44,88,5,26,1,47,214,148,2,92,2,160,141,127,220,97,187,207,225,183,186,83,22,0,228,151,93,112,128,67,116,26,127,16,59,168,136,192,28,0,36,19,34,32,61,213,1,185,0,174,249,35,153,69,35,158,191,205,144,247,127,24,15,17,0,122,154,1,81, +205,160,72,106,56,147,71,33,179,125,0,36,213,71,140,127,202,86,156,118,1,164,161,23,155,224,50,188,15,98,168,10,64,195,219,1,201,208,67,40,77,213,1,104,252,17,228,223,221,121,10,240,98,152,141,173,54,44,0,172,126,0,157,189,0,124,101,142,112,38,199,2, +103,116,9,192,87,238,244,11,34,207,167,126,220,52,112,90,60,134,155,0,81,44,21,173,228,26,176,3,170,0,36,179,34,192,252,234,128,172,52,254,152,240,135,100,197,109,167,128,96,29,99,202,166,220,116,9,64,143,253,39,255,200,87,225,12,101,242,54,200,168,0, +240,148,56,130,188,133,75,249,224,209,225,11,14,209,109,202,113,179,150,183,128,24,174,1,144,37,188,41,144,12,138,128,244,84,7,100,157,241,199,53,127,36,27,238,55,222,10,22,199,20,147,4,128,254,92,52,69,82,139,50,233,123,102,122,9,32,160,47,114,162,130, +139,8,0,83,16,173,224,24,187,24,52,41,142,247,5,146,97,17,144,166,196,192,44,0,179,253,145,172,185,211,180,56,121,236,183,129,104,51,39,2,224,20,189,186,186,1,82,39,216,225,183,6,5,107,230,204,112,70,5,128,213,37,250,117,31,116,139,199,180,253,112,78, +58,9,132,162,10,162,72,18,120,119,32,25,37,31,69,0,245,252,49,219,31,201,22,161,77,95,118,223,25,228,171,57,243,95,92,22,247,136,0,72,205,155,165,137,240,222,114,151,215,234,204,220,28,154,140,9,0,154,248,16,106,242,250,245,212,64,210,181,19,167,224, +54,239,32,184,2,224,57,230,50,208,164,4,96,46,0,146,121,17,144,63,213,1,216,222,23,201,42,243,175,14,131,213,57,15,44,142,153,166,109,147,46,71,211,114,64,77,215,254,104,30,173,80,151,0,8,58,23,79,136,130,51,161,4,240,35,81,128,137,39,130,115,242,201, +160,70,7,241,46,65,50,238,165,164,107,138,224,104,126,134,40,102,251,35,217,35,171,137,227,24,5,193,82,7,174,224,85,166,110,153,182,2,166,141,233,244,56,143,196,248,187,105,83,192,66,21,0,250,226,248,28,199,218,47,154,141,111,217,151,193,209,185,16,212, +200,0,128,134,145,0,36,11,34,1,187,214,65,239,131,183,130,150,136,230,212,190,71,251,239,39,175,223,161,241,71,178,198,243,23,196,82,112,23,255,39,112,66,145,169,219,166,77,233,216,64,160,84,59,218,146,191,111,113,8,46,171,83,176,102,234,184,100,78,0, +104,201,240,135,190,157,230,137,234,114,154,190,75,156,197,6,129,179,190,14,174,105,167,177,161,42,154,140,57,1,72,134,35,1,118,55,36,182,188,5,137,109,239,228,208,110,199,32,49,244,4,209,233,14,52,254,72,134,81,137,157,25,4,209,214,66,140,255,221,44, +2,96,54,22,142,8,0,78,76,189,27,160,162,129,171,200,106,245,20,59,108,5,39,0,44,78,1,188,101,14,151,170,163,13,34,71,123,148,11,233,57,102,84,4,248,79,253,26,4,206,184,19,196,64,25,121,150,13,38,43,4,52,236,22,136,100,44,22,192,198,151,230,142,108,249, +215,239,16,100,116,189,75,137,60,178,135,128,142,187,113,248,206,5,79,201,61,196,248,215,164,199,150,17,91,36,232,236,73,67,103,226,105,154,102,207,212,145,202,216,48,32,209,198,131,51,96,179,15,12,105,41,202,16,218,194,145,7,171,144,222,99,230,24,127, +44,216,90,103,66,244,237,199,33,250,206,147,32,237,221,4,90,124,56,25,183,97,211,3,209,179,65,70,225,81,38,199,193,222,50,29,172,53,221,185,35,87,56,59,216,220,75,33,210,251,19,250,1,112,218,38,50,74,70,95,27,185,254,172,192,139,101,196,201,156,70,174, +195,99,211,226,245,127,196,150,113,22,22,1,208,41,120,173,35,175,194,18,0,90,114,9,192,161,239,1,195,129,133,79,127,212,132,119,120,193,53,253,76,112,77,59,3,228,125,155,32,177,123,29,200,251,183,130,58,116,136,60,215,254,63,123,231,1,47,71,89,245,255, +179,51,179,237,246,126,211,147,155,222,72,2,161,6,233,72,145,162,2,214,191,149,87,254,250,250,250,170,20,11,254,241,125,21,21,21,20,17,20,72,40,210,91,66,73,40,161,164,87,82,110,239,189,238,189,119,123,239,51,187,255,231,121,54,137,160,160,185,179,51, +91,207,55,159,225,134,36,187,59,59,237,252,206,121,78,17,81,3,32,234,18,139,129,80,49,19,10,63,241,229,99,221,42,179,7,67,233,87,217,90,171,24,106,252,123,20,3,65,212,50,254,196,139,212,240,37,204,240,11,186,69,192,147,45,177,4,165,62,188,134,7,45,175, +99,213,105,50,46,115,33,47,5,192,241,99,39,231,84,211,37,0,65,163,77,221,94,178,209,170,11,217,134,32,200,73,221,52,196,251,186,138,109,8,146,211,87,58,177,15,84,4,36,97,131,243,48,9,48,241,217,178,82,249,105,205,165,192,9,120,229,33,8,130,32,105,37, +97,143,244,172,67,173,28,39,56,30,139,167,205,152,165,59,179,72,70,92,48,206,170,0,18,107,46,8,130,32,8,146,165,226,129,215,128,177,52,125,189,128,185,108,61,112,113,204,48,70,16,4,65,210,238,197,106,64,199,233,166,94,6,24,143,131,96,224,161,108,78,81, +81,186,246,61,157,2,128,186,240,83,95,2,160,69,3,26,14,120,92,2,64,16,4,65,50,65,4,208,50,93,89,189,128,19,67,129,242,81,0,208,240,191,172,36,64,186,230,194,167,50,9,16,65,16,4,65,114,140,116,47,1,196,211,242,82,4,65,16,4,65,1,128,32,8,130,32,8,10,0, +4,65,16,4,65,80,0,100,34,52,219,50,142,189,249,17,4,65,16,36,43,5,128,72,182,192,84,95,68,219,138,75,49,17,162,49,156,212,135,32,8,130,100,49,26,214,11,32,109,125,178,211,41,0,104,22,159,132,87,0,130,32,8,146,173,208,136,116,68,10,179,150,192,83,118, +102,163,49,240,89,67,193,124,20,0,199,244,143,188,3,142,141,128,16,4,65,144,76,17,1,114,204,159,20,142,129,103,60,16,206,215,8,128,95,214,65,139,139,16,149,162,120,213,33,8,130,32,233,53,254,241,56,196,226,146,60,127,86,3,113,13,159,190,73,153,233,108, +167,151,212,18,128,20,79,253,234,129,100,182,129,52,97,134,152,211,13,241,96,16,175,124,68,237,39,11,8,179,103,130,118,213,178,172,220,125,79,32,2,102,103,128,60,28,227,56,12,24,81,213,144,240,28,7,6,29,15,69,6,45,20,23,232,200,255,167,238,138,163,198, +95,140,69,88,75,96,25,80,79,54,148,127,2,64,195,198,40,6,101,188,140,28,240,24,68,98,169,49,192,226,192,8,132,182,237,133,240,251,13,32,142,154,32,230,245,147,83,134,209,7,36,53,2,0,200,131,173,232,107,55,64,241,247,255,35,171,118,125,216,236,133,109, +77,228,222,137,72,104,252,145,212,152,20,141,6,116,2,7,133,70,45,76,47,47,132,5,51,74,97,86,149,250,109,246,99,228,151,24,139,78,57,7,224,184,95,9,137,132,248,252,18,0,113,49,14,209,144,20,158,250,49,211,176,7,163,218,85,0,212,211,247,61,250,60,4,223, +219,3,113,143,15,200,149,5,26,65,75,54,30,64,139,115,8,144,20,33,73,224,123,246,85,48,92,118,1,104,151,46,204,138,93,142,197,226,112,184,103,18,194,196,248,211,7,50,130,164,236,118,33,215,158,203,23,6,187,39,4,29,163,14,152,81,81,8,107,23,214,192,172, +234,34,21,63,83,100,2,64,38,212,144,165,45,7,32,109,150,44,236,19,193,49,236,11,112,117,220,148,23,2,168,226,138,72,234,69,77,168,199,239,249,195,195,32,77,90,65,83,104,4,77,113,33,222,89,72,122,224,137,224,12,133,137,32,181,100,141,0,16,165,24,4,194, +98,74,195,176,8,146,136,2,144,91,134,252,231,248,181,103,178,251,96,194,225,135,85,117,85,112,246,178,105,192,169,80,113,71,157,81,49,46,130,156,28,0,13,167,9,211,45,93,199,43,221,242,220,39,43,122,64,4,64,72,82,103,9,192,255,236,43,224,188,253,183,32, +57,221,9,195,207,161,7,131,164,143,120,56,2,124,117,37,232,86,44,206,154,125,214,106,121,168,45,43,128,168,132,205,186,144,52,95,139,60,199,140,126,67,159,5,222,173,31,97,226,84,121,1,16,78,44,1,76,81,0,16,195,15,33,79,52,18,116,69,210,150,3,144,110, +235,230,145,245,80,140,199,33,44,6,20,223,153,192,150,119,192,243,199,13,160,209,10,160,209,225,180,65,36,205,198,63,74,30,42,122,29,148,222,241,67,224,106,170,178,199,11,35,219,39,86,204,128,26,42,2,68,20,1,72,250,163,2,122,34,74,251,198,93,176,179, +121,140,165,214,40,9,141,70,211,101,128,169,6,23,232,4,225,16,49,254,1,71,56,109,93,237,210,42,0,56,94,227,145,121,74,33,40,249,21,221,151,104,103,47,120,239,121,152,60,112,181,137,176,43,130,164,19,106,252,181,90,40,191,235,167,160,63,239,204,172,219, +253,34,163,22,62,117,198,60,168,42,53,160,8,64,50,2,42,2,186,199,156,208,216,111,85,244,125,195,82,24,196,120,20,100,46,1,120,201,150,182,36,192,244,9,0,162,194,156,35,126,183,220,37,153,128,168,160,0,16,37,240,222,187,1,98,129,32,128,128,9,126,72,250, +141,63,156,48,254,103,101,237,215,72,136,128,58,34,2,140,40,2,144,140,64,43,240,208,208,107,6,135,87,185,168,123,136,56,163,180,44,93,142,41,99,2,64,147,190,174,118,105,19,0,52,140,239,183,132,220,178,122,39,144,35,22,136,122,149,59,129,59,247,67,184, +190,5,52,5,70,188,67,144,12,242,252,207,202,250,175,243,247,72,128,17,115,2,144,180,67,115,3,195,68,140,54,244,41,23,5,8,136,190,99,195,233,166,158,3,16,116,134,189,98,36,125,247,69,122,151,0,180,156,67,206,235,104,178,5,61,232,10,41,17,8,188,178,21, +147,253,144,140,241,252,203,114,196,248,255,147,8,40,193,72,0,146,1,81,0,158,131,97,139,135,53,170,82,2,191,232,133,152,140,158,118,28,175,1,207,68,192,25,13,164,111,36,78,218,172,30,245,226,195,222,168,51,30,139,203,120,45,167,152,0,144,70,199,33,218, +209,195,146,173,16,36,221,198,191,60,199,140,255,71,70,2,80,4,32,105,132,46,59,135,194,34,17,1,202,68,145,253,17,183,236,196,66,34,2,236,233,236,148,149,62,1,64,212,143,125,208,227,20,35,177,248,84,243,0,56,22,1,240,42,210,14,56,210,218,5,49,175,15,35, +0,72,218,136,231,184,241,71,17,128,100,158,8,208,192,132,93,25,39,210,23,245,200,126,173,20,141,217,210,121,28,210,92,5,192,121,104,32,64,78,4,32,40,250,33,162,64,47,0,113,104,4,20,175,11,65,144,41,120,254,154,60,48,254,255,44,2,176,58,0,73,163,237,225, +52,224,14,68,88,46,90,178,120,163,46,89,109,128,105,14,128,185,203,99,139,75,233,179,63,233,139,0,112,108,9,192,21,9,74,126,205,20,59,134,209,28,128,48,49,254,74,84,2,196,236,46,244,254,145,180,25,127,200,35,227,255,97,17,128,213,1,72,26,35,0,100,139, +68,37,69,18,83,189,17,34,0,228,152,210,132,217,179,228,101,4,128,38,64,120,205,33,111,208,21,117,77,89,0,104,184,99,2,32,249,16,78,92,20,241,110,64,114,202,248,139,225,40,217,148,187,174,105,154,142,39,172,236,125,130,213,1,72,46,64,35,8,190,168,27,56, +205,212,77,105,140,136,95,191,61,108,213,164,209,255,76,107,209,187,134,215,68,136,16,160,107,32,11,166,42,156,162,49,145,40,47,103,242,66,196,104,196,37,0,36,103,140,127,203,198,195,208,183,179,147,37,58,45,184,112,25,156,114,253,25,160,73,162,39,255, +246,126,59,220,187,119,16,108,129,8,172,153,94,2,191,252,228,34,152,86,164,87,84,4,188,117,100,8,108,238,32,104,113,112,16,146,74,39,148,220,36,154,36,103,3,68,98,33,86,5,48,85,1,64,63,86,138,198,36,247,88,192,78,243,225,242,46,2,64,31,74,17,111,20,220, +99,126,171,70,152,234,1,208,128,20,23,193,29,177,39,127,0,170,42,80,0,32,105,48,254,183,43,110,252,143,252,109,15,52,60,115,0,2,54,47,248,173,94,168,127,106,31,244,19,49,32,151,17,87,8,126,248,122,39,52,79,122,193,30,136,194,150,78,11,124,125,99,11,140, +123,148,155,93,130,37,130,72,58,160,81,45,189,78,96,37,129,201,224,143,122,89,62,154,70,70,42,127,60,30,247,145,87,57,210,121,28,210,42,185,165,72,12,162,1,113,92,142,10,163,161,23,103,56,249,4,74,126,90,53,128,6,167,150,33,234,243,225,108,127,101,219, +251,82,227,223,190,185,1,116,133,122,224,180,252,137,109,162,117,84,246,123,54,78,120,192,17,140,64,145,142,7,129,8,246,50,131,0,237,102,31,124,115,19,17,1,94,133,69,192,153,243,160,18,115,2,144,84,221,139,228,87,161,33,249,0,56,173,0,8,75,1,182,44,61, +37,195,43,112,224,183,69,92,17,43,184,120,109,250,204,112,26,251,0,80,21,22,7,247,120,208,36,43,131,146,188,198,25,74,62,127,130,9,0,173,0,128,65,0,68,101,207,95,173,108,255,19,198,191,64,247,225,102,100,52,196,153,68,145,177,72,220,164,15,142,79,165, +183,8,21,3,237,22,34,2,88,36,64,185,118,170,84,4,92,133,213,1,72,170,4,0,177,61,244,154,75,22,26,133,142,178,73,128,50,246,33,22,55,199,99,16,74,231,113,72,107,4,128,118,79,244,219,66,163,26,89,9,148,156,34,17,0,174,186,10,52,6,67,98,103,16,68,37,227, +15,170,25,255,189,208,190,165,145,24,127,253,71,71,178,146,8,110,125,220,75,139,143,139,128,151,91,85,88,14,192,234,0,36,37,46,40,148,24,147,111,254,230,12,91,217,36,192,169,222,104,52,2,224,26,241,79,178,61,225,242,48,7,32,241,197,1,2,206,200,104,76, +70,29,36,77,186,112,19,1,16,135,228,30,20,92,69,25,112,37,197,137,69,33,4,201,42,227,191,7,58,182,212,131,206,168,131,84,118,19,139,31,19,1,29,116,57,224,101,117,114,2,42,177,58,0,81,211,246,144,251,165,184,32,121,1,96,15,77,202,86,215,209,160,56,146, +238,227,144,222,70,64,180,25,131,41,48,17,151,98,83,30,165,68,5,128,39,234,2,127,52,185,82,64,174,184,16,248,170,114,136,75,18,222,21,72,118,121,254,155,27,64,107,212,67,58,90,137,158,88,14,80,73,4,92,133,137,129,136,138,215,46,77,254,43,86,32,2,96,15, +78,202,170,36,160,182,207,214,231,25,206,107,1,192,166,33,185,162,230,72,64,154,242,88,96,142,205,3,240,130,55,154,100,41,32,249,96,126,122,45,0,10,0,68,201,135,140,202,158,127,59,245,252,11,210,99,252,255,49,18,208,174,98,36,0,151,3,16,197,175,219,120, +28,116,90,94,145,36,64,71,216,2,188,134,151,245,218,136,95,204,115,1,192,107,32,64,51,33,253,162,121,234,221,0,57,136,72,97,112,40,145,8,56,107,58,46,1,32,138,26,127,213,19,254,140,233,53,254,31,41,2,212,168,14,56,3,171,3,16,165,5,0,16,227,175,5,189, +54,57,1,16,146,130,224,14,219,137,51,58,69,1,64,123,0,144,235,217,214,239,195,37,0,144,64,244,140,7,70,57,25,77,64,196,88,20,108,193,137,164,247,67,152,59,43,35,30,166,72,14,144,142,108,255,12,16,1,234,87,7,160,8,64,148,33,70,156,189,18,114,15,37,91, +253,237,137,56,192,39,122,100,53,1,138,134,36,127,192,25,49,229,181,0,96,15,49,242,244,8,58,35,253,114,219,33,154,131,163,73,239,134,48,103,102,98,28,48,54,4,66,146,52,254,106,133,253,143,50,227,255,47,178,253,51,0,117,171,3,80,4,32,202,9,214,178,194, +228,187,89,58,66,102,8,139,129,41,155,209,99,77,240,38,189,230,160,53,191,5,192,49,236,131,222,62,78,198,64,30,26,122,177,4,146,23,81,252,244,26,208,176,74,0,124,184,32,153,103,252,19,165,126,153,231,249,127,212,131,245,131,213,1,38,172,14,64,50,16,122, +11,149,43,208,206,218,18,52,177,40,244,84,111,73,54,7,199,18,26,147,194,82,56,221,199,34,35,4,0,57,24,189,114,198,50,210,228,11,90,134,65,79,66,82,7,161,162,12,248,218,106,172,4,64,50,208,248,239,73,107,182,191,28,17,112,188,58,224,70,172,14,64,50,16, +129,231,160,76,1,1,48,225,31,145,213,63,142,230,190,5,29,145,62,41,154,254,107,56,35,4,128,115,216,55,40,137,177,41,91,95,26,1,112,71,28,224,73,182,18,128,227,216,50,0,136,40,0,144,12,51,254,172,201,143,46,171,114,84,254,185,58,64,217,156,0,92,14,64, +228,66,187,207,26,245,2,203,1,72,22,186,252,204,201,168,0,160,209,110,251,160,183,59,19,142,71,70,8,0,183,41,48,22,241,68,237,220,20,167,34,209,54,165,129,168,79,153,68,192,5,115,177,18,0,153,154,161,75,129,231,159,234,38,63,170,136,128,77,152,19,128, +100,136,0,136,209,6,64,180,2,128,79,234,125,162,177,8,235,1,32,167,4,144,205,177,25,241,161,0,56,78,200,29,117,251,109,225,145,169,143,69,212,64,52,30,129,201,64,242,213,20,218,69,117,0,60,143,119,8,114,210,158,127,190,101,251,203,17,1,39,170,3,54,97, +159,0,36,51,34,0,229,133,134,228,157,214,136,29,220,97,135,172,8,0,29,3,236,26,245,247,163,0,56,134,24,150,226,30,115,176,139,147,49,23,89,67,158,50,227,190,193,228,35,0,117,179,129,43,41,196,68,64,228,164,140,191,250,97,127,125,206,76,169,252,123,117, +0,77,12,84,97,57,160,196,8,17,20,1,200,73,66,69,99,178,152,3,99,16,148,124,83,46,1,164,54,46,236,137,90,220,166,224,72,38,28,11,46,83,78,138,99,200,215,206,201,152,205,204,113,2,140,7,146,111,168,68,147,0,89,34,32,230,1,32,105,52,254,29,91,178,55,236, +255,175,34,1,199,171,3,110,84,163,68,240,204,99,145,0,172,14,64,254,157,163,71,12,112,101,73,242,17,0,147,127,16,68,54,4,104,138,14,43,249,124,191,53,52,24,242,68,188,40,0,62,44,0,218,228,172,192,211,53,24,107,112,28,130,162,63,201,43,67,0,97,254,28, +0,81,196,187,4,73,143,231,191,185,49,107,178,253,229,136,128,34,21,19,3,177,58,0,249,119,176,4,64,157,160,72,5,128,201,55,32,111,6,0,113,114,61,230,96,135,20,201,140,235,52,99,4,128,173,215,219,45,6,197,232,212,135,2,241,224,9,59,192,26,26,79,122,31, +180,203,22,225,18,0,146,30,227,191,37,251,215,252,79,54,18,144,16,1,152,24,136,164,88,0,196,226,204,248,27,146,76,0,164,19,104,39,252,195,196,249,156,122,43,97,186,4,96,237,245,182,100,202,49,201,24,1,224,53,7,71,195,62,113,108,234,51,1,52,16,142,133, +136,34,75,62,15,128,9,0,157,22,59,2,34,31,190,225,213,14,251,103,80,111,255,212,138,0,117,102,7,160,8,64,62,46,2,160,196,250,191,43,108,7,91,72,94,5,0,221,7,107,143,7,5,192,63,18,116,134,67,158,137,96,23,47,99,38,0,53,216,35,222,158,164,247,65,152,63, +23,248,138,114,0,92,75,68,62,224,249,171,157,237,175,205,113,207,255,163,68,192,137,229,128,141,88,29,128,164,6,26,178,175,45,43,72,250,125,104,213,153,63,234,158,114,5,0,253,252,168,79,244,57,6,189,189,40,0,254,217,134,131,99,192,219,200,9,114,102,43, +11,48,234,235,75,254,96,148,151,130,48,111,22,196,49,15,0,57,102,252,213,15,251,231,78,182,255,84,249,96,117,0,54,11,66,212,22,157,180,246,191,74,129,4,192,17,98,191,229,36,0,82,219,230,179,134,6,60,147,193,73,20,0,31,129,165,199,211,32,231,89,40,104, +4,54,19,192,27,117,37,189,15,218,21,75,48,17,16,73,81,182,191,62,175,167,80,126,120,118,128,90,57,1,6,172,14,64,78,76,0,84,162,3,224,144,167,123,202,229,127,9,1,192,129,115,196,223,34,134,50,231,130,204,40,1,96,235,243,180,73,209,184,140,68,64,14,60, +17,39,75,204,72,22,221,234,229,216,16,8,141,63,102,251,167,80,4,20,169,218,54,184,14,171,3,16,38,0,170,75,141,178,50,247,63,244,104,136,69,192,228,31,0,158,155,122,2,32,93,49,176,245,122,142,102,210,113,201,44,1,208,235,25,242,89,67,35,156,156,142,128, +228,196,12,121,186,146,143,0,44,89,192,150,2,48,15,0,141,63,118,248,75,109,36,0,171,3,16,53,175,177,233,21,133,73,191,143,53,104,2,71,200,34,171,2,128,238,4,141,114,163,0,248,24,66,222,104,216,61,30,104,230,4,57,163,129,57,24,244,116,38,127,64,106,170, +64,168,155,147,200,252,70,242,235,33,145,18,227,143,158,255,191,21,1,216,54,24,81,242,218,138,39,214,255,107,203,147,79,0,28,242,244,64,72,10,176,234,179,41,185,168,156,6,66,158,168,131,56,185,157,153,116,108,184,76,59,89,147,173,206,195,114,18,1,121, +78,11,163,190,126,8,75,201,135,16,217,50,0,118,4,204,59,207,31,123,251,167,95,4,224,236,0,68,105,104,233,93,89,161,30,74,11,146,111,0,52,224,105,151,103,104,137,77,243,76,4,59,137,131,107,67,1,240,47,176,244,184,15,201,25,178,76,107,50,29,97,139,34,131, +129,116,107,87,17,79,16,243,0,242,201,248,99,182,127,230,80,252,1,17,96,82,169,58,0,103,7,228,15,82,44,206,188,255,100,111,191,88,92,98,9,128,114,194,255,180,188,221,222,239,61,28,207,176,137,179,25,39,0,172,221,158,214,176,55,234,144,213,16,72,12,194, +160,167,35,233,125,160,13,129,248,234,74,140,2,160,241,79,138,163,152,237,47,59,18,192,170,3,44,42,205,14,32,34,160,26,171,3,242,6,106,248,103,86,21,37,111,155,130,19,96,9,154,100,37,0,82,75,107,106,178,31,200,180,99,147,113,2,192,109,10,216,93,99,129, +86,94,198,50,128,70,195,65,175,171,53,249,131,82,90,12,218,165,139,48,15,32,231,141,191,168,162,231,191,23,218,48,219,63,41,17,80,164,106,78,0,86,7,228,197,117,68,46,164,2,189,22,166,41,177,254,239,237,130,128,232,37,70,115,106,102,147,86,30,136,33,41, +108,238,112,215,163,0,248,55,196,164,56,76,182,59,15,242,50,66,240,2,167,37,39,169,27,194,82,48,233,253,208,159,185,6,64,194,8,64,110,123,254,130,138,107,254,245,184,230,175,80,36,224,239,205,130,48,39,0,153,26,82,44,198,162,61,5,122,33,233,247,234,113, +53,201,139,64,208,9,128,246,112,55,113,110,71,50,237,248,112,153,120,210,198,155,156,123,227,50,18,1,88,30,64,208,204,234,52,147,69,119,250,42,208,20,21,210,133,31,188,139,114,205,176,164,160,206,31,179,253,21,22,1,102,20,1,136,12,135,50,30,135,153,149, +201,135,255,197,184,8,3,238,78,214,116,110,202,118,73,203,209,254,255,7,195,190,104,198,121,148,25,41,0,204,29,174,6,114,176,60,156,140,60,128,72,44,76,148,90,115,210,251,32,204,155,147,40,7,20,113,25,32,215,60,127,13,78,245,67,17,128,34,32,47,208,242, +60,204,170,78,94,0,76,250,135,143,173,255,107,167,110,100,121,13,140,55,59,118,103,226,241,201,72,1,224,158,8,76,186,70,3,205,156,118,234,187,71,163,0,93,206,166,228,119,130,231,64,127,198,106,128,8,10,128,92,50,254,170,103,251,227,154,191,250,34,96, +147,122,179,3,176,58,32,119,160,217,255,229,197,122,168,40,78,190,255,127,143,171,5,66,162,140,250,127,242,207,165,168,20,158,104,113,30,70,1,112,146,196,196,56,152,219,93,187,228,8,0,129,245,3,232,3,79,196,145,244,126,232,215,157,14,26,28,15,140,198, +255,36,140,63,102,251,167,78,4,116,88,212,235,24,136,213,1,185,37,0,102,85,21,1,167,64,249,109,151,179,65,118,255,127,151,41,208,97,235,247,14,102,226,49,226,50,245,228,153,154,29,187,228,24,94,58,162,209,19,118,64,159,187,61,233,125,160,131,129,248, +217,51,176,28,48,235,141,191,186,217,254,108,164,47,26,255,148,137,128,34,85,151,3,176,58,32,87,224,57,13,204,169,41,73,250,125,124,81,15,171,255,23,184,169,15,18,226,117,28,76,182,185,246,68,252,153,121,65,101,172,0,152,108,119,53,132,188,81,139,12, +209,5,177,120,12,58,28,71,146,222,7,141,65,15,186,211,87,67,60,18,193,187,41,171,61,127,181,179,253,209,248,167,35,18,160,110,78,128,1,69,64,150,123,255,37,133,58,168,45,51,38,253,94,180,251,159,51,108,101,203,203,83,182,33,26,13,76,180,56,183,103,234, +113,202,88,1,224,30,243,187,108,189,222,131,188,110,234,7,93,203,235,216,154,13,29,16,148,44,6,98,52,52,56,29,48,59,13,5,102,251,231,135,8,80,171,79,0,38,6,102,181,0,152,85,89,4,2,159,188,137,107,183,31,97,93,0,167,108,252,201,71,135,60,17,215,200,17, +219,33,20,0,83,189,193,201,29,62,214,96,223,198,203,24,12,68,75,53,44,193,49,24,246,246,36,189,31,186,83,87,2,63,115,90,34,140,140,100,149,231,143,189,253,243,68,4,96,159,0,228,31,13,27,241,188,235,166,37,31,254,23,227,81,232,118,53,129,86,78,248,95, +203,129,99,200,127,196,51,17,176,160,0,144,193,200,17,235,118,73,140,201,176,188,26,136,74,17,162,220,146,79,188,212,20,24,65,119,230,169,184,12,144,101,198,31,167,250,229,107,36,0,171,3,242,157,24,241,254,75,11,117,48,77,129,241,191,35,222,94,48,7,70, +101,181,255,165,205,236,70,143,218,222,165,73,237,40,0,100,96,237,246,116,187,77,254,118,94,86,53,128,0,29,206,163,44,31,32,89,140,151,156,75,206,38,143,213,0,104,252,19,217,254,104,252,51,82,4,168,94,29,128,34,32,43,16,137,0,152,83,83,12,90,5,194,255, +109,246,67,16,145,194,83,46,255,163,72,209,88,140,8,128,247,50,58,82,146,201,59,71,51,39,205,157,238,247,104,38,229,212,5,128,14,198,124,3,48,238,79,190,250,66,187,122,5,8,115,103,65,92,196,101,128,204,54,254,152,237,159,207,34,224,131,213,1,38,204,9, +200,91,104,246,255,252,105,165,201,71,18,136,243,216,102,63,194,156,201,41,27,86,65,3,126,107,168,139,216,175,246,76,62,86,92,166,159,204,129,61,150,183,228,60,113,169,98,163,141,27,218,28,10,44,3,24,244,96,56,239,76,128,48,46,3,100,182,231,47,168,104, +252,49,219,63,91,34,1,84,4,220,168,70,78,192,153,88,29,144,233,208,228,63,218,248,71,137,225,63,212,121,164,109,229,229,148,255,9,122,158,150,178,191,23,246,102,118,242,88,198,11,128,209,35,182,195,62,75,112,140,182,83,156,186,18,20,160,197,118,16,228, +204,21,248,71,12,151,158,71,132,128,1,151,1,50,214,248,171,24,246,199,53,255,172,20,1,44,39,192,171,160,8,48,96,36,32,27,4,0,77,254,155,106,27,249,143,162,197,126,80,86,247,191,227,23,98,223,174,201,55,50,253,120,101,188,0,8,56,195,126,91,159,119,155, +156,101,0,154,185,73,147,56,38,252,67,73,239,135,118,217,34,208,46,93,136,201,128,121,102,252,105,123,95,45,102,251,103,167,8,176,168,85,34,136,213,1,153,122,222,117,2,7,11,166,39,31,254,143,199,99,204,121,148,19,254,215,16,241,17,116,69,76,227,205,206, +247,81,0,40,192,224,126,203,102,186,166,50,229,19,65,126,5,69,63,52,89,247,43,112,164,56,22,5,192,114,192,204,50,254,170,151,250,225,154,127,86,139,128,14,172,14,200,31,239,95,138,65,109,121,161,34,189,255,71,125,253,196,121,236,147,25,254,231,192,220, +233,222,230,183,133,124,40,0,20,17,0,230,93,33,119,212,170,145,17,214,161,179,1,154,108,7,20,169,6,48,92,114,46,112,21,101,52,206,132,119,91,134,120,254,101,152,237,143,252,11,17,80,132,213,1,121,3,157,220,190,104,102,169,34,239,213,100,219,7,97,41,40, +43,252,79,157,213,254,61,147,175,102,195,49,203,10,1,224,54,5,92,147,237,174,93,130,78,222,112,160,49,95,31,81,115,201,55,5,226,167,213,128,254,172,211,32,30,14,227,221,150,86,227,175,118,182,127,35,102,251,231,152,8,80,179,99,96,37,46,7,100,128,241, +143,67,49,57,31,117,181,201,11,0,218,122,166,153,56,141,90,25,163,127,19,225,255,168,109,232,128,117,15,10,0,5,25,216,107,222,164,209,202,91,6,8,75,33,168,183,42,51,142,217,120,213,37,180,205,20,222,113,105,245,252,213,206,246,199,53,255,92,19,1,106, +118,12,188,10,103,7,164,29,81,138,195,188,218,18,48,232,146,111,219,62,232,233,32,78,227,32,240,50,4,0,13,255,79,182,185,182,121,38,2,78,20,0,10,50,184,223,242,158,220,101,0,58,27,128,42,186,72,44,249,27,95,127,198,26,16,22,214,97,50,96,58,30,228,152, +237,143,36,43,2,84,157,29,128,34,32,93,8,196,46,44,153,85,174,204,179,192,178,19,196,88,68,86,248,95,147,8,255,191,152,45,199,45,107,4,128,219,20,112,154,219,93,239,81,133,53,229,139,67,163,133,73,255,8,116,59,155,146,223,17,157,22,10,46,191,16,32,18, +197,187,46,197,198,95,131,217,254,136,82,145,0,28,32,148,67,222,63,77,254,43,128,26,5,106,255,105,210,120,171,253,125,208,241,250,169,27,127,34,66,66,174,168,121,232,128,117,7,10,0,21,232,223,99,126,145,19,228,237,114,140,252,58,108,222,166,200,126,24, +174,184,16,184,138,114,76,6,76,21,152,237,143,40,44,2,58,44,88,29,144,43,208,228,191,165,179,43,20,185,125,105,235,95,107,112,28,120,205,212,203,255,104,243,159,201,118,215,155,158,137,128,7,5,128,10,244,237,152,216,225,179,4,77,114,74,2,117,156,30,218, +29,71,193,21,182,37,189,31,44,25,144,24,162,120,40,132,119,95,10,140,63,246,246,71,148,22,1,88,29,144,43,198,63,49,248,71,137,214,191,148,67,230,237,242,26,255,64,98,252,111,215,214,177,23,178,233,248,101,149,0,240,219,195,62,83,163,99,11,85,90,83,254, +162,26,30,220,97,59,52,40,148,156,89,240,153,203,65,163,211,98,103,64,85,141,191,168,242,84,63,204,246,207,119,17,160,110,78,0,46,7,168,13,77,254,91,52,163,12,116,218,228,77,25,157,250,215,195,70,255,78,61,252,79,157,82,175,37,52,48,120,192,178,23,5, +128,138,244,108,159,120,142,217,92,25,15,109,218,26,248,176,121,135,34,61,1,116,171,151,131,110,205,74,136,227,124,0,21,61,127,65,213,193,62,152,237,143,34,64,205,234,0,236,24,168,242,249,35,39,208,160,229,97,233,108,101,146,255,14,19,239,223,31,245, +16,103,81,70,158,25,237,253,95,111,127,37,228,142,102,85,88,56,235,4,192,208,1,235,251,238,49,127,27,47,99,25,128,182,6,30,242,116,65,191,187,45,249,29,209,104,160,224,186,79,97,30,128,26,55,182,218,237,125,49,219,31,249,71,17,96,70,17,144,117,62,2,121, +246,206,173,45,129,210,66,125,210,239,69,43,196,142,88,118,201,242,254,233,115,36,38,197,165,246,55,70,159,203,182,99,152,117,2,32,26,20,197,193,125,150,231,229,44,3,208,181,157,104,44,2,7,38,222,86,100,95,12,23,156,13,194,162,58,114,245,96,20,64,73, +227,175,118,182,63,122,254,200,199,138,0,156,29,144,53,208,177,191,43,231,85,42,242,94,237,246,35,108,102,140,32,163,246,159,215,114,224,26,241,31,153,104,85,162,204,12,5,192,191,165,115,235,216,139,98,36,22,210,200,120,136,235,121,3,52,219,15,42,146, +12,8,122,29,20,124,246,10,136,99,73,160,66,234,14,179,253,145,244,138,0,172,14,200,14,104,233,223,172,170,34,69,198,254,82,246,79,188,37,251,181,212,25,237,126,111,252,153,104,80,202,186,132,176,172,20,0,214,94,111,191,185,211,189,157,215,201,75,6,116, +133,237,44,219,83,9,140,159,186,24,248,89,211,201,21,137,67,130,146,53,254,152,237,143,164,91,4,124,184,58,64,121,17,128,213,1,202,157,171,149,243,170,20,121,47,147,127,16,186,156,141,160,227,167,62,68,136,58,161,17,191,232,238,223,51,185,41,27,143,99, +86,10,128,24,185,129,186,182,154,30,231,101,102,126,210,30,207,7,39,223,97,203,1,73,31,192,146,98,40,184,230,50,136,135,112,62,128,124,227,127,60,219,255,118,204,246,71,50,66,4,36,114,2,90,177,58,32,19,189,255,88,156,120,254,133,48,167,166,88,33,239, +127,43,107,0,36,167,252,79,48,240,96,106,118,188,110,237,246,152,81,0,164,144,222,29,19,111,251,172,161,33,142,151,151,12,104,242,13,176,166,15,74,64,151,1,184,234,74,58,143,18,239,78,89,158,255,241,108,255,51,85,48,254,184,230,143,76,93,4,96,78,64,6, +159,31,34,0,78,153,87,169,200,72,22,95,212,13,71,205,59,101,117,254,99,17,0,158,131,206,55,199,30,203,214,99,153,181,2,32,224,8,7,6,246,154,159,211,26,229,15,127,216,109,122,93,153,131,72,140,127,193,85,151,64,60,136,141,129,166,116,35,171,26,246,223, +139,189,253,145,228,69,192,241,156,0,47,138,128,76,241,254,171,201,113,91,48,93,153,198,63,180,244,207,30,154,148,213,249,143,23,56,112,143,249,91,6,247,89,246,161,0,72,3,29,111,142,61,41,69,99,97,57,15,120,186,222,211,237,106,132,65,79,167,50,81,128, +47,92,11,92,101,57,70,1,166,224,249,171,155,237,95,15,90,52,254,136,82,34,96,163,58,145,0,28,37,60,53,98,212,251,175,171,2,78,1,247,159,14,252,217,55,254,22,8,156,78,214,235,5,3,7,61,219,198,31,11,251,162,89,155,0,150,213,2,96,178,205,217,51,209,234, +122,71,118,73,160,20,134,93,166,205,138,236,11,109,15,92,112,245,39,49,10,144,9,198,31,179,253,17,133,69,64,199,137,102,65,202,38,6,94,133,213,1,39,141,68,140,127,85,137,1,22,206,80,198,251,111,182,29,132,17,95,31,91,18,158,178,253,32,2,36,236,19,157, +109,175,141,190,144,205,199,52,171,5,64,76,138,67,235,107,35,15,201,153,13,144,136,2,24,161,209,186,15,44,193,49,101,162,0,95,196,40,192,201,24,127,26,246,47,195,108,127,36,139,68,0,171,14,56,150,24,104,194,234,128,52,9,128,24,172,158,95,13,2,207,41, +112,78,227,204,249,147,219,247,95,107,224,97,228,176,109,163,107,204,111,65,1,144,70,6,246,154,183,123,198,131,109,188,140,41,129,180,229,163,63,234,38,23,194,22,229,162,0,215,94,134,81,128,143,53,254,216,219,31,201,110,17,64,19,3,111,196,234,128,148, +67,215,254,107,202,10,96,209,204,50,69,222,175,199,217,4,61,174,102,217,201,127,177,88,92,106,223,50,250,112,182,31,215,172,23,0,97,111,52,218,179,109,124,61,45,199,144,3,109,12,116,104,114,27,184,34,118,69,246,167,240,203,159,5,190,166,138,118,170,192, +187,246,159,60,127,65,229,246,190,152,237,143,168,43,2,212,175,14,192,72,192,71,30,123,34,0,214,16,239,159,231,148,185,193,183,143,189,2,82,92,146,87,250,167,231,193,214,231,221,53,116,208,210,136,2,32,3,104,122,105,232,217,160,59,98,145,83,18,200,105, +4,112,133,173,176,87,169,138,128,170,10,40,184,225,42,140,2,124,240,230,197,222,254,72,174,137,128,227,57,1,94,21,34,1,37,24,9,248,144,247,47,197,96,90,69,33,44,80,104,237,127,200,219,5,173,246,247,153,243,39,235,25,47,104,160,245,213,225,251,99,82,246, +79,130,205,9,1,224,157,12,58,135,14,88,158,148,27,5,160,21,1,251,38,222,98,53,161,74,80,240,249,107,129,159,51,35,225,245,162,241,79,65,111,127,52,254,72,14,69,2,206,196,18,193,127,100,237,162,26,226,172,41,115,147,191,55,178,145,53,129,147,227,253,211, +230,115,158,137,96,123,215,86,211,214,92,56,174,92,174,92,32,13,207,13,60,44,134,99,65,57,223,136,214,128,218,130,147,176,119,252,77,101,14,106,105,49,20,125,245,122,28,21,140,217,254,72,62,136,0,21,167,8,230,123,117,0,157,248,71,59,254,205,85,168,235, +223,152,175,31,154,108,251,137,247,111,148,245,122,234,100,118,189,109,122,48,18,16,115,194,187,203,25,1,96,233,242,12,76,180,58,55,105,245,242,162,0,90,94,15,187,77,91,192,47,122,20,217,31,227,181,151,129,118,217,162,252,21,1,216,219,31,201,51,17,128, +213,1,202,67,215,252,79,95,92,171,216,251,189,55,186,17,194,98,64,150,247,79,67,255,62,75,104,188,121,227,208,179,185,114,124,115,70,0,196,227,113,104,120,118,224,62,208,104,100,101,223,9,26,1,172,65,19,236,49,189,161,200,254,104,244,122,40,250,214,151, +243,179,36,16,179,253,145,60,20,1,88,29,160,44,52,250,177,104,102,57,212,150,41,51,241,207,228,31,128,122,203,110,208,11,242,188,127,173,65,128,193,125,150,13,62,107,200,157,43,199,152,203,165,11,102,240,128,165,97,172,222,254,182,214,32,55,10,96,72, +68,1,162,202,68,1,12,23,173,3,253,186,211,33,30,8,230,207,3,17,179,253,145,124,142,4,168,84,29,80,153,103,137,129,49,114,80,141,228,152,158,190,168,70,177,247,124,123,248,5,8,73,212,251,159,186,217,163,141,127,34,1,209,213,244,210,224,250,92,58,206,57, +37,0,104,169,72,203,166,225,123,56,65,222,215,58,30,5,216,105,122,77,153,29,210,104,160,248,59,95,3,141,94,151,184,162,243,192,248,171,185,230,143,189,253,145,140,23,1,22,117,68,192,85,52,49,48,143,68,0,93,251,95,85,87,5,37,5,58,69,222,111,216,219,67, +188,255,93,178,51,255,117,70,129,14,160,251,155,181,215,51,137,2,32,131,25,58,104,217,109,31,240,238,226,117,242,190,154,238,88,20,192,29,113,40,178,63,218,21,139,193,120,237,229,16,15,4,114,252,142,85,63,219,31,123,251,35,249,44,2,242,165,58,128,182, +252,173,44,54,192,170,249,213,138,189,231,214,225,103,33,194,198,198,200,240,254,53,204,251,247,55,60,51,240,64,174,29,235,156,19,0,228,68,65,227,11,131,119,11,50,147,1,105,69,128,35,100,134,109,163,155,20,219,167,226,111,125,137,117,9,132,236,157,25, +241,111,141,191,154,83,253,48,219,31,201,86,17,96,194,234,128,41,19,139,199,225,204,197,181,160,19,148,49,79,189,174,22,104,178,202,207,252,167,19,103,199,26,237,207,90,251,60,131,40,0,178,128,206,183,198,222,182,247,123,247,9,50,163,0,244,66,217,59, +254,6,88,131,227,202,28,228,170,10,40,186,241,139,185,89,17,160,246,72,223,45,245,24,246,71,178,82,4,208,1,66,55,170,48,64,40,151,171,3,168,176,153,87,91,162,88,211,31,122,54,222,28,122,26,164,184,40,175,239,191,134,37,152,135,154,94,28,252,99,46,94, +171,57,41,0,162,33,41,222,248,194,224,93,188,94,222,215,227,52,60,120,35,46,216,58,252,156,98,251,84,240,217,43,65,183,246,148,220,234,16,168,122,182,127,3,102,251,35,89,43,2,138,78,148,8,170,83,29,144,107,163,132,137,227,15,122,45,15,103,45,157,166, +216,123,54,217,14,64,187,227,136,124,239,223,192,195,232,81,251,179,67,7,173,61,40,0,178,41,10,176,213,244,182,173,223,183,79,174,8,48,8,70,120,127,242,61,150,60,162,8,2,15,37,223,255,15,182,78,14,177,28,184,105,49,219,31,65,78,42,18,160,86,179,160,227, +163,132,115,69,4,68,164,24,172,174,171,98,235,255,74,32,198,163,204,251,215,104,100,154,57,13,243,6,67,71,159,238,191,59,87,175,209,156,21,0,209,160,24,111,122,97,240,46,65,199,203,60,247,28,68,98,33,120,125,240,9,197,246,73,187,106,89,98,78,128,63,187, +203,2,213,238,237,143,217,254,72,78,138,128,77,106,204,14,200,13,17,32,74,113,168,46,49,192,154,133,202,37,254,237,31,223,10,3,238,14,208,113,242,38,254,209,204,255,129,221,147,79,142,28,178,245,228,234,245,201,229,242,205,215,185,117,108,171,125,192, +187,83,110,66,32,13,27,53,219,14,66,139,253,160,114,55,237,77,95,6,161,110,54,196,35,217,153,15,16,199,108,127,4,145,39,2,104,98,224,70,245,218,6,103,179,8,160,183,251,186,229,211,65,203,43,99,146,104,47,151,183,135,159,39,239,39,175,140,144,214,253, +71,195,146,255,192,67,221,191,163,77,230,80,0,100,101,20,64,130,163,79,245,223,73,91,56,202,187,40,53,172,4,100,203,192,223,216,240,8,69,14,120,73,49,91,10,0,41,150,88,244,202,170,3,170,158,241,63,138,189,253,145,124,17,1,155,80,4,124,144,136,40,193, +210,57,21,48,187,186,88,177,247,124,103,228,5,176,4,199,64,208,104,101,189,94,91,32,64,239,246,137,13,182,126,239,80,46,95,151,92,174,223,120,29,111,140,237,26,171,183,191,65,75,57,228,64,195,71,131,158,78,216,99,218,162,216,62,233,47,90,7,198,79,93, +12,113,127,22,245,6,80,123,164,47,246,246,71,242,73,4,168,84,29,144,109,34,128,214,252,151,146,251,254,172,37,202,245,251,31,247,15,193,46,211,102,208,243,242,90,8,211,148,129,104,64,116,214,63,51,112,79,174,95,147,57,47,0,104,248,134,156,200,95,16,79, +94,118,17,62,109,14,180,117,248,121,112,134,173,138,237,23,141,2,240,51,167,101,199,200,96,149,179,253,59,176,183,63,146,111,34,64,181,234,128,121,89,85,29,64,107,254,105,232,223,168,23,20,123,207,205,3,143,65,64,244,1,39,51,249,79,87,192,186,254,221, +103,235,243,76,160,0,200,1,6,15,88,234,71,142,216,158,211,26,229,93,100,180,57,16,53,254,175,15,62,169,220,129,175,170,128,146,31,124,11,226,162,152,217,75,1,41,200,246,215,98,182,63,146,183,34,32,127,171,3,104,205,255,210,89,229,48,127,122,169,98,239, +73,71,253,54,88,247,129,65,102,217,31,199,107,192,111,11,143,29,92,223,115,127,62,92,139,121,33,0,232,140,128,189,15,116,222,41,69,99,126,154,220,33,7,131,80,0,7,38,222,134,30,87,139,98,251,101,248,228,249,96,188,242,146,140,93,10,192,108,127,4,73,129, +8,200,195,234,128,68,232,95,7,103,47,155,174,216,123,134,165,32,188,54,240,232,49,207,95,222,67,69,87,168,133,182,205,163,191,241,76,4,92,40,0,114,8,75,151,187,191,111,231,196,3,186,2,185,101,129,26,136,197,37,120,165,127,61,171,47,85,138,146,31,126, +11,132,217,51,32,30,201,172,165,0,204,246,71,144,20,137,0,21,171,3,50,117,57,128,6,61,207,93,57,3,10,20,12,253,191,59,242,34,140,120,251,64,203,201,203,252,167,243,99,236,131,222,214,250,231,6,30,207,151,107,144,203,167,27,110,255,131,93,247,4,156,145, +113,26,230,145,165,14,121,3,244,186,90,97,215,216,107,202,157,128,202,114,40,249,209,127,38,154,3,101,202,82,64,74,178,253,49,236,143,32,255,156,24,152,251,203,1,225,168,4,43,230,86,64,93,109,137,98,239,57,238,31,132,119,71,55,202,14,253,83,104,215,191, +134,103,7,110,15,185,35,145,124,185,254,242,74,0,120,38,130,142,230,77,195,191,20,100,86,4,36,68,128,30,222,28,122,70,177,57,1,20,106,100,11,191,112,45,196,125,25,176,20,144,178,108,127,180,254,8,242,33,17,112,44,39,192,148,195,213,1,172,225,15,217,151, +179,151,77,83,244,8,110,234,123,24,130,162,159,181,113,151,131,64,140,255,120,179,115,107,231,91,99,111,230,211,181,199,229,219,205,86,255,116,255,227,174,17,127,189,220,113,193,52,33,208,27,117,193,203,253,235,21,221,175,226,239,126,29,180,167,44,73, +239,172,0,236,237,143,32,105,23,1,55,170,84,29,144,110,17,64,3,156,60,167,129,11,86,205,2,157,192,43,246,190,251,39,222,97,205,218,146,241,254,53,188,38,242,254,163,61,63,137,134,164,188,186,238,242,78,0,68,2,162,248,254,35,61,63,230,181,242,191,186, +129,47,128,122,203,110,56,98,217,169,216,126,105,10,140,80,250,179,239,179,159,32,165,225,34,76,73,111,127,52,254,8,114,178,145,128,92,19,1,81,242,92,59,99,73,45,76,43,47,80,236,61,157,97,27,75,252,147,187,238,79,209,23,105,161,111,219,196,131,131,7, +44,173,249,118,205,113,249,120,163,117,189,109,218,49,124,208,250,60,173,247,148,11,141,4,208,40,128,39,226,84,108,191,180,203,22,65,201,247,190,9,241,96,56,165,199,3,179,253,17,36,3,69,64,14,85,7,208,146,191,186,105,165,176,102,65,181,162,239,75,147, +178,29,33,11,121,30,203,235,248,71,187,196,6,221,145,241,253,15,119,255,26,226,249,119,189,229,165,0,160,161,168,125,15,118,221,30,13,73,110,185,101,129,2,167,5,107,96,156,92,128,27,20,221,183,130,207,95,147,232,18,232,243,167,196,96,98,182,63,130,100, +166,8,232,200,145,217,1,180,228,175,164,64,7,23,156,50,83,209,199,0,141,194,190,63,185,141,149,104,203,118,186,140,2,52,60,55,112,135,115,216,103,207,199,107,141,203,215,155,204,210,229,30,110,121,101,248,215,186,66,249,81,0,122,225,237,159,120,27,26, +172,123,21,221,183,146,31,255,39,8,11,235,212,143,4,168,109,252,177,183,63,130,200,22,1,133,42,86,7,164,74,4,28,47,108,186,112,213,44,40,52,104,21,123,95,119,196,1,27,251,30,34,158,63,207,74,180,101,57,113,122,14,172,61,238,61,13,207,41,216,225,13,5, +64,246,112,248,241,222,251,93,163,254,38,185,249,0,244,194,227,53,28,108,236,125,144,37,6,42,118,82,74,75,160,236,127,111,1,141,65,79,211,102,85,51,254,234,133,253,247,66,7,246,246,71,144,164,249,112,78,64,246,85,7,68,201,243,235,140,197,181,48,187,186, +72,209,247,125,185,111,61,171,196,162,145,88,153,15,111,224,4,46,122,224,161,238,155,163,193,44,159,165,140,2,64,30,33,79,52,114,240,225,238,155,5,61,47,123,245,71,224,116,96,9,154,152,26,85,18,237,202,37,80,114,243,255,133,120,56,172,124,127,0,85,179, +253,137,241,223,92,143,217,254,8,162,80,36,64,237,217,1,85,37,234,136,0,186,238,191,112,70,25,172,93,84,163,236,51,198,178,19,14,78,190,3,198,36,66,255,250,2,1,58,223,26,187,191,127,143,185,33,159,175,47,46,223,111,176,174,119,199,119,13,238,183,60,154, +204,82,0,189,16,15,78,188,3,135,205,219,21,221,183,130,235,174,132,130,207,95,11,113,175,95,97,207,95,205,108,255,122,92,243,71,16,213,68,128,10,203,1,103,38,34,1,17,5,69,64,84,138,65,101,177,1,46,88,53,83,209,99,65,19,254,94,234,253,43,240,156,0,114, +31,50,196,243,135,128,51,50,176,255,161,238,59,243,253,218,202,123,1,64,231,4,236,250,99,219,207,130,174,136,73,110,135,64,122,33,210,11,242,165,222,7,193,30,154,84,116,255,74,110,185,9,244,23,156,77,68,128,47,249,239,26,142,96,182,63,130,100,187,8,80, +169,58,160,154,137,128,228,151,28,69,98,252,11,244,90,248,228,105,115,192,160,19,20,61,14,47,244,62,0,142,176,5,4,141,252,124,2,173,129,131,3,15,119,255,208,59,25,244,160,0,64,192,57,226,183,29,125,170,255,182,100,162,0,244,130,116,69,108,240,108,207, +125,228,102,85,46,100,175,209,233,152,193,54,92,124,46,196,61,222,68,203,96,57,15,16,127,0,184,242,82,40,191,231,231,152,237,143,32,217,44,2,44,199,68,128,194,145,128,171,207,170,131,89,85,197,172,85,175,220,85,71,42,32,78,204,33,40,49,40,250,253,119, +140,189,202,50,255,141,124,161,124,227,111,228,97,172,193,241,124,235,107,195,175,227,21,133,2,224,4,77,47,14,189,96,106,116,188,170,77,162,77,48,109,16,212,108,61,192,134,82,40,137,166,168,16,202,239,190,3,138,190,245,101,58,64,27,226,129,224,73,231, +5,80,175,159,182,24,214,159,125,26,84,109,184,155,253,84,220,248,99,111,127,4,73,125,36,64,225,229,0,58,152,231,42,34,2,78,91,88,195,62,135,46,9,156,172,16,160,165,126,244,223,207,169,41,129,79,159,179,0,106,202,140,138,126,239,17,111,47,188,218,255, +40,155,199,34,219,216,241,26,136,134,36,203,174,123,219,111,141,199,240,90,66,1,240,1,196,136,4,59,255,208,254,3,49,28,179,201,95,10,0,208,243,70,216,50,248,4,12,120,58,148,221,65,65,128,226,255,190,17,42,30,188,11,244,231,158,145,16,2,62,63,107,29,204, +26,249,208,208,29,221,162,34,196,67,225,196,223,145,159,218,69,117,80,118,231,109,80,241,215,187,128,159,59,75,97,227,255,193,108,127,180,254,8,146,30,17,160,92,117,128,192,105,96,221,242,233,112,237,217,243,97,254,180,18,118,91,71,162,18,91,211,167, +70,62,22,63,182,145,223,211,80,63,53,250,244,239,202,139,12,112,241,234,217,112,245,153,117,172,230,95,73,232,152,223,167,187,255,0,33,41,192,202,254,228,66,27,191,29,121,162,255,86,75,151,123,2,175,162,99,231,27,15,193,223,49,119,186,70,143,60,217,255, +147,115,191,187,228,177,176,87,222,120,94,58,139,58,34,133,225,169,174,123,224,199,167,221,15,5,66,177,162,251,168,59,117,37,84,144,45,218,209,11,225,125,135,32,210,218,5,210,132,133,24,251,196,67,128,214,245,115,213,149,160,93,186,0,244,231,156,14,250, +211,87,179,164,63,165,57,145,237,143,97,127,4,73,179,8,104,133,191,93,191,10,102,148,232,21,123,255,233,21,5,100,155,7,118,34,46,134,45,94,152,116,248,193,19,136,48,99,79,195,2,28,17,10,116,157,191,178,212,0,115,170,139,97,54,217,120,78,157,7,193,43, +253,143,64,191,187,131,60,75,229,151,18,210,134,63,99,13,142,205,245,207,244,63,131,87,15,10,128,143,165,254,233,190,199,235,206,173,190,118,218,138,178,79,71,131,242,18,98,232,196,192,81,111,31,188,216,251,87,248,230,178,159,170,178,159,218,229,139, +216,198,30,6,212,227,103,229,130,84,0,8,160,41,44,80,245,24,97,111,127,4,201,188,72,128,210,34,128,66,215,241,19,107,249,213,44,2,112,188,92,144,227,64,209,129,62,31,7,173,172,218,49,246,10,24,5,249,235,254,26,94,3,98,72,180,236,252,67,219,247,164,40, +198,254,63,228,176,226,33,248,48,98,36,70,151,2,190,151,236,82,0,189,96,247,143,111,133,221,227,91,84,223,103,218,48,136,54,15,226,202,74,82,96,252,247,98,182,63,130,100,168,8,80,178,58,224,31,161,30,190,129,124,22,221,82,97,252,39,2,35,240,124,207,253, +228,115,181,178,187,253,49,135,172,64,128,195,79,244,221,98,233,118,143,225,21,131,2,224,223,98,238,112,141,29,121,178,239,7,218,130,100,2,36,26,208,242,122,216,216,251,144,242,249,0,105,34,145,237,143,97,127,4,201,88,17,160,112,117,64,186,8,75,33,120, +162,243,247,224,139,186,65,208,200,127,14,83,227,111,106,114,188,80,255,204,192,179,120,165,160,0,56,105,14,63,222,251,220,224,62,243,179,201,148,6,210,132,149,72,44,124,226,66,206,122,227,143,189,253,17,36,59,34,1,89,46,2,54,246,61,8,189,174,22,150, +84,45,219,184,9,28,157,244,55,186,237,174,150,31,96,232,31,5,192,212,110,40,114,71,237,250,99,251,15,66,158,232,16,29,25,41,91,129,114,122,48,249,6,225,233,238,123,21,237,15,144,90,227,191,151,213,249,99,216,31,65,178,41,18,16,202,202,239,177,119,252, +13,216,101,218,156,212,186,63,133,150,116,31,120,168,235,59,246,126,175,5,175,14,20,0,83,198,57,226,183,239,190,183,253,38,65,199,199,146,49,124,244,66,62,98,222,1,111,14,61,149,149,198,159,102,251,163,231,143,32,89,36,2,88,179,160,86,48,101,89,36,160, +207,221,198,146,167,169,227,148,204,186,191,190,88,11,29,111,142,221,215,242,202,200,91,120,85,160,0,144,13,185,136,182,117,189,99,250,189,190,40,185,81,150,116,94,192,235,131,79,66,131,117,79,118,121,254,88,234,135,32,89,43,2,254,227,229,86,176,248, +35,89,177,223,174,176,13,254,214,241,91,136,198,194,192,37,81,239,47,232,121,234,188,213,239,189,191,243,103,120,53,160,0,72,154,157,247,180,253,175,173,207,187,95,48,200,191,40,53,228,80,107,52,28,60,221,245,71,24,243,245,103,252,119,110,125,249,8,51, +254,186,2,236,240,135,32,217,40,2,138,136,8,104,157,244,192,247,183,116,64,40,195,39,222,70,99,17,120,188,243,183,96,14,140,129,150,147,95,202,168,225,52,180,121,145,111,251,111,91,190,225,183,133,130,120,37,160,0,72,154,144,39,26,125,239,215,205,223, +136,137,49,135,38,137,210,64,58,47,192,39,122,224,209,142,95,131,55,234,202,216,239,59,209,58,10,77,47,30,2,45,107,239,139,214,31,65,178,149,98,189,0,187,7,29,240,199,189,131,25,189,159,47,245,61,8,109,246,195,96,16,146,43,99,214,23,9,112,228,169,254, +91,70,14,219,218,240,236,163,0,80,208,40,58,251,14,61,214,251,93,93,65,114,189,147,244,156,1,70,125,253,240,183,142,223,129,20,23,51,238,123,74,17,17,234,159,218,199,166,36,106,56,52,254,8,146,11,34,224,241,250,49,104,24,207,204,225,119,219,70,55,178, +65,63,201,38,253,209,138,173,161,131,214,167,223,127,164,231,17,60,235,40,0,20,231,200,147,125,47,246,238,152,120,32,153,210,64,10,157,102,213,100,219,207,198,7,103,26,131,123,187,193,222,103,6,65,143,77,34,17,36,39,30,242,68,199,135,197,24,252,245,253, +225,140,219,183,102,242,28,220,212,191,158,56,70,201,37,253,241,90,14,124,214,80,251,123,119,181,96,183,63,20,0,234,64,39,72,189,123,103,243,143,236,3,190,131,201,228,3,48,17,64,212,238,182,177,77,240,222,232,75,153,243,253,164,24,244,110,107,7,142,231, +241,100,35,72,14,81,160,229,97,239,160,19,186,172,254,140,217,39,58,225,239,111,157,191,103,9,11,201,36,253,209,72,37,39,112,254,237,191,107,253,170,199,20,240,224,217,70,1,160,26,97,111,52,252,222,175,155,191,34,69,98,214,100,90,5,83,181,75,151,3,54, +245,173,135,122,235,238,140,248,110,206,17,59,56,134,108,192,235,208,251,71,144,92,139,2,248,34,34,108,235,179,101,196,254,56,66,22,88,223,254,75,8,136,94,16,184,228,42,172,104,68,246,224,134,238,239,13,236,49,55,226,153,70,1,160,58,19,173,206,129,125, +127,233,252,166,96,224,227,201,228,200,81,213,75,43,3,158,236,188,27,122,221,173,105,255,94,214,158,73,16,67,81,204,250,71,144,28,132,142,250,61,58,150,254,142,164,65,209,15,27,218,239,4,115,96,20,116,156,252,78,127,52,114,64,235,253,123,119,76,60,120, +232,241,222,39,240,12,163,0,72,25,77,47,13,189,217,242,202,240,255,232,146,236,15,64,251,92,211,190,215,27,218,126,201,134,95,164,19,247,152,3,79,44,130,228,176,0,24,243,132,210,90,18,72,19,159,105,185,31,109,243,107,224,11,18,86,92,38,218,2,30,108,253, +222,125,59,126,223,118,75,150,54,89,69,1,144,205,236,190,183,227,215,163,71,237,155,244,73,38,5,210,186,87,218,4,227,225,214,255,97,63,211,69,216,19,196,204,127,4,201,213,135,189,70,3,254,136,4,193,168,148,182,125,120,182,251,62,168,183,236,78,58,227, +159,23,56,136,248,37,211,187,191,108,250,178,223,22,10,227,217,69,1,144,114,196,176,4,239,252,162,233,91,238,137,96,179,160,79,230,80,198,217,208,11,147,127,16,30,110,251,5,4,68,95,90,190,79,28,147,103,17,36,167,137,39,229,115,39,199,171,3,143,192,110, +211,102,40,16,138,146,122,31,186,236,202,235,184,200,206,63,180,253,159,201,118,215,40,158,85,20,0,105,195,51,17,112,191,251,171,230,47,74,209,184,45,153,161,65,20,26,18,163,161,177,71,219,127,197,166,8,166,26,193,40,64,60,142,177,52,4,201,73,227,31, +167,209,70,13,232,210,16,229,123,103,228,69,120,115,232,25,48,36,233,249,179,231,100,137,142,54,251,249,126,231,91,99,187,241,172,162,0,72,59,163,71,108,93,251,254,210,249,53,94,203,75,201,54,206,163,161,177,38,219,1,54,66,56,22,79,109,168,174,168,166, +20,112,45,13,65,114,19,137,40,128,234,66,29,20,166,184,199,199,158,241,55,224,229,190,135,137,240,48,36,85,235,207,140,63,29,242,179,117,236,190,131,235,187,215,227,25,69,1,144,49,52,189,52,180,181,225,249,129,155,13,165,186,164,223,139,134,200,222,159, +124,15,158,233,254,19,164,210,34,87,45,172,5,13,143,151,4,130,228,34,81,41,6,43,107,139,83,90,228,115,216,188,13,158,35,207,49,158,211,2,167,73,238,217,66,199,251,78,116,184,222,216,241,251,214,219,176,217,15,10,128,140,99,223,95,187,30,104,127,125,244, +207,180,31,181,18,34,128,206,196,166,163,49,83,69,245,226,90,40,170,46,134,152,136,55,23,130,228,26,60,199,193,69,11,42,83,246,121,116,242,233,19,93,247,176,82,103,94,147,92,115,49,58,225,47,232,138,180,188,249,211,250,175,134,220,105,204,98,68,1,128, +124,28,49,162,74,183,255,182,245,150,201,118,215,230,100,103,6,80,232,114,192,187,35,47,178,65,25,169,128,142,253,157,123,206,66,16,195,81,60,153,8,146,67,208,210,191,101,213,133,112,206,156,178,148,124,30,29,236,243,88,199,93,16,139,199,136,241,79,238, +89,72,219,252,70,2,226,196,27,63,173,191,222,109,10,184,240,108,162,0,200,88,200,133,26,219,114,219,209,175,186,70,253,135,105,200,42,25,232,122,25,77,154,121,103,248,5,216,60,240,120,74,246,127,233,149,171,193,88,94,8,49,9,163,0,8,146,51,207,37,114, +63,127,235,204,217,228,121,162,254,35,191,205,113,24,214,183,255,2,164,152,200,250,156,36,245,12,228,52,52,227,63,176,231,190,142,207,155,26,29,125,120,38,81,0,100,60,62,107,200,251,206,157,205,55,132,189,209,1,170,94,147,23,1,5,176,101,240,137,148,136, +128,194,234,98,88,245,185,51,18,29,1,17,4,201,122,188,97,9,46,93,88,5,215,173,168,77,137,231,191,190,245,23,16,149,34,73,183,248,165,9,213,196,137,138,239,188,167,237,27,237,175,143,238,195,51,137,2,32,107,24,111,118,140,190,241,211,250,235,136,253,182, +39,51,51,224,67,34,96,40,53,34,96,217,149,171,97,193,249,75,33,226,199,254,26,8,146,173,208,167,78,32,42,193,156,50,3,220,117,217,98,224,53,234,166,255,29,247,252,163,177,228,141,63,133,182,249,109,121,121,248,135,77,47,13,109,196,179,137,2,32,235,24, +61,106,111,222,125,111,251,231,121,29,31,212,40,33,2,248,2,120,125,232,73,216,212,247,176,202,79,14,13,156,253,159,151,192,172,181,117,40,2,16,36,75,241,19,227,95,83,168,131,245,159,89,9,179,74,13,42,123,254,135,96,125,219,47,21,241,252,41,116,192,15, +49,254,119,237,184,187,237,126,60,147,40,0,178,150,230,77,195,59,118,254,161,237,27,188,150,139,37,219,102,151,77,16,228,141,176,117,248,89,213,171,3,180,70,45,92,248,163,79,193,194,139,150,65,36,16,134,120,12,27,4,32,72,182,64,195,254,75,170,10,225, +169,207,175,134,85,211,139,85,253,44,154,237,255,80,219,255,18,207,63,172,152,231,63,124,200,246,200,182,187,90,254,31,62,119,80,0,100,191,8,216,56,244,82,253,51,3,223,165,77,44,146,45,194,61,158,24,248,238,200,11,240,116,247,31,33,14,234,37,235,9,6, +45,124,226,7,151,195,25,95,63,143,117,8,148,34,88,125,131,32,153,76,140,220,167,158,176,8,87,47,173,134,23,190,116,42,44,175,41,82,245,243,14,153,183,193,163,29,191,97,67,126,4,141,50,158,255,120,179,99,211,219,255,211,248,159,216,148,20,5,64,206,176, +255,161,174,245,205,155,134,126,202,68,64,146,28,23,1,187,198,94,131,199,59,126,11,98,44,162,234,190,175,248,204,90,184,248,167,215,64,65,101,17,68,131,17,60,153,8,146,97,80,191,34,44,198,128,22,239,220,126,193,2,88,255,217,149,80,89,160,85,245,51,247, +140,191,14,127,235,248,29,113,14,98,202,24,255,2,129,142,90,127,119,243,173,71,190,22,112,132,209,219,64,1,144,59,196,165,56,108,187,171,245,247,45,47,15,255,198,80,162,76,36,192,40,20,193,254,137,183,217,218,91,72,10,168,186,255,51,214,204,129,203,127, +117,253,137,188,0,12,205,33,72,230,224,33,246,114,122,137,30,30,189,254,20,248,239,117,115,85,255,188,119,70,94,128,103,186,238,101,221,253,146,173,243,63,110,252,29,67,190,3,91,110,61,250,185,160,51,18,196,51,138,2,32,247,68,64,156,137,128,59,90,94, +25,254,179,18,141,130,40,180,99,96,131,117,47,252,165,229,103,224,137,56,84,221,127,218,37,240,226,219,175,129,83,191,116,14,19,0,82,68,196,147,138,32,105,68,138,197,153,241,191,124,113,21,108,250,242,169,112,209,252,10,213,63,243,149,129,71,96,99,223, +67,32,112,58,34,0,248,164,223,143,118,249,11,56,195,245,239,252,162,233,51,228,167,7,207,42,10,128,220,22,1,191,105,249,225,240,251,214,13,74,44,7,80,104,199,192,46,103,35,252,169,249,199,96,14,142,169,186,255,52,145,113,245,23,206,34,66,224,106,40,174, +45,133,72,0,151,4,16,36,29,4,163,49,208,104,52,240,255,46,156,15,143,17,207,127,70,137,186,153,254,116,157,255,169,174,63,192,27,131,79,177,100,228,100,123,251,31,55,254,33,79,164,117,243,173,71,62,61,217,225,178,226,89,69,1,144,7,34,0,224,237,255,109, +250,142,169,217,241,152,174,72,153,72,0,45,17,28,245,246,193,125,141,183,193,160,167,83,245,239,48,99,205,92,184,252,215,55,192,130,243,151,64,52,24,197,249,1,8,146,194,231,7,77,244,91,82,93,8,207,124,97,53,252,215,57,115,85,31,240,19,20,125,240,112, +219,47,216,124,18,26,117,212,40,240,137,204,248,187,35,237,196,248,127,106,178,205,101,194,51,139,2,32,111,8,56,194,113,114,225,127,107,162,197,249,24,205,124,85,74,4,216,195,22,248,115,243,79,160,217,118,64,245,239,96,44,43,128,243,110,190,2,214,125, +247,18,208,21,234,48,65,16,65,84,38,44,197,32,68,182,111,172,157,197,66,254,103,206,42,85,253,51,237,33,51,121,166,252,20,26,44,187,153,241,87,130,99,158,127,223,230,219,142,92,75,140,255,24,158,89,20,0,121,71,208,25,1,34,2,110,154,104,117,62,166,47, +82,98,57,32,14,58,78,15,33,49,192,212,250,110,211,150,148,124,143,69,151,174,128,203,127,117,3,204,60,117,30,68,3,17,156,35,128,32,74,123,253,64,107,251,69,152,81,108,128,245,159,89,193,58,251,149,24,4,213,63,119,216,219,13,127,106,186,21,250,220,173, +44,233,88,17,227,111,96,158,127,31,121,246,93,73,140,255,0,158,93,20,0,249,44,2,226,91,110,61,122,211,120,139,67,33,17,0,172,25,7,13,208,61,211,125,47,188,220,191,158,60,60,212,207,216,47,157,89,14,151,222,241,105,56,227,155,231,131,160,19,216,178,0, +130,32,201,67,7,249,208,245,254,207,175,154,14,175,126,229,52,184,98,113,117,74,62,183,201,182,15,238,107,250,17,88,130,38,48,240,133,202,121,254,238,72,219,230,219,142,94,65,140,63,14,247,65,1,128,4,156,97,34,2,142,220,52,214,104,87,44,39,128,102,231, +234,120,3,188,53,244,12,108,104,187,19,2,162,79,253,47,66,84,199,242,107,79,133,203,239,188,30,102,174,153,131,209,0,4,73,198,235,143,39,188,254,233,197,122,248,235,181,203,225,79,87,45,131,154,34,93,74,62,251,189,209,151,224,225,182,95,66,80,12,128, +142,51,28,139,65,40,96,252,19,9,127,196,243,119,246,227,25,70,1,128,156,16,1,145,248,43,223,123,255,91,109,175,141,254,89,169,234,128,227,189,2,14,155,183,49,37,111,14,140,166,228,187,148,207,171,130,75,127,254,105,56,235,166,11,65,87,160,99,66,0,176, +109,0,130,156,52,33,49,198,214,251,255,207,154,153,240,234,87,215,194,53,203,106,82,242,185,98,44,10,207,246,252,137,181,26,231,200,243,67,137,214,190,20,109,129,64,141,255,209,99,9,127,184,230,143,2,0,249,167,155,47,28,131,109,191,105,254,97,203,43, +195,191,99,205,130,20,130,138,0,90,25,240,135,198,91,216,208,142,148,160,209,192,210,79,173,134,43,126,243,57,152,119,238,98,16,35,81,144,162,216,220,11,65,254,21,137,186,126,17,22,87,21,178,210,190,187,175,92,194,6,250,164,2,71,216,10,247,55,255,20, +182,143,190,114,172,204,143,87,228,125,89,147,159,65,239,62,52,254,40,0,144,127,3,13,251,189,119,87,203,237,68,4,252,92,137,217,1,199,161,55,52,109,20,244,215,214,59,88,120,47,85,148,76,47,131,11,110,187,18,46,184,229,74,40,158,86,138,93,4,17,228,163, +238,123,178,249,35,18,104,121,14,110,62,183,14,94,249,202,105,112,201,130,202,148,125,126,175,171,5,254,216,120,51,116,56,143,42,86,230,199,140,127,161,0,19,109,206,119,55,126,231,224,213,196,248,99,157,127,134,33,224,33,200,204,167,193,182,223,180,252, +154,136,1,247,170,235,230,222,31,241,139,138,24,77,45,167,131,88,92,130,23,122,255,2,38,223,32,124,113,209,247,216,76,129,84,48,119,221,34,152,182,106,54,180,191,90,15,93,239,180,178,101,1,58,113,16,65,242,29,218,195,95,36,55,251,165,11,171,224,182,243, +234,96,69,109,81,74,63,159,86,11,209,206,126,116,154,31,45,37,86,10,58,213,143,14,246,161,189,253,177,189,47,10,0,100,138,145,0,34,2,30,112,12,120,29,231,255,112,249,99,98,36,166,167,243,4,146,133,134,245,140,124,33,236,25,127,3,76,254,65,248,198,178, +31,195,204,194,249,41,249,78,250,34,3,156,246,213,115,97,238,185,139,160,249,133,67,48,86,63,200,58,11,242,58,188,12,145,252,67,36,162,62,16,149,88,67,159,31,174,171,131,79,47,175,73,233,231,135,165,32,188,212,247,32,19,0,90,78,207,54,69,208,36,194,254, +195,7,45,27,182,254,188,233,187,196,248,227,218,95,134,130,75,0,25,78,195,243,131,207,238,252,67,251,117,130,158,119,241,130,114,167,139,134,249,134,60,93,240,199,134,155,225,176,121,123,74,191,83,229,252,26,184,248,103,215,192,249,183,94,9,101,179,43, +33,26,8,99,39,65,36,111,136,29,203,238,47,212,241,240,163,243,231,195,230,175,174,77,185,241,31,39,226,255,222,166,219,96,231,216,107,108,121,144,87,104,189,95,67,140,63,93,186,108,123,109,228,174,87,126,112,248,219,1,39,78,245,195,8,0,146,20,205,27, +135,222,242,154,131,87,92,118,199,234,141,250,18,237,108,49,164,204,61,69,111,252,160,228,135,71,219,127,13,3,158,78,184,126,193,77,202,121,1,39,193,188,117,139,96,214,105,243,160,251,237,22,232,120,179,9,2,54,47,8,6,29,139,10,32,72,174,65,227,119,1, +226,12,235,137,144,255,194,170,25,108,106,95,93,185,49,229,251,241,190,249,61,120,177,231,175,224,139,186,20,235,236,199,140,63,185,111,181,70,62,222,180,113,248,230,29,191,107,249,115,28,83,125,80,0,32,202,48,176,199,124,232,245,159,28,189,232,83,191, +62,109,83,97,165,126,77,84,33,17,192,107,180,192,241,2,188,59,242,34,235,250,245,149,197,55,195,204,162,249,169,187,0,13,90,88,241,153,181,48,239,19,139,161,227,245,70,232,219,209,1,17,95,24,4,163,150,13,58,65,144,92,128,54,242,161,92,180,160,18,254, +251,156,185,112,70,10,90,248,254,35,52,228,255,114,255,6,230,245,243,156,192,28,0,165,224,181,28,221,252,59,239,105,187,177,233,165,161,151,240,140,103,7,184,4,144,69,152,26,29,253,47,126,107,255,165,214,94,207,219,74,150,9,210,140,95,234,9,244,185,90, +225,15,141,55,195,190,137,183,82,254,221,10,171,138,89,23,193,43,127,243,57,88,120,209,50,230,46,177,110,130,232,70,32,89,12,173,231,167,217,253,167,205,44,129,71,174,91,9,79,125,110,85,90,140,255,144,183,139,221,219,219,70,55,129,142,215,131,160,81, +206,247,163,13,126,196,144,100,122,239,55,205,87,162,241,71,1,128,168,136,103,34,104,223,124,203,145,79,15,236,53,111,160,173,131,149,116,146,169,71,16,146,2,240,68,231,221,240,120,231,111,193,27,117,165,252,251,149,205,169,132,115,191,127,25,92,246, +203,235,96,238,217,11,32,38,197,201,195,37,138,141,132,144,172,130,102,246,123,195,18,44,175,41,130,63,95,179,140,13,238,185,108,81,85,90,246,133,26,253,123,27,111,133,33,79,183,162,37,126,20,173,129,117,247,107,220,114,219,145,139,219,54,143,238,197, +51,159,93,224,18,64,22,226,179,134,34,175,221,114,228,219,151,252,244,148,193,149,215,206,249,173,68,60,140,152,164,140,133,228,137,103,192,243,60,236,31,223,10,3,238,14,248,226,162,255,134,149,149,103,166,252,59,86,47,158,6,23,254,248,42,48,119,152, +160,125,115,3,152,26,135,89,91,97,173,94,0,192,165,1,36,131,61,126,154,221,79,13,255,55,215,206,130,235,86,214,18,97,157,30,63,203,30,154,132,23,123,255,2,245,214,61,172,157,175,158,55,40,250,254,180,204,207,220,238,218,242,214,29,13,223,112,142,248, +157,120,246,81,0,32,41,130,150,4,110,251,77,203,239,156,195,190,254,79,252,215,178,71,52,92,188,84,138,42,149,73,79,91,8,23,130,53,56,14,127,105,253,25,92,50,235,122,184,182,238,27,138,174,25,158,44,181,203,103,178,109,178,109,12,58,223,106,6,83,195, +16,72,145,40,8,122,45,38,11,34,25,101,248,105,23,191,149,211,138,225,171,167,206,128,207,46,159,6,70,109,250,2,172,135,204,219,96,83,223,122,112,134,45,172,236,87,73,88,166,127,137,14,58,182,142,221,183,235,158,182,219,2,88,230,135,2,0,73,15,245,207, +12,108,116,12,250,6,47,251,249,234,103,140,101,186,37,74,37,7,82,104,227,160,56,196,224,237,225,231,160,203,217,0,95,88,244,61,88,92,182,58,45,223,115,218,202,89,108,51,119,142,67,247,214,102,24,171,31,98,205,132,4,131,64,132,0,174,100,33,105,16,225, +113,128,160,152,184,223,78,155,81,202,12,63,237,217,175,227,211,119,61,186,194,54,120,165,127,3,28,156,124,143,149,246,41,217,216,135,194,9,28,240,58,46,124,232,241,222,31,238,251,107,215,195,216,213,19,5,0,146,102,6,247,91,142,190,120,211,129,11,174, +249,253,218,191,85,47,41,189,50,236,83,110,205,92,3,28,155,37,48,234,235,131,63,55,255,24,46,153,117,3,92,53,239,43,105,137,6,176,136,192,178,25,108,115,12,88,161,251,221,86,24,121,191,31,130,110,63,8,58,45,123,56,33,136,218,72,196,242,211,172,126,26, +218,63,191,174,2,190,186,102,38,92,186,176,18,248,52,71,164,14,91,118,192,43,125,27,88,228,206,32,20,40,186,214,207,28,2,35,15,17,191,56,178,253,119,45,223,232,120,99,108,39,94,9,40,0,144,12,193,53,234,55,111,250,238,251,215,92,120,219,138,223,45,189, +124,230,109,180,87,128,82,121,1,20,186,134,24,139,199,224,141,161,167,160,221,113,4,110,88,248,29,88,86,126,90,218,190,111,197,252,106,56,231,59,23,195,202,207,172,133,254,157,157,48,176,183,27,188,19,174,132,135,162,21,0,112,117,0,81,152,40,185,159, +66,196,227,47,51,106,225,138,197,213,240,21,98,248,207,154,93,154,246,253,114,132,204,196,235,127,4,14,89,182,3,79,126,25,85,104,239,77,215,251,109,253,222,221,219,126,221,252,245,241,22,231,48,94,13,40,0,144,12,35,232,138,72,91,239,104,252,145,189,207, +219,124,246,77,139,255,194,243,154,82,41,162,92,135,61,78,195,177,44,226,68,52,224,39,112,193,204,107,224,154,121,95,131,34,109,89,218,190,51,29,48,180,230,75,103,195,242,107,214,192,208,129,94,38,6,108,125,22,34,126,36,204,19,64,146,134,134,249,143, +175,239,207,45,55,192,213,75,107,224,115,167,76,135,133,149,5,25,177,127,123,199,223,132,45,131,79,48,17,160,134,215,79,239,31,218,214,183,111,231,228,95,119,220,221,122,171,207,18,10,227,85,129,2,0,201,96,14,63,209,247,140,109,192,219,126,233,237,171, +254,86,88,165,95,77,135,9,41,137,142,211,179,220,128,109,35,155,160,221,126,24,62,61,255,70,56,163,230,226,180,126,103,93,145,1,22,95,118,10,44,186,116,37,76,180,140,66,255,174,78,24,111,26,134,144,59,8,156,150,248,69,90,62,63,47,6,77,90,94,154,245,208, +76,254,96,84,34,70,149,103,117,251,55,172,156,198,188,254,50,99,102,60,50,169,8,127,149,120,253,45,246,247,65,224,116,170,120,253,188,142,3,142,215,120,15,172,239,254,225,161,199,122,30,143,99,183,110,20,0,72,118,48,176,199,220,184,113,232,192,5,151, +220,190,234,254,57,103,86,125,77,169,137,130,127,55,14,28,123,232,216,130,19,176,161,237,78,56,90,189,11,62,51,255,63,96,122,225,220,244,218,59,226,177,204,88,51,135,109,222,73,55,139,10,12,147,205,57,108,99,101,132,130,78,0,13,159,39,185,2,196,125,165, +3,152,228,82,162,23,242,170,226,146,222,30,97,81,2,186,114,54,163,88,15,151,18,79,255,51,43,106,225,204,89,165,25,179,143,180,79,199,59,35,47,192,246,209,151,33,32,250,20,79,242,59,33,168,11,5,32,222,126,203,206,63,180,221,72,188,255,122,124,162,162, +0,64,178,12,231,136,223,253,234,15,14,125,125,221,119,150,28,90,251,229,249,247,196,98,241,2,37,151,4,216,5,68,188,15,1,226,80,111,221,13,93,174,70,184,116,246,13,240,201,217,159,83,237,193,52,21,232,242,192,41,215,157,14,43,174,61,149,69,5,134,246,245, +194,120,243,48,4,28,126,34,2,52,44,87,32,167,151,8,136,33,43,154,38,223,120,213,18,35,104,16,56,22,6,207,85,33,64,37,113,68,140,65,132,136,195,34,34,120,214,205,45,135,107,151,213,178,164,190,234,66,93,70,237,107,3,185,199,104,184,127,212,219,199,146, +112,213,184,199,232,253,160,47,18,96,232,160,245,201,237,191,107,253,129,107,212,239,198,39,41,10,0,36,75,161,6,127,239,253,157,15,78,182,187,234,47,188,121,197,250,162,90,131,226,75,2,52,30,64,31,70,81,41,12,175,245,63,10,245,150,221,112,205,188,175, +195,218,154,11,50,226,24,112,2,15,51,79,155,199,182,128,221,199,74,8,135,15,246,129,173,119,18,34,254,48,75,28,164,203,4,185,54,123,128,126,167,202,186,106,217,175,159,87,110,132,154,34,61,76,120,195,160,205,161,99,67,141,62,77,232,163,222,190,142,156, +251,197,213,133,240,201,133,85,112,229,146,106,88,81,83,148,113,251,59,234,235,135,215,137,225,111,178,238,35,215,104,162,42,71,13,88,200,159,211,120,15,61,222,123,219,193,13,61,27,148,118,22,16,20,0,72,154,232,221,62,113,104,178,205,121,254,197,63,57, +229,158,5,23,76,251,191,209,128,168,104,149,0,51,56,26,158,61,156,38,252,195,240,112,251,47,96,213,228,57,44,73,112,94,201,210,140,57,14,5,149,69,176,248,178,149,108,115,141,218,97,244,200,32,17,4,131,172,172,48,26,140,228,140,24,160,227,149,139,170, +139,161,124,158,124,1,80,164,227,225,212,233,37,48,228,52,131,86,151,221,57,20,39,140,62,237,38,73,188,220,185,101,70,184,96,126,5,92,177,168,10,78,159,85,154,214,218,253,143,195,19,113,194,123,163,47,193,110,211,150,99,225,126,35,168,149,153,65,179, +252,157,35,190,195,59,239,110,251,54,241,254,155,240,137,137,2,0,201,49,188,230,144,103,243,45,71,190,125,214,127,44,218,117,198,215,23,222,167,53,242,53,209,160,242,77,188,104,3,33,250,200,109,182,237,135,110,103,3,172,155,126,37,92,62,231,139,80,105, +168,205,168,227,81,54,187,146,109,116,153,192,222,111,97,93,6,105,203,97,154,47,64,155,12,209,92,1,154,60,152,141,203,4,98,88,132,89,107,235,64,107,76,110,104,20,157,83,255,90,135,57,59,141,62,177,250,52,180,79,55,106,224,231,150,27,97,221,156,114,214, +147,159,26,253,162,12,21,53,98,44,10,123,39,222,100,19,58,45,1,147,106,225,126,38,218,137,224,165,253,252,59,223,28,187,119,239,3,157,63,247,89,67,1,124,82,162,0,64,114,152,67,143,245,62,63,114,216,118,248,194,91,87,60,48,99,85,249,149,97,175,72,30,150, +74,119,244,74,44,11,208,222,1,52,97,169,193,178,7,46,158,245,89,184,112,214,103,20,157,65,174,20,149,11,106,216,182,234,115,103,130,99,200,6,19,45,35,48,78,196,128,99,208,10,33,79,144,125,31,42,6,56,234,41,102,184,30,160,201,158,250,34,61,44,190,252, +148,164,223,235,130,186,10,56,117,70,9,52,79,120,192,152,5,149,20,180,92,143,122,249,244,103,161,78,128,165,53,69,112,238,220,114,184,136,120,251,107,166,151,144,63,203,236,239,208,96,221,3,91,135,159,99,115,56,180,42,101,247,31,135,150,247,5,221,145, +161,189,127,238,248,126,211,198,161,215,241,201,152,127,104,226,105,26,183,26,137,68,96,201,146,37,48,52,52,132,103,33,77,208,100,159,117,223,89,114,203,170,235,230,253,138,78,4,22,195,234,181,244,150,226,34,241,196,194,48,163,112,46,92,58,251,115,176, +110,250,229,228,1,167,207,130,168,137,27,44,29,227,48,78,4,129,173,199,12,126,155,7,232,240,37,22,29,32,222,83,38,86,20,68,124,97,88,249,217,181,112,250,55,206,83,228,253,118,15,58,224,107,27,91,88,231,187,76,11,134,196,200,243,139,134,246,169,151,79, +59,241,85,21,232,96,101,109,17,75,230,163,134,159,10,0,109,22,68,112,104,171,109,106,248,59,28,245,108,249,73,167,226,189,193,241,26,208,18,227,111,106,180,63,183,243,158,182,91,45,221,158,73,124,26,166,143,13,27,54,192,77,55,221,132,2,0,73,15,243,214, +213,156,122,254,15,150,61,80,181,176,228,220,136,79,141,104,192,223,161,225,205,104,60,2,243,138,151,194,101,115,62,199,250,7,208,220,129,108,128,46,11,56,134,172,108,48,17,157,73,224,26,177,179,62,3,113,98,124,50,69,16,68,67,81,150,248,119,217,157,215, +17,15,79,57,35,242,203,237,125,240,208,161,17,40,51,164,55,104,120,220,224,71,143,149,180,210,82,197,186,10,35,235,197,127,206,156,50,22,173,152,94,172,207,154,123,143,122,250,239,142,190,8,77,214,253,76,36,39,38,246,169,39,88,104,59,223,104,72,154,60, +250,84,255,79,142,60,217,255,20,205,21,65,80,0,160,0,200,247,104,64,177,86,183,238,255,46,254,241,170,235,231,254,140,184,32,70,53,163,1,204,80,197,194,108,121,96,126,233,10,184,116,246,245,176,182,250,66,214,105,48,155,160,21,5,116,137,128,138,1,123, +159,25,220,99,78,8,121,2,32,145,135,42,71,188,78,238,152,32,72,85,66,161,72,140,127,97,117,49,92,122,199,167,161,116,86,133,178,247,43,17,57,255,181,185,3,222,232,178,64,105,138,68,0,125,52,73,199,12,190,24,35,199,148,28,71,250,217,115,202,140,112,202, +180,98,214,160,135,134,245,235,202,141,105,239,195,63,85,70,188,61,196,240,191,196,150,198,34,228,94,160,235,252,26,21,13,255,9,175,191,193,254,202,238,251,58,110,157,108,119,225,131,23,5,0,10,0,228,159,162,1,167,159,255,253,101,127,172,90,84,114,190, +210,205,131,62,242,58,32,15,191,248,9,33,112,3,17,2,231,103,77,68,224,159,4,129,195,207,162,2,54,34,6,236,3,22,112,143,58,200,159,249,152,87,78,187,204,208,222,3,52,135,128,78,47,84,52,177,144,38,187,5,195,80,54,171,18,46,184,237,83,80,62,183,82,149, +239,71,59,227,221,250,86,23,188,218,110,102,9,116,74,26,221,227,198,158,118,224,163,27,253,127,131,150,131,170,2,45,204,43,47,96,97,125,234,221,175,168,45,134,57,165,134,172,51,248,31,52,252,219,198,18,57,49,180,169,143,218,134,63,225,245,11,228,26,20, +39,234,159,238,255,201,225,39,250,159,70,175,31,5,0,10,0,228,95,69,3,248,117,223,94,124,243,170,235,230,222,65,172,113,169,24,82,127,220,247,7,133,0,77,22,92,91,125,1,8,156,54,171,143,35,245,200,125,22,15,56,137,40,160,101,134,180,236,144,118,39,12,186, +252,16,13,70,217,210,1,125,246,127,80,20,76,73,24,144,91,87,140,136,204,122,206,57,123,33,156,245,173,11,192,88,94,168,234,119,162,79,139,251,15,12,195,67,135,134,193,75,174,139,2,29,7,252,20,34,28,84,79,210,48,190,116,204,208,211,223,83,207,222,72,140, +125,185,81,203,188,251,69,149,133,176,172,166,136,108,133,196,187,47,128,202,2,109,214,223,83,253,158,118,150,12,219,98,59,64,12,127,16,244,156,129,213,244,171,9,39,104,64,208,243,96,106,114,60,179,231,79,29,183,79,118,184,198,240,233,134,2,0,5,0,114, +82,204,60,181,114,217,39,190,183,244,247,51,215,84,92,163,70,223,128,143,19,2,177,184,4,115,139,23,195,5,51,175,101,57,2,106,102,66,167,26,26,13,8,218,125,224,153,116,129,107,196,1,158,113,39,75,52,164,203,9,33,111,8,196,96,132,181,44,102,150,86,147, +16,4,116,57,225,120,43,62,122,191,198,99,177,19,109,141,171,22,77,131,101,87,175,129,185,68,0,164,146,118,179,15,30,62,60,2,59,251,137,184,33,98,134,138,0,129,238,43,221,79,77,66,41,80,143,254,184,177,167,80,175,157,86,18,148,234,5,214,101,112,22,241, +228,23,84,20,16,131,95,0,117,228,231,172,18,3,84,228,128,177,255,32,29,142,163,176,211,244,26,155,153,145,8,245,27,88,27,109,117,159,234,199,50,252,157,145,158,131,143,244,252,164,245,149,225,215,82,113,239,34,40,0,80,0,228,24,212,131,56,253,107,11,190, +118,218,151,234,238,212,23,107,231,70,2,98,194,56,169,109,40,99,17,98,64,162,48,173,96,46,156,59,253,74,56,103,218,101,80,166,175,202,217,227,28,9,132,33,228,10,130,223,230,5,159,213,3,126,139,135,252,244,38,132,129,39,200,234,250,169,93,229,137,241, +44,172,44,130,202,133,181,48,99,205,92,168,89,58,61,173,251,61,224,8,176,42,129,35,99,110,24,38,251,239,9,137,236,242,160,98,128,122,244,53,133,58,152,73,12,253,76,98,220,231,150,25,96,6,249,89,91,164,135,10,242,119,185,218,94,152,94,187,180,107,223, +238,241,215,161,215,213,66,174,99,233,152,225,215,164,228,126,229,120,77,164,115,171,233,254,131,27,186,239,114,155,2,78,124,138,161,0,64,1,128,36,69,213,130,226,234,115,190,189,248,127,23,92,56,253,59,113,41,198,139,225,212,172,35,178,170,1,242,64,45, +55,84,195,233,53,23,50,49,48,187,104,97,94,29,123,41,34,130,36,74,204,124,112,90,33,99,39,27,82,143,63,16,137,17,1,16,103,17,129,66,93,126,77,96,244,68,28,112,200,188,29,14,78,190,195,250,245,83,131,175,229,245,41,49,252,199,147,252,172,61,158,157,196, +240,255,180,111,231,228,97,124,106,161,0,64,1,128,40,202,162,139,167,175,35,66,224,174,170,5,37,23,68,137,183,23,19,83,115,253,80,47,42,34,133,216,114,192,242,138,51,224,19,68,8,172,168,60,131,24,26,236,101,133,164,23,58,154,247,224,196,59,112,212,178, +27,236,161,73,150,187,146,232,134,153,138,39,120,34,220,31,114,71,71,27,95,28,252,101,195,115,3,143,71,252,34,198,251,81,0,156,20,248,244,68,166,68,239,142,137,3,195,135,172,23,157,254,149,5,223,92,117,195,220,255,49,150,233,230,210,118,194,106,87,11, +240,108,206,64,33,241,45,99,208,104,221,3,77,182,125,48,167,104,17,156,53,237,18,86,66,88,97,168,193,147,131,164,206,129,33,98,180,213,126,136,121,251,93,206,70,8,138,126,208,17,111,63,149,249,42,130,129,167,249,33,225,222,237,19,15,30,220,208,243,59, +251,128,215,130,103,6,65,1,128,168,251,240,35,30,198,129,245,221,143,183,191,62,186,101,221,119,150,220,182,240,226,105,223,19,244,124,161,26,115,5,254,217,225,225,88,233,212,113,207,107,176,167,19,222,30,126,1,78,169,60,155,136,129,75,97,113,217,106, +38,22,16,68,13,198,253,67,112,196,178,19,26,136,183,63,238,31,6,154,16,147,106,195,79,167,246,209,181,254,137,22,199,235,71,158,232,255,69,223,238,201,6,60,51,136,172,231,41,46,1,32,201,50,235,180,202,229,68,8,252,124,198,234,138,47,210,210,54,49,197, +99,68,105,213,0,205,176,22,52,2,204,46,94,8,107,107,46,132,211,170,206,131,154,130,89,120,114,144,164,241,139,94,104,35,222,254,17,243,14,232,113,53,131,63,234,101,33,254,84,151,169,210,178,62,26,238,183,15,250,26,27,95,24,252,69,251,150,145,45,169,202, +197,65,212,3,115,0,144,156,96,197,53,179,47,62,253,107,11,126,94,89,87,124,33,237,36,40,69,83,251,112,162,201,103,52,105,144,110,197,186,82,88,84,182,10,78,175,185,8,150,87,156,14,197,218,50,60,65,200,73,35,198,69,232,119,181,194,81,235,110,102,252,173, +193,9,150,202,71,123,244,107,82,220,177,146,150,130,234,10,120,240,217,194,67,29,111,140,221,93,255,108,255,99,65,39,121,128,34,40,0,146,4,151,0,16,197,104,127,125,116,71,239,246,137,29,203,175,154,245,185,83,191,84,119,123,197,188,162,83,105,217,96, +170,18,5,89,214,53,241,204,232,22,145,34,172,191,122,163,117,31,27,67,76,69,192,169,213,231,193,162,210,85,57,213,87,0,81,86,64,14,123,186,161,201,182,31,90,236,239,195,184,111,144,85,160,208,16,191,225,216,178,83,170,13,63,235,221,31,148,108,29,111, +154,30,56,248,72,207,95,220,99,126,7,158,41,4,5,0,146,145,80,131,223,180,113,104,99,207,246,137,45,167,125,185,238,235,203,175,158,125,107,81,181,97,113,52,152,58,33,64,161,115,5,142,231,10,120,34,78,216,59,254,38,236,159,120,27,170,13,51,136,24,88,11, +171,170,214,193,162,178,83,84,155,179,142,100,7,116,30,133,201,63,0,45,182,131,208,74,140,254,136,183,15,194,82,144,133,247,143,111,169,183,252,0,58,214,190,87,242,118,110,29,219,208,248,252,224,159,205,157,238,81,60,91,136,226,151,26,46,1,32,106,82, +60,205,88,188,250,250,185,55,18,33,240,125,34,4,230,167,178,116,240,163,160,161,93,81,138,0,199,241,80,99,156,1,139,203,214,192,41,149,103,193,66,34,6,112,153,32,63,160,94,253,136,183,151,133,246,219,29,71,136,0,24,132,144,24,32,198,94,32,155,46,37,117, +251,31,103,248,181,6,158,118,125,12,14,236,49,63,121,232,177,158,123,137,225,239,197,51,150,219,96,14,0,146,15,66,160,116,245,13,243,190,189,226,234,89,223,45,172,50,204,77,183,16,56,33,6,136,49,160,149,5,21,134,106,168,43,89,14,43,42,78,103,162,160, +22,19,8,115,10,111,196,5,3,158,14,98,240,15,179,68,62,115,96,12,34,82,248,132,151,159,54,163,15,137,80,63,45,233,131,88,60,56,86,111,127,166,254,249,193,251,6,247,153,59,240,172,161,0,64,1,128,228,154,16,40,95,125,253,220,175,46,191,102,246,127,23,85, +27,22,166,122,105,224,227,160,141,134,168,24,160,235,192,133,66,49,204,44,170,99,66,96,73,249,26,214,111,160,80,91,130,39,47,139,160,137,160,180,100,175,215,221,2,93,142,70,24,246,118,131,43,108,99,21,35,212,203,231,137,183,159,78,163,127,220,240,211, +53,254,72,64,244,142,55,57,158,109,222,56,252,192,0,26,126,20,0,40,0,144,60,16,2,37,171,111,152,251,229,229,87,207,254,175,162,42,195,74,49,34,129,20,201,140,146,38,186,46,44,198,163,32,197,68,230,29,150,235,171,97,78,241,34,86,85,176,176,116,37,204, +40,156,119,34,191,0,129,140,57,103,150,160,137,24,250,46,232,118,54,195,160,167,147,253,63,13,237,211,124,16,102,244,51,164,63,4,107,219,203,12,191,100,239,219,57,249,100,195,243,3,15,89,186,220,125,120,22,81,0,160,0,64,242,75,8,212,26,13,11,47,154,118, +253,170,207,206,249,110,229,130,146,117,146,72,140,111,88,74,201,192,161,147,35,126,44,58,16,101,70,134,14,117,169,48,212,194,172,162,5,176,160,116,5,212,149,44,133,105,5,115,160,72,91,138,39,51,149,207,143,88,24,44,1,106,240,123,136,177,239,128,33,79, +55,51,248,196,153,102,127,47,104,180,25,225,229,127,200,240,11,28,51,252,62,75,112,116,232,128,245,177,166,141,67,143,17,195,143,35,122,81,0,96,25,32,146,159,120,205,193,80,227,11,131,207,182,111,25,125,118,249,85,179,174,88,122,197,204,255,154,182,162, +236,83,26,226,182,69,67,234,183,24,62,9,141,204,230,13,240,188,112,76,14,196,193,22,156,0,115,96,148,53,134,209,242,58,40,213,85,194,116,34,2,102,23,47,130,121,197,75,88,132,128,150,30,234,136,88,64,148,144,96,113,112,134,173,48,233,31,129,17,95,47,43, +213,163,137,123,142,144,5,66,82,128,253,27,122,142,104,35,168,140,171,234,32,250,67,208,113,204,248,123,38,130,205,221,239,152,30,109,222,52,252,28,185,238,177,156,15,73,59,40,0,144,204,240,232,18,229,131,111,55,109,26,122,123,193,249,211,78,95,113,237, +236,155,230,156,81,121,131,190,72,91,193,242,4,50,100,158,57,245,40,89,226,24,104,79,24,39,58,5,206,73,140,17,237,13,79,195,205,180,207,0,29,93,92,107,156,77,68,193,2,152,89,56,159,37,21,210,121,5,5,66,49,158,236,127,227,217,187,195,118,230,205,155,124, +3,48,70,182,201,192,8,216,66,19,172,3,31,141,196,208,99,204,68,25,39,100,108,25,39,91,223,55,240,16,139,197,99,246,126,239,123,173,175,141,172,39,198,255,141,144,39,26,197,179,140,160,0,64,144,143,118,247,160,127,247,228,81,186,77,91,81,246,171,37,151, +207,252,210,146,79,206,248,122,97,181,126,5,77,22,204,172,229,129,132,32,248,96,132,128,66,115,7,104,120,122,194,63,12,13,214,61,39,122,18,20,235,202,88,100,160,198,56,11,166,21,204,102,173,138,171,13,211,161,68,95,193,150,16,50,41,92,173,54,116,109, +222,19,117,130,61,56,9,214,208,56,57,86,35,44,170,66,167,233,185,35,118,54,92,71,36,199,81,163,57,118,124,53,252,137,38,79,153,12,175,229,88,175,254,176,79,180,145,107,248,229,246,55,198,30,27,220,111,57,18,19,177,101,47,130,2,0,65,78,154,201,118,215, +24,217,238,57,250,84,223,253,139,46,158,254,169,37,151,205,252,70,237,242,210,203,4,29,103,160,131,135,50,37,42,240,79,162,128,38,157,209,13,180,31,208,53,113,150,133,110,15,153,217,244,56,154,123,67,141,26,93,38,40,212,22,67,137,174,130,37,27,82,129, +64,55,250,123,186,21,17,209,80,164,45,33,2,162,32,107,134,28,209,137,141,180,196,206,23,245,128,95,244,144,239,109,103,223,157,46,157,56,194,102,22,186,167,94,62,253,123,26,194,167,94,61,133,35,223,143,126,71,142,25,123,61,219,178,1,42,82,4,3,199,188, +126,183,41,208,208,187,115,226,201,246,45,163,27,29,131,190,9,188,139,17,20,0,8,146,4,126,91,56,220,244,210,208,171,205,155,134,95,157,177,186,98,233,178,43,102,126,121,254,121,53,95,44,170,49,46,138,209,225,67,52,87,32,195,39,160,159,136,20,104,132, +127,48,150,116,9,193,197,140,228,144,167,139,9,3,250,43,145,185,174,101,73,135,6,190,16,10,180,69,172,81,17,141,20,208,173,88,151,248,61,93,82,40,20,138,192,72,54,42,38,244,124,194,112,106,201,79,186,38,206,49,131,202,177,159,199,247,227,223,27,112,242, +43,30,99,73,143,180,108,142,38,65,70,99,97,136,196,34,108,12,46,13,211,135,136,135,30,16,125,224,167,70,62,234,5,111,212,77,54,39,248,34,110,98,216,221,108,128,14,245,226,195,196,211,143,30,171,168,56,110,44,143,27,122,218,127,65,75,190,99,166,123,245, +31,115,66,129,23,18,83,249,34,1,209,49,114,196,246,70,231,155,99,79,15,236,179,236,12,123,163,18,222,181,8,10,0,4,81,210,179,140,197,193,212,104,239,34,219,255,20,62,98,248,237,162,139,166,125,114,193,133,211,190,50,99,85,249,101,58,163,80,202,6,16,209, +80,107,60,123,190,83,66,24,240,31,233,221,83,67,76,103,26,132,137,209,117,133,173,9,131,12,137,80,242,241,234,157,132,113,39,222,39,121,61,53,248,44,63,225,88,6,60,21,27,58,98,92,57,46,241,147,190,130,14,179,161,255,62,254,15,7,137,238,71,226,243,194, +240,247,202,135,8,49,252,137,225,74,18,107,154,36,178,242,200,68,69,132,116,66,36,28,127,47,106,220,169,81,63,177,79,244,23,249,169,211,16,79,62,75,188,249,127,7,157,200,71,141,126,92,138,199,157,35,254,3,61,219,39,94,24,216,61,249,170,185,203,109,194, +59,20,65,1,128,32,41,137,10,132,130,77,27,135,182,208,173,118,121,217,156,249,231,213,126,122,241,165,211,63,95,54,187,240,28,242,144,230,197,16,49,78,89,190,238,154,48,160,212,99,231,224,95,59,238,9,19,124,220,128,71,32,116,194,40,31,143,40,36,84,81, +194,200,255,171,112,73,226,243,78,124,58,253,131,99,31,173,57,254,39,199,146,240,56,128,60,201,89,96,157,250,244,28,59,54,62,107,168,119,172,97,242,53,226,237,191,100,106,118,28,165,75,81,8,130,2,0,65,210,132,185,195,53,66,182,7,142,62,213,247,192,140, +213,21,107,136,24,184,110,254,39,106,62,93,50,163,96,21,181,119,180,201,80,38,116,27,84,87,42,252,163,1,63,241,87,72,18,70,159,227,57,8,186,34,227,227,205,142,173,93,239,140,111,28,58,104,217,19,176,135,131,120,132,16,20,0,8,146,65,80,111,108,248,125, +107,19,221,222,127,84,119,231,156,51,170,206,92,112,193,180,107,103,174,169,184,170,168,218,176,146,26,67,218,109,48,219,150,9,144,20,25,125,94,147,168,217,39,63,131,238,168,217,212,228,216,62,184,215,188,105,232,160,117,151,107,204,239,196,35,132,160, +0,64,144,44,32,232,140,136,221,239,142,31,160,91,65,185,238,231,179,207,168,58,131,8,130,171,103,172,174,184,162,108,78,225,26,242,144,215,72,209,24,196,200,22,71,49,144,167,22,63,209,150,87,208,241,76,15,134,92,145,81,83,3,49,250,251,204,155,135,222, +183,238,117,141,250,237,120,144,16,20,0,8,146,197,4,156,145,232,113,49,160,53,242,119,204,88,85,177,122,193,5,181,159,156,190,170,252,138,138,185,69,103,234,10,132,66,42,4,152,32,144,80,13,228,180,205,231,52,137,90,125,178,145,243,29,247,89,67,29,19, +45,206,247,250,247,76,190,57,222,236,60,228,53,7,189,120,148,16,20,0,8,146,131,68,131,82,108,248,144,181,145,110,196,251,187,187,122,113,233,188,185,103,85,157,63,107,109,229,39,171,23,151,156,107,44,211,213,81,35,193,4,129,24,207,128,86,196,72,178,94, +62,45,215,163,205,121,104,126,68,200,19,113,216,7,188,71,71,143,218,223,29,61,106,219,110,238,112,181,133,60,81,17,15,20,130,2,0,65,242,8,234,237,155,59,93,67,116,59,252,68,223,83,197,53,134,130,234,37,165,107,230,173,171,190,104,218,242,178,11,203,102, +23,158,170,47,214,86,178,127,43,210,8,1,10,130,140,183,247,180,112,129,167,30,190,134,37,240,17,47,63,228,54,249,59,38,219,93,251,198,91,156,59,136,225,63,228,26,245,79,226,121,68,16,20,0,8,114,2,175,37,20,32,219,129,129,189,230,3,26,78,243,155,178,89, +5,181,181,203,203,78,155,177,186,226,188,218,229,165,231,150,207,42,92,161,47,33,130,64,3,172,170,128,70,9,98,212,144,160,45,73,159,193,231,52,172,54,159,122,249,244,188,136,97,41,24,176,135,186,173,189,222,131,19,45,142,61,227,173,174,163,214,30,119, +95,196,143,78,62,130,160,0,64,144,147,128,122,136,206,17,191,153,108,91,187,222,54,109,165,225,227,210,89,5,53,181,203,74,87,17,65,112,118,229,252,162,179,43,235,138,79,33,130,96,182,160,227,53,244,223,211,234,130,24,46,27,168,107,236,249,132,193,167, +63,227,49,128,144,55,98,115,141,132,58,109,3,222,195,227,77,142,131,230,78,87,163,219,20,24,12,121,162,120,18,16,4,5,0,130,40,32,8,226,113,112,141,250,45,100,219,214,253,238,248,54,250,103,69,53,134,162,178,217,133,11,103,172,42,95,93,181,176,120,109, +249,220,226,53,197,181,134,197,134,98,109,45,53,82,180,186,128,69,10,136,48,160,162,0,171,13,78,214,210,3,112,196,216,211,178,60,142,255,187,177,39,94,188,199,109,14,14,146,115,208,102,235,243,28,181,116,121,26,172,189,158,78,207,120,192,138,201,155, +8,130,2,0,65,82,134,207,18,242,145,173,105,172,222,222,68,254,247,73,106,244,139,170,141,21,21,117,133,117,53,139,75,87,150,204,44,56,165,106,126,241,138,226,233,198,133,250,98,237,76,157,158,55,82,163,70,141,21,21,4,9,97,0,121,27,49,160,30,61,109,40, +72,215,234,143,255,164,66,75,138,198,164,176,55,106,38,199,118,208,103,13,117,90,123,60,45,150,110,119,171,99,200,215,235,157,12,142,71,131,104,237,17,4,5,0,130,100,16,212,219,247,76,4,28,116,27,58,96,173,63,254,231,5,21,122,67,201,116,227,180,226,105, +198,186,202,249,197,75,43,235,138,150,24,203,117,139,74,103,22,206,209,26,249,25,250,34,109,57,17,15,26,106,16,227,82,252,88,228,32,209,159,32,17,57,56,102,239,178,105,198,193,177,14,132,52,33,143,254,158,138,35,250,27,234,217,179,89,3,116,180,115,72, +242,134,60,81,139,215,28,26,11,185,34,189,182,126,111,47,241,238,187,220,166,192,128,115,196,63,26,116,133,221,185,221,193,17,65,80,0,32,72,78,19,112,132,67,100,27,154,108,119,13,245,110,159,216,121,252,207,245,197,90,222,88,170,171,40,172,54,204,168, +152,91,56,147,252,127,93,213,130,226,217,186,66,97,94,217,156,194,105,188,150,155,110,44,211,149,11,122,190,152,136,3,3,45,101,75,180,242,255,123,226,33,253,253,7,141,36,251,43,137,206,64,248,168,30,192,39,177,12,161,249,184,137,129,241,99,30,187,230, +67,30,60,13,207,159,120,29,75,193,63,81,49,33,17,241,226,241,91,67,110,242,211,236,28,245,155,137,231,62,108,235,245,140,68,2,226,144,173,207,75,12,124,196,228,179,4,109,33,111,52,132,137,148,8,146,103,2,192,235,197,158,27,72,254,66,199,198,146,205,234, +26,243,91,77,141,246,230,143,248,39,58,190,2,138,180,70,168,48,148,232,42,202,231,20,86,199,164,120,109,113,141,161,178,100,102,65,53,49,177,85,134,18,109,25,249,125,105,92,130,98,242,239,139,5,3,103,44,252,255,236,221,75,106,194,64,0,128,225,104,226, +139,90,104,233,190,208,131,120,75,47,215,19,20,173,90,84,218,196,81,155,206,152,62,20,234,174,208,133,223,7,1,5,31,193,133,243,79,72,50,119,189,126,28,232,211,26,187,157,163,173,125,184,235,93,63,63,123,36,33,141,223,233,102,72,187,240,189,136,82,136, +91,90,237,38,196,193,61,196,125,173,226,140,61,45,23,184,110,229,217,186,92,132,213,122,82,46,227,27,103,241,125,207,211,199,229,60,126,196,244,117,182,153,174,158,222,94,222,247,217,60,76,178,101,124,189,123,231,195,25,33,132,203,11,128,162,40,178,241, +120,44,2,224,183,249,118,115,121,97,136,3,254,34,62,94,52,51,251,250,103,182,253,57,19,79,119,180,235,118,138,172,46,234,230,105,63,239,12,175,6,131,56,213,79,235,239,118,143,182,162,119,221,105,223,222,15,135,231,206,57,72,231,39,196,25,123,21,7,245, +144,53,153,80,197,45,93,63,183,137,223,183,41,119,161,42,55,135,127,171,109,154,237,239,110,246,217,182,191,255,58,64,144,213,15,205,145,137,195,145,130,188,217,209,188,104,157,236,47,112,106,52,26,253,219,119,183,106,167,38,3,192,197,105,251,9,0,64, +0,0,0,2,0,0,16,0,0,128,0,0,0,4,0,0,32,0,0,0,1,0,0,8,0,0,64,0,0,0,2,0,0,16,0,0,128,0,0,0,4,0,0,32,0,0,0,1,0,0,8,0,0,64,0,0,128,0,0,0,4,0,0,32,0,0,0,1,0,0,8,0,0,64,0,0,0,2,0,0,16,0,0,128,0,0,0,4,0,0,32,0,0,128,191,246,33,192,0,100,235,173,153,70,62,64, +37,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; + +const char* juce_icon_png = (const char*) temp_binary_data_30; + +//================== projectIconAndroid.png ================== +static const unsigned char temp_binary_data_31[] = +{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,128,0,0,0,128,8,6,0,0,0,195,62,97,203,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,100,121,113,201,101,60,0,0,3,134,105,84,88,116,88,77,76, +58,99,111,109,46,97,100,111,98,101,46,120,109,112,0,0,0,0,0,60,63,120,112,97,99,107,101,116,32,98,101,103,105,110,61,34,239,187,191,34,32,105,100,61,34,87,53,77,48,77,112,67,101,104,105,72,122,114,101,83,122,78,84,99,122,107,99,57,100,34,63,62,32,60, +120,58,120,109,112,109,101,116,97,32,120,109,108,110,115,58,120,61,34,97,100,111,98,101,58,110,115,58,109,101,116,97,47,34,32,120,58,120,109,112,116,107,61,34,65,100,111,98,101,32,88,77,80,32,67,111,114,101,32,53,46,54,45,99,48,49,52,32,55,57,46,49,53, +54,55,57,55,44,32,50,48,49,52,47,48,56,47,50,48,45,48,57,58,53,51,58,48,50,32,32,32,32,32,32,32,32,34,62,32,60,114,100,102,58,82,68,70,32,120,109,108,110,115,58,114,100,102,61,34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,49,57, +57,57,47,48,50,47,50,50,45,114,100,102,45,115,121,110,116,97,120,45,110,115,35,34,62,32,60,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,32,114,100,102,58,97,98,111,117,116,61,34,34,32,120,109,108,110,115,58,120,109,112,77,77,61,34,104,116, +116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,109,109,47,34,32,120,109,108,110,115,58,115,116,82,101,102,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47, +115,84,121,112,101,47,82,101,115,111,117,114,99,101,82,101,102,35,34,32,120,109,108,110,115,58,120,109,112,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,34,32,120,109,112,77,77,58,79,114,105,103, +105,110,97,108,68,111,99,117,109,101,110,116,73,68,61,34,120,109,112,46,100,105,100,58,51,51,101,53,51,101,51,102,45,98,98,100,52,45,52,48,99,99,45,98,54,100,55,45,53,100,52,100,102,52,50,56,99,56,52,54,34,32,120,109,112,77,77,58,68,111,99,117,109,101, +110,116,73,68,61,34,120,109,112,46,100,105,100,58,70,55,67,50,56,48,65,66,52,67,55,56,49,49,69,52,57,54,50,67,65,49,51,66,54,69,53,52,48,69,51,54,34,32,120,109,112,77,77,58,73,110,115,116,97,110,99,101,73,68,61,34,120,109,112,46,105,105,100,58,70,55, +67,50,56,48,65,65,52,67,55,56,49,49,69,52,57,54,50,67,65,49,51,66,54,69,53,52,48,69,51,54,34,32,120,109,112,58,67,114,101,97,116,111,114,84,111,111,108,61,34,65,100,111,98,101,32,80,104,111,116,111,115,104,111,112,32,67,67,32,50,48,49,52,32,40,77,97, +99,105,110,116,111,115,104,41,34,62,32,60,120,109,112,77,77,58,68,101,114,105,118,101,100,70,114,111,109,32,115,116,82,101,102,58,105,110,115,116,97,110,99,101,73,68,61,34,120,109,112,46,105,105,100,58,54,49,99,99,53,50,57,52,45,98,55,101,57,45,52,56, +55,55,45,97,57,99,56,45,97,57,51,98,52,50,101,98,51,53,99,49,34,32,115,116,82,101,102,58,100,111,99,117,109,101,110,116,73,68,61,34,97,100,111,98,101,58,100,111,99,105,100,58,112,104,111,116,111,115,104,111,112,58,97,99,101,101,57,57,101,101,45,57,52, +100,101,45,49,49,55,55,45,97,53,100,98,45,56,53,99,49,100,48,98,53,54,97,53,50,34,47,62,32,60,47,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,62,32,60,47,114,100,102,58,82,68,70,62,32,60,47,120,58,120,109,112,109,101,116,97,62,32,60,63,120, +112,97,99,107,101,116,32,101,110,100,61,34,114,34,63,62,105,25,181,0,0,0,27,230,73,68,65,84,120,218,236,93,9,152,84,213,149,62,111,173,181,215,42,122,111,26,186,217,183,113,101,208,108,24,220,141,163,95,76,102,81,99,28,77,226,56,147,113,190,108,126,73, +116,162,209,44,102,49,209,9,137,243,229,251,208,153,104,150,81,38,49,147,56,137,74,32,46,76,132,0,138,128,44,13,13,205,210,44,13,93,213,85,175,150,87,111,155,115,238,123,175,170,104,186,161,193,234,166,170,121,87,31,85,253,170,222,171,251,238,249,207, +122,207,61,151,179,44,11,188,118,238,54,222,27,2,15,0,94,243,0,224,53,15,0,94,243,0,224,53,15,0,94,243,0,224,53,15,0,94,243,0,224,181,115,163,137,165,186,209,120,68,20,57,142,203,255,150,105,154,236,149,231,121,118,140,87,63,220,62,224,47,129,97,20,250, +64,231,157,207,56,107,156,194,171,133,190,148,1,0,198,225,113,217,96,171,170,58,69,215,141,171,240,196,85,56,0,17,60,183,22,95,95,150,101,233,37,81,20,237,47,18,117,198,168,19,68,220,92,46,55,9,251,112,13,190,197,62,240,109,150,101,108,193,62,172,144, +36,233,55,120,104,99,220,135,146,63,80,217,75,0,66,58,113,124,38,147,185,193,178,184,199,4,65,152,50,244,183,117,93,123,26,65,112,183,207,231,75,141,37,1,176,15,23,153,166,245,148,32,136,243,134,246,193,48,244,255,21,4,254,211,129,64,96,247,120,128,160, +20,18,160,98,0,144,78,167,47,64,226,255,17,137,95,117,226,111,217,3,145,205,166,126,138,131,127,27,130,192,202,203,233,18,246,1,137,63,197,48,172,87,81,210,180,15,247,188,244,157,108,54,189,18,127,255,122,191,223,159,41,117,31,198,2,0,101,111,4,210,67, +234,186,206,227,192,223,207,243,5,226,11,188,15,100,193,135,164,231,217,24,211,88,200,178,255,22,69,81,110,55,240,203,199,33,163,4,125,64,177,47,160,216,127,20,57,63,79,124,158,147,236,62,112,66,158,9,176,15,31,196,62,220,98,89,102,69,168,128,138,240, +2,144,160,181,72,132,75,242,157,230,68,56,146,92,15,239,28,254,57,146,222,68,2,240,108,240,145,56,32,138,242,55,147,73,165,107,56,67,204,53,212,78,117,12,185,134,35,245,131,182,199,109,120,255,15,187,12,45,240,50,36,213,189,176,233,224,83,160,106,3,121, +16,32,72,201,56,92,162,170,57,186,214,242,0,80,130,134,4,104,194,193,172,102,156,78,60,143,4,95,179,247,235,240,187,109,31,131,45,135,158,4,73,144,28,35,209,4,20,189,13,8,152,71,179,217,12,211,193,46,65,137,136,154,166,17,39,243,72,204,73,217,108,182, +21,143,57,120,204,192,163,9,207,213,224,103,36,109,216,125,138,68,172,133,159,119,34,129,31,33,160,217,0,20,240,126,42,188,178,235,179,240,251,237,119,192,238,216,239,64,226,69,7,0,204,88,157,140,247,242,159,83,110,224,24,171,129,99,72,194,52,190,13, +90,76,220,115,48,181,254,26,216,27,95,9,235,247,127,15,90,107,222,11,147,194,243,65,51,84,246,253,96,48,116,131,162,36,239,66,99,237,25,36,218,249,72,144,25,120,44,196,235,166,225,221,66,72,211,73,248,42,227,109,106,200,126,196,191,19,100,223,225,113, +20,255,78,34,0,54,160,107,183,5,137,185,30,129,115,16,239,243,168,44,251,26,108,161,194,129,136,146,102,221,190,165,208,27,123,25,162,161,121,208,92,181,16,12,7,52,212,144,248,241,64,192,159,243,0,80,162,134,150,245,81,77,211,55,162,8,94,194,44,126,83, +131,185,77,183,195,254,193,87,96,71,255,127,195,159,122,191,10,215,206,126,6,129,33,34,247,25,204,47,247,251,3,143,34,211,127,65,16,184,201,2,233,6,199,36,40,150,240,174,150,64,96,212,217,127,231,109,54,114,241,232,243,24,222,99,64,20,165,46,247,187, +146,32,195,161,196,91,240,230,129,31,48,85,116,113,251,189,8,130,217,144,115,192,71,146,6,1,240,103,148,68,38,94,83,246,238,96,217,171,0,71,183,27,200,149,75,105,112,137,251,73,68,147,1,182,168,227,43,80,227,239,132,61,3,47,193,166,190,101,72,28,177, +200,24,147,131,120,116,34,24,138,64,206,136,154,63,108,27,145,43,250,219,58,206,94,64,125,94,135,247,232,114,213,8,137,126,205,200,192,27,8,56,69,237,131,105,209,27,97,118,227,205,160,153,154,3,84,1,226,241,88,31,222,231,57,188,174,34,162,43,21,97,3, +144,33,134,3,250,63,170,154,125,202,61,167,163,14,142,134,102,192,69,237,159,99,70,224,134,3,143,161,97,184,9,197,179,47,15,2,58,232,51,2,139,232,120,13,62,209,135,64,177,15,50,228,68,60,232,125,241,103,244,93,226,238,161,238,45,1,236,237,131,63,70,209, +191,2,234,2,211,96,209,228,251,17,62,130,13,72,148,58,154,150,131,195,135,15,61,210,220,220,180,185,98,198,182,18,226,0,212,79,228,126,43,149,74,181,226,219,21,168,143,103,185,196,37,222,124,113,251,157,168,10,158,131,206,200,117,112,237,172,103,144, +24,68,64,142,125,70,220,153,206,29,66,139,125,63,30,251,64,201,237,135,108,46,134,190,3,26,132,122,130,129,67,18,194,120,141,4,33,185,9,194,114,27,84,251,39,67,216,215,2,1,49,138,159,163,88,183,128,169,142,195,201,55,225,55,239,124,4,178,104,245,95,54, +237,113,152,223,124,27,168,186,234,24,127,60,244,244,236,122,62,28,14,125,188,165,165,37,69,30,128,227,5,148,117,28,160,98,66,193,52,192,162,40,30,80,148,212,127,74,146,252,77,27,116,38,139,7,44,234,184,31,142,40,27,152,81,182,249,208,83,48,183,249,99, +176,47,190,22,14,196,95,129,254,212,102,136,103,118,34,161,98,104,168,229,144,152,90,62,68,192,57,97,2,114,37,109,58,241,76,42,8,156,15,66,8,128,250,192,12,104,172,186,8,218,106,63,0,213,190,201,40,250,31,134,148,122,16,102,54,252,13,204,105,188,5,245, +190,150,239,91,50,153,76,231,114,234,143,162,209,142,4,130,83,196,115,102,37,132,131,43,65,2,48,181,175,170,26,160,107,119,15,250,249,15,224,224,214,23,127,33,32,251,96,115,223,47,96,229,174,123,192,47,214,67,80,110,68,162,119,131,97,230,152,222,230, +57,217,145,22,220,40,98,67,22,251,207,180,116,52,232,114,236,189,95,172,67,137,208,6,3,233,109,76,50,124,120,222,11,248,218,148,55,252,138,172,255,183,13,67,255,52,74,129,215,36,73,226,188,72,96,137,136,159,205,170,33,85,205,61,45,203,254,199,209,208, +202,19,95,96,226,219,7,7,6,223,132,3,137,215,81,119,7,64,55,82,16,79,119,227,103,50,234,245,42,60,23,100,250,220,142,24,142,102,192,88,164,129,93,79,170,129,238,97,160,189,17,75,111,103,247,49,77,29,182,247,47,71,85,114,212,137,2,22,134,208,231,243,47, +64,245,244,187,116,58,125,23,218,3,174,248,231,60,9,112,134,125,115,130,48,45,186,110,252,4,57,127,73,129,153,56,28,124,25,137,208,15,111,238,127,28,182,30,249,25,90,231,73,70,176,177,247,74,12,180,43,82,104,4,206,128,11,90,255,5,102,52,252,53,227,35, +2,137,139,88,219,21,84,31,242,251,125,15,58,243,18,99,226,14,78,228,201,32,54,96,170,170,214,107,154,241,2,138,211,69,5,159,93,96,81,183,221,3,47,195,255,237,121,16,57,115,43,35,188,27,138,29,183,240,52,18,156,212,68,103,228,67,112,233,148,175,162,59, +218,158,87,9,46,8,80,101,125,35,20,10,222,135,30,204,152,168,131,137,10,0,242,250,104,206,221,143,98,255,89,228,252,235,221,113,99,162,28,31,122,195,254,199,88,4,144,8,64,98,255,44,70,41,144,232,73,36,126,23,44,238,250,30,180,215,189,23,61,139,28,128, +19,173,52,12,3,208,117,253,116,85,85,248,135,104,192,150,28,4,19,18,0,206,236,31,164,211,153,111,161,181,127,111,222,88,65,125,79,81,219,213,187,191,204,44,125,137,15,13,225,122,11,69,115,134,121,6,28,11,215,6,28,189,255,238,27,121,14,186,35,226,201, +238,32,207,163,184,233,102,154,73,161,15,116,61,10,51,39,221,136,30,71,1,4,154,166,169,248,255,181,53,53,53,43,121,59,117,201,244,0,112,242,254,88,104,68,221,200,243,226,115,28,103,71,99,200,146,199,79,224,149,157,159,71,125,255,52,14,118,117,222,133, +115,221,56,210,205,237,181,151,177,216,124,60,179,11,93,194,151,144,112,166,125,237,187,104,186,153,69,139,191,21,166,214,95,137,132,247,195,222,216,42,244,6,182,14,145,60,200,237,150,74,166,35,44,158,246,125,116,19,111,66,73,80,136,15,100,50,233,110, +158,231,22,135,195,225,62,206,166,154,229,1,96,132,7,202,100,50,205,134,97,190,230,198,223,201,202,22,121,9,57,255,1,120,179,111,41,248,208,42,63,222,176,182,112,240,53,22,149,59,191,245,238,124,172,127,235,225,229,240,106,207,231,153,27,119,166,146, +128,244,124,125,112,38,92,57,115,25,190,118,178,115,233,92,12,86,116,255,19,236,139,175,60,65,253,80,156,129,98,8,87,207,122,18,38,215,46,62,206,38,72,38,19,203,80,21,124,2,141,194,146,169,130,9,229,6,186,162,31,45,254,251,4,161,104,242,5,137,191,245, +240,207,96,99,223,19,104,249,135,79,240,170,72,52,79,10,205,135,121,77,159,192,247,38,139,204,229,12,29,102,53,124,132,205,18,26,200,193,103,46,250,117,152,223,252,73,136,132,58,217,125,233,8,200,117,204,250,39,55,209,26,34,205,233,28,169,131,63,238, +252,28,74,161,61,44,204,156,143,85,4,130,119,42,138,114,45,69,52,203,42,192,86,78,157,65,171,127,1,207,11,119,184,204,65,49,249,99,233,29,176,166,247,107,44,84,59,28,39,147,232,15,72,147,80,231,75,140,96,238,57,98,142,144,220,156,159,219,63,19,3,143, +236,14,10,15,155,102,177,84,0,22,104,98,118,192,48,82,143,226,14,9,117,15,155,161,68,217,148,79,86,65,79,134,192,123,63,170,55,191,7,128,17,184,223,48,172,79,34,0,2,110,215,104,0,215,238,125,4,82,218,17,198,93,195,53,10,221,146,78,78,170,125,44,54,64, +3,46,33,113,84,61,13,135,149,55,25,17,207,212,19,53,81,164,247,37,214,224,111,216,70,40,217,19,50,154,20,135,146,111,160,148,81,142,11,2,21,3,135,130,71,61,199,94,128,29,253,191,100,18,204,85,145,126,127,96,17,2,224,131,142,20,224,60,0,20,53,180,150, +155,208,96,186,201,253,155,178,124,246,199,95,133,61,177,23,79,26,224,33,194,208,68,207,107,61,247,194,64,166,155,233,252,100,110,31,254,253,37,56,150,218,124,130,197,126,58,141,60,137,45,135,150,193,219,7,127,138,162,61,201,116,252,206,163,47,34,40, +191,237,24,151,220,200,209,68,4,199,219,125,255,14,89,54,225,36,184,82,0,109,46,248,123,148,116,101,19,29,44,19,35,208,2,69,73,221,140,62,255,79,221,96,172,192,139,240,251,109,119,64,207,192,11,142,238,63,149,181,158,1,191,20,129,176,220,2,25,237,40, +164,114,125,142,145,246,238,198,154,212,10,233,122,202,59,160,56,196,96,182,7,207,25,142,68,58,249,51,107,70,10,62,56,253,223,96,118,195,223,50,131,208,201,110,62,102,24,218,194,104,52,218,243,110,35,132,19,194,8,180,3,38,164,100,185,107,92,98,145,190, +63,150,222,6,7,18,171,81,132,142,46,208,67,196,166,233,221,163,200,245,25,173,159,233,226,82,72,89,34,58,249,254,131,232,90,210,124,128,27,11,24,21,221,240,231,187,251,127,197,50,152,200,126,33,30,65,47,32,130,210,110,17,5,137,60,21,224,26,86,134,142, +190,29,55,223,5,180,128,111,246,197,87,161,30,31,56,173,16,47,17,75,68,95,253,204,245,254,200,148,36,85,66,199,233,184,148,34,231,135,35,104,135,196,51,61,96,39,38,89,44,107,8,1,255,151,100,243,120,0,200,3,192,108,71,253,63,155,249,253,44,168,98,194, +193,196,27,224,196,129,42,182,17,120,85,61,142,198,232,122,4,15,151,151,120,178,44,47,204,100,50,210,57,5,128,66,222,189,251,119,65,135,33,0,230,81,214,87,97,208,6,89,52,143,175,112,0,56,97,42,230,165,20,155,72,232,233,76,65,53,208,238,100,13,13,51,70, +227,103,35,138,227,65,120,154,25,211,117,141,67,66,79,71,15,168,3,57,157,167,245,22,60,207,145,33,180,11,63,159,227,206,149,144,197,156,206,29,6,213,136,179,208,106,165,55,146,98,137,108,47,24,166,238,216,1,22,218,1,114,227,224,96,188,37,155,205,244, +90,22,119,190,101,153,17,2,8,142,71,22,199,101,11,170,137,163,180,208,213,78,128,29,219,204,98,113,172,9,159,205,170,211,80,223,221,138,127,211,106,222,153,232,30,213,81,124,220,94,76,105,162,69,108,190,133,95,143,56,15,107,7,132,140,65,80,181,152,157, +77,97,233,21,13,0,211,201,73,164,9,37,87,165,9,130,104,73,146,252,117,77,51,171,112,44,230,161,68,144,136,233,157,49,217,173,105,250,59,56,10,203,101,89,250,47,84,23,153,34,107,214,170,8,0,56,179,96,68,252,219,241,1,31,17,69,169,177,152,192,5,113,39, +68,220,92,255,194,124,191,253,90,229,107,103,65,158,50,79,168,57,181,125,99,230,208,61,173,179,163,130,32,185,25,196,124,93,93,253,251,139,159,219,29,19,28,143,169,248,22,15,235,58,85,213,110,199,113,252,108,32,16,160,133,42,28,140,65,98,73,201,227,0, +14,241,121,36,254,247,241,97,238,113,185,189,56,64,66,134,30,203,188,179,70,202,155,180,179,169,198,83,23,142,169,29,96,89,35,154,91,44,53,213,93,92,202,102,53,205,161,17,210,24,122,73,119,132,195,161,231,157,233,228,124,166,113,217,205,6,82,127,200, +167,79,165,210,247,161,136,251,218,241,126,186,143,125,174,234,73,22,98,101,57,123,98,21,51,142,220,185,118,119,72,136,91,76,83,133,9,211,136,179,57,255,16,194,243,44,218,73,30,15,197,47,232,153,69,62,204,242,12,105,82,203,205,94,182,25,42,167,32,8,46, +175,174,174,94,83,60,157,92,150,211,193,233,116,250,189,136,246,151,81,175,249,221,197,156,34,45,167,74,174,99,179,122,148,190,77,41,218,62,177,30,26,171,46,132,217,13,183,226,235,121,160,25,118,18,5,37,121,82,8,248,165,29,159,2,137,5,115,42,187,81,248, +152,212,217,135,230,60,139,42,45,96,47,93,99,113,10,19,118,29,251,53,236,60,250,60,196,50,59,152,170,160,239,181,215,46,134,57,141,31,131,160,52,9,180,162,60,195,76,38,253,103,73,18,175,8,133,66,131,174,42,40,171,117,1,238,26,122,180,242,31,148,36,193, +239,250,244,68,252,77,7,159,132,55,122,31,98,72,167,164,10,82,3,233,92,63,244,43,27,97,103,255,47,225,146,41,15,194,220,166,219,28,16,0,147,16,228,9,72,66,104,66,0,192,14,73,23,210,218,12,51,13,175,244,124,30,118,244,47,119,194,222,182,173,147,202,29, +132,3,131,175,34,40,126,13,75,166,47,133,104,120,62,232,44,167,128,60,7,255,197,138,146,184,211,231,243,125,207,41,133,83,126,70,32,234,171,249,200,249,239,119,165,1,17,127,215,177,23,224,245,221,95,102,15,46,139,181,5,157,207,1,3,131,110,169,240,90, +207,23,33,40,55,192,212,250,171,11,2,146,205,190,73,21,15,0,139,77,43,139,69,207,197,193,107,123,30,128,109,71,126,206,214,27,20,27,185,246,18,182,0,28,75,111,129,21,221,119,195,245,115,150,67,64,106,96,234,128,34,136,104,43,220,156,201,100,126,88,85, +85,85,50,253,88,178,64,16,185,124,168,255,47,224,121,123,254,147,92,30,85,75,192,186,125,223,201,63,220,137,6,159,197,108,1,188,18,191,247,93,102,31,144,173,59,81,119,48,144,120,1,246,15,174,134,109,253,191,64,21,88,59,162,135,67,211,201,199,82,91,96, +243,193,101,200,36,5,18,33,8,166,33,0,186,202,50,18,104,175,220,133,203,10,70,159,0,135,148,117,16,163,69,26,188,255,20,3,67,168,223,10,253,169,141,192,79,224,202,133,164,178,123,99,47,162,10,200,156,114,78,129,230,52,122,227,43,28,166,16,216,248,162, +248,175,49,12,227,2,103,34,137,43,59,0,160,228,143,184,134,9,253,155,84,123,81,7,102,143,75,224,28,97,104,240,90,29,18,153,221,19,152,248,232,210,153,22,139,10,142,102,142,131,36,38,217,4,52,151,192,65,161,252,140,170,170,205,166,105,150,159,4,64,189, +47,32,0,130,199,131,226,244,162,120,148,89,59,129,249,159,249,248,100,237,115,163,102,94,74,120,213,243,188,78,188,133,70,118,109,89,2,160,52,34,137,131,137,223,184,119,203,104,37,93,133,85,74,9,0,94,27,39,207,162,28,1,224,181,113,35,127,73,197,164,7, +128,115,188,121,0,240,0,224,53,15,0,94,243,0,224,53,15,0,94,243,0,224,53,15,0,94,243,0,224,53,15,0,94,243,0,224,53,15,0,94,243,0,224,53,15,0,94,243,0,224,53,15,0,94,243,0,224,53,15,0,94,243,0,112,210,198,121,67,58,214,141,43,79,0,80,197,15,124,209,79, +236,172,229,225,39,255,116,199,239,91,120,234,102,157,144,66,110,89,150,94,202,101,243,37,5,0,213,68,46,62,39,139,225,252,162,134,209,52,218,239,103,226,54,139,85,14,151,133,26,86,197,252,212,223,182,216,106,98,145,173,40,182,138,1,16,231,75,184,124, +170,100,119,114,10,65,236,116,59,107,224,107,52,180,128,173,129,163,37,209,39,125,88,75,103,3,19,9,205,129,137,154,93,78,227,66,235,30,27,194,231,195,104,182,12,160,34,215,145,224,28,8,72,245,78,205,97,182,250,218,224,121,110,47,45,20,45,75,0,96,91,153, +7,128,169,33,65,103,195,212,250,107,33,103,36,78,122,45,237,186,209,21,185,30,234,2,211,89,97,230,137,170,8,104,105,216,180,232,13,172,234,40,85,54,29,233,73,237,42,228,28,204,105,188,21,165,64,190,172,12,213,8,232,71,226,111,40,75,0,216,245,109,248, +183,77,211,56,236,22,177,32,48,44,156,252,37,182,247,30,21,133,24,90,94,157,36,3,157,111,170,90,8,23,79,190,215,94,245,50,129,149,0,149,152,13,251,154,225,210,41,15,177,125,5,52,83,57,193,70,162,122,2,84,71,97,65,203,93,48,5,153,71,55,10,149,66,20,69, +121,43,20,10,31,130,18,214,10,42,233,210,48,73,146,246,235,186,190,172,32,198,52,86,110,253,234,153,63,129,25,147,62,202,186,172,25,10,147,8,244,74,22,209,204,134,191,131,171,103,253,4,130,82,35,219,248,97,162,55,42,130,209,25,185,6,159,249,63,152,138, +164,29,73,72,2,218,99,146,130,0,218,65,151,78,125,24,46,233,120,144,1,134,152,134,184,63,157,78,27,40,1,158,172,169,169,78,59,165,227,74,210,74,90,32,130,42,87,136,162,240,93,85,85,175,243,249,124,127,97,239,244,173,178,93,56,47,159,241,99,86,30,230, +112,114,29,100,181,99,224,151,162,140,243,39,133,207,99,96,214,77,21,206,141,102,177,109,238,39,215,93,198,74,228,244,37,222,96,85,205,169,8,68,149,175,3,90,107,222,195,118,32,163,45,111,221,130,81,196,253,251,247,239,123,38,26,141,254,22,153,172,164, +174,123,73,1,128,29,229,253,126,127,12,69,213,93,185,156,250,130,44,251,35,246,138,88,149,185,51,141,225,11,161,25,31,218,174,137,103,239,201,107,56,187,115,158,107,141,64,32,240,65,182,23,81,87,228,74,71,69,208,120,88,199,109,53,67,250,126,239,222,222, +117,178,44,62,140,0,32,195,65,112,92,238,178,11,4,177,242,101,84,202,44,20,10,174,209,117,237,198,116,58,181,213,222,134,157,103,68,38,46,167,135,179,183,117,81,109,174,231,96,194,148,131,59,93,155,137,109,66,233,140,7,29,244,158,234,35,209,103,36,77, +73,130,246,244,236,122,81,211,114,31,239,232,152,178,139,54,209,114,136,111,149,35,0,220,7,179,4,65,20,170,170,170,94,199,183,75,6,7,227,79,160,254,26,100,110,16,2,129,14,66,181,123,208,90,119,77,211,204,115,11,4,150,69,133,52,93,230,24,58,38,84,1,164, +191,191,191,183,187,123,251,87,124,62,249,214,174,174,174,173,120,94,44,37,231,143,137,10,128,66,253,58,19,59,44,84,87,87,31,204,102,213,127,84,148,228,82,69,73,92,142,24,88,68,251,235,34,24,124,232,45,232,8,140,119,80,74,172,170,169,169,187,188,185, +185,249,134,114,169,161,63,214,156,79,59,198,32,103,127,29,153,36,137,182,210,21,162,40,181,34,35,136,40,53,149,84,42,181,6,223,111,144,101,105,101,71,71,199,238,112,56,76,99,42,20,237,70,110,149,51,0,142,139,12,146,132,241,251,125,28,30,239,32,226,233, +248,65,38,147,169,193,7,149,105,28,106,107,107,148,104,52,146,197,111,79,45,101,213,139,10,8,10,113,200,217,235,35,145,250,95,225,115,63,134,70,115,216,48,116,1,13,104,173,177,177,33,129,118,148,225,108,55,43,56,213,195,141,98,6,171,4,0,184,146,192,114, +42,91,114,244,64,120,0,21,58,164,243,142,43,195,217,53,133,115,194,132,230,250,19,227,249,164,227,133,64,32,64,34,159,98,251,3,238,152,56,149,212,105,60,172,34,194,143,9,241,199,84,2,12,7,134,252,120,216,251,3,59,246,130,64,101,210,135,132,128,185,137, +196,238,246,78,35,110,61,96,171,176,47,128,163,255,205,130,208,228,160,212,70,94,57,0,96,88,64,20,84,133,237,21,185,167,105,128,104,243,39,218,41,204,174,176,93,217,41,11,244,12,52,31,194,234,36,22,213,83,70,66,171,69,134,239,89,243,131,249,179,203,28, +150,187,177,226,234,194,36,146,14,181,129,233,16,9,206,6,221,72,67,229,151,139,87,161,173,246,50,144,120,57,31,213,203,100,210,7,241,181,155,47,131,162,136,101,177,107,152,32,240,155,208,24,74,185,190,177,44,4,225,162,246,47,176,157,191,244,97,226,229, +149,33,249,77,200,234,49,104,174,190,148,21,127,214,205,130,58,207,102,51,61,168,255,123,97,12,234,255,87,130,10,56,1,3,104,16,237,65,119,241,15,248,250,87,110,148,108,114,221,98,184,98,230,143,97,109,239,55,32,150,233,102,49,115,123,172,10,18,129,74, +170,58,246,210,168,126,136,98,238,246,212,52,55,162,192,166,170,166,84,185,116,52,209,73,50,238,168,95,199,207,236,89,172,79,180,215,225,244,232,135,225,61,83,30,98,53,129,41,232,101,111,145,103,0,186,122,191,153,52,137,69,245,248,179,13,128,114,216, +56,146,153,191,138,162,156,199,243,226,42,4,65,109,126,227,104,193,7,170,22,135,67,201,245,112,72,89,203,184,202,182,168,41,124,104,194,246,35,203,33,171,29,29,69,229,77,27,56,51,27,62,202,136,49,82,95,73,36,31,74,172,135,3,131,171,71,181,227,40,137, +247,230,154,69,208,82,189,16,92,55,150,234,30,83,98,75,107,205,251,32,26,156,139,63,43,176,239,49,110,19,69,138,233,175,69,219,247,166,201,147,59,14,56,54,192,89,221,56,178,28,36,128,229,204,33,188,133,156,241,175,72,132,31,184,187,140,144,36,16,145, +203,59,234,151,192,212,200,146,227,125,4,252,103,111,124,21,219,143,71,56,5,0,44,39,181,234,252,214,127,134,186,96,59,140,20,114,160,173,253,54,244,62,1,189,177,21,163,2,0,113,126,123,205,98,88,56,245,30,24,90,20,85,55,237,253,130,44,103,207,35,34,126, +44,22,27,68,160,223,55,115,230,244,253,84,89,117,44,34,123,149,8,0,70,35,28,32,30,245,226,82,69,73,5,125,62,223,131,178,236,11,16,8,104,235,86,211,208,135,136,94,148,156,156,126,218,59,131,211,134,207,57,29,242,28,57,180,249,192,231,204,74,142,150,179, +56,118,47,34,62,197,242,71,146,42,100,232,246,247,31,217,139,199,23,58,59,59,87,138,162,36,56,110,241,89,55,110,202,198,199,34,113,70,83,157,225,112,232,219,104,36,93,157,72,12,190,158,203,229,76,119,16,199,194,98,182,107,240,115,37,127,14,55,166,111, +239,137,172,40,61,61,59,159,139,199,99,55,76,155,54,237,217,80,40,52,102,59,128,85,180,4,112,8,77,209,66,161,182,182,246,213,116,58,125,165,162,36,46,213,52,237,66,228,160,69,40,33,102,213,212,212,206,194,129,229,74,49,116,4,40,228,200,125,193,96,176, +58,16,8,214,148,194,22,178,183,118,201,40,131,131,241,29,170,170,110,70,9,181,17,127,103,77,93,93,205,91,245,245,145,20,79,229,190,109,149,103,121,0,24,57,98,72,220,35,132,195,225,44,114,203,31,116,93,251,3,122,8,144,76,38,23,225,199,175,149,170,207, +4,128,190,190,3,79,181,181,77,94,20,10,133,175,44,197,68,20,221,19,251,185,43,149,82,174,107,106,106,58,134,42,77,163,240,183,19,218,21,156,208,120,217,16,191,220,0,80,12,2,119,67,36,182,83,154,36,201,52,187,168,230,131,71,37,8,14,209,125,252,254,128, +33,203,146,81,202,226,203,130,192,3,114,123,6,165,152,65,132,119,8,110,14,125,70,15,0,167,0,65,145,135,224,196,206,75,111,3,32,184,74,202,141,246,246,175,188,133,154,204,44,138,241,151,117,59,215,215,6,158,243,53,238,189,197,161,30,0,188,230,1,192,107, +30,0,42,83,129,151,198,119,47,117,31,42,41,193,181,98,0,80,180,27,93,190,235,180,233,228,168,175,31,198,117,180,211,213,134,82,139,59,45,240,12,179,187,41,87,148,253,228,1,160,116,0,224,146,232,175,39,88,206,0,219,113,212,7,245,129,89,163,90,78,70,83, +192,126,169,30,124,66,109,126,254,192,201,202,73,227,167,89,55,14,64,47,97,95,235,40,183,172,117,250,16,156,205,22,116,184,231,114,185,220,0,186,128,122,165,72,1,190,66,136,79,254,245,110,211,52,55,185,3,77,75,173,91,106,222,51,170,235,105,214,142,150, +160,133,228,70,54,185,68,247,83,213,172,134,47,180,29,251,106,247,123,134,105,66,67,248,34,8,72,209,252,246,237,35,53,2,94,16,239,55,41,188,128,93,103,3,200,162,100,143,63,249,124,254,108,41,215,239,121,18,0,216,196,141,129,220,187,201,229,86,205,212, +161,179,254,90,182,190,208,94,126,206,13,43,248,137,144,18,31,134,5,205,159,194,63,237,252,11,138,46,34,0,142,250,253,254,237,130,192,111,118,231,242,137,168,181,129,41,48,187,241,102,150,60,50,114,152,192,2,221,72,193,156,198,219,160,202,215,194,126, +131,64,229,44,246,216,226,243,201,149,50,172,149,1,0,34,186,61,115,7,207,35,8,44,123,23,78,131,37,142,126,160,235,59,80,227,239,98,203,204,77,54,247,110,7,247,236,101,87,10,19,249,180,28,155,146,54,116,103,123,122,186,126,112,112,112,85,85,85,213,0,222, +247,207,134,161,239,116,69,182,129,192,186,176,237,51,48,61,122,19,100,245,56,155,238,117,151,181,211,43,253,173,234,131,108,85,243,121,173,119,163,116,177,167,170,237,121,128,196,94,73,146,254,84,202,245,251,30,0,138,212,128,44,203,175,228,114,218,139, +174,122,165,185,251,104,104,46,124,104,206,179,48,11,9,66,105,88,180,216,148,210,180,40,75,168,9,137,78,75,207,231,53,125,156,45,203,102,122,27,137,163,40,137,172,174,231,150,85,87,87,27,72,176,1,195,48,150,186,146,133,150,100,83,90,216,146,233,63,130, +75,58,30,96,54,1,129,72,55,211,12,136,85,254,118,4,212,195,112,217,180,199,17,70,18,3,154,155,234,53,48,48,240,84,52,26,221,67,2,171,98,198,181,12,82,194,70,221,87,20,213,150,162,164,230,241,188,176,10,9,23,117,127,147,229,221,227,107,60,179,11,226,217, +110,38,146,195,114,43,68,130,115,65,20,124,121,226,219,73,167,0,221,221,219,191,209,214,214,250,64,109,45,101,159,89,150,170,170,50,2,107,185,223,31,184,206,189,39,237,216,45,242,34,40,185,126,24,72,191,3,57,148,6,62,177,14,141,190,185,104,75,68,152, +10,114,75,223,96,95,160,183,119,207,106,158,231,62,218,209,209,113,200,241,4,204,241,96,138,115,10,0,116,232,186,102,38,147,202,77,178,236,123,90,146,228,64,97,73,25,199,202,169,240,206,160,80,119,72,167,187,86,191,155,80,178,107,87,247,242,112,56,124, +87,91,91,91,204,89,133,67,24,48,83,169,84,7,226,235,183,8,130,121,246,163,184,64,16,241,190,66,62,125,215,48,13,71,213,184,83,215,34,28,60,216,183,51,153,28,188,101,250,244,233,107,105,42,187,104,29,159,7,128,49,144,88,180,156,12,65,144,188,10,7,127, +105,32,16,156,102,115,246,240,155,42,187,217,68,233,116,90,71,46,253,81,117,117,213,55,145,248,84,198,134,119,103,236,232,158,8,36,83,81,148,14,93,55,30,15,6,67,55,144,170,24,233,158,110,214,143,174,235,148,228,185,50,151,83,191,216,217,217,185,142,146, +89,198,106,17,167,7,128,162,40,13,113,46,234,92,3,65,208,129,162,251,51,40,130,111,66,215,171,205,94,102,198,131,11,8,210,203,217,108,54,29,139,13,172,77,167,83,79,52,54,54,254,58,18,137,228,224,196,213,182,108,77,30,98,192,200,100,50,114,42,149,190, +19,239,245,15,180,146,153,196,187,123,79,59,126,96,144,175,15,137,68,98,91,60,30,123,186,170,42,188,172,165,165,229,176,187,124,123,60,19,62,206,69,0,228,85,129,195,181,6,17,131,196,55,18,110,1,158,127,31,207,139,51,209,170,151,144,59,99,72,252,215,69, +81,220,18,14,7,55,70,34,209,65,36,166,224,72,5,107,24,46,229,156,197,153,196,217,164,18,106,80,106,92,128,18,225,98,188,238,98,36,124,8,15,21,253,252,117,56,240,111,161,11,185,177,190,190,254,128,147,227,199,143,55,241,207,101,0,156,0,4,60,12,167,208, +4,250,247,42,113,50,19,239,62,159,207,36,14,38,181,108,57,54,96,81,152,214,58,153,132,33,135,0,9,110,17,199,227,61,9,20,130,227,137,208,210,109,96,185,137,54,225,79,117,79,15,0,227,164,22,184,226,129,41,238,207,144,216,188,117,166,247,28,250,156,103, +139,240,165,4,64,57,166,132,157,54,246,220,165,230,39,27,156,211,4,232,176,247,44,193,125,203,174,137,229,132,198,114,231,150,74,124,238,9,19,9,244,154,7,0,175,121,0,240,154,7,0,175,121,0,240,154,7,0,175,121,0,240,154,7,0,175,189,235,246,255,2,12,0,158, +137,39,54,252,6,9,64,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; + +const char* projectIconAndroid_png = (const char*) temp_binary_data_31; + +//================== projectIconCodeblocks.png ================== +static const unsigned char temp_binary_data_32[] = +{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,128,0,0,0,128,8,6,0,0,0,195,62,97,203,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,100,121,113,201,101,60,0,0,3,134,105,84,88,116,88,77,76, +58,99,111,109,46,97,100,111,98,101,46,120,109,112,0,0,0,0,0,60,63,120,112,97,99,107,101,116,32,98,101,103,105,110,61,34,239,187,191,34,32,105,100,61,34,87,53,77,48,77,112,67,101,104,105,72,122,114,101,83,122,78,84,99,122,107,99,57,100,34,63,62,32,60, +120,58,120,109,112,109,101,116,97,32,120,109,108,110,115,58,120,61,34,97,100,111,98,101,58,110,115,58,109,101,116,97,47,34,32,120,58,120,109,112,116,107,61,34,65,100,111,98,101,32,88,77,80,32,67,111,114,101,32,53,46,54,45,99,48,49,52,32,55,57,46,49,53, +54,55,57,55,44,32,50,48,49,52,47,48,56,47,50,48,45,48,57,58,53,51,58,48,50,32,32,32,32,32,32,32,32,34,62,32,60,114,100,102,58,82,68,70,32,120,109,108,110,115,58,114,100,102,61,34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,49,57, +57,57,47,48,50,47,50,50,45,114,100,102,45,115,121,110,116,97,120,45,110,115,35,34,62,32,60,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,32,114,100,102,58,97,98,111,117,116,61,34,34,32,120,109,108,110,115,58,120,109,112,77,77,61,34,104,116, +116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,109,109,47,34,32,120,109,108,110,115,58,115,116,82,101,102,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47, +115,84,121,112,101,47,82,101,115,111,117,114,99,101,82,101,102,35,34,32,120,109,108,110,115,58,120,109,112,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,34,32,120,109,112,77,77,58,79,114,105,103, +105,110,97,108,68,111,99,117,109,101,110,116,73,68,61,34,120,109,112,46,100,105,100,58,98,54,49,53,55,56,57,51,45,102,48,97,51,45,52,56,56,55,45,98,99,52,50,45,54,100,50,49,55,51,50,97,99,98,100,97,34,32,120,109,112,77,77,58,68,111,99,117,109,101,110, +116,73,68,61,34,120,109,112,46,100,105,100,58,70,55,67,50,56,48,65,70,52,67,55,56,49,49,69,52,57,54,50,67,65,49,51,66,54,69,53,52,48,69,51,54,34,32,120,109,112,77,77,58,73,110,115,116,97,110,99,101,73,68,61,34,120,109,112,46,105,105,100,58,70,55,67,50, +56,48,65,69,52,67,55,56,49,49,69,52,57,54,50,67,65,49,51,66,54,69,53,52,48,69,51,54,34,32,120,109,112,58,67,114,101,97,116,111,114,84,111,111,108,61,34,65,100,111,98,101,32,80,104,111,116,111,115,104,111,112,32,67,67,32,50,48,49,52,32,40,77,97,99,105, +110,116,111,115,104,41,34,62,32,60,120,109,112,77,77,58,68,101,114,105,118,101,100,70,114,111,109,32,115,116,82,101,102,58,105,110,115,116,97,110,99,101,73,68,61,34,120,109,112,46,105,105,100,58,54,48,97,49,51,52,53,100,45,97,99,57,50,45,52,48,99,98, +45,97,55,57,53,45,53,100,48,55,55,99,100,56,102,98,99,55,34,32,115,116,82,101,102,58,100,111,99,117,109,101,110,116,73,68,61,34,97,100,111,98,101,58,100,111,99,105,100,58,112,104,111,116,111,115,104,111,112,58,102,54,55,54,101,48,101,99,45,57,52,100, +102,45,49,49,55,55,45,97,53,100,98,45,56,53,99,49,100,48,98,53,54,97,53,50,34,47,62,32,60,47,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,62,32,60,47,114,100,102,58,82,68,70,62,32,60,47,120,58,120,109,112,109,101,116,97,62,32,60,63,120,112, +97,99,107,101,116,32,101,110,100,61,34,114,34,63,62,104,107,124,19,0,0,42,157,73,68,65,84,120,218,236,125,89,204,44,201,149,86,156,200,204,218,254,125,185,75,187,221,238,118,47,86,187,229,102,140,103,176,133,48,54,242,136,153,198,6,143,152,145,224,101, +120,0,193,3,235,3,210,136,71,94,64,72,60,33,129,16,226,1,36,16,26,48,30,75,192,72,48,48,96,132,133,102,198,96,141,192,99,187,109,26,247,116,247,244,118,125,251,222,255,254,75,85,229,22,135,56,177,101,100,100,100,85,253,203,253,239,149,169,236,206,251, +215,146,85,21,25,231,196,57,223,89,3,16,145,173,143,255,127,15,190,158,130,53,3,172,143,53,3,172,143,53,3,172,143,53,3,172,143,53,3,172,143,53,3,172,143,53,3,172,143,53,3,172,143,53,3,172,143,53,3,172,143,53,3,172,143,53,3,172,143,53,3,172,143,53,3,172, +143,31,199,35,61,207,197,151,204,29,128,199,224,126,209,222,7,0,180,238,203,127,254,24,140,245,194,19,29,220,199,213,50,192,5,137,14,134,113,192,103,32,249,248,161,79,178,156,12,12,38,6,205,107,216,199,160,52,174,112,108,143,96,172,232,141,89,60,54,18, +224,188,171,93,8,193,229,228,209,9,242,49,216,201,165,27,188,198,73,5,75,120,58,57,231,66,158,136,122,32,118,210,185,28,159,29,47,152,49,63,18,6,176,227,244,198,235,152,247,50,146,225,202,24,96,69,53,160,38,144,38,180,174,235,196,158,52,177,138,17,228, +201,224,26,164,44,137,118,73,108,78,147,169,9,47,146,36,169,233,164,199,118,210,237,184,170,170,74,105,156,2,5,87,204,32,240,218,84,1,202,255,18,158,200,1,51,197,164,105,146,86,52,78,203,20,196,8,184,194,228,63,14,42,64,17,223,18,157,38,85,142,10,73, +142,201,231,80,11,145,216,149,118,29,171,74,254,144,34,124,74,4,151,175,201,241,100,244,219,52,185,150,1,44,163,202,191,137,124,5,177,34,137,69,76,81,43,38,184,252,88,33,178,120,193,27,39,67,245,52,97,181,100,2,90,29,88,179,218,205,147,28,43,49,107,221, +243,69,215,43,1,150,113,152,17,247,138,240,52,217,149,20,173,103,211,105,82,78,167,227,162,174,211,186,170,18,97,164,1,49,6,51,248,192,61,166,239,183,140,174,31,235,247,244,151,219,9,176,175,53,207,245,245,173,201,33,81,47,79,181,226,51,121,14,54,54, +166,27,147,73,133,101,153,249,42,194,174,126,81,34,62,56,125,48,41,171,98,80,87,70,114,9,26,171,134,15,4,99,90,48,13,2,200,6,173,137,104,174,111,127,210,190,0,234,118,157,216,87,210,73,174,252,164,26,100,131,98,115,180,53,75,38,156,38,133,46,41,233,26, +122,255,113,199,0,106,50,229,196,233,21,5,80,157,190,255,222,179,247,190,254,95,255,234,176,40,110,75,162,215,114,98,228,93,33,183,196,14,208,150,55,175,230,145,86,23,122,250,132,208,4,215,204,67,74,155,222,160,153,108,72,97,103,21,205,210,146,215,73, +17,32,10,196,244,116,99,227,173,249,231,62,247,143,110,61,251,236,107,101,89,14,136,49,20,195,214,164,150,80,252,207,183,127,235,75,175,102,223,249,133,10,202,140,190,70,254,0,151,239,130,94,162,200,21,32,51,132,148,63,202,220,232,45,127,250,2,29,52, +179,106,197,45,28,115,32,67,163,204,133,252,102,244,185,93,208,183,75,150,21,76,74,160,103,230,207,125,227,75,131,47,255,19,14,28,164,66,34,105,64,146,12,32,96,242,199,14,4,26,9,192,229,74,207,230,156,79,203,55,223,250,137,143,191,254,195,191,48,188, +113,147,228,175,94,213,86,138,248,235,87,248,11,218,220,35,189,166,230,71,104,44,76,138,68,136,230,117,117,134,207,209,49,83,11,103,100,25,123,247,173,183,216,91,123,187,255,251,240,185,231,94,173,202,114,98,129,41,45,198,60,207,211,255,113,244,155,191, +152,124,182,254,18,38,150,84,204,16,185,25,27,178,134,240,24,145,201,150,192,138,125,204,115,193,106,197,57,194,253,171,31,213,222,243,230,42,100,37,43,216,221,163,59,47,126,246,222,31,249,215,251,59,123,71,37,43,83,146,100,6,64,63,214,32,80,77,168,22, +157,2,242,162,24,158,158,158,222,26,78,38,4,0,154,41,35,162,209,141,136,144,80,194,188,111,166,215,39,232,42,56,24,160,45,158,57,52,114,57,149,183,154,36,88,79,103,123,243,60,31,200,65,38,14,225,75,6,152,206,166,27,243,122,182,181,37,198,140,39,137,99, +128,197,206,1,108,189,107,63,97,25,64,223,49,145,53,137,146,159,155,71,150,21,184,250,171,153,78,174,252,209,7,247,239,222,220,217,218,57,150,178,1,60,11,101,33,14,56,47,131,240,243,18,127,201,9,254,89,230,249,240,248,222,189,91,18,130,107,6,80,114,85, +152,191,193,170,181,167,125,191,117,178,46,51,88,134,137,90,244,193,234,119,182,158,4,161,179,217,86,46,49,128,111,161,72,76,194,231,243,249,168,168,139,137,226,27,11,41,12,49,128,249,170,202,190,103,153,139,123,211,232,57,151,88,91,189,97,71,82,132, +143,137,57,154,223,173,202,106,244,163,179,31,221,146,24,22,140,5,101,231,181,119,254,31,186,4,32,238,90,196,97,100,75,59,16,72,43,76,130,62,56,62,190,41,209,152,239,135,107,240,20,176,182,184,238,157,33,140,160,233,64,0,251,224,145,121,146,128,55,210, +33,145,146,7,231,179,77,169,255,83,57,163,41,97,18,163,2,160,40,242,97,89,231,155,250,211,220,49,65,67,118,112,218,155,222,199,128,220,76,189,38,156,36,16,110,133,241,70,178,169,71,150,117,56,211,224,31,29,171,37,74,22,208,103,18,121,93,53,60,134,163, +3,57,66,86,99,195,0,203,104,240,40,49,128,91,249,180,186,20,24,44,138,17,148,229,13,37,126,173,254,119,160,137,27,31,23,70,8,205,218,171,223,49,137,247,60,196,11,161,132,112,147,212,224,13,73,113,198,139,124,163,148,8,127,40,213,131,21,171,100,44,22, +101,57,172,69,62,162,143,113,67,22,22,89,247,22,3,180,89,18,205,123,22,5,128,195,139,194,176,0,51,234,160,145,40,86,70,112,163,10,192,92,43,12,227,36,163,25,206,14,200,12,37,48,234,153,206,87,106,10,94,57,8,180,196,39,114,228,243,249,166,68,87,135,108, +48,136,172,116,225,144,122,148,248,190,56,183,79,29,40,244,153,163,71,10,216,223,114,76,39,167,148,152,112,62,27,151,53,249,38,82,237,19,38,6,144,159,47,36,94,169,235,124,192,148,46,78,220,106,102,29,91,211,39,178,207,28,202,149,99,222,105,88,64,175, +105,171,76,184,34,51,184,199,168,228,70,109,164,4,56,86,146,175,242,122,240,64,28,223,46,139,50,133,33,192,195,242,157,92,105,52,208,227,80,168,201,25,52,159,111,236,205,102,55,64,24,244,206,152,71,192,112,165,135,160,207,94,239,49,8,196,66,37,184,140, +35,205,119,146,123,5,217,124,122,54,34,19,208,119,85,211,123,211,179,233,164,204,139,180,81,0,220,145,73,191,194,189,213,155,184,43,154,43,193,187,190,253,73,31,71,64,199,178,176,114,0,140,218,209,167,24,215,252,100,247,232,86,89,84,169,189,56,22,167, +120,156,172,0,23,248,33,9,160,214,79,81,108,60,41,196,142,182,0,124,9,16,172,216,16,189,163,181,22,176,193,13,125,8,28,3,88,208,97,113,51,169,160,197,110,49,155,141,201,65,5,156,23,88,85,41,89,236,169,92,112,243,233,108,67,200,201,182,68,99,17,35,144, +49,8,188,63,141,36,0,3,227,26,213,33,2,182,64,143,196,232,49,68,3,49,193,103,130,177,196,205,7,229,97,121,191,76,6,91,89,45,180,15,196,2,237,43,115,5,95,181,4,80,171,138,233,65,226,108,58,221,29,15,135,35,103,1,56,244,207,26,27,222,71,254,76,120,86,0, +107,94,67,140,16,24,34,82,0,187,224,17,253,155,37,169,148,143,42,35,1,188,89,147,216,112,62,193,90,36,74,107,152,21,223,252,215,144,81,159,150,88,73,71,54,132,114,192,146,148,71,95,15,109,140,70,34,36,10,13,212,59,211,249,116,2,74,3,60,28,21,112,238, +124,128,85,204,13,37,172,229,133,167,247,238,221,20,116,47,44,4,114,254,138,143,96,128,216,114,118,12,195,34,234,194,251,188,197,12,78,255,155,147,27,243,74,2,83,105,161,12,204,189,184,168,159,52,3,55,144,139,132,5,171,189,249,183,199,143,239,44,132, +70,38,160,49,233,52,145,107,143,228,216,90,255,93,38,169,157,68,73,228,127,243,42,223,60,41,78,118,110,177,155,247,125,226,247,249,2,46,98,29,164,87,141,1,84,100,77,254,229,114,48,156,76,64,105,110,181,137,107,29,227,61,132,111,89,122,62,94,192,104,180, +111,249,160,132,2,128,134,43,165,48,42,135,162,170,6,228,82,37,151,181,242,195,203,119,165,25,56,22,3,76,26,147,15,60,129,31,88,20,10,188,181,29,63,208,130,137,224,76,60,112,6,37,122,127,125,241,239,51,81,99,95,164,242,191,138,149,155,211,100,186,37, +37,141,16,218,20,228,87,237,13,188,50,63,128,23,239,151,115,174,252,1,60,41,138,3,72,120,162,1,32,116,23,56,176,136,13,207,226,204,129,6,16,162,240,152,2,26,53,18,115,1,211,99,231,131,160,172,31,114,72,85,35,172,156,4,176,193,22,9,87,202,137,180,19,19, +203,156,237,149,15,173,149,222,118,4,249,6,161,240,220,64,214,3,80,59,66,163,89,237,13,62,96,158,12,176,108,165,177,4,169,151,26,196,86,206,102,59,114,160,4,46,18,59,230,171,244,5,92,185,4,80,186,138,194,87,69,49,16,69,113,168,137,198,218,78,159,69,32, +30,123,196,191,93,205,44,32,246,66,201,0,129,223,64,210,191,172,7,181,148,0,194,34,106,5,75,16,36,46,24,51,51,118,112,235,53,198,2,161,107,8,60,15,64,155,53,152,51,252,186,66,31,220,231,218,113,5,240,216,71,240,98,227,180,62,57,20,149,28,23,87,57,11, +124,65,124,249,209,50,128,231,170,84,147,88,228,249,104,243,236,236,118,34,234,246,10,5,232,70,81,156,137,7,17,32,231,233,117,31,12,58,128,24,56,129,124,75,2,188,248,130,121,67,148,213,72,142,109,172,135,172,179,147,72,122,229,243,124,34,198,164,2,176, +133,247,99,132,247,191,175,97,22,116,104,95,56,51,182,45,77,66,196,239,107,127,29,60,178,207,180,75,168,218,40,39,39,195,147,3,81,10,128,1,176,199,217,12,132,150,175,154,36,128,100,128,39,165,4,200,162,129,26,108,3,64,183,124,2,85,225,175,244,80,228, +199,176,65,139,9,172,25,233,71,138,145,149,101,49,146,99,155,160,183,146,36,22,72,103,243,217,182,52,15,1,23,71,155,60,190,133,32,12,212,126,7,156,59,8,3,198,129,206,149,109,220,224,161,133,93,41,3,118,230,135,85,94,67,182,145,182,98,45,143,165,25,200, +156,103,141,137,217,108,182,185,145,101,155,29,34,70,221,189,184,192,255,143,241,232,160,79,124,17,9,20,33,118,178,53,76,86,210,64,72,113,239,231,40,170,228,149,178,216,176,33,105,244,162,246,24,209,83,16,121,13,35,134,105,243,105,136,176,81,236,21,108, +185,151,211,36,101,165,40,246,243,34,247,29,87,87,42,1,174,42,26,232,59,41,56,229,223,77,31,60,216,175,132,24,183,137,236,173,220,142,7,208,243,20,10,236,218,241,214,132,108,49,14,152,107,49,194,80,97,44,65,94,10,202,79,49,170,139,98,34,172,67,69,210, +187,150,19,91,150,213,38,5,94,172,0,71,47,74,135,45,63,63,182,200,212,228,8,180,125,82,93,243,49,100,34,223,239,199,188,200,98,35,17,18,41,160,79,139,147,253,89,61,27,201,239,18,222,60,63,186,104,224,2,198,176,129,32,121,111,92,176,227,227,3,185,180, +134,141,62,6,79,103,131,97,61,8,124,2,126,50,8,235,81,5,49,215,49,182,177,132,85,23,192,26,23,52,145,150,48,159,16,25,86,210,18,208,181,0,148,111,198,84,6,147,168,71,196,76,244,209,218,69,244,109,176,183,54,154,217,18,85,120,209,65,240,174,110,51,9,70, +88,169,27,205,4,207,114,208,191,87,155,239,38,83,112,202,166,187,57,159,79,228,239,29,251,56,139,18,68,30,9,6,88,192,4,54,10,40,241,11,199,52,207,247,229,72,135,154,240,193,106,116,22,19,182,147,229,124,191,191,37,96,104,226,133,207,25,107,71,21,133, +199,4,190,235,217,74,25,174,28,68,216,198,44,218,180,66,47,109,195,129,70,230,39,171,112,71,40,193,218,49,139,70,22,216,199,194,187,170,29,93,180,65,229,230,119,88,139,161,172,18,210,190,128,122,183,100,210,68,85,214,181,112,150,128,113,6,224,181,51, +192,50,39,16,61,166,120,123,149,231,55,229,40,7,45,179,205,183,207,125,80,216,151,38,17,234,241,142,254,15,128,160,207,16,16,16,95,185,152,41,176,202,201,55,128,177,220,58,160,84,69,23,205,111,86,40,186,216,128,136,234,244,246,170,110,171,17,63,73,172, +9,28,135,247,10,45,121,97,175,32,75,160,132,124,119,90,158,237,144,122,234,36,41,60,134,126,0,181,186,10,201,0,131,211,211,155,153,20,173,206,17,19,66,165,150,184,14,99,248,61,160,80,193,75,17,1,135,44,194,12,44,154,91,128,148,124,201,208,47,76,81,191, +202,19,46,180,203,66,40,231,13,26,2,104,145,44,90,115,223,228,5,98,43,35,0,13,147,120,104,39,80,3,177,36,179,208,82,64,15,160,1,203,119,102,187,167,249,233,30,74,129,175,150,83,19,113,125,108,204,192,86,190,154,74,5,171,42,126,43,207,111,140,41,254,62, +24,4,121,0,158,52,16,145,212,173,168,69,224,185,117,67,19,208,254,21,162,241,37,132,94,65,39,1,72,203,144,46,7,132,8,91,130,118,10,57,18,162,209,199,220,169,2,104,37,134,176,78,90,72,179,230,109,182,95,44,183,16,91,57,4,139,19,197,196,141,106,43,63,158, +239,138,66,50,225,16,90,85,86,87,17,15,184,10,9,128,190,35,136,68,43,229,215,237,50,182,155,182,34,125,204,115,246,88,175,94,232,2,198,136,103,16,219,42,193,247,10,10,11,44,133,39,129,61,241,109,167,72,104,203,130,60,170,2,76,153,88,171,80,148,84,2,175, +53,70,21,164,119,61,243,168,29,200,133,78,36,18,156,211,167,201,7,110,16,129,240,254,245,213,75,104,68,134,150,133,253,158,100,156,192,188,154,238,215,105,37,89,55,99,143,212,17,212,99,110,128,23,15,80,232,244,236,248,120,71,226,128,45,37,254,67,127, +62,195,120,52,23,252,247,33,78,124,22,152,135,16,132,151,25,246,184,147,133,147,30,2,84,21,129,159,94,162,109,17,174,242,242,229,215,217,172,221,70,212,131,193,1,126,148,176,137,236,181,215,51,235,24,140,93,236,223,198,6,200,48,240,30,248,40,33,149,198, +224,209,252,232,176,28,84,217,128,13,106,3,2,163,206,160,71,22,13,116,49,0,26,148,52,1,241,244,116,143,178,111,123,245,63,243,60,116,128,11,192,96,219,142,111,28,133,24,137,43,132,110,98,214,85,3,142,51,98,197,21,96,106,180,208,100,232,177,86,188,142, +123,46,27,107,8,134,153,40,216,210,248,221,149,47,162,176,48,166,0,26,48,73,190,128,19,60,57,168,152,202,12,170,188,112,240,227,3,2,61,7,5,85,92,86,105,89,110,39,66,108,40,147,75,96,220,85,230,86,38,196,131,57,173,252,62,214,117,238,56,135,17,118,189, +140,49,151,176,41,40,145,75,93,89,96,17,95,28,210,112,107,79,5,160,151,203,135,65,120,8,58,33,98,214,97,134,152,7,0,61,117,129,29,227,49,156,29,50,5,51,150,243,249,65,205,235,76,10,167,57,21,174,250,25,194,143,60,28,108,137,111,147,65,9,138,213,121,46, +33,0,78,90,182,56,11,252,0,78,8,219,52,241,112,229,138,174,104,87,34,223,83,9,78,5,68,174,117,165,101,230,185,202,74,18,26,54,176,118,9,182,98,8,165,7,192,84,232,212,46,40,203,61,188,207,29,54,239,50,0,180,18,69,177,229,51,20,129,15,177,43,45,186,46, +100,116,4,226,44,199,252,32,47,231,19,57,215,39,118,158,213,72,56,191,180,47,224,42,37,128,26,84,85,215,0,84,13,84,148,27,206,2,96,145,192,15,4,240,123,217,109,68,227,255,145,194,17,196,168,62,117,140,192,129,117,145,28,49,19,9,47,222,98,0,77,10,174, +214,63,56,127,128,232,129,131,208,114,11,55,214,64,83,246,17,2,193,198,96,20,81,68,96,199,127,186,117,114,99,90,78,183,228,101,239,217,175,191,42,53,112,85,126,0,176,174,213,92,50,192,222,108,118,176,83,85,137,75,7,95,74,88,22,215,229,225,155,34,32,46, +122,82,1,35,249,6,126,45,129,181,70,168,168,20,64,120,225,96,197,17,4,2,229,233,106,249,124,146,10,151,221,139,173,76,158,118,13,145,104,71,242,90,114,0,91,198,97,168,2,250,204,64,97,236,143,234,137,124,47,127,123,190,1,34,90,135,252,248,56,130,168,17, +3,73,128,177,16,187,19,235,180,233,211,83,177,202,202,208,137,227,219,250,190,217,136,30,46,104,121,5,35,137,34,162,157,76,2,186,49,68,29,168,54,146,254,74,185,212,174,110,79,123,255,173,21,32,92,181,80,147,193,195,188,156,224,38,227,39,4,134,194,201, +133,182,85,208,118,6,55,242,202,247,67,106,150,73,54,147,73,81,23,91,140,106,68,224,106,35,184,87,202,0,105,154,86,85,81,76,230,69,177,71,213,184,206,22,103,16,120,249,32,48,34,177,29,11,112,129,21,240,69,116,4,220,137,254,0,17,250,17,196,134,113,80, +215,123,139,144,49,149,47,128,219,198,37,162,55,80,10,65,0,215,127,206,189,28,31,108,49,6,122,254,127,110,234,134,181,143,49,81,255,250,30,0,93,29,132,206,244,84,133,162,233,209,236,232,32,57,224,212,217,228,241,115,5,91,48,149,14,6,5,20,197,126,125, +255,254,45,151,149,139,16,184,61,61,100,222,237,156,96,136,203,61,43,193,3,141,246,9,247,164,128,167,71,155,149,110,65,36,52,140,80,202,53,76,64,16,20,2,100,16,250,94,73,137,165,146,52,73,97,114,115,209,65,64,238,224,31,247,8,207,61,18,129,115,29,183, +5,156,112,129,32,108,73,132,134,41,218,30,67,95,82,52,242,69,240,58,189,47,238,61,145,14,210,202,6,129,174,170,79,192,85,73,0,234,195,35,104,98,135,27,27,179,227,170,122,239,248,251,223,101,195,209,144,85,9,176,20,74,198,135,114,122,192,107,10,97,45, +10,82,19,94,226,38,114,179,142,44,19,216,212,110,47,128,164,249,7,91,36,68,79,244,107,39,105,173,153,66,212,146,182,37,43,79,24,251,222,221,154,205,182,54,41,77,153,181,170,8,229,192,210,52,17,213,73,193,126,248,59,111,176,233,248,73,38,117,153,179,120, +192,148,124,89,162,0,54,13,75,156,33,227,20,128,69,105,96,74,190,161,65,245,96,50,133,193,4,151,104,14,140,17,196,141,165,68,133,9,20,233,77,228,153,166,53,203,179,41,131,19,156,111,139,157,59,73,154,170,198,53,87,217,36,226,74,24,64,117,222,74,18,65, +137,160,135,59,59,103,243,95,248,249,191,253,141,217,233,116,242,245,95,255,249,237,147,7,27,48,76,24,121,90,7,146,40,169,92,133,148,39,152,214,149,90,145,116,130,17,229,42,76,3,232,12,3,110,68,189,75,156,128,32,140,192,65,137,79,97,90,13,208,227,130, +94,179,126,166,12,84,0,37,145,218,104,42,56,123,117,244,28,43,14,14,155,196,63,151,134,32,9,53,72,48,159,113,246,157,175,254,46,59,59,253,145,252,109,147,165,47,172,86,215,42,200,117,180,177,134,143,145,50,142,36,158,196,3,69,76,112,230,51,79,36,59,36, +244,90,194,146,36,97,60,77,229,95,206,210,76,62,151,143,179,20,212,88,137,240,48,146,191,206,231,236,134,56,248,225,207,236,255,209,127,240,185,79,126,254,223,212,80,13,83,158,86,126,131,171,71,206,0,166,131,21,245,175,169,133,196,0,117,81,12,159,124, +250,153,215,55,254,250,47,253,210,15,94,250,196,111,28,253,139,127,254,87,118,95,251,193,75,116,179,37,200,27,150,211,159,16,19,212,146,41,104,117,202,149,198,5,157,52,217,77,214,47,168,83,18,15,26,226,235,244,13,52,140,0,170,105,11,49,2,5,108,106,208, +127,21,3,128,126,142,169,252,141,129,156,212,148,147,149,199,70,35,149,174,174,64,160,87,101,161,86,36,197,136,74,90,177,146,9,54,242,169,126,205,165,162,27,181,36,12,225,233,127,98,12,97,180,60,232,80,178,213,66,78,73,16,225,85,248,89,45,113,121,143, +92,159,9,173,116,164,222,116,42,237,75,210,93,62,23,74,16,170,86,73,212,10,104,6,245,203,227,79,253,219,63,254,252,23,255,254,39,158,255,196,183,48,195,140,24,222,118,57,123,100,12,208,151,122,164,24,64,8,78,64,112,62,155,141,54,228,12,190,252,39,190, +252,149,55,94,248,216,119,222,253,202,47,255,197,244,235,255,249,79,110,204,231,195,98,144,169,90,17,34,54,77,0,40,7,77,77,9,79,70,92,107,228,174,141,51,116,117,122,224,199,146,204,138,66,131,35,104,229,19,209,133,33,124,165,164,130,124,46,185,7,229, +9,114,181,161,4,254,167,148,20,106,156,40,30,118,209,205,162,136,1,114,57,166,105,198,178,50,109,28,61,20,56,168,193,180,51,224,13,67,8,179,242,91,185,195,38,175,31,26,0,8,134,131,137,17,56,141,69,50,62,167,21,15,230,76,168,106,217,148,155,113,26,123, +201,246,202,189,55,190,240,225,207,255,227,207,191,248,185,175,236,221,216,191,63,199,249,230,16,134,185,156,219,82,158,4,4,109,32,235,250,163,129,177,31,48,3,225,102,66,69,154,101,101,53,159,143,234,179,179,237,15,63,251,236,107,155,127,249,175,253, +205,255,251,210,203,223,124,227,171,255,242,47,141,223,124,243,121,98,245,138,100,157,226,250,68,225,0,205,0,194,121,245,192,76,8,216,136,157,239,125,3,237,203,85,30,94,221,8,74,25,108,36,178,137,17,42,208,82,64,80,15,0,186,78,254,158,208,61,165,232, +26,227,1,228,141,208,166,0,17,117,135,155,201,21,121,170,165,148,91,209,106,72,202,110,144,175,37,77,74,155,11,99,24,67,145,235,215,141,91,193,136,44,77,120,245,48,49,12,144,104,41,144,82,159,43,121,61,53,133,227,153,46,166,225,85,82,190,180,241,226, +127,122,229,229,159,253,135,31,123,250,99,255,139,15,56,159,229,179,205,209,104,52,247,87,189,109,109,123,237,174,224,165,129,160,54,46,80,83,149,159,158,110,13,229,253,191,240,133,47,252,234,219,207,60,253,253,255,243,181,175,253,249,242,183,126,243, +149,52,159,143,107,201,4,164,175,33,105,162,117,232,217,242,104,171,122,125,107,16,108,121,161,169,161,1,45,31,84,131,5,90,253,160,171,241,20,67,40,169,160,171,131,40,20,76,147,94,83,199,5,174,76,190,198,29,204,53,58,171,230,82,21,205,19,195,0,90,191, +43,198,36,98,41,237,196,155,128,144,195,39,122,124,164,18,180,176,50,4,7,45,246,173,148,160,239,35,92,161,108,10,185,242,185,122,174,27,160,81,103,149,109,177,253,214,103,158,248,244,63,251,236,203,127,232,107,219,59,219,39,243,122,190,157,85,89,49,28, +14,115,95,220,251,249,151,87,145,22,118,101,158,64,211,30,206,53,135,148,167,107,107,82,228,249,176,144,0,241,224,230,237,119,199,127,246,207,253,221,239,62,251,220,239,188,255,31,127,237,23,241,157,119,62,10,89,38,137,150,105,164,140,198,68,50,113,2, +221,170,13,156,65,32,116,63,39,183,242,104,130,85,69,178,245,198,131,6,130,104,56,6,141,116,208,86,161,96,3,73,204,68,163,123,193,77,219,88,133,97,40,207,130,114,67,167,200,210,194,212,251,218,213,45,140,3,8,161,43,238,13,16,5,51,64,110,254,170,215,204, +169,138,82,233,229,84,3,64,200,64,73,2,165,248,51,65,76,80,63,51,126,250,191,125,246,99,159,253,167,207,63,243,252,183,37,143,164,167,179,211,237,129,52,169,165,184,87,139,139,230,211,180,184,21,87,9,0,47,141,1,76,211,95,213,23,144,106,238,203,178,74, +147,36,203,7,131,100,38,81,1,225,239,1,34,31,152,199,195,60,47,134,35,62,16,191,239,167,127,246,95,189,253,236,11,223,250,238,127,248,181,63,253,222,127,255,230,43,229,131,211,61,202,213,115,170,213,160,109,97,136,106,165,110,109,124,243,104,175,1,237, +50,65,99,42,106,149,224,187,27,192,101,34,209,42,219,28,103,236,176,170,49,161,150,177,205,100,74,11,134,250,69,73,140,157,151,76,228,247,181,3,19,27,192,103,138,134,53,168,99,154,224,10,213,27,6,179,14,36,213,190,208,72,1,83,114,216,48,1,17,63,53,152, +64,157,136,187,233,205,239,125,234,169,207,252,202,167,158,255,201,127,191,179,187,123,44,88,149,14,178,108,54,28,14,230,131,193,80,174,254,65,158,73,117,58,144,127,37,67,148,85,197,228,66,42,229,67,9,20,60,12,227,99,129,107,197,0,38,50,149,120,253,128, +217,91,111,126,255,51,103,211,119,127,138,38,177,174,203,148,218,173,18,7,35,82,235,211,154,83,119,14,20,117,178,179,151,229,47,124,233,19,191,119,240,28,251,193,230,131,119,63,173,165,40,120,125,164,154,174,89,194,133,2,180,238,179,126,91,52,177,0,97, +106,191,117,126,47,119,94,99,69,36,133,80,181,190,124,235,251,119,216,59,239,207,51,205,59,220,69,16,36,14,17,69,57,7,44,19,182,191,243,69,54,220,60,144,120,212,239,83,96,124,19,104,204,65,104,208,191,243,118,66,195,48,204,72,45,213,29,141,162,207,220, +4,161,236,95,234,88,87,227,241,110,181,245,157,122,246,52,251,214,171,245,207,213,226,78,146,101,4,242,18,42,89,54,221,77,185,52,249,168,175,113,130,147,81,122,252,201,151,247,191,126,235,214,225,187,52,159,182,103,192,101,37,194,101,84,0,232,40,171, +94,253,146,246,245,241,241,221,15,205,230,223,248,59,47,190,184,253,7,40,46,104,21,55,116,243,168,228,220,230,144,102,227,34,249,242,103,164,77,80,68,242,37,35,25,192,173,148,41,108,133,94,219,233,229,205,119,56,129,45,5,209,111,127,243,183,79,127,229, +43,27,95,221,63,188,241,122,93,85,67,219,140,89,160,72,63,241,194,139,191,254,214,15,171,151,118,119,255,198,167,39,79,236,178,170,16,14,132,106,16,215,78,85,176,104,159,247,100,175,117,194,16,230,111,109,60,213,242,115,27,105,42,94,185,147,23,63,39, +102,10,92,96,171,118,6,209,19,184,0,101,49,173,238,124,240,206,223,251,51,127,106,231,111,85,53,31,74,194,39,118,252,143,12,3,152,46,219,170,223,94,41,165,231,124,126,116,251,240,240,254,199,119,119,7,114,186,242,36,172,125,235,122,212,139,52,244,200, +118,163,65,225,99,236,186,127,91,225,64,17,92,111,211,136,18,182,247,196,232,238,31,126,229,103,126,249,137,39,158,124,171,40,230,19,41,94,11,149,196,90,22,195,207,252,228,31,252,47,119,126,111,240,210,171,111,12,63,125,231,237,148,44,82,150,112,67,108, +174,25,128,27,141,194,205,107,182,251,12,231,77,63,10,223,8,112,94,75,239,142,185,112,89,132,105,157,179,45,132,145,6,181,61,241,44,203,112,101,185,157,189,251,126,254,242,116,122,58,206,6,155,204,52,183,182,18,224,145,96,0,151,157,74,162,189,40,80,130, +191,179,221,167,158,34,157,47,22,16,147,7,132,1,214,223,232,39,70,112,8,158,139,86,206,88,60,3,79,55,118,154,205,78,111,28,61,120,231,5,196,159,248,182,49,255,172,73,37,168,67,200,187,119,222,127,177,78,114,249,218,86,139,189,200,158,1,209,196,180,208, +147,0,126,225,147,107,71,100,53,5,118,178,14,58,181,172,216,243,188,85,80,109,44,14,1,147,221,179,179,187,27,219,233,100,234,183,141,243,51,132,175,179,83,168,151,9,132,82,13,148,233,201,201,209,237,209,104,56,8,186,63,120,39,247,102,128,179,158,182, +95,145,213,31,4,147,122,94,195,160,218,174,253,219,137,20,201,103,27,167,103,239,125,172,170,106,181,114,236,61,200,199,213,217,217,116,251,238,253,147,23,43,41,167,57,196,162,127,241,54,199,173,108,53,22,228,167,176,254,10,182,190,130,167,152,159,13, +141,148,41,203,122,235,232,232,120,223,118,15,245,210,241,47,92,27,120,217,216,162,107,10,73,82,224,244,244,254,109,196,140,175,0,29,122,147,32,250,51,70,98,24,0,23,126,115,231,151,121,197,78,78,239,124,100,122,54,31,81,235,117,35,193,72,153,214,71,15, +142,14,167,179,252,80,136,126,181,26,118,177,109,21,158,134,4,93,20,169,142,84,183,177,24,150,240,152,139,238,109,150,215,155,71,15,170,125,80,37,142,34,185,138,172,160,115,49,128,14,110,112,102,99,210,141,10,208,187,155,36,201,217,129,22,132,98,9,161, +25,91,220,249,121,213,215,241,92,140,38,237,106,246,193,253,187,79,158,156,28,239,167,73,90,218,213,67,238,235,119,222,121,247,185,178,170,55,161,87,250,53,76,192,88,123,117,219,52,69,33,186,43,93,68,138,160,23,181,72,238,83,13,186,127,53,108,76,103, +124,151,20,87,51,247,2,44,93,46,130,5,46,37,1,108,103,112,13,4,171,44,73,138,27,109,88,17,3,126,200,122,82,132,47,65,112,92,202,14,90,2,36,236,228,248,248,214,241,233,209,33,165,128,121,25,182,236,238,221,15,158,169,107,49,114,197,69,44,168,92,143,172, +112,198,186,125,47,93,55,123,219,27,51,36,244,2,105,16,147,8,232,1,65,206,113,50,159,215,251,36,165,172,249,125,217,20,177,203,90,1,182,122,82,228,69,190,9,188,184,5,48,97,77,181,76,44,11,8,88,127,239,108,140,228,138,225,2,203,0,34,168,127,193,120,229, +236,87,101,53,40,139,98,72,155,68,200,147,235,110,97,85,146,23,229,152,186,134,51,172,52,209,132,243,252,234,64,96,80,73,226,170,209,124,180,111,26,146,9,47,161,41,180,208,195,174,120,97,79,43,92,176,62,242,42,27,31,159,242,3,33,42,176,221,247,46,171, +6,46,106,5,128,143,64,201,65,83,149,249,104,103,187,184,193,249,100,9,83,226,5,69,253,42,175,133,12,17,209,225,214,102,4,151,7,100,34,194,80,11,105,165,35,152,40,67,172,182,196,210,222,75,79,180,197,79,206,63,32,60,66,251,153,240,208,15,242,132,136,79, +65,8,129,235,106,59,59,155,237,222,168,170,156,243,100,16,109,25,115,109,45,98,154,150,165,218,29,39,7,53,185,253,132,216,53,49,160,208,35,179,210,10,93,110,5,96,143,201,24,182,114,137,247,142,213,33,6,114,56,114,219,121,179,201,9,80,161,8,29,143,8,197, +111,88,151,18,195,6,171,232,248,206,247,198,246,195,192,136,124,180,210,134,143,37,139,78,14,165,197,197,205,214,119,215,11,2,187,156,171,76,64,21,161,57,59,123,176,55,25,103,99,182,50,46,239,179,247,217,2,245,192,86,120,157,245,56,159,140,249,218,20, +141,182,182,237,210,161,132,166,208,52,172,67,69,182,92,111,163,151,161,46,206,1,246,98,86,69,167,200,9,181,51,106,54,47,247,102,179,249,68,199,183,46,223,51,232,162,126,0,103,108,171,166,16,82,115,206,102,199,210,132,74,135,113,162,138,5,43,27,151,156, +140,245,215,215,135,44,0,11,153,66,237,63,69,241,61,14,162,227,97,80,82,193,110,91,21,89,173,94,91,99,29,231,104,254,210,235,181,5,125,94,177,178,16,109,70,232,35,190,8,190,27,89,91,106,160,87,211,114,124,86,239,157,77,197,38,249,133,130,29,90,174,215, +19,216,50,1,149,230,59,145,22,0,203,206,183,130,151,217,253,231,5,125,184,80,226,24,149,21,239,14,66,73,173,216,36,164,44,178,211,45,48,180,213,109,22,12,58,86,71,182,112,95,204,62,219,31,177,139,153,125,243,147,171,70,167,176,83,20,201,6,167,29,13,219, +24,224,66,185,1,231,174,13,164,100,70,161,89,211,108,177,74,78,32,224,105,154,239,75,189,148,45,215,245,203,128,223,34,144,216,5,120,184,68,239,251,175,9,93,74,14,44,222,172,212,102,164,180,235,78,188,125,39,208,55,80,68,191,134,11,59,223,70,187,227, +123,59,231,48,232,246,209,100,97,87,29,98,128,84,221,239,86,89,138,77,45,137,27,21,144,36,201,181,154,129,110,95,0,122,82,150,69,138,76,245,4,74,186,118,254,170,168,31,207,33,9,22,93,211,253,94,155,74,166,34,113,140,155,68,144,118,19,89,85,253,163,226, +196,232,10,145,16,226,145,62,224,139,251,84,199,202,33,253,225,181,218,30,26,161,22,109,154,30,89,211,211,121,182,115,124,90,31,160,168,232,94,46,189,137,196,165,172,0,51,96,204,243,50,219,152,228,183,178,52,104,202,16,13,10,133,239,183,131,57,253,81, +191,240,187,113,137,212,195,46,155,8,230,41,121,223,225,175,227,113,232,229,36,178,8,10,239,52,39,11,28,59,49,96,23,11,246,56,61,239,221,190,211,249,190,99,73,116,43,231,242,252,96,251,108,58,62,16,162,100,166,43,255,165,152,224,34,24,160,181,57,148, +150,0,101,118,235,86,113,48,28,166,17,98,173,162,18,112,133,207,116,95,195,222,207,196,59,123,42,55,191,234,100,217,148,35,235,220,58,181,97,115,141,74,173,98,167,59,93,232,192,241,155,144,51,104,171,10,139,15,24,46,215,249,45,105,225,177,182,159,10, +1,194,139,58,210,248,147,221,180,172,223,223,171,235,146,118,58,105,209,227,90,93,193,205,143,114,49,157,158,110,142,39,108,171,235,3,88,20,207,95,197,57,20,91,253,125,196,95,14,4,53,6,160,186,64,46,66,108,67,175,57,43,39,226,134,93,68,192,78,44,191, +94,188,29,34,99,193,102,38,61,141,84,195,94,88,182,24,102,58,205,247,41,253,206,154,226,143,202,12,180,189,235,197,217,217,131,253,170,132,13,237,158,196,37,196,246,9,43,86,100,144,85,226,3,43,236,100,98,236,116,173,255,109,153,25,184,116,34,179,239, +97,127,239,15,92,46,111,252,107,252,221,111,162,1,37,193,22,183,82,102,221,109,147,104,76,71,15,138,253,162,196,1,0,250,13,186,46,20,18,62,119,52,208,138,25,187,65,36,165,75,0,76,119,16,235,113,191,199,111,21,134,64,182,106,104,24,25,246,196,24,22,142, +94,218,234,104,74,7,227,102,160,74,40,161,204,228,160,135,37,46,128,25,157,174,118,177,110,53,145,40,31,46,120,45,26,59,48,140,147,200,117,127,54,231,7,117,197,135,202,117,37,240,82,18,224,220,102,96,184,57,164,64,42,172,156,237,73,96,61,105,155,106, +176,32,176,179,170,217,135,43,248,12,160,199,237,28,113,5,91,6,0,64,128,246,125,113,181,111,0,82,227,232,78,74,23,91,224,107,100,44,210,224,4,151,155,132,173,239,14,51,135,34,183,194,161,9,11,215,181,216,171,106,28,82,247,99,63,51,232,34,117,2,23,226, +30,31,117,214,85,13,117,61,187,33,129,207,36,110,179,139,75,196,1,22,1,191,48,100,6,75,200,132,138,1,4,34,195,30,76,65,24,161,174,177,241,14,71,242,251,206,227,217,88,230,0,194,158,198,102,81,135,182,183,249,201,116,150,30,78,167,229,182,53,36,109,235, +184,107,51,3,125,6,40,138,154,75,9,112,107,56,192,193,98,159,254,121,212,193,74,242,104,133,88,128,255,156,51,157,233,13,206,19,24,122,4,133,114,106,97,148,175,250,26,154,54,161,132,229,196,95,6,210,99,193,33,223,210,0,231,11,184,121,112,54,5,82,187, +30,174,16,15,159,1,236,86,107,62,19,228,121,153,236,239,23,7,219,219,98,5,15,31,246,136,238,213,220,186,24,105,211,188,26,163,96,3,190,48,222,39,80,153,129,20,35,180,133,169,176,64,252,199,222,135,184,238,94,93,189,70,62,135,193,235,96,44,12,118,176, +85,148,201,150,32,103,16,186,182,177,23,202,13,184,140,4,80,137,149,179,217,124,56,28,21,187,131,1,239,49,251,216,57,86,122,159,120,183,115,12,17,177,191,44,245,188,185,77,33,180,167,55,74,28,93,159,217,20,166,122,226,223,218,252,54,253,219,39,148,159, +18,238,51,71,184,226,1,226,76,180,136,105,124,141,238,3,69,158,102,131,179,233,108,15,245,170,191,148,39,240,34,173,98,193,212,3,40,79,118,145,159,109,230,243,106,87,127,85,24,168,129,115,136,245,176,119,156,191,122,113,133,21,14,61,184,160,65,84,216, +232,127,191,148,202,219,85,72,152,234,163,246,42,247,29,63,139,90,244,216,228,144,24,19,180,246,178,130,5,4,103,221,182,74,225,95,26,226,189,123,243,91,130,252,218,102,183,214,139,134,134,47,42,1,140,184,33,167,202,124,3,145,0,73,194,186,9,28,253,171, +185,203,24,176,224,253,85,59,164,247,93,167,49,146,232,179,149,193,116,32,172,177,69,64,127,226,99,171,159,69,84,1,4,173,144,252,102,68,108,21,235,34,16,106,16,241,68,82,80,232,228,140,31,72,233,207,47,187,103,196,121,93,193,208,142,65,211,254,11,243, +77,206,11,201,0,212,19,176,234,33,254,101,192,30,139,170,2,92,233,243,109,105,128,58,11,32,22,14,38,118,38,253,175,226,1,190,216,239,19,227,81,194,247,255,244,226,17,66,12,246,183,31,187,244,51,34,90,38,193,119,197,14,132,222,76,18,47,19,15,72,47,186, +250,117,70,48,217,164,179,253,36,169,119,186,98,251,162,40,126,209,231,219,13,216,176,85,100,226,227,7,30,7,145,202,203,7,181,215,28,194,163,159,218,70,166,217,118,152,55,182,247,34,208,214,209,96,61,110,9,53,42,191,71,118,176,121,138,175,50,90,27,170, +134,140,103,32,236,217,148,221,144,0,124,52,26,225,137,221,82,246,218,48,128,121,6,117,69,195,155,29,142,198,184,221,175,123,113,137,206,95,166,215,251,63,3,157,221,54,98,217,65,141,76,21,162,29,145,117,146,0,117,159,64,213,139,128,186,197,240,166,14, +176,215,246,247,247,186,12,204,52,27,16,114,129,30,222,222,6,201,119,14,249,152,2,34,122,159,7,82,70,151,203,115,118,58,61,184,57,159,87,147,157,29,113,162,210,242,86,215,147,151,243,4,50,83,13,68,15,242,188,226,227,73,190,183,191,143,131,243,139,119, +88,162,46,96,197,239,131,128,236,109,230,193,214,222,63,200,192,245,141,240,124,1,186,206,158,204,64,221,149,0,226,96,111,161,105,7,93,155,223,223,192,164,133,27,150,33,255,8,16,116,104,6,180,190,170,217,135,14,242,252,119,55,148,235,186,217,69,228,90, +36,128,243,5,20,101,197,211,116,190,183,189,197,89,60,19,248,34,250,126,145,229,192,123,36,11,68,228,112,119,39,95,99,87,163,107,240,226,152,192,58,83,192,37,124,180,178,128,122,136,213,217,44,18,187,82,195,134,114,93,243,40,12,16,126,31,147,69,60,233, +190,235,56,73,178,201,116,54,223,214,153,110,215,36,1,236,208,172,9,88,85,197,48,207,167,55,24,27,178,118,242,199,50,83,45,166,235,87,92,94,43,93,31,67,82,220,184,129,153,0,206,99,193,32,157,20,76,61,3,35,32,16,34,120,32,244,188,135,121,0,204,182,13, +130,126,173,6,145,41,242,85,11,68,188,145,244,183,170,197,224,222,253,153,170,112,242,83,195,30,186,4,112,27,22,169,185,44,135,117,61,221,111,124,0,112,14,145,31,147,18,176,0,200,117,87,119,151,169,248,98,255,131,209,211,212,213,212,118,214,0,215,43, +136,41,35,128,65,35,1,162,142,155,8,216,67,111,133,67,184,217,9,180,71,229,154,136,96,183,193,68,216,73,215,254,158,43,73,247,164,135,124,152,30,61,128,27,6,188,250,27,73,61,92,51,208,248,157,121,173,178,84,203,97,154,230,123,203,37,64,223,138,199,37, +118,83,31,38,128,30,119,70,95,120,152,27,71,144,96,131,193,48,79,179,172,32,194,55,29,54,128,73,56,61,85,55,97,202,195,195,28,203,150,30,239,251,25,108,202,201,44,98,111,241,75,224,20,98,65,243,8,22,168,8,215,103,192,126,23,111,46,75,7,44,203,75,118, +168,83,203,154,26,199,235,48,3,155,114,176,106,190,197,121,37,37,192,36,96,128,85,9,199,86,0,126,139,164,4,44,248,188,47,17,116,243,119,234,178,116,120,248,228,219,59,59,187,247,104,199,112,221,35,128,169,2,215,167,158,122,242,245,52,77,207,132,168,55, +56,95,226,166,229,81,225,210,180,142,241,29,76,17,87,72,75,172,135,14,169,158,223,117,210,194,97,20,72,166,83,60,172,202,50,163,78,168,22,151,93,151,25,8,40,80,84,245,108,103,60,174,247,251,87,239,121,45,129,243,232,121,88,241,218,70,94,115,200,216,225, +193,135,95,223,220,220,152,10,81,82,143,128,90,119,165,21,252,230,205,155,239,221,56,220,121,87,94,121,19,120,163,207,91,141,205,3,98,59,54,13,164,3,68,134,133,61,142,206,86,186,249,162,101,226,237,91,163,123,37,103,236,248,108,251,22,181,223,27,167, +195,162,109,162,63,100,87,48,29,117,77,173,120,139,205,195,3,138,3,172,74,156,190,14,30,141,152,94,236,210,133,115,156,60,120,94,179,225,96,227,244,96,255,169,31,100,89,170,186,110,82,95,128,132,218,114,203,247,183,183,55,31,60,253,145,155,175,170,150, +174,166,221,11,53,49,5,163,14,18,207,50,176,18,130,155,142,111,246,58,110,123,9,37,102,149,122,159,73,204,251,246,187,237,247,218,6,84,60,248,110,223,205,204,195,254,67,106,49,14,88,89,63,113,88,213,212,49,140,93,111,151,48,211,30,80,2,169,124,123,255, +128,0,0,6,122,120,25,19,44,210,249,176,2,102,88,197,213,220,6,133,181,144,12,48,220,186,43,37,192,15,185,68,129,212,115,151,186,132,232,123,97,48,26,14,231,31,253,200,19,175,190,125,175,110,251,1,60,61,13,61,67,107,245,11,98,93,147,45,38,250,209,183, +235,89,183,153,84,184,150,57,235,74,137,36,29,110,151,69,53,72,120,114,124,81,6,184,144,4,160,216,57,213,215,205,230,167,135,89,54,134,197,174,219,101,65,32,22,68,16,23,5,119,96,117,39,123,112,155,101,137,108,52,60,120,255,246,237,15,191,73,237,108,36, +241,43,146,0,70,10,8,82,7,207,63,255,209,239,75,109,90,96,192,103,176,200,186,132,126,25,7,97,96,201,59,59,142,161,224,154,69,178,208,50,104,81,214,147,211,179,98,123,48,200,138,107,145,0,198,19,168,208,243,96,32,167,177,58,185,13,108,131,233,146,192, +186,101,115,47,223,40,121,145,219,183,47,159,16,122,192,223,50,6,75,89,93,145,104,191,249,230,225,225,225,93,2,80,68,120,98,100,208,29,23,21,67,63,249,228,173,55,118,119,143,143,6,67,141,3,90,209,57,92,16,156,12,115,0,89,219,53,140,139,92,92,216,13,250, +248,166,165,255,219,232,51,37,117,22,207,97,235,193,113,114,48,28,102,249,60,175,199,23,105,24,121,94,21,96,246,6,72,235,44,131,138,32,244,201,233,29,41,90,19,70,113,1,110,88,93,181,76,5,179,53,154,176,59,132,216,30,54,24,236,18,219,76,139,67,209,168, +149,90,226,122,4,55,155,51,145,179,150,67,184,65,147,191,131,8,111,229,81,171,125,183,228,7,62,248,128,163,168,63,254,27,91,91,10,0,82,143,192,74,131,64,11,158,16,63,116,123,247,205,143,126,248,131,111,125,240,193,252,143,9,97,76,91,180,114,218,58,253, +133,110,15,107,242,11,154,98,62,101,143,49,189,243,152,142,60,130,113,219,90,11,137,3,180,54,156,245,169,15,118,131,57,179,11,9,130,183,155,48,182,57,65,7,173,50,150,242,153,180,0,18,65,109,228,147,138,13,46,82,24,114,46,219,81,245,211,173,170,65,85, +149,89,89,8,246,163,15,94,255,56,138,111,127,81,26,132,131,34,23,96,60,82,92,59,220,84,195,92,87,138,213,12,206,238,216,211,108,178,98,74,179,108,119,87,98,26,245,36,225,54,213,73,39,109,8,87,168,161,55,169,214,123,182,152,156,126,131,128,85,164,79,51, +150,170,0,146,160,142,90,174,242,162,218,124,127,52,250,228,191,147,18,224,71,196,16,212,123,87,167,130,171,251,74,203,178,76,235,186,96,175,189,118,231,147,223,123,109,240,211,149,100,15,41,226,120,173,146,45,140,5,70,29,190,193,171,49,246,140,0,253, +190,208,155,79,177,86,74,57,232,248,2,96,87,64,8,167,64,56,232,162,114,68,163,238,193,178,23,52,243,71,190,11,206,148,180,98,48,132,131,189,242,205,159,250,253,163,95,221,221,221,125,64,237,110,169,175,48,157,15,141,1,76,71,112,154,172,140,218,195,74, +158,46,103,51,44,139,162,164,70,209,25,245,218,177,217,41,189,34,196,22,107,154,213,174,87,119,219,67,210,8,123,223,159,239,125,30,89,60,239,202,73,18,189,189,3,33,124,146,86,164,239,199,227,65,53,28,226,144,56,135,58,132,6,253,247,169,135,177,188,175, +106,192,185,40,80,76,165,121,93,200,123,172,51,211,4,203,166,94,197,241,0,178,139,229,228,118,228,124,187,171,36,250,219,210,113,221,190,154,26,91,147,244,74,179,180,28,100,163,186,22,195,17,189,47,113,64,105,113,205,67,197,0,214,124,210,12,81,39,163, +81,61,200,50,150,80,137,184,156,43,142,200,151,230,169,65,183,36,110,213,56,241,50,175,130,98,9,206,237,242,129,132,152,64,62,79,229,2,161,166,203,181,6,125,106,219,21,87,150,68,190,84,106,33,167,91,178,86,169,192,201,16,248,136,46,79,104,65,175,150, +116,9,216,99,237,175,180,14,35,187,105,183,121,77,229,48,168,68,76,218,128,41,69,76,178,170,166,251,224,234,126,12,158,121,232,253,1,208,243,161,51,234,84,38,127,55,149,115,89,5,221,42,174,116,143,251,11,154,170,22,179,8,227,246,21,218,122,233,246,220, +247,67,195,182,127,144,215,133,19,206,43,41,31,226,61,97,59,126,161,221,217,254,94,2,15,21,3,96,131,70,152,63,65,33,209,31,19,6,104,37,125,216,201,241,136,143,193,60,248,39,15,61,107,143,227,61,133,204,224,191,247,48,29,65,246,135,148,9,101,203,197,46, +202,84,15,91,2,120,13,161,41,237,191,111,130,252,4,17,176,224,208,111,140,253,56,221,147,207,16,11,238,233,234,37,192,250,248,241,59,248,122,10,214,12,176,62,214,12,176,62,214,12,176,62,214,12,176,62,214,12,176,62,214,12,176,62,214,12,176,62,214,12,176, +62,214,12,176,62,214,12,176,62,214,12,176,62,214,12,176,62,214,12,176,62,214,12,176,62,126,28,143,255,39,192,0,238,147,31,89,162,25,31,21,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; + +const char* projectIconCodeblocks_png = (const char*) temp_binary_data_32; + +//================== projectIconLinuxMakefile.png ================== +static const unsigned char temp_binary_data_33[] = +{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,110,0,0,0,128,8,6,0,0,0,234,21,92,9,0,0,10,65,105,67,67,80,73,67,67,32,80,114,111,102,105,108,101,0,0,72,13,157,150,119,84,83,217,22,135,207,189,55,189,208,18,34,32,37,244,26,122,9,32,210,59,72,21,4, +81,137,73,128,80,2,134,132,38,118,68,5,70,20,17,41,86,100,84,192,1,71,135,34,99,69,20,11,131,130,98,215,9,242,16,80,198,193,81,68,69,229,221,140,107,9,239,173,53,243,222,154,253,199,89,223,217,231,183,215,217,103,239,125,215,186,0,80,252,130,4,194,116, +88,1,128,52,161,88,20,238,235,193,92,18,19,203,196,247,2,24,16,1,14,88,1,192,225,102,102,4,71,248,68,2,212,252,189,61,153,153,168,72,198,179,246,238,46,128,100,187,219,44,191,80,38,115,214,255,127,145,34,55,67,36,6,0,10,69,213,54,60,126,38,23,229,2,148, +83,179,197,25,50,255,4,202,244,149,41,50,134,49,50,22,161,9,162,172,34,227,196,175,108,246,167,230,43,187,201,152,151,38,228,161,26,89,206,25,188,52,158,140,187,80,222,154,37,225,163,140,4,161,92,152,37,224,103,163,124,7,101,189,84,73,154,0,229,247,40, +211,211,248,156,76,0,48,20,153,95,204,231,38,161,108,137,50,69,20,25,238,137,242,2,0,8,148,196,57,188,114,14,139,249,57,104,158,0,120,166,103,228,138,4,137,73,98,166,17,215,152,105,229,232,200,102,250,241,179,83,249,98,49,43,148,195,77,225,136,120,76, +207,244,180,12,142,48,23,128,175,111,150,69,1,37,89,109,153,104,145,237,173,28,237,237,89,214,230,104,249,191,217,223,30,126,83,253,61,200,122,251,85,241,38,236,207,158,65,140,158,89,223,108,236,172,47,189,22,0,246,36,90,155,29,179,190,149,85,0,180,109, +6,64,229,225,172,79,239,32,0,242,5,0,180,222,156,243,30,134,108,94,146,196,226,12,39,11,139,236,236,108,115,1,159,107,46,43,232,55,251,159,130,111,202,191,134,57,247,153,203,238,251,86,59,166,23,63,129,35,73,21,51,101,69,229,166,167,166,75,68,204,204, +12,14,151,207,100,253,247,16,255,227,192,57,105,205,201,195,44,156,159,192,23,241,133,232,85,81,232,148,9,132,137,104,187,133,60,129,88,144,46,100,10,132,127,213,225,127,24,54,39,7,25,126,157,107,20,104,117,95,0,125,133,57,80,184,73,7,200,111,61,0,67, +35,3,36,110,63,122,2,125,235,91,16,49,10,200,190,188,104,173,145,175,115,143,50,122,254,231,250,31,11,92,138,110,225,76,65,34,83,230,246,12,143,100,114,37,162,44,25,163,223,132,108,193,2,18,144,7,116,160,10,52,129,46,48,2,44,96,13,28,128,51,112,3,222, +32,0,132,128,72,16,3,150,3,46,72,2,105,64,4,178,65,62,216,0,10,65,49,216,1,118,131,106,112,0,212,129,122,208,4,78,130,54,112,6,92,4,87,192,13,112,11,12,128,71,64,10,134,193,75,48,1,222,129,105,8,130,240,16,21,162,65,170,144,22,164,15,153,66,214,16,27, +90,8,121,67,65,80,56,20,3,197,67,137,144,16,146,64,249,208,38,168,24,42,131,170,161,67,80,61,244,35,116,26,186,8,93,131,250,160,7,208,32,52,6,253,1,125,132,17,152,2,211,97,13,216,0,182,128,217,176,59,28,8,71,194,203,224,68,120,21,156,7,23,192,219,225, +74,184,22,62,14,183,194,23,225,27,240,0,44,133,95,194,147,8,64,200,8,3,209,70,88,8,27,241,68,66,144,88,36,1,17,33,107,145,34,164,2,169,69,154,144,14,164,27,185,141,72,145,113,228,3,6,135,161,97,152,24,22,198,25,227,135,89,140,225,98,86,97,214,98,74,48, +213,152,99,152,86,76,23,230,54,102,16,51,129,249,130,165,98,213,177,166,88,39,172,63,118,9,54,17,155,141,45,196,86,96,143,96,91,176,151,177,3,216,97,236,59,28,14,199,192,25,226,28,112,126,184,24,92,50,110,53,174,4,183,15,215,140,187,128,235,195,13,225, +38,241,120,188,42,222,20,239,130,15,193,115,240,98,124,33,190,10,127,28,127,30,223,143,31,198,191,39,144,9,90,4,107,130,15,33,150,32,36,108,36,84,16,26,8,231,8,253,132,17,194,52,81,129,168,79,116,34,134,16,121,196,92,98,41,177,142,216,65,188,73,28,38, +78,147,20,73,134,36,23,82,36,41,153,180,129,84,73,106,34,93,38,61,38,189,33,147,201,58,100,71,114,24,89,64,94,79,174,36,159,32,95,37,15,146,63,80,148,40,38,20,79,74,28,69,66,217,78,57,74,185,64,121,64,121,67,165,82,13,168,110,212,88,170,152,186,157,90, +79,189,68,125,74,125,47,71,147,51,151,243,151,227,201,173,147,171,145,107,149,235,151,123,37,79,148,215,151,119,151,95,46,159,39,95,33,127,74,254,166,252,184,2,81,193,64,193,83,129,163,176,86,161,70,225,180,194,61,133,73,69,154,162,149,98,136,98,154, +98,137,98,131,226,53,197,81,37,188,146,129,146,183,18,79,169,64,233,176,210,37,165,33,26,66,211,165,121,210,184,180,77,180,58,218,101,218,48,29,71,55,164,251,211,147,233,197,244,31,232,189,244,9,101,37,101,91,229,40,229,28,229,26,229,179,202,82,6,194, +48,96,248,51,82,25,165,140,147,140,187,140,143,243,52,230,185,207,227,207,219,54,175,105,94,255,188,41,149,249,42,110,42,124,149,34,149,102,149,1,149,143,170,76,85,111,213,20,213,157,170,109,170,79,212,48,106,38,106,97,106,217,106,251,213,46,171,141, +207,167,207,119,158,207,157,95,52,255,228,252,135,234,176,186,137,122,184,250,106,245,195,234,61,234,147,26,154,26,190,26,25,26,85,26,151,52,198,53,25,154,110,154,201,154,229,154,231,52,199,180,104,90,11,181,4,90,229,90,231,181,94,48,149,153,238,204, +84,102,37,179,139,57,161,173,174,237,167,45,209,62,164,221,171,61,173,99,168,179,88,103,163,78,179,206,19,93,146,46,91,55,65,183,92,183,83,119,66,79,75,47,88,47,95,175,81,239,161,62,81,159,173,159,164,191,71,191,91,127,202,192,208,32,218,96,139,65,155, +193,168,161,138,161,191,97,158,97,163,225,99,35,170,145,171,209,42,163,90,163,59,198,56,99,182,113,138,241,62,227,91,38,176,137,157,73,146,73,141,201,77,83,216,212,222,84,96,186,207,180,207,12,107,230,104,38,52,171,53,187,199,162,176,220,89,89,172,70, +214,160,57,195,60,200,124,163,121,155,249,43,11,61,139,88,139,157,22,221,22,95,44,237,44,83,45,235,44,31,89,41,89,5,88,109,180,234,176,250,195,218,196,154,107,93,99,125,199,134,106,227,99,179,206,166,221,230,181,173,169,45,223,118,191,237,125,59,154, +93,176,221,22,187,78,187,207,246,14,246,34,251,38,251,49,7,61,135,120,135,189,14,247,216,116,118,40,187,132,125,213,17,235,232,225,184,206,241,140,227,7,39,123,39,177,211,73,167,223,157,89,206,41,206,13,206,163,11,12,23,240,23,212,45,24,114,209,113,225, +184,28,114,145,46,100,46,140,95,120,112,161,212,85,219,149,227,90,235,250,204,77,215,141,231,118,196,109,196,221,216,61,217,253,184,251,43,15,75,15,145,71,139,199,148,167,147,231,26,207,11,94,136,151,175,87,145,87,175,183,146,247,98,239,106,239,167,62, +58,62,137,62,141,62,19,190,118,190,171,125,47,248,97,253,2,253,118,250,221,243,215,240,231,250,215,251,79,4,56,4,172,9,232,10,164,4,70,4,86,7,62,11,50,9,18,5,117,4,195,193,1,193,187,130,31,47,210,95,36,92,212,22,2,66,252,67,118,133,60,9,53,12,93,21,250, +115,24,46,44,52,172,38,236,121,184,85,120,126,120,119,4,45,98,69,68,67,196,187,72,143,200,210,200,71,139,141,22,75,22,119,70,201,71,197,69,213,71,77,69,123,69,151,69,75,151,88,44,89,179,228,70,140,90,140,32,166,61,22,31,27,21,123,36,118,114,169,247,210, +221,75,135,227,236,226,10,227,238,46,51,92,150,179,236,218,114,181,229,169,203,207,174,144,95,193,89,113,42,30,27,31,29,223,16,255,137,19,194,169,229,76,174,244,95,185,119,229,4,215,147,187,135,251,146,231,198,43,231,141,241,93,248,101,252,145,4,151, +132,178,132,209,68,151,196,93,137,99,73,174,73,21,73,227,2,79,65,181,224,117,178,95,242,129,228,169,148,144,148,163,41,51,169,209,169,205,105,132,180,248,180,211,66,37,97,138,176,43,93,51,61,39,189,47,195,52,163,48,67,186,202,105,213,238,85,19,162,64, +209,145,76,40,115,89,102,187,152,142,254,76,245,72,140,36,155,37,131,89,11,179,106,178,222,103,71,101,159,202,81,204,17,230,244,228,154,228,110,203,29,201,243,201,251,126,53,102,53,119,117,103,190,118,254,134,252,193,53,238,107,14,173,133,214,174,92, +219,185,78,119,93,193,186,225,245,190,235,143,109,32,109,72,217,240,203,70,203,141,101,27,223,110,138,222,212,81,160,81,176,190,96,104,179,239,230,198,66,185,66,81,225,189,45,206,91,14,108,197,108,21,108,237,221,102,179,173,106,219,151,34,94,209,245, +98,203,226,138,226,79,37,220,146,235,223,89,125,87,249,221,204,246,132,237,189,165,246,165,251,119,224,118,8,119,220,221,233,186,243,88,153,98,89,94,217,208,174,224,93,173,229,204,242,162,242,183,187,87,236,190,86,97,91,113,96,15,105,143,100,143,180, +50,168,178,189,74,175,106,71,213,167,234,164,234,129,26,143,154,230,189,234,123,183,237,157,218,199,219,215,191,223,109,127,211,1,141,3,197,7,62,30,20,28,188,127,200,247,80,107,173,65,109,197,97,220,225,172,195,207,235,162,234,186,191,103,127,95,127, +68,237,72,241,145,207,71,133,71,165,199,194,143,117,213,59,212,215,55,168,55,148,54,194,141,146,198,177,227,113,199,111,253,224,245,67,123,19,171,233,80,51,163,185,248,4,56,33,57,241,226,199,248,31,239,158,12,60,217,121,138,125,170,233,39,253,159,246, +182,208,90,138,90,161,214,220,214,137,182,164,54,105,123,76,123,223,233,128,211,157,29,206,29,45,63,155,255,124,244,140,246,153,154,179,202,103,75,207,145,206,21,156,155,57,159,119,126,242,66,198,133,241,139,137,23,135,58,87,116,62,186,180,228,210,157, +174,176,174,222,203,129,151,175,94,241,185,114,169,219,189,251,252,85,151,171,103,174,57,93,59,125,157,125,189,237,134,253,141,214,30,187,158,150,95,236,126,105,233,181,239,109,189,233,112,179,253,150,227,173,142,190,5,125,231,250,93,251,47,222,246,186, +125,229,142,255,157,27,3,139,6,250,238,46,190,123,255,94,220,61,233,125,222,253,209,7,169,15,94,63,204,122,56,253,104,253,99,236,227,162,39,10,79,42,158,170,63,173,253,213,248,215,102,169,189,244,236,160,215,96,207,179,136,103,143,134,184,67,47,255,149, +249,175,79,195,5,207,169,207,43,70,180,70,234,71,173,71,207,140,249,140,221,122,177,244,197,240,203,140,151,211,227,133,191,41,254,182,247,149,209,171,159,126,119,251,189,103,98,201,196,240,107,209,235,153,63,74,222,168,190,57,250,214,246,109,231,100, +232,228,211,119,105,239,166,167,138,222,171,190,63,246,129,253,161,251,99,244,199,145,233,236,79,248,79,149,159,141,63,119,124,9,252,242,120,38,109,102,230,223,247,132,243,251,50,58,89,126,0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,0,0, +53,161,73,68,65,84,120,1,237,125,7,152,28,197,181,238,233,158,153,157,205,121,87,90,173,194,174,34,202,2,33,36,129,64,194,96,242,35,7,131,237,251,12,56,2,182,177,253,192,143,96,44,27,219,23,108,227,135,237,11,215,198,15,184,228,100,131,201,225,145,51, +40,24,37,16,146,80,206,187,210,230,60,211,117,255,255,204,212,104,52,154,213,102,105,120,31,245,109,109,245,84,87,85,159,58,127,157,83,167,66,87,139,124,225,190,224,192,23,28,248,130,3,95,112,160,11,14,56,93,220,255,60,222,182,117,98,104,226,42,16,127, +29,23,253,249,188,180,149,252,124,82,31,161,154,117,176,158,49,225,72,244,94,255,121,223,7,79,240,226,253,94,137,62,79,63,62,207,192,145,118,23,62,17,40,198,231,192,7,225,61,248,86,248,38,248,120,103,243,242,254,231,82,18,63,143,192,89,166,91,192,2,112, +19,195,225,240,209,142,227,28,10,32,42,140,49,165,8,179,225,153,166,30,241,155,225,215,34,254,3,164,123,23,113,235,225,173,163,36,218,178,108,220,23,97,63,115,128,76,182,110,176,235,186,255,11,126,145,207,231,51,61,240,77,72,251,52,252,217,182,32,132, +148,92,250,47,220,0,112,192,130,150,13,176,126,1,198,239,72,0,43,140,223,29,240,33,120,94,199,123,198,211,123,240,198,239,247,171,199,245,219,240,39,199,209,234,143,187,254,226,178,31,56,160,210,0,134,207,3,104,43,201,252,168,39,72,244,246,119,151,33, +202,240,160,54,67,160,41,28,7,224,125,248,93,20,165,211,54,144,126,32,123,224,138,248,60,16,73,26,41,41,223,64,248,56,152,94,140,144,140,183,125,93,183,84,28,242,9,250,55,25,49,98,132,83,94,94,238,162,191,115,26,27,27,195,12,225,166,194,159,11,32,63, +244,60,111,19,202,230,51,83,218,104,33,129,169,236,72,31,85,222,57,8,31,132,39,88,52,36,168,210,122,100,88,65,82,5,160,200,216,177,99,101,234,212,169,50,108,216,48,1,80,110,67,67,131,180,183,183,135,113,191,8,32,126,29,207,250,0,233,214,160,252,148,6, +47,149,117,58,37,137,32,85,192,223,1,79,199,223,189,106,108,148,56,186,252,252,124,25,58,116,168,74,31,128,18,0,230,172,93,187,214,15,0,67,72,19,68,220,227,72,54,19,254,99,120,109,56,8,83,206,117,75,205,28,76,170,33,1,215,225,249,133,240,29,240,189,6, +141,210,70,151,145,145,33,80,145,178,109,219,54,161,180,81,18,179,178,178,4,160,177,17,243,25,217,120,230,93,8,57,14,100,67,233,145,100,35,253,1,113,41,73,20,106,206,6,69,78,143,1,19,151,34,76,135,103,159,211,43,122,41,109,236,223,178,179,179,229,240, +195,15,71,49,34,91,183,110,149,218,218,90,5,177,163,163,67,239,235,141,72,255,233,135,228,93,3,176,111,66,92,74,74,93,170,170,74,5,8,210,112,38,24,71,208,122,173,34,9,6,85,162,117,80,139,82,93,93,45,205,205,205,26,79,80,173,143,166,81,45,132,184,31,227, +247,125,240,91,224,109,67,138,38,57,248,65,175,84,207,129,34,27,192,221,128,103,141,134,167,244,245,73,173,19,28,74,22,165,44,20,10,9,36,89,213,100,2,104,172,26,27,13,27,74,54,238,213,3,244,55,112,205,103,239,65,31,63,14,182,235,19,51,6,136,120,203,164, +65,96,218,33,209,103,244,27,157,22,48,74,97,188,36,38,212,197,170,228,11,16,159,9,159,114,125,93,191,49,36,161,226,125,249,169,76,195,252,99,25,90,252,136,104,65,150,145,177,114,41,41,189,113,4,139,224,5,131,65,149,184,78,192,211,198,131,103,140,71,218, +47,71,159,147,82,188,74,41,98,226,129,128,97,48,44,250,155,106,50,134,18,25,77,67,195,170,187,238,0,200,52,4,11,227,54,5,171,173,173,77,251,56,170,78,52,144,206,36,143,207,165,59,43,18,164,150,170,76,85,227,132,204,28,154,8,10,153,79,70,231,228,228,72, +83,83,83,204,156,167,73,79,115,63,49,61,25,158,150,150,166,96,49,61,29,199,112,211,166,77,83,224,95,124,241,69,33,136,148,62,130,152,144,95,27,11,232,152,141,108,84,151,205,240,140,75,137,190,46,101,37,14,12,226,212,22,157,50,138,204,197,12,135,2,198, +177,216,145,71,30,41,199,30,123,172,2,70,233,35,120,137,46,61,61,93,90,90,90,52,79,89,89,153,12,31,62,92,45,202,45,91,182,200,200,145,35,229,178,203,46,147,194,194,66,5,143,13,34,193,41,112,0,179,18,247,38,70,239,237,251,144,132,76,7,234,103,42,90,149, +218,170,193,176,211,224,143,66,139,55,144,26,151,0,96,142,81,61,165,103,247,238,221,50,121,242,100,149,160,213,171,87,171,26,68,82,229,27,67,130,70,147,127,214,172,89,114,234,169,167,42,208,135,29,118,152,28,122,232,161,146,153,153,41,143,60,242,136, +140,27,55,78,38,76,152,32,139,23,47,214,252,118,144,30,101,62,233,160,81,194,49,221,91,240,28,79,146,95,86,133,226,242,224,185,148,85,149,144,32,78,63,197,0,56,241,196,19,229,152,99,142,209,65,52,251,184,101,203,150,201,221,119,223,45,103,156,113,6,39, +142,101,195,134,13,170,70,237,64,187,190,190,94,239,29,127,252,241,66,105,179,198,8,239,183,182,182,234,156,229,173,183,222,42,115,231,206,149,241,227,199,203,39,159,124,162,106,149,247,19,29,26,208,84,196,113,76,151,18,160,145,190,148,5,14,160,193,150, +240,171,212,140,30,61,90,206,57,231,28,153,56,113,162,2,71,181,118,220,113,199,169,180,92,117,213,85,42,117,172,12,37,134,179,35,4,109,250,244,233,242,205,111,126,83,211,80,181,178,127,4,0,218,183,177,63,99,153,148,200,155,110,186,73,42,43,43,153,61, +126,246,68,127,227,159,170,75,208,50,54,26,145,18,253,155,37,46,213,66,237,71,0,218,173,67,134,12,33,163,66,191,251,221,239,76,85,85,21,248,183,199,1,36,3,201,49,96,60,211,24,204,246,235,90,92,52,143,121,234,169,167,12,164,103,79,134,132,43,222,91,181, +106,149,57,225,132,19,52,127,81,81,145,129,148,39,174,231,113,101,130,113,11,83,141,73,169,72,143,2,87,80,80,240,59,128,167,192,173,92,185,82,217,254,209,71,31,153,199,30,123,204,96,218,42,6,195,166,77,155,148,241,152,40,54,80,137,122,13,233,52,117,117, +117,177,52,219,183,111,55,15,63,252,176,185,229,150,91,204,219,111,191,109,8,186,117,47,188,240,130,230,129,181,153,8,26,127,43,112,0,244,147,84,100,84,170,209,164,6,19,12,145,223,128,48,115,242,201,39,135,96,77,154,37,75,150,196,24,12,80,205,162,69, +139,148,247,48,82,12,44,67,189,103,165,141,18,106,29,239,163,31,211,251,23,92,112,129,33,168,4,209,58,74,242,33,135,28,162,247,115,115,115,19,193,179,192,125,148,106,76,74,25,243,54,145,49,104,237,237,140,3,51,181,239,121,229,149,87,52,201,247,191,255, +125,185,246,218,107,229,222,123,239,213,120,142,211,102,207,226,242,153,200,172,153,71,104,152,1,139,210,186,55,223,124,83,222,120,227,13,25,51,102,140,212,212,212,8,84,163,60,240,192,3,186,172,195,52,121,121,121,114,254,249,231,107,114,94,3,80,155,53, +22,162,111,220,25,253,161,125,94,236,198,65,188,72,89,224,192,64,5,14,161,195,65,50,39,135,233,158,127,254,121,5,147,179,252,219,177,166,70,3,230,195,149,107,245,94,93,11,151,211,224,124,123,108,174,29,59,118,104,20,13,147,151,94,122,73,158,125,246,89, +121,250,233,167,101,233,82,90,247,176,206,144,159,3,122,58,52,22,13,227,254,89,20,119,197,197,165,196,101,202,2,7,203,175,158,28,122,239,189,247,116,134,132,3,102,186,55,222,124,75,62,251,108,141,212,236,174,18,39,16,148,134,250,70,49,107,63,149,121, +99,33,12,155,222,144,113,72,179,3,191,27,26,34,51,37,129,64,4,196,112,216,211,241,27,140,22,45,103,243,230,205,26,210,252,167,117,73,151,48,142,211,184,232,63,59,70,72,25,137,219,211,52,227,201,76,129,235,93,187,118,213,141,26,53,10,32,125,166,179,29, +52,239,233,166,77,28,43,191,253,237,239,164,108,210,209,82,187,234,53,25,108,94,144,229,79,139,4,210,10,161,230,154,48,205,50,88,90,27,111,149,198,247,33,141,19,174,145,142,112,68,138,178,130,33,25,156,219,44,217,21,99,100,233,199,171,133,101,211,113, +53,28,253,165,94,219,105,49,253,17,249,103,129,202,141,198,89,9,140,75,242,197,165,229,128,114,26,106,235,116,76,81,145,81,97,244,73,198,131,249,254,227,43,127,200,223,102,48,224,122,240,234,114,179,224,86,49,139,111,23,211,241,126,161,49,75,128,219, +191,196,44,188,77,204,35,151,151,152,237,79,138,193,158,101,179,252,145,35,204,57,179,57,109,230,131,215,225,133,193,84,151,105,106,106,84,251,100,211,230,205,90,38,13,19,244,151,157,25,39,17,100,45,133,41,16,166,172,196,161,79,170,227,64,26,206,249, +47,204,144,92,116,225,133,114,195,47,111,148,182,234,13,114,92,217,63,229,132,147,178,100,213,170,161,226,194,134,241,249,118,2,189,18,113,124,5,50,126,50,22,172,157,42,105,237,40,19,55,203,39,19,199,124,40,247,220,156,38,63,93,149,35,11,151,109,149, +38,255,57,114,201,181,191,134,218,204,82,246,191,255,30,119,164,71,140,148,36,18,167,247,240,143,243,166,148,58,18,68,41,36,216,7,213,89,85,112,80,137,72,120,56,37,46,140,217,145,195,193,157,5,131,74,138,101,203,214,109,242,207,167,159,149,25,163,74, +100,237,115,23,203,196,201,43,164,160,4,175,6,24,188,207,193,212,152,100,22,223,24,172,83,231,33,231,42,92,131,191,80,145,198,195,77,227,2,80,166,195,222,159,80,27,250,177,57,82,223,58,65,188,252,147,101,117,125,137,204,58,106,142,34,145,153,149,141, +169,48,187,0,16,163,136,0,145,71,173,24,203,29,131,126,119,1,174,149,190,88,138,131,116,65,34,82,205,209,96,226,32,185,208,117,228,91,18,110,243,181,117,132,205,224,237,15,58,197,13,127,147,201,135,85,73,97,9,164,197,68,152,108,96,54,232,154,170,175, +12,217,240,35,188,5,58,18,251,72,176,219,0,91,132,112,207,133,120,224,158,41,64,194,44,196,46,151,160,187,72,130,173,143,72,251,186,187,196,105,17,121,127,77,166,228,167,55,75,115,7,243,236,229,248,147,134,73,26,244,234,155,240,75,113,77,158,29,244,57, +203,84,180,42,85,13,113,114,63,59,205,105,172,107,10,201,143,190,156,46,231,156,16,144,169,71,149,74,225,32,74,26,65,35,233,220,232,67,228,176,123,220,129,68,121,53,202,83,199,137,242,150,59,238,124,195,196,241,151,66,234,10,145,54,83,60,147,141,164, +131,196,151,61,84,70,77,27,38,223,185,40,3,121,176,244,131,242,210,246,195,13,168,238,136,117,132,167,35,195,65,119,251,33,245,224,210,54,42,71,154,107,91,76,195,180,193,142,28,51,165,221,12,31,233,151,130,2,140,229,60,11,26,233,139,242,208,5,152,94, +3,252,86,196,89,129,64,213,220,97,17,245,9,80,140,7,117,233,237,22,55,163,73,54,111,172,150,39,254,177,77,218,234,183,73,97,65,187,28,138,251,205,200,30,140,234,31,142,249,232,163,78,47,160,1,230,69,127,83,2,99,55,163,113,7,60,72,69,224,20,141,225,121, +186,226,220,48,40,31,134,67,190,99,114,242,219,33,53,137,60,99,82,72,26,199,234,186,229,223,10,3,210,185,229,240,249,10,173,23,170,7,16,235,144,182,90,22,188,235,202,11,47,137,76,157,140,156,89,70,170,33,164,255,194,29,142,193,91,89,60,28,23,102,57,166, +227,224,28,78,65,2,144,92,33,152,192,8,184,47,128,139,240,97,223,255,51,135,18,56,167,177,185,133,123,76,124,152,12,65,27,131,69,239,89,108,226,179,120,187,0,94,27,98,216,14,145,192,29,1,155,164,68,153,239,200,78,113,211,86,75,93,77,179,60,252,119,191, +236,192,228,213,197,95,55,50,114,44,210,133,130,152,250,226,202,183,145,172,52,116,102,232,185,208,143,233,250,29,103,81,56,99,3,240,28,24,38,92,102,200,68,220,156,232,99,15,122,131,79,213,225,128,51,255,117,9,165,99,98,228,173,13,62,89,187,169,221,228, +47,247,203,232,137,105,146,95,10,233,234,112,0,10,155,61,85,26,44,74,149,43,7,76,247,196,56,5,218,151,57,190,6,132,59,165,5,243,147,139,151,248,100,203,22,71,102,31,97,100,196,40,100,12,65,188,194,153,178,107,251,118,121,241,53,66,145,33,38,212,46,33, +204,162,112,238,147,107,125,148,184,15,63,252,80,214,172,89,163,88,113,13,16,146,120,38,126,220,1,31,149,77,189,117,80,254,69,181,250,65,121,246,254,30,74,186,76,65,102,224,172,230,246,142,241,217,69,211,188,82,119,135,187,105,109,135,248,211,50,209, +47,117,136,27,4,104,49,234,161,185,32,3,78,26,226,252,132,179,65,106,170,183,202,191,22,180,202,251,31,248,165,108,136,200,113,243,60,128,14,192,66,133,18,110,175,150,237,235,27,229,131,229,199,201,194,214,57,178,100,201,34,72,22,54,12,65,228,168,38, +167,76,153,162,147,207,124,163,167,178,178,146,51,55,14,222,51,112,0,222,48,0,250,15,208,86,13,31,21,239,253,85,99,224,238,197,170,62,112,143,232,85,201,202,148,180,204,156,147,176,88,58,109,220,17,199,121,5,229,199,184,57,109,31,74,245,150,14,89,183, +49,27,210,213,46,173,205,142,164,65,211,249,144,186,3,130,184,121,19,230,41,183,117,200,155,111,182,203,166,77,62,25,82,238,147,99,142,242,100,40,12,27,7,175,133,55,238,174,150,77,107,26,228,147,85,19,228,179,182,203,164,125,216,73,146,149,157,35,159, +174,88,46,59,170,119,235,234,57,55,36,21,23,23,11,22,86,85,109,114,117,2,215,14,182,54,112,137,39,13,106,179,10,224,189,129,90,29,84,224,82,85,85,42,218,96,20,153,35,153,160,50,99,232,20,217,184,243,26,25,86,123,151,20,250,119,72,67,109,46,172,195,70, +201,204,113,176,215,68,164,13,192,109,223,38,50,14,147,205,115,142,116,164,148,115,29,65,244,99,29,249,210,88,21,150,173,235,182,201,134,29,179,36,60,226,98,201,61,124,130,140,200,43,16,15,234,49,11,3,239,25,179,102,203,250,77,143,233,158,21,62,239,253, +247,223,151,65,131,6,233,43,89,156,132,230,171,89,88,31,116,184,59,12,170,244,98,36,249,51,60,199,30,52,82,240,144,3,239,82,17,56,50,67,7,184,48,8,160,228,200,25,0,81,148,47,109,121,211,100,245,167,223,150,182,170,127,202,228,130,101,114,248,244,124, +201,205,111,4,251,162,188,99,109,148,149,216,103,217,22,148,166,170,76,169,218,182,83,214,163,155,106,44,190,65,74,231,158,32,131,134,12,151,156,172,12,9,192,98,196,58,184,170,196,217,179,103,11,86,214,117,89,135,125,28,87,11,184,134,119,244,209,71,235, +246,61,190,142,133,183,123,32,108,110,24,210,86,129,240,34,132,183,225,105,108,88,7,165,191,75,101,224,216,159,240,248,11,50,212,205,205,203,23,46,144,114,163,207,122,57,71,90,150,167,73,83,195,34,25,49,54,67,114,243,2,186,4,231,121,46,12,12,88,131,216, +202,87,191,187,81,182,110,104,148,106,239,12,201,153,118,145,140,26,55,85,138,11,11,36,15,118,127,16,229,216,113,26,23,79,185,63,243,136,35,142,80,99,132,170,145,247,248,26,214,19,79,60,161,111,175,98,123,132,170,77,90,152,160,137,36,253,8,254,126,248, +58,248,131,34,117,169,8,28,91,177,135,86,125,54,24,88,132,107,190,100,239,35,131,75,74,74,212,120,8,133,58,100,171,115,134,180,111,202,149,170,93,175,73,110,78,139,248,209,91,115,241,154,187,235,128,155,52,154,185,226,86,158,42,131,39,206,146,193,101, +229,82,84,0,233,68,25,104,4,40,50,226,104,250,227,57,50,105,210,36,221,28,75,43,146,139,170,92,234,177,27,112,23,44,224,244,36,150,141,160,143,161,54,93,208,196,55,87,71,33,223,143,0,226,124,220,58,40,82,151,106,192,145,9,180,239,243,192,156,31,145,169, +112,14,183,215,97,63,137,246,59,108,241,45,173,45,156,204,148,237,129,19,101,231,238,73,18,220,85,39,105,88,245,14,164,5,85,154,50,134,151,75,225,176,113,50,104,112,153,74,89,9,38,170,179,97,132,160,76,150,23,115,252,77,240,56,208,62,229,148,83,116,11, +195,163,143,62,170,134,9,183,57,16,228,232,48,128,160,217,252,138,60,242,254,4,5,61,0,191,26,158,113,7,84,101,166,26,112,202,89,48,242,122,0,52,2,106,43,140,5,85,223,140,25,51,116,7,51,152,163,0,114,249,37,20,10,11,154,191,212,99,87,114,8,163,114,50, +56,35,51,67,242,160,234,10,96,76,20,228,229,194,58,44,132,148,150,234,171,194,204,155,204,89,240,40,205,151,95,126,185,16,56,2,73,208,216,72,104,101,210,197,129,78,26,217,184,248,202,241,205,0,244,108,92,83,127,30,80,149,185,71,111,224,201,7,217,113, +10,35,4,166,205,3,195,238,224,158,126,244,51,14,250,31,135,155,131,184,109,156,140,36,64,52,32,216,215,209,113,107,66,86,70,80,242,161,226,8,86,33,84,98,17,250,178,210,210,82,248,65,154,79,19,118,241,143,192,208,146,228,26,224,171,175,190,170,67,2,110, +123,239,196,81,21,208,34,26,15,173,176,6,82,203,85,3,10,129,118,128,8,7,220,165,10,112,164,131,173,120,16,252,51,0,39,31,64,121,144,44,247,158,123,238,209,45,226,182,63,34,71,248,94,128,149,20,74,7,95,190,167,81,65,179,157,128,23,23,151,40,227,217,79, +117,199,177,172,248,70,193,29,100,216,2,168,214,37,159,219,137,227,13,7,247,143,132,127,20,215,220,205,196,122,116,154,1,247,250,205,165,2,112,84,49,218,82,161,122,120,84,197,116,72,75,24,155,88,125,55,223,124,179,96,47,100,236,77,28,171,174,24,166,3, +20,134,4,142,210,72,224,200,108,14,158,25,82,50,123,234,88,94,94,126,158,124,240,193,7,250,110,2,203,180,170,50,73,89,164,59,140,60,185,144,186,49,0,239,33,252,86,48,147,164,253,255,50,74,27,15,42,127,51,188,1,211,41,121,102,206,156,57,102,253,250,245, +224,7,102,32,227,118,30,107,68,244,31,38,129,117,107,58,119,42,115,227,43,183,164,247,135,187,237,182,219,8,128,193,160,59,113,15,74,178,223,118,211,236,149,81,116,82,205,110,24,144,70,163,149,132,164,93,8,111,32,37,30,164,141,210,103,254,254,247,191, +119,11,3,24,7,6,243,139,157,130,219,173,66,162,137,88,22,29,119,73,147,6,110,105,71,127,154,12,172,248,56,61,216,13,244,183,129,254,25,81,46,165,130,38,27,16,192,88,168,173,220,36,84,186,129,192,65,218,104,82,235,139,24,152,94,82,38,118,38,109,122,179, +159,255,217,103,193,64,49,103,157,117,150,130,7,213,27,15,82,103,215,122,16,28,52,198,114,208,143,85,93,117,58,150,137,94,247,123,48,160,133,239,135,90,237,31,112,63,0,192,238,66,200,202,134,208,186,149,30,190,11,71,35,227,64,59,246,113,104,11,58,8,39, +13,116,52,132,24,215,133,99,35,228,192,124,34,234,115,75,23,105,251,229,246,193,2,78,159,139,22,250,11,212,130,234,37,4,11,208,207,237,226,28,79,241,149,95,48,160,203,10,146,161,241,190,203,12,221,72,64,240,232,142,58,234,40,13,249,18,100,55,13,29,59, +28,248,54,104,255,26,50,83,229,15,88,127,119,48,128,35,34,156,198,58,10,76,250,223,202,29,157,142,140,0,197,193,54,221,126,198,80,209,44,145,65,49,25,109,125,236,70,23,23,4,155,227,64,78,38,115,134,100,231,206,157,88,104,221,130,165,160,77,177,119,20, +248,226,227,165,151,94,170,187,168,105,165,246,208,221,138,244,21,240,52,180,6,132,199,3,214,34,64,112,50,103,85,164,15,204,99,229,98,191,237,128,26,150,156,50,139,91,207,57,135,216,89,107,199,235,81,250,82,62,199,110,4,130,64,67,130,117,224,205,48,209, +113,202,138,91,17,56,15,25,239,9,30,77,126,222,167,231,208,130,239,137,83,242,207,62,251,108,185,243,206,59,117,222,146,207,96,3,97,217,188,166,79,226,248,96,130,85,4,169,187,21,229,157,137,107,74,30,235,153,52,3,226,123,229,186,214,71,189,42,182,211, +76,170,78,80,249,31,130,9,151,32,21,141,17,212,49,178,191,131,251,249,9,22,95,7,182,140,228,224,154,51,37,100,90,188,227,224,26,211,97,250,214,13,37,134,233,56,91,210,25,208,4,150,96,115,214,127,227,198,141,178,110,221,58,225,139,31,44,3,47,65,234,139, +37,4,145,135,2,208,243,189,114,206,143,190,254,250,235,178,98,197,10,237,115,89,6,233,226,96,157,227,199,253,128,71,176,56,171,178,25,105,184,23,137,124,254,220,2,199,214,72,160,120,98,208,253,240,214,250,114,8,2,37,142,167,34,140,25,61,70,215,200,40, +73,22,52,251,14,55,242,198,28,91,62,87,169,9,84,101,101,165,206,101,146,153,157,57,166,99,131,224,236,191,245,148,46,198,219,70,65,64,120,109,79,213,227,59,231,164,131,107,117,108,20,52,84,120,80,41,29,193,38,13,54,111,194,115,9,18,91,218,76,0,247,32, +194,122,120,214,191,223,192,59,144,18,167,132,163,178,215,161,178,39,161,18,33,84,202,199,138,147,225,4,142,51,244,84,83,60,193,149,76,99,171,39,227,40,145,157,57,222,39,176,218,250,193,42,238,56,73,230,248,28,150,67,230,51,207,224,193,120,117,4,158, +243,147,156,109,97,35,225,125,210,193,180,219,240,238,29,203,229,254,19,188,110,140,247,20,86,169,228,115,54,165,162,162,66,103,103,216,47,242,185,4,48,193,145,8,170,76,206,170,164,35,205,115,184,102,220,231,14,56,214,140,234,99,8,152,114,7,124,22,43, +12,70,113,3,142,26,9,108,201,23,93,116,145,30,95,193,107,74,7,1,37,19,247,231,20,48,36,96,186,206,64,139,207,175,233,153,22,222,74,33,135,30,148,94,134,4,139,125,33,1,164,74,229,89,40,52,84,120,46,10,129,198,251,232,122,220,6,27,21,143,225,160,186,165, +164,118,2,30,137,63,12,245,120,22,105,182,226,186,223,84,102,231,77,57,190,182,125,191,230,115,184,56,122,57,252,233,232,39,194,104,229,62,50,137,224,176,239,224,235,188,4,142,12,33,83,201,224,174,64,35,89,10,24,210,119,215,105,250,104,226,120,208,9, +34,85,40,45,72,54,26,210,196,190,142,253,30,223,205,227,27,172,60,200,134,210,201,97,11,251,85,2,201,60,188,78,66,43,137,98,215,192,3,110,138,225,57,17,221,111,238,64,0,199,10,80,218,210,32,97,183,97,122,170,148,149,229,230,27,50,135,158,86,221,31,254, +240,7,85,145,172,89,119,65,99,218,190,184,120,208,237,51,9,32,193,227,138,59,37,143,82,199,113,37,27,20,215,234,216,215,17,76,210,77,117,202,186,80,197,210,82,221,143,212,77,64,154,151,33,117,27,65,111,191,72,221,129,0,78,45,73,16,206,35,158,126,0,226, +13,152,224,82,210,56,184,165,85,247,235,95,255,90,37,142,12,176,12,236,11,32,189,201,107,37,198,62,159,128,80,125,210,138,108,110,105,86,117,249,206,59,239,232,9,68,52,166,172,97,67,105,163,163,186,76,226,172,212,177,171,200,69,217,143,33,100,92,159, +251,186,125,122,213,36,15,239,107,148,214,8,173,241,66,110,54,133,97,224,209,16,136,238,156,210,150,252,149,175,124,69,59,126,203,180,190,62,176,47,249,45,128,44,131,192,241,12,231,124,108,84,202,206,201,214,147,138,24,79,131,134,82,201,62,142,18,200, +254,144,113,28,182,36,1,208,242,248,108,72,243,44,100,39,63,250,44,48,182,80,210,51,16,142,229,147,208,225,168,144,78,254,161,143,112,9,32,91,50,221,141,55,222,168,39,217,165,2,104,74,80,194,63,90,145,60,106,35,47,55,79,15,116,227,109,106,10,130,68,199, +70,72,218,105,216,84,84,84,36,211,24,49,169,3,15,46,211,76,159,3,137,211,134,129,150,118,22,136,206,7,19,194,232,248,29,246,17,180,198,184,159,145,231,142,164,186,163,17,69,79,0,231,205,155,167,125,155,165,153,253,51,61,27,35,207,194,164,138,229,117, +188,228,34,173,21,144,211,113,93,9,207,198,108,227,112,217,115,215,167,204,93,60,142,45,141,99,25,46,239,159,207,86,73,139,140,33,85,11,29,55,231,80,197,48,46,161,162,122,63,85,254,145,62,58,90,155,231,158,123,174,94,179,14,236,159,177,136,171,191,57, +166,99,31,93,89,73,92,128,202,222,99,59,43,117,121,136,191,72,19,68,250,186,232,101,207,131,129,6,142,99,165,25,144,182,35,169,90,208,106,125,172,48,39,115,57,86,227,49,134,159,7,199,70,133,58,40,169,28,215,209,17,24,30,131,79,233,98,221,184,201,136, +150,37,193,237,196,17,60,186,175,194,243,232,35,246,21,54,14,151,61,115,3,14,28,90,171,74,27,42,68,233,211,254,129,225,197,23,95,28,219,114,151,202,210,70,90,227,29,13,18,58,74,27,45,203,120,218,217,40,57,156,160,179,64,235,143,200,63,242,154,95,96,226, +1,221,199,70,227,123,205,255,94,103,140,35,40,217,101,76,53,160,2,103,177,114,168,144,253,0,145,166,231,160,150,173,214,170,161,100,133,164,82,156,5,136,175,94,157,116,210,73,58,159,105,13,20,91,7,238,247,180,70,151,141,75,168,67,196,34,19,249,31,9,241, +61,254,217,249,172,108,143,139,218,43,3,27,4,55,209,156,133,112,36,42,237,161,53,186,108,133,156,161,167,9,205,105,164,222,58,29,91,193,192,161,33,112,160,156,5,142,115,157,180,36,233,108,63,102,65,226,196,51,193,164,79,98,160,104,22,254,67,250,227,17, +176,144,38,120,54,242,30,143,235,6,66,226,172,180,49,252,46,60,9,53,28,183,113,208,77,119,218,105,167,41,120,250,163,7,255,44,131,216,151,172,95,183,190,7,57,251,47,41,235,64,131,138,142,198,8,93,60,93,172,167,5,89,111,238,253,79,249,141,251,99,160,129, +38,71,111,145,79,61,118,3,1,156,150,137,74,93,8,106,102,66,202,60,12,100,125,28,231,216,138,206,156,57,51,214,106,247,83,201,78,43,195,57,196,237,59,34,214,92,167,137,6,232,6,165,140,199,223,211,89,85,201,107,198,115,26,172,190,174,62,89,255,198,36,214, +169,186,132,214,176,150,89,74,0,103,165,141,75,25,63,37,40,8,13,135,1,84,143,28,239,208,241,228,113,58,219,82,245,71,15,254,113,187,1,85,209,129,118,150,94,46,176,210,89,13,194,107,214,149,52,213,214,213,42,112,251,105,144,170,22,113,255,80,230,131,235, +177,154,100,166,254,150,56,45,15,173,239,187,32,108,10,202,103,235,242,113,246,129,253,145,157,215,99,7,223,23,199,190,196,74,175,101,102,95,202,235,110,94,251,44,206,85,210,17,28,11,16,251,93,174,243,209,91,3,165,147,114,85,194,80,214,88,220,207,132, +231,56,163,199,82,215,159,192,177,44,2,197,14,224,106,120,74,148,18,68,19,217,182,78,238,227,224,204,123,111,156,101,18,39,125,109,121,189,41,167,175,121,44,29,182,28,107,164,112,168,64,237,66,103,227,108,154,184,80,121,142,50,216,122,243,163,241,7,21, +56,125,56,8,190,2,68,113,176,67,16,241,51,210,54,108,200,105,33,90,102,125,113,173,45,123,230,10,251,82,78,111,243,90,201,179,249,45,144,236,14,108,191,103,227,108,154,36,97,9,226,40,113,189,114,253,37,113,4,141,64,241,104,192,189,166,116,56,4,224,192, +212,74,8,7,173,246,186,39,20,91,102,177,31,97,95,105,213,85,79,202,232,107,90,11,6,215,233,232,72,19,227,72,15,119,133,209,0,227,192,156,142,245,238,196,197,75,215,65,7,78,27,0,0,153,134,138,140,36,193,232,113,29,31,142,191,163,163,249,78,117,73,199, +202,90,16,52,162,135,255,216,127,132,194,161,88,121,61,204,222,47,201,217,16,233,88,15,219,8,43,42,42,212,56,225,194,43,53,138,5,185,139,7,118,138,110,23,249,250,109,167,173,109,69,65,30,217,196,227,149,10,32,123,60,98,137,93,111,115,125,53,42,50,92, +105,225,202,0,153,111,129,236,138,192,196,251,204,27,198,219,168,150,97,137,247,15,196,111,43,77,4,135,75,60,116,148,56,123,112,183,141,35,141,236,34,8,176,205,131,164,180,34,201,47,154,216,28,128,247,202,245,215,204,137,182,28,168,177,205,229,69,190, +186,45,53,146,215,184,147,244,144,70,60,98,247,118,25,53,186,65,151,69,168,234,226,42,209,99,162,153,151,224,117,179,69,247,184,252,238,100,224,243,233,56,197,197,5,85,46,247,176,94,203,151,47,143,169,76,90,190,118,229,128,180,82,181,83,165,226,90,129, +3,152,27,80,68,173,22,20,97,84,244,178,123,65,127,1,71,98,208,178,100,37,104,92,131,203,233,183,124,95,188,47,207,196,89,173,104,83,127,184,95,228,241,87,215,203,164,67,252,168,64,100,1,178,123,228,37,79,69,70,244,5,252,228,165,238,47,22,213,67,229,34, +206,81,213,207,107,2,70,75,146,146,197,213,1,106,19,26,95,28,231,49,196,135,40,52,237,194,133,11,85,50,169,66,1,158,7,250,121,122,195,71,40,130,135,220,176,155,209,134,143,176,219,174,223,128,123,237,53,241,131,159,161,171,47,144,127,93,254,85,153,62, +188,2,52,80,111,130,172,195,38,250,229,201,87,27,229,194,27,106,100,250,17,88,10,137,235,35,8,66,79,28,199,111,84,63,108,225,3,239,8,22,233,131,7,157,188,106,105,11,201,130,69,139,245,209,148,34,238,114,254,244,211,79,245,55,105,251,248,227,143,213,115, +172,106,23,95,175,190,250,106,61,67,229,245,215,95,151,226,130,76,183,3,198,77,91,135,60,23,21,220,158,49,64,159,212,79,255,176,241,76,39,237,86,220,17,152,214,246,182,175,198,44,247,25,111,161,207,243,22,164,153,240,130,0,54,97,99,45,117,73,134,249, +231,205,233,228,132,121,250,169,39,161,41,34,14,146,99,47,247,27,218,116,48,12,204,67,15,61,100,176,113,71,211,219,248,253,102,238,205,205,40,93,164,206,107,173,49,13,235,94,54,77,107,30,55,139,94,189,207,148,161,219,18,25,108,242,179,121,178,186,232, +203,143,144,186,216,187,115,104,88,26,207,123,244,151,92,114,137,249,214,183,190,197,107,72,22,121,224,223,126,202,60,156,179,31,113,7,13,56,160,162,141,81,234,95,243,189,103,86,249,0,86,48,100,22,151,0,176,17,240,35,77,120,97,145,49,11,161,108,62,202, +49,15,254,60,82,153,39,30,223,243,198,41,250,140,30,177,246,153,103,158,49,248,100,139,230,25,16,224,162,160,181,55,215,153,150,21,183,24,111,81,169,9,127,128,131,214,223,67,29,22,136,217,254,82,150,57,110,58,235,225,51,69,121,201,223,88,37,144,80,141, +10,220,160,65,165,230,136,35,102,152,49,67,10,67,39,206,16,115,250,145,242,87,98,54,127,126,239,103,174,250,172,42,1,8,85,100,199,199,119,187,87,229,148,152,89,210,144,22,114,125,197,48,167,56,59,130,254,12,135,89,187,56,11,217,132,176,47,31,103,38,159, +119,114,174,188,181,52,77,206,58,251,92,185,251,174,255,43,95,255,183,139,49,125,21,249,198,169,29,164,71,26,226,190,255,129,148,26,37,28,232,54,53,247,218,32,219,183,224,125,98,200,111,188,153,211,190,75,220,154,159,136,147,55,27,95,21,25,135,122,64, +177,24,236,232,42,219,38,83,198,172,149,87,22,225,28,103,156,90,27,73,189,119,33,164,85,135,13,96,78,113,142,11,85,185,65,94,249,243,110,247,216,89,69,24,206,56,151,152,112,245,107,193,163,4,95,103,210,227,90,122,220,199,233,248,107,239,71,118,255,23, +90,140,223,57,92,58,174,199,161,117,69,197,206,13,28,130,27,201,71,39,132,247,201,28,28,82,13,208,212,57,24,215,248,7,137,23,78,19,127,122,189,204,255,94,139,124,121,230,8,185,248,146,111,202,205,55,253,38,246,2,5,164,167,91,15,47,31,90,46,165,56,120, +134,174,167,125,100,183,30,16,81,32,210,214,184,59,178,145,206,195,184,205,224,52,163,48,14,110,246,117,224,156,48,79,214,210,4,67,109,57,111,222,153,174,11,3,209,97,69,174,172,88,179,75,174,254,74,149,204,155,85,224,56,25,195,188,64,254,8,191,47,80, +246,208,174,23,101,24,112,245,76,47,36,175,183,192,57,175,1,52,0,167,22,194,41,191,247,63,80,58,12,199,139,135,124,97,199,197,57,132,60,145,92,219,33,43,71,135,26,240,232,120,95,169,120,168,104,105,89,171,252,246,242,173,136,175,144,235,174,255,153,124, +231,59,223,209,23,11,237,152,135,173,53,153,179,32,17,180,190,78,84,39,43,63,49,174,106,195,50,105,215,97,90,51,142,160,106,65,35,65,195,130,20,174,92,186,65,62,93,8,233,131,38,108,229,104,44,137,163,93,86,0,54,236,214,177,186,39,223,56,29,162,149,129, +198,219,17,112,165,13,31,24,204,192,196,59,206,76,213,172,63,79,82,64,23,81,221,2,142,186,152,173,130,98,77,192,80,166,57,54,10,218,67,223,245,253,215,164,41,6,26,223,160,163,202,192,247,44,35,51,231,251,62,23,237,18,234,211,245,97,31,98,155,193,55,114, +60,185,243,218,141,72,54,82,95,168,56,246,75,95,210,113,16,193,161,239,12,60,150,75,243,123,64,87,191,241,124,186,250,218,6,105,215,217,45,160,195,163,241,189,13,56,14,248,51,217,190,1,111,254,144,229,0,53,157,218,83,83,239,249,199,223,4,45,12,223,84, +231,200,221,87,134,101,252,88,76,77,134,51,80,55,156,86,228,64,22,113,198,52,54,3,204,209,92,143,117,42,180,123,10,77,184,218,47,112,4,44,42,89,158,51,95,48,254,16,207,2,246,167,179,3,179,238,191,212,247,220,244,89,242,63,179,113,102,39,212,164,207,113, +121,134,191,226,154,240,24,254,68,117,8,170,131,26,179,102,120,242,5,39,57,114,244,228,181,56,114,173,66,86,227,53,38,126,101,152,175,52,209,17,188,238,170,78,205,208,159,255,208,66,119,86,239,146,109,216,141,166,163,14,126,231,192,224,51,48,33,188,4, +210,228,195,38,33,71,206,158,29,121,224,46,224,80,132,106,229,98,70,47,7,30,39,48,74,17,230,208,119,35,190,30,195,235,127,63,199,200,201,199,161,33,164,225,16,128,48,190,192,21,66,125,195,187,48,158,105,151,156,2,89,162,165,156,183,15,246,93,214,134, +92,78,234,64,187,242,14,55,217,241,12,126,240,66,201,207,46,243,205,66,91,57,14,13,126,68,48,232,29,61,116,184,72,249,72,0,10,251,67,12,154,30,140,144,88,191,150,180,84,160,229,226,60,72,131,85,226,80,131,100,229,57,242,215,235,125,50,225,130,245,50, +118,100,153,172,90,187,77,240,133,70,185,253,246,219,117,23,24,7,172,4,175,43,163,37,233,163,122,25,73,73,175,134,40,124,178,106,53,194,157,210,206,174,212,180,130,102,28,212,141,70,201,175,127,102,97,58,111,198,33,34,191,68,149,31,124,71,100,101,100, +94,121,175,39,206,29,41,114,62,228,105,238,81,70,138,74,129,100,71,13,140,51,28,138,74,7,201,149,80,62,142,37,46,174,210,227,157,127,17,137,238,201,255,164,192,69,65,51,127,58,57,112,232,161,243,188,239,149,143,48,167,22,20,56,67,176,153,87,130,200,209, +129,158,173,5,42,36,152,1,109,128,15,254,66,175,1,48,16,199,111,0,168,133,75,145,74,230,172,212,229,195,148,194,39,195,58,140,140,31,35,242,31,63,241,201,21,183,108,147,49,195,113,10,172,228,233,217,145,252,188,243,79,127,250,83,221,194,103,213,38,91, +210,64,59,206,252,239,4,112,187,176,103,178,185,25,111,19,65,216,32,42,84,1,208,103,70,248,45,165,124,216,94,60,3,250,80,144,83,6,5,178,165,26,19,233,144,176,102,244,103,25,144,184,2,236,97,26,135,70,93,81,137,23,2,71,186,0,27,55,217,252,245,37,92,178, +220,11,73,102,157,191,165,218,124,13,63,126,38,167,129,135,243,53,5,126,118,207,237,3,220,124,168,71,106,169,191,94,232,159,51,251,75,222,171,147,103,10,223,181,133,120,163,64,76,236,131,250,112,0,255,3,217,4,44,10,26,159,229,128,218,78,251,183,120,98, +40,117,216,52,106,144,222,171,83,134,124,245,84,124,100,251,25,159,124,240,105,29,196,186,73,119,128,253,249,207,127,150,215,48,29,115,223,125,247,197,246,120,16,192,129,6,143,243,144,52,227,219,96,46,118,160,133,182,129,231,232,189,149,5,172,69,22,200, +46,64,119,165,147,66,144,56,52,92,41,199,80,218,78,228,112,255,80,6,20,79,118,62,226,71,64,117,230,161,149,115,172,237,167,165,29,105,216,198,49,174,131,47,143,228,228,174,251,198,234,187,90,255,4,203,188,138,147,24,206,249,202,229,120,102,117,122,13, +46,238,237,230,70,68,70,166,30,97,190,61,249,72,128,134,115,61,165,13,35,210,14,168,10,204,237,154,144,227,55,33,140,60,81,25,0,7,98,208,196,92,172,250,186,104,122,252,150,141,70,238,93,230,222,191,144,137,210,137,244,142,139,226,33,117,249,200,126,243, +149,76,229,74,73,190,167,103,253,87,84,84,168,177,194,87,139,249,137,76,186,129,6,141,207,224,180,149,31,94,183,70,160,15,192,244,35,0,228,195,81,51,144,238,167,68,225,220,218,34,168,208,146,65,248,62,25,48,41,68,88,50,4,214,114,57,150,255,135,66,10, +135,137,140,128,170,44,25,140,51,53,3,184,240,35,210,133,168,146,63,16,2,158,221,32,237,217,33,95,241,200,161,69,195,229,31,124,46,65,195,235,119,128,189,123,110,31,224,100,110,36,99,17,182,249,171,214,11,25,72,92,129,235,248,43,241,220,81,240,35,163, +225,104,212,114,20,60,8,227,151,164,56,110,235,137,83,9,45,68,21,192,13,48,230,232,233,34,55,124,3,199,173,110,198,171,61,37,62,89,191,126,189,110,131,163,245,200,83,126,158,124,242,201,158,148,222,235,180,180,88,121,102,115,26,214,15,93,0,72,85,217, +214,10,212,240,167,30,228,98,138,82,138,32,117,165,0,107,16,192,26,2,92,134,0,172,114,168,199,97,149,34,67,43,49,232,46,197,210,83,0,137,56,166,213,198,76,93,137,204,49,231,249,165,41,43,84,48,108,220,209,205,111,202,205,140,198,75,185,97,59,125,24,75, +214,201,197,190,192,189,17,73,137,237,129,208,7,240,46,148,130,139,38,166,18,133,94,217,129,135,129,17,243,24,159,69,44,201,72,190,110,255,103,235,211,129,122,54,6,230,48,64,32,132,23,159,21,201,93,211,132,53,125,124,161,136,155,139,104,160,208,241,29, +58,187,76,98,251,188,72,234,254,253,79,73,227,228,177,15,0,114,46,15,198,159,180,182,0,53,240,156,216,89,23,192,164,16,251,186,82,72,28,193,27,28,245,148,194,108,178,135,178,67,62,197,114,197,231,142,150,194,15,220,181,229,152,140,193,227,175,174,127, +53,240,23,198,82,242,48,27,5,185,222,191,219,23,184,104,122,24,84,70,218,240,48,210,12,221,24,113,108,49,201,124,244,118,143,2,114,2,82,234,150,170,213,232,193,216,169,168,20,249,199,111,68,26,208,202,135,160,173,80,228,121,116,5,223,181,230,226,228, +54,188,186,59,208,142,234,152,71,219,135,177,202,30,238,104,197,162,45,37,142,11,161,9,79,38,249,224,13,85,39,142,130,86,207,107,198,97,180,142,127,252,209,165,22,226,128,21,45,35,203,228,12,25,247,157,134,215,242,223,90,122,187,20,112,54,202,96,181, +133,93,122,194,83,99,63,247,1,174,106,130,34,35,117,59,205,230,54,74,29,88,43,94,21,136,129,62,235,188,28,77,216,171,127,42,189,248,76,38,251,229,144,35,167,206,21,57,15,126,13,38,86,202,139,112,148,6,154,182,221,95,194,45,16,3,233,98,146,12,238,239, +218,181,91,234,170,209,80,192,186,118,44,229,16,192,189,171,15,134,83,37,17,36,50,159,63,233,53,17,216,202,126,95,5,71,35,121,163,51,23,1,175,45,35,156,93,81,57,103,226,225,67,222,218,241,188,76,113,142,229,161,110,40,185,19,240,246,1,238,188,143,35, +143,111,170,117,222,173,171,199,67,177,115,68,12,24,198,239,179,69,110,117,70,64,47,227,161,83,80,73,199,197,153,203,152,136,14,194,106,187,230,82,22,133,73,105,127,150,100,103,166,203,134,13,27,180,236,24,99,123,249,164,238,102,163,148,191,250,250,155, +152,221,90,0,186,112,202,17,63,209,137,118,181,199,145,47,232,34,92,244,237,250,185,51,88,42,14,38,213,217,111,107,67,100,215,2,179,210,206,213,238,201,216,217,21,154,7,212,102,189,47,228,230,150,77,44,29,62,118,73,219,123,185,215,35,49,206,129,73,14, +222,62,192,253,34,90,116,211,198,240,154,232,118,10,20,202,100,0,79,85,38,126,246,171,35,19,104,101,14,86,67,133,159,130,59,116,138,39,255,231,135,217,178,121,123,157,84,97,6,99,206,156,163,229,143,127,252,163,158,205,220,175,143,142,43,76,155,118,148, +75,47,191,252,178,60,120,207,93,146,159,139,241,166,11,130,208,136,246,200,13,36,140,32,249,134,194,163,131,195,252,43,105,87,3,141,161,195,223,48,74,186,86,147,113,79,183,151,198,143,238,9,155,106,242,76,218,208,202,27,27,223,40,124,10,119,146,130,7, +11,33,185,107,169,135,158,221,235,22,127,237,29,179,215,237,190,254,80,43,19,189,61,231,4,165,72,190,118,114,181,184,67,255,93,142,57,225,84,41,47,27,132,189,28,96,72,212,245,247,176,128,160,89,224,248,193,248,31,252,224,7,96,126,1,6,206,237,48,50,240, +90,112,116,183,90,228,241,52,170,32,81,106,148,69,249,161,195,32,196,219,79,197,88,66,123,21,26,172,66,123,198,169,73,243,178,74,11,79,49,239,238,158,224,28,41,203,112,42,21,165,39,38,247,157,2,135,79,180,5,212,50,210,135,83,202,96,70,169,232,15,4,120, +40,51,106,101,114,58,204,132,92,193,65,230,114,242,148,26,41,27,51,94,178,51,246,28,120,214,223,160,217,41,53,150,187,108,217,178,216,57,149,35,128,77,90,160,89,63,56,8,91,69,191,152,165,13,151,86,245,62,210,212,191,60,1,45,17,5,201,121,95,108,67,37, +4,231,41,14,123,254,237,163,42,203,182,70,6,129,67,143,18,95,150,110,215,36,81,180,144,104,150,239,147,124,79,73,253,113,165,3,84,244,29,6,115,72,78,185,12,11,254,86,22,189,240,55,193,216,191,223,7,223,4,140,82,102,151,146,56,78,228,185,93,234,178,74, +100,92,126,141,228,100,184,250,205,30,154,254,145,70,12,30,114,218,138,147,14,3,169,125,96,166,73,192,113,189,166,150,134,230,157,178,67,105,138,218,30,17,2,247,69,194,7,139,155,84,73,81,177,111,86,33,13,35,46,240,114,144,165,211,53,253,221,191,89,50, +108,8,67,197,225,17,135,176,135,48,147,158,94,48,88,202,219,46,147,247,94,127,213,38,232,83,104,85,34,11,33,96,108,216,27,54,172,151,249,243,231,203,153,103,158,41,5,216,137,60,172,20,51,64,77,85,82,146,135,85,0,84,155,210,166,192,105,155,37,31,128,226, +222,230,101,159,104,138,207,76,227,20,101,135,176,228,227,151,188,102,124,182,124,219,175,178,78,144,173,136,247,57,243,117,84,29,75,174,98,24,253,229,27,205,145,116,110,68,52,199,79,148,227,36,27,64,53,122,56,91,31,228,199,8,238,95,181,16,163,68,153, +193,134,65,14,145,169,176,191,67,45,50,106,164,200,138,103,142,147,143,138,150,201,180,169,147,84,74,108,30,50,62,153,35,64,137,142,105,227,211,211,82,197,222,21,185,226,138,43,52,41,207,202,220,186,117,27,186,41,76,78,66,233,228,96,8,70,192,2,24,163, +113,19,54,27,83,68,210,20,193,196,226,251,244,155,228,130,182,48,118,70,184,146,101,252,225,221,181,205,173,85,219,126,149,61,175,253,183,184,71,178,99,125,155,125,144,5,142,212,224,171,162,226,15,230,170,170,244,99,38,32,157,31,147,85,141,224,192,178, +226,56,78,251,56,50,139,126,95,230,216,66,123,31,218,178,89,2,174,209,223,209,114,155,52,102,187,60,254,31,87,72,240,170,191,97,65,114,204,94,197,39,130,148,8,144,77,76,213,200,83,18,248,205,83,90,141,63,255,249,207,245,22,167,184,184,55,146,39,210,114, +142,210,207,143,232,194,13,67,31,199,1,53,65,243,99,86,93,235,174,75,87,188,203,186,147,214,190,185,72,41,142,167,182,77,48,228,243,106,155,164,118,123,237,163,235,55,84,93,55,253,155,130,79,191,236,213,214,246,122,24,129,35,5,10,220,49,199,139,255,154, +255,148,182,167,127,29,152,130,81,247,151,35,111,40,67,187,115,28,23,222,140,84,48,131,241,33,88,85,155,250,180,120,70,147,140,190,58,219,154,109,89,84,153,219,37,35,103,136,28,146,255,134,92,121,254,137,114,201,181,55,201,236,89,179,244,184,166,196, +83,15,236,211,185,52,195,205,169,244,124,231,156,103,77,126,186,242,83,185,247,190,123,99,31,171,229,158,71,110,58,34,152,60,44,71,39,149,81,64,59,250,83,186,2,116,101,17,208,208,118,124,168,39,165,91,223,26,179,180,69,210,245,230,63,199,212,90,154,139, +209,97,160,13,115,150,13,178,125,221,238,247,151,46,109,248,229,137,215,201,243,44,243,185,63,73,16,143,196,124,82,114,23,15,156,91,140,217,39,36,243,198,140,49,249,144,60,124,159,196,54,45,62,6,173,63,12,53,66,139,138,11,166,92,123,99,191,167,6,5,139, +97,86,164,211,16,129,186,158,84,18,105,85,162,57,201,23,205,135,226,60,140,75,59,66,91,49,105,91,42,51,135,172,147,175,224,147,45,116,151,94,122,169,238,20,230,187,118,124,15,129,146,199,105,49,130,197,227,123,185,49,213,174,166,107,134,232,63,238,48, +102,255,70,64,249,130,6,175,233,233,136,15,38,73,164,4,93,25,55,92,251,80,45,126,236,83,169,137,253,227,5,61,235,218,149,139,79,195,53,49,228,194,76,139,227,195,203,15,130,165,244,214,122,255,103,203,119,109,88,177,194,220,124,198,175,228,126,108,0,111, +157,127,229,103,249,59,183,212,134,78,249,129,130,198,2,244,201,137,79,138,7,206,105,199,225,168,72,224,34,68,39,163,73,249,53,74,114,82,153,170,170,150,210,103,48,11,28,3,137,29,0,106,169,150,22,129,180,215,44,26,62,166,94,147,62,159,37,199,185,136, +113,18,23,129,57,67,128,135,175,48,26,108,29,24,62,36,79,38,85,230,201,242,117,27,245,144,235,248,116,201,174,169,54,249,162,33,37,147,142,239,142,115,190,147,32,243,158,5,204,230,13,2,36,2,55,21,99,107,124,202,90,219,32,169,214,169,71,229,31,197,17, +30,249,85,2,147,243,52,90,28,211,177,107,162,245,138,245,48,116,83,142,139,73,79,105,50,94,99,131,111,229,202,246,142,143,151,201,127,158,247,7,193,228,114,241,230,175,157,221,156,29,174,91,148,57,255,86,238,100,209,130,173,36,36,101,156,5,78,31,182, +249,99,13,210,255,242,183,208,250,223,92,231,174,201,171,112,70,99,161,154,114,135,129,20,192,180,69,40,225,172,4,9,227,204,2,128,100,28,193,244,136,56,193,164,100,70,165,147,67,9,53,110,44,45,72,178,143,99,69,65,179,54,10,251,160,200,2,37,214,139,177, +112,9,131,33,216,40,121,186,252,159,129,197,203,28,116,200,88,126,71,191,68,16,108,95,199,133,80,190,92,65,233,227,203,244,156,190,34,96,22,44,62,150,233,19,29,159,24,237,222,176,15,18,99,56,114,6,145,4,13,31,136,68,72,198,179,175,39,95,121,147,117,98, +155,142,47,139,25,64,172,206,48,177,46,228,77,27,158,7,141,23,110,13,55,215,118,248,182,111,54,206,71,75,156,119,238,252,125,240,166,231,36,240,225,156,57,225,244,226,80,117,209,253,143,171,132,145,161,241,5,198,95,227,214,30,71,10,98,238,197,21,226, +157,62,83,130,183,191,46,213,147,167,185,223,56,126,166,247,232,208,65,206,144,14,20,215,30,210,186,83,203,171,138,70,229,93,85,37,208,47,28,227,240,83,151,12,213,59,156,144,102,37,235,192,113,86,142,149,68,167,161,139,137,108,202,209,246,66,178,20,112, +130,214,140,180,152,53,161,74,38,199,192,92,110,15,192,199,25,35,82,71,206,194,69,180,90,187,212,226,211,208,45,224,81,103,46,14,28,205,153,248,27,249,44,83,108,200,71,170,75,71,187,163,218,36,105,156,92,230,212,95,176,197,96,101,27,196,168,99,145,0, +3,75,149,160,40,18,165,214,58,65,35,88,4,55,194,131,80,71,200,52,213,123,94,205,14,199,247,241,114,183,105,241,71,206,239,127,246,130,251,176,12,111,107,63,190,184,173,104,213,50,105,123,187,78,19,71,107,24,45,174,139,32,218,174,34,178,132,105,81,121, +234,3,9,159,54,91,178,190,119,107,104,21,36,231,212,59,254,205,251,110,81,161,57,30,135,222,141,194,199,124,157,160,109,104,160,23,93,139,231,3,237,252,22,183,31,195,47,152,207,244,152,205,199,247,185,225,121,205,205,53,142,11,80,40,149,80,121,145,25, +24,220,80,240,16,232,163,45,208,12,233,240,150,39,234,222,0,12,27,97,234,182,225,218,78,242,70,121,139,6,228,224,120,165,72,234,253,252,79,38,226,201,114,81,125,196,28,56,232,96,21,210,225,118,4,110,120,229,246,133,38,98,4,13,19,204,104,70,227,33,157, +140,96,125,44,112,81,237,3,245,16,198,250,98,59,182,32,54,214,27,111,87,149,227,214,110,119,124,159,172,150,5,15,191,32,55,190,180,53,180,114,230,56,201,104,192,249,3,47,47,86,117,197,103,91,208,24,218,107,92,238,117,205,223,49,23,15,156,87,11,254,64, +75,152,103,222,147,208,188,41,18,92,42,29,213,223,190,87,174,7,145,127,185,106,174,55,30,223,214,62,50,63,75,14,11,166,155,225,89,25,206,80,0,233,234,88,7,56,16,64,12,27,13,64,52,4,23,187,209,156,116,0,205,253,23,233,216,206,22,76,231,105,231,4,145,173, +17,156,136,39,79,201,1,63,129,4,85,19,140,66,84,58,226,227,193,131,202,50,232,214,153,147,235,230,201,0,136,85,44,238,130,28,165,117,70,79,142,51,63,243,178,238,236,252,64,45,246,217,224,31,247,145,208,53,130,68,108,87,48,240,14,37,158,235,109,42,233, +232,6,240,225,44,52,200,54,212,5,243,152,209,57,76,74,102,8,51,187,29,237,88,194,196,83,154,27,29,54,186,112,67,173,227,219,182,5,171,250,235,229,175,87,63,238,222,137,82,91,15,27,30,200,93,177,174,163,173,17,39,37,226,81,22,52,62,57,254,58,254,55,73, +218,199,217,202,179,18,251,248,137,67,36,109,80,161,4,222,173,18,175,117,135,118,104,108,98,254,25,69,254,225,71,79,50,35,115,50,205,208,130,92,103,70,118,186,169,8,4,157,210,236,116,41,226,52,153,130,137,202,250,131,98,96,117,155,140,44,0,8,207,29,82, +0,83,239,211,90,83,137,1,5,172,56,61,23,43,169,30,155,97,255,16,56,130,166,192,97,250,178,29,59,192,215,110,22,247,199,143,33,159,43,141,105,142,172,4,175,54,129,30,164,150,70,168,194,22,140,213,216,42,172,111,66,156,5,140,33,117,24,65,164,136,176,174, +212,217,217,232,251,120,20,97,25,194,17,233,174,25,217,212,33,101,147,74,157,65,63,58,89,28,172,223,154,172,60,172,249,99,122,18,244,43,237,56,237,73,27,41,186,214,168,218,6,221,40,149,128,181,66,177,52,129,26,30,233,213,218,32,190,205,91,100,247,146, +85,230,87,183,188,225,189,52,178,44,144,145,134,198,176,178,154,53,84,208,8,156,245,108,80,246,218,134,140,35,189,73,157,5,142,149,33,40,86,254,25,178,114,10,212,112,88,220,144,180,0,118,96,251,195,248,238,235,114,156,216,142,123,81,38,16,38,9,30,85, +238,13,159,61,198,84,66,165,86,148,228,200,12,124,103,182,34,15,199,26,243,184,45,206,62,164,1,64,0,167,32,66,34,29,170,87,72,104,172,95,177,192,209,16,32,3,168,34,163,210,230,181,55,137,187,27,221,223,63,22,152,109,207,125,226,60,51,36,71,158,221,218, +16,94,133,231,178,146,116,108,161,244,214,217,107,214,43,222,251,49,116,208,6,10,160,88,55,222,163,211,186,227,31,198,223,166,176,169,221,84,220,118,161,115,101,249,32,41,77,207,6,120,248,160,49,53,7,247,154,112,80,110,65,99,195,83,105,3,39,184,227,185, +5,189,1,214,122,195,29,141,226,219,184,205,172,126,234,93,231,218,103,214,132,87,30,86,30,200,222,88,35,237,213,205,29,29,60,230,11,234,151,188,139,7,200,94,39,134,182,30,74,100,252,63,11,28,227,88,9,86,202,130,167,21,196,111,5,143,33,233,54,120,111, +163,32,32,129,162,204,128,31,70,149,31,218,1,195,7,227,110,216,141,117,164,8,49,200,103,130,99,178,77,233,89,51,205,212,193,88,136,199,251,224,51,243,115,164,48,7,45,55,0,197,4,99,208,139,50,193,165,49,99,251,42,50,193,26,3,148,186,38,168,27,244,47,190, +170,221,102,221,179,255,146,187,159,90,225,190,115,88,73,104,227,226,42,113,209,90,2,104,186,201,42,102,235,196,48,254,190,11,208,98,117,1,112,172,31,127,91,143,45,246,198,87,1,26,63,171,113,107,126,113,138,119,217,196,10,249,186,63,93,66,233,152,161, +231,54,60,54,182,136,65,182,55,205,218,23,182,193,188,106,130,240,129,222,13,219,204,71,151,63,228,94,133,84,85,83,112,58,200,210,205,84,211,220,141,26,3,204,242,42,17,168,248,223,20,142,78,157,173,164,77,16,171,24,34,246,1,14,113,241,247,181,194,209, +22,236,43,196,38,223,252,28,195,25,36,167,30,253,247,166,90,18,73,85,101,210,70,103,154,146,115,143,52,51,202,139,157,99,240,9,210,195,11,115,37,131,42,147,79,64,122,15,13,128,214,170,210,66,181,131,22,105,176,187,138,91,15,221,205,59,204,226,7,222,118, +175,126,111,75,104,237,225,195,36,107,225,38,128,22,105,181,182,146,201,42,152,88,47,219,40,45,205,26,178,62,113,146,199,56,55,15,245,216,213,42,222,184,124,147,243,195,147,204,159,202,138,157,225,216,143,21,166,138,164,180,161,161,57,236,239,248,0,182, +10,244,201,248,98,36,222,6,192,216,55,12,37,189,105,167,188,249,253,71,156,107,145,162,113,82,177,4,150,67,53,34,43,247,28,17,44,11,152,13,227,193,180,245,97,152,172,78,136,222,227,18,43,200,59,241,149,180,173,210,134,177,10,35,29,227,152,214,198,225, +26,111,162,4,34,93,64,14,222,144,43,203,54,126,42,234,85,53,32,56,228,176,239,9,158,54,206,27,58,27,135,195,22,231,153,99,178,50,157,169,185,24,37,4,193,16,214,132,18,71,110,112,220,138,33,152,108,173,150,255,247,195,199,220,235,209,90,235,38,150,4,50, +86,84,117,180,65,234,177,145,32,166,170,45,3,162,57,145,63,218,0,244,42,242,47,190,62,150,86,5,41,42,129,122,141,164,76,231,226,133,87,183,178,64,124,235,106,156,182,243,15,245,70,29,51,214,92,87,152,227,76,204,128,166,136,169,246,40,215,52,192,147,217, +191,213,54,74,77,85,173,115,239,53,79,57,247,80,186,198,228,7,124,171,107,21,52,190,160,68,58,45,173,137,215,137,224,117,9,26,171,149,12,56,27,207,10,37,3,44,190,242,182,210,54,180,64,2,192,0,6,98,176,58,177,43,19,221,131,91,142,195,243,208,50,205,170, +93,180,236,176,125,74,2,57,151,206,246,70,143,27,44,71,194,58,29,231,247,153,161,200,156,3,203,174,45,20,114,182,236,110,52,207,255,236,25,239,9,208,224,141,41,18,223,106,228,3,239,104,125,176,226,172,156,101,128,101,72,98,133,89,183,68,208,44,125,182, +14,246,55,213,40,175,53,15,173,201,74,76,182,175,171,215,193,104,198,117,39,120,115,75,242,156,153,48,168,6,251,92,147,131,16,237,7,4,120,210,20,246,156,237,181,205,102,225,219,31,187,175,188,248,89,104,227,224,108,73,135,132,153,141,141,248,152,33,232, +4,166,241,116,146,70,11,148,141,183,191,25,178,1,118,203,117,6,156,205,108,43,102,43,26,31,218,123,241,33,203,99,26,203,52,203,12,254,118,178,81,163,76,236,51,45,207,15,56,91,155,59,194,59,208,97,35,158,222,55,42,51,144,63,105,184,9,214,54,57,29,111, +108,234,216,133,184,214,161,185,146,201,17,194,166,58,173,44,43,109,1,179,33,43,111,175,45,3,88,121,75,147,109,120,246,183,165,159,191,109,156,189,182,161,3,181,232,64,93,59,149,144,154,117,205,88,198,109,231,248,69,159,3,219,50,16,60,108,16,135,173, +98,222,223,161,125,23,102,25,148,190,224,228,33,226,223,176,75,194,245,109,251,165,215,2,102,67,210,205,58,244,200,117,5,156,45,204,86,146,21,79,188,182,21,142,15,45,112,10,24,242,216,144,229,233,51,75,240,25,111,26,43,57,96,18,102,41,188,197,155,117, +140,165,21,56,180,76,159,33,27,208,79,226,117,37,198,89,112,8,74,60,88,54,222,198,105,126,62,4,46,158,206,120,192,108,29,226,233,181,215,137,116,11,233,44,204,193,219,14,160,179,166,67,194,107,49,52,66,217,164,195,228,193,58,30,85,172,239,90,152,93,13, +18,222,1,122,163,35,84,166,177,222,210,22,31,242,218,254,238,182,148,33,79,204,41,19,99,191,186,190,176,21,179,149,183,97,103,21,103,60,243,216,231,216,112,175,39,97,14,216,96,249,11,147,193,232,47,0,34,38,248,205,78,88,104,136,178,158,149,179,215,54, +180,21,231,239,253,85,158,207,76,6,28,227,45,221,54,100,92,162,71,148,206,186,226,248,139,200,104,93,87,182,240,76,188,163,104,118,67,35,128,94,75,67,124,104,233,100,104,105,181,33,227,250,228,72,100,111,93,98,197,227,127,39,86,222,254,78,124,22,227, +45,211,25,38,250,206,24,97,211,37,150,215,213,111,11,80,98,104,233,99,188,189,102,72,103,195,200,175,200,255,206,104,238,140,94,27,111,243,197,151,213,171,235,100,68,245,170,32,100,138,175,48,175,227,153,192,50,237,179,108,200,56,58,91,25,11,198,254, +194,72,142,254,249,31,79,111,60,173,241,241,124,82,34,189,246,233,251,163,179,223,129,178,15,181,97,103,68,217,251,253,17,198,63,35,254,218,150,109,129,235,236,183,141,63,16,97,60,125,157,93,199,211,219,217,245,128,211,250,223,12,238,70,210,82,169,25, +10,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; + +const char* projectIconLinuxMakefile_png = (const char*) temp_binary_data_33; + +//================== projectIconVisualStudio.png ================== +static const unsigned char temp_binary_data_34[] = +{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,128,0,0,0,128,8,6,0,0,0,195,62,97,203,0,0,0,1,115,82,71,66,0,174,206,28,233,0,0,4,166,105,84,88,116,88,77,76,58,99,111,109,46,97,100,111,98,101,46,120,109,112,0,0,0,0,0,60,120,58,120,109,112,109,101, +116,97,32,120,109,108,110,115,58,120,61,34,97,100,111,98,101,58,110,115,58,109,101,116,97,47,34,32,120,58,120,109,112,116,107,61,34,88,77,80,32,67,111,114,101,32,53,46,52,46,48,34,62,10,32,32,32,60,114,100,102,58,82,68,70,32,120,109,108,110,115,58,114, +100,102,61,34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,49,57,57,57,47,48,50,47,50,50,45,114,100,102,45,115,121,110,116,97,120,45,110,115,35,34,62,10,32,32,32,32,32,32,60,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110, +32,114,100,102,58,97,98,111,117,116,61,34,34,10,32,32,32,32,32,32,32,32,32,32,32,32,120,109,108,110,115,58,120,109,112,77,77,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,109,109,47,34,10,32,32, +32,32,32,32,32,32,32,32,32,32,120,109,108,110,115,58,115,116,82,101,102,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,115,84,121,112,101,47,82,101,115,111,117,114,99,101,82,101,102,35,34,10,32, +32,32,32,32,32,32,32,32,32,32,32,120,109,108,110,115,58,116,105,102,102,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,116,105,102,102,47,49,46,48,47,34,10,32,32,32,32,32,32,32,32,32,32,32,32,120,109,108,110,115,58,120,109, +112,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,34,62,10,32,32,32,32,32,32,32,32,32,60,120,109,112,77,77,58,68,101,114,105,118,101,100,70,114,111,109,32,114,100,102,58,112,97,114,115,101,84,121, +112,101,61,34,82,101,115,111,117,114,99,101,34,62,10,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,82,101,102,58,105,110,115,116,97,110,99,101,73,68,62,120,109,112,46,105,105,100,58,100,98,101,99,56,57,51,56,45,56,49,54,56,45,52,52,102,101,45,97,55, +50,102,45,101,51,48,55,48,102,100,99,55,101,51,53,60,47,115,116,82,101,102,58,105,110,115,116,97,110,99,101,73,68,62,10,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,82,101,102,58,100,111,99,117,109,101,110,116,73,68,62,97,100,111,98,101,58,100,111, +99,105,100,58,112,104,111,116,111,115,104,111,112,58,55,100,55,51,53,51,48,56,45,57,52,100,102,45,49,49,55,55,45,97,53,100,98,45,56,53,99,49,100,48,98,53,54,97,53,50,60,47,115,116,82,101,102,58,100,111,99,117,109,101,110,116,73,68,62,10,32,32,32,32,32, +32,32,32,32,60,47,120,109,112,77,77,58,68,101,114,105,118,101,100,70,114,111,109,62,10,32,32,32,32,32,32,32,32,32,60,120,109,112,77,77,58,68,111,99,117,109,101,110,116,73,68,62,120,109,112,46,100,105,100,58,49,51,54,56,69,69,54,67,52,67,55,57,49,49,69, +52,57,54,50,67,65,49,51,66,54,69,53,52,48,69,51,54,60,47,120,109,112,77,77,58,68,111,99,117,109,101,110,116,73,68,62,10,32,32,32,32,32,32,32,32,32,60,120,109,112,77,77,58,73,110,115,116,97,110,99,101,73,68,62,120,109,112,46,105,105,100,58,49,51,49,68, +69,70,50,65,52,67,55,57,49,49,69,52,57,54,50,67,65,49,51,66,54,69,53,52,48,69,51,54,60,47,120,109,112,77,77,58,73,110,115,116,97,110,99,101,73,68,62,10,32,32,32,32,32,32,32,32,32,60,120,109,112,77,77,58,79,114,105,103,105,110,97,108,68,111,99,117,109, +101,110,116,73,68,62,97,100,111,98,101,58,100,111,99,105,100,58,112,104,111,116,111,115,104,111,112,58,51,97,99,50,101,99,98,55,45,57,52,100,102,45,49,49,55,55,45,97,53,100,98,45,56,53,99,49,100,48,98,53,54,97,53,50,60,47,120,109,112,77,77,58,79,114, +105,103,105,110,97,108,68,111,99,117,109,101,110,116,73,68,62,10,32,32,32,32,32,32,32,32,32,60,116,105,102,102,58,79,114,105,101,110,116,97,116,105,111,110,62,49,60,47,116,105,102,102,58,79,114,105,101,110,116,97,116,105,111,110,62,10,32,32,32,32,32, +32,32,32,32,60,120,109,112,58,67,114,101,97,116,111,114,84,111,111,108,62,65,100,111,98,101,32,80,104,111,116,111,115,104,111,112,32,67,67,32,50,48,49,52,32,40,77,97,99,105,110,116,111,115,104,41,60,47,120,109,112,58,67,114,101,97,116,111,114,84,111, +111,108,62,10,32,32,32,32,32,32,60,47,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,62,10,32,32,32,60,47,114,100,102,58,82,68,70,62,10,60,47,120,58,120,109,112,109,101,116,97,62,10,181,212,82,31,0,0,23,34,73,68,65,84,120,1,237,93,9,152,84, +213,149,62,221,93,93,91,239,27,2,141,40,224,2,35,160,40,26,53,162,99,148,209,68,65,109,149,65,176,49,40,102,198,4,197,104,62,51,126,25,53,126,201,231,18,162,142,27,78,136,138,34,42,162,81,65,34,8,10,74,80,135,168,24,81,65,140,226,2,210,108,246,222,181, +87,247,252,255,173,122,221,85,213,85,45,93,253,94,219,93,220,203,247,168,183,221,229,157,243,159,115,207,61,247,220,219,34,58,105,10,104,10,104,10,104,10,104,10,104,10,104,10,104,10,104,10,104,10,104,10,104,10,104,10,104,10,104,10,104,10,104,10,104,10, +104,10,104,10,104,10,104,10,104,10,104,10,104,10,104,10,104,10,104,10,100,32,5,178,210,249,166,182,182,54,27,242,29,140,35,27,71,91,58,101,232,60,166,82,128,124,168,201,202,202,106,233,110,169,100,100,58,105,168,215,235,125,7,25,157,56,90,211,41,64,231, +49,141,2,20,98,155,221,110,175,198,239,179,221,45,53,93,0,16,113,249,56,236,221,173,80,191,111,25,5,210,226,37,25,153,78,10,35,83,32,157,140,58,143,101,20,8,165,83,114,186,0,72,203,118,72,167,129,58,143,181,20,72,75,109,116,213,164,220,220,92,201,201, +201,233,234,21,253,172,7,20,8,135,195,18,12,6,123,80,66,124,86,211,1,192,198,249,124,62,129,69,26,95,147,190,234,49,5,48,250,50,93,184,76,3,0,25,238,112,56,100,217,178,101,178,104,209,34,41,42,42,82,141,101,163,117,234,25,5,72,219,214,214,86,169,171, +171,147,169,83,167,74,85,85,149,210,2,188,215,211,100,42,0,216,208,154,154,26,89,191,126,189,12,24,48,64,108,54,155,104,0,244,148,69,162,180,41,85,255,174,93,187,100,194,132,9,146,157,157,174,233,214,185,45,166,1,192,40,218,229,114,73,121,121,185,148, +150,150,106,13,96,16,165,135,191,20,44,2,32,20,10,137,219,237,238,97,105,241,217,205,131,82,180,92,45,241,241,4,54,251,202,108,250,154,14,0,179,63,88,151,103,45,5,52,0,172,165,111,159,47,93,3,160,207,179,200,218,6,106,0,88,75,223,62,95,186,6,64,159,103, +145,181,13,212,0,176,150,190,125,190,116,13,128,62,207,34,107,27,168,1,96,45,125,251,124,233,26,0,125,158,69,214,54,80,3,192,90,250,246,249,210,53,0,250,60,139,172,109,160,6,128,181,244,237,243,165,107,0,244,121,22,89,219,64,211,167,131,147,53,151,33, +98,140,18,170,173,173,85,129,13,156,222,212,41,57,5,56,219,71,250,148,149,149,137,211,233,84,211,192,201,223,52,231,174,229,0,224,199,180,180,180,72,69,69,133,76,156,56,17,65,34,185,10,4,230,52,63,243,74,97,176,71,56,28,146,141,27,55,202,238,221,187, +133,241,21,86,166,94,1,64,67,67,131,140,30,61,90,230,204,153,35,249,249,5,0,0,163,202,117,74,70,1,2,192,227,241,200,141,55,222,40,91,183,110,85,1,32,102,132,126,37,171,139,247,44,7,0,43,201,206,206,82,209,44,12,15,108,69,100,139,207,231,239,87,65,163, +140,196,233,173,228,206,139,68,252,4,81,167,17,250,101,101,151,217,43,0,64,84,155,162,31,37,63,28,110,85,96,176,242,163,122,139,89,86,212,19,14,129,70,12,246,236,165,96,90,61,10,176,130,139,253,168,76,13,128,126,196,44,43,154,170,1,96,5,85,251,81,153, +26,0,253,136,89,86,52,85,3,192,10,170,246,163,50,53,0,250,17,179,172,104,170,6,128,21,84,237,71,101,106,0,244,35,102,89,209,84,13,0,43,168,218,143,202,212,0,232,71,204,178,162,169,26,0,86,80,181,31,149,153,209,0,48,123,37,109,63,226,235,126,55,53,99, +1,192,25,72,155,77,239,85,244,93,72,232,165,217,192,239,106,134,121,207,41,245,217,57,217,98,203,181,169,41,231,28,27,103,31,91,165,173,181,45,114,96,99,83,61,19,217,65,239,140,2,0,153,159,67,230,219,193,124,78,65,35,254,32,43,139,96,136,156,115,42,154, +193,21,10,12,120,87,3,161,151,2,66,58,240,102,229,89,60,243,219,251,255,232,30,85,100,118,164,75,200,81,243,237,12,76,105,13,227,97,244,121,52,100,193,202,6,246,201,178,51,66,3,48,118,130,146,159,107,207,85,68,110,103,126,12,201,99,239,229,32,236,138, +54,66,91,78,27,64,208,26,13,192,96,12,198,129,167,21,250,61,0,200,52,246,249,93,49,63,6,7,113,0,97,200,21,143,28,148,113,160,118,15,189,2,0,171,250,218,174,152,207,103,118,167,93,108,217,54,9,183,97,119,77,95,80,90,219,90,227,250,125,190,195,100,116, +15,232,68,84,204,34,187,6,101,43,224,185,178,37,50,56,138,221,210,97,32,9,75,66,114,247,208,8,8,204,163,36,153,23,81,251,52,248,34,234,91,113,51,122,238,116,57,37,216,18,148,173,27,62,23,79,157,87,120,237,116,59,149,182,48,24,31,251,190,186,135,50,35, +218,196,6,141,98,147,28,14,35,209,85,100,114,178,68,3,144,217,70,120,179,223,239,87,235,2,154,155,187,253,183,12,82,210,221,96,190,26,234,129,253,177,12,229,185,11,140,14,249,194,178,248,150,151,100,245,130,55,101,204,105,71,200,132,169,199,203,191,156, +122,132,148,14,46,86,155,220,7,67,1,9,5,147,132,167,43,187,16,64,136,118,15,44,47,224,55,111,111,222,148,31,245,61,61,48,29,0,36,28,55,53,228,162,6,174,108,153,62,125,186,112,3,233,205,155,183,136,215,235,145,60,119,94,143,62,85,49,223,134,161,29,118, +33,37,208,82,49,255,201,155,151,202,138,121,175,163,27,200,149,77,171,62,145,143,95,255,84,134,142,174,148,227,39,29,45,199,79,30,43,149,35,7,74,174,205,46,161,214,144,4,3,193,136,1,24,51,20,48,202,205,210,26,160,123,252,226,42,32,110,23,123,234,169, +167,202,85,87,93,165,86,3,17,20,219,182,109,19,123,174,67,168,17,34,221,65,247,202,229,219,16,70,168,101,24,124,0,84,228,58,210,135,27,231,84,241,148,252,39,111,126,81,150,223,187,70,138,74,11,196,93,200,229,85,173,18,240,6,229,203,15,190,145,207,223, +253,90,94,131,86,24,119,246,81,114,226,133,227,100,196,184,67,196,149,239,194,159,61,193,59,190,128,234,178,98,219,23,1,28,134,142,8,215,182,58,25,160,179,186,158,216,242,77,213,0,236,239,185,97,244,204,153,51,229,186,235,174,147,202,202,74,213,255,83, +35,12,31,62,92,188,88,31,24,240,7,34,210,6,233,237,78,82,140,160,181,15,15,31,83,44,177,120,78,230,135,189,97,121,234,150,165,242,215,40,243,157,249,142,118,53,111,119,229,10,143,48,212,126,211,158,102,121,229,161,55,228,173,37,239,201,200,31,14,151, +19,47,56,86,70,255,235,145,146,63,0,139,50,66,240,24,118,224,170,59,77,236,151,239,154,6,0,50,33,16,8,200,228,201,147,229,210,75,47,21,252,13,27,181,32,148,160,160,68,113,117,13,127,29,184,207,243,48,220,179,49,26,183,75,226,197,51,191,179,218,87,204, +167,228,223,210,33,249,100,62,199,248,70,162,247,143,137,134,93,94,169,91,220,197,46,241,183,248,229,189,229,31,201,123,43,62,150,17,39,12,149,89,247,76,149,67,143,30,34,62,175,207,200,150,241,191,166,141,2,200,36,30,37,37,37,106,147,104,174,111,227, +117,162,58,37,211,109,246,28,117,144,186,124,167,171,196,231,202,189,75,201,79,209,231,135,149,218,143,151,252,88,230,199,150,207,242,12,48,56,11,156,82,62,164,68,236,14,155,108,125,243,115,217,243,229,62,52,15,13,236,158,114,138,45,190,223,157,155,166, +1,140,47,55,250,248,88,198,27,207,248,171,64,129,95,46,25,87,154,33,24,66,191,27,15,20,227,125,197,252,46,12,190,142,62,127,41,250,252,215,84,159,159,40,249,70,89,201,126,9,132,86,48,219,238,176,43,71,82,174,211,116,114,36,171,182,79,221,51,77,3,24,95, +101,48,158,204,203,206,201,82,203,155,29,46,59,92,238,29,146,78,161,87,207,97,28,210,131,71,9,79,76,17,230,67,83,68,103,245,120,109,36,158,187,220,46,137,72,62,213,126,247,153,111,148,197,95,150,23,91,126,236,179,76,63,239,76,121,147,190,216,225,114, +160,191,119,200,87,31,238,144,186,111,26,196,237,114,11,135,84,49,124,84,68,39,96,20,8,208,55,27,140,224,59,236,171,105,240,81,37,199,50,135,231,100,190,191,37,32,79,220,248,188,252,245,190,181,82,12,107,191,59,146,111,210,39,102,68,49,166,2,128,204, +161,39,141,155,26,4,91,66,178,226,193,55,228,247,231,223,47,15,92,177,80,190,249,100,151,56,29,78,53,140,75,100,40,41,201,153,58,122,223,216,1,43,15,95,10,107,159,204,247,53,5,228,209,235,23,203,242,7,35,67,61,205,252,244,177,104,42,0,148,177,150,147, +43,255,252,191,47,228,190,203,30,149,199,111,120,78,60,251,124,242,209,218,79,229,174,105,127,150,77,107,182,40,173,192,62,55,17,4,188,166,93,224,128,227,38,55,151,145,60,241,106,153,207,35,204,247,131,249,207,200,171,143,188,37,101,3,138,197,145,103, +87,227,252,244,73,112,96,231,52,13,0,84,229,244,1,188,183,114,147,220,62,109,158,252,125,217,7,82,80,146,39,37,7,21,74,197,144,82,217,249,201,110,185,103,250,35,178,18,227,239,172,54,104,9,72,178,74,29,93,123,123,151,192,41,24,240,59,46,185,41,249,141, +100,254,18,89,179,0,204,63,168,68,104,91,164,178,246,217,221,240,89,107,55,134,155,113,21,30,32,23,166,1,0,60,67,202,146,175,54,237,144,61,95,127,43,229,149,165,17,199,11,25,128,84,86,89,34,33,111,72,30,187,254,89,28,75,164,105,111,139,234,42,148,171, +53,134,217,17,205,208,113,131,215,156,200,241,54,129,249,191,122,6,204,127,19,204,47,142,148,29,51,206,87,149,68,255,99,55,20,128,141,208,82,239,85,147,57,134,97,26,251,142,62,143,80,192,60,0,68,41,202,161,89,129,221,173,164,153,195,59,38,50,145,210, +88,84,81,40,121,133,110,121,25,62,250,123,103,62,42,59,182,212,168,249,130,28,168,252,8,227,163,133,68,127,120,175,67,237,27,146,95,44,185,240,232,37,147,124,50,154,204,111,216,219,44,126,111,64,206,158,125,154,140,60,101,132,120,27,189,73,203,143,175, +237,192,188,50,29,0,36,99,187,252,66,43,196,198,223,209,37,236,44,112,72,249,224,18,249,96,245,22,153,59,101,190,108,124,249,67,204,17,216,209,247,119,182,11,226,153,79,201,47,73,201,124,21,225,3,192,236,219,81,39,246,60,155,204,248,227,133,50,237,119, +231,1,112,78,241,53,7,226,28,82,7,38,171,147,127,181,37,0,48,170,162,68,182,130,41,45,245,30,53,153,66,233,164,228,82,226,7,12,41,147,221,159,239,147,123,103,44,144,165,119,173,146,54,204,184,178,159,135,168,42,105,53,152,191,64,245,249,6,243,109,200, +223,14,47,163,26,37,245,1,95,72,246,110,175,149,161,71,13,146,57,11,47,151,137,179,38,168,153,62,79,147,79,249,35,218,95,214,39,113,20,176,20,0,28,171,15,25,117,144,140,159,52,86,154,190,109,81,99,119,130,192,112,197,150,85,22,227,92,100,209,111,94,148, +135,127,249,140,52,236,105,130,202,135,159,30,64,240,54,250,148,193,199,153,187,210,118,201,143,103,190,161,242,91,26,60,82,183,183,65,78,158,114,156,92,255,204,149,114,244,25,163,196,31,244,171,105,105,221,255,199,241,187,211,133,165,190,79,95,179,95, +92,240,183,207,188,231,98,201,47,205,147,151,31,128,211,6,118,128,11,19,53,156,162,109,131,52,23,148,229,65,173,219,100,245,195,127,147,221,159,237,149,153,119,79,145,146,193,69,178,240,215,207,201,154,199,223,86,204,231,44,94,98,159,111,204,211,215, +213,52,72,118,110,182,76,249,239,115,100,242,117,19,161,254,115,165,190,174,65,114,49,156,140,120,24,227,65,211,137,2,7,248,13,203,0,192,65,1,251,101,79,131,79,108,240,177,87,223,94,37,217,240,235,191,124,255,90,197,204,188,34,184,114,1,2,50,214,233, +182,75,197,224,82,217,178,238,51,153,55,107,33,0,80,44,31,174,249,68,74,7,20,41,107,63,145,249,212,34,225,64,88,106,119,214,73,197,176,114,153,246,251,243,228,135,83,198,139,31,179,145,141,181,77,106,50,71,75,254,254,33,219,50,0,196,86,239,247,250,197, +93,238,2,8,46,80,1,26,47,220,254,138,10,188,160,159,32,2,2,120,16,1,142,210,33,197,178,243,211,61,178,253,227,26,165,25,24,252,17,199,124,160,138,193,37,212,44,245,251,26,101,236,143,70,74,245,29,85,50,124,220,80,105,193,236,99,0,129,159,134,49,24,91, +191,62,79,77,129,94,1,0,213,181,47,224,83,253,253,148,155,206,21,55,164,127,241,77,203,164,225,219,102,41,68,23,64,195,206,176,11,242,75,92,145,81,4,52,183,49,140,100,243,149,68,195,168,108,194,16,143,65,37,103,95,117,154,176,172,194,138,124,105,108, +104,84,239,146,249,58,117,143,2,189,2,0,54,137,32,240,54,113,60,46,50,105,206,153,202,54,88,248,95,127,145,230,90,143,228,67,19,48,112,132,137,207,59,37,48,158,142,166,134,221,141,24,70,218,229,146,219,38,203,196,43,39,96,198,8,247,234,26,241,8,255,248, +142,78,221,166,64,239,0,32,202,84,170,111,63,162,109,218,192,236,51,47,63,5,210,159,47,79,98,4,208,136,16,45,250,7,58,28,8,9,223,1,135,18,135,115,71,156,52,92,166,252,246,28,25,117,242,8,241,160,156,0,38,133,12,99,48,33,135,190,220,79,10,88,58,12,76, +108,3,113,64,73,229,58,1,166,67,198,86,74,94,137,91,197,237,81,138,147,38,220,166,71,48,20,8,201,65,35,202,101,216,209,7,227,53,148,129,110,64,167,158,83,160,119,52,64,180,157,148,124,174,220,45,40,200,151,79,55,108,147,71,230,60,35,53,91,247,72,1,98, +244,146,185,130,85,54,160,134,86,127,62,108,133,183,22,191,43,123,182,237,149,234,59,171,100,216,49,48,252,90,60,0,2,22,157,88,222,247,199,207,76,246,156,236,201,75,32,13,248,175,55,83,239,0,128,82,12,53,206,249,254,124,48,127,211,107,91,100,254,236, +167,193,204,125,82,6,183,48,212,66,71,231,143,83,106,131,88,64,240,156,32,112,229,59,229,67,196,247,207,253,247,249,50,253,119,231,43,199,79,16,101,122,154,49,233,195,92,200,107,118,98,221,92,131,192,53,4,177,109,50,187,30,163,60,78,149,115,87,117,118, +151,169,251,68,227,237,158,255,246,74,23,160,152,143,88,126,50,127,195,139,239,203,3,51,31,151,189,95,214,74,197,193,165,146,133,176,49,53,2,0,243,200,100,122,15,155,106,35,171,136,98,37,155,239,228,56,114,84,158,250,157,141,242,208,207,158,80,35,137, +144,39,44,69,37,133,81,12,153,47,61,29,93,147,249,101,119,102,31,23,169,98,217,122,130,65,108,37,240,44,215,0,100,28,37,40,39,43,71,94,127,226,109,21,36,226,111,10,170,104,92,62,227,199,25,67,188,198,125,205,24,17,184,165,226,144,82,169,249,231,94,248, +12,92,136,32,226,250,194,8,241,13,160,148,14,44,82,243,11,207,223,185,82,182,127,82,35,151,222,118,129,12,62,252,32,105,106,110,86,113,255,157,9,219,189,59,84,36,156,195,160,20,50,198,97,245,234,213,242,220,115,207,169,176,54,134,170,225,145,101,137, +75,215,185,136,117,251,246,237,42,194,186,157,62,22,213,104,41,0,232,234,117,22,58,196,153,7,34,194,213,203,8,33,134,225,150,12,42,82,82,207,143,35,145,201,224,111,119,212,74,241,192,2,184,130,47,150,161,99,42,229,193,89,143,203,230,191,125,38,3,14,46, +83,147,57,6,8,216,69,210,121,228,46,118,171,153,193,191,47,253,135,236,130,11,185,250,142,11,100,220,89,163,225,111,240,171,225,166,25,244,34,48,121,124,253,245,215,178,242,149,149,82,84,8,207,36,130,88,173,148,72,3,92,133,133,133,106,170,220,88,87,97, +198,247,36,43,195,50,0,80,72,232,2,166,26,127,233,127,94,149,151,254,248,154,100,35,18,168,0,142,27,195,187,199,168,97,90,247,251,224,210,61,116,204,16,153,121,215,197,50,250,244,35,85,59,255,99,222,116,128,96,33,86,247,126,161,64,64,191,190,161,26,249, +2,203,160,65,89,129,89,69,26,146,247,86,47,144,170,95,159,37,63,158,125,58,34,145,242,177,72,5,35,13,37,169,61,55,12,184,198,177,188,172,28,198,107,129,90,150,102,37,0,212,199,71,255,139,253,222,216,251,102,158,91,106,3,208,227,247,213,63,118,202,210, +59,95,197,42,235,44,41,40,239,96,62,25,234,243,248,21,243,199,159,51,86,174,127,122,150,98,190,31,30,67,175,215,139,89,196,65,50,251,209,203,176,100,235,8,204,241,215,170,233,228,88,155,128,68,96,151,64,9,45,197,172,34,67,191,22,253,102,41,140,203,167, +164,97,103,147,184,157,46,60,235,152,121,236,9,209,12,77,208,23,126,123,242,29,201,242,90,166,1,140,202,66,254,144,90,161,203,69,23,148,90,18,145,46,91,26,122,94,143,79,126,252,243,211,100,234,45,231,97,182,208,141,181,131,240,20,70,251,123,158,87,30, +57,80,174,6,8,254,244,159,79,202,198,85,155,165,2,97,102,54,204,252,181,119,7,168,132,210,200,174,134,78,37,187,43,32,107,31,123,91,190,217,188,75,102,252,225,66,172,251,59,76,5,141,38,139,33,48,218,183,63,191,148,68,46,103,51,150,183,245,150,6,48,218, +70,154,209,56,100,253,102,215,109,41,0,216,216,28,123,54,6,104,29,210,202,143,169,197,20,110,14,150,135,77,195,80,238,220,57,103,32,64,4,179,134,88,58,78,139,155,207,153,8,4,46,39,175,24,90,38,87,205,175,150,121,176,250,223,95,245,17,64,80,166,84,191, +209,141,168,151,241,31,237,2,7,166,141,25,139,248,217,187,95,201,125,51,22,200,180,59,206,87,35,11,14,63,217,183,70,139,54,178,236,247,47,87,59,213,215,215,171,46,136,43,147,205,102,194,119,53,196,0,0,255,240,38,181,163,153,201,116,0,144,49,36,144,193, +72,246,195,236,138,41,245,148,220,189,80,231,12,4,153,113,231,133,114,242,197,199,97,131,166,16,52,65,231,37,227,42,63,50,242,131,203,176,126,239,231,127,174,150,249,191,120,90,222,93,190,9,190,3,196,5,98,61,95,162,100,179,124,14,37,203,49,188,108,193, +28,195,130,107,150,168,56,4,46,6,77,39,241,59,40,121,199,28,115,140,92,123,237,181,106,68,16,25,159,167,83,90,207,242,176,45,92,122,127,194,9,39,152,170,9,76,7,64,8,4,107,12,98,56,231,207,83,171,117,84,63,13,230,7,209,21,212,214,212,201,225,39,12,83, +65,31,71,252,96,152,4,67,65,181,57,67,59,88,18,105,164,84,7,65,224,81,81,197,191,120,120,134,60,114,205,98,89,191,228,29,41,27,132,248,64,71,231,191,66,106,72,39,153,30,240,32,50,184,206,131,174,161,123,78,28,2,150,109,98,89,148,254,99,143,61,86,198, +143,31,159,216,186,239,229,154,109,226,159,225,53,43,153,6,0,50,186,21,155,49,141,255,201,88,249,244,237,109,242,254,203,155,85,100,110,81,121,1,86,242,64,133,214,54,202,137,85,227,228,167,127,184,8,227,252,50,241,249,125,237,54,65,151,31,163,122,132, +72,23,81,8,35,242,202,7,46,81,93,202,58,130,96,32,86,246,38,137,22,82,90,7,132,82,140,199,133,1,138,46,235,73,241,144,64,232,216,227,40,197,75,189,120,187,39,223,146,172,153,166,1,128,133,251,177,195,198,33,71,13,150,107,31,187,66,214,62,254,150,10,255, +222,241,89,141,56,224,70,157,116,245,25,50,229,230,72,44,128,209,143,165,148,252,36,45,165,125,64,59,129,198,226,172,7,167,73,22,130,69,214,61,189,1,11,79,176,58,40,197,2,17,179,136,213,27,195,177,36,159,220,43,183,210,5,0,181,100,210,228,197,52,173, +3,115,246,63,185,250,71,114,36,166,109,95,184,103,165,12,27,51,84,206,191,238,223,84,236,158,215,3,35,38,98,231,37,205,223,213,77,130,128,229,231,33,104,228,103,15,76,83,49,5,175,204,95,39,37,8,29,99,88,25,13,65,157,186,71,129,116,1,192,124,249,169,170, +242,33,4,140,227,252,17,199,13,149,107,30,190,28,86,62,134,110,248,231,79,98,236,165,42,163,171,251,4,145,11,241,254,151,205,189,72,245,213,43,254,244,134,148,32,216,148,30,199,196,209,65,87,229,100,216,51,4,84,116,63,165,11,0,90,33,111,227,224,150,95, +195,113,196,129,129,170,157,210,200,61,129,184,196,59,140,217,173,16,54,130,72,84,249,184,110,128,154,222,134,252,76,137,122,129,90,134,127,181,121,48,142,74,28,237,137,229,208,135,192,85,72,151,97,188,207,156,43,1,130,98,65,196,49,64,96,178,38,96,27, +62,199,209,128,131,68,78,169,253,240,236,251,72,32,71,150,13,116,220,151,78,229,233,2,96,39,156,18,147,48,36,202,197,138,222,51,80,249,28,84,126,124,108,3,200,36,146,138,123,236,241,92,93,199,190,32,242,37,46,111,66,57,43,241,140,169,147,87,18,198,151, +31,110,216,209,40,255,110,188,219,169,124,95,20,4,52,44,185,68,124,217,61,171,149,255,192,141,80,244,253,5,1,234,85,109,83,155,71,195,144,77,146,246,161,254,235,49,26,88,143,125,143,184,162,53,233,75,73,242,245,214,45,69,59,76,184,213,166,83,97,90,0, +64,141,220,51,237,219,104,133,79,194,168,123,11,68,154,141,251,87,224,183,40,182,33,36,112,146,244,14,238,255,10,251,8,172,75,242,44,241,214,250,230,230,230,89,0,219,35,120,16,55,22,99,217,10,4,88,60,202,101,96,140,44,126,97,238,43,138,69,236,34,82,117, +7,108,18,241,198,89,55,6,148,48,148,156,219,201,210,163,152,36,133,80,79,125,105,105,41,53,0,143,140,74,157,164,46,157,175,3,35,191,192,113,3,172,229,105,200,191,22,71,82,74,70,203,126,30,204,156,182,159,204,87,89,242,243,243,55,161,236,203,113,177,33, +90,70,251,143,2,1,12,67,6,136,78,189,121,146,84,221,112,150,52,54,54,99,61,130,87,57,133,218,95,196,9,223,229,4,20,29,72,30,44,24,173,135,71,178,25,203,214,134,142,29,34,23,221,120,142,12,63,118,168,114,76,37,180,62,7,249,156,177,229,100,210,121,82,241, +236,201,7,54,54,54,150,193,93,58,27,154,224,74,148,19,219,119,51,136,111,30,84,233,173,216,73,172,62,157,58,224,0,57,18,64,120,8,121,79,79,204,143,250,176,192,20,93,52,166,155,95,156,187,82,158,189,109,5,166,83,237,146,143,105,99,122,8,41,245,116,70, +181,128,241,33,127,88,197,34,142,154,48,66,198,159,59,6,235,11,70,41,71,83,48,12,199,20,247,53,142,55,71,106,0,128,106,0,246,181,196,58,51,225,218,116,0,24,68,65,183,112,10,152,242,75,92,87,129,128,52,246,110,5,17,31,196,121,143,162,57,1,130,195,0,130, +255,69,185,103,24,117,25,191,6,8,24,124,242,226,221,171,100,241,111,151,169,109,105,184,45,93,83,93,179,218,119,104,208,225,3,212,218,193,227,206,25,35,135,159,56,76,77,84,193,133,37,1,48,94,109,38,97,20,214,241,187,11,26,171,26,182,200,171,29,183,50, +231,204,50,0,144,68,212,6,48,78,102,128,233,187,193,252,167,204,34,27,65,0,31,253,67,40,247,204,196,50,9,2,181,77,188,2,193,106,89,116,235,11,226,180,57,100,212,73,135,201,15,170,142,198,244,242,72,25,56,162,66,101,227,62,193,33,196,13,68,52,68,74,82, +52,163,204,75,242,242,242,150,39,214,149,9,215,41,191,186,175,127,28,52,204,161,96,204,189,104,231,228,196,182,26,154,0,130,45,235,150,108,80,59,140,140,61,125,164,228,161,59,160,121,18,8,6,212,78,165,124,15,32,74,204,30,123,189,11,239,172,130,6,248, +45,0,252,69,236,131,76,57,239,242,235,251,250,71,98,55,210,33,104,227,125,56,46,72,108,43,153,203,105,96,70,243,50,133,219,184,43,56,230,211,57,212,163,137,154,250,203,233,78,252,0,199,90,28,127,1,227,223,3,72,252,56,207,200,148,154,12,253,228,115,1, +2,26,154,247,227,232,4,2,126,130,33,225,4,68,87,9,239,209,78,89,131,95,170,250,181,153,42,241,137,52,232,247,0,224,7,97,158,124,16,24,55,23,167,211,19,63,240,59,174,131,120,254,37,142,229,200,191,12,221,202,251,209,241,254,119,100,203,156,199,25,1,0, +178,3,6,103,57,188,146,115,193,200,159,238,7,123,106,33,237,27,241,30,125,18,43,96,225,111,71,62,58,183,14,184,148,49,0,32,231,8,2,140,58,232,54,174,78,193,201,109,96,244,106,12,35,95,114,187,221,235,112,142,221,36,14,236,148,81,0,32,43,33,217,3,49,68, +60,9,167,156,184,49,164,154,223,25,2,227,183,193,73,245,49,24,79,213,175,147,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,192,129,64, +129,255,7,47,12,150,8,60,209,161,194,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; + +const char* projectIconVisualStudio_png = (const char*) temp_binary_data_34; + +//================== projectIconXcode.png ================== +static const unsigned char temp_binary_data_35[] = +{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,128,0,0,0,128,8,6,0,0,0,195,62,97,203,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,100,121,113,201,101,60,0,0,3,40,105,84,88,116,88,77,76,58, +99,111,109,46,97,100,111,98,101,46,120,109,112,0,0,0,0,0,60,63,120,112,97,99,107,101,116,32,98,101,103,105,110,61,34,239,187,191,34,32,105,100,61,34,87,53,77,48,77,112,67,101,104,105,72,122,114,101,83,122,78,84,99,122,107,99,57,100,34,63,62,32,60,120, +58,120,109,112,109,101,116,97,32,120,109,108,110,115,58,120,61,34,97,100,111,98,101,58,110,115,58,109,101,116,97,47,34,32,120,58,120,109,112,116,107,61,34,65,100,111,98,101,32,88,77,80,32,67,111,114,101,32,53,46,54,45,99,48,49,52,32,55,57,46,49,53,54, +55,57,55,44,32,50,48,49,52,47,48,56,47,50,48,45,48,57,58,53,51,58,48,50,32,32,32,32,32,32,32,32,34,62,32,60,114,100,102,58,82,68,70,32,120,109,108,110,115,58,114,100,102,61,34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,49,57,57, +57,47,48,50,47,50,50,45,114,100,102,45,115,121,110,116,97,120,45,110,115,35,34,62,32,60,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,32,114,100,102,58,97,98,111,117,116,61,34,34,32,120,109,108,110,115,58,120,109,112,61,34,104,116,116,112, +58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,34,32,120,109,108,110,115,58,120,109,112,77,77,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,109,109,47,34,32,120, +109,108,110,115,58,115,116,82,101,102,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,115,84,121,112,101,47,82,101,115,111,117,114,99,101,82,101,102,35,34,32,120,109,112,58,67,114,101,97,116,111, +114,84,111,111,108,61,34,65,100,111,98,101,32,80,104,111,116,111,115,104,111,112,32,67,67,32,50,48,49,52,32,40,77,97,99,105,110,116,111,115,104,41,34,32,120,109,112,77,77,58,73,110,115,116,97,110,99,101,73,68,61,34,120,109,112,46,105,105,100,58,49,51, +54,56,69,69,54,70,52,67,55,57,49,49,69,52,57,54,50,67,65,49,51,66,54,69,53,52,48,69,51,54,34,32,120,109,112,77,77,58,68,111,99,117,109,101,110,116,73,68,61,34,120,109,112,46,100,105,100,58,49,51,54,56,69,69,55,48,52,67,55,57,49,49,69,52,57,54,50,67,65, +49,51,66,54,69,53,52,48,69,51,54,34,62,32,60,120,109,112,77,77,58,68,101,114,105,118,101,100,70,114,111,109,32,115,116,82,101,102,58,105,110,115,116,97,110,99,101,73,68,61,34,120,109,112,46,105,105,100,58,49,51,54,56,69,69,54,68,52,67,55,57,49,49,69, +52,57,54,50,67,65,49,51,66,54,69,53,52,48,69,51,54,34,32,115,116,82,101,102,58,100,111,99,117,109,101,110,116,73,68,61,34,120,109,112,46,100,105,100,58,49,51,54,56,69,69,54,69,52,67,55,57,49,49,69,52,57,54,50,67,65,49,51,66,54,69,53,52,48,69,51,54,34, +47,62,32,60,47,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,62,32,60,47,114,100,102,58,82,68,70,62,32,60,47,120,58,120,109,112,109,101,116,97,62,32,60,63,120,112,97,99,107,101,116,32,101,110,100,61,34,114,34,63,62,9,144,57,89,0,0,67,215,73, +68,65,84,120,218,236,125,9,188,93,85,117,247,218,251,156,59,189,41,19,153,19,2,97,8,132,36,24,32,8,40,115,65,171,88,81,180,22,1,91,43,159,210,138,165,98,171,182,180,95,173,126,85,106,21,75,213,90,252,172,84,40,173,56,97,157,80,64,20,48,130,65,166,144, +64,18,8,153,200,60,190,228,13,119,56,103,239,111,173,181,199,115,19,126,95,127,242,46,190,103,121,249,221,220,247,238,61,247,156,115,247,94,123,13,255,245,95,107,11,173,53,252,170,63,141,70,3,86,175,94,13,47,230,28,47,255,188,248,159,217,179,103,195, +196,137,19,127,165,207,166,47,230,194,27,54,108,128,87,189,234,85,160,148,58,212,219,226,55,104,140,71,181,132,223,116,211,77,112,249,229,151,191,244,2,64,19,63,48,48,208,62,233,194,14,152,104,19,4,49,74,38,82,31,66,80,197,11,76,180,136,94,211,109,191, +143,154,159,86,171,245,43,127,54,125,177,23,151,82,58,13,224,6,50,1,33,74,160,5,62,131,164,67,94,80,0,200,116,8,241,146,205,189,144,169,72,123,166,84,240,154,194,93,63,27,216,89,215,42,211,209,61,169,82,42,242,84,66,150,183,84,179,169,33,63,196,120,169, +23,16,166,95,203,143,120,17,99,152,142,212,61,216,137,78,232,118,230,94,254,149,47,214,166,29,119,170,86,13,161,113,168,116,174,133,202,64,39,85,193,35,38,5,189,6,198,119,144,230,211,244,37,120,52,115,109,212,7,30,100,92,11,51,198,90,217,103,252,156, +72,131,60,209,235,244,253,249,125,43,130,42,83,32,18,17,132,12,236,181,146,84,166,221,147,43,218,45,108,252,76,171,127,123,67,235,76,9,105,142,81,90,231,147,106,98,168,170,242,65,53,184,125,143,104,110,219,156,236,125,118,85,115,199,211,143,175,95,253, +196,242,157,251,6,247,225,135,75,145,32,168,177,96,38,94,42,1,192,129,209,165,218,228,185,199,244,204,94,116,76,222,24,118,211,7,57,78,92,95,77,66,119,69,192,214,3,185,153,119,97,39,217,9,2,29,173,89,26,104,33,134,73,70,161,160,69,42,203,2,114,92,146, +210,222,53,31,34,33,18,16,205,231,210,237,250,70,91,1,16,248,94,150,249,223,89,131,85,250,252,177,218,126,126,0,207,181,159,180,90,247,60,212,112,0,229,57,25,76,174,12,235,215,92,180,254,201,236,217,59,111,125,224,135,95,191,101,243,246,61,187,240,35, +101,124,100,145,70,248,31,41,0,65,245,155,1,233,214,89,93,233,172,129,191,54,121,69,243,82,193,129,157,214,155,194,148,158,4,54,236,172,67,53,21,160,98,11,155,153,185,103,85,205,2,96,221,8,97,4,128,231,38,51,218,67,229,224,87,189,80,58,152,106,17,107, +4,59,165,36,16,185,153,92,153,136,200,218,43,43,52,25,107,2,62,78,27,13,36,18,141,95,134,254,206,65,55,50,24,198,11,174,221,215,16,107,178,137,139,102,77,191,226,31,46,185,246,188,119,172,184,243,115,31,186,247,167,15,220,21,9,1,140,38,179,240,223,54, +225,35,168,1,156,0,116,105,165,82,158,64,154,12,28,116,122,224,194,131,41,221,40,0,189,137,147,9,176,243,13,164,126,5,10,4,253,147,206,158,217,213,45,98,127,193,41,139,48,223,65,189,211,229,26,202,42,100,97,236,162,54,231,17,180,218,149,213,18,116,79, +246,120,17,9,32,153,28,115,31,218,8,129,213,80,2,157,1,242,115,74,137,196,47,167,224,249,29,253,240,245,167,202,11,143,186,232,47,238,184,252,237,151,190,207,158,161,108,23,147,24,107,209,143,28,193,115,9,59,8,85,28,240,68,90,27,44,34,251,61,165,79,66, +34,205,228,248,1,79,160,56,81,198,2,152,99,236,164,145,0,201,146,61,159,123,143,151,187,21,26,43,100,194,10,140,247,137,180,123,15,39,49,53,239,187,243,179,20,230,164,21,140,0,122,85,198,147,46,88,235,240,217,181,61,119,154,224,61,36,80,174,36,144,202, +28,190,185,108,103,165,247,148,119,124,230,79,174,254,227,15,218,111,80,26,139,66,48,210,62,128,245,3,104,33,11,72,74,18,109,191,134,38,218,239,33,180,221,199,76,73,97,211,222,156,127,23,96,85,62,249,102,218,168,221,102,110,78,80,78,141,67,152,181,140, +239,128,46,164,17,24,60,62,207,140,253,166,143,86,75,230,184,225,58,250,8,40,40,101,252,27,231,9,234,45,197,102,66,209,36,39,177,150,64,213,46,141,80,101,185,50,215,86,198,60,209,235,37,60,111,78,145,1,125,30,125,128,28,143,83,116,83,120,125,214,58,74, +66,43,67,227,160,36,223,248,205,119,61,11,215,189,245,205,127,123,237,53,66,222,112,227,231,63,25,57,135,217,88,113,12,211,14,104,20,153,55,112,16,235,56,178,82,3,250,124,112,194,225,21,168,225,208,28,117,88,10,179,198,37,176,165,191,6,83,251,18,232, +197,55,251,135,52,172,221,221,130,129,97,5,167,29,89,129,221,67,10,150,111,105,242,128,79,69,159,97,106,175,132,190,138,132,129,166,98,193,153,61,62,129,33,20,140,253,168,238,151,173,111,66,29,159,47,57,177,10,164,112,158,217,213,98,1,91,56,189,4,21, +252,102,221,168,152,43,40,132,93,120,237,6,10,195,126,60,247,30,188,78,130,234,102,114,183,228,201,222,61,152,243,103,183,236,203,96,195,158,22,244,97,164,50,185,75,64,23,222,91,111,89,3,90,45,20,134,28,246,14,181,96,168,158,194,97,120,226,198,144,128, +125,253,120,190,189,25,220,189,108,53,124,244,157,87,254,141,76,202,181,79,221,240,153,143,89,33,32,113,105,141,5,33,72,71,216,4,88,108,0,204,234,39,167,13,87,243,27,23,85,225,228,217,101,152,128,81,64,29,87,240,239,157,36,96,23,14,252,238,65,141,147, +163,241,181,4,154,221,9,156,115,76,5,246,13,107,56,128,194,67,171,253,154,115,122,1,23,35,12,83,48,142,171,113,0,159,55,236,201,97,2,78,92,95,93,194,115,61,25,100,53,1,151,44,238,194,243,41,104,225,235,107,118,100,112,24,10,205,235,78,168,65,25,87,255, +96,131,62,75,43,154,110,208,204,197,0,10,205,174,129,156,5,96,209,204,18,236,27,34,161,73,225,151,155,48,66,217,147,193,101,75,186,96,206,196,20,14,52,114,212,94,10,26,168,5,178,172,4,131,40,0,27,118,40,216,39,74,208,151,148,97,155,170,64,179,113,0,110, +185,235,41,248,219,63,253,147,15,182,114,149,220,120,227,141,31,137,198,117,212,71,8,105,7,206,41,36,174,188,4,7,95,227,26,160,9,255,248,93,7,80,189,107,184,238,194,62,246,206,175,251,94,63,212,40,164,35,207,27,255,166,21,88,66,245,253,253,39,135,57, +50,72,173,255,240,224,186,221,208,200,204,228,187,233,107,41,243,25,58,162,140,199,165,168,101,46,189,121,23,191,78,90,163,132,175,221,246,240,32,220,254,232,144,1,122,200,20,144,199,79,102,70,27,225,36,179,148,185,176,209,134,126,244,76,2,67,170,255, +253,223,106,224,121,208,36,177,41,81,108,94,240,83,24,138,182,160,213,172,227,247,26,130,188,62,4,186,94,199,231,28,106,155,214,195,229,231,31,7,215,190,255,154,15,160,195,88,254,204,103,62,243,215,209,120,140,106,33,232,132,0,160,4,72,10,230,2,232,131, +191,80,20,48,136,43,120,106,143,228,137,171,165,1,53,118,185,164,164,34,204,43,218,56,99,45,114,210,200,78,59,80,71,144,135,41,89,0,180,67,17,53,77,58,62,232,66,82,179,243,86,43,73,27,18,226,23,100,128,199,92,139,222,211,40,5,252,54,159,71,217,89,113, +192,16,254,141,231,84,12,8,1,251,19,244,5,248,122,116,12,122,140,101,124,104,124,100,58,197,195,49,162,81,41,236,219,219,15,63,125,98,19,204,63,98,50,188,247,189,239,125,95,146,36,229,79,127,250,211,127,17,37,201,70,173,16,200,142,156,84,154,137,55,33, +93,8,201,232,98,93,37,225,61,111,243,160,137,48,19,156,112,144,111,67,60,156,40,154,120,233,163,6,105,206,35,76,228,96,162,1,19,243,179,183,46,69,120,22,102,85,155,247,180,189,142,245,230,181,240,231,113,152,1,223,166,138,66,195,22,73,172,118,32,165, +193,38,116,136,44,232,11,72,84,113,66,38,44,72,101,148,192,7,158,220,8,185,29,206,171,174,186,234,61,31,249,200,71,110,68,65,168,218,240,184,4,16,157,238,55,93,0,220,162,226,129,183,3,156,224,138,175,183,180,1,250,32,196,224,57,58,119,82,154,129,165, +215,100,73,50,210,199,147,110,198,58,76,36,189,230,66,70,25,194,61,23,198,105,59,233,86,36,204,231,100,152,112,97,143,101,161,2,135,23,132,123,117,211,99,238,193,197,163,225,59,240,195,134,158,60,116,36,148,146,4,160,4,207,110,220,13,219,247,14,67,95, +79,55,223,199,219,223,254,246,43,62,113,253,245,55,85,170,213,190,56,58,26,109,66,208,57,1,208,17,200,99,7,153,6,158,212,63,105,6,103,199,19,210,8,41,240,67,59,100,61,23,222,44,104,103,166,85,49,173,72,43,207,96,1,225,98,82,138,98,60,15,17,24,100,79, +196,202,200,2,65,124,188,50,90,193,92,91,91,173,96,145,71,165,15,194,247,24,176,114,90,137,84,17,10,0,174,116,216,55,88,135,231,182,238,133,222,158,46,168,86,171,124,141,55,93,124,241,37,159,250,135,79,221,220,221,221,61,201,222,86,217,106,4,249,27,45, +0,20,6,170,40,18,230,201,195,175,223,196,1,37,8,88,186,85,232,84,60,136,34,170,7,118,114,242,224,163,9,7,27,90,161,242,19,66,194,148,25,211,161,99,191,206,171,116,17,180,130,23,144,88,67,132,172,38,88,129,97,252,192,33,153,78,104,148,176,96,149,53,107, +214,36,57,80,43,71,103,241,153,77,187,161,90,171,177,0,212,240,153,190,203,107,95,251,154,215,222,112,195,13,183,77,156,56,113,150,253,138,177,38,16,191,145,2,64,171,154,84,62,163,129,90,216,149,6,176,31,67,188,82,74,94,191,8,240,189,140,16,58,105,162, +7,143,204,225,115,138,234,56,113,171,78,10,171,154,193,128,65,214,31,208,46,37,234,132,37,137,84,186,93,237,14,58,166,137,230,76,161,140,51,145,96,205,79,36,144,140,254,133,41,162,251,242,215,182,121,9,35,25,210,251,57,27,183,237,101,85,86,169,84,10, +66,112,238,185,231,158,249,185,207,125,238,246,89,179,102,29,29,65,199,201,11,166,201,199,186,0,176,157,77,35,184,151,38,46,145,60,94,45,155,6,22,22,127,167,9,202,155,22,182,149,198,94,120,219,158,24,83,160,242,0,23,187,8,65,68,99,151,148,141,176,145, +105,73,24,234,179,16,112,148,106,54,230,65,24,21,175,193,107,29,17,57,122,44,36,137,17,50,201,247,129,247,172,132,123,43,228,31,200,100,128,100,186,131,72,140,38,144,120,236,238,254,33,179,196,209,39,136,133,128,126,78,62,249,228,197,40,4,223,152,59, +119,238,43,192,232,182,81,145,63,232,144,45,50,203,68,72,109,87,179,89,154,4,235,166,9,248,201,96,79,221,66,188,2,66,214,207,227,250,110,177,43,237,39,83,145,121,105,1,68,110,156,11,38,253,106,118,154,135,237,59,59,31,70,99,168,150,246,194,197,54,95, +219,227,164,21,42,167,121,68,208,30,108,14,84,236,112,26,1,73,203,238,59,24,213,149,224,23,219,143,126,0,135,165,105,10,105,90,212,4,116,254,121,243,230,29,251,217,207,126,246,235,11,22,44,56,211,134,134,37,171,9,126,109,66,32,59,53,253,70,37,139,16, +62,57,205,32,130,87,110,38,192,56,128,206,4,152,84,189,153,56,74,227,210,235,73,85,178,208,144,130,72,43,194,58,114,16,209,49,204,241,76,236,17,177,7,106,87,107,102,38,92,70,166,196,152,15,235,229,107,27,126,170,144,112,242,201,36,252,12,105,24,103,239, +157,95,225,179,213,50,246,96,204,135,73,219,165,135,16,2,114,22,143,60,242,200,89,40,4,95,59,243,204,51,223,96,133,160,252,235,20,2,217,65,5,96,86,153,85,215,110,210,8,214,85,22,181,115,206,28,171,208,68,68,118,220,120,227,206,145,11,156,27,97,7,216, +126,46,129,16,222,217,228,147,191,174,117,36,201,142,179,121,160,140,96,4,40,113,120,105,49,139,24,39,144,78,112,193,250,18,113,88,235,4,219,29,99,36,58,8,135,59,189,48,41,228,67,9,1,253,61,121,242,228,9,215,95,127,253,45,23,92,112,193,229,191,110,33, +72,59,229,3,184,137,160,65,215,81,172,78,88,128,178,118,157,157,42,165,189,93,215,214,227,118,206,92,98,209,66,86,195,222,150,147,0,9,99,94,132,9,203,98,143,63,208,81,3,198,199,166,35,58,7,56,191,66,182,221,51,203,152,13,9,117,49,138,177,20,166,144,250, +68,129,210,210,106,56,113,40,48,204,156,144,38,252,80,63,125,125,125,93,31,251,216,199,110,234,233,233,25,127,199,29,119,124,193,10,65,235,165,206,36,118,68,0,28,153,131,198,128,236,58,79,180,214,252,119,201,250,0,137,5,120,84,136,255,12,46,128,2,67, +137,27,86,231,188,50,77,206,222,76,74,64,235,116,108,171,61,75,72,251,149,74,51,170,61,243,68,120,68,208,133,154,4,246,232,76,27,152,56,49,172,33,127,31,210,42,199,220,248,14,116,125,130,135,181,53,23,218,57,183,209,13,196,56,133,11,79,255,127,66,128, +247,145,94,119,221,117,159,158,48,97,66,239,151,191,252,229,79,253,58,210,201,29,17,0,237,66,174,136,152,201,104,43,133,130,13,109,57,127,80,96,245,120,175,63,55,147,78,78,150,178,92,192,164,44,89,149,43,55,161,58,120,240,42,15,240,179,75,60,120,202, +159,136,236,145,163,17,57,201,241,142,165,243,242,181,191,7,86,237,148,23,72,77,30,129,35,7,27,234,177,117,81,218,71,43,206,159,96,33,111,215,132,255,61,33,128,171,175,190,250,35,104,30,122,63,255,249,207,127,52,50,162,47,73,254,160,35,2,96,66,48,233, +109,177,155,236,225,150,182,57,2,167,138,181,119,14,188,214,22,80,72,8,5,187,26,224,99,17,59,140,96,133,73,26,184,88,171,96,78,252,103,109,92,143,226,100,222,199,255,92,50,80,88,19,37,19,105,9,165,138,63,171,33,124,214,11,172,104,203,75,196,78,143,14, +106,191,93,8,200,249,163,7,133,135,36,225,213,114,9,127,199,215,236,241,67,67,67,112,229,149,87,126,0,133,164,251,198,27,111,252,240,75,153,73,236,140,9,208,6,122,13,115,108,84,254,129,186,102,82,168,201,198,133,213,168,163,133,42,180,243,17,76,136,72, +160,146,182,7,72,179,48,205,10,148,129,24,42,173,48,40,239,237,59,239,60,100,26,249,82,76,239,2,131,28,234,72,64,68,48,21,38,198,119,78,157,100,98,40,77,131,19,74,103,119,140,70,8,9,42,18,160,193,225,6,60,180,252,57,24,170,55,96,184,222,140,3,3,78,51, +87,112,226,107,149,18,244,118,149,161,187,90,134,158,90,10,19,198,247,225,223,21,232,63,48,0,239,124,231,31,92,85,198,159,27,110,184,225,131,121,158,215,33,16,75,58,38,4,29,115,2,121,242,210,128,233,211,133,118,13,105,142,2,82,74,177,58,6,176,100,198, +149,135,105,153,244,105,85,56,209,191,148,229,3,58,56,87,74,75,37,19,33,215,224,22,97,146,186,72,129,249,253,62,2,241,181,5,78,179,224,57,77,32,97,77,134,137,5,3,243,152,57,129,206,124,73,227,159,147,32,228,224,145,77,37,2,200,68,255,104,85,175,222,184, +3,46,186,230,179,144,181,154,40,192,89,160,188,187,36,19,227,5,18,74,105,2,189,181,42,76,28,215,13,179,167,77,132,227,143,156,10,139,143,153,14,115,167,245,193,187,175,124,231,31,214,106,213,210,71,63,250,177,107,236,228,235,78,106,130,206,8,128,69,220, +148,178,20,111,101,84,60,153,112,28,39,118,244,50,75,236,96,158,30,81,196,173,157,181,35,101,1,23,163,138,181,93,241,78,83,8,135,247,131,161,143,83,173,0,199,234,150,204,233,76,131,211,64,230,115,22,208,177,102,2,172,41,210,110,38,249,56,229,209,73,54, +13,153,209,66,102,182,37,115,9,2,124,104,76,129,179,77,198,44,152,201,77,165,225,135,122,1,240,154,78,187,122,20,216,55,48,12,187,246,15,194,211,235,183,195,157,15,62,133,154,161,2,71,207,154,12,23,158,122,20,188,254,245,111,188,162,89,31,26,188,254, +147,159,254,112,20,99,116,132,98,150,118,202,182,240,148,43,90,189,54,140,183,254,64,133,86,116,100,223,217,223,178,30,191,81,251,1,136,225,115,228,218,39,147,124,136,103,39,128,163,77,10,9,203,118,112,85,28,171,107,143,116,176,231,238,136,235,20,97, +228,202,99,8,32,130,31,97,160,93,171,17,172,32,230,13,197,14,168,118,60,2,86,65,210,57,50,172,41,248,115,84,9,135,15,137,246,199,132,146,138,77,139,142,194,68,9,81,72,169,205,224,235,8,35,89,243,252,46,88,177,126,23,252,112,217,90,248,163,55,93,120,213, +213,127,52,176,251,115,95,184,233,122,27,34,58,77,48,162,2,208,177,180,164,180,194,111,194,51,163,186,137,218,69,92,139,180,28,212,191,180,158,52,13,100,214,52,112,173,3,2,248,119,95,54,230,146,75,14,1,212,81,133,143,246,116,241,66,173,97,244,167,67, +23,217,52,85,101,1,130,134,216,79,16,96,75,26,237,177,101,233,51,138,44,108,96,4,128,159,21,9,12,78,60,218,30,122,200,180,4,162,84,65,161,47,227,163,130,130,83,197,123,198,191,211,10,63,11,122,46,133,223,5,14,132,76,202,120,157,18,62,151,0,205,63,140, +235,169,194,17,189,13,248,248,45,247,67,101,238,217,127,241,250,223,190,240,109,81,238,96,196,249,4,157,9,3,89,253,83,38,79,4,162,134,197,255,93,228,37,236,202,116,121,124,118,148,50,59,201,202,132,101,236,224,165,194,66,197,214,148,200,112,78,114,250, +164,203,210,197,252,1,79,244,208,62,18,241,224,148,22,62,139,72,166,195,107,29,105,28,68,83,10,170,141,214,128,128,248,105,79,74,49,56,6,213,190,74,156,244,180,82,70,115,86,9,230,58,179,160,133,214,150,136,10,177,20,70,101,106,246,57,55,78,143,171,114, +34,19,121,194,172,110,120,118,239,16,124,233,71,171,229,91,78,123,243,223,31,179,102,205,202,103,214,174,95,97,113,2,61,146,254,64,199,194,64,118,0,51,231,157,227,202,199,241,73,251,12,75,151,126,231,201,119,3,97,49,252,82,69,120,147,73,33,149,78,149, +79,192,4,228,71,251,9,54,170,217,240,0,77,49,169,17,38,158,84,31,93,152,236,159,182,254,136,51,13,236,108,166,210,168,105,17,21,152,70,174,187,240,180,38,11,70,89,170,153,214,134,14,38,75,41,126,55,92,193,9,174,116,190,241,132,87,56,115,13,149,85,175, +113,249,155,136,56,15,174,86,81,217,115,162,170,164,115,180,136,193,140,231,155,58,65,192,134,254,58,220,245,244,192,164,211,126,235,178,255,179,105,227,245,151,213,91,28,25,228,48,130,37,104,29,17,0,162,131,115,17,135,173,207,163,80,78,224,164,84,108, +193,71,174,131,142,38,225,112,28,63,151,227,19,62,89,40,162,156,66,228,0,138,224,13,50,25,163,165,125,138,89,75,221,22,142,26,164,79,104,233,41,99,206,46,27,184,217,56,101,30,150,148,161,154,41,111,69,0,79,102,52,129,210,218,230,29,72,250,80,133,167, +25,11,145,194,149,79,106,221,73,189,71,18,116,49,81,228,82,145,70,83,41,35,44,172,49,204,239,173,44,135,180,218,5,125,189,37,188,70,2,141,186,130,181,106,206,249,11,151,156,249,198,135,127,254,211,175,90,83,48,98,229,233,157,203,5,56,96,206,229,236,75, +70,32,168,58,184,148,82,20,96,110,63,177,89,57,199,194,17,73,80,231,62,190,207,139,231,245,56,191,93,98,169,211,28,150,228,9,73,96,4,185,101,232,4,140,94,34,138,122,119,89,242,204,19,83,185,108,193,32,123,195,94,221,27,36,51,32,132,84,17,100,32,229,132, +225,34,137,54,60,173,145,25,193,201,111,161,29,231,50,166,188,128,44,130,141,84,156,22,51,69,168,246,187,74,83,64,67,192,148,44,147,38,203,81,232,20,84,123,106,232,45,227,185,187,75,80,193,24,121,251,1,128,163,231,93,112,85,247,163,75,127,52,88,111,237, +143,176,129,23,29,21,116,68,0,18,107,111,149,50,54,218,140,173,128,129,97,227,21,151,241,170,92,60,172,3,247,206,171,121,187,218,157,58,246,4,78,25,105,13,207,221,11,30,180,112,145,133,108,163,144,5,228,151,39,165,11,39,126,225,180,18,60,185,181,9,215, +156,211,7,55,255,252,0,108,223,159,65,149,132,40,10,89,153,235,39,9,49,52,30,189,49,109,36,28,146,233,224,124,189,212,114,19,209,73,145,232,200,249,149,236,253,216,8,218,116,17,129,142,240,114,202,115,148,140,138,99,243,130,146,222,76,114,56,160,107, +48,125,114,13,146,205,3,24,82,162,128,100,25,236,42,31,181,184,103,250,188,211,6,215,173,184,219,206,91,238,60,150,209,23,6,58,86,79,20,3,209,252,214,81,59,82,229,15,199,222,100,87,69,88,29,206,44,178,182,109,153,76,160,112,1,191,5,116,140,41,176,159, +139,112,1,7,8,185,44,158,165,163,152,56,221,106,74,119,59,131,24,214,253,206,162,30,174,83,188,224,184,42,44,153,93,134,247,124,117,55,236,29,206,185,134,128,24,62,60,145,22,239,7,198,2,164,41,34,212,46,213,107,169,12,54,221,45,73,50,80,27,144,29,119, +61,6,60,6,16,117,159,209,81,166,210,84,79,211,12,68,13,48,72,19,224,156,14,0,250,0,147,169,119,1,1,71,248,26,122,187,77,140,28,242,169,167,156,15,235,86,252,196,46,147,17,65,8,59,19,6,218,213,152,150,101,112,128,169,226,7,205,192,222,97,109,28,95,17, +216,181,224,18,44,118,197,167,190,1,132,240,126,1,43,7,21,160,93,38,136,68,36,13,173,130,106,45,228,14,92,166,206,46,68,170,20,186,117,217,32,124,224,188,94,120,110,87,198,16,245,71,47,26,207,43,61,48,153,165,103,255,250,254,87,202,214,190,178,208,10, +227,240,73,19,2,82,52,128,241,31,30,95,1,42,5,224,208,143,194,187,196,134,125,20,22,82,8,72,97,95,90,14,97,97,153,222,171,154,71,153,30,93,144,84,186,249,185,171,187,23,195,85,243,72,171,125,104,230,186,161,107,246,226,147,40,147,220,198,36,26,133,140, +32,155,46,213,49,247,14,255,174,161,51,72,5,155,74,7,245,77,142,86,214,176,37,224,73,196,195,119,144,178,19,20,176,252,0,101,5,33,10,10,92,242,201,225,0,133,60,13,211,186,66,116,66,142,232,234,29,25,44,219,208,52,101,107,247,236,135,211,142,168,192,69, +11,106,140,81,184,18,115,71,23,43,85,13,145,68,250,123,177,92,64,233,84,63,97,0,104,255,211,148,31,70,32,74,102,162,147,146,41,30,73,12,239,221,189,103,142,71,39,47,49,241,63,189,71,127,211,103,74,149,10,236,207,203,176,109,16,223,47,163,25,40,147,64, +116,163,96,212,160,122,216,220,89,73,165,247,48,8,212,242,23,77,32,145,29,178,0,161,26,40,21,30,3,160,151,40,23,192,245,122,84,243,199,169,94,91,27,32,69,129,66,158,164,161,126,192,211,187,173,61,77,164,40,104,22,136,210,207,158,20,2,129,191,87,170,24, +225,32,220,128,34,20,250,252,237,143,13,195,171,142,172,48,73,245,150,135,73,35,140,131,233,227,82,31,254,25,219,30,120,127,34,9,204,31,10,31,77,101,144,52,19,44,13,32,100,4,32,225,94,2,36,73,50,53,88,1,135,140,73,252,25,247,57,35,20,137,21,28,122,173, +140,207,143,108,86,240,147,231,114,232,170,149,13,88,132,26,130,180,75,218,59,181,47,233,26,127,24,248,126,76,163,85,3,88,155,159,166,194,23,96,176,70,192,119,182,13,24,168,149,38,152,169,214,156,41,20,30,144,145,182,110,207,165,125,35,184,61,112,240, +146,182,112,209,230,29,152,0,162,116,84,121,36,124,24,22,4,5,189,126,60,199,210,231,154,240,196,230,22,92,177,164,27,254,253,145,33,232,71,111,252,207,207,31,199,247,108,194,82,237,23,153,65,32,101,160,161,218,92,133,249,82,38,79,32,64,134,116,49,72, +203,130,14,140,97,35,80,50,112,18,45,61,221,31,207,69,38,166,238,240,189,103,141,131,5,51,171,208,66,103,51,73,131,118,72,43,93,53,252,92,79,155,6,24,157,38,32,20,237,216,170,29,252,127,63,14,242,79,214,182,160,98,87,188,214,34,100,4,163,246,61,206,214, +7,226,101,168,5,76,236,228,211,192,103,22,124,35,97,74,219,8,25,210,179,124,3,107,135,72,38,105,197,56,113,84,120,250,181,199,135,225,156,163,42,48,185,55,129,143,222,181,31,78,71,141,240,219,243,107,172,21,204,106,215,158,32,226,39,77,68,154,64,90,109, +32,12,44,108,114,4,137,77,102,201,144,36,114,43,158,171,153,18,198,36,226,46,39,78,202,25,196,194,145,58,97,122,5,142,159,130,78,31,24,161,48,166,35,97,51,144,118,79,234,30,245,38,192,1,32,190,170,214,170,104,10,147,183,247,135,36,137,147,126,1,224,203, +186,60,93,76,134,194,146,144,255,21,33,214,135,160,29,192,37,115,36,4,150,15,4,190,191,141,206,88,224,200,215,164,82,244,46,20,134,7,214,54,96,115,127,14,151,157,212,5,43,183,103,240,221,149,195,240,167,103,247,193,172,9,41,155,41,176,89,96,111,22,164, +97,248,248,186,4,75,82,229,22,52,37,179,234,205,106,79,252,138,15,170,43,82,103,96,11,75,165,49,23,194,214,32,208,50,33,186,217,126,12,145,135,115,147,62,102,205,99,147,38,236,60,86,122,202,5,169,30,141,26,192,169,100,233,104,224,182,92,156,50,129,147, +123,165,143,176,56,127,239,226,99,136,34,2,16,62,42,48,38,93,251,122,62,23,50,154,170,161,192,242,117,147,99,30,142,26,166,11,62,4,245,26,184,120,81,13,142,152,148,194,129,33,205,149,74,183,62,60,4,191,125,124,21,142,198,215,110,198,232,96,235,254,28, +254,4,133,128,24,198,108,158,210,152,123,232,106,8,164,215,6,50,18,14,183,218,157,250,151,110,146,165,51,7,214,87,40,5,19,226,207,149,152,123,87,185,128,29,3,10,170,196,89,20,238,92,194,155,152,194,106,24,173,217,64,199,232,245,166,128,178,128,40,209, +199,79,79,225,164,89,41,78,132,48,89,64,221,230,241,203,80,78,110,86,191,246,116,49,55,233,177,179,232,35,134,168,28,32,20,112,72,203,68,50,172,34,210,208,51,199,167,112,218,156,18,76,236,146,240,230,83,186,224,168,41,41,124,251,201,6,108,220,155,195, +57,71,87,96,31,10,197,77,15,14,194,217,104,22,206,61,182,10,25,184,137,179,14,166,211,66,46,169,228,38,86,10,175,193,184,55,145,178,20,51,136,83,197,210,23,180,10,123,94,233,254,22,214,44,48,149,92,194,166,125,26,54,236,83,76,160,141,5,43,114,112,71, +44,35,216,49,62,64,112,188,140,141,167,129,57,237,240,20,118,13,90,251,110,33,82,231,164,185,100,13,153,80,10,13,181,11,239,82,59,249,153,9,231,210,82,244,245,85,72,16,8,151,109,115,180,18,247,159,205,75,15,214,53,188,239,213,85,152,135,147,190,104,122, +137,19,47,151,44,236,131,135,214,55,225,123,43,234,112,249,146,26,220,243,76,3,30,69,199,240,174,213,117,184,246,236,94,88,142,191,239,29,204,3,77,92,152,130,48,37,131,243,41,124,255,3,83,85,44,101,59,84,109,89,200,82,114,212,195,29,81,108,78,79,115, +158,201,28,164,108,249,59,117,78,249,206,202,6,167,206,107,101,105,252,36,233,213,28,20,147,221,163,84,3,184,16,206,241,239,93,28,62,185,71,194,164,158,80,171,47,69,168,208,117,199,123,154,151,8,182,215,81,182,211,52,208,175,165,101,249,10,219,136,194, +225,125,113,235,122,167,13,90,40,40,103,205,69,199,106,106,10,159,248,241,32,220,242,200,48,220,246,68,29,174,191,247,0,44,156,81,226,65,167,14,35,23,47,168,242,133,191,188,108,152,63,247,251,75,186,124,93,99,12,60,9,31,42,10,240,44,87,187,82,57,125, +45,165,175,64,230,242,52,171,37,18,219,115,16,108,89,185,193,19,140,26,75,236,10,111,161,9,88,56,189,140,90,42,69,43,104,35,133,168,143,65,161,40,114,180,10,128,47,202,53,237,121,109,129,7,192,129,134,134,241,85,81,76,236,136,98,223,64,22,160,196,76, +182,11,195,185,60,43,17,133,116,179,20,49,115,72,251,9,50,78,90,48,45,84,136,114,206,220,18,156,130,218,231,225,77,25,28,104,82,46,66,66,21,87,215,62,212,10,255,241,216,16,92,116,66,5,6,240,222,206,71,51,48,169,59,129,126,252,253,147,63,25,128,55,47, +234,98,1,105,217,116,51,200,56,212,179,68,151,184,17,133,141,108,28,12,45,18,7,34,5,129,33,130,137,140,177,6,215,231,192,254,77,207,39,160,134,234,174,26,191,73,104,17,133,147,133,46,136,163,156,17,36,163,178,43,27,226,80,77,64,119,89,88,46,158,246,37, +90,206,111,112,72,94,30,165,56,60,13,79,182,215,231,133,234,98,239,60,70,77,38,233,15,162,25,28,214,45,225,29,75,170,176,118,87,14,63,88,213,128,11,143,45,195,165,39,85,185,77,28,213,114,78,193,9,39,166,242,63,255,124,144,147,88,167,163,143,64,131,242, +228,214,12,190,247,84,29,174,126,117,47,116,87,100,212,156,34,80,195,101,91,191,1,25,119,63,113,213,197,73,226,7,194,125,7,173,33,162,150,7,27,79,218,190,138,227,115,204,228,212,39,145,124,118,84,201,23,213,21,252,37,22,128,8,168,137,90,188,82,207,69, +234,17,68,72,156,182,12,95,136,18,56,238,33,165,8,43,45,194,7,92,134,143,208,60,149,135,46,161,238,61,25,5,17,116,189,22,30,119,197,41,85,78,67,47,70,231,243,98,92,233,119,63,219,132,181,187,115,120,219,43,106,112,241,194,42,171,253,199,209,214,255,215, +147,117,248,241,51,77,35,0,212,32,26,231,237,63,31,31,134,217,19,18,120,195,130,46,162,139,66,34,99,92,66,248,22,49,161,54,80,88,141,39,11,42,91,68,52,115,136,194,195,80,168,106,5,3,167,163,134,23,158,53,161,100,250,37,137,8,133,148,35,105,249,95,130, +40,64,123,111,87,120,231,136,234,2,74,9,132,149,162,163,50,112,25,72,63,254,125,159,213,11,221,195,56,89,68,97,84,98,66,205,60,202,137,233,72,144,40,231,63,111,106,2,23,206,43,195,99,207,103,208,143,33,223,9,211,82,120,255,171,107,176,16,159,191,177, +188,14,75,14,47,193,124,252,253,17,124,159,60,242,175,61,58,12,139,103,150,225,60,52,5,196,190,236,199,251,189,121,217,16,188,251,244,46,152,57,33,69,193,139,48,9,17,248,140,126,66,45,54,19,23,149,136,184,51,137,51,29,50,216,254,184,67,133,19,4,106,140, +233,28,64,111,206,100,220,23,97,148,11,128,171,186,117,158,184,202,139,233,94,167,194,149,141,2,124,120,19,37,110,60,53,76,68,108,205,66,56,46,108,134,81,248,34,82,207,72,178,231,184,242,149,53,158,120,226,31,80,87,210,13,24,238,237,67,181,127,238,81, +101,248,223,191,213,13,199,162,170,253,171,239,13,192,211,168,238,39,161,73,88,191,87,193,143,86,55,224,210,197,53,198,44,168,157,205,61,207,54,88,99,92,253,234,110,40,227,164,84,202,214,121,107,155,10,33,226,213,236,112,127,17,18,86,82,20,89,79,174, +207,177,12,62,133,180,108,169,28,12,80,229,206,69,99,148,183,160,35,165,33,157,137,2,146,160,178,181,229,231,57,178,70,221,50,125,13,226,23,76,133,249,59,56,112,206,116,186,202,98,159,24,142,28,70,55,168,142,0,226,146,65,148,229,187,100,81,5,213,121, +10,159,91,58,12,219,7,20,28,49,49,225,9,39,129,122,22,39,116,74,175,132,109,7,20,172,217,147,195,210,141,166,136,131,162,129,127,195,8,160,15,29,176,197,232,252,53,149,17,180,207,254,108,0,78,157,93,130,11,230,85,216,140,37,73,148,21,108,23,133,168,27, +137,176,42,223,99,2,182,168,36,86,251,206,63,114,62,69,102,169,8,189,21,233,122,79,216,197,97,16,199,49,33,0,42,98,190,152,126,65,134,250,197,245,129,100,191,195,14,13,197,86,111,186,45,243,87,172,195,224,210,240,16,101,20,125,4,247,76,43,104,230,248, +4,222,115,122,13,190,255,116,19,142,64,27,62,136,66,119,235,163,13,216,188,95,193,113,83,18,56,122,146,100,98,202,223,221,51,8,91,251,53,244,148,141,62,167,46,163,207,239,83,240,99,212,2,255,235,180,46,126,157,108,241,38,124,237,43,24,58,94,117,70,23, +140,175,25,56,217,11,36,155,177,196,132,119,58,152,42,23,162,122,99,16,23,145,68,53,17,197,160,222,56,192,36,4,105,18,204,13,113,3,203,93,73,212,212,102,148,11,128,35,123,184,200,73,218,28,201,158,97,195,191,43,69,33,96,92,235,1,194,49,129,156,32,25, +79,190,48,144,142,78,173,124,201,79,168,66,182,97,223,59,78,169,112,191,225,79,220,51,204,190,192,226,153,37,56,227,136,20,126,182,174,5,255,250,112,157,87,248,173,191,172,195,186,221,138,87,125,96,36,9,168,225,202,251,183,95,14,179,250,63,227,240,50, +195,199,20,5,220,189,166,9,195,168,134,207,63,182,18,229,28,34,202,154,69,6,25,221,81,1,53,148,145,231,222,82,46,111,33,124,87,50,79,138,113,81,1,62,103,248,126,165,148,120,31,193,85,73,11,57,102,162,0,240,28,124,98,245,208,35,197,47,179,181,95,113,215, +240,90,41,146,228,56,215,11,161,4,156,158,166,244,8,56,231,200,18,80,157,101,158,71,172,112,199,234,245,221,155,140,208,145,202,62,250,48,116,252,142,45,193,39,127,58,12,115,38,74,152,62,78,194,39,239,27,102,40,250,236,185,37,56,27,207,247,20,39,126, +26,208,149,22,123,255,208,4,16,32,244,60,106,133,31,174,106,194,91,78,172,50,137,149,14,161,202,230,155,31,30,98,255,128,178,135,190,253,156,4,219,75,216,230,62,40,51,89,178,121,0,95,87,32,120,69,207,159,94,182,197,173,206,167,9,9,61,215,178,198,129, +142,61,101,23,41,133,246,55,162,160,85,70,179,19,24,131,52,142,162,133,95,132,237,167,0,31,78,57,2,105,92,69,236,104,88,180,199,0,169,235,19,166,75,254,156,230,14,99,130,87,81,211,170,73,202,216,13,103,154,87,57,77,16,201,213,7,207,173,193,79,159,203, +96,217,166,28,174,56,185,2,223,126,178,9,175,193,216,127,251,128,70,53,222,128,249,24,25,220,138,207,67,45,65,253,40,89,99,208,249,72,192,104,181,155,18,118,1,183,63,222,96,199,113,193,52,244,5,240,64,234,63,252,224,250,22,59,132,239,70,243,192,117,90, +74,176,96,145,150,34,225,163,207,183,50,67,120,161,246,244,117,46,44,22,48,128,2,124,220,148,18,10,84,141,209,235,36,21,145,249,51,131,197,125,21,109,93,35,251,73,145,178,103,82,141,160,202,169,145,159,171,180,83,2,32,227,86,174,194,72,189,100,7,205, +214,11,40,219,227,199,190,79,131,70,136,91,217,86,20,147,140,76,239,53,43,114,114,159,128,73,93,18,122,203,130,53,8,13,118,255,160,226,158,254,83,186,205,202,39,36,239,136,9,18,230,162,179,247,225,31,12,193,155,22,148,97,35,218,110,114,216,142,57,76, +194,255,93,214,128,15,157,83,131,95,160,195,183,106,71,14,199,77,53,251,21,84,113,4,168,13,61,237,65,48,13,29,67,250,123,24,7,122,0,255,190,107,117,19,222,188,160,10,203,183,14,178,0,150,48,190,191,13,67,197,27,223,216,135,161,101,5,238,127,174,9,227, +170,9,127,134,0,46,194,239,41,212,37,129,156,142,90,130,204,203,222,97,197,66,242,154,227,42,220,130,190,142,161,100,102,199,167,146,250,64,55,128,93,182,60,190,29,85,33,86,147,246,21,178,163,92,0,60,19,80,135,60,63,105,2,34,130,164,142,167,31,37,77, +104,226,79,158,149,192,5,199,148,216,71,32,167,141,42,136,142,64,21,62,174,42,224,134,139,186,112,64,165,47,54,161,202,226,6,10,18,77,26,197,234,100,46,104,18,142,69,245,255,197,95,212,25,196,89,60,35,129,207,254,188,1,87,157,94,129,187,158,105,113,236, +63,163,79,194,51,59,51,184,245,237,189,208,93,50,142,24,77,26,157,147,234,3,8,170,38,141,66,239,81,210,138,206,127,60,10,202,235,142,47,195,143,214,180,120,215,179,221,120,12,129,73,239,63,187,27,46,59,169,6,19,186,4,151,187,243,121,172,107,66,247,78, +27,92,144,102,161,239,187,3,163,141,105,120,237,241,232,123,92,119,65,47,244,160,224,145,134,163,161,33,146,204,55,158,168,195,206,1,179,43,9,119,71,151,194,251,22,2,2,40,146,36,35,238,3,118,70,0,50,234,199,111,54,227,66,181,108,28,189,52,209,76,116, +32,13,64,254,77,110,203,184,92,247,150,205,251,113,96,159,201,96,207,144,230,150,178,207,161,131,246,103,103,85,97,229,246,28,238,125,54,131,113,232,125,247,211,106,178,97,18,153,18,154,176,221,67,38,239,127,213,105,85,118,210,254,227,209,38,252,229, +249,53,248,33,78,250,34,20,2,154,132,173,120,238,79,189,190,6,255,244,179,97,206,7,156,56,61,195,207,42,158,224,76,25,210,7,97,18,253,77,211,199,144,118,13,33,83,64,231,163,213,252,246,87,84,97,35,250,5,235,247,229,92,87,112,231,234,22,99,9,59,135,20, +250,26,117,222,128,98,160,110,247,28,192,85,205,27,82,12,26,7,147,38,122,199,126,52,71,167,118,193,7,207,233,129,245,187,51,212,76,57,107,133,157,120,76,131,132,29,191,148,51,139,84,88,196,194,77,37,239,137,140,28,63,209,145,40,160,99,77,162,184,237, +171,20,33,36,180,68,254,3,77,179,82,28,248,145,101,198,177,217,57,8,176,165,223,32,56,36,32,175,152,158,192,172,241,168,254,51,9,27,246,74,94,165,147,186,18,219,47,0,24,212,153,130,171,239,149,179,83,152,136,207,111,59,177,12,31,248,222,16,156,127,76, +153,5,131,108,245,159,157,85,131,127,126,168,1,239,90,66,59,145,224,138,196,129,125,245,156,18,219,151,113,181,196,236,11,160,92,91,96,205,19,70,197,33,91,48,92,148,120,252,89,71,166,40,60,138,53,202,162,105,9,172,219,147,115,42,151,38,254,54,244,17, +46,123,69,133,253,148,181,123,0,182,13,100,144,104,194,241,19,60,119,201,132,164,182,15,209,94,156,232,25,118,183,52,34,123,44,223,146,177,0,36,73,200,138,66,212,254,70,138,208,76,211,107,0,29,154,109,140,122,1,224,184,63,238,137,45,108,107,23,124,94, +191,199,172,58,25,181,145,167,193,103,18,105,57,236,19,72,153,186,141,123,53,204,161,34,73,180,229,100,46,217,89,211,198,1,108,224,239,53,50,23,40,80,215,162,166,248,38,58,123,207,237,81,112,237,153,101,248,151,95,224,228,44,174,194,253,235,51,152,51, +94,194,146,217,9,124,232,251,67,140,8,42,138,22,90,134,160,146,89,65,109,178,227,134,39,182,29,76,114,219,222,110,39,254,189,106,167,130,233,125,45,56,239,168,18,44,221,208,226,80,150,60,244,123,215,54,225,204,35,74,240,174,83,107,240,109,140,40,166, +118,75,184,7,67,69,34,189,146,176,209,108,146,182,35,19,64,154,166,156,42,254,158,116,223,137,44,230,56,32,204,63,47,24,250,92,189,21,252,40,199,141,148,82,140,120,20,208,65,31,32,36,101,226,68,13,77,146,82,34,202,24,154,10,25,87,7,232,96,223,231,80, +80,14,176,115,38,224,89,52,7,213,196,36,99,204,150,47,198,127,216,129,239,159,62,167,204,234,242,11,184,210,175,56,169,12,43,208,100,80,248,56,9,181,194,215,150,231,240,15,175,171,193,151,208,1,92,181,51,103,167,139,122,245,20,174,5,33,165,156,171,224, +176,118,85,52,172,217,105,132,245,219,43,155,236,159,156,126,120,10,223,69,245,79,110,27,249,33,79,161,63,113,212,196,50,131,77,95,69,141,64,175,175,65,7,83,233,176,191,1,77,58,201,86,87,197,68,51,20,141,80,84,81,73,53,40,40,134,181,238,135,142,235,173, +70,57,5,89,204,179,140,137,48,208,209,163,220,239,180,167,35,169,212,203,22,151,76,97,72,148,43,144,110,27,152,136,33,76,168,220,44,140,225,155,153,249,189,92,178,217,56,59,94,52,49,39,76,149,240,251,39,151,217,217,163,173,104,200,9,252,57,122,249,111, +58,161,4,119,224,164,93,178,160,132,166,69,195,157,79,183,208,177,147,12,64,85,74,102,85,146,15,65,59,139,133,228,148,193,42,18,219,208,138,236,48,133,116,244,153,77,253,10,110,127,162,1,191,115,124,5,205,142,228,207,254,225,41,85,216,51,64,185,131,38, +28,137,206,234,132,46,201,247,78,247,74,219,217,149,233,122,137,241,244,19,75,74,109,100,218,11,190,182,57,126,33,139,137,32,122,108,71,167,113,114,79,98,57,131,129,38,39,58,160,1,58,135,4,10,139,153,131,1,130,40,175,95,207,73,125,130,165,133,7,226,72, +230,242,5,92,194,109,85,83,2,124,236,80,203,52,115,148,224,132,197,76,30,9,192,187,78,173,192,51,148,231,199,9,126,15,254,254,147,117,25,78,70,194,42,148,38,227,252,163,75,112,19,154,3,154,80,198,27,32,130,87,165,223,18,0,116,155,42,118,169,93,90,137, +20,147,87,240,243,223,121,186,201,78,219,229,139,43,112,229,41,21,120,4,157,201,71,54,231,158,77,228,154,98,248,60,8,132,126,201,244,218,14,252,44,221,215,140,190,196,147,98,157,141,151,82,20,118,45,33,31,166,86,114,168,167,163,207,119,32,23,220,49,36, +80,4,70,47,57,66,110,219,23,42,200,216,51,4,188,170,29,89,196,77,132,3,83,154,45,51,240,228,133,147,74,166,247,9,84,161,240,108,152,67,63,147,166,61,121,86,138,234,55,129,127,92,218,128,55,47,44,115,108,189,98,187,226,213,255,195,53,25,78,82,21,190,179, +162,9,171,182,102,166,47,129,227,85,40,83,29,148,101,130,169,98,116,45,138,44,72,77,83,56,106,0,29,243,160,152,125,0,35,151,93,196,210,197,207,239,69,159,96,238,4,180,245,207,182,56,42,249,203,115,107,76,44,161,72,228,45,39,86,184,194,152,170,206,201, +177,165,115,209,138,39,155,223,210,130,163,27,242,87,8,153,228,132,143,50,33,109,43,119,253,18,66,68,164,116,48,153,110,255,37,1,113,157,195,104,247,1,162,118,174,82,134,213,64,14,84,238,188,94,91,31,72,95,182,175,91,192,52,28,200,241,53,231,44,26,188, +128,18,47,36,0,23,29,151,242,138,160,243,141,199,21,183,27,207,115,233,43,74,240,61,92,249,253,117,128,55,204,47,193,223,223,95,135,183,160,202,95,177,45,71,83,32,249,179,119,60,157,113,10,151,38,185,100,213,77,220,7,128,194,61,98,8,167,86,8,89,179,104, +179,171,9,1,59,21,219,214,246,112,156,180,243,143,78,225,9,60,55,85,16,189,231,149,85,6,145,8,82,38,135,243,68,140,88,174,56,169,2,255,133,2,183,175,65,155,98,104,142,80,232,252,148,248,34,44,99,10,131,76,130,73,42,132,29,80,186,151,128,45,18,206,61, +24,85,144,16,185,144,47,87,209,122,143,247,43,2,49,54,112,0,15,98,216,58,62,55,230,42,218,209,67,89,181,78,216,127,13,39,235,117,199,37,108,63,9,68,217,143,43,124,11,198,238,132,238,209,224,30,137,171,142,86,38,173,34,202,217,95,138,126,196,14,116,166, +110,125,172,9,127,126,118,5,99,254,12,38,214,36,28,55,89,194,77,203,154,240,55,231,85,97,37,58,99,127,124,122,153,7,141,38,115,114,183,137,201,99,53,223,91,49,171,175,219,214,23,144,144,145,198,34,243,99,0,39,243,160,149,187,229,128,169,251,39,128,136, +142,126,108,115,6,55,254,108,24,239,187,12,139,103,166,44,212,127,253,91,93,140,42,146,86,112,63,180,107,169,11,255,40,156,252,93,12,29,47,152,87,102,13,71,223,103,8,191,216,138,109,25,236,220,144,153,98,63,187,111,98,195,22,164,72,81,4,255,70,218,8, +116,172,87,48,136,224,11,184,110,158,228,213,63,176,62,247,181,131,108,22,202,198,44,220,184,180,101,58,132,90,202,23,225,232,199,78,145,24,1,100,240,239,143,183,120,117,18,166,126,244,36,1,23,30,147,194,231,31,106,194,41,104,6,200,219,95,138,131,247, +151,231,84,224,235,43,50,120,203,194,18,135,141,255,180,212,56,134,52,1,180,18,201,236,12,56,219,42,141,223,65,130,70,128,77,217,98,243,21,27,146,130,101,20,145,230,104,102,218,135,159,202,180,8,64,143,191,201,161,231,245,175,235,230,144,240,190,117, +45,142,50,222,56,191,12,15,63,159,193,202,109,45,248,254,170,38,155,1,186,30,33,155,27,119,231,112,205,153,93,40,216,57,124,7,29,212,196,246,75,160,99,72,224,202,73,24,63,210,20,137,12,62,64,204,119,28,51,185,128,152,191,202,197,160,2,120,162,135,45, +234,229,108,191,147,234,212,150,132,49,224,81,66,53,140,131,190,26,99,240,149,219,13,150,222,208,198,107,191,26,87,245,131,27,114,120,20,29,176,79,189,190,10,55,63,218,132,11,81,61,179,10,197,143,207,70,117,253,241,123,27,184,178,4,172,219,163,60,63, +193,161,135,14,72,114,80,52,11,86,67,219,64,80,248,176,53,226,153,122,230,183,243,152,8,40,162,112,150,252,144,175,252,178,1,95,197,8,129,224,98,250,153,136,218,236,111,239,174,251,210,50,101,171,147,232,220,68,84,121,26,195,84,242,13,72,232,168,205, +80,218,182,196,201,208,145,227,59,99,156,233,118,46,74,157,115,0,59,136,3,224,68,55,140,221,141,251,63,144,93,158,84,51,212,172,36,122,207,109,0,17,84,136,225,12,220,191,46,231,137,162,85,62,190,10,112,202,236,132,243,3,127,121,215,48,92,246,138,50,172, +221,77,144,43,192,123,150,160,70,120,176,9,87,189,178,12,223,90,209,130,245,56,57,61,149,216,123,214,133,206,44,96,187,137,184,29,67,18,123,125,87,109,20,135,175,133,14,31,214,191,161,48,239,107,79,52,249,59,205,30,47,225,189,103,212,120,114,111,95,222, +132,183,45,42,195,155,23,148,57,227,88,182,244,117,210,237,21,188,151,255,196,215,8,2,161,207,199,187,161,197,125,164,18,105,28,70,130,147,57,138,138,27,100,142,88,111,176,142,227,0,24,11,87,44,47,48,248,133,92,19,64,206,147,210,80,192,181,11,50,30,119, +20,161,20,50,122,226,39,205,76,224,109,39,150,224,77,243,83,248,215,95,182,216,121,58,101,150,68,149,223,130,75,23,17,66,151,115,154,151,212,49,105,7,195,167,139,57,151,34,20,161,56,138,89,18,202,202,28,248,36,146,98,223,1,33,139,108,21,23,178,209,225, +251,208,25,36,223,224,156,163,74,60,249,55,63,210,68,181,223,130,181,40,124,239,56,185,10,11,166,165,188,210,93,9,28,117,61,105,218,104,199,51,153,68,208,48,177,246,36,144,137,34,157,112,195,225,123,140,29,66,8,132,22,47,142,219,71,94,190,243,184,99, +14,191,20,194,195,158,82,28,156,82,38,59,126,250,225,9,19,53,190,251,84,11,254,224,228,20,238,69,237,64,91,203,83,202,248,209,45,10,237,111,10,95,126,164,133,170,63,236,87,92,88,191,174,0,85,138,130,138,63,168,190,208,246,46,104,167,154,185,19,145,57, +154,137,190,197,7,207,169,241,10,39,8,122,90,175,73,57,19,124,253,45,140,4,136,131,248,254,179,106,48,17,157,193,86,94,228,62,200,136,217,234,38,52,110,133,111,198,41,116,58,113,91,221,134,250,201,49,130,4,166,73,188,237,171,81,121,83,186,165,217,55, +48,45,238,12,170,33,80,168,93,236,235,32,209,211,102,75,56,123,110,194,241,255,167,30,104,193,169,179,83,86,161,247,161,51,249,214,5,41,220,137,17,192,197,56,249,196,219,251,25,190,70,239,201,168,166,0,34,90,53,68,92,190,152,204,25,239,43,33,10,96,182, +240,5,172,126,27,27,43,148,183,163,99,250,47,15,25,158,33,169,236,139,142,43,177,160,62,137,161,226,210,245,25,227,8,215,188,186,102,242,13,162,77,179,104,40,144,97,227,58,10,186,119,114,78,183,246,231,193,239,136,37,112,172,64,193,14,107,247,245,13, +64,248,188,33,78,208,63,183,101,12,20,233,125,126,122,200,227,166,126,66,148,38,62,26,237,62,169,68,202,250,17,252,123,203,227,25,156,54,43,225,213,78,175,191,106,78,2,183,225,107,105,27,9,197,147,75,161,232,148,198,197,29,174,174,208,67,216,177,233, +136,150,167,235,91,64,2,176,5,67,193,205,232,205,83,116,241,228,214,156,191,219,214,3,26,206,58,178,196,128,21,1,69,95,248,69,157,57,14,175,63,222,132,124,113,31,227,120,197,199,85,47,116,12,69,34,132,101,44,223,106,114,23,133,141,52,198,138,9,16,174, +234,199,174,112,101,27,59,81,216,83,41,104,5,17,154,50,89,148,206,103,15,241,63,98,247,144,186,167,216,122,205,46,5,127,255,218,178,1,87,240,156,71,161,80,252,199,242,12,222,120,124,9,238,192,240,239,137,45,57,71,9,46,121,82,44,39,8,166,40,236,22,94, +132,174,61,28,91,164,40,122,96,211,149,123,209,57,19,109,252,19,18,184,141,251,76,244,241,12,134,129,4,21,83,8,71,218,138,34,5,98,33,17,92,125,88,143,240,232,159,239,131,32,14,50,241,222,4,82,253,226,254,58,248,220,71,39,183,18,235,216,182,113,113,173, +159,3,128,250,168,75,104,18,77,180,245,248,147,168,188,203,193,181,244,251,243,253,10,87,124,194,30,253,194,105,84,184,161,217,230,127,228,188,50,39,104,142,154,36,97,92,197,204,229,107,231,149,56,244,138,87,185,108,219,249,59,54,52,34,108,21,28,118, +5,21,109,142,105,155,48,184,29,71,125,193,167,69,23,73,237,159,122,120,10,191,124,222,168,109,210,20,68,38,93,186,49,103,92,224,242,147,42,28,218,77,236,22,108,26,221,247,110,247,1,220,46,246,19,80,200,187,92,20,163,138,161,245,152,40,13,115,3,236,74, +181,74,182,186,119,216,230,199,253,106,143,119,254,0,183,207,176,245,152,113,50,95,127,92,2,221,104,87,127,138,14,223,221,207,230,112,24,14,32,217,89,138,193,127,23,237,255,213,167,149,216,164,204,234,19,156,7,72,108,133,176,235,49,236,119,45,111,203, +189,251,38,20,34,218,75,74,67,180,145,85,216,68,66,20,2,65,104,203,227,11,46,230,36,237,67,248,195,225,19,36,196,95,171,134,223,227,182,199,155,76,71,163,36,210,37,11,202,94,43,6,83,21,101,2,165,137,0,22,78,79,216,17,212,174,56,244,224,242,147,209,45, +0,142,212,25,135,129,4,111,146,106,172,36,34,84,14,67,216,44,218,23,209,82,113,4,70,15,51,112,82,23,224,234,39,72,246,153,221,26,190,177,50,135,127,94,214,98,52,144,212,46,9,83,217,146,45,110,121,44,99,32,40,9,251,60,132,213,172,3,209,66,171,162,143, +160,189,105,16,81,206,34,216,127,87,182,85,104,241,19,103,13,45,127,143,114,28,228,132,158,55,55,101,138,151,115,112,73,133,147,217,35,200,154,76,193,137,211,211,66,116,114,176,73,55,23,39,254,99,201,22,206,198,218,106,12,153,0,17,86,75,228,188,42,11, +183,178,19,104,7,189,176,223,158,8,118,144,6,238,118,180,241,244,188,1,195,63,74,160,60,177,77,195,87,112,178,95,115,108,2,51,208,20,252,24,181,194,223,220,211,226,99,136,237,19,51,144,98,170,185,47,178,148,69,190,130,219,84,68,41,167,146,227,148,112, +196,100,242,234,58,50,15,50,0,74,20,14,254,96,85,6,139,112,130,123,184,174,191,72,222,32,184,153,82,188,228,163,176,153,146,193,5,105,159,87,242,45,136,64,90,16,188,88,32,199,132,19,40,98,96,179,40,12,206,83,215,2,66,46,220,142,132,107,50,173,237,234, +57,101,166,100,6,13,37,134,40,101,123,220,100,1,31,58,179,196,54,242,31,151,182,96,61,106,2,242,3,136,108,154,128,40,182,230,141,66,38,199,177,75,162,36,85,232,76,98,174,197,144,173,46,86,251,21,232,237,58,168,108,191,25,149,125,141,132,143,0,32,226, +15,206,159,156,216,52,179,161,192,159,59,151,72,48,101,120,104,83,198,32,216,164,30,9,245,150,201,66,182,59,158,116,186,46,180,18,68,132,17,237,9,0,209,25,37,208,209,30,65,70,162,129,85,58,49,119,91,121,100,71,117,176,207,42,108,31,234,109,44,77,202, +201,51,77,238,156,114,239,139,209,9,124,235,252,132,195,173,229,219,20,220,183,94,177,154,164,80,145,38,128,87,136,22,190,199,32,97,16,142,156,145,235,104,219,183,176,107,131,95,2,82,135,182,246,241,94,131,174,47,144,142,118,149,243,88,129,115,224,18, +237,203,209,239,93,155,113,65,42,113,17,201,124,189,105,190,9,11,191,248,112,19,38,163,6,59,117,22,250,45,103,84,152,241,188,245,128,66,13,150,153,108,169,243,66,173,111,192,77,52,92,47,2,29,76,21,140,149,100,144,91,85,153,219,17,197,198,220,76,19,79, +138,199,170,104,115,73,7,152,36,130,56,250,38,123,72,42,241,99,231,149,160,7,157,191,235,239,207,96,106,15,177,114,3,98,72,126,69,34,3,7,1,146,98,129,166,167,96,41,240,59,138,24,39,92,248,157,68,180,136,242,17,186,136,77,11,223,21,76,23,177,152,168,43, +57,21,171,92,124,66,137,11,78,169,80,229,10,92,241,196,34,254,225,154,22,252,98,83,206,254,202,73,51,36,223,51,53,200,160,227,127,176,170,101,32,235,130,99,106,190,75,79,197,148,166,115,201,89,42,138,224,148,24,3,132,16,13,80,64,244,160,205,4,164,182, +227,69,110,219,195,130,46,218,109,42,185,154,217,107,136,24,244,243,236,30,141,225,84,14,155,113,213,44,223,102,124,137,106,42,34,80,76,135,208,179,112,46,151,221,211,126,247,176,130,75,15,17,184,18,117,151,240,253,254,35,115,38,163,45,104,252,70,20, +246,56,114,76,215,162,163,122,198,156,132,193,170,183,206,40,193,87,30,109,194,234,93,102,135,210,185,19,4,92,186,168,204,224,206,39,239,171,115,129,72,119,57,160,131,89,22,239,146,98,55,218,140,157,82,29,37,140,198,66,101,144,176,118,95,218,189,242, +180,10,142,93,89,66,148,9,51,161,152,178,91,190,185,137,163,227,78,158,33,56,71,190,116,163,130,47,61,146,51,60,74,33,160,140,237,178,138,125,13,59,58,50,236,88,22,11,2,191,38,116,129,127,175,33,102,217,70,37,235,160,195,169,227,234,100,29,64,98,162, +125,185,38,146,4,12,17,63,144,132,148,38,238,202,37,37,248,61,156,240,183,44,208,108,178,166,246,8,206,92,18,85,141,252,3,106,66,21,171,126,79,255,6,67,139,35,106,58,245,7,112,249,0,223,181,184,3,136,80,199,52,128,86,81,79,67,219,231,55,203,225,160,186, +120,143,28,38,230,147,20,255,159,63,87,192,219,22,37,240,175,56,241,63,88,163,216,123,238,46,57,103,210,109,176,0,197,125,134,35,187,76,19,109,183,228,9,222,188,221,163,64,71,250,91,68,176,117,28,155,107,87,231,223,182,187,117,204,209,79,236,238,102, +238,126,136,109,108,10,59,77,244,66,0,22,105,131,39,112,213,19,64,244,212,246,220,39,182,32,152,124,147,124,74,220,86,50,230,117,202,151,84,146,32,108,29,164,3,116,74,3,152,1,39,254,126,26,65,191,74,155,108,154,107,33,163,245,33,136,35,76,2,21,240,216, +22,197,170,223,81,184,221,132,145,195,200,133,27,82,123,130,71,156,241,115,43,94,56,234,153,173,180,116,4,20,99,114,132,223,78,206,101,102,164,8,8,36,88,45,19,170,113,180,3,239,66,71,82,87,167,105,175,229,38,144,28,86,10,83,201,214,127,225,193,38,59, +134,36,192,229,164,40,64,49,196,172,93,46,0,204,121,154,89,104,136,21,51,130,59,145,11,232,24,35,168,90,54,180,174,184,91,22,141,121,57,177,197,143,194,168,89,173,61,71,211,116,2,149,164,78,53,172,216,97,106,254,202,9,20,120,113,50,41,218,110,215,110, +14,116,177,75,24,8,240,59,137,135,230,212,81,154,56,218,131,72,184,46,160,242,96,71,166,208,140,58,218,246,37,78,210,248,141,169,1,152,103,72,72,229,135,126,88,231,216,159,4,66,68,142,163,223,50,6,218,145,208,176,185,141,115,150,253,70,165,109,76,171, +49,161,1,180,223,216,33,212,223,185,9,98,74,116,28,142,153,173,249,124,232,67,234,148,251,237,218,12,156,178,198,218,169,251,36,41,94,77,218,102,17,34,222,20,188,96,47,163,77,164,197,193,106,95,251,30,204,214,38,183,229,8,130,169,113,93,78,139,231,113, +31,167,251,39,134,210,182,253,218,231,254,197,33,198,166,176,145,84,196,0,150,16,136,179,149,212,54,138,4,56,168,114,104,76,104,0,55,161,185,18,22,205,50,3,75,108,215,70,203,240,251,12,103,32,232,195,68,132,176,80,138,182,61,23,69,49,94,118,19,44,147, +192,242,117,30,191,136,106,17,221,184,229,182,99,137,49,61,186,184,202,33,218,152,26,138,152,68,12,25,20,246,33,210,197,200,193,161,138,137,48,219,215,59,155,161,227,238,206,81,24,25,218,202,128,239,132,238,180,9,71,57,174,129,166,8,173,117,199,20,16, +228,230,202,177,115,136,6,222,178,246,155,86,48,109,145,90,88,65,174,247,158,101,236,202,200,190,203,40,119,46,139,46,121,65,173,135,140,158,117,206,162,144,73,70,88,129,179,171,228,35,184,54,51,162,221,68,68,64,80,156,225,164,144,77,90,193,83,186,168, +89,188,121,208,109,2,165,163,13,236,69,177,149,110,172,17,132,173,91,160,66,24,21,169,124,237,251,229,141,124,109,96,199,162,0,186,223,136,13,229,155,31,180,148,235,237,223,22,79,219,15,58,213,47,226,73,134,104,155,54,8,228,8,165,28,216,108,95,179,230, +66,64,0,149,28,50,24,231,2,10,96,160,22,126,79,130,66,186,213,155,137,112,48,179,151,147,112,175,129,243,32,124,248,232,170,207,132,138,226,122,9,49,227,197,239,114,202,251,16,70,68,79,109,177,6,135,152,22,160,117,93,100,22,141,234,92,128,140,188,21, +29,227,216,194,132,55,198,35,54,85,51,237,85,15,162,144,199,143,153,189,197,228,146,95,213,246,197,56,157,91,224,36,68,61,254,115,21,175,186,54,14,98,16,165,2,46,4,5,8,57,36,149,28,233,68,229,174,99,104,200,64,138,200,68,21,168,104,113,10,24,196,193, +230,197,46,148,146,171,101,20,162,208,65,109,108,249,0,86,93,43,237,32,88,179,122,8,186,85,58,2,131,100,224,141,23,188,222,130,221,141,226,242,67,168,65,215,95,199,247,231,131,184,166,30,236,86,115,118,149,70,189,6,85,180,159,160,246,118,60,96,9,78,115, +105,221,230,221,66,240,228,147,164,232,76,138,8,62,244,145,131,40,250,26,225,52,145,79,210,102,231,185,84,61,10,55,164,56,120,1,140,106,31,160,221,129,35,141,72,144,41,225,226,220,47,47,115,201,128,226,38,24,194,218,111,95,185,91,72,196,184,190,130,218, +227,230,45,21,200,154,89,30,146,58,194,122,216,34,210,42,166,179,152,221,203,72,216,182,180,34,56,111,34,236,84,83,248,6,137,253,60,197,231,132,109,112,163,9,123,47,220,222,54,210,20,206,55,116,197,39,110,99,44,25,33,122,174,80,165,8,133,153,66,90,178, +255,180,72,220,66,137,70,101,140,85,6,217,65,35,239,155,138,58,102,99,124,76,137,156,185,19,5,156,60,195,148,126,75,97,160,97,105,118,104,101,219,71,95,156,24,181,132,152,141,171,154,247,232,117,130,135,221,68,236,107,8,230,9,238,29,2,56,98,60,112,82, +229,121,12,189,38,213,240,51,21,19,22,238,26,50,208,49,13,34,37,105,182,15,106,152,61,78,112,238,62,181,89,196,84,218,142,28,220,108,202,148,175,143,167,68,76,9,56,25,69,19,78,200,36,237,118,186,183,174,97,201,44,227,196,174,219,171,97,98,205,117,243, +4,139,85,104,190,15,7,78,165,118,222,92,71,19,170,121,204,181,233,72,70,8,33,245,40,116,120,63,193,191,116,143,68,150,161,251,57,12,223,167,38,23,68,55,175,103,218,131,103,157,176,3,29,235,16,162,162,237,119,41,251,117,252,97,0,11,167,0,204,236,5,184, +98,145,33,73,58,53,237,26,39,56,76,159,212,53,173,132,221,195,118,187,87,101,124,7,154,176,61,56,81,83,169,158,14,117,39,77,250,107,143,150,240,244,78,83,122,253,150,249,102,68,155,185,89,83,187,135,12,248,68,19,252,179,141,38,54,63,247,72,193,19,208, +202,227,240,48,20,175,210,158,6,156,97,180,176,237,222,186,81,209,148,147,56,227,240,132,191,203,55,87,102,208,87,54,181,0,115,198,11,230,39,72,203,254,73,133,105,128,165,180,235,12,106,206,229,198,130,132,138,190,15,17,72,57,85,110,191,122,45,53,130, +73,130,75,61,7,22,78,77,120,12,239,91,159,113,65,170,28,75,124,0,215,236,89,89,111,126,235,128,134,245,253,0,143,108,5,184,124,33,192,77,143,152,186,121,167,114,115,229,236,92,112,195,92,101,110,28,82,106,27,38,73,155,237,161,149,247,240,230,220,167, +132,87,218,246,44,185,14,154,195,69,36,174,169,196,99,91,205,117,114,21,32,107,119,17,186,103,42,214,204,84,112,218,232,92,196,59,160,201,161,114,240,92,25,95,166,133,179,243,243,77,10,22,76,149,92,169,236,218,213,57,187,231,118,43,215,16,21,157,136, +32,208,153,138,240,8,208,222,95,162,206,100,127,117,158,128,7,112,226,151,174,87,172,41,211,14,237,21,208,113,31,192,154,120,254,114,4,108,152,150,41,38,60,116,106,173,156,154,166,82,220,82,30,66,92,78,19,70,239,233,98,212,239,193,30,167,61,104,66,232, +188,52,73,196,194,105,240,214,176,218,191,206,126,130,189,22,245,18,108,229,96,241,8,115,70,122,45,142,68,41,205,204,43,57,49,164,78,18,22,90,181,195,182,189,93,26,119,246,194,159,107,78,79,225,91,79,229,240,253,213,57,171,117,37,98,175,63,14,228,131, +127,64,223,171,12,193,161,116,206,168,243,65,73,96,103,244,74,188,150,235,103,36,138,137,161,81,143,3,232,54,127,0,140,141,215,218,242,1,162,228,139,11,183,146,196,149,95,11,191,151,64,33,7,110,125,132,68,22,17,146,139,230,73,84,199,0,119,172,50,219, +172,189,245,4,9,71,79,50,43,233,171,79,42,216,124,64,195,25,179,105,203,90,128,85,104,42,166,245,80,67,73,1,199,29,102,26,71,124,111,181,226,234,96,233,55,152,2,56,21,109,253,155,230,39,92,203,72,130,66,171,245,75,191,204,80,195,152,228,148,243,15,201, +87,32,142,227,225,227,12,129,195,237,94,86,8,22,28,74,9,224,55,189,212,174,41,86,180,249,53,143,153,213,132,68,112,165,156,130,217,244,82,20,106,3,197,88,32,132,20,90,196,58,147,96,195,187,220,82,156,104,37,41,155,182,21,81,38,207,173,198,68,4,47,219, +13,64,10,80,64,8,7,51,227,107,76,233,70,191,160,91,192,187,78,18,156,54,190,111,189,153,244,249,147,5,172,223,7,248,44,209,1,212,232,131,80,7,112,193,44,99,42,227,38,71,240,91,43,131,64,113,27,55,92,233,167,206,164,182,180,0,95,88,150,113,73,251,153, +71,72,184,224,232,4,150,163,9,40,69,223,137,142,37,7,113,83,191,225,44,86,29,27,73,132,253,139,93,218,218,224,22,246,230,19,93,40,248,245,225,38,185,48,153,233,82,74,20,248,208,22,230,96,178,205,152,72,7,183,237,226,238,179,127,126,83,8,27,187,75,27, +235,58,127,32,46,148,136,83,111,28,115,71,182,155,22,221,172,62,116,46,167,154,118,44,107,112,98,111,91,158,195,150,253,192,205,33,136,136,49,161,166,225,152,73,134,185,251,253,53,26,254,238,126,197,228,146,171,150,72,184,125,133,105,232,92,182,177,124, +142,75,242,221,248,58,57,137,31,190,43,99,178,41,93,103,220,118,197,93,198,226,118,245,14,157,163,251,37,199,77,66,12,109,71,249,4,89,100,42,233,182,12,100,1,149,180,191,83,83,137,106,42,10,215,235,20,45,160,163,148,48,165,219,38,220,62,68,140,228,65, +128,83,217,211,77,244,65,38,196,21,143,122,251,31,49,117,72,237,111,57,0,112,221,143,21,59,131,139,80,24,174,62,213,52,145,254,47,180,203,164,230,191,182,82,115,45,193,115,123,169,164,76,192,181,231,74,120,240,121,205,225,92,197,66,187,100,227,95,131, +17,197,60,52,15,159,184,159,120,124,52,9,102,162,201,204,124,107,165,242,29,66,92,226,9,236,189,164,50,84,124,250,4,146,138,167,75,31,52,115,142,21,237,56,0,30,238,181,77,177,148,142,43,148,139,40,229,152,241,1,220,228,43,21,160,83,170,123,203,20,28, +148,186,13,57,30,225,119,10,215,186,152,182,117,197,28,198,103,48,145,196,166,126,154,84,96,149,127,44,174,244,87,206,20,240,115,156,220,47,62,170,208,15,32,42,152,134,109,7,140,118,57,115,142,128,223,69,31,225,199,235,20,220,185,198,109,97,103,106,22, +79,64,243,112,246,17,102,242,7,154,198,81,163,46,35,239,58,217,148,164,173,222,69,20,116,211,61,52,87,97,98,18,25,109,113,15,109,124,3,93,212,8,46,101,29,231,255,189,143,160,194,251,121,244,123,188,16,164,28,51,56,192,193,25,56,14,159,164,89,177,49,171, +54,102,201,20,49,239,40,77,44,205,231,101,52,192,50,218,137,139,156,184,75,142,23,176,31,39,238,134,7,21,172,221,27,162,8,106,245,118,56,198,234,111,61,65,160,159,0,236,31,252,232,217,104,247,50,155,96,57,13,29,191,239,162,67,216,223,48,145,193,32,158, +235,242,19,165,233,56,186,66,177,90,190,246,85,9,220,250,120,14,203,158,215,140,7,144,80,53,50,155,242,246,221,81,131,199,175,116,123,5,80,68,5,106,203,62,130,173,138,18,185,113,44,101,167,116,254,75,233,4,198,3,225,251,244,88,228,79,29,226,120,125,136, +191,67,137,132,134,2,117,95,7,231,242,169,93,2,109,191,1,86,52,24,224,137,219,201,250,162,84,128,135,112,210,86,108,7,56,107,14,192,95,159,45,225,254,13,26,126,138,194,64,220,75,138,34,158,223,79,199,4,28,254,117,199,72,152,143,90,225,147,15,228,133, +154,198,75,78,72,24,111,32,192,200,212,3,0,119,55,247,85,69,17,92,29,247,65,138,211,196,34,34,177,22,82,208,161,154,13,6,91,112,16,25,100,76,241,1,68,187,195,7,134,12,34,45,50,214,178,89,180,66,189,67,59,21,219,130,38,137,12,121,126,41,66,66,136,86,234, +145,227,9,104,162,73,16,140,49,56,30,64,154,20,7,141,158,31,223,166,97,229,78,179,218,201,20,28,142,145,193,82,20,132,33,140,81,47,56,74,114,219,246,153,24,127,47,152,106,52,192,103,31,50,221,61,73,160,136,236,249,237,167,21,58,143,9,124,252,130,4,158, +218,105,64,35,242,25,68,236,179,68,169,95,29,243,18,116,155,75,224,106,19,219,55,152,210,6,127,232,42,71,93,66,196,161,179,161,163,86,0,148,237,188,153,200,208,245,82,139,34,186,231,83,177,162,152,72,241,27,68,138,80,34,118,144,105,208,38,212,162,129, +58,124,156,17,128,99,38,154,149,187,125,80,248,213,170,109,79,98,202,23,80,149,49,65,187,164,250,31,222,66,14,33,65,199,2,150,160,207,240,205,167,52,252,4,253,130,11,142,18,176,17,125,138,59,159,209,92,135,216,178,17,2,229,43,114,124,190,31,53,70,63, +74,49,249,11,4,255,206,193,248,159,144,197,237,131,1,32,42,164,182,221,54,243,142,254,165,161,141,107,216,174,231,205,253,146,51,75,205,52,124,91,24,8,96,208,152,208,0,50,74,4,57,27,72,130,64,136,26,217,88,128,98,91,22,104,235,38,70,100,10,157,188,64, +131,68,175,29,4,59,148,247,174,55,43,113,207,112,128,124,195,249,77,183,207,239,174,54,222,122,57,117,184,59,112,136,247,197,71,12,13,141,176,247,187,215,105,184,119,157,137,231,133,77,82,49,18,137,3,95,207,77,181,18,253,77,130,65,147,238,64,45,247,125, +211,56,29,221,214,217,141,125,160,60,56,183,208,150,93,22,158,161,102,34,33,82,255,32,224,16,219,230,142,149,40,0,14,102,176,58,65,24,110,5,252,61,142,22,226,205,18,226,98,204,118,240,35,166,146,147,9,248,209,90,71,57,119,27,81,68,225,163,133,148,247, +212,133,157,176,208,46,206,249,34,238,167,108,255,72,109,24,26,53,15,243,223,64,90,232,24,32,28,19,227,30,16,225,22,34,226,249,199,196,144,66,17,75,251,152,89,97,162,76,228,222,225,182,250,137,177,214,40,50,6,55,180,181,255,101,155,15,24,104,69,27,69, +199,155,62,199,181,252,16,146,48,78,30,28,72,148,202,162,57,73,109,131,73,247,190,178,57,250,196,35,143,118,75,214,220,109,59,175,3,141,60,234,81,148,235,40,204,180,36,85,16,224,51,151,46,151,159,41,115,12,245,252,111,230,65,104,93,164,66,188,132,82, +18,42,127,169,233,131,107,84,233,252,33,179,231,128,209,94,78,115,105,139,46,186,42,42,170,34,174,37,197,60,193,216,114,2,237,128,81,248,69,233,224,201,93,230,249,125,75,66,122,215,37,114,220,100,186,238,221,52,0,142,51,224,200,30,77,43,68,148,63,223, +107,83,197,79,239,38,155,14,112,88,13,224,202,197,230,156,131,56,112,247,109,0,120,20,85,245,226,105,6,39,152,80,17,92,122,93,225,235,153,201,241,8,160,178,37,89,173,48,161,132,28,186,247,135,178,64,58,33,218,55,9,10,149,166,63,180,9,224,13,243,4,188, +114,150,225,1,56,243,70,152,193,119,87,41,254,78,139,103,160,159,49,67,50,48,85,181,123,21,184,212,51,105,195,125,195,166,52,142,28,77,250,62,196,75,152,217,103,146,90,148,226,94,246,188,178,66,49,134,146,65,74,199,182,218,124,201,85,187,240,245,137, +38,191,78,213,189,228,232,48,195,198,18,38,90,42,80,193,105,160,105,112,104,176,27,150,87,64,152,66,201,106,131,129,38,248,76,222,160,205,221,211,196,253,98,179,37,112,212,9,158,53,131,70,222,58,145,65,142,28,175,57,28,108,229,38,107,152,217,32,189,110, +181,145,203,28,210,15,13,248,142,65,109,1,25,211,213,164,156,152,110,36,84,6,78,0,82,211,166,154,105,191,32,234,48,62,216,48,215,230,142,232,246,126,9,205,165,4,18,77,234,220,9,230,125,66,249,92,250,155,206,75,215,37,97,39,252,159,62,71,190,199,130,169, +70,155,81,111,4,231,68,139,168,109,252,232,119,2,163,80,135,51,108,218,192,181,68,240,160,213,244,179,141,70,109,171,54,130,102,59,56,34,69,177,239,176,138,184,247,142,61,91,178,125,135,41,86,191,103,93,40,59,115,236,33,26,235,109,3,130,227,124,215,8, +218,215,225,181,133,86,204,32,142,248,3,142,150,38,162,164,149,243,55,192,10,205,170,221,26,86,236,140,170,146,173,149,119,81,1,29,74,144,51,229,41,138,102,95,251,251,8,147,107,132,207,165,158,151,111,211,156,176,138,125,34,61,194,13,99,71,82,0,10,157, +81,10,217,46,235,49,147,132,63,177,205,168,118,120,1,71,47,238,152,217,158,19,72,100,97,32,66,189,157,157,52,10,243,218,9,165,46,133,156,200,16,66,130,173,86,58,40,186,108,171,193,246,141,172,218,170,137,147,40,118,45,91,150,179,46,248,117,193,209,243, +41,112,155,70,86,170,152,228,210,81,197,19,251,61,168,165,54,237,55,254,7,117,20,209,177,183,92,116,172,245,136,45,214,17,22,2,93,104,200,24,197,246,90,5,10,148,251,201,219,154,38,197,43,211,161,135,113,157,124,124,94,25,61,199,4,210,104,3,14,207,251, +139,67,79,13,194,87,10,123,169,85,49,108,43,60,47,161,208,109,52,186,166,214,1,186,19,1,1,46,134,173,81,18,71,68,59,128,20,90,207,129,40,180,141,245,187,134,196,209,83,177,48,84,143,70,19,16,19,119,242,82,181,183,82,65,199,175,149,20,165,190,189,39,46, +143,97,110,202,161,29,4,75,15,19,127,155,155,115,161,225,161,42,98,148,45,36,73,147,67,39,164,220,245,148,58,24,158,54,161,155,240,25,56,95,189,163,99,115,19,232,221,90,31,164,138,219,206,117,80,239,137,67,212,22,192,65,125,140,116,187,22,212,47,16,250, +218,106,36,153,114,125,121,62,26,77,128,178,55,150,173,249,201,173,119,111,95,117,196,166,172,149,83,85,127,154,229,198,137,117,164,16,1,135,224,246,139,118,53,218,86,78,173,219,38,49,154,48,41,95,88,0,218,127,47,12,124,97,53,191,240,218,10,247,170,15, +50,109,193,124,196,26,76,31,114,137,28,98,135,184,131,175,81,104,88,194,229,225,44,231,82,138,166,72,74,195,3,59,55,108,115,202,115,36,180,193,72,106,0,199,246,111,61,122,251,199,111,197,103,244,123,97,28,1,111,54,36,239,104,103,242,223,224,31,154,104, +10,48,7,240,177,219,62,231,246,161,94,172,16,164,35,52,249,218,222,16,5,104,131,246,188,37,123,131,131,86,0,196,203,115,249,43,143,45,129,195,24,67,65,221,142,103,221,46,182,81,165,1,98,1,80,246,38,43,246,26,226,101,1,120,81,166,85,217,177,173,71,130, +144,65,49,171,62,42,124,128,150,21,134,204,222,164,235,223,249,242,228,191,120,45,144,217,69,214,178,143,28,70,0,19,24,233,40,32,111,211,6,241,202,127,89,8,126,245,113,133,200,222,143,136,237,31,17,1,160,141,152,149,82,135,18,130,67,181,194,125,89,0, +94,156,0,232,23,120,134,102,179,249,235,17,128,9,19,38,192,59,223,249,206,152,182,172,169,75,67,169,119,178,110,237,223,246,242,196,143,188,48,28,50,88,157,63,127,254,175,124,82,161,71,186,231,200,203,63,99,234,231,229,216,252,127,248,207,255,19,96,0, +221,83,18,25,240,8,112,38,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; + +const char* projectIconXcode_png = (const char*) temp_binary_data_35; + +//================== projectIconXcodeIOS.png ================== +static const unsigned char temp_binary_data_36[] = +{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,128,0,0,0,128,8,6,0,0,0,195,62,97,203,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,100,121,113,201,101,60,0,0,3,134,105,84,88,116,88,77,76, +58,99,111,109,46,97,100,111,98,101,46,120,109,112,0,0,0,0,0,60,63,120,112,97,99,107,101,116,32,98,101,103,105,110,61,34,239,187,191,34,32,105,100,61,34,87,53,77,48,77,112,67,101,104,105,72,122,114,101,83,122,78,84,99,122,107,99,57,100,34,63,62,32,60, +120,58,120,109,112,109,101,116,97,32,120,109,108,110,115,58,120,61,34,97,100,111,98,101,58,110,115,58,109,101,116,97,47,34,32,120,58,120,109,112,116,107,61,34,65,100,111,98,101,32,88,77,80,32,67,111,114,101,32,53,46,54,45,99,48,49,52,32,55,57,46,49,53, +54,55,57,55,44,32,50,48,49,52,47,48,56,47,50,48,45,48,57,58,53,51,58,48,50,32,32,32,32,32,32,32,32,34,62,32,60,114,100,102,58,82,68,70,32,120,109,108,110,115,58,114,100,102,61,34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,49,57, +57,57,47,48,50,47,50,50,45,114,100,102,45,115,121,110,116,97,120,45,110,115,35,34,62,32,60,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,32,114,100,102,58,97,98,111,117,116,61,34,34,32,120,109,108,110,115,58,120,109,112,77,77,61,34,104,116, +116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,109,109,47,34,32,120,109,108,110,115,58,115,116,82,101,102,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47, +115,84,121,112,101,47,82,101,115,111,117,114,99,101,82,101,102,35,34,32,120,109,108,110,115,58,120,109,112,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,34,32,120,109,112,77,77,58,79,114,105,103, +105,110,97,108,68,111,99,117,109,101,110,116,73,68,61,34,120,109,112,46,100,105,100,58,51,51,101,53,51,101,51,102,45,98,98,100,52,45,52,48,99,99,45,98,54,100,55,45,53,100,52,100,102,52,50,56,99,56,52,54,34,32,120,109,112,77,77,58,68,111,99,117,109,101, +110,116,73,68,61,34,120,109,112,46,100,105,100,58,49,51,54,56,69,69,55,52,52,67,55,57,49,49,69,52,57,54,50,67,65,49,51,66,54,69,53,52,48,69,51,54,34,32,120,109,112,77,77,58,73,110,115,116,97,110,99,101,73,68,61,34,120,109,112,46,105,105,100,58,49,51, +54,56,69,69,55,51,52,67,55,57,49,49,69,52,57,54,50,67,65,49,51,66,54,69,53,52,48,69,51,54,34,32,120,109,112,58,67,114,101,97,116,111,114,84,111,111,108,61,34,65,100,111,98,101,32,80,104,111,116,111,115,104,111,112,32,67,67,32,50,48,49,52,32,40,77,97, +99,105,110,116,111,115,104,41,34,62,32,60,120,109,112,77,77,58,68,101,114,105,118,101,100,70,114,111,109,32,115,116,82,101,102,58,105,110,115,116,97,110,99,101,73,68,61,34,120,109,112,46,105,105,100,58,97,101,56,50,49,51,51,49,45,49,102,97,102,45,52, +54,50,98,45,98,55,53,49,45,100,52,97,48,53,100,55,52,102,56,54,100,34,32,115,116,82,101,102,58,100,111,99,117,109,101,110,116,73,68,61,34,97,100,111,98,101,58,100,111,99,105,100,58,112,104,111,116,111,115,104,111,112,58,55,51,55,51,98,57,100,51,45,57, +52,100,100,45,49,49,55,55,45,97,53,100,98,45,56,53,99,49,100,48,98,53,54,97,53,50,34,47,62,32,60,47,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,62,32,60,47,114,100,102,58,82,68,70,62,32,60,47,120,58,120,109,112,109,101,116,97,62,32,60,63, +120,112,97,99,107,101,116,32,101,110,100,61,34,114,34,63,62,236,65,16,56,0,0,66,207,73,68,65,84,120,218,236,125,7,124,28,213,157,255,247,189,153,45,146,44,201,189,247,130,113,5,108,156,64,232,112,148,4,114,144,0,151,127,192,164,28,185,75,15,23,184,75, +46,151,92,146,203,125,46,201,229,18,72,114,185,112,164,83,19,122,66,9,189,184,226,130,141,193,54,238,189,219,146,37,89,109,87,187,51,239,255,126,175,204,188,93,175,100,201,182,44,147,67,254,140,87,154,157,157,153,157,95,251,254,234,99,66,8,28,237,79, +54,155,197,186,117,235,112,44,231,120,247,231,216,127,70,140,24,129,190,125,251,30,213,103,253,99,185,240,182,109,219,112,206,57,231,32,12,195,82,111,179,191,160,103,124,82,115,248,93,119,221,133,217,179,103,159,120,6,32,194,55,53,53,21,19,157,153,7, +198,138,24,129,157,36,132,20,37,24,149,181,67,104,230,236,19,69,191,159,52,63,185,92,238,168,63,235,31,235,197,57,231,86,3,216,7,233,129,177,4,4,147,175,224,116,72,187,12,64,166,131,177,19,70,123,198,125,230,247,26,152,146,215,100,246,250,249,166,3,25, +17,230,133,115,79,97,194,103,129,207,145,15,114,97,91,155,64,80,226,121,133,237,48,83,143,252,176,99,120,134,254,241,186,7,67,104,143,110,103,236,236,187,127,81,54,248,212,247,136,48,203,132,124,84,34,16,44,204,67,120,105,166,158,24,103,180,15,26,59, +112,253,105,250,18,234,105,6,66,171,15,121,144,134,22,250,25,139,208,188,202,207,49,63,230,39,218,79,223,95,189,111,88,48,204,135,96,30,139,153,12,230,90,158,207,253,138,1,41,97,5,91,126,38,215,176,47,43,68,62,100,92,31,19,10,17,244,43,99,45,233,48,104, +14,155,247,29,100,109,123,119,121,117,27,215,182,237,95,179,98,235,186,55,223,58,80,223,92,47,63,156,112,24,33,124,39,152,137,19,197,0,242,193,136,68,217,128,177,19,122,141,152,62,33,200,182,90,242,33,144,132,171,42,227,168,72,49,236,105,12,52,221,153, +33,178,101,4,58,90,40,110,32,65,140,137,44,153,130,132,148,39,25,2,41,146,220,220,181,58,132,195,97,16,161,206,37,138,245,141,48,12,192,228,123,249,124,244,187,210,96,169,170,232,88,97,62,223,36,207,117,136,180,90,197,68,169,225,128,228,168,60,6,164, +90,197,229,87,109,93,153,223,248,204,189,243,158,125,248,158,93,251,14,214,200,143,36,229,150,119,52,194,255,73,6,136,85,191,126,32,21,34,159,9,69,62,43,127,109,83,18,173,68,69,62,216,193,149,62,6,246,242,176,237,64,6,105,159,33,116,45,108,94,211,94, +169,106,197,0,6,70,48,205,0,138,54,121,173,61,194,0,145,212,179,80,196,166,154,185,26,193,144,148,24,34,208,196,229,30,115,172,125,104,152,38,175,52,129,58,78,104,13,196,60,33,191,12,253,29,64,100,243,104,149,23,220,84,159,101,235,243,125,167,15,31,114, +211,127,93,123,235,197,31,91,245,204,207,190,250,242,171,243,158,119,152,0,39,147,89,232,180,9,63,142,26,192,50,64,185,8,67,95,17,144,136,33,31,58,109,82,240,48,176,66,50,64,165,103,121,2,134,222,32,245,203,36,67,208,63,110,237,153,145,110,230,226,5, +171,44,98,122,199,234,157,46,151,13,141,66,102,218,46,10,125,30,70,210,30,26,45,65,247,100,142,103,14,3,146,201,209,247,33,52,19,24,13,197,36,24,32,156,147,240,184,252,114,33,118,238,111,192,195,111,39,167,141,187,234,107,143,207,190,225,163,95,52,103, +72,26,97,98,239,52,239,135,31,199,115,49,243,16,210,242,129,123,220,216,96,230,216,239,129,85,28,30,215,196,137,30,184,135,66,66,105,11,160,143,49,68,35,6,226,9,115,62,251,158,18,119,195,52,134,201,152,97,152,8,19,9,251,158,36,162,175,223,183,231,87, +92,24,144,86,208,12,24,169,50,69,116,166,180,142,58,187,48,231,246,61,121,15,30,146,41,15,62,15,240,232,146,3,169,202,51,63,118,199,151,190,240,185,175,152,111,144,120,39,50,193,241,198,0,6,7,144,32,51,120,9,46,109,191,64,155,180,223,45,210,118,79,24, +232,99,71,93,160,126,103,48,42,159,176,153,208,106,183,45,208,39,72,250,26,16,230,115,26,59,72,8,169,25,70,30,31,228,181,253,166,143,166,19,250,184,214,140,196,8,146,81,146,242,111,73,39,100,114,161,50,19,33,17,217,115,181,132,84,237,92,51,85,62,8,245, +181,67,109,158,104,127,66,158,55,32,207,128,62,47,49,64,32,143,11,233,166,228,245,149,214,9,57,114,121,105,28,66,174,110,252,183,207,111,196,215,175,255,240,191,221,122,11,227,183,255,228,127,126,224,128,195,252,59,5,24,250,221,160,81,120,144,149,15, +49,35,159,44,23,144,152,15,83,70,166,80,38,31,205,184,254,62,134,87,123,216,221,80,134,65,85,30,42,229,155,13,45,2,155,106,115,104,106,13,113,214,152,20,106,91,66,188,181,187,77,61,240,65,18,51,12,170,228,168,74,113,52,181,133,138,113,70,244,246,208, +34,25,227,144,84,247,75,182,182,33,35,95,175,61,45,13,82,56,27,106,114,138,193,166,13,73,32,37,191,89,133,84,204,41,201,132,229,242,218,89,201,12,135,228,185,15,202,235,120,82,221,12,168,224,138,216,181,205,129,250,236,238,250,60,182,29,204,161,74,122, +42,3,202,25,202,229,189,85,38,5,164,213,146,204,16,160,174,37,135,150,140,143,254,242,196,217,22,134,250,6,121,190,186,60,94,88,178,14,223,249,228,167,190,197,189,100,217,15,111,191,227,223,13,19,16,187,228,222,9,76,224,31,103,19,96,98,3,208,210,79,160, +77,74,243,213,211,211,152,57,34,137,62,210,11,200,72,9,254,127,51,24,106,228,131,175,109,22,146,56,66,238,243,208,86,225,225,194,9,41,212,183,10,52,74,230,33,105,191,229,194,74,72,97,68,43,57,227,82,26,155,228,235,182,131,1,250,72,194,85,101,56,54,247, +202,35,95,198,112,237,25,229,242,124,33,114,114,255,250,253,121,244,151,76,243,129,41,101,72,74,233,111,206,210,103,73,162,233,6,53,45,154,36,211,212,52,5,138,1,166,15,75,160,190,133,152,198,199,235,59,164,135,114,48,143,27,103,149,99,84,95,31,141,217, +64,106,175,16,89,169,5,242,249,4,154,37,3,108,219,31,162,158,37,80,229,37,177,55,76,161,45,219,136,123,158,127,27,255,246,15,95,250,74,46,8,189,159,252,228,39,223,118,158,235,73,239,33,248,221,112,78,198,165,228,121,242,225,11,41,3,68,240,239,62,223, +40,213,187,192,215,47,171,82,232,252,235,79,53,160,140,92,58,66,222,242,111,146,192,132,84,223,79,175,108,85,158,129,111,240,195,107,91,106,145,205,107,226,91,242,229,66,253,25,58,34,41,143,243,165,150,249,232,111,107,212,126,210,26,9,185,239,254,165, +205,120,112,121,139,14,244,144,41,32,196,79,102,70,104,230,36,179,148,183,110,163,113,253,232,149,24,134,84,255,151,31,203,202,243,72,147,164,76,73,168,204,139,252,148,116,69,115,200,181,101,228,247,106,65,144,105,129,200,100,228,107,128,178,29,91,49, +251,146,83,113,235,151,111,185,77,2,198,228,29,119,220,241,175,206,243,56,169,153,160,59,24,64,114,0,39,103,46,14,250,200,95,200,11,104,150,18,60,168,23,87,132,43,243,227,168,177,205,37,121,41,166,247,8,13,198,114,4,210,200,78,219,160,14,35,132,201,21, +3,8,27,69,20,68,116,185,209,133,184,80,224,173,44,193,141,75,40,191,160,10,240,232,107,209,123,66,114,129,122,91,157,39,52,84,177,129,33,249,183,60,103,168,2,66,80,120,130,190,128,186,30,29,35,17,99,82,110,66,110,121,225,203,195,165,71,19,250,168,175, +107,192,171,111,238,192,228,209,3,240,249,207,127,254,139,158,231,37,127,244,163,31,125,205,73,146,157,180,76,192,187,229,164,92,19,94,187,116,177,75,70,23,43,79,176,8,121,235,141,8,161,9,236,41,39,223,184,120,146,80,68,120,30,121,13,92,159,135,105,207, +65,123,3,218,231,87,104,157,179,248,149,105,169,214,239,9,115,29,131,230,5,139,206,99,99,6,234,54,67,199,53,204,17,199,10,27,164,212,177,9,17,123,22,244,5,184,84,113,140,123,138,145,146,146,3,231,173,220,142,192,60,206,207,124,230,51,159,254,246,183, +191,253,19,201,8,105,227,30,39,0,231,116,127,233,12,96,133,74,61,120,243,128,61,41,241,153,156,208,129,62,196,62,120,32,193,29,231,250,193,210,62,158,224,42,210,167,136,174,159,117,76,72,218,103,93,70,30,187,123,214,141,19,134,232,134,37,244,231,120, +76,112,102,142,85,76,5,27,47,136,239,213,146,71,223,131,245,71,227,239,160,54,227,122,170,71,71,76,201,137,1,18,216,184,189,22,251,234,90,81,213,171,66,221,199,13,55,220,112,211,247,190,255,253,187,82,233,116,149,235,29,157,108,76,208,125,12,32,156,32, +143,121,200,244,224,73,253,147,102,176,118,220,35,141,224,67,109,194,70,214,3,22,153,5,97,205,116,88,152,86,36,201,211,177,128,248,98,156,179,66,127,30,78,48,200,156,72,41,35,19,8,82,199,135,90,43,232,107,11,163,21,76,228,49,20,135,197,247,84,192,202, +106,37,82,69,146,1,164,164,163,190,57,131,205,123,234,80,217,171,28,233,116,90,93,227,67,215,92,115,237,15,255,235,135,191,173,168,168,232,103,110,43,105,52,2,255,139,102,0,114,3,67,199,19,86,196,147,95,191,77,62,80,10,1,115,43,133,86,197,131,21,70,245, +96,136,19,196,24,141,217,176,161,97,170,136,32,196,76,121,109,58,132,139,235,34,149,206,98,173,16,49,136,171,33,226,172,38,12,195,168,248,129,141,100,90,166,9,153,9,86,25,179,102,76,146,13,106,5,18,44,110,216,81,139,116,89,153,98,128,50,249,74,223,229, +138,43,46,191,226,246,219,111,191,191,111,223,190,195,205,87,116,53,1,251,139,100,0,146,106,82,249,42,26,40,152,145,52,224,144,116,241,18,62,161,126,22,135,239,185,19,161,227,218,123,136,34,115,242,213,151,234,216,179,82,199,153,81,205,208,193,32,131, +7,132,77,137,90,102,241,28,149,110,164,221,134,142,137,208,42,83,200,221,76,36,140,249,113,24,82,69,255,98,18,209,125,69,215,54,121,9,205,25,60,194,57,219,247,214,41,85,150,74,165,10,152,224,162,139,46,58,239,103,63,251,217,131,195,135,15,31,239,132, +142,189,118,211,228,93,252,105,167,32,167,39,189,0,253,176,148,212,8,109,187,185,199,213,243,202,153,52,176,146,121,227,34,4,57,104,109,224,49,99,199,13,54,247,180,41,176,201,31,37,229,204,18,59,78,2,121,73,141,13,116,118,80,159,131,176,131,16,214,101, +100,176,31,177,192,175,176,214,195,102,2,205,125,48,173,145,66,226,144,64,187,144,214,210,48,3,4,9,34,82,185,3,243,180,38,224,242,75,215,54,52,171,243,86,86,86,66,170,125,85,50,151,145,174,34,21,205,204,154,53,235,12,201,4,143,220,122,235,173,31,223, +188,121,243,27,134,9,114,208,122,14,163,71,143,22,201,100,18,109,109,109,71,204,239,7,65,16,21,129,208,177,246,90,180,63,33,241,8,49,132,122,6,148,195,144,127,119,116,62,191,123,20,139,126,184,140,91,233,211,162,73,97,93,223,51,234,29,134,57,12,106,103, +38,237,171,81,62,43,192,18,148,241,99,38,23,16,102,69,204,44,70,157,107,242,57,121,4,206,34,60,161,222,229,90,5,132,197,169,228,8,245,81,86,145,233,116,113,232,228,18,40,20,28,88,198,48,218,197,104,33,63,73,9,46,102,56,146,43,6,63,212,162,137,242,230, +138,21,88,248,218,107,216,179,103,15,202,203,203,113,202,41,167,96,242,228,201,152,49,99,198,41,119,222,121,231,195,183,221,118,219,39,87,173,90,53,215,9,29,7,253,251,247,199,79,127,250,83,65,175,173,173,173,237,18,205,247,125,117,94,42,199,35,236,65, +4,62,237,180,211,176,110,237,90,28,60,120,16,35,71,141,82,159,39,70,34,45,52,102,204,24,245,122,98,53,64,164,146,153,2,95,194,213,12,44,70,229,42,234,35,12,0,52,118,62,84,17,100,253,62,61,124,101,22,210,60,2,123,44,197,148,70,16,110,226,213,160,250,32, +31,42,109,16,3,4,125,13,197,88,70,43,69,230,37,20,198,199,23,6,4,198,26,37,82,48,66,19,59,74,47,91,240,106,235,24,12,179,209,47,94,34,137,129,189,24,110,249,210,23,112,223,253,191,87,196,176,63,100,18,102,206,156,137,171,175,190,154,204,193,240,223,252, +230,55,15,125,237,107,95,251,187,151,94,122,233,73,203,4,175,191,254,122,32,221,71,252,238,119,191,19,189,123,247,70,75,75,75,73,38,32,162,211,70,210,205,13,0,141,10,156,142,194,20,248,221,168,0,244,195,226,154,9,236,67,165,176,46,69,214,148,137,224, +136,129,154,5,118,66,68,40,93,171,107,22,87,24,26,198,224,158,208,102,193,115,188,3,147,124,130,136,3,75,164,105,72,250,121,16,155,27,29,64,130,49,17,49,222,176,231,38,77,64,166,75,129,63,207,42,232,168,52,65,51,129,101,110,242,68,228,121,37,223,225, +125,19,251,97,199,107,15,226,158,87,95,61,236,113,144,122,94,184,112,161,218,198,141,27,135,15,126,240,131,125,62,247,185,207,221,83,93,93,125,203,19,79,60,113,95,62,79,241,74,240,183,222,122,43,148,251,241,163,31,253,72,12,25,50,4,205,205,205,37,237, +189,85,241,170,130,201,252,30,165,74,79,6,16,104,137,105,165,5,44,70,224,20,11,8,173,93,55,25,62,173,189,227,116,175,253,172,2,127,70,234,172,202,214,96,157,69,238,101,4,204,28,215,47,70,254,113,204,65,69,1,45,179,145,196,7,135,223,51,99,177,148,171, +247,77,80,42,58,214,137,39,40,76,67,196,207,11,12,27,80,133,244,129,165,120,165,4,241,139,127,54,109,218,132,31,255,248,199,248,236,103,63,91,46,255,252,229,53,215,92,243,208,229,151,95,126,153,244,18,136,221,194,69,139,22,137,235,174,187,142,45,93,186, +84,97,137,119,102,28,32,140,226,36,234,193,43,155,111,226,240,9,131,1,20,170,102,142,51,36,52,14,160,232,159,34,122,16,71,4,85,48,8,49,162,143,136,235,32,120,197,32,194,197,1,60,246,223,13,168,227,60,118,39,41,216,67,140,160,204,16,115,98,16,194,68,14, +61,3,242,24,51,140,104,181,128,214,38,154,97,164,251,39,193,252,41,125,242,120,93,21,7,117,254,103,255,254,253,120,236,177,199,240,252,243,207,127,80,218,235,103,174,191,254,250,23,102,207,158,253,137,137,19,39,246,150,54,94,220,116,211,77,120,77,226, +136,170,170,170,119,30,3,8,235,114,121,214,21,212,196,37,19,117,40,43,76,205,31,139,142,139,2,60,158,245,177,161,64,22,17,133,106,0,21,202,246,221,114,174,200,147,143,24,69,17,215,115,36,95,56,197,35,145,173,142,25,34,138,38,250,110,20,194,122,35,92, +135,178,125,253,190,5,155,113,181,146,62,121,78,222,199,153,163,164,203,87,179,20,219,118,238,61,170,103,117,232,208,33,188,242,202,43,248,213,175,126,117,158,52,1,191,61,247,220,115,151,222,124,243,205,223,146,192,110,220,45,183,220,130,151,95,126,89, +1,201,119,86,46,192,99,38,198,175,37,43,52,68,106,205,9,147,35,128,99,219,227,232,157,181,245,204,85,233,140,21,72,187,213,0,156,91,70,51,72,220,134,119,141,219,103,189,2,91,113,108,85,182,214,6,194,184,132,214,244,24,162,115,30,49,67,4,92,109,46,195, +220,88,156,151,128,42,34,185,104,124,2,43,151,47,138,98,17,71,91,162,77,46,156,100,0,220,119,223,125,227,37,104,252,182,100,132,55,36,86,248,221,115,207,61,119,30,153,13,138,41,188,115,76,128,64,4,252,44,33,73,181,55,102,132,42,10,213,217,184,184,238, +46,162,186,249,156,102,26,77,64,10,42,217,50,95,110,8,8,83,2,174,131,61,177,137,160,232,99,24,88,155,206,34,149,239,170,111,197,156,96,5,173,43,81,82,137,199,196,182,132,6,119,253,127,68,39,11,37,120,31,232,31,194,134,165,207,99,213,219,27,10,241,196, +49,48,2,197,2,38,76,152,64,113,129,202,1,3,6,124,92,2,197,185,210,76,204,221,188,121,243,199,36,99,84,146,71,161,163,150,39,117,58,88,63,76,178,157,22,160,210,133,106,90,132,242,2,124,66,231,182,2,152,171,138,171,72,69,171,162,79,83,181,77,229,95,161, +169,7,180,193,27,37,249,78,255,17,115,218,78,60,223,162,121,85,223,31,217,254,168,183,192,154,39,121,78,93,138,104,60,3,232,207,68,149,199,170,38,208,154,12,174,99,118,100,107,2,68,145,77,226,207,81,213,1,214,47,88,133,108,59,193,27,119,95,103,251,39, +233,51,228,195,147,237,31,59,118,172,10,248,72,76,112,222,239,127,255,251,243,250,244,233,243,205,179,207,62,251,62,249,222,147,210,255,127,11,113,213,209,73,198,0,208,126,117,104,220,56,229,206,65,215,97,38,19,26,232,229,77,97,135,170,211,163,18,241, +80,196,182,56,10,251,234,24,130,242,209,121,164,8,116,70,80,104,2,210,131,37,156,160,162,129,166,152,211,154,134,40,250,103,65,129,169,10,178,45,7,220,198,248,141,70,144,119,172,25,81,232,96,147,200,235,64,149,174,95,231,170,150,192,154,149,68,194,71, +185,124,122,43,222,124,171,211,132,165,243,86,86,247,65,42,93,142,134,186,3,138,208,165,142,163,239,36,93,67,69,124,250,123,248,240,225,170,1,180,166,166,102,220,75,47,189,244,173,214,214,214,111,13,26,52,232,205,145,35,71,254,90,190,62,156,76,36,246, +230,74,156,171,231,226,0,86,186,66,146,94,83,169,109,98,20,41,146,104,129,56,69,203,161,154,62,136,192,54,240,195,152,115,142,192,137,206,9,199,107,96,186,239,76,249,236,73,99,243,67,39,8,101,19,248,92,167,112,133,45,92,87,230,37,212,62,190,99,26,52, +211,112,85,156,42,28,70,12,178,161,202,9,8,91,71,192,169,208,149,99,104,31,31,245,111,189,132,218,250,166,46,212,73,48,36,123,15,130,72,244,66,101,144,69,109,77,77,187,12,96,253,123,171,17,232,71,106,0,72,179,160,130,68,59,119,238,60,109,241,226,197, +63,149,38,226,235,101,233,244,195,146,73,126,157,72,38,87,116,213,60,116,27,3,112,35,241,214,223,231,92,151,118,81,173,133,159,148,186,171,77,152,200,32,21,219,234,232,94,190,45,84,238,161,151,50,5,58,57,91,252,97,170,139,60,68,161,89,21,182,117,77,129, +219,94,38,68,65,240,70,55,2,177,232,198,40,178,168,202,190,173,218,119,178,190,186,231,128,71,218,192,75,114,221,165,68,102,37,208,193,159,16,73,140,74,236,193,220,215,94,42,32,90,177,218,63,12,232,201,239,223,90,187,11,101,149,213,104,168,175,87,251, +250,245,235,135,94,189,122,97,239,222,189,42,96,100,51,147,54,224,195,109,33,12,116,19,40,105,6,10,7,83,120,153,76,132,252,220,160,199,30,127,252,11,190,231,125,122,198,204,153,191,28,50,100,200,29,18,71,108,108,235,164,70,232,22,6,208,234,159,50,121, +44,46,212,48,78,63,183,136,158,91,162,8,83,245,67,154,192,184,141,161,137,238,155,136,161,138,223,91,83,194,227,115,18,232,227,54,75,231,214,15,68,133,30,70,221,187,193,41,83,120,66,140,69,166,35,210,58,42,61,109,35,127,38,60,140,56,226,39,76,81,10,157, +174,119,101,10,193,182,185,216,178,125,143,10,197,146,100,82,210,135,98,240,132,230,219,99,4,218,215,220,212,168,54,251,67,4,149,170,28,147,38,77,130,4,122,104,104,104,80,175,68,96,174,180,77,16,167,157,205,70,223,157,174,71,191,15,29,58,20,195,134,13, +163,208,115,98,197,138,21,159,123,227,141,55,110,184,242,202,43,191,51,126,252,248,59,58,131,59,186,205,13,140,130,39,208,42,62,215,42,84,34,136,170,116,41,145,165,136,111,187,125,242,90,12,19,41,29,3,16,70,10,20,97,13,162,143,138,60,172,91,103,64,38, +108,18,201,48,69,84,20,18,67,255,168,57,37,170,1,48,226,206,125,74,53,115,211,84,194,226,54,79,227,119,234,235,113,181,41,55,82,186,47,82,205,226,194,222,27,177,114,254,147,234,112,202,196,17,114,167,168,29,37,114,164,74,86,127,219,80,109,41,38,112,55, +34,248,188,121,243,176,100,201,18,149,180,153,62,125,58,36,17,241,200,35,143,96,203,150,45,145,139,72,155,213,10,238,70,146,78,154,131,174,75,249,134,49,99,198,244,150,159,189,125,213,170,85,223,164,123,58,18,19,116,79,65,72,62,78,236,208,13,144,43,71, +132,77,153,160,74,32,98,184,168,10,71,120,236,57,16,243,248,190,174,27,180,46,155,46,202,140,85,186,27,224,81,89,65,235,54,134,69,104,219,168,126,93,184,195,11,195,229,70,105,144,231,192,173,6,48,69,35,220,179,26,201,4,138,76,45,161,4,27,232,143,90,148, +237,91,140,183,223,94,171,206,105,115,254,214,94,83,208,134,166,117,208,102,125,247,246,152,193,101,8,74,30,81,28,96,249,242,229,138,169,136,49,136,17,44,30,176,76,208,30,51,144,121,32,13,68,222,195,140,25,51,240,226,139,47,254,219,161,67,135,206,37, +13,213,35,110,160,193,80,17,160,242,18,42,181,174,186,131,19,190,78,160,168,206,28,147,254,181,85,56,42,26,24,37,115,16,213,3,184,231,181,7,232,191,37,195,164,88,97,174,223,139,43,130,192,29,147,96,42,149,169,68,189,34,201,85,60,129,42,149,147,38,181, +108,110,56,82,247,186,189,45,174,77,8,67,142,65,126,61,230,191,244,50,178,185,188,34,20,61,96,75,124,215,221,35,127,157,54,82,241,68,152,206,152,7,251,217,179,206,58,11,117,117,117,74,170,173,45,183,239,187,102,160,88,155,168,74,106,201,8,116,93,98,192, +133,11,23,222,54,101,202,148,249,39,190,34,200,216,219,48,116,170,109,228,127,77,173,218,69,75,250,142,83,110,9,199,11,213,176,173,199,211,121,3,166,107,7,77,152,22,70,43,184,1,26,85,243,31,37,157,204,3,49,24,209,208,85,225,138,114,73,248,51,135,167, +84,191,192,231,47,168,194,128,10,15,153,54,17,39,130,204,185,40,8,164,43,145,226,234,173,132,188,113,105,254,165,235,183,82,221,91,169,232,156,27,4,34,34,17,96,43,54,15,71,138,11,144,102,33,187,78,218,132,8,90,74,250,59,210,8,100,18,8,92,110,219,182, +237,125,242,247,222,61,144,14,182,89,190,56,220,70,68,200,72,149,74,157,63,194,20,95,112,203,201,102,24,132,125,38,249,156,205,4,138,8,226,51,91,196,97,63,231,196,5,108,64,200,101,10,1,75,60,97,29,74,117,254,102,233,214,253,245,244,94,170,79,241,210, +83,211,152,53,34,137,79,255,161,22,117,173,129,234,33,160,36,144,66,253,38,222,15,21,11,144,96,76,94,119,72,149,143,218,215,254,136,3,117,141,145,132,119,68,72,151,17,172,121,32,166,33,169,38,141,64,64,174,148,247,64,90,195,130,60,218,92,111,128,94,75, +73,127,241,62,210,76,146,121,250,73,151,113,160,188,207,250,19,31,10,102,84,53,195,11,50,119,190,52,3,117,173,66,97,0,43,173,204,77,176,24,137,247,163,170,29,230,212,252,64,5,139,220,92,127,84,92,98,180,136,112,184,40,10,1,131,69,113,4,250,147,36,255, +222,37,205,184,237,226,74,108,174,201,43,183,243,59,87,245,150,151,103,78,37,51,143,170,127,109,141,69,200,210,24,201,118,97,249,188,63,171,191,73,253,119,54,244,235,18,201,154,7,42,250,32,173,64,46,32,105,9,151,17,172,84,19,35,20,75,186,187,207,149, +250,98,109,64,199,73,38,104,148,12,211,208,3,245,0,6,205,219,136,156,177,215,101,82,141,83,195,102,40,226,134,12,170,7,204,59,101,94,136,203,241,163,148,171,245,2,20,234,15,13,35,56,181,3,54,249,20,213,30,176,194,212,164,197,16,116,28,1,209,117,251,243, +88,178,173,77,183,173,189,120,8,103,141,78,225,170,169,101,42,70,97,91,204,21,16,144,91,130,170,145,164,86,232,159,110,67,126,253,211,216,180,101,151,34,88,169,50,43,87,2,59,98,132,98,243,64,234,154,24,194,50,2,17,207,18,186,248,181,61,102,40,222,168, +152,68,158,115,161,188,212,190,19,207,0,78,182,143,251,174,93,214,21,65,170,95,143,122,254,242,20,194,53,189,1,22,128,133,113,35,137,237,31,136,170,134,140,27,224,113,86,160,89,224,164,159,163,44,35,226,250,189,68,74,51,7,161,122,242,80,232,243,15,190, +209,138,115,198,164,84,145,234,61,75,73,35,84,99,72,181,111,204,77,92,237,163,157,71,31,31,24,184,17,111,205,121,52,114,253,44,186,238,12,177,59,99,30,200,52,80,60,129,54,235,255,219,192,143,187,21,19,190,148,70,160,31,98,128,81,163,70,253,134,222,63, +241,12,96,108,190,239,179,168,1,67,251,247,12,123,155,116,168,149,8,172,139,66,52,200,179,1,25,110,250,246,220,180,111,65,70,207,182,120,197,137,185,40,239,160,226,1,161,112,58,143,152,157,59,227,48,138,68,253,242,28,11,54,183,225,205,93,57,220,52,171, +2,247,45,107,65,67,38,196,63,93,82,173,238,89,71,31,133,137,255,39,209,59,216,133,218,213,47,98,229,234,245,138,56,100,203,93,219,223,145,228,119,197,60,208,70,204,69,204,64,102,130,52,130,85,231,29,49,65,49,51,16,190,144,231,216,48,116,232,208,167,123, +134,1,56,67,220,180,99,186,118,168,248,65,62,228,87,54,73,55,197,72,188,16,44,206,8,58,245,30,214,214,199,133,151,113,47,160,103,136,79,132,37,176,168,92,73,95,199,14,10,190,152,173,51,140,147,7,170,200,196,79,113,197,84,212,120,250,208,138,86,92,56, +46,133,1,149,30,190,243,252,33,156,45,53,194,251,39,151,41,173,160,9,35,84,30,104,72,191,10,188,177,108,41,90,36,48,35,226,251,6,164,116,133,224,157,49,15,244,67,231,183,146,108,77,141,245,28,74,105,133,82,90,128,98,8,99,199,142,253,149,212,82,153,158, +169,7,48,4,138,186,106,141,138,38,55,120,95,67,168,30,108,84,159,167,234,235,17,69,240,108,185,152,13,200,196,82,108,58,124,195,184,206,32,46,241,98,81,129,39,227,69,69,38,38,251,167,59,138,153,194,154,212,138,94,46,153,97,222,166,44,118,53,4,184,113, +70,57,86,239,203,227,201,213,173,248,7,233,26,14,239,227,43,51,165,25,201,67,159,240,0,150,189,190,52,170,193,239,12,97,59,139,5,14,175,166,18,135,17,152,142,181,140,64,166,199,18,189,148,102,32,15,67,30,211,32,25,224,94,218,119,164,186,132,238,41,9, +51,42,153,219,50,112,211,46,78,153,192,1,149,60,242,176,84,254,158,9,39,126,239,132,233,194,24,205,11,196,149,194,214,101,212,93,67,113,229,167,78,56,113,179,197,21,192,46,134,160,89,3,215,76,47,195,232,126,62,26,91,132,234,84,186,119,105,11,222,63,41, +141,241,114,223,111,165,119,176,231,80,128,47,73,38,160,10,99,106,12,25,214,55,129,218,229,143,96,95,109,67,228,250,117,69,250,143,198,60,20,171,116,75,96,58,150,250,0,136,25,138,1,163,61,150,74,204,164,237,127,88,50,234,158,30,173,9,180,237,92,214,70, +147,90,157,52,196,199,140,225,190,36,4,211,101,97,162,8,241,59,65,28,91,75,104,235,9,45,209,93,176,24,121,12,110,64,40,234,24,230,81,37,18,129,76,26,235,51,172,183,143,179,70,37,208,183,156,227,195,103,150,99,220,64,31,127,92,153,197,246,186,0,23,142, +79,161,94,50,197,93,175,53,227,2,105,22,46,58,37,141,28,101,253,248,46,188,254,202,19,234,156,132,216,93,130,117,85,250,59,99,30,58,242,2,236,102,205,3,49,163,237,252,177,199,200,247,194,73,147,38,221,213,25,233,239,214,116,112,12,188,180,141,39,87,236, +172,145,62,106,154,141,125,55,197,28,22,164,217,30,0,202,1,144,107,40,172,123,103,155,70,242,218,157,243,19,78,21,169,45,230,48,229,101,186,6,192,96,4,251,31,215,247,208,156,17,248,226,185,105,76,148,68,159,62,36,1,46,247,93,59,173,10,139,182,182,225, +169,85,25,204,158,85,134,23,55,100,177,92,2,195,231,215,101,240,229,243,43,177,181,161,13,109,171,158,193,250,77,219,34,201,43,21,246,45,70,245,71,170,8,42,117,172,187,223,18,221,106,52,27,8,42,126,181,1,31,122,165,26,1,138,0,142,30,61,122,174,116,43, +95,167,64,82,143,105,0,235,194,193,196,241,173,31,62,160,23,71,191,94,78,109,61,139,59,116,237,241,81,153,151,129,242,81,229,47,180,87,97,27,65,56,143,187,120,184,169,3,136,152,202,101,64,202,163,75,70,57,127,108,10,147,6,249,248,222,75,205,184,103,89, +43,238,127,51,131,239,191,220,136,105,67,19,106,92,13,77,24,185,102,106,90,93,248,55,75,90,145,151,143,230,182,179,115,88,244,220,131,42,112,69,210,111,193,95,103,84,254,209,154,7,85,225,84,132,236,59,138,11,216,92,131,173,32,154,58,117,234,157,150,73, +221,90,130,19,238,6,90,20,239,249,60,74,219,54,102,5,122,167,89,97,98,135,21,206,13,84,12,228,105,98,219,190,1,238,179,120,76,140,241,247,57,115,43,135,68,20,25,228,166,98,215,154,22,106,68,185,112,108,2,103,74,237,179,116,71,30,141,109,148,139,224,72, +39,57,234,165,86,120,224,141,22,92,53,37,133,38,121,111,151,72,51,208,175,194,67,131,252,253,206,197,1,246,174,154,139,149,43,150,41,41,179,174,95,41,162,117,197,246,119,134,65,138,137,94,10,244,217,125,54,11,72,219,192,129,3,55,15,31,62,252,73,171,254, +59,99,2,186,205,11,224,214,167,231,113,254,158,122,2,42,146,204,212,226,197,45,90,22,55,216,72,94,224,116,237,68,101,120,220,121,160,34,110,2,133,163,146,221,33,147,244,7,149,25,244,175,224,248,216,172,52,54,213,4,248,243,218,44,46,59,37,137,143,206, +72,171,49,113,205,25,154,94,234,169,74,229,159,47,108,86,73,172,179,37,70,160,176,112,125,115,22,119,253,230,110,228,164,59,96,115,254,71,146,234,174,16,189,35,112,88,74,3,180,183,143,84,61,49,1,189,78,159,62,253,215,82,75,181,30,169,50,233,4,96,128, +56,80,99,103,254,210,11,205,92,164,25,65,30,215,42,219,43,74,224,48,167,118,46,234,197,51,109,219,194,57,159,26,63,199,109,205,64,220,88,26,37,111,77,167,79,78,30,119,211,57,105,149,134,62,67,130,207,113,253,61,188,176,177,13,67,164,39,242,145,211,203, +176,122,79,14,127,53,33,137,21,210,238,255,105,101,70,205,23,36,6,120,126,51,67,159,198,85,120,104,238,11,234,65,82,188,190,35,187,222,85,76,208,158,237,47,54,1,197,233,95,215,246,219,191,41,226,71,12,80,93,93,221,120,202,41,167,220,77,191,219,132,81, +143,153,0,11,242,108,107,149,106,239,146,87,162,190,128,132,105,9,211,21,91,113,143,159,173,4,98,204,121,63,202,234,197,211,195,84,178,136,10,76,60,237,106,18,96,140,122,248,28,70,162,156,255,196,65,30,46,155,152,196,27,59,243,104,144,46,223,148,193, +62,190,124,110,25,166,201,215,71,222,202,96,214,200,4,38,203,223,151,201,247,169,191,255,161,229,173,18,32,38,49,91,122,8,155,23,60,130,61,53,245,42,42,231,130,191,142,84,127,71,230,161,51,154,194,22,173,180,23,242,45,54,1,4,250,104,35,0,56,109,218,180, +71,165,166,218,229,50,101,143,121,1,182,15,47,52,225,216,48,64,60,141,27,49,208,11,133,112,202,183,53,5,195,144,69,133,32,206,12,9,43,254,17,184,39,230,9,37,99,249,166,103,32,12,227,66,17,107,66,62,245,222,50,69,120,170,63,40,147,39,218,38,221,189,65, +149,30,46,26,151,196,251,164,164,211,72,218,111,60,213,164,146,66,253,164,73,216,90,23,74,13,17,226,202,161,7,241,141,103,31,141,92,63,27,155,111,79,146,143,69,3,20,239,179,26,128,164,187,56,205,235,166,130,233,213,34,127,201,164,226,244,211,79,255,95, +98,12,123,76,41,237,114,194,24,192,86,33,233,178,42,17,119,235,114,13,202,236,192,168,184,239,62,182,219,65,32,162,182,43,29,22,54,128,49,140,107,194,172,123,201,5,115,240,131,197,4,84,119,16,226,250,211,83,82,157,251,248,234,211,205,24,221,135,227,125, +163,53,193,9,136,110,172,13,48,83,154,132,181,251,3,172,63,24,96,71,125,136,94,9,61,123,248,143,107,4,182,207,253,147,42,204,36,63,219,5,127,71,82,253,199,106,30,236,126,203,0,197,185,127,187,143,54,139,254,201,246,207,156,57,115,126,255,254,253,23,219, +193,18,150,65,58,83,34,222,45,38,32,116,134,55,232,121,65,186,244,75,245,7,82,251,86,188,66,67,225,168,55,81,148,249,19,5,109,0,170,180,60,246,50,226,54,240,168,78,208,212,27,14,235,237,225,211,103,151,225,233,53,109,146,248,30,154,37,211,221,187,60, +139,93,135,66,156,58,208,195,248,126,92,21,166,252,199,139,205,216,211,32,208,43,105,84,141,4,20,85,188,25,143,254,225,190,72,250,75,197,253,187,162,230,143,198,20,116,166,30,192,74,63,197,39,206,62,251,236,59,173,198,136,123,41,89,167,204,64,247,84, +5,27,183,142,179,216,27,32,176,118,176,85,215,223,37,28,23,208,237,245,0,67,97,53,177,208,72,62,254,14,142,185,8,69,220,51,232,184,136,164,97,62,118,102,74,205,27,254,222,139,173,10,11,156,49,44,33,53,128,143,249,91,114,248,245,210,12,170,210,28,247, +190,158,193,150,218,80,197,0,236,72,153,84,170,28,125,235,151,98,249,210,133,138,240,46,248,235,136,168,199,122,76,113,86,176,189,210,47,155,36,34,38,32,6,160,184,127,239,222,189,183,213,212,212,60,97,167,134,184,254,127,143,186,129,182,6,95,152,137, +27,190,188,153,61,13,161,154,26,94,150,112,48,191,155,235,133,169,238,53,146,76,35,87,46,28,147,64,166,77,219,245,168,59,72,216,170,94,17,23,144,82,7,141,36,226,120,137,244,47,59,37,129,31,188,218,138,81,125,57,134,84,115,252,96,78,171,10,69,95,48,54, +129,11,228,249,222,86,137,159,172,106,237,178,207,72,122,206,24,63,128,99,253,171,15,160,161,185,77,17,223,150,119,31,139,116,119,85,3,184,24,160,148,244,211,126,43,253,4,78,37,19,252,118,253,250,245,205,214,77,45,46,21,235,17,6,96,110,144,198,218,66, +41,101,228,6,122,214,190,179,184,128,212,246,240,217,128,16,217,125,90,99,128,212,245,148,33,92,125,78,168,9,99,76,77,15,167,191,169,170,152,50,118,173,121,161,164,156,90,207,137,175,190,114,81,25,94,221,156,199,146,29,1,110,154,153,194,31,87,182,225, +114,233,251,239,107,18,184,123,89,22,147,165,103,112,175,124,109,201,49,154,71,169,52,134,58,63,79,98,120,126,3,230,189,240,164,186,15,59,157,163,35,130,29,43,225,139,53,128,181,217,237,85,249,88,166,32,215,143,24,96,224,192,129,205,203,151,47,191,219, +13,27,119,213,4,248,221,197,0,156,23,78,242,32,16,71,82,74,133,161,129,157,224,229,128,69,34,38,229,232,147,166,163,152,30,197,144,74,29,162,29,80,197,208,175,156,163,82,170,107,210,32,36,233,13,205,161,154,233,63,176,66,75,62,69,242,8,236,141,237,235, +225,159,255,220,130,15,77,77,98,123,125,168,34,136,19,250,115,252,114,73,22,95,189,176,12,139,183,231,21,248,59,117,144,94,175,32,237,67,173,61,80,81,89,134,3,115,30,197,182,221,7,148,244,219,122,255,206,2,185,163,241,12,74,29,99,53,64,49,250,183,199, +218,130,82,51,33,236,79,91,229,15,73,127,113,66,169,24,184,246,64,32,40,174,6,178,95,140,10,65,124,91,167,207,99,183,141,8,63,115,184,135,75,39,36,20,70,32,208,70,29,68,163,165,10,175,78,51,220,126,85,185,10,222,168,26,66,146,124,105,255,179,146,145, +104,225,136,134,140,46,50,37,66,158,34,213,255,47,22,103,212,216,247,51,134,122,248,239,133,89,124,230,236,20,158,223,144,83,190,255,208,42,142,13,7,242,184,247,134,74,84,36,52,106,84,253,138,33,181,108,53,225,242,219,126,175,238,135,154,43,156,245,16, +143,11,35,116,180,207,149,90,203,0,197,184,192,30,67,51,7,9,249,143,25,51,70,108,218,180,233,87,170,241,198,36,132,218,235,29,56,225,12,144,167,121,252,122,49,46,169,150,53,208,243,61,90,229,67,151,134,83,48,40,16,206,236,32,249,178,235,144,192,11,27, +242,56,216,34,212,72,217,205,18,160,253,227,249,105,172,222,23,224,229,141,121,84,151,49,233,211,135,202,4,132,166,161,132,92,186,218,22,205,237,159,57,43,45,205,0,240,192,242,54,252,203,37,101,120,86,18,125,186,100,2,82,239,123,228,185,127,120,101,25, +126,58,191,85,229,3,78,27,146,151,159,13,21,3,209,251,213,149,189,48,102,231,147,88,179,102,181,178,171,164,1,58,202,234,117,133,168,93,101,160,226,206,96,87,3,16,6,32,6,160,247,251,244,233,179,116,206,156,57,11,172,83,228,2,191,158,215,0,198,119,167, +144,111,188,46,131,14,245,53,182,105,137,181,141,27,249,188,246,251,15,52,3,187,27,52,231,19,131,156,62,196,195,240,222,82,253,231,57,182,213,113,37,249,253,202,61,51,47,0,42,168,51,176,156,225,189,35,124,244,149,175,31,57,45,137,219,158,106,193,37,19, +146,138,49,54,73,95,255,31,207,47,195,207,23,101,113,243,44,90,137,36,148,184,2,56,119,84,66,217,151,234,50,221,209,147,149,64,96,100,159,60,30,253,249,221,10,40,246,233,87,165,60,0,91,137,211,89,223,255,120,152,7,55,14,80,172,1,136,192,68,124,178,253, +131,7,15,70,109,109,237,239,234,235,235,219,52,254,213,189,240,197,154,164,51,205,161,221,19,8,242,77,48,200,153,222,17,154,128,207,214,131,66,1,56,238,140,145,167,136,160,42,34,77,198,235,4,82,166,110,123,157,192,168,62,12,219,164,45,167,132,34,73,43, +49,15,125,62,43,127,47,35,115,33,25,234,86,169,41,30,149,96,111,243,193,16,183,158,151,196,255,46,206,226,198,51,210,152,187,53,143,81,189,57,102,141,240,240,213,167,91,84,68,48,36,111,33,167,11,84,200,148,248,233,50,240,221,11,177,120,254,156,168,76, +187,84,206,255,88,84,125,103,181,132,27,227,119,143,183,230,136,24,128,180,192,144,33,67,246,204,159,63,159,26,20,168,58,34,40,198,9,93,73,7,119,107,50,8,44,142,210,217,33,93,68,164,48,100,78,198,80,55,117,70,225,95,19,246,221,44,25,133,180,5,161,245, +141,210,28,164,169,178,135,219,37,95,52,126,216,47,223,63,123,84,82,45,38,117,167,148,244,155,102,36,177,74,154,12,114,31,251,73,173,240,208,91,1,254,235,3,101,248,149,4,128,107,15,4,170,39,64,71,211,244,181,136,9,38,14,101,152,243,196,221,18,84,102, +84,63,29,153,128,174,132,125,143,87,132,208,61,166,216,4,168,248,134,180,251,180,81,123,89,46,151,123,124,231,206,157,84,239,31,53,180,187,94,68,103,165,191,91,221,64,237,211,199,191,211,154,142,231,143,241,165,100,38,116,14,128,199,209,31,110,151,129, +113,42,132,105,237,159,225,210,135,111,203,235,223,147,9,22,133,135,213,146,114,242,248,41,131,56,62,62,51,169,192,30,45,69,67,32,112,161,68,249,31,154,146,192,227,171,219,112,237,212,132,52,45,2,207,172,201,73,208,199,85,0,42,149,208,203,200,16,134, +72,167,83,24,17,108,192,130,23,158,80,15,144,30,238,241,116,239,142,38,80,100,203,187,138,187,127,169,214,143,212,255,176,97,195,178,107,214,172,249,147,60,52,229,38,145,138,221,211,98,183,240,196,71,2,153,25,250,8,51,122,149,98,244,1,133,93,97,202,194, +227,194,145,124,96,87,3,225,241,80,41,201,219,116,44,1,53,10,40,153,230,110,165,73,136,120,196,0,55,191,39,133,13,148,231,151,4,254,180,252,253,149,45,121,140,145,110,32,1,77,98,164,75,198,39,112,151,52,7,106,234,8,119,70,202,153,156,194,160,234,36,246, +45,121,4,91,165,48,185,174,223,241,38,124,103,63,99,99,255,46,225,233,111,114,251,40,248,147,76,38,80,94,150,158,191,97,195,134,141,208,211,198,81,204,4,197,177,128,158,137,4,178,184,162,151,220,44,187,236,11,53,100,28,108,129,146,106,91,44,226,25,117, +76,33,95,242,231,219,114,58,96,68,129,29,2,126,244,62,173,249,71,1,159,86,229,250,65,185,126,148,204,25,39,137,253,227,5,89,124,120,90,18,52,184,123,213,190,80,73,255,179,235,243,248,212,153,105,60,177,170,13,107,247,228,245,92,2,187,120,72,168,187,131, +50,121,31,163,18,181,88,240,231,223,171,253,212,154,229,246,210,31,47,105,238,234,49,197,12,64,91,99,99,163,82,255,67,135,143,196,246,125,117,47,74,19,32,74,213,19,184,94,67,103,195,193,221,131,1,226,5,189,34,73,87,67,16,168,49,20,182,254,79,68,35,255, +170,42,24,6,87,112,244,46,179,96,81,199,11,122,151,105,181,127,213,169,190,10,31,43,66,73,160,88,43,207,243,209,211,19,120,74,74,126,67,6,248,224,228,4,254,115,110,6,215,73,149,191,106,111,32,77,1,87,159,125,124,77,94,74,141,142,36,38,140,186,209,14, +137,196,8,189,202,144,219,240,56,222,92,185,74,73,190,117,253,78,180,205,47,246,4,44,3,184,129,31,98,0,90,140,123,228,25,151,98,238,130,69,13,136,23,155,40,208,30,165,64,96,143,120,1,156,199,21,65,30,143,219,195,67,103,69,143,208,168,117,138,253,151, +73,98,125,224,84,79,217,122,10,0,29,146,18,190,91,250,238,20,221,59,77,186,131,99,250,112,165,29,40,70,64,57,251,143,74,28,177,191,73,224,222,55,218,240,79,23,164,164,207,159,71,223,50,142,83,7,112,220,181,164,13,223,186,56,141,213,251,3,124,238,236, +164,82,251,84,134,54,128,34,134,249,120,197,233,164,31,226,115,55,220,163,122,5,6,247,175,86,89,181,206,128,191,227,77,248,226,207,184,27,105,36,235,250,13,234,223,23,189,166,125,24,205,47,45,228,165,113,215,225,245,2,61,86,18,22,23,115,176,104,153,119, +85,17,36,209,250,188,173,65,212,59,168,204,66,82,155,133,159,44,200,233,41,226,208,37,95,25,73,139,83,6,114,233,1,228,113,223,138,156,178,251,77,210,235,29,223,143,225,178,9,62,254,103,81,27,206,148,102,128,208,254,130,109,121,252,203,133,41,60,188,42, +143,235,166,37,148,219,248,211,5,26,24,210,178,177,180,28,44,153,29,98,40,10,37,251,169,50,140,108,152,135,197,11,230,42,194,19,248,59,154,114,239,238,136,16,186,26,128,202,187,8,252,229,178,45,152,120,230,135,112,168,122,18,173,152,209,110,109,98,169, +10,163,30,203,5,184,171,120,171,102,80,6,69,232,214,92,168,212,186,181,253,54,191,239,155,150,48,213,82,150,16,72,75,6,88,119,32,196,106,105,215,201,93,163,25,211,180,30,240,23,164,84,191,182,45,192,242,93,1,126,120,101,26,191,93,222,134,203,198,251, +42,34,72,231,25,33,61,135,239,190,156,149,174,33,195,150,131,97,84,159,96,163,135,20,73,28,51,64,96,253,227,247,160,161,169,85,181,102,147,235,231,174,187,211,217,26,255,238,208,18,110,237,31,1,63,53,247,167,34,141,161,103,125,20,155,90,57,60,214,190, +244,151,194,40,61,150,14,110,205,198,4,182,68,32,187,60,180,146,171,196,143,91,200,201,189,184,2,72,63,9,157,4,154,187,37,192,65,105,14,72,202,39,72,201,191,110,154,175,242,3,63,156,223,134,27,79,79,98,83,109,136,154,102,224,194,177,190,196,3,121,220, +112,90,2,143,173,202,97,171,36,60,49,11,229,21,104,163,60,1,73,62,5,130,82,169,36,134,181,173,197,146,87,158,82,15,141,192,95,87,64,92,119,164,131,219,99,50,106,242,204,180,74,233,159,254,30,100,6,191,15,249,108,166,228,218,163,46,232,115,193,95,15,102, +3,229,67,79,233,185,187,238,16,70,234,9,160,12,92,232,44,16,17,141,111,1,10,150,148,87,19,69,36,19,16,242,159,49,198,195,172,225,28,211,7,115,252,250,245,156,202,10,158,41,255,254,143,87,179,152,45,25,97,129,212,8,148,230,165,202,30,210,14,212,248,201, +220,233,240,230,106,20,249,27,88,157,192,129,133,143,96,203,142,189,168,146,170,159,74,190,219,171,210,61,30,53,126,93,61,134,164,159,108,63,73,62,165,125,83,82,56,38,92,112,3,118,181,149,195,103,153,118,74,240,60,85,187,96,23,140,42,88,69,164,199,10, +66,16,143,120,177,107,55,16,202,247,157,130,207,104,230,31,139,39,123,115,118,120,74,153,236,248,217,35,61,236,108,16,120,242,237,28,62,49,211,199,203,91,2,181,180,60,165,140,151,239,14,113,245,100,31,191,89,150,147,170,223,41,36,133,179,196,0,105,33, +150,192,48,190,15,139,159,127,72,253,77,182,63,30,31,215,185,218,253,163,61,174,171,26,128,108,63,185,126,227,38,76,132,63,225,253,104,205,180,154,73,40,37,164,216,247,21,241,105,163,223,105,115,51,132,61,18,9,244,61,119,217,87,237,19,14,148,174,158, +90,55,208,47,92,25,52,150,210,56,68,172,92,32,234,39,28,193,113,193,88,79,249,255,63,156,151,195,123,70,248,170,120,115,142,4,147,215,79,245,241,140,244,0,174,145,196,167,194,206,249,114,31,189,199,153,179,108,140,83,156,82,89,158,68,118,237,51,88,181, +250,109,85,236,105,193,223,145,202,181,78,164,121,176,179,129,201,245,163,35,166,94,116,61,246,243,193,82,85,7,49,39,183,99,2,136,1,72,19,88,109,96,235,4,122,132,1,108,92,159,71,75,1,80,124,30,202,37,163,127,158,23,151,120,57,229,125,17,43,16,38,163, +121,66,148,38,30,47,237,62,5,127,40,235,71,225,223,123,86,228,113,214,112,79,73,59,237,63,103,148,135,251,229,62,159,23,47,39,19,179,85,32,125,207,97,233,102,188,249,194,253,200,72,36,72,182,159,30,82,87,164,250,104,106,252,186,90,47,104,179,126,196, +4,67,7,246,69,223,153,215,163,190,41,27,47,178,209,142,9,80,89,84,163,5,44,241,233,245,72,177,128,110,234,13,100,145,20,11,51,47,144,154,56,40,68,155,42,208,10,44,30,202,4,68,19,185,84,246,80,254,71,213,61,164,238,155,164,251,184,190,38,196,127,94,145, +84,46,29,49,204,56,201,20,15,188,149,199,213,147,18,120,92,186,127,111,238,14,20,240,211,229,103,113,151,144,101,190,84,50,133,244,158,133,88,182,120,161,122,56,196,0,197,43,110,30,107,99,103,87,247,149,58,198,70,254,72,51,157,113,254,7,80,223,107,18, +88,144,61,66,220,133,71,140,96,77,0,109,244,61,123,132,1,192,10,123,253,108,0,168,138,166,132,122,14,161,13,226,183,141,159,204,9,215,210,239,59,27,66,41,241,18,220,201,207,77,27,76,141,27,66,217,252,111,95,156,196,14,249,222,184,126,28,213,41,221,50, +112,197,196,132,242,46,220,25,19,209,2,35,160,72,99,128,13,115,238,71,237,161,22,85,241,99,167,124,117,101,156,203,209,48,72,87,204,67,129,235,39,129,207,168,243,111,194,129,70,51,77,149,193,105,123,71,73,208,106,215,20,116,153,224,72,12,208,125,11,71, +242,216,213,163,209,176,94,160,123,2,252,226,134,15,27,58,54,253,131,180,38,32,237,151,90,15,87,158,234,161,66,106,233,87,36,224,163,200,223,149,19,125,233,199,11,149,82,254,27,105,255,169,164,187,78,250,255,195,171,24,158,93,31,168,168,35,55,101,99, +204,100,22,149,25,74,36,81,221,176,18,79,207,121,54,154,238,125,36,212,223,213,152,192,241,242,30,8,252,145,22,152,54,227,28,180,13,61,7,193,193,12,60,20,46,108,213,145,247,85,156,17,236,177,222,64,238,128,57,157,221,99,10,200,169,5,35,120,156,35,176, +139,69,123,158,221,199,36,1,25,134,74,162,78,149,210,79,196,220,80,43,240,200,234,0,63,95,146,83,209,192,237,245,58,49,68,227,126,41,91,120,207,27,121,21,8,242,226,117,30,226,78,35,169,97,250,148,115,236,93,242,48,182,239,220,167,10,62,138,75,190,142, +36,249,39,194,60,16,177,8,245,147,235,71,105,235,73,23,207,198,254,108,57,18,44,116,82,231,157,99,0,123,62,119,85,209,19,108,2,88,100,127,93,127,60,20,122,98,184,2,129,102,81,167,104,229,79,196,136,221,142,149,125,80,218,120,122,221,38,221,191,62,18, +0,190,185,87,224,110,73,236,203,79,241,48,84,154,130,151,54,6,248,214,139,57,117,140,154,63,204,11,207,163,34,107,60,129,126,109,59,177,236,229,199,84,53,16,169,127,171,26,59,51,190,237,68,154,7,178,253,20,254,29,55,126,28,82,147,174,66,75,107,166,160, +89,214,230,88,58,27,139,233,209,178,112,75,9,59,164,217,50,131,69,234,194,52,120,234,234,28,179,66,152,29,49,15,29,25,60,115,24,87,245,252,148,24,162,247,79,29,192,240,169,25,62,250,72,32,248,227,5,57,229,81,16,14,88,185,55,84,169,102,59,129,52,114,149, +228,249,43,202,61,180,174,124,26,235,215,173,87,160,136,198,178,211,67,38,16,72,89,64,91,110,213,209,56,247,227,105,30,218,11,11,211,61,17,3,208,207,149,215,124,4,153,202,161,64,163,1,0,118,65,204,35,106,222,35,175,90,114,130,74,194,156,11,168,21,216, +117,146,67,45,29,143,120,176,147,5,106,182,68,204,142,124,97,134,1,102,74,6,160,194,15,170,8,62,67,130,192,235,39,123,216,211,40,240,150,36,248,156,173,161,82,149,228,42,146,244,43,9,17,44,154,49,168,6,79,72,73,31,148,104,198,242,151,255,160,92,191,84, +90,55,85,18,19,208,56,118,138,2,18,30,176,243,122,221,53,121,219,35,118,41,102,56,82,223,255,145,246,91,215,143,76,64,223,62,213,184,113,246,77,248,229,214,0,241,98,102,113,17,75,71,132,63,26,70,232,158,116,176,233,254,161,236,107,96,87,245,52,222,64, +162,104,253,2,235,17,68,157,65,74,19,8,52,102,117,246,144,194,193,255,126,113,66,117,239,126,127,110,30,131,122,1,7,90,226,136,33,225,10,143,199,225,99,120,238,44,1,15,141,111,60,138,149,43,94,87,43,125,20,171,95,122,232,180,217,225,205,238,56,247,163, +209,10,71,59,20,202,14,119,164,247,207,189,232,10,76,158,118,42,252,45,45,138,153,225,199,106,159,185,81,173,118,24,161,163,194,211,19,151,14,142,252,211,162,12,161,49,1,190,9,105,6,65,140,212,99,187,77,49,123,134,97,210,198,143,172,214,39,216,120,80, +96,233,206,0,187,26,67,41,253,26,75,164,205,234,35,142,27,17,205,250,215,113,4,142,1,233,60,54,45,122,12,117,13,77,72,166,203,218,245,159,41,232,66,139,54,213,214,214,42,144,72,90,225,68,153,7,186,6,169,126,114,255,42,210,62,198,93,120,19,26,36,243,39, +184,147,81,141,135,169,149,140,4,186,61,5,197,141,38,61,162,1,152,177,253,122,122,151,30,214,104,129,93,50,90,188,201,230,1,116,13,0,156,185,127,116,220,204,161,76,117,248,44,216,30,226,87,203,2,85,36,66,57,1,238,182,157,133,133,88,67,251,124,102,50, +156,159,64,197,193,215,177,254,205,69,224,126,226,136,128,201,78,224,36,211,80,95,95,175,204,3,105,5,219,34,222,93,230,129,126,232,122,116,237,201,103,158,141,214,161,231,163,94,226,158,202,20,143,38,159,219,133,79,24,43,237,13,184,12,80,74,242,59,98, +132,110,211,0,209,58,63,209,80,7,61,37,60,90,242,181,56,114,232,233,79,82,252,255,146,177,12,31,153,238,225,215,146,240,127,94,175,83,187,21,9,235,89,152,47,25,162,112,89,56,7,125,210,91,85,41,96,207,139,15,97,231,158,125,240,18,233,46,33,231,98,243, +64,166,129,152,225,120,155,7,218,103,93,63,18,140,201,23,223,128,154,160,18,101,94,168,34,166,110,206,180,35,4,104,207,231,150,146,217,253,61,179,102,144,113,249,168,194,202,119,66,191,161,169,197,183,35,100,162,153,62,110,225,136,42,2,101,120,99,119, +168,84,191,45,225,182,196,38,192,24,132,186,159,192,43,92,2,56,10,60,209,186,190,229,45,187,240,250,107,207,72,213,233,29,54,54,165,83,56,198,49,15,251,246,237,83,230,129,92,72,98,4,74,36,117,214,60,116,196,12,116,14,178,253,116,141,9,99,71,163,98,234, +95,99,127,107,155,20,2,63,90,230,94,8,7,1,116,48,95,184,148,9,232,49,47,128,174,159,78,234,178,46,22,207,121,86,146,153,244,96,34,118,122,13,62,33,226,53,125,212,36,80,249,220,151,237,18,88,181,95,127,153,164,23,191,15,196,99,229,34,73,11,163,53,98,34, +96,168,178,141,7,182,98,223,238,157,82,2,252,35,218,235,206,152,7,34,182,53,15,196,0,132,19,58,99,30,58,194,3,145,235,39,247,79,59,255,26,212,167,71,74,238,111,150,130,226,43,176,28,173,146,238,226,168,78,106,128,246,204,193,9,211,0,34,90,216,65,152, +229,227,98,2,169,210,236,104,76,140,48,203,187,26,208,200,116,243,70,24,198,147,195,67,179,192,148,85,247,133,90,205,204,29,52,46,164,213,2,34,159,65,174,196,188,220,174,44,232,108,147,69,54,162,102,143,39,149,173,138,53,140,121,160,205,14,145,238,172, +121,32,233,183,57,255,129,253,42,49,232,172,143,98,71,107,104,39,219,74,179,199,17,173,166,44,58,54,1,246,62,221,49,49,157,101,248,238,171,9,52,4,165,24,128,142,102,233,254,63,234,233,203,230,116,125,159,111,214,6,212,31,18,81,32,40,10,231,194,229,254, +104,1,130,130,53,132,237,210,241,204,174,248,197,204,114,50,229,253,245,250,123,205,117,237,38,68,58,122,72,4,202,72,194,105,173,94,146,84,146,124,194,4,110,185,181,107,30,232,88,50,15,116,77,183,193,163,189,235,90,215,143,174,51,101,214,197,200,244, +63,67,2,143,76,20,49,77,219,1,154,44,158,153,200,186,128,1,220,54,177,19,31,10,70,76,43,238,204,251,201,25,251,77,18,172,87,17,119,241,141,118,1,184,237,40,118,24,159,51,119,80,148,93,108,42,126,175,208,27,212,217,160,176,239,4,140,153,56,13,249,92,91, +167,212,188,43,53,244,32,201,222,79,153,50,69,5,137,236,42,94,118,46,159,11,226,172,121,32,6,217,182,109,27,182,110,221,170,76,5,17,182,189,144,51,237,35,13,66,174,95,47,137,246,198,94,48,27,245,185,4,173,79,162,190,51,53,194,132,174,202,23,49,80,42, +69,79,59,57,164,212,235,17,177,78,119,17,159,179,194,197,190,149,251,38,116,85,46,227,113,107,88,60,24,26,209,90,131,156,199,235,254,57,117,34,113,243,104,36,241,206,36,49,163,13,132,26,16,30,160,145,149,99,202,21,159,70,223,202,180,146,224,174,216,124, +218,198,140,25,19,13,107,160,229,219,105,141,94,59,48,178,120,25,22,55,243,70,132,221,181,107,151,26,51,71,177,5,210,18,165,18,51,196,36,116,95,19,166,156,6,127,220,37,200,211,113,76,175,81,100,35,166,5,161,117,39,80,86,74,3,184,68,119,87,18,235,17,13, +192,29,180,226,46,249,170,236,187,167,129,160,82,131,96,69,223,212,153,20,202,28,34,23,5,147,224,6,154,204,206,104,137,25,115,190,64,62,197,252,164,107,113,229,39,190,130,114,63,68,214,89,163,239,72,241,116,178,231,20,8,82,193,25,169,210,55,110,220,136, +154,154,26,140,31,63,62,106,222,236,200,123,160,141,136,187,127,255,126,197,8,59,118,236,136,204,7,85,233,144,22,161,191,201,245,155,116,193,71,80,207,251,192,67,62,50,125,9,219,203,232,44,126,121,36,12,80,44,249,157,45,14,237,62,12,96,26,67,116,49,136, +110,12,33,155,79,161,91,59,52,66,8,68,171,129,195,44,5,19,161,94,225,158,203,174,29,40,74,170,65,59,76,90,8,235,76,106,164,121,40,195,80,125,217,55,241,145,190,195,177,232,225,59,176,113,195,90,53,90,38,145,76,117,88,40,161,6,71,72,34,217,169,219,164, +254,237,108,158,206,186,89,174,121,32,91,79,128,143,152,138,250,16,72,75,208,249,70,143,24,134,222,167,127,24,187,179,121,216,53,46,237,153,117,77,67,108,3,98,161,40,125,191,118,144,148,59,80,162,51,109,226,221,150,12,42,6,112,100,141,40,151,79,121,124, +50,3,176,90,212,13,24,89,98,154,101,100,66,103,53,81,187,10,152,25,61,29,77,19,205,25,15,67,229,30,130,120,173,98,117,14,249,64,106,154,57,210,103,252,29,46,158,250,65,156,190,226,9,172,121,249,247,120,123,197,98,52,171,110,219,100,201,53,0,72,122,73, +69,211,15,1,188,129,3,7,42,245,79,210,236,2,172,174,6,151,72,163,208,166,204,133,100,140,241,239,189,10,181,229,227,209,214,212,170,132,133,26,105,201,254,147,144,88,65,113,158,74,187,105,0,87,242,139,23,169,236,97,13,160,147,65,189,211,192,8,233,37, +81,34,103,108,95,134,153,67,117,235,55,103,58,52,204,245,10,173,202,246,209,23,39,41,165,176,111,117,90,191,71,251,41,60,236,153,115,214,103,153,170,19,172,107,1,70,247,134,234,3,216,121,72,160,95,153,252,76,74,187,133,53,45,58,116,76,15,177,78,114,221, +222,150,193,56,237,234,191,199,37,31,250,24,176,117,14,22,60,117,63,158,125,238,121,236,222,179,79,161,209,68,162,176,130,150,236,55,33,123,2,119,59,119,238,140,2,63,116,140,173,182,61,218,224,18,17,171,79,117,5,174,190,126,54,248,24,249,125,179,158, +154,92,74,197,50,116,191,253,203,153,26,114,49,184,146,169,57,198,54,120,214,158,29,112,109,126,87,102,4,118,163,6,208,85,189,118,113,40,234,202,153,212,31,152,54,16,24,86,9,220,52,93,175,30,110,251,3,168,65,211,141,233,83,180,143,36,161,182,213,44,247, +26,106,236,64,65,162,131,25,201,72,1,69,8,185,34,250,21,227,57,214,28,208,171,128,95,55,89,35,203,182,64,171,207,218,22,29,124,162,89,128,243,183,75,21,41,63,59,117,124,26,3,78,189,28,239,185,240,114,92,52,123,21,158,253,211,131,88,246,210,99,216,178, +113,173,74,25,39,146,233,200,134,219,24,189,85,167,182,254,190,84,178,165,43,204,144,147,234,127,242,121,23,97,252,233,103,203,207,169,126,105,148,249,186,35,154,24,151,74,221,166,13,242,212,51,156,179,53,175,150,217,225,172,99,55,208,53,1,174,134,234, +49,13,160,2,56,166,130,101,79,147,192,214,6,96,217,30,96,246,52,224,174,101,66,197,3,108,123,120,16,90,59,39,162,47,169,6,65,134,133,46,165,48,237,221,220,68,75,8,76,46,221,21,68,41,97,234,8,14,109,10,218,104,14,235,145,216,161,18,43,246,230,213,117, +232,74,201,228,84,164,223,63,21,151,94,240,121,52,173,122,26,235,94,145,230,225,141,69,168,59,212,12,47,145,140,164,182,212,50,177,93,137,41,20,19,171,151,116,242,199,156,119,35,238,92,238,33,215,218,106,190,187,150,126,154,116,246,141,139,25,230,73, +194,47,216,26,42,77,233,243,142,243,1,238,84,81,119,60,92,71,177,136,19,130,1,108,98,134,190,28,5,54,8,221,82,0,136,120,222,170,181,164,175,135,74,133,65,92,61,4,211,200,73,239,137,130,44,168,19,236,49,218,131,152,135,206,75,233,211,182,128,41,243,225, +113,17,237,87,56,193,92,139,122,4,233,119,29,143,160,89,131,57,181,175,153,15,70,114,230,205,56,99,230,141,56,125,219,60,172,127,229,1,172,152,255,172,50,3,62,153,135,78,52,88,116,150,17,242,242,154,163,198,140,69,98,252,37,72,72,233,167,238,104,91,5, +109,61,38,98,88,234,161,244,61,59,207,136,21,38,134,58,96,128,226,22,241,30,209,0,238,53,163,85,187,13,160,83,245,0,81,37,80,156,16,242,60,91,14,102,230,255,211,205,187,57,112,131,17,60,238,156,84,30,115,213,68,142,42,41,37,143,175,13,21,193,175,159, +194,49,190,159,150,164,63,172,12,177,171,81,224,125,35,104,201,90,96,173,52,21,131,123,209,64,73,134,83,251,235,193,17,79,173,11,209,148,205,33,47,205,67,45,75,34,28,118,41,174,255,198,165,184,61,185,6,143,63,250,48,30,126,248,97,172,95,187,6,45,242, +96,210,4,157,5,128,237,153,7,30,6,152,116,209,223,160,181,124,8,88,182,205,228,55,140,7,99,52,33,21,184,86,166,76,50,40,140,195,128,237,217,118,23,4,22,15,138,236,49,19,80,252,234,25,247,46,48,37,78,228,18,134,54,108,235,100,242,108,125,136,103,10,75, +221,101,64,252,162,0,83,115,94,75,207,192,10,137,11,42,24,110,158,193,84,218,120,206,86,77,244,201,3,24,182,214,67,190,114,140,168,22,18,131,48,188,111,36,83,85,198,125,203,244,74,230,143,173,118,25,42,64,166,37,192,184,106,31,3,135,78,130,127,233,55, +113,225,228,207,226,156,117,127,198,214,185,15,96,241,162,5,168,107,144,230,193,79,192,79,36,186,228,9,40,219,47,113,197,144,193,131,48,248,172,27,112,48,136,195,214,214,255,167,81,138,76,126,39,178,249,253,43,76,87,19,47,93,108,211,145,9,232,249,92, +0,92,23,38,214,10,161,67,104,59,61,36,78,18,137,8,15,184,171,126,193,241,133,73,75,216,42,98,83,45,133,225,85,18,92,14,98,170,99,104,189,36,236,253,111,5,216,125,8,106,56,196,32,137,164,251,148,9,76,232,167,91,197,159,94,47,240,31,115,67,85,92,242,153, +89,28,15,174,18,42,99,153,52,235,14,81,9,249,223,203,253,253,203,129,175,60,157,83,147,77,153,55,0,179,46,249,56,110,184,225,6,252,238,79,243,176,127,209,3,88,185,224,25,236,220,181,91,85,29,81,76,161,179,230,33,148,12,112,234,89,151,35,215,127,18,88, +115,174,160,192,67,56,9,31,26,135,147,246,99,215,175,32,139,216,9,16,232,78,11,233,25,19,128,40,182,83,72,112,179,49,55,146,23,125,9,179,20,156,39,14,51,33,182,121,212,77,246,216,26,64,82,251,187,27,129,175,191,20,42,48,56,93,50,195,23,222,163,135,72, +255,105,93,160,212,252,67,171,133,234,37,216,92,71,45,101,12,183,94,196,241,218,78,129,45,117,194,20,94,232,248,196,229,210,163,152,40,205,195,247,230,6,242,111,34,2,169,211,28,254,106,132,135,71,222,246,80,59,228,98,12,189,233,98,140,189,114,45,106, +94,127,4,171,94,125,4,171,87,175,146,146,45,109,121,42,213,97,241,69,46,215,134,129,253,171,48,230,146,191,67,67,142,21,44,114,41,156,106,102,102,134,98,133,194,93,12,131,65,116,16,10,44,165,1,220,81,51,61,134,1,162,2,141,48,238,215,163,117,251,242,161, +51,34,222,9,1,155,244,87,180,82,184,13,239,186,76,100,83,164,158,167,61,137,29,13,68,84,40,149,127,138,148,244,247,14,99,88,40,137,251,139,229,161,196,1,76,37,88,246,54,106,237,114,222,40,134,191,145,24,225,165,45,33,158,89,111,151,176,211,61,139,83, +164,121,184,96,180,38,126,83,155,6,160,52,101,228,230,153,92,49,202,250,3,33,198,245,9,177,95,186,150,135,42,78,69,217,165,223,192,197,23,124,6,127,91,243,28,158,126,244,126,44,95,60,31,181,245,141,170,252,140,220,197,40,177,68,213,208,217,12,170,202, +124,124,224,19,255,140,220,240,115,33,90,219,34,83,23,229,53,194,56,165,29,56,191,187,130,192,57,235,20,3,184,217,200,30,139,4,70,18,46,16,125,41,2,128,36,177,145,4,195,233,36,62,172,247,205,73,19,115,253,121,238,48,151,125,24,244,133,105,246,207,181, +147,24,14,73,194,221,254,90,136,77,117,177,23,145,145,146,60,178,55,147,224,144,73,156,0,133,15,158,219,232,172,94,102,18,44,103,13,103,120,82,2,66,42,200,84,158,129,60,215,236,211,184,158,56,186,42,84,106,249,214,115,60,220,187,34,192,146,157,82,125, +83,208,138,245,199,45,55,222,136,212,233,31,193,232,197,11,176,247,181,7,176,74,154,135,61,187,119,161,45,175,23,198,73,75,183,103,210,180,169,56,235,186,47,65,156,246,183,168,207,4,202,75,137,38,169,137,56,43,163,108,126,160,155,103,120,39,74,193,220, +212,53,225,11,187,100,156,101,130,30,205,5,184,230,192,206,232,9,77,200,150,51,167,158,19,133,221,67,197,127,243,8,9,196,160,194,93,40,154,206,247,118,13,147,182,63,212,195,39,160,3,79,42,95,19,53,165,2,139,164,86,88,181,15,56,127,20,240,175,23,112,204, +221,38,240,170,100,6,170,189,36,47,98,231,33,58,38,142,195,127,96,2,199,100,169,21,126,48,47,40,232,105,188,118,138,167,226,13,180,8,38,3,85,244,248,216,219,226,161,110,232,5,24,114,195,5,24,253,254,13,56,180,105,1,90,14,108,147,232,222,67,213,80,169, +45,198,159,135,186,196,32,100,165,170,241,76,245,171,45,98,117,153,192,98,2,250,83,66,132,195,138,65,218,227,5,59,19,192,157,49,236,174,49,220,115,185,0,215,254,67,23,131,112,152,97,77,1,162,165,97,153,195,45,78,234,91,29,155,15,227,204,152,70,203,113, +66,136,36,117,76,111,10,52,209,144,73,166,98,12,76,119,82,40,47,195,125,104,244,186,98,175,192,234,3,90,218,201,20,140,148,158,193,2,201,8,45,210,71,189,116,28,151,15,61,196,48,233,127,79,29,164,53,192,127,47,10,149,121,32,134,202,72,130,252,113,77,40, +193,163,135,239,94,234,225,237,3,122,157,3,114,41,61,154,133,147,19,104,148,247,208,88,49,1,254,140,9,232,101,152,81,58,21,82,51,73,66,103,218,162,26,198,120,142,98,188,131,57,46,175,180,22,42,188,109,171,130,25,43,157,13,181,63,35,71,142,196,196,137, +19,143,138,78,221,194,0,170,228,203,72,123,104,107,254,88,97,116,47,26,7,227,160,96,215,37,180,238,158,199,75,152,6,85,39,47,212,131,26,89,173,25,96,66,95,45,185,251,154,89,36,173,194,204,36,166,124,1,117,25,83,110,128,84,255,210,221,4,8,41,116,204,48, +75,98,134,71,223,22,120,69,226,130,75,199,49,108,151,152,226,153,13,66,245,33,230,140,135,64,249,138,64,190,206,149,26,163,65,114,49,225,5,106,79,27,85,205,240,198,30,33,175,105,170,155,84,65,67,14,212,206,31,56,120,200,51,75,230,21,214,51,148,10,155, +233,251,37,48,75,195,52,108,189,132,93,37,13,96,199,157,86,221,214,25,100,19,65,214,206,19,35,208,172,190,134,108,97,145,135,219,20,98,61,7,70,32,200,59,172,84,160,224,23,50,13,4,40,95,222,170,37,241,96,107,28,242,141,207,207,20,202,127,114,157,246,28, +146,230,219,150,169,101,98,128,95,44,211,101,104,20,123,127,97,139,192,203,91,132,46,88,49,73,42,21,137,148,15,62,19,232,110,37,250,155,24,131,136,110,131,90,246,251,250,110,58,154,29,110,18,131,32,6,183,5,90,146,69,147,117,149,70,160,115,145,250,7,43, +44,2,101,172,123,52,117,183,185,129,197,21,172,150,17,90,109,61,64,145,183,0,81,88,12,226,82,95,20,121,24,246,92,100,2,158,219,100,75,206,237,66,20,142,251,104,164,239,96,134,25,130,197,129,23,139,69,34,59,106,254,240,141,27,42,10,43,177,212,55,224,38, +156,172,203,181,29,204,130,248,59,69,125,16,118,165,84,203,224,60,174,142,17,37,66,58,110,249,27,181,197,213,181,22,245,79,176,238,97,130,110,5,129,66,196,160,38,107,212,41,169,224,166,92,81,169,24,43,196,0,118,102,16,197,247,125,103,220,139,13,18,209, +62,215,156,248,102,192,164,125,159,152,129,222,242,162,200,163,126,37,41,228,44,198,9,188,104,70,81,32,28,55,211,20,169,194,152,46,59,243,32,52,173,107,244,86,202,215,141,44,150,105,173,167,66,117,9,9,47,94,229,148,198,211,217,65,149,22,15,209,117,232, +188,164,189,172,230,18,76,167,194,109,23,85,70,186,177,101,94,97,158,224,29,193,0,174,118,167,47,78,238,23,165,131,7,148,235,215,47,206,138,211,187,54,145,99,137,217,22,232,34,15,122,0,182,102,192,22,123,180,25,38,162,185,193,117,38,85,188,166,150,108, +58,208,191,12,248,212,25,250,156,205,242,193,205,217,6,44,151,170,250,140,193,58,78,208,39,197,36,176,210,215,77,152,220,106,20,1,12,245,57,91,115,49,65,245,144,73,253,126,75,62,46,58,161,193,148,196,40,91,235,5,22,237,0,62,56,145,225,189,195,245,36, +84,107,222,214,213,8,60,185,54,84,223,233,140,161,18,103,12,229,42,48,149,54,107,21,216,185,201,164,13,235,91,117,107,28,1,77,250,62,52,252,122,88,149,78,106,81,138,123,201,206,208,48,5,235,14,250,119,19,8,20,174,173,214,95,114,109,141,220,47,9,81,151, +209,221,189,4,116,8,19,216,37,96,114,97,92,253,75,15,154,30,14,61,236,172,169,43,32,111,198,54,76,54,153,66,95,229,175,231,180,244,16,225,22,239,210,175,116,141,154,22,253,208,8,173,239,107,22,210,91,16,202,29,204,5,58,107,152,55,177,234,140,209,70,9, +103,90,41,61,240,253,205,194,4,100,244,84,147,164,7,179,200,148,14,32,181,153,84,243,166,131,148,232,162,85,206,244,181,213,68,116,115,191,20,205,93,189,95,40,162,142,237,163,223,167,40,159,77,127,211,121,233,186,196,236,20,255,167,207,17,246,152,58, +72,107,51,154,141,96,65,52,227,246,249,176,147,159,1,184,227,234,168,48,168,208,225,90,42,240,32,105,154,191,93,171,109,55,95,192,156,9,161,81,176,135,21,206,29,182,118,214,186,83,68,204,132,153,59,76,190,250,139,91,226,182,51,91,61,68,207,122,111,19, +83,126,126,88,208,66,117,184,107,165,102,11,56,245,3,182,44,141,57,73,43,139,55,96,152,102,109,173,192,170,3,113,87,50,51,86,222,247,98,143,70,69,18,107,69,145,217,23,209,125,196,196,213,204,215,106,86,86,123,107,175,80,9,43,23,19,57,240,228,164,99,0, +129,66,76,23,215,5,26,196,76,28,254,230,94,173,218,209,14,208,139,218,161,75,164,149,61,94,240,32,76,117,113,92,244,65,110,94,113,65,169,77,33,123,60,118,33,97,186,149,14,243,46,139,122,176,237,66,87,238,250,7,202,20,56,190,107,210,84,57,139,2,92,23, +3,189,40,5,110,202,223,195,176,48,201,37,156,142,39,133,123,164,150,218,113,72,227,15,26,171,43,92,180,92,8,172,197,113,19,214,227,204,4,194,29,213,198,28,223,94,152,248,64,65,24,83,20,122,9,174,100,218,232,161,219,39,239,158,151,59,175,110,1,169,112, +104,237,243,88,115,68,253,5,208,211,68,93,36,111,179,140,140,89,2,178,130,101,141,89,209,53,133,136,67,119,12,177,43,87,224,173,58,73,156,40,184,197,11,219,188,237,208,7,230,132,63,221,72,169,189,130,147,113,20,39,163,9,112,11,119,130,68,186,50,149,146, +192,47,231,21,114,61,99,69,18,78,251,72,141,251,113,8,150,54,237,127,235,155,179,174,97,201,142,24,211,72,226,123,165,19,82,246,122,182,226,166,216,229,10,109,99,9,143,239,201,74,123,232,192,110,55,33,229,106,160,194,115,21,206,37,118,93,214,195,92,94, +86,186,120,198,213,34,162,196,119,161,198,23,51,235,32,56,25,77,64,104,110,44,191,254,149,123,95,216,183,118,244,142,124,46,160,174,126,95,34,120,5,98,109,81,8,67,137,218,126,86,172,70,11,19,69,16,69,68,116,8,86,42,220,45,68,161,59,90,236,67,187,9,40, +33,14,55,73,165,43,156,196,97,166,45,54,31,174,6,19,37,69,68,160,253,62,79,33,10,3,93,154,121,84,123,184,226,115,206,89,27,243,18,173,77,7,182,237,181,202,243,120,104,131,227,169,1,108,181,127,110,249,131,223,189,87,190,210,52,70,90,135,173,204,184,228, +221,58,153,252,47,248,135,8,77,14,102,147,220,106,205,107,96,182,240,88,153,192,63,78,196,23,230,134,200,65,107,54,231,77,152,27,108,54,12,192,222,165,229,81,63,91,10,14,83,249,112,198,60,207,140,17,182,147,74,3,184,12,16,154,155,76,153,107,176,119,25, +224,152,76,107,104,158,109,198,97,132,60,10,179,234,39,5,6,200,25,102,200,155,155,180,243,59,223,37,254,177,107,129,188,17,178,156,217,2,28,135,152,192,241,246,2,130,34,109,224,74,254,187,76,112,244,207,21,142,189,63,46,182,255,184,48,128,237,73,43,193, +4,97,9,162,191,203,0,199,198,0,162,157,87,213,105,220,35,12,64,131,146,62,249,201,79,186,117,103,130,86,133,76,84,14,16,185,67,123,223,37,252,241,103,134,146,206,234,228,201,147,143,250,164,172,171,29,174,239,254,252,101,253,188,235,155,255,31,255,249, +255,2,12,0,235,154,52,248,249,240,115,28,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; + +const char* projectIconXcodeIOS_png = (const char*) temp_binary_data_36; + +//================== projucer_EULA.txt ================== +static const unsigned char temp_binary_data_37[] = +"IMPORTANT NOTICE: PLEASE READ CAREFULLY BEFORE INSTALLING THE SOFTWARE:\r\n" +"\r\n" +"This licence agreement (Licence) is a legal agreement between you (Licensee or you) and Raw Material Software Limited (Licensor, us or we) for:\r\n" +" - The Projucer software and the associated media and, save where expressly specified through subsequent licence terms notified to you in writing, any and all new releases, derivatives of and updates thereto supplied by us to you for a period of one " +"(1) month from the date of your installation of the software (the Software);\r\n" +" - printed materials and online and electronic documentation (Documentation).\r\n" +"\r\n" +"The Software is comprised of numerous components that may be licensed under separate licence terms. The Software is a collective work of the Licensor and we licence the use of the Software and Documentation to you on the basis of this Licence and any" +" applicable licence terms for any third party software components which make up the Software. Where you deal with a copy of any software component independent from the Software, you must remove all our trade marks, trade dress and logos from that cop" +"y. \r\n" +"We do not sell the Software or Documentation to you. We and/or our licensors remain the owners of the Software and Documentation at all times. If you are accepting the terms of this Licence on behalf of a company or other legal entity, you represent " +"and warrant that you have the authority to bind that company or other legal entity to the terms of this Licence and, in such event, you and Licensee will refer to that company or other legal entity. \r\n" +"The Software may be downloaded from the Licensor website - www.juce.com (the Website). \r\n" +"OPERATING SYSTEM REQUIREMENTS: The Software requires a Windows or MAC OS X operating system. \r\n" +"\r\n" +"IMPORTANT NOTICE TO ALL USERS: \r\n" +"\r\n" +"BY CLICKING ON THE \"ACCEPT\" BUTTON BELOW YOU AGREE TO THE TERMS OF THIS LICENCE WHICH WILL BIND YOU AND YOUR EMPLOYEES. \r\n" +"\r\n" +"IF YOU DO NOT AGREE TO THE TERMS OF THIS LICENCE, WE WILL NOT LICENSE THE SOFTWARE AND DOCUMENTATION TO YOU AND YOU MUST DISCONTINUE THE INSTALLATION PROCESS.\r\n" +"\r\n" +"\r\n" +"You should print a copy of this Licence for future reference.\r\n" +"\r\n" +" 1. Grant and scope of licence\r\n" +" 1.1. In consideration of you agreeing to abide by the terms of this Licence the Licensor hereby grants to you a non-exclusive, non-transferable licence to use the Software and the Documentation on the terms of this Licence.\r\n" +" 1.2. You may: \r\n" +"\t (a) install and use the Software for your internal business purposes on one central processing unit (CPU) per single user licence granted through this Licence;\r\n" +"\t (b) provided it is used on only one computer at any one time, transfer the Software from one computer to another;\r\n" +"\t (c) provided you comply with the provisions in clause 2, make a single copy of the Software for back-up purposes, provided that you reproduce on it all copyright and other proprietary notices that are on the original copy of the Software;\r\n" +"\t (d) receive and use any free supplementary software code or update of the Software incorporating \"patches\", corrections of errors and software updates as may be provided by the Licensor from time to time;\r\n" +"\t (e) use any Documentation in support of the use permitted under condition 1.2 and make a single copy of the Documentation as is reasonably necessary for its lawful use.\r\n" +"\r\n" +" 2. Restrictions\r\n" +" Except as expressly set out in this Licence or as permitted by any local law, you undertake: \r\n" +"\t (a) not, in whole or in part, to copy the Software or Documentation except where such copying is incidental to normal use of the Software or where it is necessary for the purpose of back-up or operational security;\r\n" +"\t (b) not to rent, lease, sub-license, loan, translate, merge, adapt, vary or modify the Software or Documentation;\r\n" +"\t (c) not to make alterations to, or modifications of, the whole or any part of the Software nor permit the Software or any part of it to be combined with, or become incorporated in, any other programs;\r\n" +"\t (d) not to disassemble, de-compile, reverse engineer or create derivative works based on the whole or any part of the Software nor attempt to do any such things except to the extent that (by virtue of section 296A of the Copyright, Designs and" +" Patents Act 1988) such actions cannot be prohibited because they are essential for the purpose of achieving inter-operability of the Software with another software program, and provided that the information obtained by you during such activities:\r\n" +"\t\t (i) is used only for the purpose of achieving inter-operability of the Software with another software program;\r\n" +"\t\t (ii) is not disclosed or communicated without the Licensor's prior written consent to any third party to whom it is not necessary to disclose or communicate it; and\r\n" +"\t\t (iii) is not used to create any software which is substantially similar to the Software;\r\n" +"\t (e) to keep all copies of the Software secure and to maintain accurate and up-to-date records of the number and locations of all copies of the Software;\r\n" +"\t (f) not to provide, or otherwise make available, the Software in any form, in whole or in part (including, but not limited to, program listings, object and source program listings, object code and source code) to any person other than your emp" +"loyees without prior written consent from us;\r\n" +"\t (g) to comply with all applicable technology control or export laws and regulations.\r\n" +"\t (h) to supervise and control use of the Software and ensure that the Software is used by your employees and representatives in accordance with the terms of this Licence;\r\n" +"\t (i) not to charge or otherwise deal in the Software or any part or interest therein except as expressly provided herein;\r\n" +"\t (j) not to use the Software for any illegal or immoral purposes;\r\n" +"\t (k) not otherwise use, copy, transfer or distribute the Software or part of it, except as expressly permitted by this Licence, in any manner which is inconsistent with this Licence.\r\n" +"\r\n" +" 1. Fee\r\n" +" 1.1. You may install and use a limited version of the Software (Demo Mode) as a free trial for a period of 30 days.\r\n" +" 1.2. Where you have purchased the JUCE 4 software on or after 1 November 2015 you shall be entitled to use the Software for free subject to your continued payment of the JUCE 4 software licence fee and the JUCE 4 licence terms.\r\n" +" 1.3. Save as set out above, your right to use the Software shall be subject to payment of the Projucer Software licence fee. \r\n" +" 1.4. Where you have purchased a perpetual licence you agree to pay the licence fee as notified to you on the Website at the time you purchase the Licence. \r\n" +" 1.5. Where you have purchased an educational licence the fee shall be the fee as notified to you on the Website at the time you purchase the Licence and shall be payable for each academic year from the first day of the first full calendar month a" +"fter the grant of the Licence and thereafter on the anniversary of that initial payment date. \r\n" +"\r\n" +" 1. Intellectual property rights\r\n" +" 1.1. You acknowledge that all intellectual property rights in the Software and the Documentation and all copies thereof throughout the world belong to us, that rights in the Software are licensed (not sold) to you, and that you have no rights in," +" or to, the Software or the Documentation other than the right to use them in accordance with the terms of this Licence.\r\n" +" 1.2. You acknowledge that you have no right to have access to the Software in source code form or in unlocked coding or with comments.\r\n" +" 1.3. The Software may contain certain third party licensed materials and our licensors may act to protect their rights in the event of any violation of this Licence.\r\n" +"\r\n" +" 2. Limited warranty\r\n" +" 2.1. We warrant that, save as already set out above in relation to component parts of the Software, we own the Software and have the right to convey this Licence.\r\n" +" 2.2. We shall have no obligation to provide support and maintenance services to you. You may participate in our online support forum in accordance with our forum policies in place from time to time. \r\n" +" 2.3. We do not warrant that your use of the Software will be uninterrupted or error free. \r\n" +"\r\n" +" 3. Limitation of liability \r\n" +" 3.1. You acknowledge that the Software has not been developed to meet your individual requirements, and that it is therefore your responsibility to ensure that the facilities and functions of the Software as described in the Documentation meet yo" +"ur requirements.\r\n" +" 3.2. Without prejudice to clause 5.4 below, you acknowledge that the Software is not designed or intended for use with on-line control equipment in hazardous environments requiring fail safe performance, such as in the operation of nuclear facili" +"ties, aircraft navigation, communication, or control systems, direct life support machines, weapons systems, or other uses in which failure of the Software could lead directly to death, personal injury or severe physical or environmental damage. \r\n" +" 3.3. Neither the Licensor nor its parent company, subsidiaries or employees shall in any circumstances whatsoever be liable to you, whether in contract, tort (including negligence), breach of statutory duty, or otherwise, arising under or in conn" +"ection with this Licence for any indirect, consequential or special loss or damage, including but not limited to, for:\r\n" +"\t (a) loss of profits, sales, business, or revenue;\r\n" +"\t (b) business interruption;\r\n" +"\t (c) loss of anticipated savings;\r\n" +"\t (d) loss or corruption of data or information;\r\n" +"\t (e) loss of business opportunity, goodwill or reputation; \r\n" +"\t (f) any indirect or consequential loss or damage; or\r\n" +"\t (g) any computer failure or malfunction, corruption to or loss of data or files, or any and all other commercial damage or loss. \r\n" +" 3.4. Nothing in this Licence shall limit or exclude our liability for:\r\n" +"\t (a) death or personal injury resulting from our negligence;\r\n" +"\t (b) fraud or fraudulent misrepresentation;\r\n" +"\t (c) any other liability that cannot be excluded or limited by English law.\r\n" +" 3.5. This Licence sets out the full extent of our obligations and liabilities in respect of the supply of the Software and Documentation. Except as expressly stated in this Licence, there are no conditions, warranties, representations or other te" +"rms, express or implied, that are binding on us. Any condition, warranty, representation or other term concerning the supply of the Software and Documentation which might otherwise be implied into, or incorporated in, this Licence whether by statute" +", common law or otherwise, is excluded to the fullest extent permitted by law.\r\n" +" 3.6. Subject to clause 5.2 and 5.3, our maximum aggregate liability under or in connection with this Licence whether in contract, tort (including negligence) or otherwise, shall in all circumstances be limited to a sum equal to $49. \r\n" +" 3.7. You agree to indemnify, defend and hold us and our licensors, partners, affiliates, contractors, officers, directors, employees and agents harmless from any claims, costs and expenses (including legal expenses) arising directly or indirectly" +" from your use, handling or operation of the Software otherwise than in accordance with this Agreement.\r\n" +" 3.8. This clause 5 shall survive and shall not be rendered ineffective by the termination or expiry of this agreement for whatever reason. \r\n" +" \r\n" +" 4. Termination\r\n" +" 4.1. We may terminate this Licence immediately by written notice to you if you commit a material or persistent breach of this Licence which you fail to remedy (if remediable) within 14 days after the service of written notice requiring you to do " +"so. \r\n" +" 4.2. Upon termination for any reason:\r\n" +"\t (a) all rights granted to you under this Licence shall cease;\r\n" +"\t (b) you must cease all activities authorised by this Licence;\r\n" +"\t (c) you must immediately delete or remove the Software from all computer equipment in your possession and immediately destroy or return to us (at our option) all copies of the Software then in your possession, custody or control and, in the ca" +"se of destruction, certify to us that you have done so.\r\n" +"\r\n" +" 5. Communications between us\r\n" +" 5.1. If you wish to contact us in writing, or if any condition in this Licence requires you to give us notice in writing, you can send this to us by e-mail or by pre-paid post to us at support@juce.com. We will confirm receipt of this by contacti" +"ng you in writing, normally by e-mail. \r\n" +" 5.2. If we have to contact you or give you notice in writing, we will do so by e-mail or by pre-paid post to the address you provide to us in your order for the Software.\r\n" +"\r\n" +" 6. Data\r\n" +" 6.1. We may collect and process information about your use of or Software through the Software, some of which may amount to your personal data. Personal data will be collected and processed in accordance with our Privacy Policy which can be revie" +"wed at http://www.juce.com/privacy-policy. \r\n" +"\r\n" +" 7. Other important terms\r\n" +" 7.1. We may transfer our rights and obligations under this Licence to another organisation, but this will not affect your rights or our obligations under this Licence. \r\n" +" 7.2. You may only transfer your rights or your obligations under this Licence to another person if we agree in writing.\r\n" +" 7.3. This Licence and any document expressly referred to in it constitutes the entire agreement between you and us. You acknowledge that you have not relied on any statement, promise or representation made or given by or on behalf of us which is " +"not set out in this Licence or any document expressly referred to in it.\r\n" +" 7.4. If we fail to insist that you perform any of your obligations under this Licence, or if we do not enforce our rights against you, or if we delay in doing so, that will not mean that we have waived our rights against you and will not mean tha" +"t you do not have to comply with those obligations. If we do waive a default by you, we will only do so in writing, and that will not mean that we will automatically waive any later default by you. \r\n" +" 7.5. Each of the conditions of this Licence operates separately. If any court or competent authority decides that any of them are unlawful or unenforceable, the remaining conditions will remain in full force and effect. \r\n" +" 7.6. Please note that this Licence, its subject matter and its formation, are governed by English law. You and we both agree to that the courts of England and Wales will have exclusive jurisdiction. \r\n" +" "; + +const char* projucer_EULA_txt = (const char*) temp_binary_data_37; + +//================== projucer_login_bg.svg ================== +static const unsigned char temp_binary_data_38[] = +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\t\r\n" +"\t\t\r\n" +"\t\t\r\n" +"\t\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\t\r\n" +"\t\t\r\n" +"\t\t\r\n" +"\t\t\r\n" +"\t\t\r\n" +"\t\t\r\n" +"\t\t\r\n" +"\t\t\r\n" +"\t\t\r\n" +"\t\t\r\n" +"\t\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n"; + +const char* projucer_login_bg_svg = (const char*) temp_binary_data_38; + +//================== RecentFilesMenuTemplate.nib ================== +static const unsigned char temp_binary_data_39[] = +{ 98,112,108,105,115,116,48,48,212,0,1,0,2,0,3,0,4,0,5,0,6,1,53,1,54,88,36,118,101,114,115,105,111,110,88,36,111,98,106,101,99,116,115,89,36,97,114,99,104,105,118,101,114,84,36,116,111,112,18,0,1,134,160,175,16,74,0,7,0,8,0,31,0,35,0,36,0,42,0,46,0,50, +0,53,0,57,0,74,0,77,0,78,0,86,0,87,0,97,0,112,0,113,0,114,0,119,0,120,0,121,0,124,0,128,0,129,0,132,0,143,0,144,0,145,0,149,0,153,0,162,0,163,0,164,0,169,0,173,0,180,0,181,0,182,0,185,0,192,0,193,0,200,0,201,0,208,0,209,0,216,0,217,0,224,0,225,0,226, +0,229,0,230,0,232,0,249,1,11,1,29,1,30,1,31,1,32,1,33,1,34,1,35,1,36,1,37,1,38,1,39,1,40,1,41,1,42,1,43,1,44,1,47,1,50,85,36,110,117,108,108,219,0,9,0,10,0,11,0,12,0,13,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,27,0,28,0,29,0, +29,95,16,16,78,83,86,105,115,105,98,108,101,87,105,110,100,111,119,115,93,78,83,79,98,106,101,99,116,115,75,101,121,115,86,78,83,82,111,111,116,92,78,83,79,105,100,115,86,97,108,117,101,115,86,36,99,108,97,115,115,90,78,83,79,105,100,115,75,101,121,115, +93,78,83,67,111,110,110,101,99,116,105,111,110,115,95,16,15,78,83,79,98,106,101,99,116,115,86,97,108,117,101,115,95,16,25,78,83,65,99,99,101,115,115,105,98,105,108,105,116,121,67,111,110,110,101,99,116,111,114,115,95,16,23,78,83,65,99,99,101,115,115, +105,98,105,108,105,116,121,79,105,100,115,75,101,121,115,95,16,25,78,83,65,99,99,101,115,115,105,98,105,108,105,116,121,79,105,100,115,86,97,108,117,101,115,128,5,128,9,128,2,128,55,128,73,128,54,128,7,128,53,128,71,128,72,128,72,210,0,13,0,32,0,33,0, +34,91,78,83,67,108,97,115,115,78,97,109,101,128,4,128,3,93,78,83,65,112,112,108,105,99,97,116,105,111,110,210,0,37,0,38,0,39,0,40,90,36,99,108,97,115,115,110,97,109,101,88,36,99,108,97,115,115,101,115,94,78,83,67,117,115,116,111,109,79,98,106,101,99, +116,162,0,39,0,41,88,78,83,79,98,106,101,99,116,210,0,13,0,43,0,44,0,45,90,78,83,46,111,98,106,101,99,116,115,128,6,160,210,0,37,0,38,0,47,0,48,92,78,83,77,117,116,97,98,108,101,83,101,116,163,0,47,0,49,0,41,85,78,83,83,101,116,210,0,13,0,43,0,51,0,52, +128,8,160,210,0,37,0,38,0,54,0,55,94,78,83,77,117,116,97,98,108,101,65,114,114,97,121,163,0,54,0,56,0,41,87,78,83,65,114,114,97,121,210,0,13,0,43,0,58,0,59,128,52,174,0,60,0,61,0,62,0,63,0,64,0,65,0,66,0,67,0,68,0,69,0,70,0,71,0,72,0,73,128,10,128,12, +128,45,128,15,128,39,128,25,128,28,128,30,128,33,128,35,128,43,128,41,128,47,128,50,210,0,13,0,32,0,33,0,76,128,4,128,11,93,78,83,65,112,112,108,105,99,97,116,105,111,110,212,0,79,0,13,0,80,0,81,0,82,0,83,0,84,0,85,91,78,83,77,101,110,117,73,116,101, +109,115,86,78,83,78,97,109,101,87,78,83,84,105,116,108,101,128,14,128,38,128,49,128,13,89,65,77,97,105,110,77,101,110,117,210,0,13,0,43,0,51,0,89,128,8,167,0,63,0,65,0,64,0,71,0,70,0,62,0,72,128,15,128,25,128,39,128,41,128,43,128,45,128,47,216,0,98,0, +99,0,100,0,13,0,101,0,102,0,103,0,81,0,104,0,61,0,106,0,107,0,108,0,109,0,110,0,111,95,16,17,78,83,75,101,121,69,113,117,105,118,77,111,100,77,97,115,107,86,78,83,77,101,110,117,89,78,83,79,110,73,109,97,103,101,90,78,83,75,101,121,69,113,117,105,118, +93,78,83,77,110,101,109,111,110,105,99,76,111,99,92,78,83,77,105,120,101,100,73,109,97,103,101,18,0,16,0,0,128,12,128,18,128,24,128,17,18,127,255,255,255,128,22,128,16,91,100,101,108,109,101,65,112,112,75,105,116,80,211,0,13,0,115,0,32,0,116,0,117,0, +118,94,78,83,82,101,115,111,117,114,99,101,78,97,109,101,128,21,128,20,128,19,87,78,83,73,109,97,103,101,95,16,15,78,83,77,101,110,117,67,104,101,99,107,109,97,114,107,210,0,37,0,38,0,122,0,123,95,16,16,78,83,67,117,115,116,111,109,82,101,115,111,117, +114,99,101,162,0,122,0,41,211,0,13,0,115,0,32,0,116,0,126,0,118,128,21,128,23,128,19,95,16,16,78,83,77,101,110,117,77,105,120,101,100,83,116,97,116,101,210,0,37,0,38,0,130,0,131,90,78,83,77,101,110,117,73,116,101,109,162,0,130,0,41,218,0,133,0,98,0,134, +0,99,0,100,0,13,0,101,0,102,0,103,0,81,0,135,0,104,0,66,0,61,0,106,0,107,0,108,0,109,0,110,0,142,88,78,83,65,99,116,105,111,110,89,78,83,83,117,98,109,101,110,117,128,27,128,28,128,12,128,18,128,24,128,17,128,22,128,26,84,70,105,108,101,94,115,117,98, +109,101,110,117,65,99,116,105,111,110,58,211,0,79,0,13,0,81,0,146,0,83,0,142,128,29,128,38,128,26,210,0,13,0,43,0,51,0,151,128,8,161,0,67,128,30,218,0,133,0,98,0,134,0,99,0,100,0,13,0,101,0,102,0,103,0,81,0,154,0,104,0,68,0,66,0,106,0,107,0,108,0,109, +0,110,0,161,128,32,128,33,128,28,128,18,128,24,128,17,128,22,128,31,91,79,112,101,110,32,82,101,99,101,110,116,94,115,117,98,109,101,110,117,65,99,116,105,111,110,58,212,0,79,0,13,0,80,0,81,0,165,0,83,0,167,0,161,128,34,128,38,128,37,128,31,210,0,13, +0,43,0,51,0,171,128,8,161,0,69,128,35,216,0,98,0,99,0,100,0,13,0,101,0,102,0,103,0,81,0,104,0,68,0,106,0,107,0,108,0,109,0,110,0,179,128,33,128,18,128,24,128,17,128,22,128,36,90,67,108,101,97,114,32,77,101,110,117,95,16,22,95,78,83,82,101,99,101,110, +116,68,111,99,117,109,101,110,116,115,77,101,110,117,210,0,37,0,38,0,183,0,184,86,78,83,77,101,110,117,162,0,183,0,41,216,0,98,0,99,0,100,0,13,0,101,0,102,0,103,0,81,0,104,0,61,0,106,0,107,0,108,0,109,0,110,0,191,128,12,128,18,128,24,128,17,128,22,128, +40,84,69,100,105,116,215,0,99,0,100,0,13,0,101,0,102,0,103,0,81,0,61,0,106,0,107,0,108,0,109,0,110,0,199,128,12,128,18,128,24,128,17,128,22,128,42,86,70,111,114,109,97,116,216,0,98,0,99,0,100,0,13,0,101,0,102,0,103,0,81,0,104,0,61,0,106,0,107,0,108,0, +109,0,110,0,207,128,12,128,18,128,24,128,17,128,22,128,44,84,86,105,101,119,216,0,98,0,99,0,100,0,13,0,101,0,102,0,103,0,81,0,104,0,61,0,106,0,107,0,108,0,109,0,110,0,215,128,12,128,18,128,24,128,17,128,22,128,46,86,87,105,110,100,111,119,215,0,99,0, +100,0,13,0,101,0,102,0,103,0,81,0,61,0,106,0,107,0,108,0,109,0,110,0,223,128,12,128,18,128,24,128,17,128,22,128,48,84,72,101,108,112,91,95,78,83,77,97,105,110,77,101,110,117,210,0,13,0,32,0,33,0,228,128,4,128,51,93,78,83,70,111,110,116,77,97,110,97,103, +101,114,210,0,37,0,38,0,56,0,231,162,0,56,0,41,210,0,13,0,43,0,58,0,234,128,52,174,0,22,0,22,0,61,0,61,0,61,0,61,0,65,0,66,0,67,0,68,0,61,0,61,0,61,0,22,128,2,128,2,128,12,128,12,128,12,128,12,128,25,128,28,128,30,128,33,128,12,128,12,128,12,128,2,210, +0,13,0,43,0,58,0,251,128,52,175,16,15,0,22,0,60,0,61,0,62,0,63,0,64,0,65,0,66,0,67,0,68,0,69,0,70,0,71,0,72,0,73,128,2,128,10,128,12,128,45,128,15,128,39,128,25,128,28,128,30,128,33,128,35,128,43,128,41,128,47,128,50,210,0,13,0,43,0,58,1,13,128,52,175, +16,15,1,14,1,15,1,16,1,17,1,18,1,19,1,20,1,21,1,22,1,23,1,24,1,25,1,26,1,27,1,28,128,56,128,57,128,58,128,59,128,60,128,61,128,62,128,63,128,64,128,65,128,66,128,67,128,68,128,69,128,70,17,2,22,17,2,23,17,2,24,17,2,25,17,2,26,17,2,27,17,2,28,17,2,29, +17,2,30,17,2,31,17,2,32,17,2,33,17,2,34,17,2,35,17,2,36,210,0,13,0,43,0,51,1,46,128,8,160,210,0,13,0,43,0,58,1,49,128,52,160,210,0,37,0,38,1,51,1,52,94,78,83,73,66,79,98,106,101,99,116,68,97,116,97,162,1,51,0,41,95,16,15,78,83,75,101,121,101,100,65,114, +99,104,105,118,101,114,209,1,55,1,56,93,73,66,46,111,98,106,101,99,116,100,97,116,97,128,1,0,8,0,25,0,34,0,43,0,53,0,58,0,63,0,214,0,220,1,9,1,28,1,42,1,49,1,62,1,69,1,80,1,94,1,112,1,140,1,166,1,194,1,196,1,198,1,200,1,202,1,204,1,206,1,208,1,210,1, +212,1,214,1,216,1,225,1,237,1,239,1,241,1,255,2,8,2,19,2,28,2,43,2,48,2,57,2,66,2,77,2,79,2,80,2,89,2,102,2,109,2,115,2,124,2,126,2,127,2,136,2,151,2,158,2,166,2,175,2,177,2,206,2,208,2,210,2,212,2,214,2,216,2,218,2,220,2,222,2,224,2,226,2,228,2,230, +2,232,2,234,2,243,2,245,2,247,3,5,3,22,3,34,3,41,3,49,3,51,3,53,3,55,3,57,3,67,3,76,3,78,3,93,3,95,3,97,3,99,3,101,3,103,3,105,3,107,3,140,3,160,3,167,3,177,3,188,3,202,3,215,3,220,3,222,3,224,3,226,3,228,3,233,3,235,3,237,3,249,3,250,4,7,4,22,4,24,4, +26,4,28,4,36,4,54,4,63,4,82,4,87,4,100,4,102,4,104,4,106,4,125,4,134,4,145,4,150,4,191,4,200,4,210,4,212,4,214,4,216,4,218,4,220,4,222,4,224,4,226,4,231,4,246,5,3,5,5,5,7,5,9,5,18,5,20,5,23,5,25,5,66,5,68,5,70,5,72,5,74,5,76,5,78,5,80,5,82,5,94,5,109, +5,126,5,128,5,130,5,132,5,134,5,143,5,145,5,148,5,150,5,183,5,185,5,187,5,189,5,191,5,193,5,195,5,206,5,231,5,240,5,247,5,252,6,29,6,31,6,33,6,35,6,37,6,39,6,41,6,46,6,75,6,77,6,79,6,81,6,83,6,85,6,87,6,94,6,127,6,129,6,131,6,133,6,135,6,137,6,139,6, +144,6,177,6,179,6,181,6,183,6,185,6,187,6,189,6,196,6,225,6,227,6,229,6,231,6,233,6,235,6,237,6,242,6,254,7,7,7,9,7,11,7,25,7,34,7,39,7,48,7,50,7,79,7,81,7,83,7,85,7,87,7,89,7,91,7,93,7,95,7,97,7,99,7,101,7,103,7,105,7,107,7,116,7,118,7,151,7,153,7,155, +7,157,7,159,7,161,7,163,7,165,7,167,7,169,7,171,7,173,7,175,7,177,7,179,7,181,7,190,7,192,7,225,7,227,7,229,7,231,7,233,7,235,7,237,7,239,7,241,7,243,7,245,7,247,7,249,7,251,7,253,7,255,8,2,8,5,8,8,8,11,8,14,8,17,8,20,8,23,8,26,8,29,8,32,8,35,8,38,8, +41,8,44,8,53,8,55,8,56,8,65,8,67,8,68,8,77,8,92,8,97,8,115,8,120,8,134,0,0,0,0,0,0,2,2,0,0,0,0,0,0,1,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,136,0,0 }; + +const char* RecentFilesMenuTemplate_nib = (const char*) temp_binary_data_39; + +//================== wizard_AnimatedApp.svg ================== +static const unsigned char temp_binary_data_40[] = +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\t\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\t\r\n" +"\t\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\t\r\n" +"\t\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n"; + +const char* wizard_AnimatedApp_svg = (const char*) temp_binary_data_40; + +//================== wizard_AudioApp.svg ================== +static const unsigned char temp_binary_data_41[] = +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n"; + +const char* wizard_AudioApp_svg = (const char*) temp_binary_data_41; + +//================== wizard_AudioPlugin.svg ================== +static const unsigned char temp_binary_data_42[] = +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\t\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\t\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\t\r\n" +"\t\t\r\n" +"\t\t\r\n" +"\t\t\t\r\n" +"\t\t\r\n" +"\t\r\n" +"\r\n" +"\r\n" +"\t\r\n" +"\t\t\r\n" +"\t\t\r\n" +"\t\t\t\r\n" +"\t\t\r\n" +"\t\r\n" +"\r\n" +"\r\n" +"\t\r\n" +"\t\t\r\n" +"\t\t\r\n" +"\t\t\t\r\n" +"\t\t\r\n" +"\t\r\n" +"\r\n" +"\r\n" +"\t\r\n" +"\t\t\r\n" +"\t\t\r\n" +"\t\t\t\r\n" +"\t\t\r\n" +"\t\r\n" +"\r\n" +"\r\n"; + +const char* wizard_AudioPlugin_svg = (const char*) temp_binary_data_42; + +//================== wizard_ConsoleApp.svg ================== +static const unsigned char temp_binary_data_43[] = +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\t\r\n" +"\r\n" +"\r\n" +"\t\r\n" +"\t\t\r\n" +"\t\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\t\r\n" +"\t\t\r\n" +"\t\r\n" +"\r\n" +"\r\n"; + +const char* wizard_ConsoleApp_svg = (const char*) temp_binary_data_43; + +//================== wizard_DLL.svg ================== +static const unsigned char temp_binary_data_44[] = +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\t\r\n" +"\r\n" +"\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\r\n" +"\r\n" +"\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\r\n" +"\r\n" +"\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\r\n" +"\r\n" +"\r\n"; + +const char* wizard_DLL_svg = (const char*) temp_binary_data_44; + +//================== wizard_GUI.svg ================== +static const unsigned char temp_binary_data_45[] = +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\t\r\n" +"\t\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\t\r\n" +"\t\r\n" +"\r\n" +"\r\n" +"\r\n"; + +const char* wizard_GUI_svg = (const char*) temp_binary_data_45; + +//================== wizard_Highlight.svg ================== +static const unsigned char temp_binary_data_46[] = +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n"; + +const char* wizard_Highlight_svg = (const char*) temp_binary_data_46; + +//================== wizard_Openfile.svg ================== +static const unsigned char temp_binary_data_47[] = +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n"; + +const char* wizard_Openfile_svg = (const char*) temp_binary_data_47; + +//================== wizard_OpenGL.svg ================== +static const unsigned char temp_binary_data_48[] = +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n"; + +const char* wizard_OpenGL_svg = (const char*) temp_binary_data_48; + +//================== wizard_StaticLibrary.svg ================== +static const unsigned char temp_binary_data_49[] = +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\t\r\n" +"\r\n" +"\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\r\n" +"\r\n" +"\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\r\n" +"\r\n" +"\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\r\n" +"\r\n" +"\r\n"; + +const char* wizard_StaticLibrary_svg = (const char*) temp_binary_data_49; + + +const char* getNamedResource (const char*, int&) throw(); +const char* getNamedResource (const char* resourceNameUTF8, int& numBytes) throw() +{ + unsigned int hash = 0; + if (resourceNameUTF8 != 0) + while (*resourceNameUTF8 != 0) + hash = 31 * hash + (unsigned int) *resourceNameUTF8++; + + switch (hash) + { + case 0x6cf2645e: numBytes = 1949; return jucer_AnimatedComponentTemplate_cpp; + case 0xafccbd3f: numBytes = 3203; return jucer_AudioComponentTemplate_cpp; + case 0x27c5a93a: numBytes = 1162; return jucer_AudioPluginEditorTemplate_cpp; + case 0x4d0721bf: numBytes = 994; return jucer_AudioPluginEditorTemplate_h; + case 0x51b49ac5: numBytes = 4255; return jucer_AudioPluginFilterTemplate_cpp; + case 0x488afa0a: numBytes = 2114; return jucer_AudioPluginFilterTemplate_h; + case 0xabad7041: numBytes = 2151; return jucer_ComponentTemplate_cpp; + case 0xfc72fe86: numBytes = 2155; return jucer_ComponentTemplate_h; + case 0x0b66646c: numBytes = 886; return jucer_ContentCompTemplate_cpp; + case 0x6fa10171: numBytes = 924; return jucer_ContentCompTemplate_h; + case 0x28d496ad: numBytes = 1143; return jucer_InlineComponentTemplate_h; + case 0x8905395b: numBytes = 470; return jucer_MainConsoleAppTemplate_cpp; + case 0x5e5ea047: numBytes = 1992; return jucer_MainTemplate_NoWindow_cpp; + case 0xda2391f8: numBytes = 3848; return jucer_MainTemplate_SimpleWindow_cpp; + case 0x400bc026: numBytes = 3760; return jucer_MainTemplate_Window_cpp; + case 0xf4842835: numBytes = 1389; return jucer_NewComponentTemplate_cpp; + case 0xe7bf237a: numBytes = 648; return jucer_NewComponentTemplate_h; + case 0x02a2a077: numBytes = 262; return jucer_NewCppFileTemplate_cpp; + case 0x0842c43c: numBytes = 308; return jucer_NewCppFileTemplate_h; + case 0x36e634a1: numBytes = 1626; return jucer_NewInlineComponentTemplate_h; + case 0x7fbac252: numBytes = 1827; return jucer_OpenGLComponentTemplate_cpp; + case 0x406db5c1: numBytes = 3117; return background_logo_svg; + case 0x4a0cfd09: numBytes = 151; return background_tile_png; + case 0x763d39dc: numBytes = 1050; return colourscheme_dark_xml; + case 0xe8b08520: numBytes = 1050; return colourscheme_light_xml; + case 0x207a4bc7: numBytes = 24660; return ContaxPro45Lig_otf; + case 0x7ba17cc1: numBytes = 30772; return ContaxPro55Rm_otf; + case 0x0245c351: numBytes = 25312; return ContaxPro55RmSC_otf; + case 0x76ebbc0b: numBytes = 24964; return ContaxPro65Med_otf; + case 0x9a9fd8bf: numBytes = 3950; return juce_AU_Resources_r; + case 0x154a7275: numBytes = 45854; return juce_icon_png; + case 0x507a15c7: numBytes = 8150; return projectIconAndroid_png; + case 0xe8e2796f: numBytes = 11917; return projectIconCodeblocks_png; + case 0x90374ad6: numBytes = 16444; return projectIconLinuxMakefile_png; + case 0x20236af2: numBytes = 7194; return projectIconVisualStudio_png; + case 0xecc12a3d: numBytes = 18281; return projectIconXcode_png; + case 0x9d3ae124: numBytes = 18111; return projectIconXcodeIOS_png; + case 0xd6bb7d1d: numBytes = 14598; return projucer_EULA_txt; + case 0xb7422947: numBytes = 5046; return projucer_login_bg_svg; + case 0xa41e649d: numBytes = 2842; return RecentFilesMenuTemplate_nib; + case 0x1f3b6d2f: numBytes = 2963; return wizard_AnimatedApp_svg; + case 0x60296d04: numBytes = 9802; return wizard_AudioApp_svg; + case 0x1115ccda: numBytes = 10809; return wizard_AudioPlugin_svg; + case 0x1d65d363: numBytes = 1204; return wizard_ConsoleApp_svg; + case 0xba5a4595: numBytes = 3588; return wizard_DLL_svg; + case 0x683e4e6c: numBytes = 3448; return wizard_GUI_svg; + case 0x2e6bf065: numBytes = 638; return wizard_Highlight_svg; + case 0x52a8dfdf: numBytes = 686; return wizard_Openfile_svg; + case 0x58e2ae48: numBytes = 2497; return wizard_OpenGL_svg; + case 0xb1da6f9e: numBytes = 3563; return wizard_StaticLibrary_svg; + default: break; + } + + numBytes = 0; + return 0; +} + +const char* namedResourceList[] = +{ + "jucer_AnimatedComponentTemplate_cpp", + "jucer_AudioComponentTemplate_cpp", + "jucer_AudioPluginEditorTemplate_cpp", + "jucer_AudioPluginEditorTemplate_h", + "jucer_AudioPluginFilterTemplate_cpp", + "jucer_AudioPluginFilterTemplate_h", + "jucer_ComponentTemplate_cpp", + "jucer_ComponentTemplate_h", + "jucer_ContentCompTemplate_cpp", + "jucer_ContentCompTemplate_h", + "jucer_InlineComponentTemplate_h", + "jucer_MainConsoleAppTemplate_cpp", + "jucer_MainTemplate_NoWindow_cpp", + "jucer_MainTemplate_SimpleWindow_cpp", + "jucer_MainTemplate_Window_cpp", + "jucer_NewComponentTemplate_cpp", + "jucer_NewComponentTemplate_h", + "jucer_NewCppFileTemplate_cpp", + "jucer_NewCppFileTemplate_h", + "jucer_NewInlineComponentTemplate_h", + "jucer_OpenGLComponentTemplate_cpp", + "background_logo_svg", + "background_tile_png", + "colourscheme_dark_xml", + "colourscheme_light_xml", + "ContaxPro45Lig_otf", + "ContaxPro55Rm_otf", + "ContaxPro55RmSC_otf", + "ContaxPro65Med_otf", + "juce_AU_Resources_r", + "juce_icon_png", + "projectIconAndroid_png", + "projectIconCodeblocks_png", + "projectIconLinuxMakefile_png", + "projectIconVisualStudio_png", + "projectIconXcode_png", + "projectIconXcodeIOS_png", + "projucer_EULA_txt", + "projucer_login_bg_svg", + "RecentFilesMenuTemplate_nib", + "wizard_AnimatedApp_svg", + "wizard_AudioApp_svg", + "wizard_AudioPlugin_svg", + "wizard_ConsoleApp_svg", + "wizard_DLL_svg", + "wizard_GUI_svg", + "wizard_Highlight_svg", + "wizard_Openfile_svg", + "wizard_OpenGL_svg", + "wizard_StaticLibrary_svg" +}; + +} diff --git a/extras/Introjucer/JuceLibraryCode/BinaryData.h b/extras/Projucer/JuceLibraryCode/BinaryData.h similarity index 80% rename from extras/Introjucer/JuceLibraryCode/BinaryData.h rename to extras/Projucer/JuceLibraryCode/BinaryData.h index 8418381ee2..87ad719189 100644 --- a/extras/Introjucer/JuceLibraryCode/BinaryData.h +++ b/extras/Projucer/JuceLibraryCode/BinaryData.h @@ -13,25 +13,25 @@ namespace BinaryData const int jucer_AnimatedComponentTemplate_cppSize = 1949; extern const char* jucer_AudioComponentTemplate_cpp; - const int jucer_AudioComponentTemplate_cppSize = 3189; + const int jucer_AudioComponentTemplate_cppSize = 3203; extern const char* jucer_AudioPluginEditorTemplate_cpp; - const int jucer_AudioPluginEditorTemplate_cppSize = 1180; + const int jucer_AudioPluginEditorTemplate_cppSize = 1162; extern const char* jucer_AudioPluginEditorTemplate_h; - const int jucer_AudioPluginEditorTemplate_hSize = 1012; + const int jucer_AudioPluginEditorTemplate_hSize = 994; extern const char* jucer_AudioPluginFilterTemplate_cpp; - const int jucer_AudioPluginFilterTemplate_cppSize = 4273; + const int jucer_AudioPluginFilterTemplate_cppSize = 4255; extern const char* jucer_AudioPluginFilterTemplate_h; - const int jucer_AudioPluginFilterTemplate_hSize = 2132; + const int jucer_AudioPluginFilterTemplate_hSize = 2114; extern const char* jucer_ComponentTemplate_cpp; - const int jucer_ComponentTemplate_cppSize = 2161; + const int jucer_ComponentTemplate_cppSize = 2151; extern const char* jucer_ComponentTemplate_h; - const int jucer_ComponentTemplate_hSize = 2141; + const int jucer_ComponentTemplate_hSize = 2155; extern const char* jucer_ContentCompTemplate_cpp; const int jucer_ContentCompTemplate_cppSize = 886; @@ -46,13 +46,13 @@ namespace BinaryData const int jucer_MainConsoleAppTemplate_cppSize = 470; extern const char* jucer_MainTemplate_NoWindow_cpp; - const int jucer_MainTemplate_NoWindow_cppSize = 2010; + const int jucer_MainTemplate_NoWindow_cppSize = 1992; extern const char* jucer_MainTemplate_SimpleWindow_cpp; - const int jucer_MainTemplate_SimpleWindow_cppSize = 3866; + const int jucer_MainTemplate_SimpleWindow_cppSize = 3848; extern const char* jucer_MainTemplate_Window_cpp; - const int jucer_MainTemplate_Window_cppSize = 3778; + const int jucer_MainTemplate_Window_cppSize = 3760; extern const char* jucer_NewComponentTemplate_cpp; const int jucer_NewComponentTemplate_cppSize = 1389; @@ -72,9 +72,6 @@ namespace BinaryData extern const char* jucer_OpenGLComponentTemplate_cpp; const int jucer_OpenGLComponentTemplate_cppSize = 1827; - extern const char* AudioPluginXCodeScript_txt; - const int AudioPluginXCodeScript_txtSize = 2745; - extern const char* background_logo_svg; const int background_logo_svgSize = 3117; @@ -87,8 +84,23 @@ namespace BinaryData extern const char* colourscheme_light_xml; const int colourscheme_light_xmlSize = 1050; + extern const char* ContaxPro45Lig_otf; + const int ContaxPro45Lig_otfSize = 24660; + + extern const char* ContaxPro55Rm_otf; + const int ContaxPro55Rm_otfSize = 30772; + + extern const char* ContaxPro55RmSC_otf; + const int ContaxPro55RmSC_otfSize = 25312; + + extern const char* ContaxPro65Med_otf; + const int ContaxPro65Med_otfSize = 24964; + + extern const char* juce_AU_Resources_r; + const int juce_AU_Resources_rSize = 3950; + extern const char* juce_icon_png; - const int juce_icon_pngSize = 40749; + const int juce_icon_pngSize = 45854; extern const char* projectIconAndroid_png; const int projectIconAndroid_pngSize = 8150; @@ -108,6 +120,12 @@ namespace BinaryData extern const char* projectIconXcodeIOS_png; const int projectIconXcodeIOS_pngSize = 18111; + extern const char* projucer_EULA_txt; + const int projucer_EULA_txtSize = 14598; + + extern const char* projucer_login_bg_svg; + const int projucer_login_bg_svgSize = 5046; + extern const char* RecentFilesMenuTemplate_nib; const int RecentFilesMenuTemplate_nibSize = 2842; @@ -145,7 +163,7 @@ namespace BinaryData extern const char* namedResourceList[]; // Number of elements in the namedResourceList array. - const int namedResourceListSize = 44; + const int namedResourceListSize = 50; // If you provide the name of one of the binary resource variables above, this function will // return the corresponding data and its size (or a null pointer if the name isn't found). diff --git a/extras/Introjucer/JuceLibraryCode/JuceHeader.h b/extras/Projucer/JuceLibraryCode/JuceHeader.h similarity index 61% rename from extras/Introjucer/JuceLibraryCode/JuceHeader.h rename to extras/Projucer/JuceLibraryCode/JuceHeader.h index ceba41fb9b..a34b427409 100644 --- a/extras/Introjucer/JuceLibraryCode/JuceHeader.h +++ b/extras/Projucer/JuceLibraryCode/JuceHeader.h @@ -14,13 +14,15 @@ #define __APPHEADERFILE_M70QFTRRK__ #include "AppConfig.h" -#include "modules/juce_core/juce_core.h" -#include "modules/juce_cryptography/juce_cryptography.h" -#include "modules/juce_data_structures/juce_data_structures.h" -#include "modules/juce_events/juce_events.h" -#include "modules/juce_graphics/juce_graphics.h" -#include "modules/juce_gui_basics/juce_gui_basics.h" -#include "modules/juce_gui_extra/juce_gui_extra.h" + +#include +#include +#include +#include +#include +#include +#include + #include "BinaryData.h" #if ! DONT_SET_USING_JUCE_NAMESPACE @@ -32,9 +34,9 @@ #if ! JUCE_DONT_DECLARE_PROJECTINFO namespace ProjectInfo { - const char* const projectName = "The Introjucer"; - const char* const versionString = "4.1.0"; - const int versionNumber = 0x40100; + const char* const projectName = "Projucer"; + const char* const versionString = "4.2.0"; + const int versionNumber = 0x40200; } #endif diff --git a/extras/Introjucer/JuceLibraryCode/ReadMe.txt b/extras/Projucer/JuceLibraryCode/ReadMe.txt similarity index 77% rename from extras/Introjucer/JuceLibraryCode/ReadMe.txt rename to extras/Projucer/JuceLibraryCode/ReadMe.txt index f6c3564e99..091a5aa6eb 100644 --- a/extras/Introjucer/JuceLibraryCode/ReadMe.txt +++ b/extras/Projucer/JuceLibraryCode/ReadMe.txt @@ -2,11 +2,11 @@ Important Note!! ================ -The purpose of this folder is to contain files that are auto-generated by the Introjucer, +The purpose of this folder is to contain files that are auto-generated by the Projucer, and ALL files in this folder will be mercilessly DELETED and completely re-written whenever -the Introjucer saves your project. +the Projucer saves your project. Therefore, it's a bad idea to make any manual changes to the files in here, or to put any of your own files in here if you don't want to lose them. (Of course you may choose to add the folder's contents to your version-control system so that you can re-merge your own -modifications after the Introjucer has saved its changes). +modifications after the Projucer has saved its changes). diff --git a/extras/Projucer/JuceLibraryCode/juce_core.cpp b/extras/Projucer/JuceLibraryCode/juce_core.cpp new file mode 100644 index 0000000000..d0ce1636f0 --- /dev/null +++ b/extras/Projucer/JuceLibraryCode/juce_core.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/Projucer/JuceLibraryCode/juce_core.mm b/extras/Projucer/JuceLibraryCode/juce_core.mm new file mode 100644 index 0000000000..72b10bf817 --- /dev/null +++ b/extras/Projucer/JuceLibraryCode/juce_core.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/Projucer/JuceLibraryCode/juce_cryptography.cpp b/extras/Projucer/JuceLibraryCode/juce_cryptography.cpp new file mode 100644 index 0000000000..10b3401dbe --- /dev/null +++ b/extras/Projucer/JuceLibraryCode/juce_cryptography.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/Projucer/JuceLibraryCode/juce_cryptography.mm b/extras/Projucer/JuceLibraryCode/juce_cryptography.mm new file mode 100644 index 0000000000..9311ea0ffe --- /dev/null +++ b/extras/Projucer/JuceLibraryCode/juce_cryptography.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/Projucer/JuceLibraryCode/juce_data_structures.cpp b/extras/Projucer/JuceLibraryCode/juce_data_structures.cpp new file mode 100644 index 0000000000..9315aa1686 --- /dev/null +++ b/extras/Projucer/JuceLibraryCode/juce_data_structures.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/Projucer/JuceLibraryCode/juce_data_structures.mm b/extras/Projucer/JuceLibraryCode/juce_data_structures.mm new file mode 100644 index 0000000000..695ec43925 --- /dev/null +++ b/extras/Projucer/JuceLibraryCode/juce_data_structures.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/Projucer/JuceLibraryCode/juce_events.cpp b/extras/Projucer/JuceLibraryCode/juce_events.cpp new file mode 100644 index 0000000000..1bba110a97 --- /dev/null +++ b/extras/Projucer/JuceLibraryCode/juce_events.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/Projucer/JuceLibraryCode/juce_events.mm b/extras/Projucer/JuceLibraryCode/juce_events.mm new file mode 100644 index 0000000000..4cc34fc401 --- /dev/null +++ b/extras/Projucer/JuceLibraryCode/juce_events.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/Projucer/JuceLibraryCode/juce_graphics.cpp b/extras/Projucer/JuceLibraryCode/juce_graphics.cpp new file mode 100644 index 0000000000..319c76de0e --- /dev/null +++ b/extras/Projucer/JuceLibraryCode/juce_graphics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/Projucer/JuceLibraryCode/juce_graphics.mm b/extras/Projucer/JuceLibraryCode/juce_graphics.mm new file mode 100644 index 0000000000..b28e6dd056 --- /dev/null +++ b/extras/Projucer/JuceLibraryCode/juce_graphics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/Projucer/JuceLibraryCode/juce_gui_basics.cpp b/extras/Projucer/JuceLibraryCode/juce_gui_basics.cpp new file mode 100644 index 0000000000..216c76bb05 --- /dev/null +++ b/extras/Projucer/JuceLibraryCode/juce_gui_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/Projucer/JuceLibraryCode/juce_gui_basics.mm b/extras/Projucer/JuceLibraryCode/juce_gui_basics.mm new file mode 100644 index 0000000000..6a9726fa5f --- /dev/null +++ b/extras/Projucer/JuceLibraryCode/juce_gui_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/Projucer/JuceLibraryCode/juce_gui_extra.cpp b/extras/Projucer/JuceLibraryCode/juce_gui_extra.cpp new file mode 100644 index 0000000000..7226e19833 --- /dev/null +++ b/extras/Projucer/JuceLibraryCode/juce_gui_extra.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/Projucer/JuceLibraryCode/juce_gui_extra.mm b/extras/Projucer/JuceLibraryCode/juce_gui_extra.mm new file mode 100644 index 0000000000..c9b6c3bfc6 --- /dev/null +++ b/extras/Projucer/JuceLibraryCode/juce_gui_extra.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/Projucer/Projucer.jucer b/extras/Projucer/Projucer.jucer new file mode 100644 index 0000000000..a34fb313e6 --- /dev/null +++ b/extras/Projucer/Projucer.jucer @@ -0,0 +1,639 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/extras/Introjucer/Source/Application/jucer_AppearanceSettings.cpp b/extras/Projucer/Source/Application/jucer_AppearanceSettings.cpp similarity index 94% rename from extras/Introjucer/Source/Application/jucer_AppearanceSettings.cpp rename to extras/Projucer/Source/Application/jucer_AppearanceSettings.cpp index bae5b2beed..3366b4d3b7 100644 --- a/extras/Introjucer/Source/Application/jucer_AppearanceSettings.cpp +++ b/extras/Projucer/Source/Application/jucer_AppearanceSettings.cpp @@ -60,9 +60,9 @@ namespace AppearanceColours AppearanceSettings::AppearanceSettings (bool updateAppWhenChanged) : settings ("COLOUR_SCHEME") { - if (! IntrojucerApp::getApp().isRunningCommandLine) + if (! ProjucerApplication::getApp().isRunningCommandLine) { - IntrojucerLookAndFeel lf; + ProjucerLookAndFeel lf; for (int i = 0; i < AppearanceColours::numColours; ++i) getColourValue (AppearanceColours::colours[i].name) = lf.findColour (AppearanceColours::colours[i].colourID).toString(); @@ -117,7 +117,7 @@ void AppearanceSettings::refreshPresetSchemeList() if (newSchemes != presetSchemeFiles) { presetSchemeFiles.swapWith (newSchemes); - IntrojucerApp::getCommandManager().commandStatusChanged(); + ProjucerApplication::getCommandManager().commandStatusChanged(); } } @@ -196,7 +196,7 @@ StringArray AppearanceSettings::getColourNames() const void AppearanceSettings::updateColourScheme() { applyToLookAndFeel (LookAndFeel::getDefaultLookAndFeel()); - IntrojucerApp::getApp().mainWindowList.sendLookAndFeelChange(); + ProjucerApplication::getApp().mainWindowList.sendLookAndFeelChange(); } void AppearanceSettings::applyToLookAndFeel (LookAndFeel& lf) const diff --git a/extras/Introjucer/Source/Application/jucer_AppearanceSettings.h b/extras/Projucer/Source/Application/jucer_AppearanceSettings.h similarity index 100% rename from extras/Introjucer/Source/Application/jucer_AppearanceSettings.h rename to extras/Projucer/Source/Application/jucer_AppearanceSettings.h diff --git a/extras/Projucer/Source/Application/jucer_Application.cpp b/extras/Projucer/Source/Application/jucer_Application.cpp new file mode 100644 index 0000000000..b1549d8f39 --- /dev/null +++ b/extras/Projucer/Source/Application/jucer_Application.cpp @@ -0,0 +1,828 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +void createGUIEditorMenu (PopupMenu&); +void handleGUIEditorMenuCommand (int); +void registerGUIEditorCommands(); + +//============================================================================== +struct ProjucerApplication::MainMenuModel : public MenuBarModel +{ + MainMenuModel() + { + setApplicationCommandManagerToWatch (&getCommandManager()); + } + + StringArray getMenuBarNames() override + { + return getApp().getMenuNames(); + } + + PopupMenu getMenuForIndex (int /*topLevelMenuIndex*/, const String& menuName) override + { + PopupMenu menu; + getApp().createMenu (menu, menuName); + return menu; + } + + void menuItemSelected (int menuItemID, int /*topLevelMenuIndex*/) override + { + getApp().handleMainMenuCommand (menuItemID); + } +}; + +//============================================================================== +ProjucerApplication::ProjucerApplication() : isRunningCommandLine (false) +{ +} + +void ProjucerApplication::initialise (const String& commandLine) +{ + if (commandLine.trimStart().startsWith ("--server")) + { + initialiseLogger ("Compiler_Log_"); + LookAndFeel::setDefaultLookAndFeel (&lookAndFeel); + + #if JUCE_MAC + Process::setDockIconVisible (false); + #endif + + server = createClangServer (commandLine); + } + else + { + initialiseLogger ("IDE_Log_"); + Logger::writeToLog (SystemStats::getOperatingSystemName()); + Logger::writeToLog ("CPU: " + String (SystemStats::getCpuSpeedInMegaherz()) + + "MHz Cores: " + String (SystemStats::getNumCpus()) + + " " + String (SystemStats::getMemorySizeInMegabytes()) + "MB"); + + initialiseBasics(); + + if (commandLine.isNotEmpty()) + { + isRunningCommandLine = true; + const int appReturnCode = performCommandLine (commandLine); + + if (appReturnCode != commandLineNotPerformed) + { + setApplicationReturnValue (appReturnCode); + quit(); + return; + } + + isRunningCommandLine = false; + } + + if (sendCommandLineToPreexistingInstance()) + { + DBG ("Another instance is running - quitting..."); + quit(); + return; + } + + if (! initialiseLog()) + { + quit(); + return; + } + + childProcessCache = new ChildProcessCache(); + + initCommandManager(); + menuModel = new MainMenuModel(); + + settings->appearance.refreshPresetSchemeList(); + + initialiseWindows (commandLine); + + #if JUCE_MAC + MenuBarModel::setMacMainMenu (menuModel, nullptr, "Open Recent"); + #endif + + versionChecker = new LatestVersionChecker(); + + showLoginFormAsyncIfNotTriedRecently(); + } +} + +void ProjucerApplication::initialiseBasics() +{ + LookAndFeel::setDefaultLookAndFeel (&lookAndFeel); + settings = new StoredSettings(); + ImageCache::setCacheTimeout (30 * 1000); + icons = new Icons(); +} + +bool ProjucerApplication::initialiseLog() +{ + openDocumentManager.registerType (new ProjucerAppClasses::LiveBuildCodeEditorDocument::Type(), 2); + + if (currentEULAHasBeenAcceptedPreviously()) + return true; + + ScopedPointer eulaDialogue (new EULADialogue()); + bool hasBeenAccepted = (eulaDialogue->runModalLoop() == EULADialogue::accepted); + setCurrentEULAAccepted (hasBeenAccepted); + + if (hasBeenAccepted) + return initialiseLogger ("log_"); + + return false; +} + +bool ProjucerApplication::initialiseLogger (const char* filePrefix) +{ + if (logger == nullptr) + { + #if JUCE_LINUX + String folder = "~/.config/Projucer/Logs"; + #else + String folder = "com.juce.projucer"; + #endif + + logger = FileLogger::createDateStampedLogger (folder, filePrefix, ".txt", + getApplicationName() + " " + getApplicationVersion() + + " --- Build date: " __DATE__); + Logger::setCurrentLogger (logger); + } + + return logger != nullptr; +} + +void ProjucerApplication::initialiseWindows (const String& commandLine) +{ + const String commandLineWithoutNSDebug (commandLine.replace ("-NSDocumentRevisionsDebugMode YES", "")); + + if (commandLineWithoutNSDebug.trim().isNotEmpty() && ! commandLineWithoutNSDebug.trim().startsWithChar ('-')) + anotherInstanceStarted (commandLine); + else + mainWindowList.reopenLastProjects(); + + mainWindowList.createWindowIfNoneAreOpen(); +} + +void ProjucerApplication::shutdown() +{ + if (server != nullptr) + { + destroyClangServer (server); + Logger::writeToLog ("Server shutdown cleanly"); + } + + versionChecker = nullptr; + appearanceEditorWindow = nullptr; + globalPreferencesWindow = nullptr; + utf8Window = nullptr; + svgPathWindow = nullptr; + + mainWindowList.forceCloseAllWindows(); + openDocumentManager.clear(); + + childProcessCache = nullptr; + + #if JUCE_MAC + MenuBarModel::setMacMainMenu (nullptr); + #endif + + menuModel = nullptr; + commandManager = nullptr; + settings = nullptr; + + LookAndFeel::setDefaultLookAndFeel (nullptr); + + if (! isRunningCommandLine) + Logger::writeToLog ("Shutdown"); + + deleteLogger(); +} + +struct AsyncQuitRetrier : private Timer +{ + AsyncQuitRetrier() { startTimer (500); } + + void timerCallback() override + { + stopTimer(); + delete this; + + if (JUCEApplicationBase* app = JUCEApplicationBase::getInstance()) + app->systemRequestedQuit(); + } + + JUCE_DECLARE_NON_COPYABLE (AsyncQuitRetrier) +}; + +void ProjucerApplication::systemRequestedQuit() +{ + if (server != nullptr) + { + sendQuitMessageToIDE (server); + } + else if (ModalComponentManager::getInstance()->cancelAllModalComponents()) + { + new AsyncQuitRetrier(); + } + else + { + if (closeAllMainWindows()) + quit(); + } +} + +//============================================================================== +String ProjucerApplication::getVersionDescription() const +{ + String s; + + const Time buildDate (Time::getCompilationDate()); + + s << "Projucer " << ProjectInfo::versionString + << newLine + << "Build date: " << buildDate.getDayOfMonth() + << " " << Time::getMonthName (buildDate.getMonth(), true) + << " " << buildDate.getYear(); + + return s; +} + +void ProjucerApplication::anotherInstanceStarted (const String& commandLine) +{ + if (server == nullptr && ! commandLine.trim().startsWithChar ('-')) + openFile (File (commandLine.unquoted())); +} + +ProjucerApplication& ProjucerApplication::getApp() +{ + ProjucerApplication* const app = dynamic_cast (JUCEApplication::getInstance()); + jassert (app != nullptr); + return *app; +} + +ApplicationCommandManager& ProjucerApplication::getCommandManager() +{ + ApplicationCommandManager* cm = ProjucerApplication::getApp().commandManager; + jassert (cm != nullptr); + return *cm; +} + + +//============================================================================== +enum +{ + recentProjectsBaseID = 100, + activeDocumentsBaseID = 300, + colourSchemeBaseID = 1000 +}; + +MenuBarModel* ProjucerApplication::getMenuModel() +{ + return menuModel.get(); +} + +StringArray ProjucerApplication::getMenuNames() +{ + const char* const names[] = { "File", "Edit", "View", "Build", "Window", "GUI Editor", "Tools", nullptr }; + return StringArray (names); +} + +void ProjucerApplication::createMenu (PopupMenu& menu, const String& menuName) +{ + if (menuName == "File") createFileMenu (menu); + else if (menuName == "Edit") createEditMenu (menu); + else if (menuName == "View") createViewMenu (menu); + else if (menuName == "Build") createBuildMenu (menu); + else if (menuName == "Window") createWindowMenu (menu); + else if (menuName == "Tools") createToolsMenu (menu); + else if (menuName == "GUI Editor") createGUIEditorMenu (menu); + else jassertfalse; // names have changed? +} + +void ProjucerApplication::createFileMenu (PopupMenu& menu) +{ + menu.addCommandItem (commandManager, CommandIDs::newProject); + menu.addSeparator(); + menu.addCommandItem (commandManager, CommandIDs::open); + + PopupMenu recentFiles; + settings->recentFiles.createPopupMenuItems (recentFiles, recentProjectsBaseID, true, true); + menu.addSubMenu ("Open Recent", recentFiles); + + menu.addSeparator(); + menu.addCommandItem (commandManager, CommandIDs::closeDocument); + menu.addCommandItem (commandManager, CommandIDs::saveDocument); + menu.addCommandItem (commandManager, CommandIDs::saveDocumentAs); + menu.addCommandItem (commandManager, CommandIDs::saveAll); + menu.addSeparator(); + menu.addCommandItem (commandManager, CommandIDs::closeProject); + menu.addCommandItem (commandManager, CommandIDs::saveProject); + menu.addSeparator(); + menu.addCommandItem (commandManager, CommandIDs::openInIDE); + menu.addCommandItem (commandManager, CommandIDs::saveAndOpenInIDE); + + #if ! JUCE_MAC + menu.addSeparator(); + menu.addCommandItem (commandManager, StandardApplicationCommandIDs::quit); + #endif +} + +void ProjucerApplication::createEditMenu (PopupMenu& menu) +{ + menu.addCommandItem (commandManager, StandardApplicationCommandIDs::undo); + menu.addCommandItem (commandManager, StandardApplicationCommandIDs::redo); + menu.addSeparator(); + menu.addCommandItem (commandManager, StandardApplicationCommandIDs::cut); + menu.addCommandItem (commandManager, StandardApplicationCommandIDs::copy); + menu.addCommandItem (commandManager, StandardApplicationCommandIDs::paste); + menu.addCommandItem (commandManager, StandardApplicationCommandIDs::del); + menu.addCommandItem (commandManager, StandardApplicationCommandIDs::selectAll); + menu.addCommandItem (commandManager, StandardApplicationCommandIDs::deselectAll); + menu.addSeparator(); + menu.addCommandItem (commandManager, CommandIDs::showFindPanel); + menu.addCommandItem (commandManager, CommandIDs::findSelection); + menu.addCommandItem (commandManager, CommandIDs::findNext); + menu.addCommandItem (commandManager, CommandIDs::findPrevious); +} + +void ProjucerApplication::createViewMenu (PopupMenu& menu) +{ + menu.addCommandItem (commandManager, CommandIDs::showFilePanel); + menu.addCommandItem (commandManager, CommandIDs::showConfigPanel); + menu.addCommandItem (commandManager, CommandIDs::showBuildTab); + menu.addCommandItem (commandManager, CommandIDs::showProjectSettings); + menu.addCommandItem (commandManager, CommandIDs::showProjectModules); + menu.addSeparator(); + createColourSchemeItems (menu); +} + +void ProjucerApplication::createBuildMenu (PopupMenu& menu) +{ + menu.addCommandItem (commandManager, CommandIDs::enableBuild); + menu.addCommandItem (commandManager, CommandIDs::toggleContinuousBuild); + menu.addCommandItem (commandManager, CommandIDs::buildNow); + + menu.addSeparator(); + menu.addCommandItem (commandManager, CommandIDs::launchApp); + menu.addCommandItem (commandManager, CommandIDs::killApp); + menu.addCommandItem (commandManager, CommandIDs::cleanAll); + menu.addSeparator(); + menu.addCommandItem (commandManager, CommandIDs::reinstantiateComp); + menu.addCommandItem (commandManager, CommandIDs::showWarnings); + menu.addSeparator(); + menu.addCommandItem (commandManager, CommandIDs::nextError); + menu.addCommandItem (commandManager, CommandIDs::prevError); +} + +void ProjucerApplication::createColourSchemeItems (PopupMenu& menu) +{ + const StringArray presetSchemes (settings->appearance.getPresetSchemes()); + + if (presetSchemes.size() > 0) + { + PopupMenu schemes; + + for (int i = 0; i < presetSchemes.size(); ++i) + schemes.addItem (colourSchemeBaseID + i, presetSchemes[i]); + + menu.addSubMenu ("Colour Scheme", schemes); + } +} + +void ProjucerApplication::createWindowMenu (PopupMenu& menu) +{ + menu.addCommandItem (commandManager, CommandIDs::closeWindow); + menu.addSeparator(); + + menu.addCommandItem (commandManager, CommandIDs::goToPreviousDoc); + menu.addCommandItem (commandManager, CommandIDs::goToNextDoc); + menu.addCommandItem (commandManager, CommandIDs::goToCounterpart); + menu.addSeparator(); + + const int numDocs = jmin (50, openDocumentManager.getNumOpenDocuments()); + + for (int i = 0; i < numDocs; ++i) + { + OpenDocumentManager::Document* doc = openDocumentManager.getOpenDocument(i); + menu.addItem (activeDocumentsBaseID + i, doc->getName()); + } + + menu.addSeparator(); + menu.addCommandItem (commandManager, CommandIDs::closeAllDocuments); +} + +void ProjucerApplication::createToolsMenu (PopupMenu& menu) +{ + menu.addCommandItem (commandManager, CommandIDs::showGlobalPreferences); + menu.addSeparator(); + menu.addCommandItem (commandManager, CommandIDs::showUTF8Tool); + menu.addCommandItem (commandManager, CommandIDs::showSVGPathTool); + menu.addCommandItem (commandManager, CommandIDs::showTranslationTool); + menu.addSeparator(); + menu.addCommandItem (commandManager, CommandIDs::loginLogout); +} + +void ProjucerApplication::handleMainMenuCommand (int menuItemID) +{ + if (menuItemID >= recentProjectsBaseID && menuItemID < recentProjectsBaseID + 100) + { + // open a file from the "recent files" menu + openFile (settings->recentFiles.getFile (menuItemID - recentProjectsBaseID)); + } + else if (menuItemID >= activeDocumentsBaseID && menuItemID < activeDocumentsBaseID + 200) + { + if (OpenDocumentManager::Document* doc = openDocumentManager.getOpenDocument (menuItemID - activeDocumentsBaseID)) + mainWindowList.openDocument (doc, true); + else + jassertfalse; + } + else if (menuItemID >= colourSchemeBaseID && menuItemID < colourSchemeBaseID + 200) + { + settings->appearance.selectPresetScheme (menuItemID - colourSchemeBaseID); + } + else + { + handleGUIEditorMenuCommand (menuItemID); + } +} + +//============================================================================== +void ProjucerApplication::getAllCommands (Array & commands) +{ + JUCEApplication::getAllCommands (commands); + + const CommandID ids[] = { CommandIDs::newProject, + CommandIDs::open, + CommandIDs::closeAllDocuments, + CommandIDs::saveAll, + CommandIDs::showGlobalPreferences, + CommandIDs::showUTF8Tool, + CommandIDs::showSVGPathTool, + CommandIDs::loginLogout }; + + commands.addArray (ids, numElementsInArray (ids)); +} + +void ProjucerApplication::getCommandInfo (CommandID commandID, ApplicationCommandInfo& result) +{ + switch (commandID) + { + case CommandIDs::newProject: + result.setInfo ("New Project...", "Creates a new Jucer project", CommandCategories::general, 0); + result.defaultKeypresses.add (KeyPress ('n', ModifierKeys::commandModifier, 0)); + break; + + case CommandIDs::open: + result.setInfo ("Open...", "Opens a Jucer project", CommandCategories::general, 0); + result.defaultKeypresses.add (KeyPress ('o', ModifierKeys::commandModifier, 0)); + break; + + case CommandIDs::showGlobalPreferences: + result.setInfo ("Global Preferences...", "Shows the global preferences window.", CommandCategories::general, 0); + break; + + case CommandIDs::closeAllDocuments: + result.setInfo ("Close All Documents", "Closes all open documents", CommandCategories::general, 0); + result.setActive (openDocumentManager.getNumOpenDocuments() > 0); + break; + + case CommandIDs::saveAll: + result.setInfo ("Save All", "Saves all open documents", CommandCategories::general, 0); + result.defaultKeypresses.add (KeyPress ('s', ModifierKeys::commandModifier | ModifierKeys::altModifier, 0)); + break; + + case CommandIDs::showUTF8Tool: + result.setInfo ("UTF-8 String-Literal Helper", "Shows the UTF-8 string literal utility", CommandCategories::general, 0); + break; + + case CommandIDs::showSVGPathTool: + result.setInfo ("SVG Path Helper", "Shows the SVG->Path data conversion utility", CommandCategories::general, 0); + break; + + case CommandIDs::loginLogout: + result.setInfo (ProjucerLicences::getInstance()->isLoggedIn() + ? String ("Sign out ") + ProjucerLicences::getInstance()->getLoginName() + : String ("Sign in..."), + "Log out of your JUCE account", CommandCategories::general, 0); + result.setActive (ProjucerLicences::getInstance()->isDLLPresent()); + break; + + default: + JUCEApplication::getCommandInfo (commandID, result); + break; + } +} + +bool ProjucerApplication::perform (const InvocationInfo& info) +{ + switch (info.commandID) + { + case CommandIDs::newProject: createNewProject(); break; + case CommandIDs::open: askUserToOpenFile(); break; + case CommandIDs::saveAll: openDocumentManager.saveAll(); break; + case CommandIDs::closeAllDocuments: closeAllDocuments (true); break; + case CommandIDs::showUTF8Tool: showUTF8ToolWindow(); break; + case CommandIDs::showSVGPathTool: showSVGPathDataToolWindow(); break; + case CommandIDs::showGlobalPreferences: AppearanceSettings::showGlobalPreferences (globalPreferencesWindow); break; + case CommandIDs::loginLogout: loginOrLogout(); break; + default: return JUCEApplication::perform (info); + } + + return true; +} + +//============================================================================== +void ProjucerApplication::createNewProject() +{ + MainWindow* mw = mainWindowList.getOrCreateEmptyWindow(); + mw->showNewProjectWizard(); + mainWindowList.avoidSuperimposedWindows (mw); +} + +void ProjucerApplication::updateNewlyOpenedProject (Project& p) +{ + LiveBuildProjectSettings::updateNewlyOpenedProject (p); +} + +void ProjucerApplication::askUserToOpenFile() +{ + FileChooser fc ("Open File"); + + if (fc.browseForFileToOpen()) + openFile (fc.getResult()); +} + +bool ProjucerApplication::openFile (const File& file) +{ + return mainWindowList.openFile (file); +} + +bool ProjucerApplication::closeAllDocuments (bool askUserToSave) +{ + return openDocumentManager.closeAll (askUserToSave); +} + +bool ProjucerApplication::closeAllMainWindows() +{ + return server != nullptr || mainWindowList.askAllWindowsToClose(); +} + +//============================================================================== +void ProjucerApplication::showUTF8ToolWindow() +{ + if (utf8Window != nullptr) + utf8Window->toFront (true); + else + new FloatingToolWindow ("UTF-8 String Literal Converter", + "utf8WindowPos", + new UTF8Component(), utf8Window, + 500, 500, 300, 300, 1000, 1000); +} + +void ProjucerApplication::showSVGPathDataToolWindow() +{ + if (svgPathWindow != nullptr) + svgPathWindow->toFront (true); + else + new FloatingToolWindow ("SVG Path Converter", + "svgPathWindowPos", + new SVGPathDataComponent(), svgPathWindow, + 500, 500, 300, 300, 1000, 1000); +} + +//============================================================================== +struct FileWithTime +{ + FileWithTime (const File& f) : file (f), time (f.getLastModificationTime()) {} + FileWithTime() {} + + bool operator< (const FileWithTime& other) const { return time < other.time; } + bool operator== (const FileWithTime& other) const { return time == other.time; } + + File file; + Time time; +}; + +void ProjucerApplication::deleteLogger() +{ + const int maxNumLogFilesToKeep = 50; + + Logger::setCurrentLogger (nullptr); + + if (logger != nullptr) + { + Array logFiles; + logger->getLogFile().getParentDirectory().findChildFiles (logFiles, File::findFiles, false); + + if (logFiles.size() > maxNumLogFilesToKeep) + { + Array files; + + for (int i = 0; i < logFiles.size(); ++i) + files.addUsingDefaultSort (logFiles.getReference(i)); + + for (int i = 0; i < files.size() - maxNumLogFilesToKeep; ++i) + files.getReference(i).file.deleteFile(); + } + } + + logger = nullptr; +} + +struct LiveBuildConfigItem : public ConfigTreeItemTypes::ConfigTreeItemBase +{ + LiveBuildConfigItem (Project& p) : project (p) {} + + bool isMissing() override { return false; } + bool canBeSelected() const override { return true; } + bool mightContainSubItems() override { return false; } + String getUniqueName() const override { return "live_build_settings"; } + String getRenamingName() const override { return getDisplayName(); } + String getDisplayName() const override { return "Live Build Settings"; } + void setName (const String&) override {} + Icon getIcon() const override { return Icon (getIcons().config, getContrastingColour (Colours::green, 0.5f)); } + + void showDocument() override { showSettingsPage (new SettingsComp (project)); } + void itemOpennessChanged (bool) override {} + + Project& project; + + //============================================================================== + struct SettingsComp : public Component + { + SettingsComp (Project& p) + { + addAndMakeVisible (&group); + + PropertyListBuilder props; + LiveBuildProjectSettings::getLiveSettings (p, props); + + group.setProperties (props); + group.setName ("Live Build Settings"); + parentSizeChanged(); + } + + void parentSizeChanged() override { updateSize (*this, group); } + + ConfigTreeItemTypes::PropertyGroupComponent group; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (SettingsComp) + }; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (LiveBuildConfigItem) +}; + +void ProjucerApplication::addLiveBuildConfigItem (Project& project, TreeViewItem& parent) +{ + parent.addSubItem (new LiveBuildConfigItem (project)); +} + +PropertiesFile::Options ProjucerApplication::getPropertyFileOptionsFor (const String& filename) +{ + PropertiesFile::Options options; + options.applicationName = filename; + options.filenameSuffix = "settings"; + options.osxLibrarySubFolder = "Application Support"; + #if JUCE_LINUX + options.folderName = "~/.config/Projucer"; + #else + options.folderName = "Projucer"; + #endif + + return options; +} + +void ProjucerApplication::hideLoginForm() +{ + jassert (MessageManager::getInstance()->isThisTheMessageThread()); + loginForm = nullptr; +} + +void ProjucerApplication::showLoginForm() +{ + if (ProjucerLicences::getInstance()->isDLLPresent()) + { + jassert (MessageManager::getInstance()->isThisTheMessageThread()); + + if (loginForm != nullptr) + return; + + DialogWindow::LaunchOptions lo; + + lo.dialogTitle = "Log-in to Projucer"; + lo.dialogBackgroundColour = Colour (0xffdddddd); + lo.content.setOwned (loginForm = new LoginForm()); + lo.escapeKeyTriggersCloseButton = true; + lo.componentToCentreAround = nullptr; + lo.escapeKeyTriggersCloseButton = true; + lo.resizable = false; + lo.useBottomRightCornerResizer = false; + lo.useNativeTitleBar = true; + + lo.launchAsync(); + + getGlobalProperties().setValue ("lastLoginAttemptTime", + (int) (Time::getCurrentTime().toMilliseconds() / 1000)); + } +} + +void ProjucerApplication::showLoginFormAsyncIfNotTriedRecently() +{ + if (ProjucerLicences::getInstance()->isDLLPresent()) + { + Time lastLoginAttempt (getGlobalProperties().getValue ("lastLoginAttemptTime").getIntValue() * (int64) 1000); + + if (Time::getCurrentTime().getDayOfMonth() != lastLoginAttempt.getDayOfMonth()) + startTimer (1000); + } + else + { + getGlobalProperties().removeValue ("lastLoginAttemptTime"); + } +} + +void ProjucerApplication::timerCallback() +{ + stopTimer(); + + if (! ProjucerLicences::getInstance()->isLoggedIn()) + showLoginForm(); +} + +void ProjucerApplication::updateBuildEnabledSetting() +{ + for (int i = 0; i < mainWindowList.windows.size(); ++i) + if (ProjectContentComponent* p = mainWindowList.windows.getUnchecked(i)->getProjectContentComponent()) + p->refreshTabsIfBuildStatusChanged(); +} + +//============================================================================== +void ProjucerApplication::loginOrLogout() +{ + ProjucerLicences& status = *ProjucerLicences::getInstance(); + + if (status.isLoggedIn()) + status.logout(); + else + showLoginForm(); + + updateBuildEnabledSetting(); +} + +bool ProjucerApplication::currentEULAHasBeenAcceptedPreviously() const +{ + return getGlobalProperties().getValue (getEULAChecksumProperty()).getIntValue() != 0; +} + +String ProjucerApplication::getEULAChecksumProperty() const +{ + return "eulaChecksum_" + MD5 (BinaryData::projucer_EULA_txt, + BinaryData::projucer_EULA_txtSize).toHexString(); +} + +void ProjucerApplication::setCurrentEULAAccepted (bool hasBeenAccepted) const +{ + const String checksum (getEULAChecksumProperty()); + auto& globals = getGlobalProperties(); + + if (hasBeenAccepted) + globals.setValue (checksum, 1); + else + globals.removeValue (checksum); + + globals.saveIfNeeded(); +} + +void ProjucerApplication::initCommandManager() +{ + commandManager = new ApplicationCommandManager(); + commandManager->registerAllCommandsForTarget (this); + + { + CodeDocument doc; + CppCodeEditorComponent ed (File(), doc); + commandManager->registerAllCommandsForTarget (&ed); + } + + registerGUIEditorCommands(); +} diff --git a/extras/Projucer/Source/Application/jucer_Application.h b/extras/Projucer/Source/Application/jucer_Application.h new file mode 100644 index 0000000000..a3b1730131 --- /dev/null +++ b/extras/Projucer/Source/Application/jucer_Application.h @@ -0,0 +1,141 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +#ifndef JUCER_APPLICATION_H_INCLUDED +#define JUCER_APPLICATION_H_INCLUDED + +#include "jucer_MainWindow.h" +#include "../Project/jucer_Module.h" +#include "jucer_AutoUpdater.h" +#include "../Code Editor/jucer_SourceCodeEditor.h" +#include "../Utility/jucer_ProjucerLookAndFeel.h" +struct ChildProcessCache; + +//============================================================================== +class ProjucerApplication : public JUCEApplication, + private Timer +{ +public: + ProjucerApplication(); + + static ProjucerApplication& getApp(); + static ApplicationCommandManager& getCommandManager(); + + //============================================================================== + void initialise (const String& commandLine) override; + void initialiseBasics(); + bool initialiseLog(); + bool initialiseLogger (const char* filePrefix); + void initialiseWindows (const String& commandLine); + + void shutdown() override; + void systemRequestedQuit() override; + void deleteLogger(); + + //============================================================================== + const String getApplicationName() override { return "Projucer"; } + const String getApplicationVersion() override { return ProjectInfo::versionString; } + + String getVersionDescription() const; + bool moreThanOneInstanceAllowed() override { return true; } // this is handled manually in initialise() + + void anotherInstanceStarted (const String& commandLine) override; + + //============================================================================== + MenuBarModel* getMenuModel(); + StringArray getMenuNames(); + void createMenu (PopupMenu&, const String& menuName); + void createFileMenu (PopupMenu&); + void createEditMenu (PopupMenu&); + void createViewMenu (PopupMenu&); + void createBuildMenu (PopupMenu&); + void createColourSchemeItems (PopupMenu&); + void createWindowMenu (PopupMenu&); + void createToolsMenu (PopupMenu&); + void handleMainMenuCommand (int menuItemID); + + //============================================================================== + void getAllCommands (Array&) override; + void getCommandInfo (CommandID commandID, ApplicationCommandInfo&) override; + bool perform (const InvocationInfo&) override; + + //============================================================================== + void createNewProject(); + void updateNewlyOpenedProject (Project&); + void askUserToOpenFile(); + bool openFile (const File&); + bool closeAllDocuments (bool askUserToSave); + bool closeAllMainWindows(); + + PropertiesFile::Options getPropertyFileOptionsFor (const String& filename); + + //============================================================================== + void showUTF8ToolWindow(); + void showSVGPathDataToolWindow(); + + void addLiveBuildConfigItem (Project&, TreeViewItem&); + + void showLoginForm(); + void hideLoginForm(); + + void updateBuildEnabledSetting(); + LatestVersionChecker* createVersionChecker() const; + + //============================================================================== + ProjucerLookAndFeel lookAndFeel; + + ScopedPointer settings; + ScopedPointer icons; + + struct MainMenuModel; + ScopedPointer menuModel; + + MainWindowList mainWindowList; + OpenDocumentManager openDocumentManager; + ScopedPointer commandManager; + + ScopedPointer appearanceEditorWindow, globalPreferencesWindow, utf8Window, svgPathWindow; + ScopedPointer logger; + + bool isRunningCommandLine; + ScopedPointer childProcessCache; + +private: + void* server = nullptr; + + Component* loginForm = nullptr; + ScopedPointer versionChecker; + + void loginOrLogout(); + bool currentEULAHasBeenAcceptedPreviously() const; + String getEULAChecksumProperty() const; + void setCurrentEULAAccepted (bool hasBeenAccepted) const; + + void showLoginFormAsyncIfNotTriedRecently(); + void timerCallback() override; + void initCommandManager(); +}; + + +#endif // JUCER_APPLICATION_H_INCLUDED diff --git a/extras/Introjucer/Source/Application/jucer_AutoUpdater.cpp b/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp similarity index 94% rename from extras/Introjucer/Source/Application/jucer_AutoUpdater.cpp rename to extras/Projucer/Source/Application/jucer_AutoUpdater.cpp index accbcbbe41..455efdfa2a 100644 --- a/extras/Introjucer/Source/Application/jucer_AutoUpdater.cpp +++ b/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp @@ -93,11 +93,11 @@ struct RelaunchTimer : private Timer File app = parentFolder.getChildFile ( #if JUCE_MAC - "Introjucer.app"); + "Projucer.app"); #elif JUCE_WINDOWS - "Introjucer.exe"); + "Projucer.exe"); #elif JUCE_LINUX - "Introjucer"); + "Projucer"); #endif JUCEApplication::quit(); @@ -109,7 +109,7 @@ struct RelaunchTimer : private Timer #if JUCE_MAC app.getChildFile ("Contents") .getChildFile ("MacOS") - .getChildFile ("Introjucer").setExecutePermission (true); + .getChildFile ("Projucer").setExecutePermission (true); #endif app.startAsProcess(); @@ -495,28 +495,17 @@ const LatestVersionChecker::JuceServerLocationsAndKeys& LatestVersionChecker::ge static LatestVersionChecker::JuceServerLocationsAndKeys urlsAndKeys = { "https://my.roli.com", - "495fb2d-cce9a8-3c52824-2da2679", + "265441b-343403c-20f6932-76361d", 1, - "/software_versions/update_to/Introjucer/" + "/software_versions/update_to/Projucer/" }; return urlsAndKeys; } -int LatestVersionChecker::getProductVersionNumber() const -{ - return ProjectInfo::versionNumber; -} - -const char* LatestVersionChecker::getProductName() const -{ - return ProjectInfo::projectName; -} - -bool LatestVersionChecker::allowCustomLocation() const -{ - return true; -} +int LatestVersionChecker::getProductVersionNumber() const { return ProjectInfo::versionNumber; } +const char* LatestVersionChecker::getProductName() const { return ProjectInfo::projectName; } +bool LatestVersionChecker::allowCustomLocation() const { return true; } Result LatestVersionChecker::performUpdate (const MemoryBlock& data, File& targetFolder) { @@ -769,7 +758,7 @@ void LatestVersionChecker::askUserForLocationToDownload (URL& newVersionToDownlo TRANS ("Downloading new JUCE version"), TRANS ("This folder is a GIT repository!\n\n" "You should use a \"git pull\" to update it to the latest version. " - "Or to use the Introjucer to get an update, you should select an empty " + "Or to use the Projucer to get an update, you should select an empty " "folder into which you'd like to download the new code.")); return; diff --git a/extras/Introjucer/Source/Application/jucer_AutoUpdater.h b/extras/Projucer/Source/Application/jucer_AutoUpdater.h similarity index 91% rename from extras/Introjucer/Source/Application/jucer_AutoUpdater.h rename to extras/Projucer/Source/Application/jucer_AutoUpdater.h index 06607654c7..cdc4ef27b8 100644 --- a/extras/Introjucer/Source/Application/jucer_AutoUpdater.h +++ b/extras/Projucer/Source/Application/jucer_AutoUpdater.h @@ -79,10 +79,10 @@ public: virtual Result performUpdate (const MemoryBlock& data, File& targetFolder); protected: - virtual const JuceServerLocationsAndKeys& getJuceServerURLsAndKeys() const; - virtual int getProductVersionNumber() const; - virtual const char* getProductName() const; - virtual bool allowCustomLocation() const; + const JuceServerLocationsAndKeys& getJuceServerURLsAndKeys() const; + int getProductVersionNumber() const; + const char* getProductName() const; + bool allowCustomLocation() const; private: //============================================================================== diff --git a/extras/Projucer/Source/Application/jucer_CommandIDs.h b/extras/Projucer/Source/Application/jucer_CommandIDs.h new file mode 100644 index 0000000000..b3b2e4cce1 --- /dev/null +++ b/extras/Projucer/Source/Application/jucer_CommandIDs.h @@ -0,0 +1,98 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +/** + A namespace to hold all the possible command IDs. +*/ +namespace CommandIDs +{ + enum + { + newProject = 0x200010, + open = 0x200020, + closeDocument = 0x200030, + saveDocument = 0x200040, + saveDocumentAs = 0x200041, + + closeProject = 0x200051, + saveProject = 0x200060, + saveAll = 0x200080, + openInIDE = 0x200072, + saveAndOpenInIDE = 0x200073, + createNewExporter = 0x20007d, + + showUTF8Tool = 0x200076, + showGlobalPreferences = 0x200077, + showConfigPanel = 0x200074, + showFilePanel = 0x200078, + showTranslationTool = 0x200079, + showProjectSettings = 0x20007a, + showProjectModules = 0x20007b, + showSVGPathTool = 0x20007c, + + closeWindow = 0x201001, + closeAllDocuments = 0x201000, + goToPreviousDoc = 0x201002, + goToNextDoc = 0x201003, + goToCounterpart = 0x201004, + deleteSelectedItem = 0x201005, + + showFindPanel = 0x2010a0, + findSelection = 0x2010a1, + findNext = 0x2010a2, + findPrevious = 0x2010a3, + + + showBuildTab = 0x410001, + cleanAll = 0x410010, + enableBuild = 0x410011, + showWarnings = 0x410012, + reinstantiateComp = 0x410013, + launchApp = 0x410014, + killApp = 0x410015, + buildNow = 0x41001a, + toggleContinuousBuild = 0x41001b, + + enableSnapToGrid = 0x410016, + zoomIn = 0x410017, + zoomOut = 0x410018, + zoomNormal = 0x410019, + spaceBarDrag = 0x4100a1, + + nextError = 0x4100b1, + prevError = 0x4100b2, + + loginLogout = 0x4100c1, + + lastCommandIDEntry + }; +} + +namespace CommandCategories +{ + static const char* const general = "General"; + static const char* const editing = "Editing"; + static const char* const view = "View"; + static const char* const windows = "Windows"; +} diff --git a/extras/Introjucer/Source/Application/jucer_CommandLine.cpp b/extras/Projucer/Source/Application/jucer_CommandLine.cpp similarity index 94% rename from extras/Introjucer/Source/Application/jucer_CommandLine.cpp rename to extras/Projucer/Source/Application/jucer_CommandLine.cpp index 4ffe971c07..f388d7ff6a 100644 --- a/extras/Introjucer/Source/Application/jucer_CommandLine.cpp +++ b/extras/Projucer/Source/Application/jucer_CommandLine.cpp @@ -155,7 +155,7 @@ namespace }; //============================================================================== - /* Running a command-line of the form "introjucer --resave foobar.jucer" will try to load + /* Running a command-line of the form "projucer --resave foobar.jucer" will try to load that project and re-export all of its targets. */ static void resaveProject (const StringArray& args, bool justSaveResources) @@ -170,6 +170,15 @@ namespace proj.save (justSaveResources); } + //============================================================================== + static void getVersion (const StringArray& args) + { + checkArgumentCount (args, 2); + LoadedProject proj (args[1]); + + std::cout << proj.project->getVersionString() << std::endl; + } + //============================================================================== static void setVersion (const StringArray& args) { @@ -266,7 +275,7 @@ namespace jassert (targetFolder.isDirectory()); const File moduleFolderParent (moduleFolder.getParentDirectory()); - LibraryModule module (moduleFolder.getChildFile (ModuleDescription::getManifestFileName())); + LibraryModule module (moduleFolder); if (! module.isValid()) throw CommandLineError (moduleFolder.getFullPathName() + " is not a valid module folder!"); @@ -314,7 +323,7 @@ namespace while (i.next()) { - LibraryModule module (i.getFile().getChildFile (ModuleDescription::getManifestFileName())); + LibraryModule module (i.getFile()); if (module.isValid()) { @@ -350,7 +359,7 @@ namespace const String content (file.loadFileAsString()); if (content.contains ("%%") && content.contains ("//[")) - return; // ignore introjucer GUI template files + return; // ignore projucer GUI template files StringArray lines; lines.addLines (content); @@ -604,6 +613,9 @@ namespace << " " << appName << " --resave-resources project_file" << std::endl << " Resaves just the binary resources for a project." << std::endl << std::endl + << " " << appName << " --get-version project_file" << std::endl + << " Returns the version number of a project." << std::endl + << std::endl << " " << appName << " --set-version version_number project_file" << std::endl << " Updates the version number in a project." << std::endl << std::endl @@ -655,6 +667,7 @@ int performCommandLine (const String& commandLine) if (matchArgument (command, "h")) { showHelp(); return 0; } if (matchArgument (command, "resave")) { resaveProject (args, false); return 0; } if (matchArgument (command, "resave-resources")) { resaveProject (args, true); return 0; } + if (matchArgument (command, "get-version")) { getVersion (args); return 0; } if (matchArgument (command, "set-version")) { setVersion (args); return 0; } if (matchArgument (command, "bump-version")) { bumpVersion (args); return 0; } if (matchArgument (command, "git-tag-version")) { gitTag (args); return 0; } diff --git a/extras/Introjucer/Source/Application/jucer_CommandLine.h b/extras/Projucer/Source/Application/jucer_CommandLine.h similarity index 100% rename from extras/Introjucer/Source/Application/jucer_CommandLine.h rename to extras/Projucer/Source/Application/jucer_CommandLine.h diff --git a/extras/Introjucer/Source/Application/jucer_CommonHeaders.h b/extras/Projucer/Source/Application/jucer_CommonHeaders.h similarity index 100% rename from extras/Introjucer/Source/Application/jucer_CommonHeaders.h rename to extras/Projucer/Source/Application/jucer_CommonHeaders.h diff --git a/extras/Introjucer/Source/Application/jucer_DocumentEditorComponent.cpp b/extras/Projucer/Source/Application/jucer_DocumentEditorComponent.cpp similarity index 89% rename from extras/Introjucer/Source/Application/jucer_DocumentEditorComponent.cpp rename to extras/Projucer/Source/Application/jucer_DocumentEditorComponent.cpp index c1aad3527e..7df54bd151 100644 --- a/extras/Introjucer/Source/Application/jucer_DocumentEditorComponent.cpp +++ b/extras/Projucer/Source/Application/jucer_DocumentEditorComponent.cpp @@ -32,12 +32,12 @@ DocumentEditorComponent::DocumentEditorComponent (OpenDocumentManager::Document* doc) : document (doc) { - IntrojucerApp::getApp().openDocumentManager.addListener (this); + ProjucerApplication::getApp().openDocumentManager.addListener (this); } DocumentEditorComponent::~DocumentEditorComponent() { - IntrojucerApp::getApp().openDocumentManager.removeListener (this); + ProjucerApplication::getApp().openDocumentManager.removeListener (this); } bool DocumentEditorComponent::documentAboutToClose (OpenDocumentManager::Document* closingDoc) diff --git a/extras/Introjucer/Source/Application/jucer_DocumentEditorComponent.h b/extras/Projucer/Source/Application/jucer_DocumentEditorComponent.h similarity index 100% rename from extras/Introjucer/Source/Application/jucer_DocumentEditorComponent.h rename to extras/Projucer/Source/Application/jucer_DocumentEditorComponent.h diff --git a/extras/Projucer/Source/Application/jucer_EulaDialogue.h b/extras/Projucer/Source/Application/jucer_EulaDialogue.h new file mode 100644 index 0000000000..dff2f27446 --- /dev/null +++ b/extras/Projucer/Source/Application/jucer_EulaDialogue.h @@ -0,0 +1,79 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +#ifndef PROJUCER_EULADIALOGUE_H_INCLUDED +#define PROJUCER_EULADIALOGUE_H_INCLUDED + + +class EULADialogue : public AlertWindow +{ +public: + EULADialogue() + : AlertWindow ("End User Licence Agreement", + "Please accept the End User Licence Agreement to run the Projucer.", + AlertWindow::NoIcon, + nullptr) + { + setColour (AlertWindow::backgroundColourId, ProjucerDialogLookAndFeel::getBackgroundColour()); + setColour (AlertWindow::textColourId, ProjucerDialogLookAndFeel::getBrightButtonColour()); + setLookAndFeel (&lookAndFeel); + + addButton ("Accept", EULADialogue::accepted); + addButton ("Decline", EULADialogue::declined); + + addCustomComponent (&component); + } + + enum EULADialogueResult + { + accepted, + declined + }; + +private: + struct EULADialogueComponent : public Component + { + EULADialogueComponent() + { + setSize (700, 550); + + editor.setSize (getWidth(), getHeight() - 50); + editor.setReadOnly (true); + editor.setCaretVisible (false); + editor.setMultiLine (true, true); + editor.setScrollbarsShown (true); + editor.setText (BinaryData::projucer_EULA_txt); + + addAndMakeVisible (editor); + } + + TextEditor editor; + }; + + EULADialogueComponent component; + ProjucerDialogLookAndFeel lookAndFeel; +}; + + +#endif // PROJUCER_EULADIALOGUE_H_INCLUDED diff --git a/extras/Introjucer/Source/Application/jucer_FilePreviewComponent.h b/extras/Projucer/Source/Application/jucer_FilePreviewComponent.h similarity index 94% rename from extras/Introjucer/Source/Application/jucer_FilePreviewComponent.h rename to extras/Projucer/Source/Application/jucer_FilePreviewComponent.h index bb0ebfce4a..d4532d5315 100644 --- a/extras/Introjucer/Source/Application/jucer_FilePreviewComponent.h +++ b/extras/Projucer/Source/Application/jucer_FilePreviewComponent.h @@ -25,7 +25,7 @@ #ifndef JUCER_FILEPREVIEWCOMPONENT_H_INCLUDED #define JUCER_FILEPREVIEWCOMPONENT_H_INCLUDED -#include "../Utility/jucer_IntrojucerLookAndFeel.h" +#include "../Utility/jucer_ProjucerLookAndFeel.h" //============================================================================== @@ -42,7 +42,7 @@ public: void paint (Graphics& g) { - IntrojucerLookAndFeel::fillWithBackgroundTexture (*this, g); + ProjucerLookAndFeel::fillWithBackgroundTexture (*this, g); if (drawable != nullptr) { diff --git a/extras/Introjucer/Source/Application/jucer_GlobalPreferences.cpp b/extras/Projucer/Source/Application/jucer_GlobalPreferences.cpp similarity index 100% rename from extras/Introjucer/Source/Application/jucer_GlobalPreferences.cpp rename to extras/Projucer/Source/Application/jucer_GlobalPreferences.cpp diff --git a/extras/Introjucer/Source/Application/jucer_GlobalPreferences.h b/extras/Projucer/Source/Application/jucer_GlobalPreferences.h similarity index 100% rename from extras/Introjucer/Source/Application/jucer_GlobalPreferences.h rename to extras/Projucer/Source/Application/jucer_GlobalPreferences.h diff --git a/extras/Projucer/Source/Application/jucer_LoginForm.h b/extras/Projucer/Source/Application/jucer_LoginForm.h new file mode 100644 index 0000000000..e4a2b00c6f --- /dev/null +++ b/extras/Projucer/Source/Application/jucer_LoginForm.h @@ -0,0 +1,301 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +#ifndef PROJUCER_LOGINFORM_H_INCLUDED +#define PROJUCER_LOGINFORM_H_INCLUDED + + +class LoginForm : public Component, + public ButtonListener, + private TextEditor::Listener, + private ProjucerLicences::LoginCallback +{ +public: + LoginForm() + : cancelButton (TRANS("Cancel")), + loginButton (TRANS("Login")), + registerButton (TRANS("Register")), + userIDEditor ("User ID text editor"), + passwordEditor ("Password TextEditor", juce_wchar (0x2022)), + userIDLabel ("User-ID Label", TRANS("Username")), + passwordLabel ("Password Label", TRANS("Password")), + errorLabel ("Error Label", String()), + rememberLoginCheckbox (TRANS("Remember login")), + forgotPasswordButton (TRANS("Forgotten your password?"), + URL (getServerURL() + "reset_password?referer=projucer")), + rememberLogin (true) + { + setLookAndFeel (&lookAndFeel); + + ScopedPointer svg (XmlDocument::parse (BinaryData::projucer_login_bg_svg)); + backgroundImage = Drawable::createFromSVG (*svg); + + initialiseTextField (passwordEditor, passwordLabel); + addAndMakeVisible (passwordEditor); + initialiseTextField (userIDEditor, userIDLabel); + addAndMakeVisible (userIDEditor); + userIDEditor.setText (ProjucerLicences::getInstance()->getLoginName()); + + initialiseLabel (errorLabel, Font::plain, ProjucerDialogLookAndFeel::getErrorTextColour()); + addChildComponent (errorLabel); + + addChildComponent (spinner); + + rememberLoginCheckbox.setColour (ToggleButton::textColourId, Colours::white); + rememberLoginCheckbox.setColour (TextEditor::focusedOutlineColourId, Colours::transparentBlack); + rememberLoginCheckbox.setToggleState (rememberLogin, dontSendNotification); + addAndMakeVisible (rememberLoginCheckbox); + rememberLoginCheckbox.addListener (this); + + forgotPasswordButton.setColour (HyperlinkButton::textColourId, Colours::white); + forgotPasswordButton.setFont (lookAndFeel.getContaxProFont().withHeight (lookAndFeel.labelFontSize), false, Justification::topLeft); + addAndMakeVisible (forgotPasswordButton); + + initialiseButton (loginButton, KeyPress::returnKey); + addAndMakeVisible (loginButton); + initialiseButton (registerButton); + addAndMakeVisible (registerButton); + initialiseButton (cancelButton, KeyPress::escapeKey); + addAndMakeVisible (cancelButton); + cancelButton.getProperties().set ("isSecondaryButton", true); + + centreWithSize (425, 685); + } + + ~LoginForm() + { + ProjucerApplication::getApp().hideLoginForm(); + } + + //============================================================================== + void paint (Graphics& g) override + { + g.fillAll (Colour (0xff4d4d4d)); + + g.setColour (Colours::black); + backgroundImage->drawWithin (g, getLocalBounds().toFloat(), RectanglePlacement::centred, 1.0f); + } + + void resized() override + { + const int xMargin = 81; + const int yMargin = 132; + + const int labelHeight = 24; + const int textFieldHeight = 33; + + Rectangle r = getLocalBounds().reduced (xMargin, yMargin); + r.setWidth (r.getWidth() + 1); + + Point labelOffset = Point (-6, 4); + + userIDLabel.setBounds (r.removeFromTop (labelHeight) + labelOffset); + userIDEditor.setBounds (r.removeFromTop (textFieldHeight)); + + passwordLabel.setBounds (r.removeFromTop (labelHeight) + labelOffset); + passwordEditor.setBounds (r.removeFromTop (textFieldHeight)); + + r.removeFromTop (6); + rememberLoginCheckbox.setBounds (r.removeFromTop (labelHeight) + Point (-4, 0)); + + r.removeFromTop (8); + errorLabel.setBounds (r.removeFromTop (43).withTrimmedLeft (15)); + spinner.setBounds (errorLabel.getBounds().withSizeKeepingCentre (20, 20) + Point (-7, -10)); + + const int buttonHeight = 40; + const int buttonMargin = 13; + + loginButton.setBounds (r.removeFromTop (buttonHeight)); + r.removeFromTop (buttonMargin); + + registerButton.setBounds (r.withHeight (buttonHeight).removeFromLeft ((r.getWidth() - buttonMargin) / 2)); + cancelButton.setBounds (r.withHeight (buttonHeight).removeFromRight ((r.getWidth() - buttonMargin) / 2)); + + r.removeFromTop (45); + forgotPasswordButton.setBounds (r.withHeight (labelHeight) + Point (-2, 0)); + } + +private: + //============================================================================== + struct Spinner : public Component, + private Timer + { + Spinner() + { + setInterceptsMouseClicks (false, false); + } + + void paint (Graphics& g) override + { + getLookAndFeel().drawSpinningWaitAnimation (g, Colours::white, 0, 0, getWidth(), getHeight()); + startTimer (50); + } + + void timerCallback() override + { + if (isVisible()) + repaint(); + else + stopTimer(); + } + }; + + //============================================================================== + void initialiseTextField (TextEditor& textField, Label& associatedLabel) + { + textField.setColour (TextEditor::focusedOutlineColourId, Colours::transparentWhite); + textField.setColour (TextEditor::highlightColourId, ProjucerDialogLookAndFeel::getErrorTextColour()); + textField.setFont (lookAndFeel.getContaxProFont().withHeight (17)); + textField.addListener (this); + associatedLabel.setColour (Label::textColourId, Colours::white); + addAndMakeVisible (associatedLabel); + } + + void initialiseButton (TextButton& button, const int associatedKeyPress = 0) + { + if (associatedKeyPress != 0) + button.addShortcut (KeyPress (associatedKeyPress)); + + button.addListener (this); + } + + void initialiseLabel (Label& label, Font::FontStyleFlags fontFlags, Colour textColour) + { + label.setFont (Font (15.0f, fontFlags)); + label.setJustificationType (Justification::topLeft); + label.setColour (Label::textColourId, textColour); + } + + //============================================================================== + void buttonClicked (Button* button) override + { + if (button == &cancelButton) cancelButtonClicked(); + if (button == &loginButton) loginButtonClicked(); + if (button == ®isterButton) registerButtonClicked(); + if (button == &rememberLoginCheckbox) rememberLoginCheckboxClicked(); + } + + void cancelButtonClicked() + { + if (DialogWindow* parentDialog = findParentComponentOfClass()) + parentDialog->exitModalState (-1); + } + + void loginButtonClicked() + { + loginName = userIDEditor.getText(); + password = passwordEditor.getText(); + + if (! isValidEmail (loginName) || password.isEmpty()) + { + handleInvalidLogin(); + return; + } + + loginButton.setEnabled (false); + cancelButton.setEnabled (false); + registerButton.setEnabled (false); + errorLabel.setVisible (false); + spinner.setVisible (true); + + ProjucerLicences::getInstance()->login (loginName, password, rememberLogin, this); + } + + void registerButtonClicked() + { + URL (getServerURL() + "projucer_trial").launchInDefaultBrowser(); + } + + void textEditorReturnKeyPressed (TextEditor&) override + { + loginButtonClicked(); + } + + void rememberLoginCheckboxClicked() + { + rememberLogin = rememberLoginCheckbox.getToggleState(); + } + + void handleInvalidLogin() + { + if (!isValidEmail (loginName)) + loginError (TRANS ("Please enter a valid e-mail address"), true); + + if (password.isEmpty()) + loginError (TRANS ("Please specify a valid password"), false); + } + + bool isValidEmail (const String& email) + { + return email.isNotEmpty(); + } + + void loginError (const String& errorMessage, bool hiliteUserID) override + { + spinner.setVisible (false); + errorLabel.setText (errorMessage, dontSendNotification); + errorLabel.setVisible (true); + + TextEditor& field = hiliteUserID ? userIDEditor : passwordEditor; + field.setColour (TextEditor::focusedOutlineColourId, Colour (0x84F08080)); + field.toFront (true); + + loginButton.setEnabled (true); + cancelButton.setEnabled (true); + registerButton.setEnabled (true); + + ProjucerApplication::getApp().updateBuildEnabledSetting(); + } + + void loginSuccess (const String& username, const String& apiKey) override + { + ignoreUnused (username, apiKey); + + spinner.setVisible (false); + if (DialogWindow* parentDialog = findParentComponentOfClass()) + { + parentDialog->exitModalState (0); + ProjucerApplication::getApp().updateBuildEnabledSetting(); + } + } + + TextButton cancelButton, loginButton, registerButton; + TextEditor userIDEditor, passwordEditor; + Label userIDLabel, passwordLabel, errorLabel; + ToggleButton rememberLoginCheckbox; + HyperlinkButton forgotPasswordButton; + Spinner spinner; + String loginName, password; + bool rememberLogin; + ScopedPointer backgroundImage; + + ProjucerDialogLookAndFeel lookAndFeel; + + static String getServerURL() { return "https://my.roli.com/"; } + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (LoginForm) +}; + + +#endif // PROJUCER_LOGINFORM_H_INCLUDED diff --git a/extras/Projucer/Source/Application/jucer_Main.cpp b/extras/Projucer/Source/Application/jucer_Main.cpp new file mode 100644 index 0000000000..4be597c043 --- /dev/null +++ b/extras/Projucer/Source/Application/jucer_Main.cpp @@ -0,0 +1,67 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +#include "../jucer_Headers.h" + +#include "jucer_Application.h" +#include "jucer_OpenDocumentManager.h" +#include "../Code Editor/jucer_SourceCodeEditor.h" +#include "../Utility/jucer_FilePathPropertyComponent.h" +#include "../Project/jucer_TreeItemTypes.h" +#include "../Utility/jucer_UTF8Component.h" +#include "../Utility/jucer_SVGPathDataComponent.h" +#include "../Utility/jucer_FloatingToolWindow.h" +#include "../Utility/jucer_DialogLookAndFeel.h" + +#include "../LiveBuildEngine/projucer_MessageIDs.h" +#include "../LiveBuildEngine/projucer_CppHelpers.h" +#include "../LiveBuildEngine/projucer_SourceCodeRange.h" +#include "../LiveBuildEngine/projucer_ClassDatabase.h" +#include "../LiveBuildEngine/projucer_DiagnosticMessage.h" + +#include "../LiveBuildEngine/projucer_CompileEngineDLL.h" +#include "../LiveBuildEngine/projucer_CompileEngineClient.h" +#include "../LiveBuildEngine/projucer_ActivityListComponent.h" +#include "../LiveBuildEngine/projucer_BuildTabStatusComp.h" +#include "../LiveBuildEngine/projucer_ComponentListComp.h" +#include "../LiveBuildEngine/projucer_CompileEngineServer.h" + +#include "jucer_ProjucerLicenses.h" +juce_ImplementSingleton (ProjucerLicences); + +struct ProjucerAppClasses +{ + #include "../Code Editor/jucer_LiveBuildCodeEditor.h" + #include "../LiveBuildEngine/projucer_ErrorListComponent.h" +}; + +#include "jucer_LoginForm.h" +#include "jucer_EulaDialogue.h" +#include "jucer_CommandLine.h" + +#include "../Project/jucer_ProjectContentComponent.cpp" +#include "jucer_Application.cpp" + + +START_JUCE_APPLICATION (ProjucerApplication) diff --git a/extras/Introjucer/Source/Application/jucer_MainWindow.cpp b/extras/Projucer/Source/Application/jucer_MainWindow.cpp similarity index 85% rename from extras/Introjucer/Source/Application/jucer_MainWindow.cpp rename to extras/Projucer/Source/Application/jucer_MainWindow.cpp index 0c72c510f8..3980a41265 100644 --- a/extras/Introjucer/Source/Application/jucer_MainWindow.cpp +++ b/extras/Projucer/Source/Application/jucer_MainWindow.cpp @@ -33,7 +33,7 @@ //============================================================================== MainWindow::MainWindow() - : DocumentWindow (IntrojucerApp::getApp().getApplicationName(), + : DocumentWindow (ProjucerApplication::getApp().getApplicationName(), Colour::greyLevel (0.6f), DocumentWindow::allButtons, false) @@ -41,7 +41,7 @@ MainWindow::MainWindow() setUsingNativeTitleBar (true); #if ! JUCE_MAC - setMenuBar (IntrojucerApp::getApp().menuModel); + setMenuBar (ProjucerApplication::getApp().getMenuModel()); #endif createProjectContentCompIfNeeded(); @@ -49,7 +49,7 @@ MainWindow::MainWindow() setResizable (true, false); centreWithSize (800, 600); - ApplicationCommandManager& commandManager = IntrojucerApp::getCommandManager(); + ApplicationCommandManager& commandManager = ProjucerApplication::getCommandManager(); // Register all the app commands.. commandManager.registerAllCommandsForTarget (this); @@ -81,7 +81,7 @@ MainWindow::~MainWindow() setMenuBar (nullptr); #endif - removeKeyListener (IntrojucerApp::getCommandManager().getKeyMappings()); + removeKeyListener (ProjucerApplication::getCommandManager().getKeyMappings()); // save the current size and position to our settings file.. getGlobalProperties().setValue ("lastMainWindowPos", getWindowStateAsString()); @@ -95,7 +95,7 @@ void MainWindow::createProjectContentCompIfNeeded() if (getProjectContentComponent() == nullptr) { clearContentComponent(); - setContentOwned (IntrojucerApp::getApp().createProjectContentComponent(), false); + setContentOwned (new ProjectContentComponent(), false); jassert (getProjectContentComponent() != nullptr); } } @@ -117,7 +117,7 @@ ProjectContentComponent* MainWindow::getProjectContentComponent() const void MainWindow::closeButtonPressed() { - IntrojucerApp::getApp().mainWindowList.closeWindow (this); + ProjucerApplication::getApp().mainWindowList.closeWindow (this); } bool MainWindow::closeProject (Project* project) @@ -136,7 +136,7 @@ bool MainWindow::closeProject (Project* project) pcc->hideEditor(); } - if (! IntrojucerApp::getApp().openDocumentManager.closeAllDocumentsUsingProject (*project, true)) + if (! ProjucerApplication::getApp().openDocumentManager.closeAllDocumentsUsingProject (*project, true)) return false; FileBasedDocument::SaveResult r = project->saveIfNeededAndUserAgrees(); @@ -161,7 +161,7 @@ void MainWindow::setProject (Project* newProject) getProjectContentComponent()->setProject (newProject); currentProject = newProject; getProjectContentComponent()->updateMainWindowTitle(); - IntrojucerApp::getCommandManager().commandStatusChanged(); + ProjucerApplication::getCommandManager().commandStatusChanged(); } void MainWindow::restoreWindowPosition() @@ -181,7 +181,7 @@ bool MainWindow::canOpenFile (const File& file) const { return (! file.isDirectory()) && (file.hasFileExtension (Project::projectFileExtension) - || IntrojucerApp::getApp().openDocumentManager.canOpenFile (file)); + || ProjucerApplication::getApp().openDocumentManager.canOpenFile (file)); } bool MainWindow::openFile (const File& file) @@ -272,12 +272,12 @@ void MainWindow::activeWindowStatusChanged() if (ProjectContentComponent* const pcc = getProjectContentComponent()) pcc->updateMissingFileStatuses(); - IntrojucerApp::getApp().openDocumentManager.reloadModifiedFiles(); + ProjucerApplication::getApp().openDocumentManager.reloadModifiedFiles(); } void MainWindow::updateTitle (const String& documentName) { - String name (IntrojucerApp::getApp().getApplicationName()); + String name (ProjucerApplication::getApp().getApplicationName()); if (currentProject != nullptr) { @@ -322,13 +322,13 @@ void MainWindow::getCommandInfo (const CommandID commandID, ApplicationCommandIn { switch (commandID) { - case CommandIDs::closeWindow: - result.setInfo ("Close Window", "Closes the current window", CommandCategories::general, 0); - result.defaultKeypresses.add (KeyPress ('w', ModifierKeys::commandModifier, 0)); - break; + case CommandIDs::closeWindow: + result.setInfo ("Close Window", "Closes the current window", CommandCategories::general, 0); + result.defaultKeypresses.add (KeyPress ('w', ModifierKeys::commandModifier, 0)); + break; - default: - break; + default: + break; } } @@ -401,6 +401,24 @@ void MainWindowList::closeWindow (MainWindow* w) void MainWindowList::openDocument (OpenDocumentManager::Document* doc, bool grabFocus) { + Desktop& desktop = Desktop::getInstance(); + + for (int i = desktop.getNumComponents(); --i >= 0;) + { + if (MainWindow* const mw = dynamic_cast (desktop.getComponent(i))) + { + if (ProjectContentComponent* pcc = mw->getProjectContentComponent()) + { + if (pcc->hasFileInRecentList (doc->getFile())) + { + mw->toFront (true); + mw->getProjectContentComponent()->showDocument (doc, grabFocus); + return; + } + } + } + } + getOrCreateFrontmostWindow()->getProjectContentComponent()->showDocument (doc, grabFocus); } @@ -513,8 +531,8 @@ void MainWindowList::avoidSuperimposedWindows (MainWindow* const mw) void MainWindowList::saveCurrentlyOpenProjectList() { Array projects; - Desktop& desktop = Desktop::getInstance(); + for (int i = 0; i < desktop.getNumComponents(); ++i) { if (MainWindow* const mw = dynamic_cast (desktop.getComponent(i))) @@ -553,7 +571,7 @@ Project* MainWindowList::getFrontmostProject() File findDefaultModulesFolder (bool mustContainJuceCoreModule) { - const MainWindowList& windows = IntrojucerApp::getApp().mainWindowList; + const MainWindowList& windows = ProjucerApplication::getApp().mainWindowList; for (int i = windows.windows.size(); --i >= 0;) { @@ -584,5 +602,5 @@ File findDefaultModulesFolder (bool mustContainJuceCoreModule) f = parent; } - return File::nonexistent; + return File(); } diff --git a/extras/Introjucer/Source/Application/jucer_MainWindow.h b/extras/Projucer/Source/Application/jucer_MainWindow.h similarity index 100% rename from extras/Introjucer/Source/Application/jucer_MainWindow.h rename to extras/Projucer/Source/Application/jucer_MainWindow.h diff --git a/extras/Introjucer/Source/Application/jucer_OpenDocumentManager.cpp b/extras/Projucer/Source/Application/jucer_OpenDocumentManager.cpp similarity index 91% rename from extras/Introjucer/Source/Application/jucer_OpenDocumentManager.cpp rename to extras/Projucer/Source/Application/jucer_OpenDocumentManager.cpp index 25e26823d9..81b55af4f3 100644 --- a/extras/Introjucer/Source/Application/jucer_OpenDocumentManager.cpp +++ b/extras/Projucer/Source/Application/jucer_OpenDocumentManager.cpp @@ -150,7 +150,7 @@ OpenDocumentManager::Document* OpenDocumentManager::openFile (Project* project, jassert (d != nullptr); // should always at least have been picked up by UnknownDocument documents.add (d); - IntrojucerApp::getCommandManager().commandStatusChanged(); + ProjucerApplication::getCommandManager().commandStatusChanged(); return d; } @@ -207,7 +207,7 @@ bool OpenDocumentManager::closeDocument (int index, bool saveIfNeeded) return false; documents.remove (index); - IntrojucerApp::getCommandManager().commandStatusChanged(); + ProjucerApplication::getCommandManager().commandStatusChanged(); } return true; @@ -262,8 +262,8 @@ bool OpenDocumentManager::saveAll() if (! documents.getUnchecked (i)->save()) return false; - IntrojucerApp::getApp().mainWindowList.updateAllWindowTitles(); - IntrojucerApp::getCommandManager().commandStatusChanged(); + ProjucerApplication::getApp().mainWindowList.updateAllWindowTitles(); + ProjucerApplication::getCommandManager().commandStatusChanged(); } return true; @@ -295,12 +295,12 @@ void OpenDocumentManager::fileHasBeenRenamed (const File& oldFile, const File& n //============================================================================== RecentDocumentList::RecentDocumentList() { - IntrojucerApp::getApp().openDocumentManager.addListener (this); + ProjucerApplication::getApp().openDocumentManager.addListener (this); } RecentDocumentList::~RecentDocumentList() { - IntrojucerApp::getApp().openDocumentManager.removeListener (this); + ProjucerApplication::getApp().openDocumentManager.removeListener (this); } void RecentDocumentList::clear() @@ -347,6 +347,15 @@ OpenDocumentManager::Document* RecentDocumentList::getNext() return d; } +bool RecentDocumentList::contains (const File& f) const +{ + for (int i = previousDocs.size(); --i >= 0;) + if (previousDocs.getUnchecked(i)->getFile() == f) + return true; + + return false; +} + OpenDocumentManager::Document* RecentDocumentList::getClosestPreviousDocOtherThan (OpenDocumentManager::Document* oneToAvoid) const { for (int i = previousDocs.size(); --i >= 0;) @@ -371,7 +380,7 @@ static void restoreDocList (Project& project, Array isThisTheMessageThread()); + + userCallback = callback; + dll.projucer_login (userLoginName.toRawUTF8(), userPassword.toRawUTF8(), + remainLoggedIn, staticCallbackFunction, this); + } + else + { + callback->loginError ("The Projucer DLL is missing", false); + } + } + + // Log the user out. Only call on the message thread! + void logout() + { + jassert (MessageManager::getInstance()->isThisTheMessageThread()); + + if (dll.isLoaded()) + dll.projucer_logout(); + } + + bool isLoggedIn() const noexcept + { + return dll.isLoaded() && dll.projucer_isLoggedIn(); + } + + String getLoginName() const noexcept + { + if (dll.isLoaded()) + { + char name[256] = { 0 }; + dll.projucer_getLoginName (name); + return String::fromUTF8 (name); + } + + return String(); + } + + bool isDLLPresent() const + { + return dll.isLoaded(); + } + + bool hasLiveCodingLicence() const + { + return isDLLPresent() && dll.projucer_hasLiveCodingLicence(); + } + +private: + CompileEngineDLL dll; + LoginCallback* userCallback = nullptr; + + void callbackFunction (const char* errorMessage, const char* username, const char* apiKey) + { + jassert (userCallback != nullptr); + + if (userCallback != nullptr) + { + if (errorMessage != nullptr) + userCallback->loginError (String::fromUTF8 (errorMessage), false); + else + userCallback->loginSuccess (String::fromUTF8 (username), String::fromUTF8 (apiKey)); + } + } + + static void staticCallbackFunction (void* userInfo, const char* errorMessage, const char* username, const char* apiKey) + { + static_cast (userInfo)->callbackFunction (errorMessage, username, apiKey); + } + + static void crashCallback (const char*) {} + static void quitCallback() {} +}; + + + +#endif // PROJUCER_PROJUCERLICENSES_H_INCLUDED diff --git a/extras/Projucer/Source/BinaryData/ContaxPro45Lig.otf b/extras/Projucer/Source/BinaryData/ContaxPro45Lig.otf new file mode 100755 index 0000000000000000000000000000000000000000..82dfbee6f38e7a30bb2a642f1f16d1ed3599eee3 GIT binary patch literal 24660 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 hB0n-AZnGOkrp3qDQ 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

A_NK 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

M8!@xFZk@7EvEl{7*BqA)+5fR;dW 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 HI70pxmKE|V literal 0 HcmV?d00001 diff --git a/extras/Introjucer/Source/BinaryData/RecentFilesMenuTemplate.nib b/extras/Projucer/Source/BinaryData/RecentFilesMenuTemplate.nib similarity index 100% rename from extras/Introjucer/Source/BinaryData/RecentFilesMenuTemplate.nib rename to extras/Projucer/Source/BinaryData/RecentFilesMenuTemplate.nib diff --git a/extras/Introjucer/Source/BinaryData/background_logo.svg b/extras/Projucer/Source/BinaryData/background_logo.svg similarity index 100% rename from extras/Introjucer/Source/BinaryData/background_logo.svg rename to extras/Projucer/Source/BinaryData/background_logo.svg diff --git a/extras/Introjucer/Source/BinaryData/background_tile.png b/extras/Projucer/Source/BinaryData/background_tile.png similarity index 100% rename from extras/Introjucer/Source/BinaryData/background_tile.png rename to extras/Projucer/Source/BinaryData/background_tile.png diff --git a/extras/Introjucer/Source/BinaryData/colourscheme_dark.xml b/extras/Projucer/Source/BinaryData/colourscheme_dark.xml similarity index 100% rename from extras/Introjucer/Source/BinaryData/colourscheme_dark.xml rename to extras/Projucer/Source/BinaryData/colourscheme_dark.xml diff --git a/extras/Introjucer/Source/BinaryData/colourscheme_light.xml b/extras/Projucer/Source/BinaryData/colourscheme_light.xml similarity index 100% rename from extras/Introjucer/Source/BinaryData/colourscheme_light.xml rename to extras/Projucer/Source/BinaryData/colourscheme_light.xml diff --git a/modules/juce_audio_plugin_client/AU/juce_AU_Resources.r b/extras/Projucer/Source/BinaryData/juce_AU_Resources.r similarity index 52% rename from modules/juce_audio_plugin_client/AU/juce_AU_Resources.r rename to extras/Projucer/Source/BinaryData/juce_AU_Resources.r index 2a345b298c..29f040d736 100644 --- a/modules/juce_audio_plugin_client/AU/juce_AU_Resources.r +++ b/extras/Projucer/Source/BinaryData/juce_AU_Resources.r @@ -1,69 +1,113 @@ -/* - ============================================================================== - - 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. - - ============================================================================== -*/ - -#define UseExtendedThingResource 1 -#include - -//============================================================================== -/* The AppConfig.h file should be a file in your project, containing info to describe the - plugin's name, type, etc. The introjucer will generate this file automatically for you. - - You may need to adjust the include path of your project to make sure it can be - found by this include statement. (Don't hack this file to change the include path) -*/ -#include "AppConfig.h" - - -//============================================================================== -// component resources for Audio Unit -#define RES_ID 1000 -#define COMP_TYPE JucePlugin_AUMainType -#define COMP_SUBTYPE JucePlugin_AUSubType -#define COMP_MANUF JucePlugin_AUManufacturerCode -#define VERSION JucePlugin_VersionCode -#define NAME JucePlugin_Manufacturer ": " JucePlugin_Name -#define DESCRIPTION JucePlugin_Desc -#define ENTRY_POINT JucePlugin_AUExportPrefixQuoted "Entry" - -#include "AUResources.r" - -//============================================================================== -// component resources for Audio Unit Carbon View - -#ifndef BUILD_AU_CARBON_UI - #define BUILD_AU_CARBON_UI 1 -#endif - -#if BUILD_AU_CARBON_UI - #define RES_ID 2000 - #define COMP_TYPE kAudioUnitCarbonViewComponentType - #define COMP_SUBTYPE JucePlugin_AUSubType - #define COMP_MANUF JucePlugin_AUManufacturerCode - #define VERSION JucePlugin_VersionCode - #define NAME JucePlugin_Manufacturer ": " JucePlugin_Name " View" - #define DESCRIPTION NAME - #define ENTRY_POINT JucePlugin_AUExportPrefixQuoted "ViewEntry" - - #include "AUResources.r" -#endif +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +#define UseExtendedThingResource 1 +#include + +//============================================================================== +/* The AppConfig.h file should be a file in your project, containing info to describe the + plugin's name, type, etc. The Projucer will generate this file automatically for you. + + You may need to adjust the include path of your project to make sure it can be + found by this include statement. (Don't hack this file to change the include path) +*/ +#include "AppConfig.h" + + +//============================================================================== +// component resources for Audio Unit +#define RES_ID 1000 +#define COMP_TYPE JucePlugin_AUMainType +#define COMP_SUBTYPE JucePlugin_AUSubType +#define COMP_MANUF JucePlugin_AUManufacturerCode +#define VERSION JucePlugin_VersionCode +#define NAME JucePlugin_Manufacturer ": " JucePlugin_Name +#define DESCRIPTION JucePlugin_Desc +#define ENTRY_POINT JucePlugin_AUExportPrefixQuoted "Entry" + +#include + +resource 'STR ' (RES_ID, purgeable) { NAME }; +resource 'STR ' (RES_ID + 1, purgeable) { DESCRIPTION }; +resource 'dlle' (RES_ID) { ENTRY_POINT }; + +resource 'thng' (RES_ID, NAME) +{ + COMP_TYPE, COMP_SUBTYPE, COMP_MANUF, + 0, 0, 0, 0, + 'STR ', RES_ID, + 'STR ', RES_ID + 1, + 0, 0, VERSION, + componentHasMultiplePlatforms | componentDoAutoVersion, 0, + { + 0x10000000, 'dlle', RES_ID, platformIA32NativeEntryPoint, + 0x10000000, 'dlle', RES_ID, 8 + } +}; + +#undef RES_ID +#undef COMP_TYPE +#undef COMP_SUBTYPE +#undef COMP_MANUF +#undef VERSION +#undef NAME +#undef DESCRIPTION +#undef ENTRY_POINT +#undef NeedLeadingComma + +//============================================================================== +// component resources for Audio Unit Carbon View + +#ifndef BUILD_AU_CARBON_UI + #define BUILD_AU_CARBON_UI 1 +#endif + +#if BUILD_AU_CARBON_UI + #define RES_ID 2000 + #define COMP_TYPE kAudioUnitCarbonViewComponentType + #define COMP_SUBTYPE JucePlugin_AUSubType + #define COMP_MANUF JucePlugin_AUManufacturerCode + #define VERSION JucePlugin_VersionCode + #define NAME JucePlugin_Manufacturer ": " JucePlugin_Name " View" + #define DESCRIPTION NAME + #define ENTRY_POINT JucePlugin_AUExportPrefixQuoted "ViewEntry" + + resource 'STR ' (RES_ID, purgeable) { NAME }; + resource 'STR ' (RES_ID + 1, purgeable) { DESCRIPTION }; + resource 'dlle' (RES_ID) { ENTRY_POINT }; + + resource 'thng' (RES_ID, NAME) + { + COMP_TYPE, COMP_SUBTYPE, COMP_MANUF, + 0, 0, 0, 0, + 'STR ', RES_ID, + 'STR ', RES_ID + 1, + 0, 0, VERSION, + componentHasMultiplePlatforms | componentDoAutoVersion, 0, + { + 0x10000000, 'dlle', RES_ID, platformIA32NativeEntryPoint, + 0x10000000, 'dlle', RES_ID, 8 + } + }; +#endif diff --git a/extras/Projucer/Source/BinaryData/juce_icon.png b/extras/Projucer/Source/BinaryData/juce_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..2564a24f7846d841e57b35b191bd8fa82ce648aa GIT binary patch literal 45854 zcmb@tWk6fOw+9$Pa0^b+;Iz0q0g4uFad+3^9;CPy3KS_?3dOCs7AvK=yB2qf6iGJy z?|X0e!@m8p%a`1_%sF%B%x{j(+*nO@MLcXuYybd&r>rFR1^@seAAtZ&bmY$;znOdF z&oeK1eJ?FHTQ6S=4;z4twVS04MA^l{&gPAcg|+|NVH*hm0F})_Ti;7xO;yaw&4tV2 zUmq?%7k4Bz03ZSNbGNW^vhjjg+Soa`N-~_acQZg7tR)%r1l4%d++W(*J17Ns*k}c) zYg+|4S&3RRK&2oOequ-lE;e2k5I+}ZS5GlNNrwOM6+=G%d(F)N`A-)wCrO6?Qz(5k zO~^|(4;zRemk_5FkB~4#Sd@!bP*_+%m;=Jc!z;+m!_Upn!^y`lCcq;mzz6xSKL+Gz z9@e&EZ{!sIYb<0-lEL1~%Uz6{+t=5Z%a@Ugl+rtXEaJG#9hH@8s>0x8x z<>sO7=H~q0TGX_6^K$dFcXNlleEA=(LD9(e^}Sso!?UU@-TeqKR&c_IFnG9q#cd?GymO)KYSh<5W z*8fAR!1KS-{sV-IJ91<>8xIE`8*2p*Hy6l%CNAdizsn-`zw-MpTI>H+7J2#qm6jVR z4EMj~{l6{uf4@Rv=-=c2fEU^LANbq2A~ElQ1h=QBkRbq2lb|doqwTkJ{0Sq}*!vq| zoOAl&_}7hTgJkDziUJPjAN*IZvq=aqP|gb3ggC~#5DbG5uaJr zt>r)y-Q*?fp48;&mai)9mcdU?V1K-G3E_$M;1=#FVmb(Vx3Cl&-Ql9xf(C8~EJ*s0 zN{oVz;ejq0?^VI87iErbIyB!(Hw{UVlj2Gwe+S5%wjFVaT>aw5Q2}TYSYGXp)&}0X zb^ud=z9=z*P2uxq2e`!Jog6beRgGc;KQ)V+!&jc`z+aI+`Rh00phS-!GTbKRkozaa z0L|mVQ^q;-@J<-POZ` zuRQ)wUK`)_u^-h+Zb3umy?04rlJ6zo=k<5}koihL1lb-|#QxOP)uk#Gz!yF1IM9$x z0-7oI1v#smMK;WAHqU_>*GbBJ1lwhs&@UTaOuqP#mX8rb?qU~3Bd{f!EQe`tEp1bt zB_BZo3Wtz<0Z69= z^&b-XyJZz8P~0eN4KzpQbbLatZ+z*@YrCr$oBp2V12IvfAy#hrxsPx4c0Nz0ZU5|E z?aGME_h$n4G6cqzCt_x5_^%n<74Vzmwe{TyC2f-l(rJw)MZ9o&<*X?t62#LKff@cy zj-v8lRjA`|<4YLc&aHS9et(glH~l~G4`Xwv6UNllu$6l@lO|szGNQvex_{29OFU3k zy!Y05~>8x-|n&WjJ;;Ag5TGV_0)MO%fx+s z^I5pd#oX76ln|92zmm=`7_roKd+(!g<5V6sL?nYWM==%=XU|!y{b+xfyXmZTvN^kw zqv)7z@Gc`yrv1krY$+gusol%~)3J7mPi}Mp0Yh;S+@~hX-3oC(%69&l z<~M8;9Kl#l~v$lPO)PniGBFdNPnp8yl0bH1-utG?VRV)i!Fp*GnYp`~w8LRs%EBTeF>9Rd1M7{RZPO;xl}7b0Q! zpB+QA@1B*a3mf^!Oj$+7nBp&v5E?R6G6r;(s4-^CjTPlRVdwR4^|zCFG1lJ9dGs8IexvyD<9?%k&b-Wmt3C##*oAJHHSauKfgxwlwVPgE1Y{Unl19ssWU;z zKcW{DEBdRyBgn?~bQZ@xSsh7iyqeu1=wy8=r~R8veV(&&x_MjJz5f|{`eXhPjIWBD zz(Kw!k#V?-W}}ySbn+AasgJ$6qaJa425mh;+*BW!C67k`!%V8JeN4AU&}8FW3F)4; z27dnWxzPxzvc=JTY~hOc4}2=U^iC4TwPXtKF!C&vW^AEa9Q;dNk5rm%ddUG#njxa+hcFYu}q>)}up8x)JBvDEFqRlu!nACg$E7#_GWzW(BvNq27 zQcL?MB~KIDPOHzqImFt|u@snW7eQ9Tkvp4_Zk&iL?eh;HpBkHc=U55;? zbWbtC7jJSY%IKdr<4Ovi&n$mY$m=Kz`;7jc($TShRhRCrQXX6z*{fkHb9uQGzGElj zZqTs-QCOpIQNZ=PkxmTGjd{mLh^h_7WeO;SPND{1L`+aE6LjvdKZR%>GQy;OfFdRM zIAau8K$lyK@guQ6dN)C`_3cTix`+$p{@G?Vn`wMIGV&18eG_Zay?U)aZkT}mFJ_Ws z^?K*L`saLM&WfG8GLPEu6m#L{L0gDNu#m7sfa5+v;CCQ5&)JF_9=OjGcOVIy%|}=I zV-RP3CJ*CT(_Q^o3mu+7c}l{omco6lg+zf`~8Ld2F@u2 zQT7vNM9R3sR@=&HxqOkXVn~(_>uOx>e&_cFd9F(DqWKv+Cr=?J?8KJ`4gL0f+71?pZ`5Ai4cv+lAE(cSef z4!;M~aDH<6M4kx#+01frdhqHrrRBX7_&VlsrD9OALJ?%O)(Kj_&Zc%5d}T5hLVEv|6YS zliyaK2HsU+2qCPeaUM*E_!E#aU{9YnKjaMNo51Azj#IBV)$5evei#t%mLAOtC?`?| zJF1rTmaYYNHset~(e!T!*9!((|G6+kJ@yuPBVB=iBiGcI0smIp<;LtxXG|b@@sy&u zb-XgUFZ(4jOQ>F==j}#01-V3i$Jpv$-Epf5M8{Kfj@i)rR_Gq` zYv$UQ;&5{$yPs&LEUe}#DQs>7WPjuPvb7;fuvNx`$}ptmD?(C#`buMA0>M=wQ4ox8 zZynmj*QpKB_XiIjO?)XNM~<9vR_Px^jvWTv+JhoQgHAp3`!E5i`5$~SmTiqEJs2CE6iW^C3)B$i^qMDF0M(7%y|D8j@^zm;JFZgL$@H*h_WW$7>*Tg z(r2X4&qzsHkWQ5aMs18G4gOo6>q)k$ix3$}FzvW1~cJ6;>LCP2{wIc(R zGunW}pzimvVb*(cPJ;}n!!e0j! zJ8V;Aa{f9QN^A-pUC}6eOSVQJ{z zWzL&U)>R&gwa>rFj!A$ENM-Lc6KdqM{F$6MYw2=GR4Tp3)eB{LtIZg9ZV#FVcG@&5B<&tWug$#CovnyoXQfLfvedKi_qmbNRBF4)UKsD5Oy}KW z7LglT-i4ek*IFVPYQOBM?I+Xy{6&P~&mM15@II_Jk^A`Rq5^7ycf+0)z2ES|5{DC`(7!CL)Q8=+hb zOb17r&U8i$`gLap3qp5NKjQjX1d?89n|}^US@F!{jc4zA!_OQvhFq)mqr`RRdwEO! zK~)(LBjCsW>p8-*{1EvO7}BSk^sp2&E4YzxQUi3~HZ61$b~!df<37D-@9;b)rN}^E5M=)>su3!LyXD6vvY8vz zPGy^!cd^7hzuvf8_h}r+h4U|bkX+~_qkySDr4x@;cdON64HOfe&I>T`%uoatB;k#} z^CulC;1qd|z?I~^e8GFU)MKi7?@NT*7Ts|ZPDVc{B_!=^k1N3Z-kBCA0!ovR9$t^r z-3U%M|H@iaX2a_~_WIOZX)LYd%pk=_5*?cto-F_x=F*^kIQtPYZ7!lg%ioXrW_#Qq zqDMT2&0QO?SB}1BAOn(pMu_Q!xGFy3J7H5c3yf<19^X!9qa4vl!)rnb7U4}Sm9tWA zIkkLv$K0G8{Ke+=z_@9L-Ka~n5W#6*>9b2^b0WxP?94dFL7unwk#8KO#E@p61|65f zHAAe7MQm_Ugw54>jmWdZ;FG@=$BdE%H)p^SUn(}qewEW@8Hoqf{)t;u&6gTd;te@7 zDm!R~ro5KttuQJ^6nR^Qu-gxzE-P8)G!53;Qpr;YTBbP!RP$b!B~eH%wopUrrhJ5QVN ziR^}w_V?$qjofulqlnd@DcR4BKH8YS@E3WI(lV_oC2aSibTLAb z0sHf3wgRn(N|X(gS%}{d;Oq=iRPanB@a>ohe?+X5Uu;b1XYhhxDr3spw!>RY$k6PQ z8{B7FPj999g1pg-9BC(j0F?G|%d8NC5j};D5F@cp_~*^!dO`TbK!b(FtVh{!$)Mz` z@W_kw&ahc++4}V$Kb@T%jvgLsC7EN;BB{u1b5hd zH8l&icI-Y%Br^VcLw{C|(mRhY>&|h$Mz+BLUm*m(p_Ayo;+Dgd07}+9RUT-HPN=4bx zS~pmOM+5L*r%ds!0okmJX=2>gGj%ee=SN-fOK8CviP#BI_ExyVO8g6-8)+A})3!+ZKNQw1lHkTL0-7Ne zs!|T-sP1C>S4}xVWIr=~tC(t<7Y(~8PpqJ&h4ux5gV|M#@6uwu>x5w#metrVw=CPQl5;h)p=eAm~G3;A~)c^X%tbw5vi% zPIadaYTI-=3=LNpSob)X($bOSxN>JU$U^zS_Z+Av_H>!?Fe3ICZ`xuvdM#-bU0ybKTE+RATbc*ec2Tfb2fPl~&IyY_=@j>Pkh37F z9U25E5)*K!j5?ldUA{MQXWsk$CpPgJ0?!$lRr@0%sAO2sN#*QrV6GW%^hqC88Me@c zr8{7F?#m(LKk*`aM8JL1VYj}i-Pyq|#VWZv?!6z8k(!_L(G$}5I5|I$<;u*$J7H3i zhn+NTUA+$wQ{czQcYN~&MKK2^lauNiNw~LVOmu`|rw+}q3XgdvW zCg=bq6Vcato0}}X!f-&PpBxnC>iBjPTRvRap7(GQ*gSMkOoa3@DUZFI%}aah3m1tQ z1EllHb$`BHlpH+*xxXJ@Zf~}%bja3_jMcTm_VS zAHLU&?{d6p* z_VAbO>}{<58$|H`j04TxoW%X3*)2IpGM!+)}Cp=wpT}dYL0{H^0SeG zN)-46ynR^V{VcXBzARN3u>bKBugM% zL}}JE1};iyFun7a7opxZg6I2$U|0=4T>S~7nZU8V7gU^p2VQ=^_g#1pcXC$P9Z?r11Eaj@sqFB zP%|>QH)9_n(ImMlk@)1NkYy0Uk*n`Z7^q|u*~~4UMi0ju4^!<3z7K3;$zb{ir0%vMBQ~F?en6FHSKly@i(1coUG+)8pH)gBhc1lma-O--LWNW_c>Kss|a!yK)urm z!{}W{%ZS^S#vQlR!snNdZ6K=NZ$UL(e-LZ%u8TZ$`A1tzCWF z>*~BeT2P=s!pLR(`TJ-CGiuM1JI}+jjP1C{wU*t$r`Kh--+B)c^<;_tF>UASbY#}L zfJ9FD0RP)|4(E~B8ws`jmwYvm@7|kYQnE?9MXX%0VCw(A0mm#7x0jIPI-`+^h zIkiy^m-x$^t=}qB0b-KhZBwsm<=5Ok3^=?=&%`^9{j(__hExQw!v_B$JVzX+4XxOD z)8=F6BfQ>c3avVTX86J9R9Pa2u~M2kRB;j8&Hw_O*V8=R1F_^lKC#z?Ti052Ml@^a z7v9j&{w8Q>Ne~tx>X4nY$op|a5c#(?ToZY%O@z=B?v0{P7A0Q6ILW>9S86k_`^$WF zr+|B^v%L0`YgDK60BMv^>y%Vov)QfX!8JO^%duFzk2$|wpGsmvfz2wqKm7h8Tb=|-y*%3 z*gt!RSia-;b2(dA9mgy1M?r?GEyP`t7p<^I>s9%GRiC#VU}U-DS*YKmR>lhNjjwL0 zzMBs>Y^giHzU5w3Ul;azSM0AcuadJLI*}8t)rtSXIgRnUVm&(>q+UHXTL3e*svFgR zT&waOkCtqx0xFk7JK9n>@#dx)G@|QHM(fPX@WqdK%Im zhi*889>NqEO8txws1aV`{9M0WW8}wFPveyQ#Qsqz#vB5yOB;md9KPE4woiatT8qSD z>Te>{3*F^FCP^Z1N?yW7Ru0HI-$y>UC zJbE9wL1a$d8a({$O{E*5C{-%#HF(e_?M}R#HE-InX)rl9Sg9HZ1#D8FjGD4=hm+z1 z#hS~W?tK%oQkFq5CD+3&XeSfVO#{Du3N(M%KzFadH1XuKw~wCO(nSoHK6x4bT|YDS zzpri%Y}y_k$Mcf_wT6j1`+mCI{z{N!VEER%(u{BN&Ix&lS@3fjU`F|{nm_>)d(VCO z%LMFyh@WyxwCzSupg0-FN;6DMFa5|tNf<*Dy0CQiawn0yRz0FvEv*K}mD-o!Xyus} z1ILyf*&8`@Sc&IPEMJYF>VP-)9C=IUUR+UC_UEsk-YP{Ao|xmw=cTuP>!V z@LeGUQDSaKWg%RgQ>b-%F#JB)6Q5F!nfjOq`HA26_Y%QNhCi-PfZq1R{cD{xMQ*Er zSL=tbSJ5&DaLAiO(8e6#L^(@Ynxjrv8mtLZ?{?BovmS3xe}5a=z#0#6$AXM}r6zY4 z*<2<@SYPRjIbbC@2(!0daCRh0U{*7mB8H0}3boOQj`Bk9en!jCtc=v(^ES{ur>0La zj?lxe3bj8IH~*@SJ=b;>))1-aLcXh$2b#@OxEpOd>!~gr{o?)SvkB1uJLC+n~~7Qv*_pdrgPHD zY)PW?%}}1B^0^Ta=eaOK0Fxlns*mP+doTBqMQf@axsFO(9X<8&2uTo+xwXmR|Fk$M5LhsR^ST5ksj9|hEE zbD=st{oM(iQB z0XyrIh_t=c3AoYoY7s##$4AkW8GVmV*sny6O}9qPz-Afefttk+QtGu^1+<{Q9A%rc z+DguW;13ZsVc#x1AsN4D(wpO^8WK*1W%fV=mtu;Tcg6E>6X)AOv=?qK<;qrKNo3_m6v zeDVZ|-XPPQn^PCCQ826h1#0o--0UgK-PFRFjIX_zoW5zO=y>5mft+Hxndc<|3u5M3 zt)=e2Nm&gdfR>MR1;s(5ho_434+nQ^M?=8`*-ym{Uz9MeaiJmXa%P?60-{NaPnbmy z2hM0<=gKfm>w$F0S#W^%+ME+!4|&_^yGWgpMND@w?3EU+6lx}I;m*5y;%@N+Q@frh zhJSf6{WgM~xf;{f53c=9>sqSLn#*`OSl9_e4BHjzv`*!J%nms-O;^3#Mw4j8wB(>p zQ6);C3tuQls4AcmMNh%2z2Y_uM)mrT4!b^tKF(Ghi!TxM!558N^rD^k%-fs^IS3`p z^3lz{bTD7I@2b>MQbGHn=#YP-{${zCzHJ)*YzDpx_P_L*n^8<79##**4F7odxvBOs z)LLKz2SVrPpuLtMrO4&dP0G=6{o|cx@x)xO&8IMxj9_0PQWQVe*8q~1y?jkIUbuG2 zNVc5z1F5_1G-Gpfd!d>?QzdBCurdM!&d)DY@R;FRiEF zVBJ~Hn`|_oFQ$e*oA@1C&&2`^*~H!Q0APoH=ZBAc-Q&*L`8!fBr_Ms~&#lK-jH^Dt zoi1czy8H;_@({FtLony>39V=HmUM4kIR|1gAUY^Ngn2u_Mr>i^#^N{2ny2M9o*-31 zl$U%ThzZ>vg;`hF^(ROQ0c_OUu*(iAu@DtW*tQd#+UdxN{FA%<9<2V^#(~0ObCma$ zN@d`SXQxBBFwn5HKo8zwPe4qUKc|v7{Ns)9=RrhU-Fg^{8LJA9P=p8}3h8z{R~F)T z5}o@39~eyGPmYsU@q)~a#j|;t^E4Xo``+78# zLngzAenM676KwP#nZZ=1{NxZUz9jjl{M3#1Ik5mM5oFRPgu1_ zb75LTXQW!$kM5O&-3zZ#^nBOx@YZe`Put0;LiZciqxLJH8aM3ZE`G9vOzhz(z!AKZ z8ws@6ZA=pgQ^WPK=WUypN#f>?2eQ+0JxUD)IkA{`FX8|s0Dr}S7W4UBr)64QqVo9! zLBvNs-1JlQ7Te?IAM^J}{vPI%xKJM)CLyUDj&U(2b!3g2d)Px7q@{}_qC5y=C7|0z-f$w z@_@g4b@XIdcbhHzM`OKdu|UY)^YU8~;%$Uog-Ru_RV{&9m%|@#@HT=I^Rs`5U(jzl z$mRE214StAUq+>|cff_R&HkHc`nF454+MVcS=Emk{+w#dbVb`(fFXm(9y0j$=B_ab zXGMxVwuQfJq5}6^K_Jh>@kL#u_Mo_GaP>Rcz4=9oaj#Urvl?*Vlax?DM#Cc^)1Ee9 z5`{M9wi{G8YsMO-qkh!>Y0ZlnnGn&(t5cGqcg{};#ccxdtoh+$p-MixBT~@wMN(%qP7qYAFm5ZlTA%ufKu1(a1 zo0#+C^zq*a>gau^+bMBy+7pZX40U9O z_U}F@{yr(g)PLhiHloM(0{HnOusWscq5n)ZsE4#^djpBN#nHQlBMquR!;@wQlZxK< z8>J>F&FDcL`c(H-|54@|g6i!frym0$Q$F~(;7&3kSPBa82uri?|iBC+clIuYmbg1{YfuCC~aQ1 zEh>zaSmyHhbK>aXHvt;G3)MaLJY1VaKy^X6(>P#+9uq z{d=?RkQ$}zW&7g%7RpFVJ7!)uBK_t~cQR&Z@KGu=Y+;RD<`O@NSmwZtzx>SKb;O&e z*g5t&4XVS)Mp9b&Sm1EUR8nvELR)1V7G!jTbM>!0Mi9 z`7lC2u=wN+qte<707~P&sYmgU;u+^~4bI>SXuGcgj{saGqr+U?Q(0jMGZ5#Lz}H~I z4ozTO0*UNqjL}7BcQn|4k0abyGK=01XBRsS#r9n-gOPDcg|0!vcib=m0?g>ylytMr zr2aU@OK=?uVhTII4?Kz0j^(>1K@SV-59}ru5?|Q>d_VuN8&-eK*9nN7On}L!$!wst zG@dwVo;i(7lun+%V^A_p%L-gU9x~J?Ef@Y=?SBPI6rpVV)YfO`BC&ZId%GO0Td9LY z!?PugGBMk&R=o9C0+xiYhHA_}>98w9*U+S*UxHm*99$$Qn5pAU`F`8RQDT7sRVe@B zAk0M-`ock6mv{xEKF&3yO|?gm<>`|Eiq(xbvd<6rCVE?bUAYy44YqM49|gE*O=9YhotQzoTDT8p_>mz!1N@z}8x_UfsG=i3fN9|MH&ePO_>{S}9N zw=Uqg5H?`??Oo-Kzp&3^)OL^C=V?05+lF(Ymd_^@V2=-W>u8%?=tj356Q9}gyg?#yDw`?P$CM(OcBg7m}YgZ#!>Ci%-CrB2%E+X$}%}>=6Gfwc3kKW|JZW3sR^7w0t z*qY&3zQs`hf|=|RyZdF~H)A!xv&x@`CY*0|zspyd*%G2Gk;`)n(Dj%&pXs}M?%mq& zy#%3!(j)7MaY%K*zmf=MJkv--ES#%~v~GHeUbKp~lT!}`k-jSm_y_T{!FAaLgbM`3 z`n#X2`Tdi`w@tn|@&Tn(9ZUTvg#n0nl+kbW z1dVxi(ZMY%2gbwgeH(^<=-7~wk|)CET_91Vdo$H^THchuUWkvmzbPPj?=UcztYR4a z%}=HPFfow8K4h#jM<}8mcQ_tX${AACLCWRW`7CIzC|4Yvnh<4-kPz^Xo1FxVS3r^# z`aNq@Po}fRis`xLo`t3WxGKp0Uya<=JGO-^6bKP?{1PQTm~Q|h=j5JD9t<$epYubj z_&dHBZ_Py1W5ooJ@#wpYF5NpGDu{@%mkM3pLN%C1JeDLG`RloF{uwc<9*9Rp>v?T; zrQiRrNM$@Nkoo11;7M`Ef^00?sE%VV87m&d(S?_Z3I-*@mY)00eqS7&4=?%|C5AR7 zG8_11`0Z06?C|e=fYC<6F8A*Ez!tWJIv~8@f{xTa z=Z{sny5I+blw6lDqF-Oyc^Yx})di8{K3?)VmPWC9eKPcP`Yv5zCbsc?P<$htS2+Bo zl2$3SD1o?rF03(F@CQay80Cqbp17TF1Vtr4#fD11VkxX4>j56^31omhXduf&=wn+w z@#r#_b9YV!OhVz*W~gzEcmm(J4cy1Y!^l-+8k<7xoluiBG!~zpC351a|_v?HC_T^Ep@c8AU8uMb0$`E3VA@d_1c|p z3H_#qigeK3^B4ljUQplV~46;F+<}awsm1s%@|R6Po&g$!;w6H zww{!KyLvDIDp0{peRfsP^Z@L6mcKzeAfriLEvym&Gq+zKg%H<39X4Ffv!4FO>Wy8vPBdc51%!b5Fis)p!j^|2YTQP$ zrYiI-N9$bP$FhlQ2S_b-p>s2k02FImud z&{iKTq7W4!0}5*$kC>*aF`ons_jCZ3m}?&zmzICF1J(R^3jyY;BBk)FLiBOt;z9(P zPN}ToB#G87=l#t#&-n}t)y^}u!KN}ELW(jqCOC1GbEHa&(kRvwJBu`1(}U1C1cZM> zVHBu_`Jt#rc4y*NbyabReB(I7DU|V{G_32ls^Og4Bis1Db4rN*#3Sh=A)CXsp1Mf$ z#n@dfd;;onZG^nEX5&qs)#f%;{jL8BK}NWfL6GW}5O6F+K0?Q11PT&i1t6iiQ*=>E z`f^ubw3s231w4pOE8uOm3?w#a-zWnFO`_|i32TtCy@!`;QpE--O6bFdOwKEDK=|69u7!ESbwK?J>4A_9Y< z2W4{2ER_18^y{)@;i>GFdt%r-qUp0nd20%o&#G{Q;AxR;S0lC|Ai==6uFTf)&YAHf zWcw9}Y(5tauggd4whHmSJ?s74x7~bZ1^_WCVZYq?`i?U~Y20Fb-J$J5LpGB`M^~-j z#e>>%xms->GHs9eVI(tcuqbDTwjh!5^FXg@B@9>qKswQ;ubG0d%(3LTDu!5K6>Ah? zfzp#vxsMxxU*sk^R{u1u+?IhVWlR(L9suI)y^EeUf5f0wjo(8|MkkPx*bvC!2WLJi z@VYc4cB$*@f1@sngO>mf?*vEL+dC}O53ET5XoEZPR5cfRZDN100p$|%9-euNUZhUC z7G$v}73LdX^HUyd1+tIq85uU72nlP)J09|MFg84p_T$sV84dF`?9QO4HKy(fqyHY} zbm)^@C7Jo#l=+V?nmq>*y}R2j^c-F5u=Ch3PbPyK>Bdi>y04CTX#RoY3 zF&AxApt>~x^3;xa%teF_nPm4|2wc=$tM{_pU9-R^#bz8e7^(FF^S(X^oi9j2&Xm{N z5O#{dS}}kOUt9)k5P_;y+#j7>esr3$#@w@Fl;Qq{80^12?qGI{XdVN&*m)TzDk0!vxb(D{F%a zyU2@ndhvRJMn|Y#=t)x;pETYFmUvDd~Zz(jtdzyoj1KFR-i71>;$(O2Fv-RPpumWPVWEa<=N2Ubt~ zHedTGZf7j|rC<<^JOOY{vW&d9>eTWw?is~RasOf)tcOg>WDLnW+^pLy$v zL^LVr%#kz1vGZoQ^Hn^GOy4N4wG*P}!x!1o9}h@T7-vzQc6BjC$TtD>$S|Pm!+psy zrn`CyLye5{dGZ&RhJFLI_;L-_amP>NB#FOK-P5=oAKM1#JtEz)$ld`kh5h5jk)J&% zQ_khzv0gH0eFWOQF*4N&gDZB8zCtL}?2Jn@ZOq&5fj0ibA8vzGIPS&?_@teH#G%4r z`LidmTtcml7qjH8aa+X7uE#|2fRho@bSnswG9w?-EvdiO3>G`A88%5_jSInQ^&W zII#XH`M&kLC_P~?%~nM6$EH!_6~GC#Bo|e?9CP_M^!nQe6ut_p{(nP6cRK+e-A$iH zkvD3Oa-a3ir6qke#Fq(-6&3&NP`Q~*c{08=fhdgy{M&|6lE}hgqYYF+pvAX1h_vaVB zsK06?7CWe}s}$**ZU#6;?xBv?;Ye3vIdMm>-h`NB2rvIrJ0;yv<|EwutKMp{QP-qY zWv+*&X+Bx9b9XDKi{nZcFp<&S(6tZ{Z%#@b&=by4gx7Txy1`+31OUfOmd(v?o_De#Ub9tk$nn=}3Q7Lo^p85~D3F$XvP*SXr zUuQJyBoO44%s-Ucz&OL|c>MyhO z=QGoZ8G5az{pKihnOO&C=k_kP&{xF(L1ZjyoCJhqN|9W^S@V|9Z7fSG1H@iV)kE{P zH}00MhV?x0Ut5kCf&cC?ic;PqJ{XbNVL*P^Q6a*|Z=g#Uaikym$zt#x#~Rhfs`Sx+ zR~x46w@#3vr4(8jTz@-FS&aum6w7io1)}^Ab`#(v)3a`N0UE;y;$MsO^2jO%3^%)I zqH(@MY)(WRAS1PUXVnCYyOsQ_S{DWlXK>-O3B;d7?vinU!EFHq&)6c+|MozTya@1v za7m-GEooaMCl6K;hON7XJv5i=v;@cPzOYkr_RqmI4wRyGtwicUaOtBRDv(ernPHvxIF4|9gtE=BAhe>e1FSqtxv{<-WKl7JCxx| z6Nc_2Tp$R3-3Y$`N{8yN2k&H2^V z52qp{rwJM{zJg;I^wGA7WTpX(1OnRLU(W-M>%g+w1jObZrd#wv&zX!Ces+E5+rq4g zeW!UEw3KaZuTQ#xp9bi6Mo}f*q+&{EHXTg$Z~T>OZn+gL-V95ydCq3nLod|WA#L}f z4A!4CV>XTfpUsgRoe?~?4>|FeG7vx!g)d)Oqd&yPXYZubnwQIC!=E%^KJ|~4D5eHzxNq{0f6F>IG zyM+y_0;OfO#kGanI<`=TiirT@-`^UiIj}=HdUweNzM$Ed6H|aA;>3iy{avEGm4!{lu{0 z?j7pS5b7IQD+eBC-`0>suu&qC0S^gn!YPTmF1_+>BFHh;*srOe@H^x>#z zBSMoF3Ie<@Rio@G8@ki7&)-if8rD2=;8pCb3BvwNbN1VRwfntN&o?B3cg{-^B7*sd z(PCaUBAUNAt1<1lnGPsJj$8<+Ul#;;+$Fd-G?So7M}5uHo_Q_B)uN2!WiYPqq`ErgnAKg!5L5S1Wc)*g?;2}{^ z)sSvpG7!?&NTcVCRT@^NGEAtmxO4O_qesNE1JO)};Xi&)O?R8~@GlB|-$()bbu+$` z7C~XU*k}w8+X~iQtb;rcphA7lWBYc1c`TH(^kt_gC!oV7NqThVe6dkVYhJSID^IEA zGb%ZUxLd@}m-dgzuR!KV=>iAo8lLzcS2m9O&%4k)g1#Z;(`}*v-dJjSF@fp_r7es+ zw;!kEkrhKZpiAVB``0k zKYyl5%r_Gi-33JP`)c5{^KdOPlv8V@BcK1bQNInYhhf1CNYLCvN&HE7?kKgIgexBX zg!n%CgsUyaCa`Nx(TaSjWSn>hH2?6Njw*Mj#z$=~?McH)8np?m`dqNIkhtn0)29km zz5f?tMn053_&*6Cu>=ey5tbp3LIkFJgnAywRFEyjv&a~0a3QZ>bahl+x5Qm(0uuOK zhICAO4mtw29B~K9$IL%k6St_NPs=tY>)xRi)Sn+H$($7@BDtUPhsC^W%>(MRx`jr(iS)Yu&r9Sh2aP{5sRQ~V(_c;!Zy=6OAh-|VQ*~#8T z_6m`ek#g>p1Ek*a_K!#{bseVm;vmX_A zQ|)6Rv?Z=2d*!+VCsqLntj40;86X|{i@rb{u)5Nd|LPiaT0bGuy*uDt-8FwOABPc= z(zDe;h-)xL|8dVU@s$9d`Yq7rqvrsOKs_tz%@;!T!3 zN*MC1y8~|GV=1#djjJ_RhqYAMH@|M<{cm0QH&XO$0=zr3IJc{BxP&G37^-n+;Okza z+ru*_2~5$7u`!q7T8{M`%^z@radSW(x^n$`POm(#rQvPPvjo|m7(92x_m{1@5 z6}QGVx}TG@r?PW;pC6g6>bWzB;GBUX?AANRX&{`BSrfp*gHGumZk(4Ah<_f?rpLqct-=ph|keA~H2 zPI$!WLfQWN#!mMfcJvhFmFv~;$yH(2UM4dMc0T3>irsYf%#X`SG?Ec-DI+MermJh- zX|cRrmS-vjAw>6^>fOp&C7sPVCdcWdq|dVC0?Hn#%hwo9fsbpq@8bqz;Mx`eNO%PS zY2TT`gwzawT#t&{SQ=JYTRl(O*`tBi@LRg`NVPaRO0HPWgd#-}im?}wE0Z53VL#QK z4!m!4zN-j%pcqk%Vy1(DSpKKkUu<5brVz*_r0p8LIa;qOA9qtVwLRl?Vkv1AQ5nb| zE9i0^jy+z^r3OYY!w*0$SVSeyWqw|FZ6UM=*29d7>W=2RSn$ib%G`L%4u+zs5{k0^ z`tb6-9beBgI_>>u3G=Mu1YVu77Y_&qSw6+@RGFo#tr!7W>cJLv5elB({Ut6{WYfF^io08HjeVK*yjWeT!kA1NO0G(5O;4!X0`anG^?abjcCZ0^_?Ibb%RL z4~b$b48=u)D!+<2g{5az-T)Y*1xyVnICZHW5Afej$8;M(D3n*)nKKrYQf3Zr`fx|# z>vdtD(z(%mM1LiB?In!a!EkoFQqiZ^y{@B&n4SZ?1vN|yX?i|L4?E}<$J@H96w^J6 z*117>f*k>X+*n*@=68*Mz*uC?t+X`s_a*gO(jLhZM~}ST5tP+!=pSF~eg&!xnv zIZv9MK=A3H?gF51Y2An%yCjiI$FGmbxJ4&N1#NP6qJ_2ykyAwl8f_SFaZO%+Z%?-p zLCu>j7gizW`$U5eXqN8l)+7FcLqZzGNx9W?GTEt`y=@geqJ$2uw!NLGCXI&#-<$!f zDGLh21qRtSqX*-F)otL+ChY|p~n*B>mY3oY2sK0hoK z7pJZu@Etshx7@VA?0L##=)-3B-u#gOsyNc6*{6UsQjLJWvCA&r45YxjGog3Roexf( zl$KH1isWuu{2{c7w6=%bZu?x@IEy82>?>}>R$@mX868fH6cIuHJ{ZVZ_8K4G&rR~v zpPzb|TTmb3>m~v|$yASYxS{zr2fJ7Htj?Bjj>DHojqsVd8xYtL&X3@>7dN_#wsZUB zDt7iOpWKxT2}-Km#j4kGbydz_m9Cff!}6BCQ4 z{R?<|x1(n)3&ifDAqR8lWqd9@1ng|r$|H6YRVXf_#pXG6T2MLi_oZ6)9|Ir*4D5Z` z=!LJoBwYq4)~>0;*;QJ%JP6T0J^srGByt&dipxlpk+TAsls*riN1gKEa6%Zqf|-ju z{2Ey8SVRS-m;vm{1H7-Fu7D8R7tIHFQLx!ST!aZ4i22ipi#Vc6Mk>0zt0?b;wi*FN z+D4J3!)8uili#kBlYEP+*b?Wd860-;1jz0YR5Lq?SciH_S7T?e*OmCP=rjWwtf@2& zi>jjTO#Rv=%A6v*RU`nFdhohW?PtQT^VyKBI&)xBpJJFsc=eC_2M#}mT*f<6mx=Kr z!T2{$XPgi5zfbBBHuVJ7vPgm51eL)P6g(02ck!5K5D+5w7F-pGB(+e|6*jmwHhbUj zQziLE{o#Xwdk|#$&R{Rmx?o-2Hi~&5SK9EG#G^2p#ad_slM8-58tzlEK+|mR0bHB2E4(K zuc|D(OlF+lBMrn2vQF5tgN-81{xio9oW7=aZrTvd0Obyf_~;V?>R_^>91~1A%Z$<+ zq|RHEgA7MOB|Y%<_JW8O*8GF(b-upOV+yAH?lQ`4V)u3VA>61gP0Hs@fFqM&!W)b_ zPPu!BCAY#5z2+3ULwbjX@Bo?S6l_Fihth zI?*z2=R9Ba1oR|dh{_PQ^aUC>>Bd#6V&1FO1~fssNQ7Q(I=|NAB(5D|yF*K8 zvDfFyE#i~_DAso8F*uER9WsZX*g!P|6dJ9Dy;a?qC1KOY52C2JY`C$B+}PTGRc-ef zyMEgVtncG9a_66UGKO#h2A1XkIMJ`43BMly>4P=<$s+Yg{%0H7)#pFZ4m|sqNa6F=-CV*V1!8C<(Ey zG*1rnrc&Mdd+={sA9p$)vo1uR{ch?@?VQ7ZS?=?j1iuXc+LabT()y#2{1B&CluE$NpPFt{>yA%laiB89*@ww+y$~9e>bwN6i2T z%4s~A1?*~WdlO*e%l+4Vs%RHw!9z6wvkgMIkK=o99=BK7IX7}0zW^v}iX{wp9^ZxR z2?htjRGW=cnJ(Cy%eVNl{HAN#<0YiS8RnQ+*DtD83xm{do zlFkeTLh(ETP|fkP()M;ym&+Sh*Fy(DV|d9C%YylTrP+M%N?&~Npsw^w9xUlZS~+ik zgPi@4FL+bH^wX9Vs~wM9tUzDr9UyuIMWYQ8XS9gm3}sL6IfmNaKT}hVLnfd&b%~_z zRW-eu$(htEy;ZSv`(x9mE=p7*+v`f2f0r$++{Vk4uh{dGG{s}Z9zUVg$a&R`MS~>L z?|7c=feXt3^ej68)hJ~Qef9pX`bu)b#Lr3{MDH}qf_`%aC0jv!VxGaqwHZa_BM$+? zm2xe}p7`^%5n78G^HNtJMWgoa>-kSWN??tn5m1TO!kNLwx{-bw$j%W;EO=IQ)HOEx zZQenW8Yi@S^LJZ_2uPs4uimz^&-!ZDX#uA4tX5FWn-Bs-(^ulJBllLIcIyw?bW#jx zAk|drV8541HY022pJPRW`SI)TA*^#C%i!*ZdKP;2SoGxQb0Hh6Z?v)=Fl6n*&ylUY zwhyFabN8^0;w_a0A1_ekc%FO_sF?Uz?RtK-C!PZgYGqwW3}%2BnR?2!K+i5;TEUf4 zsan?gE$?ksA~v z|0DV~I<=4*!dXoz_R(>vZyQivR7c9!Uq2n@)ETzRl3-2|fy}_77y8i*3ldt)q-dIL zj`%JUhnjCr?4bNE9FArIk7!YIY!#-go>JJHsKN`amTrZ0>7VIZeBi7;=MnsA zcUOW6i%@+i9#k2gaS0itzcVf})4n!RSqAGPg)CM1WX!g`sWVjoCM3vPmtHz(y;=@S zIq~e?M)7{t#zt2V_yl6X3Tk8?i8WT?W&LY~f!gtlclXdj+?f$oL}Ml-*h4li_+$js z4hEKZLYA5r3eWUhLBLj2ZcK}l@L;ZhDYNO>d2!Zy{egZ-|fJTWM zp%fc#U2RTm*Qk>A-(I(y7BUsgC1~}O4Wx;eY5|14H(jrvm5)>%8f@EGeKUe!A{_3W z+1{k`3ixz`2Z(v$2*Lp;C~9KIfyV2u z&_Yh$+W$eQ6_QsMGqT12ZMgDn2Efh>bsKwrD|gD2p}6gkjmloDc^{7L-0^qa>p>>8Fmf_LZi0{! z764G5sQMB?OoN-2tH4DsOLalUH84yu`pNh%>Fj`H7_S5?WbBV*q+h(uXW^-0`tlZV zflb5-?Fw`W8+e4Hq2q!4r2@%T5808#aAzC+|2=O5=LB5>JV>2jU>fzvL+m&S&9W8N zbz`bUNHR_JpNsdSS()78r6%bb}>9n*$k@XW!Mn{q-p*Es;`uoTLst@I;T5IsNmf z30^>onSS={+R{mM%8XPSA3Mxvexm`v4E~jA(wLTqCjw)8@%A(lKGY3C87}m{!orIL zX;XSO(O;PbXu4}v(hkc?c%c)@QX$dM^9mbb5<>%$=ObhQi}d?pR2+-a>yQ#)qE;9C z$kQ4)+9lBIWCpZbG|&o4Q;_P>GRiUWx+9(^1HJ96M^~wBaOhq)oYfY(H?Jm4T2-9) zRi6%`8~(kM;W5l^75V4yDxKJSLb1a>QwDFiQ-(S+q@2JSj5k`&0nayd*wA~&Dm?73 zg&kQa`Q<*u^0Z%n9O3NuiUAB0ng~uFT-g=21I9xHWAt+rV=N8y;aacBB%sJ%?gyQ= zYqyL{{z5R}*mz-LY!J*&VaFz#62~~R_iF>ev1W9gb59HYdXeH}YA5qv z(*p-$KIWV!Ct3$Q0P;bh{`n_lgE3vzR&tFG;zdv z2{tbB(qG*Gxuk9$=^k{afZ%LQRnrRg+>o8RZRxUm>`hLc^8@xJ`I9ZguGLrdD$6<5 zC-gitnv|Y;nUTd#9AzKF5NC6JpQG<9u^54nEWrzrx~>0+w%M$*rRi?zxV#3{Q8y*B ze8to4m^BgV#!QZM6@g+N+nvUV#H+!J6p69~ZdTYiI-^0dQ*yr4Yq)WwsCg3cM~7V1 z75w|?mraD-zh+BVQ7k9P1^ZgQOnG!z=lzYx#KM+@ED+J}8Bl8|CK2_+zIAlDsl|j5 zSk1KYL96+*pr{qfVz6ugFC7RrQ;=o=#L{dHp1h9Xlv5NF6%7!Q12G!LXg`)s*W#)V z19+#j5>Nx?xq*qy7)7gbk89xu}Vf5sC)su zYX_b?C;8m$g}VBa{Oh@qaf3geZOoZfn*dC7&I+j1e@1P%}NxUzj zD)G0t$Rlpa?M0LTm}jNbCD447HPC zOo9XY_uE-91>qHakB{jUJPG*$VSNZFc+4y>q~O*H%^=&5b1{XT8C&7b9MWd5ipPr2n8uTl5pG_C_zM*-@`)6B6 z&Gnaij?3s|>cET`V!S6((ypG0++A>hdhSaqaYf34<8LOE@XQ0(yGJ{{To)thh@GFX z2hU}ho9w?4jMuAbE*stK?Oc#xuay4T%wr*|F!Mu~YvPjb0^&1wQ{tYcEo(Eb5*zQ_ z-Jh#j-R1c0*D-#=>3It$b zg!mZB-gns)A@3ifIE_;YU5AKjSsml+CF^%iUVKY`yPyqyPqd+(S^)jt@!A4+adA;j zPlnqMV_;yQr=iytn0RmdUE9iCSFD|{OLQ7Wt*-R!C4^K?i|6Wn(@@%QUvWba1FBO<2cNV}!?p87^c zEhkFvpy-x86I&=ogMfuH$Qt@@QLcn4Y)rz&svS+I7Jgs^-k2SgyvUZ{UrHrNsQ<0i z^-b^>g>-*AF#g}l-T!|9uM@Y_yhKv_ISu$%ULiuXb|co*R((EBSDdCmJa;l0+`#K3 z&hniM;T2Z*O%QNn%ztU|Z!d3J)mV(bI%)kItVy6tq4=JaTIX|mp!X=bjUXuz4gT8{ zP+Q|Wluw@&?y5*VG7U%Depii;r+!@!H1+RXHozqsvfaPZ6j9~`Pbu<0>tt_umS#@U zqUjB;H^ZG8!=>z_vc6I5+fmm%SKr|$gV(!81Wwge{s=QbKwVtXifk*gJA^ovA?kJmyJ8G z_AV(9NjZq$$LS_fW{}AAb-kM6LWV_Cm@mBO|!SjqljXO>PDi6DKJ0=449oZDNGi8{uubPVsFr zpMW13H=t#|;PQrp;-1dHDmT57v)Ldg9j=^A}c99fhcBny2W!1u>ocqAw6`{UrU+d}BFm%}Y7 zQnvAmy$LVW@(CBJIPHI#21BUzg(3Hi0O~F(E(0lAe~pPZ1SwCpey1KACiHR%6VWeb zW8XXjD|QOZI4Nd)xj~h8xJTt4$E^_djD>x*rN`xUy<|M|{N_VwmRnGDdWiN#AvA>h z-er$XZGCV;@pl1|M9pu`=nq6U{=k;0#c>cVSudNNiCci|qm|U)dt3tN3_mm7Tt$O+ zgR>NU{)?>@iYTIceD&W0fsUCGLR@isdO z>oR8Q4x)DwfduuxY2?KokpKl>a(P}f{ou<+mtg>EzP*K3h(kC6jV5`aeUYe=D~5A* z-kH{pLCb@UD*BEG)A_tLD(iq&=HDE|6CpDP6tRO>^8mpQ5V9W z!owI7@>(HW;Z*I@XF@4L%{H|Z@`J0-=Mo1>mkgGPbJJm?s&yHT&Q5fAuyl3*D~?!6eMSBM&CLyL*y?wLZnw?&R{sSV7iKAsi4Jq^i5>YFqiijLx7$Y;P%N8ia4j%x2E5Jg7h6Y zi(eL)&1kK5&q?C1+ztbIOxhwy9{A@nR@vc6J@NO)Cx82s4|A^XH8V!1fFFPILg7d2GiuLp zcxCn@Xvftmcb0jPg(<8pzzOd87vc8QhdS*Zf5s2q99~xfbq6kULNPN4QpG&3hxgPH ztADtBAOb~l-lOrR|Ka$eLNjX(09brNae`x~yZ=dgP(9!R5!O5bp89xi*L zoaZl%R~A1vL;PQbEHzxkdKCnio`lNi2VrRvkf}+;;qViQNMOf>^SK`#4dl@)4Q%!y zh8FaD)1UFH7Vo*v0of`5t_x`tR^sat@>y!qu%;3E6y$X=iRlmtCBsy0g_&KWhIdqDnF-Zh|uq>@adeEqRg6 zf#s$!>sO#X%VEGrrK22OMwVAebvkH?6E4O(y^hrP)}Ly7z|esPNAq_JS*%Dha=B@M z>K0NdA~gqBYIVL9s&Zz0``G8=R3_B5mR4OF{7Kjk-T35qbml`dOG+#_^5qi|$Y4tM z#{DLLILnLuu;3;IU1Hfcs8d=#5Ff^_`b$! zaKZX-t#lB}H%>;5ltr2b(#3PqLD>D}mYf58p|?KD14iFYQZ9=>A%Y=xRC)vE)8iP~ zw7)AU3!2CV=14&?noI{1j$(B}H2)?PCDm+y+1l(AP=Q*d_^|lc!d|I9jkWW1wiq}*P8htHvb2YQhAYDGtjoE z%;UKj+aW&))&qf**3oh&UG16df)B%pN!ep_65lvIL+c zpqLP#Ua28$myv@|r$sDL&c{m1Ye0~pK+4wa_uVc&AO(4pK&&aptcUEjr1$KMEjm@p zQV`~q9$xRn%3}FLoTMRfQM@QDv-sM7fE|_i z!4X`Z=h}CkD<`s0XE#dB)y08LOa^v0O$zt;)pfGO3SPACS`rATAOHbzfaH7Km(^A) z`MWOg_;A6uq&o<);@go6%KAM>4wjIQu(TUSS4S*kwfBJMpAgxuS9HZM zve(a1laa@fQ;?frgIDRn$j{~;SHh4IV`sZM9*rGrG(K(eOPc?CRQNjPJ_I7R%$Yi+lJxsC zA$zK_U=GehmIsFRo4F$p`%&2O-*wEmuSRWdLUU$t9*qfi6i)6Am;9iZSl1@BE-Iut)fQonnBPaUx^`6m75>R`3zN1woX;QieY=@4p9R z_50WZF1?mhKO}2RBBeOO`;iAz^m7^kfMW79xbH+B>a+9ZAPt1SoIu7tAK;bb2G(9h zt-kvn!~VlQx)Khs6Kt~_pB4hLQA}@saro87r;FdPQp=NA`P{k60|eBE3ki0sBUg(O zIxg%{VI%iHT!jVzdgP||a+q#74Lzh!=dOlhT^4~Ob;ffO5lE4Y$ad_5A01ybWpNsb@=GT8m;zUUD0Bz~y!w%MnyVe=le)}U4+QQHn((fb{UxwV&071;#7c~%heRs z2UjzlBAIL$7Ktt-^2TThHmQqSX2i8y|5Nx<#_ab+c z#CpV#0K{(Vut8`1Q-V5@QjvyVcSxJ@=jPfBHT)k5tJDxi|6xw%6D0^koPtOim(x{Jq}57nRwbS3>n*EKCn{b$<0kduXd9Mx1=Ql!dBQfP%$bX zQ6=z9*Xw_}DCwGy8w{^>I+CT`pjv(06;SkFSfXzsaK?0Z!EHu~!|gXrt}tAV>B#>k z3i-GkS@t%)?@IGviz}5D93dESKnR zURk7U^Sf++&rkOitkSDSx_rTvwEAR)pI^Xr`=hC6C4fNKkisZu=w+!b4CI%pySr`J zSiR@CN0#OdNG-W%y1K>c9o~m2#726kLH0yzk3LcLGuPeskYKlu=Z*~b_pqQbpgsf+ zz?pR;>bKz)gvQSJgFN6$yh>#(Jko}D^6s#-b|69fe!(}i{an~pVjHcEt!L&3Du3pE zuf4OGGDWRT{smLYvk``&2tV7rmjDGBP;rG>JE97-*m45lTf>wHZVbpPJs^5~=4#Hs z=lwQ<&W|#z+1KEh{uGM!BAu~u3^#w&BZ1cJQmv_wK94khKt5L-FGht} zPwXfwSns$o2Qq>LX$*@V|C2VXehp9;DT1~$mI!{t?e0XN|L|%0J$6Yq=ZN7F^!)2H z4O-z&caiMHc`+7zz5s=g!k7S`s^FKG{JNJ#TYES0rd5mK?~jp-riD zjb|6P#^@O)UU9a?`wrI@VMf5-KLaDgg&q<^9xcHUo&CB$8vpeZoZzqicmF2?fjWcZ zI6QIJXSbf<3}!)Kh`pM~w^lJXK@qJjd_UuX-^3+i=xw?HG5u3!#Iz!cLjPEe2F;BS z9Xn7QD%XDm+`ouUuEKkiK5+`BNVuaA==y8FUmLQN2fyEz2-u92tUila zN1}Qjqv51zYYAMr>*Y#L#|5`tdPqG1NFsTLnZ>Vt4Ji}Q|BOc^R}kJUNVq^9j24&C z=ea%Q(1iG;b$82V&D*rD!h!H(f;k8`XK^S7MbVu}I# zzkGm;83UvgdG3{2uNsI)WeSejZ=F)Q{1X2qalD$H!``~e^hmy7oGuWV->L*UOl0`k ztYj^l7)Z5gnZ{WUmC=Ap$r z(MLlxkZ(fqe6QroZcE<0e$;T8FX`z#IB3$y#X@nvLAJ?t^XY&kWQpUj)w6vevhB$x zvCZJtOb!J*b%rpJgOrpkyO;t6q01%68ZoRe0KjR~e?XR*6%3l+7VFW(X>S9RdS3Nw zMJv)w_tDIA(E}#!o&D^}-|ZHA2ARm!b)|(n#hFe{c-uK!Oe~-(eh;`45}aPIgKXPF zb(mc~u*ylny5F`{!pDibv10TmP&(XP|IBtU+_4YUElE?00a7~qXtn}%68dY~SYqzc z6#PgtXq%*GQhoOO!zc0-=N`_|i#3mbxODK2X&Jq@$j~0 z^4vnP4#@j*vfDZFZ`H#EJ~Ed^1MDM(!kh@Jgv?ysk(p63K& ze+@og+-(gZg!{RwT6a66hh%Ud=VX+7>0f>|MAG-r?F4`2Ufi!m8*@10qVgrTUy#*Y zmEeU(S^P}R$$e#W>yrGTaHTg*tBOxQI20zb&asgS6EGdw$?o1qi-{08HLi=6xq%IH zm51CAQ`nC(O?_;(C40)o*s99hnO5ww%4Ben*V7-X0Ur7%U=EqiG;9_>X2v(2~ zgnRp#^*p)Y>kC8k(~gxJ4vW?OcO?2v^3C^1aerla z?vFgLhLnrSuw?F7ZKd z9xg*@oxW3T6QRH0gAupoH1g}eL-?z73XQA$hTx!F`T53tr6#Zu#RG;)7TmDj(T-1q z*a^L#tR^nU8Sq~}888=8k}aF~fVmJww~R0I`hyOjA_WMUXFL{)#s?k}!F9RHnr=xZ z%?3^JH4M`)Jas?5ni~0M5oGXGPy?(H1^uwMF%?P&0nFm#~xPSOwphR|snQ?w^O- zz`I3+v(2i9>alfn-InU+XSV5Zd`H&p-rHcYIZyACGjFqN^h$ayUajzz4j%5W@HTCc z<{cxcNC!27_G_!i*B;x*SzL^9D!_)wP+L#|D>gI>;bXk}L{P1`SUR;@uAO`va%n=Eb6k3DKlSJ6SW!^)Nl(d(ePfjyZO%PKHLlc1~gD z6sCe8ftSy0NfT7Sk!1!WNY_dc>QNB~gX4QghT89)0~S0I+(B!G$Ku85dh|9q34-cgZ z$^GY6^_bsXOm}JG{}H6$8Q1Vhi3MTnZV;m5jy&^&l4h-$sl4V`&T50Bxs@RP6`7Gw zhVR9!JO>z*P^wd%%HTV5BZoJEZKkq=a~}RN%$og%r*j&fl5TgA^O)MzNHdRl=i1gA z#kZQ|VrB_a)Uacat;@gSC{|HNW^^MF$AQ0UN9*l#_Hj4NQj38-2b$$hilzXl@MHCZyYGlOOYP?*derTcI)8L z&IymFO9G?v?&yO|XXkrQG&iv6}`;vIMyC;Eb7wt@+y=BaL_k;6mS>7SpF z#yIL=?rwtI{Qk(h zqxoC=yXk&iBL7!A!t*913HdEdXI9_(8DiBU(xgG8O)dh}+n?l-!T(xp1MezcAC}Vx zi-M(3OKu`&rBqoxM*clb$DhB8lFfpw$&TivXr|`ymc|^8b!V3s6C9(&{EPO35FJiz znuEZn-x4v=KFa9lD=5WzeBi$!^j#RQFZ97jc?4ZM-ZD1`_e!j^#FA?lCFB9{mR=c% z?b$sJYN+l+Kjf76k5Xy&H*?_8n9vIa!QvzfN7%!0zV)qH*Z^`?!k!rw_$! zvU^k-jz&3hGN#UxZ^-&2pFbozwK{nZXcMq|Cn*VPINHlm1+^@E+j;y_)u2?u2rX(& zX6-De2`K@qq_;b^R1c)UQ0KNQln29|Pf^-o^0KA^st-BMr@WfIgJXo}>VMxNBp_Cr z@8Kl7EU zTOK@A{n->LF;J%W<1JKRs^MG!*metG`&Fu8r%L`#vNnJV*a zDWIc*KKd&|=jrpOwjN9NtF>N*9z))sB2yDQ+NRK+NUyd8!SIH)LY2*%H@+~g6#&zZ zqKweV(zqFLQ2m4kNk`z_y@}3Ho5pzzklKw8NoXw8^v=SRs$FLLQ6DX>A1_K=_%w1( zgH(2VZ>hO@ujfj)ds7I!$o<`XSwC?HYMhkr4dxSmE{O{)$F`p2E231_PCkR~TP6gZ ztf9neW3@O!xqePU_0I3>Kc)T0CSsrn0=E$NKeHGGhg1{V zK6jYUtEyUy4{_*nQh`s)w-TVw_kMp}z-d>a{5Bay4McpvRQ_Gi*VCY2*lR%cM(vO9Fz{M&bH z*=p-*YXrq8g`#kjqpI9u%y;x$M0)MBD?Mk*$L`|vVaFkC3<r9b|^sZ5)u_Z;-#^etb{>Ja|Oa zs`n5p8bUwIx$<9Tc;IZo66)bPr>Zf(IU zWA)9x&;2xk?v#dT@%Hz9IJct^fs5~%hxNSFAY3WZgI5Yh zSnA@Vn~U7!8$rqa(N#`#$l#MPvV%5Ml`0y9Q3_>`zIQ^sS%bx7E_>)=`^p7e<9Eaz zQaf#RNWp+Qg#1Po!F9_wE)MwbQ34w9q0f_GWv1+g*{-qS;=YE7t66!U%QQcpJ`X)3 zgzHRR=C{liCZf0@<5NcyOBdGiBXWFz+XwBzlI2iY)rDz!4#FAt5WQ^n2{+7{f-OPf zqfBsd751#6`8SworzYHhFb1e&&7{P|lGOp5OItGwLOw!yjRo(Sd9^mYO`Rk@Kr@^Y zbNTka>3_@BBAMmgX1zG~{{9L$_?+|Ck{-+cRG>~}jv>A?XlIR@3g&y2WTr9?7T`SR z!q9_ad357dm9Px9{Cp~|ef|5gE7zBvp1wVt^w8z$9Yx7KWHtL1sLWbbS6v~Cd`2db z4sq8&^EgF$6~3jPFa6~m78^kFa{C?gzIS3rj>+{u=AAi>9T>2Jbn(5*Ltp>H&}E1l zv{y5_)eVeZmD0KPf7r#o~luw@*~?PckmWh)xSlHF|Wt06u$J+fTb z^7TZg^|6(MK3b)95IXgD2b4N!>&Kz>9uHCWQP3dnJuMRv$L72m;KS{3E|L=br5t;D z0Istb!iWD%H%MZuJ6_#9?q53?o^B5CtO&!lnmoCSpkS4rr@R|~jq$y+qi0L>{)tRC z&ulgoHAsJkrSe1F9F{bX=ZIYE;h3h&mbGuHgF=pJZlak@(fRx!Cnh1~`?XeA8Xl|m zv!hV&w;|xVi`!dh4_a?H)S{n0}Na`z;bqVdJ9p@?m!b@gHp zyLZA4OGQ(Ms;=BBvP&y6Pk+X7u3$!aL-YZ0kAV&OQxxMdkzr_&=s&KT&cA?60ktgO zuQJmvag}@n$CsR^RGlKBk4gu5aAzpF_47*yM)%ZUPRXHmI*w$uiX0%?@J zC>sLKf_B+A<6b`r( zf-aGR{exGfhmPRz;`_xq5yxnzN6KI+>l1vW%_%H5^(o8m)MCnDf}@rP_R}*S1MkoS zz5?gtsGB(i&I88Cdv(|1+sO!gE>qU!AY{1=CiL4JY2y{^uq*eM^W`(GI|G#0CT`Om zQLe;KsG50FpEu(`9e&Wwh@{_oT^;mJ<}hA$GzSO^njhsL^pBm$I(%+-hcVaEr__0( z8gTFfE*c-ONY3b*f>bV3&1TkT>X{tDpKOLQMHJ-!_cSvSnSc+f_w!hP=;;0X+kd@l z^TXzNfBZ@{4XXXe(@rU_G1h?2!RsxCpEbXBU$8fn3hV4v0^2*u2=^P1JLRC?fk_5I zu3~98nfWmE9aiY%^Cka+{qS7cK2Eyr<^iryNhLO_sIBGifj*!PEjYvRD5?DZ@1Ub4 zT=d^fBRzR{{xulC;r`xxzB@9KSh(suaQNwYP+>s3*PQtCu?xkj(+sji*q8vC|Cgy}2iVqE z?LYlYvTr9_+)Dr^al8Z?NJ=x}v9yjB_u^U?)&B~1b<^wExyXV!2Di?%TDysUrtV); zJ;Ss7I)B!_Rt#X?mxWOU{^X$0c>=l#w3N`pF4r2(O8>JdV$?SM5AC1B(r!D@rz4z7 z;D7p3XCV!%HAP6`8@UoDuRB&dQf)IJ)bGE;5X;X;1*?bNh zeOZxa^V|+g;Ul^gXnao>vyJkGB&r&Gb1{>|ZN9oby-N&YNlMYVk3RCmj99(@a4X^K ze;`!QR;st=;6JKzkovI7g<_6P|3|)`8A>&w8Ix{B2Uq88Qaisj2ka2%?AQ z!Gns}s(uNYf$V9Gt^KI&uqQsm`cR8{N*zr)2ywm14WS{_K$^y>I)8+SSW26WJF3#* z9&KI=?d1Z#oD$uK(P&ADTKxOJ3WwKo1ECP)I&AyGaeg$SI!5P7G%|#1g6yDpfw+?+ z$J8Hx?@2Ss(T!X^b+qXDE=v+f+>dZ-g&Tg5$K=GKS2Ni(9InWY9-OVZ`(ZJ3^h%VX zN6J7_Eg>xN>N&J3Jdyx(sWAoSBMgAV%Kd6$4=cwvIu!s%5&jyUd!FF;&|S<#oNC55 zvN~m~pNn)WEvOIL$x%_GfKLa;0v+q?V9t%06^07;s-wT8qANzrBdyH7R+`oPFw?q) z&>!Lw5Er<(ewNTaAc0SO{{H!j_o{tm=l=68kFJ^(hF8!fn4TzQyWL~|wsO4!Juxrp zNlztgl(9f;Ng4IP?q`Cy&&SU4NY-EBOFHX>hBf((OyBdvSWLY>y}dU5apvd^LTeZ= za(NAq&sx6)eh~7ZWtVca2uW@wHKzE*(cv^fvP-PVl_92$@u`%|a1>D_g%iW8q`QV__FmT<=aDTcLov)y4zk=`lAJ(OD z&|s_s&{%i7p9dR0JF|!OxCYw5hgt=+55JXaDl@7yrY?RnRFS?o+8u}|_u1c^^*PQC zsQhiK^CxSuv=t9<31SCut9MyD*n9Si5{r%W) z>NUou1vpyIrM&oNQD3A|ESI{IY!9AlJ>2b8hfN2mOU56DQ2Yi1q0?L9KyHz!+mEvR z&pPR1#2gK}plmeYK9i2RNx-i>-d<)lNdFyir_gmWvZFOpQFkqqb|Ol}ks@jMc=Sjm z(t?TUJ z>qAkRtav~6Z8O9VVe5m6L0yhJrOLwPk0s^9`u+@}iI=ang`fYrI}-A5sRj+N0yo4; z1S)f)1P4?2H>S7eKasG#JG#@dQ~ie1?hhv+cJhgUuh!0m<0aMIyg$_J%z_WYeM7{~ ziIzA1hBE9>r94>a$ecQNoZ(ch6Qrdc7})*z?22N>c`kRdMdj5Sf6kz?ErpX8HH0;k z;P{~jgn`}9P1iS7dwbKwpC8>-c36Ob^1j!vd-7c_3)hnoR=iNldW^Z4vlTC9^k+|6 z>4%k!p_Y!%mSkWf{g_~-N*m~kg;O9 z8I1rle%#8MdF>gG)yKu^S_<6v{f990cgIjeixSeMfHczGNP|dsC`dO0 zGtAuMcmIHUe}d;>o|kjpn!VRvdo7_|Ek{9m$+c@`>dR|egs)5R9gYC94gKgWhIxq# zJuViVW>^V?BRjc@s`D2dd|f=4(WX5y*} zA@ijhp(T5yl7|2;zxU%~Fz?MtrXTa?pE7v4?*Y7hYUq(IEhMnLcik3SHd!4|+2&-t zP#BIGq()pnY$dETzrUbg{nec(sx-p>aBf5tG_M5@^lh|g22+3zWH?ni18pypk1)C* zBfEg2nar<~raJYr^?kL^mk%Y>S1yi^lJ?Huv8fPg1NiD`0eM>`GGU2ReCyOTx7!vM zf8@!-j0!ua8}hi@@!{Jr#o6YP5?TQ*fZQO~YqGmp6|Lsq8DZ%*s%2mZUsuHh9G)b= zTqa2+M5CR04yWPDDJJpgFjiKl!|yf&NKrXTgAJq_POKS8%kHyEJB6Fg=#x{zBYu(X z&%mhSdVNVMr11F`Sz_$&X@EA$ z6ztaomo95Q(h%RtrxJ~YvCp=5JKfiBP~z<@0fTuA)MB0@ivAj(KrOx(X#UX}TAIcO z&{#$nI2NXYxlxxU{YP8UC#6u%-=3TRbtSpSW%fN6NnC0GQ`^z#Vatz6aKpnt)SoL) zj{*evIgq+_!z=#qzM5&_`CKSVK}%L#Sf{)aI`|dmD{U{AjAT+BVD729!&Ew>M7aNx zz?#cQ};*X1Mt7ebfax zY+u-+0p6Eiuv4(1aqBKToA66p$wqwikM;Z@;=I2|@{*sd`aG3bgvlA05xcC~PqCjn z#_JmGdMun>hZ!e-VV@0SUb^&YAUPb(8x;Oq_7k|l3Z)XSdBv0^blkJ;~C9<0F8QV7CrNObrbqGt)kb!42K`L7=)85Fvacx4m})S z+Vw9&vUN|mQ_nY}09pPY_c>3l33deqcfhrKT}e~fv<$(19NM6Fk^rCvpUj;QiR_#~ z`)2l$3Jt5)<_!8NHmvW!%HXMZW7T`fYE$UoD~jP3QCzp12##vHbN2U##Q>+zdEh%R;vuz^gX?;* zD}2wNf$0|)3pxzlFL+;d@z-tbs3s9%&O?4iPi3R`Kj~MsbMhT?-7?5^z9H`SSA@?3 zkues*E4+`-5l_8(i20Ge$1Uy0A(9^fpeP;4NhN%cg~xOq>GA9ud}1{ShA@AAov>P(SBs<1TNO>!<@Joa=Bdv0CDG^R-eQJsOZgDY#Fu$M z{%bwEf|`ZpFMa~l$0mV%p!#|uJ33@kK_-=+3ax#}3^FVcf^WrLbkJ1;8#ii!l`hE0 z+K?(hNdN6WORa8J?x8Ts)76k(bOY2BW!d=YhOueiSD;Uz{5X%)SG(!)j3i-a~WEgP%gm9?P+=EuXwLcJfL z9Uy`U7L`AnEH@qjP)5d1Bn9l$+fxtK;j3g8X4`gRv-Xf$bqRJsFvxdd7`sT_w-yMH z4G6@cGv6x6ncc)$L9mjIWFJ5qrvLiieJQY8 z`e+IeX;`I1>$bn!I)l#>zT$qQWjEaO!j=tDem87ElvLh^68zwPO*P3Xx9PxD%@d^p z%D^Of!hl)KKW!&?hI)}hoJ=|usswHOjP%Myl~;p%=pdSP?{?n>!kI*nESe?Wz{E*Q zEp63r|GW4fv4S>_QO@^CL+aa1OO39R~*qkcaN=5$D+YI>WLt|SD1_alrYar&4MK#nd?&v?&o2bE?wyJ!M9}7 zj}Q1{No3z}a1SyoG`Uvh4$2{IC!gs(2pqEr_nMhoNn1#RR*S*VZ`lp~|#f<7OU>jhJOL{XZV36jp zg)zShe2{U3D`sjtg#o9sR~(*3jX4MQU0fjyb!dBhzgorp*MM}#)gmvH$^XVwH30?6 zGo=6l0QferI|63?;^kRLL6tO*2&biHgLykvyYnO^e@!j&<{A=Zte@M9?qu&l3dk4h zfu5!j`A2ut*T|`wETWo_--0bx?%uDYn@5_6PaN+_4I()B&Z0*BktZrEz&n}ACV+`< z0f%7B97|U8q*cLrJAH1>u=jfhei$7>R|HOW?d0f1nh(5kZ-y@%HKWE(I~dF} zFja>RlQ}z(e+L6#hmB)fn)*DDELPK3((ulijLoekb2%-7up|Nccv&tB1UYW#z@_ia z4vi98SPlu=2iWtCK$J01ZbKTDAB636q7!8|^Rv4WC4Aj&|1?z*p%#j?7d`xnFRNc* zEeEP~21VouvhWYh!%W{MAVEm zZYWUqLin&(`#M`zDqmVihR=76HM7Y;c;a)(L^p*%^LHmN9_U@%KY1EPHv&I~J(Sy>wbhfarI(ngQPI~4K`ci! zp%|}`vaq3grvCB1yQg;=_pBH>H*=nrC#~@XcTw_uZ^1vr@h`+X2tFX>pA<=xq#4NP zGgVhWGhWJLG^v3adI#>ZRP(BKkvGe@~hjc z0TNz{!=vE@aI0&hlJt6mJM0fbx8t2By>2kj&oataI~=rsoloDnuiGu{tZVrtMEwm5 zX^&$=&pCPrfMg%uU#AU<^p6+amA8WkjSS8|H}aj5#~1EgEA6k$pplwWV-}|qip!>$ zgb801nlu!UA>lc#Zc2DY0HiCpi}FBW|GB=*0s76qY&O!bAtX-i+w1;*Da<%auzl2m znWC6U%kaP(;)wb(Z#K2^DjoM{g82dNRjbh!aiU0n7qnRixrSE}XGqoiJoHk`z;EW| zpBHs55&KHah6Gi6rArT`6Wrm-)yBA*!7h4638<9j__Y-vbqh~gfD~v?-WC&v45YjZ zI2D=D2fF0Z!pdT8S?xB0#y)5g9|^e@R6)|bQp=S|Qqj*8_SVk)_FQ}EyuTpeX%pp< zp537|CO2b;7AH&i%p8Lw{p@jxktvlC?{5P8$$*F<0&M<0f$*f&Nn6k8CW`hUkj^!V zMYFkxJ%pkv-22vX)nnyD{EBe$$)G^K=_Z*B<@Wbz)|xes-IWZ))u-OHg~_`r1<8cW zl7y&TsBO=sRUiuedS0qBwmJ!KKDBzXd@;{JxZ#!r z%k{g_1~EU4NXK-6tB;-L^midO5exOof+ihr;-00cY8vBEMF@!!h1x&Rn7lj;XlXj3 zi>s!|<8BCJ^6nz}D?2QTf1y6TriP&q`whv#07#n~mG5D4h(OdXbN<JAUd#lytP*_wgfUaxRNq3X%gqz@LV1>bQ17QlE0mQPhG)eH4%vkk%Vpn$ZXlr$krYu03R>a?9BQ~we<-DMH>wIoS@{io2N^QF@3o7XW}n{fQ*yr z1n#)dzc@z@SoprjzBNwj@|z9EufBU&?$+ad+WGQG*JZ*4gFc%b;KoD1A}Hz?pS>|m zgifE^L$PaPd+KSNJP8a6;cIWH{kxeWT);TuJb|JtvCAq07qgWiw9DY`YV@wQ_Z%i| zwPY|s|d@WtPs< zB9j;?js80BZ3V$iPPg81$IUE%a|o-m;c}M%17E`*HQW9R$N8S=a5D~Ur(jCfkSF8h zGO5wgcgZ!UQ#>L)b83#8o~5s2qSCNv>OupDHzIi;ntY@M(F>ZVOw04lu6w)YzN>2i z6;ot*J9^=O!LbDqc;+_2xo0Kh?{Nk4t-%*_^%&fz(4^V#t6|P;*#&DM)Y4KYCDGzP z+YKSMrXSEK&3*8=+q~FcHzdfRsx_!xX`@plaB|XNibm34UTk$Ev#jgs*GP*utV(IN z-f)r1oS_cnOY8TNFUxU4)BGNIZf<2ay}tQ9bR=OUE%*^vo+7sjhXWXst(#paKq@}K zjk((5zTbnDvD$Tj6tjIBtX>X{2o)is58PjjAg?Vv)(|!7#FrL8fh_{IRsm0h?YeOT zff(m?Rgri+f{znoPS!S&5gH)Ee9l(%f#5F~nY%hgR2Sd2Q`Z?Swb9!=go_P`GsrYi z0?!?`#tpyFd{1uB9F}0??YWuBU}3(e(7cdfDZ|HNUJn@q;Dt4n4pcx;Q4vU{o?tI_ zBB!0H^GJp*$QOQC}pZClHAjnK4Osm1Gt@N8r$U-!6I@bUgd z&r^UM{=8Z$O%W^l=DN@Ck`I$UgcV(oTc5c!11FZ{c^1cp-y9j69f>F<_LLrr47
`~**oW5!&4N!Nj#snW3{M(eO$OX#na;Z(P|mf`(}0$wtU{etU}f5=q0 zLg>-06ZiH@57 z@2+h;PEHe92gmd}{P1W0Cu|FLMbDH8 z4SwX$`VmX52d?xIO3{7tp(FtoJ8OSU+TE^x!XG&Z7Wmir&hO~)}VwiuP!A?zm7d+}QKWfNsP+QRLr&R(B;)?F=4vF*n! zvv_5)31&>tvLrJT$1tr7A`Kl6WgK6-*iq!_qKsn1Bod|T?gbk(MI1Kw(&;SMay;fg z=F>hD5j++G;^aWi^>^grJZK*swn8|Tp_^YG5E2{o?Y^fNx!_wvd9)xMV3&Gi$|qk- zgFO~~V135=l6=;BcWIV2Dvar`e6L<{<4>=n30ju-)<1fYcWv0>Hg8LjD_c#GhVQW0 zbl_ZWJ`{F_p1?w8hYA0e0w(V(~X`u=hBdP3sf`XB@Eb7zm^1U|ZKhn_-7f12ep8m>?wk(f%1bB?I%i zF2`F6g&<3VyQN0Adyz@q-3K3H@l8iMV}rf+*Z9!`KQ7~=Z^|F8?_1b7ldAnG zj?TveIa4aQ*;P0@z$ECeo$gdiw>x{!X{P~`YljAK^JQL>G0$3_Y7p($WI{UO9(9qm z$bVn9m-BNu0Z8I>DXqrZ-PKslM7y4i!mSBAN%YIOj6NGr>EZiF)2rc5VK4ASqbr^G zNOM&;Y3sgAW4K!dy;LMokk?L!`7Y%ykP>T(v0aQE2cJzBl5z=@h}ik9ZYn3IHT={W zY{O$a91NYzc}ZE7X;wLv6_^}wf11>Vqdx!e`Uxk;O*yB5oy3NnN|xmP80WN$o-e!L zF_srJEDkL&pJvrs1IHho`9sVz=LAIhLY$en z8-~l`hCzzHXREHTnU5LXKUIV-%!+-4LFtw({v-b`Q(vQfe0m*2FeXfc_l;m(3P(Fu zzm{+Xkh&e~YDqWiq@5~D?5y3trRrFAd5`P$igs;hD9>lJnC>AIk`DQX&NKd;*TORR zV6CQ%2T)~>t`vYV2_ja8$i(;?%9EF)!CTk(yR;OX2l*$ckuA>qe5D$u|DM-e5d-GE zVHR}xFQ1dGbT6mY30=K?6a`YJG%*fF!^sh@NM^hK5ll%e3gs%WiEcPb@!=$BLy!Q-RkjY+Z6 zMp!aAdR+^qXFOFumOzb-7`nrIxl&qMLY(E`&Cg!pjss|U?wo3ZC1bcOt~di0k&WE% z)8Bq1!SoW_@_Q~F&^=^bNA8?hL8%V0(XRpY+(0F%KHrHMr6tiN;LsKptLQjT_{sA% zO?A1aTFJBv0+_z+(4zT8J+$hg?soqeKK+HkjyL**n7;kpN>QKxKNyW9ZSG3um zKj2)`8PGX<=N}BeMC5+RgCt)eO0Ltk7IfTCS-C)f0S@&qi0FeOK2VO$I5_!5<+!JW zZq+AR?#yLPY9&*|S7q@cN8;g?sO_?i*4LWRr5$?QNS0l^h>bs3`EwW{@iB-ij>vG% z9|!m4roW-*+?CuBqfw3jaIP{#aj7b})Fw{tvv4+R7itdpDK7NrqQELF;7TY;JX4k6 z;kDK3UOJ5h_MM?|NeteFZ|kyIrdfM~Ls2Pe~}Qn zwo{L6bd8|6LXZqv*b~LMi0uQ!?2e}!sSaZ_pB!fwyq-Z3zq~UU=A?g-a3iNJ2Iv4<+NB{k`E~Mu7 z^;3St@JB?YR9^1D8L9z@3N3>i{`;p~qebzhHEeR5)!(q#sT82iROGsz4_ds>Sfds_ zdM@GwHpvxmD$67x)U-!7Q6*I3S+|=55^lfh>5d9j)7w+`qd&)S`mwGuc_=H>nbRX| z`aLm{l@Y8%aBWZy1?)=UtHNm#6r(?;k}4OOhP7eh-M@7)`)T*x%3D>&`$Swwj0 z9n04GF*z~g>hz@qJZvEXs1pL&DEy3#aVY$HExEZ{y3GcN+E$y+w(U2_uYw9`J+Y8W zTU!Qyf4NUN)|Qg5GlrmPluKsEhO1e+FF9~fk|+=kJ;=Ka)RWW3HiJ)?u(L=$I`nIn z-pn*2p_Idi%6a=J#f_5@Y)OIG%Dtz6BEZPY!-mn{3OIdq?DY;o7u6gBS|lb_T7ab-~$^L^G9C+oZvs#y$9&v!@ced0g z53nBBOi@lKYgtbJFyP#zVrGCy27#KAmomVQWEiW-x^C6&e&ZWB*iocwzhv=^49jp{ z=zM&i@&jvScR;Z>6P^5P#h&uHz22gqdSY|>Anms@M1gIEBTY<3N2mQQt|@v2(T(cNOVJcJRfDp)|yr-BzviLy@veDpfXFYWT)mW53avTAat#5<^vD60m72oE2i|TdXWPeY3_sEMeY6J}8 zX@X3@NoG|FP zzi$;GV>t_E#r#uR?{!vOP-v9W{l89KI^SUUa2Sgh}0Rl2uNfLDS3fD~d@89}U z$eN;O{jd00!+}o!RF1Y6+(X68g9?8b(hn;vHO^Vz>ebeIv5#}*__B6`!V|=7(+i-~ z_b>K+g!>ChKR$p7k7t8O-d_onfH56c#t6FKovw)8z3ackAU14U4fdnd20|E_3pJcy zw1oJ)Sw0WnrY7%Pen+Hwr>Z2l8oV0mDg4M5!Yxi>qZCc#UC#Hbud)cMw!jPPR~mPe zJ(g#Iig6sLK-yHY0W~+8!&zW#-Dwz$ricJ+;Pd-XUb_aGt>2+P&hY645J3N<*M8V_ z-Pc6o(9pqfEsSUTfDtbxp@6bpBN z{mb{4DV)@t_xW5gG%zUzOHL;Y@YYPSV=GIjIAFe)pLQRI1#(18tes{uIG;5%W#|8PLrBb z9BWcFf%KSAvwxyt3dCS);t25RdeJitMf2Go|MbVglH&)2;CGhV`+fdQWCLBQN=+j@ zIE!-Rl^9Hk1Jl;y3N)PWoMp7LQVs#Y7#3shfs+CwPf&n0XJIz+-^o zaMa*k!H_8a*T>`UtKupMXA2d~d(%l?J~gQl_Hte)_l}Sf#hsrP6?@CZ{Y|d)Z!4RR zu!-`MVeMiupCBOwltc3~LCtT28f2|z!v{y$?;DXJM!Hp3F*5Qx8{P_B-M48`BloPv+YLi zi(JvZ_mpj=X3`IVw0)&!Qc-Lh$sx)~G=Wkp^=Qv@FfoQZLYkjWPq%w+kKFJS(=kB0 za695jDS)y!W{9!q>ebKb3ZM{bo?F*u^|$`{`w)MmzmPfiH~trKGh6b4`po^D1^KZQ zc9Efc>0Y?Kg9*DSrSZ5J_s>7HR@+*+hcQ)wUE}k=5t0p%%C2`0qSzE>qusRXEAe@bfjbS7S-UJAI z2UxDZ)P*@=tS(lIYffQAfCSgTY%*g-nWzhQGF`xOsH|F-_1C~_CQrF=Dl*+Wpb3TF zW8g+B8{*d#Mrj*@|0x^mQKOn=vOJu^Ml+-cg}TAe<>jtH+ahc zTkk8*z~Cx)2B4d=2UF{D;F&8Qcp?!L8-Irm9W0D%Pa zQz%|!ggRYJ({z=O|5DD~-dsq)`IlL+xp4a#{YA>3K@xrq!>*GozJg!YdzG0-!>MPYVUi<;7PRaVQ@2^Q=~ zzP29v#&<7A;M=5$TW^D-ZFPCex3cBhR9g9EXTFtm+!P9$V6%^9OPpZHN!ik`-9_n^ zg%11u0`CmR@zVje$bToEn|VJWcI`BYslZsa^!g%6>SgjBITZ8W-_N}5$-lj>~Zzj#NP(0yp7ozZk+fSe|9o%Ul(@%vbFQm5KE|W?3F&Lteeko zMA7%>hjE%L5f)7aJ3?0*vj-8>FX+k~kM1ISOTjz*VJRY3o{5p-&KT?cJL*Z0KN|YQ zD-_fO{zZOdBtZNY!NrWT?e3O%&+~3&{^0~Bd~d5L6kSxm6oqeF`OMt3vDVM|ZgpE| zurYct+RB+nNT;DKOc5`Zub>E2L8vkR6T@v_akgGE3DsW5Y1T39OhlCGIsN|dlD^T) zpSH3yPh-ljCvGJBzeAxDJw0tLktS|1I(HWA7+$p?Ed@^l@&{FAgE+ zaoc}~qVBDZU+3nD=oBjfAHc-51o_kP7cfdWbEzyGB%?~?)Z&IpYDFA4hJB`O3B8R1 zC3(_ad@BGYrNdl;BxQ)*G3mc|dq?tX<@Pluy%(LhMHLvihxIr>e#C31VcUMFZS-zX z4Vbxf>M`&5SGJUsGqiU!_pHuhq{OriBs)3?gI(sCd}dNH(f6nI_CvjOM3I6l$;iAo zwtKpRrSFCqUJafq7txa1@eA~{_^qs+O(Cwl=O^u}Uwgtl2f(ymQERPhy`%t+!>pn~ z?iMNkjxNi|m+;ypf6*T?bv#`kIe+2|g{+u;&FXZOUy`giYTh4}0A zqRE_T?t<-2BCIY>8OoIXjn|WQJ0!3FMT^h==W!7+jEPnf?Ezv!Qj9rEQuR`->bBrb;jz%8XFyR z4D?D31Xpb*Nbyj$xcpvfGl`rF(0Q>#XL}wzH9P!UGGyS&yXkXv-n!ZP?ULl{dYhom zz`cGNmdG*uup+Mdb3bnM&E`8FPk+l;3?!?xnVA(Ebk*9ZNGEcDYBqZVrO94=cXS4y7CzJ%jdeT#yV11VRUa zNI;-4;5SSVh#B~S1_I%L{*OQXzdjz;eZ$fNdUsg$SxH)k9T*v;s;Hq*EoTw&KO@ny A=Kufz literal 0 HcmV?d00001 diff --git a/extras/Introjucer/Source/BinaryData/jucer_AnimatedComponentTemplate.cpp b/extras/Projucer/Source/BinaryData/jucer_AnimatedComponentTemplate.cpp similarity index 100% rename from extras/Introjucer/Source/BinaryData/jucer_AnimatedComponentTemplate.cpp rename to extras/Projucer/Source/BinaryData/jucer_AnimatedComponentTemplate.cpp diff --git a/extras/Introjucer/Source/BinaryData/jucer_AudioComponentTemplate.cpp b/extras/Projucer/Source/BinaryData/jucer_AudioComponentTemplate.cpp similarity index 95% rename from extras/Introjucer/Source/BinaryData/jucer_AudioComponentTemplate.cpp rename to extras/Projucer/Source/BinaryData/jucer_AudioComponentTemplate.cpp index 8b7fb14aaa..60c86f9c45 100644 --- a/extras/Introjucer/Source/BinaryData/jucer_AudioComponentTemplate.cpp +++ b/extras/Projucer/Source/BinaryData/jucer_AudioComponentTemplate.cpp @@ -33,7 +33,7 @@ public: shutdownAudio(); } - //======================================================================= + //============================================================================== void prepareToPlay (int samplesPerBlockExpected, double sampleRate) override { // This function will be called when the audio device is started, or when @@ -64,7 +64,7 @@ public: // For more details, see the help for AudioProcessor::releaseResources() } - //======================================================================= + //============================================================================== void paint (Graphics& g) override { // (Our component is opaque, so we must completely fill the background with a solid colour) diff --git a/extras/Introjucer/Source/BinaryData/jucer_AudioPluginEditorTemplate.cpp b/extras/Projucer/Source/BinaryData/jucer_AudioPluginEditorTemplate.cpp similarity index 92% rename from extras/Introjucer/Source/BinaryData/jucer_AudioPluginEditorTemplate.cpp rename to extras/Projucer/Source/BinaryData/jucer_AudioPluginEditorTemplate.cpp index fdc4dfa4c5..a8a8e29899 100644 --- a/extras/Introjucer/Source/BinaryData/jucer_AudioPluginEditorTemplate.cpp +++ b/extras/Projucer/Source/BinaryData/jucer_AudioPluginEditorTemplate.cpp @@ -1,7 +1,7 @@ /* ============================================================================== - This file was auto-generated by the Introjucer! + This file was auto-generated! It contains the basic framework code for a JUCE plugin editor. diff --git a/extras/Introjucer/Source/BinaryData/jucer_AudioPluginEditorTemplate.h b/extras/Projucer/Source/BinaryData/jucer_AudioPluginEditorTemplate.h similarity index 91% rename from extras/Introjucer/Source/BinaryData/jucer_AudioPluginEditorTemplate.h rename to extras/Projucer/Source/BinaryData/jucer_AudioPluginEditorTemplate.h index ba60b16d2f..efc062c36c 100644 --- a/extras/Introjucer/Source/BinaryData/jucer_AudioPluginEditorTemplate.h +++ b/extras/Projucer/Source/BinaryData/jucer_AudioPluginEditorTemplate.h @@ -1,7 +1,7 @@ /* ============================================================================== - This file was auto-generated by the Introjucer! + This file was auto-generated! It contains the basic framework code for a JUCE plugin editor. diff --git a/extras/Introjucer/Source/BinaryData/jucer_AudioPluginFilterTemplate.cpp b/extras/Projucer/Source/BinaryData/jucer_AudioPluginFilterTemplate.cpp similarity index 95% rename from extras/Introjucer/Source/BinaryData/jucer_AudioPluginFilterTemplate.cpp rename to extras/Projucer/Source/BinaryData/jucer_AudioPluginFilterTemplate.cpp index 5d203c6a88..8d71f3710d 100644 --- a/extras/Introjucer/Source/BinaryData/jucer_AudioPluginFilterTemplate.cpp +++ b/extras/Projucer/Source/BinaryData/jucer_AudioPluginFilterTemplate.cpp @@ -1,7 +1,7 @@ /* ============================================================================== - This file was auto-generated by the Introjucer! + This file was auto-generated! It contains the basic framework code for a JUCE plugin processor. diff --git a/extras/Introjucer/Source/BinaryData/jucer_AudioPluginFilterTemplate.h b/extras/Projucer/Source/BinaryData/jucer_AudioPluginFilterTemplate.h similarity index 94% rename from extras/Introjucer/Source/BinaryData/jucer_AudioPluginFilterTemplate.h rename to extras/Projucer/Source/BinaryData/jucer_AudioPluginFilterTemplate.h index 547dd5eebd..767278270c 100644 --- a/extras/Introjucer/Source/BinaryData/jucer_AudioPluginFilterTemplate.h +++ b/extras/Projucer/Source/BinaryData/jucer_AudioPluginFilterTemplate.h @@ -1,7 +1,7 @@ /* ============================================================================== - This file was auto-generated by the Introjucer! + This file was auto-generated! It contains the basic framework code for a JUCE plugin processor. diff --git a/extras/Introjucer/Source/BinaryData/jucer_ComponentTemplate.cpp b/extras/Projucer/Source/BinaryData/jucer_ComponentTemplate.cpp similarity index 81% rename from extras/Introjucer/Source/BinaryData/jucer_ComponentTemplate.cpp rename to extras/Projucer/Source/BinaryData/jucer_ComponentTemplate.cpp index ef8be0d9b4..d719a78001 100644 --- a/extras/Introjucer/Source/BinaryData/jucer_ComponentTemplate.cpp +++ b/extras/Projucer/Source/BinaryData/jucer_ComponentTemplate.cpp @@ -1,17 +1,17 @@ /* ============================================================================== - This is an automatically generated GUI class created by the Introjucer! + This is an automatically generated GUI class created by the Projucer! Be careful when adding custom code to these files, as only the code within the "//[xyz]" and "//[/xyz]" sections will be retained when the file is loaded and re-saved. - Created with Introjucer version: %%version%% + Created with Projucer version: %%version%% ------------------------------------------------------------------------------ - The Introjucer is part of the JUCE library - "Jules' Utility Class Extensions" + The Projucer is part of the JUCE library - "Jules' Utility Class Extensions" Copyright (c) 2015 - ROLI Ltd. ============================================================================== @@ -57,9 +57,9 @@ //============================================================================== #if 0 -/* -- Introjucer information section -- +/* -- Projucer information section -- - This is where the Introjucer stores the metadata that describe this GUI layout, so + This is where the Projucer stores the metadata that describe this GUI layout, so make changes in here at your peril! BEGIN_JUCER_METADATA diff --git a/extras/Introjucer/Source/BinaryData/jucer_ComponentTemplate.h b/extras/Projucer/Source/BinaryData/jucer_ComponentTemplate.h similarity index 83% rename from extras/Introjucer/Source/BinaryData/jucer_ComponentTemplate.h rename to extras/Projucer/Source/BinaryData/jucer_ComponentTemplate.h index 9cab73efb0..4f839603a1 100644 --- a/extras/Introjucer/Source/BinaryData/jucer_ComponentTemplate.h +++ b/extras/Projucer/Source/BinaryData/jucer_ComponentTemplate.h @@ -1,17 +1,17 @@ /* ============================================================================== - This is an automatically generated GUI class created by the Introjucer! + This is an automatically generated GUI class created by the Projucer! Be careful when adding custom code to these files, as only the code within the "//[xyz]" and "//[/xyz]" sections will be retained when the file is loaded and re-saved. - Created with Introjucer version: %%version%% + Created with Projucer version: %%version%% ------------------------------------------------------------------------------ - The Introjucer is part of the JUCE library - "Jules' Utility Class Extensions" + The Projucer is part of the JUCE library - "Jules' Utility Class Extensions" Copyright (c) 2015 - ROLI Ltd. ============================================================================== @@ -21,7 +21,7 @@ #define %%headerGuard%% //[Headers] -- You can add your own extra header files here -- -#include "JuceHeader.h" +#include "../../JuceLibraryCode/JuceHeader.h" //[/Headers] %%includeFilesH%% @@ -29,7 +29,7 @@ //============================================================================== /** //[Comments] - An auto-generated component, created by the Introjucer. + An auto-generated component, created by the Projucer. Describe your class and how it works here! //[/Comments] diff --git a/extras/Introjucer/Source/BinaryData/jucer_ContentCompTemplate.cpp b/extras/Projucer/Source/BinaryData/jucer_ContentCompTemplate.cpp similarity index 100% rename from extras/Introjucer/Source/BinaryData/jucer_ContentCompTemplate.cpp rename to extras/Projucer/Source/BinaryData/jucer_ContentCompTemplate.cpp diff --git a/extras/Introjucer/Source/BinaryData/jucer_ContentCompTemplate.h b/extras/Projucer/Source/BinaryData/jucer_ContentCompTemplate.h similarity index 100% rename from extras/Introjucer/Source/BinaryData/jucer_ContentCompTemplate.h rename to extras/Projucer/Source/BinaryData/jucer_ContentCompTemplate.h diff --git a/extras/Introjucer/Source/BinaryData/jucer_InlineComponentTemplate.h b/extras/Projucer/Source/BinaryData/jucer_InlineComponentTemplate.h similarity index 100% rename from extras/Introjucer/Source/BinaryData/jucer_InlineComponentTemplate.h rename to extras/Projucer/Source/BinaryData/jucer_InlineComponentTemplate.h diff --git a/extras/Introjucer/Source/BinaryData/jucer_MainConsoleAppTemplate.cpp b/extras/Projucer/Source/BinaryData/jucer_MainConsoleAppTemplate.cpp similarity index 100% rename from extras/Introjucer/Source/BinaryData/jucer_MainConsoleAppTemplate.cpp rename to extras/Projucer/Source/BinaryData/jucer_MainConsoleAppTemplate.cpp diff --git a/extras/Introjucer/Source/BinaryData/jucer_MainTemplate_NoWindow.cpp b/extras/Projucer/Source/BinaryData/jucer_MainTemplate_NoWindow.cpp similarity index 94% rename from extras/Introjucer/Source/BinaryData/jucer_MainTemplate_NoWindow.cpp rename to extras/Projucer/Source/BinaryData/jucer_MainTemplate_NoWindow.cpp index 01f4c2e9ea..daa109443f 100644 --- a/extras/Introjucer/Source/BinaryData/jucer_MainTemplate_NoWindow.cpp +++ b/extras/Projucer/Source/BinaryData/jucer_MainTemplate_NoWindow.cpp @@ -1,7 +1,7 @@ /* ============================================================================== - This file was auto-generated by the Introjucer! + This file was auto-generated! It contains the basic startup code for a Juce application. diff --git a/extras/Introjucer/Source/BinaryData/jucer_MainTemplate_SimpleWindow.cpp b/extras/Projucer/Source/BinaryData/jucer_MainTemplate_SimpleWindow.cpp similarity index 96% rename from extras/Introjucer/Source/BinaryData/jucer_MainTemplate_SimpleWindow.cpp rename to extras/Projucer/Source/BinaryData/jucer_MainTemplate_SimpleWindow.cpp index 4e22c675d5..9f7cdefa34 100644 --- a/extras/Introjucer/Source/BinaryData/jucer_MainTemplate_SimpleWindow.cpp +++ b/extras/Projucer/Source/BinaryData/jucer_MainTemplate_SimpleWindow.cpp @@ -1,7 +1,7 @@ /* ============================================================================== - This file was auto-generated by the Introjucer! + This file was auto-generated! It contains the basic startup code for a Juce application. diff --git a/extras/Introjucer/Source/BinaryData/jucer_MainTemplate_Window.cpp b/extras/Projucer/Source/BinaryData/jucer_MainTemplate_Window.cpp similarity index 96% rename from extras/Introjucer/Source/BinaryData/jucer_MainTemplate_Window.cpp rename to extras/Projucer/Source/BinaryData/jucer_MainTemplate_Window.cpp index 3b6ef8f73a..a13257c3f8 100644 --- a/extras/Introjucer/Source/BinaryData/jucer_MainTemplate_Window.cpp +++ b/extras/Projucer/Source/BinaryData/jucer_MainTemplate_Window.cpp @@ -1,7 +1,7 @@ /* ============================================================================== - This file was auto-generated by the Introjucer! + This file was auto-generated! It contains the basic startup code for a Juce application. diff --git a/extras/Introjucer/Source/BinaryData/jucer_NewComponentTemplate.cpp b/extras/Projucer/Source/BinaryData/jucer_NewComponentTemplate.cpp similarity index 100% rename from extras/Introjucer/Source/BinaryData/jucer_NewComponentTemplate.cpp rename to extras/Projucer/Source/BinaryData/jucer_NewComponentTemplate.cpp diff --git a/extras/Introjucer/Source/BinaryData/jucer_NewComponentTemplate.h b/extras/Projucer/Source/BinaryData/jucer_NewComponentTemplate.h similarity index 100% rename from extras/Introjucer/Source/BinaryData/jucer_NewComponentTemplate.h rename to extras/Projucer/Source/BinaryData/jucer_NewComponentTemplate.h diff --git a/extras/Introjucer/Source/BinaryData/jucer_NewCppFileTemplate.cpp b/extras/Projucer/Source/BinaryData/jucer_NewCppFileTemplate.cpp similarity index 100% rename from extras/Introjucer/Source/BinaryData/jucer_NewCppFileTemplate.cpp rename to extras/Projucer/Source/BinaryData/jucer_NewCppFileTemplate.cpp diff --git a/extras/Introjucer/Source/BinaryData/jucer_NewCppFileTemplate.h b/extras/Projucer/Source/BinaryData/jucer_NewCppFileTemplate.h similarity index 100% rename from extras/Introjucer/Source/BinaryData/jucer_NewCppFileTemplate.h rename to extras/Projucer/Source/BinaryData/jucer_NewCppFileTemplate.h diff --git a/extras/Introjucer/Source/BinaryData/jucer_NewInlineComponentTemplate.h b/extras/Projucer/Source/BinaryData/jucer_NewInlineComponentTemplate.h similarity index 100% rename from extras/Introjucer/Source/BinaryData/jucer_NewInlineComponentTemplate.h rename to extras/Projucer/Source/BinaryData/jucer_NewInlineComponentTemplate.h diff --git a/extras/Introjucer/Source/BinaryData/jucer_OpenGLComponentTemplate.cpp b/extras/Projucer/Source/BinaryData/jucer_OpenGLComponentTemplate.cpp similarity index 100% rename from extras/Introjucer/Source/BinaryData/jucer_OpenGLComponentTemplate.cpp rename to extras/Projucer/Source/BinaryData/jucer_OpenGLComponentTemplate.cpp diff --git a/extras/Introjucer/Source/BinaryData/projectIconAndroid.png b/extras/Projucer/Source/BinaryData/projectIconAndroid.png similarity index 100% rename from extras/Introjucer/Source/BinaryData/projectIconAndroid.png rename to extras/Projucer/Source/BinaryData/projectIconAndroid.png diff --git a/extras/Introjucer/Source/BinaryData/projectIconCodeblocks.png b/extras/Projucer/Source/BinaryData/projectIconCodeblocks.png similarity index 100% rename from extras/Introjucer/Source/BinaryData/projectIconCodeblocks.png rename to extras/Projucer/Source/BinaryData/projectIconCodeblocks.png diff --git a/extras/Introjucer/Source/BinaryData/projectIconLinuxMakefile.png b/extras/Projucer/Source/BinaryData/projectIconLinuxMakefile.png similarity index 100% rename from extras/Introjucer/Source/BinaryData/projectIconLinuxMakefile.png rename to extras/Projucer/Source/BinaryData/projectIconLinuxMakefile.png diff --git a/extras/Introjucer/Source/BinaryData/projectIconVisualStudio.png b/extras/Projucer/Source/BinaryData/projectIconVisualStudio.png similarity index 100% rename from extras/Introjucer/Source/BinaryData/projectIconVisualStudio.png rename to extras/Projucer/Source/BinaryData/projectIconVisualStudio.png diff --git a/extras/Introjucer/Source/BinaryData/projectIconXcode.png b/extras/Projucer/Source/BinaryData/projectIconXcode.png similarity index 100% rename from extras/Introjucer/Source/BinaryData/projectIconXcode.png rename to extras/Projucer/Source/BinaryData/projectIconXcode.png diff --git a/extras/Introjucer/Source/BinaryData/projectIconXcodeIOS.png b/extras/Projucer/Source/BinaryData/projectIconXcodeIOS.png similarity index 100% rename from extras/Introjucer/Source/BinaryData/projectIconXcodeIOS.png rename to extras/Projucer/Source/BinaryData/projectIconXcodeIOS.png diff --git a/extras/Projucer/Source/BinaryData/projucer_EULA.txt b/extras/Projucer/Source/BinaryData/projucer_EULA.txt new file mode 100644 index 0000000000..0383be09c9 --- /dev/null +++ b/extras/Projucer/Source/BinaryData/projucer_EULA.txt @@ -0,0 +1,105 @@ +IMPORTANT NOTICE: PLEASE READ CAREFULLY BEFORE INSTALLING THE SOFTWARE: + +This licence agreement (Licence) is a legal agreement between you (Licensee or you) and Raw Material Software Limited (Licensor, us or we) for: + - The Projucer software and the associated media and, save where expressly specified through subsequent licence terms notified to you in writing, any and all new releases, derivatives of and updates thereto supplied by us to you for a period of one (1) month from the date of your installation of the software (the Software); + - printed materials and online and electronic documentation (Documentation). + +The Software is comprised of numerous components that may be licensed under separate licence terms. The Software is a collective work of the Licensor and we licence the use of the Software and Documentation to you on the basis of this Licence and any applicable licence terms for any third party software components which make up the Software. Where you deal with a copy of any software component independent from the Software, you must remove all our trade marks, trade dress and logos from that copy. +We do not sell the Software or Documentation to you. We and/or our licensors remain the owners of the Software and Documentation at all times. If you are accepting the terms of this Licence on behalf of a company or other legal entity, you represent and warrant that you have the authority to bind that company or other legal entity to the terms of this Licence and, in such event, you and Licensee will refer to that company or other legal entity. +The Software may be downloaded from the Licensor website - www.juce.com (the Website). +OPERATING SYSTEM REQUIREMENTS: The Software requires a Windows or MAC OS X operating system. + +IMPORTANT NOTICE TO ALL USERS: + +BY CLICKING ON THE "ACCEPT" BUTTON BELOW YOU AGREE TO THE TERMS OF THIS LICENCE WHICH WILL BIND YOU AND YOUR EMPLOYEES. + +IF YOU DO NOT AGREE TO THE TERMS OF THIS LICENCE, WE WILL NOT LICENSE THE SOFTWARE AND DOCUMENTATION TO YOU AND YOU MUST DISCONTINUE THE INSTALLATION PROCESS. + + +You should print a copy of this Licence for future reference. + + 1. Grant and scope of licence + 1.1. In consideration of you agreeing to abide by the terms of this Licence the Licensor hereby grants to you a non-exclusive, non-transferable licence to use the Software and the Documentation on the terms of this Licence. + 1.2. You may: + (a) install and use the Software for your internal business purposes on one central processing unit (CPU) per single user licence granted through this Licence; + (b) provided it is used on only one computer at any one time, transfer the Software from one computer to another; + (c) provided you comply with the provisions in clause 2, make a single copy of the Software for back-up purposes, provided that you reproduce on it all copyright and other proprietary notices that are on the original copy of the Software; + (d) receive and use any free supplementary software code or update of the Software incorporating "patches", corrections of errors and software updates as may be provided by the Licensor from time to time; + (e) use any Documentation in support of the use permitted under condition 1.2 and make a single copy of the Documentation as is reasonably necessary for its lawful use. + + 2. Restrictions + Except as expressly set out in this Licence or as permitted by any local law, you undertake: + (a) not, in whole or in part, to copy the Software or Documentation except where such copying is incidental to normal use of the Software or where it is necessary for the purpose of back-up or operational security; + (b) not to rent, lease, sub-license, loan, translate, merge, adapt, vary or modify the Software or Documentation; + (c) not to make alterations to, or modifications of, the whole or any part of the Software nor permit the Software or any part of it to be combined with, or become incorporated in, any other programs; + (d) not to disassemble, de-compile, reverse engineer or create derivative works based on the whole or any part of the Software nor attempt to do any such things except to the extent that (by virtue of section 296A of the Copyright, Designs and Patents Act 1988) such actions cannot be prohibited because they are essential for the purpose of achieving inter-operability of the Software with another software program, and provided that the information obtained by you during such activities: + (i) is used only for the purpose of achieving inter-operability of the Software with another software program; + (ii) is not disclosed or communicated without the Licensor's prior written consent to any third party to whom it is not necessary to disclose or communicate it; and + (iii) is not used to create any software which is substantially similar to the Software; + (e) to keep all copies of the Software secure and to maintain accurate and up-to-date records of the number and locations of all copies of the Software; + (f) not to provide, or otherwise make available, the Software in any form, in whole or in part (including, but not limited to, program listings, object and source program listings, object code and source code) to any person other than your employees without prior written consent from us; + (g) to comply with all applicable technology control or export laws and regulations. + (h) to supervise and control use of the Software and ensure that the Software is used by your employees and representatives in accordance with the terms of this Licence; + (i) not to charge or otherwise deal in the Software or any part or interest therein except as expressly provided herein; + (j) not to use the Software for any illegal or immoral purposes; + (k) not otherwise use, copy, transfer or distribute the Software or part of it, except as expressly permitted by this Licence, in any manner which is inconsistent with this Licence. + + 1. Fee + 1.1. You may install and use a limited version of the Software (Demo Mode) as a free trial for a period of 30 days. + 1.2. Where you have purchased the JUCE 4 software on or after 1 November 2015 you shall be entitled to use the Software for free subject to your continued payment of the JUCE 4 software licence fee and the JUCE 4 licence terms. + 1.3. Save as set out above, your right to use the Software shall be subject to payment of the Projucer Software licence fee. + 1.4. Where you have purchased a perpetual licence you agree to pay the licence fee as notified to you on the Website at the time you purchase the Licence. + 1.5. Where you have purchased an educational licence the fee shall be the fee as notified to you on the Website at the time you purchase the Licence and shall be payable for each academic year from the first day of the first full calendar month after the grant of the Licence and thereafter on the anniversary of that initial payment date. + + 1. Intellectual property rights + 1.1. You acknowledge that all intellectual property rights in the Software and the Documentation and all copies thereof throughout the world belong to us, that rights in the Software are licensed (not sold) to you, and that you have no rights in, or to, the Software or the Documentation other than the right to use them in accordance with the terms of this Licence. + 1.2. You acknowledge that you have no right to have access to the Software in source code form or in unlocked coding or with comments. + 1.3. The Software may contain certain third party licensed materials and our licensors may act to protect their rights in the event of any violation of this Licence. + + 2. Limited warranty + 2.1. We warrant that, save as already set out above in relation to component parts of the Software, we own the Software and have the right to convey this Licence. + 2.2. We shall have no obligation to provide support and maintenance services to you. You may participate in our online support forum in accordance with our forum policies in place from time to time. + 2.3. We do not warrant that your use of the Software will be uninterrupted or error free. + + 3. Limitation of liability + 3.1. You acknowledge that the Software has not been developed to meet your individual requirements, and that it is therefore your responsibility to ensure that the facilities and functions of the Software as described in the Documentation meet your requirements. + 3.2. Without prejudice to clause 5.4 below, you acknowledge that the Software is not designed or intended for use with on-line control equipment in hazardous environments requiring fail safe performance, such as in the operation of nuclear facilities, aircraft navigation, communication, or control systems, direct life support machines, weapons systems, or other uses in which failure of the Software could lead directly to death, personal injury or severe physical or environmental damage. + 3.3. Neither the Licensor nor its parent company, subsidiaries or employees shall in any circumstances whatsoever be liable to you, whether in contract, tort (including negligence), breach of statutory duty, or otherwise, arising under or in connection with this Licence for any indirect, consequential or special loss or damage, including but not limited to, for: + (a) loss of profits, sales, business, or revenue; + (b) business interruption; + (c) loss of anticipated savings; + (d) loss or corruption of data or information; + (e) loss of business opportunity, goodwill or reputation; + (f) any indirect or consequential loss or damage; or + (g) any computer failure or malfunction, corruption to or loss of data or files, or any and all other commercial damage or loss. + 3.4. Nothing in this Licence shall limit or exclude our liability for: + (a) death or personal injury resulting from our negligence; + (b) fraud or fraudulent misrepresentation; + (c) any other liability that cannot be excluded or limited by English law. + 3.5. This Licence sets out the full extent of our obligations and liabilities in respect of the supply of the Software and Documentation. Except as expressly stated in this Licence, there are no conditions, warranties, representations or other terms, express or implied, that are binding on us. Any condition, warranty, representation or other term concerning the supply of the Software and Documentation which might otherwise be implied into, or incorporated in, this Licence whether by statute, common law or otherwise, is excluded to the fullest extent permitted by law. + 3.6. Subject to clause 5.2 and 5.3, our maximum aggregate liability under or in connection with this Licence whether in contract, tort (including negligence) or otherwise, shall in all circumstances be limited to a sum equal to $49. + 3.7. You agree to indemnify, defend and hold us and our licensors, partners, affiliates, contractors, officers, directors, employees and agents harmless from any claims, costs and expenses (including legal expenses) arising directly or indirectly from your use, handling or operation of the Software otherwise than in accordance with this Agreement. + 3.8. This clause 5 shall survive and shall not be rendered ineffective by the termination or expiry of this agreement for whatever reason. + + 4. Termination + 4.1. We may terminate this Licence immediately by written notice to you if you commit a material or persistent breach of this Licence which you fail to remedy (if remediable) within 14 days after the service of written notice requiring you to do so. + 4.2. Upon termination for any reason: + (a) all rights granted to you under this Licence shall cease; + (b) you must cease all activities authorised by this Licence; + (c) you must immediately delete or remove the Software from all computer equipment in your possession and immediately destroy or return to us (at our option) all copies of the Software then in your possession, custody or control and, in the case of destruction, certify to us that you have done so. + + 5. Communications between us + 5.1. If you wish to contact us in writing, or if any condition in this Licence requires you to give us notice in writing, you can send this to us by e-mail or by pre-paid post to us at support@juce.com. We will confirm receipt of this by contacting you in writing, normally by e-mail. + 5.2. If we have to contact you or give you notice in writing, we will do so by e-mail or by pre-paid post to the address you provide to us in your order for the Software. + + 6. Data + 6.1. We may collect and process information about your use of or Software through the Software, some of which may amount to your personal data. Personal data will be collected and processed in accordance with our Privacy Policy which can be reviewed at http://www.juce.com/privacy-policy. + + 7. Other important terms + 7.1. We may transfer our rights and obligations under this Licence to another organisation, but this will not affect your rights or our obligations under this Licence. + 7.2. You may only transfer your rights or your obligations under this Licence to another person if we agree in writing. + 7.3. This Licence and any document expressly referred to in it constitutes the entire agreement between you and us. You acknowledge that you have not relied on any statement, promise or representation made or given by or on behalf of us which is not set out in this Licence or any document expressly referred to in it. + 7.4. If we fail to insist that you perform any of your obligations under this Licence, or if we do not enforce our rights against you, or if we delay in doing so, that will not mean that we have waived our rights against you and will not mean that you do not have to comply with those obligations. If we do waive a default by you, we will only do so in writing, and that will not mean that we will automatically waive any later default by you. + 7.5. Each of the conditions of this Licence operates separately. If any court or competent authority decides that any of them are unlawful or unenforceable, the remaining conditions will remain in full force and effect. + 7.6. Please note that this Licence, its subject matter and its formation, are governed by English law. You and we both agree to that the courts of England and Wales will have exclusive jurisdiction. + \ No newline at end of file diff --git a/extras/Projucer/Source/BinaryData/projucer_login_bg.svg b/extras/Projucer/Source/BinaryData/projucer_login_bg.svg new file mode 100644 index 0000000000..4e58a31984 --- /dev/null +++ b/extras/Projucer/Source/BinaryData/projucer_login_bg.svg @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/extras/Introjucer/Source/BinaryData/wizard_AnimatedApp.svg b/extras/Projucer/Source/BinaryData/wizard_AnimatedApp.svg similarity index 100% rename from extras/Introjucer/Source/BinaryData/wizard_AnimatedApp.svg rename to extras/Projucer/Source/BinaryData/wizard_AnimatedApp.svg diff --git a/extras/Introjucer/Source/BinaryData/wizard_AudioApp.svg b/extras/Projucer/Source/BinaryData/wizard_AudioApp.svg similarity index 100% rename from extras/Introjucer/Source/BinaryData/wizard_AudioApp.svg rename to extras/Projucer/Source/BinaryData/wizard_AudioApp.svg diff --git a/extras/Introjucer/Source/BinaryData/wizard_AudioPlugin.svg b/extras/Projucer/Source/BinaryData/wizard_AudioPlugin.svg similarity index 100% rename from extras/Introjucer/Source/BinaryData/wizard_AudioPlugin.svg rename to extras/Projucer/Source/BinaryData/wizard_AudioPlugin.svg diff --git a/extras/Introjucer/Source/BinaryData/wizard_ConsoleApp.svg b/extras/Projucer/Source/BinaryData/wizard_ConsoleApp.svg similarity index 100% rename from extras/Introjucer/Source/BinaryData/wizard_ConsoleApp.svg rename to extras/Projucer/Source/BinaryData/wizard_ConsoleApp.svg diff --git a/extras/Introjucer/Source/BinaryData/wizard_DLL.svg b/extras/Projucer/Source/BinaryData/wizard_DLL.svg similarity index 100% rename from extras/Introjucer/Source/BinaryData/wizard_DLL.svg rename to extras/Projucer/Source/BinaryData/wizard_DLL.svg diff --git a/extras/Introjucer/Source/BinaryData/wizard_GUI.svg b/extras/Projucer/Source/BinaryData/wizard_GUI.svg similarity index 100% rename from extras/Introjucer/Source/BinaryData/wizard_GUI.svg rename to extras/Projucer/Source/BinaryData/wizard_GUI.svg diff --git a/extras/Introjucer/Source/BinaryData/wizard_Highlight.svg b/extras/Projucer/Source/BinaryData/wizard_Highlight.svg similarity index 100% rename from extras/Introjucer/Source/BinaryData/wizard_Highlight.svg rename to extras/Projucer/Source/BinaryData/wizard_Highlight.svg diff --git a/extras/Introjucer/Source/BinaryData/wizard_OpenGL.svg b/extras/Projucer/Source/BinaryData/wizard_OpenGL.svg similarity index 100% rename from extras/Introjucer/Source/BinaryData/wizard_OpenGL.svg rename to extras/Projucer/Source/BinaryData/wizard_OpenGL.svg diff --git a/extras/Introjucer/Source/BinaryData/wizard_Openfile.svg b/extras/Projucer/Source/BinaryData/wizard_Openfile.svg similarity index 100% rename from extras/Introjucer/Source/BinaryData/wizard_Openfile.svg rename to extras/Projucer/Source/BinaryData/wizard_Openfile.svg diff --git a/extras/Introjucer/Source/BinaryData/wizard_StaticLibrary.svg b/extras/Projucer/Source/BinaryData/wizard_StaticLibrary.svg similarity index 100% rename from extras/Introjucer/Source/BinaryData/wizard_StaticLibrary.svg rename to extras/Projucer/Source/BinaryData/wizard_StaticLibrary.svg diff --git a/extras/Projucer/Source/Code Editor/jucer_LiveBuildCodeEditor.h b/extras/Projucer/Source/Code Editor/jucer_LiveBuildCodeEditor.h new file mode 100644 index 0000000000..cab267f81f --- /dev/null +++ b/extras/Projucer/Source/Code Editor/jucer_LiveBuildCodeEditor.h @@ -0,0 +1,734 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +class LiveBuildCodeEditorDocument; + + +class LiveBuildCodeEditor : public CppCodeEditorComponent, + private Timer +{ +public: + LiveBuildCodeEditor (LiveBuildCodeEditorDocument& edDoc, CodeDocument& doc) + : CppCodeEditorComponent (edDoc.getFile(), doc), + editorDoc (edDoc), + classList (*this, edDoc) + { + } + + ~LiveBuildCodeEditor() + { + for (int i = getNumChildComponents(); --i >= 0;) + if (auto* c = dynamic_cast (getChildComponent (i))) + delete c; + } + + CompileEngineChildProcess::Ptr getChildProcess() const + { + return editorDoc.getChildProcess(); + } + + Component* addDiagnosticOverlay (CodeDocument::Position start, CodeDocument::Position end, + DiagnosticMessage::Type diagType) + { + auto* d = new DiagnosticOverlayComponent (*this, start, end, diagType); + addAndMakeVisible (d); + return d; + } + +private: + LiveBuildCodeEditorDocument& editorDoc; + + //============================================================================== + struct OverlayComponent : public Component, + private GenericCodeEditorComponent::Listener, + private CodeDocument::Listener + { + OverlayComponent (CodeDocument::Position start, + CodeDocument::Position end) + : startPosition (start), + endPosition (end) + { + startPosition.setPositionMaintained (true); + endPosition.setPositionMaintained (true); + } + + ~OverlayComponent() + { + setEditor (nullptr); + } + + void setEditor (GenericCodeEditorComponent* editor) + { + if (editor != codeEditor) + { + if (codeEditor != nullptr) + { + codeEditor->removeListener (this); + codeEditor->getDocument().removeListener (this); + codeEditor->removeChildComponent (this); + } + + codeEditor = editor; + + if (codeEditor != nullptr) + { + codeEditor->addListener (this); + codeEditor->getDocument().addListener (this); + codeEditor->addAndMakeVisible (this); + } + + if (editor != nullptr) + updatePosition(); + } + } + + void codeEditorViewportMoved (CodeEditorComponent& editor) override + { + setEditor (dynamic_cast (&editor)); + updatePosition(); + } + + void codeDocumentTextInserted (const String&, int) override { updatePosition(); } + void codeDocumentTextDeleted (int, int) override { updatePosition(); } + + void parentSizeChanged() override + { + updatePosition(); + } + + virtual void updatePosition() = 0; + + Component::SafePointer codeEditor; + CodeDocument::Position startPosition, endPosition; + }; + + //============================================================================== + struct LaunchClassOverlayComponent : public OverlayComponent + { + LaunchClassOverlayComponent (GenericCodeEditorComponent& editor, + CodeDocument::Position start, CodeDocument::Position end, + const String className) + : OverlayComponent (start, end), + launchButton (className.fromLastOccurrenceOf ("::", false, false)), + name (className) + { + setAlwaysOnTop (true); + setEditor (&editor); + addAndMakeVisible (launchButton); + } + + void updatePosition() override + { + if (codeEditor != nullptr) + { + jassert (isVisible()); + + const auto charArea = codeEditor->getCharacterBounds (startPosition); + const int height = charArea.getHeight() + 8; + + Font f (height * 0.7f); + + const int width = jmin (height * 2 + f.getStringWidth (launchButton.getName()), + jmax (120, codeEditor->proportionOfWidth (0.2f))); + + setBounds (codeEditor->getWidth() - width - 10, charArea.getY() - 4, + width, height); + } + } + + void resized() override + { + launchButton.setBounds (getLocalBounds()); + } + + struct LaunchButton : public Button + { + LaunchButton (const String& nm) : Button (nm) + { + setMouseCursor (MouseCursor::PointingHandCursor); + } + + void paintButton (Graphics& g, bool isMouseOverButton, bool isButtonDown) override + { + Colour background (findColour (CodeEditorComponent::backgroundColourId) + .contrasting() + .overlaidWith (Colours::yellow.withAlpha (0.5f)) + .withAlpha (0.4f)); + g.setColour (background); + g.fillRoundedRectangle (getLocalBounds().toFloat(), 3.0f); + + const Path& path = getIcons().play; + + Colour col (background.contrasting (Colours::lightgreen, 0.6f)); + + Rectangle r (getLocalBounds().reduced (getHeight() / 5)); + + Icon (path, col.withAlpha (isButtonDown ? 1.0f : (isMouseOverButton ? 0.8f : 0.5f))) + .draw (g, r.removeFromLeft (getHeight()).toFloat(), false); + + g.setColour (Colours::white); + g.setFont (getHeight() * 0.7f); + g.drawFittedText (getName(), r, Justification::centredLeft, 1); + } + + void clicked() override + { + if (auto* l = findParentComponentOfClass()) + l->launch(); + } + }; + + void launch() + { + if (auto* e = findParentComponentOfClass()) + e->launch (name); + } + + private: + LaunchButton launchButton; + String name; + }; + + struct ComponentClassList : private Timer + { + ComponentClassList (GenericCodeEditorComponent& e, LiveBuildCodeEditorDocument& edDoc) + : owner (e), + childProcess (edDoc.getChildProcess()), + file (edDoc.getFile()) + { + startTimer (600); + } + + ~ComponentClassList() + { + deleteOverlays(); + } + + void timerCallback() override + { + Array newClasses; + + if (childProcess != nullptr) + childProcess->getComponentList().globalNamespace.findClassesDeclaredInFile (newClasses, file); + + for (int i = newClasses.size(); --i >= 0;) + if (! newClasses.getUnchecked(i)->getInstantiationFlags().canBeInstantiated()) + newClasses.remove (i); + + if (newClasses != classes) + { + classes = newClasses; + deleteOverlays(); + + for (auto& c : classes) + { + CodeDocument::Position pos (owner.getDocument(), c->getClassDeclarationRange().range.getStart()); + overlays.add (new LaunchClassOverlayComponent (owner, pos, pos, c->getName())); + } + } + } + + void deleteOverlays() + { + for (auto& o : overlays) + o.deleteAndZero(); + + overlays.clear(); + } + + GenericCodeEditorComponent& owner; + CompileEngineChildProcess::Ptr childProcess; + File file; + Array classes; + Array> overlays; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ComponentClassList) + }; + + ComponentClassList classList; + + //============================================================================== + struct DiagnosticOverlayComponent : public OverlayComponent + { + DiagnosticOverlayComponent (GenericCodeEditorComponent& editor, + CodeDocument::Position start, CodeDocument::Position end, + DiagnosticMessage::Type diagType) + : OverlayComponent (start, end), diagnosticType (diagType) + { + setInterceptsMouseClicks (false, false); + setEditor (&editor); + } + + void updatePosition() override + { + if (codeEditor != nullptr) + { + jassert (isVisible()); + + const auto charStartRect = codeEditor->getCharacterBounds (startPosition); + const auto charEndRect = codeEditor->getCharacterBounds (endPosition); + + auto charHeight = charStartRect.getHeight(); + const auto editorBounds = codeEditor->getBounds(); + + arrowXMin = static_cast (jmin (charStartRect.getX(), charEndRect.getX())); + arrowXMax = static_cast (jmax (charStartRect.getX() + charStartRect.getWidth(), charEndRect.getX() + charEndRect.getWidth())); + + lineYMin = charStartRect.getY(); + lineOffset = charHeight; + + setBounds (0, lineYMin, editorBounds.getWidth(), lineOffset + charHeight); + repaint(); + } + } + + void paint (Graphics& g) override + { + const auto diagColour = diagnosticType == DiagnosticMessage::Type::error ? Colours::red + : Colour (200, 200, 64); + + g.setColour (diagColour.withAlpha (0.2f)); + g.fillRect (getLocalBounds().withTrimmedBottom (lineOffset)); + + Path path; + const float bottomY = getHeight() - (lineOffset / 2.0f); + path.addTriangle ((float) arrowXMin, bottomY, + (arrowXMax + arrowXMin) / 2.0f, (float) lineOffset, + (float) arrowXMax, bottomY); + + g.setColour (diagColour.withAlpha (0.8f)); + g.fillPath (path); + } + + private: + int arrowXMin, arrowXMax; + int lineYMin, lineOffset; + const DiagnosticMessage::Type diagnosticType; + }; + + //============================================================================== + void timerCallback() override + { + if (isMouseButtonDownAnywhere()) + return; + + MouseInputSource mouse = Desktop::getInstance().getMainMouseSource(); + Component* underMouse = mouse.getComponentUnderMouse(); + + if (underMouse != nullptr + && (dynamic_cast (underMouse) != nullptr + || underMouse->findParentComponentOfClass() != nullptr)) + return; + + overlay = nullptr; + + if (hasKeyboardFocus (true) && underMouse != nullptr + && (underMouse == this || underMouse->isParentOf (this))) + { + Point mousePos = getLocalPoint (nullptr, mouse.getScreenPosition()).toInt(); + + CodeDocument::Position start, end; + getDocument().findTokenContaining (getPositionAt (mousePos.x, mousePos.y), start, end); + + if (end.getPosition() > start.getPosition()) + { + Range selection = optimiseSelection ({ start.getPosition(), end.getPosition() }); + + String text = getTextInRange (selection).toLowerCase(); + + if (isIntegerLiteral (text) || isFloatLiteral (text)) + overlay = new LiteralHighlightOverlay (*this, selection, mightBeColourValue (text)); + } + } + + startTimerHz (10); + } + + void hideOverlay() + { + stopTimer(); + overlay = nullptr; + } + + void focusLost (FocusChangeType) override + { + if (CompileEngineChildProcess::Ptr childProcess = getChildProcess()) + childProcess->flushEditorChanges(); + } + + void mouseMove (const MouseEvent& e) override + { + if (overlay == nullptr) + startTimer (100); + + CppCodeEditorComponent::mouseMove (e); + } + + void mouseDrag (const MouseEvent& e) override + { + if (e.getDistanceFromDragStart() > 0) + hideOverlay(); + + CppCodeEditorComponent::mouseDrag (e); + } + + void mouseDown (const MouseEvent& e) override + { + CppCodeEditorComponent::mouseDown (e); + } + + void mouseUp (const MouseEvent& e) override + { + CppCodeEditorComponent::mouseUp (e); + } + + bool keyPressed (const KeyPress& key) override + { + hideOverlay(); + return CppCodeEditorComponent::keyPressed (key); + } + + static bool isIntegerLiteral (const String& text) { return CppParserHelpers::parseSingleToken (text) == CPlusPlusCodeTokeniser::tokenType_integer; } + static bool isFloatLiteral (const String& text) { return CppParserHelpers::parseSingleToken (text) == CPlusPlusCodeTokeniser::tokenType_float; } + + static bool mightBeColourValue (const String& text) + { + return isIntegerLiteral (text) + && text.trim().startsWith ("0x") + && text.trim().length() > 7; + } + + Range optimiseSelection (Range selection) + { + String text (getTextInRange (selection)); + + if (CharacterFunctions::isDigit (text[0]) || text[0] == '.') + if (getTextInRange (Range (selection.getStart() - 1, selection.getStart())) == "-") + selection.setStart (selection.getStart() - 1); + + selection.setStart (selection.getStart() + (text.length() - text.trimStart().length())); + selection.setEnd (selection.getEnd() - (text.length() - text.trimEnd().length())); + + return selection; + } + + void launch (const String& name) + { + if (CompileEngineChildProcess::Ptr p = getChildProcess()) + if (auto* cls = p->getComponentList().globalNamespace.findClass (name)) + p->openPreview (*cls); + } + + //============================================================================== + class ControlsComponent : public Component, + private Slider::Listener, + private ChangeListener + { + public: + ControlsComponent (CodeDocument& doc, const Range& selection, + CompileEngineChildProcess* cp, bool showColourSelector) + : document (doc), + start (doc, selection.getStart()), + end (doc, selection.getEnd()), + childProcess (cp) + { + slider.setTextBoxStyle (Slider::NoTextBox, true, 0, 0); + slider.setWantsKeyboardFocus (false); + slider.setMouseClickGrabsKeyboardFocus (false); + setWantsKeyboardFocus (false); + setMouseClickGrabsKeyboardFocus (false); + addAndMakeVisible (&slider); + updateRange(); + slider.addListener (this); + + if (showColourSelector) + { + updateColourSelector(); + selector.setWantsKeyboardFocus (false); + selector.setMouseClickGrabsKeyboardFocus (false); + addAndMakeVisible (&selector); + setSize (400, sliderHeight + 400); + selector.addChangeListener (this); + } + else + { + setSize (400, sliderHeight); + } + + end.setPositionMaintained (true); + } + + void updateRange() + { + double v = getValue(); + + if (isFloat()) + slider.setRange (v - 10, v + 10); + else + slider.setRange (v - 100, v + 100); + + slider.setValue (v, dontSendNotification); + } + + private: + Slider slider; + ColourSelector selector; + + CodeDocument& document; + CodeDocument::Position start, end; + CompileEngineChildProcess::Ptr childProcess; + + static const int sliderHeight = 26; + + void paint (Graphics& g) override + { + g.setColour (LiteralHighlightOverlay::getBackgroundColour()); + g.fillRoundedRectangle (getLocalBounds().toFloat(), 8.0f); + } + + void sliderValueChanged (Slider* s) override + { + const String oldText (document.getTextBetween (start, end)); + const String newText (CppParserHelpers::getReplacementStringInSameFormat (oldText, s->getValue())); + + if (oldText != newText) + document.replaceSection (start.getPosition(), end.getPosition(), newText); + + if (childProcess != nullptr) + childProcess->flushEditorChanges(); + + updateColourSelector(); + } + + void sliderDragStarted (Slider*) override {} + void sliderDragEnded (Slider*) override { updateRange(); } + + void changeListenerCallback (ChangeBroadcaster*) override + { + setNewColour (selector.getCurrentColour()); + } + + void updateColourSelector() + { + selector.setCurrentColour (getCurrentColour()); + } + + Colour getCurrentColour() const + { + int64 val; + if (CppParserHelpers::parseInt (document.getTextBetween (start, end), val)) + return Colour ((uint32) val); + + return Colours::white; + } + + void setNewColour (const Colour& c) + { + const String oldText (document.getTextBetween (start, end)); + const String newText (CppParserHelpers::getReplacementStringInSameFormat (oldText, (int64) c.getARGB())); + + if (oldText != newText) + document.replaceSection (start.getPosition(), end.getPosition(), newText); + + if (childProcess != nullptr) + childProcess->flushEditorChanges(); + } + + void resized() override + { + Rectangle r (getLocalBounds()); + + slider.setBounds (r.removeFromTop (sliderHeight)); + + r.removeFromTop (10); + + if (selector.isVisible()) + selector.setBounds (r); + + } + + double getValue() const + { + const String text (document.getTextBetween (start, end)); + + if (text.containsChar ('.')) + { + double f; + if (CppParserHelpers::parseFloat (text, f)) + return f; + } + else + { + int64 val; + if (CppParserHelpers::parseInt (text, val)) + return (double) val; + } + + jassertfalse; + return 0; + } + + bool isFloat() const + { + return document.getTextBetween (start, end).containsChar ('.'); + } + }; + + //============================================================================== + struct LiteralHighlightOverlay : public Component, + private CodeDocument::Listener + { + LiteralHighlightOverlay (LiveBuildCodeEditor& e, Range section, bool showColourSelector) + : owner (e), + start (e.getDocument(), section.getStart()), + end (e.getDocument(), section.getEnd()), + controls (e.getDocument(), section, e.getChildProcess(), showColourSelector) + { + if (e.hasKeyboardFocus (true)) + previouslyFocused = Component::getCurrentlyFocusedComponent(); + + start.setPositionMaintained (true); + end.setPositionMaintained (true); + + setInterceptsMouseClicks (false, false); + + if (Component* parent = owner.findParentComponentOfClass()) + parent->addAndMakeVisible (controls); + else + jassertfalse; + + owner.addAndMakeVisible (this); + toBack(); + + updatePosition(); + + owner.getDocument().addListener (this); + } + + ~LiteralHighlightOverlay() + { + if (Component* p = getParentComponent()) + { + p->removeChildComponent (this); + + if (previouslyFocused != nullptr && ! previouslyFocused->hasKeyboardFocus (true)) + previouslyFocused->grabKeyboardFocus(); + } + + owner.getDocument().removeListener (this); + } + + void paint (Graphics& g) override + { + g.setColour (getBackgroundColour()); + + Rectangle r (getLocalBounds()); + g.fillRect (r.removeFromTop (borderSize)); + g.fillRect (r.removeFromLeft (borderSize)); + g.fillRect (r.removeFromRight (borderSize)); + } + + void updatePosition() + { + Rectangle area = owner.getCharacterBounds (start) + .getUnion (owner.getCharacterBounds (end.movedBy (-1))) + .expanded (borderSize) + .withTrimmedBottom (borderSize); + + setBounds (getParentComponent()->getLocalArea (&owner, area)); + + area.setPosition (area.getX() - controls.getWidth() / 2, area.getBottom()); + area.setSize (controls.getWidth(), controls.getHeight()); + + controls.setBounds (controls.getParentComponent()->getLocalArea (&owner, area)); + } + + void codeDocumentTextInserted (const String&, int) override { updatePosition(); } + void codeDocumentTextDeleted (int, int) override { updatePosition(); } + + LiveBuildCodeEditor& owner; + CodeDocument::Position start, end; + ControlsComponent controls; + Component::SafePointer previouslyFocused; + + static const int borderSize = 4; + static Colour getBackgroundColour() { return Colour (0xcb5c7879); } + }; + + ScopedPointer overlay; +}; + +//============================================================================== +class LiveBuildCodeEditorDocument : public SourceCodeDocument +{ +public: + LiveBuildCodeEditorDocument (Project* project, const File& file) + : SourceCodeDocument (project, file) + { + if (project != nullptr) + if (CompileEngineChildProcess::Ptr childProcess = getChildProcess()) + childProcess->editorOpened (file, getCodeDocument()); + } + + struct Type : public SourceCodeDocument::Type + { + Document* openFile (Project* proj, const File& file) override + { + return new LiveBuildCodeEditorDocument (proj, file); + } + }; + + Component* createEditor() override + { + SourceCodeEditor* e = nullptr; + + if (fileNeedsCppSyntaxHighlighting (getFile())) + e = new SourceCodeEditor (this, new LiveBuildCodeEditor (*this, getCodeDocument())); + else + e = new SourceCodeEditor (this, getCodeDocument()); + + applyLastState (*(e->editor)); + return e; + } + + // override save() to make a few more attempts at saving if it fails, since on Windows + // the compiler can interfere with things saving.. + bool save() override + { + for (int i = 5; --i >= 0;) + { + if (SourceCodeDocument::save()) // should already re-try for up to half a second + return true; + + Thread::sleep (100); + } + + return false; + } + + CompileEngineChildProcess::Ptr getChildProcess() const + { + return ProjucerApplication::getApp().childProcessCache->getExisting (*project); + } +}; diff --git a/extras/Introjucer/Source/Code Editor/jucer_SourceCodeEditor.cpp b/extras/Projucer/Source/Code Editor/jucer_SourceCodeEditor.cpp similarity index 95% rename from extras/Introjucer/Source/Code Editor/jucer_SourceCodeEditor.cpp rename to extras/Projucer/Source/Code Editor/jucer_SourceCodeEditor.cpp index 35c93552c5..32367158fd 100644 --- a/extras/Introjucer/Source/Code Editor/jucer_SourceCodeEditor.cpp +++ b/extras/Projucer/Source/Code Editor/jucer_SourceCodeEditor.cpp @@ -231,7 +231,7 @@ GenericCodeEditorComponent::GenericCodeEditorComponent (const File& f, CodeDocum CodeTokeniser* tokeniser) : CodeEditorComponent (codeDocument, tokeniser), file (f) { - setCommandManager (&IntrojucerApp::getCommandManager()); + setCommandManager (&ProjucerApplication::getCommandManager()); } GenericCodeEditorComponent::~GenericCodeEditorComponent() {} @@ -414,7 +414,7 @@ public: void textEditorReturnKeyPressed (TextEditor&) override { - IntrojucerApp::getCommandManager().invokeDirectly (CommandIDs::findNext, true); + ProjucerApplication::getCommandManager().invokeDirectly (CommandIDs::findNext, true); } void textEditorEscapeKeyPressed (TextEditor&) override @@ -450,7 +450,7 @@ void GenericCodeEditorComponent::showFindPanel() if (findPanel == nullptr) { findPanel = new FindPanel(); - findPanel->setCommandManager (&IntrojucerApp::getCommandManager()); + findPanel->setCommandManager (&ProjucerApplication::getCommandManager()); addAndMakeVisible (findPanel); resized(); diff --git a/extras/Introjucer/Source/Code Editor/jucer_SourceCodeEditor.h b/extras/Projucer/Source/Code Editor/jucer_SourceCodeEditor.h similarity index 96% rename from extras/Introjucer/Source/Code Editor/jucer_SourceCodeEditor.h rename to extras/Projucer/Source/Code Editor/jucer_SourceCodeEditor.h index 5528d58f9e..5106004b79 100644 --- a/extras/Introjucer/Source/Code Editor/jucer_SourceCodeEditor.h +++ b/extras/Projucer/Source/Code Editor/jucer_SourceCodeEditor.h @@ -65,7 +65,7 @@ public: return findCounterpart (file, extensions); } - return File::nonexistent; + return File(); } static File findCounterpart (const File& file, const char** extensions) @@ -78,7 +78,7 @@ public: return f; } - return File::nonexistent; + return File(); } void reloadFromFile() override; diff --git a/extras/Introjucer/Source/ComponentEditor/components/jucer_ButtonHandler.h b/extras/Projucer/Source/ComponentEditor/components/jucer_ButtonHandler.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/components/jucer_ButtonHandler.h rename to extras/Projucer/Source/ComponentEditor/components/jucer_ButtonHandler.h diff --git a/extras/Introjucer/Source/ComponentEditor/components/jucer_ComboBoxHandler.h b/extras/Projucer/Source/ComponentEditor/components/jucer_ComboBoxHandler.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/components/jucer_ComboBoxHandler.h rename to extras/Projucer/Source/ComponentEditor/components/jucer_ComboBoxHandler.h diff --git a/extras/Introjucer/Source/ComponentEditor/components/jucer_ComponentNameProperty.h b/extras/Projucer/Source/ComponentEditor/components/jucer_ComponentNameProperty.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/components/jucer_ComponentNameProperty.h rename to extras/Projucer/Source/ComponentEditor/components/jucer_ComponentNameProperty.h diff --git a/extras/Introjucer/Source/ComponentEditor/components/jucer_ComponentTypeHandler.cpp b/extras/Projucer/Source/ComponentEditor/components/jucer_ComponentTypeHandler.cpp similarity index 96% rename from extras/Introjucer/Source/ComponentEditor/components/jucer_ComponentTypeHandler.cpp rename to extras/Projucer/Source/ComponentEditor/components/jucer_ComponentTypeHandler.cpp index 566b29d18a..f9687e789e 100644 --- a/extras/Introjucer/Source/ComponentEditor/components/jucer_ComponentTypeHandler.cpp +++ b/extras/Projucer/Source/ComponentEditor/components/jucer_ComponentTypeHandler.cpp @@ -80,7 +80,7 @@ void ComponentTypeHandler::showPopupMenu (Component*, ComponentLayout&) { PopupMenu m; - ApplicationCommandManager* commandManager = &IntrojucerApp::getCommandManager(); + ApplicationCommandManager* commandManager = &ProjucerApplication::getCommandManager(); m.addCommandItem (commandManager, JucerCommandIDs::toFront); m.addCommandItem (commandManager, JucerCommandIDs::toBack); diff --git a/extras/Introjucer/Source/ComponentEditor/components/jucer_ComponentTypeHandler.h b/extras/Projucer/Source/ComponentEditor/components/jucer_ComponentTypeHandler.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/components/jucer_ComponentTypeHandler.h rename to extras/Projucer/Source/ComponentEditor/components/jucer_ComponentTypeHandler.h diff --git a/extras/Introjucer/Source/ComponentEditor/components/jucer_ComponentUndoableAction.h b/extras/Projucer/Source/ComponentEditor/components/jucer_ComponentUndoableAction.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/components/jucer_ComponentUndoableAction.h rename to extras/Projucer/Source/ComponentEditor/components/jucer_ComponentUndoableAction.h diff --git a/extras/Introjucer/Source/ComponentEditor/components/jucer_GenericComponentHandler.h b/extras/Projucer/Source/ComponentEditor/components/jucer_GenericComponentHandler.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/components/jucer_GenericComponentHandler.h rename to extras/Projucer/Source/ComponentEditor/components/jucer_GenericComponentHandler.h diff --git a/extras/Introjucer/Source/ComponentEditor/components/jucer_GroupComponentHandler.h b/extras/Projucer/Source/ComponentEditor/components/jucer_GroupComponentHandler.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/components/jucer_GroupComponentHandler.h rename to extras/Projucer/Source/ComponentEditor/components/jucer_GroupComponentHandler.h diff --git a/extras/Introjucer/Source/ComponentEditor/components/jucer_HyperlinkButtonHandler.h b/extras/Projucer/Source/ComponentEditor/components/jucer_HyperlinkButtonHandler.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/components/jucer_HyperlinkButtonHandler.h rename to extras/Projucer/Source/ComponentEditor/components/jucer_HyperlinkButtonHandler.h diff --git a/extras/Introjucer/Source/ComponentEditor/components/jucer_ImageButtonHandler.h b/extras/Projucer/Source/ComponentEditor/components/jucer_ImageButtonHandler.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/components/jucer_ImageButtonHandler.h rename to extras/Projucer/Source/ComponentEditor/components/jucer_ImageButtonHandler.h diff --git a/extras/Introjucer/Source/ComponentEditor/components/jucer_JucerComponentHandler.h b/extras/Projucer/Source/ComponentEditor/components/jucer_JucerComponentHandler.h similarity index 95% rename from extras/Introjucer/Source/ComponentEditor/components/jucer_JucerComponentHandler.h rename to extras/Projucer/Source/ComponentEditor/components/jucer_JucerComponentHandler.h index 17ff3f6d61..5c1f6b2a5e 100644 --- a/extras/Introjucer/Source/ComponentEditor/components/jucer_JucerComponentHandler.h +++ b/extras/Projucer/Source/ComponentEditor/components/jucer_JucerComponentHandler.h @@ -37,7 +37,7 @@ class JucerComponentHandler : public ComponentTypeHandler { public: JucerComponentHandler() - : ComponentTypeHandler ("Introjucer Component", "xxx", + : ComponentTypeHandler ("Projucer Component", "xxx", typeid (TestComponent), 300, 200) {} @@ -148,7 +148,7 @@ public: if (comp != nullptr) document.perform (new JucerCompFileChangeAction (comp, *document.getComponentLayout(), newFilename), - "Change Introjucer component file"); + "Change Projucer component file"); } private: diff --git a/extras/Introjucer/Source/ComponentEditor/components/jucer_LabelHandler.h b/extras/Projucer/Source/ComponentEditor/components/jucer_LabelHandler.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/components/jucer_LabelHandler.h rename to extras/Projucer/Source/ComponentEditor/components/jucer_LabelHandler.h diff --git a/extras/Introjucer/Source/ComponentEditor/components/jucer_SliderHandler.h b/extras/Projucer/Source/ComponentEditor/components/jucer_SliderHandler.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/components/jucer_SliderHandler.h rename to extras/Projucer/Source/ComponentEditor/components/jucer_SliderHandler.h diff --git a/extras/Introjucer/Source/ComponentEditor/components/jucer_TabbedComponentHandler.h b/extras/Projucer/Source/ComponentEditor/components/jucer_TabbedComponentHandler.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/components/jucer_TabbedComponentHandler.h rename to extras/Projucer/Source/ComponentEditor/components/jucer_TabbedComponentHandler.h diff --git a/extras/Introjucer/Source/ComponentEditor/components/jucer_TextButtonHandler.h b/extras/Projucer/Source/ComponentEditor/components/jucer_TextButtonHandler.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/components/jucer_TextButtonHandler.h rename to extras/Projucer/Source/ComponentEditor/components/jucer_TextButtonHandler.h diff --git a/extras/Introjucer/Source/ComponentEditor/components/jucer_TextEditorHandler.h b/extras/Projucer/Source/ComponentEditor/components/jucer_TextEditorHandler.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/components/jucer_TextEditorHandler.h rename to extras/Projucer/Source/ComponentEditor/components/jucer_TextEditorHandler.h diff --git a/extras/Introjucer/Source/ComponentEditor/components/jucer_ToggleButtonHandler.h b/extras/Projucer/Source/ComponentEditor/components/jucer_ToggleButtonHandler.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/components/jucer_ToggleButtonHandler.h rename to extras/Projucer/Source/ComponentEditor/components/jucer_ToggleButtonHandler.h diff --git a/extras/Introjucer/Source/ComponentEditor/components/jucer_TreeViewHandler.h b/extras/Projucer/Source/ComponentEditor/components/jucer_TreeViewHandler.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/components/jucer_TreeViewHandler.h rename to extras/Projucer/Source/ComponentEditor/components/jucer_TreeViewHandler.h diff --git a/extras/Introjucer/Source/ComponentEditor/components/jucer_ViewportHandler.h b/extras/Projucer/Source/ComponentEditor/components/jucer_ViewportHandler.h similarity index 96% rename from extras/Introjucer/Source/ComponentEditor/components/jucer_ViewportHandler.h rename to extras/Projucer/Source/ComponentEditor/components/jucer_ViewportHandler.h index f66db1fa95..aa07b89e2c 100644 --- a/extras/Introjucer/Source/ComponentEditor/components/jucer_ViewportHandler.h +++ b/extras/Projucer/Source/ComponentEditor/components/jucer_ViewportHandler.h @@ -498,7 +498,7 @@ private: document.perform (new JucerCompFileChangeAction (component, *document.getComponentLayout(), newFile.getRelativePathFrom (document.getCppFile().getParentDirectory()) .replaceCharacter ('\\', '/')), - "Change Introjucer component file"); + "Change Projucer component file"); } File getFile() const diff --git a/extras/Introjucer/Source/ComponentEditor/documents/jucer_ButtonDocument.cpp b/extras/Projucer/Source/ComponentEditor/documents/jucer_ButtonDocument.cpp similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/documents/jucer_ButtonDocument.cpp rename to extras/Projucer/Source/ComponentEditor/documents/jucer_ButtonDocument.cpp diff --git a/extras/Introjucer/Source/ComponentEditor/documents/jucer_ButtonDocument.h b/extras/Projucer/Source/ComponentEditor/documents/jucer_ButtonDocument.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/documents/jucer_ButtonDocument.h rename to extras/Projucer/Source/ComponentEditor/documents/jucer_ButtonDocument.h diff --git a/extras/Introjucer/Source/ComponentEditor/documents/jucer_ComponentDocument.cpp b/extras/Projucer/Source/ComponentEditor/documents/jucer_ComponentDocument.cpp similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/documents/jucer_ComponentDocument.cpp rename to extras/Projucer/Source/ComponentEditor/documents/jucer_ComponentDocument.cpp diff --git a/extras/Introjucer/Source/ComponentEditor/documents/jucer_ComponentDocument.h b/extras/Projucer/Source/ComponentEditor/documents/jucer_ComponentDocument.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/documents/jucer_ComponentDocument.h rename to extras/Projucer/Source/ComponentEditor/documents/jucer_ComponentDocument.h diff --git a/extras/Introjucer/Source/ComponentEditor/jucer_BinaryResources.cpp b/extras/Projucer/Source/ComponentEditor/jucer_BinaryResources.cpp similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/jucer_BinaryResources.cpp rename to extras/Projucer/Source/ComponentEditor/jucer_BinaryResources.cpp diff --git a/extras/Introjucer/Source/ComponentEditor/jucer_BinaryResources.h b/extras/Projucer/Source/ComponentEditor/jucer_BinaryResources.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/jucer_BinaryResources.h rename to extras/Projucer/Source/ComponentEditor/jucer_BinaryResources.h diff --git a/extras/Introjucer/Source/ComponentEditor/jucer_ComponentLayout.cpp b/extras/Projucer/Source/ComponentEditor/jucer_ComponentLayout.cpp similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/jucer_ComponentLayout.cpp rename to extras/Projucer/Source/ComponentEditor/jucer_ComponentLayout.cpp diff --git a/extras/Introjucer/Source/ComponentEditor/jucer_ComponentLayout.h b/extras/Projucer/Source/ComponentEditor/jucer_ComponentLayout.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/jucer_ComponentLayout.h rename to extras/Projucer/Source/ComponentEditor/jucer_ComponentLayout.h diff --git a/extras/Introjucer/Source/ComponentEditor/jucer_GeneratedCode.cpp b/extras/Projucer/Source/ComponentEditor/jucer_GeneratedCode.cpp similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/jucer_GeneratedCode.cpp rename to extras/Projucer/Source/ComponentEditor/jucer_GeneratedCode.cpp diff --git a/extras/Introjucer/Source/ComponentEditor/jucer_GeneratedCode.h b/extras/Projucer/Source/ComponentEditor/jucer_GeneratedCode.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/jucer_GeneratedCode.h rename to extras/Projucer/Source/ComponentEditor/jucer_GeneratedCode.h diff --git a/extras/Introjucer/Source/ComponentEditor/jucer_JucerDocument.cpp b/extras/Projucer/Source/ComponentEditor/jucer_JucerDocument.cpp similarity index 94% rename from extras/Introjucer/Source/ComponentEditor/jucer_JucerDocument.cpp rename to extras/Projucer/Source/ComponentEditor/jucer_JucerDocument.cpp index 91b7444d45..2eb68a3746 100644 --- a/extras/Introjucer/Source/ComponentEditor/jucer_JucerDocument.cpp +++ b/extras/Projucer/Source/ComponentEditor/jucer_JucerDocument.cpp @@ -52,23 +52,23 @@ JucerDocument::JucerDocument (SourceCodeDocument* c) jassert (cpp != nullptr); resources.setDocument (this); - IntrojucerApp::getCommandManager().commandStatusChanged(); + ProjucerApplication::getCommandManager().commandStatusChanged(); cpp->getCodeDocument().addListener (this); - IntrojucerApp::getApp().openDocumentManager.addListener (this); + ProjucerApplication::getApp().openDocumentManager.addListener (this); } JucerDocument::~JucerDocument() { - IntrojucerApp::getApp().openDocumentManager.removeListener (this); + ProjucerApplication::getApp().openDocumentManager.removeListener (this); cpp->getCodeDocument().removeListener (this); - IntrojucerApp::getCommandManager().commandStatusChanged(); + ProjucerApplication::getCommandManager().commandStatusChanged(); } //============================================================================== void JucerDocument::changed() { sendChangeMessage(); - IntrojucerApp::getCommandManager().commandStatusChanged(); + ProjucerApplication::getCommandManager().commandStatusChanged(); startTimer (800); } @@ -553,7 +553,7 @@ bool JucerDocument::flushChangesToDocuments() const File headerFile (getHeaderFile()); generated.includeFilesCPP.insert (0, headerFile.getFileName()); - OpenDocumentManager& odm = IntrojucerApp::getApp().openDocumentManager; + OpenDocumentManager& odm = ProjucerApplication::getApp().openDocumentManager; if (SourceCodeDocument* header = dynamic_cast (odm.openFile (nullptr, getHeaderFile()))) { @@ -654,7 +654,7 @@ static JucerDocument* createDocument (SourceCodeDocument* cpp) JucerDocument* JucerDocument::createForCppFile (Project* p, const File& file) { - OpenDocumentManager& odm = IntrojucerApp::getApp().openDocumentManager; + OpenDocumentManager& odm = ProjucerApplication::getApp().openDocumentManager; if (SourceCodeDocument* cpp = dynamic_cast (odm.openFile (p, file))) if (dynamic_cast (odm.openFile (p, file.withFileExtension (".h"))) != nullptr) @@ -679,7 +679,7 @@ public: bool saveHeader() { - OpenDocumentManager& odm = IntrojucerApp::getApp().openDocumentManager; + OpenDocumentManager& odm = ProjucerApplication::getApp().openDocumentManager; if (OpenDocumentManager::Document* header = odm.openFile (nullptr, getFile().withFileExtension (".h"))) return header->save(); @@ -731,7 +731,7 @@ public: headerFile.replaceWithText (String::empty); cppFile.replaceWithText (String::empty); - OpenDocumentManager& odm = IntrojucerApp::getApp().openDocumentManager; + OpenDocumentManager& odm = ProjucerApplication::getApp().openDocumentManager; if (SourceCodeDocument* cpp = dynamic_cast (odm.openFile (nullptr, cppFile))) { diff --git a/extras/Introjucer/Source/ComponentEditor/jucer_JucerDocument.h b/extras/Projucer/Source/ComponentEditor/jucer_JucerDocument.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/jucer_JucerDocument.h rename to extras/Projucer/Source/ComponentEditor/jucer_JucerDocument.h diff --git a/extras/Introjucer/Source/ComponentEditor/jucer_ObjectTypes.cpp b/extras/Projucer/Source/ComponentEditor/jucer_ObjectTypes.cpp similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/jucer_ObjectTypes.cpp rename to extras/Projucer/Source/ComponentEditor/jucer_ObjectTypes.cpp diff --git a/extras/Introjucer/Source/ComponentEditor/jucer_ObjectTypes.h b/extras/Projucer/Source/ComponentEditor/jucer_ObjectTypes.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/jucer_ObjectTypes.h rename to extras/Projucer/Source/ComponentEditor/jucer_ObjectTypes.h diff --git a/extras/Introjucer/Source/ComponentEditor/jucer_PaintRoutine.cpp b/extras/Projucer/Source/ComponentEditor/jucer_PaintRoutine.cpp similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/jucer_PaintRoutine.cpp rename to extras/Projucer/Source/ComponentEditor/jucer_PaintRoutine.cpp diff --git a/extras/Introjucer/Source/ComponentEditor/jucer_PaintRoutine.h b/extras/Projucer/Source/ComponentEditor/jucer_PaintRoutine.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/jucer_PaintRoutine.h rename to extras/Projucer/Source/ComponentEditor/jucer_PaintRoutine.h diff --git a/extras/Introjucer/Source/ComponentEditor/jucer_UtilityFunctions.h b/extras/Projucer/Source/ComponentEditor/jucer_UtilityFunctions.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/jucer_UtilityFunctions.h rename to extras/Projucer/Source/ComponentEditor/jucer_UtilityFunctions.h diff --git a/extras/Introjucer/Source/ComponentEditor/paintelements/jucer_ColouredElement.cpp b/extras/Projucer/Source/ComponentEditor/paintelements/jucer_ColouredElement.cpp similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/paintelements/jucer_ColouredElement.cpp rename to extras/Projucer/Source/ComponentEditor/paintelements/jucer_ColouredElement.cpp diff --git a/extras/Introjucer/Source/ComponentEditor/paintelements/jucer_ColouredElement.h b/extras/Projucer/Source/ComponentEditor/paintelements/jucer_ColouredElement.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/paintelements/jucer_ColouredElement.h rename to extras/Projucer/Source/ComponentEditor/paintelements/jucer_ColouredElement.h diff --git a/extras/Introjucer/Source/ComponentEditor/paintelements/jucer_ElementSiblingComponent.h b/extras/Projucer/Source/ComponentEditor/paintelements/jucer_ElementSiblingComponent.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/paintelements/jucer_ElementSiblingComponent.h rename to extras/Projucer/Source/ComponentEditor/paintelements/jucer_ElementSiblingComponent.h diff --git a/extras/Introjucer/Source/ComponentEditor/paintelements/jucer_FillType.h b/extras/Projucer/Source/ComponentEditor/paintelements/jucer_FillType.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/paintelements/jucer_FillType.h rename to extras/Projucer/Source/ComponentEditor/paintelements/jucer_FillType.h diff --git a/extras/Introjucer/Source/ComponentEditor/paintelements/jucer_GradientPointComponent.h b/extras/Projucer/Source/ComponentEditor/paintelements/jucer_GradientPointComponent.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/paintelements/jucer_GradientPointComponent.h rename to extras/Projucer/Source/ComponentEditor/paintelements/jucer_GradientPointComponent.h diff --git a/extras/Introjucer/Source/ComponentEditor/paintelements/jucer_ImageResourceProperty.h b/extras/Projucer/Source/ComponentEditor/paintelements/jucer_ImageResourceProperty.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/paintelements/jucer_ImageResourceProperty.h rename to extras/Projucer/Source/ComponentEditor/paintelements/jucer_ImageResourceProperty.h diff --git a/extras/Introjucer/Source/ComponentEditor/paintelements/jucer_PaintElement.cpp b/extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElement.cpp similarity index 96% rename from extras/Introjucer/Source/ComponentEditor/paintelements/jucer_PaintElement.cpp rename to extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElement.cpp index 844b6c0c76..96cfbe8e80 100644 --- a/extras/Introjucer/Source/ComponentEditor/paintelements/jucer_PaintElement.cpp +++ b/extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElement.cpp @@ -465,7 +465,7 @@ void PaintElement::updateSiblingComps() void PaintElement::showPopupMenu() { - ApplicationCommandManager* commandManager = &IntrojucerApp::getCommandManager(); + ApplicationCommandManager* commandManager = &ProjucerApplication::getCommandManager(); PopupMenu m; diff --git a/extras/Introjucer/Source/ComponentEditor/paintelements/jucer_PaintElement.h b/extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElement.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/paintelements/jucer_PaintElement.h rename to extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElement.h diff --git a/extras/Introjucer/Source/ComponentEditor/paintelements/jucer_PaintElementEllipse.h b/extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementEllipse.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/paintelements/jucer_PaintElementEllipse.h rename to extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementEllipse.h diff --git a/extras/Introjucer/Source/ComponentEditor/paintelements/jucer_PaintElementGroup.h b/extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementGroup.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/paintelements/jucer_PaintElementGroup.h rename to extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementGroup.h diff --git a/extras/Introjucer/Source/ComponentEditor/paintelements/jucer_PaintElementImage.h b/extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementImage.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/paintelements/jucer_PaintElementImage.h rename to extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementImage.h diff --git a/extras/Introjucer/Source/ComponentEditor/paintelements/jucer_PaintElementPath.cpp b/extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementPath.cpp similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/paintelements/jucer_PaintElementPath.cpp rename to extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementPath.cpp diff --git a/extras/Introjucer/Source/ComponentEditor/paintelements/jucer_PaintElementPath.h b/extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementPath.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/paintelements/jucer_PaintElementPath.h rename to extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementPath.h diff --git a/extras/Introjucer/Source/ComponentEditor/paintelements/jucer_PaintElementRectangle.h b/extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementRectangle.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/paintelements/jucer_PaintElementRectangle.h rename to extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementRectangle.h diff --git a/extras/Introjucer/Source/ComponentEditor/paintelements/jucer_PaintElementRoundedRectangle.h b/extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementRoundedRectangle.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/paintelements/jucer_PaintElementRoundedRectangle.h rename to extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementRoundedRectangle.h diff --git a/extras/Introjucer/Source/ComponentEditor/paintelements/jucer_PaintElementText.h b/extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementText.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/paintelements/jucer_PaintElementText.h rename to extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementText.h diff --git a/extras/Introjucer/Source/ComponentEditor/paintelements/jucer_PaintElementUndoableAction.h b/extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementUndoableAction.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/paintelements/jucer_PaintElementUndoableAction.h rename to extras/Projucer/Source/ComponentEditor/paintelements/jucer_PaintElementUndoableAction.h diff --git a/extras/Introjucer/Source/ComponentEditor/paintelements/jucer_PointComponent.h b/extras/Projucer/Source/ComponentEditor/paintelements/jucer_PointComponent.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/paintelements/jucer_PointComponent.h rename to extras/Projucer/Source/ComponentEditor/paintelements/jucer_PointComponent.h diff --git a/extras/Introjucer/Source/ComponentEditor/paintelements/jucer_StrokeType.h b/extras/Projucer/Source/ComponentEditor/paintelements/jucer_StrokeType.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/paintelements/jucer_StrokeType.h rename to extras/Projucer/Source/ComponentEditor/paintelements/jucer_StrokeType.h diff --git a/extras/Introjucer/Source/ComponentEditor/properties/jucer_ColourPropertyComponent.h b/extras/Projucer/Source/ComponentEditor/properties/jucer_ColourPropertyComponent.h similarity index 96% rename from extras/Introjucer/Source/ComponentEditor/properties/jucer_ColourPropertyComponent.h rename to extras/Projucer/Source/ComponentEditor/properties/jucer_ColourPropertyComponent.h index 3c623c0531..94026fc9af 100644 --- a/extras/Introjucer/Source/ComponentEditor/properties/jucer_ColourPropertyComponent.h +++ b/extras/Projucer/Source/ComponentEditor/properties/jucer_ColourPropertyComponent.h @@ -25,8 +25,6 @@ #ifndef JUCER_COLOURPROPERTYCOMPONENT_H_INCLUDED #define JUCER_COLOURPROPERTYCOMPONENT_H_INCLUDED -#include "../../Application/jucer_Application.h" - class JucerColourPropertyComponent : public PropertyComponent { diff --git a/extras/Introjucer/Source/ComponentEditor/properties/jucer_ComponentBooleanProperty.h b/extras/Projucer/Source/ComponentEditor/properties/jucer_ComponentBooleanProperty.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/properties/jucer_ComponentBooleanProperty.h rename to extras/Projucer/Source/ComponentEditor/properties/jucer_ComponentBooleanProperty.h diff --git a/extras/Introjucer/Source/ComponentEditor/properties/jucer_ComponentChoiceProperty.h b/extras/Projucer/Source/ComponentEditor/properties/jucer_ComponentChoiceProperty.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/properties/jucer_ComponentChoiceProperty.h rename to extras/Projucer/Source/ComponentEditor/properties/jucer_ComponentChoiceProperty.h diff --git a/extras/Introjucer/Source/ComponentEditor/properties/jucer_ComponentColourProperty.h b/extras/Projucer/Source/ComponentEditor/properties/jucer_ComponentColourProperty.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/properties/jucer_ComponentColourProperty.h rename to extras/Projucer/Source/ComponentEditor/properties/jucer_ComponentColourProperty.h diff --git a/extras/Introjucer/Source/ComponentEditor/properties/jucer_ComponentTextProperty.h b/extras/Projucer/Source/ComponentEditor/properties/jucer_ComponentTextProperty.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/properties/jucer_ComponentTextProperty.h rename to extras/Projucer/Source/ComponentEditor/properties/jucer_ComponentTextProperty.h diff --git a/extras/Introjucer/Source/ComponentEditor/properties/jucer_FilePropertyComponent.h b/extras/Projucer/Source/ComponentEditor/properties/jucer_FilePropertyComponent.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/properties/jucer_FilePropertyComponent.h rename to extras/Projucer/Source/ComponentEditor/properties/jucer_FilePropertyComponent.h diff --git a/extras/Introjucer/Source/ComponentEditor/properties/jucer_FontPropertyComponent.h b/extras/Projucer/Source/ComponentEditor/properties/jucer_FontPropertyComponent.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/properties/jucer_FontPropertyComponent.h rename to extras/Projucer/Source/ComponentEditor/properties/jucer_FontPropertyComponent.h diff --git a/extras/Introjucer/Source/ComponentEditor/properties/jucer_JustificationProperty.h b/extras/Projucer/Source/ComponentEditor/properties/jucer_JustificationProperty.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/properties/jucer_JustificationProperty.h rename to extras/Projucer/Source/ComponentEditor/properties/jucer_JustificationProperty.h diff --git a/extras/Introjucer/Source/ComponentEditor/properties/jucer_PositionPropertyBase.h b/extras/Projucer/Source/ComponentEditor/properties/jucer_PositionPropertyBase.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/properties/jucer_PositionPropertyBase.h rename to extras/Projucer/Source/ComponentEditor/properties/jucer_PositionPropertyBase.h diff --git a/extras/Introjucer/Source/ComponentEditor/ui/jucer_ComponentLayoutEditor.cpp b/extras/Projucer/Source/ComponentEditor/ui/jucer_ComponentLayoutEditor.cpp similarity index 96% rename from extras/Introjucer/Source/ComponentEditor/ui/jucer_ComponentLayoutEditor.cpp rename to extras/Projucer/Source/ComponentEditor/ui/jucer_ComponentLayoutEditor.cpp index bbeb39f631..beaef68124 100644 --- a/extras/Introjucer/Source/ComponentEditor/ui/jucer_ComponentLayoutEditor.cpp +++ b/extras/Projucer/Source/ComponentEditor/ui/jucer_ComponentLayoutEditor.cpp @@ -267,7 +267,7 @@ void ComponentLayoutEditor::mouseDown (const MouseEvent& e) { if (e.mods.isPopupMenu()) { - ApplicationCommandManager* commandManager = &IntrojucerApp::getCommandManager(); + ApplicationCommandManager* commandManager = &ProjucerApplication::getCommandManager(); PopupMenu m; diff --git a/extras/Introjucer/Source/ComponentEditor/ui/jucer_ComponentLayoutEditor.h b/extras/Projucer/Source/ComponentEditor/ui/jucer_ComponentLayoutEditor.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/ui/jucer_ComponentLayoutEditor.h rename to extras/Projucer/Source/ComponentEditor/ui/jucer_ComponentLayoutEditor.h diff --git a/extras/Introjucer/Source/ComponentEditor/ui/jucer_ComponentLayoutPanel.h b/extras/Projucer/Source/ComponentEditor/ui/jucer_ComponentLayoutPanel.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/ui/jucer_ComponentLayoutPanel.h rename to extras/Projucer/Source/ComponentEditor/ui/jucer_ComponentLayoutPanel.h diff --git a/extras/Introjucer/Source/ComponentEditor/ui/jucer_ComponentOverlayComponent.cpp b/extras/Projucer/Source/ComponentEditor/ui/jucer_ComponentOverlayComponent.cpp similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/ui/jucer_ComponentOverlayComponent.cpp rename to extras/Projucer/Source/ComponentEditor/ui/jucer_ComponentOverlayComponent.cpp diff --git a/extras/Introjucer/Source/ComponentEditor/ui/jucer_ComponentOverlayComponent.h b/extras/Projucer/Source/ComponentEditor/ui/jucer_ComponentOverlayComponent.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/ui/jucer_ComponentOverlayComponent.h rename to extras/Projucer/Source/ComponentEditor/ui/jucer_ComponentOverlayComponent.h diff --git a/extras/Introjucer/Source/ComponentEditor/ui/jucer_EditingPanelBase.cpp b/extras/Projucer/Source/ComponentEditor/ui/jucer_EditingPanelBase.cpp similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/ui/jucer_EditingPanelBase.cpp rename to extras/Projucer/Source/ComponentEditor/ui/jucer_EditingPanelBase.cpp diff --git a/extras/Introjucer/Source/ComponentEditor/ui/jucer_EditingPanelBase.h b/extras/Projucer/Source/ComponentEditor/ui/jucer_EditingPanelBase.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/ui/jucer_EditingPanelBase.h rename to extras/Projucer/Source/ComponentEditor/ui/jucer_EditingPanelBase.h diff --git a/extras/Introjucer/Source/ComponentEditor/ui/jucer_JucerCommandIDs.h b/extras/Projucer/Source/ComponentEditor/ui/jucer_JucerCommandIDs.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/ui/jucer_JucerCommandIDs.h rename to extras/Projucer/Source/ComponentEditor/ui/jucer_JucerCommandIDs.h diff --git a/extras/Introjucer/Source/ComponentEditor/ui/jucer_JucerDocumentEditor.cpp b/extras/Projucer/Source/ComponentEditor/ui/jucer_JucerDocumentEditor.cpp similarity index 96% rename from extras/Introjucer/Source/ComponentEditor/ui/jucer_JucerDocumentEditor.cpp rename to extras/Projucer/Source/ComponentEditor/ui/jucer_JucerDocumentEditor.cpp index 4dcfe9411d..7929250256 100644 --- a/extras/Introjucer/Source/ComponentEditor/ui/jucer_JucerDocumentEditor.cpp +++ b/extras/Projucer/Source/ComponentEditor/ui/jucer_JucerDocumentEditor.cpp @@ -418,7 +418,7 @@ void JucerDocumentEditor::updateTabs() //============================================================================== void JucerDocumentEditor::paint (Graphics& g) { - IntrojucerLookAndFeel::fillWithBackgroundTexture (*this, g); + ProjucerLookAndFeel::fillWithBackgroundTexture (*this, g); } void JucerDocumentEditor::resized() @@ -1078,7 +1078,7 @@ bool JucerDocumentEditor::keyPressed (const KeyPress& key) { if (key.isKeyCode (KeyPress::deleteKey) || key.isKeyCode (KeyPress::backspaceKey)) { - IntrojucerApp::getCommandManager().invokeDirectly (StandardApplicationCommandIDs::del, true); + ProjucerApplication::getCommandManager().invokeDirectly (StandardApplicationCommandIDs::del, true); return true; } @@ -1088,7 +1088,7 @@ bool JucerDocumentEditor::keyPressed (const KeyPress& key) JucerDocumentEditor* JucerDocumentEditor::getActiveDocumentHolder() { ApplicationCommandInfo info (0); - ApplicationCommandTarget* target = IntrojucerApp::getCommandManager().getTargetForCommand (JucerCommandIDs::editCompLayout, info); + ApplicationCommandTarget* target = ProjucerApplication::getCommandManager().getTargetForCommand (JucerCommandIDs::editCompLayout, info); return dynamic_cast (target); } @@ -1106,7 +1106,7 @@ const int snapSizes[] = { 2, 3, 4, 5, 6, 8, 10, 12, 16, 20, 24, 32 }; void createGUIEditorMenu (PopupMenu& menu) { - ApplicationCommandManager* commandManager = &IntrojucerApp::getCommandManager(); + ApplicationCommandManager* commandManager = &ProjucerApplication::getCommandManager(); menu.addCommandItem (commandManager, JucerCommandIDs::editCompLayout); menu.addCommandItem (commandManager, JucerCommandIDs::editCompGraphics); @@ -1198,5 +1198,5 @@ void handleGUIEditorMenuCommand (int menuItemID) void registerGUIEditorCommands() { JucerDocumentEditor dh (nullptr); - IntrojucerApp::getCommandManager().registerAllCommandsForTarget (&dh); + ProjucerApplication::getCommandManager().registerAllCommandsForTarget (&dh); } diff --git a/extras/Introjucer/Source/ComponentEditor/ui/jucer_JucerDocumentEditor.h b/extras/Projucer/Source/ComponentEditor/ui/jucer_JucerDocumentEditor.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/ui/jucer_JucerDocumentEditor.h rename to extras/Projucer/Source/ComponentEditor/ui/jucer_JucerDocumentEditor.h diff --git a/extras/Introjucer/Source/ComponentEditor/ui/jucer_PaintRoutineEditor.cpp b/extras/Projucer/Source/ComponentEditor/ui/jucer_PaintRoutineEditor.cpp similarity index 95% rename from extras/Introjucer/Source/ComponentEditor/ui/jucer_PaintRoutineEditor.cpp rename to extras/Projucer/Source/ComponentEditor/ui/jucer_PaintRoutineEditor.cpp index ce965f5ab4..47af8ff58e 100644 --- a/extras/Introjucer/Source/ComponentEditor/ui/jucer_PaintRoutineEditor.cpp +++ b/extras/Projucer/Source/ComponentEditor/ui/jucer_PaintRoutineEditor.cpp @@ -201,7 +201,7 @@ void PaintRoutineEditor::mouseDown (const MouseEvent& e) { if (e.mods.isPopupMenu()) { - ApplicationCommandManager* commandManager = &IntrojucerApp::getCommandManager(); + ApplicationCommandManager* commandManager = &ProjucerApplication::getCommandManager(); PopupMenu m; diff --git a/extras/Introjucer/Source/ComponentEditor/ui/jucer_PaintRoutineEditor.h b/extras/Projucer/Source/ComponentEditor/ui/jucer_PaintRoutineEditor.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/ui/jucer_PaintRoutineEditor.h rename to extras/Projucer/Source/ComponentEditor/ui/jucer_PaintRoutineEditor.h diff --git a/extras/Introjucer/Source/ComponentEditor/ui/jucer_PaintRoutinePanel.cpp b/extras/Projucer/Source/ComponentEditor/ui/jucer_PaintRoutinePanel.cpp similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/ui/jucer_PaintRoutinePanel.cpp rename to extras/Projucer/Source/ComponentEditor/ui/jucer_PaintRoutinePanel.cpp diff --git a/extras/Introjucer/Source/ComponentEditor/ui/jucer_PaintRoutinePanel.h b/extras/Projucer/Source/ComponentEditor/ui/jucer_PaintRoutinePanel.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/ui/jucer_PaintRoutinePanel.h rename to extras/Projucer/Source/ComponentEditor/ui/jucer_PaintRoutinePanel.h diff --git a/extras/Introjucer/Source/ComponentEditor/ui/jucer_RelativePositionedRectangle.h b/extras/Projucer/Source/ComponentEditor/ui/jucer_RelativePositionedRectangle.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/ui/jucer_RelativePositionedRectangle.h rename to extras/Projucer/Source/ComponentEditor/ui/jucer_RelativePositionedRectangle.h diff --git a/extras/Introjucer/Source/ComponentEditor/ui/jucer_ResourceEditorPanel.cpp b/extras/Projucer/Source/ComponentEditor/ui/jucer_ResourceEditorPanel.cpp similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/ui/jucer_ResourceEditorPanel.cpp rename to extras/Projucer/Source/ComponentEditor/ui/jucer_ResourceEditorPanel.cpp diff --git a/extras/Introjucer/Source/ComponentEditor/ui/jucer_ResourceEditorPanel.h b/extras/Projucer/Source/ComponentEditor/ui/jucer_ResourceEditorPanel.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/ui/jucer_ResourceEditorPanel.h rename to extras/Projucer/Source/ComponentEditor/ui/jucer_ResourceEditorPanel.h diff --git a/extras/Introjucer/Source/ComponentEditor/ui/jucer_SnapGridPainter.h b/extras/Projucer/Source/ComponentEditor/ui/jucer_SnapGridPainter.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/ui/jucer_SnapGridPainter.h rename to extras/Projucer/Source/ComponentEditor/ui/jucer_SnapGridPainter.h diff --git a/extras/Introjucer/Source/ComponentEditor/ui/jucer_TestComponent.cpp b/extras/Projucer/Source/ComponentEditor/ui/jucer_TestComponent.cpp similarity index 95% rename from extras/Introjucer/Source/ComponentEditor/ui/jucer_TestComponent.cpp rename to extras/Projucer/Source/ComponentEditor/ui/jucer_TestComponent.cpp index 3cb872a9f6..cd76179379 100644 --- a/extras/Introjucer/Source/ComponentEditor/ui/jucer_TestComponent.cpp +++ b/extras/Projucer/Source/ComponentEditor/ui/jucer_TestComponent.cpp @@ -146,7 +146,7 @@ void TestComponent::paint (Graphics& g) g.drawLine (0.0f, (float) getHeight(), (float) getWidth(), 0.0f); g.setFont (14.0f); - g.drawText ("Introjucer Component", + g.drawText ("Projucer Component", 0, 0, getWidth(), getHeight() / 2, Justification::centred, true); g.drawText ("(no file loaded)", diff --git a/extras/Introjucer/Source/ComponentEditor/ui/jucer_TestComponent.h b/extras/Projucer/Source/ComponentEditor/ui/jucer_TestComponent.h similarity index 100% rename from extras/Introjucer/Source/ComponentEditor/ui/jucer_TestComponent.h rename to extras/Projucer/Source/ComponentEditor/ui/jucer_TestComponent.h diff --git a/extras/Projucer/Source/LiveBuildEngine/projucer_ActivityList.h b/extras/Projucer/Source/LiveBuildEngine/projucer_ActivityList.h new file mode 100644 index 0000000000..7f7e26d247 --- /dev/null +++ b/extras/Projucer/Source/LiveBuildEngine/projucer_ActivityList.h @@ -0,0 +1,106 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +struct ActivityList : public ChangeBroadcaster +{ + ActivityList() {} + + void setList (const StringArray& newList) + { + checkThread(); + + if (activities != newList) + { + const bool wasEmpty = isEmpty(); + activities = newList; + sendChangeMessage(); + + if (wasEmpty != isEmpty()) + ProjucerApplication::getCommandManager().commandStatusChanged(); + } + } + + void clear() + { + setList (StringArray()); + } + + StringArray getActivities() const + { + checkThread(); + + StringArray s; + + for (auto a : activities) + s.add (a.upToFirstOccurrenceOf ("|||", false, false)); + + return s; + } + + bool isEmpty() const noexcept + { + return activities.size() == 0; + } + + int getNumActivities() const + { + checkThread(); + return activities.size(); + } + + struct Listener + { + virtual ~Listener() {} + virtual void classListChanged (const ClassDatabase::ClassList&) = 0; + }; + + void addListener (Listener* l) + { + checkThread(); + listeners.add (l); + } + + void removeListener (Listener* l) + { + checkThread(); + listeners.remove (l); + } + + void sendClassListChangedMessage (const ClassDatabase::ClassList& newList) + { + checkThread(); + listeners.call (&ActivityList::Listener::classListChanged, newList); + } + +private: + StringArray activities; + ListenerList listeners; + + static void checkThread() + { + jassert (MessageManager::getInstance()->isThisTheMessageThread()); + } + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ActivityList) +}; diff --git a/extras/Projucer/Source/LiveBuildEngine/projucer_ActivityListComponent.h b/extras/Projucer/Source/LiveBuildEngine/projucer_ActivityListComponent.h new file mode 100644 index 0000000000..c8f5e1bf1b --- /dev/null +++ b/extras/Projucer/Source/LiveBuildEngine/projucer_ActivityListComponent.h @@ -0,0 +1,101 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +class CurrentActivitiesComp : public Component, + private ChangeListener, + private ListBoxModel, + private Timer +{ +public: + CurrentActivitiesComp (ActivityList& activities) + : Component ("Activities"), activityList (activities) + { + addAndMakeVisible (&list); + list.setColour (ListBox::backgroundColourId, Colours::transparentBlack); + list.setRowHeight (16); + list.setModel (this); + + activityList.addChangeListener (this); + } + + ~CurrentActivitiesComp() + { + activityList.removeChangeListener (this); + } + + void resized() override { list.setBounds (getLocalBounds()); } + + int getNumRows() override + { + return activityList.getNumActivities(); + } + + void paintListBoxItem (int rowNumber, Graphics& g, + int width, int height, bool /*rowIsSelected*/) override + { + const StringArray activities (activityList.getActivities()); + + if (rowNumber >= 0 && rowNumber < activities.size()) + { + g.setColour (findColour (mainBackgroundColourId).contrasting (0.7f)); + + g.setFont (height * 0.7f); + g.drawText (activities [rowNumber], + 4, 0, width - 5, height, Justification::centredLeft, true); + } + } + + void paint (Graphics& g) override + { + if (getNumRows() == 0) + TreePanelBase::drawEmptyPanelMessage (*this, g, "(No activities)"); + } + + static int getMaxPanelHeight() { return 200; } + +private: + ActivityList& activityList; + ListBox list; + int panelHeightToSet; + + void timerCallback() override + { + stopTimer(); + + if (ConcertinaPanel* cp = findParentComponentOfClass()) + cp->setPanelSize (this, panelHeightToSet, true); + } + + void changeListenerCallback (ChangeBroadcaster*) override + { + list.updateContent(); + + panelHeightToSet = jmax (3, getNumRows()) * list.getRowHeight() + 15; + + if (! isTimerRunning()) + startTimer (100); + + repaint(); + } +}; diff --git a/extras/Projucer/Source/LiveBuildEngine/projucer_BuildTabStatusComp.h b/extras/Projucer/Source/LiveBuildEngine/projucer_BuildTabStatusComp.h new file mode 100644 index 0000000000..dba0ed73e2 --- /dev/null +++ b/extras/Projucer/Source/LiveBuildEngine/projucer_BuildTabStatusComp.h @@ -0,0 +1,136 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +class BuildStatusTabComp : public Component, + private ChangeListener, + private Timer +{ +public: + BuildStatusTabComp (ErrorList& el, ActivityList& al) + : errorList (el), activityList (al) + { + setInterceptsMouseClicks (false, false); + addAndMakeVisible (&spinner); + activityList.addChangeListener (this); + errorList.addChangeListener (this); + } + + ~BuildStatusTabComp() + { + activityList.removeChangeListener (this); + errorList.removeChangeListener (this); + } + + enum { size = 20 }; + + void updateStatus() + { + State newState = nothing; + + if (activityList.getNumActivities() > 0) newState = busy; + else if (errorList.getNumErrors() > 0) newState = errors; + else if (errorList.getNumWarnings() > 0) newState = warnings; + + if (newState != state) + { + state = newState; + setSize (state != nothing ? size : 0, size); + spinner.setVisible (state == busy); + repaint(); + } + } + + void paint (Graphics& g) override + { + if (state == errors || state == warnings) + { + g.setColour (findColour (mainBackgroundColourId).contrasting (state == errors ? Colours::red + : Colours::yellow, 0.4f)); + const Path& icon = (state == errors) ? getIcons().warning + : getIcons().info; + + g.fillPath (icon, RectanglePlacement (RectanglePlacement::centred) + .getTransformToFit (icon.getBounds(), + getCentralArea().reduced (1, 1).toFloat())); + } + } + + void resized() override + { + spinner.setBounds (getCentralArea()); + } + + Rectangle getCentralArea() const + { + return getLocalBounds().withTrimmedRight (4); + } + +private: + ErrorList& errorList; + ActivityList& activityList; + + void changeListenerCallback (ChangeBroadcaster*) override { if (! isTimerRunning()) startTimer (150); } + void timerCallback() override { stopTimer(); updateStatus(); } + + enum State + { + nothing, + busy, + errors, + warnings + }; + + State state; + + //============================================================================== + class Spinner : public Component, + private Timer + { + public: + Spinner() + { + setInterceptsMouseClicks (false, false); + } + + void paint (Graphics& g) override + { + if (TabBarButton* tbb = findParentComponentOfClass()) + { + getLookAndFeel().drawSpinningWaitAnimation (g, ProjucerLookAndFeel::getTabBackgroundColour (*tbb).contrasting(), + 0, 0, getWidth(), getHeight()); + startTimer (1000 / 20); + } + } + + void timerCallback() override + { + if (isVisible()) + repaint(); + else + stopTimer(); + } + }; + + Spinner spinner; +}; diff --git a/extras/Projucer/Source/LiveBuildEngine/projucer_ClassDatabase.h b/extras/Projucer/Source/LiveBuildEngine/projucer_ClassDatabase.h new file mode 100644 index 0000000000..906f69f78c --- /dev/null +++ b/extras/Projucer/Source/LiveBuildEngine/projucer_ClassDatabase.h @@ -0,0 +1,712 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +struct ClassDatabase +{ + //============================================================================== + struct MemberInfo + { + enum CodeLocationType + { + declaration = 0, + addedToParent, + setBoundsParamX, + setBoundsParamY, + setBoundsParamW, + setBoundsParamH, + + // WARNING! When you change any of these, also update the copy that lives in the live editing code + + numCodeLocationTypes + }; + + MemberInfo() {} + + MemberInfo (const MemberInfo& other) + : name (other.name), type (other.type) + { + for (int i = 0; i < numCodeLocationTypes; ++i) + locations[i] = other.locations[i]; + } + + MemberInfo (const String& nm, const String& ty) + : name (nm), type (ty) + { + } + + MemberInfo (const ValueTree& v) + : name (v [Ids::name].toString()), + type (v [Ids::class_].toString()) + { + for (int i = 0; i < numCodeLocationTypes; ++i) + locations[i] = v [getIdentifierForCodeLocationType (i)].toString(); + } + + const String& getName() const { return name; } + const String& getType() const { return type; } + + const SourceCodeRange& getLocation (CodeLocationType t) const + { + return locations[t]; + } + + void setLocation (CodeLocationType t, const SourceCodeRange& range) + { + locations[t] = range; + } + + void mergeWith (const MemberInfo& other) + { + jassert (name == other.name); + if (other.type.isNotEmpty()) + type = other.type; + + for (int i = 0; i < numCodeLocationTypes; ++i) + if (other.locations[i].isValid()) + locations[i] = other.locations[i]; + } + + void nudgeAllCodeRanges (const String& file, const int insertPoint, const int delta) + { + for (int i = 0; i < numCodeLocationTypes; ++i) + locations[i].nudge (file, insertPoint, delta); + } + + void fileContentChanged (const String& file) + { + for (int i = 0; i < numCodeLocationTypes; ++i) + locations[i].fileContentChanged (file); + } + + ValueTree toValueTree() const + { + ValueTree m (Ids::MEMBER); + m.setProperty (Ids::name, name, nullptr); + m.setProperty (Ids::class_, type, nullptr); + + for (int i = 0; i < numCodeLocationTypes; ++i) + locations[i].writeToValueTree (m, getIdentifierForCodeLocationType (i)); + + return m; + } + + private: + String name, type; + SourceCodeRange locations [numCodeLocationTypes]; + + static Identifier getIdentifierForCodeLocationType (int typeIndex) + { + // (These need to remain in order) + static_assert (setBoundsParamX + 1 == setBoundsParamY && setBoundsParamY + 1 == setBoundsParamW + && setBoundsParamW + 1 == setBoundsParamH, ""); + + static const Identifier ids[] = + { + "declaration", + "addedToParent", + "setBoundsParamX", + "setBoundsParamY", + "setBoundsParamW", + "setBoundsParamH" + }; + + return ids [typeIndex]; + } + }; + + //============================================================================== + struct MethodInfo + { + MethodInfo() {} + + MethodInfo (const MethodInfo& other) + : name (other.name), returnType (other.returnType), + declaration (other.declaration), definition (other.definition), + numArgs (other.numArgs), flags (other.flags) + { + } + + String name, returnType; + SourceCodeRange declaration, definition; + int numArgs, flags; + + enum + { + isConstructor = 1, + isDefaultConstructor = 2, + isTemplated = 4, + isPublic = 8 + }; + + MethodInfo (const ValueTree& v) + : name (v[Ids::name].toString()), + returnType (v[Ids::returnType].toString()), + declaration (v[Ids::declaration].toString()), + definition (v[Ids::definition].toString()), + numArgs (v[Ids::numArgs]), + flags (v[Ids::flags]) + { + } + + ValueTree toValueTree() const + { + ValueTree m (Ids::METHOD); + m.setProperty (Ids::name, name, nullptr); + m.setProperty (Ids::returnType, returnType, nullptr); + m.setProperty (Ids::numArgs, numArgs, nullptr); + m.setProperty (Ids::flags, flags, nullptr); + declaration.writeToValueTree (m, Ids::declaration); + definition.writeToValueTree (m, Ids::definition); + return m; + } + + void nudgeAllCodeRanges (const String& file, const int insertPoint, const int delta) + { + declaration.nudge (file, insertPoint, delta); + definition.nudge (file, insertPoint, delta); + } + + void fileContentChanged (const String& file) + { + declaration.fileContentChanged (file); + definition.fileContentChanged (file); + } + }; + + //============================================================================== + struct InstantiationFlags + { + InstantiationFlags() + : isAbstract (false), + inAnonymousNamespace (false), + noDefaultConstructor (false) + {} + + InstantiationFlags (const InstantiationFlags& other) + : isAbstract (other.isAbstract), + inAnonymousNamespace (other.inAnonymousNamespace), + noDefaultConstructor (other.noDefaultConstructor) + {} + + bool canBeInstantiated() const noexcept + { + return ! (isAbstract || inAnonymousNamespace || noDefaultConstructor); + } + + String getReasonForUnavailability() const + { + if (isAbstract) return "This class is abstract"; + if (noDefaultConstructor) return "This class has no default constructor"; + if (inAnonymousNamespace) return "This class is declared inside an anonymous namespace"; + return String::empty; + } + + bool isDisallowed (const InstantiationFlags& disallowedFlags) const + { + return ! ((disallowedFlags.isAbstract && isAbstract) + || (disallowedFlags.inAnonymousNamespace && inAnonymousNamespace) + || (disallowedFlags.noDefaultConstructor && noDefaultConstructor)); + } + + bool isAbstract; + bool inAnonymousNamespace; + bool noDefaultConstructor; + }; + + //============================================================================== + struct Class + { + Class() {} + ~Class() {} + + Class (const Class& other) + : className (other.className), members (other.members), + methods (other.methods), classDeclaration (other.classDeclaration), + instantiationFlags (other.instantiationFlags) + { + } + + Class (const String& name, const InstantiationFlags& flags, + const Array& m, + const Array& meth, + const SourceCodeRange& classDeclarationRange) + : className (name), + members (m), methods (meth), + classDeclaration (classDeclarationRange), + instantiationFlags (flags) + { + } + + Class& operator= (const Class& other) + { + className = other.className; + members = other.members; + methods = other.methods; + classDeclaration = other.classDeclaration; + instantiationFlags = other.instantiationFlags; + return *this; + } + + const String& getName() const noexcept { return className; } + + const InstantiationFlags& getInstantiationFlags() const + { + return instantiationFlags; + } + + void setInstantiationFlags (const InstantiationFlags& newFlags) + { + instantiationFlags = newFlags; + } + + const SourceCodeRange& getClassDeclarationRange() const + { + return classDeclaration; + } + + MemberInfo* findMember (const String& memberName) const + { + for (MemberInfo& m : members) + if (m.getName() == memberName) + return &m; + + return nullptr; + } + + const MethodInfo* getDefaultConstructor() const + { + for (const MethodInfo& m : methods) + if ((m.flags & MethodInfo::isDefaultConstructor) != 0) + return &m; + + return nullptr; + } + + const MethodInfo* getConstructor() const + { + if (const MethodInfo* m = getDefaultConstructor()) + return m; + + for (const MethodInfo& m : methods) + if ((m.flags & MethodInfo::isConstructor) != 0) + return &m; + + return nullptr; + } + + const MethodInfo* getResizedMethod() const + { + for (const MethodInfo& m : methods) + if (m.name == "resized" && m.numArgs == 0) + return &m; + + return nullptr; + } + + File getMainSourceFile() const + { + if (const MethodInfo* m = getResizedMethod()) + if (m->definition.isValid()) + return m->definition.file; + + if (const MethodInfo* m = getConstructor()) + if (m->definition.isValid()) + return m->definition.file; + + for (MethodInfo& m : methods) + if (m.definition.isValid() && File (m.definition.file).hasFileExtension ("cpp;mm")) + return m.definition.file; + + for (MethodInfo& m : methods) + if ((m.flags & MethodInfo::isConstructor) != 0 && m.definition.isValid()) + return m.definition.file; + + for (MethodInfo& m : methods) + if (m.definition.isValid() && File (m.definition.file).exists()) + return m.definition.file; + + return File(); + } + + Array getAllSourceFiles() const + { + Array files; + + for (const MethodInfo& m : methods) + { + files.addIfNotAlreadyThere (m.declaration.file); + files.addIfNotAlreadyThere (m.definition.file); + } + + return files; + } + + bool isDeclaredInFile (const File& file) const + { + return file == classDeclaration.file; + } + + void mergeWith (const Class& other) + { + jassert (*this == other); + + if (other.classDeclaration.isValid()) + classDeclaration = other.classDeclaration; + + for (const MemberInfo& m : other.members) + { + if (MemberInfo* existing = findMember (m.getName())) + existing->mergeWith (m); + else + members.add (m); + } + } + + void nudgeAllCodeRanges (const String& file, int index, int delta) + { + for (MemberInfo& m : members) m.nudgeAllCodeRanges (file, index, delta); + for (MethodInfo& m : methods) m.nudgeAllCodeRanges (file, index, delta); + + classDeclaration.nudge (file, index, delta); + } + + void fileContentChanged (const String& file) + { + for (MemberInfo& m : members) m.fileContentChanged (file); + for (MethodInfo& m : methods) m.fileContentChanged (file); + + classDeclaration.fileContentChanged (file); + } + + Class (const ValueTree& v) + { + className = v[Ids::name]; + instantiationFlags.isAbstract = v[Ids::abstract]; + instantiationFlags.inAnonymousNamespace = v[Ids::anonymous]; + instantiationFlags.noDefaultConstructor = v[Ids::noDefConstructor]; + + classDeclaration = v [Ids::classDecl].toString(); + + for (int i = 0; i < v.getNumChildren(); ++i) + members.add (MemberInfo (v.getChild(i))); + } + + ValueTree toValueTree() const + { + ValueTree v (Ids::CLASS); + v.setProperty (Ids::name, className, nullptr); + v.setProperty (Ids::abstract, instantiationFlags.isAbstract, nullptr); + v.setProperty (Ids::anonymous, instantiationFlags.inAnonymousNamespace, nullptr); + v.setProperty (Ids::noDefConstructor, instantiationFlags.noDefaultConstructor, nullptr); + classDeclaration.writeToValueTree (v, Ids::classDecl); + + for (const MemberInfo& m : members) + v.addChild (m.toValueTree(), -1, nullptr); + + return v; + } + + bool operator== (const Class& other) const noexcept { return className == other.className; } + bool operator!= (const Class& other) const noexcept { return ! operator== (other); } + bool operator< (const Class& other) const noexcept { return className < other.className; } + + const Array& getMembers() const { return members; } + + private: + String className; + Array members; + Array methods; + SourceCodeRange classDeclaration; + InstantiationFlags instantiationFlags; + + JUCE_LEAK_DETECTOR (Class) + }; + + //============================================================================== + struct Namespace + { + Namespace() : name ("Global Namespace") {} + Namespace (const String& n, const String& full) : name (n), fullName (full) {} + + bool isEmpty() const noexcept + { + for (const auto& n : namespaces) + if (! n.isEmpty()) + return false; + + return components.size() == 0; + } + + int getTotalClassesAndNamespaces() const + { + int total = components.size(); + + for (const auto& n : namespaces) + total += n.getTotalClassesAndNamespaces(); + + return total; + } + + void add (const Class& c, const String::CharPointerType& localName) + { + const String::CharPointerType nextDoubleColon (CharacterFunctions::find (localName, CharPointer_ASCII ("::"))); + + if (nextDoubleColon.isEmpty()) + merge (c); + else + getOrCreateNamespace (String (localName, nextDoubleColon))->add (c, nextDoubleColon + 2); + } + + bool containsRecursively (const Class& c) const + { + if (components.contains (c)) + return true; + + for (const auto& n : namespaces) + if (n.containsRecursively (c)) + return true; + + return false; + } + + Class* findClass (const String& className) const + { + for (Class& c : components) + if (c.getName() == className) + return &c; + + for (const auto& n : namespaces) + if (Class* c = n.findClass (className)) + return c; + + return nullptr; + } + + const MemberInfo* findClassMemberInfo (const String& className, const String& memberName) const + { + if (const Class* classInfo = findClass (className)) + return classInfo->findMember (memberName); + + return nullptr; + } + + void findClassesDeclaredInFile (Array& results, const File& file) const + { + for (Class& c : components) + if (c.isDeclaredInFile (file)) + results.add (&c); + + for (const auto& n : namespaces) + n.findClassesDeclaredInFile (results, file); + } + + void merge (const Namespace& other) + { + if (components.size() == 0) + { + components = other.components; + } + else + { + for (const auto& c : other.components) + merge (c); + } + + for (const auto& n : other.namespaces) + getOrCreateNamespace (n.name)->merge (n); + } + + void merge (const Class& c) + { + const int existing = components.indexOf (c); + + if (existing < 0) + components.add (c); + else + components.getReference (existing).mergeWith (c); + } + + Namespace* findNamespace (const String& targetName) const + { + for (auto& n : namespaces) + if (n.name == targetName) + return &n; + + return nullptr; + } + + Namespace* createNamespace (const String& newName) + { + namespaces.add (Namespace (newName, fullName + "::" + newName)); + return findNamespace (newName); + } + + Namespace* getOrCreateNamespace (const String& newName) + { + if (Namespace* existing = findNamespace (newName)) + return existing; + + return createNamespace (newName); + } + + void addInstantiableClasses (SortedSet& classes) const + { + for (const auto& c : components) + if (c.getInstantiationFlags().canBeInstantiated()) + classes.add (c); + + for (const auto& n : namespaces) + n.addInstantiableClasses (classes); + } + + void swapWith (Namespace& other) noexcept + { + name.swapWith (other.name); + components.swapWith (other.components); + namespaces.swapWith (other.namespaces); + } + + void nudgeAllCodeRanges (const String& file, int index, int delta) const + { + for (auto& c : components) c.nudgeAllCodeRanges (file, index, delta); + for (auto& n : namespaces) n.nudgeAllCodeRanges (file, index, delta); + } + + void fileContentChanged (const String& file) const + { + for (auto& c : components) c.fileContentChanged (file); + for (auto& n : namespaces) n.fileContentChanged (file); + } + + bool matches (const Namespace& other) const + { + if (name == other.name + && components == other.components + && namespaces.size() == other.namespaces.size()) + { + for (int i = namespaces.size(); --i >= 0;) + if (! namespaces.getReference (i).matches (other.namespaces.getReference(i))) + return false; + + return true; + } + + return false; + } + + void getAllClassNames (StringArray& results, const InstantiationFlags& disallowedFlags) const + { + for (const auto& c : components) + if (c.getInstantiationFlags().isDisallowed (disallowedFlags)) + results.add (c.getName()); + + for (const auto& n : namespaces) + n.getAllClassNames (results, disallowedFlags); + } + + ValueTree toValueTree() const + { + ValueTree v (Ids::CLASSLIST); + + v.setProperty (Ids::name, name, nullptr); + + for (const auto& c : components) v.addChild (c.toValueTree(), -1, nullptr); + for (const auto& n : namespaces) v.addChild (n.toValueTree(), -1, nullptr); + + return v; + } + + void loadFromValueTree (const ValueTree& v) + { + name = v[Ids::name]; + + for (int i = 0; i < v.getNumChildren(); ++i) + { + const ValueTree c (v.getChild(i)); + + if (c.hasType (Ids::CLASS)) + components.add (Class (c)); + else if (c.hasType (Ids::CLASSLIST)) + createNamespace (c[Ids::name])->loadFromValueTree (c); + } + } + + bool operator== (const Namespace& other) const noexcept { return name == other.name; } + bool operator!= (const Namespace& other) const noexcept { return ! operator== (other); } + bool operator< (const Namespace& other) const noexcept { return name < other.name; } + + String name, fullName; + SortedSet components; + SortedSet namespaces; + + JUCE_LEAK_DETECTOR (Namespace) + }; + + struct ClassList + { + ClassList() {} + + void clear() + { + Namespace newNamespace; + globalNamespace.swapWith (newNamespace); + } + + void registerComp (const Class& comp) + { + globalNamespace.add (comp, comp.getName().getCharPointer()); + } + + void merge (const ClassList& other) + { + globalNamespace.merge (other.globalNamespace); + } + + void swapWith (ClassList& other) noexcept + { + globalNamespace.swapWith (other.globalNamespace); + } + + //============================================================================== + ValueTree toValueTree() const + { + return globalNamespace.toValueTree(); + } + + static ClassList fromValueTree (const ValueTree& v) + { + ClassList l; + l.globalNamespace.loadFromValueTree (v); + return l; + } + + Namespace globalNamespace; + + bool operator== (const ClassList& other) const noexcept { return globalNamespace.matches (other.globalNamespace); } + bool operator!= (const ClassList& other) const noexcept { return ! operator== (other); } + + private: + JUCE_LEAK_DETECTOR (ClassList) + }; +}; diff --git a/extras/Projucer/Source/LiveBuildEngine/projucer_ClientServerMessages.h b/extras/Projucer/Source/LiveBuildEngine/projucer_ClientServerMessages.h new file mode 100644 index 0000000000..42eb1f270c --- /dev/null +++ b/extras/Projucer/Source/LiveBuildEngine/projucer_ClientServerMessages.h @@ -0,0 +1,293 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +struct MessageHandler +{ + virtual ~MessageHandler() {} + virtual bool sendMessage (const ValueTree&) = 0; + + static MemoryBlock convertMessage (const ValueTree& tree) + { + MemoryOutputStream out; + tree.writeToStream (out); + return out.getMemoryBlock(); + } + + static ValueTree convertMessage (const MemoryBlock& rawData) + { + return ValueTree::readFromData (rawData.getData(), rawData.getSize()); + } +}; + +//============================================================================== +static inline Rectangle varToRect (const var& v) +{ + if (const Array* obj = v.getArray()) + { + if (obj->size() == 4) + { + int intArray[4]; + + for (int i = 0; i < 4; ++i) + { + const var& p = obj->getReference (i); + + if (p.isInt() || p.isDouble() || p.isInt64()) + intArray[i] = static_cast (p); + else + return Rectangle(); + } + + return Rectangle (intArray[0], intArray[1], intArray[2], intArray[3]); + } + } + + return Rectangle(); +} + +static inline var rectToVar (const Rectangle& rect) +{ + Array retval; + + retval.add (var (rect.getX())); + retval.add (var (rect.getY())); + retval.add (var (rect.getWidth())); + retval.add (var (rect.getHeight())); + + return var (retval); +} + +//============================================================================== +namespace MessageTypes +{ + inline bool send (MessageHandler& target, const ValueTree& v) + { + //DBG ("Send: " << v.getType().toString()); + bool result = target.sendMessage (v); + + if (! result) + { + DBG ("*** Message failed: " << v.getType().toString()); + } + + return result; + } + + inline bool sendPing (MessageHandler& target) + { + return send (target, ValueTree (PING)); + } + + //============================================================================== + // client -> server + + inline void sendOpenPreview (MessageHandler& target, const ClassDatabase::Class& comp, Rectangle mainWindowRect) + { + ValueTree v (OPEN_PREVIEW); + v.setProperty (Ids::name, comp.getName(), nullptr); + v.setProperty (Ids::bounds, rectToVar (mainWindowRect), nullptr); + send (target, v); + } + + inline void sendReinstantiate (MessageHandler& target) + { + send (target, ValueTree (RELOAD)); + } + + inline void sendFileChanges (MessageHandler& target, const Array& changes, const File& file) + { + ValueTree changesMessage (MessageTypes::LIVE_FILE_CHANGES); + changesMessage.setProperty (Ids::file, file.getFullPathName(), nullptr); + + for (const CodeChange& change : changes) + { + ValueTree v (CHANGE); + v.setProperty (Ids::start, change.range.getStart(), nullptr); + v.setProperty (Ids::end, change.range.getEnd(), nullptr); + v.setProperty (Ids::text, change.text, nullptr); + changesMessage.addChild (v, -1, nullptr); + } + + send (target, changesMessage); + } + + inline Array getChangeArray (const ValueTree& changes) + { + Array result; + + for (int i = 0; i < changes.getNumChildren(); ++i) + { + const ValueTree& v = changes.getChild (i); + result.add (CodeChange (Range (v[Ids::start], v[Ids::end]), v[Ids::text])); + } + + return result; + } + + inline void sendFileContentFullUpdate (MessageHandler& target, const File& file, const String& text) + { + ValueTree v (LIVE_FILE_UPDATE); + v.setProperty (Ids::file, file.getFullPathName(), nullptr); + v.setProperty (Ids::text, text, nullptr); + send (target, v); + } + + inline void sendHandleFileReset (MessageHandler& target, const File& file) + { + ValueTree v (LIVE_FILE_RESET); + v.setProperty (Ids::file, file.getFullPathName(), nullptr); + send (target, v); + } + + inline void sendNewBuild (MessageHandler& target, const ProjectBuildInfo& build) + { + send (target, build.tree); + } + + inline void sendCleanAll (MessageHandler& target) + { + send (target, ValueTree (CLEAN_ALL)); + } + + inline void sendNewDiagnosticList (MessageHandler& target, const ValueTree& list) + { + send (target, list); + } + + inline void sendEmptyDiagnosticList (MessageHandler& target) + { + send (target, ValueTree (MessageTypes::DIAGNOSTIC_LIST)); + } + + inline void sendProcessActivationState (MessageHandler& target, bool isNowActive) + { + ValueTree v (FOREGROUND); + v.setProperty (Ids::parentActive, isNowActive, nullptr); + send (target, v); + } + + inline void sendLaunchApp (MessageHandler& target) { send (target, ValueTree (LAUNCH_APP)); } + inline void sendQuit (MessageHandler& target) { send (target, ValueTree (QUIT_SERVER)); } + inline void sendShouldCloseIDE (MessageHandler& target) { send (target, ValueTree (QUIT_IDE)); } + + //============================================================================== + // server -> client + + inline void sendNewClassList (MessageHandler& target, const ClassDatabase::ClassList& classes) + { + send (target, classes.toValueTree()); + } + + inline void sendCrash (MessageHandler& target, const String& message) + { + ValueTree v (CRASH); + v.setProperty (Ids::message, message, nullptr); + send (target, v); + } + + inline void sendSystemHeadersMissing (MessageHandler& target) + { + send (target, ValueTree (MISSING_SYSTEM_HEADERS)); + } + + inline void sendBuildFailed (MessageHandler& target) + { + send (target, ValueTree (BUILD_FAILED)); + } + + inline void sendNewActivityList (MessageHandler& target, const StringArray& list) + { + ValueTree v (ACTIVITY_LIST); + v.setProperty (Ids::list, concatenateListOfStrings (list), nullptr); + send (target, v); + } + + inline void sendChangeCode (MessageHandler& target, const String& location, const String& newText) + { + if (location.isNotEmpty()) + { + ValueTree v (CHANGE_CODE); + v.setProperty (Ids::position, location, nullptr); + v.setProperty (Ids::text, newText, nullptr); + send (target, v); + } + } + + inline void sendHighlightCode (MessageHandler& target, const String& location) + { + if (location.isNotEmpty()) + { + ValueTree v (HIGHLIGHT_CODE); + v.setProperty (Ids::position, location, nullptr); + send (target, v); + } + } + + inline void sendAppLaunched (MessageHandler& target) { send (target, ValueTree (LAUNCHED)); } + inline void sendAppQuit (MessageHandler& target) { send (target, ValueTree (APPQUIT)); } + + inline void sendKeyPress (MessageHandler& target, const String& className, const String& keyDesc) + { + ValueTree v (KEY); + v.setProperty (Ids::class_, className, nullptr); + v.setProperty (Ids::key, keyDesc, nullptr); + send (target, v); + } + + //============================================================================== + template + static void dispatchToClient (MessageHandlerType& target, const ValueTree& v) + { + if (v.hasType (DIAGNOSTIC_LIST)) target.handleNewDiagnosticList (v); + else if (v.hasType (ACTIVITY_LIST)) target.handleActivityListChanged (separateJoinedStrings (v [Ids::list])); + else if (v.hasType (Ids::CLASSLIST)) target.handleClassListChanged (v); + else if (v.hasType (BUILD_FAILED)) target.handleBuildFailed(); + else if (v.hasType (CHANGE_CODE)) target.handleChangeCode (v [Ids::position].toString(), v [Ids::text]); + else if (v.hasType (HIGHLIGHT_CODE)) target.handleHighlightCode (v [Ids::position].toString()); + else if (v.hasType (LAUNCHED)) target.handleAppLaunched(); + else if (v.hasType (APPQUIT)) target.handleAppQuit(); + else if (v.hasType (PING)) target.handlePing(); + else if (v.hasType (CRASH)) target.handleCrash (v [Ids::message]); + else if (v.hasType (KEY)) target.handleKeyPress (v[Ids::class_], KeyPress::createFromDescription (v[Ids::key])); + else if (v.hasType (QUIT_IDE)) target.handleCloseIDE(); + else if (v.hasType (MISSING_SYSTEM_HEADERS)) target.handleMissingSystemHeaders(); + else jassertfalse; + } + + template + static void dispatchToServer (MessageHandlerType& target, const ValueTree& v) + { + if (v.hasType (CLEAN_ALL)) target.handleCleanAll(); + else if (v.hasType (BUILDINFO)) target.handleNewBuildSettings (ProjectBuildInfo (v)); + else if (v.hasType (OPEN_PREVIEW)) target.handleOpenPreview (v[Ids::name], varToRect (v[Ids::bounds])); + else if (v.hasType (RELOAD)) target.handleReinstantiatePreviews(); + else if (v.hasType (LAUNCH_APP)) target.handleLaunchApp(); + else if (v.hasType (LIVE_FILE_CHANGES)) target.handleLiveFileChanges (v[Ids::file].toString(), getChangeArray (v)); + else if (v.hasType (LIVE_FILE_UPDATE)) target.handleLiveFileFullUpdate (v[Ids::file].toString(), v[Ids::text]); + else if (v.hasType (LIVE_FILE_RESET)) target.handleResetLiveFileContent (v[Ids::file].toString()); + else if (v.hasType (FOREGROUND)) target.handleProcessActivationState (v[Ids::parentActive]); + else if (v.hasType (PING)) target.handlePing(); + else jassertfalse; + } +} diff --git a/extras/Projucer/Source/LiveBuildEngine/projucer_CompileEngineClient.cpp b/extras/Projucer/Source/LiveBuildEngine/projucer_CompileEngineClient.cpp new file mode 100644 index 0000000000..46e82034ec --- /dev/null +++ b/extras/Projucer/Source/LiveBuildEngine/projucer_CompileEngineClient.cpp @@ -0,0 +1,899 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +#include "../jucer_Headers.h" +#include "../Application/jucer_Application.h" +#include "../Project Saving/jucer_ProjectExporter.h" +#include "projucer_MessageIDs.h" +#include "projucer_CppHelpers.h" +#include "projucer_SourceCodeRange.h" +#include "projucer_ClassDatabase.h" +#include "projucer_DiagnosticMessage.h" +#include "projucer_ProjectBuildInfo.h" +#include "projucer_ClientServerMessages.h" +#include "projucer_CompileEngineClient.h" +#include "../LiveBuildEngine/projucer_CompileEngineServer.h" + +#ifndef RUN_CLANG_IN_CHILD_PROCESS + #error +#endif + + +//============================================================================== +namespace ProjectProperties +{ + const Identifier liveSettingsType ("LIVE_SETTINGS"); + #if JUCE_MAC + const Identifier liveSettingsSubtype ("OSX"); + #elif JUCE_WINDOWS + const Identifier liveSettingsSubtype ("WINDOWS"); + #elif JUCE_LINUX + const Identifier liveSettingsSubtype ("LINUX"); + #endif + + static ValueTree getLiveSettings (Project& project) + { + return project.getProjectRoot().getOrCreateChildWithName (liveSettingsType, nullptr) + .getOrCreateChildWithName (liveSettingsSubtype, nullptr); + } + + static const ValueTree getLiveSettingsConst (Project& project) + { + return project.getProjectRoot().getChildWithName (liveSettingsType) + .getChildWithName (liveSettingsSubtype); + } + + static Value getLiveSetting (Project& p, const Identifier& i) { return getLiveSettings (p).getPropertyAsValue (i, p.getUndoManagerFor (getLiveSettings (p))); } + static var getLiveSettingVar (Project& p, const Identifier& i) { return getLiveSettingsConst (p) [i]; } + + static Value getUserHeaderPathValue (Project& p) { return getLiveSetting (p, Ids::headerPath); } + static String getUserHeaderPathString (Project& p) { return getLiveSettingVar (p, Ids::headerPath); } + static Value getSystemHeaderPathValue (Project& p) { return getLiveSetting (p, Ids::systemHeaderPath); } + static String getSystemHeaderPathString (Project& p) { return getLiveSettingVar (p, Ids::systemHeaderPath); } + static Value getExtraDLLsValue (Project& p) { return getLiveSetting (p, Ids::extraDLLs); } + static String getExtraDLLsString (Project& p) { return getLiveSettingVar (p, Ids::extraDLLs); } + static Value getExtraCompilerFlagsValue (Project& p) { return getLiveSetting (p, Ids::extraCompilerFlags); } + static String getExtraCompilerFlagsString (Project& p) { return getLiveSettingVar (p, Ids::extraCompilerFlags); } + static Value getExtraPreprocessorDefsValue (Project& p) { return getLiveSetting (p, Ids::defines); } + static String getExtraPreprocessorDefsString (Project& p) { return getLiveSettingVar (p, Ids::defines); } + + static File getProjucerTempFolder() + { + #if JUCE_MAC + return File ("~/Library/Caches/com.juce.projucer"); + #else + return File::getSpecialLocation (File::tempDirectory).getChildFile ("com.juce.projucer"); + #endif + } + + static File getCacheLocation (Project& project) + { + return getProjucerTempFolder() + .getChildFile ("Intermediate Files") + .getChildFile (project.getProjectFilenameRoot() + "_" + project.getProjectUID()); + } +} + +//============================================================================== +void LiveBuildProjectSettings::getLiveSettings (Project& project, PropertyListBuilder& props) +{ + using namespace ProjectProperties; + + props.addSearchPathProperty (getUserHeaderPathValue (project), "User header paths", "User header search paths."); + props.addSearchPathProperty (getSystemHeaderPathValue (project), "System header paths", "System header search paths."); + + props.add (new TextPropertyComponent (getExtraPreprocessorDefsValue (project), "Preprocessor Definitions", 32768, true), + "Extra preprocessor definitions. Use the form \"NAME1=value NAME2=value\", using whitespace or commas " + "to separate the items - to include a space or comma in a definition, precede it with a backslash."); + + props.add (new TextPropertyComponent (getExtraCompilerFlagsValue (project), "Extra compiler flags", 2048, true), + "Extra command-line flags to be passed to the compiler. This string can contain references to preprocessor" + " definitions in the form ${NAME_OF_DEFINITION}, which will be replaced with their values."); + + props.add (new TextPropertyComponent (getExtraDLLsValue (project), "Extra dynamic libraries", 2048, true), + "Extra dynamic libs that the running code may require. Use new-lines or commas to separate the items"); +} + +void LiveBuildProjectSettings::updateNewlyOpenedProject (Project&) { /* placeholder */ } + +bool LiveBuildProjectSettings::isBuildDisabled (Project& p) +{ + const bool defaultBuildDisabled = true; + return p.getStoredProperties().getBoolValue ("buildDisabled", defaultBuildDisabled); +} + +void LiveBuildProjectSettings::setBuildDisabled (Project& p, bool b) { p.getStoredProperties().setValue ("buildDisabled", b); } +bool LiveBuildProjectSettings::areWarningsDisabled (Project& p) { return p.getStoredProperties().getBoolValue ("warningsDisabled"); } +void LiveBuildProjectSettings::setWarningsDisabled (Project& p, bool b) { p.getStoredProperties().setValue ("warningsDisabled", b); } + +//============================================================================== +class ClientIPC : public MessageHandler, + private InterprocessConnection, + private Timer +{ +public: + ClientIPC (CompileEngineChildProcess& cp) + : InterprocessConnection (true), owner (cp) + { + launchServer(); + } + + ~ClientIPC() + { + #if RUN_CLANG_IN_CHILD_PROCESS + if (childProcess.isRunning()) + killServerPolitely(); + #endif + } + + void launchServer() + { + DBG ("Client: Launching Server..."); + const String pipeName ("ipc_" + String::toHexString (Random().nextInt64())); + + const String command (createCommandLineForLaunchingServer (pipeName, + owner.project.getProjectUID(), + ProjectProperties::getCacheLocation (owner.project))); + + #if RUN_CLANG_IN_CHILD_PROCESS + if (! childProcess.start (command)) + { + jassertfalse; + } + #else + server = createClangServer (command); + #endif + + bool ok = connectToPipe (pipeName, 10000); + jassert (ok); + + if (ok) + MessageTypes::sendPing (*this); + + startTimer (serverKeepAliveTimeout); + } + + void killServerPolitely() + { + DBG ("Client: Killing Server..."); + MessageTypes::sendQuit (*this); + + disconnect(); + stopTimer(); + + #if RUN_CLANG_IN_CHILD_PROCESS + childProcess.waitForProcessToFinish (5000); + #endif + + killServerWithoutMercy(); + } + + void killServerWithoutMercy() + { + disconnect(); + stopTimer(); + + #if RUN_CLANG_IN_CHILD_PROCESS + childProcess.kill(); + #else + destroyClangServer (server); + server = nullptr; + #endif + } + + void connectionMade() + { + DBG ("Client: connected"); + stopTimer(); + } + + void connectionLost() + { + DBG ("Client: disconnected"); + startTimer (100); + } + + bool sendMessage (const ValueTree& m) + { + return InterprocessConnection::sendMessage (MessageHandler::convertMessage (m)); + } + + void messageReceived (const MemoryBlock& message) + { + #if RUN_CLANG_IN_CHILD_PROCESS + startTimer (serverKeepAliveTimeout); + #else + stopTimer(); + #endif + MessageTypes::dispatchToClient (owner, MessageHandler::convertMessage (message)); + } + + enum { serverKeepAliveTimeout = 10000 }; + +private: + CompileEngineChildProcess& owner; + + #if RUN_CLANG_IN_CHILD_PROCESS + ChildProcess childProcess; + #else + void* server; + #endif + + void timerCallback() { owner.handleCrash (String()); } +}; + +//============================================================================== +class CompileEngineChildProcess::ChildProcess : private ValueTree::Listener, + private Timer +{ +public: + ChildProcess (CompileEngineChildProcess& proc, Project& p) + : owner (proc), project (p) + { + projectRoot = project.getProjectRoot(); + + restartServer(); + projectRoot.addListener (this); + openedOk = true; + } + + ~ChildProcess() + { + projectRoot.removeListener (this); + + if (isRunningApp && server != nullptr) + server->killServerWithoutMercy(); + + server = nullptr; + } + + void restartServer() + { + server = nullptr; + server = new ClientIPC (owner); + sendRebuild(); + } + + void sendRebuild() + { + stopTimer(); + + ProjectBuildInfo build; + + if (! doesProjectMatchSavedHeaderState (project)) + { + MessageTypes::sendNewBuild (*server, build); + + owner.errorList.resetToError ("Project structure does not match the saved headers! " + "Please re-save your project to enable compilation"); + return; + } + + build.setSystemIncludes (getSystemIncludePaths()); + build.setUserIncludes (getUserIncludes()); + + build.setGlobalDefs (getGlobalDefs (project)); + build.setCompileFlags (ProjectProperties::getExtraCompilerFlagsString (project).trim()); + build.setExtraDLLs (getExtraDLLs()); + build.setJuceModulesFolder (EnabledModuleList::findDefaultModulesFolder (project).getFullPathName()); + + build.setUtilsCppInclude (project.getAppIncludeFile().getFullPathName()); + + scanForProjectFiles (project, build); + + owner.updateAllEditors(); + + MessageTypes::sendNewBuild (*server, build); + } + + void cleanAll() + { + MessageTypes::sendCleanAll (*server); + sendRebuild(); + } + + void reinstantiatePreviews() + { + MessageTypes::sendReinstantiate (*server); + } + + bool launchApp() + { + MessageTypes::sendLaunchApp (*server); + return true; + } + + ScopedPointer server; + + bool openedOk = false; + bool isRunningApp = false; + +private: + CompileEngineChildProcess& owner; + Project& project; + ValueTree projectRoot; + + void projectStructureChanged() + { + startTimer (100); + } + + void timerCallback() override + { + sendRebuild(); + } + + void valueTreePropertyChanged (ValueTree&, const Identifier&) override { projectStructureChanged(); } + void valueTreeChildAdded (ValueTree&, ValueTree&) override { projectStructureChanged(); } + void valueTreeChildRemoved (ValueTree&, ValueTree&, int) override { projectStructureChanged(); } + void valueTreeParentChanged (ValueTree&) override { projectStructureChanged(); } + void valueTreeChildOrderChanged (ValueTree&, int, int) override {} + + static String getGlobalDefs (Project& proj) + { + String defs (ProjectProperties::getExtraPreprocessorDefsString (proj)); + + for (Project::ExporterIterator exporter (proj); exporter.next();) + if (exporter->canLaunchProject()) + defs << " " << exporter->getExporterIdentifierMacro() << "=1"; + + return defs; + } + + static void scanProjectItem (const Project::Item& projectItem, Array& compileUnits, Array& userFiles) + { + if (projectItem.isGroup()) + { + for (int i = 0; i < projectItem.getNumChildren(); ++i) + scanProjectItem (projectItem.getChild(i), compileUnits, userFiles); + + return; + } + + if (projectItem.shouldBeCompiled()) + { + const File f (projectItem.getFile()); + + if (f.exists()) + compileUnits.add (f); + } + + if (projectItem.shouldBeAddedToTargetProject() && ! projectItem.shouldBeAddedToBinaryResources()) + { + const File f (projectItem.getFile()); + + if (f.exists()) + userFiles.add (f); + } + } + + void scanForProjectFiles (Project& proj, ProjectBuildInfo& build) + { + Array compileUnits, userFiles; + scanProjectItem (proj.getMainGroup(), compileUnits, userFiles); + + { + OwnedArray modules; + proj.getModules().createRequiredModules (modules); + + for (Project::ExporterIterator exporter (proj); exporter.next();) + { + if (exporter->canLaunchProject()) + { + for (const LibraryModule* m : modules) + { + const File localModuleFolder = proj.getModules().shouldCopyModuleFilesLocally (m->moduleInfo.getID()).getValue() + ? proj.getLocalModuleFolder (m->moduleInfo.getID()) + : m->moduleInfo.getFolder(); + + m->findAndAddCompiledUnits (*exporter, nullptr, compileUnits); + } + + break; + } + } + } + + for (int i = 0; ; ++i) + { + const File binaryDataCpp (proj.getBinaryDataCppFile (i)); + if (! binaryDataCpp.exists()) + break; + + compileUnits.add (binaryDataCpp); + } + + for (int i = compileUnits.size(); --i >= 0;) + if (compileUnits.getReference(i).hasFileExtension (".r")) + compileUnits.remove (i); + + build.setFiles (compileUnits, userFiles); + } + + static bool doesProjectMatchSavedHeaderState (Project& project) + { + ValueTree liveModules (project.getProjectRoot().getChildWithName (Ids::MODULES)); + + ScopedPointer xml (XmlDocument::parse (project.getFile())); + + if (xml == nullptr || ! xml->hasTagName (Ids::JUCERPROJECT.toString())) + return false; + + ValueTree diskModules (ValueTree::fromXml (*xml).getChildWithName (Ids::MODULES)); + + return liveModules.isEquivalentTo (diskModules); + } + + StringArray getUserIncludes() + { + StringArray paths; + paths.add (project.getGeneratedCodeFolder().getFullPathName()); + paths.addArray (getSearchPathsFromString (ProjectProperties::getUserHeaderPathString (project))); + return convertSearchPathsToAbsolute (paths); + } + + StringArray getSystemIncludePaths() + { + StringArray paths; + paths.addArray (getSearchPathsFromString (ProjectProperties::getSystemHeaderPathString (project))); + + if (project.getProjectType().isAudioPlugin()) + { + paths.add (getAppSettings().getGlobalPath (Ids::vst2Path, TargetOS::getThisOS()).toString()); + paths.add (getAppSettings().getGlobalPath (Ids::vst3Path, TargetOS::getThisOS()).toString()); + } + + OwnedArray modules; + project.getModules().createRequiredModules (modules); + + for (auto* module : modules) + paths.addIfNotAlreadyThere (module->getFolder().getParentDirectory().getFullPathName()); + + return convertSearchPathsToAbsolute (paths); + } + + StringArray convertSearchPathsToAbsolute (const StringArray& paths) const + { + StringArray s; + const File root (project.getProjectFolder()); + + for (String p : paths) + s.add (root.getChildFile (p).getFullPathName()); + + return s; + } + + StringArray getExtraDLLs() + { + StringArray dlls; + dlls.addTokens (ProjectProperties::getExtraDLLsString (project), "\n\r,", StringRef()); + dlls.trim(); + dlls.removeEmptyStrings(); + return dlls; + } + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ChildProcess) +}; + +//============================================================================== +CompileEngineChildProcess::CompileEngineChildProcess (Project& p) + : project (p), + continuousRebuild (false) +{ + ProjucerApplication::getApp().openDocumentManager.addListener (this); + + createProcess(); + + errorList.setWarningsEnabled (! LiveBuildProjectSettings::areWarningsDisabled (project)); +} + +CompileEngineChildProcess::~CompileEngineChildProcess() +{ + ProjucerApplication::getApp().openDocumentManager.removeListener (this); + + process = nullptr; + lastComponentList.clear(); +} + +void CompileEngineChildProcess::createProcess() +{ + jassert (process == nullptr); + process = new ChildProcess (*this, project); + + if (! process->openedOk) + process = nullptr; + + updateAllEditors(); +} + +void CompileEngineChildProcess::cleanAll() +{ + if (process != nullptr) + process->cleanAll(); +} + +void CompileEngineChildProcess::openPreview (const ClassDatabase::Class& comp) +{ + if (process != nullptr) + { + MainWindow* projectWindow = nullptr; + OwnedArray& windows = ProjucerApplication::getApp().mainWindowList.windows; + + for (int i = 0; i < windows.size(); ++i) + { + if (MainWindow* w = windows[i]) + { + if (w->getProject() == &project) + { + projectWindow = w; + break; + } + } + } + + Rectangle mainWindowRect; + + if (projectWindow != nullptr) + mainWindowRect = projectWindow->getBounds(); + + MessageTypes::sendOpenPreview (*process->server, comp, mainWindowRect); + } +} + +void CompileEngineChildProcess::reinstantiatePreviews() +{ + if (process != nullptr) + process->reinstantiatePreviews(); +} + +void CompileEngineChildProcess::processActivationChanged (bool isForeground) +{ + if (process != nullptr) + MessageTypes::sendProcessActivationState (*process->server, isForeground); +} + +//============================================================================== +bool CompileEngineChildProcess::canLaunchApp() const +{ + return process != nullptr + && runningAppProcess == nullptr + && activityList.getNumActivities() == 0 + && errorList.getNumErrors() == 0; +} + +void CompileEngineChildProcess::launchApp() +{ + if (process != nullptr) + process->launchApp(); +} + +bool CompileEngineChildProcess::canKillApp() const +{ + return runningAppProcess != nullptr; +} + +void CompileEngineChildProcess::killApp() +{ + runningAppProcess = nullptr; +} + +void CompileEngineChildProcess::handleAppLaunched() +{ + runningAppProcess = process; + runningAppProcess->isRunningApp = true; + createProcess(); +} + +void CompileEngineChildProcess::handleAppQuit() +{ + DBG ("handleAppQuit"); + runningAppProcess = nullptr; +} + +//============================================================================== +struct CompileEngineChildProcess::Editor : private CodeDocument::Listener, + private Timer +{ + Editor (CompileEngineChildProcess& ccp, const File& f, CodeDocument& doc) + : owner (ccp), file (f), document (doc), transactionTimer (doc) + { + sendFullUpdate(); + document.addListener (this); + } + + ~Editor() + { + document.removeListener (this); + } + + void codeDocumentTextInserted (const String& newText, int insertIndex) override + { + CodeChange (Range (insertIndex, insertIndex), newText).addToList (pendingChanges); + startEditorChangeTimer(); + transactionTimer.stopTimer(); + + owner.lastComponentList.globalNamespace + .nudgeAllCodeRanges (file.getFullPathName(), insertIndex, newText.length()); + } + + void codeDocumentTextDeleted (int start, int end) override + { + CodeChange (Range (start, end), String()).addToList (pendingChanges); + startEditorChangeTimer(); + transactionTimer.stopTimer(); + + owner.lastComponentList.globalNamespace + .nudgeAllCodeRanges (file.getFullPathName(), start, start - end); + } + + void sendFullUpdate() + { + reset(); + + if (owner.process != nullptr) + MessageTypes::sendFileContentFullUpdate (*owner.process->server, file, document.getAllContent()); + } + + bool flushEditorChanges() + { + if (pendingChanges.size() > 0) + { + if (owner.process != nullptr && owner.process->server != nullptr) + MessageTypes::sendFileChanges (*owner.process->server, pendingChanges, file); + + reset(); + return true; + } + + stopTimer(); + return false; + } + + void reset() + { + stopTimer(); + pendingChanges.clear(); + } + + void startTransactionTimer() + { + transactionTimer.startTimer (1000); + } + + void startEditorChangeTimer() + { + startTimer (200); + } + + CompileEngineChildProcess& owner; + File file; + CodeDocument& document; + +private: + Array pendingChanges; + + void timerCallback() override + { + if (owner.continuousRebuild) + flushEditorChanges(); + else + stopTimer(); + } + + struct TransactionTimer : public Timer + { + TransactionTimer (CodeDocument& doc) : document (doc) {} + + void timerCallback() override + { + stopTimer(); + document.newTransaction(); + } + + CodeDocument& document; + }; + + TransactionTimer transactionTimer; +}; + +void CompileEngineChildProcess::editorOpened (const File& file, CodeDocument& document) +{ + editors.add (new Editor (*this, file, document)); +} + +bool CompileEngineChildProcess::documentAboutToClose (OpenDocumentManager::Document* document) +{ + for (int i = editors.size(); --i >= 0;) + { + if (document->getFile() == editors.getUnchecked(i)->file) + { + const File f (editors.getUnchecked(i)->file); + editors.remove (i); + + if (process != nullptr) + MessageTypes::sendHandleFileReset (*process->server, f); + } + } + + return true; +} + +void CompileEngineChildProcess::updateAllEditors() +{ + for (int i = editors.size(); --i >= 0;) + editors.getUnchecked(i)->sendFullUpdate(); +} + +//============================================================================== +void CompileEngineChildProcess::handleCrash (const String& message) +{ + Logger::writeToLog ("*** Child process crashed: " + message); + + if (crashHandler != nullptr) + crashHandler (message); +} + +void CompileEngineChildProcess::handleNewDiagnosticList (const ValueTree& l) { errorList.setList (l); } +void CompileEngineChildProcess::handleActivityListChanged (const StringArray& l) { activityList.setList (l); } + +void CompileEngineChildProcess::handleCloseIDE() +{ + if (JUCEApplication* app = JUCEApplication::getInstance()) + app->systemRequestedQuit(); +} + +void CompileEngineChildProcess::handleMissingSystemHeaders() +{ + if (ProjectContentComponent* p = findProjectContentComponent()) + p->handleMissingSystemHeaders(); +} + +void CompileEngineChildProcess::handleKeyPress (const String& className, const KeyPress& key) +{ + ApplicationCommandManager& commandManager = ProjucerApplication::getCommandManager(); + + CommandID command = commandManager.getKeyMappings()->findCommandForKeyPress (key); + + if (command == StandardApplicationCommandIDs::undo) + { + handleUndoInEditor (className); + } + else if (command == StandardApplicationCommandIDs::redo) + { + handleRedoInEditor (className); + } + else if (ApplicationCommandTarget* const target = ApplicationCommandManager::findTargetForComponent (findProjectContentComponent())) + { + commandManager.setFirstCommandTarget (target); + commandManager.getKeyMappings()->keyPressed (key, findProjectContentComponent()); + commandManager.setFirstCommandTarget (nullptr); + } +} + +void CompileEngineChildProcess::handleUndoInEditor (const String& /*className*/) +{ +} + +void CompileEngineChildProcess::handleRedoInEditor (const String& /*className*/) +{ +} + +void CompileEngineChildProcess::handleClassListChanged (const ValueTree& newList) +{ + lastComponentList = ClassDatabase::ClassList::fromValueTree (newList); + activityList.sendClassListChangedMessage (lastComponentList); +} + +void CompileEngineChildProcess::handleBuildFailed() +{ + if (errorList.getNumErrors() > 0) + ProjucerApplication::getCommandManager().invokeDirectly (CommandIDs::showBuildTab, true); + + ProjucerApplication::getCommandManager().commandStatusChanged(); +} + +void CompileEngineChildProcess::handleChangeCode (const SourceCodeRange& location, const String& newText) +{ + if (Editor* ed = getOrOpenEditorFor (location.file)) + { + if (ed->flushEditorChanges()) + return; // client-side editor changes were pending, so deal with them first, and discard + // the incoming change, whose position may now be wrong. + + ed->document.deleteSection (location.range.getStart(), location.range.getEnd()); + ed->document.insertText (location.range.getStart(), newText); + + // deliberately clear the messages that we just added, to avoid these changes being + // sent to the server (which will already have processed the same ones locally) + ed->reset(); + ed->startTransactionTimer(); + } +} + +void CompileEngineChildProcess::handlePing() +{ +} + +//============================================================================== +void CompileEngineChildProcess::setContinuousRebuild (bool b) +{ + continuousRebuild = b; +} + +void CompileEngineChildProcess::flushEditorChanges() +{ + for (Editor* ed : editors) + ed->flushEditorChanges(); +} + +ProjectContentComponent* CompileEngineChildProcess::findProjectContentComponent() const +{ + for (MainWindow* mw : ProjucerApplication::getApp().mainWindowList.windows) + if (mw->getProject() == &project) + return mw->getProjectContentComponent(); + + return nullptr; +} + +CompileEngineChildProcess::Editor* CompileEngineChildProcess::getOrOpenEditorFor (const File& file) +{ + for (Editor* ed : editors) + if (ed->file == file) + return ed; + + if (ProjectContentComponent* pcc = findProjectContentComponent()) + if (pcc->showEditorForFile (file, false)) + return getOrOpenEditorFor (file); + + return nullptr; +} + +void CompileEngineChildProcess::handleHighlightCode (const SourceCodeRange& location) +{ + ProjectContentComponent* pcc = findProjectContentComponent(); + + if (pcc != nullptr && pcc->showEditorForFile (location.file, false)) + { + SourceCodeEditor* sce = dynamic_cast (pcc->getEditorComponent()); + + if (sce != nullptr && sce->editor != nullptr) + { + sce->highlight (location.range, true); + + Process::makeForegroundProcess(); + + CodeEditorComponent& ed = *sce->editor; + ed.getTopLevelComponent()->toFront (false); + ed.grabKeyboardFocus(); + } + } +} + +void CompileEngineChildProcess::cleanAllCachedFilesForProject (Project& p) +{ + File cacheFolder (ProjectProperties::getCacheLocation (p)); + + if (cacheFolder.isDirectory()) + cacheFolder.deleteRecursively(); +} diff --git a/extras/Projucer/Source/LiveBuildEngine/projucer_CompileEngineClient.h b/extras/Projucer/Source/LiveBuildEngine/projucer_CompileEngineClient.h new file mode 100644 index 0000000000..5b67d2ba45 --- /dev/null +++ b/extras/Projucer/Source/LiveBuildEngine/projucer_CompileEngineClient.h @@ -0,0 +1,171 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +#ifndef __PROJUCER_CLANGCLIENT_H_5AE7396F__ +#define __PROJUCER_CLANGCLIENT_H_5AE7396F__ + +#include "projucer_ActivityList.h" +#include "projucer_ErrorList.h" +class Project; + +//============================================================================== +class CompileEngineChildProcess : public ReferenceCountedObject, + private OpenDocumentManager::DocumentCloseListener +{ +public: + CompileEngineChildProcess (Project&); + ~CompileEngineChildProcess(); + + bool openedOk() const { return process != nullptr; } + + void editorOpened (const File& file, CodeDocument& document); + bool documentAboutToClose (OpenDocumentManager::Document*) override; + + void cleanAll(); + void openPreview (const ClassDatabase::Class&); + void reinstantiatePreviews(); + void processActivationChanged (bool isForeground); + + bool canLaunchApp() const; + void launchApp(); + bool canKillApp() const; + void killApp(); + + const ClassDatabase::ClassList& getComponentList() const { return lastComponentList; } + + void setContinuousRebuild (bool continuousBuild); + void flushEditorChanges(); + + static void cleanAllCachedFilesForProject (Project&); + + Project& project; + ActivityList activityList; + ErrorList errorList; + + std::function crashHandler; + + //============================================================================== + // from server.. + void handleNewDiagnosticList (const ValueTree& newList); + void handleClearErrors(); + void handleActivityListChanged (const StringArray&); + void handleClassListChanged (const ValueTree& newList); + void handleBuildFailed(); + void handleChangeCode (const SourceCodeRange& location, const String& newText); + void handleAppLaunched(); + void handleAppQuit(); + void handleHighlightCode (const SourceCodeRange& location); + void handlePing(); + void handleCrash (const String& message); + void handleCloseIDE(); + void handleKeyPress (const String& className, const KeyPress& key); + void handleUndoInEditor (const String& className); + void handleRedoInEditor (const String& className); + void handleMissingSystemHeaders(); + + typedef ReferenceCountedObjectPtr Ptr; + +private: + //============================================================================== + class ChildProcess; + ScopedPointer process, runningAppProcess; + ClassDatabase::ClassList lastComponentList; + bool continuousRebuild; + + struct Editor; + OwnedArray editors; + void updateAllEditors(); + + void createProcess(); + Editor* getOrOpenEditorFor (const File&); + ProjectContentComponent* findProjectContentComponent() const; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (CompileEngineChildProcess) +}; + +//============================================================================== +struct ChildProcessCache +{ + ChildProcessCache() {} + + CompileEngineChildProcess::Ptr getExisting (Project& project) const noexcept + { + for (CompileEngineChildProcess* p : processes) + if (&(p->project) == &project) + return p; + + return nullptr; + } + + CompileEngineChildProcess::Ptr getOrCreate (Project& project) + { + CompileEngineChildProcess::Ptr p (getExisting (project)); + + if (p == nullptr) + { + p = new CompileEngineChildProcess (project); + tellNewProcessAboutExistingEditors (p); + processes.add (p); + } + + return p; + } + + static void tellNewProcessAboutExistingEditors (CompileEngineChildProcess* process) + { + OpenDocumentManager& odm = ProjucerApplication::getApp().openDocumentManager; + + for (int i = odm.getNumOpenDocuments(); --i >= 0;) + if (SourceCodeDocument* d = dynamic_cast (odm.getOpenDocument (i))) + process->editorOpened (d->getFile(), d->getCodeDocument()); + } + + void removeOrphans() + { + for (int i = processes.size(); --i >= 0;) + if (processes.getObjectPointerUnchecked (i)->getReferenceCount() <= 1) + processes.remove (i); + } + +private: + ReferenceCountedArray processes; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ChildProcessCache) +}; + +//============================================================================== +struct LiveBuildProjectSettings +{ + static void getLiveSettings (Project&, PropertyListBuilder&); + static void updateNewlyOpenedProject (Project& p); + + static bool isBuildDisabled (Project&); + static void setBuildDisabled (Project&, bool); + + static bool areWarningsDisabled (Project&); + static void setWarningsDisabled (Project&, bool); +}; + + +#endif // __PROJUCER_CLANGCLIENT_H_5AE7396F__ diff --git a/extras/Projucer/Source/LiveBuildEngine/projucer_CompileEngineDLL.h b/extras/Projucer/Source/LiveBuildEngine/projucer_CompileEngineDLL.h new file mode 100644 index 0000000000..2d4b909128 --- /dev/null +++ b/extras/Projucer/Source/LiveBuildEngine/projucer_CompileEngineDLL.h @@ -0,0 +1,186 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +#include "projucer_LiveCodeBuilderDLL.h" + + +struct CompileEngineDLL +{ + CompileEngineDLL() + { + File f = findDLLFile(); + + if (f != File() && dll.open (f.getLinkedTarget().getFullPathName())) + { + #define INIT_LIVE_DLL_FN(name, returnType, params) name = (name##_type) dll.getFunction (#name); + LIVE_DLL_FUNCTIONS (INIT_LIVE_DLL_FN); + #undef INIT_LIVE_DLL_FN + } + } + + ~CompileEngineDLL() + { + shutdown(); + } + + void initialise (CrashCallbackFunction crashFn, QuitCallbackFunction quitFn, bool setupSignals) + { + if (isLoaded()) + projucer_initialise (crashFn, quitFn, setPropertyCallback, getPropertyCallback, setupSignals); + } + + void shutdown() + { + if (isLoaded()) + projucer_shutdown(); + } + + bool isLoaded() const + { + #define CHECK_LIVE_DLL_FN(name, returnType, params) if (name == nullptr) return false; + LIVE_DLL_FUNCTIONS (CHECK_LIVE_DLL_FN); + #undef CHECK_LIVE_DLL_FN + + return projucer_getVersion() == requiredVersion; + } + + #define DECLARE_LIVE_DLL_FN(name, returnType, params) \ + typedef returnType (*name##_type) params; \ + name##_type name = nullptr; + + LIVE_DLL_FUNCTIONS (DECLARE_LIVE_DLL_FN); + + #undef DECLARE_LIVE_DLL_FN + + static String getDLLName() + { + #if JUCE_MAC + return "JUCECompileEngine.dylib"; + #elif JUCE_LINUX + return "JUCECompileEngine.so"; + #elif JUCE_WINDOWS + return "JUCECompileEngine.dll"; + #else + #error + return "JUCECompileEngine.so"; + #endif + } + + static bool isDLLFile (const File& f) + { + return f.getFileName().equalsIgnoreCase (getDLLName()) && f.exists(); + } + + static File findDLLFile() + { + File appFile = File::getSpecialLocation (File::currentApplicationFile); + + #if JUCE_MAC + // Look in the app bundle.. + for (DirectoryIterator i (appFile, true, "*", File::findFilesAndDirectories); i.next();) + if (isDLLFile (i.getFile())) + return i.getFile(); + + { + // Try in Application Support.. + File f = File ("~/Library/Application Support/Projucer").getChildFile (getDLLName()); + if (isDLLFile (f)) + return f; + + f = File ("/Library/Application Support/Projucer").getChildFile (getDLLName()); + if (isDLLFile (f)) + return f; + } + + #elif JUCE_WINDOWS + { + // Look in the application folder + File f = appFile.getParentDirectory().getChildFile (getDLLName()); + if (isDLLFile (f)) + return f; + } + #elif JUCE_LINUX + // TODO? + #else + #error + #endif + + { + // Look for a DLL in extras/Projucer/Builds + File f = appFile.getParentDirectory(); + + for (int i = 5; --i >= 0;) + { + if (f.getFileName().equalsIgnoreCase ("Builds") + && f.getParentDirectory().getFileName().equalsIgnoreCase ("Projucer")) + { + f = f.getSiblingFile (getDLLName()); + if (isDLLFile (f)) + return f; + + break; + } + + f = f.getParentDirectory(); + } + } + + // See if there's one in the same folder as the app... + File f = appFile.getSiblingFile (getDLLName()); + if (isDLLFile (f)) + return f; + + // Look in some common folders as a last resort.. + f = File::getSpecialLocation (File::userHomeDirectory).getChildFile (getDLLName()); + if (isDLLFile (f)) + return f; + + f = File::getSpecialLocation (File::userDocumentsDirectory).getChildFile (getDLLName()); + if (isDLLFile (f)) + return f; + + return File(); + } + +private: + DynamicLibrary dll; + + enum { requiredVersion = 1 }; + + static void setPropertyCallback (const char* key, const char* value) + { + if (String (key).isNotEmpty()) + getGlobalProperties().setValue (key, value); + else + jassertfalse; + } + + static void getPropertyCallback (const char* key, char* value, size_t size) + { + jassert (getGlobalProperties().getValue (key).getNumBytesAsUTF8() < size); + + value[0] = 0; + getGlobalProperties().getValue (key).copyToUTF8 (value, size); + } +}; diff --git a/extras/Projucer/Source/LiveBuildEngine/projucer_CompileEngineServer.cpp b/extras/Projucer/Source/LiveBuildEngine/projucer_CompileEngineServer.cpp new file mode 100644 index 0000000000..9cfc99a358 --- /dev/null +++ b/extras/Projucer/Source/LiveBuildEngine/projucer_CompileEngineServer.cpp @@ -0,0 +1,308 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +#include "../jucer_Headers.h" +#include "../Utility/jucer_PresetIDs.h" +#include "../Utility/jucer_FileHelpers.h" +#include "../Application/jucer_AppearanceSettings.h" +#include "../Application/jucer_Application.h" +#include "../Utility/jucer_CodeHelpers.h" +#include "projucer_CompileEngineDLL.h" +#include "projucer_MessageIDs.h" +#include "projucer_CppHelpers.h" +#include "projucer_SourceCodeRange.h" +#include "projucer_ClassDatabase.h" +#include "projucer_DiagnosticMessage.h" +#include "projucer_ProjectBuildInfo.h" +#include "projucer_ClientServerMessages.h" + +#if JUCE_LINUX + #include + #include +#endif + +#ifndef RUN_CLANG_IN_CHILD_PROCESS + #error +#endif + +#if RUN_CLANG_IN_CHILD_PROCESS + static bool parentProcessHasExited(); +#endif + +#if JUCE_WINDOWS + static void setParentProcessID (int); + static int getCurrentProcessID(); +#endif + + +//============================================================================== +/** Detects whether this process has hung, and kills it if so. */ +struct ZombiePatrol : private Thread, + private AsyncUpdater, + private Timer +{ + ZombiePatrol (MessageHandler& mh) + : Thread ("Ping"), owner (mh) + { + startThread (2); + startTimer (1000); + } + + ~ZombiePatrol() + { + stopThread (1000); + } + +private: + MessageHandler& owner; + int failedPings = 0; + + void run() override + { + while (! threadShouldExit()) + { + #if RUN_CLANG_IN_CHILD_PROCESS + if (parentProcessHasExited()) + { + killProcess(); + break; + } + #endif + + wait (1000); + } + } + + void handleAsyncUpdate() override + { + DBG ("Server: quitting"); + stopTimer(); + ProjucerApplication::getApp().systemRequestedQuit(); + } + + void timerCallback() override + { + if (! MessageTypes::sendPing (owner)) + { + if (++failedPings == 10) + { + killProcess(); + return; + } + } + else + { + failedPings = 0; + } + } + + void killProcess() + { + triggerAsyncUpdate(); // give the messagequeue a chance to do things cleanly. + static UnstoppableKillerThread* k = new UnstoppableKillerThread(); // (allowed to leak, but static so only one is created) + ignoreUnused (k); + } + + struct UnstoppableKillerThread : public Thread + { + UnstoppableKillerThread() : Thread ("Killer") { startThread(); } + + void run() override + { + wait (15000); + + if (! threadShouldExit()) + Process::terminate(); + } + }; +}; + +//============================================================================== +class ServerIPC : public InterprocessConnection, + public MessageHandler +{ +public: + ServerIPC (const StringArray& info) + : InterprocessConnection (true), liveCodeBuilder (nullptr) + { + if (! createPipe (info[0], -1)) + { + Logger::writeToLog ("*** Couldn't create pipe!"); + ProjucerApplication::getApp().systemRequestedQuit(); + return; + } + + if (dll.isLoaded()) + liveCodeBuilder = dll.projucer_createBuilder (sendMessageCallback, this, info[1].toRawUTF8(), info[2].toRawUTF8()); + + #if JUCE_WINDOWS + setParentProcessID (info[3].getHexValue32()); + #endif + + zombieKiller = new ZombiePatrol (*this); + } + + ~ServerIPC() + { + zombieKiller = nullptr; + + if (dll.isLoaded()) + dll.projucer_deleteBuilder (liveCodeBuilder); + + dll.shutdown(); + + DBG ("Server: finished closing down"); + } + + void connectionMade() override + { + DBG ("Server: client connected"); + } + + void connectionLost() override + { + Logger::writeToLog ("Server: client lost"); + JUCEApplication::quit(); + } + + void sendQuitMessageToIDE() + { + MessageTypes::sendShouldCloseIDE (*this); + } + + bool sendMessage (const ValueTree& m) override + { + return InterprocessConnection::sendMessage (MessageHandler::convertMessage (m)); + } + + void messageReceived (const MemoryBlock& message) override + { + jassert (dll.isLoaded()); + dll.projucer_sendMessage (liveCodeBuilder, message.getData(), message.getSize()); + } + + static bool sendMessageCallback (void* userInfo, const void* data, size_t dataSize) + { + return static_cast (static_cast (userInfo)) + ->sendMessage (MemoryBlock (data, dataSize)); + } + + CompileEngineDLL dll; + LiveCodeBuilder liveCodeBuilder; + ScopedPointer zombieKiller; +}; + +//============================================================================== +const char* commandPrefix = "--server:"; +const char* commandTokenSeparator = "\x01"; + +String createCommandLineForLaunchingServer (const String& pipeName, const String& projectUID, const File& cacheLocation) +{ + StringArray info; + info.add (pipeName); + info.add (projectUID); + info.add (cacheLocation.getFullPathName()); + + #if JUCE_WINDOWS + info.add (String::toHexString (getCurrentProcessID())); + #endif + + const File exe (File::getSpecialLocation (File::currentExecutableFile).getFullPathName()); + + return exe.getFullPathName() + " " + commandPrefix + info.joinIntoString (commandTokenSeparator); +} + +static ServerIPC* currentServer = nullptr; + +static void crashCallback (const char* message) +{ + if (currentServer != nullptr) + { + #if RUN_CLANG_IN_CHILD_PROCESS + MessageTypes::sendCrash (*currentServer, message); + Logger::writeToLog ("*** Crashed! " + String (message)); + #else + ignoreUnused (message); + jassertfalse; + #endif + + currentServer->disconnect(); + } +} + +static void quitCallback() +{ + ProjucerApplication::getApp().systemRequestedQuit(); +} + +void* createClangServer (const String& commandLine) +{ + StringArray info; + info.addTokens (commandLine.fromFirstOccurrenceOf (commandPrefix, false, false), commandTokenSeparator, ""); + + ScopedPointer ipc = new ServerIPC (info); + + if (ipc->dll.isLoaded()) + { + ipc->dll.initialise (crashCallback, quitCallback, (bool) RUN_CLANG_IN_CHILD_PROCESS); + + currentServer = ipc.release(); + return currentServer; + } + + return nullptr; +} + +void destroyClangServer (void* server) +{ + currentServer = nullptr; + delete static_cast (server); +} + +void sendQuitMessageToIDE (void* server) +{ + static_cast (server)->sendQuitMessageToIDE(); +} + +//============================================================================== +#if JUCE_WINDOWS + #define STRICT 1 + #define WIN32_LEAN_AND_MEAN 1 + #include + + static HANDLE parentProcessHandle = 0; + static void setParentProcessID (int pid) { parentProcessHandle = OpenProcess (SYNCHRONIZE, FALSE, (DWORD) pid); } + static int getCurrentProcessID() { return (int) GetCurrentProcessId(); } +#endif + +#if RUN_CLANG_IN_CHILD_PROCESS +bool parentProcessHasExited() +{ + #if JUCE_WINDOWS + return WaitForSingleObject (parentProcessHandle, 0) == WAIT_OBJECT_0; + #else + return getppid() == 1; + #endif +} +#endif diff --git a/extras/Projucer/Source/LiveBuildEngine/projucer_CompileEngineServer.h b/extras/Projucer/Source/LiveBuildEngine/projucer_CompileEngineServer.h new file mode 100644 index 0000000000..c2ce7a34c4 --- /dev/null +++ b/extras/Projucer/Source/LiveBuildEngine/projucer_CompileEngineServer.h @@ -0,0 +1,37 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +// These functions are called by our child process on startup, to launch +// the compilation server + +String createCommandLineForLaunchingServer (const String& pipeName, + const String& projectUID, + const File& cacheLocation); + +void* createClangServer (const String& commandLine); +void destroyClangServer (void*); + +// Called if our child process is asked to shutdown by the user, so it can pass +// that shutdown event up to the parent (IDE) process.. +void sendQuitMessageToIDE (void*); diff --git a/extras/Projucer/Source/LiveBuildEngine/projucer_ComponentListComp.h b/extras/Projucer/Source/LiveBuildEngine/projucer_ComponentListComp.h new file mode 100644 index 0000000000..e18a990f69 --- /dev/null +++ b/extras/Projucer/Source/LiveBuildEngine/projucer_ComponentListComp.h @@ -0,0 +1,253 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +class ComponentListComp : public TreePanelBase, + private ActivityList::Listener +{ +public: + ComponentListComp (CompileEngineChildProcess& c) + : TreePanelBase (&c.project, "compClassTreeState"), + owner (c) + { + setName ("Components"); + + tree.setRootItemVisible (false); + tree.setMultiSelectEnabled (false); + tree.setDefaultOpenness (true); + setRoot (new NamespaceItem (&owner.getComponentList().globalNamespace)); + + classListChanged (owner.getComponentList()); + + owner.activityList.addListener (this); + } + + ~ComponentListComp() + { + saveOpenness(); + owner.activityList.removeListener (this); + } + + void classListChanged (const ClassDatabase::ClassList& newClasses) override + { + static_cast (rootItem.get())->setNamespace (&newClasses.globalNamespace); + } + + void openPreview (const ClassDatabase::Class& comp) + { + owner.openPreview (comp); + } + + void showClassDeclaration (const ClassDatabase::Class& comp) + { + owner.handleHighlightCode (comp.getClassDeclarationRange()); + } + +private: + CompileEngineChildProcess& owner; + struct ClassItem; + + struct NamespaceItem : public JucerTreeViewBase + { + NamespaceItem (const ClassDatabase::Namespace* n) + { + setNamespace (n); + } + + void setNamespace (const ClassDatabase::Namespace* newNamespace) + { + namespaceToShow = newNamespace; + uniqueID = namespaceToShow != nullptr ? "ns_" + namespaceToShow->fullName : "null"; + refreshSubItems(); + } + + String getRenamingName() const override { return getDisplayName(); } + String getDisplayName() const override { return (namespaceToShow != nullptr ? namespaceToShow->name : String::empty) + "::"; } + void setName (const String&) override {} + bool isMissing() override { return false; } + Icon getIcon() const override { return Icon (getIcons().graph, getContrastingColour (Colours::darkred, 0.5f)); } + bool canBeSelected() const override { return true; } + bool mightContainSubItems() override { return namespaceToShow != nullptr && ! namespaceToShow->isEmpty(); } + String getUniqueName() const override { return uniqueID; } + + void addSubItems() override + { + if (namespaceToShow != nullptr) + { + Array newComps; + Array newNamespaces; + + for (const auto& c : namespaceToShow->components) + newComps.addSorted (*this, new ClassItem (c, *namespaceToShow)); + + for(const auto& n : namespaceToShow->namespaces) + { + if (n.getTotalClassesAndNamespaces() < 10) + createFlatItemList (n, newComps); + else + newNamespaces.add (new NamespaceItem (&n)); + } + + for (auto c : newComps) + addSubItem (c); + + for (auto n : newNamespaces) + addSubItem (n); + } + } + + void createFlatItemList (const ClassDatabase::Namespace& ns, Array& newComps) + { + for (const auto& c : ns.components) + newComps.addSorted (*this, new ClassItem (c, *namespaceToShow)); + + for (const auto& n : ns.namespaces) + createFlatItemList (n, newComps); + } + + static int compareElements (ClassItem* c1, ClassItem* c2) + { + return c1->comp.getName().compareIgnoreCase (c2->comp.getName()); + } + + private: + const ClassDatabase::Namespace* namespaceToShow = nullptr; + String uniqueID; // must be stored rather than calculated, in case the namespace obj is dangling + }; + + struct ClassItem : public JucerTreeViewBase + { + ClassItem (const ClassDatabase::Class& c, const ClassDatabase::Namespace& parentNS) + : comp (c), + displayName (comp.getName().substring (parentNS.fullName.length())) + { + } + + String getRenamingName() const override { return getDisplayName(); } + String getDisplayName() const override { return displayName; } + void setName (const String&) override {} + bool isMissing() override { return false; } + Icon getIcon() const override { return Icon (getIcons().box, getTextColour()); } + bool canBeSelected() const override { return true; } + bool mightContainSubItems() override { return false; } + String getUniqueName() const override { return comp.getName(); } + + bool canBeLaunched() const + { + return comp.getInstantiationFlags().canBeInstantiated(); + } + + void showClassDeclaration() const + { + if (ComponentListComp* clc = getOwnerView()->findParentComponentOfClass()) + clc->showClassDeclaration (comp); + } + + void launchEditor() const + { + if (ComponentListComp* clc = getOwnerView()->findParentComponentOfClass()) + clc->openPreview (comp); + } + + void itemClicked (const MouseEvent&) override + { + if (! canBeLaunched()) + if (ProjectContentComponent* const pcc = getOwnerView()->findParentComponentOfClass()) + pcc->showBubbleMessage (pcc->getLocalArea (getOwnerView(), getItemPosition (true)), + "Cannot create a live view:\n" + comp.getInstantiationFlags().getReasonForUnavailability()); + } + + void itemDoubleClicked (const MouseEvent&) override + { + if (canBeLaunched()) + launchEditor(); + else + showClassDeclaration(); + } + + void paintContent (Graphics& g, const Rectangle& area) override + { + g.setFont (getFont()); + g.setColour (getTextColour()); + + g.drawFittedText (getDisplayName(), + area.withWidth (area.getWidth() - 40), // to account for buttons + Justification::centredLeft, 1, 0.8f); + } + + Colour getTextColour() const + { + return getContrastingColour (comp.getInstantiationFlags().canBeInstantiated() ? 0.8f : 0.3f); + } + + Component* createItemComponent() override + { + Component* c = JucerTreeViewBase::createItemComponent(); + jassert (dynamic_cast (c) != nullptr); + + if (canBeLaunched()) + static_cast (c)->addRightHandButton (new ClassItemButton (*this, false)); + + static_cast (c)->addRightHandButton (new ClassItemButton (*this, true)); + + return c; + } + + struct ClassItemButton : public Button + { + ClassItemButton (const ClassItem& c, bool isShowCodeButton) + : Button (String()), classItem (c), isShowCode (isShowCodeButton) + { + setMouseCursor (MouseCursor::PointingHandCursor); + } + + void paintButton (Graphics& g, bool isMouseOverButton, bool isButtonDown) override + { + const Path& path = isShowCode ? getIcons().code + : getIcons().play; + + Colour col (classItem.getBackgroundColour().contrasting (isShowCode ? Colours::white + : Colours::lightgreen, 0.6f)); + + Icon (path, col.withAlpha (isButtonDown ? 1.0f : (isMouseOverButton ? 0.8f : 0.5f))) + .draw (g, getLocalBounds().reduced (getHeight() / 5).toFloat(), false); + } + + void clicked() override + { + if (isShowCode) + classItem.showClassDeclaration(); + else + classItem.launchEditor(); + } + + const ClassItem& classItem; + bool isShowCode; + }; + + const ClassDatabase::Class comp; + String displayName; + }; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ComponentListComp) +}; diff --git a/extras/Projucer/Source/LiveBuildEngine/projucer_CppHelpers.h b/extras/Projucer/Source/LiveBuildEngine/projucer_CppHelpers.h new file mode 100644 index 0000000000..829a7b659f --- /dev/null +++ b/extras/Projucer/Source/LiveBuildEngine/projucer_CppHelpers.h @@ -0,0 +1,278 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +struct CppParserHelpers +{ + static bool parseHexInt (const String& text, int64& result) + { + CppTokeniserFunctions::StringIterator i (text); + + if (CppTokeniserFunctions::parseHexLiteral (i)) + { + result = text.fromFirstOccurrenceOf ("x", false, true).getHexValue64(); + return true; + } + + return false; + } + + static bool parseOctalInt (const String& text, int64& result) + { + CppTokeniserFunctions::StringIterator it (text); + + if (CppTokeniserFunctions::parseOctalLiteral (it)) + { + result = 0; + + for (int i = 0; i < text.length(); ++i) + { + const int digit = text[i] - '0'; + + if (digit < 0 || digit > 7) + break; + + result = result * 8 + digit; + } + + return true; + } + + return false; + } + + static bool parseDecimalInt (const String& text, int64& result) + { + CppTokeniserFunctions::StringIterator i (text); + + if (CppTokeniserFunctions::parseDecimalLiteral (i)) + { + result = text.getLargeIntValue(); + return true; + } + + return false; + } + + static bool parseInt (const String& text, int64& result) + { + return parseHexInt (text, result) + || parseOctalInt (text, result) + || parseDecimalInt (text, result); + } + + static bool parseFloat (const String& text, double& result) + { + CppTokeniserFunctions::StringIterator i (text); + + if (CppTokeniserFunctions::parseFloatLiteral (i)) + { + result = text.getDoubleValue(); + return true; + } + + return false; + } + + static int parseSingleToken (const String& text) + { + if (text.isEmpty()) + return CPlusPlusCodeTokeniser::tokenType_error; + + CppTokeniserFunctions::StringIterator i (text); + i.skipWhitespace(); + const int tok = CppTokeniserFunctions::readNextToken (i); + i.skipWhitespace(); + i.skip(); + return i.isEOF() ? tok : CPlusPlusCodeTokeniser::tokenType_error; + } + + static String getIntegerSuffix (const String& s) { return s.retainCharacters ("lLuU"); } + static String getFloatSuffix (const String& s) { return s.retainCharacters ("fF"); } + + static String getReplacementStringInSameFormat (const String& old, double newValue) + { + { + CppTokeniserFunctions::StringIterator i (old); + + if (CppTokeniserFunctions::parseFloatLiteral (i)) + { + String s (newValue); + + if (! s.containsChar ('.')) + s += ".0"; + + return s + getFloatSuffix (old); + } + } + + return getReplacementStringInSameFormat (old, (int64) newValue); + } + + static String getReplacementStringInSameFormat (const String& old, int64 newValue) + { + { + CppTokeniserFunctions::StringIterator i (old); + + if (CppTokeniserFunctions::parseHexLiteral (i)) + { + String s ("0x" + String::toHexString (newValue) + getIntegerSuffix (old)); + + if (old.toUpperCase() == old) + s = s.toUpperCase(); + + return s; + } + } + + { + CppTokeniserFunctions::StringIterator i (old); + + if (CppTokeniserFunctions::parseDecimalLiteral (i)) + return String (newValue) + getIntegerSuffix (old); + } + + return old; + } + + // Given a type name which could be a smart pointer or other pointer/ref, this extracts + // the essential class name of the thing that it points to. + static String getSignificantClass (String cls) + { + int firstAngleBracket = cls.indexOfChar ('<'); + + if (firstAngleBracket > 0) + cls = cls.substring (firstAngleBracket + 1).upToLastOccurrenceOf (">", false, false).trim(); + + while (cls.endsWithChar ('*') || cls.endsWithChar ('&')) + cls = cls.dropLastCharacters (1).trim(); + + return cls; + } + + //============================================================================== + struct ValidCppIdentifierRestriction : public TextEditor::InputFilter + { + ValidCppIdentifierRestriction (bool allowTemplatesAndNamespaces) + : className (allowTemplatesAndNamespaces) {} + + String filterNewText (TextEditor& ed, const String& text) + { + String allowedChars ("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_"); + if (className) + allowedChars += "<>:"; + + if (ed.getHighlightedRegion().getStart() > 0) + allowedChars += "0123456789"; + + String s = text.retainCharacters (allowedChars); + + if (CPlusPlusCodeTokeniser::isReservedKeyword (ed.getText().replaceSection (ed.getHighlightedRegion().getStart(), + ed.getHighlightedRegion().getLength(), + s))) + return String::empty; + + return s; + } + + bool className; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ValidCppIdentifierRestriction) + }; +}; + +//============================================================================== +struct CodeChange +{ + CodeChange (Range r, const String& t) : range (r), text (t) + { + } + + bool mergeWith (const CodeChange& next) + { + if (text.isEmpty()) + { + if (next.text.isNotEmpty() + && next.range.isEmpty() + && next.range.getStart() == range.getStart()) + { + text = next.text; + return true; + } + + if (next.text.isEmpty()) + { + Range nextRange (next.range); + + if (nextRange.getStart() >= range.getStart()) + nextRange += range.getLength(); + else if (nextRange.getEnd() > range.getStart()) + nextRange.setEnd (nextRange.getEnd() + range.getLength()); + + if (range.intersects (nextRange) + || range.getEnd() == nextRange.getStart() + || range.getStart() == nextRange.getEnd()) + { + range = range.getUnionWith (nextRange); + return true; + } + } + } + else if (next.text.isEmpty()) + { + if (next.range.getEnd() == range.getStart()) + { + range.setStart (next.range.getStart()); + return true; + } + + if (next.range.getStart() == range.getStart() + text.length()) + { + range.setLength (range.getLength() + next.range.getLength()); + return true; + } + } + + return false; + } + + void addToList (Array& list) const + { + if (list.size() == 0 || ! list.getReference (list.size() - 1).mergeWith (*this)) + list.add (*this); + } + + Range range; + String text; +}; + +//============================================================================== +static inline String concatenateListOfStrings (const StringArray& s) +{ + return s.joinIntoString ("\x01"); +} + +static inline StringArray separateJoinedStrings (const String& s) +{ + return StringArray::fromTokens (s, "\x01", juce::StringRef()); +} diff --git a/extras/Projucer/Source/LiveBuildEngine/projucer_DiagnosticMessage.h b/extras/Projucer/Source/LiveBuildEngine/projucer_DiagnosticMessage.h new file mode 100644 index 0000000000..ec0fc57e7e --- /dev/null +++ b/extras/Projucer/Source/LiveBuildEngine/projucer_DiagnosticMessage.h @@ -0,0 +1,163 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +struct DiagnosticMessage +{ + DiagnosticMessage() = default; + + DiagnosticMessage (const DiagnosticMessage& other) + : associatedDiagnostic (createCopyIfNotNull (other.associatedDiagnostic.get())), + message (other.message), + mainFile (other.mainFile), + range (other.range), + type (other.type) + { + } + + DiagnosticMessage& operator= (const DiagnosticMessage& other) + { + associatedDiagnostic = createCopyIfNotNull (other.associatedDiagnostic.get()); + message = other.message; + mainFile = other.mainFile; + range = other.range; + type = other.type; + + return *this; + } + + enum Type + { + error = 0, + warning = 1, + note = 2 + }; + + ScopedPointer associatedDiagnostic; + String message; + String mainFile; + SourceCodeRange range; + Type type; + + bool isError() const noexcept { return type == error; } + bool isWarning() const noexcept { return type == warning; } + bool isNote() const noexcept { return type == note; } + + ValueTree toValueTree() const + { + ValueTree v (MessageTypes::DIAGNOSTIC); + v.setProperty (Ids::text, message, nullptr); + v.setProperty (Ids::file, mainFile, nullptr); + v.setProperty (Ids::range, range.toString(), nullptr); + v.setProperty (Ids::type, (int) type, nullptr); + + if (associatedDiagnostic != nullptr) + v.addChild (associatedDiagnostic->toValueTree(), 0, nullptr); + + return v; + } + + static DiagnosticMessage fromValueTree (const ValueTree& v) + { + DiagnosticMessage d; + d.message = v[Ids::text]; + d.mainFile = v[Ids::file]; + d.range = SourceCodeRange (v [Ids::range]); + d.type = (Type) static_cast (v[Ids::type]); + + auto associated = v.getChild (0); + if (associated.isValid()) + d.associatedDiagnostic = new DiagnosticMessage (fromValueTree (associated)); + + return d; + } + + bool operator== (const DiagnosticMessage& other) const noexcept + { + return range == other.range + && message == other.message + && mainFile == other.mainFile; + } + + bool operator!= (const DiagnosticMessage& other) const noexcept { return ! operator== (other); } +}; + +//============================================================================== +struct DiagnosticReceiver +{ + virtual ~DiagnosticReceiver() {} + virtual void handleDiagnostic (const DiagnosticMessage&) = 0; +}; + +//============================================================================== +struct DiagnosticList +{ + // after some research, it seems that notes never come on their own + // i.e. they always have a warning / error preceeding them + // so we can use this to keep notes and their associated notes together + // by keeping track of the last message + DiagnosticMessage lastMessage; + + ValueTree list { MessageTypes::DIAGNOSTIC_LIST }; + + void clear() + { + list = ValueTree { MessageTypes::DIAGNOSTIC_LIST }; + lastMessage = DiagnosticMessage(); + } + + void add (DiagnosticMessage m) + { + if (m.isNote()) + { + if (lastMessage.message.isEmpty()) + return; // seems to happen sometimes, but with seemingly duplicated messages (?) + + m.associatedDiagnostic = new DiagnosticMessage (lastMessage); + } + else + { + lastMessage = m; + } + + list.addChild (m.toValueTree(), -1, nullptr); + } + + void add (const DiagnosticList& l) + { + jassert (l.list != list); + + for (int i = 0; i < l.list.getNumChildren(); ++i) + list.addChild (l.list.getChild(i).createCopy(), -1, nullptr); + } + + const ValueTree& toValueTree() const noexcept + { + return list; + } + + void loadFromChildOfValueTree (ValueTree& parent) + { + list = parent.getChildWithName (MessageTypes::DIAGNOSTIC_LIST).createCopy(); + } +}; diff --git a/extras/Projucer/Source/LiveBuildEngine/projucer_ErrorList.h b/extras/Projucer/Source/LiveBuildEngine/projucer_ErrorList.h new file mode 100644 index 0000000000..82b05777b8 --- /dev/null +++ b/extras/Projucer/Source/LiveBuildEngine/projucer_ErrorList.h @@ -0,0 +1,115 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +struct ErrorList : public ChangeBroadcaster +{ + ErrorList() : warningsEnabled (true) {} + + void takeCopy (Array& dest) const + { + checkThread(); + + if (warningsEnabled) + { + dest = messages; + } + else + { + for (DiagnosticMessage& d : messages) + if (d.isError()) + dest.add (d); + } + } + + void resetToError (const String& message) + { + DiagnosticMessage m; + m.message = message; + m.type = DiagnosticMessage::error; + + DiagnosticList list; + list.add (m); + setList (list.toValueTree()); + } + + void setList (const ValueTree& newList) + { + checkThread(); + messages.clear(); + + for (int i = 0; i < newList.getNumChildren(); ++i) + messages.add (DiagnosticMessage::fromValueTree (newList.getChild(i))); + + sendChangeMessage(); + } + + bool isEmpty() const noexcept { return messages.size() == 0; } + + int getNumErrors() const + { + checkThread(); + + int num = 0; + for (const auto& m : messages) + if (m.isError()) + ++num; + + return num; + } + + int getNumWarnings() const + { + checkThread(); + + int num = 0; + + for (const auto& m : messages) + if (m.isWarning()) + ++num; + + return num; + } + + void setWarningsEnabled (bool enabled) + { + if (warningsEnabled != enabled) + { + warningsEnabled = enabled; + + if (messages.size() > 0) + sendChangeMessage(); + } + } + +private: + Array messages; + bool warningsEnabled; + + static void checkThread() + { + jassert (MessageManager::getInstance()->isThisTheMessageThread()); + } + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ErrorList) +}; diff --git a/extras/Projucer/Source/LiveBuildEngine/projucer_ErrorListComponent.h b/extras/Projucer/Source/LiveBuildEngine/projucer_ErrorListComponent.h new file mode 100644 index 0000000000..61181f926e --- /dev/null +++ b/extras/Projucer/Source/LiveBuildEngine/projucer_ErrorListComponent.h @@ -0,0 +1,350 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +class ErrorListComp : public TreePanelBase, + private ChangeListener +{ +public: + ErrorListComp (ErrorList& el) + : TreePanelBase (nullptr, String::empty), + errorList (el) + { + setName ("Errors and Warnings"); + setEmptyTreeMessage ("(No Messages)"); + + tree.setMultiSelectEnabled (false); + tree.setRootItemVisible (false); + setRoot (new ErrorRootTreeItem (errorList)); + + errorList.addChangeListener (this); + errorListChanged(); + } + + ~ErrorListComp() + { + errorList.removeChangeListener (this); + } + + void errorListChanged() + { + static_cast (rootItem.get())->refreshSubItems(); + } + + void moveBy (const int delta) + { + if (delta < 0) + if (TreeViewItem* selected = tree.getSelectedItem (0)) + if (selected->getRowNumberInTree() <= 1) + return; + + tree.moveSelectedRow (delta); + + if (dynamic_cast (tree.getSelectedItem (0)) == nullptr) + tree.moveSelectedRow (delta); + } + + void showNext() { moveBy (1); } + void showPrevious() { moveBy (-1); } + +private: + TreeView list; + ErrorList& errorList; + struct ErrorMessageTreeItem; + + void changeListenerCallback (ChangeBroadcaster*) override + { + errorListChanged(); + } + + static void limitNumberOfSubItems (TreeViewItem& item, const int maxSubItems) + { + while (item.getNumSubItems() > maxSubItems) + item.removeSubItem (item.getNumSubItems() - 1); + } + + //============================================================================== + class ErrorRootTreeItem : public JucerTreeViewBase + { + public: + ErrorRootTreeItem (ErrorList& el) : errorList (el) {} + + String getRenamingName() const override { return getDisplayName(); } + String getDisplayName() const override { return "Errors and Warnings"; } + void setName (const String&) override {} + bool isMissing() override { return false; } + Icon getIcon() const override { return Icon (getIcons().bug, getContrastingColour (0.8f)); } + bool canBeSelected() const override { return true; } + bool mightContainSubItems() override { return true; } + String getUniqueName() const override { return "errors"; } + + void refreshSubItems() + { + Array errors; + errorList.takeCopy (errors); + + StringArray files; + + for (const auto& m : errors) + { + files.addIfNotAlreadyThere (m.mainFile); + + if (m.associatedDiagnostic != nullptr) + files.addIfNotAlreadyThere (m.associatedDiagnostic->mainFile); + } + + limitNumberOfSubItems (*this, files.size()); + + int i = 0; + + for (const auto& f : files) + { + if (i >= getNumSubItems() || static_cast (getSubItem (i))->compileUnit != f) + { + limitNumberOfSubItems (*this, i); + addSubItem (new CompileUnitTreeItem (f)); + } + + static_cast (getSubItem (i))->refresh (errors); + ++i; + } + } + + private: + ErrorList& errorList; + }; + + //============================================================================== + struct CompileUnitTreeItem : public JucerTreeViewBase + { + CompileUnitTreeItem (const String& filename) : compileUnit (filename) {} + + String getRenamingName() const override { return getDisplayName(); } + String getDisplayName() const override { return File (compileUnit).exists() ? File (compileUnit).getFileName() : compileUnit; } + void setName (const String&) override {} + bool isMissing() override { return false; } + Icon getIcon() const override { return Icon (getIcons().bug, getContrastingColour (0.8f)); } + bool canBeSelected() const override { return true; } + bool mightContainSubItems() override { return true; } + String getUniqueName() const override { return String::toHexString (compileUnit.hashCode64()); } + void addSubItems() override {} + + void showOverlays() + { + for (int i = 0; i < getNumSubItems(); ++i) + if (auto* e = dynamic_cast (getSubItem (i))) + e->showOverlays(); + } + + ErrorMessageTreeItem* getItemForError (const DiagnosticMessage& m) const + { + for (int i = 0; i < getNumSubItems(); ++i) + if (auto* item = dynamic_cast (getSubItem(i))) + if (item->message == m) + return item; + + return nullptr; + } + + void refresh (const Array& allErrors) + { + clearSubItems(); + + for (const auto& error : allErrors) + if (error.mainFile == compileUnit && error.associatedDiagnostic == nullptr) + addSubItem (new ErrorMessageTreeItem (error)); + + for (const auto& error : allErrors) + if (error.mainFile == compileUnit && error.associatedDiagnostic != nullptr) + if (ErrorMessageTreeItem* parent = getItemForError (*error.associatedDiagnostic)) + parent->addSubItem (new ErrorMessageTreeItem (error)); + } + + void showDocument() override + { + if (ProjectContentComponent* pcc = getProjectContentComponent()) + if (File (compileUnit).exists()) + pcc->showEditorForFile (File (compileUnit), true); + } + + String compileUnit; + }; + + //============================================================================== + struct ErrorMessageTreeItem : public JucerTreeViewBase + { + ErrorMessageTreeItem (const DiagnosticMessage& m) + : message (m), itemHeight (14) + { + setOpenness (Openness::opennessClosed); + uniqueID << message.message << ':' << message.range.toString(); + } + + ~ErrorMessageTreeItem() + { + overlay.deleteAndZero(); + } + + String getRenamingName() const override { return getDisplayName(); } + String getDisplayName() const override { return message.message; } + void setName (const String&) override {} + bool isMissing() override { return false; } + Icon getIcon() const override { return Icon (message.isNote() ? getIcons().info + : getIcons().warning, getTextColour()); } + bool canBeSelected() const override { return true; } + bool mightContainSubItems() override { return getNumSubItems() != 0; } + String getUniqueName() const override { return uniqueID; } + Component* createItemComponent() override { return new ErrorItemComponent (*this); } + + struct ErrorItemComponent : public TreeItemComponent + { + ErrorItemComponent (ErrorMessageTreeItem& e) : TreeItemComponent (e) {} + + void resized() override + { + TreeItemComponent::resized(); + + const int width = getWidth(); + const int iconWidth = 25; // TODO: this shouldn't be a magic number + + if (width > iconWidth) + static_cast (item).updateTextLayout (getWidth() - 30 /* accounting for icon */); + } + + void lookAndFeelChanged() override + { + resized(); + } + }; + + void paintIcon (Graphics& g, Rectangle area) override + { + getIcon().draw (g, area.toFloat(), isIconCrossedOut()); + } + + void paintContent (Graphics& g, const Rectangle& area) override + { + text.draw (g, area.toFloat()); + } + + int getItemHeight() const override + { + return itemHeight; + } + + Colour getTextColour() const + { + Colour bkg (getOwnerView()->findColour (mainBackgroundColourId)); + + return bkg.contrasting (message.isError() ? Colours::darkred + : message.isWarning() ? Colours::yellow.darker() + : Colours::grey, 0.4f); + } + + void updateTextLayout (int width) + { + jassert (width >= 0); + + AttributedString s (message.message); + s.setFont (Font (12.0f)); + s.setColour (getTextColour()); + + text.createLayout (s, (float) width); + + const int newHeight = 2 + jmax (14, (int) text.getHeight()); + if (itemHeight != newHeight) + { + itemHeight = newHeight; + treeHasChanged(); + } + } + + SourceCodeEditor* getEditor() + { + if (ProjectContentComponent* pcc = getProjectContentComponent()) + { + const File file (File::createFileWithoutCheckingPath (message.range.file)); + + if (message.range.isValid() && file.exists() && pcc->showEditorForFile (file, false)) + { + if (SourceCodeEditor* ed = dynamic_cast (pcc->getEditorComponent())) + { + return ed; + } + } + } + + return nullptr; + } + + void showDocument() override + { + if (SourceCodeEditor* ed = getEditor()) + { + ed->grabKeyboardFocus(); + ed->highlight (message.range.range, false); + + if (auto cu = findCompileUnitParent()) + cu->showOverlays(); + } + } + + CompileUnitTreeItem* findCompileUnitParent() + { + for (TreeViewItem* p = getParentItem(); p != nullptr; p = p->getParentItem()) + if (auto cu = dynamic_cast (p)) + return cu; + + return nullptr; + } + + void showOverlays() + { + overlay.deleteAndZero(); + + if (ProjectContentComponent* pcc = getProjectContentComponent()) + { + if (SourceCodeEditor* ed = dynamic_cast (pcc->getEditorComponent())) + { + auto start = CodeDocument::Position (ed->editor->getDocument(), message.range.range.getStart()); + auto end = CodeDocument::Position (ed->editor->getDocument(), message.range.range.getEnd()); + + if (auto* ce = dynamic_cast (ed->editor.get())) + overlay = ce->addDiagnosticOverlay (start, end, message.type); + } + } + + for (int i = 0; i < getNumSubItems(); ++i) + if (auto* e = dynamic_cast (getSubItem (i))) + e->showOverlays(); + } + + DiagnosticMessage message; + + private: + String uniqueID; + TextLayout text; + int itemHeight; + Component::SafePointer overlay; + }; +}; diff --git a/extras/Projucer/Source/LiveBuildEngine/projucer_LiveCodeBuilderDLL.h b/extras/Projucer/Source/LiveBuildEngine/projucer_LiveCodeBuilderDLL.h new file mode 100644 index 0000000000..433126891b --- /dev/null +++ b/extras/Projucer/Source/LiveBuildEngine/projucer_LiveCodeBuilderDLL.h @@ -0,0 +1,60 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +#ifndef PROJUCER_LIVECODEBUILDERDLL_H_INCLUDED +#define PROJUCER_LIVECODEBUILDERDLL_H_INCLUDED + + +extern "C" +{ + typedef void* LiveCodeBuilder; + typedef bool (*SendMessageFunction) (void* userInfo, const void* data, size_t dataSize); + typedef void (*CrashCallbackFunction) (const char* crashDescription); + typedef void (*QuitCallbackFunction)(); + typedef void (*SetPropertyFunction) (const char* key, const char* value); + typedef void (*GetPropertyFunction) (const char* key, char* value, size_t size); + typedef void (*LoginCallbackFunction) (void* userInfo, const char* errorMessage, const char* username, const char* apiKey); + + // We've used an X macro to define the DLL functions rather than just declaring them, so that + // we can load the DLL and its functions dynamically and cope with it not being there. + // The CompileEngineDLL class is a wrapper that manages finding/loading the DLL and exposing + // these as callable functions. + #define LIVE_DLL_FUNCTIONS(X) \ + X (projucer_getVersion, int, ()) \ + X (projucer_initialise, void, (CrashCallbackFunction, QuitCallbackFunction, SetPropertyFunction, GetPropertyFunction, bool setupSignals)) \ + X (projucer_shutdown, void, ()) \ + X (projucer_createBuilder, LiveCodeBuilder, (SendMessageFunction, void* userInfo, const char* projectID, const char* cacheFolder)) \ + X (projucer_sendMessage, void, (LiveCodeBuilder, const void* messageData, size_t messageDataSize)) \ + X (projucer_deleteBuilder, void, (LiveCodeBuilder)) \ + X (projucer_login, void, (const char* userLoginName, const char* userPassword, bool remainLoggedIn, LoginCallbackFunction, void* callbackUserInfo)) \ + X (projucer_logout, void, ()) \ + X (projucer_isLoggedIn, bool, ()) \ + X (projucer_getLoginName, void, (char*)) \ + X (projucer_hasLicense, bool, (const char* featureName)) \ + X (projucer_hasLiveCodingLicence, bool, ()) + +} + + +#endif // PROJUCER_LIVECODEBUILDERDLL_H_INCLUDED diff --git a/extras/Projucer/Source/LiveBuildEngine/projucer_MessageIDs.h b/extras/Projucer/Source/LiveBuildEngine/projucer_MessageIDs.h new file mode 100644 index 0000000000..d5daa91584 --- /dev/null +++ b/extras/Projucer/Source/LiveBuildEngine/projucer_MessageIDs.h @@ -0,0 +1,59 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +#define DECLARE_ID(name) static const Identifier name (#name) + +namespace MessageTypes +{ + DECLARE_ID (PING); + DECLARE_ID (BUILDINFO); + DECLARE_ID (COMPILEUNIT); + DECLARE_ID (USERFILE); + DECLARE_ID (DIAGNOSTIC); + DECLARE_ID (DIAGNOSTIC_LIST); + + DECLARE_ID (ACTIVITY_LIST); + DECLARE_ID (MISSING_SYSTEM_HEADERS); + DECLARE_ID (BUILD_FAILED); + DECLARE_ID (CHANGE_CODE); + DECLARE_ID (HIGHLIGHT_CODE); + DECLARE_ID (CRASH); + DECLARE_ID (LAUNCHED); + DECLARE_ID (APPQUIT); + DECLARE_ID (KEY); + DECLARE_ID (QUIT_IDE); + + DECLARE_ID (CLEAN_ALL); + DECLARE_ID (OPEN_PREVIEW); + DECLARE_ID (RELOAD); + DECLARE_ID (LIVE_FILE_CHANGES); + DECLARE_ID (CHANGE); + DECLARE_ID (LIVE_FILE_UPDATE); + DECLARE_ID (LIVE_FILE_RESET); + DECLARE_ID (LAUNCH_APP); + DECLARE_ID (FOREGROUND); + DECLARE_ID (QUIT_SERVER); +} + +#undef DECLARE_ID diff --git a/extras/Projucer/Source/LiveBuildEngine/projucer_ProjectBuildInfo.h b/extras/Projucer/Source/LiveBuildEngine/projucer_ProjectBuildInfo.h new file mode 100644 index 0000000000..699ca549a4 --- /dev/null +++ b/extras/Projucer/Source/LiveBuildEngine/projucer_ProjectBuildInfo.h @@ -0,0 +1,93 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +struct ProjectBuildInfo +{ + ProjectBuildInfo() : tree (MessageTypes::BUILDINFO) {} + ProjectBuildInfo (const ValueTree& t) : tree (t) {} + + Array getCompileUnits() const + { + Array files; + + for (int i = 0; i < tree.getNumChildren(); ++i) + if (tree.getChild(i).hasType (MessageTypes::COMPILEUNIT)) + files.add (File (tree.getChild(i) [Ids::file].toString())); + + return files; + } + + // This is a list of all cpp and header files that are actually "user" code + // rather than system or internal files + Array getUserFiles() const + { + Array files; + + for (int i = 0; i < tree.getNumChildren(); ++i) + if (tree.getChild(i).hasType (MessageTypes::USERFILE)) + files.add (File (tree.getChild(i) [Ids::file].toString())); + + return files; + } + + void setFiles (const Array& compileUnits, const Array& allUserFiles) + { + for (const File& f : compileUnits) + { + ValueTree file (MessageTypes::COMPILEUNIT); + file.setProperty (Ids::file, f.getFullPathName(), nullptr); + tree.addChild (file, -1, nullptr); + } + + for (const File& f : allUserFiles) + { + ValueTree file (MessageTypes::USERFILE); + file.setProperty (Ids::file, f.getFullPathName(), nullptr); + tree.addChild (file, -1, nullptr); + } + } + + StringArray getSystemIncludes() const { return separateJoinedStrings (tree [Ids::systempath]); } + StringArray getUserIncludes() const { return separateJoinedStrings (tree [Ids::userpath]); } + + void setSystemIncludes (const StringArray& s) { tree.setProperty (Ids::systempath, concatenateListOfStrings (s), nullptr); } + void setUserIncludes (const StringArray& s) { tree.setProperty (Ids::userpath, concatenateListOfStrings (s), nullptr); } + + String getGlobalDefs() const { return tree [Ids::defines]; } + void setGlobalDefs (const String& defs) { tree.setProperty (Ids::defines, defs, nullptr); } + + String getCompileFlags() const { return tree [Ids::extraCompilerFlags]; } + void setCompileFlags (const String& f) { tree.setProperty (Ids::extraCompilerFlags, f, nullptr); } + + String getUtilsCppInclude() const { return tree [Ids::utilsCppInclude]; } + void setUtilsCppInclude (const String& s) { tree.setProperty (Ids::utilsCppInclude, s, nullptr); } + + String getJuceModulesFolder() const { return tree [Ids::juceModulesFolder]; } + void setJuceModulesFolder (const String& s) { tree.setProperty (Ids::juceModulesFolder, s, nullptr); } + + StringArray getExtraDLLs() const { return separateJoinedStrings (tree [Ids::extraDLLs]); } + void setExtraDLLs (const StringArray& s) { tree.setProperty (Ids::extraDLLs, concatenateListOfStrings (s), nullptr); } + + ValueTree tree; +}; diff --git a/extras/Projucer/Source/LiveBuildEngine/projucer_SourceCodeRange.h b/extras/Projucer/Source/LiveBuildEngine/projucer_SourceCodeRange.h new file mode 100644 index 0000000000..a6b0b5b9e3 --- /dev/null +++ b/extras/Projucer/Source/LiveBuildEngine/projucer_SourceCodeRange.h @@ -0,0 +1,100 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +struct SourceCodeRange +{ + SourceCodeRange() = default; + + SourceCodeRange (const String& f, int start, int end) + : file (f), range (start, end) + { + #if JUCE_WINDOWS + file = file.replaceCharacter ('/', '\\'); + #endif + } + + SourceCodeRange (const String& s) + { + String::CharPointerType colon1 (nullptr), colon2 (nullptr); + + for (auto p = s.getCharPointer(); ! p.isEmpty(); ++p) + { + if (*p == ':') + { + colon1 = colon2; + colon2 = p; + } + } + + if (colon1.getAddress() != nullptr && colon2.getAddress() != nullptr) + { + file = String (s.getCharPointer(), colon1); + range = Range ((colon1 + 1).getIntValue32(), + (colon2 + 1).getIntValue32()); + } + } + + String file; + Range range; + + bool isValid() const noexcept { return file.isNotEmpty() && range != Range(); } + + void nudge (const String& changedFile, const int insertPoint, const int delta) noexcept + { + if (range.getEnd() >= insertPoint && file == changedFile) + { + const int newEnd = range.getEnd() + delta; + int newStart = range.getStart(); + if (newStart > insertPoint) + newStart += delta; + + range = Range (newStart, newEnd); + } + } + + void fileContentChanged (const String& changedFile) noexcept + { + if (file == changedFile) + range = Range(); + } + + String toString() const + { + if (file.isEmpty() && range.isEmpty()) + return String::empty; + + return file + ":" + String (range.getStart()) + ":" + String (range.getEnd()); + } + + void writeToValueTree (ValueTree& v, const Identifier& prop) const + { + const String s (toString()); + + if (s.isNotEmpty()) + v.setProperty (prop, s, nullptr); + } + + bool operator== (const SourceCodeRange& other) const noexcept { return range == other.range && file == other.file; } + bool operator!= (const SourceCodeRange& other) const noexcept { return ! operator== (other); } +}; diff --git a/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_AndroidAnt.h b/extras/Projucer/Source/Project Saving/jucer_ProjectExport_AndroidAnt.h similarity index 91% rename from extras/Introjucer/Source/Project Saving/jucer_ProjectExport_AndroidAnt.h rename to extras/Projucer/Source/Project Saving/jucer_ProjectExport_AndroidAnt.h index 657870790a..8b929fdc84 100644 --- a/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_AndroidAnt.h +++ b/extras/Projucer/Source/Project Saving/jucer_ProjectExport_AndroidAnt.h @@ -2,7 +2,7 @@ ============================================================================== This file is part of the JUCE library. - Copyright (c) 2016 - ROLI Ltd. + 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) @@ -26,17 +26,25 @@ class AndroidAntProjectExporter : public AndroidProjectExporterBase { public: //============================================================================== - bool canLaunchProject() override { return false; } - bool launchProject() override { return false; } - bool isAndroid() const override { return true; } - bool usesMMFiles() const override { return false; } - bool canCopeWithDuplicateFiles() override { return false; } - bool isAndroidStudio() override { return false; } - bool isAndroidAnt() override { return true; } + bool canLaunchProject() override { return false; } + bool launchProject() override { return false; } + bool isAndroid() const override { return true; } + bool usesMMFiles() const override { return false; } + bool canCopeWithDuplicateFiles() override { return false; } + bool supportsUserDefinedConfigurations() const override { return true; } + + bool isAndroidStudio() const override { return false; } + bool isAndroidAnt() const override { return true; } + + bool supportsVST() const override { return false; } + bool supportsVST3() const override { return false; } + bool supportsAAX() const override { return false; } + bool supportsRTAS() const override { return false; } + bool supportsStandalone() const override { return false; } //============================================================================== - static const char* getName() { return "Android Ant Project"; } - static const char* getValueTreeTypeName() { return "ANDROID"; } + static const char* getName() { return "Android Ant Project"; } + static const char* getValueTreeTypeName() { return "ANDROID"; } //============================================================================== Value getNDKToolchainVersionValue() { return getSetting (Ids::toolset); } @@ -181,8 +189,8 @@ private: { MemoryOutputStream mo; - mo << "# Automatically generated makefile, created by the Introjucer" << newLine - << "# Don't edit this file! Your changes will be overwritten when you re-save the Introjucer project!" << newLine + mo << "# Automatically generated makefile, created by the Projucer" << newLine + << "# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project!" << newLine << newLine << "APP_STL := gnustl_static" << newLine << "APP_CPPFLAGS += " << getCppFlags() << newLine @@ -226,8 +234,8 @@ private: void writeAndroidMk (OutputStream& out, const Array& files) const { - out << "# Automatically generated makefile, created by the Introjucer" << newLine - << "# Don't edit this file! Your changes will be overwritten when you re-save the Introjucer project!" << newLine + out << "# Automatically generated makefile, created by the Projucer" << newLine + << "# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project!" << newLine << newLine << "LOCAL_PATH := $(call my-dir)" << newLine << newLine @@ -431,7 +439,7 @@ private: { MemoryOutputStream mo; mo << "# This file is used to override default values used by the Ant build system." << newLine - << "# It is automatically generated by the Introjucer - DO NOT EDIT IT or your changes will be lost!." << newLine + << "# It is automatically generated by the Projucer - DO NOT EDIT IT or your changes will be lost!." << newLine << newLine << "sdk.dir=" << escapeSpaces (replacePreprocessorDefs (getAllPreprocessorDefs(), getSDKPathString())) << newLine << "ndk.dir=" << escapeSpaces (replacePreprocessorDefs (getAllPreprocessorDefs(), getNDKPathString())) << newLine diff --git a/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_AndroidBase.h b/extras/Projucer/Source/Project Saving/jucer_ProjectExport_AndroidBase.h similarity index 91% rename from extras/Introjucer/Source/Project Saving/jucer_ProjectExport_AndroidBase.h rename to extras/Projucer/Source/Project Saving/jucer_ProjectExport_AndroidBase.h index f3761b7650..0b6db1e663 100644 --- a/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_AndroidBase.h +++ b/extras/Projucer/Source/Project Saving/jucer_ProjectExport_AndroidBase.h @@ -25,18 +25,34 @@ class AndroidProjectExporterBase : public ProjectExporter { public: - //========================================================================== + //============================================================================== AndroidProjectExporterBase (Project& p, const ValueTree& t) : ProjectExporter (p, t) { setEmptyPropertiesToDefaultValues(); } - //========================================================================== - virtual bool isAndroidStudio() = 0; - virtual bool isAndroidAnt() = 0; + //============================================================================== + bool isXcode() const override { return false; } + bool isVisualStudio() const override { return false; } + bool isCodeBlocks() const override { return false; } + bool isMakefile() const override { return false; } - //========================================================================== + bool isAndroid() const override { return true; } + bool isWindows() const override { return false; } + bool isLinux() const override { return false; } + bool isOSX() const override { return false; } + bool isiOS() const override { return false; } + + bool supportsVST() const override { return false; } + bool supportsVST3() const override { return false; } + bool supportsAAX() const override { return false; } + bool supportsRTAS() const override { return false; } + bool supportsAU() const override { return false; } + bool supportsAUv3() const override { return false; } + bool supportsStandalone() const override { return false; } + + //============================================================================== void setEmptyPropertiesToDefaultValues() { if (getVersionCodeString().isEmpty()) @@ -65,7 +81,7 @@ public: getScreenOrientationValue() = "unspecified"; } - //========================================================================== + //============================================================================== void create (const OwnedArray& modules) const override { const String package (getActivityClassPackage()); @@ -75,7 +91,13 @@ public: copyActivityJavaFiles (modules, target, package); } - //========================================================================== + //============================================================================== + void addPlatformSpecificSettingsForProjectType (const ProjectType&) override + { + // no-op. + } + + //============================================================================== // base properties Value getScreenOrientationValue() { return getSetting (Ids::androidScreenOrientation); } @@ -120,7 +142,7 @@ public: Value getThemeValue() { return getSetting (Ids::androidTheme); } String getThemeString() const { return settings [Ids::androidTheme]; } - //========================================================================== + //============================================================================== void createExporterProperties (PropertyListBuilder& props) override { createBaseExporterProperties (props); @@ -131,7 +153,7 @@ public: createOtherExporterProperties (props); } - //========================================================================== + //============================================================================== enum ScreenOrientation { unspecified = 1, @@ -168,10 +190,10 @@ public: "The number of the minimum version of the Android SDK that the app requires"); } - //========================================================================== + //============================================================================== virtual void createToolchainExporterProperties (PropertyListBuilder& props) = 0; // different for ant and Android Studio - //========================================================================== + //============================================================================== void createManifestExporterProperties (PropertyListBuilder& props) { props.add (new BooleanPropertyComponent (getInternetNeededValue(), "Internet Access", "Specify internet access permission in the manifest"), @@ -187,10 +209,10 @@ public: "A space-separated list of other permission flags that should be added to the manifest."); } - //========================================================================== + //============================================================================== virtual void createLibraryModuleExporterProperties (PropertyListBuilder& props) = 0; // different for ant and Android Studio - //========================================================================== + //============================================================================== void createCodeSigningExporterProperties (PropertyListBuilder& props) { props.add (new TextPropertyComponent (getKeyStoreValue(), "Key Signing: key.store", 2048, false), @@ -206,7 +228,7 @@ public: "The key.alias password, used when signing the package."); } - //========================================================================== + //============================================================================== void createOtherExporterProperties (PropertyListBuilder& props) { props.add (new TextPropertyComponent (getThemeValue(), "Android Theme", 256, false), diff --git a/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_AndroidStudio.h b/extras/Projucer/Source/Project Saving/jucer_ProjectExport_AndroidStudio.h similarity index 95% rename from extras/Introjucer/Source/Project Saving/jucer_ProjectExport_AndroidStudio.h rename to extras/Projucer/Source/Project Saving/jucer_ProjectExport_AndroidStudio.h index 056149a20e..37dc35fa7c 100644 --- a/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_AndroidStudio.h +++ b/extras/Projucer/Source/Project Saving/jucer_ProjectExport_AndroidStudio.h @@ -25,15 +25,16 @@ class AndroidStudioProjectExporter : public AndroidProjectExporterBase { public: - //========================================================================== - bool isAndroid() const override { return true; } + //============================================================================== bool usesMMFiles() const override { return false; } bool canCopeWithDuplicateFiles() override { return false; } - bool isAndroidStudio() override { return true; } - bool isAndroidAnt() override { return false; } + bool supportsUserDefinedConfigurations() const override { return false; } - static const char* getName() { return "Android Studio"; } - static const char* getValueTreeTypeName() { return "ANDROIDSTUDIO"; } + bool isAndroidStudio() const override { return true; } + bool isAndroidAnt() const override { return false; } + + static const char* getName() { return "Android Studio"; } + static const char* getValueTreeTypeName() { return "ANDROIDSTUDIO"; } static AndroidStudioProjectExporter* createForSettings (Project& project, const ValueTree& settings) { @@ -135,7 +136,7 @@ public: Value getBuildToolsVersionValue() { return getSetting (Ids::buildToolsVersion); } String getBuildToolsVersionString() const { return settings [Ids::buildToolsVersion]; } - //========================================================================== + //============================================================================== void create (const OwnedArray& modules) const override { const File targetFolder (getTargetFolder()); @@ -179,7 +180,7 @@ public: overwriteFileIfDifferentOrThrow (gradleProjectFolder.getChildFile (filePath), outStream); } - //========================================================================== + //============================================================================== static File findAndroidStudioExecutable() { #if JUCE_WINDOWS @@ -330,7 +331,7 @@ private: .replace ("~", homeFolder); } - //========================================================================== + //============================================================================== struct GradleElement { virtual ~GradleElement() {} @@ -340,7 +341,7 @@ private: static String indent (int indentLevel) { return String::repeatedString (" ", indentLevel); } }; - //========================================================================== + //============================================================================== struct GradleStatement : public GradleElement { GradleStatement (const String& s) : statement (s) {} @@ -349,7 +350,7 @@ private: String statement; }; - //========================================================================== + //============================================================================== struct GradleCppFlag : public GradleStatement { GradleCppFlag (const String& flag) @@ -386,7 +387,7 @@ private: : GradleStatement ("ldLibs.add(" + lib.quoted() + ")") {} }; - //========================================================================== + //============================================================================== struct GradleValue : public GradleElement { template @@ -421,7 +422,7 @@ private: : GradleValue (k, "new File(\"" + sanitisePath (path) + "\")") {} }; - //========================================================================== + //============================================================================== struct GradleObject : public GradleElement { GradleObject (const String& nm) : name (nm) {} @@ -473,7 +474,7 @@ private: OwnedArray children; }; - //========================================================================== + //============================================================================== String getSettingsGradleFileContent() const { return "include ':app'"; @@ -488,7 +489,7 @@ private: return projectBuildGradle; } - //========================================================================== + //============================================================================== String getGradleBuildScript() const { GradleObject buildScript ("buildscript"); @@ -522,7 +523,7 @@ private: return allProjects.toString(); } - //========================================================================== + //============================================================================== String getAppBuildGradleFileContent() const { String appBuildGradle; @@ -555,7 +556,7 @@ private: return dependencies.toString(); } - //========================================================================== + //============================================================================== GradleObject* getAndroidObject() const { auto android = new GradleObject ("android"); @@ -721,7 +722,7 @@ private: const String configName (config.getName()); // Note: at the moment, Android Studio only supports a "debug" and a "release" - // build config, but no custom build configs like Introjucer's other exporters do. + // build config, but no custom build configs like Projucer's other exporters do. if (configName != "Debug" && configName != "Release") throw SaveError ("Build configurations other than Debug and Release are not yet support for Android Studio"); @@ -818,7 +819,7 @@ private: flavour->add ("ndk.abiFilters.add(\"" + arch + "\")"); return flavour; } - //========================================================================== + //============================================================================== String getLocalPropertiesFileContent() const { String props; @@ -839,7 +840,7 @@ private: return props; } - //========================================================================== + //============================================================================== void writeStringsXML (const File& folder) const { XmlElement strings ("resources"); @@ -851,7 +852,7 @@ private: writeXmlOrThrow (strings, folder.getChildFile ("app/src/main/res/values/string.xml"), "utf-8", 100, true); } - //========================================================================== + //============================================================================== void writeAndroidManifest (const File& folder) const { ScopedPointer manifest (createManifestXML()); @@ -859,13 +860,13 @@ private: writeXmlOrThrow (*manifest, folder.getChildFile ("app/src/main/AndroidManifest.xml"), "utf-8", 100, true); } - //========================================================================== + //============================================================================== struct ShouldBeAddedToProjectPredicate { bool operator() (const Project::Item& projectItem) const { return projectItem.shouldBeAddedToTargetProject(); } }; - //========================================================================== + //============================================================================== const File androidStudioExecutable; JUCE_DECLARE_NON_COPYABLE (AndroidStudioProjectExporter) diff --git a/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_CodeBlocks.h b/extras/Projucer/Source/Project Saving/jucer_ProjectExport_CodeBlocks.h similarity index 87% rename from extras/Introjucer/Source/Project Saving/jucer_ProjectExport_CodeBlocks.h rename to extras/Projucer/Source/Project Saving/jucer_ProjectExport_CodeBlocks.h index 5c1d35f9fb..241793d0c0 100644 --- a/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_CodeBlocks.h +++ b/extras/Projucer/Source/Project Saving/jucer_ProjectExport_CodeBlocks.h @@ -96,11 +96,30 @@ public: //============================================================================== bool canLaunchProject() override { return false; } bool launchProject() override { return false; } - bool isCodeBlocksWindows() const override { return os == windowsTarget; } - bool isCodeBlocksLinux() const override { return isLinux(); } - bool isLinux() const override { return os == linuxTarget; } bool usesMMFiles() const override { return false; } bool canCopeWithDuplicateFiles() override { return false; } + bool supportsUserDefinedConfigurations() const override { return true; } + + bool isXcode() const override { return false; } + bool isVisualStudio() const override { return false; } + bool isCodeBlocks() const override { return true; } + bool isMakefile() const override { return false; } + bool isAndroidStudio() const override { return false; } + bool isAndroidAnt() const override { return false; } + + bool isAndroid() const override { return false; } + bool isWindows() const override { return os == windowsTarget; } + bool isLinux() const override { return os == linuxTarget; } + bool isOSX() const override { return false; } + bool isiOS() const override { return false; } + + bool supportsVST() const override { return false; } + bool supportsVST3() const override { return false; } + bool supportsAAX() const override { return false; } + bool supportsRTAS() const override { return false; } + bool supportsAU() const override { return false; } + bool supportsAUv3() const override { return false; } + bool supportsStandalone() const override { return false; } void createExporterProperties (PropertyListBuilder&) override { @@ -118,6 +137,12 @@ public: writeXmlOrThrow (xml, cbpFile, "UTF-8", 10); } + //============================================================================== + void addPlatformSpecificSettingsForProjectType (const ProjectType&) override + { + // no-op. + } + private: //============================================================================== class CodeBlocksBuildConfiguration : public BuildConfiguration @@ -160,7 +185,7 @@ private: { StringPairArray defines; - if (isCodeBlocksWindows()) + if (isCodeBlocks() && isWindows()) { defines.set ("__MINGW__", "1"); defines.set ("__MINGW_EXTENSION", String::empty); @@ -242,7 +267,7 @@ private: paths.addArray (config.getHeaderSearchPaths()); - if (! isCodeBlocksWindows()) + if (! (isCodeBlocks() && isWindows())) paths.add ("/usr/include/freetype2"); return getCleanedStringArray (paths); @@ -314,7 +339,7 @@ private: for (int i = 0; i < linkerFlags.size(); ++i) setAddOption (*linker, "option", linkerFlags[i]); - const StringArray& libs = isCodeBlocksWindows() ? mingwLibs : linuxLibs; + const StringArray& libs = isWindows() ? mingwLibs : linuxLibs; for (int i = 0; i < libs.size(); ++i) setAddOption (*linker, "library", libs[i]); @@ -347,7 +372,7 @@ private: StringArray libs; - if (isCodeBlocksWindows()) + if (isWindows()) { static const char* defaultLibs[] = { "gdi32", "user32", "kernel32", "comctl32" }; libs = StringArray (defaultLibs, numElementsInArray (defaultLibs)); diff --git a/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_MSVC.h b/extras/Projucer/Source/Project Saving/jucer_ProjectExport_MSVC.h similarity index 84% rename from extras/Introjucer/Source/Project Saving/jucer_ProjectExport_MSVC.h rename to extras/Projucer/Source/Project Saving/jucer_ProjectExport_MSVC.h index e75533c576..b2901e2586 100644 --- a/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_MSVC.h +++ b/extras/Projucer/Source/Project Saving/jucer_ProjectExport_MSVC.h @@ -39,9 +39,32 @@ public: //============================================================================== bool usesMMFiles() const override { return false; } - bool isVisualStudio() const override { return true; } - bool isWindows() const override { return true; } bool canCopeWithDuplicateFiles() override { return false; } + bool supportsUserDefinedConfigurations() const override { return true; } + + bool isXcode() const override { return false; } + bool isVisualStudio() const override { return true; } + bool isCodeBlocks() const override { return false; } + bool isMakefile() const override { return false; } + bool isAndroidStudio() const override { return false; } + bool isAndroidAnt() const override { return false; } + + bool isAndroid() const override { return false; } + bool isWindows() const override { return true; } + bool isLinux() const override { return false; } + bool isOSX() const override { return false; } + bool isiOS() const override { return false; } + + bool supportsVST() const override { return true; } + bool supportsVST3() const override { return true; } + bool supportsAAX() const override { return true; } + bool supportsRTAS() const override { return true; } + bool supportsAU() const override { return false; } + bool supportsAUv3() const override { return false; } + bool supportsStandalone() const override { return false; } + + //============================================================================== + virtual int getVisualStudioVersion() const = 0; bool launchProject() override { @@ -72,7 +95,165 @@ public: optimiseMaxSpeed = 3 }; + //============================================================================== + void addPlatformSpecificSettingsForProjectType (const ProjectType& type) override + { + msvcExtraPreprocessorDefs.set ("_CRT_SECURE_NO_WARNINGS", ""); + + if (type.isGUIApplication()) + { + msvcIsWindowsSubsystem = true; + msvcTargetSuffix = ".exe"; + } + else if (type.isCommandLineApp()) + { + msvcIsWindowsSubsystem = false; + msvcTargetSuffix = ".exe"; + msvcExtraPreprocessorDefs.set ("_CONSOLE", ""); + } + else if (type.isStaticLibrary()) + { + msvcTargetSuffix = ".lib"; + msvcExtraPreprocessorDefs.set ("_LIB", ""); + } + else if (type.isDynamicLibrary()) + { + msvcTargetSuffix = ".dll"; + msvcExtraPreprocessorDefs.set ("_LIB", ""); + msvcIsDLL = true; + } + else if (type.isAudioPlugin()) + { + msvcTargetSuffix = ".dll"; + msvcIsDLL = true; + + if (project.shouldBuildVST().getValue()) + addVSTPluginSettings (false); + + if (project.shouldBuildVST3().getValue()) + addVSTPluginSettings (true); + + if (project.shouldBuildAAX().getValue()) + addAAXPluginSettings(); + + if (project.shouldBuildRTAS().getValue()) + addRTASPluginSettings(); + } + } + +private: + //============================================================================== + String createRebasedPath (const RelativePath& path) + { + String rebasedPath = rebaseFromProjectFolderToBuildTarget (path).toWindowsStyle(); + + return getVisualStudioVersion() < 10 // (VS10 automatically adds escape characters to the quotes for this definition) + ? CppTokeniserFunctions::addEscapeChars (rebasedPath.quoted()) + : CppTokeniserFunctions::addEscapeChars (rebasedPath).quoted(); + } + + void addVSTPluginSettings (bool isVST3) + { + RelativePath modulePath (rebaseFromProjectFolderToBuildTarget (RelativePath (getPathForModuleString ("juce_audio_plugin_client"), + RelativePath::projectFolder) + .getChildFile ("juce_audio_plugin_client") + .getChildFile ("VST3"))); + + for (ProjectExporter::ConfigIterator config (*this); config.next();) + { + if (config->getValue (Ids::useRuntimeLibDLL).getValue().isVoid()) + config->getValue (Ids::useRuntimeLibDLL) = true; + + if (isVST3) + if (config->getValue (Ids::postbuildCommand).toString().isEmpty()) + config->getValue (Ids::postbuildCommand) = "copy /Y \"$(OutDir)\\$(TargetFileName)\" \"$(OutDir)\\$(TargetName).vst3\""; + } + } + + void addAAXPluginSettings() + { + const RelativePath aaxLibsFolder = RelativePath (getAAXPathValue().toString(), RelativePath::projectFolder).getChildFile ("Libs"); + + for (ProjectExporter::ConfigIterator config (*this); config.next();) + if (config->getValue (Ids::useRuntimeLibDLL).getValue().isVoid()) + config->getValue (Ids::useRuntimeLibDLL) = true; + + msvcExtraPreprocessorDefs.set ("JucePlugin_AAXLibs_path", + createRebasedPath (aaxLibsFolder)); + } + + void addRTASPluginSettings() + { + RelativePath rtasFolder (getRTASPathValue().toString(), RelativePath::projectFolder); + + msvcTargetSuffix = ".dpm"; + + msvcExtraPreprocessorDefs.set ("JucePlugin_WinBag_path", + createRebasedPath (rtasFolder.getChildFile ("WinBag"))); + + msvcDelayLoadedDLLs = "DAE.dll; DigiExt.dll; DSI.dll; PluginLib.dll; " + "DSPManager.dll; DSPManager.dll; DSPManagerClientLib.dll; RTASClientLib.dll"; + + if (! getExtraLinkerFlagsString().contains ("/FORCE:multiple")) + getExtraLinkerFlags() = getExtraLinkerFlags().toString() + " /FORCE:multiple"; + + RelativePath modulePath (rebaseFromProjectFolderToBuildTarget (RelativePath (getPathForModuleString ("juce_audio_plugin_client"), + RelativePath::projectFolder) + .getChildFile ("juce_audio_plugin_client") + .getChildFile ("RTAS"))); + + for (ProjectExporter::ConfigIterator config (*this); config.next();) + { + config->getValue (Ids::msvcModuleDefinitionFile) = modulePath.getChildFile ("juce_RTAS_WinExports.def").toWindowsStyle(); + + if (config->getValue (Ids::useRuntimeLibDLL).getValue().isVoid()) + config->getValue (Ids::useRuntimeLibDLL) = true; + + if (config->getValue (Ids::postbuildCommand).toString().isEmpty()) + config->getValue (Ids::postbuildCommand) + = "copy /Y " + + modulePath.getChildFile ("juce_RTAS_WinResources.rsr").toWindowsStyle().quoted() + + " \"$(TargetPath)\".rsr"; + } + + RelativePath juceWrapperFolder (project.getGeneratedCodeFolder(), + getTargetFolder(), RelativePath::buildTargetFolder); + + extraSearchPaths.add (juceWrapperFolder.toWindowsStyle()); + + static const char* p[] = { "AlturaPorts/TDMPlugins/PluginLibrary/EffectClasses", + "AlturaPorts/TDMPlugins/PluginLibrary/ProcessClasses", + "AlturaPorts/TDMPlugins/PluginLibrary/ProcessClasses/Interfaces", + "AlturaPorts/TDMPlugins/PluginLibrary/Utilities", + "AlturaPorts/TDMPlugins/PluginLibrary/RTASP_Adapt", + "AlturaPorts/TDMPlugins/PluginLibrary/CoreClasses", + "AlturaPorts/TDMPlugins/PluginLibrary/Controls", + "AlturaPorts/TDMPlugins/PluginLibrary/Meters", + "AlturaPorts/TDMPlugins/PluginLibrary/ViewClasses", + "AlturaPorts/TDMPlugins/PluginLibrary/DSPClasses", + "AlturaPorts/TDMPlugins/PluginLibrary/Interfaces", + "AlturaPorts/TDMPlugins/common", + "AlturaPorts/TDMPlugins/common/Platform", + "AlturaPorts/TDMPlugins/common/Macros", + "AlturaPorts/TDMPlugins/SignalProcessing/Public", + "AlturaPorts/TDMPlugIns/DSPManager/Interfaces", + "AlturaPorts/SADriver/Interfaces", + "AlturaPorts/DigiPublic/Interfaces", + "AlturaPorts/DigiPublic", + "AlturaPorts/Fic/Interfaces/DAEClient", + "AlturaPorts/NewFileLibs/Cmn", + "AlturaPorts/NewFileLibs/DOA", + "AlturaPorts/AlturaSource/PPC_H", + "AlturaPorts/AlturaSource/AppSupport", + "AvidCode/AVX2sdk/AVX/avx2/avx2sdk/inc", + "xplat/AVX/avx2/avx2sdk/inc" }; + + for (int i = 0; i < numElementsInArray (p); ++i) + addToExtraSearchPaths (rtasFolder.getChildFile (p[i])); + } + protected: + //============================================================================== String projectGUID; mutable File rcFile, iconFile; @@ -989,6 +1170,8 @@ public: virtual String getToolsVersion() const { return "4.0"; } virtual String getDefaultToolset() const { return "Windows7.1SDK"; } Value getPlatformToolsetValue() { return getSetting (Ids::toolset); } + Value getIPPLibraryValue() { return getSetting (Ids::IPPLibrary); } + String getIPPLibrary() const { return settings [Ids::IPPLibrary]; } String getPlatformToolset() const { @@ -1004,16 +1187,31 @@ public: return nullptr; } + void addToolsetProperty (PropertyListBuilder& props, const char** names, const var* values, int num) + { + props.add (new ChoicePropertyComponent (getPlatformToolsetValue(), "Platform Toolset", + StringArray (names, num), Array (values, num))); + } + + void addIPPLibraryProperty (PropertyListBuilder& props) + { + static const char* ippOptions[] = { "No", "Yes (Default Mode)", "Multi-Threaded Static Library", "Single-Threaded Static Library", "Multi-Threaded DLL", "Single-Threaded DLL" }; + static const var ippValues[] = { var(), "true", "Parallel_Static", "Sequential", "Parallel_Dynamic", "Sequential_Dynamic" }; + + props.add (new ChoicePropertyComponent (getIPPLibraryValue(), "Use IPP Library", + StringArray (ippOptions, numElementsInArray (ippValues)), + Array (ippValues, numElementsInArray (ippValues)))); + } + void createExporterProperties (PropertyListBuilder& props) override { MSVCProjectExporterBase::createExporterProperties (props); - static const char* toolsetNames[] = { "(default)", "v100", "v100_xp", "Windows7.1SDK", "CTP_Nov2013", nullptr }; + static const char* toolsetNames[] = { "(default)", "v100", "v100_xp", "Windows7.1SDK", "CTP_Nov2013" }; const var toolsets[] = { var(), "v100", "v100_xp", "Windows7.1SDK", "CTP_Nov2013" }; - props.add (new ChoicePropertyComponent (getPlatformToolsetValue(), "Platform Toolset", - StringArray (toolsetNames), - Array (toolsets, numElementsInArray (toolsets)))); + addToolsetProperty (props, toolsetNames, toolsets, numElementsInArray (toolsets)); + addIPPLibraryProperty (props); } //============================================================================== @@ -1025,6 +1223,7 @@ public: XmlElement projectXml ("Project"); fillInProjectXml (projectXml); addPlatformToolsetToPropertyGroup (projectXml); + addIPPSettingToPropertyGroup (projectXml); writeXmlOrThrow (projectXml, getVCProjFile(), "utf-8", 100); } @@ -1083,6 +1282,15 @@ protected: virtual void addPlatformToolsetToPropertyGroup (XmlElement&) const {} + void addIPPSettingToPropertyGroup (XmlElement& p) const + { + String ippLibrary = getIPPLibrary(); + + if (ippLibrary.isNotEmpty()) + forEachXmlChildElementWithTagName (p, e, "PropertyGroup") + e->createNewChildElement ("UseIntelIPP")->addTextElement (ippLibrary); + } + BuildConfiguration::Ptr createBuildConfig (const ValueTree& v) const override { return new VC2010BuildConfiguration (project, v, *this); @@ -1584,31 +1792,25 @@ public: { MSVCProjectExporterBase::createExporterProperties (props); - static const char* toolsetNames[] = { "(default)", "v110", "v110_xp", "Windows7.1SDK", "CTP_Nov2013", nullptr }; + static const char* toolsetNames[] = { "(default)", "v110", "v110_xp", "Windows7.1SDK", "CTP_Nov2013" }; const var toolsets[] = { var(), "v110", "v110_xp", "Windows7.1SDK", "CTP_Nov2013" }; - props.add (new ChoicePropertyComponent (getPlatformToolsetValue(), "Platform Toolset", - StringArray (toolsetNames), - Array (toolsets, numElementsInArray (toolsets)))); + addToolsetProperty (props, toolsetNames, toolsets, numElementsInArray (toolsets)); + addIPPLibraryProperty (props); } private: void addPlatformToolsetToPropertyGroup (XmlElement& p) const override { forEachXmlChildElementWithTagName (p, e, "PropertyGroup") - { - XmlElement* platformToolset (new XmlElement ("PlatformToolset")); - platformToolset->addTextElement (getPlatformToolset()); - - e->addChildElement (platformToolset); - } + e->createNewChildElement ("PlatformToolset")->addTextElement (getPlatformToolset()); } JUCE_DECLARE_NON_COPYABLE (MSVCProjectExporterVC2012) }; //============================================================================== -class MSVCProjectExporterVC2013 : public MSVCProjectExporterVC2012 +class MSVCProjectExporterVC2013 : public MSVCProjectExporterVC2012 { public: MSVCProjectExporterVC2013 (Project& p, const ValueTree& t) @@ -1636,20 +1838,18 @@ public: { MSVCProjectExporterBase::createExporterProperties (props); - static const char* toolsetNames[] = { "(default)", "v120", "v120_xp", "Windows7.1SDK", "CTP_Nov2013", nullptr }; + static const char* toolsetNames[] = { "(default)", "v120", "v120_xp", "Windows7.1SDK", "CTP_Nov2013" }; const var toolsets[] = { var(), "v120", "v120_xp", "Windows7.1SDK", "CTP_Nov2013" }; - props.add (new ChoicePropertyComponent (getPlatformToolsetValue(), "Platform Toolset", - StringArray (toolsetNames), - Array (toolsets, numElementsInArray (toolsets)))); + addToolsetProperty (props, toolsetNames, toolsets, numElementsInArray (toolsets)); + addIPPLibraryProperty (props); } -private: JUCE_DECLARE_NON_COPYABLE (MSVCProjectExporterVC2013) }; //============================================================================== -class MSVCProjectExporterVC2015 : public MSVCProjectExporterVC2012 +class MSVCProjectExporterVC2015 : public MSVCProjectExporterVC2012 { public: MSVCProjectExporterVC2015 (Project& p, const ValueTree& t) @@ -1677,14 +1877,12 @@ public: { MSVCProjectExporterBase::createExporterProperties (props); - static const char* toolsetNames[] = { "(default)", "v140", "v140_xp", "CTP_Nov2013", nullptr }; + static const char* toolsetNames[] = { "(default)", "v140", "v140_xp", "CTP_Nov2013" }; const var toolsets[] = { var(), "v140", "v140_xp", "CTP_Nov2013" }; - props.add (new ChoicePropertyComponent (getPlatformToolsetValue(), "Platform Toolset", - StringArray (toolsetNames), - Array (toolsets, numElementsInArray (toolsets)))); + addToolsetProperty (props, toolsetNames, toolsets, numElementsInArray (toolsets)); + addIPPLibraryProperty (props); } -private: JUCE_DECLARE_NON_COPYABLE (MSVCProjectExporterVC2015) }; diff --git a/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_Make.h b/extras/Projucer/Source/Project Saving/jucer_ProjectExport_Make.h similarity index 87% rename from extras/Introjucer/Source/Project Saving/jucer_ProjectExport_Make.h rename to extras/Projucer/Source/Project Saving/jucer_ProjectExport_Make.h index ec0614c9da..4a43c7903f 100644 --- a/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_Make.h +++ b/extras/Projucer/Source/Project Saving/jucer_ProjectExport_Make.h @@ -53,9 +53,29 @@ public: bool canLaunchProject() override { return false; } bool launchProject() override { return false; } bool usesMMFiles() const override { return false; } - bool isLinuxMakefile() const override { return true; } - bool isLinux() const override { return true; } bool canCopeWithDuplicateFiles() override { return false; } + bool supportsUserDefinedConfigurations() const override { return true; } + + bool isXcode() const override { return false; } + bool isVisualStudio() const override { return false; } + bool isCodeBlocks() const override { return false; } + bool isMakefile() const override { return true; } + bool isAndroidStudio() const override { return false; } + bool isAndroidAnt() const override { return false; } + + bool isAndroid() const override { return false; } + bool isWindows() const override { return false; } + bool isLinux() const override { return true; } + bool isOSX() const override { return false; } + bool isiOS() const override { return false; } + + bool supportsVST() const override { return true; } + bool supportsVST3() const override { return false; } + bool supportsAAX() const override { return false; } + bool supportsRTAS() const override { return false; } + bool supportsAU() const override { return false; } + bool supportsAUv3() const override { return false; } + bool supportsStandalone() const override { return false; } Value getCppStandardValue() { return getSetting (Ids::cppLanguageStandard); } String getCppStandardString() const { return settings[Ids::cppLanguageStandard]; } @@ -85,6 +105,19 @@ public: overwriteFileIfDifferentOrThrow (getTargetFolder().getChildFile ("Makefile"), mo); } + //============================================================================== + void addPlatformSpecificSettingsForProjectType (const ProjectType& type) override + { + if (type.isStaticLibrary()) + makefileTargetSuffix = ".a"; + + else if (type.isDynamicLibrary()) + makefileTargetSuffix = ".so"; + + else if (type.isAudioPlugin()) + makefileIsDLL = true; + } + protected: //============================================================================== class MakeBuildConfiguration : public BuildConfiguration @@ -293,8 +326,8 @@ private: void writeMakefile (OutputStream& out, const Array& files) const { - out << "# Automatically generated makefile, created by the Introjucer" << newLine - << "# Don't edit this file! Your changes will be overwritten when you re-save the Introjucer project!" << newLine + out << "# Automatically generated makefile, created by the Projucer" << newLine + << "# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project!" << newLine << newLine; out << "# (this disables dependency generation if multiple architectures are set)" << newLine diff --git a/extras/Projucer/Source/Project Saving/jucer_ProjectExport_XCode.h b/extras/Projucer/Source/Project Saving/jucer_ProjectExport_XCode.h new file mode 100644 index 0000000000..7b0f4829fd --- /dev/null +++ b/extras/Projucer/Source/Project Saving/jucer_ProjectExport_XCode.h @@ -0,0 +1,2738 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +#include "../Application/jucer_Application.h" + + +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), + xcodeCanUseDwarf (true), + iOS (isIOS) + { + name = iOS ? getNameiOS() : getNameMac(); + + if (getTargetLocationString().isEmpty()) + getTargetLocationValue() = getDefaultBuildsRootFolder() + (iOS ? "iOS" : "MacOSX"); + + initialiseDependencyPathValues(); + + if (iOS) + { + if (getScreenOrientationValue().toString().isEmpty()) + getScreenOrientationValue() = "portraitlandscape"; + } + } + + 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]; } + + Value getScreenOrientationValue() { return getSetting (Ids::iosScreenOrientation); } + String getScreenOrientationString() const { return settings [Ids::iosScreenOrientation]; } + + Value getCustomResourceFoldersValue() { return getSetting (Ids::customXcodeResourceFolders); } + String getCustomResourceFoldersString() const { return getSettingString (Ids::customXcodeResourceFolders).replaceCharacters ("\r\n", "::"); } + + Value getCustomXcassetsFolderValue() { return getSetting (Ids::customXcassetsFolder); } + String getCustomXcassetsFolderString() const { return settings [Ids::customXcassetsFolder]; } + + Value getInAppPurchasesValue() { return getSetting (Ids::iosInAppPurchases); } + bool isInAppPurchasesEnabled() const { return settings [Ids::iosInAppPurchases]; } + Value getBackgroundAudioValue() { return getSetting (Ids::iosBackgroundAudio); } + bool isBackgroundAudioEnabled() const { return settings [Ids::iosBackgroundAudio]; } + Value getBackgroundBleValue() { return getSetting (Ids::iosBackgroundBle); } + bool isBackgroundBleEnabled() const { return settings [Ids::iosBackgroundBle]; } + + Value getIosDevelopmentTeamIDValue() { return getSetting (Ids::iosDevelopmentTeamID); } + String getIosDevelopmentTeamIDString() const { return settings [Ids::iosDevelopmentTeamID]; } + + bool usesMMFiles() const override { return true; } + bool canCopeWithDuplicateFiles() override { return true; } + bool supportsUserDefinedConfigurations() const override { return true; } + + bool isXcode() const override { return true; } + bool isVisualStudio() const override { return false; } + bool isCodeBlocks() const override { return false; } + bool isMakefile() const override { return false; } + bool isAndroidStudio() const override { return false; } + bool isAndroidAnt() const override { return false; } + + bool isAndroid() const override { return false; } + bool isWindows() const override { return false; } + bool isLinux() const override { return false; } + bool isOSX() const override { return ! iOS; } + bool isiOS() const override { return iOS; } + + bool supportsVST() const override { return ! iOS; } + bool supportsVST3() const override { return ! iOS; } + bool supportsAAX() const override { return ! iOS; } + bool supportsRTAS() const override { return ! iOS; } + bool supportsAU() const override { return ! iOS; } + bool supportsAUv3() const override { return true; } + bool supportsStandalone() const override { return true; } + + void createExporterProperties (PropertyListBuilder& props) override + { + if (iOS) + { + props.add (new TextPropertyComponent (getCustomXcassetsFolderValue(), "Custom Xcassets folder", 128, false), + "If this field is not empty, your Xcode project will use the custom xcassets folder specified here " + "for the app icons and launchimages, and will ignore the Icon files specified above."); + } + + props.add (new TextPropertyComponent (getCustomResourceFoldersValue(), "Custom Xcode Resource folders", 8192, true), + "You can specify a list of custom resource folders here (separated by newlines or whitespace). " + "References to these folders will then be added to the Xcode resources. " + "This way you can specify them for OS X and iOS separately, and modify the content of the resource folders " + "without re-saving the Projucer project."); + + if (iOS) + { + static const char* orientations[] = { "Portrait and Landscape", "Portrait", "Landscape", nullptr }; + static const char* orientationValues[] = { "portraitlandscape", "portrait", "landscape", nullptr }; + + props.add (new ChoicePropertyComponent (getScreenOrientationValue(), "Screen orientation",StringArray (orientations), Array (orientationValues)), + "The screen orientations that this app should support"); + + 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 BooleanPropertyComponent (getInAppPurchasesValue(), "In-App purchases capability", "Enabled"), + "Enable this to grant your app the capability for in-app purchases. " + "This option requires that you specify a valid Development Team ID."); + + props.add (new BooleanPropertyComponent (getBackgroundAudioValue(), "Audio background capability", "Enabled"), + "Enable this to grant your app the capability to access audio when in background mode."); + + props.add (new BooleanPropertyComponent (getBackgroundBleValue(), "Bluetooth MIDI background capability", "Enabled"), + "Enable this to grant your app the capability to connect to Bluetooth LE devices when in background mode."); + } + else if (projectType.isGUIApplication()) + { + 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."); + } + + 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 Projucer creates. BEWARE! When doing this, be careful to remove from the XML any " + "values that you DO want the Projucer 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."); + + props.add (new TextPropertyComponent (getIosDevelopmentTeamIDValue(), "Development Team ID", 10, false), + "The Development Team ID to be used for setting up code-signing your iOS app. This is a ten-character " + "string (for example, \"S7B6T5XJ2Q\") that describes the distribution certificate Apple issued to you. " + "You can find this string in the OS X app Keychain Access under \"Certificates\"."); + } + + 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 + { + for (auto& target : targets) + if (target->xcodeCreatePList) + target->infoPlistFile = getTargetFolder().getChildFile (target->getInfoPlistName()); + + 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); + } + + writeInfoPlistFiles(); + + // Deleting the .rsrc files can be needed to force Xcode to update the version number. + deleteRsrcFiles(); + + if (! ProjucerApplication::getApp().isRunningCommandLine) + { + // Workaround for a bug where Xcode thinks the project is invalid if opened immedietely + // after writing + Thread::sleep (2000); + } + } + + //============================================================================== + void addPlatformSpecificSettingsForProjectType (const ProjectType& type) override + { + if (type.isGUIApplication()) + targets.add (new Target (Target::GUIApp, *this)); + + else if (type.isCommandLineApp()) + targets.add (new Target (Target::ConsoleApp, *this)); + + else if (type.isStaticLibrary()) + targets.add (new Target (Target::StaticLibrary, *this)); + + else if (type.isDynamicLibrary()) + targets.add (new Target (Target::DynamicLibrary, *this)); + + else if (type.isAudioPlugin()) + { + if (project.shouldBuildVST().getValue() && supportsVST()) + targets.add (new Target (Target::VSTPlugIn, *this)); + + if (project.shouldBuildVST3().getValue() && supportsVST3()) + targets.add (new Target (Target::VST3PlugIn, *this)); + + if (project.shouldBuildAU().getValue() && supportsAU()) + targets.add (new Target (Target::AudioUnitPlugIn, *this)); + + if (project.shouldBuildAUv3().getValue()) + targets.add (new Target (Target::AudioUnitv3PlugIn, *this)); + + if (project.shouldBuildAAX().getValue() && supportsAAX()) + targets.add (new Target (Target::AAXPlugIn, *this)); + + if (project.shouldBuildStandalone().getValue()) + targets.add (new Target (Target::StandalonePlugIn, *this)); + + if (project.shouldBuildRTAS().getValue() && supportsRTAS()) + { + targets.add (new Target (Target::RTASPlugIn, *this)); + addRTASPluginSettings(); + } + + if (targets.size() > 0) + targets.add (new Target (Target::SharedCodeTarget, *this)); + } + + if (targets.size() > 1) + targets.insert (0, new Target (Target::AggregateTarget, *this)); + + // If you hit this assert, you tried to generate a project for an exporter + // that does not support any of your targets! + jassert (targets.size() > 0); + } + +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", "9.3", 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", "9.3", 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); + } + +public: + //============================================================================== + /* The numbers for these enum values are defined by Xcode for the different + possible destinations of a "copy files" post-build step. + */ + enum XcodeCopyFilesDestinationIDs + { + kWrapperFolder = 1, + kExecutablesFolder = 6, + kResourcesFolder = 7, + kFrameworksFolder = 10, + kSharedFrameworksFolder = 11, + kSharedSupportFolder = 12, + kPluginsFolder = 13, + kJavaResourcesFolder = 15, + kXPCServicesFolder = 16 + }; + + //============================================================================== + struct Target + { + enum Type + { + GUIApp = 0, + ConsoleApp = 1, + StaticLibrary = 2, + DynamicLibrary = 3, + + VSTPlugIn = 10, + VST3PlugIn = 11, + AAXPlugIn = 12, + RTASPlugIn = 13, + AudioUnitPlugIn = 14, + AudioUnitv3PlugIn = 15, + StandalonePlugIn = 16, + + SharedCodeTarget = 20, // internal + AggregateTarget = 21, + + unspecified = 30 + }; + + //============================================================================== + Target (Type targetType, const XCodeProjectExporter& exporter) + : type (targetType), + owner (exporter) + { + switch (type) + { + case GUIApp: + xcodeIsBundle = false; + xcodeIsExecutable = true; + xcodeCreatePList = true; + xcodePackageType = "APPL"; + xcodeBundleSignature = "????"; + xcodeFileType = "wrapper.application"; + xcodeBundleExtension = ".app"; + xcodeProductType = "com.apple.product-type.application"; + xcodeProductInstallPath = "$(HOME)/Applications"; + xcodeCopyToProductInstallPathAfterBuild = false; + break; + + case ConsoleApp: + xcodeIsBundle = false; + xcodeIsExecutable = true; + xcodeCreatePList = false; + xcodeFileType = "compiled.mach-o.executable"; + xcodeBundleExtension = String::empty; + xcodeProductType = "com.apple.product-type.tool"; + xcodeProductInstallPath = "/usr/bin"; + xcodeCopyToProductInstallPathAfterBuild = false; + break; + + case StaticLibrary: + xcodeIsBundle = false; + xcodeIsExecutable = false; + xcodeCreatePList = false; + xcodeFileType = "archive.ar"; + xcodeProductType = "com.apple.product-type.library.static"; + xcodeProductInstallPath = String::empty; + xcodeCopyToProductInstallPathAfterBuild = false; + break; + + case DynamicLibrary: + xcodeIsBundle = false; + xcodeIsExecutable = false; + xcodeCreatePList = false; + xcodeFileType = "compiled.mach-o.dylib"; + xcodeProductType = "com.apple.product-type.library.dynamic"; + xcodeBundleExtension = ".dylib"; + xcodeProductInstallPath = String::empty; + xcodeCopyToProductInstallPathAfterBuild = false; + + break; + + case VSTPlugIn: + xcodeIsBundle = true; + xcodeIsExecutable = false; + xcodeCreatePList = true; + xcodePackageType = "BNDL"; + xcodeBundleSignature = "????"; + xcodeFileType = "wrapper.cfbundle"; + xcodeBundleExtension = ".vst"; + xcodeProductType = "com.apple.product-type.bundle"; + xcodeProductInstallPath = "$(HOME)/Library/Audio/Plug-Ins/VST/"; + xcodeCopyToProductInstallPathAfterBuild = true; + + break; + + case VST3PlugIn: + xcodeIsBundle = true; + xcodeIsExecutable = false; + xcodeCreatePList = true; + xcodePackageType = "BNDL"; + xcodeBundleSignature = "????"; + xcodeFileType = "wrapper.cfbundle"; + xcodeBundleExtension = ".vst3"; + xcodeProductType = "com.apple.product-type.bundle"; + xcodeProductInstallPath = "$(HOME)/Library/Audio/Plug-Ins/VST3/"; + xcodeCopyToProductInstallPathAfterBuild = true; + + break; + + case AudioUnitPlugIn: + xcodeIsBundle = true; + xcodeIsExecutable = false; + xcodeCreatePList = true; + xcodePackageType = "BNDL"; + xcodeBundleSignature = "????"; + xcodeFileType = "wrapper.cfbundle"; + xcodeBundleExtension = ".component"; + xcodeProductType = "com.apple.product-type.bundle"; + xcodeProductInstallPath = "$(HOME)/Library/Audio/Plug-Ins/Components/"; + xcodeCopyToProductInstallPathAfterBuild = true; + + addExtraAudioUnitTargetSettings(); + break; + + case StandalonePlugIn: + xcodeIsBundle = false; + xcodeIsExecutable = true; + xcodeCreatePList = true; + xcodePackageType = "APPL"; + xcodeBundleSignature = "????"; + xcodeCreatePList = true; + xcodeFileType = "wrapper.application"; + xcodeBundleExtension = ".app"; + xcodeProductType = "com.apple.product-type.application"; + xcodeProductInstallPath = "$(HOME)/Applications"; + xcodeCopyToProductInstallPathAfterBuild = false; + break; + + case AudioUnitv3PlugIn: + xcodeIsBundle = false; + xcodeIsExecutable = false; + xcodeCreatePList = true; + xcodePackageType = "XPC!"; + xcodeBundleSignature = "????"; + xcodeFileType = "wrapper.app-extension"; + xcodeBundleExtension = ".appex"; + xcodeBundleIDSubPath = "AUv3"; + xcodeProductType = "com.apple.product-type.app-extension"; + xcodeProductInstallPath = String::empty; + xcodeCopyToProductInstallPathAfterBuild = false; + + addExtraAudioUnitv3PlugInTargetSettings(); + break; + + case AAXPlugIn: + xcodeIsBundle = true; + xcodeIsExecutable = false; + xcodeCreatePList = true; + xcodePackageType = "TDMw"; + xcodeBundleSignature = "PTul"; + xcodeFileType = "wrapper.cfbundle"; + xcodeBundleExtension = ".aaxplugin"; + xcodeProductType = "com.apple.product-type.bundle"; + xcodeProductInstallPath = "/Library/Application Support/Avid/Audio/Plug-Ins/"; + xcodeCopyToProductInstallPathAfterBuild = true; + + addExtraAAXTargetSettings(); + break; + + case RTASPlugIn: + xcodeIsBundle = true; + xcodeIsExecutable = false; + xcodeCreatePList = true; + xcodePackageType = "TDMw"; + xcodeBundleSignature = "PTul"; + xcodeFileType = "wrapper.cfbundle"; + xcodeBundleExtension = ".dpm"; + xcodeProductType = "com.apple.product-type.bundle"; + xcodeProductInstallPath = "/Library/Application Support/Digidesign/Plug-Ins/"; + xcodeCopyToProductInstallPathAfterBuild = true; + + addExtraRTASTargetSettings(); + break; + + case SharedCodeTarget: + xcodeIsBundle = false; + xcodeIsExecutable = false; + xcodeCreatePList = true; + xcodePackageType = "FMWK"; + xcodeBundleSignature = "????"; + xcodeFileType = "wrapper.framework"; + xcodeBundleExtension = ".framework"; + xcodeProductType = "com.apple.product-type.framework"; + xcodeBundleIDSubPath = "Framework"; + xcodeProductInstallPath = owner.isiOS() ? "@executable_path/Frameworks" : "@executable_path/../Frameworks"; + xcodeCopyToProductInstallPathAfterBuild = false; + + break; + + case AggregateTarget: + xcodeIsBundle = false; + xcodeIsExecutable = false; + xcodeCreatePList = false; + xcodeCopyToProductInstallPathAfterBuild = false; + break; + + default: + // unknown target type! + jassertfalse; + break; + } + } + + const char* getName() const noexcept + { + switch (type) + { + case GUIApp: return "App"; + case ConsoleApp: return "ConsoleApp"; + case StaticLibrary: return "Static Library"; + case DynamicLibrary: return "Dynamic Library"; + case VSTPlugIn: return "VST"; + case VST3PlugIn: return "VST3"; + case AudioUnitPlugIn: return "AU"; + case StandalonePlugIn: return "AUv3 Standalone"; + case AudioUnitv3PlugIn: return "AUv3 AppExtension"; + case AAXPlugIn: return "AAX"; + case RTASPlugIn: return "RTAS"; + case SharedCodeTarget: return "Shared Code"; + case AggregateTarget: return "All"; + default: return "undefined"; + } + } + + String getXCodeSchemeName() const + { + return owner.projectName + " (" + getName() + ")"; + } + + bool shouldBuildVST() const { return owner.supportsVST() && owner.project.shouldBuildVST().getValue() && (type == SharedCodeTarget || type == VSTPlugIn); } + bool shouldBuildVST3() const { return owner.supportsVST3() && owner.project.shouldBuildVST3().getValue() && (type == SharedCodeTarget || type == VST3PlugIn); } + bool shouldBuildAAX() const { return owner.supportsAAX() && owner.project.shouldBuildAAX().getValue() && (type == SharedCodeTarget || type == AAXPlugIn); } + bool shouldBuildRTAS() const { return owner.supportsRTAS() && owner.project.shouldBuildRTAS().getValue() && (type == SharedCodeTarget || type == RTASPlugIn); } + bool shouldBuildAU() const { return owner.supportsAU() && owner.project.shouldBuildAU().getValue() && (type == SharedCodeTarget || type == AudioUnitPlugIn); } + bool shouldBuildAUv3() const { return owner.supportsAUv3() && owner.project.shouldBuildAUv3().getValue() && (type == SharedCodeTarget || type == AudioUnitv3PlugIn); } + bool shouldBuildStandalone() const { return owner.project.shouldBuildStandalone().getValue() && (type == SharedCodeTarget || type == StandalonePlugIn); } + + String getID() const + { + return owner.createID (String ("__target") + getName()); + } + + String getInfoPlistName() const + { + return String ("Info-") + String (getName()).replace (" ", "_") + String (".plist"); + } + + String xcodePackageType, xcodeBundleSignature, xcodeBundleExtension; + String xcodeProductType, xcodeProductInstallPath, xcodeFileType; + String xcodeOtherRezFlags, xcodeExcludedFiles64Bit, xcodeBundleIDSubPath; + bool xcodeIsBundle, xcodeCreatePList, xcodeIsExecutable, xcodeCopyToProductInstallPathAfterBuild; + StringArray xcodeFrameworks, xcodeLibs; + Type type; + Array xcodeExtraPListEntries; + Array xcodeExtraLibrariesDebug, xcodeExtraLibrariesRelease; + + StringArray frameworkIDs, buildPhaseIDs, configIDs, sourceIDs, rezFileIDs; + String dependencyID, mainBuildProductID; + File infoPlistFile; + + //============================================================================== + void addMainBuildProduct() const + { + jassert (xcodeFileType.isNotEmpty()); + jassert (xcodeBundleExtension.isEmpty() || xcodeBundleExtension.startsWithChar ('.')); + + if (ProjectExporter::BuildConfiguration::Ptr config = owner.getConfiguration(0)) + { + String productName (owner.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 (owner.createID (String ("__productFileID") + getName())); + 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); + owner.pbxFileReferences.add (v); + } + + //============================================================================== + void addDependency() + { + jassert (dependencyID.isEmpty()); + + dependencyID = owner.createID (String ("__dependency") + getName()); + ValueTree* const v = new ValueTree (dependencyID); + + v->setProperty ("isa", "PBXTargetDependency", nullptr); + v->setProperty ("target", getID(), nullptr); + + owner.misc.add (v); + } + + String getDependencyID() const + { + jassert (dependencyID.isNotEmpty()); + + return dependencyID; + } + + //============================================================================== + void addTargetConfig (const String& configName, const StringArray& buildSettings) + { + String configID = owner.createID (String ("targetconfigid_") + getName() + String ("_") + configName); + + ValueTree* v = new ValueTree (configID); + v->setProperty ("isa", "XCBuildConfiguration", nullptr); + v->setProperty ("buildSettings", indentBracedList (buildSettings), nullptr); + v->setProperty (Ids::name, configName, nullptr); + + configIDs.add (configID); + owner.targetConfigs.add (v); + } + + //============================================================================== + String getTargetAttributes() const + { + String attributes; + + attributes << getID() << " = { "; + + String developmentTeamID = owner.getIosDevelopmentTeamIDString(); + if (developmentTeamID.isNotEmpty()) + attributes << "DevelopmentTeam = " << developmentTeamID << "; "; + + const int inAppPurchasesEnabled = (owner.iOS && owner.isInAppPurchasesEnabled()) ? 1 : 0; + const int sandboxEnabled = (type == Target::AudioUnitv3PlugIn ? 1 : 0); + + attributes << "SystemCapabilities = {"; + attributes << "com.apple.InAppPurchase = { enabled = " << inAppPurchasesEnabled << "; }; "; + attributes << "com.apple.Sandbox = { enabled = " << sandboxEnabled << "; }; "; + attributes << "}; };"; + + return attributes; + } + + //============================================================================== + ValueTree& addBuildPhase (const String& buildPhaseType, const StringArray& fileIds, const StringRef humanReadableName = StringRef()) + { + String buildPhaseName = buildPhaseType + String ("_") + getName() + String ("_") + (humanReadableName.isNotEmpty() ? String (humanReadableName) : String ("resbuildphase")); + String buildPhaseId (owner.createID (buildPhaseName)); + + int n = 0; + while (buildPhaseIDs.contains (buildPhaseId)) + buildPhaseId = owner.createID (buildPhaseName + String (++n)); + + buildPhaseIDs.add (buildPhaseId); + + ValueTree* v = new ValueTree (buildPhaseId); + v->setProperty ("isa", buildPhaseType, nullptr); + v->setProperty ("buildActionMask", "2147483647", nullptr); + v->setProperty ("files", indentParenthesisedList (fileIds), nullptr); + v->setProperty ("runOnlyForDeploymentPostprocessing", (int) 0, nullptr); + + if (humanReadableName.isNotEmpty()) + v->setProperty ("name", String (humanReadableName), nullptr); + + owner.misc.add (v); + return *v; + } + + //============================================================================== + StringArray getTargetSettings (const XcodeBuildConfiguration& config) const + { + if (type == AggregateTarget) + // the aggregate target should not specify any settings at all! + // it just defines dependencies on the other targets. + return StringArray(); + + StringArray s; + + String bundleIdentifier = owner.project.getBundleIdentifier().toString(); + if (xcodeBundleIDSubPath.isNotEmpty()) + { + StringArray bundleIdSegments = StringArray::fromTokens (bundleIdentifier, ".", StringRef()); + + jassert (bundleIdSegments.size() > 0); + bundleIdentifier += String (".") + bundleIdSegments[bundleIdSegments.size() - 1] + xcodeBundleIDSubPath; + } + + s.add ("PRODUCT_BUNDLE_IDENTIFIER = " + bundleIdentifier); + + const String arch ((! owner.isiOS() && type == Target::AudioUnitv3PlugIn) ? osxArch_64Bit : 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 = " + owner.getHeaderSearchPaths (config)); + s.add ("GCC_OPTIMIZATION_LEVEL = " + config.getGCCOptimisationFlag()); + + if (xcodeCreatePList) + 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 (owner.replacePreprocessorTokens (config, owner.getExtraCompilerFlagsString()).trim()); + if (extraFlags.isNotEmpty()) + s.add ("OTHER_CPLUSPLUSFLAGS = \"" + extraFlags + "\""); + + if (xcodeProductInstallPath.isNotEmpty()) + { + s.add ("INSTALL_PATH = \"" + xcodeProductInstallPath + "\""); + + if (xcodeCopyToProductInstallPathAfterBuild) + { + s.add ("DEPLOYMENT_LOCATION = YES"); + s.add ("DSTROOT = /"); + } + } + + 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 (owner.projectFolder, owner.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 (owner.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"); + } + + if (type == Target::SharedCodeTarget) + defines.set ("JUCE_SHARED_CODE", "1"); + + if (owner.project.getProjectType().isAudioPlugin()) + { + if (type == Target::SharedCodeTarget) + { + s.add ("DYLIB_INSTALL_NAME_BASE = \"@rpath\""); + s.add ("LD_DYLIB_INSTALL_NAME = \"$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)\""); + } + else if (type == Target::AudioUnitv3PlugIn) + { + String frameworksFolderPath = (owner.isiOS() ? "@loader_path/../../Frameworks" : "@loader_path/../../../../Frameworks"); + s.add (String ("LD_RUNPATH_SEARCH_PATHS = \"") + frameworksFolderPath + String ("\"")); + + if (! owner.isiOS()) + s.add (String ("CODE_SIGN_ENTITLEMENTS = \"") + owner.getEntitlementsFileName() + String ("\"")); + } + else + { + String executableType = xcodeIsExecutable ? "@executable_path" : "@loader_path"; + String frameworksFolderPath = executableType + (owner.isiOS() ? "/Frameworks" : "/../Frameworks"); + s.add (String ("LD_RUNPATH_SEARCH_PATHS = \"") + frameworksFolderPath + String ("\"")); + } + } + + if (owner.project.getProjectType().isAudioPlugin()) + { + defines.set ("JucePlugin_Build_VST", (shouldBuildVST() ? "1" : "0")); + defines.set ("JucePlugin_Build_VST3", (shouldBuildVST3() ? "1" : "0")); + defines.set ("JucePlugin_Build_AU", (shouldBuildAU() ? "1" : "0")); + defines.set ("JucePlugin_Build_AUv3", (shouldBuildAUv3() ? "1" : "0")); + defines.set ("JucePlugin_Build_RTAS", (shouldBuildRTAS() ? "1" : "0")); + defines.set ("JucePlugin_Build_AAX", (shouldBuildAAX() ? "1" : "0")); + defines.set ("JucePlugin_Build_Standalone", (shouldBuildStandalone() ? "1" : "0")); + } + + defines = mergePreprocessorDefs (defines, owner.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 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) + owner.getLinkerFlagsForStaticLibrary (extraLibs.getReference(i), flags, librarySearchPaths); + + flags.add (owner.replacePreprocessorTokens (config, owner.getExtraLinkerFlagsString())); + flags.add (owner.getExternalLibraryFlags (config)); + + StringArray libs (xcodeLibs); + libs.addArray (xcodeLibs); + + for (int i = 0; i < libs.size(); ++i) + flags.add (getLinkerFlagForLib (libs[i])); + + flags = getCleanedStringArray (flags); + } + + //========================================================================== c + void writeInfoPlistFile() const + { + if (! xcodeCreatePList) + return; + + ScopedPointer plist (XmlDocument::parse (owner.getPListToMergeString())); + + if (plist == nullptr || ! plist->hasTagName ("plist")) + plist = new XmlElement ("plist"); + + XmlElement* dict = plist->getChildByName ("dict"); + + if (dict == nullptr) + dict = plist->createNewChildElement ("dict"); + + if (owner.iOS) + { + addPlistDictionaryKeyBool (dict, "LSRequiresIPhoneOS", true); + + if (type != AudioUnitv3PlugIn) + addPlistDictionaryKeyBool (dict, "UIViewControllerBasedStatusBarAppearance", false); + } + + addPlistDictionaryKey (dict, "CFBundleExecutable", "${EXECUTABLE_NAME}"); + + if (! owner.iOS) // (NB: on iOS this causes error ITMS-90032 during publishing) + addPlistDictionaryKey (dict, "CFBundleIconFile", owner.iconFile.exists() ? owner.iconFile.getFileName() : String()); + + addPlistDictionaryKey (dict, "CFBundleIdentifier", "$(PRODUCT_BUNDLE_IDENTIFIER)"); + addPlistDictionaryKey (dict, "CFBundleName", owner.projectName); + + // needed by NSExtension on iOS + addPlistDictionaryKey (dict, "CFBundleDisplayName", owner.projectName); + addPlistDictionaryKey (dict, "CFBundlePackageType", xcodePackageType); + addPlistDictionaryKey (dict, "CFBundleSignature", xcodeBundleSignature); + addPlistDictionaryKey (dict, "CFBundleShortVersionString", owner.project.getVersionString()); + addPlistDictionaryKey (dict, "CFBundleVersion", owner.project.getVersionString()); + addPlistDictionaryKey (dict, "NSHumanReadableCopyright", owner.project.getCompanyName().toString()); + addPlistDictionaryKeyBool (dict, "NSHighResolutionCapable", true); + + StringArray documentExtensions; + documentExtensions.addTokens (replacePreprocessorDefs (owner.getAllPreprocessorDefs(), owner.settings ["documentExtensions"]), + ",", StringRef()); + documentExtensions.trim(); + documentExtensions.removeEmptyStrings (true); + + if (documentExtensions.size() > 0 && type != AudioUnitv3PlugIn) + { + 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 (owner.settings ["UIFileSharingEnabled"] && type != AudioUnitv3PlugIn) + addPlistDictionaryKeyBool (dict, "UIFileSharingEnabled", true); + + if (owner.settings ["UIStatusBarHidden"] && type != AudioUnitv3PlugIn) + addPlistDictionaryKeyBool (dict, "UIStatusBarHidden", true); + + if (owner.iOS && type != AudioUnitv3PlugIn) + { + // Forcing full screen disables the split screen feature and prevents error ITMS-90475 + addPlistDictionaryKeyBool (dict, "UIRequiresFullScreen", true); + addPlistDictionaryKeyBool (dict, "UIStatusBarHidden", true); + + addIosScreenOrientations (dict); + addIosBackgroundModes (dict); + } + + for (int i = 0; i < xcodeExtraPListEntries.size(); ++i) + dict->addChildElement (new XmlElement (xcodeExtraPListEntries.getReference(i))); + + MemoryOutputStream mo; + plist->writeToStream (mo, ""); + + overwriteFileIfDifferentOrThrow (infoPlistFile, mo); + } + + //============================================================================== + void addIosScreenOrientations (XmlElement* dict) const + { + String screenOrientation = owner.getScreenOrientationString(); + StringArray iOSOrientations; + + if (screenOrientation.contains ("portrait")) { iOSOrientations.add ("UIInterfaceOrientationPortrait"); } + if (screenOrientation.contains ("landscape")) { iOSOrientations.add ("UIInterfaceOrientationLandscapeLeft"); iOSOrientations.add ("UIInterfaceOrientationLandscapeRight"); } + + addArrayToPlist (dict, "UISupportedInterfaceOrientations", iOSOrientations); + + } + + //============================================================================== + void addIosBackgroundModes (XmlElement* dict) const + { + StringArray iosBackgroundModes; + if (owner.isBackgroundAudioEnabled()) iosBackgroundModes.add ("audio"); + if (owner.isBackgroundBleEnabled()) iosBackgroundModes.add ("bluetooth-central"); + + addArrayToPlist (dict, "UIBackgroundModes", iosBackgroundModes); + } + + //============================================================================== + static void addArrayToPlist (XmlElement* dict, String arrayKey, const StringArray& arrayElements) + { + dict->createNewChildElement ("key")->addTextElement (arrayKey); + XmlElement* plistStringArray = dict->createNewChildElement ("array"); + + for (int i = 0; i < arrayElements.size(); ++i) + plistStringArray->createNewChildElement ("string")->addTextElement (arrayElements[i]); + } + + //============================================================================== + void addShellScriptBuildPhase (const String& phaseName, const String& script) + { + 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); + } + } + + void addCopyFilesPhase (const String& phaseName, const StringArray& files, XcodeCopyFilesDestinationIDs dst) + { + ValueTree& v = addBuildPhase ("PBXCopyFilesBuildPhase", files, phaseName); + v.setProperty ("dstPath", "", nullptr); + v.setProperty ("dstSubfolderSpec", (int) dst, nullptr); + } + + private: + //============================================================================== + void addExtraAudioUnitTargetSettings() + { + xcodeOtherRezFlags = "-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\\\""; + + xcodeFrameworks.addTokens ("AudioUnit CoreAudioKit", false); + + XmlElement plistKey ("key"); + plistKey.addTextElement ("AudioComponents"); + + XmlElement plistEntry ("array"); + XmlElement* dict = plistEntry.createNewChildElement ("dict"); + + addPlistDictionaryKey (dict, "name", owner.project.getPluginManufacturer().toString() + + ": " + owner.project.getPluginName().toString()); + addPlistDictionaryKey (dict, "description", owner.project.getPluginDesc().toString()); + addPlistDictionaryKey (dict, "factoryFunction", owner.project.getPluginAUExportPrefix().toString() + "Factory"); + addPlistDictionaryKey (dict, "manufacturer", owner.project.getPluginManufacturerCode().toString().trim().substring (0, 4)); + addPlistDictionaryKey (dict, "type", owner.project.getAUMainTypeCode()); + addPlistDictionaryKey (dict, "subtype", owner.project.getPluginCode().toString().trim().substring (0, 4)); + addPlistDictionaryKeyInt (dict, "version", owner.project.getVersionAsHexInteger()); + + xcodeExtraPListEntries.add (plistKey); + xcodeExtraPListEntries.add (plistEntry); + } + + void addExtraAudioUnitv3PlugInTargetSettings() + { + if (owner.isiOS()) + xcodeFrameworks.addTokens ("CoreAudioKit AVFoundation", false); + else + xcodeFrameworks.addTokens ("AudioUnit CoreAudioKit AVFoundation", false); + + XmlElement plistKey ("key"); + plistKey.addTextElement ("NSExtension"); + + XmlElement plistEntry ("dict"); + + addPlistDictionaryKey (&plistEntry, "NSExtensionPrincipalClass", owner.project.getPluginAUExportPrefix().toString() + "FactoryAUv3"); + addPlistDictionaryKey (&plistEntry, "NSExtensionPointIdentifier", "com.apple.AudioUnit-UI"); + plistEntry.createNewChildElement ("key")->addTextElement ("NSExtensionAttributes"); + + XmlElement* dict = plistEntry.createNewChildElement ("dict"); + dict->createNewChildElement ("key")->addTextElement ("AudioComponents"); + XmlElement* componentArray = dict->createNewChildElement ("array"); + + XmlElement* componentDict = componentArray->createNewChildElement ("dict"); + + addPlistDictionaryKey (componentDict, "name", owner.project.getPluginManufacturer().toString() + + ": " + owner.project.getPluginName().toString()); + addPlistDictionaryKey (componentDict, "description", owner.project.getPluginDesc().toString()); + addPlistDictionaryKey (componentDict, "factoryFunction",owner.project. getPluginAUExportPrefix().toString() + "FactoryAUv3"); + addPlistDictionaryKey (componentDict, "manufacturer", owner.project.getPluginManufacturerCode().toString().trim().substring (0, 4)); + addPlistDictionaryKey (componentDict, "type", owner.project.getAUMainTypeCode()); + addPlistDictionaryKey (componentDict, "subtype", owner.project.getPluginCode().toString().trim().substring (0, 4)); + addPlistDictionaryKeyInt (componentDict, "version", owner.project.getVersionAsHexInteger()); + addPlistDictionaryKeyBool (componentDict, "sandboxSafe", true); + + componentDict->createNewChildElement ("key")->addTextElement ("tags"); + XmlElement* tagsArray = componentDict->createNewChildElement ("array"); + + tagsArray->createNewChildElement ("string")->addTextElement (static_cast (owner.project.getPluginIsSynth().getValue()) ? "Synth" : "Effects"); + + xcodeExtraPListEntries.add (plistKey); + xcodeExtraPListEntries.add (plistEntry); + } + + void addExtraAAXTargetSettings() + { + const RelativePath aaxLibsFolder = RelativePath (owner.getAAXPathValue().toString(), RelativePath::projectFolder).getChildFile ("Libs"); + + xcodeExtraLibrariesDebug.add (aaxLibsFolder.getChildFile ("Debug/libAAXLibrary.a")); + xcodeExtraLibrariesRelease.add (aaxLibsFolder.getChildFile ("Release/libAAXLibrary.a")); + } + + void addExtraRTASTargetSettings() + { + RelativePath rtasFolder (owner.getRTASPathValue().toString(), RelativePath::projectFolder); + + xcodeExtraLibrariesDebug.add (rtasFolder.getChildFile ("MacBag/Libs/Debug/libPluginLibrary.a")); + xcodeExtraLibrariesRelease.add (rtasFolder.getChildFile ("MacBag/Libs/Release/libPluginLibrary.a")); + } + + //============================================================================== + const XCodeProjectExporter& owner; + + Target& operator= (const Target&) JUCE_DELETED_FUNCTION; + }; + + mutable StringArray xcodeFrameworks; + StringArray xcodeLibs; + +private: + //============================================================================== + bool xcodeCanUseDwarf; + OwnedArray targets; + + mutable OwnedArray pbxBuildFiles, pbxFileReferences, pbxGroups, misc, projectConfigs, targetConfigs; + mutable StringArray resourceIDs, sourceIDs, targetIDs; + mutable StringArray frameworkFileIDs, rezFileIDs, resourceFileRefs; + mutable File menuNibFile, iconFile; + mutable StringArray buildProducts; + + 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 + { + prepareTargets(); + + addFrameworks(); + addCustomResourceFolders(); + addPlistFileReferences(); + + if (iOS && ! projectType.isStaticLibrary()) + addXcassets(); + else + addNibFiles(); + + addIcons(); + addBuildConfigurations(); + + addProjectConfigList (projectConfigs, createID ("__projList")); + + { + StringArray topLevelGroupIDs; + + addFilesAndGroupsToProject (topLevelGroupIDs); + addBuildPhases(); + addExtraGroupsToProject (topLevelGroupIDs); + + addGroup (createID ("__mainsourcegroup"), "Source", topLevelGroupIDs); + } + + addProjectObject(); + removeMismatchedXcuserdata(); + } + + void prepareTargets() const + { + for (int targetIdx = 0; targetIdx < targets.size(); ++targetIdx) + { + Target& target = *targets[targetIdx]; + + if (target.type == Target::AggregateTarget) + continue; + + target.addMainBuildProduct(); + + String targetName = target.getName(); + String fileID (createID (targetName + String ("__targetbuildref"))); + String fileRefID (createID (String ("__productFileID") + targetName)); + + ValueTree* v = new ValueTree (fileID); + v->setProperty ("isa", "PBXBuildFile", nullptr); + v->setProperty ("fileRef", fileRefID, nullptr); + + target.mainBuildProductID = fileID; + + pbxBuildFiles.add (v); + target.addDependency(); + } + } + + void addPlistFileReferences() const + { + for (int targetIdx = 0; targetIdx < targets.size(); ++targetIdx) + { + Target& target = *targets[targetIdx]; + + if (target.type == Target::AggregateTarget) + continue; + + if (target.xcodeCreatePList) + { + RelativePath plistPath (target.infoPlistFile, getTargetFolder(), RelativePath::buildTargetFolder); + addFileReference (plistPath.toUnixStyle()); + resourceFileRefs.add (createFileRefID (plistPath)); + } + } + + } + + void addNibFiles() const + { + 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)); + } + + void addIcons() const + { + if (iconFile.exists()) + { + RelativePath iconPath (iconFile, getTargetFolder(), RelativePath::buildTargetFolder); + addFileReference (iconPath.toUnixStyle()); + resourceIDs.add (addBuildFile (iconPath, false, false)); + resourceFileRefs.add (createFileRefID (iconPath)); + } + } + + void addBuildConfigurations() const + { + // add build configurations + for (ConstConfigIterator config (*this); config.next();) + { + const XcodeBuildConfiguration& xcodeConfig = dynamic_cast (*config); + addProjectConfig (config->getName(), getProjectSettings (xcodeConfig)); + } + } + + void addFilesAndGroupsToProject (StringArray& topLevelGroupIDs) const + { + if (! isiOS() && project.getProjectType().isAudioPlugin()) + topLevelGroupIDs.add (addEntitlementsFile()); + + for (int i = 0; i < getAllGroups().size(); ++i) + { + const Project::Item& group = getAllGroups().getReference(i); + + if (group.getNumChildren() > 0) + topLevelGroupIDs.add (addProjectItem (group)); + } + } + + void addExtraGroupsToProject (StringArray& topLevelGroupIDs) const + { + { // 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")); + addGroup (productsGroupID, "Products", buildProducts); + topLevelGroupIDs.add (productsGroupID); + } + } + + void addBuildPhases() const + { + // add build phases + for (int i = 0; i < targets.size(); ++i) + { + Target& target = *targets[i]; + + if (target.type != Target::AggregateTarget) + buildProducts.add (createID (String ("__productFileID") + String (target.getName()))); + + for (ConstConfigIterator config (*this); config.next();) + { + const XcodeBuildConfiguration& xcodeConfig = dynamic_cast (*config); + target.addTargetConfig (config->getName(), target.getTargetSettings (xcodeConfig)); + } + + addConfigList (target, targetConfigs, createID (String ("__configList") + target.getName())); + + target.addShellScriptBuildPhase ("Pre-build script", getPreBuildScript()); + + if (target.type != Target::AggregateTarget) + { + // TODO: ideally resources wouldn't be copied into the AUv3 bundle as well. + // However, fixing this requires supporting App groups -> TODO: add app groups + if (! projectType.isStaticLibrary() && target.type != Target::SharedCodeTarget) + target.addBuildPhase ("PBXResourcesBuildPhase", resourceIDs); + + StringArray rezFiles (rezFileIDs); + rezFiles.addArray (target.rezFileIDs); + + if (rezFiles.size() > 0) + target.addBuildPhase ("PBXRezBuildPhase", rezFiles); + + if (project.getProjectType().isAudioPlugin() && target.type != Target::SharedCodeTarget && target.type != Target::AudioUnitv3PlugIn) + { + if (Target* sharedCodeTarget = getTargetOfType (Target::SharedCodeTarget)) + { + StringArray files; + files.add (sharedCodeTarget->mainBuildProductID); + target.addCopyFilesPhase ("Embed Frameworks", files, kFrameworksFolder); + } + } + + StringArray sourceFiles (target.sourceIDs); + + if (target.type == Target::SharedCodeTarget + || (! project.getProjectType().isAudioPlugin())) + sourceFiles.addArray (sourceIDs); + + target.addBuildPhase ("PBXSourcesBuildPhase", sourceFiles); + + if (! projectType.isStaticLibrary()) + target.addBuildPhase ("PBXFrameworksBuildPhase", target.frameworkIDs); + + target.addShellScriptBuildPhase ("Post-build script", getPostBuildScript()); + } + + if (project.getProjectType().isAudioPlugin() && project.shouldBuildAUv3().getValue() + && project.shouldBuildStandalone().getValue() && target.type == Target::StandalonePlugIn) + embedAppExtension(); + + addTargetObject (target); + } + } + + void embedAppExtension() const + { + if (Target* standaloneTarget = getTargetOfType (Target::StandalonePlugIn)) + { + if (Target* auv3Target = getTargetOfType (Target::AudioUnitv3PlugIn)) + { + StringArray files; + files.add (auv3Target->mainBuildProductID); + standaloneTarget->addCopyFilesPhase ("Embed App Extensions", files, kPluginsFolder); + } + } + } + + 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); + } + + //============================================================================== + Target* getTargetOfType (Target::Type type) const + { + for (auto& target : targets) + if (target->type == type) + return target; + + return nullptr; + } + + void addTargetObject (Target& target) const + { + String targetName = target.getName(); + + String targetID = target.getID(); + ValueTree* const v = new ValueTree (targetID); + v->setProperty ("isa", target.type == Target::AggregateTarget ? "PBXAggregateTarget" : "PBXNativeTarget", nullptr); + v->setProperty ("buildConfigurationList", createID (String ("__configList") + targetName), nullptr); + + if (target.type != Target::AggregateTarget) + { + v->setProperty ("buildPhases", indentParenthesisedList (target.buildPhaseIDs), nullptr); + v->setProperty ("buildRules", "( )", nullptr); + } + + v->setProperty ("dependencies", indentParenthesisedList (getTargetDependencies (target)), nullptr); + v->setProperty (Ids::name, target.getXCodeSchemeName(), nullptr); + v->setProperty ("productName", projectName, nullptr); + + if (target.type != Target::AggregateTarget) + { + v->setProperty ("productReference", createID (String ("__productFileID") + targetName), nullptr); + + if (target.xcodeProductInstallPath.isNotEmpty()) + v->setProperty ("productInstallPath", target.xcodeProductInstallPath, nullptr); + + jassert (target.xcodeProductType.isNotEmpty()); + v->setProperty ("productType", target.xcodeProductType, nullptr); + } + + targetIDs.add (targetID); + misc.add (v); + } + + StringArray getTargetDependencies (const Target& target) const + { + StringArray dependencies; + + if (project.getProjectType().isAudioPlugin()) + { + if (target.type == Target::StandalonePlugIn) // depends on AUv3 and shared code + { + if (Target* auv3Target = getTargetOfType (Target::AudioUnitv3PlugIn)) + dependencies.add (auv3Target->getDependencyID()); + + if (Target* sharedCodeTarget = getTargetOfType (Target::SharedCodeTarget)) + dependencies.add (sharedCodeTarget->getDependencyID()); + } + else if (target.type == Target::AggregateTarget) // depends on all other targets + { + for (int i = 1; i < targets.size(); ++i) + dependencies.add (targets[i]->getDependencyID()); + } + else if (target.type != Target::SharedCodeTarget) // shared code doesn't depend on anything; all other targets depend only on the shared code + { + if (Target* sharedCodeTarget = getTargetOfType (Target::SharedCodeTarget)) + dependencies.add (sharedCodeTarget->getDependencyID()); + } + } + + return dependencies; + } + + 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 writeInfoPlistFiles() const + { + for (auto& target : targets) + target->writeInfoPlistFile(); + } + + 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)); + } + + 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"); + } + + String codeSignIdentity = config.getCodeSignIdentity().isNotEmpty() ? config.getCodeSignIdentity() + : (iOS ? "iPhone Developer" : "Mac Developer"); + + if (iOS) + { + s.add ("\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = " + codeSignIdentity.quoted()); + + 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); + } + else + { + if (config.getCodeSignIdentity().isNotEmpty() || getIosDevelopmentTeamIDString().isNotEmpty()) + s.add ("\"CODE_SIGN_IDENTITY\" = " + codeSignIdentity.quoted()); + } + + s.add ("ZERO_LINK = NO"); + + if (xcodeCanUseDwarf) + s.add ("DEBUG_INFORMATION_FORMAT = \"dwarf\""); + + s.add ("PRODUCT_NAME = \"" + replacePreprocessorTokens (config, config.getTargetBinaryNameString()) + "\""); + return s; + } + + void addFrameworks() const + { + if (! projectType.isStaticLibrary()) + { + if (iOS && isInAppPurchasesEnabled()) + xcodeFrameworks.addIfNotAlreadyThere ("StoreKit"); + + xcodeFrameworks.addTokens (getExtraFrameworksString(), ",;", "\"'"); + + StringArray s (xcodeFrameworks); + + for (auto& target : targets) + s.addArray (target->xcodeFrameworks); + + 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) + { + String frameworkID = addFramework (s[i]); + + // find all the targets that are referring to this object + for (auto& target : targets) + { + if (xcodeFrameworks.contains (s[i]) || target->xcodeFrameworks.contains (s[i])) + target->frameworkIDs.add (frameworkID); + } + } + + if (project.getProjectType().isAudioPlugin()) + { + if (Target* sharedCodeTarget = getTargetOfType (Target::SharedCodeTarget)) + { + for (auto& target : targets) + if (target->type != Target::SharedCodeTarget && target->type != Target::AggregateTarget) + target->frameworkIDs.add (sharedCodeTarget->mainBuildProductID); + } + } + } + } + + void addCustomResourceFolders() const + { + StringArray crf; + + crf.addTokens (getCustomResourceFoldersString(), ":", ""); + crf.trim(); + + for (int i = 0; i < crf.size(); ++i) + addCustomResourceFolder (crf[i]); + } + + void addXcassets() const + { + String customXcassetsPath = getCustomXcassetsFolderString(); + + if (customXcassetsPath.isEmpty()) + createXcassetsFolderFromIcons(); + else + addCustomResourceFolder (customXcassetsPath, "folder.assetcatalog"); + } + + void addCustomResourceFolder (String folderPathRelativeToProjectFolder, const String fileType = "folder") const + { + String folderPath = RelativePath (folderPathRelativeToProjectFolder, RelativePath::projectFolder) + .rebased (projectFolder, getTargetFolder(), RelativePath::buildTargetFolder) + .toUnixStyle(); + + const String fileRefID (createFileRefID (folderPath)); + + addFileOrFolderReference (folderPath, "", fileType); + + resourceIDs.add (addBuildFile (folderPath, fileRefID, false, false)); + resourceFileRefs.add (createFileRefID (folderPath)); + } + + //============================================================================== + 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, Target* xcodeTarget = nullptr) const + { + String fileID (createID (path + "buildref")); + + if (addToSourceBuildPhase) + { + if (xcodeTarget != nullptr) xcodeTarget->sourceIDs.add (fileID); + else 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, Target* xcodeTarget = nullptr) const + { + return addBuildFile (path.toUnixStyle(), createFileRefID (path), addToSourceBuildPhase, inhibitWarnings, xcodeTarget); + } + + 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 = ""; + } + + String fileType = getFileType (path); + + return addFileOrFolderReference (pathString, sourceTree, fileType); + } + + String addFileOrFolderReference (String pathString, String sourceTree, String fileType) const + { + const String fileRefID (createFileRefID (pathString)); + + ScopedPointer v (new ValueTree (fileRefID)); + v->setProperty ("isa", "PBXFileReference", nullptr); + v->setProperty ("lastKnownFileType", fileType, 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 ("entitlements")) 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, Target* xcodeTarget) const + { + const String pathAsString (path.toUnixStyle()); + const String refID (addFileReference (path.toUnixStyle())); + + if (shouldBeCompiled) + { + if (path.hasFileExtension (".r")) + { + String rezFileID = addBuildFile (pathAsString, refID, false, inhibitWarnings, xcodeTarget); + + if (xcodeTarget != nullptr) xcodeTarget->rezFileIDs.add (rezFileID); + else rezFileIDs.add (rezFileID); + } + else + addBuildFile (pathAsString, refID, true, inhibitWarnings, xcodeTarget); + } + 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 getEntitlementsFileName() const + { + return project.getProjectFilenameRoot() + String (".entitlements"); + } + + String addEntitlementsFile() const + { + const char* sandboxEntitlement = + "" + "" + "" + "" + " com.apple.security.app-sandbox" + " " + "" + ""; + + File entitlementsFile = getTargetFolder().getChildFile (getEntitlementsFileName()); + overwriteFileIfDifferentOrThrow (entitlementsFile, sandboxEntitlement); + + RelativePath plistPath (entitlementsFile, getTargetFolder(), RelativePath::buildTargetFolder); + return addFile (plistPath, false, false, false, false, nullptr); + } + + 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); + + Target* xcodeTarget = nullptr; + if (projectItem.isModuleCode() && projectItem.shouldBeCompiled()) + { + const File& file = projectItem.getFile(); + + Target::Type targetType = Target::unspecified; + if (LibraryModule::CompileUnit::hasSuffix (file, "_AU")) targetType = Target::AudioUnitPlugIn; + else if (LibraryModule::CompileUnit::hasSuffix (file, "_AUv3")) targetType = Target::AudioUnitv3PlugIn; + else if (LibraryModule::CompileUnit::hasSuffix (file, "_AAX")) targetType = Target::AAXPlugIn; + else if (LibraryModule::CompileUnit::hasSuffix (file, "_RTAS")) targetType = Target::RTASPlugIn; + else if (LibraryModule::CompileUnit::hasSuffix (file, "_VST2")) targetType = Target::VSTPlugIn; + else if (LibraryModule::CompileUnit::hasSuffix (file, "_VST3")) targetType = Target::VST3PlugIn; + else if (LibraryModule::CompileUnit::hasSuffix (file, "_Standalone")) targetType = Target::StandalonePlugIn; + + int i; + for (i = 0; i < targets.size(); ++i) + if (targetType == targets[i]->type) break; + + if (i < targets.size()) xcodeTarget = targets[i]; + } + + return addFile (path, projectItem.shouldBeCompiled(), + projectItem.shouldBeAddedToBinaryResources(), + projectItem.shouldBeAddedToXcodeResources(), + projectItem.shouldInhibitWarnings(), + xcodeTarget); + } + + return String(); + } + + String 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); + frameworkFileIDs.add (fileRefID); + + return addBuildFile (path, fileRefID, false, false); + } + + 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 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 (Target& target, const OwnedArray & configsToUse, const String& listID) const + { + ValueTree* v = new ValueTree (listID); + v->setProperty ("isa", "XCConfigurationList", nullptr); + v->setProperty ("buildConfigurations", indentParenthesisedList (target.configIDs), nullptr); + v->setProperty ("defaultConfigurationIsVisible", (int) 0, nullptr); + + if (configsToUse[0] != nullptr) + v->setProperty ("defaultConfigurationName", configsToUse[0]->getProperty (Ids::name), nullptr); + + misc.add (v); + } + + void addProjectConfigList (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); + } + + void addProjectObject() const + { + ValueTree* const v = new ValueTree (createID ("__root")); + v->setProperty ("isa", "PBXProject", nullptr); + v->setProperty ("buildConfigurationList", createID ("__projList"), nullptr); + v->setProperty ("attributes", getProjectObjectAttributes(), 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); + + String targetString = "(" + targetIDs.joinIntoString (", ") + ")"; + v->setProperty ("targets", targetString, nullptr); + misc.add (v); + } + + //============================================================================== + void removeMismatchedXcuserdata() const + { + File xcuserdata = getProjectBundle().getChildFile ("xcuserdata"); + + if (! xcuserdata.exists()) + return; + + if (! xcuserdataMatchesTargets (xcuserdata)) + { + xcuserdata.deleteRecursively(); + getProjectBundle().getChildFile ("project.xcworkspace").deleteRecursively(); + } + } + + bool xcuserdataMatchesTargets (const File& xcuserdata) const + { + Array xcschemeManagementPlists; + xcuserdata.findChildFiles (xcschemeManagementPlists, File::findFiles, true, "xcschememanagement.plist"); + + for (auto& plist : xcschemeManagementPlists) + if (! xcschemeManagementPlistMatchesTargets (plist)) + return false; + + return true; + } + + static StringArray parseNamesOfTargetsFromPlist (const XmlElement& dictXML) + { + forEachXmlChildElementWithTagName (dictXML, schemesKey, "key") + { + if (schemesKey->getAllSubText().trim().equalsIgnoreCase ("SchemeUserState")) + { + if (auto* dict = schemesKey->getNextElement()) + { + if (dict->hasTagName ("dict")) + { + StringArray names; + + forEachXmlChildElementWithTagName (*dict, key, "key") + names.add (key->getAllSubText().upToLastOccurrenceOf (".xcscheme", false, false).trim()); + + names.sort (false); + return names; + } + } + } + } + + return StringArray(); + } + + StringArray getNamesOfTargets() const + { + StringArray names; + + for (auto& target : targets) + names.add (target->getXCodeSchemeName()); + + names.sort (false); + return names; + } + + bool xcschemeManagementPlistMatchesTargets (const File& plist) const + { + ScopedPointer xml (XmlDocument::parse (plist)); + + if (xml != nullptr) + if (auto* dict = xml->getChildByName ("dict")) + return parseNamesOfTargetsFromPlist (*dict) == getNamesOfTargets(); + + return false; + } + + //============================================================================== + 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); + } + + String getProjectObjectAttributes() const + { + String attributes; + + attributes << "{ LastUpgradeCheck = 0440; "; + + if (projectType.isGUIApplication() || projectType.isAudioPlugin()) + { + attributes << "TargetAttributes = { "; + + for (auto& target : targets) + attributes << target->getTargetAttributes(); + + attributes << " }; "; + } + + attributes << "}"; + + return attributes; + } + + //============================================================================== + 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 createXcassetsFolderFromIcons() 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))); + } + + void addRTASPluginSettings() + { + xcodeCanUseDwarf = false; + + extraSearchPaths.add ("$(DEVELOPER_DIR)/Headers/FlatCarbon"); + extraSearchPaths.add ("$(SDKROOT)/Developer/Headers/FlatCarbon"); + + static const char* p[] = { "AlturaPorts/TDMPlugIns/PlugInLibrary/Controls", + "AlturaPorts/TDMPlugIns/PlugInLibrary/CoreClasses", + "AlturaPorts/TDMPlugIns/PlugInLibrary/DSPClasses", + "AlturaPorts/TDMPlugIns/PlugInLibrary/EffectClasses", + "AlturaPorts/TDMPlugIns/PlugInLibrary/MacBuild", + "AlturaPorts/TDMPlugIns/PlugInLibrary/Meters", + "AlturaPorts/TDMPlugIns/PlugInLibrary/ProcessClasses", + "AlturaPorts/TDMPlugIns/PlugInLibrary/ProcessClasses/Interfaces", + "AlturaPorts/TDMPlugIns/PlugInLibrary/RTASP_Adapt", + "AlturaPorts/TDMPlugIns/PlugInLibrary/Utilities", + "AlturaPorts/TDMPlugIns/PlugInLibrary/ViewClasses", + "AlturaPorts/TDMPlugIns/DSPManager/**", + "AlturaPorts/TDMPlugIns/SupplementalPlugInLib/Encryption", + "AlturaPorts/TDMPlugIns/SupplementalPlugInLib/GraphicsExtensions", + "AlturaPorts/TDMPlugIns/common/**", + "AlturaPorts/TDMPlugIns/common/PI_LibInterface", + "AlturaPorts/TDMPlugIns/PACEProtection/**", + "AlturaPorts/TDMPlugIns/SignalProcessing/**", + "AlturaPorts/OMS/Headers", + "AlturaPorts/Fic/Interfaces/**", + "AlturaPorts/Fic/Source/SignalNets", + "AlturaPorts/DSIPublicInterface/PublicHeaders", + "DAEWin/Include", + "AlturaPorts/DigiPublic/Interfaces", + "AlturaPorts/DigiPublic", + "AlturaPorts/NewFileLibs/DOA", + "AlturaPorts/NewFileLibs/Cmn", + "xplat/AVX/avx2/avx2sdk/inc", + "xplat/AVX/avx2/avx2sdk/utils" }; + + RelativePath rtasFolder (getRTASPathValue().toString(), RelativePath::projectFolder); + + for (int i = 0; i < numElementsInArray (p); ++i) + addToExtraSearchPaths (rtasFolder.getChildFile (p[i])); + } + + JUCE_DECLARE_NON_COPYABLE (XCodeProjectExporter) +}; diff --git a/extras/Introjucer/Source/Project Saving/jucer_ProjectExporter.cpp b/extras/Projucer/Source/Project Saving/jucer_ProjectExporter.cpp similarity index 84% rename from extras/Introjucer/Source/Project Saving/jucer_ProjectExporter.cpp rename to extras/Projucer/Source/Project Saving/jucer_ProjectExporter.cpp index a7121161c0..5f2e7c2175 100644 --- a/extras/Introjucer/Source/Project Saving/jucer_ProjectExporter.cpp +++ b/extras/Projucer/Source/Project Saving/jucer_ProjectExporter.cpp @@ -173,10 +173,7 @@ bool ProjectExporter::canProjectBeLaunched (Project* project) //============================================================================== ProjectExporter::ProjectExporter (Project& p, const ValueTree& state) - : xcodeIsBundle (false), - xcodeCreatePList (false), - xcodeCanUseDwarf (true), - makefileIsDLL (false), + : makefileIsDLL (false), msvcIsDLL (false), msvcIsWindowsSubsystem (true), settings (state), @@ -208,17 +205,14 @@ bool ProjectExporter::shouldFileBeCompiledByDefault (const RelativePath& file) c || file.hasFileExtension (asmFileExtensions); } +//============================================================================== void ProjectExporter::createPropertyEditors (PropertyListBuilder& props) { props.add (new TextPropertyComponent (getTargetLocationValue(), "Target Project Folder", 2048, false), "The location of the folder in which the " + name + " project will be created. " "This path can be absolute, but it's much more sensible to make it relative to the jucer project directory."); - OwnedArray modules; - project.getModules().createRequiredModules (modules); - - for (int i = 0; i < modules.size(); ++i) - modules.getUnchecked(i)->createPropertyEditors (*this, props); + createDependencyPathProperties (props); props.add (new TextPropertyComponent (getExporterPreprocessorDefs(), "Extra Preprocessor Definitions", 32768, true), "Extra preprocessor definitions. Use the form \"NAME1=value NAME2=value\", using whitespace, commas, " @@ -236,30 +230,7 @@ void ProjectExporter::createPropertyEditors (PropertyListBuilder& props) "Additional libraries to link (one per line). You should not add any platform specific decoration to these names. " "This string can contain references to preprocessor definitions in the form ${NAME_OF_VALUE}, which will be replaced with their values."); - { - OwnedArray images; - project.findAllImageItems (images); - - StringArray choices; - Array ids; - - choices.add (""); - ids.add (var::null); - choices.add (String::empty); - ids.add (var::null); - - for (int i = 0; i < images.size(); ++i) - { - choices.add (images.getUnchecked(i)->getName()); - ids.add (images.getUnchecked(i)->getID()); - } - - props.add (new ChoicePropertyComponent (getSmallIconImageItemID(), "Icon (small)", choices, ids), - "Sets an icon to use for the executable."); - - props.add (new ChoicePropertyComponent (getBigIconImageItemID(), "Icon (large)", choices, ids), - "Sets an icon to use for the executable."); - } + createIconProperties (props); createExporterProperties (props); @@ -267,6 +238,118 @@ void ProjectExporter::createPropertyEditors (PropertyListBuilder& props) "Extra comments: This field is not used for code or project generation, it's just a space where you can express your thoughts."); } +void ProjectExporter::createDependencyPathProperties (PropertyListBuilder& props) +{ + if (supportsVST() && (project.shouldBuildVST().getValue() || project.isVSTPluginHost())) + { + props.add (new DependencyPathPropertyComponent (getVSTPathValue (false), "VST SDK Folder"), + "If you're building a VST plugin or host, this must be the folder containing the VST SDK. This should be an absolute path."); + } + + if (supportsVST3() && (project.shouldBuildVST3().getValue() || project.isVST3PluginHost())) + { + props.add (new DependencyPathPropertyComponent (getVSTPathValue (true), "VST3 SDK Folder"), + "If you're building a VST3 plugin or host, this must be the folder containing the VST3 SDK. This should be an absolute path."); + } + + if (supportsAAX() && project.shouldBuildAAX().getValue()) + { + props.add (new DependencyPathPropertyComponent (getAAXPathValue(), "AAX SDK Folder"), + "If you're building an AAX plugin, this must be the folder containing the AAX SDK. This should be an absolute path."); + } + + if (supportsRTAS() && project.shouldBuildRTAS().getValue()) + { + props.add (new DependencyPathPropertyComponent (getRTASPathValue(), "RTAS SDK Folder"), + "If you're building an RTAS, this must be the folder containing the RTAS SDK. This should be an absolute path."); + } +} + +void ProjectExporter::createIconProperties (PropertyListBuilder& props) +{ + OwnedArray images; + project.findAllImageItems (images); + + StringArray choices; + Array ids; + + choices.add (""); + ids.add (var::null); + choices.add (String::empty); + ids.add (var::null); + + for (int i = 0; i < images.size(); ++i) + { + choices.add (images.getUnchecked(i)->getName()); + ids.add (images.getUnchecked(i)->getID()); + } + + props.add (new ChoicePropertyComponent (getSmallIconImageItemID(), "Icon (small)", choices, ids), + "Sets an icon to use for the executable."); + + props.add (new ChoicePropertyComponent (getBigIconImageItemID(), "Icon (large)", choices, ids), + "Sets an icon to use for the executable."); +} + +//============================================================================== +void ProjectExporter::addSettingsForProjectType (const ProjectType& type) +{ + addVSTPathsIfPluginOrHost(); + + if (type.isAudioPlugin()) + addCommonAudioPluginSettings(); + + addPlatformSpecificSettingsForProjectType (type); +} + +void ProjectExporter::addVSTPathsIfPluginOrHost() +{ + if (supportsVST() && (project.shouldBuildVST().getValue() || project.isVSTPluginHost())) + { + makefileTargetSuffix = ".so"; + addVSTFolderToPath (false); + } + if (supportsVST3() && (project.shouldBuildVST3().getValue() || project.isVST3PluginHost())) + { + makefileTargetSuffix = ".so"; + addVSTFolderToPath (true); + } +} + +void ProjectExporter::addCommonAudioPluginSettings() +{ + if (isLinux() && (getProject().shouldBuildVST().getValue() || getProject().shouldBuildVST3().getValue())) + makefileExtraLinkerFlags.add ("-Wl,--no-undefined"); + + if (supportsAAX() && getProject().shouldBuildAAX().getValue()) + addAAXFoldersToPath(); + + // Note: RTAS paths are platform-dependent, impl -> addPlatformSpecificSettingsForProjectType + } + +void ProjectExporter::addVSTFolderToPath (bool isVST3) +{ + const String vstFolder (getVSTPathValue (isVST3).toString()); + + if (vstFolder.isNotEmpty()) + addToExtraSearchPaths (RelativePath (vstFolder, RelativePath::projectFolder), 0); +} + +void ProjectExporter::addAAXFoldersToPath() +{ + const String aaxFolder = getAAXPathValue().toString(); + + if (aaxFolder.isNotEmpty()) + { + const RelativePath aaxFolderPath (getAAXPathValue().toString(), RelativePath::projectFolder); + + addToExtraSearchPaths (aaxFolderPath); + addToExtraSearchPaths (aaxFolderPath.getChildFile ("Interfaces")); + addToExtraSearchPaths (aaxFolderPath.getChildFile ("Interfaces").getChildFile ("ACF")); + } +} + +//============================================================================== StringPairArray ProjectExporter::getAllPreprocessorDefs (const ProjectExporter::BuildConfiguration& config) const { StringPairArray defs (mergePreprocessorDefs (config.getAllPreprocessorDefs(), @@ -306,7 +389,7 @@ Project::Item& ProjectExporter::getModulesGroup() if (modulesGroup == nullptr) { jassert (itemGroups.size() > 0); // must call copyMainGroupFromProject before this. - itemGroups.add (Project::Item::createGroup (project, "Juce Modules", "__modulesgroup__")); + itemGroups.add (Project::Item::createGroup (project, "Juce Modules", "__modulesgroup__", true)); modulesGroup = &(itemGroups.getReference (itemGroups.size() - 1)); } @@ -411,10 +494,9 @@ static bool areCompatibleExporters (const ProjectExporter& p1, const ProjectExpo { return (p1.isVisualStudio() && p2.isVisualStudio()) || (p1.isXcode() && p2.isXcode()) - || (p1.isLinuxMakefile() && p2.isLinuxMakefile()) + || (p1.isMakefile() && p2.isMakefile()) || (p1.isAndroid() && p2.isAndroid()) - || (p1.isCodeBlocksWindows() && p2.isCodeBlocksWindows()) - || (p1.isCodeBlocksLinux() && p2.isCodeBlocksLinux()); + || (p1.isCodeBlocks() && p2.isCodeBlocks() && p1.isWindows() != p2.isLinux()); } void ProjectExporter::createDefaultModulePaths() diff --git a/extras/Introjucer/Source/Project Saving/jucer_ProjectExporter.h b/extras/Projucer/Source/Project Saving/jucer_ProjectExporter.h similarity index 87% rename from extras/Introjucer/Source/Project Saving/jucer_ProjectExporter.h rename to extras/Projucer/Source/Project Saving/jucer_ProjectExporter.h index d987a2b7a8..3c8059648b 100644 --- a/extras/Introjucer/Source/Project Saving/jucer_ProjectExporter.h +++ b/extras/Projucer/Source/Project Saving/jucer_ProjectExporter.h @@ -57,7 +57,8 @@ public: static String getCurrentPlatformExporterName(); - //============================================================================= + //============================================================================== + // capabilities of exporter virtual bool usesMMFiles() const = 0; virtual void createExporterProperties (PropertyListBuilder&) = 0; virtual bool canLaunchProject() = 0; @@ -65,20 +66,33 @@ public: virtual void create (const OwnedArray&) const = 0; // may throw a SaveError virtual bool shouldFileBeCompiledByDefault (const RelativePath& path) const; virtual bool canCopeWithDuplicateFiles() = 0; - virtual bool supportsUserDefinedConfigurations() const { return true; } + virtual bool supportsUserDefinedConfigurations() const = 0; // false if exporter only supports two configs Debug and Release - virtual bool isXcode() const { return false; } - virtual bool isVisualStudio() const { return false; } - virtual int getVisualStudioVersion() const { return 0; } - virtual bool isCodeBlocksWindows() const { return false; } - virtual bool isCodeBlocksLinux() const { return false; } - virtual bool isLinuxMakefile() const { return false; } + // IDE targeted by exporter + virtual bool isXcode() const = 0; + virtual bool isVisualStudio() const = 0; + virtual bool isCodeBlocks() const = 0; + virtual bool isMakefile() const = 0; + virtual bool isAndroidStudio() const = 0; + virtual bool isAndroidAnt() const = 0; - virtual bool isAndroid() const { return false; } - virtual bool isWindows() const { return false; } - virtual bool isLinux() const { return false; } - virtual bool isOSX() const { return false; } + // operating system targeted by exporter + virtual bool isAndroid() const = 0; + virtual bool isWindows() const = 0; + virtual bool isLinux() const = 0; + virtual bool isOSX() const = 0; + virtual bool isiOS() const = 0; + // cross-platform audio plug-ins supported by exporter + virtual bool supportsVST() const = 0; + virtual bool supportsVST3() const = 0; + virtual bool supportsAAX() const = 0; + virtual bool supportsRTAS() const = 0; + virtual bool supportsAU() const = 0; + virtual bool supportsAUv3() const = 0; + virtual bool supportsStandalone() const = 0; // as in Standalong plug-in type, not GUIApp or ConsoleApp + + //============================================================================== bool mayCompileOnCurrentOS() const { #if JUCE_MAC @@ -162,7 +176,8 @@ public: String message; }; - void createPropertyEditors (PropertyListBuilder& props); + void createPropertyEditors (PropertyListBuilder&); + void addSettingsForProjectType (const ProjectType&); //============================================================================== void copyMainGroupFromProject(); @@ -170,15 +185,6 @@ public: const Array& getAllGroups() const noexcept { jassert (itemGroups.size() > 0); return itemGroups; } Project::Item& getModulesGroup(); - //============================================================================== - String xcodePackageType, xcodeBundleSignature, xcodeBundleExtension; - String xcodeProductType, xcodeProductInstallPath, xcodeFileType; - String xcodeOtherRezFlags, xcodeExcludedFiles64Bit; - bool xcodeIsBundle, xcodeCreatePList, xcodeCanUseDwarf; - StringArray xcodeFrameworks, xcodeLibs; - Array xcodeExtraLibrariesDebug, xcodeExtraLibrariesRelease; - Array xcodeExtraPListEntries; - //============================================================================== String makefileTargetSuffix; bool makefileIsDLL; @@ -353,6 +359,8 @@ protected: return name; } + virtual void addPlatformSpecificSettingsForProjectType (const ProjectType&) = 0; + //============================================================================== static void overwriteFileIfDifferentOrThrow (const File& file, const MemoryOutputStream& newData) { @@ -392,6 +400,14 @@ protected: static Image rescaleImageForIcon (Drawable&, int iconSize); private: + //============================================================================== + void createDependencyPathProperties (PropertyListBuilder&); + void createIconProperties (PropertyListBuilder&); + void addVSTPathsIfPluginOrHost(); + void addCommonAudioPluginSettings(); + void addVSTFolderToPath (bool isVST3); + void addAAXFoldersToPath(); + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ProjectExporter) }; diff --git a/extras/Projucer/Source/Project Saving/jucer_ProjectSaver.cpp b/extras/Projucer/Source/Project Saving/jucer_ProjectSaver.cpp new file mode 100644 index 0000000000..df80d3e1b8 --- /dev/null +++ b/extras/Projucer/Source/Project Saving/jucer_ProjectSaver.cpp @@ -0,0 +1,135 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +#include "../jucer_Headers.h" +#include "jucer_ProjectExporter.h" +#include "jucer_ProjectSaver.h" + +//============================================================================== +namespace +{ + inline int countMaxPluginChannels (const String& configString, bool isInput) + { + StringArray configs; + configs.addTokens (configString, ", {}", StringRef()); + configs.trim(); + configs.removeEmptyStrings(); + jassert ((configs.size() & 1) == 0); // looks like a syntax error in the configs? + + int maxVal = 0; + for (int i = (isInput ? 0 : 1); i < configs.size(); i += 2) + maxVal = jmax (maxVal, configs[i].getIntValue()); + + return maxVal; + } + + inline String valueToBool (const Value& v) + { + return static_cast (v.getValue()) ? "1" : "0"; + } + + inline String valueToStringLiteral (const var& v) + { + return CppTokeniserFunctions::addEscapeChars (v.toString()).quoted(); + } + + inline String valueToCharLiteral (const var& v) + { + return CppTokeniserFunctions::addEscapeChars (v.toString().trim().substring (0, 4)).quoted ('\''); + } +} + +//============================================================================== +void ProjectSaver::writePluginCharacteristicsFile() +{ + StringPairArray flags; + flags.set ("JucePlugin_Build_VST", valueToBool (project.shouldBuildVST())); + flags.set ("JucePlugin_Build_VST3", valueToBool (project.shouldBuildVST3())); + flags.set ("JucePlugin_Build_AU", valueToBool (project.shouldBuildAU())); + flags.set ("JucePlugin_Build_AUv3", valueToBool (project.shouldBuildAUv3())); + flags.set ("JucePlugin_Build_RTAS", valueToBool (project.shouldBuildRTAS())); + flags.set ("JucePlugin_Build_AAX", valueToBool (project.shouldBuildAAX())); + flags.set ("JucePlugin_Build_STANDALONE", valueToBool (project.shouldBuildStandalone())); + flags.set ("JucePlugin_Name", valueToStringLiteral (project.getPluginName())); + flags.set ("JucePlugin_Desc", valueToStringLiteral (project.getPluginDesc())); + flags.set ("JucePlugin_Manufacturer", valueToStringLiteral (project.getPluginManufacturer())); + flags.set ("JucePlugin_ManufacturerWebsite", valueToStringLiteral (project.getCompanyWebsite())); + flags.set ("JucePlugin_ManufacturerEmail", valueToStringLiteral (project.getCompanyEmail())); + flags.set ("JucePlugin_ManufacturerCode", valueToCharLiteral (project.getPluginManufacturerCode())); + flags.set ("JucePlugin_PluginCode", valueToCharLiteral (project.getPluginCode())); + flags.set ("JucePlugin_IsSynth", valueToBool (project.getPluginIsSynth())); + flags.set ("JucePlugin_WantsMidiInput", valueToBool (project.getPluginWantsMidiInput())); + flags.set ("JucePlugin_ProducesMidiOutput", valueToBool (project.getPluginProducesMidiOut())); + flags.set ("JucePlugin_IsMidiEffect", valueToBool (project.getPluginIsMidiEffectPlugin())); + flags.set ("JucePlugin_EditorRequiresKeyboardFocus", valueToBool (project.getPluginEditorNeedsKeyFocus())); + flags.set ("JucePlugin_Version", project.getVersionString()); + flags.set ("JucePlugin_VersionCode", project.getVersionAsHex()); + flags.set ("JucePlugin_VersionString", valueToStringLiteral (project.getVersionString())); + flags.set ("JucePlugin_VSTUniqueID", "JucePlugin_PluginCode"); + flags.set ("JucePlugin_VSTCategory", project.getPluginVSTCategoryString()); + flags.set ("JucePlugin_AUMainType", project.getAUMainTypeString()); + flags.set ("JucePlugin_AUSubType", "JucePlugin_PluginCode"); + flags.set ("JucePlugin_AUExportPrefix", project.getPluginAUExportPrefix().toString()); + flags.set ("JucePlugin_AUExportPrefixQuoted", valueToStringLiteral (project.getPluginAUExportPrefix())); + flags.set ("JucePlugin_AUManufacturerCode", "JucePlugin_ManufacturerCode"); + flags.set ("JucePlugin_CFBundleIdentifier", project.getBundleIdentifier().toString()); + flags.set ("JucePlugin_RTASCategory", project.getPluginRTASCategoryCode()); + flags.set ("JucePlugin_RTASManufacturerCode", "JucePlugin_ManufacturerCode"); + flags.set ("JucePlugin_RTASProductId", "JucePlugin_PluginCode"); + flags.set ("JucePlugin_RTASDisableBypass", valueToBool (project.getPluginRTASBypassDisabled())); + flags.set ("JucePlugin_RTASDisableMultiMono", valueToBool (project.getPluginRTASMultiMonoDisabled())); + flags.set ("JucePlugin_AAXIdentifier", project.getAAXIdentifier().toString()); + flags.set ("JucePlugin_AAXManufacturerCode", "JucePlugin_ManufacturerCode"); + flags.set ("JucePlugin_AAXProductId", "JucePlugin_PluginCode"); + flags.set ("JucePlugin_AAXCategory", project.getPluginAAXCategory().toString()); + flags.set ("JucePlugin_AAXDisableBypass", valueToBool (project.getPluginAAXBypassDisabled())); + flags.set ("JucePlugin_AAXDisableMultiMono", valueToBool (project.getPluginAAXMultiMonoDisabled())); + + { + String plugInChannelConfig = project.getPluginChannelConfigs().toString(); + + if (plugInChannelConfig.isNotEmpty()) + { + flags.set ("JucePlugin_MaxNumInputChannels", String (countMaxPluginChannels (plugInChannelConfig, true))); + flags.set ("JucePlugin_MaxNumOutputChannels", String (countMaxPluginChannels (plugInChannelConfig, false))); + flags.set ("JucePlugin_PreferredChannelConfigurations", plugInChannelConfig); + } + } + + MemoryOutputStream mem; + + mem << "//==============================================================================" << newLine + << "// Audio plugin settings.." << newLine + << newLine; + + for (int i = 0; i < flags.size(); ++i) + { + mem << "#ifndef " << flags.getAllKeys()[i] << newLine + << " #define " << flags.getAllKeys()[i].paddedRight (' ', 32) << " " + << flags.getAllValues()[i] << newLine + << "#endif" << newLine; + } + + setExtraAppConfigFileContent (mem.toString()); +} diff --git a/extras/Introjucer/Source/Project Saving/jucer_ProjectSaver.h b/extras/Projucer/Source/Project Saving/jucer_ProjectSaver.h similarity index 84% rename from extras/Introjucer/Source/Project Saving/jucer_ProjectSaver.h rename to extras/Projucer/Source/Project Saving/jucer_ProjectSaver.h index 2908419efe..9d9fb8d400 100644 --- a/extras/Introjucer/Source/Project Saving/jucer_ProjectSaver.h +++ b/extras/Projucer/Source/Project Saving/jucer_ProjectSaver.h @@ -38,7 +38,7 @@ public: : project (p), projectFile (file), generatedCodeFolder (project.getGeneratedCodeFolder()), - generatedFilesGroup (Project::Item::createGroup (project, getJuceCodeGroupName(), "__generatedcode__")), + generatedFilesGroup (Project::Item::createGroup (project, getJuceCodeGroupName(), "__generatedcode__", true)), hasBinaryData (false) { generatedFilesGroup.setID (getGeneratedGroupID()); @@ -88,6 +88,7 @@ public: if (errors.size() == 0) writeAppConfigFile (modules, appConfigUserContent); if (errors.size() == 0) writeBinaryDataFiles(); if (errors.size() == 0) writeAppHeader (modules); + if (errors.size() == 0) writeModuleCppWrappers (modules); if (errors.size() == 0) writeProjects (modules); if (errors.size() == 0) writeAppConfigFile (modules, appConfigUserContent); // (this is repeated in case the projects added anything to it) @@ -121,7 +122,7 @@ public: if (! generatedCodeFolder.createDirectory()) { addError ("Couldn't create folder: " + generatedCodeFolder.getFullPathName()); - return Project::Item (project, ValueTree()); + return Project::Item (project, ValueTree(), false); } const File file (generatedCodeFolder.getChildFile (filePath)); @@ -129,7 +130,7 @@ public: if (replaceFileIfDifferent (file, newData)) return addFileToGeneratedGroup (file); - return Project::Item (project, ValueTree()); + return Project::Item (project, ValueTree(), true); } Project::Item addFileToGeneratedGroup (const File& file) @@ -322,7 +323,7 @@ private: if (! foundCodeSection) { userContent.add (String::empty); - userContent.add ("// (You can add your own code in this section, and the Introjucer will not overwrite it)"); + userContent.add ("// (You can add your own code in this section, and the Projucer will not overwrite it)"); userContent.add (String::empty); } @@ -350,12 +351,12 @@ private: } } - void writeAppConfig (OutputStream& out, const OwnedArray& modules, const String& userContent) + void writeAppConfig (MemoryOutputStream& out, const OwnedArray& modules, const String& userContent) { writeAutoGenWarningComment (out); out << " There's a section below where you can add your own custom code safely, and the" << newLine - << " Introjucer will preserve the contents of that block, but the best way to change" << newLine - << " any of these definitions is by using the Introjucer's project settings." << newLine + << " Projucer will preserve the contents of that block, but the best way to change" << newLine + << " any of these definitions is by using the Projucer's project settings." << newLine << newLine << " Any commented-out settings will assume their default values." << newLine << newLine @@ -388,13 +389,20 @@ private: int isStandaloneApplication = 1; const ProjectType& type = project.getProjectType(); - if (type.isAudioPlugin() || type.isDynamicLibrary() || type.isBrowserPlugin()) + if (type.isAudioPlugin() || type.isDynamicLibrary()) isStandaloneApplication = 0; - out << "//==============================================================================" << newLine; - out << "#ifndef JUCE_STANDALONE_APPLICATION" << newLine; - out << " #define JUCE_STANDALONE_APPLICATION " << isStandaloneApplication << newLine; - out << "#endif" << newLine; + // Fabian TODO + out << "//==============================================================================" << newLine + << "#ifndef JUCE_STANDALONE_APPLICATION" << newLine + << " #ifdef JucePlugin_Build_Standalone" << newLine + << " #define JUCE_STANDALONE_APPLICATION JucePlugin_Build_Standalone" << newLine + << " #else" << newLine + << " #define JUCE_STANDALONE_APPLICATION " << isStandaloneApplication << newLine + << " #endif" << newLine + << "#endif" << newLine + << newLine + << "#define JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED 1" << newLine; } out << newLine; @@ -450,7 +458,7 @@ private: saveGeneratedFile (project.getAppConfigFilename(), mem); } - void writeAppHeader (OutputStream& out, const OwnedArray& modules) + void writeAppHeader (MemoryOutputStream& out, const OwnedArray& modules) { writeAutoGenWarningComment (out); @@ -468,8 +476,15 @@ private: if (appConfigFile.exists()) out << CodeHelpers::createIncludeStatement (project.getAppConfigFilename()) << newLine; - for (int i = 0; i < modules.size(); ++i) - modules.getUnchecked(i)->writeIncludes (*this, out); + if (modules.size() > 0) + { + out << newLine; + + for (int i = 0; i < modules.size(); ++i) + modules.getUnchecked(i)->writeIncludes (*this, out); + + out << newLine; + } if (hasBinaryData && project.shouldIncludeBinaryInAppConfig().getValue()) out << CodeHelpers::createIncludeStatement (project.getBinaryDataHeaderFile(), appConfigFile) << newLine; @@ -500,6 +515,32 @@ private: saveGeneratedFile (project.getJuceSourceHFilename(), mem); } + void writeModuleCppWrappers (const OwnedArray& modules) + { + for (int j = 0; j < modules.size(); ++j) + { + const LibraryModule& module = *modules.getUnchecked(j); + + Array units = module.getAllCompileUnits(); + + for (int i = 0; i < units.size(); ++i) + { + const LibraryModule::CompileUnit& cu = units.getReference(i); + + MemoryOutputStream mem; + + writeAutoGenWarningComment (mem); + + mem << "*/" << newLine + << newLine + << "#include " << project.getAppConfigFilename().quoted() << newLine + << "#include <" << module.getID() << "/" << cu.file.getFileName() << ">" << newLine; + + replaceFileIfDifferent (generatedCodeFolder.getChildFile (cu.file.getFileName()), mem); + } + } + } + void writeBinaryDataFiles() { const File binaryDataH (project.getBinaryDataHeaderFile()); @@ -551,14 +592,14 @@ private: << " Important Note!!" << newLine << " ================" << newLine << newLine - << "The purpose of this folder is to contain files that are auto-generated by the Introjucer," << newLine + << "The purpose of this folder is to contain files that are auto-generated by the Projucer," << newLine << "and ALL files in this folder will be mercilessly DELETED and completely re-written whenever" << newLine - << "the Introjucer saves your project." << newLine + << "the Projucer saves your project." << newLine << newLine << "Therefore, it's a bad idea to make any manual changes to the files in here, or to" << newLine << "put any of your own files in here if you don't want to lose them. (Of course you may choose" << newLine << "to add the folder's contents to your version-control system so that you can re-merge your own" << newLine - << "modifications after the Introjucer has saved its changes)." << newLine; + << "modifications after the Projucer has saved its changes)." << newLine; replaceFileIfDifferent (generatedCodeFolder.getChildFile ("ReadMe.txt"), out); } @@ -577,6 +618,8 @@ private: errors.add (message); } + void writePluginCharacteristicsFile(); + void writeProjects (const OwnedArray& modules) { ThreadPool threadPool; @@ -594,10 +637,13 @@ private: exporter->addToExtraSearchPaths (RelativePath ("JuceLibraryCode", RelativePath::projectFolder)); generatedFilesGroup.state = originalGeneratedGroup.createCopy(); - project.getProjectType().prepareExporter (*exporter); + exporter->addSettingsForProjectType (project.getProjectType()); - for (int j = 0; j < modules.size(); ++j) - modules.getUnchecked(j)->prepareExporter (*exporter, *this); + for (auto& module: modules) + module->addSettingsForModuleToExporter (*exporter, *this); + + if (project.getProjectType().isAudioPlugin()) + writePluginCharacteristicsFile(); sortGroupRecursively (generatedFilesGroup); exporter->getAllGroups().add (generatedFilesGroup); @@ -624,7 +670,7 @@ private: { } - JobStatus runJob() + JobStatus runJob() override { try { diff --git a/extras/Introjucer/Source/Project Saving/jucer_ResourceFile.cpp b/extras/Projucer/Source/Project Saving/jucer_ResourceFile.cpp similarity index 100% rename from extras/Introjucer/Source/Project Saving/jucer_ResourceFile.cpp rename to extras/Projucer/Source/Project Saving/jucer_ResourceFile.cpp diff --git a/extras/Introjucer/Source/Project Saving/jucer_ResourceFile.h b/extras/Projucer/Source/Project Saving/jucer_ResourceFile.h similarity index 100% rename from extras/Introjucer/Source/Project Saving/jucer_ResourceFile.h rename to extras/Projucer/Source/Project Saving/jucer_ResourceFile.h diff --git a/extras/Introjucer/Source/Project/jucer_ConfigTree_Base.h b/extras/Projucer/Source/Project/jucer_ConfigTree_Base.h similarity index 95% rename from extras/Introjucer/Source/Project/jucer_ConfigTree_Base.h rename to extras/Projucer/Source/Project/jucer_ConfigTree_Base.h index 15d540f035..7e787b29a9 100644 --- a/extras/Introjucer/Source/Project/jucer_ConfigTree_Base.h +++ b/extras/Projucer/Source/Project/jucer_ConfigTree_Base.h @@ -216,7 +216,7 @@ private: void paint (Graphics& g) override { - IntrojucerLookAndFeel::fillWithBackgroundTexture (*this, g); + ProjucerLookAndFeel::fillWithBackgroundTexture (*this, g); } void resized() override @@ -258,7 +258,7 @@ public: void addSubItems() override { addSubItem (new EnabledModulesItem (project)); - IntrojucerApp::getApp().addExtraConfigItems (project, *this); + ProjucerApplication::getApp().addLiveBuildConfigItem (project, *this); int i = 0; for (Project::ExporterIterator exporter (project); exporter.next(); ++i) diff --git a/extras/Introjucer/Source/Project/jucer_ConfigTree_Exporter.h b/extras/Projucer/Source/Project/jucer_ConfigTree_Exporter.h similarity index 100% rename from extras/Introjucer/Source/Project/jucer_ConfigTree_Exporter.h rename to extras/Projucer/Source/Project/jucer_ConfigTree_Exporter.h diff --git a/extras/Introjucer/Source/Project/jucer_ConfigTree_Modules.h b/extras/Projucer/Source/Project/jucer_ConfigTree_Modules.h similarity index 91% rename from extras/Introjucer/Source/Project/jucer_ConfigTree_Modules.h rename to extras/Projucer/Source/Project/jucer_ConfigTree_Modules.h index aa2bacdcd7..bfadbf1fb2 100644 --- a/extras/Introjucer/Source/Project/jucer_ConfigTree_Modules.h +++ b/extras/Projucer/Source/Project/jucer_ConfigTree_Modules.h @@ -101,12 +101,6 @@ private: "so that your project will be self-contained, and won't need to contain any references to files in other folders. " "This also means that you can check the module into your source-control system to make sure it is always in sync with your own code."); - props.add (new BooleanPropertyComponent (project.getModules().shouldNotOverwriteModuleCodeOnSave (moduleID), - "Preserve local module changes", - "Don't overwrite changes to JUCE modules"), - "Generally, this should be disabled. However if you've got local changes to " - "JUCE code that you want to preserve, enabling this lets you do that."); - props.add (new BooleanPropertyComponent (project.getModules().shouldShowAllModuleFilesInProject (moduleID), "Add source to project", "Make module files browsable in projects"), "If this is enabled, then the entire source tree from this module will be shown inside your project, " @@ -256,7 +250,7 @@ private: for (int i = missingDependencies.size(); --i >= 0;) { if (const ModuleDescription* info = list.getModuleWithID (missingDependencies[i])) - project.getModules().addModule (info->manifestFile, project.getModules().areMostModulesCopiedLocally()); + project.getModules().addModule (info->moduleFolder, project.getModules().areMostModulesCopiedLocally()); else anyFailed = true; } @@ -317,18 +311,18 @@ public: pcc->setEditorComponent (new ModulesPanel (project), nullptr); } - static File getManifestFile (const File& draggedFile) + static File getModuleFolder (const File& draggedFile) { - if (draggedFile.getFileName() == ModuleDescription::getManifestFileName()) - return draggedFile; + if (draggedFile.hasFileExtension (headerFileExtensions)) + return draggedFile.getParentDirectory(); - return draggedFile.getChildFile (ModuleDescription::getManifestFileName()); + return draggedFile; } bool isInterestedInFileDrag (const StringArray& files) override { for (int i = files.size(); --i >= 0;) - if (ModuleDescription (getManifestFile (files[i])).isValid()) + if (ModuleDescription (getModuleFolder (files[i])).isValid()) return true; return false; @@ -340,14 +334,14 @@ public: for (int i = files.size(); --i >= 0;) { - ModuleDescription m (getManifestFile (files[i])); + ModuleDescription m (getModuleFolder (files[i])); if (m.isValid()) modules.add (m); } for (int i = 0; i < modules.size(); ++i) - project.getModules().addModule (modules.getReference(i).manifestFile, + project.getModules().addModule (modules.getReference(i).moduleFolder, project.getModules().areMostModulesCopiedLocally()); } diff --git a/extras/Introjucer/Source/Project/jucer_DependencyPathPropertyComponent.cpp b/extras/Projucer/Source/Project/jucer_DependencyPathPropertyComponent.cpp similarity index 100% rename from extras/Introjucer/Source/Project/jucer_DependencyPathPropertyComponent.cpp rename to extras/Projucer/Source/Project/jucer_DependencyPathPropertyComponent.cpp diff --git a/extras/Introjucer/Source/Project/jucer_DependencyPathPropertyComponent.h b/extras/Projucer/Source/Project/jucer_DependencyPathPropertyComponent.h similarity index 95% rename from extras/Introjucer/Source/Project/jucer_DependencyPathPropertyComponent.h rename to extras/Projucer/Source/Project/jucer_DependencyPathPropertyComponent.h index 346a8f01eb..c85066a2e9 100644 --- a/extras/Introjucer/Source/Project/jucer_DependencyPathPropertyComponent.h +++ b/extras/Projucer/Source/Project/jucer_DependencyPathPropertyComponent.h @@ -99,7 +99,7 @@ private: return thisOS == TargetOS::unknown ? false : os == thisOS; } - /** the dependency path setting as set in this Introjucer project. */ + /** the dependency path setting as set in this Projucer project. */ Value projectSettingsValue; /** the global key used in the application settings for the global setting value. diff --git a/extras/Introjucer/Source/Project/jucer_GroupInformationComponent.h b/extras/Projucer/Source/Project/jucer_GroupInformationComponent.h similarity index 96% rename from extras/Introjucer/Source/Project/jucer_GroupInformationComponent.h rename to extras/Projucer/Source/Project/jucer_GroupInformationComponent.h index 50ca8c8658..1c6fec7d3d 100644 --- a/extras/Introjucer/Source/Project/jucer_GroupInformationComponent.h +++ b/extras/Projucer/Source/Project/jucer_GroupInformationComponent.h @@ -54,7 +54,7 @@ public: //============================================================================== void paint (Graphics& g) override { - IntrojucerLookAndFeel::fillWithBackgroundTexture (*this, g); + ProjucerLookAndFeel::fillWithBackgroundTexture (*this, g); } void resized() override diff --git a/extras/Introjucer/Source/Project/jucer_Module.cpp b/extras/Projucer/Source/Project/jucer_Module.cpp similarity index 53% rename from extras/Introjucer/Source/Project/jucer_Module.cpp rename to extras/Projucer/Source/Project/jucer_Module.cpp index a689c0bb9b..f333f4300d 100644 --- a/extras/Introjucer/Source/Project/jucer_Module.cpp +++ b/extras/Projucer/Source/Project/jucer_Module.cpp @@ -27,23 +27,82 @@ #include "jucer_ProjectType.h" #include "../Project Saving/jucer_ProjectExporter.h" #include "../Project Saving/jucer_ProjectSaver.h" -#include "jucer_AudioPluginModule.h" +#include "../Project Saving/jucer_ProjectExport_XCode.h" -ModuleDescription::ModuleDescription (const File& manifest) - : moduleInfo (JSON::parse (manifest)), manifestFile (manifest) +static String trimCommentCharsFromStartOfLine (const String& line) { - if (moduleInfo.isVoid() && manifestFile.exists()) - { - var json; - Result r (JSON::parse (manifestFile.loadFileAsString(), json)); + return line.trimStart().trimCharactersAtStart ("*/").trimStart(); +} - if (r.failed() && manifestFile.loadFileAsString().isNotEmpty()) +static var parseModuleDesc (const StringArray& lines) +{ + DynamicObject* o = new DynamicObject(); + var result (o); + + for (int i = 0; i < lines.size(); ++i) + { + String line = trimCommentCharsFromStartOfLine (lines[i]); + + int colon = line.indexOfChar (':'); + + if (colon >= 0) { - DBG (r.getErrorMessage()); - jassertfalse; // broken JSON in a module manifest. + String key = line.substring (0, colon).trim(); + String value = line.substring (colon + 1).trim(); + + o->setProperty (key, value); } } + + return result; +} + +static var parseModuleDesc (const File& header) +{ + StringArray lines; + header.readLines (lines); + + for (int i = 0; i < lines.size(); ++i) + { + if (trimCommentCharsFromStartOfLine (lines[i]).startsWith ("BEGIN_JUCE_MODULE_DECLARATION")) + { + StringArray desc; + + for (int j = i + 1; j < lines.size(); ++j) + { + if (trimCommentCharsFromStartOfLine (lines[j]).startsWith ("END_JUCE_MODULE_DECLARATION")) + return parseModuleDesc (desc); + + desc.add (lines[j]); + } + + break; + } + } + + return var(); +} + +ModuleDescription::ModuleDescription (const File& folder) + : moduleFolder (folder), + moduleInfo (parseModuleDesc (getHeader())) +{ +} + +File ModuleDescription::getHeader() const +{ + const char* extensions[] = { ".h", ".hpp", ".hxx" }; + + for (int i = 0; i < numElementsInArray (extensions); ++i) + { + File header (moduleFolder.getChildFile (moduleFolder.getFileName() + extensions[i])); + + if (header.existsAsFile()) + return header; + } + + return File(); } //============================================================================== @@ -102,15 +161,10 @@ StringArray ModuleList::getIDs() const Result ModuleList::addAllModulesInFolder (const File& path) { - const File moduleDef (path.getChildFile (ModuleDescription::getManifestFileName())); + ModuleDescription m (path); - if (moduleDef.exists()) + if (m.isValid()) { - ModuleDescription m (moduleDef); - - if (! m.isValid()) - return Result::fail ("Failed to load module manifest: " + moduleDef.getFullPathName()); - modules.add (new ModuleDescription (m)); } else @@ -118,6 +172,7 @@ Result ModuleList::addAllModulesInFolder (const File& path) for (DirectoryIterator iter (path, false, "*", File::findDirectories); iter.next();) { Result r = addAllModulesInFolder (iter.getFile().getLinkedTarget()); + if (r.failed()) return r; } @@ -183,61 +238,12 @@ Result ModuleList::scanAllKnownFolders (Project& project) return result; } -bool ModuleList::loadFromWebsite() -{ - modules.clear(); - - URL baseURL ("http://www.juce.com/juce/modules"); - URL url (baseURL.getChildURL ("modulelist.php")); - - const ScopedPointer in (url.createInputStream (false, nullptr, nullptr, String::empty, 4000)); - - if (in == nullptr) - return false; - - var infoList (JSON::parse (in->readEntireStreamAsString())); - - if (! infoList.isArray()) - return false; - - const Array* moduleList = infoList.getArray(); - - for (int i = 0; i < moduleList->size(); ++i) - { - const var& m = moduleList->getReference(i); - const String file (m [Ids::file].toString()); - - if (file.isNotEmpty()) - { - ModuleDescription lm (m [Ids::info]); - - if (lm.isValid()) - { - lm.url = baseURL.getChildURL (file); - modules.add (new ModuleDescription (lm)); - } - } - } - - sort(); - return true; -} - //============================================================================== LibraryModule::LibraryModule (const ModuleDescription& d) : moduleInfo (d) { } -bool LibraryModule::isAUPluginHost (const Project& project) const { return getID() == "juce_audio_processors" && project.isConfigFlagEnabled ("JUCE_PLUGINHOST_AU"); } -bool LibraryModule::isVSTPluginHost (const Project& project) const { return getID() == "juce_audio_processors" && project.isConfigFlagEnabled ("JUCE_PLUGINHOST_VST"); } -bool LibraryModule::isVST3PluginHost (const Project& project) const { return getID() == "juce_audio_processors" && project.isConfigFlagEnabled ("JUCE_PLUGINHOST_VST3"); } - -File LibraryModule::getModuleHeaderFile (const File& folder) const -{ - return folder.getChildFile (moduleInfo.getHeaderName()); -} - //============================================================================== void LibraryModule::writeIncludes (ProjectSaver& projectSaver, OutputStream& out) { @@ -245,98 +251,19 @@ void LibraryModule::writeIncludes (ProjectSaver& projectSaver, OutputStream& out EnabledModuleList& modules = project.getModules(); const String id (getID()); - const File localModuleFolder (project.getLocalModuleFolder (id)); - const File localHeader (getModuleHeaderFile (localModuleFolder)); - const bool usingLocalCopyOfModules = modules.shouldCopyModuleFilesLocally (id).getValue(); - if (usingLocalCopyOfModules - && modules.shouldNotOverwriteModuleCodeOnSave (id).getValue() - && localModuleFolder.getChildFile ("juce_module_info").exists()) - { - projectSaver.filesCreated.add (localModuleFolder); - } - else + if (modules.shouldCopyModuleFilesLocally (id).getValue()) { const File juceModuleFolder (moduleInfo.getFolder()); + const File localModuleFolder (project.getLocalModuleFolder (id)); localModuleFolder.createDirectory(); - - if (usingLocalCopyOfModules) - projectSaver.copyFolder (juceModuleFolder, localModuleFolder); - else - createLocalHeaderWrapper (projectSaver, getModuleHeaderFile (juceModuleFolder), localHeader); - - out << CodeHelpers::createIncludeStatement (localHeader, projectSaver.getGeneratedCodeFolder() - .getChildFile ("AppConfig.h")) << newLine; - } -} - -static void writeGuardedInclude (OutputStream& out, StringArray paths, StringArray guards) -{ - StringArray uniquePaths (paths); - uniquePaths.removeDuplicates (false); - - if (uniquePaths.size() == 1) - { - out << "#include " << paths[0] << newLine; - } - else - { - for (int i = paths.size(); --i >= 0;) - { - for (int j = i; --j >= 0;) - { - if (paths[i] == paths[j] && guards[i] == guards[j]) - { - paths.remove (i); - guards.remove (i); - } - } - } - - for (int i = 0; i < paths.size(); ++i) - { - out << (i == 0 ? "#if " : "#elif ") << guards[i] << newLine - << " #include " << paths[i] << newLine; - } - - out << "#else" << newLine - << " #error \"This file is designed to be used in an Introjucer-generated project!\"" << newLine - << "#endif" << newLine; - } -} - -void LibraryModule::createLocalHeaderWrapper (ProjectSaver& projectSaver, const File& originalHeader, const File& localHeader) const -{ - Project& project = projectSaver.project; - - MemoryOutputStream out; - - out << "// This is an auto-generated file to redirect any included" << newLine - << "// module headers to the correct external folder." << newLine - << newLine; - - StringArray paths, guards; - - for (Project::ExporterIterator exporter (project); exporter.next();) - { - const RelativePath headerFromProject (exporter->getModuleFolderRelativeToProject (getID()) - .getChildFile (originalHeader.getFileName())); - - const RelativePath fileFromHere (headerFromProject.rebased (project.getProjectFolder(), - localHeader.getParentDirectory(), RelativePath::unknown)); - - if (exporter->isWindows() && fileFromHere.isAbsolute()) - paths.add (fileFromHere.toWindowsStyle().quoted()); - else - paths.add (fileFromHere.toUnixStyle().quoted()); - - guards.add ("defined (" + exporter->getExporterIdentifierMacro() + ")"); + projectSaver.copyFolder (juceModuleFolder, localModuleFolder); } - writeGuardedInclude (out, paths, guards); - - projectSaver.replaceFileIfDifferent (localHeader, out); + out << "#include <" << moduleInfo.moduleFolder.getFileName() << "/" + << moduleInfo.getHeader().getFileName() + << ">" << newLine; } //============================================================================== @@ -348,16 +275,31 @@ static void parseAndAddLibs (StringArray& libList, const String& libs) libList.removeDuplicates (false); } -void LibraryModule::prepareExporter (ProjectExporter& exporter, ProjectSaver& projectSaver) const +void LibraryModule::addSettingsForModuleToExporter (ProjectExporter& exporter, ProjectSaver& projectSaver) const { Project& project = exporter.getProject(); - exporter.addToExtraSearchPaths (exporter.getModuleFolderRelativeToProject (getID()).getParentDirectory()); + RelativePath modulePath = exporter.getModuleFolderRelativeToProject (getID()); - const String extraDefs (moduleInfo.getPreprocessorDefs().trim()); + exporter.addToExtraSearchPaths (modulePath.getParentDirectory()); - if (extraDefs.isNotEmpty()) - exporter.getExporterPreprocessorDefs() = exporter.getExporterPreprocessorDefsString() + "\n" + extraDefs; + const String extraInternalSearchPaths (moduleInfo.getExtraSearchPaths().trim()); + + if (extraInternalSearchPaths.isNotEmpty()) + { + StringArray paths; + paths.addTokens (extraInternalSearchPaths, true); + + for (int i = 0; i < paths.size(); ++i) + exporter.addToExtraSearchPaths (modulePath.getChildFile (paths.getReference(i))); + } + + { + const String extraDefs (moduleInfo.getPreprocessorDefs().trim()); + + if (extraDefs.isNotEmpty()) + exporter.getExporterPreprocessorDefs() = exporter.getExporterPreprocessorDefsString() + "\n" + extraDefs; + } { Array compiled; @@ -366,66 +308,37 @@ void LibraryModule::prepareExporter (ProjectExporter& exporter, ProjectSaver& pr ? project.getLocalModuleFolder (getID()) : moduleInfo.getFolder(); - findAndAddCompiledUnits (exporter, &projectSaver, localModuleFolder, compiled); + findAndAddCompiledUnits (exporter, &projectSaver, compiled); if (project.getModules().shouldShowAllModuleFilesInProject (getID()).getValue()) addBrowseableCode (exporter, compiled, localModuleFolder); } - if (isVSTPluginHost (project)) VSTHelpers::addVSTFolderToPath (exporter, false); - if (isVST3PluginHost (project)) VSTHelpers::addVSTFolderToPath (exporter, true); - if (exporter.isXcode()) { - if (isAUPluginHost (project)) - exporter.xcodeFrameworks.addTokens ("AudioUnit CoreAudioKit", false); + XCodeProjectExporter& xcodeExporter = dynamic_cast (exporter); - const String frameworks (moduleInfo.moduleInfo [exporter.isOSX() ? "OSXFrameworks" : "iOSFrameworks"].toString()); - exporter.xcodeFrameworks.addTokens (frameworks, ", ", StringRef()); + if (project.isAUPluginHost()) + xcodeExporter.xcodeFrameworks.addTokens ("AudioUnit CoreAudioKit", false); - parseAndAddLibs (exporter.xcodeLibs, moduleInfo.moduleInfo [exporter.isOSX() ? "OSXLibs" : "iOSLibs"].toString()); + const String frameworks (moduleInfo.moduleInfo [xcodeExporter.isOSX() ? "OSXFrameworks" : "iOSFrameworks"].toString()); + xcodeExporter.xcodeFrameworks.addTokens (frameworks, ", ", StringRef()); + + parseAndAddLibs (xcodeExporter.xcodeLibs, moduleInfo.moduleInfo [exporter.isOSX() ? "OSXLibs" : "iOSLibs"].toString()); } else if (exporter.isLinux()) { - parseAndAddLibs (exporter.linuxLibs, moduleInfo.moduleInfo ["LinuxLibs"].toString()); + parseAndAddLibs (exporter.linuxLibs, moduleInfo.moduleInfo ["linuxLibs"].toString()); } - else if (exporter.isCodeBlocksWindows()) + else if (exporter.isCodeBlocks() && exporter.isWindows()) { parseAndAddLibs (exporter.mingwLibs, moduleInfo.moduleInfo ["mingwLibs"].toString()); } - - if (moduleInfo.isPluginClient()) - { - if (shouldBuildVST (project).getValue()) VSTHelpers::prepareExporter (exporter, projectSaver, false); - if (shouldBuildVST3 (project).getValue()) VSTHelpers::prepareExporter (exporter, projectSaver, true); - if (shouldBuildAU (project).getValue()) AUHelpers::prepareExporter (exporter, projectSaver); - if (shouldBuildAAX (project).getValue()) AAXHelpers::prepareExporter (exporter, projectSaver); - if (shouldBuildRTAS (project).getValue()) RTASHelpers::prepareExporter (exporter, projectSaver); - } -} - -void LibraryModule::createPropertyEditors (ProjectExporter& exporter, PropertyListBuilder& props) const -{ - if (isVSTPluginHost (exporter.getProject()) - && ! (moduleInfo.isPluginClient() && shouldBuildVST (exporter.getProject()).getValue())) - VSTHelpers::createVSTPathEditor (exporter, props, false); - - if (isVST3PluginHost (exporter.getProject()) - && ! (moduleInfo.isPluginClient() && shouldBuildVST3 (exporter.getProject()).getValue())) - VSTHelpers::createVSTPathEditor (exporter, props, true); - - if (moduleInfo.isPluginClient()) - { - if (shouldBuildVST (exporter.getProject()).getValue()) VSTHelpers::createPropertyEditors (exporter, props, false); - if (shouldBuildVST3 (exporter.getProject()).getValue()) VSTHelpers::createPropertyEditors (exporter, props, true); - if (shouldBuildRTAS (exporter.getProject()).getValue()) RTASHelpers::createPropertyEditors (exporter, props); - if (shouldBuildAAX (exporter.getProject()).getValue()) AAXHelpers::createPropertyEditors (exporter, props); - } } void LibraryModule::getConfigFlags (Project& project, OwnedArray& flags) const { - const File header (getModuleHeaderFile (moduleInfo.getFolder())); + const File header (moduleInfo.getHeader()); jassert (header.exists()); StringArray lines; @@ -462,28 +375,6 @@ void LibraryModule::getConfigFlags (Project& project, OwnedArray= 0;) - { - const String& targetName = validTargets[i]; - - if (targetName == test - || (targetName.startsWithChar ('!') && test != targetName.substring (1).trimStart())) - return true; - } - - return false; -} - struct FileSorter { static int compareElements (const File& f1, const File& f2) @@ -492,77 +383,96 @@ struct FileSorter } }; -void LibraryModule::findWildcardMatches (const File& localModuleFolder, const String& wildcardPath, Array& result) const +bool LibraryModule::CompileUnit::hasSuffix (const File& f, const char* suffix) { - String path (wildcardPath.upToLastOccurrenceOf ("/", false, false)); - String wildCard (wildcardPath.fromLastOccurrenceOf ("/", false, false)); + String fileWithoutSuffix = f.getFileNameWithoutExtension() + String ("."); + + return fileWithoutSuffix.containsIgnoreCase (suffix + String (".")) + || fileWithoutSuffix.containsIgnoreCase (suffix + String ("_")); +} + +void LibraryModule::CompileUnit::writeInclude (MemoryOutputStream&) const +{ +} + +bool LibraryModule::CompileUnit::isNeededForExporter (ProjectExporter& exporter) const +{ + Project& project = exporter.getProject(); + + if ((hasSuffix (file, "_OSX") && ! exporter.isOSX()) + || (hasSuffix (file, "_iOS") && ! exporter.isiOS()) + || (hasSuffix (file, "_Windows") && ! exporter.isWindows()) + || (hasSuffix (file, "_Linux") && ! exporter.isLinux()) + || (hasSuffix (file, "_Android") && ! exporter.isAndroid()) + || (hasSuffix (file, "_AU") && ! (project.shouldBuildAU() .getValue() && exporter.supportsAU())) + || (hasSuffix (file, "_AUv3") && ! (project.shouldBuildAUv3().getValue() && exporter.supportsAUv3())) + || (hasSuffix (file, "_AAX") && ! (project.shouldBuildAAX() .getValue() && exporter.supportsAAX())) + || (hasSuffix (file, "_RTAS") && ! (project.shouldBuildRTAS().getValue() && exporter.supportsRTAS())) + || (hasSuffix (file, "_VST2") && ! (project.shouldBuildVST() .getValue() && exporter.supportsVST())) + || (hasSuffix (file, "_VST3") && ! (project.shouldBuildVST3().getValue() && exporter.supportsVST3())) + || (hasSuffix (file, "_Standalone") && ! (project.shouldBuildStandalone().getValue() && exporter.supportsStandalone()))) + return false; + + return exporter.usesMMFiles() ? isCompiledForObjC + : isCompiledForNonObjC; +} + +Array LibraryModule::getAllCompileUnits() const +{ + Array files; + getFolder().findChildFiles (files, File::findFiles, false); - Array tempList; FileSorter sorter; + files.sort (sorter); - DirectoryIterator iter (localModuleFolder.getChildFile (path), false, wildCard); - bool isHiddenFile; + Array units; - while (iter.next (nullptr, &isHiddenFile, nullptr, nullptr, nullptr, nullptr)) - if (! isHiddenFile) - tempList.addSorted (sorter, iter.getFile()); - - result.addArray (tempList); -} - -static bool fileTargetMatches (ProjectExporter& exporter, const String& target) -{ - if (exporter.isXcode()) return exporterTargetMatches ("xcode", target); - if (exporter.isWindows()) return exporterTargetMatches ("msvc", target); - if (exporter.isLinux()) return exporterTargetMatches ("linux", target); - if (exporter.isAndroid()) return exporterTargetMatches ("android", target); - if (exporter.isCodeBlocksWindows()) return exporterTargetMatches ("mingw", target); - - return target.isEmpty(); -} - -static bool fileShouldBeCompiled (ProjectExporter& exporter, const var& properties) -{ - if (! fileTargetMatches (exporter, properties["target"].toString())) - return false; - - if (properties["RTASOnly"] && ! shouldBuildRTAS (exporter.getProject()).getValue()) - return false; - - if (properties["AudioUnitOnly"] && ! shouldBuildAU (exporter.getProject()).getValue()) - return false; - - return true; -} - -void LibraryModule::findAndAddCompiledUnits (ProjectExporter& exporter, ProjectSaver* projectSaver, - const File& localModuleFolder, Array& result) const -{ - const var compileArray (moduleInfo.moduleInfo ["compile"]); // careful to keep this alive while the array is in use! - - if (const Array* const files = compileArray.getArray()) + for (int i = 0; i < files.size(); ++i) { - for (int i = 0; i < files->size(); ++i) + CompileUnit cu; + cu.file = files.getReference(i); + + if (cu.file.getFileName().startsWithIgnoreCase (getID()) + && cu.file.hasFileExtension (sourceFileExtensions)) { - const var& file = files->getReference(i); - const String filename (file ["file"].toString()); + units.add (cu); + } + } - if (filename.isNotEmpty() && fileShouldBeCompiled (exporter, file)) - { - const File compiledFile (localModuleFolder.getChildFile (filename)); - result.add (compiledFile); + for (int i = 0; i < units.size(); ++i) + { + CompileUnit& cu = units.getReference(i); - if (projectSaver != nullptr) - { - Project::Item item (projectSaver->addFileToGeneratedGroup (compiledFile)); + cu.isCompiledForObjC = true; + cu.isCompiledForNonObjC = ! cu.file.hasFileExtension ("mm;m"); - if (file ["warnings"].toString().equalsIgnoreCase ("disabled")) - item.getShouldInhibitWarningsValue() = true; + if (cu.isCompiledForNonObjC) + if (files.contains (cu.file.withFileExtension ("mm"))) + cu.isCompiledForObjC = false; - if (file ["stdcall"]) - item.getShouldUseStdCallValue() = true; - } - } + jassert (cu.isCompiledForObjC || cu.isCompiledForNonObjC); + } + + return units; +} + +void LibraryModule::findAndAddCompiledUnits (ProjectExporter& exporter, + ProjectSaver* projectSaver, + Array& result) const +{ + Array units = getAllCompileUnits(); + + for (int i = 0; i < units.size(); ++i) + { + const CompileUnit& cu = units.getReference(i); + + if (cu.isNeededForExporter (exporter)) + { + File localFile = exporter.getProject().getGeneratedCodeFolder().getChildFile (cu.file.getFileName()); + result.add (localFile); + + if (projectSaver != nullptr) + projectSaver->addFileToGeneratedGroup (localFile); } } } @@ -586,13 +496,29 @@ static void addFileWithGroups (Project::Item& group, const RelativePath& file, c } } +static void findWildcardMatches (const File& folder, Array& result) +{ + Array tempList; + FileSorter sorter; + + DirectoryIterator iter (folder, false, "*"); + bool isHiddenFile; + + while (iter.next (nullptr, &isHiddenFile, nullptr, nullptr, nullptr, nullptr)) + if (! isHiddenFile) + tempList.addSorted (sorter, iter.getFile()); + + result.addArray (tempList); +} + void LibraryModule::findBrowseableFiles (const File& localModuleFolder, Array& filesFound) const { - const var filesArray (moduleInfo.moduleInfo ["browse"]); + DirectoryIterator iter (localModuleFolder, false, "*", File::findDirectories); + bool isHiddenFile; - if (const Array* const files = filesArray.getArray()) - for (int i = 0; i < files->size(); ++i) - findWildcardMatches (localModuleFolder, files->getReference(i), filesFound); + while (iter.next (nullptr, &isHiddenFile, nullptr, nullptr, nullptr, nullptr)) + if (! isHiddenFile) + findWildcardMatches (iter.getFile(), filesFound); } void LibraryModule::addBrowseableCode (ProjectExporter& exporter, const Array& compiled, const File& localModuleFolder) const @@ -600,7 +526,7 @@ void LibraryModule::addBrowseableCode (ProjectExporter& exporter, const Array= 0;) { @@ -888,7 +794,7 @@ void EnabledModuleList::addModuleInteractive (const String& moduleID) list.scanAllKnownFolders (project); if (const ModuleDescription* info = list.getModuleWithID (moduleID)) - addModule (info->manifestFile, areMostModulesCopiedLocally()); + addModule (info->moduleFolder, areMostModulesCopiedLocally()); else addModuleFromUserSelectedFile(); } @@ -897,9 +803,6 @@ void EnabledModuleList::addModuleOfferingToCopy (const File& f) { ModuleDescription m (f); - if (! m.isValid()) - m = ModuleDescription (f.getChildFile (ModuleDescription::getManifestFileName())); - if (! m.isValid()) { AlertWindow::showMessageBoxAsync (AlertWindow::InfoIcon, @@ -914,7 +817,7 @@ void EnabledModuleList::addModuleOfferingToCopy (const File& f) return; } - addModule (m.manifestFile, areMostModulesCopiedLocally()); + addModule (m.moduleFolder, areMostModulesCopiedLocally()); } bool isJuceFolder (const File& f) diff --git a/extras/Introjucer/Source/Project/jucer_Module.h b/extras/Projucer/Source/Project/jucer_Module.h similarity index 78% rename from extras/Introjucer/Source/Project/jucer_Module.h rename to extras/Projucer/Source/Project/jucer_Module.h index b6e406ed36..56d2927ab9 100644 --- a/extras/Introjucer/Source/Project/jucer_Module.h +++ b/extras/Projucer/Source/Project/jucer_Module.h @@ -38,27 +38,27 @@ bool isJuceFolder (const File&); struct ModuleDescription { ModuleDescription() {} - ModuleDescription (const File& manifest); - ModuleDescription (const var& info) : moduleInfo (info) {} + ModuleDescription (const File& folder); + ModuleDescription (const var& info) : moduleInfo (info) {} bool isValid() const { return getID().isNotEmpty(); } - String getID() const { return moduleInfo [Ids::ID].toString(); } + String getID() const { return moduleInfo [Ids::ID_uppercase].toString(); } + String getVendor() const { return moduleInfo [Ids::vendor].toString(); } String getVersion() const { return moduleInfo [Ids::version].toString(); } String getName() const { return moduleInfo [Ids::name].toString(); } String getDescription() const { return moduleInfo [Ids::description].toString(); } String getLicense() const { return moduleInfo [Ids::license].toString(); } - String getHeaderName() const { return moduleInfo [Ids::include].toString(); } String getPreprocessorDefs() const { return moduleInfo [Ids::defines].toString(); } + String getExtraSearchPaths() const { return moduleInfo [Ids::searchpaths].toString(); } - File getFolder() const { jassert (manifestFile != File::nonexistent); return manifestFile.getParentDirectory(); } + File getFolder() const { jassert (moduleFolder != File::nonexistent); return moduleFolder; } + File getHeader() const; bool isPluginClient() const { return getID() == "juce_audio_plugin_client"; } - static const char* getManifestFileName() { return "juce_module_info"; } - + File moduleFolder; var moduleInfo; - File manifestFile; URL url; }; @@ -75,7 +75,6 @@ struct ModuleList Result addAllModulesInFolder (const File&); Result scanAllKnownFolders (Project&); - bool loadFromWebsite(); OwnedArray modules; }; @@ -88,6 +87,7 @@ public: bool isValid() const { return moduleInfo.isValid(); } String getID() const { return moduleInfo.getID(); } + String getVendor() const { return moduleInfo.getVendor(); } String getVersion() const { return moduleInfo.getVersion(); } String getName() const { return moduleInfo.getName(); } String getDescription() const { return moduleInfo.getDescription(); } @@ -96,26 +96,29 @@ public: File getFolder() const { return moduleInfo.getFolder(); } void writeIncludes (ProjectSaver&, OutputStream&); - void prepareExporter (ProjectExporter&, ProjectSaver&) const; - void createPropertyEditors (ProjectExporter&, PropertyListBuilder&) const; + void addSettingsForModuleToExporter (ProjectExporter&, ProjectSaver&) const; void getConfigFlags (Project&, OwnedArray& flags) const; void findBrowseableFiles (const File& localModuleFolder, Array& files) const; - void findAndAddCompiledUnits (ProjectExporter&, ProjectSaver*, const File& localModuleFolder, Array& result) const; + + struct CompileUnit + { + File file; + bool isCompiledForObjC, isCompiledForNonObjC; + + void writeInclude (MemoryOutputStream&) const; + bool isNeededForExporter (ProjectExporter&) const; + static bool hasSuffix (const File&, const char*); + }; + + Array getAllCompileUnits() const; + void findAndAddCompiledUnits (ProjectExporter&, ProjectSaver*, Array& result) const; ModuleDescription moduleInfo; private: mutable Array sourceFiles; - File getModuleHeaderFile (const File& folder) const; - - void findWildcardMatches (const File& localModuleFolder, const String& wildcardPath, Array& result) const; void addBrowseableCode (ProjectExporter&, const Array& compiled, const File& localModuleFolder) const; - void createLocalHeaderWrapper (ProjectSaver&, const File& originalHeader, const File& localHeader) const; - - bool isAUPluginHost (const Project&) const; - bool isVSTPluginHost (const Project&) const; - bool isVST3PluginHost (const Project&) const; }; //============================================================================== @@ -126,14 +129,12 @@ public: bool isModuleEnabled (const String& moduleID) const; Value shouldShowAllModuleFilesInProject (const String& moduleID); - Value shouldNotOverwriteModuleCodeOnSave (const String& moduleID); Value shouldCopyModuleFilesLocally (const String& moduleID) const; void removeModule (String moduleID); bool isAudioPluginModuleMissing() const; ModuleDescription getModuleInfo (const String& moduleID); - File getModuleInfoFile (const String& moduleID); File getModuleFolder (const String& moduleID); void addModule (const File& moduleManifestFile, bool copyLocally); @@ -160,7 +161,7 @@ public: private: UndoManager* getUndoManager() const { return project.getUndoManagerFor (state); } - File findLocalModuleInfoFile (const String& moduleID, bool useExportersForOtherOSes); + File findLocalModuleFolder (const String& moduleID, bool useExportersForOtherOSes); JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (EnabledModuleList) }; diff --git a/extras/Projucer/Source/Project/jucer_ModulesPanel.h b/extras/Projucer/Source/Project/jucer_ModulesPanel.h new file mode 100644 index 0000000000..42036cfd36 --- /dev/null +++ b/extras/Projucer/Source/Project/jucer_ModulesPanel.h @@ -0,0 +1,222 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +class ModulesPanel : public Component, + private TableListBoxModel, + private ValueTree::Listener, + private Button::Listener +{ +public: + ModulesPanel (Project& p) + : project (p), + modulesValueTree (p.getModules().state), + setCopyModeButton ("Set copy-mode for all modules..."), + copyPathButton ("Set paths for all modules...") + { + table.getHeader().addColumn ("Module", nameCol, 180, 100, 400, TableHeaderComponent::notSortable); + table.getHeader().addColumn ("Version", versionCol, 100, 100, 100, TableHeaderComponent::notSortable); + table.getHeader().addColumn ("Make Local Copy", copyCol, 100, 100, 100, TableHeaderComponent::notSortable); + table.getHeader().addColumn ("Paths", pathCol, 250, 100, 600, TableHeaderComponent::notSortable); + + table.setModel (this); + table.setColour (TableListBox::backgroundColourId, Colours::transparentBlack); + addAndMakeVisible (table); + table.updateContent(); + table.setRowHeight (20); + + addAndMakeVisible (setCopyModeButton); + addAndMakeVisible (copyPathButton); + setCopyModeButton.addListener (this); + setCopyModeButton.setTriggeredOnMouseDown (true); + copyPathButton.addListener (this); + copyPathButton.setTriggeredOnMouseDown (true); + + modulesValueTree.addListener (this); + lookAndFeelChanged(); + } + + void paint (Graphics& g) override + { + ProjucerLookAndFeel::fillWithBackgroundTexture (*this, g); + } + + void resized() override + { + Rectangle r (getLocalBounds().reduced (5, 4)); + + table.setBounds (r.removeFromTop (table.getRowPosition (getNumRows() - 1, true).getBottom() + 20)); + + Rectangle buttonRow (r.removeFromTop (32).removeFromBottom (28)); + setCopyModeButton.setBounds (buttonRow.removeFromLeft (jmin (260, r.getWidth() / 3))); + buttonRow.removeFromLeft (8); + copyPathButton.setBounds (buttonRow.removeFromLeft (jmin (260, r.getWidth() / 3))); + } + + int getNumRows() override + { + return project.getModules().getNumModules(); + } + + void paintRowBackground (Graphics& g, int /*rowNumber*/, int width, int height, bool rowIsSelected) override + { + g.setColour (rowIsSelected ? Colours::lightblue.withAlpha (0.4f) + : Colours::white.withAlpha (0.4f)); + g.fillRect (0, 0, width, height - 1); + } + + void paintCell (Graphics& g, int rowNumber, int columnId, int width, int height, bool /*rowIsSelected*/) override + { + String text; + const String moduleID (project.getModules().getModuleID (rowNumber)); + + if (columnId == nameCol) + { + text = moduleID; + } + else if (columnId == versionCol) + { + text = project.getModules().getModuleInfo (moduleID).getVersion(); + + if (text.isEmpty()) + text = "?"; + } + else if (columnId == copyCol) + { + text = project.getModules().shouldCopyModuleFilesLocally (moduleID).getValue() + ? "Yes" : "No"; + } + else if (columnId == pathCol) + { + StringArray paths; + + for (Project::ExporterIterator exporter (project); exporter.next();) + paths.addIfNotAlreadyThere (exporter->getPathForModuleString (moduleID).trim()); + + text = paths.joinIntoString (", "); + } + + g.setColour (Colours::black); + g.setFont (height * 0.65f); + g.drawText (text, Rectangle (width, height).reduced (4, 0), Justification::centredLeft, true); + } + + void cellDoubleClicked (int rowNumber, int, const MouseEvent&) override + { + const String moduleID (project.getModules().getModuleID (rowNumber)); + + if (moduleID.isNotEmpty()) + if (ProjectContentComponent* pcc = findParentComponentOfClass()) + pcc->showModule (moduleID); + } + + void deleteKeyPressed (int row) override + { + project.getModules().removeModule (project.getModules().getModuleID (row)); + } + + void buttonClicked (Button* b) override + { + if (b == &setCopyModeButton) showCopyModeMenu(); + if (b == ©PathButton) showSetPathsMenu(); + } + +private: + enum + { + nameCol = 1, + versionCol, + copyCol, + pathCol + }; + + Project& project; + ValueTree modulesValueTree; + TableListBox table; + TextButton setCopyModeButton, copyPathButton; + + void valueTreePropertyChanged (ValueTree&, const Identifier&) override { itemChanged(); } + void valueTreeChildAdded (ValueTree&, ValueTree&) override { itemChanged(); } + void valueTreeChildRemoved (ValueTree&, ValueTree&, int) override { itemChanged(); } + void valueTreeChildOrderChanged (ValueTree&, int, int) override { itemChanged(); } + void valueTreeParentChanged (ValueTree&) override { itemChanged(); } + + void itemChanged() + { + table.updateContent(); + resized(); + repaint(); + } + + void showCopyModeMenu() + { + PopupMenu m; + m.addItem (1, "Set all modules to copy locally"); + m.addItem (2, "Set all modules to not copy locally"); + + int res = m.showAt (&setCopyModeButton); + + if (res != 0) + project.getModules().setLocalCopyModeForAllModules (res == 1); + } + + void showSetPathsMenu() + { + EnabledModuleList& moduleList = project.getModules(); + + const String moduleToCopy (moduleList.getModuleID (table.getSelectedRow())); + + if (moduleToCopy.isNotEmpty()) + { + PopupMenu m; + m.addItem (1, "Copy the paths from the module '" + moduleToCopy + "' to all other modules"); + + int res = m.showAt (©PathButton); + + if (res != 0) + { + for (Project::ExporterIterator exporter (project); exporter.next();) + { + for (int i = 0; i < moduleList.getNumModules(); ++i) + { + String modID = moduleList.getModuleID (i); + + if (modID != moduleToCopy) + exporter->getPathForModuleValue (modID) = exporter->getPathForModuleValue (moduleToCopy).getValue(); + } + } + } + + table.repaint(); + } + else + { + PopupMenu m; + m.addItem (1, "(Select a module in the list above to use this option)", false); + + m.showAt (©PathButton); + } + } + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ModulesPanel) +}; diff --git a/extras/Introjucer/Source/Project/jucer_Project.cpp b/extras/Projucer/Source/Project/jucer_Project.cpp similarity index 69% rename from extras/Introjucer/Source/Project/jucer_Project.cpp rename to extras/Projucer/Source/Project/jucer_Project.cpp index 6e85e0d30a..40d5814d3e 100644 --- a/extras/Introjucer/Source/Project/jucer_Project.cpp +++ b/extras/Projucer/Source/Project/jucer_Project.cpp @@ -30,6 +30,17 @@ #include "../Application/jucer_OpenDocumentManager.h" #include "../Application/jucer_Application.h" +namespace +{ + String makeValid4CC (const String& seed) + { + String s (CodeHelpers::makeValidIdentifier (seed, false, true, false) + "xxxx"); + + return s.substring (0, 1).toUpperCase() + + s.substring (1, 4).toLowerCase(); + } +} + //============================================================================== Project::Project (const File& f) : FileBasedDocument (projectFileExtension, @@ -53,7 +64,7 @@ Project::Project (const File& f) Project::~Project() { projectRoot.removeListener (this); - IntrojucerApp::getApp().openDocumentManager.closeAllDocumentsUsingProject (*this, false); + ProjucerApplication::getApp().openDocumentManager.closeAllDocumentsUsingProject (*this, false); } const char* Project::projectFileExtension = ".jucer"; @@ -89,7 +100,7 @@ void Project::setMissingDefaultValues() // Create main file group if missing if (! projectRoot.getChildWithName (Ids::MAINGROUP).isValid()) { - Item mainGroup (*this, ValueTree (Ids::MAINGROUP)); + Item mainGroup (*this, ValueTree (Ids::MAINGROUP), false); projectRoot.addChild (mainGroup.state, 0, 0); } @@ -99,7 +110,7 @@ void Project::setMissingDefaultValues() setTitle ("JUCE Project"); if (! projectRoot.hasProperty (Ids::projectType)) - getProjectTypeValue() = ProjectType::getGUIAppTypeName(); + getProjectTypeValue() = ProjectType_GUIApp::getTypeName(); if (! projectRoot.hasProperty (Ids::version)) getVersionValue() = "1.0.0"; @@ -108,7 +119,8 @@ void Project::setMissingDefaultValues() moveOldPropertyFromProjectToAllExporters (Ids::bigIcon); moveOldPropertyFromProjectToAllExporters (Ids::smallIcon); - getProjectType().setMissingProjectProperties (*this); + if (getProjectType().isAudioPlugin()) + setMissingAudioPluginDefaultValues(); getModules().sortAlphabetically(); @@ -118,7 +130,38 @@ void Project::setMissingDefaultValues() if (shouldIncludeBinaryInAppConfig() == var::null) shouldIncludeBinaryInAppConfig() = true; - IntrojucerApp::getApp().updateNewlyOpenedProject (*this); + ProjucerApplication::getApp().updateNewlyOpenedProject (*this); +} + +void Project::setMissingAudioPluginDefaultValues() +{ + const String sanitisedProjectName (CodeHelpers::makeValidIdentifier (getTitle(), false, true, false)); + + setValueIfVoid (shouldBuildVST(), true); + setValueIfVoid (shouldBuildVST3(), false); + setValueIfVoid (shouldBuildAU(), true); + setValueIfVoid (shouldBuildAUv3(), false); + setValueIfVoid (shouldBuildRTAS(), false); + setValueIfVoid (shouldBuildAAX(), false); + setValueIfVoid (shouldBuildStandalone(), false); + + setValueIfVoid (getPluginName(), getTitle()); + setValueIfVoid (getPluginDesc(), getTitle()); + setValueIfVoid (getPluginManufacturer(), "yourcompany"); + setValueIfVoid (getPluginManufacturerCode(), "Manu"); + setValueIfVoid (getPluginCode(), makeValid4CC (getProjectUID() + getProjectUID())); + setValueIfVoid (getPluginChannelConfigs(), ""); + setValueIfVoid (getPluginIsSynth(), false); + setValueIfVoid (getPluginWantsMidiInput(), false); + setValueIfVoid (getPluginProducesMidiOut(), false); + setValueIfVoid (getPluginIsMidiEffectPlugin(), false); + setValueIfVoid (getPluginEditorNeedsKeyFocus(), false); + setValueIfVoid (getPluginAUExportPrefix(), sanitisedProjectName + "AU"); + setValueIfVoid (getPluginRTASCategory(), String::empty); + setValueIfVoid (getBundleIdentifier(), getDefaultBundleIdentifier()); + setValueIfVoid (getAAXIdentifier(), getDefaultAAXIdentifier()); + setValueIfVoid (getPluginAAXCategory(), "AAX_ePlugInCategory_Dynamics"); + } void Project::updateOldStyleConfigList() @@ -208,7 +251,7 @@ static int getBuiltJuceVersion() + JUCE_BUILDNUMBER; } -static bool isAnyModuleNewerThanIntrojucer (const OwnedArray& modules) +static bool isAnyModuleNewerThanProjucer (const OwnedArray& modules) { for (int i = modules.size(); --i >= 0;) { @@ -222,19 +265,19 @@ static bool isAnyModuleNewerThanIntrojucer (const OwnedArray& return false; } -void Project::warnAboutOldIntrojucerVersion() +void Project::warnAboutOldProjucerVersion() { ModuleList available; available.scanAllKnownFolders (*this); - if (isAnyModuleNewerThanIntrojucer (available.modules)) + if (isAnyModuleNewerThanProjucer (available.modules)) { - if (IntrojucerApp::getApp().isRunningCommandLine) - std::cout << "WARNING! This version of the introjucer is out-of-date!" << std::endl; + if (ProjucerApplication::getApp().isRunningCommandLine) + std::cout << "WARNING! This version of the Projucer is out-of-date!" << std::endl; else AlertWindow::showMessageBoxAsync (AlertWindow::WarningIcon, - "Introjucer", - "This version of the introjucer is out-of-date!" + "Projucer", + "This version of the Projucer is out-of-date!" "\n\n" "Always make sure that you're running the very latest version, " "preferably compiled directly from the JUCE repository that you're working with!"); @@ -275,7 +318,9 @@ Result Project::loadDocument (const File& file) setMissingDefaultValues(); updateOldModulePaths(); setChangedFlag (false); - warnAboutOldIntrojucerVersion(); + + if (! ProjucerApplication::getApp().isRunningCommandLine) + warnAboutOldProjucerVersion(); return Result::ok(); } @@ -366,7 +411,7 @@ const ProjectType& Project::getProjectType() const if (const ProjectType* type = ProjectType::findType (getProjectTypeString())) return *type; - const ProjectType* guiType = ProjectType::findType (ProjectType::getGUIAppTypeName()); + const ProjectType* guiType = ProjectType::findType (ProjectType_GUIApp::getTypeName()); jassert (guiType != nullptr); return *guiType; } @@ -407,7 +452,8 @@ void Project::createPropertyEditors (PropertyListBuilder& props) props.add (new TextPropertyComponent (getBundleIdentifier(), "Bundle Identifier", 256, false), "A unique identifier for this product, mainly for use in OSX/iOS builds. It should be something like 'com.yourcompanyname.yourproductname'"); - getProjectType().createPropertyEditors (*this, props); + if (getProjectType().isAudioPlugin()) + createAudioPluginPropertyEditors (props); { const int maxSizes[] = { 20480, 10240, 6144, 2048, 1024, 512, 256, 128, 64 }; @@ -429,7 +475,7 @@ void Project::createPropertyEditors (PropertyListBuilder& props) } props.add (new ChoicePropertyComponent (getMaxBinaryFileSize(), "BinaryData.cpp size limit", maxSizeNames, maxSizeCodes), - "When splitting binary data into multiple cpp files, the Introjucer attempts to keep the file sizes below this threshold. " + "When splitting binary data into multiple cpp files, the Projucer attempts to keep the file sizes below this threshold. " "(Note that individual resource files which are larger than this size cannot be split across multiple cpp files)."); } @@ -444,6 +490,83 @@ void Project::createPropertyEditors (PropertyListBuilder& props) "Extra comments: This field is not used for code or project generation, it's just a space where you can express your thoughts."); } +void Project::createAudioPluginPropertyEditors (PropertyListBuilder& props) +{ + props.add (new BooleanPropertyComponent (shouldBuildVST(), "Build VST", "Enabled"), + "Whether the project should produce a VST plugin."); + props.add (new BooleanPropertyComponent (shouldBuildVST3(), "Build VST3", "Enabled"), + "Whether the project should produce a VST3 plugin."); + props.add (new BooleanPropertyComponent (shouldBuildAU(), "Build AudioUnit", "Enabled"), + "Whether the project should produce an AudioUnit plugin."); + props.add (new BooleanPropertyComponent (shouldBuildAUv3(), "Build AudioUnit v3", "Enabled"), + "Whether the project should produce an AudioUnit version 3 plugin."); + props.add (new BooleanPropertyComponent (shouldBuildRTAS(), "Build RTAS", "Enabled"), + "Whether the project should produce an RTAS plugin."); + props.add (new BooleanPropertyComponent (shouldBuildAAX(), "Build AAX", "Enabled"), + "Whether the project should produce an AAX plugin."); + + /* TODO: this property editor is temporarily disabled because right now we build standalone if and only if + we also build AUv3. However as soon as targets are supported on non-Xcode exporters as well, we should + re-enable this option and allow to build the standalone plug-in independently from AUv3. + */ + // props.add (new BooleanPropertyComponent (shouldBuildStandalone(), "Build Standalone", "Enabled"), + // "Whether the project should produce a standalone version of the plugin. Required for AUv3."); + + props.add (new TextPropertyComponent (getPluginName(), "Plugin Name", 128, false), + "The name of your plugin (keep it short!)"); + props.add (new TextPropertyComponent (getPluginDesc(), "Plugin Description", 256, false), + "A short description of your plugin."); + + props.add (new TextPropertyComponent (getPluginManufacturer(), "Plugin Manufacturer", 256, false), + "The name of your company (cannot be blank)."); + props.add (new TextPropertyComponent (getPluginManufacturerCode(), "Plugin Manufacturer Code", 4, false), + "A four-character unique ID for your company. Note that for AU compatibility, this must contain at least one upper-case letter!"); + props.add (new TextPropertyComponent (getPluginCode(), "Plugin Code", 4, false), + "A four-character unique ID for your plugin. Note that for AU compatibility, this must contain at least one upper-case letter!"); + + props.add (new TextPropertyComponent (getPluginChannelConfigs(), "Plugin Channel Configurations", 1024, false), + "This list is a comma-separated set list in the form {numIns, numOuts} and each pair indicates a valid plug-in " + "configuration. For example {1, 1}, {2, 2} means that the plugin can be used either with 1 input and 1 output, " + "or with 2 inputs and 2 outputs. If your plug-in requires side-chains, aux output buses etc., then you must leave " + "this field empty and override the setPreferredBusArrangement method in your AudioProcessor."); + + props.add (new BooleanPropertyComponent (getPluginIsSynth(), "Plugin is a Synth", "Is a Synth"), + "Enable this if you want your plugin to be treated as a synth or generator. It doesn't make much difference to the plugin itself, but some hosts treat synths differently to other plugins."); + + props.add (new BooleanPropertyComponent (getPluginWantsMidiInput(), "Plugin Midi Input", "Plugin wants midi input"), + "Enable this if you want your plugin to accept midi messages."); + + props.add (new BooleanPropertyComponent (getPluginProducesMidiOut(), "Plugin Midi Output", "Plugin produces midi output"), + "Enable this if your plugin is going to produce midi messages."); + + props.add (new BooleanPropertyComponent (getPluginIsMidiEffectPlugin(), "Midi Effect Plugin", "Plugin is a midi effect plugin"), + "Enable this if your plugin only processes midi and no audio."); + + props.add (new BooleanPropertyComponent (getPluginEditorNeedsKeyFocus(), "Key Focus", "Plugin editor requires keyboard focus"), + "Enable this if your plugin needs keyboard input - some hosts can be a bit funny about keyboard focus.."); + + props.add (new TextPropertyComponent (getPluginAUExportPrefix(), "Plugin AU Export Prefix", 64, false), + "A prefix for the names of exported entry-point functions that the component exposes - typically this will be a version of your plugin's name that can be used as part of a C++ token."); + + props.add (new TextPropertyComponent (getPluginAUMainType(), "Plugin AU Main Type", 128, false), + "In an AU, this is the value that is set as JucePlugin_AUMainType. Leave it blank unless you want to use a custom value."); + + props.add (new TextPropertyComponent (getPluginVSTCategory(), "VST Category", 64, false), + "In a VST, this is the value that is set as JucePlugin_VSTCategory. Leave it blank unless you want to use a custom value."); + + props.add (new TextPropertyComponent (getPluginRTASCategory(), "Plugin RTAS Category", 64, false), + "(Leave this blank if your plugin is a synth). This is one of the RTAS categories from FicPluginEnums.h, such as: ePlugInCategory_None, ePlugInCategory_EQ, ePlugInCategory_Dynamics, " + "ePlugInCategory_PitchShift, ePlugInCategory_Reverb, ePlugInCategory_Delay, " + "ePlugInCategory_Modulation, ePlugInCategory_Harmonic, ePlugInCategory_NoiseReduction, " + "ePlugInCategory_Dither, ePlugInCategory_SoundField"); + + props.add (new TextPropertyComponent (getPluginAAXCategory(), "Plugin AAX Category", 64, false), + "This is one of the categories from the AAX_EPlugInCategory enum"); + + props.add (new TextPropertyComponent (getAAXIdentifier(), "Plugin AAX Identifier", 256, false), + "The value to use for the JucePlugin_AAXIdentifier setting"); +} + //============================================================================== static StringArray getVersionSegments (const Project& p) { @@ -491,7 +614,7 @@ File Project::getBinaryDataCppFile (int index) const Project::Item Project::getMainGroup() { - return Item (*this, projectRoot.getChildWithName (Ids::MAINGROUP)); + return Item (*this, projectRoot.getChildWithName (Ids::MAINGROUP), false); } PropertiesFile& Project::getStoredProperties() const @@ -518,13 +641,13 @@ void Project::findAllImageItems (OwnedArray& items) } //============================================================================== -Project::Item::Item (Project& p, const ValueTree& s) - : project (p), state (s) +Project::Item::Item (Project& p, const ValueTree& s, bool isModuleCode) + : project (p), state (s), belongsToModule (isModuleCode) { } Project::Item::Item (const Item& other) - : project (other.project), state (other.state) + : project (other.project), state (other.state), belongsToModule (other.belongsToModule) { } @@ -539,9 +662,9 @@ Drawable* Project::Item::loadAsImageFile() const : nullptr; } -Project::Item Project::Item::createGroup (Project& project, const String& name, const String& uid) +Project::Item Project::Item::createGroup (Project& project, const String& name, const String& uid, bool isModuleCode) { - Item group (project, ValueTree (Ids::GROUP)); + Item group (project, ValueTree (Ids::GROUP), isModuleCode); group.setID (uid); group.initialiseMissingProperties(); group.getNameValue() = name; @@ -573,7 +696,7 @@ Project::Item Project::Item::findItemWithID (const String& targetId) const } } - return Item (project, ValueTree()); + return Item (project, ValueTree(), false); } bool Project::Item::canContain (const Item& child) const @@ -605,6 +728,8 @@ bool Project::Item::shouldInhibitWarnings() const { return state [Ids: Value Project::Item::getShouldUseStdCallValue() { return state.getPropertyAsValue (Ids::useStdCall, nullptr); } bool Project::Item::shouldUseStdCall() const { return state [Ids::useStdCall]; } +bool Project::Item::isModuleCode() const { return belongsToModule; } + String Project::Item::getFilePath() const { if (isFile()) @@ -642,7 +767,7 @@ bool Project::Item::renameFile (const File& newFile) || (newFile.exists() && ! oldFile.exists())) { setFile (newFile); - IntrojucerApp::getApp().openDocumentManager.fileHasBeenRenamed (oldFile, newFile); + ProjucerApplication::getApp().openDocumentManager.fileHasBeenRenamed (oldFile, newFile); return true; } @@ -670,7 +795,7 @@ Project::Item Project::Item::findItemForFile (const File& file) const } } - return Item (project, ValueTree()); + return Item (project, ValueTree(), false); } File Project::Item::determineGroupFolder() const @@ -746,7 +871,7 @@ Project::Item Project::Item::getParent() const if (isMainGroup() || ! isGroup()) return *this; - return Item (project, state.getParent()); + return Item (project, state.getParent(), belongsToModule); } struct ItemSorter @@ -809,7 +934,7 @@ Project::Item Project::Item::getOrCreateSubGroup (const String& name) { const ValueTree child (state.getChild (i)); if (child.getProperty (Ids::name) == name && child.hasType (Ids::GROUP)) - return Item (project, child); + return Item (project, child, belongsToModule); } return addNewSubGroup (name, -1); @@ -823,7 +948,7 @@ Project::Item Project::Item::addNewSubGroup (const String& name, int insertIndex while (project.getMainGroup().findItemWithID (newID).isValid()) newID = createGUID (newID + String (++n)); - Item group (createGroup (project, name, newID)); + Item group (createGroup (project, name, newID, belongsToModule)); jassert (canContain (group)); addChild (group, insertIndex); @@ -872,7 +997,7 @@ bool Project::Item::addFileRetainingSortOrder (const File& file, bool shouldComp void Project::Item::addFileUnchecked (const File& file, int insertIndex, const bool shouldCompile) { - Item item (project, ValueTree (Ids::FILE)); + Item item (project, ValueTree (Ids::FILE), belongsToModule); item.initialiseMissingProperties(); item.getNameValue() = file.getFileName(); item.getShouldCompileValue() = shouldCompile && file.hasFileExtension (fileTypesToCompileByDefault); @@ -887,7 +1012,7 @@ void Project::Item::addFileUnchecked (const File& file, int insertIndex, const b bool Project::Item::addRelativeFile (const RelativePath& file, int insertIndex, bool shouldCompile) { - Item item (project, ValueTree (Ids::FILE)); + Item item (project, ValueTree (Ids::FILE), belongsToModule); item.initialiseMissingProperties(); item.getNameValue() = file.getFileName(); item.getShouldCompileValue() = shouldCompile; @@ -968,6 +1093,73 @@ void Project::sanitiseConfigFlags() } } +//============================================================================== +String Project::getPluginRTASCategoryCode() +{ + if (static_cast (getPluginIsSynth().getValue())) + return "ePlugInCategory_SWGenerators"; + + String s (getPluginRTASCategory().toString()); + if (s.isEmpty()) + s = "ePlugInCategory_None"; + + return s; +} + +String Project::getAUMainTypeString() +{ + String s (getPluginAUMainType().toString()); + + if (s.isEmpty()) + { + if (getPluginIsSynth().getValue()) s = "kAudioUnitType_MusicDevice"; + else if (getPluginWantsMidiInput().getValue()) s = "kAudioUnitType_MusicEffect"; + else s = "kAudioUnitType_Effect"; + } + + return s; +} + +String Project::getAUMainTypeCode() +{ + String s (getPluginAUMainType().toString()); + + if (s.isEmpty()) + { + if (getPluginIsMidiEffectPlugin().getValue()) s = "aumi"; + else if (getPluginIsSynth().getValue()) s = "aumu"; + else if (getPluginWantsMidiInput().getValue()) s = "aumf"; + else s = "aufx"; + } + + return s; +} + +String Project::getPluginVSTCategoryString() +{ + String s (getPluginVSTCategory().toString().trim()); + + if (s.isEmpty()) + s = static_cast (getPluginIsSynth().getValue()) ? "kPlugCategSynth" + : "kPlugCategEffect"; + return s; +} + +bool Project::isAUPluginHost() +{ + return getModules().isModuleEnabled ("juce_audio_processors") && isConfigFlagEnabled ("JUCE_PLUGINHOST_AU"); +} + +bool Project::isVSTPluginHost() +{ + return getModules().isModuleEnabled ("juce_audio_processors") && isConfigFlagEnabled ("JUCE_PLUGINHOST_VST"); +} + +bool Project::isVST3PluginHost() +{ + return getModules().isModuleEnabled ("juce_audio_processors") && isConfigFlagEnabled ("JUCE_PLUGINHOST_VST3"); +} + //============================================================================== EnabledModuleList& Project::getModules() { diff --git a/extras/Introjucer/Source/Project/jucer_Project.h b/extras/Projucer/Source/Project/jucer_Project.h similarity index 76% rename from extras/Introjucer/Source/Project/jucer_Project.h rename to extras/Projucer/Source/Project/jucer_Project.h index dbbf1c5a2d..4d2f699c5f 100644 --- a/extras/Introjucer/Source/Project/jucer_Project.h +++ b/extras/Projucer/Source/Project/jucer_Project.h @@ -119,15 +119,54 @@ public: String getJuceSourceFilenameRoot() const { return "JuceLibraryCode"; } String getJuceSourceHFilename() const { return "JuceHeader.h"; } + //============================================================================== + // Some helper methods for audio plugin/host projects. + Value shouldBuildVST() { return getProjectValue ("buildVST"); } + Value shouldBuildVST3() { return getProjectValue ("buildVST3"); } + Value shouldBuildAU() { return getProjectValue ("buildAU"); } + Value shouldBuildAUv3() { return getProjectValue ("buildAUv3"); } + Value shouldBuildRTAS() { return getProjectValue ("buildRTAS"); } + Value shouldBuildAAX() { return getProjectValue ("buildAAX"); } + Value shouldBuildStandalone() { return shouldBuildAUv3(); /* TODO: enable this when standalone becomes independent from AUv3: getProjectValue ("buildStandalone"); */} + Value getPluginName() { return getProjectValue ("pluginName"); } + Value getPluginDesc() { return getProjectValue ("pluginDesc"); } + Value getPluginManufacturer() { return getProjectValue ("pluginManufacturer"); } + Value getPluginManufacturerCode() { return getProjectValue ("pluginManufacturerCode"); } + Value getPluginCode() { return getProjectValue ("pluginCode"); } + Value getPluginChannelConfigs() { return getProjectValue ("pluginChannelConfigs"); } + Value getPluginIsSynth() { return getProjectValue ("pluginIsSynth"); } + Value getPluginWantsMidiInput() { return getProjectValue ("pluginWantsMidiIn"); } + Value getPluginProducesMidiOut() { return getProjectValue ("pluginProducesMidiOut"); } + Value getPluginIsMidiEffectPlugin() { return getProjectValue ("pluginIsMidiEffectPlugin"); } + Value getPluginEditorNeedsKeyFocus() { return getProjectValue ("pluginEditorRequiresKeys"); } + Value getPluginVSTCategory() { return getProjectValue ("pluginVSTCategory"); } + Value getPluginAUExportPrefix() { return getProjectValue ("pluginAUExportPrefix"); } + Value getPluginAUMainType() { return getProjectValue ("pluginAUMainType"); } + Value getPluginRTASCategory() { return getProjectValue ("pluginRTASCategory"); } + Value getPluginRTASBypassDisabled() { return getProjectValue ("pluginRTASDisableBypass"); } + Value getPluginRTASMultiMonoDisabled() { return getProjectValue ("pluginRTASDisableMultiMono"); } + Value getPluginAAXCategory() { return getProjectValue ("pluginAAXCategory"); } + Value getPluginAAXBypassDisabled() { return getProjectValue ("pluginAAXDisableBypass"); } + Value getPluginAAXMultiMonoDisabled() { return getProjectValue ("pluginAAXDisableMultiMono"); } + String getPluginRTASCategoryCode(); + String getAUMainTypeString(); + String getAUMainTypeCode(); + String getPluginVSTCategoryString(); + + bool isAUPluginHost(); + bool isVSTPluginHost(); + bool isVST3PluginHost(); + + //============================================================================== class Item { public: //============================================================================== - Item (Project& project, const ValueTree& itemNode); + Item (Project& project, const ValueTree& itemNode, bool isModuleCode); Item (const Item& other); - static Item createGroup (Project& project, const String& name, const String& uid); + static Item createGroup (Project& project, const String& name, const String& uid, bool isModuleCode); void initialiseMissingProperties(); //============================================================================== @@ -173,10 +212,12 @@ public: Value getShouldUseStdCallValue(); bool shouldUseStdCall() const; + bool isModuleCode() const; + //============================================================================== bool canContain (const Item& child) const; int getNumChildren() const { return state.getNumChildren(); } - Item getChild (int index) const { return Item (project, state.getChild (index)); } + Item getChild (int index) const { return Item (project, state.getChild (index), belongsToModule); } Item addNewSubGroup (const String& name, int insertIndex); Item getOrCreateSubGroup (const String& name); @@ -203,6 +244,7 @@ public: private: Item& operator= (const Item&); + bool belongsToModule; }; Item getMainGroup(); @@ -270,6 +312,11 @@ public: static const char* projectFileExtension; private: + //============================================================================== + void setMissingAudioPluginDefaultValues(); + void createAudioPluginPropertyEditors (PropertyListBuilder& props); + + //============================================================================== friend class Item; ValueTree projectRoot; ScopedPointer enabledModulesList; @@ -285,7 +332,7 @@ private: void moveOldPropertyFromProjectToAllExporters (Identifier name); void removeDefunctExporters(); void updateOldModulePaths(); - void warnAboutOldIntrojucerVersion(); + void warnAboutOldProjucerVersion(); JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (Project) }; diff --git a/extras/Introjucer/Source/Project/jucer_ProjectContentComponent.cpp b/extras/Projucer/Source/Project/jucer_ProjectContentComponent.cpp similarity index 60% rename from extras/Introjucer/Source/Project/jucer_ProjectContentComponent.cpp rename to extras/Projucer/Source/Project/jucer_ProjectContentComponent.cpp index 42ff4c5579..6ec466be2f 100644 --- a/extras/Introjucer/Source/Project/jucer_ProjectContentComponent.cpp +++ b/extras/Projucer/Source/Project/jucer_ProjectContentComponent.cpp @@ -64,7 +64,7 @@ public: tree.getRootItem()->setSelected (true, true); #if JUCE_MAC || JUCE_WINDOWS - ApplicationCommandManager& commandManager = IntrojucerApp::getCommandManager(); + ApplicationCommandManager& commandManager = ProjucerApplication::getCommandManager(); addAndMakeVisible (createExporterButton); createExporterButton.setCommandToTrigger (&commandManager, CommandIDs::createNewExporter, true); @@ -83,7 +83,7 @@ public: #endif } - void resized() + void resized() override { Rectangle r (getAvailableBounds()); r.removeFromBottom (6); @@ -176,7 +176,7 @@ struct LogoComponent : public Component { return SystemStats::getJUCEVersion() + newLine - + IntrojucerApp::getApp().getVersionDescription(); + + ProjucerApplication::getApp().getVersionDescription(); } ScopedPointer logo; @@ -199,12 +199,18 @@ ProjectContentComponent::ProjectContentComponent() treeViewTabs.setOutline (0); treeViewTabs.getTabbedButtonBar().setMinimumTabScaleFactor (0.3); - IntrojucerApp::getApp().openDocumentManager.addListener (this); + ProjucerApplication::getApp().openDocumentManager.addListener (this); + + Desktop::getInstance().addFocusChangeListener (this); + startTimer (1600); } ProjectContentComponent::~ProjectContentComponent() { - IntrojucerApp::getApp().openDocumentManager.removeListener (this); + Desktop::getInstance().removeFocusChangeListener (this); + killChildProcess(); + + ProjucerApplication::getApp().openDocumentManager.removeListener (this); logo = nullptr; setProject (nullptr); @@ -215,7 +221,7 @@ ProjectContentComponent::~ProjectContentComponent() void ProjectContentComponent::paint (Graphics& g) { - IntrojucerLookAndFeel::fillWithBackgroundTexture (*this, g); + ProjucerLookAndFeel::fillWithBackgroundTexture (*this, g); } void ProjectContentComponent::paintOverChildren (Graphics& g) @@ -267,6 +273,9 @@ void ProjectContentComponent::setProject (Project* newProject) { if (project != newProject) { + lastCrashMessage = String(); + killChildProcess(); + if (project != nullptr) project->removeChangeListener (this); @@ -321,6 +330,180 @@ void ProjectContentComponent::rebuildProjectTabs() resized(); } +//============================================================================== +struct BuildTabComponent : public ConcertinaPanel +{ + BuildTabComponent (CompileEngineChildProcess* child, ProjucerAppClasses::ErrorListComp* errorList) + : errorListComp (errorList) + { + CurrentActivitiesComp* activities = new CurrentActivitiesComp (child->activityList); + ComponentListComp* comps = new ComponentListComp (*child); + + addPanel (-1, errorList, true); + addPanel (-1, comps, true); + addPanel (-1, activities, true); + + setMaximumPanelSize (activities, CurrentActivitiesComp::getMaxPanelHeight()); + setPanelSize (errorList, 200, false); + setPanelSize (comps, 300, false); + } + + Component::SafePointer errorListComp; +}; + +struct ProjucerDisabledComp : public Component, + private Button::Listener +{ + ProjucerDisabledComp (String message, bool canLogin, bool requirePurchase = false, + const String& loginName = String()) + : isPurchaseButton (requirePurchase) + { + infoLabel.setColour (Label::textColourId, findColour (mainBackgroundColourId).contrasting (0.7f)); + infoLabel.setJustificationType (Justification::centred); + infoLabel.setText (message, dontSendNotification); + addAndMakeVisible (infoLabel); + + if (canLogin) + { + addAndMakeVisible (loginButton); + loginButton.addListener (this); + + if (isPurchaseButton) + { + loginButton.setButtonText ("Purchase JUCE Pro..."); + signOutButton = new TextButton (String ("Sign Out ") + loginName); + addAndMakeVisible (*signOutButton); + signOutButton->addListener (this); + } + } + } + + void resized() override + { + infoLabel.centreWithSize (proportionOfWidth (0.9f), 200); + loginButton.setSize (jmin (getWidth() - 10, 150), 22); + loginButton.setCentrePosition (infoLabel.getBounds().getCentreX(), + infoLabel.getBottom() + loginButton.getHeight() * 2); + + if (signOutButton != nullptr) + { + signOutButton->setSize (jmin (getWidth() - 10, 150), 22); + signOutButton->setCentrePosition (infoLabel.getBounds().getCentreX(), + loginButton.getBottom() + 20); + } + } + + void buttonClicked (Button* btn) override + { + if (btn == &loginButton) + { + if (isPurchaseButton) + URL ("http://www.juce.com").launchInDefaultBrowser(); + else + ProjucerApplication::getApp().showLoginForm(); + } + else if (btn == signOutButton.get()) + { + ProjucerLicences::getInstance()->logout(); + ProjucerApplication::getApp().updateBuildEnabledSetting(); + } + } + + Label infoLabel { "info", String() }; + TextButton loginButton { "Log-in..." }; + ScopedPointer signOutButton; + bool isPurchaseButton; +}; + +struct EnableBuildComp : public Component +{ + EnableBuildComp() + { + addAndMakeVisible (&enableButton); + enableButton.setCommandToTrigger (&ProjucerApplication::getCommandManager(), CommandIDs::enableBuild, true); + } + + void resized() override + { + enableButton.centreWithSize (jmin (getWidth() - 10, 150), 22); + } + + void paint (Graphics& g) override + { + if (ProjectContentComponent* ppc = findParentComponentOfClass()) + { + g.setColour (findColour (mainBackgroundColourId).contrasting (0.7f)); + g.setFont (13.0f); + g.drawFittedText (ppc->lastCrashMessage, + getLocalBounds().reduced (8).withBottom (enableButton.getY() - 20), + Justification::centredBottom, 10); + } + } + + TextButton enableButton { "Restart Compiler" }; +}; + +//============================================================================== +Component* ProjectContentComponent::createBuildTab (CompileEngineChildProcess* child) +{ + #if JUCE_WINDOWS + return new ProjucerDisabledComp ("Windows support is still under development - " + "please check for updates at www.juce.com!", false); + ignoreUnused (child); + #elif JUCE_LINUX + return new ProjucerDisabledComp ("Linux support is still under development - " + "please check for updates at www.juce.com!", false); + ignoreUnused (child); + #else + if (child != nullptr) + { + child->crashHandler = [this] (const String& m) { this->handleCrash (m); }; + + return new BuildTabComponent (child, new ProjucerAppClasses::ErrorListComp (child->errorList)); + } + + auto& unlockStatus = *ProjucerLicences::getInstance(); + + if (unlockStatus.hasLiveCodingLicence() + && project != nullptr + && LiveBuildProjectSettings::isBuildDisabled (*project)) + return new EnableBuildComp(); + + if (unlockStatus.isLoggedIn()) + return new ProjucerDisabledComp (String ("The Projucer's live-build features are currently disabled!") + newLine + + newLine + + "Your account " + unlockStatus.getLoginName().quoted() + + " does not have an asscociated JUCE Pro license:", + true, true, unlockStatus.getLoginName()); + + if (! unlockStatus.isDLLPresent()) + return new ProjucerDisabledComp (String ("The live-building DLL is missing!") + newLine + + newLine + + "To enable the compiler, you'll need to install the missing DLL " + + CompileEngineDLL::getDLLName().quoted() + newLine + + newLine + + "Visit the JUCE website/forum for more help on getting and installing the DLL!", false); + + return new ProjucerDisabledComp ("The Projucer's live-build features are currently disabled!\n\n" + "To enable them, you'll need to log-in with your JUCE account details:", true, false); + #endif +} + +BuildTabComponent* findBuildTab (const TabbedComponent& tabs) +{ + return dynamic_cast (tabs.getTabContentComponent (2)); +} + +bool ProjectContentComponent::isBuildTabShowing() const +{ + return findBuildTab (treeViewTabs) != nullptr; +} + +bool ProjectContentComponent::isLoggedInTabShowing() const +{ + return isBuildTabShowing() || dynamic_cast (treeViewTabs.getTabContentComponent (2)) != nullptr; +} + void ProjectContentComponent::createProjectTabs() { jassert (project != nullptr); @@ -328,6 +511,16 @@ void ProjectContentComponent::createProjectTabs() treeViewTabs.addTab ("Files", tabColour, new FileTreePanel (*project), true); treeViewTabs.addTab ("Config", tabColour, new ConfigTreePanel (*project), true); + + const CompileEngineChildProcess::Ptr childProc (getChildProcess()); + + treeViewTabs.addTab ("Build", Colours::transparentBlack, createBuildTab (childProc), true); + + if (childProc != nullptr) + treeViewTabs.getTabbedButtonBar().getTabButton (2) + ->setExtraComponent (new BuildStatusTabComp (childProc->errorList, + childProc->activityList), + TabBarButton::afterText); } void ProjectContentComponent::deleteProjectTabs() @@ -398,7 +591,12 @@ void ProjectContentComponent::updateMissingFileStatuses() bool ProjectContentComponent::showEditorForFile (const File& f, bool grabFocus) { return getCurrentFile() == f - || showDocument (IntrojucerApp::getApp().openDocumentManager.openFile (project, f), grabFocus); + || showDocument (ProjucerApplication::getApp().openDocumentManager.openFile (project, f), grabFocus); +} + +bool ProjectContentComponent::hasFileInRecentList (const File& f) const +{ + return recentDocumentList.contains (f); } File ProjectContentComponent::getCurrentFile() const @@ -438,7 +636,7 @@ void ProjectContentComponent::hideEditor() currentDocument = nullptr; contentView = nullptr; updateMainWindowTitle(); - IntrojucerApp::getCommandManager().commandStatusChanged(); + ProjucerApplication::getCommandManager().commandStatusChanged(); resized(); } @@ -465,7 +663,7 @@ bool ProjectContentComponent::setEditorComponent (Component* editor, resized(); updateMainWindowTitle(); - IntrojucerApp::getCommandManager().commandStatusChanged(); + ProjucerApplication::getCommandManager().commandStatusChanged(); return true; } @@ -476,7 +674,7 @@ bool ProjectContentComponent::setEditorComponent (Component* editor, void ProjectContentComponent::closeDocument() { if (currentDocument != nullptr) - IntrojucerApp::getApp().openDocumentManager.closeDocument (currentDocument, true); + ProjucerApplication::getApp().openDocumentManager.closeDocument (currentDocument, true); else if (contentView != nullptr) if (! goToPreviousFile()) hideEditor(); @@ -714,7 +912,7 @@ void ProjectContentComponent::updateMainWindowTitle() } } -void ProjectContentComponent::showBubbleMessage (const Rectangle& pos, const String& text) +void ProjectContentComponent::showBubbleMessage (Rectangle pos, const String& text) { addChildComponent (bubbleMessage); bubbleMessage.setColour (BubbleComponent::backgroundColourId, Colours::white.withAlpha (0.7f)); @@ -754,7 +952,7 @@ struct AsyncCommandRetrier : public Timer void timerCallback() override { stopTimer(); - IntrojucerApp::getCommandManager().invoke (info, true); + ProjucerApplication::getCommandManager().invoke (info, true); delete this; } @@ -798,7 +996,18 @@ void ProjectContentComponent::getAllCommands (Array & commands) CommandIDs::goToNextDoc, CommandIDs::goToCounterpart, CommandIDs::deleteSelectedItem, - CommandIDs::showTranslationTool }; + CommandIDs::showTranslationTool, + CommandIDs::showBuildTab, + CommandIDs::cleanAll, + CommandIDs::enableBuild, + CommandIDs::buildNow, + CommandIDs::toggleContinuousBuild, + CommandIDs::showWarnings, + CommandIDs::reinstantiateComp, + CommandIDs::launchApp, + CommandIDs::killApp, + CommandIDs::nextError, + CommandIDs::prevError }; commands.addArray (ids, numElementsInArray (ids)); } @@ -940,6 +1149,72 @@ void ProjectContentComponent::getCommandInfo (const CommandID commandID, Applica result.setInfo ("Translation File Builder", "Shows the translation file helper tool", CommandCategories::general, 0); break; + case CommandIDs::showBuildTab: + result.setInfo ("Show Build Panel", "Shows the build panel", CommandCategories::general, 0); + //result.defaultKeypresses.add (KeyPress ('b', ModifierKeys::commandModifier, 0)); + break; + + case CommandIDs::cleanAll: + result.setInfo ("Clean All", "Cleans all intermediate files", CommandCategories::general, 0); + result.defaultKeypresses.add (KeyPress ('k', ModifierKeys::commandModifier | ModifierKeys::shiftModifier, 0)); + result.setActive (project != nullptr); + break; + + case CommandIDs::enableBuild: + result.setInfo ("Enable Compilation", "Enables/disables the compiler", CommandCategories::general, 0); + result.defaultKeypresses.add (KeyPress ('b', ModifierKeys::commandModifier | ModifierKeys::shiftModifier, 0)); + result.setActive (project != nullptr); + result.setTicked (childProcess != nullptr); + break; + + case CommandIDs::buildNow: + result.setInfo ("Build Now", "Recompiles any out-of-date files and updates the JIT engine", CommandCategories::general, 0); + result.defaultKeypresses.add (KeyPress ('b', ModifierKeys::commandModifier, 0)); + result.setActive (childProcess != nullptr); + break; + + case CommandIDs::toggleContinuousBuild: + result.setInfo ("Enable Continuous Recompiling", "Continuously recompiles any changes made in code editors", CommandCategories::general, 0); + result.setActive (childProcess != nullptr); + result.setTicked (isContinuousRebuildEnabled()); + break; + + case CommandIDs::showWarnings: + result.setInfo ("Show Warnings", "Shows or hides compilation warnings", CommandCategories::general, 0); + result.setActive (project != nullptr); + result.setTicked (areWarningsEnabled()); + break; + + case CommandIDs::launchApp: + result.setInfo ("Launch Application", "Invokes the app's main() function", CommandCategories::general, 0); + result.defaultKeypresses.add (KeyPress ('r', ModifierKeys::commandModifier, 0)); + result.setActive (childProcess != nullptr && childProcess->canLaunchApp()); + break; + + case CommandIDs::killApp: + result.setInfo ("Stop Application", "Kills the app if it's running", CommandCategories::general, 0); + result.defaultKeypresses.add (KeyPress ('.', ModifierKeys::commandModifier, 0)); + result.setActive (childProcess != nullptr && childProcess->canKillApp()); + break; + + case CommandIDs::reinstantiateComp: + result.setInfo ("Re-instantiate Components", "Re-loads any component editors that are open", CommandCategories::general, 0); + result.defaultKeypresses.add (KeyPress ('r', ModifierKeys::commandModifier | ModifierKeys::shiftModifier, 0)); + result.setActive (childProcess != nullptr); + break; + + case CommandIDs::nextError: + result.setInfo ("Highlight next error", "Jumps to the next error or warning", CommandCategories::general, 0); + result.defaultKeypresses.add (KeyPress ('e', ModifierKeys::commandModifier, 0)); + result.setActive (childProcess != nullptr && ! childProcess->errorList.isEmpty()); + break; + + case CommandIDs::prevError: + result.setInfo ("Highlight previous error", "Jumps to the last error or warning", CommandCategories::general, 0); + result.defaultKeypresses.add (KeyPress ('e', ModifierKeys::commandModifier | ModifierKeys::shiftModifier, 0)); + result.setActive (childProcess != nullptr && ! childProcess->errorList.isEmpty()); + break; + default: break; } @@ -999,6 +1274,18 @@ bool ProjectContentComponent::perform (const InvocationInfo& info) case CommandIDs::showTranslationTool: showTranslationTool(); break; + case CommandIDs::showBuildTab: showBuildTab(); break; + case CommandIDs::cleanAll: cleanAll(); break; + case CommandIDs::enableBuild: setBuildEnabled (! isBuildEnabled()); break; + case CommandIDs::buildNow: rebuildNow(); break; + case CommandIDs::toggleContinuousBuild: setContinuousRebuildEnabled (! isContinuousRebuildEnabled()); break; + case CommandIDs::launchApp: launchApp(); break; + case CommandIDs::killApp: killApp(); break; + case CommandIDs::reinstantiateComp: reinstantiateLivePreviewWindows(); break; + case CommandIDs::showWarnings: toggleWarnings(); break; + case CommandIDs::nextError: showNextError(); break; + case CommandIDs::prevError: showPreviousError(); break; + default: return false; } @@ -1011,3 +1298,205 @@ void ProjectContentComponent::getSelectedProjectItemsBeingDragged (const DragAnd { FileTreeItemTypes::ProjectTreeItemBase::getSelectedProjectItemsBeingDragged (dragSourceDetails, selectedNodes); } + +//============================================================================== +void ProjectContentComponent::killChildProcess() +{ + if (childProcess != nullptr) + { + deleteProjectTabs(); + childProcess = nullptr; + ProjucerApplication::getApp().childProcessCache->removeOrphans(); + } +} + +void ProjectContentComponent::setBuildEnabled (bool b) +{ + if (project != nullptr && b != isBuildEnabled()) + { + LiveBuildProjectSettings::setBuildDisabled (*project, ! b); + killChildProcess(); + refreshTabsIfBuildStatusChanged(); + } +} + +void ProjectContentComponent::showBuildTab() +{ + WeakReference currentFocus (Component::getCurrentlyFocusedComponent()); + treeViewTabs.setCurrentTabIndex (2); + + if (currentFocus != nullptr) + currentFocus->grabKeyboardFocus(); +} + +void ProjectContentComponent::cleanAll() +{ + lastCrashMessage = String(); + + if (childProcess != nullptr) + childProcess->cleanAll(); + else if (Project* p = getProject()) + CompileEngineChildProcess::cleanAllCachedFilesForProject (*p); +} + +void ProjectContentComponent::handleCrash (const String& message) +{ + lastCrashMessage = message.isEmpty() ? TRANS("JIT process stopped responding!") + : (TRANS("JIT process crashed!") + ":\n\n" + message); + + if (project != nullptr) + { + setBuildEnabled (false); + showBuildTab(); + } +} + +bool ProjectContentComponent::isBuildEnabled() const +{ + return project != nullptr + && ! LiveBuildProjectSettings::isBuildDisabled (*project) + && ProjucerLicences::getInstance()->hasLiveCodingLicence(); +} + +void ProjectContentComponent::refreshTabsIfBuildStatusChanged() +{ + if (project != nullptr + && (treeViewTabs.getNumTabs() < 3 + || isBuildEnabled() != isBuildTabShowing() + || ProjucerLicences::getInstance()->isLoggedIn() != isLoggedInTabShowing())) + rebuildProjectTabs(); +} + +bool ProjectContentComponent::areWarningsEnabled() const +{ + return project != nullptr && ! LiveBuildProjectSettings::areWarningsDisabled (*project); +} + +void ProjectContentComponent::updateWarningState() +{ + if (childProcess != nullptr) + childProcess->errorList.setWarningsEnabled (areWarningsEnabled()); +} + +void ProjectContentComponent::toggleWarnings() +{ + if (project != nullptr) + { + LiveBuildProjectSettings::setWarningsDisabled (*project, areWarningsEnabled()); + updateWarningState(); + } +} + +static ProjucerAppClasses::ErrorListComp* findErrorListComp (const TabbedComponent& tabs) +{ + if (BuildTabComponent* bt = findBuildTab (tabs)) + return bt->errorListComp; + + return nullptr; +} + +void ProjectContentComponent::showNextError() +{ + if (ProjucerAppClasses::ErrorListComp* el = findErrorListComp (treeViewTabs)) + { + showBuildTab(); + el->showNext(); + } +} + +void ProjectContentComponent::showPreviousError() +{ + if (ProjucerAppClasses::ErrorListComp* el = findErrorListComp (treeViewTabs)) + { + showBuildTab(); + el->showPrevious(); + } +} + +void ProjectContentComponent::reinstantiateLivePreviewWindows() +{ + if (childProcess != nullptr) + childProcess->reinstantiatePreviews(); +} + +void ProjectContentComponent::launchApp() +{ + if (childProcess != nullptr) + childProcess->launchApp(); +} + +void ProjectContentComponent::killApp() +{ + if (childProcess != nullptr) + childProcess->killApp(); +} + +void ProjectContentComponent::rebuildNow() +{ + if (childProcess != nullptr) + childProcess->flushEditorChanges(); +} + +void ProjectContentComponent::globalFocusChanged (Component* focusedComponent) +{ + const bool nowForeground = (Process::isForegroundProcess() + && (focusedComponent == this || isParentOf (focusedComponent))); + + if (nowForeground != isForeground) + { + isForeground = nowForeground; + + if (childProcess != nullptr) + childProcess->processActivationChanged (isForeground); + } +} + +void ProjectContentComponent::timerCallback() +{ + if (! isBuildEnabled()) + killChildProcess(); + + refreshTabsIfBuildStatusChanged(); +} + +ReferenceCountedObjectPtr ProjectContentComponent::getChildProcess() +{ + #if JUCE_MAC + if (childProcess == nullptr && isBuildEnabled()) + { + childProcess = ProjucerApplication::getApp().childProcessCache->getOrCreate (*project); + + if (childProcess != nullptr) + childProcess->setContinuousRebuild (isContinuousRebuildEnabled()); + } + #endif + + return childProcess; +} + +void ProjectContentComponent::handleMissingSystemHeaders() +{ + #if JUCE_MAC + const String tabMessage = "Compiler not available due to missing system headers\nPlease install a recent version of Xcode"; + const String alertWindowMessage = "Missing system headers\nPlease install a recent version of Xcode"; + #elif JUCE_WINDOWS + const String tabMessage = "Compiler not available due to missing system headers\nPlease install a recent version of Visual Studio and the Windows Desktop SDK"; + const String alertWindowMessage = "Missing system headers\nPlease install a recent version of Visual Studio and the Windows Desktop SDK"; + #elif JUCE_LINUX + const String tabMessage = "Compiler not available due to missing system headers\nPlease do a sudo apt-get install ..."; + const String alertWindowMessage = "Missing system headers\nPlease do sudo apt-get install ..."; + #endif + + setBuildEnabled (false); + + deleteProjectTabs(); + createProjectTabs(); + + ProjucerDisabledComp* buildTab = new ProjucerDisabledComp (tabMessage, false); + + treeViewTabs.addTab ("Build", Colours::transparentBlack, buildTab, true); + showBuildTab(); + + AlertWindow::showMessageBox (AlertWindow::AlertIconType::WarningIcon, + "Missing system headers", alertWindowMessage); +} diff --git a/extras/Introjucer/Source/Project/jucer_ProjectContentComponent.h b/extras/Projucer/Source/Project/jucer_ProjectContentComponent.h similarity index 65% rename from extras/Introjucer/Source/Project/jucer_ProjectContentComponent.h rename to extras/Projucer/Source/Project/jucer_ProjectContentComponent.h index 2d836ae9fb..e5ef09929a 100644 --- a/extras/Introjucer/Source/Project/jucer_ProjectContentComponent.h +++ b/extras/Projucer/Source/Project/jucer_ProjectContentComponent.h @@ -28,14 +28,16 @@ #include "jucer_Project.h" #include "../Application/jucer_OpenDocumentManager.h" +class CompileEngineChildProcess; + //============================================================================== -/** -*/ class ProjectContentComponent : public Component, public ApplicationCommandTarget, private ChangeListener, - private OpenDocumentManager::DocumentCloseListener + private OpenDocumentManager::DocumentCloseListener, + private FocusChangeListener, + private Timer { public: //============================================================================== @@ -43,17 +45,18 @@ public: ~ProjectContentComponent(); Project* getProject() const noexcept { return project; } - virtual void setProject (Project* project); + virtual void setProject (Project*); void saveTreeViewState(); void saveOpenDocumentList(); void reloadLastOpenDocuments(); - bool showEditorForFile (const File& f, bool grabFocus); + bool showEditorForFile (const File&, bool grabFocus); + bool hasFileInRecentList (const File&) const; File getCurrentFile() const; - bool showDocument (OpenDocumentManager::Document* doc, bool grabFocus); - void hideDocument (OpenDocumentManager::Document* doc); + bool showDocument (OpenDocumentManager::Document*, bool grabFocus); + void hideDocument (OpenDocumentManager::Document*); OpenDocumentManager::Document* getCurrentDocument() const { return currentDocument; } void closeDocument(); void saveDocument(); @@ -77,6 +80,7 @@ public: void showFilesTab(); void showConfigTab(); + void showBuildTab(); void showProjectSettings(); void showModules(); void showModule (const String& moduleID); @@ -86,17 +90,32 @@ public: void updateMainWindowTitle(); void updateMissingFileStatuses(); - virtual void createProjectTabs(); - virtual void deleteProjectTabs(); + void createProjectTabs(); + void deleteProjectTabs(); void rebuildProjectTabs(); + void refreshTabsIfBuildStatusChanged(); + void toggleWarnings(); + void showNextError(); + void showPreviousError(); + void reinstantiateLivePreviewWindows(); - void showBubbleMessage (const Rectangle&, const String&); + void showBubbleMessage (Rectangle, const String&); StringArray getExportersWhichCanLaunch() const; - static void getSelectedProjectItemsBeingDragged (const DragAndDropTarget::SourceDetails& dragSourceDetails, + static void getSelectedProjectItemsBeingDragged (const DragAndDropTarget::SourceDetails&, OwnedArray& selectedNodes); + //============================================================================== + void killChildProcess(); + void cleanAll(); + void handleMissingSystemHeaders(); + bool isBuildTabShowing() const; + bool isLoggedInTabShowing() const; + void setBuildEnabled (bool); + bool isBuildEnabled() const; + bool areWarningsEnabled() const; + //============================================================================== ApplicationCommandTarget* getNextCommandTarget() override; void getAllCommands (Array&) override; @@ -109,7 +128,10 @@ public: void childBoundsChanged (Component*) override; void lookAndFeelChanged() override; -protected: + String lastCrashMessage; + +private: + //============================================================================== Project* project; OpenDocumentManager::Document* currentDocument; RecentDocumentList recentDocumentList; @@ -121,10 +143,28 @@ protected: ComponentBoundsConstrainer treeSizeConstrainer; BubbleMessageComponent bubbleMessage; + ReferenceCountedObjectPtr childProcess; + bool isForeground = false; + + //============================================================================== bool documentAboutToClose (OpenDocumentManager::Document*) override; void changeListenerCallback (ChangeBroadcaster*) override; void showTranslationTool(); + void globalFocusChanged (Component*) override; + void timerCallback() override; + + Component* createBuildTab (CompileEngineChildProcess*); + bool isContinuousRebuildEnabled() { return getAppSettings().getGlobalProperties().getBoolValue ("continuousRebuild", true); } + void setContinuousRebuildEnabled (bool b) { getAppSettings().getGlobalProperties().setValue ("continuousRebuild", b); } + void rebuildNow(); + void handleCrash (const String& message); + void updateWarningState(); + void launchApp(); + void killApp(); + + ReferenceCountedObjectPtr getChildProcess(); + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ProjectContentComponent) }; diff --git a/extras/Introjucer/Source/Project/jucer_ProjectTree_Base.h b/extras/Projucer/Source/Project/jucer_ProjectTree_Base.h similarity index 96% rename from extras/Introjucer/Source/Project/jucer_ProjectTree_Base.h rename to extras/Projucer/Source/Project/jucer_ProjectTree_Base.h index 0ac31bf242..24a2dab1d3 100644 --- a/extras/Introjucer/Source/Project/jucer_ProjectTree_Base.h +++ b/extras/Projucer/Source/Project/jucer_ProjectTree_Base.h @@ -103,7 +103,7 @@ public: if (ProjectTreeItemBase* treeRootItem = dynamic_cast (tree->getRootItem())) { - OpenDocumentManager& om = IntrojucerApp::getApp().openDocumentManager; + OpenDocumentManager& om = ProjucerApplication::getApp().openDocumentManager; for (int i = filesToTrash.size(); --i >= 0;) { @@ -266,7 +266,7 @@ public: void filesDropped (const StringArray& files, int insertIndex) override { if (files.size() == 1 && File (files[0]).hasFileExtension (Project::projectFileExtension)) - IntrojucerApp::getApp().openFile (files[0]); + ProjucerApplication::getApp().openFile (files[0]); else addFilesAtIndex (files, insertIndex); } diff --git a/extras/Introjucer/Source/Project/jucer_ProjectTree_File.h b/extras/Projucer/Source/Project/jucer_ProjectTree_File.h similarity index 100% rename from extras/Introjucer/Source/Project/jucer_ProjectTree_File.h rename to extras/Projucer/Source/Project/jucer_ProjectTree_File.h diff --git a/extras/Introjucer/Source/Project/jucer_ProjectTree_Group.h b/extras/Projucer/Source/Project/jucer_ProjectTree_Group.h similarity index 100% rename from extras/Introjucer/Source/Project/jucer_ProjectTree_Group.h rename to extras/Projucer/Source/Project/jucer_ProjectTree_Group.h diff --git a/extras/Projucer/Source/Project/jucer_ProjectType.h b/extras/Projucer/Source/Project/jucer_ProjectType.h new file mode 100644 index 0000000000..ac620879e1 --- /dev/null +++ b/extras/Projucer/Source/Project/jucer_ProjectType.h @@ -0,0 +1,139 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +#ifndef JUCER_PROJECTTYPE_H_INCLUDED +#define JUCER_PROJECTTYPE_H_INCLUDED + +class Project; +class ProjectExporter; + +//============================================================================== +class ProjectType +{ +public: + //============================================================================== + virtual ~ProjectType(); + + const String& getType() const noexcept { return type; } + const String& getDescription() const noexcept { return desc; } + + //============================================================================== + static Array getAllTypes(); + static const ProjectType* findType (const String& typeCode); + + //============================================================================== + virtual bool isStaticLibrary() const { return false; } + virtual bool isDynamicLibrary() const { return false; } + virtual bool isGUIApplication() const { return false; } + virtual bool isCommandLineApp() const { return false; } + virtual bool isAudioPlugin() const { return false; } + +protected: + ProjectType (const String& type, const String& desc); + +private: + const String type, desc; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ProjectType) +}; + +//============================================================================== +inline ProjectType::ProjectType (const String& t, const String& d) + : type (t), desc (d) +{ +} + +inline ProjectType::~ProjectType() +{ + getAllTypes().removeFirstMatchingValue (this); +} + +inline const ProjectType* ProjectType::findType (const String& typeCode) +{ + const Array& types = getAllTypes(); + + for (int i = types.size(); --i >= 0;) + if (types.getUnchecked(i)->getType() == typeCode) + return types.getUnchecked(i); + + jassertfalse; + return nullptr; +} + +//============================================================================== +struct ProjectType_GUIApp : public ProjectType +{ + ProjectType_GUIApp() : ProjectType (getTypeName(), "GUI Application") {} + + static const char* getTypeName() noexcept { return "guiapp"; } + bool isGUIApplication() const override { return true; } +}; + +struct ProjectType_ConsoleApp : public ProjectType +{ + ProjectType_ConsoleApp() : ProjectType (getTypeName(), "Console Application") {} + + static const char* getTypeName() noexcept { return "consoleapp"; } + bool isCommandLineApp() const override { return true; } +}; + +struct ProjectType_StaticLibrary : public ProjectType +{ + ProjectType_StaticLibrary() : ProjectType (getTypeName(), "Static Library") {} + + static const char* getTypeName() noexcept { return "library"; } + bool isStaticLibrary() const override { return true; } +}; + +struct ProjectType_DLL : public ProjectType +{ + ProjectType_DLL() : ProjectType (getTypeName(), "Dynamic Library") {} + + static const char* getTypeName() noexcept { return "dll"; } + bool isDynamicLibrary() const override { return true; } +}; + +struct ProjectType_AudioPlugin : public ProjectType +{ + ProjectType_AudioPlugin() : ProjectType (getTypeName(), "Audio Plug-in") {} + + static const char* getTypeName() noexcept { return "audioplug"; } + bool isAudioPlugin() const override { return true; } +}; + +//============================================================================== +inline Array ProjectType::getAllTypes() +{ + static ProjectType_GUIApp guiApp; + static ProjectType_ConsoleApp consoleApp; + static ProjectType_StaticLibrary staticLib; + static ProjectType_DLL dll; + static ProjectType_AudioPlugin plugin; + + static ProjectType* allTypes[] = { &guiApp, &consoleApp, &staticLib, &dll, &plugin, nullptr }; + + return Array (allTypes); +} + +#endif // JUCER_PROJECTTYPE_H_INCLUDED diff --git a/extras/Introjucer/Source/Project/jucer_TreeItemTypes.h b/extras/Projucer/Source/Project/jucer_TreeItemTypes.h similarity index 100% rename from extras/Introjucer/Source/Project/jucer_TreeItemTypes.h rename to extras/Projucer/Source/Project/jucer_TreeItemTypes.h diff --git a/extras/Introjucer/Source/Utility/jucer_CodeHelpers.cpp b/extras/Projucer/Source/Utility/jucer_CodeHelpers.cpp similarity index 100% rename from extras/Introjucer/Source/Utility/jucer_CodeHelpers.cpp rename to extras/Projucer/Source/Utility/jucer_CodeHelpers.cpp diff --git a/extras/Introjucer/Source/Utility/jucer_CodeHelpers.h b/extras/Projucer/Source/Utility/jucer_CodeHelpers.h similarity index 100% rename from extras/Introjucer/Source/Utility/jucer_CodeHelpers.h rename to extras/Projucer/Source/Utility/jucer_CodeHelpers.h diff --git a/extras/Introjucer/Source/Utility/jucer_ColourPropertyComponent.h b/extras/Projucer/Source/Utility/jucer_ColourPropertyComponent.h similarity index 100% rename from extras/Introjucer/Source/Utility/jucer_ColourPropertyComponent.h rename to extras/Projucer/Source/Utility/jucer_ColourPropertyComponent.h diff --git a/extras/Introjucer/Source/Utility/jucer_Colours.h b/extras/Projucer/Source/Utility/jucer_Colours.h similarity index 100% rename from extras/Introjucer/Source/Utility/jucer_Colours.h rename to extras/Projucer/Source/Utility/jucer_Colours.h diff --git a/extras/Projucer/Source/Utility/jucer_DialogLookAndFeel.h b/extras/Projucer/Source/Utility/jucer_DialogLookAndFeel.h new file mode 100644 index 0000000000..5a2204d51c --- /dev/null +++ b/extras/Projucer/Source/Utility/jucer_DialogLookAndFeel.h @@ -0,0 +1,142 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +#ifndef PROJUCER_LOOKANDFEEL_H_INCLUDED +#define PROJUCER_LOOKANDFEEL_H_INCLUDED + + +class ProjucerDialogLookAndFeel : public LookAndFeel_V3 +{ +public: + //============================================================================== + const float labelFontSize = 12.0f; + const float buttonFontSize = 15.0f; + + //============================================================================== + void drawToggleButton (Graphics& g, ToggleButton& button, bool /*isMouseOverButton*/, bool /*isButtonDown*/) override + { + g.setColour (Colours::white); + g.fillEllipse (4.0f, 4.0f, 13.0f, 13.0f); + + if (button.getToggleState()) + { + g.setColour (Colours::black); + g.fillEllipse (6.0f, 6.0f, 9.0f, 9.0f); + } + + g.setColour (button.findColour (ToggleButton::textColourId)); + g.setFont (getContaxProFont().withHeight (labelFontSize)); + + g.drawFittedText (button.getButtonText(), 24, 1, + button.getWidth() - 24, button.getHeight(), + Justification::centredLeft, 10); + } + + void drawButtonBackground (Graphics& g, Button& button, const Colour& /*backgroundColour*/, + bool isMouseOverButton, bool isButtonDown) override + { + auto buttonRect = button.getLocalBounds().toFloat(); + + if (button.getProperties()["isSecondaryButton"]) + drawSecondaryButtonBackground (g, buttonRect, isMouseOverButton, isButtonDown); + else + drawPrimaryButtonBackground (g, buttonRect, isMouseOverButton, isButtonDown); + } + + void drawButtonText (Graphics& g, TextButton& button, bool isMouseOverButton, bool isButtonDown) override + { + Font font (getTextButtonFont (button, button.getHeight())); + g.setFont (font); + + if (button.getProperties()["isSecondaryButton"]) + g.setColour (getBrightButtonColour (isMouseOverButton, isButtonDown)); + else + g.setColour (getBackgroundColour()); + + g.drawFittedText (button.getButtonText(), 0, 1, + button.getWidth(), + button.getHeight(), + Justification::centred, 2); + } + + //============================================================================== + Font getTextButtonFont (TextButton&, int /*buttonHeight*/) override + { + return getContaxProFont().withHeight (buttonFontSize); + } + + Font getLabelFont (Label&) override + { + return getContaxProFont().withHeight (labelFontSize); + } + + static const Font& getContaxProFont() + { + static Font font (Typeface::createSystemTypefaceFor (BinaryData::ContaxPro55Rm_otf, BinaryData::ContaxPro55Rm_otfSize)); + return font; + } + + //============================================================================== + int getAlertWindowButtonHeight() override { return 40; } + + Font getAlertWindowTitleFont() override { return getContaxProFont().withHeight (18); } + Font getAlertWindowMessageFont() override { return getContaxProFont().withHeight (12); } + Font getAlertWindowFont() override { return getContaxProFont().withHeight (12); } + + //============================================================================== + static Colour getBackgroundColour() { return Colour (0xff4d4d4d); } + static Colour getBrightButtonColour() { return Colour (0xffe6e6e6); } + static Colour getErrorTextColour() { return Colour (0xfff390a2); } + + static Colour getBrightButtonColour (bool isMouseOverButton, bool isButtonDown) + { + if (isButtonDown) return getBrightButtonColour().withAlpha (0.7f); + if (isMouseOverButton) return getBrightButtonColour().withAlpha (0.85f); + return getBrightButtonColour(); + } + +private: + //============================================================================== + void drawPrimaryButtonBackground (Graphics& g, + Rectangle buttonRect, + bool isMouseOverButton, + bool isButtonDown) + { + g.setColour (getBrightButtonColour (isMouseOverButton, isButtonDown)); + g.fillRoundedRectangle (buttonRect, 5.0f); + } + + void drawSecondaryButtonBackground (Graphics& g, + Rectangle buttonRect, + bool isMouseOverButton, + bool isButtonDown) + { + g.setColour (getBrightButtonColour (isMouseOverButton, isButtonDown)); + g.drawRoundedRectangle (buttonRect.reduced (1.0f), 5.0f, 2.0f); + } +}; + + + +#endif // PROJUCER_LOOKANDFEEL_H_INCLUDED diff --git a/extras/Introjucer/Source/Utility/jucer_FileHelpers.cpp b/extras/Projucer/Source/Utility/jucer_FileHelpers.cpp similarity index 100% rename from extras/Introjucer/Source/Utility/jucer_FileHelpers.cpp rename to extras/Projucer/Source/Utility/jucer_FileHelpers.cpp diff --git a/extras/Introjucer/Source/Utility/jucer_FileHelpers.h b/extras/Projucer/Source/Utility/jucer_FileHelpers.h similarity index 100% rename from extras/Introjucer/Source/Utility/jucer_FileHelpers.h rename to extras/Projucer/Source/Utility/jucer_FileHelpers.h diff --git a/extras/Introjucer/Source/Utility/jucer_FilePathPropertyComponent.h b/extras/Projucer/Source/Utility/jucer_FilePathPropertyComponent.h similarity index 100% rename from extras/Introjucer/Source/Utility/jucer_FilePathPropertyComponent.h rename to extras/Projucer/Source/Utility/jucer_FilePathPropertyComponent.h diff --git a/extras/Introjucer/Source/Utility/jucer_FloatingToolWindow.h b/extras/Projucer/Source/Utility/jucer_FloatingToolWindow.h similarity index 100% rename from extras/Introjucer/Source/Utility/jucer_FloatingToolWindow.h rename to extras/Projucer/Source/Utility/jucer_FloatingToolWindow.h diff --git a/extras/Introjucer/Source/Utility/jucer_Icons.cpp b/extras/Projucer/Source/Utility/jucer_Icons.cpp similarity index 98% rename from extras/Introjucer/Source/Utility/jucer_Icons.cpp rename to extras/Projucer/Source/Utility/jucer_Icons.cpp index de128b8fec..337274afa4 100644 --- a/extras/Introjucer/Source/Utility/jucer_Icons.cpp +++ b/extras/Projucer/Source/Utility/jucer_Icons.cpp @@ -28,7 +28,7 @@ const Icons& getIcons() { - return *IntrojucerApp::getApp().icons; + return *ProjucerApplication::getApp().icons; } namespace IconPathData @@ -144,6 +144,17 @@ const uint8 bug[] = { 110,109,169,227,237,67,143,189,46,67,108,94,183,187,67,17, 67,237,54,242,67,22,232,192,67,98,73,207,244,67,210,148,188,67,97,20,243,67,26,100,183,67,29,193,238,67,190,203,180,67,108,70,114,189,67,60,29,153,67,98,162,10,192,67,112,35,140,67,22,232,192,67,70,83,126,67,162,10,192,67,76,75,107,67,108,96,20,243,67, 202,156,79,67,98,164,103,247,67,226,225,77,67,0,0,250,67,114,128,67,67,140,34,249,67,234,217,58,67,98,166,103,247,67,96,51,50,67,237,54,242,67,168,2,45,67,169,227,237,67,143,189,46,67,99,101,0,0 }; +const uint8 play[] = { 110,109,84,227,213,64,188,116,205,65,108,43,135,194,65,0,0,120,65,108,84,227,213,64,14,45,170,64,108,84,227,213,64,188,116,205,65,99,101,0,0 }; + +const uint8 code[] = { 110,109,190,159,130,64,240,167,130,64,108,190,159,130,64,191,159,226,64,108,4,86,215,65,191,159,226,64,108,4,86,215,65,240,167,130,64,108,190,159,130,64,240,167,130,64,99,109,190,159,130,64,176,114,162,65,108,4,86,215,65,176,114,162,65,108,4,86,215,65, +188,116,138,65,108,190,159,130,64,188,116,138,65,108,190,159,130,64,176,114,162,65,99,109,190,159,130,64,160,26,91,65,108,4,86,215,65,160,26,91,65,108,4,86,215,65,184,30,43,65,108,190,159,130,64,184,30,43,65,108,190,159,130,64,160,26,91,65,99,109,190, +159,130,64,4,86,215,65,108,4,86,215,65,4,86,215,65,108,4,86,215,65,16,88,191,65,108,190,159,130,64,16,88,191,65,108,190,159,130,64,4,86,215,65,99,101,0,0 }; + +const uint8 box[] = { 110,109,0,0,120,65,35,219,65,64,108,102,102,150,64,88,57,20,65,108,102,102,150,64,72,225,173,65,108,0,0,120,65,156,196,223,65,108,102,102,210,65,84,227,173,65,108,102,102,210,65,113,61,20,65,108,0,0,120,65,35,219,65,64,99,109,109,231,199,65,129,149,41, +65,108,0,0,128,65,190,159,124,65,108,0,0,128,65,4,86,209,65,98,0,0,128,65,55,137,211,65,102,102,124,65,4,86,213,65,0,0,120,65,4,86,213,65,98,154,153,115,65,4,86,213,65,0,0,112,65,55,137,211,65,0,0,112,65,4,86,209,65,108,0,0,112,65,117,147,124,65,108, +126,106,192,64,104,145,41,65,98,155,196,184,64,41,92,39,65,220,36,182,64,200,118,34,65,91,143,186,64,215,163,30,65,98,218,249,190,64,254,212,26,65,154,196,200,64,6,129,25,65,126,106,208,64,70,182,27,65,108,24,4,120,65,107,188,110,65,108,120,233,195,65, +70,182,27,65,98,229,208,197,65,7,129,25,65,161,69,200,65,254,212,26,65,77,98,201,65,240,167,30,65,98,213,120,202,65,225,122,34,65,229,208,201,65,66,96,39,65,109,231,199,65,129,149,41,65,99,101,0,0 }; + const uint8 juceLogo[] = { 110,109,98,93,111,67,0,200,223,63,98,4,216,69,67,0,123,58,64,202,92,30,67,80,174,152,65,228,128,246,66,72,140,32,66,98,65,26,61,66,204,146,176,66,0,123,186,63,174,241,52,67,240,122,58,65,171,106,135,67,98,120,246,75,65,23,236,155,67,206,72,4,66,9,90, 174,67,48,75,78,66,211,22,192,67,98,55,52,150,66,33,8,213,67,113,10,230,66,243,18,228,67,142,255,29,67,179,41,238,67,98,30,33,55,67,123,53,244,67,62,2,82,67,225,50,249,67,172,69,110,67,231,22,249,67,98,242,82,134,67,1,0,250,67,167,205,149,67,191,101, 248,67,252,29,164,67,15,67,243,67,98,5,56,182,67,251,17,237,67,203,183,198,67,33,18,226,67,72,35,211,67,43,147,211,67,98,198,63,235,67,187,168,184,67,132,69,249,67,25,14,148,67,70,82,246,67,214,86,95,67,98,242,178,243,67,194,7,50,67,241,151,234,67,230, @@ -955,6 +966,7 @@ const uint8 mainJuceLogo[] = { 110,109,104,98,101,67,226,177,185,67,98,216,179,8 236,55,67,48,3,224,66,56,233,55,67,248,254,223,66,216,187,55,67,0,10,222,66,99,109,104,114,80,67,40,85,215,66,98,248,103,80,67,64,50,215,66,104,82,80,67,104,118,214,66,88,66,80,67,200,179,213,66,108,24,37,80,67,240,81,212,66,108,88,220,80,67,144,4,212, 66,98,40,65,81,67,8,218,211,66,88,160,81,67,176,205,211,66,216,175,81,67,24,233,211,66,98,120,191,81,67,144,4,212,66,8,217,81,67,176,202,212,66,184,232,81,67,96,161,213,66,98,24,5,82,67,216,36,215,66,72,4,82,67,24,40,215,66,248,124,81,67,48,94,215,66, 98,104,203,80,67,64,165,215,66,120,137,80,67,8,163,215,66,104,114,80,67,16,85,215,66,99,101,0,0 }; + } /*static void convertSVGPathToCppData (const String& pathString) @@ -989,16 +1001,19 @@ Icons::Icons() http://raphaeljs.com/icons They're MIT licensed - the licensing info is on the linked page. */ - JUCE_LOAD_PATH_DATA (folder); - JUCE_LOAD_PATH_DATA (document); - JUCE_LOAD_PATH_DATA (imageDoc); - JUCE_LOAD_PATH_DATA (config); - JUCE_LOAD_PATH_DATA (graph); - JUCE_LOAD_PATH_DATA (exporter); - JUCE_LOAD_PATH_DATA (jigsaw); - JUCE_LOAD_PATH_DATA (info); - JUCE_LOAD_PATH_DATA (warning); - JUCE_LOAD_PATH_DATA (bug); - JUCE_LOAD_PATH_DATA (juceLogo); - JUCE_LOAD_PATH_DATA (mainJuceLogo); + JUCE_LOAD_PATH_DATA (folder) + JUCE_LOAD_PATH_DATA (document) + JUCE_LOAD_PATH_DATA (imageDoc) + JUCE_LOAD_PATH_DATA (config) + JUCE_LOAD_PATH_DATA (graph) + JUCE_LOAD_PATH_DATA (exporter) + JUCE_LOAD_PATH_DATA (jigsaw) + JUCE_LOAD_PATH_DATA (info) + JUCE_LOAD_PATH_DATA (warning) + JUCE_LOAD_PATH_DATA (bug) + JUCE_LOAD_PATH_DATA (play) + JUCE_LOAD_PATH_DATA (code) + JUCE_LOAD_PATH_DATA (box) + JUCE_LOAD_PATH_DATA (juceLogo) + JUCE_LOAD_PATH_DATA (mainJuceLogo) } diff --git a/extras/Introjucer/Source/Utility/jucer_Icons.h b/extras/Projucer/Source/Utility/jucer_Icons.h similarity index 94% rename from extras/Introjucer/Source/Utility/jucer_Icons.h rename to extras/Projucer/Source/Utility/jucer_Icons.h index 853d8c3c81..c2bbddcf21 100644 --- a/extras/Introjucer/Source/Utility/jucer_Icons.h +++ b/extras/Projucer/Source/Utility/jucer_Icons.h @@ -69,7 +69,8 @@ public: Path folder, document, imageDoc, config, exporter, juceLogo, graph, jigsaw, info, warning, - bug, mainJuceLogo; + bug, play, code, box, + mainJuceLogo; private: JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (Icons) diff --git a/extras/Introjucer/Source/Utility/jucer_JucerTreeViewBase.cpp b/extras/Projucer/Source/Utility/jucer_JucerTreeViewBase.cpp similarity index 100% rename from extras/Introjucer/Source/Utility/jucer_JucerTreeViewBase.cpp rename to extras/Projucer/Source/Utility/jucer_JucerTreeViewBase.cpp diff --git a/extras/Introjucer/Source/Utility/jucer_JucerTreeViewBase.h b/extras/Projucer/Source/Utility/jucer_JucerTreeViewBase.h similarity index 100% rename from extras/Introjucer/Source/Utility/jucer_JucerTreeViewBase.h rename to extras/Projucer/Source/Utility/jucer_JucerTreeViewBase.h diff --git a/extras/Introjucer/Source/Utility/jucer_MiscUtilities.cpp b/extras/Projucer/Source/Utility/jucer_MiscUtilities.cpp similarity index 100% rename from extras/Introjucer/Source/Utility/jucer_MiscUtilities.cpp rename to extras/Projucer/Source/Utility/jucer_MiscUtilities.cpp diff --git a/extras/Introjucer/Source/Utility/jucer_MiscUtilities.h b/extras/Projucer/Source/Utility/jucer_MiscUtilities.h similarity index 100% rename from extras/Introjucer/Source/Utility/jucer_MiscUtilities.h rename to extras/Projucer/Source/Utility/jucer_MiscUtilities.h diff --git a/extras/Introjucer/Source/Utility/jucer_PresetIDs.h b/extras/Projucer/Source/Utility/jucer_PresetIDs.h similarity index 83% rename from extras/Introjucer/Source/Utility/jucer_PresetIDs.h rename to extras/Projucer/Source/Utility/jucer_PresetIDs.h index 3af853396a..e59a4d6556 100644 --- a/extras/Introjucer/Source/Utility/jucer_PresetIDs.h +++ b/extras/Projucer/Source/Utility/jucer_PresetIDs.h @@ -35,6 +35,7 @@ namespace Ids DECLARE_ID (file); DECLARE_ID (path); DECLARE_ID (text); + DECLARE_ID (vendor); DECLARE_ID (version); DECLARE_ID (license); DECLARE_ID (include); @@ -52,6 +53,8 @@ namespace Ids DECLARE_ID (initialState); DECLARE_ID (targetFolder); DECLARE_ID (intermediatesPath); + DECLARE_ID (modulePaths); + DECLARE_ID (searchpaths); DECLARE_ID (vstFolder); DECLARE_ID (vst3Folder); DECLARE_ID (rtasFolder); @@ -98,6 +101,7 @@ namespace Ids DECLARE_ID (warningsAreErrors); DECLARE_ID (linuxArchitecture); DECLARE_ID (toolset); + DECLARE_ID (IPPLibrary); DECLARE_ID (msvcModuleDefinitionFile); DECLARE_ID (bigIcon); DECLARE_ID (smallIcon); @@ -107,7 +111,6 @@ namespace Ids DECLARE_ID (generateManifest); DECLARE_ID (useRuntimeLibDLL); DECLARE_ID (wholeProgramOptimisation); - DECLARE_ID (juceLinkage); DECLARE_ID (buildVST); DECLARE_ID (bundleIdentifier); DECLARE_ID (aaxIdentifier); @@ -186,8 +189,40 @@ namespace Ids DECLARE_ID (CONFIGURATION); DECLARE_ID (MODULEPATHS); DECLARE_ID (MODULEPATH); + DECLARE_ID (PATH); + DECLARE_ID (userpath); + DECLARE_ID (systempath); + DECLARE_ID (utilsCppInclude); + DECLARE_ID (juceModulesFolder); + DECLARE_ID (parentActive); + DECLARE_ID (message); + DECLARE_ID (start); + DECLARE_ID (end); + DECLARE_ID (range); + DECLARE_ID (location); + DECLARE_ID (key); + DECLARE_ID (list); + DECLARE_ID (METADATA); + DECLARE_ID (DEPENDENCIES); + DECLARE_ID (CLASSLIST); + DECLARE_ID (CLASS); + DECLARE_ID (MEMBER); + DECLARE_ID (METHOD); + DECLARE_ID (LITERALS); + DECLARE_ID (LITERAL); + DECLARE_ID (abstract); + DECLARE_ID (anonymous); + DECLARE_ID (noDefConstructor); + DECLARE_ID (returnType); + DECLARE_ID (numArgs); + DECLARE_ID (declaration); + DECLARE_ID (definition); + DECLARE_ID (classDecl); + DECLARE_ID (initialisers); + DECLARE_ID (destructors); const Identifier ID ("id"); + const Identifier ID_uppercase ("ID"); const Identifier class_ ("class"); #undef DECLARE_ID diff --git a/extras/Introjucer/Source/Utility/jucer_IntrojucerLookAndFeel.cpp b/extras/Projucer/Source/Utility/jucer_ProjucerLookAndFeel.cpp similarity index 81% rename from extras/Introjucer/Source/Utility/jucer_IntrojucerLookAndFeel.cpp rename to extras/Projucer/Source/Utility/jucer_ProjucerLookAndFeel.cpp index 0bfe503c98..3e536b359b 100644 --- a/extras/Introjucer/Source/Utility/jucer_IntrojucerLookAndFeel.cpp +++ b/extras/Projucer/Source/Utility/jucer_ProjucerLookAndFeel.cpp @@ -23,20 +23,20 @@ */ #include "../jucer_Headers.h" -#include "jucer_IntrojucerLookAndFeel.h" +#include "jucer_ProjucerLookAndFeel.h" -IntrojucerLookAndFeel::IntrojucerLookAndFeel() +ProjucerLookAndFeel::ProjucerLookAndFeel() { setColour (mainBackgroundColourId, Colour::greyLevel (0.8f)); } -int IntrojucerLookAndFeel::getTabButtonBestWidth (TabBarButton&, int) +int ProjucerLookAndFeel::getTabButtonBestWidth (TabBarButton&, int) { return 120; } -Colour IntrojucerLookAndFeel::getTabBackgroundColour (TabBarButton& button) +Colour ProjucerLookAndFeel::getTabBackgroundColour (TabBarButton& button) { const Colour bkg (button.findColour (mainBackgroundColourId).contrasting (0.15f)); @@ -46,7 +46,7 @@ Colour IntrojucerLookAndFeel::getTabBackgroundColour (TabBarButton& button) return bkg; } -void IntrojucerLookAndFeel::drawTabButton (TabBarButton& button, Graphics& g, bool isMouseOver, bool isMouseDown) +void ProjucerLookAndFeel::drawTabButton (TabBarButton& button, Graphics& g, bool isMouseOver, bool isMouseDown) { const Rectangle activeArea (button.getActiveArea()); @@ -68,9 +68,9 @@ void IntrojucerLookAndFeel::drawTabButton (TabBarButton& button, Graphics& g, bo textLayout.draw (g, button.getTextArea().toFloat()); } -void IntrojucerLookAndFeel::drawConcertinaPanelHeader (Graphics& g, const Rectangle& area, - bool isMouseOver, bool /*isMouseDown*/, - ConcertinaPanel&, Component& panel) +void ProjucerLookAndFeel::drawConcertinaPanelHeader (Graphics& g, const Rectangle& area, + bool isMouseOver, bool /*isMouseDown*/, + ConcertinaPanel&, Component& panel) { const Colour bkg (Colours::grey); @@ -106,7 +106,7 @@ static Range getBrightnessRange (const Image& im) return Range (minB, maxB); } -void IntrojucerLookAndFeel::fillWithBackgroundTexture (Graphics& g) +void ProjucerLookAndFeel::fillWithBackgroundTexture (Graphics& g) { const Colour bkg (findColour (mainBackgroundColourId)); @@ -140,7 +140,7 @@ void IntrojucerLookAndFeel::fillWithBackgroundTexture (Graphics& g) g.fillAll(); } -void IntrojucerLookAndFeel::fillWithBackgroundTexture (Component& c, Graphics& g) +void ProjucerLookAndFeel::fillWithBackgroundTexture (Component& c, Graphics& g) { - dynamic_cast (c.getLookAndFeel()).fillWithBackgroundTexture (g); + dynamic_cast (c.getLookAndFeel()).fillWithBackgroundTexture (g); } diff --git a/extras/Introjucer/Source/Utility/jucer_IntrojucerLookAndFeel.h b/extras/Projucer/Source/Utility/jucer_ProjucerLookAndFeel.h similarity index 85% rename from extras/Introjucer/Source/Utility/jucer_IntrojucerLookAndFeel.h rename to extras/Projucer/Source/Utility/jucer_ProjucerLookAndFeel.h index 8442841723..43387b183d 100644 --- a/extras/Introjucer/Source/Utility/jucer_IntrojucerLookAndFeel.h +++ b/extras/Projucer/Source/Utility/jucer_ProjucerLookAndFeel.h @@ -22,15 +22,15 @@ ============================================================================== */ -#ifndef JUCER_INTROJUCERLOOKANDFEEL_H_INCLUDED -#define JUCER_INTROJUCERLOOKANDFEEL_H_INCLUDED +#ifndef JUCER_PROJUCERLOOKANDFEEL_H_INCLUDED +#define JUCER_PROJUCERLOOKANDFEEL_H_INCLUDED //============================================================================== -class IntrojucerLookAndFeel : public LookAndFeel_V3 +class ProjucerLookAndFeel : public LookAndFeel_V3 { public: - IntrojucerLookAndFeel(); + ProjucerLookAndFeel(); void fillWithBackgroundTexture (Graphics&); static void fillWithBackgroundTexture (Component&, Graphics&); @@ -48,4 +48,4 @@ private: -#endif // JUCER_INTROJUCERLOOKANDFEEL_H_INCLUDED +#endif diff --git a/extras/Introjucer/Source/Utility/jucer_RelativePath.h b/extras/Projucer/Source/Utility/jucer_RelativePath.h similarity index 100% rename from extras/Introjucer/Source/Utility/jucer_RelativePath.h rename to extras/Projucer/Source/Utility/jucer_RelativePath.h diff --git a/extras/Introjucer/Source/Utility/jucer_SVGPathDataComponent.h b/extras/Projucer/Source/Utility/jucer_SVGPathDataComponent.h similarity index 96% rename from extras/Introjucer/Source/Utility/jucer_SVGPathDataComponent.h rename to extras/Projucer/Source/Utility/jucer_SVGPathDataComponent.h index 6172b04d4f..61fcc8f637 100644 --- a/extras/Introjucer/Source/Utility/jucer_SVGPathDataComponent.h +++ b/extras/Projucer/Source/Utility/jucer_SVGPathDataComponent.h @@ -22,7 +22,6 @@ ============================================================================== */ - class SVGPathDataComponent : public Component, private TextEditorListener { diff --git a/extras/Introjucer/Source/Utility/jucer_SlidingPanelComponent.cpp b/extras/Projucer/Source/Utility/jucer_SlidingPanelComponent.cpp similarity index 100% rename from extras/Introjucer/Source/Utility/jucer_SlidingPanelComponent.cpp rename to extras/Projucer/Source/Utility/jucer_SlidingPanelComponent.cpp diff --git a/extras/Introjucer/Source/Utility/jucer_SlidingPanelComponent.h b/extras/Projucer/Source/Utility/jucer_SlidingPanelComponent.h similarity index 100% rename from extras/Introjucer/Source/Utility/jucer_SlidingPanelComponent.h rename to extras/Projucer/Source/Utility/jucer_SlidingPanelComponent.h diff --git a/extras/Introjucer/Source/Utility/jucer_StoredSettings.cpp b/extras/Projucer/Source/Utility/jucer_StoredSettings.cpp similarity index 93% rename from extras/Introjucer/Source/Utility/jucer_StoredSettings.cpp rename to extras/Projucer/Source/Utility/jucer_StoredSettings.cpp index d0a173d170..9228c67304 100644 --- a/extras/Introjucer/Source/Utility/jucer_StoredSettings.cpp +++ b/extras/Projucer/Source/Utility/jucer_StoredSettings.cpp @@ -30,7 +30,7 @@ //============================================================================== StoredSettings& getAppSettings() { - return *IntrojucerApp::getApp().settings; + return *ProjucerApplication::getApp().settings; } PropertiesFile& getGlobalProperties() @@ -59,7 +59,7 @@ PropertiesFile& StoredSettings::getGlobalProperties() static PropertiesFile* createPropsFile (const String& filename) { - return new PropertiesFile (IntrojucerApp::getApp() + return new PropertiesFile (ProjucerApplication::getApp() .getPropertyFileOptionsFor (filename)); } @@ -104,7 +104,7 @@ void StoredSettings::updateKeyMappings() { getGlobalProperties().removeValue ("keyMappings"); - if (ApplicationCommandManager* commandManager = IntrojucerApp::getApp().commandManager) + if (ApplicationCommandManager* commandManager = ProjucerApplication::getApp().commandManager) { const ScopedPointer keys (commandManager->getKeyMappings()->createXml (true)); @@ -242,8 +242,8 @@ String StoredSettings::getFallbackPath (const Identifier& key, DependencyPathOS if (key == Ids::rtasPath) { - if (os == TargetOS::windows) return "c:\\SDKs\\PT_80_SDK"; - if (os == TargetOS::osx) return "~/SDKs/PT_80_SDK"; + if (os == TargetOS::windows) return "c:\\SDKs\\PT_90_SDK"; + if (os == TargetOS::osx) return "~/SDKs/PT_90_SDK"; // no RTAS on this OS! jassertfalse; @@ -315,4 +315,4 @@ bool StoredSettings::isGlobalPathValid (const Identifier& key, const String& pat } return doesSDKPathContainFile (path, fileToCheckFor); -} \ No newline at end of file +} diff --git a/extras/Introjucer/Source/Utility/jucer_StoredSettings.h b/extras/Projucer/Source/Utility/jucer_StoredSettings.h similarity index 100% rename from extras/Introjucer/Source/Utility/jucer_StoredSettings.h rename to extras/Projucer/Source/Utility/jucer_StoredSettings.h diff --git a/extras/Introjucer/Source/Utility/jucer_TranslationTool.h b/extras/Projucer/Source/Utility/jucer_TranslationTool.h similarity index 95% rename from extras/Introjucer/Source/Utility/jucer_TranslationTool.h rename to extras/Projucer/Source/Utility/jucer_TranslationTool.h index c21920b996..5624f4f616 100644 --- a/extras/Introjucer/Source/Utility/jucer_TranslationTool.h +++ b/extras/Projucer/Source/Utility/jucer_TranslationTool.h @@ -358,7 +358,7 @@ public: void paint (Graphics& g) { - IntrojucerLookAndFeel::fillWithBackgroundTexture (*this, g); + ProjucerLookAndFeel::fillWithBackgroundTexture (*this, g); } void resized() @@ -399,7 +399,7 @@ private: juce::TextButton scanButton; juce::TextButton loadButton; - IntrojucerLookAndFeel lf; + ProjucerLookAndFeel lf; void buttonClicked (Button* b) { @@ -442,7 +442,7 @@ private: void scanProject() { - if (Project* project = IntrojucerApp::getApp().mainWindowList.getFrontmostProject()) + if (Project* project = ProjucerApplication::getApp().mainWindowList.getFrontmostProject()) setPreTranslationText (TranslationHelpers::getPreTranslationText (*project)); else AlertWindow::showMessageBoxAsync (AlertWindow::WarningIcon, "Translation Tool", diff --git a/extras/Introjucer/Source/Utility/jucer_UTF8Component.h b/extras/Projucer/Source/Utility/jucer_UTF8Component.h similarity index 96% rename from extras/Introjucer/Source/Utility/jucer_UTF8Component.h rename to extras/Projucer/Source/Utility/jucer_UTF8Component.h index bc715038f7..23a363c07a 100644 --- a/extras/Introjucer/Source/Utility/jucer_UTF8Component.h +++ b/extras/Projucer/Source/Utility/jucer_UTF8Component.h @@ -22,7 +22,6 @@ ============================================================================== */ - class UTF8Component : public Component, private TextEditorListener { diff --git a/extras/Introjucer/Source/Utility/jucer_ValueSourceHelpers.h b/extras/Projucer/Source/Utility/jucer_ValueSourceHelpers.h similarity index 100% rename from extras/Introjucer/Source/Utility/jucer_ValueSourceHelpers.h rename to extras/Projucer/Source/Utility/jucer_ValueSourceHelpers.h diff --git a/extras/Introjucer/Source/Wizards/jucer_NewFileWizard.cpp b/extras/Projucer/Source/Wizards/jucer_NewFileWizard.cpp similarity index 95% rename from extras/Introjucer/Source/Wizards/jucer_NewFileWizard.cpp rename to extras/Projucer/Source/Wizards/jucer_NewFileWizard.cpp index e0d5255f74..6aef6e4124 100644 --- a/extras/Introjucer/Source/Wizards/jucer_NewFileWizard.cpp +++ b/extras/Projucer/Source/Wizards/jucer_NewFileWizard.cpp @@ -60,7 +60,7 @@ public: { const File newFile (askUserToChooseNewFile ("SourceCode.cpp", "*.cpp", parent)); - if (newFile != File::nonexistent) + if (newFile != File()) create (parent, newFile, "jucer_NewCppFileTemplate_cpp"); } @@ -89,7 +89,7 @@ public: { const File newFile (askUserToChooseNewFile ("SourceCode.h", "*.h", parent)); - if (newFile != File::nonexistent) + if (newFile != File()) create (parent, newFile, "jucer_NewCppFileTemplate_h"); } @@ -118,7 +118,7 @@ public: { const File newFile (askUserToChooseNewFile ("SourceCode.h", "*.h;*.cpp", parent)); - if (newFile != File::nonexistent) + if (newFile != File()) { if (NewCppFileWizard::create (parent, newFile.withFileExtension ("h"), "jucer_NewCppFileTemplate_h")) NewCppFileWizard::create (parent, newFile.withFileExtension ("cpp"), "jucer_NewCppFileTemplate_cpp"); @@ -155,7 +155,7 @@ public: { const File newFile (askUserToChooseNewFile (className + ".h", "*.h;*.cpp", parent)); - if (newFile != File::nonexistent) + if (newFile != File()) createFiles (parent, className, newFile); break; @@ -225,7 +225,7 @@ File NewFileWizard::Type::askUserToChooseNewFile (const String& suggestedFilenam if (fc.browseForFileToSave (true)) return fc.getResult(); - return File::nonexistent; + return File(); } //============================================================================== diff --git a/extras/Introjucer/Source/Wizards/jucer_NewFileWizard.h b/extras/Projucer/Source/Wizards/jucer_NewFileWizard.h similarity index 100% rename from extras/Introjucer/Source/Wizards/jucer_NewFileWizard.h rename to extras/Projucer/Source/Wizards/jucer_NewFileWizard.h diff --git a/extras/Introjucer/Source/Wizards/jucer_NewProjectWizard.h b/extras/Projucer/Source/Wizards/jucer_NewProjectWizard.h similarity index 96% rename from extras/Introjucer/Source/Wizards/jucer_NewProjectWizard.h rename to extras/Projucer/Source/Wizards/jucer_NewProjectWizard.h index 45ed70b622..6656c051f2 100644 --- a/extras/Introjucer/Source/Wizards/jucer_NewProjectWizard.h +++ b/extras/Projucer/Source/Wizards/jucer_NewProjectWizard.h @@ -210,7 +210,7 @@ struct NewProjectWizard for (int i = 0; i < mods.size(); ++i) if (const ModuleDescription* info = list.getModuleWithID (mods[i])) - project.getModules().addModule (info->manifestFile, areModulesCopiedLocally); + project.getModules().addModule (info->moduleFolder, areModulesCopiedLocally); } void addExporters (Project& project, WizardComp& wizardComp) diff --git a/extras/Introjucer/Source/Wizards/jucer_NewProjectWizardClasses.cpp b/extras/Projucer/Source/Wizards/jucer_NewProjectWizardClasses.cpp similarity index 95% rename from extras/Introjucer/Source/Wizards/jucer_NewProjectWizardClasses.cpp rename to extras/Projucer/Source/Wizards/jucer_NewProjectWizardClasses.cpp index 6b62ff909f..0e4cd5df27 100644 --- a/extras/Introjucer/Source/Wizards/jucer_NewProjectWizardClasses.cpp +++ b/extras/Projucer/Source/Wizards/jucer_NewProjectWizardClasses.cpp @@ -27,7 +27,6 @@ #include "../Project/jucer_ProjectType.h" #include "../Project/jucer_Module.h" #include "../Project Saving/jucer_ProjectExporter.h" -#include "../Application/jucer_Application.h" #include "../Application/jucer_MainWindow.h" #include "../Utility/jucer_SlidingPanelComponent.h" diff --git a/extras/Introjucer/Source/Wizards/jucer_NewProjectWizardClasses.h b/extras/Projucer/Source/Wizards/jucer_NewProjectWizardClasses.h similarity index 100% rename from extras/Introjucer/Source/Wizards/jucer_NewProjectWizardClasses.h rename to extras/Projucer/Source/Wizards/jucer_NewProjectWizardClasses.h diff --git a/extras/Introjucer/Source/Wizards/jucer_NewProjectWizardComponent.h b/extras/Projucer/Source/Wizards/jucer_NewProjectWizardComponent.h similarity index 100% rename from extras/Introjucer/Source/Wizards/jucer_NewProjectWizardComponent.h rename to extras/Projucer/Source/Wizards/jucer_NewProjectWizardComponent.h diff --git a/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_Animated.h b/extras/Projucer/Source/Wizards/jucer_ProjectWizard_Animated.h similarity index 95% rename from extras/Introjucer/Source/Wizards/jucer_ProjectWizard_Animated.h rename to extras/Projucer/Source/Wizards/jucer_ProjectWizard_Animated.h index 86b663aa88..c13827b0c8 100644 --- a/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_Animated.h +++ b/extras/Projucer/Source/Wizards/jucer_ProjectWizard_Animated.h @@ -39,7 +39,7 @@ struct AnimatedAppWizard : public NewProjectWizard File contentCompH = contentCompCpp.withFileExtension (".h"); String contentCompName = "MainContentComponent"; - project.getProjectTypeValue() = ProjectType::getGUIAppTypeName(); + project.getProjectTypeValue() = ProjectType_GUIApp::getTypeName(); Project::Item sourceGroup (createSourceGroup (project)); diff --git a/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_AudioApp.h b/extras/Projucer/Source/Wizards/jucer_ProjectWizard_AudioApp.h similarity index 95% rename from extras/Introjucer/Source/Wizards/jucer_ProjectWizard_AudioApp.h rename to extras/Projucer/Source/Wizards/jucer_ProjectWizard_AudioApp.h index 8018e3c7db..d97ab72d15 100644 --- a/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_AudioApp.h +++ b/extras/Projucer/Source/Wizards/jucer_ProjectWizard_AudioApp.h @@ -39,7 +39,7 @@ struct AudioAppWizard : public NewProjectWizard File contentCompH = contentCompCpp.withFileExtension (".h"); String contentCompName = "MainContentComponent"; - project.getProjectTypeValue() = ProjectType::getGUIAppTypeName(); + project.getProjectTypeValue() = ProjectType_GUIApp::getTypeName(); Project::Item sourceGroup (createSourceGroup (project)); diff --git a/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_AudioPlugin.h b/extras/Projucer/Source/Wizards/jucer_ProjectWizard_AudioPlugin.h similarity index 96% rename from extras/Introjucer/Source/Wizards/jucer_ProjectWizard_AudioPlugin.h rename to extras/Projucer/Source/Wizards/jucer_ProjectWizard_AudioPlugin.h index 4b5318c3af..7277f269b8 100644 --- a/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_AudioPlugin.h +++ b/extras/Projucer/Source/Wizards/jucer_ProjectWizard_AudioPlugin.h @@ -50,7 +50,7 @@ struct AudioPluginAppWizard : public NewProjectWizard File editorCppFile = getSourceFilesFolder().getChildFile ("PluginEditor.cpp"); File editorHFile = editorCppFile.withFileExtension (".h"); - project.getProjectTypeValue() = ProjectType::getAudioPluginTypeName(); + project.getProjectTypeValue() = ProjectType_AudioPlugin::getTypeName(); Project::Item sourceGroup (createSourceGroup (project)); project.getConfigFlag ("JUCE_QUICKTIME") = Project::configFlagDisabled; // disabled because it interferes with RTAS build on PC diff --git a/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_Blank.h b/extras/Projucer/Source/Wizards/jucer_ProjectWizard_Blank.h similarity index 93% rename from extras/Introjucer/Source/Wizards/jucer_ProjectWizard_Blank.h rename to extras/Projucer/Source/Wizards/jucer_ProjectWizard_Blank.h index d4dbfb6554..e52434918d 100644 --- a/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_Blank.h +++ b/extras/Projucer/Source/Wizards/jucer_ProjectWizard_Blank.h @@ -33,7 +33,7 @@ struct BlankAppWizard : public NewProjectWizard bool initialiseProject (Project& project) override { createSourceFolder(); - project.getProjectTypeValue() = ProjectType::getGUIAppTypeName(); + project.getProjectTypeValue() = ProjectType_GUIApp::getTypeName(); Project::Item sourceGroup (createSourceGroup (project)); setExecutableNameForAllTargets (project, File::createLegalFileName (appTitle)); diff --git a/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_Console.h b/extras/Projucer/Source/Wizards/jucer_ProjectWizard_Console.h similarity index 94% rename from extras/Introjucer/Source/Wizards/jucer_ProjectWizard_Console.h rename to extras/Projucer/Source/Wizards/jucer_ProjectWizard_Console.h index 38eb27a268..d6821331d4 100644 --- a/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_Console.h +++ b/extras/Projucer/Source/Wizards/jucer_ProjectWizard_Console.h @@ -57,7 +57,7 @@ struct ConsoleAppWizard : public NewProjectWizard { createSourceFolder(); - project.getProjectTypeValue() = ProjectType::getConsoleAppTypeName(); + project.getProjectTypeValue() = ProjectType_ConsoleApp::getTypeName(); Project::Item sourceGroup (createSourceGroup (project)); diff --git a/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_DLL.h b/extras/Projucer/Source/Wizards/jucer_ProjectWizard_DLL.h similarity index 92% rename from extras/Introjucer/Source/Wizards/jucer_ProjectWizard_DLL.h rename to extras/Projucer/Source/Wizards/jucer_ProjectWizard_DLL.h index 96052d7bc4..4d3b2ba23a 100644 --- a/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_DLL.h +++ b/extras/Projucer/Source/Wizards/jucer_ProjectWizard_DLL.h @@ -33,7 +33,7 @@ struct DynamicLibraryWizard : public NewProjectWizard bool initialiseProject (Project& project) override { createSourceFolder(); - project.getProjectTypeValue() = ProjectType::getDynamicLibTypeName(); + project.getProjectTypeValue() = ProjectType_DLL::getTypeName(); createSourceGroup (project); setExecutableNameForAllTargets (project, File::createLegalFileName (appTitle)); diff --git a/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_GUIApp.h b/extras/Projucer/Source/Wizards/jucer_ProjectWizard_GUIApp.h similarity index 96% rename from extras/Introjucer/Source/Wizards/jucer_ProjectWizard_GUIApp.h rename to extras/Projucer/Source/Wizards/jucer_ProjectWizard_GUIApp.h index 9a7d7e6c55..4c00f79daa 100644 --- a/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_GUIApp.h +++ b/extras/Projucer/Source/Wizards/jucer_ProjectWizard_GUIApp.h @@ -65,7 +65,7 @@ struct GUIAppWizard : public NewProjectWizard File contentCompH = contentCompCpp.withFileExtension (".h"); String contentCompName = "MainContentComponent"; - project.getProjectTypeValue() = ProjectType::getGUIAppTypeName(); + project.getProjectTypeValue() = ProjectType_GUIApp::getTypeName(); Project::Item sourceGroup (createSourceGroup (project)); diff --git a/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_StaticLibrary.h b/extras/Projucer/Source/Wizards/jucer_ProjectWizard_StaticLibrary.h similarity index 92% rename from extras/Introjucer/Source/Wizards/jucer_ProjectWizard_StaticLibrary.h rename to extras/Projucer/Source/Wizards/jucer_ProjectWizard_StaticLibrary.h index 9ba21d1fbc..47ba1033a5 100644 --- a/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_StaticLibrary.h +++ b/extras/Projucer/Source/Wizards/jucer_ProjectWizard_StaticLibrary.h @@ -33,7 +33,7 @@ struct StaticLibraryWizard : public NewProjectWizard bool initialiseProject (Project& project) override { createSourceFolder(); - project.getProjectTypeValue() = ProjectType::getStaticLibTypeName(); + project.getProjectTypeValue() = ProjectType_StaticLibrary::getTypeName(); createSourceGroup (project); setExecutableNameForAllTargets (project, File::createLegalFileName (appTitle)); diff --git a/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_openGL.h b/extras/Projucer/Source/Wizards/jucer_ProjectWizard_openGL.h similarity index 95% rename from extras/Introjucer/Source/Wizards/jucer_ProjectWizard_openGL.h rename to extras/Projucer/Source/Wizards/jucer_ProjectWizard_openGL.h index 0cda662b33..f6d77b3769 100644 --- a/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_openGL.h +++ b/extras/Projucer/Source/Wizards/jucer_ProjectWizard_openGL.h @@ -39,7 +39,7 @@ struct OpenGLAppWizard : public NewProjectWizard File contentCompH = contentCompCpp.withFileExtension (".h"); String contentCompName = "MainContentComponent"; - project.getProjectTypeValue() = ProjectType::getGUIAppTypeName(); + project.getProjectTypeValue() = ProjectType_GUIApp::getTypeName(); Project::Item sourceGroup (createSourceGroup (project)); diff --git a/extras/Introjucer/Source/Wizards/jucer_StartPageComponent.h b/extras/Projucer/Source/Wizards/jucer_StartPageComponent.h similarity index 92% rename from extras/Introjucer/Source/Wizards/jucer_StartPageComponent.h rename to extras/Projucer/Source/Wizards/jucer_StartPageComponent.h index 5f0ac88235..29f7315097 100644 --- a/extras/Introjucer/Source/Wizards/jucer_StartPageComponent.h +++ b/extras/Projucer/Source/Wizards/jucer_StartPageComponent.h @@ -39,7 +39,7 @@ public: void paint (Graphics& g) override { - IntrojucerLookAndFeel::fillWithBackgroundTexture (*this, g); + ProjucerLookAndFeel::fillWithBackgroundTexture (*this, g); } void resized() override diff --git a/extras/Introjucer/Source/Wizards/jucer_TemplateThumbnailsComponent.h b/extras/Projucer/Source/Wizards/jucer_TemplateThumbnailsComponent.h similarity index 95% rename from extras/Introjucer/Source/Wizards/jucer_TemplateThumbnailsComponent.h rename to extras/Projucer/Source/Wizards/jucer_TemplateThumbnailsComponent.h index f0bdaf43f7..13413d8b30 100644 --- a/extras/Introjucer/Source/Wizards/jucer_TemplateThumbnailsComponent.h +++ b/extras/Projucer/Source/Wizards/jucer_TemplateThumbnailsComponent.h @@ -25,7 +25,7 @@ #ifndef JUCER_TEMPLATETHUMBNAILSCOMPONENT_H_INCLUDED #define JUCER_TEMPLATETHUMBNAILSCOMPONENT_H_INCLUDED -//===================================================================================================== +//============================================================================== /** Template option tile button. The drawable button object class for the tile icons and buttons in the TemplateTileBrowser @@ -127,7 +127,7 @@ private: -//===================================================================================================== +//============================================================================== /** Project Template Component for front page. Features multiple icon buttons to select the type of project template @@ -154,7 +154,7 @@ public: } // Handle Open Project button functionality - ApplicationCommandManager& commandManager = IntrojucerApp::getCommandManager(); + ApplicationCommandManager& commandManager = ProjucerApplication::getCommandManager(); addAndMakeVisible (blankProjectButton = new TemplateOptionButton ("Create Blank Project", TemplateOptionButton::ImageOnButtonBackground, BinaryData::wizard_Openfile_svg)); addAndMakeVisible (exampleProjectButton = new TemplateOptionButton ("Open Example Project", TemplateOptionButton::ImageOnButtonBackground, BinaryData::wizard_Openfile_svg)); @@ -236,7 +236,7 @@ public: FileChooser fc ("Open File", findExamplesFolder()); if (fc.browseForFileToOpen()) - IntrojucerApp::getApp().openFile (fc.getResult()); + ProjucerApplication::getApp().openFile (fc.getResult()); } static File findExamplesFolder() diff --git a/extras/Introjucer/Source/jucer_Headers.h b/extras/Projucer/Source/jucer_Headers.h similarity index 78% rename from extras/Introjucer/Source/jucer_Headers.h rename to extras/Projucer/Source/jucer_Headers.h index cee3ebfd53..e100107b18 100644 --- a/extras/Introjucer/Source/jucer_Headers.h +++ b/extras/Projucer/Source/jucer_Headers.h @@ -22,16 +22,17 @@ ============================================================================== */ -#ifndef JUCER_HEADERS_H_INCLUDED -#define JUCER_HEADERS_H_INCLUDED +#ifndef __JUCER_HEADERS_JUCEHEADER__ +#define __JUCER_HEADERS_JUCEHEADER__ -#ifdef _MSC_VER - #pragma warning (disable: 4100 4505) -#endif - -//============================================================================== #include "../JuceLibraryCode/JuceHeader.h" #include "Application/jucer_CommonHeaders.h" +#if JUCE_DEBUG + #define RUN_CLANG_IN_CHILD_PROCESS 1 +#else + #define RUN_CLANG_IN_CHILD_PROCESS 1 +#endif -#endif // JUCER_HEADERS_H_INCLUDED + +#endif diff --git a/extras/UnitTestRunner/Builds/LinuxMakefile/Makefile b/extras/UnitTestRunner/Builds/LinuxMakefile/Makefile index 1fa5af88d5..40005af111 100644 --- a/extras/UnitTestRunner/Builds/LinuxMakefile/Makefile +++ b/extras/UnitTestRunner/Builds/LinuxMakefile/Makefile @@ -1,5 +1,5 @@ -# Automatically generated makefile, created by the Introjucer -# Don't edit this file! Your changes will be overwritten when you re-save the Introjucer project! +# Automatically generated makefile, created by the Projucer +# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project! # (this disables dependency generation if multiple architectures are set) DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) @@ -50,20 +50,20 @@ endif OBJECTS := \ $(OBJDIR)/Main_90ebc5c2.o \ - $(OBJDIR)/juce_audio_basics_399a455e.o \ - $(OBJDIR)/juce_audio_devices_c1c9ba9c.o \ - $(OBJDIR)/juce_audio_formats_f04b043c.o \ - $(OBJDIR)/juce_audio_processors_eb9ae116.o \ - $(OBJDIR)/juce_core_1ee54a40.o \ - $(OBJDIR)/juce_cryptography_3b1f489a.o \ - $(OBJDIR)/juce_data_structures_84790dfc.o \ - $(OBJDIR)/juce_events_584896b4.o \ - $(OBJDIR)/juce_graphics_f9afc18.o \ - $(OBJDIR)/juce_gui_basics_90929794.o \ - $(OBJDIR)/juce_gui_extra_b81d9e1c.o \ - $(OBJDIR)/juce_opengl_1890bee0.o \ - $(OBJDIR)/juce_osc_72ef0f3c.o \ - $(OBJDIR)/juce_video_86a19d3c.o \ + $(OBJDIR)/juce_audio_basics_6b797ca1.o \ + $(OBJDIR)/juce_audio_devices_a742c38b.o \ + $(OBJDIR)/juce_audio_formats_5a29c68a.o \ + $(OBJDIR)/juce_audio_processors_dea3173d.o \ + $(OBJDIR)/juce_core_75b14332.o \ + $(OBJDIR)/juce_cryptography_6de2ebff.o \ + $(OBJDIR)/juce_data_structures_72d3da2c.o \ + $(OBJDIR)/juce_events_d2be882c.o \ + $(OBJDIR)/juce_graphics_9c18891e.o \ + $(OBJDIR)/juce_gui_basics_8a6da59c.o \ + $(OBJDIR)/juce_gui_extra_4a026f23.o \ + $(OBJDIR)/juce_opengl_cd70b4c2.o \ + $(OBJDIR)/juce_osc_be4cee16.o \ + $(OBJDIR)/juce_video_f128c512.o \ .PHONY: clean @@ -87,72 +87,72 @@ $(OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp @echo "Compiling Main.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_basics_399a455e.o: ../../../../modules/juce_audio_basics/juce_audio_basics.cpp +$(OBJDIR)/juce_audio_basics_6b797ca1.o: ../../JuceLibraryCode/juce_audio_basics.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_audio_basics.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_devices_c1c9ba9c.o: ../../../../modules/juce_audio_devices/juce_audio_devices.cpp +$(OBJDIR)/juce_audio_devices_a742c38b.o: ../../JuceLibraryCode/juce_audio_devices.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_audio_devices.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_formats_f04b043c.o: ../../../../modules/juce_audio_formats/juce_audio_formats.cpp +$(OBJDIR)/juce_audio_formats_5a29c68a.o: ../../JuceLibraryCode/juce_audio_formats.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_audio_formats.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_audio_processors_eb9ae116.o: ../../../../modules/juce_audio_processors/juce_audio_processors.cpp +$(OBJDIR)/juce_audio_processors_dea3173d.o: ../../JuceLibraryCode/juce_audio_processors.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_audio_processors.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_core_1ee54a40.o: ../../../../modules/juce_core/juce_core.cpp +$(OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_core.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_cryptography_3b1f489a.o: ../../../../modules/juce_cryptography/juce_cryptography.cpp +$(OBJDIR)/juce_cryptography_6de2ebff.o: ../../JuceLibraryCode/juce_cryptography.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_cryptography.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_data_structures_84790dfc.o: ../../../../modules/juce_data_structures/juce_data_structures.cpp +$(OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_data_structures.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_events_584896b4.o: ../../../../modules/juce_events/juce_events.cpp +$(OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_events.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_graphics_f9afc18.o: ../../../../modules/juce_graphics/juce_graphics.cpp +$(OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_graphics.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_basics_90929794.o: ../../../../modules/juce_gui_basics/juce_gui_basics.cpp +$(OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_gui_basics.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_gui_extra_b81d9e1c.o: ../../../../modules/juce_gui_extra/juce_gui_extra.cpp +$(OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_gui_extra.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_opengl_1890bee0.o: ../../../../modules/juce_opengl/juce_opengl.cpp +$(OBJDIR)/juce_opengl_cd70b4c2.o: ../../JuceLibraryCode/juce_opengl.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_opengl.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_osc_72ef0f3c.o: ../../../../modules/juce_osc/juce_osc.cpp +$(OBJDIR)/juce_osc_be4cee16.o: ../../JuceLibraryCode/juce_osc.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_osc.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_video_86a19d3c.o: ../../../../modules/juce_video/juce_video.cpp +$(OBJDIR)/juce_video_f128c512.o: ../../JuceLibraryCode/juce_video.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_video.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" diff --git a/extras/UnitTestRunner/Builds/MacOSX/UnitTestRunner.xcodeproj/project.pbxproj b/extras/UnitTestRunner/Builds/MacOSX/UnitTestRunner.xcodeproj/project.pbxproj index 0e321bd2d5..91b8309a35 100644 --- a/extras/UnitTestRunner/Builds/MacOSX/UnitTestRunner.xcodeproj/project.pbxproj +++ b/extras/UnitTestRunner/Builds/MacOSX/UnitTestRunner.xcodeproj/project.pbxproj @@ -6,6 +6,7 @@ objectVersion = 46; objects = { + 9E15F32DCE5118835FF71511 = {isa = PBXBuildFile; fileRef = 080EAB9CF5AB2BD6B2BBB173; }; A70F7F4891DB1CF67653BE74 = {isa = PBXBuildFile; fileRef = B38A1AC42B002115350C0268; }; 96EFF7BA261F57DD829324D8 = {isa = PBXBuildFile; fileRef = 7898C73DCA6FA9D9CF669D32; }; 59004CE43AE081B4A6CE9E17 = {isa = PBXBuildFile; fileRef = 1932D54A7FAE13BADBA3E9B5; }; @@ -21,20 +22,20 @@ 4BC57B0D2215621D90C8881C = {isa = PBXBuildFile; fileRef = D2EBC6292AE5AFC46EB10DAC; }; 5FE50792EDC7638DE9A824B5 = {isa = PBXBuildFile; fileRef = 5C7BDD8DF72F2FC2D44D757A; }; D17BAE3D36BB94FC2C8E2438 = {isa = PBXBuildFile; fileRef = 88AA2B9840A6792BBAD559EE; }; - 87F94D88B4F0EDDEE3E7F7A1 = {isa = PBXBuildFile; fileRef = 8A9BF66CD7A1500F21F06CF6; }; - CFFB2E90771126BDDC4A6FA2 = {isa = PBXBuildFile; fileRef = B2B8E7BE0607DA166DAAEFEF; }; - FC6C77249905334CBF069B6D = {isa = PBXBuildFile; fileRef = B114804B7D23DA65A2A6351A; }; - DDA98895AE4F23317B2F2FF7 = {isa = PBXBuildFile; fileRef = F9532938F368676B0E308A2E; }; - 3C137CB4F17C8C75A1D34CF4 = {isa = PBXBuildFile; fileRef = A05963C7B992F7AB56E324D9; }; - 81CEDFE9722FA850E0EAA95A = {isa = PBXBuildFile; fileRef = 4BBE8E87CCF1400578410B69; }; - 1578CA705EE353AFC54AA281 = {isa = PBXBuildFile; fileRef = CA50EF6915D17B0B2D412194; }; - 958441625DF0EA48AE901F40 = {isa = PBXBuildFile; fileRef = F241825460BC7EF7FEF07B48; }; - 8ED5C0DF2AFF8ECD2C63E6C4 = {isa = PBXBuildFile; fileRef = 78F80B16F46EC6D2C473BA30; }; - 0A84A059B847A65EF574990D = {isa = PBXBuildFile; fileRef = D0D94FCDE9A461A44F81D72A; }; - F75F6C27812CB808EE4359B6 = {isa = PBXBuildFile; fileRef = 35893F7E85007546B293737B; }; - C032C19CE3E871C231A14A7F = {isa = PBXBuildFile; fileRef = B3AB04FFAF555EF180242F31; }; - AECC7D0F2E20FFDCC0528FF0 = {isa = PBXBuildFile; fileRef = 1C10BA1E8D9B6DB464A4E32B; }; - EFBCFE5C7888D2E76D0C98E6 = {isa = PBXBuildFile; fileRef = 22F59C66676E58BED182A612; }; + 7A1A51F63C199BD36299744F = {isa = PBXBuildFile; fileRef = AFDCC7ACFE5015F424E32A3F; }; + 82F6FC0C005B57E4CAF5B2F3 = {isa = PBXBuildFile; fileRef = 955116A81AA645D4E2D8492D; }; + 6EC9CCD7CB26465366634ED3 = {isa = PBXBuildFile; fileRef = DABA5737413276437DB73F3F; }; + B7B1FB3453B95A53DD51A367 = {isa = PBXBuildFile; fileRef = 5AFC2E24814619E763458B81; }; + 770292E2388E4C652ED09FA5 = {isa = PBXBuildFile; fileRef = 9E1446EA7AD56D05E29232F3; }; + A7EC3A36BA0C14AE1FD95849 = {isa = PBXBuildFile; fileRef = 60092E0F93A6034ED4DDA34F; }; + 79A1B31916181E782611136B = {isa = PBXBuildFile; fileRef = 86DB9B88B6EC212037A64DFC; }; + 38601DB856841244E7D39570 = {isa = PBXBuildFile; fileRef = 4BFB4B4FF2D7478FED59CBC0; }; + 00484635D7BF8961B8A09700 = {isa = PBXBuildFile; fileRef = 7267F164B933816C39E93B69; }; + 432212709D3F606A24B00E49 = {isa = PBXBuildFile; fileRef = F5829B329B48EB4CFB801276; }; + 8C8739E4CB7C12B322E9A09A = {isa = PBXBuildFile; fileRef = B99BB1DBDC2436F47C01C5D0; }; + 04324F796BCF18C13FBDCE25 = {isa = PBXBuildFile; fileRef = F88A359D6A6D0208F50047AA; }; + 569AD9EEDC79ADEAFEF8E8DB = {isa = PBXBuildFile; fileRef = EE0AA2AA251D961AFF87931C; }; + 18AEC5B6A5D4C8119F4CDB6F = {isa = PBXBuildFile; fileRef = E792046A7FE8F34C8D5CEE46; }; 0001E065BC6A59AB77D396FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_win32.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_win32.h"; sourceTree = "SOURCE_ROOT"; }; 007CAB56C863530D90BFD237 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiser.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; 008F48363E11F0A0E32558F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; }; @@ -49,7 +50,6 @@ 02E52168E0C247BAB692F0EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; }; 02F5F63EED08DDC646BD9B50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTreeSynchroniser.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h"; sourceTree = "SOURCE_ROOT"; }; 030805CB458ADE12F1F0F950 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; - 0326AA6D115F119761B1EDD5 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_devices/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 032D935183817A5553AD8203 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 035E4DE06982729DCF3AFC2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZoneLayout.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"; sourceTree = "SOURCE_ROOT"; }; 03634ED61D52FAEE82CA4110 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; @@ -66,11 +66,11 @@ 06362804F777439B6DEC6BAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; 06480CF420A37AA322F06C4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; }; 066F40B69B2A01E75079023F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 080EAB9CF5AB2BD6B2BBB173 = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = UnitTestRunner; sourceTree = "BUILT_PRODUCTS_DIR"; }; 0842DF7979CB25F708597440 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h"; sourceTree = "SOURCE_ROOT"; }; 08A522EE415E3152D1B6258E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OSCArgument.h"; path = "../../../../modules/juce_osc/osc/juce_OSCArgument.h"; sourceTree = "SOURCE_ROOT"; }; 08D15FEA79B3D9D2E431B26A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; 08E38EC2AF18DFD09E1D2F39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; }; - 090CC81F4D68D9658673DEB0 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_graphics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 09D02F17787745163017E697 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; 0A369ADB2FFC7511877CE104 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; 0B4CE4907F3375DF10804FB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCMessage.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCMessage.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -125,7 +125,6 @@ 1B2398F0DFA2F5F263515219 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; }; 1B3114B04601B0862079031B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MixerAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 1BF2D1C535E2E2C8297FC1F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Matrix3D.h"; path = "../../../../modules/juce_opengl/geometry/juce_Matrix3D.h"; sourceTree = "SOURCE_ROOT"; }; - 1C10BA1E8D9B6DB464A4E32B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_osc.cpp"; path = "../../../../modules/juce_osc/juce_osc.cpp"; sourceTree = "SOURCE_ROOT"; }; 1C6A94EE73B83F73DE7E80A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; }; 1CA39A896F6AEC7A3DC801A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; }; 1D4155D4B8CF0D7D4183D7CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -149,7 +148,6 @@ 2237682237430D807C6A370F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 22ED0419EEC52D6D441D5352 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; 22F0FB9BAC6D272C59F334E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; - 22F59C66676E58BED182A612 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../../../modules/juce_video/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; 2326E1582EB6251D13616525 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; }; 235BCA0AAA66BF35FB89D659 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 2366165F6EE4BDA01C7DC692 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BooleanPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -177,20 +175,17 @@ 2895DFA097E1D224B5C1FF97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; }; 28CA254C9477C666765FE20D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; 28CDCE8D0A0C0719FA138404 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; - 28E930DA6A81123555C6B4D0 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_formats/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 29292E391802A42A343C9A10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectShowComponent.h"; path = "../../../../modules/juce_video/playback/juce_DirectShowComponent.h"; sourceTree = "SOURCE_ROOT"; }; 29822ED9FA13EB375F920957 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CatmullRomInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; 2998EB3D5B558B98EA3D2967 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FFT.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_FFT.cpp"; sourceTree = "SOURCE_ROOT"; }; 29FA63E0000E85C75AEB2D3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; }; 2A4F0A9504E82AC101821457 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; 2A7F85EFAEC0072E2A969A75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Files.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; - 2AAC91C9F59493094CBDFCD2 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_video/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 2AD4699E0037E5EA8301A8FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; 2ADD79E73EAF0B99A04EF72C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Sampler.cpp"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp"; sourceTree = "SOURCE_ROOT"; }; 2AE053346CE60C8C90F08D4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterBool.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h"; sourceTree = "SOURCE_ROOT"; }; 2B1830B30F75F02CA2585919 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; }; 2B8385440D3E58EF0BF8D678 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; }; - 2B85DF39DC6F7E59C8F8288A = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_data_structures/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 2B8FF90925E5CAC668AACA7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Files.cpp"; path = "../../../../modules/juce_core/native/juce_android_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; 2BA527A8C5CA803630EDF7BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLPixelFormat.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 2BC9F58BBBEE389ACB961332 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEMessages.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h"; sourceTree = "SOURCE_ROOT"; }; @@ -222,7 +217,6 @@ 34749C43CD888E02BC33DEF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; }; 3501E68163606B437D3CD4A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GenericAudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; 353A1C800FFDA1FFFECE7506 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; }; - 35893F7E85007546B293737B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; 35A8537809762D72B0EBE8A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; 36723B1752C012CD2E2B0E9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; 368455F1BC9A92392124B897 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; }; @@ -266,7 +260,6 @@ 41C41DEB28959CB1DF516EC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterFloat.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h"; sourceTree = "SOURCE_ROOT"; }; 41FBBAEA5B88952DD3885A11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 4328B9B661A22244FF9070FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableObjectResizer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp"; sourceTree = "SOURCE_ROOT"; }; - 433570B5CB82EAAD5C34D9CE = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_processors/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 433F0511495790BF65A4A21C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectShowComponent.cpp"; path = "../../../../modules/juce_video/native/juce_win32_DirectShowComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 435E3D791D14F4D1AACD72E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; }; 436224F13EB146CBD822D66B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; }; @@ -298,8 +291,8 @@ 4AF9E26A4EBAF5B673BBC1DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; }; 4B26E321B9E1B5C873CDA2C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDataConverters.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h"; sourceTree = "SOURCE_ROOT"; }; 4B6A0ECB588F521235C24779 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; - 4BBE8E87CCF1400578410B69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../../../modules/juce_cryptography/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; 4BE4341086F3D5FDE2E6B40B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4BFB4B4FF2D7478FED59CBC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; 4C96663BC361EA73428C6BCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; 4CB8E3EA71BDF792CA05DFE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; }; 4D5D029CD946C1B2EDC3BB99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -358,11 +351,11 @@ 59543077224E7229AB9215C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; }; 5970C5350E8A09397B454960 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardState.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h"; sourceTree = "SOURCE_ROOT"; }; 597549F1F4AF638BE62D5127 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; }; - 59C7C5317760C3FC84D9F3B6 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_cryptography/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 59EE21D372B3DFC1B453B8B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPlayHead.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPlayHead.h"; sourceTree = "SOURCE_ROOT"; }; 5A0BC6E6D4AB2A287219C561 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; }; 5A52B314306EB47411A20946 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; }; 5A7D5494B1F27B551D632A65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5AFC2E24814619E763458B81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../JuceLibraryCode/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; 5B700FCF685F005DCC46AF6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSubsectionReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h"; sourceTree = "SOURCE_ROOT"; }; 5B7207D43E415121202DE038 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; }; 5B8939FA8DA30BBD5EA2B921 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -383,9 +376,9 @@ 5F42356EA13D27C06E9A52E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; 5F6997A6CE93A738C7BFD533 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; 5F6D0584CAAE2DBBD3781A18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; }; - 5FA739DFBCCAE232D83A4BE7 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_core/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 5FC75091C66E2B8DEECA1D0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarComponent.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h"; sourceTree = "SOURCE_ROOT"; }; 60017EBA8992FFE860C53AA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZone.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.h"; sourceTree = "SOURCE_ROOT"; }; + 60092E0F93A6034ED4DDA34F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../JuceLibraryCode/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; 602762ED46071ACF9BFA5263 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; }; 606D9ADC377C50E9730B6CDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; }; 60D3971409F5746CBB7F2F10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; @@ -431,7 +424,6 @@ 6A7956AC9D40A823F9EFD93B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LagrangeInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; 6AA1708ABC213E74BA026765 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; }; 6AC0E157F19A55B712EAF389 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; }; - 6AC172FBF4B53E9CC942CE12 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_extra/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 6B02138A075848A3DB1AEBE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 6B249192BAF0AAF7E182424F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; }; 6C1500C01520AF5E27871613 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -449,10 +441,10 @@ 712FEB8344433EF9431BB87C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 7196AC023698E504975A3E02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 71D490A4870F1410C5896A90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; }; + 7267F164B933816C39E93B69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../JuceLibraryCode/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; 72C6F45A83A998FED8565BB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h"; sourceTree = "SOURCE_ROOT"; }; 7313349086C4EA845E401115 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_processors.h"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.h"; sourceTree = "SOURCE_ROOT"; }; 73246EA06C90033349EF3496 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemStats.cpp"; path = "../../../../modules/juce_core/system/juce_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; - 733C35DA0D48C2B7CD91A38D = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_opengl/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 740A3160913743E8F4FE479A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; }; 748039A8DA137237440CADAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorGraph.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp"; sourceTree = "SOURCE_ROOT"; }; 759298E5BD13DF0FEA4BBC71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -467,7 +459,6 @@ 7898C73DCA6FA9D9CF669D32 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; 78ADF136FF36716021410A6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; }; 78DCD3BC63EDC98A4F913A2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; - 78F80B16F46EC6D2C473BA30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; 7917F9CE69307A7E7B132E75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 79AC068B6EBB03E6E79140E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; 7A018DFF9F04FB1C930EEC9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; }; @@ -526,6 +517,7 @@ 867FB39789F0E2FDF99D320F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; }; 86835EA6C418B4F10885B612 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; 86D48089FFF564E817887475 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 86DB9B88B6EC212037A64DFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; 86E2397D1F60877A68DD1515 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZone.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.cpp"; sourceTree = "SOURCE_ROOT"; }; 86E5B1CE4DB3FDED764876EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserBase.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 871B5D88E335FFCEB530FEF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageCollector.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -543,7 +535,6 @@ 8A36EF83B3DAABCDD11D79F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; 8A3CDD43812C610DA9BBACB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; 8A6BA3485BC5EFCAFC39F4DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; - 8A9BF66CD7A1500F21F06CF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 8ABE78C2BA571AED7197449E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; }; 8AD04DA0F5F8A604304503CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Desktop.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.cpp"; sourceTree = "SOURCE_ROOT"; }; 8B7C5DC8AA8372A9B8C3189C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilter.h"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h"; sourceTree = "SOURCE_ROOT"; }; @@ -583,6 +574,7 @@ 94B5231311ADA01982925C8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; 94DCAC3750C0686E87AC98CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; }; 950954D2F20543E90D3141E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 955116A81AA645D4E2D8492D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../JuceLibraryCode/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; 9592FAC2C38433CCCBBB9FDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; 960BB1278E01DAB802F16488 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OSCMessage.h"; path = "../../../../modules/juce_osc/osc/juce_OSCMessage.h"; sourceTree = "SOURCE_ROOT"; }; 9645BC9AE60DD025C8B653FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -621,6 +613,7 @@ 9D32C0339456EAB2A6BB45FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; }; 9D3BD5C6183B91581C90B4EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; }; 9D8D638179CCD34DE1EA728C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9E1446EA7AD56D05E29232F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; 9E775C12A67CCD63B38F6D60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; 9EA0424188173B362A7BEFD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChoicePropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 9EC6C3C7EAA13C20785B1745 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; }; @@ -629,7 +622,6 @@ 9F8C2988A20A87D2995D48CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 9FEBFF78510646EC4393CA4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; }; A0250EBB292AB35378803806 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLContext.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h"; sourceTree = "SOURCE_ROOT"; }; - A05963C7B992F7AB56E324D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; A071B25945FC4736FE713C3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; A0B818539943BFCEA1AA2C1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceManager.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp"; sourceTree = "SOURCE_ROOT"; }; A12510A5CBFD7BC54CF0C8C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; }; @@ -672,7 +664,6 @@ AB58695AF611FEF4B4B321CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScrollBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h"; sourceTree = "SOURCE_ROOT"; }; AB9A6F61976347D260DA5059 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; }; ABD7E90FBE176494D369E26E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; }; - ABE82B95B2803C9DF90C50B9 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_osc/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; ABF06C4C3A928B1EE99461CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; AC2B37963341CBE58BB1AC15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; AC379935CE3825CB704336EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_android.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_android.h"; sourceTree = "SOURCE_ROOT"; }; @@ -686,11 +677,11 @@ AEAF4C0697F7F0432E27CE06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlacAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; AF16C128B552466521C62D2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; }; AF4B30AA495E1A0992ADD15F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; }; + AFDCC7ACFE5015F424E32A3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../JuceLibraryCode/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; AFEE3F9C7669EE074A1D4AF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; B010BCB2C181F83BA68725FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Sampler.h"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.h"; sourceTree = "SOURCE_ROOT"; }; B07C1BB36F6117179FD0F481 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; B09D63C4934F5A97BAFC4C18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Vector3D.h"; path = "../../../../modules/juce_opengl/geometry/juce_Vector3D.h"; sourceTree = "SOURCE_ROOT"; }; - B114804B7D23DA65A2A6351A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; B13F6EF80751C0A629749B80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; }; B15E52011D4FE2E415CE8AB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; B1626CB532C9DF380E7B7CD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -698,14 +689,12 @@ B18BD25724FF16CA47FF7E50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; B2AA22B23779CE171655790B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODevice.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp"; sourceTree = "SOURCE_ROOT"; }; B2B2B0D649F7F56CA1204146 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; }; - B2B8E7BE0607DA166DAAEFEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; B2DCDC3D189A0973286F250A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; B2F9611123FFFB7CF25941BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; B30AB62CA69F3A65E9EC5F00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; B3765CEDD780C38AC37E627A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; }; B386CFA5AA9EA1B8F2C8A233 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; }; B38A1AC42B002115350C0268 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; - B3AB04FFAF555EF180242F31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../../../modules/juce_opengl/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; B4002753D99D947D4198A324 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; B4202EE1243A8FCA29996D05 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; }; B423B80221F35DE6787F4950 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; }; @@ -725,6 +714,7 @@ B807F3AD93834192969AB5E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; }; B8B051C8BBF4C9504C957862 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; }; B91FEA27E538F682353764B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + B99BB1DBDC2436F47C01C5D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; B9F699B12E630973384D61BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_File.h"; path = "../../../../modules/juce_core/files/juce_File.h"; sourceTree = "SOURCE_ROOT"; }; BA2130D0EEDE7A0268C996DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiFile.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.h"; sourceTree = "SOURCE_ROOT"; }; BA26A49DA619ABECBB65CB33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -780,7 +770,6 @@ C7C592A7CC93688EC1C0DFBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; }; C9C1B109F10AEE13151695D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; CA0E041B0C65D0880A1CEB79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; - CA50EF6915D17B0B2D412194 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; CA932A990171693F19008C38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; }; CB91D3680C4EA0F9E508CF17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; CC0683B70A91DB4823255716 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -798,13 +787,11 @@ D09628A1CC2F5D43B17CA473 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; }; D0D459BC748C9E077474CE99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; }; D0D7C01D95C4259DAE32E722 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RSAKey.h"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.h"; sourceTree = "SOURCE_ROOT"; }; - D0D94FCDE9A461A44F81D72A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; D12CD4223FACE1B5D3B975BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; D2011DB0DFD91C589FD22051 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputStream.h"; path = "../../../../modules/juce_core/streams/juce_InputStream.h"; sourceTree = "SOURCE_ROOT"; }; D25C8657582BBA6F52F84F7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; }; D2EBC6292AE5AFC46EB10DAC = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; D31A9BADAED3EA3757E78FCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; }; - D368C96D79F2F42540CAB393 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_events/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; D3B67F76F3E120815C1B3729 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_formats.h"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.h"; sourceTree = "SOURCE_ROOT"; }; D4089B7F979661D61D9B30F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OSCReceiver.h"; path = "../../../../modules/juce_osc/osc/juce_OSCReceiver.h"; sourceTree = "SOURCE_ROOT"; }; D422A13D3A515B2367A9605E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; }; @@ -813,7 +800,6 @@ D48FF2F1EC0F967F45A05B78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; }; D4AA6C831A32D2E7E505BBB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; }; D526E8535FABCB09F95204CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; }; - D52BBCF289A23BD82EC38B0C = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; D53B8CD2A3BA987BAE302361 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; }; D56A5DF92B28570D7170E6F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; D5A551696BD1E7D4DD706725 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; }; @@ -833,6 +819,7 @@ D91CC2EDF2167D1CBB798C7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; D9757DF778684899EA1703C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleComponent.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; D9CAFE63130B829FB4912923 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODeviceType.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h"; sourceTree = "SOURCE_ROOT"; }; + DABA5737413276437DB73F3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../JuceLibraryCode/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; DABCA7F538D27BA9950EA1CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h"; sourceTree = "SOURCE_ROOT"; }; DB45AD469FD492B3DCB1F3A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; }; DB8CA5F0F425B86A3D9DECCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; }; @@ -859,7 +846,6 @@ E02758694227F8A45EE83188 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DeletedAtShutdown.h"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h"; sourceTree = "SOURCE_ROOT"; }; E050CB94B15D82BCDAC9379A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; E07AB23E43F0520AE9AD6F35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; - E18BCF3B028C936A2D7A75DB = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; E1A16FFA5C8586083CB95802 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; E1E7D3DF2D4871954E9FAE30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCTimeTag.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCTimeTag.cpp"; sourceTree = "SOURCE_ROOT"; }; E23D8E60DD524D605CADA244 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; }; @@ -882,6 +868,7 @@ E61E0DA3871788BA6154F2E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; E7153B9DA221B856B57005B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Headers.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h"; sourceTree = "SOURCE_ROOT"; }; E7166DE51677CAE75A0815D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + E792046A7FE8F34C8D5CEE46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../JuceLibraryCode/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; E7B0A37EAEFF238743AABE4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; }; E8540E3C740C538696BEC5AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OSCSender.h"; path = "../../../../modules/juce_osc/osc/juce_OSCSender.h"; sourceTree = "SOURCE_ROOT"; }; E855B0B43C14917198AA433A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; @@ -913,6 +900,7 @@ ED90ED5E302C6DE7164BBC89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; EDCF115426B128529564E35C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; }; EDE20C164DD9644A3072C63F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + EE0AA2AA251D961AFF87931C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_osc.cpp"; path = "../../JuceLibraryCode/juce_osc.cpp"; sourceTree = "SOURCE_ROOT"; }; EE1C8CB7BE31041B9C1E17D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; }; EE5B7CB735BDF7D71D3E970F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; EF8B1B1240C8E7260693D9EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; }; @@ -926,7 +914,6 @@ F1342D5C6E4C8CDCB6882E4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; }; F13D2628180088EB7F0F9D61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; }; F1A2241408FECD965CFCF126 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; }; - F241825460BC7EF7FEF07B48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; F260758DB97CF0F5C85218C1 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; F2864445B36DDDF9BC726F09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; F2CFEEA04701C7F6E0FB23E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -943,6 +930,7 @@ F5437E10372BA7B05AA233EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; }; F56A0572594B18C198211C87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODeviceType.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp"; sourceTree = "SOURCE_ROOT"; }; F56E6DD2A8C393E6C978812D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; }; + F5829B329B48EB4CFB801276 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; F5B5783E750FF221D3C1153F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Whirlpool.h"; path = "../../../../modules/juce_cryptography/hashing/juce_Whirlpool.h"; sourceTree = "SOURCE_ROOT"; }; F6037F38BFE99E64788E75B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; F648E49516BD56D93471B5A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; }; @@ -951,9 +939,9 @@ F790E7ADDEA4BEBE1DBFD528 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; F7AAEA0EC15771DD3E9AAD57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OSCBundle.cpp"; path = "../../../../modules/juce_osc/osc/juce_OSCBundle.cpp"; sourceTree = "SOURCE_ROOT"; }; F884770CC563A3CE0EBFE90D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; + F88A359D6A6D0208F50047AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../JuceLibraryCode/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; F8FF942E6B503D5F994EE16A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; F94CD18DE8CA9B8252F7BEDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; - F9532938F368676B0E308A2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; F98B3688EA63D8E635D2CC43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; F9CF1242078815002E111C9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; FA3830ED7B86B0B1FB5AD8F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -962,10 +950,9 @@ FB125FA32A689C34D6B41485 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; }; FC02C1C3A97FA6D57742D186 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MP3AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; FC1DDC35961882F3F8A0A861 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLHelpers.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h"; sourceTree = "SOURCE_ROOT"; }; - FCB76958E12B2D7F8277CD59 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; - 4678AA79EF868E0EF521E2CB = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = UnitTestRunner; sourceTree = "BUILT_PRODUCTS_DIR"; }; FC425541E54465108E6AF87C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_CameraDevice.cpp"; path = "../../../../modules/juce_video/native/juce_win32_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; FCAFEE930E21FA7EED073445 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + FCB76958E12B2D7F8277CD59 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; FD7E11DC3406DC0E308AA8CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; }; FD9975BD63F041DB36EAFA85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; }; FEB459EC3DA8F2E69520A704 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -1055,9 +1042,12 @@ 5CE393F229B8F081A89B87B9, 87109793DF6E917190C81B97, 3F46749F5F1D3B9D0643DBB3, - E18BCF3B028C936A2D7A75DB, B2B2B0D649F7F56CA1204146, ); name = "juce_audio_basics"; sourceTree = ""; }; - 678699EB876AB79E71A7A050 = {isa = PBXGroup; children = ( + A3DFA91E0B10952C4B2DFFDC = {isa = PBXGroup; children = ( + 7EBE149C4323508FED63DFCC, + 0F4C3B3BD169BEA4FEC3ED5B, + BE3EA058010047456D73AACD, ); name = "audio_cd"; sourceTree = ""; }; + AF91E394B5A61429D3CB3EF1 = {isa = PBXGroup; children = ( A0B818539943BFCEA1AA2C1E, 57272E091C29E8475D3779E7, B2AA22B23779CE171655790B, @@ -1065,22 +1055,13 @@ F56A0572594B18C198211C87, D9CAFE63130B829FB4912923, D851AB2AA2C9828AAA4DEDB1, ); name = "audio_io"; sourceTree = ""; }; - 0CE36398DA53F22F601FAE76 = {isa = PBXGroup; children = ( + 49B814556FA1C41E68F582A7 = {isa = PBXGroup; children = ( ECCBD88AAED3D911C98AD253, 871B5D88E335FFCEB530FEF0, E37854E5BF8CA5BD430A5120, 15CD60C0B4D9DE24E0D62E22, 85599F821C373245096AF0BF, ); name = "midi_io"; sourceTree = ""; }; - 553BC5CA7E80C9A9CAB72B68 = {isa = PBXGroup; children = ( - B2DCDC3D189A0973286F250A, - 0842DF7979CB25F708597440, - F669B4CA3F8E8822FE761FCC, - 7A018DFF9F04FB1C930EEC9E, ); name = sources; sourceTree = ""; }; - DCC06127D02C34E18AA38626 = {isa = PBXGroup; children = ( - 7EBE149C4323508FED63DFCC, - 0F4C3B3BD169BEA4FEC3ED5B, - BE3EA058010047456D73AACD, ); name = "audio_cd"; sourceTree = ""; }; - F19D06B0565FECD1F7289480 = {isa = PBXGroup; children = ( + D13F71F8D5F91C2EFD518B29 = {isa = PBXGroup; children = ( C1ED4ACAB31FAA15ACE6D6CE, E61E0DA3871788BA6154F2E3, 8C8A49AE954E8C36615536F6, @@ -1100,31 +1081,19 @@ 46240849FADC744B37AB1CE4, B5CE09DCE9500F96794A366F, 759298E5BD13DF0FEA4BBC71, ); name = native; sourceTree = ""; }; + 9E171DC7935BD21591926DAD = {isa = PBXGroup; children = ( + B2DCDC3D189A0973286F250A, + 0842DF7979CB25F708597440, + F669B4CA3F8E8822FE761FCC, + 7A018DFF9F04FB1C930EEC9E, ); name = sources; sourceTree = ""; }; CB31FFDD38E416ACDECBA7B8 = {isa = PBXGroup; children = ( - 678699EB876AB79E71A7A050, - 0CE36398DA53F22F601FAE76, - 553BC5CA7E80C9A9CAB72B68, - DCC06127D02C34E18AA38626, - F19D06B0565FECD1F7289480, - 0326AA6D115F119761B1EDD5, + A3DFA91E0B10952C4B2DFFDC, + AF91E394B5A61429D3CB3EF1, + 49B814556FA1C41E68F582A7, + D13F71F8D5F91C2EFD518B29, + 9E171DC7935BD21591926DAD, 284376DCD46CCD8879477F8C, ); name = "juce_audio_devices"; sourceTree = ""; }; - 0613FEF29C32703BFF1B7E38 = {isa = PBXGroup; children = ( - F6037F38BFE99E64788E75B2, - 055312D8C0318A3874B50E48, - F44EACBECD6DE5A2DF7C0597, - F8FF942E6B503D5F994EE16A, - 8754559202618CFA864E3EB4, - 200147AB1F8AD471A5A601CE, - 5CE13BF294C618208AAA534C, - 98A078477D7155B06DD1E862, - 623E393A11DA11EB2EE138D6, - 918F58A446A6499767DA59FA, - 9936D1A28C5FC53ADE55EE8A, - 5B700FCF685F005DCC46AF6C, - 55300250DA826ADCB124E313, - C54D0680BCE1F4ABD0FF3DBB, - 38CF83D47D261849B0F70AC0, ); name = format; sourceTree = ""; }; - 11F12448D457390056C8972E = {isa = PBXGroup; children = ( + A147B169749B5834796F7F5C = {isa = PBXGroup; children = ( F1149DA91463ACCD18E44E49, A5D9D2A0B886D5AE89D5E179, C642049FA1163EA7E12E88A3, @@ -1143,16 +1112,48 @@ 1F4F38120BC0DBC715F6F409, FF29548DD646A081491B539B, B91FEA27E538F682353764B3, ); name = codecs; sourceTree = ""; }; + F761EB4ABFFBFC0B9A44AFFE = {isa = PBXGroup; children = ( + F6037F38BFE99E64788E75B2, + 055312D8C0318A3874B50E48, + F44EACBECD6DE5A2DF7C0597, + F8FF942E6B503D5F994EE16A, + 8754559202618CFA864E3EB4, + 200147AB1F8AD471A5A601CE, + 5CE13BF294C618208AAA534C, + 98A078477D7155B06DD1E862, + 623E393A11DA11EB2EE138D6, + 918F58A446A6499767DA59FA, + 9936D1A28C5FC53ADE55EE8A, + 5B700FCF685F005DCC46AF6C, + 55300250DA826ADCB124E313, + C54D0680BCE1F4ABD0FF3DBB, + 38CF83D47D261849B0F70AC0, ); name = format; sourceTree = ""; }; F5E213AD45E3C27EA7B1C188 = {isa = PBXGroup; children = ( 2ADD79E73EAF0B99A04EF72C, B010BCB2C181F83BA68725FF, ); name = sampler; sourceTree = ""; }; 227FC24A9921588DCB15612F = {isa = PBXGroup; children = ( - 0613FEF29C32703BFF1B7E38, - 11F12448D457390056C8972E, + A147B169749B5834796F7F5C, + F761EB4ABFFBFC0B9A44AFFE, F5E213AD45E3C27EA7B1C188, - 28E930DA6A81123555C6B4D0, D3B67F76F3E120815C1B3729, ); name = "juce_audio_formats"; sourceTree = ""; }; - 0CD4E1D56790D679DC1A71C4 = {isa = PBXGroup; children = ( + 4BE596A5361E1473D657FB14 = {isa = PBXGroup; children = ( + 345459CE27D07EDD3E19B299, + DC6B27F5C167FD13C2C903B5, + 82C1F8A9929DF547C004C07F, + C5E11042008ADD9755FE072F, ); name = format; sourceTree = ""; }; + 291E0824233BB9E27B566687 = {isa = PBXGroup; children = ( + 0EAC6F9BA8425E419F803A2B, + C3B38FF0CFF855B48FD341D2, + 54BF97F32965B4FB5CF2D56F, + 94AB8031DB5FE3BED227F7F8, + 7DC254E9463EACE4C7C122DB, + E7153B9DA221B856B57005B2, + 458AFB04FC657C0B8E140C57, + D42D77C52B0B860D000123A7, + E51C2746AF287DBC983CAF65, + E3D8F97C26B8E03820AFC971, + 763A365B46F5D3EDD8F8B1EF, ); name = "format_types"; sourceTree = ""; }; + 722E1E294B379CECC9266315 = {isa = PBXGroup; children = ( C3FF931ABD1A2A7A0B3F2F32, BF07F813AE252965882B419D, 59EE21D372B3DFC1B453B8B4, @@ -1169,23 +1170,6 @@ 3501E68163606B437D3CD4A2, 83911624896F5077D1584CE5, 1EF1E6DE19462CAF1F191862, ); name = processors; sourceTree = ""; }; - 0BCE646AE0A4FE768DCBA2CE = {isa = PBXGroup; children = ( - 345459CE27D07EDD3E19B299, - DC6B27F5C167FD13C2C903B5, - 82C1F8A9929DF547C004C07F, - C5E11042008ADD9755FE072F, ); name = format; sourceTree = ""; }; - C5DD3460F92C6FB3151B497C = {isa = PBXGroup; children = ( - 0EAC6F9BA8425E419F803A2B, - C3B38FF0CFF855B48FD341D2, - 54BF97F32965B4FB5CF2D56F, - 94AB8031DB5FE3BED227F7F8, - 7DC254E9463EACE4C7C122DB, - E7153B9DA221B856B57005B2, - 458AFB04FC657C0B8E140C57, - D42D77C52B0B860D000123A7, - E51C2746AF287DBC983CAF65, - E3D8F97C26B8E03820AFC971, - 763A365B46F5D3EDD8F8B1EF, ); name = "format_types"; sourceTree = ""; }; 116EF492D8ED939939B9A2A4 = {isa = PBXGroup; children = ( C2F2E19D495434FA2DE26CDC, EA882C2C8B783A3FED2A407E, @@ -1203,65 +1187,13 @@ A413B2A303984674A412461B, AB22692A2D791A3D54D8C032, ); name = utilities; sourceTree = ""; }; 67E024FB39CF9D5F419DFBF5 = {isa = PBXGroup; children = ( - 0CD4E1D56790D679DC1A71C4, - 0BCE646AE0A4FE768DCBA2CE, - C5DD3460F92C6FB3151B497C, + 4BE596A5361E1473D657FB14, + 291E0824233BB9E27B566687, + 722E1E294B379CECC9266315, 116EF492D8ED939939B9A2A4, 4661CAE20E855F3E2858F466, - 433570B5CB82EAAD5C34D9CE, 7313349086C4EA845E401115, ); name = "juce_audio_processors"; sourceTree = ""; }; - 960867EA1D637A31A30C1A7E = {isa = PBXGroup; children = ( - 0B7895277BC23E85DD87B944, - 7B7B440EED4803D63433F276, - 554308DDD8025AA615896FC4, - D7839FF284BB06FA60DCEEE0, - CE4C2262B73CB9E3D7D0F5A9, - 435E3D791D14F4D1AACD72E9, - AB9A6F61976347D260DA5059, - A4D744C6B381DF0CDCECC9C4, - 618C39106CE3BF42743916D6, - 388DFFAA39BE7F48EA091580, - 3255D0872F6205A7E695123C, - 740A3160913743E8F4FE479A, - 4903A008950C587EC9D36E8A, - C5592FC88F8F26B1F1EF0FE4, - ECEE51ECA09C6443BD53286C, - 399DA279A3E6016235E5CD5E, - 802FA5BCA17278C448CD27DA, - 984EB867AF6E220AEA38750F, - BF7DB7CEEFC788FBAC7DDAFD, - 69522EAC01747563D7C7AA45, - 0E61F8913380489C424B8897, - B423B80221F35DE6787F4950, - 0221F72F9408DB610889CC4F, - D4232B71E6309733DBADFD25, ); name = text; sourceTree = ""; }; - D6A290DC662182F8249B3CAD = {isa = PBXGroup; children = ( - 84CD53641AE2AFCEC3EDDDB3, - 011BC83C4F54E7A82E599A25, - 522B0E168525CE35761E7426, - A33DDAC6F430E39DA8E28C22, - B48F2BC7D54AB619F94B6DE1, - 87E0CDB289BF68FED505A098, - B8B051C8BBF4C9504C957862, - E02721B4521B6D84B390D112, - EC68F2E5C42A80345FDEF04D, - DFCD7C4CB85A4F0862C26DB5, ); name = maths; sourceTree = ""; }; - 7031990A2293EB0DCF7205E2 = {isa = PBXGroup; children = ( - 325750A5B117A2371A994ACD, - 2A4F0A9504E82AC101821457, - 657B7282AD450BA17A392C64, - 691571797332562EB49B94FC, - A2895A66C2417B5614E18FF4, - 1FFC7AFF3D3F1320424A5A5C, - 75A6F076085B1A88A4E728A0, - 7CBD7946B2E48708A4B9A6CC, - FEDBC594A00579487DCD4CF2, - 28005BCC2C25CE65458FDF00, - 8FE10CC3F12262F2B751A209, - 46B761536D14427B59DE4770, - AC2B37963341CBE58BB1AC15, - B76EC07AED2B1ABA4DAED64B, ); name = memory; sourceTree = ""; }; - BFA12751EF3E483E78F50B17 = {isa = PBXGroup; children = ( + 27688F62D016111C52365BFB = {isa = PBXGroup; children = ( 0C50FAE1C35E34FC7D0FC4EA, 565CBFAF71980BABD0356E9C, 6B249192BAF0AAF7E182424F, @@ -1283,37 +1215,7 @@ CF4B31571114F4DDA245173C, 3EE2B7200D3C05D142620F50, 2FC1A000FB609FEAE8B05652, ); name = containers; sourceTree = ""; }; - 56362ECD4B354F0313ACC409 = {isa = PBXGroup; children = ( - 33D4483DB3E31E8546901E5B, - ED90ED5E302C6DE7164BBC89, - 6ED62688E54AC26A217CC19F, - 97F1A5BC9DE337E76B8A90D2, - A370C41D4837013B7AD2FA97, - 1A24B870156E77F73B240EF4, - E855B0B43C14917198AA433A, - 3E84CC11C41564236BAB1357, - 94DCAC3750C0686E87AC98CB, - 04FB999EAA4FE888889EB692, - A6E85B417C8C8A6784B9B7A5, - CEA5935F1BD26E6EDD78A7C8, - 58A85FA571E5CD15C1569F21, - 71D490A4870F1410C5896A90, - 9CCCE10F1272EE64EAAAC7FE, - 2D2826B679DB16F8308B0752, - F648E49516BD56D93471B5A5, - 64269B66078B8D1E8C243C2F, - 9592FAC2C38433CCCBBB9FDD, - 6AC0E157F19A55B712EAF389, - 65316F84E7998071FE57E190, - 21B555956974F5DF694949DD, ); name = threads; sourceTree = ""; }; - C9C84B8A2DED2098182BADCA = {isa = PBXGroup; children = ( - 4AF9E26A4EBAF5B673BBC1DD, - AA9786A0CFEB8A216C6C326F, - 4C96663BC361EA73428C6BCE, - CB91D3680C4EA0F9E508CF17, - 1D4155D4B8CF0D7D4183D7CE, - 5A52B314306EB47411A20946, ); name = time; sourceTree = ""; }; - 94C848668FF1D65522995FCA = {isa = PBXGroup; children = ( + 399FA29753C72488816B2872 = {isa = PBXGroup; children = ( 28CA254C9477C666765FE20D, 63FE8D20853DE99AAB629474, 353A1C800FFDA1FFFECE7506, @@ -1331,66 +1233,43 @@ 7D3490444AF84C7F75280C0C, B6C518F50B517558F5442848, F3F090E6AF1288AD65E225BA, ); name = files; sourceTree = ""; }; - 4971C5D86EF783DAF9137FF0 = {isa = PBXGroup; children = ( - B7F361C82E8C1C47CC457941, - EA1B643DE23EB2F415B84814, - 18672DBD986C218C32E3F749, - 93E55D837D8A44BB6BAC9315, - A8411E52CBD9A8EE6BDBC2EA, - A41BB84E335B4F59F162CD82, - 92EA44F4FBD5ACA590CD1EC4, - 318BCD40258102F2A6EBF436, - DC5EA4452816840FCFD62DE2, - 59543077224E7229AB9215C2, ); name = network; sourceTree = ""; }; - 92C44549382C9EA431506B7C = {isa = PBXGroup; children = ( - AFEE3F9C7669EE074A1D4AF5, - ECFAC92088E5DBDDE006B9C4, - 9F8C2988A20A87D2995D48CA, - 7AC13122BC642A8157397AB0, - 883663D64D440F8D75BFF706, - BE3C6EB9580AFB6A8C731A11, - D2011DB0DFD91C589FD22051, - C72AFDEA087704F6D67C4D6F, - 4F4C8AD96575CB346E656BFA, - B7F5A21D37A7A981E624CDB7, - FF4F4565BAA265B05B6219A3, - B4002753D99D947D4198A324, - ECBAA976BE20B227CF86D5B9, - 584C5A04EEE5595E09F690CD, - BB1202BFAC430CB62A78E63E, ); name = streams; sourceTree = ""; }; - DB77A9D815E2BDF82AEF8805 = {isa = PBXGroup; children = ( - 7B1109F92CEA6A8EEEE3EC0A, - 39C0A0CDD4C166B90FCD007D, - F2CFEEA04701C7F6E0FB23E1, - 8C73C4A7B108C27F4BA2EE99, ); name = logging; sourceTree = ""; }; - B6586DF36CA6698E3493178F = {isa = PBXGroup; children = ( - 3C43B76DD81C4672CD720CDA, - 81F8E38B3F45939C08F5B8B9, - 29FA63E0000E85C75AEB2D3C, - 73246EA06C90033349EF3496, - 78ADF136FF36716021410A6A, - 65AF531F57FA186D14BF991F, ); name = system; sourceTree = ""; }; - 951BB9E63A6A3FA543B8FD05 = {isa = PBXGroup; children = ( - 0A369ADB2FFC7511877CE104, - 130A3006D67DEE7054BBC5B6, - DBEE14BA130A3EDC23F49B1B, - 11AD5417D0E7C2C1C828838C, ); name = xml; sourceTree = ""; }; - EE5827AEEFB7721762FD7B52 = {isa = PBXGroup; children = ( + 6730A56C2D5AD62ABCD9CA29 = {isa = PBXGroup; children = ( 5B7207D43E415121202DE038, EE1C8CB7BE31041B9C1E17D7, 4194BAC61CF36685C6577341, D5E57ED12E0A0BA5E9BE2CB8, ); name = javascript; sourceTree = ""; }; - 760CB66B9DAF73DABF1186D3 = {isa = PBXGroup; children = ( - D7C15A04946E5D1F3DA9A78A, - F94CD18DE8CA9B8252F7BEDA, - B7B9C15C70A4B6730E22B505, - B807F3AD93834192969AB5E4, - 31BB8378823D71E83206EF2A, - FA70AFAE0BD47AD8C88A966F, ); name = zip; sourceTree = ""; }; - 9FA49607580C148831F3D171 = {isa = PBXGroup; children = ( - F33612799C88EA1001F9A8DF, - 697DF250EE9A701784508070, ); name = "unit_tests"; sourceTree = ""; }; - D21AE897A770205315256492 = {isa = PBXGroup; children = ( + EB9892B12CE747811C515000 = {isa = PBXGroup; children = ( + 7B1109F92CEA6A8EEEE3EC0A, + 39C0A0CDD4C166B90FCD007D, + F2CFEEA04701C7F6E0FB23E1, + 8C73C4A7B108C27F4BA2EE99, ); name = logging; sourceTree = ""; }; + 8372246606656F1770F56F73 = {isa = PBXGroup; children = ( + 84CD53641AE2AFCEC3EDDDB3, + 011BC83C4F54E7A82E599A25, + 522B0E168525CE35761E7426, + A33DDAC6F430E39DA8E28C22, + B48F2BC7D54AB619F94B6DE1, + 87E0CDB289BF68FED505A098, + B8B051C8BBF4C9504C957862, + E02721B4521B6D84B390D112, + EC68F2E5C42A80345FDEF04D, + DFCD7C4CB85A4F0862C26DB5, ); name = maths; sourceTree = ""; }; + B4C62D506303A492EAC722C5 = {isa = PBXGroup; children = ( + 325750A5B117A2371A994ACD, + 2A4F0A9504E82AC101821457, + 657B7282AD450BA17A392C64, + 691571797332562EB49B94FC, + A2895A66C2417B5614E18FF4, + 1FFC7AFF3D3F1320424A5A5C, + 75A6F076085B1A88A4E728A0, + 7CBD7946B2E48708A4B9A6CC, + FEDBC594A00579487DCD4CF2, + 28005BCC2C25CE65458FDF00, + 8FE10CC3F12262F2B751A209, + 46B761536D14427B59DE4770, + AC2B37963341CBE58BB1AC15, + B76EC07AED2B1ABA4DAED64B, ); name = memory; sourceTree = ""; }; + 51ECD03A5EE48207E3BE7BCA = {isa = PBXGroup; children = ( 392EF1D59642EF6CDC55A9EE, 23C0F2738358F85550725F10, 3D74EB0CC8B99654F5EBA6BB, @@ -1398,7 +1277,7 @@ 64E5D55B5B7848BFFE434833, 28CDCE8D0A0C0719FA138404, 14A6DD16E3CF1F4F659CEF79, ); name = misc; sourceTree = ""; }; - BB889ADA5F13E25BABB2E62A = {isa = PBXGroup; children = ( + 683255303EAB919EAF01EB1F = {isa = PBXGroup; children = ( 2B8FF90925E5CAC668AACA7A, BD629E0F3E19731D9FCD9749, 517B4B514A39EC616BFA35CD, @@ -1428,25 +1307,128 @@ 7FDDFE5DEDF1FB4CE9DA3805, 08D15FEA79B3D9D2E431B26A, 4BE4341086F3D5FDE2E6B40B, ); name = native; sourceTree = ""; }; + D9D7882F6271BEC56B750483 = {isa = PBXGroup; children = ( + B7F361C82E8C1C47CC457941, + EA1B643DE23EB2F415B84814, + 18672DBD986C218C32E3F749, + 93E55D837D8A44BB6BAC9315, + A8411E52CBD9A8EE6BDBC2EA, + A41BB84E335B4F59F162CD82, + 92EA44F4FBD5ACA590CD1EC4, + 318BCD40258102F2A6EBF436, + DC5EA4452816840FCFD62DE2, + 59543077224E7229AB9215C2, ); name = network; sourceTree = ""; }; + 14D482BA801C51C5522C349C = {isa = PBXGroup; children = ( + AFEE3F9C7669EE074A1D4AF5, + ECFAC92088E5DBDDE006B9C4, + 9F8C2988A20A87D2995D48CA, + 7AC13122BC642A8157397AB0, + 883663D64D440F8D75BFF706, + BE3C6EB9580AFB6A8C731A11, + D2011DB0DFD91C589FD22051, + C72AFDEA087704F6D67C4D6F, + 4F4C8AD96575CB346E656BFA, + B7F5A21D37A7A981E624CDB7, + FF4F4565BAA265B05B6219A3, + B4002753D99D947D4198A324, + ECBAA976BE20B227CF86D5B9, + 584C5A04EEE5595E09F690CD, + BB1202BFAC430CB62A78E63E, ); name = streams; sourceTree = ""; }; + B6586DF36CA6698E3493178F = {isa = PBXGroup; children = ( + 3C43B76DD81C4672CD720CDA, + 81F8E38B3F45939C08F5B8B9, + 29FA63E0000E85C75AEB2D3C, + 73246EA06C90033349EF3496, + 78ADF136FF36716021410A6A, + 65AF531F57FA186D14BF991F, ); name = system; sourceTree = ""; }; + 6AA54CDEE0CA990D3E0422D0 = {isa = PBXGroup; children = ( + 0B7895277BC23E85DD87B944, + 7B7B440EED4803D63433F276, + 554308DDD8025AA615896FC4, + D7839FF284BB06FA60DCEEE0, + CE4C2262B73CB9E3D7D0F5A9, + 435E3D791D14F4D1AACD72E9, + AB9A6F61976347D260DA5059, + A4D744C6B381DF0CDCECC9C4, + 618C39106CE3BF42743916D6, + 388DFFAA39BE7F48EA091580, + 3255D0872F6205A7E695123C, + 740A3160913743E8F4FE479A, + 4903A008950C587EC9D36E8A, + C5592FC88F8F26B1F1EF0FE4, + ECEE51ECA09C6443BD53286C, + 399DA279A3E6016235E5CD5E, + 802FA5BCA17278C448CD27DA, + 984EB867AF6E220AEA38750F, + BF7DB7CEEFC788FBAC7DDAFD, + 69522EAC01747563D7C7AA45, + 0E61F8913380489C424B8897, + B423B80221F35DE6787F4950, + 0221F72F9408DB610889CC4F, + D4232B71E6309733DBADFD25, ); name = text; sourceTree = ""; }; + C65A436350F4550B6B0A222A = {isa = PBXGroup; children = ( + 33D4483DB3E31E8546901E5B, + ED90ED5E302C6DE7164BBC89, + 6ED62688E54AC26A217CC19F, + 97F1A5BC9DE337E76B8A90D2, + A370C41D4837013B7AD2FA97, + 1A24B870156E77F73B240EF4, + E855B0B43C14917198AA433A, + 3E84CC11C41564236BAB1357, + 94DCAC3750C0686E87AC98CB, + 04FB999EAA4FE888889EB692, + A6E85B417C8C8A6784B9B7A5, + CEA5935F1BD26E6EDD78A7C8, + 58A85FA571E5CD15C1569F21, + 71D490A4870F1410C5896A90, + 9CCCE10F1272EE64EAAAC7FE, + 2D2826B679DB16F8308B0752, + F648E49516BD56D93471B5A5, + 64269B66078B8D1E8C243C2F, + 9592FAC2C38433CCCBBB9FDD, + 6AC0E157F19A55B712EAF389, + 65316F84E7998071FE57E190, + 21B555956974F5DF694949DD, ); name = threads; sourceTree = ""; }; + 18FAF077E5487F12FB97E965 = {isa = PBXGroup; children = ( + 4AF9E26A4EBAF5B673BBC1DD, + AA9786A0CFEB8A216C6C326F, + 4C96663BC361EA73428C6BCE, + CB91D3680C4EA0F9E508CF17, + 1D4155D4B8CF0D7D4183D7CE, + 5A52B314306EB47411A20946, ); name = time; sourceTree = ""; }; + 9FA49607580C148831F3D171 = {isa = PBXGroup; children = ( + F33612799C88EA1001F9A8DF, + 697DF250EE9A701784508070, ); name = "unit_tests"; sourceTree = ""; }; + 5F7D00CC961E1367C0559C9C = {isa = PBXGroup; children = ( + 0A369ADB2FFC7511877CE104, + 130A3006D67DEE7054BBC5B6, + DBEE14BA130A3EDC23F49B1B, + 11AD5417D0E7C2C1C828838C, ); name = xml; sourceTree = ""; }; + 9DB3FE82EE79EBAD6E88EA14 = {isa = PBXGroup; children = ( + D7C15A04946E5D1F3DA9A78A, + F94CD18DE8CA9B8252F7BEDA, + B7B9C15C70A4B6730E22B505, + B807F3AD93834192969AB5E4, + 31BB8378823D71E83206EF2A, + FA70AFAE0BD47AD8C88A966F, ); name = zip; sourceTree = ""; }; 3B406129DCB6DEAC37783314 = {isa = PBXGroup; children = ( - 960867EA1D637A31A30C1A7E, - D6A290DC662182F8249B3CAD, - 7031990A2293EB0DCF7205E2, - BFA12751EF3E483E78F50B17, - 56362ECD4B354F0313ACC409, - C9C84B8A2DED2098182BADCA, - 94C848668FF1D65522995FCA, - 4971C5D86EF783DAF9137FF0, - 92C44549382C9EA431506B7C, - DB77A9D815E2BDF82AEF8805, + 27688F62D016111C52365BFB, + 399FA29753C72488816B2872, + 6730A56C2D5AD62ABCD9CA29, + EB9892B12CE747811C515000, + 8372246606656F1770F56F73, + B4C62D506303A492EAC722C5, + 51ECD03A5EE48207E3BE7BCA, + 683255303EAB919EAF01EB1F, + D9D7882F6271BEC56B750483, + 14D482BA801C51C5522C349C, B6586DF36CA6698E3493178F, - 951BB9E63A6A3FA543B8FD05, - EE5827AEEFB7721762FD7B52, - 760CB66B9DAF73DABF1186D3, + 6AA54CDEE0CA990D3E0422D0, + C65A436350F4550B6B0A222A, + 18FAF077E5487F12FB97E965, 9FA49607580C148831F3D171, - D21AE897A770205315256492, - BB889ADA5F13E25BABB2E62A, - 5FA739DFBCCAE232D83A4BE7, + 5F7D00CC961E1367C0559C9C, + 9DB3FE82EE79EBAD6E88EA14, E41FCB08A114D8EDABD1FA43, ); name = "juce_core"; sourceTree = ""; }; 10761DF7B321254FF2E06928 = {isa = PBXGroup; children = ( 3177644BD4EAA55EC0BF9CC8, @@ -1465,31 +1447,45 @@ DCB988EA19DD9CA9258D1E26 = {isa = PBXGroup; children = ( 10761DF7B321254FF2E06928, 8B4534F721E2212632DE8ECA, - 59C7C5317760C3FC84D9F3B6, 57A5DB05214FADC6EA2FF2DC, ); name = "juce_cryptography"; sourceTree = ""; }; - 6B5C849F3D53AD089A238F0D = {isa = PBXGroup; children = ( + EE954B34324B08CD1B074694 = {isa = PBXGroup; children = ( + 8101AC46C4730C1DFBF4D81E, + 0482051A47A991EE0CF0F56A, + 75FCEE18130090191527FF34, + C9C1B109F10AEE13151695D2, ); name = "app_properties"; sourceTree = ""; }; + 9496E86A17032A66B6E556B6 = {isa = PBXGroup; children = ( + 617C2768CBDA087AE0B2C40F, + 41FBBAEA5B88952DD3885A11, + 5270E66C5C7578382B430BC6, ); name = undomanager; sourceTree = ""; }; + 36631354AB069FAEA0F514DC = {isa = PBXGroup; children = ( 40D1DB4A897D8436C3303CCD, 881CF0D48C44D83FBEFE11C1, 6FAE80EBA0BD373154CD9F6C, 5CEC50035A8D3B7F84C1FB3E, 94700EA8E9460F1384C1F98A, 02F5F63EED08DDC646BD9B50, ); name = values; sourceTree = ""; }; - 9496E86A17032A66B6E556B6 = {isa = PBXGroup; children = ( - 617C2768CBDA087AE0B2C40F, - 41FBBAEA5B88952DD3885A11, - 5270E66C5C7578382B430BC6, ); name = undomanager; sourceTree = ""; }; - 7308E3868AA672F686FCCFF0 = {isa = PBXGroup; children = ( - 8101AC46C4730C1DFBF4D81E, - 0482051A47A991EE0CF0F56A, - 75FCEE18130090191527FF34, - C9C1B109F10AEE13151695D2, ); name = "app_properties"; sourceTree = ""; }; 0707014275E47642CD7A72D6 = {isa = PBXGroup; children = ( - 6B5C849F3D53AD089A238F0D, + EE954B34324B08CD1B074694, 9496E86A17032A66B6E556B6, - 7308E3868AA672F686FCCFF0, - 2B85DF39DC6F7E59C8F8288A, + 36631354AB069FAEA0F514DC, 09D02F17787745163017E697, ); name = "juce_data_structures"; sourceTree = ""; }; - 99510CEB30016A4FD7C0211A = {isa = PBXGroup; children = ( + BE3E9BDA3D71F21F72188F3A = {isa = PBXGroup; children = ( + 24AF8E94C5C02CF8CE02C455, + 9E775C12A67CCD63B38F6D60, + D31A9BADAED3EA3757E78FCE, + 3BE70E642A772DEBDA1B3036, + D25C8657582BBA6F52F84F7F, + 35A8537809762D72B0EBE8A0, + 60D3971409F5746CBB7F2F10, + 45F2BF8D8A7DF3D2D292BA8F, ); name = broadcasters; sourceTree = ""; }; + 49C4AE7239B0C136E5F66992 = {isa = PBXGroup; children = ( + 52605B4E3429FE64912A779D, + 8D30C03040BC034BD299ED57, + 55E2A7422098ABD2CCD1B319, + B13F6EF80751C0A629749B80, + 8DA4DCF95D0F6BEB6AD5302A, + 646C61429CD13E2E52D12141, ); name = interprocess; sourceTree = ""; }; + D6E330EE764B6BFC496123F7 = {isa = PBXGroup; children = ( 525FEE7AF4B65040D7689EDB, 78DCD3BC63EDC98A4F913A2B, 93D3AC7DCF3CC7405B11131E, @@ -1503,28 +1499,7 @@ 396EAA6D0FA938F9B51473A5, 980DC6500717A68FFA5EDFC8, 41883B811706971686F7A2C7, ); name = messages; sourceTree = ""; }; - 8DBD78F00BCB08D91254C22D = {isa = PBXGroup; children = ( - CF0CB484FB90AA87A0C789BE, - DBFF03B0A31F76E9A36532DD, - B3765CEDD780C38AC37E627A, - 3F74639612050FF56DE3FA19, ); name = timers; sourceTree = ""; }; - D9D8CF61CBC48BE202DF80D5 = {isa = PBXGroup; children = ( - 24AF8E94C5C02CF8CE02C455, - 9E775C12A67CCD63B38F6D60, - D31A9BADAED3EA3757E78FCE, - 3BE70E642A772DEBDA1B3036, - D25C8657582BBA6F52F84F7F, - 35A8537809762D72B0EBE8A0, - 60D3971409F5746CBB7F2F10, - 45F2BF8D8A7DF3D2D292BA8F, ); name = broadcasters; sourceTree = ""; }; - E364D2DDCFB3D5A7FB4FE34C = {isa = PBXGroup; children = ( - 52605B4E3429FE64912A779D, - 8D30C03040BC034BD299ED57, - 55E2A7422098ABD2CCD1B319, - B13F6EF80751C0A629749B80, - 8DA4DCF95D0F6BEB6AD5302A, - 646C61429CD13E2E52D12141, ); name = interprocess; sourceTree = ""; }; - 1D70DBB77DE50006AA25CFBE = {isa = PBXGroup; children = ( + 84653F9B74F6C0FAE5E69E5D = {isa = PBXGroup; children = ( 2AD4699E0037E5EA8301A8FF, 99581429529922C90A11D91C, 7AB08504FDC868FA958A3B07, @@ -1533,13 +1508,17 @@ 06362804F777439B6DEC6BAC, 2326E1582EB6251D13616525, 1DB2B8D040DF0AEF33349943, ); name = native; sourceTree = ""; }; + C8AC436D35B332A4A24E800C = {isa = PBXGroup; children = ( + CF0CB484FB90AA87A0C789BE, + DBFF03B0A31F76E9A36532DD, + B3765CEDD780C38AC37E627A, + 3F74639612050FF56DE3FA19, ); name = timers; sourceTree = ""; }; B37AD81AA22EC94D4AC7516C = {isa = PBXGroup; children = ( - 99510CEB30016A4FD7C0211A, - 8DBD78F00BCB08D91254C22D, - D9D8CF61CBC48BE202DF80D5, - E364D2DDCFB3D5A7FB4FE34C, - 1D70DBB77DE50006AA25CFBE, - D368C96D79F2F42540CAB393, + BE3E9BDA3D71F21F72188F3A, + 49C4AE7239B0C136E5F66992, + D6E330EE764B6BFC496123F7, + 84653F9B74F6C0FAE5E69E5D, + C8AC436D35B332A4A24E800C, F1A2241408FECD965CFCF126, ); name = "juce_events"; sourceTree = ""; }; 26AFAC463EBBB3E83F0D415B = {isa = PBXGroup; children = ( 05D94C76428886D15D6A9D54, @@ -1559,19 +1538,25 @@ 7B1D30C0166500C630DA6FB6, 70B14E79233BE4FCD5753ABE, BD7F0A595D88769F14253AEB, ); name = contexts; sourceTree = ""; }; - 54521386A3DCA074554FBF2C = {isa = PBXGroup; children = ( - 1B2398F0DFA2F5F263515219, - 8BC70216CA528960C3D89C21, - 597549F1F4AF638BE62D5127, - 2FBAEED114143EBBF0934B75, - B5311636D2754A207EC4AC98, - 4FEE9CAE45BAEE1D1BBA83FE, - 53DC41FF51B303AF9550D650, - 2EFF2F6F932600CA1C5B4892, ); name = images; sourceTree = ""; }; - 8B11FBDB2A46BF9553B5EC93 = {isa = PBXGroup; children = ( - 64599EF94FDACF1384134045, - 5C283446F7FBC70FA2FE526D, - A9BE4E0AC7FB60220F0D7040, ); name = "image_formats"; sourceTree = ""; }; + B1B2586D9868BB094DE82AAB = {isa = PBXGroup; children = ( + 61E6CF3FCBE2484315D9D104, + 5669A3104E091B17A1D580CF, + ABF06C4C3A928B1EE99461CD, + F5437E10372BA7B05AA233EE, + 584185588F9BF399FCF6B973, ); name = effects; sourceTree = ""; }; + 9C2AC8ECDB8FB4583D8A1B34 = {isa = PBXGroup; children = ( + FEB459EC3DA8F2E69520A704, + C2E6F205D15873BBDA6C611C, + E9B14DC45CDADE518EEACF9A, + 1A62C6B1E666AF238F51AC2C, + 5F33B1B075413B2A7DEED261, + AC843F54CCC360FED9534CCA, + 3CEA934E362ADBFF032ED654, + F884770CC563A3CE0EBFE90D, + 378F5440DD3B594D7024F509, + 2755EC73A85568278839728D, + 5A0BC6E6D4AB2A287219C561, + A071B25945FC4736FE713C3F, ); name = fonts; sourceTree = ""; }; 7B498AEEF89EDC2852021514 = {isa = PBXGroup; children = ( F9CF1242078815002E111C9D, BD923983F1C1C5C566985FF8, @@ -1588,30 +1573,20 @@ D5A551696BD1E7D4DD706725, D422A13D3A515B2367A9605E, 14C127364B957648FBEE4D4A, ); name = geometry; sourceTree = ""; }; - 8448BDA592F8C6E6B1914287 = {isa = PBXGroup; children = ( - F541E2EEFBE0176F89C61E29, - BA32311C6BCAAAD930B01BC0, - EDCF115426B128529564E35C, ); name = placement; sourceTree = ""; }; - 4F531EF8552989D577C5036D = {isa = PBXGroup; children = ( - FEB459EC3DA8F2E69520A704, - C2E6F205D15873BBDA6C611C, - E9B14DC45CDADE518EEACF9A, - 1A62C6B1E666AF238F51AC2C, - 5F33B1B075413B2A7DEED261, - AC843F54CCC360FED9534CCA, - 3CEA934E362ADBFF032ED654, - F884770CC563A3CE0EBFE90D, - 378F5440DD3B594D7024F509, - 2755EC73A85568278839728D, - 5A0BC6E6D4AB2A287219C561, - A071B25945FC4736FE713C3F, ); name = fonts; sourceTree = ""; }; - B5754DC2FC09A8CFCA056FA4 = {isa = PBXGroup; children = ( - 61E6CF3FCBE2484315D9D104, - 5669A3104E091B17A1D580CF, - ABF06C4C3A928B1EE99461CD, - F5437E10372BA7B05AA233EE, - 584185588F9BF399FCF6B973, ); name = effects; sourceTree = ""; }; - 04044AED6EAF64212CD90AE3 = {isa = PBXGroup; children = ( + A61F7963E614AB190C282A3A = {isa = PBXGroup; children = ( + 64599EF94FDACF1384134045, + 5C283446F7FBC70FA2FE526D, + A9BE4E0AC7FB60220F0D7040, ); name = "image_formats"; sourceTree = ""; }; + 9987C019AB28C1631B5E14A0 = {isa = PBXGroup; children = ( + 1B2398F0DFA2F5F263515219, + 8BC70216CA528960C3D89C21, + 597549F1F4AF638BE62D5127, + 2FBAEED114143EBBF0934B75, + B5311636D2754A207EC4AC98, + 4FEE9CAE45BAEE1D1BBA83FE, + 53DC41FF51B303AF9550D650, + 2EFF2F6F932600CA1C5B4892, ); name = images; sourceTree = ""; }; + 37AFEEC6FADBB523C4C539BB = {isa = PBXGroup; children = ( 4B6A0ECB588F521235C24779, B2F9611123FFFB7CF25941BF, 22ED0419EEC52D6D441D5352, @@ -1625,19 +1600,54 @@ 70E80FCCB8091A3F2865EA6E, A521D5A096E77FF0D3778DF7, 52FBCE58224EE2275F7A969F, ); name = native; sourceTree = ""; }; + 2D1D4F337A38596C82ECC05E = {isa = PBXGroup; children = ( + F541E2EEFBE0176F89C61E29, + BA32311C6BCAAAD930B01BC0, + EDCF115426B128529564E35C, ); name = placement; sourceTree = ""; }; EC562B172DBFDAC6C87FEB54 = {isa = PBXGroup; children = ( 26AFAC463EBBB3E83F0D415B, AEBECE5A05D7EB1B30F06C7C, - 54521386A3DCA074554FBF2C, - 8B11FBDB2A46BF9553B5EC93, + B1B2586D9868BB094DE82AAB, + 9C2AC8ECDB8FB4583D8A1B34, 7B498AEEF89EDC2852021514, - 8448BDA592F8C6E6B1914287, - 4F531EF8552989D577C5036D, - B5754DC2FC09A8CFCA056FA4, - 04044AED6EAF64212CD90AE3, - 090CC81F4D68D9658673DEB0, + A61F7963E614AB190C282A3A, + 9987C019AB28C1631B5E14A0, + 37AFEEC6FADBB523C4C539BB, + 2D1D4F337A38596C82ECC05E, 30750C7B676B81F04AF7B5B7, ); name = "juce_graphics"; sourceTree = ""; }; - 1123583571EE28C62BACD3CF = {isa = PBXGroup; children = ( + 81CE57B146D23BFD0499127E = {isa = PBXGroup; children = ( + A2962B3EA6BD97F0537360E8, + 33B617DD83D2E373922566C6, ); name = application; sourceTree = ""; }; + 6BEB38DDB90823ED84490770 = {isa = PBXGroup; children = ( + 6E98DEACA5006CFB9F344516, + F56E6DD2A8C393E6C978812D, + 0D312355C358510A4A0FE051, + A5BF82B57E9456CC9111BE15, + 4A60145BFF335301031B6124, + BC658689F10CCF8E1847ABA3, + 9FEBFF78510646EC4393CA4B, + 7EBC05447D1D054C0DE34F3B, + 160B1F8323819A36A4CC4C3F, + 285FCDA22A7CF6C58844A5D4, + 032D935183817A5553AD8203, + 6AA1708ABC213E74BA026765, + CDB10AA2949AE7EE9A7EEEFF, + 40472FAFDB43C75F75A66031, + D4AA6C831A32D2E7E505BBB8, + ED63FFF1DA73EE8EBD417FCD, + BAFF2D79E1FFE08F04DBCEC6, + F13D2628180088EB7F0F9D61, ); name = buttons; sourceTree = ""; }; + 1BF3131E811C6AC0F56C4389 = {isa = PBXGroup; children = ( + 24ED7F5CEA9E65C8B4D30BA3, + 63DFCDB677B0ABBA832E87D4, + 20BBCC06451024053051B281, + 55D1A976250E657EDFDF8EF2, + 562526B881A322F9D50F9854, + A74A48F3D9775282AA7C4983, + F0A26E7C4D3AAF07CB1DB790, + 8ABE78C2BA571AED7197449E, + F1342D5C6E4C8CDCB6882E4B, ); name = commands; sourceTree = ""; }; + 32496711652BA097B8ADC964 = {isa = PBXGroup; children = ( D09628A1CC2F5D43B17CA473, D722CDD475B4703997C12E6F, 1472F23DBD8336911E3D82C5, @@ -1647,28 +1657,46 @@ 814DE315E204C54BBC8C19CB, 64CFE2DDF94D6E8B3AE7AEC2, D526E8535FABCB09F95204CE, ); name = components; sourceTree = ""; }; - FE9719B1BA51C4F8AD5D9903 = {isa = PBXGroup; children = ( - 3A17F009EF3CC3582C8EA76F, - 9D32C0339456EAB2A6BB45FE, - 5162BBA0C86C11D616F9F020, - 18856FC97917E21DF7721A6C, - 2F92A07D91F367A25032C6F4, - 8D2E95D7AE5041F44EDC8C60, - FF7BF12D160834B8C83D45A9, - 5026CB2095EDB4805F9013AE, - 16397F1BBEA97057B0654612, - 1382CD8AF4831CB28EBC85F4, - 8FA6EA6619FC1D783BB43A6D, - 85B0C7E00E80B07009B85182, - 16593ED55AEBE25460A4EBA6, - A489ACC5B648D8D96D1E782B, - 83FE3FC19E4060EF4B820617, - AC7393C21698DAE8575E7418, - 30278584DF9871A25ACBDBF0, - 01BD37F248C6D4F9246F0D3C, - CEFDF1A4603927829A10D1C3, - 5CC7281607A918638E42AF4C, ); name = mouse; sourceTree = ""; }; - 8EC9B59AC1304BD5E8CE4F40 = {isa = PBXGroup; children = ( + 50B2CD6C037A1E381BC178C5 = {isa = PBXGroup; children = ( + 63EA6ECB4F56812B02B43B41, + 2CFEB2C490DC1AF0D6FC8703, + E2513C97FE654F3CA30D1C86, + D6E8EEBD5F3FCF74E48E180B, + 1916DEFC946E322F8C835EDB, + 4EA8B60E701E3300765C60C4, + AD051A4199C46429A6D8DD4F, + 93BA77EAA23705315191C7E2, + E050CB94B15D82BCDAC9379A, + 186B4290C30B0DEC58195AB2, + C5C93B5F5FC5C2D4EC9C4450, + 0F1C7E2100FFAD72CAA23DCB, + 1CA39A896F6AEC7A3DC801A0, + 1883F9EEDB0A3D026C938071, + D5E997416B7973A5B0FC0F30, ); name = drawables; sourceTree = ""; }; + 59DD40B72B952590B3197239 = {isa = PBXGroup; children = ( + D7EFF2C88C792986FA0173F7, + AF16C128B552466521C62D2D, + A5A3072927115B679D50ACAF, + C093A363F306AFCF7631AA18, + 97CD2CE03E6C9ADCEF6B78EF, + D6058C4CECAA1ED6F781EC3A, + FD9975BD63F041DB36EAFA85, + 51B55A31985E161A6DC2FC77, + 8B82A4BC6FD1213D4F8362A9, + D56A5DF92B28570D7170E6F0, + 5ECEE3090DF1A6EAE44DD56C, + 2741E1112861631B9834FBC6, + E8C4E54ED20C061CE7F522AF, + 8F8397F820E7D91D894D3392, + E30E540A9B04E33577F9DF02, + 702028C53C51F36BF6427384, + 5525EB8E164C5C7AF9414810, + 672F2944E70066268A726D07, + 1E8E94630A1ABB4F8FAE9AE9, + B1626CB532C9DF380E7B7CD4, + B15E52011D4FE2E415CE8AB3, + E07AB23E43F0520AE9AD6F35, ); name = filebrowser; sourceTree = ""; }; + 7B22BB31717A26D74615860D = {isa = PBXGroup; children = ( 9191E878E327B1620CF1E39C, 8495525D384E30C43C203FAA, CDF0544DCC96C4687D183EB5, @@ -1682,62 +1710,7 @@ 60F719EA50E6299DF0C945E0, C479F3274C5CA6E09B397633, 136DC9F51F7618E89A87A97D, ); name = keyboard; sourceTree = ""; }; - 9D5D10DE54F060A0255F4A87 = {isa = PBXGroup; children = ( - 7EBCBDD96E6E70F99719844C, - 8FF8FC40C2C4AE2085C917F5, - EE5B7CB735BDF7D71D3E970F, - DABCA7F538D27BA9950EA1CF, - 80111753A0AE831424A9F5B8, - F3A2A0A5C8038634137BB03D, - F49196493793066B9BB07F40, - 5E7C0D62245304DDA3DA9CA1, - 474DCC0EBA8795379573FF6F, - AF4B30AA495E1A0992ADD15F, - 3DEEEF5309CD0A71C8813A95, - E9C50B5DF0C6757DD6B3F67E, - 0E8A4AE204EFC326BE1FA74F, - E399B7DDFD4F84574BC6DE7F, - E4A2BA08BA5BC4C0902A80AC, - E23D8E60DD524D605CADA244, - 0555FCFB9FFFBD082F1D1F03, - 0D5AD018BF0FA2555CD698E6, - 157A5F2441514DE5F20D60DF, - B47394806DDFA3E7800E61B4, - 896FBF9C031D3266D9420192, - E394723486E3BBD367DEDEB9, - 4656F00F262F77E3040A8385, - CC0683B70A91DB4823255716, - 4CB8E3EA71BDF792CA05DFE6, - DF83A23D9DFF71BADBF6F9A8, - DBA4CED9A30C2AF8C1ACCD66, ); name = widgets; sourceTree = ""; }; - B16F80BA4E0E8690DBBA3E4D = {isa = PBXGroup; children = ( - 10B92E751EF6026681F5445E, - A507E44557C26B100C8FB57F, - 389BBA912BB6CE2E3F65A0F7, - DBBA8A99DB2EE6339B6D46FB, - 846FD9CFF342230F791765DE, - 98DB26B643730659EA82E16A, - BA26A49DA619ABECBB65CB33, - 3825811DAF813A2AD05DA133, - DFA1270F7EEC910721994140, - 039AEE1F1BCF62D60B10547D, - AABCB86C60D3D5677F296CD1, - 30A48A34B242B2C4FF2FACBF, - 1A1253DA6328CD386B822BC8, - AD916AA54B985036AE0D8422, - BC91AC2F5F929948EA4DED1C, - FCAFEE930E21FA7EED073445, - 066F40B69B2A01E75079023F, - EDE20C164DD9644A3072C63F, - B30AB62CA69F3A65E9EC5F00, ); name = windows; sourceTree = ""; }; - F2AA8CA559D9B387223FE533 = {isa = PBXGroup; children = ( - 7B3657F2E71AD880F9BDF5F6, - 5FC75091C66E2B8DEECA1D0E, - 86D48089FFF564E817887475, - 4E32C479FCEAFD15286C741F, - BE3A8E4BAD6D3DD4EB9F77AF, - 867FB39789F0E2FDF99D320F, ); name = menus; sourceTree = ""; }; - 50907A7EDF65262FB2368919 = {isa = PBXGroup; children = ( + B1BE630EEA7406C6D0E86DD6 = {isa = PBXGroup; children = ( 75B45AB94994C825BAEE96E5, A6539EF676A6574164E79009, B4A659B65120C86C9771058A, @@ -1774,72 +1747,7 @@ DBF8076E76083C9621233826, 00A60B2D4DA0B0BC87DF1C9D, 08E38EC2AF18DFD09E1D2F39, ); name = layout; sourceTree = ""; }; - 3FC72B39AFB7EBE94105C179 = {isa = PBXGroup; children = ( - 6E98DEACA5006CFB9F344516, - F56E6DD2A8C393E6C978812D, - 0D312355C358510A4A0FE051, - A5BF82B57E9456CC9111BE15, - 4A60145BFF335301031B6124, - BC658689F10CCF8E1847ABA3, - 9FEBFF78510646EC4393CA4B, - 7EBC05447D1D054C0DE34F3B, - 160B1F8323819A36A4CC4C3F, - 285FCDA22A7CF6C58844A5D4, - 032D935183817A5553AD8203, - 6AA1708ABC213E74BA026765, - CDB10AA2949AE7EE9A7EEEFF, - 40472FAFDB43C75F75A66031, - D4AA6C831A32D2E7E505BBB8, - ED63FFF1DA73EE8EBD417FCD, - BAFF2D79E1FFE08F04DBCEC6, - F13D2628180088EB7F0F9D61, ); name = buttons; sourceTree = ""; }; - FF5FDF426DB71EE2BF2A717C = {isa = PBXGroup; children = ( - CA932A990171693F19008C38, - 931C9F1302138947317EACE6, - 3E60609BDED772D95BCC1E56, - 5F6D0584CAAE2DBBD3781A18, - 9839BC46846D04A5110D6605, - 368455F1BC9A92392124B897, - 392ADAF07AEDADD4BA680D98, - C43F3C14D904F5ACD41ADA91, - 88A9613D010FE312D218C2C7, - EF8B1B1240C8E7260693D9EE, - D6BF230834217C9D84DDAC4B, - D685FE41FE0197E668A8B26F, - 97F99F3025160128C7D5D060, - 525B1989294D1FD59A398850, ); name = positioning; sourceTree = ""; }; - 3AD5F1C7C60DB1A3A5F57C2C = {isa = PBXGroup; children = ( - 63EA6ECB4F56812B02B43B41, - 2CFEB2C490DC1AF0D6FC8703, - E2513C97FE654F3CA30D1C86, - D6E8EEBD5F3FCF74E48E180B, - 1916DEFC946E322F8C835EDB, - 4EA8B60E701E3300765C60C4, - AD051A4199C46429A6D8DD4F, - 93BA77EAA23705315191C7E2, - E050CB94B15D82BCDAC9379A, - 186B4290C30B0DEC58195AB2, - C5C93B5F5FC5C2D4EC9C4450, - 0F1C7E2100FFAD72CAA23DCB, - 1CA39A896F6AEC7A3DC801A0, - 1883F9EEDB0A3D026C938071, - D5E997416B7973A5B0FC0F30, ); name = drawables; sourceTree = ""; }; - 073FD54019A28C0935F1DDCF = {isa = PBXGroup; children = ( - 8CA840D1B9A30A6DAD191A89, - 2366165F6EE4BDA01C7DC692, - 7D6BB42E33F78296666BA85A, - 7917F9CE69307A7E7B132E75, - B6DBCD143061D29E18318A3F, - 9EA0424188173B362A7BEFD4, - C1EA16AD88E42B12FDCE40B0, - 045ED0B80DB3AC4B2EBC65C2, - 0F9A5A14CC510059B9EC4936, - 34749C43CD888E02BC33DEF2, - F790E7ADDEA4BEBE1DBFD528, - 2237682237430D807C6A370F, - 7196AC023698E504975A3E02, - 6EBE04120C9410282C2BD655, ); name = properties; sourceTree = ""; }; - 04FEA259A367D48E45C99899 = {isa = PBXGroup; children = ( + F98EA7B50DC5D459F1123B57 = {isa = PBXGroup; children = ( B18BD25724FF16CA47FF7E50, 72C6F45A83A998FED8565BB3, 5E9370793B2591F69E99AA3E, @@ -1848,48 +1756,40 @@ 2B8385440D3E58EF0BF8D678, 1C6A94EE73B83F73DE7E80A5, 255C3B4FB11C69E09D77AA05, ); name = lookandfeel; sourceTree = ""; }; - 81D7965DF84E5F79B7F5BCAB = {isa = PBXGroup; children = ( - D7EFF2C88C792986FA0173F7, - AF16C128B552466521C62D2D, - A5A3072927115B679D50ACAF, - C093A363F306AFCF7631AA18, - 97CD2CE03E6C9ADCEF6B78EF, - D6058C4CECAA1ED6F781EC3A, - FD9975BD63F041DB36EAFA85, - 51B55A31985E161A6DC2FC77, - 8B82A4BC6FD1213D4F8362A9, - D56A5DF92B28570D7170E6F0, - 5ECEE3090DF1A6EAE44DD56C, - 2741E1112861631B9834FBC6, - E8C4E54ED20C061CE7F522AF, - 8F8397F820E7D91D894D3392, - E30E540A9B04E33577F9DF02, - 702028C53C51F36BF6427384, - 5525EB8E164C5C7AF9414810, - 672F2944E70066268A726D07, - 1E8E94630A1ABB4F8FAE9AE9, - B1626CB532C9DF380E7B7CD4, - B15E52011D4FE2E415CE8AB3, - E07AB23E43F0520AE9AD6F35, ); name = filebrowser; sourceTree = ""; }; - CEBAF2CC45E77DBDA689C75E = {isa = PBXGroup; children = ( - 24ED7F5CEA9E65C8B4D30BA3, - 63DFCDB677B0ABBA832E87D4, - 20BBCC06451024053051B281, - 55D1A976250E657EDFDF8EF2, - 562526B881A322F9D50F9854, - A74A48F3D9775282AA7C4983, - F0A26E7C4D3AAF07CB1DB790, - 8ABE78C2BA571AED7197449E, - F1342D5C6E4C8CDCB6882E4B, ); name = commands; sourceTree = ""; }; - 090C27554B5A1CA12BC73CB9 = {isa = PBXGroup; children = ( + F458828D13980C3BA72091DD = {isa = PBXGroup; children = ( + 7B3657F2E71AD880F9BDF5F6, + 5FC75091C66E2B8DEECA1D0E, + 86D48089FFF564E817887475, + 4E32C479FCEAFD15286C741F, + BE3A8E4BAD6D3DD4EB9F77AF, + 867FB39789F0E2FDF99D320F, ); name = menus; sourceTree = ""; }; + 40D8A051798A06223D64B0BB = {isa = PBXGroup; children = ( D9757DF778684899EA1703C7, 0E7AACDC91886DB5DA634D4B, 88FF8616573355ADEB8334C2, A7777A03561349846F0F1C44, ); name = misc; sourceTree = ""; }; - 5B51225C16B86F0285C60DD0 = {isa = PBXGroup; children = ( - A2962B3EA6BD97F0537360E8, - 33B617DD83D2E373922566C6, ); name = application; sourceTree = ""; }; - 794F05E4DD80378543CD28EB = {isa = PBXGroup; children = ( + 64980ECEFE3027B3B714B9EC = {isa = PBXGroup; children = ( + 3A17F009EF3CC3582C8EA76F, + 9D32C0339456EAB2A6BB45FE, + 5162BBA0C86C11D616F9F020, + 18856FC97917E21DF7721A6C, + 2F92A07D91F367A25032C6F4, + 8D2E95D7AE5041F44EDC8C60, + FF7BF12D160834B8C83D45A9, + 5026CB2095EDB4805F9013AE, + 16397F1BBEA97057B0654612, + 1382CD8AF4831CB28EBC85F4, + 8FA6EA6619FC1D783BB43A6D, + 85B0C7E00E80B07009B85182, + 16593ED55AEBE25460A4EBA6, + A489ACC5B648D8D96D1E782B, + 83FE3FC19E4060EF4B820617, + AC7393C21698DAE8575E7418, + 30278584DF9871A25ACBDBF0, + 01BD37F248C6D4F9246F0D3C, + CEFDF1A4603927829A10D1C3, + 5CC7281607A918638E42AF4C, ); name = mouse; sourceTree = ""; }; + 952AEF52C03A3CBF5D58F63A = {isa = PBXGroup; children = ( 7779AE8232D6811839B11C00, 41ADF101EA8C63DB75DFA043, 22F0FB9BAC6D272C59F334E2, @@ -1906,25 +1806,102 @@ 6C1500C01520AF5E27871613, 6EB911EEE60A1509AFEE3B6F, 88C454CD2B066B3279383BFA, ); name = native; sourceTree = ""; }; + EE8FC9CCA3D33092666BFABF = {isa = PBXGroup; children = ( + CA932A990171693F19008C38, + 931C9F1302138947317EACE6, + 3E60609BDED772D95BCC1E56, + 5F6D0584CAAE2DBBD3781A18, + 9839BC46846D04A5110D6605, + 368455F1BC9A92392124B897, + 392ADAF07AEDADD4BA680D98, + C43F3C14D904F5ACD41ADA91, + 88A9613D010FE312D218C2C7, + EF8B1B1240C8E7260693D9EE, + D6BF230834217C9D84DDAC4B, + D685FE41FE0197E668A8B26F, + 97F99F3025160128C7D5D060, + 525B1989294D1FD59A398850, ); name = positioning; sourceTree = ""; }; + 890EF184E301B2E16199EC31 = {isa = PBXGroup; children = ( + 8CA840D1B9A30A6DAD191A89, + 2366165F6EE4BDA01C7DC692, + 7D6BB42E33F78296666BA85A, + 7917F9CE69307A7E7B132E75, + B6DBCD143061D29E18318A3F, + 9EA0424188173B362A7BEFD4, + C1EA16AD88E42B12FDCE40B0, + 045ED0B80DB3AC4B2EBC65C2, + 0F9A5A14CC510059B9EC4936, + 34749C43CD888E02BC33DEF2, + F790E7ADDEA4BEBE1DBFD528, + 2237682237430D807C6A370F, + 7196AC023698E504975A3E02, + 6EBE04120C9410282C2BD655, ); name = properties; sourceTree = ""; }; + CC4BF3474D48668FA4D4AFAA = {isa = PBXGroup; children = ( + 7EBCBDD96E6E70F99719844C, + 8FF8FC40C2C4AE2085C917F5, + EE5B7CB735BDF7D71D3E970F, + DABCA7F538D27BA9950EA1CF, + 80111753A0AE831424A9F5B8, + F3A2A0A5C8038634137BB03D, + F49196493793066B9BB07F40, + 5E7C0D62245304DDA3DA9CA1, + 474DCC0EBA8795379573FF6F, + AF4B30AA495E1A0992ADD15F, + 3DEEEF5309CD0A71C8813A95, + E9C50B5DF0C6757DD6B3F67E, + 0E8A4AE204EFC326BE1FA74F, + E399B7DDFD4F84574BC6DE7F, + E4A2BA08BA5BC4C0902A80AC, + E23D8E60DD524D605CADA244, + 0555FCFB9FFFBD082F1D1F03, + 0D5AD018BF0FA2555CD698E6, + 157A5F2441514DE5F20D60DF, + B47394806DDFA3E7800E61B4, + 896FBF9C031D3266D9420192, + E394723486E3BBD367DEDEB9, + 4656F00F262F77E3040A8385, + CC0683B70A91DB4823255716, + 4CB8E3EA71BDF792CA05DFE6, + DF83A23D9DFF71BADBF6F9A8, + DBA4CED9A30C2AF8C1ACCD66, ); name = widgets; sourceTree = ""; }; + EFC4FDC458A31AF15DAD25CE = {isa = PBXGroup; children = ( + 10B92E751EF6026681F5445E, + A507E44557C26B100C8FB57F, + 389BBA912BB6CE2E3F65A0F7, + DBBA8A99DB2EE6339B6D46FB, + 846FD9CFF342230F791765DE, + 98DB26B643730659EA82E16A, + BA26A49DA619ABECBB65CB33, + 3825811DAF813A2AD05DA133, + DFA1270F7EEC910721994140, + 039AEE1F1BCF62D60B10547D, + AABCB86C60D3D5677F296CD1, + 30A48A34B242B2C4FF2FACBF, + 1A1253DA6328CD386B822BC8, + AD916AA54B985036AE0D8422, + BC91AC2F5F929948EA4DED1C, + FCAFEE930E21FA7EED073445, + 066F40B69B2A01E75079023F, + EDE20C164DD9644A3072C63F, + B30AB62CA69F3A65E9EC5F00, ); name = windows; sourceTree = ""; }; 7CF05E7C4E74102CB39226E6 = {isa = PBXGroup; children = ( - 1123583571EE28C62BACD3CF, - FE9719B1BA51C4F8AD5D9903, - 8EC9B59AC1304BD5E8CE4F40, - 9D5D10DE54F060A0255F4A87, - B16F80BA4E0E8690DBBA3E4D, - F2AA8CA559D9B387223FE533, - 50907A7EDF65262FB2368919, - 3FC72B39AFB7EBE94105C179, - FF5FDF426DB71EE2BF2A717C, - 3AD5F1C7C60DB1A3A5F57C2C, - 073FD54019A28C0935F1DDCF, - 04FEA259A367D48E45C99899, - 81D7965DF84E5F79B7F5BCAB, - CEBAF2CC45E77DBDA689C75E, - 090C27554B5A1CA12BC73CB9, - 5B51225C16B86F0285C60DD0, - 794F05E4DD80378543CD28EB, - D52BBCF289A23BD82EC38B0C, + 81CE57B146D23BFD0499127E, + 6BEB38DDB90823ED84490770, + 1BF3131E811C6AC0F56C4389, + 32496711652BA097B8ADC964, + 50B2CD6C037A1E381BC178C5, + 59DD40B72B952590B3197239, + 7B22BB31717A26D74615860D, + B1BE630EEA7406C6D0E86DD6, + F98EA7B50DC5D459F1123B57, + F458828D13980C3BA72091DD, + 40D8A051798A06223D64B0BB, + 64980ECEFE3027B3B714B9EC, + 952AEF52C03A3CBF5D58F63A, + EE8FC9CCA3D33092666BFABF, + 890EF184E301B2E16199EC31, + CC4BF3474D48668FA4D4AFAA, + EFC4FDC458A31AF15DAD25CE, 06480CF420A37AA322F06C4E, ); name = "juce_gui_basics"; sourceTree = ""; }; 71A9B66AFC5ECB1DE512CF90 = {isa = PBXGroup; children = ( 8A36EF83B3DAABCDD11D79F2, @@ -1986,9 +1963,21 @@ 026960E0F752BADC1C00096F, 11BB9D1F94D449994305D76D, DEBE52CDD6AA7FF3A10C8AB0, - 6AC172FBF4B53E9CC942CE12, 2D6081A5CC49096D3626238D, ); name = "juce_gui_extra"; sourceTree = ""; }; - 88C640C93C522AAAC515BDBC = {isa = PBXGroup; children = ( + 2C1A8762044CD1E6DF0F480E = {isa = PBXGroup; children = ( + A8DFEDDCF7B5B3861937A069, + 1BF2D1C535E2E2C8297FC1F9, + CD3732E2A8FCAE512C9367FF, + B09D63C4934F5A97BAFC4C18, ); name = geometry; sourceTree = ""; }; + 481D97CF6157C6877118B7E2 = {isa = PBXGroup; children = ( + 204A40119E484D4DE7384553, + AC379935CE3825CB704336EE, + 8CC9576E9055FF34F364536E, + 65806C148D71B279981B2E6B, + 9ACECAEB13B57689062CC521, + 0001E065BC6A59AB77D396FF, + 544AABDFA0E5A41BE8806E8C, ); name = native; sourceTree = ""; }; + 8E9D666B5FAC0C44ECC7784A = {isa = PBXGroup; children = ( 11C847C1E8A88B669765EC78, A0250EBB292AB35378803806, 77A483EC1921EBBBFEB61D14, @@ -2006,28 +1995,14 @@ F3FB353C0530278FD5734B1A, 803D42EDEBDA4FD68002CFBA, 99BAA482F357DDAA0DD060BA, ); name = opengl; sourceTree = ""; }; - 3DCB4BE71FCC099B38B39456 = {isa = PBXGroup; children = ( - A8DFEDDCF7B5B3861937A069, - 1BF2D1C535E2E2C8297FC1F9, - CD3732E2A8FCAE512C9367FF, - B09D63C4934F5A97BAFC4C18, ); name = geometry; sourceTree = ""; }; - 373CC1D80C2F6145715B25EF = {isa = PBXGroup; children = ( + F86694AD0B6F16DFDC2A0B64 = {isa = PBXGroup; children = ( DF8263EA7C9A63B3276C7AC7, 90306E36B871DC8C1C1CB6B0, ); name = utils; sourceTree = ""; }; - 558EA84467FEA72462CFB77A = {isa = PBXGroup; children = ( - 204A40119E484D4DE7384553, - AC379935CE3825CB704336EE, - 8CC9576E9055FF34F364536E, - 65806C148D71B279981B2E6B, - 9ACECAEB13B57689062CC521, - 0001E065BC6A59AB77D396FF, - 544AABDFA0E5A41BE8806E8C, ); name = native; sourceTree = ""; }; DEEF8D1E48DD3EFA9DF5B9EF = {isa = PBXGroup; children = ( - 88C640C93C522AAAC515BDBC, - 3DCB4BE71FCC099B38B39456, - 373CC1D80C2F6145715B25EF, - 558EA84467FEA72462CFB77A, - 733C35DA0D48C2B7CD91A38D, + 2C1A8762044CD1E6DF0F480E, + 481D97CF6157C6877118B7E2, + 8E9D666B5FAC0C44ECC7784A, + F86694AD0B6F16DFDC2A0B64, B54B24801001CF065DAB4F36, ); name = "juce_opengl"; sourceTree = ""; }; 34D2BE5313D8326887365805 = {isa = PBXGroup; children = ( 3770BFAEFC73EA5CEA1E7F36, @@ -2048,26 +2023,24 @@ 4A2E9A4C1E608DA2DAF51AE7, ); name = osc; sourceTree = ""; }; B63ECA2160D69879EBD0F056 = {isa = PBXGroup; children = ( 34D2BE5313D8326887365805, - ABE82B95B2803C9DF90C50B9, 469C0434174F305A7B7C399D, ); name = "juce_osc"; sourceTree = ""; }; - DB989A33C1A4A571DDBEB5D0 = {isa = PBXGroup; children = ( - 29292E391802A42A343C9A10, - 67BFDEE0B4C3E43D7080BE3C, ); name = playback; sourceTree = ""; }; - 9BEAD99E1419EB3AE11DF770 = {isa = PBXGroup; children = ( + C56FE540484CE9479DBBBFDF = {isa = PBXGroup; children = ( AE00A806F4A79BE4FE6BD84B, 66E37EA9F2603E4AFD721A7B, ); name = capture; sourceTree = ""; }; - 2AD058C9EA74F6304732C402 = {isa = PBXGroup; children = ( + A65712B6E5D48B6351A95CEA = {isa = PBXGroup; children = ( 4DC63E65880797C759F1368D, 65B2A94615B8FFFBBA894728, EA3EDA7EE4DF3EB95FE646A9, FC425541E54465108E6AF87C, 433F0511495790BF65A4A21C, 8EA5C219F76708F4C756CAC9, ); name = native; sourceTree = ""; }; + 32F3181C4A293C05B32C193A = {isa = PBXGroup; children = ( + 29292E391802A42A343C9A10, + 67BFDEE0B4C3E43D7080BE3C, ); name = playback; sourceTree = ""; }; 5C21F31172D1F1594308AEF5 = {isa = PBXGroup; children = ( - DB989A33C1A4A571DDBEB5D0, - 9BEAD99E1419EB3AE11DF770, - 2AD058C9EA74F6304732C402, - 2AAC91C9F59493094CBDFCD2, + C56FE540484CE9479DBBBFDF, + A65712B6E5D48B6351A95CEA, + 32F3181C4A293C05B32C193A, D5ABF32F611E0D6E314A59CF, ); name = "juce_video"; sourceTree = ""; }; FE614235C8CE15EFCEB61487 = {isa = PBXGroup; children = ( E139BBDE9E8498DFF5089AA1, @@ -2086,20 +2059,20 @@ 5C21F31172D1F1594308AEF5, ); name = "Juce Modules"; sourceTree = ""; }; 3F7D4D52FAA229344338F40C = {isa = PBXGroup; children = ( BDE2CEC1C2F9C0EA2FDEDEEC, - 8A9BF66CD7A1500F21F06CF6, - B2B8E7BE0607DA166DAAEFEF, - B114804B7D23DA65A2A6351A, - F9532938F368676B0E308A2E, - A05963C7B992F7AB56E324D9, - 4BBE8E87CCF1400578410B69, - CA50EF6915D17B0B2D412194, - F241825460BC7EF7FEF07B48, - 78F80B16F46EC6D2C473BA30, - D0D94FCDE9A461A44F81D72A, - 35893F7E85007546B293737B, - B3AB04FFAF555EF180242F31, - 1C10BA1E8D9B6DB464A4E32B, - 22F59C66676E58BED182A612, + AFDCC7ACFE5015F424E32A3F, + 955116A81AA645D4E2D8492D, + DABA5737413276437DB73F3F, + 5AFC2E24814619E763458B81, + 9E1446EA7AD56D05E29232F3, + 60092E0F93A6034ED4DDA34F, + 86DB9B88B6EC212037A64DFC, + 4BFB4B4FF2D7478FED59CBC0, + 7267F164B933816C39E93B69, + F5829B329B48EB4CFB801276, + B99BB1DBDC2436F47C01C5D0, + F88A359D6A6D0208F50047AA, + EE0AA2AA251D961AFF87931C, + E792046A7FE8F34C8D5CEE46, 2C4310E5B49051FC40238E11, ); name = "Juce Library Code"; sourceTree = ""; }; F31A71A7A7566E4D44B2844C = {isa = PBXGroup; children = ( 5C7BDD8DF72F2FC2D44D757A, ); name = Resources; sourceTree = ""; }; @@ -2118,7 +2091,7 @@ EBD856EB8DEE3C5782DA3C8D, D2EBC6292AE5AFC46EB10DAC, ); name = Frameworks; sourceTree = ""; }; 6D697538ADDCFBB6C79AC6C6 = {isa = PBXGroup; children = ( - 4678AA79EF868E0EF521E2CB, ); name = Products; sourceTree = ""; }; + 080EAB9CF5AB2BD6B2BBB173, ); name = Products; sourceTree = ""; }; 99F3717D3FEAFDCA3C22E868 = {isa = PBXGroup; children = ( 88C22F995571E4A515721154, FE614235C8CE15EFCEB61487, @@ -2126,7 +2099,7 @@ F31A71A7A7566E4D44B2844C, 2055BAFF80DBBC11CF2907C0, 6D697538ADDCFBB6C79AC6C6, ); name = Source; sourceTree = ""; }; - B3E18F6B1DD153100764A195 = {isa = XCBuildConfiguration; buildSettings = { + A81C9C5D3696F83D5E8CFE11 = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; @@ -2143,14 +2116,13 @@ "JUCE_APP_VERSION_HEX=0x10000", ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; INSTALL_PATH = "/usr/bin"; 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 = { + 962CC7E0A536C3F56DBE1F8F = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; @@ -2168,7 +2140,6 @@ GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; INSTALL_PATH = "/usr/bin"; MACOSX_DEPLOYMENT_TARGET = 10.10; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; @@ -2207,31 +2178,32 @@ PRODUCT_NAME = "UnitTestRunner"; WARNING_CFLAGS = -Wreorder; ZERO_LINK = NO; }; name = Release; }; + E65171E718EA0C7E237860FA = {isa = PBXTargetDependency; target = B0D62ED1051EE9DFD49F6321; }; 18FC121B1014F7999CD135D3 = {isa = XCConfigurationList; buildConfigurations = ( 53146F81C8222491DC6DF2A5, A5040BB0AC85722F6D54A948, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 813A1282C3DAB5A735C15FFA = {isa = XCConfigurationList; buildConfigurations = ( - B3E18F6B1DD153100764A195, - CB72F298783F8212D048A91B, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 5B8F9D6B53F3D342ACA0433D = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + FCC937D27051A7D36CD9198E = {isa = XCConfigurationList; buildConfigurations = ( + A81C9C5D3696F83D5E8CFE11, + 962CC7E0A536C3F56DBE1F8F, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + DD4C62A6EA1FD3497B42CDB0 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( 5FE50792EDC7638DE9A824B5, ); runOnlyForDeploymentPostprocessing = 0; }; - 356D7403CBD4DF81F04B3040 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + E8585DDC9F9A0EE2FB82FA52 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( D17BAE3D36BB94FC2C8E2438, - 87F94D88B4F0EDDEE3E7F7A1, - CFFB2E90771126BDDC4A6FA2, - FC6C77249905334CBF069B6D, - DDA98895AE4F23317B2F2FF7, - 3C137CB4F17C8C75A1D34CF4, - 81CEDFE9722FA850E0EAA95A, - 1578CA705EE353AFC54AA281, - 958441625DF0EA48AE901F40, - 8ED5C0DF2AFF8ECD2C63E6C4, - 0A84A059B847A65EF574990D, - F75F6C27812CB808EE4359B6, - C032C19CE3E871C231A14A7F, - AECC7D0F2E20FFDCC0528FF0, - EFBCFE5C7888D2E76D0C98E6, ); runOnlyForDeploymentPostprocessing = 0; }; - 2E25946F67A923CD27747616 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 7A1A51F63C199BD36299744F, + 82F6FC0C005B57E4CAF5B2F3, + 6EC9CCD7CB26465366634ED3, + B7B1FB3453B95A53DD51A367, + 770292E2388E4C652ED09FA5, + A7EC3A36BA0C14AE1FD95849, + 79A1B31916181E782611136B, + 38601DB856841244E7D39570, + 00484635D7BF8961B8A09700, + 432212709D3F606A24B00E49, + 8C8739E4CB7C12B322E9A09A, + 04324F796BCF18C13FBDCE25, + 569AD9EEDC79ADEAFEF8E8DB, + 18AEC5B6A5D4C8119F4CDB6F, ); runOnlyForDeploymentPostprocessing = 0; }; + 136E27FD16209F9868093A6C = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( A70F7F4891DB1CF67653BE74, 96EFF7BA261F57DD829324D8, 59004CE43AE081B4A6CE9E17, @@ -2245,11 +2217,11 @@ 1A038A2954FB9A4F208BE3F2, C8B5F3AD5AC1B64508ACECFE, 4BC57B0D2215621D90C8881C, ); runOnlyForDeploymentPostprocessing = 0; }; - A7BEBC8B1C2A65A1478D3F93 = {isa = PBXNativeTarget; buildConfigurationList = 813A1282C3DAB5A735C15FFA; buildPhases = ( - 5B8F9D6B53F3D342ACA0433D, - 356D7403CBD4DF81F04B3040, - 2E25946F67A923CD27747616, ); buildRules = ( ); dependencies = ( ); name = UnitTestRunner; productName = UnitTestRunner; productReference = 4678AA79EF868E0EF521E2CB; productInstallPath = /usr/bin; productType = "com.apple.product-type.tool"; }; - E1E93F2B4B2D17E011395520 = {isa = PBXProject; buildConfigurationList = 18FC121B1014F7999CD135D3; attributes = { LastUpgradeCheck = 0440; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 99F3717D3FEAFDCA3C22E868; projectDirPath = ""; projectRoot = ""; targets = ( A7BEBC8B1C2A65A1478D3F93 ); }; + B0D62ED1051EE9DFD49F6321 = {isa = PBXNativeTarget; buildConfigurationList = FCC937D27051A7D36CD9198E; buildPhases = ( + DD4C62A6EA1FD3497B42CDB0, + E8585DDC9F9A0EE2FB82FA52, + 136E27FD16209F9868093A6C, ); buildRules = ( ); dependencies = ( ); name = "UnitTestRunner (ConsoleApp)"; productName = UnitTestRunner; productReference = 080EAB9CF5AB2BD6B2BBB173; productInstallPath = /usr/bin; productType = "com.apple.product-type.tool"; }; + E1E93F2B4B2D17E011395520 = {isa = PBXProject; buildConfigurationList = 18FC121B1014F7999CD135D3; attributes = { LastUpgradeCheck = 0440; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 99F3717D3FEAFDCA3C22E868; projectDirPath = ""; projectRoot = ""; targets = (B0D62ED1051EE9DFD49F6321); }; }; rootObject = E1E93F2B4B2D17E011395520; } diff --git a/extras/UnitTestRunner/Builds/VisualStudio2015/UnitTestRunner.vcxproj b/extras/UnitTestRunner/Builds/VisualStudio2015/UnitTestRunner.vcxproj index c05ecb069e..ecfd99707b 100644 --- a/extras/UnitTestRunner/Builds/VisualStudio2015/UnitTestRunner.vcxproj +++ b/extras/UnitTestRunner/Builds/VisualStudio2015/UnitTestRunner.vcxproj @@ -56,7 +56,7 @@ Disabled EditAndContinue ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CONSOLE;_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_UNIT_TESTS=1;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions) + _CRT_SECURE_NO_WARNINGS;_CONSOLE;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_UNIT_TESTS=1;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions) MultiThreadedDebug true @@ -97,7 +97,7 @@ Full ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CONSOLE;_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_UNIT_TESTS=1;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions) + _CRT_SECURE_NO_WARNINGS;_CONSOLE;WIN32;_WINDOWS;NDEBUG;JUCE_UNIT_TESTS=1;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions) MultiThreaded true @@ -217,6 +217,9 @@ true + + true + true @@ -232,15 +235,6 @@ true - - true - - - true - - - true - true @@ -289,25 +283,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -337,9 +316,45 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + true + + true + + + true + + + true + + + true + + + true + true @@ -358,21 +373,6 @@ true - - true - - - true - - - true - - - true - - - true - true @@ -388,45 +388,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -442,33 +403,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -493,40 +427,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -535,31 +439,16 @@ true - + true - + true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -625,6 +514,117 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -643,6 +643,15 @@ true + + true + + + true + + + true + true @@ -652,33 +661,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -697,6 +679,18 @@ true + + true + + + true + + + true + + + true + true @@ -706,6 +700,12 @@ true + + true + + + true + true @@ -727,43 +727,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -784,10 +751,40 @@ true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -814,6 +811,51 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -826,6 +868,153 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -847,19 +1036,70 @@ true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -928,246 +1168,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -1300,20 +1300,20 @@ true - - - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -1352,6 +1352,8 @@ + + @@ -1359,20 +1361,10 @@ + - - - - - - - - - - - @@ -1382,8 +1374,25 @@ + + + + + + + + + + + + + + + + + @@ -1394,15 +1403,6 @@ - - - - - - - - - @@ -1413,21 +1413,35 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1448,22 +1462,49 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1483,53 +1524,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - @@ -1538,14 +1538,22 @@ + + + + - - - - + + + + + + + + @@ -1555,19 +1563,11 @@ - - - - - - - - - - + + @@ -1578,10 +1578,15 @@ - - - - + + + + + + + + + @@ -1592,26 +1597,91 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1625,14 +1695,21 @@ - - - - - - - - + + + + + + + + + + + + + + + @@ -1657,83 +1734,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1759,6 +1759,17 @@ + + + + + + + + + + + @@ -1768,18 +1779,7 @@ - - - - - - - - - - - @@ -1790,29 +1790,13 @@ + - - - - - - - - - - - - - - - - - diff --git a/extras/UnitTestRunner/Builds/VisualStudio2015/UnitTestRunner.vcxproj.filters b/extras/UnitTestRunner/Builds/VisualStudio2015/UnitTestRunner.vcxproj.filters index 20492bbf6d..8b1f2d27f3 100644 --- a/extras/UnitTestRunner/Builds/VisualStudio2015/UnitTestRunner.vcxproj.filters +++ b/extras/UnitTestRunner/Builds/VisualStudio2015/UnitTestRunner.vcxproj.filters @@ -35,45 +35,45 @@ {CACD7B50-4DB3-76AF-A6E8-90DF94F8F594} + + {45C2CE26-EC4B-BA52-58F3-297C408E1483} + {9D270B31-2425-8FDB-84A4-6A2288FF5B2F} {0F766DD4-A277-CB86-5647-42498C8B41E1} - - {D64942B4-6984-3623-3347-45D472AE1C61} - - - {45C2CE26-EC4B-BA52-58F3-297C408E1483} - {01603E05-423B-5FC3-1BEE-E15ED33B5688} + + {D64942B4-6984-3623-3347-45D472AE1C61} + {65CB28F8-0422-A8F3-9A17-959E12A1F8E2} - - {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} - {0CD9E281-DDD0-91EC-6F77-EA9D9D5E0E1A} + + {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} + {40C5CA7C-AEBB-05B1-11CE-AE41D87B5CCB} {0B0E7392-324B-088C-FBEB-5FE999D61782} - - {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} - {20254EFE-6CBD-31A7-2119-92B1E0E0E311} {70796D73-6D30-8A1B-4732-7C021E47C05A} + + {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} + {EB8DD942-E2CB-869F-D381-E02A65BA790B} @@ -83,8 +83,17 @@ {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} - - {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + + {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + + {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + + {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} {476C69CE-0B67-6B85-E888-45D91E37A29E} @@ -92,17 +101,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} - - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -110,29 +113,26 @@ {91929C6F-7902-B87D-5260-2F6CBF8ACD93} - - {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} - {4634FFAE-9586-A970-364C-4FDDA635F99F} - - {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} - - {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - {F03654BC-34D8-F975-BEA3-750CC2783D23} + + {C9F6D785-BF78-5AA1-B479-111C65397864} {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} - - {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} - - {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + {F03654BC-34D8-F975-BEA3-750CC2783D23} {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} @@ -146,33 +146,33 @@ {928D8FCC-5E00-174B-6538-93E8D75AB396} - - {1988E68A-A964-64CA-0E0C-26FF9BC5176C} + + {358AEA11-3F96-36AE-7B32-71373B5C5396} {3DF036EA-3B80-553B-2494-3AAC835CAE75} - - {358AEA11-3F96-36AE-7B32-71373B5C5396} + + {1988E68A-A964-64CA-0E0C-26FF9BC5176C} {F2A38F45-6E55-E147-2E52-64A89FDD9D59} - - {6172822C-01A5-E824-12DA-FA43FA934D35} - - - {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} - {B098BC87-3298-7E6B-12DC-D26C09CDCAED} {6322B88F-984A-C3CD-6263-38D7AA49B6EC} + + {6172822C-01A5-E824-12DA-FA43FA934D35} + {73C1E759-AD90-59A3-942E-2D10FAA29107} + + {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} + {EE1AE8C3-0908-8F53-A4E5-D930C7C97C26} @@ -182,81 +182,81 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} - - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - - {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {E37D25CD-4350-4614-055B-7ABC55E67895} {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {C1A1A236-AB01-173E-96C3-0706BFF93B1E} + + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + + {413F481F-075C-2958-115C-D8268682FCB7} {FFC6E1CC-C772-75E6-5087-FB5D4E016799} + + {1182303F-ECA3-166D-AC0C-92C5E762CB93} + {8E43579F-C185-266D-DD67-F8B95BD80F2F} + + {61712B09-5783-ADFA-2001-5A0C3D7764EB} + + + {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + + {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} + {2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D} - - {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + {5A0AA36E-3957-E413-14C6-31CBE15271DF} + + + {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} {A92719C7-70BE-57C4-CE9E-A9BC9DFEB757} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} + + + {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} + + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} + + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + + {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} + + + {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} + {75F1F352-251A-75E0-D941-8431588F5C1E} {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} - - {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} - - - {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} - - - {5A0AA36E-3957-E413-14C6-31CBE15271DF} - - - {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} - - - {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} - - - {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} - - - {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} - - - {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - - {61712B09-5783-ADFA-2001-5A0C3D7764EB} - - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} - {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -278,18 +278,18 @@ {639E16C5-DA8B-ADBA-6E24-7B596378EAB2} - - {2D8D0E19-E676-83EB-38D9-F73500DD6B79} - {B3141847-8F13-F67D-45B2-E3ECF6E09088} - - {9E586194-C056-101C-5311-F2AF5191AC80} - {151B49D8-6102-F802-1C07-D59931BC0574} + + {2D8D0E19-E676-83EB-38D9-F73500DD6B79} + + + {9E586194-C056-101C-5311-F2AF5191AC80} + {1A62F82C-C14A-E14A-94DE-8A27E0F8A090} @@ -299,15 +299,15 @@ {72A923E2-C729-DB92-D7BF-A9D4AFAE5896} - - {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} - {7F11E7D2-54C0-2A36-5F15-BEC0A5374A08} {EE985DEA-CD83-8132-7219-542BB1DAD560} + + {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} + {8B4D1BAA-6DB4-CAEC-A0FA-271F354D5C61} @@ -403,6 +403,9 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -418,15 +421,6 @@ Juce Modules\juce_audio_devices\midi_io - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\audio_cd - Juce Modules\juce_audio_devices\native @@ -481,26 +475,11 @@ Juce Modules\juce_audio_devices\native - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_formats\codecs @@ -529,27 +508,30 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - Juce Modules\juce_audio_processors\format @@ -568,6 +550,24 @@ Juce Modules\juce_audio_processors\format_types + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + Juce Modules\juce_audio_processors\scanning @@ -583,45 +583,6 @@ Juce Modules\juce_audio_processors\utilities - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\memory - Juce Modules\juce_core\containers @@ -637,33 +598,6 @@ Juce Modules\juce_core\containers - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - Juce Modules\juce_core\files @@ -688,41 +622,11 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -730,32 +634,17 @@ Juce Modules\juce_core\logging - - Juce Modules\juce_core\system + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc @@ -835,6 +724,117 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + Juce Modules\juce_cryptography\encryption @@ -853,6 +853,15 @@ Juce Modules\juce_cryptography\hashing + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -862,33 +871,6 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - Juce Modules\juce_events\broadcasters @@ -907,6 +889,18 @@ Juce Modules\juce_events\interprocess + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + Juce Modules\juce_events\native @@ -922,6 +916,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_graphics\colour @@ -943,44 +943,11 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\effects Juce Modules\juce_graphics\fonts @@ -1000,11 +967,41 @@ Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -1036,6 +1033,51 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -1048,6 +1090,153 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -1069,20 +1258,92 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -1150,267 +1411,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_extra\code_editor @@ -1561,46 +1561,46 @@ Juce Modules\juce_video\native - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code @@ -1713,6 +1713,12 @@ Juce Modules\juce_audio_basics + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -1734,48 +1740,18 @@ Juce Modules\juce_audio_devices\midi_io + + Juce Modules\juce_audio_devices\native + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\native - Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - Juce Modules\juce_audio_formats\codecs @@ -1803,12 +1779,63 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + Juce Modules\juce_audio_processors\processors @@ -1839,33 +1866,6 @@ Juce Modules\juce_audio_processors\processors - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - Juce Modules\juce_audio_processors\scanning @@ -1896,50 +1896,92 @@ Juce Modules\juce_audio_processors - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -2001,53 +2043,134 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text Juce Modules\juce_core\threads @@ -2106,92 +2229,8 @@ Juce Modules\juce_core\time - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -2199,12 +2238,6 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - Juce Modules\juce_core\zip @@ -2214,39 +2247,6 @@ Juce Modules\juce_core\zip - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - Juce Modules\juce_core @@ -2271,6 +2271,18 @@ Juce Modules\juce_cryptography + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -2280,21 +2292,33 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - Juce Modules\juce_data_structures + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + Juce Modules\juce_events\messages @@ -2322,36 +2346,6 @@ Juce Modules\juce_events\messages - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - Juce Modules\juce_events\native @@ -2361,6 +2355,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_events @@ -2391,17 +2391,32 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -2433,38 +2448,17 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -2475,9 +2469,60 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + Juce Modules\juce_graphics + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -2493,6 +2538,171 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -2532,29 +2742,50 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -2628,237 +2859,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_basics @@ -2934,6 +2934,39 @@ Juce Modules\juce_gui_extra + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + Juce Modules\juce_opengl\opengl @@ -2961,42 +2994,9 @@ Juce Modules\juce_opengl\opengl - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - Juce Modules\juce_opengl\utils - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - Juce Modules\juce_opengl @@ -3027,15 +3027,15 @@ Juce Modules\juce_osc + + Juce Modules\juce_video\capture + Juce Modules\juce_video\playback Juce Modules\juce_video\playback - - Juce Modules\juce_video\capture - Juce Modules\juce_video @@ -3046,50 +3046,6 @@ Juce Library Code - - - Juce Modules\juce_audio_basics - - - Juce Modules\juce_audio_devices - - - Juce Modules\juce_audio_formats - - - Juce Modules\juce_audio_processors - - - Juce Modules\juce_core - - - Juce Modules\juce_cryptography - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_gui_extra - - - Juce Modules\juce_opengl - - - Juce Modules\juce_osc - - - Juce Modules\juce_video - - Juce Library Code diff --git a/extras/UnitTestRunner/JuceLibraryCode/AppConfig.h b/extras/UnitTestRunner/JuceLibraryCode/AppConfig.h index bcfb01c56f..09b5b81631 100644 --- a/extras/UnitTestRunner/JuceLibraryCode/AppConfig.h +++ b/extras/UnitTestRunner/JuceLibraryCode/AppConfig.h @@ -4,8 +4,8 @@ project - if you alter its contents, your changes may be overwritten! There's a section below where you can add your own custom code safely, and the - Introjucer will preserve the contents of that block, but the best way to change - any of these definitions is by using the Introjucer's project settings. + Projucer will preserve the contents of that block, but the best way to change + any of these definitions is by using the Projucer's project settings. Any commented-out settings will assume their default values. @@ -17,7 +17,7 @@ //============================================================================== // [BEGIN_USER_CODE_SECTION] -// (You can add your own code in this section, and the Introjucer will not overwrite it) +// (You can add your own code in this section, and the Projucer will not overwrite it) // [END_USER_CODE_SECTION] @@ -39,9 +39,15 @@ //============================================================================== #ifndef JUCE_STANDALONE_APPLICATION - #define JUCE_STANDALONE_APPLICATION 1 + #ifdef JucePlugin_Build_Standalone + #define JUCE_STANDALONE_APPLICATION JucePlugin_Build_Standalone + #else + #define JUCE_STANDALONE_APPLICATION 1 + #endif #endif +#define JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED 1 + //============================================================================== // juce_audio_devices flags: diff --git a/extras/UnitTestRunner/JuceLibraryCode/JuceHeader.h b/extras/UnitTestRunner/JuceLibraryCode/JuceHeader.h index e2af219c50..3b0d0bc764 100644 --- a/extras/UnitTestRunner/JuceLibraryCode/JuceHeader.h +++ b/extras/UnitTestRunner/JuceLibraryCode/JuceHeader.h @@ -14,20 +14,22 @@ #define __APPHEADERFILE_Z2XZCP__ #include "AppConfig.h" -#include "modules/juce_audio_basics/juce_audio_basics.h" -#include "modules/juce_audio_devices/juce_audio_devices.h" -#include "modules/juce_audio_formats/juce_audio_formats.h" -#include "modules/juce_audio_processors/juce_audio_processors.h" -#include "modules/juce_core/juce_core.h" -#include "modules/juce_cryptography/juce_cryptography.h" -#include "modules/juce_data_structures/juce_data_structures.h" -#include "modules/juce_events/juce_events.h" -#include "modules/juce_graphics/juce_graphics.h" -#include "modules/juce_gui_basics/juce_gui_basics.h" -#include "modules/juce_gui_extra/juce_gui_extra.h" -#include "modules/juce_opengl/juce_opengl.h" -#include "modules/juce_osc/juce_osc.h" -#include "modules/juce_video/juce_video.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + #if ! DONT_SET_USING_JUCE_NAMESPACE // If your code uses a lot of JUCE classes, then this will obviously save you diff --git a/extras/UnitTestRunner/JuceLibraryCode/ReadMe.txt b/extras/UnitTestRunner/JuceLibraryCode/ReadMe.txt index f6c3564e99..091a5aa6eb 100644 --- a/extras/UnitTestRunner/JuceLibraryCode/ReadMe.txt +++ b/extras/UnitTestRunner/JuceLibraryCode/ReadMe.txt @@ -2,11 +2,11 @@ Important Note!! ================ -The purpose of this folder is to contain files that are auto-generated by the Introjucer, +The purpose of this folder is to contain files that are auto-generated by the Projucer, and ALL files in this folder will be mercilessly DELETED and completely re-written whenever -the Introjucer saves your project. +the Projucer saves your project. Therefore, it's a bad idea to make any manual changes to the files in here, or to put any of your own files in here if you don't want to lose them. (Of course you may choose to add the folder's contents to your version-control system so that you can re-merge your own -modifications after the Introjucer has saved its changes). +modifications after the Projucer has saved its changes). diff --git a/extras/UnitTestRunner/JuceLibraryCode/juce_audio_basics.cpp b/extras/UnitTestRunner/JuceLibraryCode/juce_audio_basics.cpp new file mode 100644 index 0000000000..418694873c --- /dev/null +++ b/extras/UnitTestRunner/JuceLibraryCode/juce_audio_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/UnitTestRunner/JuceLibraryCode/juce_audio_basics.mm b/extras/UnitTestRunner/JuceLibraryCode/juce_audio_basics.mm new file mode 100644 index 0000000000..e0e6c577cc --- /dev/null +++ b/extras/UnitTestRunner/JuceLibraryCode/juce_audio_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/UnitTestRunner/JuceLibraryCode/juce_audio_devices.cpp b/extras/UnitTestRunner/JuceLibraryCode/juce_audio_devices.cpp new file mode 100644 index 0000000000..fb5c2219d7 --- /dev/null +++ b/extras/UnitTestRunner/JuceLibraryCode/juce_audio_devices.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/UnitTestRunner/JuceLibraryCode/juce_audio_devices.mm b/extras/UnitTestRunner/JuceLibraryCode/juce_audio_devices.mm new file mode 100644 index 0000000000..e58b67ea49 --- /dev/null +++ b/extras/UnitTestRunner/JuceLibraryCode/juce_audio_devices.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/UnitTestRunner/JuceLibraryCode/juce_audio_formats.cpp b/extras/UnitTestRunner/JuceLibraryCode/juce_audio_formats.cpp new file mode 100644 index 0000000000..a3c61170eb --- /dev/null +++ b/extras/UnitTestRunner/JuceLibraryCode/juce_audio_formats.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/UnitTestRunner/JuceLibraryCode/juce_audio_formats.mm b/extras/UnitTestRunner/JuceLibraryCode/juce_audio_formats.mm new file mode 100644 index 0000000000..f325b8fb67 --- /dev/null +++ b/extras/UnitTestRunner/JuceLibraryCode/juce_audio_formats.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/UnitTestRunner/JuceLibraryCode/juce_audio_processors.cpp b/extras/UnitTestRunner/JuceLibraryCode/juce_audio_processors.cpp new file mode 100644 index 0000000000..bfe172edd0 --- /dev/null +++ b/extras/UnitTestRunner/JuceLibraryCode/juce_audio_processors.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/UnitTestRunner/JuceLibraryCode/juce_audio_processors.mm b/extras/UnitTestRunner/JuceLibraryCode/juce_audio_processors.mm new file mode 100644 index 0000000000..b80ae9017f --- /dev/null +++ b/extras/UnitTestRunner/JuceLibraryCode/juce_audio_processors.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/UnitTestRunner/JuceLibraryCode/juce_core.cpp b/extras/UnitTestRunner/JuceLibraryCode/juce_core.cpp new file mode 100644 index 0000000000..d0ce1636f0 --- /dev/null +++ b/extras/UnitTestRunner/JuceLibraryCode/juce_core.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/UnitTestRunner/JuceLibraryCode/juce_core.mm b/extras/UnitTestRunner/JuceLibraryCode/juce_core.mm new file mode 100644 index 0000000000..72b10bf817 --- /dev/null +++ b/extras/UnitTestRunner/JuceLibraryCode/juce_core.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/UnitTestRunner/JuceLibraryCode/juce_cryptography.cpp b/extras/UnitTestRunner/JuceLibraryCode/juce_cryptography.cpp new file mode 100644 index 0000000000..10b3401dbe --- /dev/null +++ b/extras/UnitTestRunner/JuceLibraryCode/juce_cryptography.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/UnitTestRunner/JuceLibraryCode/juce_cryptography.mm b/extras/UnitTestRunner/JuceLibraryCode/juce_cryptography.mm new file mode 100644 index 0000000000..9311ea0ffe --- /dev/null +++ b/extras/UnitTestRunner/JuceLibraryCode/juce_cryptography.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/UnitTestRunner/JuceLibraryCode/juce_data_structures.cpp b/extras/UnitTestRunner/JuceLibraryCode/juce_data_structures.cpp new file mode 100644 index 0000000000..9315aa1686 --- /dev/null +++ b/extras/UnitTestRunner/JuceLibraryCode/juce_data_structures.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/UnitTestRunner/JuceLibraryCode/juce_data_structures.mm b/extras/UnitTestRunner/JuceLibraryCode/juce_data_structures.mm new file mode 100644 index 0000000000..695ec43925 --- /dev/null +++ b/extras/UnitTestRunner/JuceLibraryCode/juce_data_structures.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/UnitTestRunner/JuceLibraryCode/juce_events.cpp b/extras/UnitTestRunner/JuceLibraryCode/juce_events.cpp new file mode 100644 index 0000000000..1bba110a97 --- /dev/null +++ b/extras/UnitTestRunner/JuceLibraryCode/juce_events.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/UnitTestRunner/JuceLibraryCode/juce_events.mm b/extras/UnitTestRunner/JuceLibraryCode/juce_events.mm new file mode 100644 index 0000000000..4cc34fc401 --- /dev/null +++ b/extras/UnitTestRunner/JuceLibraryCode/juce_events.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/UnitTestRunner/JuceLibraryCode/juce_graphics.cpp b/extras/UnitTestRunner/JuceLibraryCode/juce_graphics.cpp new file mode 100644 index 0000000000..319c76de0e --- /dev/null +++ b/extras/UnitTestRunner/JuceLibraryCode/juce_graphics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/UnitTestRunner/JuceLibraryCode/juce_graphics.mm b/extras/UnitTestRunner/JuceLibraryCode/juce_graphics.mm new file mode 100644 index 0000000000..b28e6dd056 --- /dev/null +++ b/extras/UnitTestRunner/JuceLibraryCode/juce_graphics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/UnitTestRunner/JuceLibraryCode/juce_gui_basics.cpp b/extras/UnitTestRunner/JuceLibraryCode/juce_gui_basics.cpp new file mode 100644 index 0000000000..216c76bb05 --- /dev/null +++ b/extras/UnitTestRunner/JuceLibraryCode/juce_gui_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/UnitTestRunner/JuceLibraryCode/juce_gui_basics.mm b/extras/UnitTestRunner/JuceLibraryCode/juce_gui_basics.mm new file mode 100644 index 0000000000..6a9726fa5f --- /dev/null +++ b/extras/UnitTestRunner/JuceLibraryCode/juce_gui_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/UnitTestRunner/JuceLibraryCode/juce_gui_extra.cpp b/extras/UnitTestRunner/JuceLibraryCode/juce_gui_extra.cpp new file mode 100644 index 0000000000..7226e19833 --- /dev/null +++ b/extras/UnitTestRunner/JuceLibraryCode/juce_gui_extra.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/UnitTestRunner/JuceLibraryCode/juce_gui_extra.mm b/extras/UnitTestRunner/JuceLibraryCode/juce_gui_extra.mm new file mode 100644 index 0000000000..c9b6c3bfc6 --- /dev/null +++ b/extras/UnitTestRunner/JuceLibraryCode/juce_gui_extra.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/UnitTestRunner/JuceLibraryCode/juce_opengl.cpp b/extras/UnitTestRunner/JuceLibraryCode/juce_opengl.cpp new file mode 100644 index 0000000000..d9895bce92 --- /dev/null +++ b/extras/UnitTestRunner/JuceLibraryCode/juce_opengl.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/UnitTestRunner/JuceLibraryCode/juce_opengl.mm b/extras/UnitTestRunner/JuceLibraryCode/juce_opengl.mm new file mode 100644 index 0000000000..6c2c32d095 --- /dev/null +++ b/extras/UnitTestRunner/JuceLibraryCode/juce_opengl.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/UnitTestRunner/JuceLibraryCode/juce_osc.cpp b/extras/UnitTestRunner/JuceLibraryCode/juce_osc.cpp new file mode 100644 index 0000000000..0c3b9ae974 --- /dev/null +++ b/extras/UnitTestRunner/JuceLibraryCode/juce_osc.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/UnitTestRunner/JuceLibraryCode/juce_video.cpp b/extras/UnitTestRunner/JuceLibraryCode/juce_video.cpp new file mode 100644 index 0000000000..bdf22ee131 --- /dev/null +++ b/extras/UnitTestRunner/JuceLibraryCode/juce_video.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/UnitTestRunner/JuceLibraryCode/juce_video.mm b/extras/UnitTestRunner/JuceLibraryCode/juce_video.mm new file mode 100644 index 0000000000..3da705bccd --- /dev/null +++ b/extras/UnitTestRunner/JuceLibraryCode/juce_video.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/UnitTestRunner/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h b/extras/UnitTestRunner/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h deleted file mode 100644 index 9befea8142..0000000000 --- a/extras/UnitTestRunner/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_basics/juce_audio_basics.h" diff --git a/extras/UnitTestRunner/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h b/extras/UnitTestRunner/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h deleted file mode 100644 index eba6d3a9e5..0000000000 --- a/extras/UnitTestRunner/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_devices/juce_audio_devices.h" diff --git a/extras/UnitTestRunner/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h b/extras/UnitTestRunner/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h deleted file mode 100644 index 4629b0ef2c..0000000000 --- a/extras/UnitTestRunner/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_formats/juce_audio_formats.h" diff --git a/extras/UnitTestRunner/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h b/extras/UnitTestRunner/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h deleted file mode 100644 index 7d4583dbf8..0000000000 --- a/extras/UnitTestRunner/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_processors/juce_audio_processors.h" diff --git a/extras/UnitTestRunner/JuceLibraryCode/modules/juce_core/juce_core.h b/extras/UnitTestRunner/JuceLibraryCode/modules/juce_core/juce_core.h deleted file mode 100644 index 06e88f9352..0000000000 --- a/extras/UnitTestRunner/JuceLibraryCode/modules/juce_core/juce_core.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_core/juce_core.h" diff --git a/extras/UnitTestRunner/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h b/extras/UnitTestRunner/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h deleted file mode 100644 index e4574f4749..0000000000 --- a/extras/UnitTestRunner/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_cryptography/juce_cryptography.h" diff --git a/extras/UnitTestRunner/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h b/extras/UnitTestRunner/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h deleted file mode 100644 index 9d814fd953..0000000000 --- a/extras/UnitTestRunner/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_data_structures/juce_data_structures.h" diff --git a/extras/UnitTestRunner/JuceLibraryCode/modules/juce_events/juce_events.h b/extras/UnitTestRunner/JuceLibraryCode/modules/juce_events/juce_events.h deleted file mode 100644 index 509b1df8d2..0000000000 --- a/extras/UnitTestRunner/JuceLibraryCode/modules/juce_events/juce_events.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_events/juce_events.h" diff --git a/extras/UnitTestRunner/JuceLibraryCode/modules/juce_graphics/juce_graphics.h b/extras/UnitTestRunner/JuceLibraryCode/modules/juce_graphics/juce_graphics.h deleted file mode 100644 index 28edbf35e3..0000000000 --- a/extras/UnitTestRunner/JuceLibraryCode/modules/juce_graphics/juce_graphics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_graphics/juce_graphics.h" diff --git a/extras/UnitTestRunner/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h b/extras/UnitTestRunner/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h deleted file mode 100644 index 81ad4b7297..0000000000 --- a/extras/UnitTestRunner/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_gui_basics/juce_gui_basics.h" diff --git a/extras/UnitTestRunner/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h b/extras/UnitTestRunner/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h deleted file mode 100644 index 5c9b7a96b5..0000000000 --- a/extras/UnitTestRunner/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_gui_extra/juce_gui_extra.h" diff --git a/extras/UnitTestRunner/JuceLibraryCode/modules/juce_opengl/juce_opengl.h b/extras/UnitTestRunner/JuceLibraryCode/modules/juce_opengl/juce_opengl.h deleted file mode 100644 index 718392ff72..0000000000 --- a/extras/UnitTestRunner/JuceLibraryCode/modules/juce_opengl/juce_opengl.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_opengl/juce_opengl.h" diff --git a/extras/UnitTestRunner/JuceLibraryCode/modules/juce_osc/juce_osc.h b/extras/UnitTestRunner/JuceLibraryCode/modules/juce_osc/juce_osc.h deleted file mode 100644 index 40bdd4441b..0000000000 --- a/extras/UnitTestRunner/JuceLibraryCode/modules/juce_osc/juce_osc.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_osc/juce_osc.h" diff --git a/extras/UnitTestRunner/JuceLibraryCode/modules/juce_video/juce_video.h b/extras/UnitTestRunner/JuceLibraryCode/modules/juce_video/juce_video.h deleted file mode 100644 index 0dd1636ec2..0000000000 --- a/extras/UnitTestRunner/JuceLibraryCode/modules/juce_video/juce_video.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_video/juce_video.h" diff --git a/extras/UnitTestRunner/UnitTestRunner.jucer b/extras/UnitTestRunner/UnitTestRunner.jucer index 8b8cd29ec2..866b3a79fc 100644 --- a/extras/UnitTestRunner/UnitTestRunner.jucer +++ b/extras/UnitTestRunner/UnitTestRunner.jucer @@ -2,7 +2,7 @@ + jucerVersion="4.2.0" defines="JUCE_UNIT_TESTS=1"> diff --git a/extras/binarybuilder/BinaryBuilder.jucer b/extras/binarybuilder/BinaryBuilder.jucer index 06ff0e4339..8a64956393 100644 --- a/extras/binarybuilder/BinaryBuilder.jucer +++ b/extras/binarybuilder/BinaryBuilder.jucer @@ -1,14 +1,8 @@ + juceFolder="../../../juce" jucerVersion="4.2.0" bundleIdentifier="com.rawmaterialsoftware.binarybuilder" + includeBinaryInAppConfig="1" version="1.0.0"> diff --git a/extras/binarybuilder/Builds/Linux/Makefile b/extras/binarybuilder/Builds/Linux/Makefile index 90b901f6de..0b5a81f16d 100644 --- a/extras/binarybuilder/Builds/Linux/Makefile +++ b/extras/binarybuilder/Builds/Linux/Makefile @@ -1,5 +1,5 @@ -# Automatically generated makefile, created by the Introjucer -# Don't edit this file! Your changes will be overwritten when you re-save the Introjucer project! +# Automatically generated makefile, created by the Projucer +# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project! # (this disables dependency generation if multiple architectures are set) DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) @@ -50,7 +50,7 @@ endif OBJECTS := \ $(OBJDIR)/Main_90ebc5c2.o \ - $(OBJDIR)/juce_core_1ee54a40.o \ + $(OBJDIR)/juce_core_75b14332.o \ .PHONY: clean @@ -74,7 +74,7 @@ $(OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp @echo "Compiling Main.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_core_1ee54a40.o: ../../../../modules/juce_core/juce_core.cpp +$(OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp -@mkdir -p $(OBJDIR) @echo "Compiling juce_core.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" diff --git a/extras/binarybuilder/Builds/MacOSX/BinaryBuilder.xcodeproj/project.pbxproj b/extras/binarybuilder/Builds/MacOSX/BinaryBuilder.xcodeproj/project.pbxproj index d93a0dc470..bd61c7023a 100644 --- a/extras/binarybuilder/Builds/MacOSX/BinaryBuilder.xcodeproj/project.pbxproj +++ b/extras/binarybuilder/Builds/MacOSX/BinaryBuilder.xcodeproj/project.pbxproj @@ -6,11 +6,12 @@ objectVersion = 46; objects = { + 281394C38788919D523BE021 = {isa = PBXBuildFile; fileRef = 799073185F72F5FAD05253C3; }; 4B72EFB0E9D74CA7227F6CAB = {isa = PBXBuildFile; fileRef = 57DDB771ED96A256F190ADF8; }; 0D53D8B0AEE37C02C147344B = {isa = PBXBuildFile; fileRef = F769CD634476C91F4C9D0596; }; 542006E949BB022F198DF0F2 = {isa = PBXBuildFile; fileRef = 1A71A586C0F50B6B328D877B; }; 3C6FF7689E2FD827A48E2303 = {isa = PBXBuildFile; fileRef = 50B7C64414A3E778021F5EC4; }; - C2DE1EFF2E1C56D19E98B19C = {isa = PBXBuildFile; fileRef = 99D2B02E18E9A768F9F5CDFB; }; + 89CFB1C44BB453DF9E5F1599 = {isa = PBXBuildFile; fileRef = 719D978078EB4BB1B60E52E3; }; 03B9EFAF851F4AA9FFAB3C94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MACAddress.h"; path = "../../../../modules/juce_core/network/juce_MACAddress.h"; sourceTree = "SOURCE_ROOT"; }; 0473DA0261621F0A71DB8E52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; }; 09509162A9E07822A7BD6CC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Base64.cpp"; path = "../../../../modules/juce_core/text/juce_Base64.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -84,12 +85,14 @@ 6E826BD3D8FA95258DDEA3C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputStream.h"; path = "../../../../modules/juce_core/streams/juce_InputStream.h"; sourceTree = "SOURCE_ROOT"; }; 6EB58D59D3BE0EA42C50F1EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; }; 6F73B31482724407DAC2CCC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; }; + 719D978078EB4BB1B60E52E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; 71ACB1F2FB606C384DACE55B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; }; 73B2B2FACEA8A06D94503B95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; }; 74041181A1FFD2D197595E5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; }; 767A373B42195AF805FD06CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; }; 7848F270C34FBA4CE097720E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; }; 7926561B941987F152AD6A1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + 799073185F72F5FAD05253C3 = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = BinaryBuilder; sourceTree = "BUILT_PRODUCTS_DIR"; }; 7A3C09708298D46165683E16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; }; 7A60B4E6FFE3B442F7F1CDAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; }; 7AE1D8A76F034A1301E67787 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; }; @@ -118,7 +121,6 @@ 9666FDE5D872069865B28BC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; }; 979580822F8E084EF20A9A93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; 990638D213329067AD10546B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; }; - 99D2B02E18E9A768F9F5CDFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; 9B9DFD12B7D0BDD1898FFCE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; 9BDF1653598CCC66FFF33532 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; 9CD78CB240A946C974B380F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; }; @@ -129,7 +131,6 @@ A7DE490D33B954B41BFE9EAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; }; A8D0D9687EE16E5B0ACB144A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; A90A8090D3D01B7595120896 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; }; - AA4B0FFD81ED0516F633696F = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_core/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; AB35C2F4EB73671A5DC3F476 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; }; AB66F7874354AB029B53FA15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsRegistry.h"; path = "../../../../modules/juce_core/misc/juce_WindowsRegistry.h"; sourceTree = "SOURCE_ROOT"; }; AB6D226C14C0127BC3C40810 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -213,10 +214,9 @@ EFAFEF9964F04D9D18BF7C32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; }; F2C836619EA63DC291987074 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; F593FCB4212A0D6D78BC21D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; }; - F769CD634476C91F4C9D0596 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; - E2EADDD364B6C6F37D8BBD7A = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = BinaryBuilder; sourceTree = "BUILT_PRODUCTS_DIR"; }; F5C6C21A526B0FD8062B0266 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; }; F65565FA48F58AB9FD423EAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; }; + F769CD634476C91F4C9D0596 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; F83BBE2D7A4309D026790809 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; }; FBC458E2609F85472ADE9473 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; }; FC26395E11CDB928E59725EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; @@ -226,58 +226,7 @@ 50B7C64414A3E778021F5EC4, ); name = Source; sourceTree = ""; }; 9DC13797237D190C48A242C9 = {isa = PBXGroup; children = ( AF0451FEC95312712E8145CD, ); name = BinaryBuilder; sourceTree = ""; }; - 588BEEE60BF4EE4A10674CCE = {isa = PBXGroup; children = ( - 09509162A9E07822A7BD6CC4, - 6101C27621EBC7E5A2072296, - 7A3C09708298D46165683E16, - ED8687869920F7A3CF92EBDA, - CCF76771C8533A2847830682, - 7A60B4E6FFE3B442F7F1CDAF, - 6EB58D59D3BE0EA42C50F1EC, - B4AFAF01DDDB32095D465FCC, - EF4E9D88AC6799B368A1BC80, - 4312F3E3AE88B09EDF4AD956, - E244EF0B95B6F3B7AD0AFB20, - EE75C350983561C54AE46253, - A6574272A47BE6AB811D5731, - 8A42CDB7F3114A5EBF2EFE94, - ED0D409B4DB3417C401CA0C4, - CCC837C5E7AC9370B3F00BF8, - D7AA82300629A1BED296F803, - DED174AFB3281A3132B92215, - 990638D213329067AD10546B, - 8708F2DFDF82F27A61EFC9D5, - 12D525C1F3C776A69AB0938A, - 949507E2CFF41C7AAFA2BB1C, - 44E6B4B64DA8BF09F45A4703, - 213DF50804C369804C6B6E92, ); name = text; sourceTree = ""; }; - 8470C95EB732572CA3419423 = {isa = PBXGroup; children = ( - 8B89932ACFC6EAAD6A23D2A8, - DA522ECFB0E7161D2A5C12F1, - 8CA5DE757A9A2C0E9A0AD4E3, - 4042914A2C20C08F89D097B1, - 7926561B941987F152AD6A1A, - 7BB10044C06DFCCCB324A456, - A7DE490D33B954B41BFE9EAB, - 7AE1D8A76F034A1301E67787, - 22F1E16DF7F08080FA90C783, - 37892D6496C086CB058CBDBE, ); name = maths; sourceTree = ""; }; - 0A23F8FA8C7451D75FABC96F = {isa = PBXGroup; children = ( - ECA68CE64EC790E2EED4D86E, - BD88E5FB088ED71A23952819, - D7794263F32CD165C4DE04C4, - 767A373B42195AF805FD06CC, - 099D0BF9AFB99C9F11AF6DAF, - C0AD6DEE5019B575256CC676, - BE8F16777B7F409A823D95D8, - DF107815A78A9D04C2FCB118, - A16A62698D337DCA6945476F, - CA60B0396D8F46E1952F8E36, - E8B73F6E0763B9DF3750FAB3, - 3456971F540274F9AB31C7BF, - 9BDF1653598CCC66FFF33532, - B476D2D5837C9D5EB94C3B84, ); name = memory; sourceTree = ""; }; - ED0FCD22D34539916A9A62F9 = {isa = PBXGroup; children = ( + B8BEA570E2A8BAB22A348156 = {isa = PBXGroup; children = ( AB6D226C14C0127BC3C40810, 3F0CD8A51DD488328055D899, 5595F8163F88BF82B06D60EA, @@ -299,37 +248,7 @@ A7A7B5C6C46C5E275D995FEA, 15479B80D763DB99DC87A458, 39CD0F6C4B430CB7857FCCB6, ); name = containers; sourceTree = ""; }; - 2172C94F9034F4A1FEEC46E6 = {isa = PBXGroup; children = ( - DD8ED71D28F285157282A091, - 640CDE85F8E03D80FB5610DC, - B87992272A4EA96816AA6967, - 2B5E7ADA15DADDE91A3816ED, - CD03D5E3D6936C0114A2C8EF, - FBC458E2609F85472ADE9473, - 9B9DFD12B7D0BDD1898FFCE3, - 28AE179C9441F806AA3D71FA, - F83BBE2D7A4309D026790809, - E78ABDF9EE10A85BCFFE6547, - 64ED92C7E1127452F174A2F9, - A4335A2D6505B2F9DABD3DC5, - 3E2D62A4BB00D6C2BBCDE771, - D382823C1F24883BFA9E466E, - A90A8090D3D01B7595120896, - 24E7F8677EB0BDA5D62976F7, - 64C54E1E625AEA86E3231070, - 71ACB1F2FB606C384DACE55B, - 3CC375E8CCC0987FAE0B40BE, - 4B091BB2828A638ED469FF85, - F65565FA48F58AB9FD423EAF, - 1A434AFFED05E38D305475C1, ); name = threads; sourceTree = ""; }; - 02608DAB9FF88772D0B42FED = {isa = PBXGroup; children = ( - FEAEAFF22C88027386AE0447, - 84889103948B7D40FF5BE826, - D8AB37D85933F750CCB122B3, - 979580822F8E084EF20A9A93, - B2C441DC4B7ACC15E045C34A, - E65C9F48923EBD7095AC22BE, ); name = time; sourceTree = ""; }; - 8926B49E98128D7BFAE9E076 = {isa = PBXGroup; children = ( + E33396B52EBDCC4CB16F0B58 = {isa = PBXGroup; children = ( FC2CCDA070E9334BD6C34433, 1D886F01F02A6BFEA8CBD11F, 8702304141513578932577BF, @@ -347,66 +266,43 @@ 44AD87BBBC83CEEE8C9BAC8C, 86DAAF05DA38EA19AEE4FAA3, ED83D67E0538F142AD287232, ); name = files; sourceTree = ""; }; - E760A1EBA2D2EB518C5778E3 = {isa = PBXGroup; children = ( - 4DD5340BF04D6DFD860C92A9, - E4ABCE03572C47FA5BC5B9BD, - EBBC8475D0929BF814D3BD33, - 03B9EFAF851F4AA9FFAB3C94, - BD90DD39414F4A5D3AC4EA12, - F5C6C21A526B0FD8062B0266, - C2712806918D1A2AEAEE25C1, - 33A39DE96B690694A19AD8C4, - 0473DA0261621F0A71DB8E52, - 6DE40A37D8B2E9767808F2DF, ); name = network; sourceTree = ""; }; - 25336B816D662B670DBC25D6 = {isa = PBXGroup; children = ( - CBFB5F3CD583D9A711BAA04A, - DF0F3756D5FFB55A778A31B6, - E34E9F30E3C5A7C9AF0AA117, - 31CA33ED0082255CC0849423, - 1B88F3A284B3A5FD25489A98, - CB0D3AD8E23534DBB70421F0, - 6E826BD3D8FA95258DDEA3C2, - 2380227B913CC9B13FDFFAD4, - 25409A9AAC0D8E2BAC94D7F1, - 806C35A40BAC2612F75648CA, - 5F833FAB1A331DB46476C0EE, - EF63ACFF93BF8700E9A29A94, - 14F62685D339A1A1508CA819, - 8A19209997BCCD6E96328720, - E091EF8795DB7ECEE72B41C4, ); name = streams; sourceTree = ""; }; - E6AC4D7408DD3612E4922F71 = {isa = PBXGroup; children = ( - 215E4CE58F1A210E7F4565C4, - 4DCC88A4237E310F20A0A97D, - CD8652AB73C250FE3C141FFB, - 8D1215F04E8191D74F58DEBE, ); name = logging; sourceTree = ""; }; - 1DD9FC2D14F3AC8F6DD7E632 = {isa = PBXGroup; children = ( - 6BA644CEA51126F9DC6D91FD, - D79A68E72395918BE3184E18, - D59646C74585BB1F475BAF35, - 51ECC65AA1F92E8454D40B96, - 9CD78CB240A946C974B380F2, - 74041181A1FFD2D197595E5B, ); name = system; sourceTree = ""; }; - F35093574C089FADBE4A0B09 = {isa = PBXGroup; children = ( - 26BF9A553B90E6407E3FD587, - BF1FF24CC30E322214329495, - E8B77D4E2961231D77CF4335, - 6F73B31482724407DAC2CCC1, ); name = xml; sourceTree = ""; }; - C6ABAB1C320D76AF2293B9A0 = {isa = PBXGroup; children = ( + 26A938CF194EBB7666E415FB = {isa = PBXGroup; children = ( 7D61DCF5B5ACF26E9EE4AB93, 557AF2CBA9DA616FFE790C29, B0B80A311FA439AFE2678315, FC26395E11CDB928E59725EC, ); name = javascript; sourceTree = ""; }; - F2F56C96C30F2E29224A39AB = {isa = PBXGroup; children = ( - 92551BCF8DEA45A929CCF97A, - CDF6482910B0BC67D985BE84, - D34C7943A79CF1C1ABCB9069, - C48688954C377BCF41668104, - 8CEB435E98CC7EB0F0C4EF13, - C6FA51D3FBACB73580BC4A6B, ); name = zip; sourceTree = ""; }; - 96C6D2027EB4BD919D7D3F1D = {isa = PBXGroup; children = ( - 553D72E377D6987D9A05208F, - C6BDB4F2952103DF7AD6F8A4, ); name = "unit_tests"; sourceTree = ""; }; - 18556328CCBB7634FF5BB36E = {isa = PBXGroup; children = ( + 82C00CAC02E5BF9935955AD1 = {isa = PBXGroup; children = ( + 215E4CE58F1A210E7F4565C4, + 4DCC88A4237E310F20A0A97D, + CD8652AB73C250FE3C141FFB, + 8D1215F04E8191D74F58DEBE, ); name = logging; sourceTree = ""; }; + A1F91EC280CD2DB2E77DE2CC = {isa = PBXGroup; children = ( + 8B89932ACFC6EAAD6A23D2A8, + DA522ECFB0E7161D2A5C12F1, + 8CA5DE757A9A2C0E9A0AD4E3, + 4042914A2C20C08F89D097B1, + 7926561B941987F152AD6A1A, + 7BB10044C06DFCCCB324A456, + A7DE490D33B954B41BFE9EAB, + 7AE1D8A76F034A1301E67787, + 22F1E16DF7F08080FA90C783, + 37892D6496C086CB058CBDBE, ); name = maths; sourceTree = ""; }; + DF41E3A12C0B33FB32E2CCF1 = {isa = PBXGroup; children = ( + ECA68CE64EC790E2EED4D86E, + BD88E5FB088ED71A23952819, + D7794263F32CD165C4DE04C4, + 767A373B42195AF805FD06CC, + 099D0BF9AFB99C9F11AF6DAF, + C0AD6DEE5019B575256CC676, + BE8F16777B7F409A823D95D8, + DF107815A78A9D04C2FCB118, + A16A62698D337DCA6945476F, + CA60B0396D8F46E1952F8E36, + E8B73F6E0763B9DF3750FAB3, + 3456971F540274F9AB31C7BF, + 9BDF1653598CCC66FFF33532, + B476D2D5837C9D5EB94C3B84, ); name = memory; sourceTree = ""; }; + A244ADE3242A30F198A6F46E = {isa = PBXGroup; children = ( BF0D097C97DDE69588A540D2, D8396AC5E3B20EFAD9D088B7, 3F7F1332916E793D5432C52E, @@ -414,7 +310,7 @@ 4FA40684A26F7FEB3F3455E9, DEF66D4D6377EF168027265B, AB66F7874354AB029B53FA15, ); name = misc; sourceTree = ""; }; - EDC75F5C8524E353937DB75D = {isa = PBXGroup; children = ( + E1D7CAC8100D691BF1AD43FC = {isa = PBXGroup; children = ( 8B9C80797EAB35C4E9D54E69, 53C41E7EC24DAFFD0A62E81D, 1761B118FB418B2B066CBDAD, @@ -444,31 +340,134 @@ 4A7C031E60F6D0C385B634E5, E8DBF269C8CA4C66F025EAFC, AE4BCAB729578127C3DB4347, ); name = native; sourceTree = ""; }; + CF376D4C5F37C013CDB2C02A = {isa = PBXGroup; children = ( + 4DD5340BF04D6DFD860C92A9, + E4ABCE03572C47FA5BC5B9BD, + EBBC8475D0929BF814D3BD33, + 03B9EFAF851F4AA9FFAB3C94, + BD90DD39414F4A5D3AC4EA12, + F5C6C21A526B0FD8062B0266, + C2712806918D1A2AEAEE25C1, + 33A39DE96B690694A19AD8C4, + 0473DA0261621F0A71DB8E52, + 6DE40A37D8B2E9767808F2DF, ); name = network; sourceTree = ""; }; + E75C96228F2C9310049A1B45 = {isa = PBXGroup; children = ( + CBFB5F3CD583D9A711BAA04A, + DF0F3756D5FFB55A778A31B6, + E34E9F30E3C5A7C9AF0AA117, + 31CA33ED0082255CC0849423, + 1B88F3A284B3A5FD25489A98, + CB0D3AD8E23534DBB70421F0, + 6E826BD3D8FA95258DDEA3C2, + 2380227B913CC9B13FDFFAD4, + 25409A9AAC0D8E2BAC94D7F1, + 806C35A40BAC2612F75648CA, + 5F833FAB1A331DB46476C0EE, + EF63ACFF93BF8700E9A29A94, + 14F62685D339A1A1508CA819, + 8A19209997BCCD6E96328720, + E091EF8795DB7ECEE72B41C4, ); name = streams; sourceTree = ""; }; + 1DD9FC2D14F3AC8F6DD7E632 = {isa = PBXGroup; children = ( + 6BA644CEA51126F9DC6D91FD, + D79A68E72395918BE3184E18, + D59646C74585BB1F475BAF35, + 51ECC65AA1F92E8454D40B96, + 9CD78CB240A946C974B380F2, + 74041181A1FFD2D197595E5B, ); name = system; sourceTree = ""; }; + 8A60D0DE5BF2EA0FBE58821D = {isa = PBXGroup; children = ( + 09509162A9E07822A7BD6CC4, + 6101C27621EBC7E5A2072296, + 7A3C09708298D46165683E16, + ED8687869920F7A3CF92EBDA, + CCF76771C8533A2847830682, + 7A60B4E6FFE3B442F7F1CDAF, + 6EB58D59D3BE0EA42C50F1EC, + B4AFAF01DDDB32095D465FCC, + EF4E9D88AC6799B368A1BC80, + 4312F3E3AE88B09EDF4AD956, + E244EF0B95B6F3B7AD0AFB20, + EE75C350983561C54AE46253, + A6574272A47BE6AB811D5731, + 8A42CDB7F3114A5EBF2EFE94, + ED0D409B4DB3417C401CA0C4, + CCC837C5E7AC9370B3F00BF8, + D7AA82300629A1BED296F803, + DED174AFB3281A3132B92215, + 990638D213329067AD10546B, + 8708F2DFDF82F27A61EFC9D5, + 12D525C1F3C776A69AB0938A, + 949507E2CFF41C7AAFA2BB1C, + 44E6B4B64DA8BF09F45A4703, + 213DF50804C369804C6B6E92, ); name = text; sourceTree = ""; }; + 25ABC5FAEBBF3F0B13AB7B1E = {isa = PBXGroup; children = ( + DD8ED71D28F285157282A091, + 640CDE85F8E03D80FB5610DC, + B87992272A4EA96816AA6967, + 2B5E7ADA15DADDE91A3816ED, + CD03D5E3D6936C0114A2C8EF, + FBC458E2609F85472ADE9473, + 9B9DFD12B7D0BDD1898FFCE3, + 28AE179C9441F806AA3D71FA, + F83BBE2D7A4309D026790809, + E78ABDF9EE10A85BCFFE6547, + 64ED92C7E1127452F174A2F9, + A4335A2D6505B2F9DABD3DC5, + 3E2D62A4BB00D6C2BBCDE771, + D382823C1F24883BFA9E466E, + A90A8090D3D01B7595120896, + 24E7F8677EB0BDA5D62976F7, + 64C54E1E625AEA86E3231070, + 71ACB1F2FB606C384DACE55B, + 3CC375E8CCC0987FAE0B40BE, + 4B091BB2828A638ED469FF85, + F65565FA48F58AB9FD423EAF, + 1A434AFFED05E38D305475C1, ); name = threads; sourceTree = ""; }; + 25FFA1B2079912FB7266EFE9 = {isa = PBXGroup; children = ( + FEAEAFF22C88027386AE0447, + 84889103948B7D40FF5BE826, + D8AB37D85933F750CCB122B3, + 979580822F8E084EF20A9A93, + B2C441DC4B7ACC15E045C34A, + E65C9F48923EBD7095AC22BE, ); name = time; sourceTree = ""; }; + 96C6D2027EB4BD919D7D3F1D = {isa = PBXGroup; children = ( + 553D72E377D6987D9A05208F, + C6BDB4F2952103DF7AD6F8A4, ); name = "unit_tests"; sourceTree = ""; }; + 70BDA015DF79BA59EE9FC59D = {isa = PBXGroup; children = ( + 26BF9A553B90E6407E3FD587, + BF1FF24CC30E322214329495, + E8B77D4E2961231D77CF4335, + 6F73B31482724407DAC2CCC1, ); name = xml; sourceTree = ""; }; + EA1CA1619789FDC5421B9BE2 = {isa = PBXGroup; children = ( + 92551BCF8DEA45A929CCF97A, + CDF6482910B0BC67D985BE84, + D34C7943A79CF1C1ABCB9069, + C48688954C377BCF41668104, + 8CEB435E98CC7EB0F0C4EF13, + C6FA51D3FBACB73580BC4A6B, ); name = zip; sourceTree = ""; }; 5FC88B5F5F4306B522B0F809 = {isa = PBXGroup; children = ( - 588BEEE60BF4EE4A10674CCE, - 8470C95EB732572CA3419423, - 0A23F8FA8C7451D75FABC96F, - ED0FCD22D34539916A9A62F9, - 2172C94F9034F4A1FEEC46E6, - 02608DAB9FF88772D0B42FED, - 8926B49E98128D7BFAE9E076, - E760A1EBA2D2EB518C5778E3, - 25336B816D662B670DBC25D6, - E6AC4D7408DD3612E4922F71, + B8BEA570E2A8BAB22A348156, + E33396B52EBDCC4CB16F0B58, + 26A938CF194EBB7666E415FB, + 82C00CAC02E5BF9935955AD1, + A1F91EC280CD2DB2E77DE2CC, + DF41E3A12C0B33FB32E2CCF1, + A244ADE3242A30F198A6F46E, + E1D7CAC8100D691BF1AD43FC, + CF376D4C5F37C013CDB2C02A, + E75C96228F2C9310049A1B45, 1DD9FC2D14F3AC8F6DD7E632, - F35093574C089FADBE4A0B09, - C6ABAB1C320D76AF2293B9A0, - F2F56C96C30F2E29224A39AB, + 8A60D0DE5BF2EA0FBE58821D, + 25ABC5FAEBBF3F0B13AB7B1E, + 25FFA1B2079912FB7266EFE9, 96C6D2027EB4BD919D7D3F1D, - 18556328CCBB7634FF5BB36E, - EDC75F5C8524E353937DB75D, - AA4B0FFD81ED0516F633696F, + 70BDA015DF79BA59EE9FC59D, + EA1CA1619789FDC5421B9BE2, 3FDB79CAA83F45D37C24EE5E, ); name = "juce_core"; sourceTree = ""; }; 5D4B80BC67BBCEDCC3B6BAB8 = {isa = PBXGroup; children = ( 5FC88B5F5F4306B522B0F809, ); name = "Juce Modules"; sourceTree = ""; }; 8905BD956C24F83087634C3A = {isa = PBXGroup; children = ( 7E86227B01E504302C234A04, - 99D2B02E18E9A768F9F5CDFB, + 719D978078EB4BB1B60E52E3, D6C3594C8BEC94040AF108FE, ); name = "Juce Library Code"; sourceTree = ""; }; 87ECE820BF4D73DD50D614CB = {isa = PBXGroup; children = ( 1A71A586C0F50B6B328D877B, ); name = Resources; sourceTree = ""; }; @@ -476,7 +475,7 @@ 57DDB771ED96A256F190ADF8, F769CD634476C91F4C9D0596, ); name = Frameworks; sourceTree = ""; }; 70A875922C34E55D4F48A196 = {isa = PBXGroup; children = ( - E2EADDD364B6C6F37D8BBD7A, ); name = Products; sourceTree = ""; }; + 799073185F72F5FAD05253C3, ); name = Products; sourceTree = ""; }; C18D022743CF5BD14D6A6A9E = {isa = PBXGroup; children = ( 9DC13797237D190C48A242C9, 5D4B80BC67BBCEDCC3B6BAB8, @@ -484,7 +483,7 @@ 87ECE820BF4D73DD50D614CB, E28F51A0038F01E08E22F853, 70A875922C34E55D4F48A196, ); name = Source; sourceTree = ""; }; - 3C712C667F851F9061100DD7 = {isa = XCBuildConfiguration; buildSettings = { + 00F18709927DE6070FBA7BD0 = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; @@ -500,12 +499,11 @@ "JUCE_APP_VERSION_HEX=0x10000", ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - 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 = { + 8A190EF24B99F557190320DA = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; @@ -522,7 +520,6 @@ GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); - INFOPLIST_FILE = Info.plist; INSTALL_PATH = "/usr/bin"; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; PRODUCT_BUNDLE_IDENTIFIER = com.rawmaterialsoftware.binarybuilder; @@ -559,25 +556,26 @@ PRODUCT_NAME = "BinaryBuilder"; WARNING_CFLAGS = -Wreorder; ZERO_LINK = NO; }; name = Release; }; + 78C9910DF129FD687A56D083 = {isa = PBXTargetDependency; target = 80B70DE094998C267F152DD5; }; E4C85B0464A93027D035AA1F = {isa = XCConfigurationList; buildConfigurations = ( D9552CAECBA3D7D5725848E5, 7545BE591FD462C37E44B903, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - C14A816D397EB8369937B3F7 = {isa = XCConfigurationList; buildConfigurations = ( - 3C712C667F851F9061100DD7, - 145C0C90E41D8DECE4DD66AD, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 7B52CBCC65AE087EEFB2C437 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + A88E30959D785F48A594450E = {isa = XCConfigurationList; buildConfigurations = ( + 00F18709927DE6070FBA7BD0, + 8A190EF24B99F557190320DA, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 4F5C64675AD3AC67829798FF = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( 542006E949BB022F198DF0F2, ); runOnlyForDeploymentPostprocessing = 0; }; - 77D79017A9F2C7F35DD55196 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + A69CF4AD8F7015A8D3228FDE = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 3C6FF7689E2FD827A48E2303, - C2DE1EFF2E1C56D19E98B19C, ); runOnlyForDeploymentPostprocessing = 0; }; - FA91AF2CE863567091E8A6B0 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 89CFB1C44BB453DF9E5F1599, ); runOnlyForDeploymentPostprocessing = 0; }; + 2722C90F3B5DAD661891FDF4 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( 4B72EFB0E9D74CA7227F6CAB, 0D53D8B0AEE37C02C147344B, ); runOnlyForDeploymentPostprocessing = 0; }; - 3F86988238803AA6377D688E = {isa = PBXNativeTarget; buildConfigurationList = C14A816D397EB8369937B3F7; buildPhases = ( - 7B52CBCC65AE087EEFB2C437, - 77D79017A9F2C7F35DD55196, - FA91AF2CE863567091E8A6B0, ); buildRules = ( ); dependencies = ( ); name = BinaryBuilder; productName = BinaryBuilder; productReference = E2EADDD364B6C6F37D8BBD7A; productInstallPath = /usr/bin; productType = "com.apple.product-type.tool"; }; - 36B6F402BC83F21646259DEF = {isa = PBXProject; buildConfigurationList = E4C85B0464A93027D035AA1F; attributes = { LastUpgradeCheck = 0440; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = C18D022743CF5BD14D6A6A9E; projectDirPath = ""; projectRoot = ""; targets = ( 3F86988238803AA6377D688E ); }; + 80B70DE094998C267F152DD5 = {isa = PBXNativeTarget; buildConfigurationList = A88E30959D785F48A594450E; buildPhases = ( + 4F5C64675AD3AC67829798FF, + A69CF4AD8F7015A8D3228FDE, + 2722C90F3B5DAD661891FDF4, ); buildRules = ( ); dependencies = ( ); name = "BinaryBuilder (ConsoleApp)"; productName = BinaryBuilder; productReference = 799073185F72F5FAD05253C3; productInstallPath = /usr/bin; productType = "com.apple.product-type.tool"; }; + 36B6F402BC83F21646259DEF = {isa = PBXProject; buildConfigurationList = E4C85B0464A93027D035AA1F; attributes = { LastUpgradeCheck = 0440; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = C18D022743CF5BD14D6A6A9E; projectDirPath = ""; projectRoot = ""; targets = (80B70DE094998C267F152DD5); }; }; rootObject = 36B6F402BC83F21646259DEF; } diff --git a/extras/binarybuilder/Builds/VisualStudio2010/BinaryBuilder.vcxproj b/extras/binarybuilder/Builds/VisualStudio2010/BinaryBuilder.vcxproj index 8b447905f1..dcb83a167f 100644 --- a/extras/binarybuilder/Builds/VisualStudio2010/BinaryBuilder.vcxproj +++ b/extras/binarybuilder/Builds/VisualStudio2010/BinaryBuilder.vcxproj @@ -50,7 +50,7 @@ Disabled EditAndContinue ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CONSOLE;_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2010_78A501D=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions) + _CRT_SECURE_NO_WARNINGS;_CONSOLE;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2010_78A501D=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions) MultiThreadedDebug true @@ -91,7 +91,7 @@ Full ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CONSOLE;_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2010_78A501D=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions) + _CRT_SECURE_NO_WARNINGS;_CONSOLE;WIN32;_WINDOWS;NDEBUG;JUCER_VS2010_78A501D=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions) MultiThreaded true @@ -124,45 +124,6 @@ - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -178,33 +139,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -229,40 +163,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -271,31 +175,16 @@ true - + true - + true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -361,24 +250,149 @@ true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -399,22 +413,49 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -434,60 +475,16 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - diff --git a/extras/binarybuilder/Builds/VisualStudio2010/BinaryBuilder.vcxproj.filters b/extras/binarybuilder/Builds/VisualStudio2010/BinaryBuilder.vcxproj.filters index 8aed6c64d2..9d8864b1e9 100644 --- a/extras/binarybuilder/Builds/VisualStudio2010/BinaryBuilder.vcxproj.filters +++ b/extras/binarybuilder/Builds/VisualStudio2010/BinaryBuilder.vcxproj.filters @@ -14,8 +14,17 @@ {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} - - {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + + {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + + {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + + {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} {476C69CE-0B67-6B85-E888-45D91E37A29E} @@ -23,17 +32,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} - - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -41,29 +44,26 @@ {91929C6F-7902-B87D-5260-2F6CBF8ACD93} - - {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} - {4634FFAE-9586-A970-364C-4FDDA635F99F} - - {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} - - {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - {F03654BC-34D8-F975-BEA3-750CC2783D23} + + {C9F6D785-BF78-5AA1-B479-111C65397864} {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} - - {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} - - {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + {F03654BC-34D8-F975-BEA3-750CC2783D23} {8B4D1BAA-6DB4-CAEC-A0FA-271F354D5C61} @@ -73,45 +73,6 @@ BinaryBuilder\Source - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\memory - Juce Modules\juce_core\containers @@ -127,33 +88,6 @@ Juce Modules\juce_core\containers - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - Juce Modules\juce_core\files @@ -178,41 +112,11 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -220,32 +124,17 @@ Juce Modules\juce_core\logging - - Juce Modules\juce_core\system + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc @@ -325,55 +214,208 @@ Juce Modules\juce_core\native - + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + Juce Library Code - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -435,53 +477,134 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text Juce Modules\juce_core\threads @@ -540,92 +663,8 @@ Juce Modules\juce_core\time - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -633,12 +672,6 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - Juce Modules\juce_core\zip @@ -648,39 +681,6 @@ Juce Modules\juce_core\zip - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - Juce Modules\juce_core @@ -691,11 +691,6 @@ Juce Library Code - - - Juce Modules\juce_core - - Juce Library Code diff --git a/extras/binarybuilder/JuceLibraryCode/AppConfig.h b/extras/binarybuilder/JuceLibraryCode/AppConfig.h index 90d605bcf3..4e8f993bd3 100644 --- a/extras/binarybuilder/JuceLibraryCode/AppConfig.h +++ b/extras/binarybuilder/JuceLibraryCode/AppConfig.h @@ -4,8 +4,8 @@ project - if you alter its contents, your changes may be overwritten! There's a section below where you can add your own custom code safely, and the - Introjucer will preserve the contents of that block, but the best way to change - any of these definitions is by using the Introjucer's project settings. + Projucer will preserve the contents of that block, but the best way to change + any of these definitions is by using the Projucer's project settings. Any commented-out settings will assume their default values. @@ -17,7 +17,7 @@ //============================================================================== // [BEGIN_USER_CODE_SECTION] -// (You can add your own code in this section, and the Introjucer will not overwrite it) +// (You can add your own code in this section, and the Projucer will not overwrite it) // [END_USER_CODE_SECTION] @@ -26,9 +26,15 @@ //============================================================================== #ifndef JUCE_STANDALONE_APPLICATION - #define JUCE_STANDALONE_APPLICATION 1 + #ifdef JucePlugin_Build_Standalone + #define JUCE_STANDALONE_APPLICATION JucePlugin_Build_Standalone + #else + #define JUCE_STANDALONE_APPLICATION 1 + #endif #endif +#define JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED 1 + //============================================================================== // juce_core flags: diff --git a/extras/binarybuilder/JuceLibraryCode/JuceHeader.h b/extras/binarybuilder/JuceLibraryCode/JuceHeader.h index ffc6562192..b934ac50cc 100644 --- a/extras/binarybuilder/JuceLibraryCode/JuceHeader.h +++ b/extras/binarybuilder/JuceLibraryCode/JuceHeader.h @@ -14,7 +14,9 @@ #define __APPHEADERFILE_3T6YQETY1__ #include "AppConfig.h" -#include "modules/juce_core/juce_core.h" + +#include + #if ! DONT_SET_USING_JUCE_NAMESPACE // If your code uses a lot of JUCE classes, then this will obviously save you diff --git a/extras/binarybuilder/JuceLibraryCode/ReadMe.txt b/extras/binarybuilder/JuceLibraryCode/ReadMe.txt index f6c3564e99..091a5aa6eb 100644 --- a/extras/binarybuilder/JuceLibraryCode/ReadMe.txt +++ b/extras/binarybuilder/JuceLibraryCode/ReadMe.txt @@ -2,11 +2,11 @@ Important Note!! ================ -The purpose of this folder is to contain files that are auto-generated by the Introjucer, +The purpose of this folder is to contain files that are auto-generated by the Projucer, and ALL files in this folder will be mercilessly DELETED and completely re-written whenever -the Introjucer saves your project. +the Projucer saves your project. Therefore, it's a bad idea to make any manual changes to the files in here, or to put any of your own files in here if you don't want to lose them. (Of course you may choose to add the folder's contents to your version-control system so that you can re-merge your own -modifications after the Introjucer has saved its changes). +modifications after the Projucer has saved its changes). diff --git a/extras/binarybuilder/JuceLibraryCode/juce_core.cpp b/extras/binarybuilder/JuceLibraryCode/juce_core.cpp new file mode 100644 index 0000000000..d0ce1636f0 --- /dev/null +++ b/extras/binarybuilder/JuceLibraryCode/juce_core.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/binarybuilder/JuceLibraryCode/juce_core.mm b/extras/binarybuilder/JuceLibraryCode/juce_core.mm new file mode 100644 index 0000000000..72b10bf817 --- /dev/null +++ b/extras/binarybuilder/JuceLibraryCode/juce_core.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/binarybuilder/JuceLibraryCode/modules/juce_core/juce_core.h b/extras/binarybuilder/JuceLibraryCode/modules/juce_core/juce_core.h deleted file mode 100644 index 06e88f9352..0000000000 --- a/extras/binarybuilder/JuceLibraryCode/modules/juce_core/juce_core.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_core/juce_core.h" diff --git a/extras/windows dll/Builds/VisualStudio2010/juce_dll.vcxproj b/extras/windows dll/Builds/VisualStudio2010/juce_dll.vcxproj index d293662511..6f7158b976 100644 --- a/extras/windows dll/Builds/VisualStudio2010/juce_dll.vcxproj +++ b/extras/windows dll/Builds/VisualStudio2010/juce_dll.vcxproj @@ -50,7 +50,7 @@ Disabled EditAndContinue ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _LIB;_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DLL_BUILD=1;JUCER_VS2010_78A501D=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions) + _CRT_SECURE_NO_WARNINGS;_LIB;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DLL_BUILD=1;JUCER_VS2010_78A501D=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions) MultiThreadedDebug true @@ -91,7 +91,7 @@ Full ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _LIB;_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DLL_BUILD=1;JUCER_VS2010_78A501D=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions) + _CRT_SECURE_NO_WARNINGS;_LIB;WIN32;_WINDOWS;NDEBUG;JUCE_DLL_BUILD=1;JUCER_VS2010_78A501D=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions) MultiThreaded true @@ -210,6 +210,9 @@ true + + true + true @@ -225,15 +228,6 @@ true - - true - - - true - - - true - true @@ -282,25 +276,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -330,9 +309,45 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + true + + true + + + true + + + true + + + true + + + true + true @@ -351,21 +366,6 @@ true - - true - - - true - - - true - - - true - - - true - true @@ -399,9 +399,6 @@ true - - true - true @@ -411,43 +408,7 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -465,33 +426,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -516,40 +450,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -558,31 +462,16 @@ true - + true - + true - + true - - true - - - true - - - true - - - true - - - true - - + true @@ -648,6 +537,117 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -666,6 +666,15 @@ true + + true + + + true + + + true + true @@ -675,33 +684,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -720,6 +702,18 @@ true + + true + + + true + + + true + + + true + true @@ -729,6 +723,12 @@ true + + true + + + true + true @@ -750,43 +750,10 @@ true - + true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - + true @@ -807,10 +774,40 @@ true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -837,6 +834,51 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -849,6 +891,153 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -870,19 +1059,70 @@ true - + true - + true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -951,246 +1191,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - true @@ -1299,20 +1299,20 @@ true - - - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -1351,6 +1351,8 @@ + + @@ -1358,20 +1360,10 @@ + - - - - - - - - - - - @@ -1381,8 +1373,25 @@ + + + + + + + + + + + + + + + + + @@ -1393,15 +1402,6 @@ - - - - - - - - - @@ -1422,21 +1422,35 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1457,22 +1471,49 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1492,53 +1533,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - @@ -1547,14 +1547,22 @@ + + + + - - - - + + + + + + + + @@ -1564,19 +1572,11 @@ - - - - - - - - - - + + @@ -1587,10 +1587,15 @@ - - - - + + + + + + + + + @@ -1601,26 +1606,91 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1634,14 +1704,21 @@ - - - - - - - - + + + + + + + + + + + + + + + @@ -1666,83 +1743,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1768,6 +1768,17 @@ + + + + + + + + + + + @@ -1777,42 +1788,15 @@ - - - - - - - - - - - + - - - - - - - - - - - - - - - - - diff --git a/extras/windows dll/Builds/VisualStudio2010/juce_dll.vcxproj.filters b/extras/windows dll/Builds/VisualStudio2010/juce_dll.vcxproj.filters index 841cec027b..221756a504 100644 --- a/extras/windows dll/Builds/VisualStudio2010/juce_dll.vcxproj.filters +++ b/extras/windows dll/Builds/VisualStudio2010/juce_dll.vcxproj.filters @@ -35,45 +35,45 @@ {CACD7B50-4DB3-76AF-A6E8-90DF94F8F594} + + {45C2CE26-EC4B-BA52-58F3-297C408E1483} + {9D270B31-2425-8FDB-84A4-6A2288FF5B2F} {0F766DD4-A277-CB86-5647-42498C8B41E1} - - {D64942B4-6984-3623-3347-45D472AE1C61} - - - {45C2CE26-EC4B-BA52-58F3-297C408E1483} - {01603E05-423B-5FC3-1BEE-E15ED33B5688} + + {D64942B4-6984-3623-3347-45D472AE1C61} + {65CB28F8-0422-A8F3-9A17-959E12A1F8E2} - - {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} - {0CD9E281-DDD0-91EC-6F77-EA9D9D5E0E1A} + + {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} + {40C5CA7C-AEBB-05B1-11CE-AE41D87B5CCB} {0B0E7392-324B-088C-FBEB-5FE999D61782} - - {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} - {20254EFE-6CBD-31A7-2119-92B1E0E0E311} {70796D73-6D30-8A1B-4732-7C021E47C05A} + + {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} + {EB8DD942-E2CB-869F-D381-E02A65BA790B} @@ -86,17 +86,26 @@ {8167E753-09C7-5D1C-EF2B-32D297557443} - - {AEDCB7F7-7A36-5392-8E9A-715F5BDE35CB} - {B48C883A-8483-AF6D-808C-1D9A749048D8} + + {AEDCB7F7-7A36-5392-8E9A-715F5BDE35CB} + {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} - - {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + + {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + + {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + + {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} {476C69CE-0B67-6B85-E888-45D91E37A29E} @@ -104,17 +113,11 @@ {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} - - {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} - - {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - - {C9F6D785-BF78-5AA1-B479-111C65397864} - - - {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} {DA0DC4AC-B511-A2D4-199A-C93454D6F114} @@ -122,29 +125,26 @@ {91929C6F-7902-B87D-5260-2F6CBF8ACD93} - - {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} - {4634FFAE-9586-A970-364C-4FDDA635F99F} - - {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} - - {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} - - {F03654BC-34D8-F975-BEA3-750CC2783D23} + + {C9F6D785-BF78-5AA1-B479-111C65397864} {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} - - {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} - - {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + {F03654BC-34D8-F975-BEA3-750CC2783D23} {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} @@ -158,33 +158,33 @@ {928D8FCC-5E00-174B-6538-93E8D75AB396} - - {1988E68A-A964-64CA-0E0C-26FF9BC5176C} + + {358AEA11-3F96-36AE-7B32-71373B5C5396} {3DF036EA-3B80-553B-2494-3AAC835CAE75} - - {358AEA11-3F96-36AE-7B32-71373B5C5396} + + {1988E68A-A964-64CA-0E0C-26FF9BC5176C} {F2A38F45-6E55-E147-2E52-64A89FDD9D59} - - {6172822C-01A5-E824-12DA-FA43FA934D35} - - - {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} - {B098BC87-3298-7E6B-12DC-D26C09CDCAED} {6322B88F-984A-C3CD-6263-38D7AA49B6EC} + + {6172822C-01A5-E824-12DA-FA43FA934D35} + {73C1E759-AD90-59A3-942E-2D10FAA29107} + + {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} + {EE1AE8C3-0908-8F53-A4E5-D930C7C97C26} @@ -194,81 +194,81 @@ {EBC65085-3AD5-280C-1A29-2B1683643AA1} - - {413F481F-075C-2958-115C-D8268682FCB7} - - - {69E1179D-76EC-26DC-C3E6-6602ED26D783} - - - {C1A1A236-AB01-173E-96C3-0706BFF93B1E} - - - {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + {E37D25CD-4350-4614-055B-7ABC55E67895} {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} - - {E37D25CD-4350-4614-055B-7ABC55E67895} + + {C1A1A236-AB01-173E-96C3-0706BFF93B1E} + + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + + {413F481F-075C-2958-115C-D8268682FCB7} {FFC6E1CC-C772-75E6-5087-FB5D4E016799} + + {1182303F-ECA3-166D-AC0C-92C5E762CB93} + {8E43579F-C185-266D-DD67-F8B95BD80F2F} + + {61712B09-5783-ADFA-2001-5A0C3D7764EB} + + + {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + + {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} + {2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D} - - {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + {5A0AA36E-3957-E413-14C6-31CBE15271DF} + + + {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} {A92719C7-70BE-57C4-CE9E-A9BC9DFEB757} + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} + + + {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} + + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} + + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + + {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} + + + {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} + {75F1F352-251A-75E0-D941-8431588F5C1E} {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} - - {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} - - - {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} - - - {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} - - - {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} - - - {5A0AA36E-3957-E413-14C6-31CBE15271DF} - - - {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} - - - {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} - - - {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} - - - {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} - - - {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} - - - {61712B09-5783-ADFA-2001-5A0C3D7764EB} - - - {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} - {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} @@ -290,30 +290,30 @@ {639E16C5-DA8B-ADBA-6E24-7B596378EAB2} - - {2D8D0E19-E676-83EB-38D9-F73500DD6B79} - {B3141847-8F13-F67D-45B2-E3ECF6E09088} - - {9E586194-C056-101C-5311-F2AF5191AC80} - {151B49D8-6102-F802-1C07-D59931BC0574} + + {2D8D0E19-E676-83EB-38D9-F73500DD6B79} + + + {9E586194-C056-101C-5311-F2AF5191AC80} + {72A923E2-C729-DB92-D7BF-A9D4AFAE5896} - - {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} - {7F11E7D2-54C0-2A36-5F15-BEC0A5374A08} {EE985DEA-CD83-8132-7219-542BB1DAD560} + + {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} + {8B4D1BAA-6DB4-CAEC-A0FA-271F354D5C61} @@ -406,6 +406,9 @@ Juce Modules\juce_audio_basics\synthesisers + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -421,15 +424,6 @@ Juce Modules\juce_audio_devices\midi_io - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\sources - - - Juce Modules\juce_audio_devices\audio_cd - Juce Modules\juce_audio_devices\native @@ -484,26 +478,11 @@ Juce Modules\juce_audio_devices\native - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format + + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_formats\codecs @@ -532,27 +511,30 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - - - Juce Modules\juce_audio_processors\processors - Juce Modules\juce_audio_processors\format @@ -571,6 +553,24 @@ Juce Modules\juce_audio_processors\format_types + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + Juce Modules\juce_audio_processors\scanning @@ -604,9 +604,6 @@ Juce Modules\juce_audio_utils\gui - - Juce Modules\juce_audio_utils\players - Juce Modules\juce_audio_utils\native @@ -622,44 +619,8 @@ Juce Modules\juce_audio_utils\native - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\text - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\maths - - - Juce Modules\juce_core\memory + + Juce Modules\juce_audio_utils\players Juce Modules\juce_core\containers @@ -676,33 +637,6 @@ Juce Modules\juce_core\containers - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\threads - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - - - Juce Modules\juce_core\time - Juce Modules\juce_core\files @@ -727,41 +661,11 @@ Juce Modules\juce_core\files - - Juce Modules\juce_core\network + + Juce Modules\juce_core\javascript - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams + + Juce Modules\juce_core\javascript Juce Modules\juce_core\logging @@ -769,32 +673,17 @@ Juce Modules\juce_core\logging - - Juce Modules\juce_core\system + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\xml + + Juce Modules\juce_core\maths - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\zip - - - Juce Modules\juce_core\unit_tests + + Juce Modules\juce_core\memory Juce Modules\juce_core\misc @@ -874,6 +763,117 @@ Juce Modules\juce_core\native + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\unit_tests + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + Juce Modules\juce_cryptography\encryption @@ -892,6 +892,15 @@ Juce Modules\juce_cryptography\hashing + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -901,33 +910,6 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\messages - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - Juce Modules\juce_events\broadcasters @@ -946,6 +928,18 @@ Juce Modules\juce_events\interprocess + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + Juce Modules\juce_events\native @@ -961,6 +955,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_graphics\colour @@ -982,44 +982,11 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\images - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\image_formats - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\geometry - - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\effects Juce Modules\juce_graphics\fonts @@ -1039,11 +1006,41 @@ Juce Modules\juce_graphics\fonts - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -1075,6 +1072,51 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -1087,6 +1129,153 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -1108,20 +1297,92 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -1189,267 +1450,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_extra\code_editor @@ -1576,46 +1576,46 @@ Juce Modules\juce_video\native - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code - + Juce Library Code @@ -1728,6 +1728,12 @@ Juce Modules\juce_audio_basics + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\audio_cd + Juce Modules\juce_audio_devices\audio_io @@ -1749,48 +1755,18 @@ Juce Modules\juce_audio_devices\midi_io + + Juce Modules\juce_audio_devices\native + Juce Modules\juce_audio_devices\sources Juce Modules\juce_audio_devices\sources - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\audio_cd - - - Juce Modules\juce_audio_devices\native - Juce Modules\juce_audio_devices - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - - - Juce Modules\juce_audio_formats\format - Juce Modules\juce_audio_formats\codecs @@ -1818,12 +1794,63 @@ Juce Modules\juce_audio_formats\codecs + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + Juce Modules\juce_audio_formats\sampler Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + Juce Modules\juce_audio_processors\processors @@ -1854,33 +1881,6 @@ Juce Modules\juce_audio_processors\processors - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - - - Juce Modules\juce_audio_processors\format_types - Juce Modules\juce_audio_processors\scanning @@ -1941,50 +1941,92 @@ Juce Modules\juce_audio_utils - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers - - Juce Modules\juce_core\text + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging Juce Modules\juce_core\maths @@ -2046,53 +2088,134 @@ Juce Modules\juce_core\memory - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\misc - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\native - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\network - - Juce Modules\juce_core\containers + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text Juce Modules\juce_core\threads @@ -2151,92 +2274,8 @@ Juce Modules\juce_core\time - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\files - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\network - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\streams - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\logging - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system - - - Juce Modules\juce_core\system + + Juce Modules\juce_core\unit_tests Juce Modules\juce_core\xml @@ -2244,12 +2283,6 @@ Juce Modules\juce_core\xml - - Juce Modules\juce_core\javascript - - - Juce Modules\juce_core\javascript - Juce Modules\juce_core\zip @@ -2259,39 +2292,6 @@ Juce Modules\juce_core\zip - - Juce Modules\juce_core\unit_tests - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\misc - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - - - Juce Modules\juce_core\native - Juce Modules\juce_core @@ -2316,6 +2316,18 @@ Juce Modules\juce_cryptography + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\undomanager + Juce Modules\juce_data_structures\values @@ -2325,21 +2337,33 @@ Juce Modules\juce_data_structures\values - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\undomanager - - - Juce Modules\juce_data_structures\app_properties - - - Juce Modules\juce_data_structures\app_properties - Juce Modules\juce_data_structures + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + Juce Modules\juce_events\messages @@ -2367,36 +2391,6 @@ Juce Modules\juce_events\messages - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\timers - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\broadcasters - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - - - Juce Modules\juce_events\interprocess - Juce Modules\juce_events\native @@ -2406,6 +2400,12 @@ Juce Modules\juce_events\native + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + Juce Modules\juce_events @@ -2436,17 +2436,32 @@ Juce Modules\juce_graphics\contexts - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\effects - - Juce Modules\juce_graphics\images + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts Juce Modules\juce_graphics\geometry @@ -2478,38 +2493,17 @@ Juce Modules\juce_graphics\geometry - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\placement + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts + + Juce Modules\juce_graphics\images - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\fonts - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects - - - Juce Modules\juce_graphics\effects + + Juce Modules\juce_graphics\images Juce Modules\juce_graphics\native @@ -2520,9 +2514,60 @@ Juce Modules\juce_graphics\native + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + Juce Modules\juce_graphics + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + Juce Modules\juce_gui_basics\components @@ -2538,6 +2583,171 @@ Juce Modules\juce_gui_basics\components + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + Juce Modules\juce_gui_basics\mouse @@ -2577,29 +2787,50 @@ Juce Modules\juce_gui_basics\mouse - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\native - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning - - Juce Modules\juce_gui_basics\keyboard + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties Juce Modules\juce_gui_basics\widgets @@ -2673,237 +2904,6 @@ Juce Modules\juce_gui_basics\windows - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\menus - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\layout - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\buttons - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\positioning - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\drawables - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\properties - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\lookandfeel - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\filebrowser - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\commands - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\misc - - - Juce Modules\juce_gui_basics\application - - - Juce Modules\juce_gui_basics\native - Juce Modules\juce_gui_basics @@ -2979,6 +2979,39 @@ Juce Modules\juce_gui_extra + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + Juce Modules\juce_opengl\opengl @@ -3006,54 +3039,21 @@ Juce Modules\juce_opengl\opengl - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - - - Juce Modules\juce_opengl\geometry - Juce Modules\juce_opengl\utils - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - - - Juce Modules\juce_opengl\native - Juce Modules\juce_opengl + + Juce Modules\juce_video\capture + Juce Modules\juce_video\playback Juce Modules\juce_video\playback - - Juce Modules\juce_video\capture - Juce Modules\juce_video @@ -3064,48 +3064,4 @@ Juce Library Code - - - Juce Modules\juce_audio_basics - - - Juce Modules\juce_audio_devices - - - Juce Modules\juce_audio_formats - - - Juce Modules\juce_audio_processors - - - Juce Modules\juce_audio_utils - - - Juce Modules\juce_core - - - Juce Modules\juce_cryptography - - - Juce Modules\juce_data_structures - - - Juce Modules\juce_events - - - Juce Modules\juce_graphics - - - Juce Modules\juce_gui_basics - - - Juce Modules\juce_gui_extra - - - Juce Modules\juce_opengl - - - Juce Modules\juce_video - - diff --git a/extras/windows dll/JuceLibraryCode/AppConfig.h b/extras/windows dll/JuceLibraryCode/AppConfig.h index f29503f89b..4cf7fcc825 100644 --- a/extras/windows dll/JuceLibraryCode/AppConfig.h +++ b/extras/windows dll/JuceLibraryCode/AppConfig.h @@ -4,8 +4,8 @@ project - if you alter its contents, your changes may be overwritten! There's a section below where you can add your own custom code safely, and the - Introjucer will preserve the contents of that block, but the best way to change - any of these definitions is by using the Introjucer's project settings. + Projucer will preserve the contents of that block, but the best way to change + any of these definitions is by using the Projucer's project settings. Any commented-out settings will assume their default values. @@ -17,7 +17,7 @@ //============================================================================== // [BEGIN_USER_CODE_SECTION] -// (You can add your own code in this section, and the Introjucer will not overwrite it) +// (You can add your own code in this section, and the Projucer will not overwrite it) // [END_USER_CODE_SECTION] @@ -39,9 +39,15 @@ //============================================================================== #ifndef JUCE_STANDALONE_APPLICATION - #define JUCE_STANDALONE_APPLICATION 1 + #ifdef JucePlugin_Build_Standalone + #define JUCE_STANDALONE_APPLICATION JucePlugin_Build_Standalone + #else + #define JUCE_STANDALONE_APPLICATION 1 + #endif #endif +#define JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED 1 + //============================================================================== // juce_audio_devices flags: diff --git a/extras/windows dll/JuceLibraryCode/JuceHeader.h b/extras/windows dll/JuceLibraryCode/JuceHeader.h index 59958aebe5..f43f8196a8 100644 --- a/extras/windows dll/JuceLibraryCode/JuceHeader.h +++ b/extras/windows dll/JuceLibraryCode/JuceHeader.h @@ -14,20 +14,22 @@ #define __APPHEADERFILE_IVABE4__ #include "AppConfig.h" -#include "modules/juce_audio_basics/juce_audio_basics.h" -#include "modules/juce_audio_devices/juce_audio_devices.h" -#include "modules/juce_audio_formats/juce_audio_formats.h" -#include "modules/juce_audio_processors/juce_audio_processors.h" -#include "modules/juce_audio_utils/juce_audio_utils.h" -#include "modules/juce_core/juce_core.h" -#include "modules/juce_cryptography/juce_cryptography.h" -#include "modules/juce_data_structures/juce_data_structures.h" -#include "modules/juce_events/juce_events.h" -#include "modules/juce_graphics/juce_graphics.h" -#include "modules/juce_gui_basics/juce_gui_basics.h" -#include "modules/juce_gui_extra/juce_gui_extra.h" -#include "modules/juce_opengl/juce_opengl.h" -#include "modules/juce_video/juce_video.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + #if ! DONT_SET_USING_JUCE_NAMESPACE // If your code uses a lot of JUCE classes, then this will obviously save you diff --git a/extras/windows dll/JuceLibraryCode/ReadMe.txt b/extras/windows dll/JuceLibraryCode/ReadMe.txt index f6c3564e99..091a5aa6eb 100644 --- a/extras/windows dll/JuceLibraryCode/ReadMe.txt +++ b/extras/windows dll/JuceLibraryCode/ReadMe.txt @@ -2,11 +2,11 @@ Important Note!! ================ -The purpose of this folder is to contain files that are auto-generated by the Introjucer, +The purpose of this folder is to contain files that are auto-generated by the Projucer, and ALL files in this folder will be mercilessly DELETED and completely re-written whenever -the Introjucer saves your project. +the Projucer saves your project. Therefore, it's a bad idea to make any manual changes to the files in here, or to put any of your own files in here if you don't want to lose them. (Of course you may choose to add the folder's contents to your version-control system so that you can re-merge your own -modifications after the Introjucer has saved its changes). +modifications after the Projucer has saved its changes). diff --git a/extras/windows dll/JuceLibraryCode/juce_audio_basics.cpp b/extras/windows dll/JuceLibraryCode/juce_audio_basics.cpp new file mode 100644 index 0000000000..418694873c --- /dev/null +++ b/extras/windows dll/JuceLibraryCode/juce_audio_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/windows dll/JuceLibraryCode/juce_audio_basics.mm b/extras/windows dll/JuceLibraryCode/juce_audio_basics.mm new file mode 100644 index 0000000000..e0e6c577cc --- /dev/null +++ b/extras/windows dll/JuceLibraryCode/juce_audio_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/windows dll/JuceLibraryCode/juce_audio_devices.cpp b/extras/windows dll/JuceLibraryCode/juce_audio_devices.cpp new file mode 100644 index 0000000000..fb5c2219d7 --- /dev/null +++ b/extras/windows dll/JuceLibraryCode/juce_audio_devices.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/windows dll/JuceLibraryCode/juce_audio_devices.mm b/extras/windows dll/JuceLibraryCode/juce_audio_devices.mm new file mode 100644 index 0000000000..e58b67ea49 --- /dev/null +++ b/extras/windows dll/JuceLibraryCode/juce_audio_devices.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/windows dll/JuceLibraryCode/juce_audio_formats.cpp b/extras/windows dll/JuceLibraryCode/juce_audio_formats.cpp new file mode 100644 index 0000000000..a3c61170eb --- /dev/null +++ b/extras/windows dll/JuceLibraryCode/juce_audio_formats.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/windows dll/JuceLibraryCode/juce_audio_formats.mm b/extras/windows dll/JuceLibraryCode/juce_audio_formats.mm new file mode 100644 index 0000000000..f325b8fb67 --- /dev/null +++ b/extras/windows dll/JuceLibraryCode/juce_audio_formats.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/windows dll/JuceLibraryCode/juce_audio_processors.cpp b/extras/windows dll/JuceLibraryCode/juce_audio_processors.cpp new file mode 100644 index 0000000000..bfe172edd0 --- /dev/null +++ b/extras/windows dll/JuceLibraryCode/juce_audio_processors.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/windows dll/JuceLibraryCode/juce_audio_processors.mm b/extras/windows dll/JuceLibraryCode/juce_audio_processors.mm new file mode 100644 index 0000000000..b80ae9017f --- /dev/null +++ b/extras/windows dll/JuceLibraryCode/juce_audio_processors.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/windows dll/JuceLibraryCode/juce_audio_utils.cpp b/extras/windows dll/JuceLibraryCode/juce_audio_utils.cpp new file mode 100644 index 0000000000..97bd2c568c --- /dev/null +++ b/extras/windows dll/JuceLibraryCode/juce_audio_utils.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/windows dll/JuceLibraryCode/juce_audio_utils.mm b/extras/windows dll/JuceLibraryCode/juce_audio_utils.mm new file mode 100644 index 0000000000..8eae7c6e2f --- /dev/null +++ b/extras/windows dll/JuceLibraryCode/juce_audio_utils.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/windows dll/JuceLibraryCode/juce_core.cpp b/extras/windows dll/JuceLibraryCode/juce_core.cpp new file mode 100644 index 0000000000..d0ce1636f0 --- /dev/null +++ b/extras/windows dll/JuceLibraryCode/juce_core.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/windows dll/JuceLibraryCode/juce_core.mm b/extras/windows dll/JuceLibraryCode/juce_core.mm new file mode 100644 index 0000000000..72b10bf817 --- /dev/null +++ b/extras/windows dll/JuceLibraryCode/juce_core.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/windows dll/JuceLibraryCode/juce_cryptography.cpp b/extras/windows dll/JuceLibraryCode/juce_cryptography.cpp new file mode 100644 index 0000000000..10b3401dbe --- /dev/null +++ b/extras/windows dll/JuceLibraryCode/juce_cryptography.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/windows dll/JuceLibraryCode/juce_cryptography.mm b/extras/windows dll/JuceLibraryCode/juce_cryptography.mm new file mode 100644 index 0000000000..9311ea0ffe --- /dev/null +++ b/extras/windows dll/JuceLibraryCode/juce_cryptography.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/windows dll/JuceLibraryCode/juce_data_structures.cpp b/extras/windows dll/JuceLibraryCode/juce_data_structures.cpp new file mode 100644 index 0000000000..9315aa1686 --- /dev/null +++ b/extras/windows dll/JuceLibraryCode/juce_data_structures.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/windows dll/JuceLibraryCode/juce_data_structures.mm b/extras/windows dll/JuceLibraryCode/juce_data_structures.mm new file mode 100644 index 0000000000..695ec43925 --- /dev/null +++ b/extras/windows dll/JuceLibraryCode/juce_data_structures.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/windows dll/JuceLibraryCode/juce_events.cpp b/extras/windows dll/JuceLibraryCode/juce_events.cpp new file mode 100644 index 0000000000..1bba110a97 --- /dev/null +++ b/extras/windows dll/JuceLibraryCode/juce_events.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/windows dll/JuceLibraryCode/juce_events.mm b/extras/windows dll/JuceLibraryCode/juce_events.mm new file mode 100644 index 0000000000..4cc34fc401 --- /dev/null +++ b/extras/windows dll/JuceLibraryCode/juce_events.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/windows dll/JuceLibraryCode/juce_graphics.cpp b/extras/windows dll/JuceLibraryCode/juce_graphics.cpp new file mode 100644 index 0000000000..319c76de0e --- /dev/null +++ b/extras/windows dll/JuceLibraryCode/juce_graphics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/windows dll/JuceLibraryCode/juce_graphics.mm b/extras/windows dll/JuceLibraryCode/juce_graphics.mm new file mode 100644 index 0000000000..b28e6dd056 --- /dev/null +++ b/extras/windows dll/JuceLibraryCode/juce_graphics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/windows dll/JuceLibraryCode/juce_gui_basics.cpp b/extras/windows dll/JuceLibraryCode/juce_gui_basics.cpp new file mode 100644 index 0000000000..216c76bb05 --- /dev/null +++ b/extras/windows dll/JuceLibraryCode/juce_gui_basics.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/windows dll/JuceLibraryCode/juce_gui_basics.mm b/extras/windows dll/JuceLibraryCode/juce_gui_basics.mm new file mode 100644 index 0000000000..6a9726fa5f --- /dev/null +++ b/extras/windows dll/JuceLibraryCode/juce_gui_basics.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/windows dll/JuceLibraryCode/juce_gui_extra.cpp b/extras/windows dll/JuceLibraryCode/juce_gui_extra.cpp new file mode 100644 index 0000000000..7226e19833 --- /dev/null +++ b/extras/windows dll/JuceLibraryCode/juce_gui_extra.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/windows dll/JuceLibraryCode/juce_gui_extra.mm b/extras/windows dll/JuceLibraryCode/juce_gui_extra.mm new file mode 100644 index 0000000000..c9b6c3bfc6 --- /dev/null +++ b/extras/windows dll/JuceLibraryCode/juce_gui_extra.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/windows dll/JuceLibraryCode/juce_opengl.cpp b/extras/windows dll/JuceLibraryCode/juce_opengl.cpp new file mode 100644 index 0000000000..d9895bce92 --- /dev/null +++ b/extras/windows dll/JuceLibraryCode/juce_opengl.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/windows dll/JuceLibraryCode/juce_opengl.mm b/extras/windows dll/JuceLibraryCode/juce_opengl.mm new file mode 100644 index 0000000000..6c2c32d095 --- /dev/null +++ b/extras/windows dll/JuceLibraryCode/juce_opengl.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/windows dll/JuceLibraryCode/juce_video.cpp b/extras/windows dll/JuceLibraryCode/juce_video.cpp new file mode 100644 index 0000000000..bdf22ee131 --- /dev/null +++ b/extras/windows dll/JuceLibraryCode/juce_video.cpp @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/windows dll/JuceLibraryCode/juce_video.mm b/extras/windows dll/JuceLibraryCode/juce_video.mm new file mode 100644 index 0000000000..3da705bccd --- /dev/null +++ b/extras/windows dll/JuceLibraryCode/juce_video.mm @@ -0,0 +1,9 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + +*/ + +#include "AppConfig.h" +#include diff --git a/extras/windows dll/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h b/extras/windows dll/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h deleted file mode 100644 index 9befea8142..0000000000 --- a/extras/windows dll/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_basics/juce_audio_basics.h" diff --git a/extras/windows dll/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h b/extras/windows dll/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h deleted file mode 100644 index eba6d3a9e5..0000000000 --- a/extras/windows dll/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_devices/juce_audio_devices.h" diff --git a/extras/windows dll/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h b/extras/windows dll/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h deleted file mode 100644 index 4629b0ef2c..0000000000 --- a/extras/windows dll/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_formats/juce_audio_formats.h" diff --git a/extras/windows dll/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h b/extras/windows dll/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h deleted file mode 100644 index 7d4583dbf8..0000000000 --- a/extras/windows dll/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_processors/juce_audio_processors.h" diff --git a/extras/windows dll/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h b/extras/windows dll/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h deleted file mode 100644 index bb997d30d3..0000000000 --- a/extras/windows dll/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_audio_utils/juce_audio_utils.h" diff --git a/extras/windows dll/JuceLibraryCode/modules/juce_core/juce_core.h b/extras/windows dll/JuceLibraryCode/modules/juce_core/juce_core.h deleted file mode 100644 index 06e88f9352..0000000000 --- a/extras/windows dll/JuceLibraryCode/modules/juce_core/juce_core.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_core/juce_core.h" diff --git a/extras/windows dll/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h b/extras/windows dll/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h deleted file mode 100644 index e4574f4749..0000000000 --- a/extras/windows dll/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_cryptography/juce_cryptography.h" diff --git a/extras/windows dll/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h b/extras/windows dll/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h deleted file mode 100644 index 9d814fd953..0000000000 --- a/extras/windows dll/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_data_structures/juce_data_structures.h" diff --git a/extras/windows dll/JuceLibraryCode/modules/juce_events/juce_events.h b/extras/windows dll/JuceLibraryCode/modules/juce_events/juce_events.h deleted file mode 100644 index 509b1df8d2..0000000000 --- a/extras/windows dll/JuceLibraryCode/modules/juce_events/juce_events.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_events/juce_events.h" diff --git a/extras/windows dll/JuceLibraryCode/modules/juce_graphics/juce_graphics.h b/extras/windows dll/JuceLibraryCode/modules/juce_graphics/juce_graphics.h deleted file mode 100644 index 28edbf35e3..0000000000 --- a/extras/windows dll/JuceLibraryCode/modules/juce_graphics/juce_graphics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_graphics/juce_graphics.h" diff --git a/extras/windows dll/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h b/extras/windows dll/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h deleted file mode 100644 index 81ad4b7297..0000000000 --- a/extras/windows dll/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_gui_basics/juce_gui_basics.h" diff --git a/extras/windows dll/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h b/extras/windows dll/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h deleted file mode 100644 index 5c9b7a96b5..0000000000 --- a/extras/windows dll/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_gui_extra/juce_gui_extra.h" diff --git a/extras/windows dll/JuceLibraryCode/modules/juce_opengl/juce_opengl.h b/extras/windows dll/JuceLibraryCode/modules/juce_opengl/juce_opengl.h deleted file mode 100644 index 718392ff72..0000000000 --- a/extras/windows dll/JuceLibraryCode/modules/juce_opengl/juce_opengl.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_opengl/juce_opengl.h" diff --git a/extras/windows dll/JuceLibraryCode/modules/juce_video/juce_video.h b/extras/windows dll/JuceLibraryCode/modules/juce_video/juce_video.h deleted file mode 100644 index 0dd1636ec2..0000000000 --- a/extras/windows dll/JuceLibraryCode/modules/juce_video/juce_video.h +++ /dev/null @@ -1,4 +0,0 @@ -// This is an auto-generated file to redirect any included -// module headers to the correct external folder. - -#include "../../../../../modules/juce_video/juce_video.h" diff --git a/extras/windows dll/jucedll.jucer b/extras/windows dll/jucedll.jucer index d4d9a3ac9f..dac92d474f 100644 --- a/extras/windows dll/jucedll.jucer +++ b/extras/windows dll/jucedll.jucer @@ -2,7 +2,7 @@ + jucerVersion="4.2.0" defines="JUCE_DLL_BUILD=1" includeBinaryInAppConfig="1"> diff --git a/modules/JUCE Module Format.txt b/modules/JUCE Module Format.txt new file mode 100644 index 0000000000..164777db08 --- /dev/null +++ b/modules/JUCE Module Format.txt @@ -0,0 +1,160 @@ + + The JUCE Module Format + ====================== + +A JUCE module is a collection of header and source files which can be added to a project +to provide a set of classes or related functionality. + +Their structure is designed to make it as simple as possible for modules to be added to +user projects on many platforms, either via automated tools, or by manual inclusion. + +Each module may have dependencies on other modules, but should be otherwise self-contained. + + File structure + ============== + +Each module lives inside a folder whose name is the same as the name of the module. The +JUCE convention for naming modules is lower-case with underscores, e.g. + +juce_core +juce_events +juce_graphics + +But any name that is a valid C++ identifer is OK. + +Inside the root of this folder, there must be a set of public header and source files which +the user's' project will include. The module may have as many other internal source files as +it needs, but these must all be inside sub-folders! + + +Master header file +------------------ + +In this root folder there must be ONE master header file, which includes all the necessary +header files for the module. This header must have the same name as the module, with +a .h/.hpp/.hxx suffix. E.g. + +juce_core/juce_core.h + +IMPORTANT! All code within a module that includes other files from within its own subfolders +must do so using RELATIVE paths! +A module must be entirely relocatable on disk, and it must not rely on the user's project +having any kind of include path set up correctly for it to work. Even if the user has no +include paths whatsoever and includes the module's master header via an absolute path, +it must still correctly find all of its internally included sub-files. + +This master header file must also contain a comment with a BEGIN_JUCE_MODULE_DECLARATION +block which defines the module's requirements - the syntax for this is described later on.. + + +Module CPP files +---------------- + +A module consists of a single header file and zero or more .cpp files. Fewer is better! + +Ideally, a module could be header-only module, so that a project can use it by simply +including the master header file. + +For various reasons it's usually necessary or preferable to have a simpler header and +some .cpp files that the user's project should compile as stand-alone compile units. +In this case you should ideally provide just a single cpp file in the module's root +folder, and this should internally include all your other cpps from their sub-folders, +so that only a single cpp needs to be added to the user's project in order to completely +compile the module. + +In some cases (e.g. if your module internally relies on 3rd-party code which can't be +easily combined into a single compile-unit) then you may have more than one source file +here, but avoid this if possible, as it will add a burden for users who are manually +adding these files to their projects. + +The names of these source files must begin with the name of the module, but they can have +a number or other suffix if there is more than one. + +In order to specify that a source file should only be compiled on a specific platform, +then the filename can be suffixed with one of the following strings: + +_OSX +_Windows +_Linux +_Android +_iOS + +e.g. +juce_mymodule/juce_mymodule_1.cpp <- compiled on all platforms +juce_mymodule/juce_mymodule_2.cpp <- compiled on all platforms +juce_mymodule/juce_mymodule_OSX.cpp <- compiled only on OSX +juce_mymodule/juce_mymodule_Windows.cpp <- compiled only on Windows + +Often this isn't necessary, as in most cases you can easily add checks inside the files +to do different things depending on the platform, but this may be handy just to avoid +clutter in user projects where files aren't needed. + +To simplify the use of obj-C++ there's also a special-case rule: If the folder contains +both a .mm and a .cpp file whose names are otherwise identical, then on OSX/iOS the .mm +will be used and the cpp ignored. (And vice-versa for other platforms, of course). + + + + The BEGIN_JUCE_MODULE_DECLARATION block + ======================================= + +This block of text needs to go inside the module's main header file. It should be commented-out +and perhaps inside an #if 0 block too, but the Introjucer will just scan the whole file for the +string BEGIN_JUCE_MODULE_DECLARATION, and doesn't care about its context in terms of C++ syntax. + +The block needs a corresponding END_JUCE_MODULE_DECLARATION to finish the block. +These should both be on a line of their own. + +Inside the block, the parser will expect to find a list of value definitions, one-per-line, with +the very simple syntax + + value_name: value + +The value_name must be one of the items listed below, and is case-sensitive. Whitespace on the +line is ignored. Some values are compulsory and must be supplied, but others are optional. +The order in which they're declared doesn't matter. + +Possible values: + + ID: (Compulsory) This ID must match the name of the file and folder, e.g. juce_core. + The main reason for also including it here is as a sanity-check + vendor: (Compulsory) A unique ID for the vendor, e.g. "juce". This should be short + and shouldn't contain any spaces + version: (Compulsory) A version number for the module + name: (Compulsory) A short description of the module + description: (Compulsory) A longer description (but still only one line of text, please!) + + dependencies: (Optional) A list (space or comma-separated) of other modules that are required by + this one. The Introjucer can use this to auto-resolve dependencies. + website: (Optional) A URL linking to useful info about the module] + license: (Optional) A description of the type of software license that applies + searchpaths: (Optional) A space-separated list of internal include paths, relative to the module's + parent folder, which need to be added to a project's header search path + OSXFrameworks: (Optional) A list (space or comma-separated) of OSX frameworks that are needed + by this module + iOSFrameworks: (Optional) Like OSXFrameworks, but for iOS targets + linuxLibs: (Optional) A list (space or comma-separated) of static libs that should be linked in a + linux build (these are passed to the linker via the -l flag) + mingwLibs: (Optional) A list (space or comma-separated) of static libs that should be linked in a + win32 mingw build (these are passed to the linker via the -l flag) + +Here's an example block: + + BEGIN_JUCE_MODULE_DECLARATION + + ID: juce_audio_devices + vendor: juce + version: 4.1.0 + name: JUCE audio and MIDI I/O device classes + description: Classes to play and record from audio and MIDI I/O devices + website: http://www.juce.com/juce + license: GPL/Commercial + + dependencies: juce_audio_basics, juce_audio_formats, juce_events + OSXFrameworks: CoreAudio CoreMIDI DiscRecording + iOSFrameworks: CoreAudio CoreMIDI AudioToolbox AVFoundation + linuxLibs: asound + mingwLibs: winmm + + END_JUCE_MODULE_DECLARATION + diff --git a/modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp b/modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp index ec91ac15fd..8823b426f5 100644 --- a/modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp +++ b/modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp @@ -22,7 +22,6 @@ ============================================================================== */ - struct CatmullRomAlgorithm { static forcedinline float valueAtOffset (const float* const inputs, const float offset) noexcept diff --git a/modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h b/modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h index 466c2278d0..1e2ca396e3 100644 --- a/modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h +++ b/modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h @@ -22,7 +22,6 @@ ============================================================================== */ - /** Interpolator for resampling a stream of floats using Catmull-Rom interpolation. diff --git a/modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h b/modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h index d3231556e5..c33294a1e6 100644 --- a/modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h +++ b/modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h @@ -22,7 +22,6 @@ ============================================================================== */ - /** Interpolator for resampling a stream of floats using 4-point lagrange interpolation. diff --git a/modules/juce_audio_basics/juce_audio_basics.cpp b/modules/juce_audio_basics/juce_audio_basics.cpp index bfef0bd022..86b41a23e7 100644 --- a/modules/juce_audio_basics/juce_audio_basics.cpp +++ b/modules/juce_audio_basics/juce_audio_basics.cpp @@ -67,6 +67,13 @@ #define JUCE_USE_ARM_NEON 1 #endif +#if TARGET_IPHONE_SIMULATOR + #ifdef JUCE_USE_ARM_NEON + #undef JUCE_USE_ARM_NEON + #endif + #define JUCE_USE_ARM_NEON 0 +#endif + #if JUCE_USE_ARM_NEON #include #endif diff --git a/modules/juce_audio_basics/juce_audio_basics.h b/modules/juce_audio_basics/juce_audio_basics.h index 1d797ed64b..a84516f4d3 100644 --- a/modules/juce_audio_basics/juce_audio_basics.h +++ b/modules/juce_audio_basics/juce_audio_basics.h @@ -22,12 +22,37 @@ ============================================================================== */ +/******************************************************************************* + The block below describes the properties of this module, and is read by + the Projucer to automatically generate project code that uses it. + For details about the syntax and how to create or use a module, see the + JUCE Module Format.txt file. + + + BEGIN_JUCE_MODULE_DECLARATION + + ID: juce_audio_basics + vendor: juce + version: 4.2.0 + name: JUCE audio and MIDI data classes + description: Classes for audio buffer manipulation, midi message handling, synthesis, etc. + website: http://www.juce.com/juce + license: GPL/Commercial + + dependencies: juce_core + OSXFrameworks: Accelerate + iOSFrameworks: Accelerate + + END_JUCE_MODULE_DECLARATION + +*******************************************************************************/ + + #ifndef JUCE_AUDIO_BASICS_H_INCLUDED #define JUCE_AUDIO_BASICS_H_INCLUDED -#include "../juce_core/juce_core.h" +#include -//============================================================================== namespace juce { diff --git a/modules/juce_audio_basics/juce_module_info b/modules/juce_audio_basics/juce_module_info deleted file mode 100644 index 7b4f59899b..0000000000 --- a/modules/juce_audio_basics/juce_module_info +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": "juce_audio_basics", - "name": "JUCE audio and midi data classes", - "version": "4.1.0", - "description": "Classes for audio buffer manipulation, midi message handling, synthesis, etc", - "website": "http://www.juce.com/juce", - "license": "GPL/Commercial", - - "dependencies": [ { "id": "juce_core", "version": "matching" }], - - "include": "juce_audio_basics.h", - - "compile": [ { "file": "juce_audio_basics.cpp", "target": "! xcode" }, - { "file": "juce_audio_basics.mm", "target": "xcode" } ], - - "browse": [ "buffers/*", - "effects/*", - "midi/*", - "mpe/*", - "sources/*", - "synthesisers/*" ], - - "OSXFrameworks": "Accelerate", - "iOSFrameworks": "Accelerate" -} diff --git a/modules/juce_audio_basics/midi/juce_MidiRPN.cpp b/modules/juce_audio_basics/midi/juce_MidiRPN.cpp index 1819624e3a..fe3c51ea0e 100644 --- a/modules/juce_audio_basics/midi/juce_MidiRPN.cpp +++ b/modules/juce_audio_basics/midi/juce_MidiRPN.cpp @@ -22,7 +22,6 @@ ============================================================================== */ - MidiRPNDetector::MidiRPNDetector() noexcept { } @@ -55,7 +54,7 @@ void MidiRPNDetector::reset() noexcept } //============================================================================== -MidiRPNDetector::ChannelState::ChannelState () noexcept +MidiRPNDetector::ChannelState::ChannelState() noexcept : parameterMSB (0xff), parameterLSB (0xff), valueMSB (0xff), valueLSB (0xff), isNRPN (false) { } diff --git a/modules/juce_audio_basics/mpe/juce_MPEMessages.cpp b/modules/juce_audio_basics/mpe/juce_MPEMessages.cpp index fcfe2f5807..9759678df4 100644 --- a/modules/juce_audio_basics/mpe/juce_MPEMessages.cpp +++ b/modules/juce_audio_basics/mpe/juce_MPEMessages.cpp @@ -22,7 +22,6 @@ ============================================================================== */ - MidiBuffer MPEMessages::addZone (MPEZone zone) { MidiBuffer buffer (MidiRPNGenerator::generate (zone.getFirstNoteChannel(), diff --git a/modules/juce_audio_devices/juce_audio_devices.h b/modules/juce_audio_devices/juce_audio_devices.h index 9db9e47309..1f889952b1 100644 --- a/modules/juce_audio_devices/juce_audio_devices.h +++ b/modules/juce_audio_devices/juce_audio_devices.h @@ -22,12 +22,40 @@ ============================================================================== */ +/******************************************************************************* + The block below describes the properties of this module, and is read by + the Projucer to automatically generate project code that uses it. + For details about the syntax and how to create or use a module, see the + JUCE Module Format.txt file. + + + BEGIN_JUCE_MODULE_DECLARATION + + ID: juce_audio_devices + vendor: juce + version: 4.2.0 + name: JUCE audio and MIDI I/O device classes + description: Classes to play and record from audio and MIDI I/O devices + website: http://www.juce.com/juce + license: GPL/Commercial + + dependencies: juce_audio_basics, juce_audio_formats, juce_events + OSXFrameworks: CoreAudio CoreMIDI DiscRecording + iOSFrameworks: CoreAudio CoreMIDI AudioToolbox AVFoundation + linuxLibs: asound + mingwLibs: winmm + + END_JUCE_MODULE_DECLARATION + +*******************************************************************************/ + + #ifndef JUCE_AUDIO_DEVICES_H_INCLUDED #define JUCE_AUDIO_DEVICES_H_INCLUDED -#include "../juce_events/juce_events.h" -#include "../juce_audio_basics/juce_audio_basics.h" -#include "../juce_audio_formats/juce_audio_formats.h" +#include +#include +#include //============================================================================== /** Config: JUCE_ASIO diff --git a/modules/juce_audio_devices/juce_module_info b/modules/juce_audio_devices/juce_module_info deleted file mode 100644 index 87dc53df6f..0000000000 --- a/modules/juce_audio_devices/juce_module_info +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": "juce_audio_devices", - "name": "JUCE audio and midi I/O device classes", - "version": "4.1.0", - "description": "Classes to play and record from audio and midi i/o devices.", - "website": "http://www.juce.com/juce", - "license": "GPL/Commercial", - - "dependencies": [ { "id": "juce_audio_basics", "version": "matching" }, - { "id": "juce_audio_formats", "version": "matching" }, - { "id": "juce_events", "version": "matching" } ], - - "include": "juce_audio_devices.h", - - "compile": [ { "file": "juce_audio_devices.cpp", "target": "! xcode" }, - { "file": "juce_audio_devices.mm", "target": "xcode" } ], - - "browse": [ "audio_io/*", - "midi_io/*", - "sources/*", - "audio_cd/*", - "native/*" ], - - "OSXFrameworks": "CoreAudio CoreMIDI DiscRecording", - "iOSFrameworks": "AudioToolbox CoreMIDI CoreAudio AVFoundation", - "LinuxLibs": "asound", - "mingwLibs": "winmm" -} diff --git a/modules/juce_audio_devices/native/juce_android_Midi.cpp b/modules/juce_audio_devices/native/juce_android_Midi.cpp index 01a5ead549..dc972c9257 100644 --- a/modules/juce_audio_devices/native/juce_android_Midi.cpp +++ b/modules/juce_audio_devices/native/juce_android_Midi.cpp @@ -153,7 +153,7 @@ JUCE_JNI_CALLBACK (JUCE_JOIN_MACRO (JUCE_ANDROID_ACTIVITY_CLASSNAME, _00024JuceM class AndroidMidiDeviceManager { public: - AndroidMidiDeviceManager () + AndroidMidiDeviceManager() : deviceManager (android.activity.callObjectMethod (JuceAppActivity.getAndroidMidiDeviceManager)) { } diff --git a/modules/juce_audio_devices/native/juce_android_OpenSL.cpp b/modules/juce_audio_devices/native/juce_android_OpenSL.cpp index 7102afeeee..989552bba7 100644 --- a/modules/juce_audio_devices/native/juce_android_OpenSL.cpp +++ b/modules/juce_audio_devices/native/juce_android_OpenSL.cpp @@ -332,7 +332,7 @@ private: void run() override { - setThreadToAudioPriority (); + setThreadToAudioPriority(); if (recorder != nullptr) recorder->start(); if (player != nullptr) player->start(); @@ -341,7 +341,7 @@ private: processBuffers(); } - void setThreadToAudioPriority () + void setThreadToAudioPriority() { // see android.os.Process.THREAD_PRIORITY_AUDIO const int THREAD_PRIORITY_AUDIO = -16; diff --git a/modules/juce_audio_devices/native/juce_ios_Audio.cpp b/modules/juce_audio_devices/native/juce_ios_Audio.cpp index a335441496..f0da9809a1 100644 --- a/modules/juce_audio_devices/native/juce_ios_Audio.cpp +++ b/modules/juce_audio_devices/native/juce_ios_Audio.cpp @@ -679,6 +679,16 @@ private: AudioUnitSetProperty (audioUnit, kAudioUnitProperty_StreamFormat, kAudioUnitScope_Input, 0, &format, sizeof (format)); AudioUnitSetProperty (audioUnit, kAudioUnitProperty_StreamFormat, kAudioUnitScope_Output, 1, &format, sizeof (format)); + UInt32 framesPerSlice; + UInt32 dataSize = sizeof (framesPerSlice); + + if (AudioUnitGetProperty (audioUnit, kAudioUnitProperty_MaximumFramesPerSlice, kAudioUnitScope_Global, 0, &framesPerSlice, &dataSize) == noErr + && dataSize == sizeof (framesPerSlice) && framesPerSlice != actualBufferSize) + { + actualBufferSize = framesPerSlice; + prepareFloatBuffers (actualBufferSize); + } + AudioUnitInitialize (audioUnit); return true; } diff --git a/modules/juce_audio_devices/native/juce_linux_JackAudio.cpp b/modules/juce_audio_devices/native/juce_linux_JackAudio.cpp index d9dd864625..1a06a89461 100644 --- a/modules/juce_audio_devices/native/juce_linux_JackAudio.cpp +++ b/modules/juce_audio_devices/native/juce_linux_JackAudio.cpp @@ -183,7 +183,7 @@ public: // open output ports const StringArray outputChannels (getOutputChannelNames()); - for (int i = 0; i < outputChannels.size (); ++i) + for (int i = 0; i < outputChannels.size(); ++i) { String outputName; outputName << "out_" << ++totalNumberOfOutputChannels; diff --git a/modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp b/modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp index ffcaf5147e..1ad2e6f503 100644 --- a/modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp +++ b/modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp @@ -222,7 +222,7 @@ public: DisposeMovie (movie); #if JUCE_MAC - ExitMoviesOnThread (); + ExitMoviesOnThread(); #endif } } diff --git a/modules/juce_audio_formats/juce_audio_formats.h b/modules/juce_audio_formats/juce_audio_formats.h index 24ca934223..dfcc1b9b88 100644 --- a/modules/juce_audio_formats/juce_audio_formats.h +++ b/modules/juce_audio_formats/juce_audio_formats.h @@ -22,10 +22,36 @@ ============================================================================== */ +/******************************************************************************* + The block below describes the properties of this module, and is read by + the Projucer to automatically generate project code that uses it. + For details about the syntax and how to create or use a module, see the + JUCE Module Format.txt file. + + + BEGIN_JUCE_MODULE_DECLARATION + + ID: juce_audio_formats + vendor: juce + version: 4.2.0 + name: JUCE audio file format codecs + description: Classes for reading and writing various audio file formats. + website: http://www.juce.com/juce + license: GPL/Commercial + + dependencies: juce_audio_basics + OSXFrameworks: CoreAudio CoreMIDI QuartzCore AudioToolbox + iOSFrameworks: AudioToolbox QuartzCore + + END_JUCE_MODULE_DECLARATION + +*******************************************************************************/ + + #ifndef JUCE_AUDIO_FORMATS_H_INCLUDED #define JUCE_AUDIO_FORMATS_H_INCLUDED -#include "../juce_audio_basics/juce_audio_basics.h" +#include //============================================================================== /** Config: JUCE_USE_FLAC diff --git a/modules/juce_audio_formats/juce_module_info b/modules/juce_audio_formats/juce_module_info deleted file mode 100644 index 555bc9a562..0000000000 --- a/modules/juce_audio_formats/juce_module_info +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "juce_audio_formats", - "name": "JUCE audio file format codecs", - "version": "4.1.0", - "description": "Classes for reading and writing various audio file formats.", - "website": "http://www.juce.com/juce", - "license": "GPL/Commercial", - - "dependencies": [ { "id": "juce_audio_basics", "version": "matching" } ], - - "include": "juce_audio_formats.h", - - "compile": [ { "file": "juce_audio_formats.cpp", "target": "! xcode" }, - { "file": "juce_audio_formats.mm", "target": "xcode" } ], - - "browse": [ "format/*", - "codecs/*", - "sampler/*" ], - - "OSXFrameworks": "CoreAudio CoreMIDI QuartzCore AudioToolbox", - "iOSFrameworks": "AudioToolbox QuartzCore" -} diff --git a/modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp b/modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp index f41c6ae8b7..4b88b63e77 100644 --- a/modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp +++ b/modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp @@ -43,23 +43,23 @@ #pragma warning (disable : 4127 4512) #endif -#include "AAX_Exports.cpp" -#include "AAX_ICollection.h" -#include "AAX_IComponentDescriptor.h" -#include "AAX_IEffectDescriptor.h" -#include "AAX_IPropertyMap.h" -#include "AAX_CEffectParameters.h" -#include "AAX_Errors.h" -#include "AAX_CBinaryTaperDelegate.h" -#include "AAX_CBinaryDisplayDelegate.h" -#include "AAX_CLinearTaperDelegate.h" -#include "AAX_CNumberDisplayDelegate.h" -#include "AAX_CEffectGUI.h" -#include "AAX_IViewContainer.h" -#include "AAX_ITransport.h" -#include "AAX_IMIDINode.h" -#include "AAX_UtilsNative.h" -#include "AAX_Enums.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #ifdef _MSC_VER #pragma warning (pop) @@ -71,7 +71,7 @@ #if JUCE_WINDOWS #ifndef JucePlugin_AAXLibs_path - #error "You need to define the JucePlugin_AAXLibs_path macro. (This is best done via the introjucer)" + #error "You need to define the JucePlugin_AAXLibs_path macro. (This is best done via the Projucer)" #endif #if JUCE_64BIT @@ -94,6 +94,9 @@ #undef check const int32_t juceChunkType = 'juce'; +const int maxAAXChannels = 8; + +JUCE_DEFINE_WRAPPER_TYPE (wrapperType_AAX); //============================================================================== struct AAXClasses @@ -121,6 +124,7 @@ struct AAXClasses }; static AAXChannelStreamOrder aaxChannelOrder[]; + static AAX_EStemFormat aaxFormats[AAX_eStemFormatNum]; static AAX_EStemFormat getFormatForAudioChannelSet (const AudioChannelSet& set, bool ignoreLayout) noexcept { @@ -494,19 +498,23 @@ struct AAXClasses { public: JuceAAX_Processor() : pluginInstance (createPluginFilterOfType (AudioProcessor::wrapperType_AAX)), - busUtils (*pluginInstance, false), + busUtils (*pluginInstance, false, maxAAXChannels), sampleRate (0), lastBufferSize (1024), maxBufferSize (1024), hasSidechain (false) { pluginInstance->setPlayHead (this); pluginInstance->addListener (this); - busUtils.findAllCompatibleLayouts(); + busUtils.init(); AAX_CEffectParameters::GetNumberOfChunks (&juceChunkIndex); } - static AAX_CEffectParameters* AAX_CALLBACK Create() { return new JuceAAX_Processor(); } + static AAX_CEffectParameters* AAX_CALLBACK Create() + { + JUCE_DECLARE_WRAPPER_TYPE (wrapperType_AAX); + return new JuceAAX_Processor(); + } AAX_Result EffectInit() override { @@ -1226,6 +1234,10 @@ struct AAXClasses ? static_cast (*i.sideChainBuffers) : -1; + // sidechain index of zero is an invalid index + if (sideChainBufferIdx <= 0) + sideChainBufferIdx = -1; + i.pluginInstance->parameters.process (i.inputChannels, i.outputChannels, sideChainBufferIdx, *(i.bufferSize), *(i.bypass) != 0, getMidiNodeIn(i), getMidiNodeOut(i)); @@ -1279,8 +1291,9 @@ struct AAXClasses bool success = true; bool hasSidechain = false; - if (const AudioChannelSet* set = busUtils.getSupportedBusLayouts (true, 1).getDefaultLayoutForChannelNum (1)) - hasSidechain = busUtils.processor.setPreferredBusArrangement (true, 1, *set); + const AudioChannelSet set = busUtils.getDefaultLayoutForChannelNumAndBus (true, 1, 1); + if (! set.isDisabled()) + hasSidechain = busUtils.processor.setPreferredBusArrangement (true, 1, set); if (! hasSidechain) success = busUtils.processor.setPreferredBusArrangement (true, 1, AudioChannelSet::disabled()); @@ -1410,10 +1423,17 @@ struct AAXClasses static void getPlugInDescription (AAX_IEffectDescriptor& descriptor) { - ScopedPointer plugin = createPluginFilterOfType (AudioProcessor::wrapperType_AAX); - PluginBusUtilities busUtils (*plugin, false); + JUCE_DECLARE_WRAPPER_TYPE (wrapperType_AAX); - busUtils.findAllCompatibleLayouts(); + ScopedPointer plugin = createPluginFilterOfType (AudioProcessor::wrapperType_AAX); + PluginBusUtilities busUtils (*plugin, false, maxAAXChannels); + + busUtils.init(); + + // AAX requires your default layout to be non-discrete! + // For example, your default layout must be mono, stereo, quadrophonic + // and not AudioChannelSet::discreteChannels (2) etc. + jassert (busUtils.checkBusFormatsAreNotDiscrete()); descriptor.AddName (JucePlugin_Desc); descriptor.AddName (JucePlugin_Name); @@ -1428,16 +1448,9 @@ struct AAXClasses check (descriptor.AddProcPtr ((void*) JuceAAX_GUI::Create, kAAX_ProcPtrID_Create_EffectGUI)); check (descriptor.AddProcPtr ((void*) JuceAAX_Processor::Create, kAAX_ProcPtrID_Create_EffectParameters)); - SortedSet aaxFormats; - SortedSet inLayouts = busUtils.getBusCount (true) > 0 ? busUtils.getSupportedBusLayouts (true, 0).supportedLayouts : SortedSet(); - SortedSet outLayouts = busUtils.getBusCount (false) > 0 ? busUtils.getSupportedBusLayouts (false, 0).supportedLayouts : SortedSet(); - - const int numIns = inLayouts. size(); - const int numOuts = outLayouts.size(); - #if JucePlugin_IsMidiEffect // MIDI effect plug-ins do not support any audio channels - jassert (numIns == 0 && numOuts == 0); + jassert (getBusCount (true) == 0 && getBusCount (false) == 0); if (AAX_IComponentDescriptor* const desc = descriptor.NewComponentDescriptor()) { @@ -1450,34 +1463,32 @@ struct AAXClasses #else int configIndex = 0; + const int numIns = busUtils.getBusCount (true) > 0 ? AAX_eStemFormatNum : 0; + const int numOuts = busUtils.getBusCount (false) > 0 ? AAX_eStemFormatNum : 0; + for (int inIdx = 0; inIdx < jmax (numIns, 1); ++inIdx) { + AAX_EStemFormat aaxInFormat = numIns > 0 ? aaxFormats[inIdx] : AAX_eStemFormat_None; + AudioChannelSet inLayout = channelSetFromStemFormat (aaxInFormat, false); + for (int outIdx = 0; outIdx < jmax (numOuts, 1); ++outIdx) { + AAX_EStemFormat aaxOutFormat = numOuts > 0 ? aaxFormats[outIdx] : AAX_eStemFormat_None; + AudioChannelSet outLayout = channelSetFromStemFormat (aaxOutFormat, false); + bool success = true; if (numIns > 0) - success = busUtils.processor.setPreferredBusArrangement (true, 0, inLayouts.getReference (inIdx)); + success = busUtils.processor.setPreferredBusArrangement (true, 0, inLayout); if (numOuts > 0 && success) - success = busUtils.processor.setPreferredBusArrangement (false, 0, outLayouts.getReference (outIdx)); + success = busUtils.processor.setPreferredBusArrangement (false, 0, outLayout); - // We should never hit this assertion: PluginBusUtilities reported this as supported. - // Please report this as a bug! - jassert (success); - - AudioChannelSet inLayout = numIns > 0 ? busUtils.getChannelSet (true, 0) : AudioChannelSet(); - AudioChannelSet outLayout = numOuts > 0 ? busUtils.getChannelSet (false, 0) : AudioChannelSet(); - - // if we can't set both in AND out formats simultaneously then ignore this format! - if (numIns > 0 && numOuts > 0 && (inLayout != inLayouts.getReference (inIdx) || (outLayout != outLayouts.getReference (outIdx)))) + if (! success) continue; - AAX_EStemFormat aaxInFormat = getFormatForAudioChannelSet (inLayout, busUtils.busIgnoresLayout (true, 0)); - AAX_EStemFormat aaxOutFormat = getFormatForAudioChannelSet (outLayout, busUtils.busIgnoresLayout (false, 0)); - - // does AAX support this layout? - if (aaxInFormat == AAX_eStemFormat_INT32_MAX || aaxOutFormat == AAX_eStemFormat_INT32_MAX) + // if we can't set both in AND out formats simultaneously then ignore this format! + if (numIns > 0 && numOuts > 0 && (inLayout != busUtils.getChannelSet (true, 0) || (outLayout != busUtils.getChannelSet (false, 0)))) continue; // AAX requires a single input if this plug-in is a synth @@ -1489,16 +1500,10 @@ struct AAXClasses if (aaxInFormat == AAX_eStemFormat_None && aaxOutFormat == AAX_eStemFormat_None) continue; - AAXFormatConfiguration aaxFormat (aaxInFormat, aaxOutFormat); - if (aaxFormats.indexOf (aaxFormat) < 0) + if (AAX_IComponentDescriptor* const desc = descriptor.NewComponentDescriptor()) { - aaxFormats.add (aaxFormat); - - if (AAX_IComponentDescriptor* const desc = descriptor.NewComponentDescriptor()) - { - createDescriptor (*desc, configIndex++, busUtils, inLayout, outLayout, aaxInFormat, aaxOutFormat); - check (descriptor.AddComponent (desc)); - } + createDescriptor (*desc, configIndex++, busUtils, inLayout, outLayout, aaxInFormat, aaxOutFormat); + check (descriptor.AddComponent (desc)); } } } @@ -1510,21 +1515,38 @@ struct AAXClasses }; //============================================================================== +AAX_EStemFormat AAXClasses::aaxFormats[] = +{ + AAX_eStemFormat_Mono, + AAX_eStemFormat_Stereo, + AAX_eStemFormat_LCR, + AAX_eStemFormat_LCRS, + AAX_eStemFormat_Quad, + AAX_eStemFormat_5_0, + AAX_eStemFormat_5_1, + AAX_eStemFormat_6_0, + AAX_eStemFormat_6_1, + AAX_eStemFormat_7_0_SDDS, + AAX_eStemFormat_7_1_SDDS, + AAX_eStemFormat_7_0_DTS, + AAX_eStemFormat_7_1_DTS +}; + AAXClasses::AAXChannelStreamOrder AAXClasses::aaxChannelOrder[] = { {AAX_eStemFormat_Mono, {AudioChannelSet::centre, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown}}, {AAX_eStemFormat_Stereo, {AudioChannelSet::left, AudioChannelSet::right, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown}}, {AAX_eStemFormat_LCR, {AudioChannelSet::left, AudioChannelSet::centre, AudioChannelSet::right, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown}}, {AAX_eStemFormat_LCRS, {AudioChannelSet::left, AudioChannelSet::centre, AudioChannelSet::right, AudioChannelSet::surround, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown}}, - {AAX_eStemFormat_Quad, {AudioChannelSet::left, AudioChannelSet::right, AudioChannelSet::surroundLeft, AudioChannelSet::surroundRight, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown}}, - {AAX_eStemFormat_5_0, {AudioChannelSet::left, AudioChannelSet::centre, AudioChannelSet::right, AudioChannelSet::surroundLeft, AudioChannelSet::surroundRight, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown}}, - {AAX_eStemFormat_5_1, {AudioChannelSet::left, AudioChannelSet::centre, AudioChannelSet::right, AudioChannelSet::surroundLeft, AudioChannelSet::surroundRight, AudioChannelSet::subbass, AudioChannelSet::unknown, AudioChannelSet::unknown}}, - {AAX_eStemFormat_6_0, {AudioChannelSet::left, AudioChannelSet::centre, AudioChannelSet::right, AudioChannelSet::surroundLeft, AudioChannelSet::surround, AudioChannelSet::surroundRight, AudioChannelSet::unknown, AudioChannelSet::unknown}}, - {AAX_eStemFormat_6_1, {AudioChannelSet::left, AudioChannelSet::centre, AudioChannelSet::right, AudioChannelSet::surroundLeft, AudioChannelSet::surround, AudioChannelSet::surroundRight, AudioChannelSet::subbass, AudioChannelSet::unknown}}, - {AAX_eStemFormat_7_0_SDDS, {AudioChannelSet::left, AudioChannelSet::centreLeft, AudioChannelSet::centre, AudioChannelSet::centreRight, AudioChannelSet::right, AudioChannelSet::surroundLeft, AudioChannelSet::surroundRight, AudioChannelSet::unknown}}, - {AAX_eStemFormat_7_0_DTS, {AudioChannelSet::left, AudioChannelSet::centre, AudioChannelSet::right, AudioChannelSet::sideLeft, AudioChannelSet::sideRight, AudioChannelSet::surroundLeft, AudioChannelSet::surroundRight, AudioChannelSet::unknown}}, - {AAX_eStemFormat_7_1_SDDS, {AudioChannelSet::left, AudioChannelSet::centreLeft, AudioChannelSet::centre, AudioChannelSet::centreRight, AudioChannelSet::right, AudioChannelSet::surroundLeft, AudioChannelSet::surroundRight, AudioChannelSet::subbass}}, - {AAX_eStemFormat_7_1_DTS, {AudioChannelSet::left, AudioChannelSet::centre, AudioChannelSet::right, AudioChannelSet::sideLeft, AudioChannelSet::sideRight, AudioChannelSet::surroundLeft, AudioChannelSet::surroundRight, AudioChannelSet::subbass}}, + {AAX_eStemFormat_Quad, {AudioChannelSet::left, AudioChannelSet::right, AudioChannelSet::leftSurround, AudioChannelSet::rightSurround, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown}}, + {AAX_eStemFormat_5_0, {AudioChannelSet::left, AudioChannelSet::centre, AudioChannelSet::right, AudioChannelSet::leftSurround, AudioChannelSet::rightSurround, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown}}, + {AAX_eStemFormat_5_1, {AudioChannelSet::left, AudioChannelSet::centre, AudioChannelSet::right, AudioChannelSet::leftSurround, AudioChannelSet::rightSurround, AudioChannelSet::subbass, AudioChannelSet::unknown, AudioChannelSet::unknown}}, + {AAX_eStemFormat_6_0, {AudioChannelSet::left, AudioChannelSet::centre, AudioChannelSet::right, AudioChannelSet::leftSurround, AudioChannelSet::surround, AudioChannelSet::rightSurround, AudioChannelSet::unknown, AudioChannelSet::unknown}}, + {AAX_eStemFormat_6_1, {AudioChannelSet::left, AudioChannelSet::centre, AudioChannelSet::right, AudioChannelSet::leftSurround, AudioChannelSet::surround, AudioChannelSet::rightSurround, AudioChannelSet::subbass, AudioChannelSet::unknown}}, + {AAX_eStemFormat_7_0_SDDS, {AudioChannelSet::left, AudioChannelSet::leftCentre, AudioChannelSet::centre, AudioChannelSet::rightCentre, AudioChannelSet::right, AudioChannelSet::leftSurround, AudioChannelSet::rightSurround, AudioChannelSet::unknown}}, + {AAX_eStemFormat_7_0_DTS, {AudioChannelSet::left, AudioChannelSet::centre, AudioChannelSet::right, AudioChannelSet::leftRearSurround, AudioChannelSet::rightRearSurround, AudioChannelSet::leftSurround, AudioChannelSet::rightSurround, AudioChannelSet::unknown}}, + {AAX_eStemFormat_7_1_SDDS, {AudioChannelSet::left, AudioChannelSet::leftCentre, AudioChannelSet::centre, AudioChannelSet::rightCentre, AudioChannelSet::right, AudioChannelSet::leftSurround, AudioChannelSet::rightSurround, AudioChannelSet::subbass}}, + {AAX_eStemFormat_7_1_DTS, {AudioChannelSet::left, AudioChannelSet::centre, AudioChannelSet::right, AudioChannelSet::leftRearSurround, AudioChannelSet::rightRearSurround, AudioChannelSet::leftSurround, AudioChannelSet::rightSurround, AudioChannelSet::subbass}}, {AAX_eStemFormat_None, {AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown}}, }; diff --git a/modules/juce_audio_plugin_client/AU/AUResources.r b/modules/juce_audio_plugin_client/AU/AUResources.r deleted file mode 100644 index 55040fc396..0000000000 --- a/modules/juce_audio_plugin_client/AU/AUResources.r +++ /dev/null @@ -1,140 +0,0 @@ -/* - File: AUResources.r - Abstract: AUResources.r - Version: 1.1 - - Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple - Inc. ("Apple") in consideration of your agreement to the following - terms, and your use, installation, modification or redistribution of - this Apple software constitutes acceptance of these terms. If you do - not agree with these terms, please do not use, install, modify or - redistribute this Apple software. - - In consideration of your agreement to abide by the following terms, and - subject to these terms, Apple grants you a personal, non-exclusive - license, under Apple's copyrights in this original Apple software (the - "Apple Software"), to use, reproduce, modify and redistribute the Apple - Software, with or without modifications, in source and/or binary forms; - provided that if you redistribute the Apple Software in its entirety and - without modifications, you must retain this notice and the following - text and disclaimers in all such redistributions of the Apple Software. - Neither the name, trademarks, service marks or logos of Apple Inc. may - be used to endorse or promote products derived from the Apple Software - without specific prior written permission from Apple. Except as - expressly stated in this notice, no other rights or licenses, express or - implied, are granted by Apple herein, including but not limited to any - patent rights that may be infringed by your derivative works or by other - works in which the Apple Software may be incorporated. - - The Apple Software is provided by Apple on an "AS IS" basis. APPLE - MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION - THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS - FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND - OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. - - IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL - OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, - MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED - AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), - STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. - - Copyright (C) 2014 Apple Inc. All Rights Reserved. - -*/ -/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// AUResources.r -// -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ - -/* sample macro definitions -- all of these symbols must be defined -#define RES_ID kHALOutputResID -#define COMP_TYPE kAudioUnitComponentType -#define COMP_SUBTYPE kAudioUnitOutputSubType -#define COMP_MANUF kAudioUnitAudioHardwareOutputSubSubType -#define VERSION 0x00010000 -#define NAME "AudioHALOutput" -#define DESCRIPTION "Audio hardware output AudioUnit" -#define ENTRY_POINT "AUHALEntry" -*/ -#define UseExtendedThingResource 1 - -#include - -// this is a define used to indicate that a component has no static data that would mean -// that no more than one instance could be open at a time - never been true for AUs -#ifndef cmpThreadSafeOnMac -#define cmpThreadSafeOnMac 0x10000000 -#endif - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -resource 'STR ' (RES_ID, purgeable) { - NAME -}; - -resource 'STR ' (RES_ID + 1, purgeable) { - DESCRIPTION -}; - -resource 'dlle' (RES_ID) { - ENTRY_POINT -}; - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -resource 'thng' (RES_ID, NAME) { - COMP_TYPE, - COMP_SUBTYPE, - COMP_MANUF, - 0, 0, 0, 0, // no 68K - 'STR ', RES_ID, - 'STR ', RES_ID + 1, - 0, 0, /* icon */ - VERSION, - componentHasMultiplePlatforms | componentDoAutoVersion, - 0, - { - #if defined(ppc_YES) - cmpThreadSafeOnMac, - 'dlle', RES_ID, platformPowerPCNativeEntryPoint - #define NeedLeadingComma 1 - #endif - #if defined(ppc64_YES) - #if defined(NeedLeadingComma) - , - #endif - cmpThreadSafeOnMac, - 'dlle', RES_ID, platformPowerPC64NativeEntryPoint - #define NeedLeadingComma 1 - #endif - #if defined(i386_YES) - #if defined(NeedLeadingComma) - , - #endif - cmpThreadSafeOnMac, - 'dlle', RES_ID, platformIA32NativeEntryPoint - #define NeedLeadingComma 1 - #endif - #if defined(x86_64_YES) - #if defined(NeedLeadingComma) - , - #endif - cmpThreadSafeOnMac, - 'dlle', RES_ID, 8 - #define NeedLeadingComma 1 - #endif - } -}; - -#undef RES_ID -#undef COMP_TYPE -#undef COMP_SUBTYPE -#undef COMP_MANUF -#undef VERSION -#undef NAME -#undef DESCRIPTION -#undef ENTRY_POINT -#undef NeedLeadingComma diff --git a/modules/juce_audio_plugin_client/AU/juce_AU_Shared.h b/modules/juce_audio_plugin_client/AU/juce_AU_Shared.h new file mode 100644 index 0000000000..415615f2d1 --- /dev/null +++ b/modules/juce_audio_plugin_client/AU/juce_AU_Shared.h @@ -0,0 +1,778 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +// This macro can be set if you need to override this internal name for some reason.. +#ifndef JUCE_STATE_DICTIONARY_KEY + #define JUCE_STATE_DICTIONARY_KEY "jucePluginState" +#endif + +struct AudioUnitHelpers +{ + // maps a channel index into an AU format to an index of a juce format + struct AUChannelStreamOrder + { + AudioChannelLayoutTag auLayoutTag; + AudioChannelLabel speakerOrder[8]; + }; + + static AUChannelStreamOrder auChannelStreamOrder[]; + + static AudioChannelSet::ChannelType CoreAudioChannelLabelToJuceType (AudioChannelLabel label) noexcept + { + if (label >= kAudioChannelLabel_Discrete_0 && label <= kAudioChannelLabel_Discrete_65535) + { + const unsigned int discreteChannelNum = label - kAudioChannelLabel_Discrete_0; + return static_cast (AudioChannelSet::discreteChannel0 + discreteChannelNum); + } + + switch (label) + { + case kAudioChannelLabel_Center: + case kAudioChannelLabel_Mono: return AudioChannelSet::centre; + case kAudioChannelLabel_Left: + case kAudioChannelLabel_HeadphonesLeft: return AudioChannelSet::left; + case kAudioChannelLabel_Right: + case kAudioChannelLabel_HeadphonesRight: return AudioChannelSet::right; + case kAudioChannelLabel_LFEScreen: return AudioChannelSet::subbass; + case kAudioChannelLabel_LeftSurround: return AudioChannelSet::leftSurround; + case kAudioChannelLabel_RightSurround: return AudioChannelSet::rightSurround; + case kAudioChannelLabel_LeftCenter: return AudioChannelSet::leftCentre; + case kAudioChannelLabel_RightCenter: return AudioChannelSet::rightCentre; + case kAudioChannelLabel_CenterSurround: return AudioChannelSet::surround; + case kAudioChannelLabel_LeftSurroundDirect: return AudioChannelSet::leftSurroundDirect; + case kAudioChannelLabel_RightSurroundDirect: return AudioChannelSet::rightSurroundDirect; + case kAudioChannelLabel_TopCenterSurround: return AudioChannelSet::topMiddle; + case kAudioChannelLabel_VerticalHeightLeft: return AudioChannelSet::topFrontLeft; + case kAudioChannelLabel_VerticalHeightRight: return AudioChannelSet::topFrontRight; + case kAudioChannelLabel_VerticalHeightCenter: return AudioChannelSet::topFrontCentre; + case kAudioChannelLabel_TopBackLeft: return AudioChannelSet::topRearLeft; + case kAudioChannelLabel_RearSurroundLeft: return AudioChannelSet::leftRearSurround; + case kAudioChannelLabel_TopBackRight: return AudioChannelSet::topRearRight; + case kAudioChannelLabel_RearSurroundRight: return AudioChannelSet::rightRearSurround; + case kAudioChannelLabel_TopBackCenter: return AudioChannelSet::topRearCentre; + case kAudioChannelLabel_LFE2: return AudioChannelSet::subbass2; + case kAudioChannelLabel_LeftWide: return AudioChannelSet::wideLeft; + case kAudioChannelLabel_RightWide: return AudioChannelSet::wideRight; + case kAudioChannelLabel_Ambisonic_W: return AudioChannelSet::ambisonicW; + case kAudioChannelLabel_Ambisonic_X: return AudioChannelSet::ambisonicX; + case kAudioChannelLabel_Ambisonic_Y: return AudioChannelSet::ambisonicY; + case kAudioChannelLabel_Ambisonic_Z: return AudioChannelSet::ambisonicZ; + default: return AudioChannelSet::unknown; + } + } + + static AudioChannelLabel JuceChannelTypeToCoreAudioLabel (const AudioChannelSet::ChannelType& label) noexcept + { + if (label >= AudioChannelSet::discreteChannel0) + { + const unsigned int discreteChannelNum = label - AudioChannelSet::discreteChannel0;; + return static_cast (kAudioChannelLabel_Discrete_0 + discreteChannelNum); + } + + switch (label) + { + case AudioChannelSet::centre: return kAudioChannelLabel_Center; + case AudioChannelSet::left: return kAudioChannelLabel_Left; + case AudioChannelSet::right: return kAudioChannelLabel_Right; + case AudioChannelSet::subbass: return kAudioChannelLabel_LFEScreen; + case AudioChannelSet::leftRearSurround: return kAudioChannelLabel_RearSurroundLeft; + case AudioChannelSet::rightRearSurround: return kAudioChannelLabel_RearSurroundRight; + case AudioChannelSet::leftCentre: return kAudioChannelLabel_LeftCenter; + case AudioChannelSet::rightCentre: return kAudioChannelLabel_RightCenter; + case AudioChannelSet::surround: return kAudioChannelLabel_CenterSurround; + case AudioChannelSet::leftSurround: return kAudioChannelLabel_LeftSurround; + case AudioChannelSet::rightSurround: return kAudioChannelLabel_RightSurround; + case AudioChannelSet::topMiddle: return kAudioChannelLabel_TopCenterSurround; + case AudioChannelSet::topFrontLeft: return kAudioChannelLabel_VerticalHeightLeft; + case AudioChannelSet::topFrontRight: return kAudioChannelLabel_VerticalHeightRight; + case AudioChannelSet::topFrontCentre: return kAudioChannelLabel_VerticalHeightCenter; + case AudioChannelSet::topRearLeft: return kAudioChannelLabel_TopBackLeft; + case AudioChannelSet::topRearRight: return kAudioChannelLabel_TopBackRight; + case AudioChannelSet::topRearCentre: return kAudioChannelLabel_TopBackCenter; + case AudioChannelSet::subbass2: return kAudioChannelLabel_LFE2; + case AudioChannelSet::wideLeft: return kAudioChannelLabel_LeftWide; + case AudioChannelSet::wideRight: return kAudioChannelLabel_RightWide; + case AudioChannelSet::ambisonicW: return kAudioChannelLabel_Ambisonic_W; + case AudioChannelSet::ambisonicX: return kAudioChannelLabel_Ambisonic_X; + case AudioChannelSet::ambisonicY: return kAudioChannelLabel_Ambisonic_Y; + case AudioChannelSet::ambisonicZ: return kAudioChannelLabel_Ambisonic_Z; + case AudioChannelSet::leftSurroundDirect: return kAudioChannelLabel_LeftSurroundDirect; + case AudioChannelSet::rightSurroundDirect: return kAudioChannelLabel_RightSurroundDirect; + case AudioChannelSet::unknown: return kAudioChannelLabel_Unknown; + case AudioChannelSet::discreteChannel0: return kAudioChannelLabel_Discrete_0; + } + + return kAudioChannelLabel_Unknown; + } + + static AudioChannelSet CoreAudioChannelBitmapToJuceType (UInt32 bitmap) noexcept + { + AudioChannelSet set; + + if ((bitmap & kAudioChannelBit_Left) != 0) set.addChannel (AudioChannelSet::left); + if ((bitmap & kAudioChannelBit_Right) != 0) set.addChannel (AudioChannelSet::right); + if ((bitmap & kAudioChannelBit_Center) != 0) set.addChannel (AudioChannelSet::centre); + if ((bitmap & kAudioChannelBit_LFEScreen) != 0) set.addChannel (AudioChannelSet::subbass); + if ((bitmap & kAudioChannelBit_LeftSurroundDirect) != 0) set.addChannel (AudioChannelSet::leftSurroundDirect); + if ((bitmap & kAudioChannelBit_RightSurroundDirect) != 0) set.addChannel (AudioChannelSet::rightSurroundDirect); + if ((bitmap & kAudioChannelBit_LeftCenter) != 0) set.addChannel (AudioChannelSet::leftCentre); + if ((bitmap & kAudioChannelBit_RightCenter) != 0) set.addChannel (AudioChannelSet::rightCentre); + if ((bitmap & kAudioChannelBit_CenterSurround) != 0) set.addChannel (AudioChannelSet::surround); + if ((bitmap & kAudioChannelBit_LeftSurround) != 0) set.addChannel (AudioChannelSet::leftSurround); + if ((bitmap & kAudioChannelBit_RightSurround) != 0) set.addChannel (AudioChannelSet::rightSurround); + if ((bitmap & kAudioChannelBit_TopCenterSurround) != 0) set.addChannel (AudioChannelSet::topMiddle); + if ((bitmap & kAudioChannelBit_VerticalHeightLeft) != 0) set.addChannel (AudioChannelSet::topFrontLeft); + if ((bitmap & kAudioChannelBit_VerticalHeightCenter) != 0) set.addChannel (AudioChannelSet::topFrontCentre); + if ((bitmap & kAudioChannelBit_VerticalHeightRight) != 0) set.addChannel (AudioChannelSet::topFrontRight); + if ((bitmap & kAudioChannelBit_TopBackLeft) != 0) set.addChannel (AudioChannelSet::topRearLeft); + if ((bitmap & kAudioChannelBit_TopBackCenter) != 0) set.addChannel (AudioChannelSet::topRearCentre); + if ((bitmap & kAudioChannelBit_TopBackRight) != 0) set.addChannel (AudioChannelSet::topRearRight); + + return set; + } + + static AudioChannelSet CoreAudioChannelLayoutToJuceType (const AudioChannelLayout& layout) noexcept + { + const AudioChannelLayoutTag tag = layout.mChannelLayoutTag; + + if (tag == kAudioChannelLayoutTag_UseChannelBitmap) return CoreAudioChannelBitmapToJuceType (layout.mChannelBitmap); + if (tag == kAudioChannelLayoutTag_UseChannelDescriptions) + { + if (layout.mNumberChannelDescriptions <= 8) + { + // first try to convert the layout via the auChannelStreamOrder array + int layoutIndex; + for (layoutIndex = 0; auChannelStreamOrder[layoutIndex].auLayoutTag != 0; ++layoutIndex) + { + const AUChannelStreamOrder& streamOrder = auChannelStreamOrder[layoutIndex]; + + int numChannels; + for (numChannels = 0; numChannels < 8 && streamOrder.speakerOrder[numChannels] != 0;) + ++numChannels; + + if (numChannels != (int) layout.mNumberChannelDescriptions) + continue; + + int ch; + for (ch = 0; ch < numChannels; ++ch) + if (streamOrder.speakerOrder[ch] != layout.mChannelDescriptions[ch].mChannelLabel) + break; + + // match! + if (ch == numChannels) + break; + } + + if (auChannelStreamOrder[layoutIndex].auLayoutTag != 0) + return CALayoutTagToChannelSet (auChannelStreamOrder[layoutIndex].auLayoutTag); + } + AudioChannelSet set; + for (unsigned int i = 0; i < layout.mNumberChannelDescriptions; ++i) + set.addChannel (CoreAudioChannelLabelToJuceType (layout.mChannelDescriptions[i].mChannelLabel)); + + return set; + } + + return CALayoutTagToChannelSet (tag); + } + + static AudioChannelSet CALayoutTagToChannelSet (AudioChannelLayoutTag tag) noexcept + { + switch (tag) + { + case kAudioChannelLayoutTag_Unknown: return AudioChannelSet::disabled(); + case kAudioChannelLayoutTag_Mono: return AudioChannelSet::mono(); + case kAudioChannelLayoutTag_Stereo: + case kAudioChannelLayoutTag_StereoHeadphones: + case kAudioChannelLayoutTag_Binaural: return AudioChannelSet::stereo(); + case kAudioChannelLayoutTag_Quadraphonic: return AudioChannelSet::quadraphonic(); + case kAudioChannelLayoutTag_Pentagonal: return AudioChannelSet::pentagonal(); + case kAudioChannelLayoutTag_Hexagonal: return AudioChannelSet::hexagonal(); + case kAudioChannelLayoutTag_Octagonal: return AudioChannelSet::octagonal(); + case kAudioChannelLayoutTag_Ambisonic_B_Format: return AudioChannelSet::ambisonic(); + case kAudioChannelLayoutTag_AudioUnit_6_0: return AudioChannelSet::create6point0(); + case kAudioChannelLayoutTag_DTS_6_0_A: return AudioChannelSet::create6point0Music(); + case kAudioChannelLayoutTag_MPEG_6_1_A: return AudioChannelSet::create6point1(); + case kAudioChannelLayoutTag_MPEG_5_0_B: return AudioChannelSet::create5point0(); + case kAudioChannelLayoutTag_MPEG_5_1_A: return AudioChannelSet::create5point1(); + case kAudioChannelLayoutTag_DTS_7_1: + case kAudioChannelLayoutTag_MPEG_7_1_C: return AudioChannelSet::create7point1(); + case kAudioChannelLayoutTag_AudioUnit_7_0: return AudioChannelSet::create7point0(); + case kAudioChannelLayoutTag_AudioUnit_7_0_Front: return AudioChannelSet::createFront7point0(); + case kAudioChannelLayoutTag_AudioUnit_7_1_Front: return AudioChannelSet::createFront7point1(); + case kAudioChannelLayoutTag_MPEG_3_0_A: + case kAudioChannelLayoutTag_MPEG_3_0_B: return AudioChannelSet::createLCR(); + case kAudioChannelLayoutTag_MPEG_4_0_A: + case kAudioChannelLayoutTag_MPEG_4_0_B: return AudioChannelSet::createLCRS(); + case kAudioChannelLayoutTag_ITU_2_1: return AudioChannelSet::createLRS(); + case kAudioChannelLayoutTag_EAC3_7_1_C: return AudioChannelSet::create7point1AC3(); + } + + if (int numChannels = static_cast (tag) & 0xffff) + return AudioChannelSet::discreteChannels (numChannels); + + // Bitmap and channel description array layout tags are currently unsupported :-( + jassertfalse; + return AudioChannelSet(); + } + + static AudioChannelLayoutTag ChannelSetToCALayoutTag (const AudioChannelSet& set) noexcept + { + if (set == AudioChannelSet::mono()) return kAudioChannelLayoutTag_Mono; + if (set == AudioChannelSet::stereo()) return kAudioChannelLayoutTag_Stereo; + if (set == AudioChannelSet::createLCR()) return kAudioChannelLayoutTag_MPEG_3_0_A; + if (set == AudioChannelSet::createLRS()) return kAudioChannelLayoutTag_ITU_2_1; + if (set == AudioChannelSet::createLCRS()) return kAudioChannelLayoutTag_MPEG_4_0_A; + if (set == AudioChannelSet::quadraphonic()) return kAudioChannelLayoutTag_Quadraphonic; + if (set == AudioChannelSet::pentagonal()) return kAudioChannelLayoutTag_Pentagonal; + if (set == AudioChannelSet::hexagonal()) return kAudioChannelLayoutTag_Hexagonal; + if (set == AudioChannelSet::octagonal()) return kAudioChannelLayoutTag_Octagonal; + if (set == AudioChannelSet::ambisonic()) return kAudioChannelLayoutTag_Ambisonic_B_Format; + if (set == AudioChannelSet::create5point0()) return kAudioChannelLayoutTag_MPEG_5_0_B; + if (set == AudioChannelSet::create5point1()) return kAudioChannelLayoutTag_MPEG_5_1_A; + if (set == AudioChannelSet::create6point0()) return kAudioChannelLayoutTag_AudioUnit_6_0; + if (set == AudioChannelSet::create6point0Music()) return kAudioChannelLayoutTag_DTS_6_0_A; + if (set == AudioChannelSet::create6point1()) return kAudioChannelLayoutTag_MPEG_6_1_A; + if (set == AudioChannelSet::create7point0()) return kAudioChannelLayoutTag_AudioUnit_7_0; + if (set == AudioChannelSet::create7point1()) return kAudioChannelLayoutTag_MPEG_7_1_C; + if (set == AudioChannelSet::createFront7point0()) return kAudioChannelLayoutTag_AudioUnit_7_0_Front; + if (set == AudioChannelSet::createFront7point1()) return kAudioChannelLayoutTag_AudioUnit_7_1_Front; + if (set == AudioChannelSet::create7point1AC3()) return kAudioChannelLayoutTag_EAC3_7_1_C; + if (set == AudioChannelSet::disabled()) return kAudioChannelLayoutTag_Unknown; + + return static_cast ((int) kAudioChannelLayoutTag_DiscreteInOrder | set.size()); + } + + static int auChannelIndexToJuce (int auIndex, const AudioChannelSet& channelSet) + { + if (auIndex >= 8) return auIndex; + + AudioChannelLayoutTag currentLayout = ChannelSetToCALayoutTag (channelSet); + + int layoutIndex; + for (layoutIndex = 0; auChannelStreamOrder[layoutIndex].auLayoutTag != currentLayout; ++layoutIndex) + if (auChannelStreamOrder[layoutIndex].auLayoutTag == 0) return auIndex; + + AudioChannelSet::ChannelType channelType + = CoreAudioChannelLabelToJuceType (auChannelStreamOrder[layoutIndex].speakerOrder[auIndex]); + + // We need to map surround channels to rear surround channels for petagonal and hexagonal + if (channelSet == AudioChannelSet::pentagonal() || channelSet == AudioChannelSet::hexagonal()) + { + switch (channelType) + { + case AudioChannelSet::leftSurround: + channelType = AudioChannelSet::leftRearSurround; + break; + case AudioChannelSet::rightSurround: + channelType = AudioChannelSet::rightRearSurround; + break; + default: + break; + } + } + + const int juceIndex = channelSet.getChannelTypes().indexOf (channelType); + + jassert (juceIndex >= 0); + return juceIndex >= 0 ? juceIndex : auIndex; + } + + static int juceChannelIndexToAu (int juceIndex, const AudioChannelSet& channelSet) + { + AudioChannelLayoutTag currentLayout = ChannelSetToCALayoutTag (channelSet); + + int layoutIndex; + for (layoutIndex = 0; auChannelStreamOrder[layoutIndex].auLayoutTag != currentLayout; ++layoutIndex) + { + if (auChannelStreamOrder[layoutIndex].auLayoutTag == 0) + { + jassertfalse; + return juceIndex; + } + } + + const AUChannelStreamOrder& channelOrder = auChannelStreamOrder[layoutIndex]; + AudioChannelSet::ChannelType channelType = channelSet.getTypeOfChannel (juceIndex); + + // We need to map rear surround channels to surround channels for petagonal and hexagonal + if (channelSet == AudioChannelSet::pentagonal() || channelSet == AudioChannelSet::hexagonal()) + { + switch (channelType) + { + case AudioChannelSet::leftRearSurround: + channelType = AudioChannelSet::leftSurround; + break; + case AudioChannelSet::rightRearSurround: + channelType = AudioChannelSet::rightSurround; + break; + default: + break; + } + } + + for (int i = 0; i < 8 && channelOrder.speakerOrder[i] != 0; ++i) + if (CoreAudioChannelLabelToJuceType (channelOrder.speakerOrder[i]) == channelType) + return i; + + jassertfalse; + return juceIndex; + } + + class ChannelRemapper + { + public: + ChannelRemapper (PluginBusUtilities& bUtils) : busUtils (bUtils), inputLayoutMap (nullptr), outputLayoutMap (nullptr) {} + ~ChannelRemapper() {} + + void alloc() + { + const int numInputBuses = busUtils.getBusCount (true); + const int numOutputBuses = busUtils.getBusCount (false); + + initializeChannelMapArray (true, numInputBuses); + initializeChannelMapArray (false, numOutputBuses); + + for (int busIdx = 0; busIdx < numInputBuses; ++busIdx) + fillLayoutChannelMaps (true, busIdx); + + for (int busIdx = 0; busIdx < numOutputBuses; ++busIdx) + fillLayoutChannelMaps (false, busIdx); + } + + void release() + { + inputLayoutMap = outputLayoutMap = nullptr; + inputLayoutMapPtrStorage.free(); + outputLayoutMapPtrStorage.free(); + inputLayoutMapStorage.free(); + outputLayoutMapStorage.free(); + } + + inline const int* get (bool input, int bus) const noexcept { return (input ? inputLayoutMap : outputLayoutMap) [bus]; } + + private: + //============================================================================== + PluginBusUtilities& busUtils; + HeapBlock inputLayoutMapPtrStorage, outputLayoutMapPtrStorage; + HeapBlock inputLayoutMapStorage, outputLayoutMapStorage; + int** inputLayoutMap; + int** outputLayoutMap; + + //============================================================================== + void initializeChannelMapArray (bool isInput, const int numBuses) + { + HeapBlock& layoutMapPtrStorage = isInput ? inputLayoutMapPtrStorage : outputLayoutMapPtrStorage; + HeapBlock& layoutMapStorage = isInput ? inputLayoutMapStorage : outputLayoutMapStorage; + int**& layoutMap = isInput ? inputLayoutMap : outputLayoutMap; + + const int totalInChannels = busUtils.findTotalNumChannels (true); + const int totalOutChannels = busUtils.findTotalNumChannels (false); + + layoutMapPtrStorage.calloc (static_cast (numBuses)); + layoutMapStorage.calloc (static_cast (isInput ? totalInChannels : totalOutChannels)); + + layoutMap = layoutMapPtrStorage. getData(); + + int ch = 0; + for (int busIdx = 0; busIdx < numBuses; ++busIdx) + { + layoutMap[busIdx] = layoutMapStorage.getData() + ch; + ch += busUtils.getNumChannels (isInput, busIdx); + } + } + + void fillLayoutChannelMaps (bool isInput, int busNr) + { + int* layoutMap = (isInput ? inputLayoutMap : outputLayoutMap)[busNr]; + const AudioChannelSet& channelFormat = busUtils.getChannelSet (isInput, busNr); + const int numChannels = channelFormat.size(); + + for (int i = 0; i < numChannels; ++i) + layoutMap[i] = AudioUnitHelpers::juceChannelIndexToAu (i, channelFormat); + } + }; + + //============================================================================== + class CoreAudioBufferList + { + public: + CoreAudioBufferList() { reset(); } + + //============================================================================== + void prepare (int inChannels, int outChannels, int maxFrames) + { + const int numChannels = jmax (inChannels, outChannels); + + scratch.setSize (numChannels, maxFrames); + channels.calloc (static_cast (numChannels)); + + reset(); + } + + void release() + { + scratch.setSize (0, 0); + channels.free(); + } + + void reset() noexcept + { + pushIdx = 0; + popIdx = 0; + zeromem (channels.getData(), sizeof(float*) * static_cast (scratch.getNumChannels())); + } + + //============================================================================== + float* setBuffer (const int idx, float* ptr = nullptr) noexcept + { + jassert (idx < scratch.getNumChannels()); + return (channels [idx] = uniqueBuffer (idx, ptr)); + } + + //============================================================================== + float* push() noexcept + { + jassert (pushIdx < scratch.getNumChannels()); + return channels [pushIdx++]; + } + + void push (AudioBufferList& bufferList, const int* channelMap) noexcept + { + jassert (pushIdx < scratch.getNumChannels()); + + if (bufferList.mNumberBuffers > 0) + { + const UInt32 n = bufferList.mBuffers [0].mDataByteSize / + (bufferList.mBuffers [0].mNumberChannels * sizeof (float)); + const bool isInterleaved = isAudioBufferInterleaved (bufferList); + const int numChannels = static_cast (isInterleaved ? bufferList.mBuffers [0].mNumberChannels + : bufferList.mNumberBuffers); + + for (int ch = 0; ch < numChannels; ++ch) + { + float* data = push(); + + int mappedChannel = channelMap [ch]; + if (isInterleaved || static_cast (bufferList.mBuffers [mappedChannel].mData) != data) + copyAudioBuffer (bufferList, mappedChannel, n, data); + } + } + } + + //============================================================================== + float* pop() noexcept + { + jassert (popIdx < scratch.getNumChannels()); + return channels[popIdx++]; + } + + void pop (AudioBufferList& buffer, const int* channelMap) noexcept + { + if (buffer.mNumberBuffers > 0) + { + const UInt32 n = buffer.mBuffers [0].mDataByteSize / (buffer.mBuffers [0].mNumberChannels * sizeof (float)); + const bool isInterleaved = isAudioBufferInterleaved (buffer); + const int numChannels = static_cast (isInterleaved ? buffer.mBuffers [0].mNumberChannels : buffer.mNumberBuffers); + + for (int ch = 0; ch < numChannels; ++ch) + { + int mappedChannel = channelMap [ch]; + float* nextBuffer = pop(); + + if (nextBuffer == buffer.mBuffers [mappedChannel].mData && ! isInterleaved) + continue; // no copying necessary + + if (buffer.mBuffers [mappedChannel].mData == nullptr && ! isInterleaved) + buffer.mBuffers [mappedChannel].mData = nextBuffer; + else + copyAudioBuffer (nextBuffer, mappedChannel, n, buffer); + } + } + } + + //============================================================================== + AudioSampleBuffer& getBuffer (UInt32 frames) noexcept + { + jassert (pushIdx == scratch.getNumChannels()); + + #if JUCE_DEBUG + for (int i = 0; i < pushIdx; ++i) + jassert (channels [i] != nullptr); + #endif + + mutableBuffer.setDataToReferTo (channels, pushIdx, static_cast (frames)); + return mutableBuffer; + } + + private: + float* uniqueBuffer (int idx, float* buffer) noexcept + { + if (buffer == nullptr) + return scratch.getWritePointer (idx); + + for (int ch = 0; ch < idx; ++ch) + if (buffer == channels[ch]) + return scratch.getWritePointer (idx); + + return buffer; + } + + //============================================================================== + AudioSampleBuffer scratch; + AudioSampleBuffer mutableBuffer; + + HeapBlock channels; + int pushIdx, popIdx; + }; + + static bool isAudioBufferInterleaved (const AudioBufferList& audioBuffer) noexcept + { + return (audioBuffer.mNumberBuffers == 1 && audioBuffer.mBuffers[0].mNumberChannels > 1); + } + + static void clearAudioBuffer (const AudioBufferList& audioBuffer) noexcept + { + for (unsigned int ch = 0; ch < audioBuffer.mNumberBuffers; ++ch) + zeromem (audioBuffer.mBuffers[ch].mData, audioBuffer.mBuffers[ch].mDataByteSize); + } + + static void copyAudioBuffer (const AudioBufferList& audioBuffer, const int channel, const UInt32 size, float* dst) noexcept + { + if (! isAudioBufferInterleaved (audioBuffer)) + { + jassert (channel < static_cast (audioBuffer.mNumberBuffers)); + jassert (audioBuffer.mBuffers[channel].mDataByteSize == (size * sizeof (float))); + + memcpy (dst, audioBuffer.mBuffers[channel].mData, size * sizeof (float)); + } + else + { + const int numChannels = static_cast (audioBuffer.mBuffers[0].mNumberChannels); + const UInt32 n = static_cast (numChannels) * size; + const float* src = static_cast (audioBuffer.mBuffers[0].mData); + + jassert (channel < numChannels); + jassert (audioBuffer.mBuffers[0].mDataByteSize == (n * sizeof (float))); + + for (const float* inData = src; inData < (src + n); inData += numChannels) + *dst++ = inData[channel]; + } + } + + static void copyAudioBuffer (const float *src, const int channel, const UInt32 size, AudioBufferList& audioBuffer) noexcept + { + if (! isAudioBufferInterleaved (audioBuffer)) + { + jassert (channel < static_cast (audioBuffer.mNumberBuffers)); + jassert (audioBuffer.mBuffers[channel].mDataByteSize == (size * sizeof (float))); + + memcpy (audioBuffer.mBuffers[channel].mData, src, size * sizeof (float)); + } + else + { + const int numChannels = static_cast (audioBuffer.mBuffers[0].mNumberChannels); + const UInt32 n = static_cast (numChannels) * size; + float* dst = static_cast (audioBuffer.mBuffers[0].mData); + + jassert (channel < numChannels); + jassert (audioBuffer.mBuffers[0].mDataByteSize == (n * sizeof (float))); + + for (float* outData = dst; outData < (dst + n); outData += numChannels) + outData[channel] = *src++; + } + } + + static Array getAUChannelInfo (PluginBusUtilities& busUtils) + { + Array channelInfo; + + AudioProcessor* juceFilter = &busUtils.processor; + const AudioProcessor::AudioBusArrangement& arr = juceFilter->busArrangement; + PluginBusUtilities::ScopedBusRestorer restorer (busUtils); + + const bool hasMainInputBus = (busUtils.getNumEnabledBuses (true) > 0); + const bool hasMainOutputBus = (busUtils.getNumEnabledBuses (false) > 0); + + if ((! hasMainInputBus) && (! hasMainOutputBus)) + { + // midi effect plug-in: no audio + AUChannelInfo info; + info.inChannels = 0; + info.outChannels = 0; + + channelInfo.add (info); + return channelInfo; + } + else + { + const uint32_t maxNumChanToCheckFor = 9; + + uint32_t defaultInputs = static_cast (busUtils.getNumChannels (true, 0)); + uint32_t defaultOutputs = static_cast (busUtils.getNumChannels (false, 0)); + + uint32_t lastInputs = defaultInputs; + uint32_t lastOutputs = defaultOutputs; + + SortedSet supportedChannels; + + // add the current configuration + if (lastInputs != 0 || lastOutputs != 0) + supportedChannels.add ((lastInputs << 16) | lastOutputs); + + for (uint32_t inChanNum = hasMainInputBus ? 1 : 0; inChanNum <= (hasMainInputBus ? maxNumChanToCheckFor : 0); ++inChanNum) + { + const AudioChannelSet dfltInLayout = busUtils.getDefaultLayoutForChannelNumAndBus(true, 0, static_cast (inChanNum)); + + if (inChanNum != 0 && dfltInLayout.isDisabled()) + continue; + + for (uint32_t outChanNum = hasMainOutputBus ? 1 : 0; outChanNum <= (hasMainOutputBus ? maxNumChanToCheckFor : 0); ++outChanNum) + { + const AudioChannelSet dfltOutLayout = busUtils.getDefaultLayoutForChannelNumAndBus(false, 0, static_cast (outChanNum)); + if (outChanNum != 0 && dfltOutLayout.isDisabled()) + continue; + + // get the number of channels again. This is only needed for some processors that change their configuration + // even when they indicate that setPreferredBusArrangement failed. + lastInputs = hasMainInputBus ? static_cast (arr.inputBuses. getReference (0). channels.size()) : 0; + lastOutputs = hasMainOutputBus ? static_cast (arr.outputBuses.getReference (0). channels.size()) : 0; + + uint32_t channelConfiguration = (inChanNum << 16) | outChanNum; + + // did we already try this configuration? + if (supportedChannels.contains (channelConfiguration)) continue; + + if (lastInputs != inChanNum && (! dfltInLayout.isDisabled())) + { + if (! juceFilter->setPreferredBusArrangement (true, 0, dfltInLayout)) continue; + + lastInputs = inChanNum; + lastOutputs = hasMainOutputBus ? static_cast (arr.outputBuses.getReference (0). channels.size()) : 0; + + supportedChannels.add ((lastInputs << 16) | lastOutputs); + } + + if (lastOutputs != outChanNum && (! dfltOutLayout.isDisabled())) + { + if (! juceFilter->setPreferredBusArrangement (false, 0, dfltOutLayout)) continue; + + lastInputs = hasMainInputBus ? static_cast (arr.inputBuses.getReference (0).channels.size()) : 0; + lastOutputs = outChanNum; + + supportedChannels.add ((lastInputs << 16) | lastOutputs); + } + } + } + + bool hasInOutMismatch = false; + for (int i = 0; i < supportedChannels.size(); ++i) + { + const uint32_t numInputs = (supportedChannels[i] >> 16) & 0xffff; + const uint32_t numOutputs = (supportedChannels[i] >> 0) & 0xffff; + + if (numInputs != numOutputs) + { + hasInOutMismatch = true; + break; + } + } + + bool hasUnsupportedInput = ! hasMainOutputBus, hasUnsupportedOutput = ! hasMainInputBus; + for (uint32_t inChanNum = hasMainInputBus ? 1 : 0; inChanNum <= (hasMainInputBus ? maxNumChanToCheckFor : 0); ++inChanNum) + { + uint32_t channelConfiguration = (inChanNum << 16) | (hasInOutMismatch ? defaultOutputs : inChanNum); + if (! supportedChannels.contains (channelConfiguration)) + { + hasUnsupportedInput = true; + break; + } + } + + for (uint32_t outChanNum = hasMainOutputBus ? 1 : 0; outChanNum <= (hasMainOutputBus ? maxNumChanToCheckFor : 0); ++outChanNum) + { + uint32_t channelConfiguration = ((hasInOutMismatch ? defaultInputs : outChanNum) << 16) | outChanNum; + if (! supportedChannels.contains (channelConfiguration)) + { + hasUnsupportedOutput = true; + break; + } + } + + for (int i = 0; i < supportedChannels.size(); ++i) + { + const int numInputs = (supportedChannels[i] >> 16) & 0xffff; + const int numOutputs = (supportedChannels[i] >> 0) & 0xffff; + + AUChannelInfo info; + + // see here: https://developer.apple.com/library/mac/documentation/MusicAudio/Conceptual/AudioUnitProgrammingGuide/TheAudioUnit/TheAudioUnit.html + info.inChannels = static_cast (hasMainInputBus ? (hasUnsupportedInput ? numInputs : (hasInOutMismatch && (! hasUnsupportedOutput) ? -2 : -1)) : 0); + info.outChannels = static_cast (hasMainOutputBus ? (hasUnsupportedOutput ? numOutputs : (hasInOutMismatch && (! hasUnsupportedInput) ? -2 : -1)) : 0); + + if (info.inChannels == -2 && info.outChannels == -2) + info.inChannels = -1; + + int j; + for (j = 0; j < channelInfo.size(); ++j) + if (channelInfo[j].inChannels == info.inChannels && channelInfo[j].outChannels == info.outChannels) + break; + + if (j >= channelInfo.size()) + channelInfo.add (info); + } + } + + return channelInfo; + } +}; + +AudioUnitHelpers::AUChannelStreamOrder AudioUnitHelpers::auChannelStreamOrder[] = +{ + {kAudioChannelLayoutTag_Mono, {kAudioChannelLabel_Center, 0, 0, 0, 0, 0, 0, 0}}, + {kAudioChannelLayoutTag_Stereo, {kAudioChannelLabel_Left, kAudioChannelLabel_Right, 0, 0, 0, 0, 0, 0}}, + {kAudioChannelLayoutTag_StereoHeadphones, {kAudioChannelLabel_HeadphonesLeft, kAudioChannelLabel_HeadphonesRight, 0, 0, 0, 0, 0, 0}}, + {kAudioChannelLayoutTag_Binaural, {kAudioChannelLabel_Left, kAudioChannelLabel_Right, 0, 0, 0, 0, 0, 0}}, + {kAudioChannelLayoutTag_Quadraphonic, {kAudioChannelLabel_Left, kAudioChannelLabel_Right, kAudioChannelLabel_LeftSurround, kAudioChannelLabel_RightSurround, 0, 0, 0, 0}}, + {kAudioChannelLayoutTag_Pentagonal, {kAudioChannelLabel_Left, kAudioChannelLabel_Right, kAudioChannelLabel_LeftSurround, kAudioChannelLabel_RightSurround, kAudioChannelLabel_Center, 0, 0, 0}}, + {kAudioChannelLayoutTag_Hexagonal, {kAudioChannelLabel_Left, kAudioChannelLabel_Right, kAudioChannelLabel_LeftSurround, kAudioChannelLabel_RightSurround, kAudioChannelLabel_Center, kAudioChannelLabel_CenterSurround, 0, 0}}, + {kAudioChannelLayoutTag_Octagonal, {kAudioChannelLabel_Left, kAudioChannelLabel_Right, kAudioChannelLabel_LeftSurround, kAudioChannelLabel_RightSurround, kAudioChannelLabel_Center, kAudioChannelLabel_CenterSurround, kAudioChannelLabel_LeftWide, kAudioChannelLabel_RightWide}}, + {kAudioChannelLayoutTag_Ambisonic_B_Format, {kAudioChannelLabel_Ambisonic_W, kAudioChannelLabel_Ambisonic_X, kAudioChannelLabel_Ambisonic_Y, kAudioChannelLabel_Ambisonic_Z, 0, 0, 0, 0}}, + {kAudioChannelLayoutTag_MPEG_5_0_B, {kAudioChannelLabel_Left, kAudioChannelLabel_Right, kAudioChannelLabel_LeftSurround, kAudioChannelLabel_RightSurround, kAudioChannelLabel_Center, 0, 0, 0}}, + {kAudioChannelLayoutTag_MPEG_5_1_A, {kAudioChannelLabel_Left, kAudioChannelLabel_Right, kAudioChannelLabel_Center, kAudioChannelLabel_LFEScreen, kAudioChannelLabel_LeftSurround, kAudioChannelLabel_RightSurround, 0, 0}}, + {kAudioChannelLayoutTag_AudioUnit_6_0, {kAudioChannelLabel_Left, kAudioChannelLabel_Right, kAudioChannelLabel_LeftSurround, kAudioChannelLabel_RightSurround, kAudioChannelLabel_Center, kAudioChannelLabel_CenterSurround, 0, 0}}, + {kAudioChannelLayoutTag_DTS_6_0_A, {kAudioChannelLabel_Left, kAudioChannelLabel_Right, kAudioChannelLabel_LeftSurround, kAudioChannelLabel_RightSurround, kAudioChannelLabel_RearSurroundLeft, kAudioChannelLabel_RearSurroundRight, 0, 0}}, + {kAudioChannelLayoutTag_MPEG_6_1_A, {kAudioChannelLabel_Left, kAudioChannelLabel_Right, kAudioChannelLabel_Center, kAudioChannelLabel_LFEScreen, kAudioChannelLabel_LeftSurround, kAudioChannelLabel_RightSurround, kAudioChannelLabel_CenterSurround, 0}}, + {kAudioChannelLayoutTag_AudioUnit_7_0, {kAudioChannelLabel_Left, kAudioChannelLabel_Right, kAudioChannelLabel_LeftSurround, kAudioChannelLabel_RightSurround, kAudioChannelLabel_Center, kAudioChannelLabel_RearSurroundLeft, kAudioChannelLabel_RearSurroundRight, 0}}, + {kAudioChannelLayoutTag_MPEG_7_1_C, {kAudioChannelLabel_Left, kAudioChannelLabel_Right, kAudioChannelLabel_Center, kAudioChannelLabel_LFEScreen, kAudioChannelLabel_LeftSurround, kAudioChannelLabel_RightSurround, kAudioChannelLabel_RearSurroundLeft, kAudioChannelLabel_RearSurroundRight}}, + {kAudioChannelLayoutTag_AudioUnit_7_0_Front,{kAudioChannelLabel_Left, kAudioChannelLabel_Right, kAudioChannelLabel_LeftSurround, kAudioChannelLabel_RightSurround, kAudioChannelLabel_Center, kAudioChannelLabel_LeftCenter, kAudioChannelLabel_RightCenter, 0}}, + {kAudioChannelLayoutTag_AudioUnit_7_1_Front,{kAudioChannelLabel_Left, kAudioChannelLabel_Right, kAudioChannelLabel_Center, kAudioChannelLabel_LFEScreen, kAudioChannelLabel_LeftSurround, kAudioChannelLabel_RightSurround, kAudioChannelLabel_LeftCenter, kAudioChannelLabel_RightCenter}}, + {kAudioChannelLayoutTag_MPEG_3_0_A, {kAudioChannelLabel_Left, kAudioChannelLabel_Right, kAudioChannelLabel_Center, 0, 0, 0, 0, 0}}, + {kAudioChannelLayoutTag_MPEG_3_0_B, {kAudioChannelLabel_Center, kAudioChannelLabel_Left, kAudioChannelLabel_Right, 0, 0, 0, 0, 0}}, + {kAudioChannelLayoutTag_MPEG_4_0_A, {kAudioChannelLabel_Left, kAudioChannelLabel_Right, kAudioChannelLabel_Center, kAudioChannelLabel_CenterSurround, 0, 0, 0, 0}}, + {kAudioChannelLayoutTag_MPEG_4_0_B, {kAudioChannelLabel_Center, kAudioChannelLabel_Left, kAudioChannelLabel_Right, kAudioChannelLabel_CenterSurround, 0, 0, 0, 0}}, + {kAudioChannelLayoutTag_ITU_2_1, {kAudioChannelLabel_Left, kAudioChannelLabel_Right, kAudioChannelLabel_CenterSurround, 0, 0, 0, 0, 0}}, + {kAudioChannelLayoutTag_EAC3_7_1_C, {kAudioChannelLabel_Left, kAudioChannelLabel_Center, kAudioChannelLabel_Right, kAudioChannelLabel_LeftSurround, kAudioChannelLabel_RightSurround, kAudioChannelLabel_LFEScreen, kAudioChannelLabel_LeftSurroundDirect, kAudioChannelLabel_RightSurroundDirect}}, + {0, {0,0,0,0,0,0,0,0}} +}; diff --git a/modules/juce_audio_plugin_client/AU/juce_AU_Wrapper.mm b/modules/juce_audio_plugin_client/AU/juce_AU_Wrapper.mm index fe50bf9717..4ad4f216fd 100644 --- a/modules/juce_audio_plugin_client/AU/juce_AU_Wrapper.mm +++ b/modules/juce_audio_plugin_client/AU/juce_AU_Wrapper.mm @@ -78,20 +78,19 @@ #include "../utility/juce_CarbonVisibility.h" #include "../utility/juce_PluginBusUtilities.h" +#include "juce_AU_Shared.h" + +JUCE_DEFINE_WRAPPER_TYPE (wrapperType_AudioUnit); + //============================================================================== static Array activePlugins, activeUIs; static const AudioUnitPropertyID juceFilterObjectPropertyID = 0x1a45ffe9; -// This macro can be set if you need to override this internal name for some reason.. -#ifndef JUCE_STATE_DICTIONARY_KEY - #define JUCE_STATE_DICTIONARY_KEY CFSTR("jucePluginState") -#endif - // make sure the audio processor is initialized before the AUBase class struct AudioProcessorHolder { - AudioProcessorHolder(bool initialiseGUI) + AudioProcessorHolder (bool initialiseGUI) { if (initialiseGUI) { @@ -121,10 +120,14 @@ public: MusicDeviceBase (component, (UInt32) PluginBusUtilities (*juceFilter, false).getNumEnabledBuses (true), (UInt32) PluginBusUtilities (*juceFilter, false).getNumEnabledBuses (false)), isBypassed (false), - busUtils (*juceFilter, true) + busUtils (*juceFilter, true, maxChannelsToProbeFor()), + totalInChannels (busUtils.findTotalNumChannels (true)), + totalOutChannels (busUtils.findTotalNumChannels (false)), + mapper (busUtils) { - busUtils.findAllCompatibleLayouts(); - populateAUChannelInfo(); + busUtils.init(); + + channelInfo = AudioUnitHelpers::getAUChannelInfo (busUtils); juceFilter->setPlayHead (this); juceFilter->addListener (this); @@ -142,7 +145,7 @@ public: CreateElements(); - if (syncAudioUnitWithProcessor () != noErr) + if (syncAudioUnitWithProcessor() != noErr) jassertfalse; } @@ -171,6 +174,8 @@ public: if ((err = MusicDeviceBase::Initialize()) != noErr) return err; + mapper.alloc(); + prepareToPlay(); restorer.release(); @@ -181,10 +186,12 @@ public: { MusicDeviceBase::Cleanup(); + mapper.release(); + if (juceFilter != nullptr) juceFilter->releaseResources(); - bufferSpace.setSize (2, 16); + audioBuffer.release(); midiEvents.clear(); incomingEvents.clear(); prepared = false; @@ -208,9 +215,7 @@ public: { juceFilter->setRateAndBufferSizeDetails (getSampleRate(), (int) GetMaxFramesPerSlice()); - bufferSpace.setSize (jmax (busUtils.findTotalNumChannels (true), busUtils.findTotalNumChannels (false)), - (int) GetMaxFramesPerSlice() + 32); - + audioBuffer.prepare (totalInChannels, totalOutChannels, (int) GetMaxFramesPerSlice() + 32); juceFilter->prepareToPlay (getSampleRate(), (int) GetMaxFramesPerSlice()); midiEvents.ensureSize (2048); @@ -218,9 +223,6 @@ public: incomingEvents.ensureSize (2048); incomingEvents.clear(); - channels.calloc ((size_t) jmax (juceFilter->getTotalNumInputChannels(), - juceFilter->getTotalNumOutputChannels()) + 4); - prepared = true; } } @@ -292,15 +294,22 @@ public: { for (int busNr = currentNumBus; busNr < requestedNumBus; ++busNr) if ((err = syncAudioUnitWithChannelSet (isInput, busNr, busUtils.getDefaultLayoutForBus (isInput, busNr))) != noErr) - return err; + break; } else { - AudioChannelLayoutTag nulltag = ChannelSetToCALayoutTag (AudioChannelSet()); + AudioChannelLayoutTag nulltag = AudioUnitHelpers::ChannelSetToCALayoutTag (AudioChannelSet()); for (int busNr = requestedNumBus; busNr < currentNumBus; ++busNr) getCurrentLayout (isInput, busNr) = nulltag; } + + // update total channel count + totalInChannels = busUtils.findTotalNumChannels (true); + totalOutChannels = busUtils.findTotalNumChannels (false); + + if (err != noErr) + return err; } return MusicDeviceBase::SetBusCount (scope, count); @@ -565,7 +574,10 @@ public: if (state.getSize() > 0) { CFDataRef ourState = CFDataCreate (kCFAllocatorDefault, (const UInt8*) state.getData(), (CFIndex) state.getSize()); - CFDictionarySetValue (dict, JUCE_STATE_DICTIONARY_KEY, ourState); + + CFStringRef key = CFStringCreateWithCString (kCFAllocatorDefault, JUCE_STATE_DICTIONARY_KEY, kCFStringEncodingUTF8); + CFDictionarySetValue (dict, key, ourState); + CFRelease (key); CFRelease (ourState); } } @@ -591,7 +603,12 @@ public: CFDictionaryRef dict = (CFDictionaryRef) inData; CFDataRef data = 0; - if (CFDictionaryGetValueIfPresent (dict, JUCE_STATE_DICTIONARY_KEY, (const void**) &data)) + CFStringRef key = CFStringCreateWithCString (kCFAllocatorDefault, JUCE_STATE_DICTIONARY_KEY, kCFStringEncodingUTF8); + + bool valuePresent = CFDictionaryGetValueIfPresent (dict, key, (const void**) &data); + CFRelease (key); + + if (valuePresent) { if (data != 0) { @@ -619,7 +636,7 @@ public: if (elementToBusIdx (scope, element, isInput, busNr) != noErr) return 0; - if (busUtils.getSupportedBusLayouts (isInput, busNr).busIgnoresLayout) + if (busUtils.busIgnoresLayout(isInput, busNr)) return 0; outWritable = true; @@ -643,7 +660,7 @@ public: if (elementToBusIdx (scope, element, isInput, busNr) != noErr) return 0; - if (busUtils.getSupportedBusLayouts (isInput, busNr).busIgnoresLayout) + if (busUtils.busIgnoresLayout(isInput, busNr)) return 0; const Array& layouts = getSupportedBusLayouts (isInput, busNr); @@ -663,15 +680,18 @@ public: if ((err = elementToBusIdx (scope, element, isInput, busNr)) != noErr) return err; - if (busUtils.getSupportedBusLayouts (isInput, busNr).busIgnoresLayout) + if (busUtils.busIgnoresLayout(isInput, busNr)) return kAudioUnitErr_PropertyNotWritable; + if (IsInitialized()) + jassertfalse; // TODO: Fabian arrggghhhh: auval changes layout after it is initialized + if (inLayout == nullptr) return kAudioUnitErr_InvalidPropertyValue; if (const AUIOElement* ioElement = GetIOElement (isInput ? kAudioUnitScope_Input : kAudioUnitScope_Output, element)) { - const AudioChannelSet newChannelSet = CoreAudioChannelLayoutToJuceType (*inLayout); + const AudioChannelSet newChannelSet = AudioUnitHelpers::CoreAudioChannelLayoutToJuceType (*inLayout); const int currentNumChannels = static_cast (ioElement->GetStreamFormat().NumberChannels()); if (currentNumChannels != newChannelSet.size()) @@ -685,7 +705,7 @@ public: if (!success) return kAudioUnitErr_FormatNotSupported; - getCurrentLayout (isInput, busNr) = ChannelSetToCALayoutTag (newChannelSet); + getCurrentLayout (isInput, busNr) = AudioUnitHelpers::ChannelSetToCALayoutTag (newChannelSet); return noErr; } @@ -952,7 +972,7 @@ public: err = MusicDeviceBase::ChangeStreamFormat (scope, element, old, format); if (err == noErr) - currentTag = ChannelSetToCALayoutTag (set); + currentTag = AudioUnitHelpers::ChannelSetToCALayoutTag (set); return err; } @@ -964,228 +984,85 @@ public: { lastTimeStamp = inTimeStamp; - const unsigned int numInputBuses = GetScope (kAudioUnitScope_Input) .GetNumberOfElements(); - const unsigned int numOutputBuses = GetScope (kAudioUnitScope_Output).GetNumberOfElements(); - - for (unsigned int i = 0; i < numInputBuses; ++i) + // prepare buffers { - AudioUnitRenderActionFlags flags = ioActionFlags; - AUInputElement* input = GetInput (i); + if (! pullInputAudio (ioActionFlags, inTimeStamp, nFrames)) + return noErr; - OSStatus result = input->PullInput (flags, inTimeStamp, i, nFrames); + prepareOutputBuffers (nFrames); + audioBuffer.reset(); + } - if (result != noErr) - return noErr; // logic sometimes doesn't connect all the inputs immedietely + const int numInputBuses = static_cast (GetScope (kAudioUnitScope_Input) .GetNumberOfElements()); + const int numOutputBuses = static_cast (GetScope (kAudioUnitScope_Output).GetNumberOfElements()); - if ((flags & kAudioUnitRenderAction_OutputIsSilence) != 0) + // set buffer pointers to minimize copying + { + int chIdx = 0, numChannels; + bool interleaved; + AudioBufferList* buffer; + + // use output pointers + for (int busIdx = 0; busIdx < numOutputBuses; ++busIdx) { - AudioBufferList& inBuffer = input->GetBufferList(); + if (! GetAudioBufferList (false, busIdx, buffer, interleaved, numChannels)) + continue; - for (unsigned int ch = 0; ch < inBuffer.mNumberBuffers; ++ch) - zeromem (inBuffer.mBuffers[ch].mData, inBuffer.mBuffers[ch].mDataByteSize); + const int* outLayoutMap = mapper.get (false, busIdx); + + for (int ch = 0; ch < numChannels; ++ch) + audioBuffer.setBuffer (chIdx++, interleaved ? nullptr : static_cast (buffer->mBuffers[outLayoutMap[ch]].mData)); + } + + // use input pointers on remaining channels + int channelCount = 0; + for (int busIdx = 0; chIdx < totalInChannels;) + { + busIdx = busUtils.getBusIdxForChannelIdx (true, chIdx, channelCount, busIdx); + + if (! GetAudioBufferList (true, busIdx, buffer, interleaved, numChannels)) + continue; + + const int* inLayoutMap = mapper.get (true, busIdx); + + for (int ch = chIdx - channelCount; ch < numChannels; ++ch) + audioBuffer.setBuffer (chIdx++, interleaved ? nullptr : static_cast (buffer->mBuffers[inLayoutMap[ch]].mData)); } } + // copy input { - int idx = 0, scratchIdx = 0; - float** scratchBuffers = bufferSpace.getArrayOfWritePointers(); + for (int busIdx = 0; busIdx < numInputBuses; ++busIdx) + audioBuffer.push (GetInput ((UInt32) busIdx)->GetBufferList(), mapper.get (true, busIdx)); - for (unsigned int busIdx = 0; busIdx < jmax (numInputBuses, numOutputBuses); ++busIdx) - { - AUInputElement* input = (busIdx < numInputBuses) ? GetInput (busIdx) : nullptr; - AUOutputElement* output = (busIdx < numOutputBuses) ? GetOutput (busIdx) : nullptr; - - const unsigned int numInChannels = (input != nullptr ? input ->GetStreamFormat().mChannelsPerFrame : 0); - const unsigned int numOutChannels = (output != nullptr ? output->GetStreamFormat().mChannelsPerFrame : 0); - - if (numOutChannels > numInChannels) - { - if (output->WillAllocateBuffer()) - output->PrepareBuffer (nFrames); - - const AudioBufferList& outBuffer = output->GetBufferList(); - - for (unsigned int chIdx = 0; chIdx < numOutChannels; ++chIdx) - { - int mappedInChIdx = numInChannels > 0 ? inputLayoutMap.getReference (static_cast (busIdx))[static_cast (chIdx)] : 0; - int mappedOutChIdx = outputLayoutMap.getReference (static_cast (busIdx))[static_cast (chIdx)]; - - const bool isOutputInterleaved = (numOutChannels > 1) && (outBuffer.mNumberBuffers == 1); - float* outData = isOutputInterleaved ? scratchBuffers[scratchIdx++] : static_cast (outBuffer.mBuffers[mappedOutChIdx].mData); - - if (chIdx < numInChannels) - { - const AudioBufferList& inBuffer = input->GetBufferList(); - const bool isInputInterleaved = (numInChannels > 1) && (inBuffer.mNumberBuffers == 1); - const float* inData = static_cast (inBuffer.mBuffers[isInputInterleaved ? 0 : mappedInChIdx].mData); - - if (isInputInterleaved) - { - for (unsigned int i = 0; i < nFrames; ++i) - { - outData [i] = inData[mappedInChIdx]; - inData += numInChannels; - } - } - else - std::copy (inData, inData + nFrames, outData); - } - - channels[idx++] = outData; - } - } - else - { - const AudioBufferList& inBuffer = input->GetBufferList(); - const bool isInputInterleaved = (numInChannels > 1) && (inBuffer.mNumberBuffers == 1); - - for (unsigned int chIdx = 0; chIdx < numInChannels; ++chIdx) - { - int mappedInChIdx = inputLayoutMap.getReference (static_cast (busIdx))[static_cast (chIdx)]; - - float* buffer = isInputInterleaved ? scratchBuffers[scratchIdx++] - : static_cast (inBuffer.mBuffers[mappedInChIdx].mData); - - if (isInputInterleaved) - { - const float* inData = static_cast (inBuffer.mBuffers[0].mData); - for (unsigned int i = 0; i < nFrames; ++i) - { - buffer [i] = inData [mappedInChIdx]; - inData += numInChannels; - } - } - - channels[idx++] = buffer; - } - } - } - - jassert (idx == bufferSpace.getNumChannels()); + // clear remaining channels + for (int i = totalInChannels; i < totalOutChannels; ++i) + zeromem (audioBuffer.push(), sizeof (float) * nFrames); } + // swap midi buffers { const ScopedLock sl (incomingMidiLock); midiEvents.clear(); incomingEvents.swapWith (midiEvents); } - { - const ScopedLock sl (juceFilter->getCallbackLock()); - AudioSampleBuffer buffer (channels, bufferSpace.getNumChannels(), (int) nFrames); + // process audio + processBlock (audioBuffer.getBuffer (nFrames), midiEvents); - if (juceFilter->isSuspended()) - { - for (int j = 0; j < buffer.getNumChannels(); ++j) - zeromem (channels [j], sizeof (float) * nFrames); - } - else if (isBypassed) - { - juceFilter->processBlockBypassed (buffer, midiEvents); - } - else - { - juceFilter->processBlock (buffer, midiEvents); - } + // copy back + { + for (int busIdx = 0; busIdx < numOutputBuses; ++busIdx) + audioBuffer.pop (GetOutput ((UInt32) busIdx)->GetBufferList(), mapper.get (false, busIdx)); } - // copy output back - { - int idx = 0; + // process midi output + #if JucePlugin_ProducesMidiOutput || JucePlugin_IsMidiEffect + if (! midiEvents.isEmpty() && midiCallback.midiOutputCallback != nullptr) + pushMidiOutput (nFrames); + #endif - for (unsigned int busIdx = 0; busIdx < jmax (numInputBuses, numOutputBuses); ++busIdx) - { - AUInputElement* input = (busIdx < numInputBuses) ? GetInput (busIdx) : nullptr; - AUOutputElement* output = (busIdx < numOutputBuses) ? GetOutput (busIdx) : nullptr; - - const unsigned int numInChannels = (input != nullptr ? input ->GetStreamFormat().mChannelsPerFrame : 0); - const unsigned int numOutChannels = (output != nullptr ? output->GetStreamFormat().mChannelsPerFrame : 0); - - if (numInChannels >= numOutChannels) - { - if (numOutChannels > 0) - { - // the input buffers were used. We must copy the output - if (output->WillAllocateBuffer()) - output->PrepareBuffer (nFrames); - - const AudioBufferList& outBuffer = output->GetBufferList(); - const bool isOutputInterleaved = (numOutChannels > 1) && (outBuffer.mNumberBuffers == 1); - - for (unsigned int chIdx = 0; chIdx < numOutChannels; ++chIdx) - { - int mappedOutChIdx = outputLayoutMap.getReference (static_cast (busIdx))[static_cast (chIdx)]; - - float* outData = static_cast (outBuffer.mBuffers[isOutputInterleaved ? 0 : mappedOutChIdx].mData); - float* buffer = static_cast (channels [idx]); - - if (isOutputInterleaved) - { - for (unsigned int i = 0; i < nFrames; ++i) - { - outData [mappedOutChIdx] = buffer[i]; - outData += numOutChannels; - } - } - else - std::copy (buffer, buffer + nFrames, outData); - - zeromem (buffer, sizeof(float) * nFrames); - idx++; - } - idx += numInChannels - numOutChannels; - } - else - { - for (unsigned int chIdx = 0; chIdx < numOutChannels; ++chIdx) - zeromem (channels [chIdx], sizeof(float) * nFrames); - } - } - } - } - - if (! midiEvents.isEmpty()) - { - #if JucePlugin_ProducesMidiOutput || JucePlugin_IsMidiEffect - if (midiCallback.midiOutputCallback != nullptr) - { - UInt32 numPackets = 0; - size_t dataSize = 0; - - const juce::uint8* midiEventData; - int midiEventSize, midiEventPosition; - - for (MidiBuffer::Iterator i (midiEvents); i.getNextEvent (midiEventData, midiEventSize, midiEventPosition);) - { - jassert (isPositiveAndBelow (midiEventPosition, (int) nFrames)); - dataSize += (size_t) midiEventSize; - ++numPackets; - } - - MIDIPacket* p; - const size_t packetMembersSize = sizeof (MIDIPacket) - sizeof (p->data); // NB: GCC chokes on "sizeof (MidiMessage::data)" - const size_t packetListMembersSize = sizeof (MIDIPacketList) - sizeof (p->data); - - HeapBlock packetList; - packetList.malloc (packetListMembersSize + packetMembersSize * numPackets + dataSize, 1); - packetList->numPackets = numPackets; - - p = packetList->packet; - - for (MidiBuffer::Iterator i (midiEvents); i.getNextEvent (midiEventData, midiEventSize, midiEventPosition);) - { - p->timeStamp = (MIDITimeStamp) midiEventPosition; - p->length = (UInt16) midiEventSize; - memcpy (p->data, midiEventData, (size_t) midiEventSize); - p = MIDIPacketNext (p); - } - - midiCallback.midiOutputCallback (midiCallback.userData, &lastTimeStamp, 0, packetList); - } - #endif - - midiEvents.clear(); - } + midiEvents.clear(); return noErr; } @@ -1524,8 +1401,7 @@ public: private: //============================================================================== - AudioSampleBuffer bufferSpace; - HeapBlock channels; + AudioUnitHelpers::CoreAudioBufferList audioBuffer; MidiBuffer midiEvents, incomingEvents; bool prepared, isBypassed; AudioUnitEvent auEvent; @@ -1534,12 +1410,119 @@ private: AUMIDIOutputCallbackStruct midiCallback; AudioTimeStamp lastTimeStamp; PluginBusUtilities busUtils; + int totalInChannels, totalOutChannels; //============================================================================== Array channelInfo; Array > supportedInputLayouts, supportedOutputLayouts; Array currentInputLayout, currentOutputLayout; - Array > inputLayoutMap, outputLayoutMap; + + //============================================================================== + AudioUnitHelpers::ChannelRemapper mapper; + + //============================================================================== + bool pullInputAudio (AudioUnitRenderActionFlags& flags, const AudioTimeStamp& timestamp, const UInt32 nFrames) noexcept + { + const unsigned int numInputBuses = GetScope (kAudioUnitScope_Input).GetNumberOfElements(); + + for (unsigned int i = 0; i < numInputBuses; ++i) + { + if (AUInputElement* input = GetInput (i)) + { + if (input->PullInput (flags, timestamp, i, nFrames) != noErr) + return false; // logic sometimes doesn't connect all the inputs immedietely + + if ((flags & kAudioUnitRenderAction_OutputIsSilence) != 0) + AudioUnitHelpers::clearAudioBuffer (input->GetBufferList()); + } + } + + return true; + } + + void prepareOutputBuffers (const UInt32 nFrames) noexcept + { + const unsigned int numOutputBuses = GetScope (kAudioUnitScope_Output).GetNumberOfElements(); + + for (unsigned int busIdx = 0; busIdx < numOutputBuses; ++busIdx) + { + AUOutputElement* output = GetOutput (busIdx); + + if (output->WillAllocateBuffer()) + output->PrepareBuffer (nFrames); + } + } + + void processBlock (AudioSampleBuffer& buffer, MidiBuffer& midiBuffer) noexcept + { + const ScopedLock sl (juceFilter->getCallbackLock()); + + if (juceFilter->isSuspended()) + { + buffer.clear(); + } + else if (isBypassed) + { + juceFilter->processBlockBypassed (buffer, midiBuffer); + } + else + { + juceFilter->processBlock (buffer, midiBuffer); + } + } + + void pushMidiOutput (UInt32 nFrames) noexcept + { + UInt32 numPackets = 0; + size_t dataSize = 0; + + const juce::uint8* midiEventData; + int midiEventSize, midiEventPosition; + + for (MidiBuffer::Iterator i (midiEvents); i.getNextEvent (midiEventData, midiEventSize, midiEventPosition);) + { + jassert (isPositiveAndBelow (midiEventPosition, (int) nFrames)); + dataSize += (size_t) midiEventSize; + ++numPackets; + } + + MIDIPacket* p; + const size_t packetMembersSize = sizeof (MIDIPacket) - sizeof (p->data); // NB: GCC chokes on "sizeof (MidiMessage::data)" + const size_t packetListMembersSize = sizeof (MIDIPacketList) - sizeof (p->data); + + HeapBlock packetList; + packetList.malloc (packetListMembersSize + packetMembersSize * numPackets + dataSize, 1); + packetList->numPackets = numPackets; + + p = packetList->packet; + + for (MidiBuffer::Iterator i (midiEvents); i.getNextEvent (midiEventData, midiEventSize, midiEventPosition);) + { + p->timeStamp = (MIDITimeStamp) midiEventPosition; + p->length = (UInt16) midiEventSize; + memcpy (p->data, midiEventData, (size_t) midiEventSize); + p = MIDIPacketNext (p); + } + + midiCallback.midiOutputCallback (midiCallback.userData, &lastTimeStamp, 0, packetList); + } + + bool GetAudioBufferList (bool isInput, int busIdx, AudioBufferList*& bufferList, bool& interleaved, int& numChannels) + { + if (AUIOElement* element = GetElement (isInput ? kAudioUnitScope_Input : kAudioUnitScope_Output, static_cast (busIdx))->AsIOElement()) + { + bufferList = &element->GetBufferList(); + + if (bufferList->mNumberBuffers > 0) + { + interleaved = AudioUnitHelpers::isAudioBufferInterleaved (*bufferList); + numChannels = static_cast (interleaved ? bufferList->mBuffers[0].mNumberChannels : bufferList->mNumberBuffers); + return true; + } + } + + return false; + } //============================================================================== static OSStatus scopeToDirection (AudioUnitScope scope, bool& isInput) noexcept @@ -1602,12 +1585,6 @@ private: const int numInputElements = static_cast (GetScope(kAudioUnitScope_Input). GetNumberOfElements()); const int numOutputElements = static_cast (GetScope(kAudioUnitScope_Output).GetNumberOfElements()); - inputLayoutMap. clear(); - outputLayoutMap.clear(); - - inputLayoutMap. resize (numInputBuses); - outputLayoutMap.resize (numOutputBuses); - for (int i = 0; i < numInputBuses; ++i) if ((err = syncProcessorWithAudioUnitForBus (true, i)) != noErr) return err; @@ -1624,6 +1601,10 @@ private: for (int i = 0; i < busUtils.getNumEnabledBuses (false); ++i) if (! audioUnitAndProcessorIsFormatMatching (false, i)) return kAudioUnitErr_FormatNotSupported; + // update total channel count + totalInChannels = busUtils.findTotalNumChannels (true); + totalOutChannels = busUtils.findTotalNumChannels (false); + return noErr; } @@ -1642,16 +1623,11 @@ private: if (numChannels != tagNumChannels) return kAudioUnitErr_FormatNotSupported; - const AudioChannelSet channelFormat = CALayoutTagToChannelSet(currentLayoutTag); + const AudioChannelSet channelFormat = AudioUnitHelpers::CALayoutTagToChannelSet(currentLayoutTag); if (! juceFilter->setPreferredBusArrangement (isInput, busNr, channelFormat)) return kAudioUnitErr_FormatNotSupported; - Array& layoutMap = (isInput ? inputLayoutMap : outputLayoutMap).getReference (busNr); - - for (int i = 0; i < numChannels; ++i) - layoutMap.add (auChannelIndexToJuce (i, channelFormat)); - return noErr; } @@ -1659,14 +1635,14 @@ private: { const int numChannels = channelSet.size(); + getCurrentLayout (isInput, busNr) = AudioUnitHelpers::ChannelSetToCALayoutTag (channelSet); + // is this bus activated? if (numChannels == 0) return noErr; if (AUIOElement* element = GetIOElement (isInput ? kAudioUnitScope_Input : kAudioUnitScope_Output, (UInt32) busNr)) { - getCurrentLayout (isInput, busNr) = ChannelSetToCALayoutTag (channelSet); - element->SetName ((CFStringRef) juceStringToNS (busUtils.getFilterBus (isInput).getReference (busNr).name)); CAStreamBasicDescription streamDescription; @@ -1699,148 +1675,6 @@ private: return false; } - //============================================================================== - void populateAUChannelInfo() - { - channelInfo.clear(); - - const AudioProcessor::AudioBusArrangement& arr = juceFilter->busArrangement; - PluginBusUtilities::ScopedBusRestorer restorer (busUtils); - - const bool hasMainInputBus = (busUtils.getNumEnabledBuses (true) > 0); - const bool hasMainOutputBus = (busUtils.getNumEnabledBuses (false) > 0); - - if ((! hasMainInputBus) && (! hasMainOutputBus)) - { - // midi effect plug-in: no audio - AUChannelInfo info; - info.inChannels = 0; - info.outChannels = 0; - - channelInfo.add (info); - return; - } - else - { - const uint32_t maxNumChanToCheckFor = 9; - - uint32_t defaultInputs = static_cast (busUtils.getNumChannels (true, 0)); - uint32_t defaultOutputs = static_cast (busUtils.getNumChannels (false, 0)); - - uint32_t lastInputs = defaultInputs; - uint32_t lastOutputs = defaultOutputs; - - SortedSet supportedChannels; - - // add the current configuration - if (lastInputs != 0 || lastOutputs != 0) - supportedChannels.add ((lastInputs << 16) | lastOutputs); - - for (uint32_t inChanNum = hasMainInputBus ? 1 : 0; inChanNum <= (hasMainInputBus ? maxNumChanToCheckFor : 0); ++inChanNum) - { - const AudioChannelSet* dfltInLayout = nullptr; - - if (inChanNum != 0 && (dfltInLayout = busUtils.getSupportedBusLayouts (true, 0).getDefaultLayoutForChannelNum (static_cast (inChanNum))) == nullptr) - continue; - - for (uint32_t outChanNum = hasMainOutputBus ? 1 : 0; outChanNum <= (hasMainOutputBus ? maxNumChanToCheckFor : 0); ++outChanNum) - { - const AudioChannelSet* dfltOutLayout = nullptr; - - if (outChanNum != 0 && (dfltOutLayout = busUtils.getSupportedBusLayouts (false, 0).getDefaultLayoutForChannelNum (static_cast (outChanNum))) == nullptr) - continue; - - // get the number of channels again. This is only needed for some processors that change their configuration - // even when they indicate that setPreferredBusArrangement failed. - lastInputs = hasMainInputBus ? static_cast (arr.inputBuses. getReference (0). channels.size()) : 0; - lastOutputs = hasMainOutputBus ? static_cast (arr.outputBuses.getReference (0). channels.size()) : 0; - - uint32_t channelConfiguration = (inChanNum << 16) | outChanNum; - - // did we already try this configuration? - if (supportedChannels.contains (channelConfiguration)) continue; - - if (lastInputs != inChanNum && dfltInLayout != nullptr) - { - if (! juceFilter->setPreferredBusArrangement (true, 0, *dfltInLayout)) continue; - - lastInputs = inChanNum; - lastOutputs = hasMainOutputBus ? static_cast (arr.outputBuses.getReference (0). channels.size()) : 0; - - supportedChannels.add ((lastInputs << 16) | lastOutputs); - } - - if (lastOutputs != outChanNum && dfltOutLayout != nullptr) - { - if (! juceFilter->setPreferredBusArrangement (false, 0, *dfltOutLayout)) continue; - - lastInputs = hasMainInputBus ? static_cast (arr.inputBuses.getReference (0).channels.size()) : 0; - lastOutputs = outChanNum; - - supportedChannels.add ((lastInputs << 16) | lastOutputs); - } - } - } - - bool hasInOutMismatch = false; - for (int i = 0; i < supportedChannels.size(); ++i) - { - const uint32_t numInputs = (supportedChannels[i] >> 16) & 0xffff; - const uint32_t numOutputs = (supportedChannels[i] >> 0) & 0xffff; - - if (numInputs != numOutputs) - { - hasInOutMismatch = true; - break; - } - } - - bool hasUnsupportedInput = ! hasMainOutputBus, hasUnsupportedOutput = ! hasMainInputBus; - for (uint32_t inChanNum = hasMainInputBus ? 1 : 0; inChanNum <= (hasMainInputBus ? maxNumChanToCheckFor : 0); ++inChanNum) - { - uint32_t channelConfiguration = (inChanNum << 16) | (hasInOutMismatch ? defaultOutputs : inChanNum); - if (! supportedChannels.contains (channelConfiguration)) - { - hasUnsupportedInput = true; - break; - } - } - - for (uint32_t outChanNum = hasMainOutputBus ? 1 : 0; outChanNum <= (hasMainOutputBus ? maxNumChanToCheckFor : 0); ++outChanNum) - { - uint32_t channelConfiguration = ((hasInOutMismatch ? defaultInputs : outChanNum) << 16) | outChanNum; - if (! supportedChannels.contains (channelConfiguration)) - { - hasUnsupportedOutput = true; - break; - } - } - - for (int i = 0; i < supportedChannels.size(); ++i) - { - const int numInputs = (supportedChannels[i] >> 16) & 0xffff; - const int numOutputs = (supportedChannels[i] >> 0) & 0xffff; - - AUChannelInfo info; - - // see here: https://developer.apple.com/library/mac/documentation/MusicAudio/Conceptual/AudioUnitProgrammingGuide/TheAudioUnit/TheAudioUnit.html - info.inChannels = static_cast (hasMainInputBus ? (hasUnsupportedInput ? numInputs : (hasInOutMismatch && (! hasUnsupportedOutput) ? -2 : -1)) : 0); - info.outChannels = static_cast (hasMainOutputBus ? (hasUnsupportedOutput ? numOutputs : (hasInOutMismatch && (! hasUnsupportedInput) ? -2 : -1)) : 0); - - if (info.inChannels == -2 && info.outChannels == -2) - info.inChannels = -1; - - int j; - for (j = 0; j < channelInfo.size(); ++j) - if (channelInfo[j].inChannels == info.inChannels && channelInfo[j].outChannels == info.outChannels) - break; - - if (j >= channelInfo.size()) - channelInfo.add (info); - } - } - } - //============================================================================== void clearPresetsArray() const { @@ -1873,261 +1707,36 @@ private: bool toggleBus (bool isInput, int busIdx) { - const PluginBusUtilities::SupportedBusLayouts& layouts = busUtils.getSupportedBusLayouts (isInput, busIdx); - - if (! layouts.canBeDisabled) + if (busUtils.busCanBeDisabled (isInput, busIdx)) return false; AudioChannelSet newSet; if (! busUtils.isBusEnabled (isInput, busIdx)) - newSet = layouts.getDefault(); + newSet = busUtils.getDefaultLayoutForBus (isInput, busIdx); return juceFilter->setPreferredBusArrangement (isInput, busIdx, newSet); } - //============================================================================== - // maps a channel index into an AU format to an index of a juce format - struct AUChannelStreamOrder - { - AudioChannelLayoutTag auLayoutTag; - AudioChannelLabel speakerOrder[8]; - }; - - static AUChannelStreamOrder auChannelStreamOrder[]; - - static int auChannelIndexToJuce (int auIndex, const AudioChannelSet& channelSet) - { - if (auIndex >= 8) return auIndex; - - AudioChannelLayoutTag currentLayout = ChannelSetToCALayoutTag (channelSet); - - int layoutIndex; - for (layoutIndex = 0; auChannelStreamOrder[layoutIndex].auLayoutTag != currentLayout; ++layoutIndex) - if (auChannelStreamOrder[layoutIndex].auLayoutTag == 0) return auIndex; - - const AudioChannelSet::ChannelType channelType - = CoreAudioChannelLabelToJuceType (auChannelStreamOrder[layoutIndex].speakerOrder[auIndex]); - - const int juceIndex = channelSet.getChannelTypes().indexOf (channelType); - return juceIndex >= 0 ? juceIndex : auIndex; - } - - static int juceChannelIndexToAu (int juceIndex, const AudioChannelSet& channelSet) - { - AudioChannelLayoutTag currentLayout = ChannelSetToCALayoutTag (channelSet); - - int layoutIndex; - for (layoutIndex = 0; auChannelStreamOrder[layoutIndex].auLayoutTag != currentLayout; ++layoutIndex) - if (auChannelStreamOrder[layoutIndex].auLayoutTag == 0) return juceIndex; - - const AUChannelStreamOrder& channelOrder = auChannelStreamOrder[layoutIndex]; - const AudioChannelSet::ChannelType channelType = channelSet.getTypeOfChannel (juceIndex); - - for (int i = 0; i < 8 && channelOrder.speakerOrder[i] != 0; ++i) - if (CoreAudioChannelLabelToJuceType (channelOrder.speakerOrder[i]) == channelType) - return i; - - return juceIndex; - } - - static AudioChannelSet::ChannelType CoreAudioChannelLabelToJuceType (AudioChannelLabel label) noexcept - { - if (label >= kAudioChannelLabel_Discrete_0 && label <= kAudioChannelLabel_Discrete_65535) - { - const unsigned int discreteChannelNum = label - kAudioChannelLabel_Discrete_0; - return static_cast (AudioChannelSet::discreteChannel0 + discreteChannelNum); - } - - switch (label) - { - case kAudioChannelLabel_Center: - case kAudioChannelLabel_Mono: return AudioChannelSet::centre; - case kAudioChannelLabel_Left: - case kAudioChannelLabel_HeadphonesLeft: return AudioChannelSet::left; - case kAudioChannelLabel_Right: - case kAudioChannelLabel_HeadphonesRight: return AudioChannelSet::right; - case kAudioChannelLabel_LFEScreen: return AudioChannelSet::subbass; - case kAudioChannelLabel_LeftSurround: return AudioChannelSet::surroundLeft; - case kAudioChannelLabel_RightSurround: return AudioChannelSet::surroundRight; - case kAudioChannelLabel_LeftCenter: return AudioChannelSet::centreLeft; - case kAudioChannelLabel_RightCenter: return AudioChannelSet::centreRight; - case kAudioChannelLabel_CenterSurround: return AudioChannelSet::surround; - case kAudioChannelLabel_LeftSurroundDirect: return AudioChannelSet::sideLeft; - case kAudioChannelLabel_RightSurroundDirect: return AudioChannelSet::sideRight; - case kAudioChannelLabel_TopCenterSurround: return AudioChannelSet::topMiddle; - case kAudioChannelLabel_VerticalHeightLeft: return AudioChannelSet::topFrontLeft; - case kAudioChannelLabel_VerticalHeightRight: return AudioChannelSet::topFrontRight; - case kAudioChannelLabel_VerticalHeightCenter: return AudioChannelSet::topFrontCentre; - case kAudioChannelLabel_TopBackLeft: - case kAudioChannelLabel_RearSurroundLeft: return AudioChannelSet::topRearLeft; - case kAudioChannelLabel_TopBackRight: - case kAudioChannelLabel_RearSurroundRight: return AudioChannelSet::topRearRight; - case kAudioChannelLabel_TopBackCenter: return AudioChannelSet::topRearCentre; - case kAudioChannelLabel_LFE2: return AudioChannelSet::subbass2; - case kAudioChannelLabel_LeftWide: return AudioChannelSet::wideLeft; - case kAudioChannelLabel_RightWide: return AudioChannelSet::wideRight; - case kAudioChannelLabel_Ambisonic_W: return AudioChannelSet::ambisonicW; - case kAudioChannelLabel_Ambisonic_X: return AudioChannelSet::ambisonicX; - case kAudioChannelLabel_Ambisonic_Y: return AudioChannelSet::ambisonicY; - case kAudioChannelLabel_Ambisonic_Z: return AudioChannelSet::ambisonicZ; - default: return AudioChannelSet::unknown; - } - } - - static AudioChannelLabel JuceChannelTypeToCoreAudioLabel (const AudioChannelSet::ChannelType& label) noexcept - { - if (label >= AudioChannelSet::discreteChannel0) - { - const unsigned int discreteChannelNum = label - AudioChannelSet::discreteChannel0;; - return static_cast (kAudioChannelLabel_Discrete_0 + discreteChannelNum); - } - - switch (label) - { - case AudioChannelSet::centre: return kAudioChannelLabel_Center; - case AudioChannelSet::left: return kAudioChannelLabel_Left; - case AudioChannelSet::right: return kAudioChannelLabel_Right; - case AudioChannelSet::subbass: return kAudioChannelLabel_LFEScreen; - case AudioChannelSet::surroundLeft: return kAudioChannelLabel_LeftSurround; - case AudioChannelSet::surroundRight: return kAudioChannelLabel_RightSurround; - case AudioChannelSet::centreLeft: return kAudioChannelLabel_LeftCenter; - case AudioChannelSet::centreRight: return kAudioChannelLabel_RightCenter; - case AudioChannelSet::surround: return kAudioChannelLabel_CenterSurround; - case AudioChannelSet::sideLeft: return kAudioChannelLabel_LeftSurroundDirect; - case AudioChannelSet::sideRight: return kAudioChannelLabel_RightSurroundDirect; - case AudioChannelSet::topMiddle: return kAudioChannelLabel_TopCenterSurround; - case AudioChannelSet::topFrontLeft: return kAudioChannelLabel_VerticalHeightLeft; - case AudioChannelSet::topFrontRight: return kAudioChannelLabel_VerticalHeightRight; - case AudioChannelSet::topFrontCentre: return kAudioChannelLabel_VerticalHeightCenter; - case AudioChannelSet::topRearLeft: return kAudioChannelLabel_RearSurroundLeft; - case AudioChannelSet::topRearRight: return kAudioChannelLabel_RearSurroundRight; - case AudioChannelSet::topRearCentre: return kAudioChannelLabel_TopBackCenter; - case AudioChannelSet::subbass2: return kAudioChannelLabel_LFE2; - case AudioChannelSet::wideLeft: return kAudioChannelLabel_LeftWide; - case AudioChannelSet::wideRight: return kAudioChannelLabel_RightWide; - case AudioChannelSet::ambisonicW: return kAudioChannelLabel_Ambisonic_W; - case AudioChannelSet::ambisonicX: return kAudioChannelLabel_Ambisonic_X; - case AudioChannelSet::ambisonicY: return kAudioChannelLabel_Ambisonic_Y; - case AudioChannelSet::ambisonicZ: return kAudioChannelLabel_Ambisonic_Z; - case AudioChannelSet::unknown: return kAudioChannelLabel_Unknown; - case AudioChannelSet::discreteChannel0: return kAudioChannelLabel_Discrete_0; - } - - return kAudioChannelLabel_Unknown; - } - - static AudioChannelSet CoreAudioChannelBitmapToJuceType (UInt32 bitmap) noexcept - { - AudioChannelSet set; - - if ((bitmap & kAudioChannelBit_Left) != 0) set.addChannel (AudioChannelSet::left); - if ((bitmap & kAudioChannelBit_Right) != 0) set.addChannel (AudioChannelSet::right); - if ((bitmap & kAudioChannelBit_Center) != 0) set.addChannel (AudioChannelSet::centre); - if ((bitmap & kAudioChannelBit_LFEScreen) != 0) set.addChannel (AudioChannelSet::subbass); - if ((bitmap & kAudioChannelBit_LeftSurround) != 0) set.addChannel (AudioChannelSet::surroundLeft); - if ((bitmap & kAudioChannelBit_RightSurround) != 0) set.addChannel (AudioChannelSet::surroundRight); - if ((bitmap & kAudioChannelBit_LeftCenter) != 0) set.addChannel (AudioChannelSet::centreLeft); - if ((bitmap & kAudioChannelBit_RightCenter) != 0) set.addChannel (AudioChannelSet::centreRight); - if ((bitmap & kAudioChannelBit_CenterSurround) != 0) set.addChannel (AudioChannelSet::surround); - if ((bitmap & kAudioChannelBit_LeftSurroundDirect) != 0) set.addChannel (AudioChannelSet::sideLeft); - if ((bitmap & kAudioChannelBit_RightSurroundDirect) != 0) set.addChannel (AudioChannelSet::sideRight); - if ((bitmap & kAudioChannelBit_TopCenterSurround) != 0) set.addChannel (AudioChannelSet::topMiddle); - if ((bitmap & kAudioChannelBit_VerticalHeightLeft) != 0) set.addChannel (AudioChannelSet::topFrontLeft); - if ((bitmap & kAudioChannelBit_VerticalHeightCenter) != 0) set.addChannel (AudioChannelSet::topFrontCentre); - if ((bitmap & kAudioChannelBit_VerticalHeightRight) != 0) set.addChannel (AudioChannelSet::topFrontRight); - if ((bitmap & kAudioChannelBit_TopBackLeft) != 0) set.addChannel (AudioChannelSet::topRearLeft); - if ((bitmap & kAudioChannelBit_TopBackCenter) != 0) set.addChannel (AudioChannelSet::topRearCentre); - if ((bitmap & kAudioChannelBit_TopBackRight) != 0) set.addChannel (AudioChannelSet::topRearRight); - - return set; - } - - static AudioChannelSet CoreAudioChannelLayoutToJuceType (const AudioChannelLayout& layout) noexcept - { - const AudioChannelLayoutTag tag = layout.mChannelLayoutTag; - - if (tag == kAudioChannelLayoutTag_UseChannelBitmap) return CoreAudioChannelBitmapToJuceType (layout.mChannelBitmap); - if (tag == kAudioChannelLayoutTag_UseChannelDescriptions) - { - AudioChannelSet set; - for (unsigned int i = 0; i < layout.mNumberChannelDescriptions; ++i) - set.addChannel (CoreAudioChannelLabelToJuceType (layout.mChannelDescriptions[i].mChannelLabel)); - - return set; - } - - return CALayoutTagToChannelSet (tag); - } - - static AudioChannelSet CALayoutTagToChannelSet (AudioChannelLayoutTag tag) noexcept - { - switch (tag) - { - case kAudioChannelLayoutTag_Unknown: return AudioChannelSet::disabled(); - case kAudioChannelLayoutTag_Mono: return AudioChannelSet::mono(); - case kAudioChannelLayoutTag_Stereo: - case kAudioChannelLayoutTag_StereoHeadphones: - case kAudioChannelLayoutTag_Binaural: return AudioChannelSet::stereo(); - case kAudioChannelLayoutTag_Quadraphonic: return AudioChannelSet::quadraphonic(); - case kAudioChannelLayoutTag_Pentagonal: return AudioChannelSet::pentagonal(); - case kAudioChannelLayoutTag_Hexagonal: return AudioChannelSet::hexagonal(); - case kAudioChannelLayoutTag_Octagonal: return AudioChannelSet::octagonal(); - case kAudioChannelLayoutTag_Ambisonic_B_Format: return AudioChannelSet::ambisonic(); - case kAudioChannelLayoutTag_AudioUnit_6_0: return AudioChannelSet::create6point0(); - case kAudioChannelLayoutTag_MPEG_6_1_A: return AudioChannelSet::create6point1(); - case kAudioChannelLayoutTag_MPEG_5_0_B: return AudioChannelSet::create5point0(); - case kAudioChannelLayoutTag_MPEG_5_1_A: return AudioChannelSet::create5point1(); - case kAudioChannelLayoutTag_DTS_7_1: - case kAudioChannelLayoutTag_MPEG_7_1_C: return AudioChannelSet::create7point1(); - case kAudioChannelLayoutTag_AudioUnit_7_0_Front: return AudioChannelSet::createFront7point0(); - case kAudioChannelLayoutTag_AudioUnit_7_1_Front: return AudioChannelSet::createFront7point1(); - case kAudioChannelLayoutTag_MPEG_3_0_A: - case kAudioChannelLayoutTag_MPEG_3_0_B: return AudioChannelSet::createLCR(); - case kAudioChannelLayoutTag_MPEG_4_0_A: - case kAudioChannelLayoutTag_MPEG_4_0_B: return AudioChannelSet::createLCRS(); - } - - if (int numChannels = static_cast (tag) & 0xffff) - return AudioChannelSet::discreteChannels (numChannels); - - // Bitmap and channel description array layout tags are currently unsupported :-( - jassertfalse; - return AudioChannelSet(); - } - - static AudioChannelLayoutTag ChannelSetToCALayoutTag (const AudioChannelSet& set) noexcept - { - if (set == AudioChannelSet::mono()) return kAudioChannelLayoutTag_Mono; - if (set == AudioChannelSet::stereo()) return kAudioChannelLayoutTag_Stereo; - if (set == AudioChannelSet::createLCR()) return kAudioChannelLayoutTag_MPEG_3_0_A; - if (set == AudioChannelSet::createLCRS()) return kAudioChannelLayoutTag_MPEG_4_0_A; - if (set == AudioChannelSet::quadraphonic()) return kAudioChannelLayoutTag_Quadraphonic; - if (set == AudioChannelSet::pentagonal()) return kAudioChannelLayoutTag_Pentagonal; - if (set == AudioChannelSet::hexagonal()) return kAudioChannelLayoutTag_Hexagonal; - if (set == AudioChannelSet::octagonal()) return kAudioChannelLayoutTag_Octagonal; - if (set == AudioChannelSet::ambisonic()) return kAudioChannelLayoutTag_Ambisonic_B_Format; - if (set == AudioChannelSet::create5point0()) return kAudioChannelLayoutTag_MPEG_5_0_B; - if (set == AudioChannelSet::create5point1()) return kAudioChannelLayoutTag_MPEG_5_1_A; - if (set == AudioChannelSet::create6point0()) return kAudioChannelLayoutTag_AudioUnit_6_0; - if (set == AudioChannelSet::create6point1()) return kAudioChannelLayoutTag_MPEG_6_1_A; - if (set == AudioChannelSet::create7point0()) return kAudioChannelLayoutTag_AudioUnit_7_0; - if (set == AudioChannelSet::create7point1()) return kAudioChannelLayoutTag_MPEG_7_1_C; - if (set == AudioChannelSet::createFront7point0()) return kAudioChannelLayoutTag_AudioUnit_7_0_Front; - if (set == AudioChannelSet::createFront7point1()) return kAudioChannelLayoutTag_AudioUnit_7_1_Front; - if (set == AudioChannelSet::disabled()) return kAudioChannelLayoutTag_Unknown; - - return static_cast ((int) kAudioChannelLayoutTag_DiscreteInOrder | set.size()); - } - //============================================================================== void addSupportedLayoutTagsForBus (bool isInput, int busNum, Array& tags) { - const PluginBusUtilities::SupportedBusLayouts& layouts = busUtils.getSupportedBusLayouts (isInput, busNum); + int layoutIndex; + AudioChannelLayoutTag tag; - if (! layouts.busIgnoresLayout) - for (int i = 0; i < layouts.supportedLayouts.size(); ++i) - tags.add (ChannelSetToCALayoutTag (layouts.supportedLayouts.getReference (i))); + for (layoutIndex = 0; (tag = AudioUnitHelpers::auChannelStreamOrder[layoutIndex].auLayoutTag) != 0; ++layoutIndex) + if (juceFilter->setPreferredBusArrangement (isInput, busNum, AudioUnitHelpers::CALayoutTagToChannelSet (tag))) + tags.add (tag); + + // add discrete layout tags + int n = busUtils.findMaxNumberOfChannelsForBus (true, busNum); + n = n < 0 ? maxChannelsToProbeFor() : n; + + for (int ch = 0; ch < n; ++ch) + { + if (juceFilter->setPreferredBusArrangement (isInput, busNum, AudioChannelSet::discreteChannels (ch))) + tags.add (static_cast ((int) kAudioChannelLayoutTag_DiscreteInOrder | ch)); + } } void addSupportedLayoutTagsForDirection (bool isInput) @@ -2151,37 +1760,17 @@ private: currentInputLayout. resize (juceFilter->busArrangement.inputBuses. size()); currentOutputLayout.resize (juceFilter->busArrangement.outputBuses.size()); + PluginBusUtilities::ScopedBusRestorer busRestorer (busUtils); addSupportedLayoutTagsForDirection (true); addSupportedLayoutTagsForDirection (false); } - JUCE_DECLARE_NON_COPYABLE (JuceAU) -}; + static int maxChannelsToProbeFor() + { + return (getHostType().isLogic() ? 8 : 64); + } -JuceAU::AUChannelStreamOrder JuceAU::auChannelStreamOrder[] = -{ - {kAudioChannelLayoutTag_Mono, {kAudioChannelLabel_Center, 0, 0, 0, 0, 0, 0, 0}}, - {kAudioChannelLayoutTag_Stereo, {kAudioChannelLabel_Left, kAudioChannelLabel_Right, 0, 0, 0, 0, 0, 0}}, - {kAudioChannelLayoutTag_StereoHeadphones, {kAudioChannelLabel_HeadphonesLeft, kAudioChannelLabel_HeadphonesRight, 0, 0, 0, 0, 0, 0}}, - {kAudioChannelLayoutTag_Binaural, {kAudioChannelLabel_Left, kAudioChannelLabel_Right, 0, 0, 0, 0, 0, 0}}, - {kAudioChannelLayoutTag_Quadraphonic, {kAudioChannelLabel_Left, kAudioChannelLabel_Right, kAudioChannelLabel_LeftSurround, kAudioChannelLabel_RightSurround, 0, 0, 0, 0}}, - {kAudioChannelLayoutTag_Pentagonal, {kAudioChannelLabel_Left, kAudioChannelLabel_Right, kAudioChannelLabel_LeftSurround, kAudioChannelLabel_RightSurround, kAudioChannelLabel_Center, 0, 0, 0}}, - {kAudioChannelLayoutTag_Hexagonal, {kAudioChannelLabel_Left, kAudioChannelLabel_Right, kAudioChannelLabel_LeftSurround, kAudioChannelLabel_RightSurround, kAudioChannelLabel_Center, kAudioChannelLabel_CenterSurround, 0, 0}}, - {kAudioChannelLayoutTag_Octagonal, {kAudioChannelLabel_Left, kAudioChannelLabel_Right, kAudioChannelLabel_LeftSurround, kAudioChannelLabel_RightSurround, kAudioChannelLabel_Center, kAudioChannelLabel_CenterSurround, kAudioChannelLabel_LeftWide, kAudioChannelLabel_RightWide}}, - {kAudioChannelLayoutTag_Ambisonic_B_Format, {kAudioChannelLabel_Ambisonic_W, kAudioChannelLabel_Ambisonic_X, kAudioChannelLabel_Ambisonic_Y, kAudioChannelLabel_Ambisonic_Z, 0, 0, 0, 0}}, - {kAudioChannelLayoutTag_MPEG_5_0_B, {kAudioChannelLabel_Left, kAudioChannelLabel_Right, kAudioChannelLabel_LeftSurround, kAudioChannelLabel_RightSurround, kAudioChannelLabel_Center, 0, 0, 0}}, - {kAudioChannelLayoutTag_MPEG_5_1_A, {kAudioChannelLabel_Left, kAudioChannelLabel_Right, kAudioChannelLabel_Center, kAudioChannelLabel_LFEScreen, kAudioChannelLabel_LeftSurround, kAudioChannelLabel_RightSurround, 0, 0}}, - {kAudioChannelLayoutTag_AudioUnit_6_0, {kAudioChannelLabel_Left, kAudioChannelLabel_Right, kAudioChannelLabel_LeftSurround, kAudioChannelLabel_RightSurround, kAudioChannelLabel_Center, kAudioChannelLabel_CenterSurround, 0, 0}}, - {kAudioChannelLayoutTag_MPEG_6_1_A, {kAudioChannelLabel_Left, kAudioChannelLabel_Right, kAudioChannelLabel_Center, kAudioChannelLabel_LFEScreen, kAudioChannelLabel_LeftSurround, kAudioChannelLabel_RightSurround, kAudioChannelLabel_CenterSurround, 0}}, - {kAudioChannelLayoutTag_AudioUnit_7_0, {kAudioChannelLabel_Left, kAudioChannelLabel_Right, kAudioChannelLabel_LeftSurround, kAudioChannelLabel_RightSurround, kAudioChannelLabel_Center, kAudioChannelLabel_RearSurroundLeft, kAudioChannelLabel_RearSurroundRight, 0}}, - {kAudioChannelLayoutTag_MPEG_7_1_C, {kAudioChannelLabel_Left, kAudioChannelLabel_Right, kAudioChannelLabel_Center, kAudioChannelLabel_LFEScreen, kAudioChannelLabel_LeftSurround, kAudioChannelLabel_RightSurround, kAudioChannelLabel_RearSurroundLeft, kAudioChannelLabel_RearSurroundRight}}, - {kAudioChannelLayoutTag_AudioUnit_7_0_Front,{kAudioChannelLabel_Left, kAudioChannelLabel_Right, kAudioChannelLabel_LeftSurround, kAudioChannelLabel_RightSurround, kAudioChannelLabel_Center, kAudioChannelLabel_LeftCenter, kAudioChannelLabel_RightCenter, 0}}, - {kAudioChannelLayoutTag_AudioUnit_7_1_Front,{kAudioChannelLabel_Left, kAudioChannelLabel_Right, kAudioChannelLabel_Center, kAudioChannelLabel_LFEScreen, kAudioChannelLabel_LeftSurround, kAudioChannelLabel_RightSurround, kAudioChannelLabel_LeftCenter, kAudioChannelLabel_RightCenter}}, - {kAudioChannelLayoutTag_MPEG_3_0_A, {kAudioChannelLabel_Left, kAudioChannelLabel_Right, kAudioChannelLabel_Center, 0, 0, 0, 0, 0}}, - {kAudioChannelLayoutTag_MPEG_3_0_B, {kAudioChannelLabel_Center, kAudioChannelLabel_Left, kAudioChannelLabel_Right, 0, 0, 0, 0, 0}}, - {kAudioChannelLayoutTag_MPEG_4_0_A, {kAudioChannelLabel_Left, kAudioChannelLabel_Right, kAudioChannelLabel_Center, kAudioChannelLabel_CenterSurround, 0, 0, 0, 0}}, - {kAudioChannelLayoutTag_MPEG_4_0_B, {kAudioChannelLabel_Center, kAudioChannelLabel_Left, kAudioChannelLabel_Right, kAudioChannelLabel_CenterSurround, 0, 0, 0, 0}}, - {0, {0,0,0,0,0,0,0,0}} + JUCE_DECLARE_NON_COPYABLE (JuceAU) }; //============================================================================== @@ -2423,6 +2012,7 @@ private: extern "C" __attribute__((visibility("default"))) ComponentResult Name ## Suffix (ComponentParameters* params, Class* obj); \ extern "C" __attribute__((visibility("default"))) ComponentResult Name ## Suffix (ComponentParameters* params, Class* obj) \ { \ + JUCE_DECLARE_WRAPPER_TYPE (wrapperType_AudioUnit); \ return ComponentEntryPoint::Dispatch (params, obj); \ } @@ -2436,6 +2026,7 @@ private: extern "C" __attribute__((visibility("default"))) void* Name ## Factory (const AudioComponentDescription* desc); \ extern "C" __attribute__((visibility("default"))) void* Name ## Factory (const AudioComponentDescription* desc) \ { \ + JUCE_DECLARE_WRAPPER_TYPE (wrapperType_AudioUnit); \ return FACTORY_BASE_CLASS::Factory (desc); \ } diff --git a/modules/juce_audio_plugin_client/AU/juce_AUv3_Wrapper.mm b/modules/juce_audio_plugin_client/AU/juce_AUv3_Wrapper.mm new file mode 100644 index 0000000000..e208176f92 --- /dev/null +++ b/modules/juce_audio_plugin_client/AU/juce_AUv3_Wrapper.mm @@ -0,0 +1,1265 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +#include "../../juce_core/system/juce_TargetPlatform.h" +#include "../utility/juce_CheckSettingMacros.h" + +#if JucePlugin_Build_AUv3 + +#import +#import +#import + +#ifndef __OBJC2__ + #error AUv3 needs Objective-C 2 support (compile with 64-bit) +#endif + +#include "../utility/juce_IncludeSystemHeaders.h" +#include "../utility/juce_IncludeModuleHeaders.h" +#include "../../juce_core/native/juce_osx_ObjCHelpers.h" +#include "../utility/juce_PluginBusUtilities.h" +#include "../../juce_graphics/native/juce_mac_CoreGraphicsHelpers.h" + +#include "juce_AU_Shared.h" + +#define JUCE_VIEWCONTROLLER_OBJC_NAME(x) JUCE_JOIN_MACRO (x, FactoryAUv3) + +#if ! JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES + #error AUv3 wrapper requires variadic template support +#endif + +#if JUCE_IOS +#define IOS_MAC_VIEW UIView +#else +#define IOS_MAC_VIEW NSView +#endif + +#define JUCE_AUDIOUNIT_OBJC_NAME(x) JUCE_JOIN_MACRO (x, AUv3) + +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wnullability-completeness" + +JUCE_DEFINE_WRAPPER_TYPE (wrapperType_AudioUnitv3); + +// TODO: ask Timur: use SFINAE to automatically generate this for all NSObjects +template <> struct ContainerDeletePolicy { static void destroy (NSObject* o) { [o release]; } }; +template <> struct ContainerDeletePolicy { static void destroy (NSObject* o) { [o release]; } }; +template <> struct ContainerDeletePolicy > { static void destroy (NSObject* o) { [o release]; } }; +template <> struct ContainerDeletePolicy { static void destroy (NSObject* o) { [o release]; } }; +template <> struct ContainerDeletePolicy > { static void destroy (NSObject* o) { [o release]; } }; +template <> struct ContainerDeletePolicy { static void destroy (NSObject* o) { [o release]; } }; +template <> struct ContainerDeletePolicy { static void destroy (NSObject* o) { [o release]; } }; +template <> struct ContainerDeletePolicy { static void destroy (NSObject* o) { [o release]; } }; +template <> struct ContainerDeletePolicy > { static void destroy (NSObject* o) { [o release]; } }; +template <> struct ContainerDeletePolicy { static void destroy (NSObject* o) { [o release]; } }; +template <> struct ContainerDeletePolicy > { static void destroy (NSObject* o) { [o release]; } }; +template <> struct ContainerDeletePolicy { static void destroy (NSObject* o) { [o release]; } }; + +//============================================================================== +struct AudioProcessorHolder : public ReferenceCountedObject +{ + AudioProcessorHolder() {} + AudioProcessorHolder (AudioProcessor* p) : juceFilter (p) {} + AudioProcessor& operator*() noexcept { return *juceFilter; } + AudioProcessor* operator->() noexcept { return juceFilter; } + AudioProcessor* get() noexcept { return juceFilter; } + + typedef ReferenceCountedObjectPtr Ptr; + +private: + ScopedPointer juceFilter; + + AudioProcessorHolder& operator= (AudioProcessor*) JUCE_DELETED_FUNCTION; + AudioProcessorHolder (AudioProcessorHolder&) JUCE_DELETED_FUNCTION; + AudioProcessorHolder& operator= (AudioProcessorHolder&) JUCE_DELETED_FUNCTION; +}; + +//============================================================================== +class JuceAudioUnitv3Base +{ +public: + JuceAudioUnitv3Base (const AudioComponentDescription& descr, AudioComponentInstantiationOptions options, + NSError** error) + #pragma clang diagnostic push + #pragma clang diagnostic ignored "-Wobjc-method-access" + : au ([audioUnitObjCClass.createInstance() initWithComponentDescription: descr + options: options + error: error + juceClass: this]) + #pragma clang diagnostic pop + { + } + + JuceAudioUnitv3Base (AUAudioUnit* audioUnit) : au (audioUnit) + { + jassert (MessageManager::getInstance()->isThisTheMessageThread()); + initialiseJuce_GUI(); + } + + //============================================================================== + AUAudioUnit* getAudioUnit() noexcept { return au; } + virtual int getVirtualMIDICableCount() { return 0; } + virtual void reset() {} + virtual bool shouldChangeToFormat (AVAudioFormat*, AUAudioUnitBus*) { return true; } + virtual AUAudioUnitPreset* getCurrentPreset() { return nullptr; } + virtual void setCurrentPreset(AUAudioUnitPreset*) {} + virtual NSTimeInterval getLatency() { return 0.0; } + virtual NSTimeInterval getTailTime() { return 0.0; } + virtual bool getCanProcessInPlace() { return false; } + virtual bool getRenderingOffline() { return false; } + + //============================================================================== + virtual AUAudioUnitBusArray* getInputBusses() = 0; + virtual AUAudioUnitBusArray* getOutputBusses() = 0; + virtual AUParameterTree* getParameterTree() = 0; + virtual AUInternalRenderBlock getInternalRenderBlock() = 0; + virtual void setRenderingOffline (bool offline) = 0; + virtual NSArray *getChannelCapabilities() = 0; + + //============================================================================== + virtual NSArray* parametersForOverviewWithCount (int) + { + return [NSArray array]; + } + + virtual NSArray* getFactoryPresets() + { + return [NSArray array]; + } + + virtual NSDictionary* getFullState() + { + objc_super s = { getAudioUnit(), [AUAudioUnit class] }; + return ObjCMsgSendSuper*> (&s, @selector (fullState)); + } + + virtual void setFullState (NSDictionary* state) + { + objc_super s = { getAudioUnit(), [AUAudioUnit class] }; + ObjCMsgSendSuper*> (&s, @selector (setFullState:), state); + } + + virtual bool allocateRenderResourcesAndReturnError (NSError **outError) + { + objc_super s = { getAudioUnit(), [AUAudioUnit class] }; + if (! ObjCMsgSendSuper (&s, @selector (allocateRenderResourcesAndReturnError:), outError)) + return false; + + return true; + } + + virtual void deallocateRenderResources() + { + objc_super s = { getAudioUnit(), [AUAudioUnit class] }; + ObjCMsgSendSuper (&s, @selector (deallocateRenderResources)); + } + + //============================================================================== +protected: + virtual ~JuceAudioUnitv3Base() {} + +private: + struct Class : public ObjCClass + { + Class() : ObjCClass ("AUAudioUnit_") + { + addIvar ("cppObject"); + + addMethod (@selector (initWithComponentDescription:options:error:juceClass:), + initWithComponentDescriptionAndJuceClass, "@@:", + @encode (AudioComponentDescription), + @encode (AudioComponentInstantiationOptions), "^@@"); + + addMethod (@selector (initWithComponentDescription:options:error:), + initWithComponentDescription, "@@:", + @encode (AudioComponentDescription), + @encode (AudioComponentInstantiationOptions), "^@"); + + addMethod (@selector (dealloc), dealloc, "v@:"); + addMethod (@selector (inputBusses), getInputBusses, "@@:"); + addMethod (@selector (outputBusses), getOutputBusses, "@@:"); + addMethod (@selector (parameterTree), getParameterTree, "@@:"); + addMethod (@selector (deallocateRenderResources), deallocateRenderResources, "v@:"); + addMethod (@selector (reset), reset, "v@:"); + addMethod (@selector (shouldChangeToFormat:forBus:), shouldChangeToFormat, "B@:@@"); + addMethod (@selector (factoryPresets), getFactoryPresets, "@@:"); + addMethod (@selector (currentPreset), getCurrentPreset, "@@:"); + addMethod (@selector (setCurrentPreset:), setCurrentPreset, "v@:@"); + addMethod (@selector (fullState), getFullState, "@@:"); + addMethod (@selector (setFullState:), setFullState, "v@:@"); + addMethod (@selector (channelCapabilities), getChannelCapabilities, "@@:"); + addMethod (@selector (allocateRenderResourcesAndReturnError:), allocateRenderResourcesAndReturnError, "B@:^@"); + + addMethod (@selector (parametersForOverviewWithCount:), parametersForOverviewWithCount, "@@:", @encode (NSInteger)); + addMethod (@selector (setRenderingOffline:), setRenderingOffline, "v@:", @encode (BOOL)); + + + addMethod (@selector (internalRenderBlock), getInternalRenderBlock, @encode (AUInternalRenderBlock), "@:"); + addMethod (@selector (virtualMIDICableCount), getVirtualMIDICableCount, @encode (NSInteger), "@:"); + addMethod (@selector (latency), getLatency, @encode (NSTimeInterval), "@:"); + addMethod (@selector (tailTime), getTailTime, @encode (NSTimeInterval), "@:"); + addMethod (@selector (canProcessInPlace), getCanProcessInPlace, @encode (BOOL), "@:"); + addMethod (@selector (isRenderingOffline), getRenderingOffline, @encode (BOOL), "@:"); + + registerClass(); + } + + //============================================================================== + static JuceAudioUnitv3Base* _this (id self) { return getIvar (self, "cppObject"); } + static void setThis (id self, JuceAudioUnitv3Base* cpp) { object_setInstanceVariable (self, "cppObject", cpp); } + + //============================================================================== + static id initWithComponentDescription (id _self, SEL, AudioComponentDescription descr, AudioComponentInstantiationOptions options, NSError** error) + { + AUAudioUnit* self = _self; + + objc_super s = { self, [AUAudioUnit class] }; + self = ObjCMsgSendSuper (&s, @selector(initWithComponentDescription:options:error:), descr, options, error); + + JuceAudioUnitv3Base* juceAU = JuceAudioUnitv3Base::create (self, descr, options, error); + + setThis (self, juceAU); + return self; + } + + static id initWithComponentDescriptionAndJuceClass (id _self, SEL, AudioComponentDescription descr, AudioComponentInstantiationOptions options, NSError** error, JuceAudioUnitv3Base* juceAU) + { + AUAudioUnit* self = _self; + + objc_super s = { self, [AUAudioUnit class] }; + self = ObjCMsgSendSuper (&s, @selector(initWithComponentDescription:options:error:), descr, options, error); + + + setThis (self, juceAU); + return self; + } + + static void dealloc (id self, SEL) { delete _this (self); } + static AUAudioUnitBusArray* getInputBusses (id self, SEL) { return _this (self)->getInputBusses(); } + static AUAudioUnitBusArray* getOutputBusses (id self, SEL) { return _this (self)->getOutputBusses(); } + static AUParameterTree* getParameterTree (id self, SEL) { return _this (self)->getParameterTree(); } + static AUInternalRenderBlock getInternalRenderBlock (id self, SEL) { return _this (self)->getInternalRenderBlock(); } + static BOOL allocateRenderResourcesAndReturnError (id self, SEL, NSError** error) { return _this (self)->allocateRenderResourcesAndReturnError (error); } + static void deallocateRenderResources (id self, SEL) { _this (self)->deallocateRenderResources(); } + static void reset (id self, SEL) { _this (self)->reset(); } + static NSInteger getVirtualMIDICableCount (id self, SEL) { return _this (self)->getVirtualMIDICableCount(); } + static BOOL shouldChangeToFormat (id self, SEL, AVAudioFormat* format, AUAudioUnitBus* bus) { return _this (self)->shouldChangeToFormat (format, bus); } + static NSArray* parametersForOverviewWithCount (id self, SEL, NSInteger count) { return _this (self)->parametersForOverviewWithCount (static_cast (count)); } + static NSArray* getFactoryPresets (id self, SEL) { return _this (self)->getFactoryPresets(); } + static AUAudioUnitPreset* getCurrentPreset (id self, SEL) { return _this (self)->getCurrentPreset(); } + static void setCurrentPreset (id self, SEL, AUAudioUnitPreset* preset) { return _this (self)->setCurrentPreset (preset); } + static NSDictionary* getFullState (id self, SEL) { return _this (self)->getFullState(); } + static void setFullState (id self, SEL, NSDictionary* state) { return _this (self)->setFullState (state); } + static NSTimeInterval getLatency (id self, SEL) { return _this (self)->getLatency(); } + static NSTimeInterval getTailTime (id self, SEL) { return _this (self)->getTailTime(); } + static BOOL getCanProcessInPlace (id self, SEL) { return _this (self)->getCanProcessInPlace(); } + static BOOL getRenderingOffline (id self, SEL) { return _this (self)->getRenderingOffline(); } + static void setRenderingOffline (id self, SEL, BOOL renderingOffline) { _this (self)->setRenderingOffline (renderingOffline); } + static NSArray* getChannelCapabilities (id self, SEL) { return _this (self)->getChannelCapabilities(); } + }; + + static JuceAudioUnitv3Base* create (AUAudioUnit* audioUnit, AudioComponentDescription descr, AudioComponentInstantiationOptions options, NSError** error); + + //============================================================================== + static Class audioUnitObjCClass; + +protected: + AUAudioUnit* au; +}; + +//============================================================================== +JuceAudioUnitv3Base::Class JuceAudioUnitv3Base::audioUnitObjCClass; + +//============================================================================== +//=========================== The actual AudioUnit ============================= +//============================================================================== +class JuceAudioUnitv3 : public JuceAudioUnitv3Base, public AudioProcessorListener, public AudioPlayHead +{ +public: + JuceAudioUnitv3 (const AudioProcessorHolder::Ptr& jFilter, + const AudioComponentDescription& descr, + AudioComponentInstantiationOptions options, + NSError** error) + : JuceAudioUnitv3Base (descr, options, error), + juceFilter (jFilter), busUtils (**juceFilter, true, 8), + mapper (busUtils) + { + init(); + } + + JuceAudioUnitv3 (AUAudioUnit* audioUnit, AudioComponentDescription, AudioComponentInstantiationOptions, NSError**) + : JuceAudioUnitv3Base (audioUnit), + juceFilter (new AudioProcessorHolder (createPluginFilterOfType (AudioProcessor::wrapperType_AudioUnitv3))), + busUtils (**juceFilter, true, 8), + mapper (busUtils) + { + init(); + } + + //============================================================================== + void init() + { + busUtils.init(); + + (*juceFilter)->setPlayHead (this); + + totalInChannels = busUtils.findTotalNumChannels (true); + totalOutChannels = busUtils.findTotalNumChannels (false); + + { + channelCapabilities = [[NSMutableArray alloc] init]; + Array channelInfo = AudioUnitHelpers::getAUChannelInfo (busUtils); + + for (int i = 0; i < channelInfo.size(); ++i) + { + AUChannelInfo& info = channelInfo.getReference (i); + + + [channelCapabilities addObject: [NSNumber numberWithInteger: info.inChannels]]; + [channelCapabilities addObject: [NSNumber numberWithInteger: info.outChannels]]; + } + } + + editorObserverToken = nullptr; + internalRenderBlock = CreateObjCBlock (this, &JuceAudioUnitv3::renderCallback); + + const AUAudioFrameCount maxFrames = [getAudioUnit() maximumFramesToRender]; + (*juceFilter)->setRateAndBufferSizeDetails (kDefaultSampleRate, static_cast (maxFrames)); + (*juceFilter)->prepareToPlay (kDefaultSampleRate, static_cast (maxFrames)); + + (*juceFilter)->addListener (this); + + addParameters(); + addPresets(); + + addAudioUnitBusses (true); + addAudioUnitBusses (false); + } + + //============================================================================== + AUAudioUnitBusArray* getInputBusses() override { return inputBusses; } + AUAudioUnitBusArray* getOutputBusses() override { return outputBusses; } + AUParameterTree* getParameterTree() override { return paramTree; } + AUInternalRenderBlock getInternalRenderBlock() override { return internalRenderBlock; } + NSArray* getFactoryPresets() override { return factoryPresets; } + bool getRenderingOffline() override { return (*juceFilter)->isNonRealtime(); } + void setRenderingOffline (bool offline) override { (*juceFilter)->setNonRealtime (offline); } + NSArray* getChannelCapabilities() override { return channelCapabilities; } + + //============================================================================== + AUAudioUnitPreset* getCurrentPreset() override + { + const int n = static_cast ([factoryPresets count]); + const int idx = static_cast ((*juceFilter)->getCurrentProgram()); + + if (idx < n) + return [factoryPresets objectAtIndex:static_cast (idx)]; + + return nullptr; + } + + void setCurrentPreset(AUAudioUnitPreset* preset) override + { + const int n = static_cast ([factoryPresets count]); + const int idx = static_cast ([preset number]); + if (isPositiveAndBelow (idx, n)) + (*juceFilter)->setCurrentProgram (idx); + } + + //============================================================================== + NSDictionary* getFullState() override + { + NSMutableDictionary* retval = [[NSMutableDictionary alloc] init]; + + { + NSDictionary* superRetval = JuceAudioUnitv3Base::getFullState(); + + if (superRetval != nullptr) + [retval addEntriesFromDictionary:superRetval]; + } + + juce::MemoryBlock state; + (*juceFilter)->getCurrentProgramStateInformation (state); + if (state.getSize() > 0) + { + NSData* ourState = [[NSData alloc] initWithBytes: state.getData() + length: state.getSize()]; + + NSString* nsKey = [[NSString alloc] initWithUTF8String: JUCE_STATE_DICTIONARY_KEY]; + + [retval setObject: ourState + forKey: nsKey]; + + [nsKey release]; + [ourState release]; + } + + return [retval autorelease]; + } + + void setFullState (NSDictionary* state) override + { + if (state == nullptr) + return; + + NSMutableDictionary* modifiedState = [[NSMutableDictionary alloc] init]; + [modifiedState addEntriesFromDictionary: state]; + + NSString* nsPresetKey = [[NSString alloc] initWithUTF8String: kAUPresetDataKey]; + [modifiedState removeObjectForKey: nsPresetKey]; + [nsPresetKey release]; + + JuceAudioUnitv3Base::setFullState (modifiedState); + + NSString* nsKey = [[NSString alloc] initWithUTF8String: JUCE_STATE_DICTIONARY_KEY]; + NSObject* obj = [modifiedState objectForKey: nsKey]; + [nsKey release]; + + if (obj != nullptr) + { + if ([obj isKindOfClass:[NSData class]]) + { + NSData* data = reinterpret_cast (obj); + const int numBytes = static_cast ([data length]); + const juce::uint8* const rawBytes = reinterpret_cast< const juce::uint8* const> ([data bytes]); + + if (numBytes > 0) + (*juceFilter)->setCurrentProgramStateInformation (rawBytes, numBytes); + } + } + + [modifiedState release]; + } + + //============================================================================== + NSArray* parametersForOverviewWithCount (int count) override + { + const int n = static_cast ([overviewParams count]); + + if (count >= n) + return overviewParams; + + NSMutableArray* retval = [[NSMutableArrayalloc] initWithArray: overviewParams]; + [retval removeObjectsInRange: NSMakeRange (static_cast (count), static_cast (n - count))]; + + return [retval autorelease]; + } + + int getVirtualMIDICableCount() override + { + #if JucePlugin_WantsMidiInput + return 1; + #else + return 0; + #endif + } + + //============================================================================== + bool allocateRenderResourcesAndReturnError (NSError **outError) override + { + const AUAudioFrameCount maxFrames = [getAudioUnit() maximumFramesToRender]; + + if (! JuceAudioUnitv3Base::allocateRenderResourcesAndReturnError (outError)) + return false; + + totalInChannels = busUtils.findTotalNumChannels (true); + totalOutChannels = busUtils.findTotalNumChannels (false); + + allocateBusBuffer (true); + allocateBusBuffer (false); + + mapper.alloc(); + + audioBuffer.prepare (totalInChannels, totalOutChannels, static_cast (maxFrames)); + + double sampleRate = (jmax (busUtils.getBusCount (true), busUtils.getBusCount (false)) > 0 ? + [[[([inputBusses count] > 0 ? inputBusses : outputBusses) objectAtIndexedSubscript: 0] format] sampleRate] : 44100.0); + + (*juceFilter)->setRateAndBufferSizeDetails (sampleRate, static_cast (maxFrames)); + (*juceFilter)->prepareToPlay (sampleRate, static_cast (maxFrames)); + + zeromem (&lastAudioHead, sizeof (lastAudioHead)); + hostMusicalContextCallback = [getAudioUnit() musicalContextBlock]; + hostTransportStateCallback = [getAudioUnit() transportStateBlock]; + + reset(); + + return true; + } + + void deallocateRenderResources() override + { + hostMusicalContextCallback = nullptr; + hostTransportStateCallback = nullptr; + + (*juceFilter)->releaseResources(); + audioBuffer.release(); + + inBusBuffers. clear(); + outBusBuffers.clear(); + + mapper.release(); + + JuceAudioUnitv3Base::deallocateRenderResources(); + } + + void reset() override + { + midiMessages.clear(); + lastTimeStamp.mSampleTime = std::numeric_limits::max(); + } + + //============================================================================== + bool shouldChangeToFormat (AVAudioFormat* format, AUAudioUnitBus* bus) override + { + const bool isInput = ([bus busType] == AUAudioUnitBusTypeInput); + const int busIdx = static_cast ([bus index]); + const int newNumChannels = static_cast ([format streamDescription]->mChannelsPerFrame); + + AudioChannelSet newLayout; + + if (const AVAudioChannelLayout* layout = [format channelLayout]) + newLayout = AudioUnitHelpers::CALayoutTagToChannelSet ([layout layoutTag]); + else + newLayout = busUtils.getDefaultLayoutForChannelNumAndBus(isInput, busIdx, newNumChannels); + + if (newLayout.size() != newNumChannels) + return false; + + bool success = (*juceFilter)->setPreferredBusArrangement (isInput, busIdx, newLayout); + + totalInChannels = busUtils.findTotalNumChannels (true); + totalOutChannels = busUtils.findTotalNumChannels (false); + + return success; + } + + //============================================================================== + void audioProcessorChanged (AudioProcessor* processor) override + { + ignoreUnused (processor); + + [au willChangeValueForKey: @"allParameterValues"]; + [au didChangeValueForKey: @"allParameterValues"]; + } + + void audioProcessorParameterChanged (AudioProcessor*, int idx, float newValue) override + { + if (AUParameter* param = [paramTree parameterWithAddress: static_cast (idx)]) + { + if (editorObserverToken != nullptr) + [param setValue: newValue + originator: editorObserverToken]; + else + [param setValue: newValue]; + } + } + + //============================================================================== + NSTimeInterval getLatency() override + { + double samples = static_cast ((*juceFilter)->getLatencySamples()); + return samples / (*juceFilter)->getSampleRate(); + } + + NSTimeInterval getTailTime() override { return (*juceFilter)->getTailLengthSeconds(); } + + //============================================================================== + bool getCurrentPosition (CurrentPositionInfo& info) override + { + bool musicContextCallSucceeded = false; + bool transportStateCallSucceeded = false; + + info = lastAudioHead; + info.timeInSamples = (int64) (lastTimeStamp.mSampleTime + 0.5); + info.timeInSeconds = info.timeInSamples / (*juceFilter)->getSampleRate(); + + switch (lastTimeStamp.mSMPTETime.mType) + { + case kSMPTETimeType24: info.frameRate = AudioPlayHead::fps24; break; + case kSMPTETimeType25: info.frameRate = AudioPlayHead::fps25; break; + case kSMPTETimeType30Drop: info.frameRate = AudioPlayHead::fps30drop; break; + case kSMPTETimeType30: info.frameRate = AudioPlayHead::fps30; break; + case kSMPTETimeType2997: info.frameRate = AudioPlayHead::fps2997; break; + case kSMPTETimeType2997Drop: info.frameRate = AudioPlayHead::fps2997drop; break; + default: info.frameRate = AudioPlayHead::fpsUnknown; break; + } + + double num; + NSInteger den; + NSInteger outDeltaSampleOffsetToNextBeat; + double outCurrentMeasureDownBeat, bpm; + double ppqPosition; + + if (hostMusicalContextCallback != nullptr) + { + AUHostMusicalContextBlock musicalContextCallback = hostMusicalContextCallback; + + if (musicalContextCallback (&bpm, &num, &den, &ppqPosition, &outDeltaSampleOffsetToNextBeat, &outCurrentMeasureDownBeat)) + { + musicContextCallSucceeded = true; + + info.timeSigNumerator = (int) num; + info.timeSigDenominator = (int) den; + info.ppqPositionOfLastBarStart = outCurrentMeasureDownBeat; + info.bpm = bpm; + info.ppqPosition = ppqPosition; + info.ppqPositionOfLastBarStart = outCurrentMeasureDownBeat; + } + } + + double outCurrentSampleInTimeLine, outCycleStartBeat = 0, outCycleEndBeat = 0; + AUHostTransportStateFlags flags; + + if (hostTransportStateCallback != nullptr) + { + AUHostTransportStateBlock transportStateCallback = hostTransportStateCallback; + if (transportStateCallback (&flags, &outCurrentSampleInTimeLine, &outCycleStartBeat, &outCycleEndBeat)) + { + transportStateCallSucceeded = true; + info.isPlaying = ((flags & AUHostTransportStateMoving) != 0); + info.timeInSamples = (int64) (outCurrentSampleInTimeLine + 0.5); + info.timeInSeconds = info.timeInSamples / (*juceFilter)->getSampleRate(); + info.isLooping = ((flags & AUHostTransportStateCycling) != 0); + info.isRecording = ((flags & AUHostTransportStateRecording) != 0); + info.ppqLoopStart = outCycleStartBeat; + info.ppqLoopEnd = outCycleEndBeat; + } + } + + if (musicContextCallSucceeded && transportStateCallSucceeded) + lastAudioHead = info; + + return true; + } + +protected: + + //============================================================================== + virtual ~JuceAudioUnitv3() + { + (*juceFilter)->removeListener (this); + + if (AudioProcessorEditor* editor = (*juceFilter)->getActiveEditor()) + (*juceFilter)->editorBeingDeleted (editor); + + if (editorObserverToken != nullptr) + { + [paramTree removeParameterObserver: editorObserverToken]; + editorObserverToken = nullptr; + } + } + +private: + + //============================================================================== + class BusBuffer + { + public: + BusBuffer (AUAudioUnitBus* bus, int maxFramesPerBuffer) + : auBus (bus), bufferList (nullptr), + maxFrames (maxFramesPerBuffer), + numberOfChannels (static_cast ([[auBus format] channelCount])), + isInterleaved ([[auBus format] isInterleaved]) + { + alloc(); + } + + //============================================================================== + void alloc() + { + const int numBuffers = isInterleaved ? 1 : numberOfChannels; + int bytes = static_cast (sizeof (AudioBufferList)) + + ((numBuffers - 1) * static_cast (sizeof (::AudioBuffer))); + jassert (bytes > 0); + + bufferListStorage.calloc (static_cast (bytes)); + bufferList = reinterpret_cast (bufferListStorage.getData()); + + const int bufferChannels = isInterleaved ? numberOfChannels : 1; + scratchBuffer.setSize (numBuffers, bufferChannels * maxFrames); + } + + void dealloc() + { + bufferList = nullptr; + bufferListStorage.free(); + scratchBuffer.setSize (0, 0); + } + + //============================================================================== + int numChannels() const noexcept { return numberOfChannels; } + bool interleaved() const noexcept { return isInterleaved; } + AudioBufferList* get() const noexcept { return bufferList; } + + //============================================================================== + void prepare (UInt32 nFrames, const AudioBufferList* other = nullptr) noexcept + { + const int numBuffers = isInterleaved ? 1 : numberOfChannels; + const bool isCompatible = compatible (other); + + bufferList->mNumberBuffers = static_cast (numBuffers); + + for (int i = 0; i < numBuffers; ++i) + { + const UInt32 bufferChannels = static_cast (isInterleaved ? numberOfChannels : 1); + bufferList->mBuffers[i].mNumberChannels = bufferChannels; + bufferList->mBuffers[i].mData = (isCompatible ? other->mBuffers[i].mData : scratchBuffer.getWritePointer (i)); + bufferList->mBuffers[i].mDataByteSize = nFrames * bufferChannels * sizeof (float); + } + } + + //============================================================================== + bool compatible (const AudioBufferList* other) const noexcept + { + if (other == nullptr) + return false; + + if (other->mNumberBuffers > 0) + { + const bool otherInterleaved = AudioUnitHelpers::isAudioBufferInterleaved (*other); + const int otherChannels = static_cast (otherInterleaved ? other->mBuffers[0].mNumberChannels : other->mNumberBuffers); + + return (otherInterleaved == isInterleaved && numberOfChannels == otherChannels); + } + + return (numberOfChannels == 0); + } + + private: + //============================================================================== + AUAudioUnitBus* auBus; + HeapBlock bufferListStorage; + AudioBufferList* bufferList; + int maxFrames, numberOfChannels; + bool isInterleaved; + AudioSampleBuffer scratchBuffer; + }; + + //============================================================================== + void addAudioUnitBusses (bool isInput) + { + ScopedPointer > array = [[NSMutableArray alloc] init]; + + for (int i = 0; i < busUtils.getBusCount (isInput); ++i) + { + ScopedPointer audioUnitBus; + + { + ScopedPointer defaultFormat = [[AVAudioFormat alloc] initStandardFormatWithSampleRate: kDefaultSampleRate + channels: static_cast (busUtils.getNumChannels (isInput, i))]; + + audioUnitBus = [[AUAudioUnitBus alloc] initWithFormat: defaultFormat + error: nullptr]; + } + + [array addObject: audioUnitBus]; + } + + (isInput ? inputBusses : outputBusses) = [[AUAudioUnitBusArray alloc] initWithAudioUnit: au + busType: (isInput ? AUAudioUnitBusTypeInput : AUAudioUnitBusTypeOutput) + busses: array]; + } + + void addParameters() + { + ScopedPointer > params = [[NSMutableArray alloc] init]; + + paramObserver = CreateObjCBlock (this, &JuceAudioUnitv3::valueChangedFromHost); + paramProvider = CreateObjCBlock (this, &JuceAudioUnitv3::getValue); + + overviewParams = [[NSMutableArray alloc] init]; + + const int n = (*juceFilter)->getNumParameters(); + for (int idx = 0; idx < n; ++idx) + { + const String identifier = String (idx); + const String name = (*juceFilter)->getParameterName (idx); + + AudioUnitParameterOptions flags = (UInt32) (kAudioUnitParameterFlag_IsWritable + | kAudioUnitParameterFlag_IsReadable + | kAudioUnitParameterFlag_HasCFNameString + | kAudioUnitParameterFlag_ValuesHaveStrings); + + #if JucePlugin_AUHighResolutionParameters + flags |= (UInt32) kAudioUnitParameterFlag_IsHighResolution; + #endif + + // set whether the param is automatable (unnamed parameters aren't allowed to be automated) + if (name.isEmpty() || ! (*juceFilter)->isParameterAutomatable (idx)) + flags |= kAudioUnitParameterFlag_NonRealTime; + + if ((*juceFilter)->isMetaParameter (idx)) + flags |= kAudioUnitParameterFlag_IsGlobalMeta; + + AUParameterAddress address = static_cast (idx); + + // create methods in AUParameterTree return unretained objects (!) -> see Apple header AUAudioUnitImplementation.h + + ScopedPointer param = [[AUParameterTree createParameterWithIdentifier: juceStringToNS (identifier) + name: juceStringToNS (name) + address: address + min: 0.0f + max: 1.0f + unit: kAudioUnitParameterUnit_Generic + unitName: nullptr + flags: flags + valueStrings: nullptr + dependentParameters: nullptr] retain]; + + [params addObject: param]; + [overviewParams addObject: [NSNumber numberWithUnsignedLongLong:address]]; + } + + // create methods in AUParameterTree return unretained objects (!) -> see Apple header AUAudioUnitImplementation.h + paramTree = [[AUParameterTree createTreeWithChildren: params] retain]; + + [paramTree setImplementorValueObserver: paramObserver]; + [paramTree setImplementorValueProvider: paramProvider]; + + if ((*juceFilter)->hasEditor()) + { + editorParamObserver = CreateObjCBlock (this, &JuceAudioUnitv3::valueChangedForObserver); + editorObserverToken = [paramTree tokenByAddingParameterObserver: editorParamObserver]; + } + } + + void addPresets() + { + factoryPresets = [[NSMutableArray alloc] init]; + + const int n = (*juceFilter)->getNumPrograms(); + + for (int idx = 0; idx < n; ++idx) + { + String name = (*juceFilter)->getProgramName (idx); + + ScopedPointer preset = [[AUAudioUnitPreset alloc] init]; + [preset setName: juceStringToNS (name)]; + [preset setNumber: static_cast (idx)]; + + [factoryPresets addObject: preset]; + } + } + + //============================================================================== + void allocateBusBuffer (bool isInput) + { + OwnedArray& busBuffers = isInput ? inBusBuffers : outBusBuffers; + busBuffers.clear(); + + const int n = busUtils.getBusCount (isInput); + const AUAudioFrameCount maxFrames = [getAudioUnit() maximumFramesToRender]; + + for (int busIdx = 0; busIdx < n; ++busIdx) + busBuffers.add (new BusBuffer ([(isInput ? inputBusses : outputBusses) objectAtIndexedSubscript: static_cast (busIdx)], static_cast (maxFrames))); + } + + void processEvents (const AURenderEvent *__nullable realtimeEventListHead, int numParams, AUEventSampleTime startTime) + { + for (const AURenderEvent* event = realtimeEventListHead; event != nullptr; event = event->head.next) + { + switch (event->head.eventType) + { + case AURenderEventMIDI: + { + const AUMIDIEvent& midiEvent = event->MIDI; + midiMessages.addEvent (midiEvent.data, midiEvent.length, static_cast (midiEvent.eventSampleTime - startTime)); + } + break; + case AURenderEventParameter: + case AURenderEventParameterRamp: + { + const AUParameterEvent& paramEvent = event->parameter; + const int idx = static_cast (paramEvent.parameterAddress); + if (isPositiveAndBelow (idx, numParams)) + (*juceFilter)->setParameter (idx, paramEvent.value); + } + break; + default: + break; + } + } + } + + AUAudioUnitStatus renderCallback (AudioUnitRenderActionFlags* actionFlags, const AudioTimeStamp* timestamp, AUAudioFrameCount frameCount, + NSInteger outputBusNumber, AudioBufferList* outputData, const AURenderEvent *__nullable realtimeEventListHead, + AURenderPullInputBlock __nullable pullInputBlock) + { + jassert (static_cast (frameCount) <= (*juceFilter)->getBlockSize()); + + // process params + const int numParams = (*juceFilter)->getNumParameters(); + processEvents (realtimeEventListHead, numParams, static_cast (timestamp->mSampleTime)); + + if (lastTimeStamp.mSampleTime != timestamp->mSampleTime) + { + lastTimeStamp = *timestamp; + + const int numInputBuses = inBusBuffers. size(); + const int numOutputBuses = outBusBuffers.size(); + + // prepare buffers + { + for (int busIdx = 0; busIdx < numOutputBuses; ++busIdx) + { + BusBuffer& busBuffer = *outBusBuffers[busIdx]; + const bool canUseDirectOutput = + (busIdx == outputBusNumber && outputData != nullptr && outputData->mNumberBuffers > 0); + + busBuffer.prepare (frameCount, canUseDirectOutput ? outputData : nullptr); + } + + for (int busIdx = 0; busIdx < numInputBuses; ++busIdx) + { + BusBuffer& busBuffer = *inBusBuffers[busIdx]; + busBuffer.prepare (frameCount, busIdx < numOutputBuses ? outBusBuffers[busIdx]->get() : nullptr); + } + + audioBuffer.reset(); + } + + // pull inputs + { + for (int busIdx = 0; busIdx < numInputBuses; ++busIdx) + { + BusBuffer& busBuffer = *inBusBuffers[busIdx]; + AudioBufferList* buffer = busBuffer.get(); + + if (pullInputBlock == nullptr || pullInputBlock (actionFlags, timestamp, frameCount, busIdx, buffer) != noErr) + AudioUnitHelpers::clearAudioBuffer (*buffer); + + if (actionFlags != nullptr && (*actionFlags & kAudioUnitRenderAction_OutputIsSilence) != 0) + AudioUnitHelpers::clearAudioBuffer (*buffer); + } + } + + // set buffer pointer to minimize copying + { + int chIdx = 0; + for (int busIdx = 0; busIdx < numOutputBuses; ++busIdx) + { + BusBuffer& busBuffer = *outBusBuffers[busIdx]; + AudioBufferList* buffer = busBuffer.get(); + + const bool interleaved = busBuffer.interleaved(); + const int numChannels = busBuffer.numChannels(); + + const int* outLayoutMap = mapper.get (false, busIdx); + + for (int ch = 0; ch < numChannels; ++ch) + audioBuffer.setBuffer (chIdx++, interleaved ? nullptr : static_cast (buffer->mBuffers[outLayoutMap[ch]].mData)); + } + + // use input pointers on remaining channels + int channelCount = 0; + for (int busIdx = 0; chIdx < totalInChannels;) + { + busIdx = busUtils.getBusIdxForChannelIdx (true, chIdx, channelCount, busIdx); + + BusBuffer& busBuffer = *inBusBuffers[busIdx]; + AudioBufferList* buffer = busBuffer.get(); + + const bool interleaved = busBuffer.interleaved(); + const int numChannels = busBuffer.numChannels(); + + const int* inLayoutMap = mapper.get (true, busIdx); + + for (int ch = chIdx - channelCount; ch < numChannels; ++ch) + audioBuffer.setBuffer (chIdx++, interleaved ? nullptr : static_cast (buffer->mBuffers[inLayoutMap[ch]].mData)); + } + } + + // copy input + { + for (int busIdx = 0; busIdx < numInputBuses; ++busIdx) + audioBuffer.push (*inBusBuffers[busIdx]->get(), mapper.get (true, busIdx)); + + // clear remaining channels + for (int i = totalInChannels; i < totalOutChannels; ++i) + zeromem (audioBuffer.push(), sizeof (float) * frameCount); + } + + // process audio + processBlock (audioBuffer.getBuffer (frameCount), midiMessages); + midiMessages.clear(); + } + + // copy back + { + audioBuffer.pop (*outBusBuffers[(int) outputBusNumber]->get(), mapper.get (false, (int) outputBusNumber)); + } + + return noErr; + } + + void processBlock (AudioSampleBuffer& buffer, MidiBuffer& midiBuffer) noexcept + { + const ScopedLock sl ((*juceFilter)->getCallbackLock()); + + if ((*juceFilter)->isSuspended()) + { + buffer.clear(); + } + else if ([au shouldBypassEffect]) + { + (*juceFilter)->processBlockBypassed (buffer, midiBuffer); + } + else + { + (*juceFilter)->processBlock (buffer, midiBuffer); + } + } + + //============================================================================== + void valueChangedFromHost (AUParameter *param, AUValue value) + { + if (param != nullptr) + { + const int idx = static_cast ([param address]); + if (isPositiveAndBelow (idx, (*juceFilter)->getNumParameters())) + (*juceFilter)->setParameter (idx, value); + } + } + + AUValue getValue(AUParameter *param) + { + if (param != nullptr) + { + const int idx = static_cast ([param address]); + if (isPositiveAndBelow (idx, (*juceFilter)->getNumParameters())) + return (*juceFilter)->getParameter (idx); + } + + return 0.f; + } + + void valueChangedForObserver(AUParameterAddress, AUValue) + { + // this will have already been handled bny valueChangedFromHost + } + + //============================================================================== + static const double kDefaultSampleRate; + + AudioProcessorHolder::Ptr juceFilter; + PluginBusUtilities busUtils; + + int totalInChannels, totalOutChannels; + + ScopedPointer inputBusses; + ScopedPointer outputBusses; + + ObjCBlock paramObserver; + ObjCBlock paramProvider; + + // to avoid recursion on parameter changes, we need to add an + // editor observer to do the parameter changes + ObjCBlock editorParamObserver; + AUParameterObserverToken editorObserverToken; + + ScopedPointer paramTree; + ScopedPointer > overviewParams; + ScopedPointer > channelCapabilities; + + ScopedPointer > factoryPresets; + + ObjCBlock internalRenderBlock; + + AudioUnitHelpers::CoreAudioBufferList audioBuffer; + AudioUnitHelpers::ChannelRemapper mapper; + + OwnedArray inBusBuffers, outBusBuffers; + MidiBuffer midiMessages; + + ObjCBlock hostMusicalContextCallback; + ObjCBlock hostTransportStateCallback; + + AudioTimeStamp lastTimeStamp; + CurrentPositionInfo lastAudioHead; +}; + +const double JuceAudioUnitv3::kDefaultSampleRate = 44100.0; + +JuceAudioUnitv3Base* JuceAudioUnitv3Base::create (AUAudioUnit* audioUnit, AudioComponentDescription descr, AudioComponentInstantiationOptions options, NSError** error) +{ + JUCE_DECLARE_WRAPPER_TYPE (wrapperType_AudioUnitv3); + return new JuceAudioUnitv3 (audioUnit, descr, options, error); +} + +//============================================================================== +class JuceAUViewController +{ +public: + + JuceAUViewController (AUViewController * p) + : myself (p), juceFilter (nullptr), preferredSize (1.f, 1.f) + { + jassert (MessageManager::getInstance()->isThisTheMessageThread()); + + JUCE_DECLARE_WRAPPER_TYPE (wrapperType_AudioUnitv3); + initialiseJuce_GUI(); + } + + ~JuceAUViewController() + { + jassert (MessageManager::getInstance()->isThisTheMessageThread()); + } + + //============================================================================== + AUViewController * getController() noexcept { return myself; } + + + //============================================================================== + void loadView() + { + jassert (MessageManager::getInstance()->isThisTheMessageThread()); + + AudioProcessor* filter = createPluginFilterOfType (AudioProcessor::wrapperType_AudioUnitv3); + if (filter != nullptr) + { + juceFilter = new AudioProcessorHolder (filter); + if ((*juceFilter)->hasEditor()) + { + if (AudioProcessorEditor* editor = (*juceFilter)->createEditorIfNeeded()) + { + preferredSize = editor->getBounds(); + + IOS_MAC_VIEW* view = [[[IOS_MAC_VIEW alloc] initWithFrame: (convertToCGRect (editor->getBounds()))] autorelease]; + [myself setView: view]; + + editor->setVisible (true); + editor->addToDesktop (0, view); + } + } + } + } + + void viewDidLayoutSubviews() + { + if (juceFilter != nullptr && [myself view] != nullptr) + { + if (AudioProcessorEditor* editor = (*juceFilter)->getActiveEditor()) + { + editor->setBounds (convertToRectInt ([[myself view] bounds])); + + if (IOS_MAC_VIEW* peerView = [[[myself view] subviews] objectAtIndex: 0]) + { + #if JUCE_IOS + [peerView setNeedsDisplay]; + #else + [peerView setNeedsDisplay: YES]; + #endif + } + } + } + } + + CGSize getPreferredContentSize() + { + return CGSizeMake (static_cast (preferredSize.getWidth()), static_cast (preferredSize.getHeight())); + } + + //============================================================================== + AUAudioUnit* createAudioUnit (const AudioComponentDescription& descr, NSError** error) + { + AUAudioUnit* retval = nullptr; + + if (! MessageManager::getInstance()->isThisTheMessageThread()) + { + WaitableEvent creationEvent; + + // AUv3 headers say that we may block this thread and that the message thread is guaranteed + // to be unblocked + struct AUCreator : public CallbackMessage + { + JuceAUViewController& owner; + AudioComponentDescription pDescr; + NSError** pError; + AUAudioUnit*& outAU; + WaitableEvent& e; + + AUCreator (JuceAUViewController& parent, const AudioComponentDescription& paramDescr, NSError** paramError, + AUAudioUnit*& outputAU, WaitableEvent& event) + : owner (parent), pDescr (paramDescr), pError (paramError), outAU (outputAU), e (event) + {} + + ~AUCreator() + {} + + void messageCallback() override + { + outAU = owner.createAudioUnitOnMessageThread (pDescr, pError); + e.signal(); + } + }; + + (new AUCreator (*this, descr, error, retval, creationEvent))->post(); + creationEvent.wait (-1); + } + else + retval = createAudioUnitOnMessageThread (descr, error); + + return [retval autorelease]; + } + +private: + + //============================================================================== + AUAudioUnit* createAudioUnitOnMessageThread (const AudioComponentDescription& descr, NSError** error) + { + jassert (MessageManager::getInstance()->isThisTheMessageThread()); + + // this will call [view load] and ensure that the juce filter has been instantiated + [myself view]; + if (juceFilter == nullptr) + return nullptr; + + return (new JuceAudioUnitv3 (juceFilter, descr, 0, error))->getAudioUnit(); + } + + //============================================================================== + AUViewController * myself; + AudioProcessorHolder::Ptr juceFilter; + Rectangle preferredSize; +}; + +//============================================================================== +// necessary glue code +@interface JUCE_VIEWCONTROLLER_OBJC_NAME (JucePlugin_AUExportPrefix) : AUViewController +@end +@implementation JUCE_VIEWCONTROLLER_OBJC_NAME (JucePlugin_AUExportPrefix) { + ScopedPointer cpp; +} +- (instancetype)initWithNibName:(nullable NSString *)nib bundle:(nullable NSBundle *)bndl { self = [super initWithNibName:nib bundle:bndl]; cpp = new JuceAUViewController (self); return self;} +- (void) loadView { cpp->loadView(); } +- (AUAudioUnit *)createAudioUnitWithComponentDescription:(AudioComponentDescription)desc error:(NSError **)error { return cpp->createAudioUnit (desc, error); } +- (CGSize) preferredContentSize { return cpp->getPreferredContentSize(); } +- (void)viewDidLayoutSubviews { return cpp->viewDidLayoutSubviews(); } +@end + +#pragma clang diagnostic pop +#endif diff --git a/modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode1.cpp b/modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode1.cpp index 824230ab1d..e910b49eab 100644 --- a/modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode1.cpp +++ b/modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode1.cpp @@ -49,6 +49,16 @@ #undef UNICODE #endif +#ifdef __clang__ + #pragma clang diagnostic push + #pragma clang diagnostic ignored "-Wnon-virtual-dtor" + #pragma clang diagnostic ignored "-Wcomment" + #pragma clang diagnostic ignored "-Wreorder" + #pragma clang diagnostic ignored "-Wextra-tokens" + #pragma clang diagnostic ignored "-Wunused-variable" + #pragma clang diagnostic ignored "-Wdeprecated" +#endif + #include #include #include @@ -58,4 +68,8 @@ #include #include +#ifdef __clang__ + #pragma clang diagnostic pop +#endif + #endif diff --git a/modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode2.cpp b/modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode2.cpp index 535ba22cfd..8ab172edcd 100644 --- a/modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode2.cpp +++ b/modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode2.cpp @@ -29,6 +29,15 @@ #include "juce_RTAS_DigiCode_Header.h" +#ifdef __clang__ + #pragma clang diagnostic push + #pragma clang diagnostic ignored "-Wcomment" + #pragma clang diagnostic ignored "-Wextra-tokens" + #pragma clang diagnostic ignored "-Wnon-virtual-dtor" + #pragma clang diagnostic ignored "-Wreorder" + #pragma clang diagnostic ignored "-Wdeprecated" +#endif + /* This file is used to include and build the required digidesign CPP files without your project needing to reference the files directly. Because these files will be found via your include path, @@ -47,4 +56,8 @@ #include #include +#ifdef __clang__ + #pragma clang diagnostic pop +#endif + #endif diff --git a/modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode3.cpp b/modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode3.cpp index f6ad29e2ea..165960a4c9 100644 --- a/modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode3.cpp +++ b/modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode3.cpp @@ -27,8 +27,16 @@ #if JucePlugin_Build_RTAS + #include "../utility/juce_IncludeSystemHeaders.h" #include "juce_RTAS_DigiCode_Header.h" + #ifdef __clang__ + #pragma clang diagnostic push + #pragma clang diagnostic ignored "-Wnon-virtual-dtor" + #pragma clang diagnostic ignored "-Wextra-tokens" + #pragma clang diagnostic ignored "-Wreorder" + #endif + /* This file is used to include and build the required digidesign CPP files without your project needing to reference the files directly. Because these files will be found via your include path, @@ -47,18 +55,20 @@ #if WINDOWS_VERSION #undef _UNICODE #undef UNICODE - #define DllMain DllMainRTAS #include #undef DllMain #include - #else #include #include #endif - #else + #ifdef __clang__ + #pragma clang diagnostic pop + #endif + +#else #if _MSC_VER short __stdcall NewPlugIn (void*) { return 0; } diff --git a/modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode_Header.h b/modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode_Header.h index 3325523273..fc1a7c5be2 100644 --- a/modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode_Header.h +++ b/modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode_Header.h @@ -43,10 +43,11 @@ #define WINDOWS_VERSION 1 #define PLUGIN_SDK_BUILD 1 #define PLUGIN_SDK_DIRECTMIDI 1 + #define _STDINT_H 1 // the Digidesign projects all use a struct alignment of 2.. #pragma pack (2) - #pragma warning (disable: 4267 4996 4311 4312 4103 4121 4100 4127 4189 4245 4389 4512 4701) + #pragma warning (disable: 4267 4996 4311 4312 4103 4121 4100 4127 4189 4245 4389 4512 4701 4703) #include diff --git a/modules/juce_audio_plugin_client/RTAS/juce_RTAS_MacResources.r b/modules/juce_audio_plugin_client/RTAS/juce_RTAS_MacResources.r deleted file mode 100644 index a40e1f397e..0000000000 --- a/modules/juce_audio_plugin_client/RTAS/juce_RTAS_MacResources.r +++ /dev/null @@ -1,6 +0,0 @@ - -/* - This dummy file is added to the resources section of the project to - force XCode to create some resources for the dpm. If there aren't any - resources, PT will refuse to load the plugin.. -*/ diff --git a/modules/juce_audio_plugin_client/RTAS/juce_RTAS_Wrapper.cpp b/modules/juce_audio_plugin_client/RTAS/juce_RTAS_Wrapper.cpp index 9d5b530046..f7d7d1175e 100644 --- a/modules/juce_audio_plugin_client/RTAS/juce_RTAS_Wrapper.cpp +++ b/modules/juce_audio_plugin_client/RTAS/juce_RTAS_Wrapper.cpp @@ -39,6 +39,15 @@ #include #endif +#ifdef __clang__ + #pragma clang diagnostic push + #pragma clang diagnostic ignored "-Widiomatic-parentheses" + #pragma clang diagnostic ignored "-Wnon-virtual-dtor" + #pragma clang diagnostic ignored "-Wcomment" +#endif + +JUCE_DEFINE_WRAPPER_TYPE (wrapperType_RTAS); + /* Note about include paths ------------------------ @@ -86,10 +95,14 @@ #include #include +#ifdef __clang__ + #pragma clang diagnostic pop +#endif + //============================================================================== #ifdef _MSC_VER #pragma pack (push, 8) - #pragma warning (disable: 4263 4264) + #pragma warning (disable: 4263 4264 4250) #endif #include "../utility/juce_IncludeModuleHeaders.h" @@ -269,7 +282,7 @@ public: } } - void DrawContents (Rect*) + void DrawContents (Rect*) override { #if JUCE_WINDOWS if (wrapper != nullptr) @@ -280,7 +293,7 @@ public: #endif } - void DrawBackground (Rect*) {} + void DrawBackground (Rect*) override {} //============================================================================== private: @@ -476,14 +489,14 @@ public: #if JucePlugin_WantsMidiInput if (CEffectType* const type = dynamic_cast (this->GetProcessType())) { - char nodeName [64]; + char nodeName[80] = { 0 }; type->GetProcessTypeName (63, nodeName); - p2cstrcpy (nodeName, reinterpret_cast (nodeName)); + nodeName[nodeName[0] + 1] = 0; midiBufferNode = new CEffectMIDIOtherBufferedNode (&mMIDIWorld, 8192, eLocalNode, - nodeName, + nodeName + 1, midiBuffer); midiBufferNode->Initialize (0xffff, true); @@ -933,7 +946,7 @@ private: #if JUCE_WINDOWS Process::setCurrentModuleInstanceHandle (gThisModule); #endif - + JUCE_DECLARE_WRAPPER_TYPE (wrapperType_RTAS); initialiseJuce_GUI(); return new JucePlugInProcess(); diff --git a/modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterApp.cpp b/modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterApp.cpp new file mode 100644 index 0000000000..460e6e5c3d --- /dev/null +++ b/modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterApp.cpp @@ -0,0 +1,95 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +#include "../../juce_core/system/juce_TargetPlatform.h" +#include "../utility/juce_CheckSettingMacros.h" + +#include "../utility/juce_IncludeSystemHeaders.h" +#include "../utility/juce_IncludeModuleHeaders.h" +#include "../utility/juce_FakeMouseMoveGenerator.h" +#include "../utility/juce_WindowsHooks.h" +#include "../utility/juce_PluginBusUtilities.h" + +#include +#include +#include + +JUCE_DEFINE_WRAPPER_TYPE (wrapperType_Standalone); + +// You can set this flag in your build if you need to specify a different +// standalone JUCEApplication class for your app to use. If you don't +// set it then by default we'll just create a simple one as below. +#if ! JUCE_USE_CUSTOM_AU3_STANDALONE_APP + +extern AudioProcessor* JUCE_CALLTYPE createPluginFilter(); + +namespace juce +{ + #include "juce_StandaloneFilterWindow.h" +} + +//============================================================================== +class StandaloneFilterApp : public JUCEApplication +{ +public: + StandaloneFilterApp() + { + JUCE_DECLARE_WRAPPER_TYPE (wrapperType_Standalone); + } + + const String getApplicationName() override { return JucePlugin_Name; } + const String getApplicationVersion() override { return JucePlugin_VersionString; } + bool moreThanOneInstanceAllowed() override { return true; } + void anotherInstanceStarted (const String&) override {} + + //============================================================================== + void initialise (const String&) override + { + mainWindow = new StandaloneFilterWindow (getApplicationName(), Colour(), nullptr, true); + + #if JUCE_IOS || JUCE_ANDROID + Desktop::getInstance().setKioskModeComponent (mainWindow, false); + #endif + + mainWindow->setVisible (true); + } + + void shutdown() override + { + mainWindow = nullptr; + } + + //============================================================================== + void systemRequestedQuit() override + { + quit(); + } + +private: + ScopedPointer mainWindow; +}; + +START_JUCE_APPLICATION (StandaloneFilterApp); + +#endif diff --git a/modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterWindow.h b/modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterWindow.h index 0fcf897c6a..60c88e3f45 100644 --- a/modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterWindow.h +++ b/modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterWindow.h @@ -25,8 +25,6 @@ #ifndef JUCE_STANDALONEFILTERWINDOW_H_INCLUDED #define JUCE_STANDALONEFILTERWINDOW_H_INCLUDED -extern AudioProcessor* JUCE_CALLTYPE createPluginFilter(); - //============================================================================== /** An object that creates and plays a standalone instance of an AudioProcessor. @@ -74,10 +72,15 @@ public: //============================================================================== virtual void createPlugin() { + + #if JUCE_MODULE_AVAILABLE_juce_audio_plugin_client + processor = ::createPluginFilterOfType (AudioProcessor::wrapperType_Standalone); + #else AudioProcessor::setTypeOfNextNewPlugin (AudioProcessor::wrapperType_Standalone); processor = createPluginFilter(); - jassert (processor != nullptr); // Your createPluginFilter() function must return a valid object! AudioProcessor::setTypeOfNextNewPlugin (AudioProcessor::wrapperType_Undefined); + #endif + jassert (processor != nullptr); // Your createPluginFilter() function must return a valid object! // try to disable sidechain and aux buses const int numInBuses = processor->busArrangement.inputBuses.size(); diff --git a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp index 1c36560999..857287d559 100644 --- a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp +++ b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp @@ -63,7 +63,7 @@ the older VST2.4 files. Then, you'll need to make sure your include path contains your "VST SDK3" - directory (or whatever you've named it on your machine). The introjucer has + directory (or whatever you've named it on your machine). The Projucer has a special box for setting this path. */ #include @@ -111,17 +111,19 @@ class JuceVSTWrapper; static bool recursionCheck = false; +JUCE_DEFINE_WRAPPER_TYPE (wrapperType_VST); + namespace juce { #if JUCE_MAC - extern void initialiseMacVST(); - extern void* attachComponentToWindowRefVST (Component*, void* parent, bool isNSView); - extern void detachComponentFromWindowRefVST (Component*, void* window, bool isNSView); - extern void setNativeHostWindowSizeVST (void* window, Component*, int newWidth, int newHeight, bool isNSView); - extern void checkWindowVisibilityVST (void* window, Component*, bool isNSView); - extern bool forwardCurrentKeyEventToHostVST (Component*, bool isNSView); + extern JUCE_API void initialiseMacVST(); + extern JUCE_API void* attachComponentToWindowRefVST (Component*, void* parent, bool isNSView); + extern JUCE_API void detachComponentFromWindowRefVST (Component*, void* window, bool isNSView); + extern JUCE_API void setNativeHostWindowSizeVST (void* window, Component*, int newWidth, int newHeight, bool isNSView); + extern JUCE_API void checkWindowVisibilityVST (void* window, Component*, bool isNSView); + extern JUCE_API bool forwardCurrentKeyEventToHostVST (Component*, bool isNSView); #if ! JUCE_64BIT - extern void updateEditorCompBoundsVST (Component*); + extern JUCE_API void updateEditorCompBoundsVST (Component*); #endif #endif @@ -261,7 +263,7 @@ public: JuceVSTWrapper (audioMasterCallback audioMasterCB, AudioProcessor* const af) : AudioEffectX (audioMasterCB, af->getNumPrograms(), af->getNumParameters()), filter (af), - busUtils (*filter, false), + busUtils (*filter, true, 64), chunkMemoryTime (0), isProcessing (false), isBypassed (false), @@ -276,42 +278,27 @@ public: #endif hostWindow (0) { - int maxNumInChannels, maxNumOutChannels; - - busUtils.findAllCompatibleLayouts(); + busUtils.init(); // VST-2 does not support disabling buses: so always enable all of them if (busUtils.hasDynamicInBuses() || busUtils.hasDynamicOutBuses()) busUtils.enableAllBuses(); { + // Using the legacy Projucer field? Then keep the maximum number of channels + // as the default plug-in layout. Otherwise, leave it up to the user + // which default layout the prefer. + #ifndef JucePlugin_PreferredChannelConfigurations PluginBusUtilities::ScopedBusRestorer busRestorer (busUtils); + #endif - maxNumInChannels = busUtils.getBusCount (true) > 0 ? busUtils.getSupportedBusLayouts (true, 0).maxNumberOfChannels() : 0; - maxNumOutChannels = busUtils.getBusCount (false) > 0 ? busUtils.getSupportedBusLayouts (false, 0).maxNumberOfChannels() : 0; + findMaxTotalChannels (maxNumInChannels, maxNumOutChannels); + bool success = setBusArrangementFromTotalChannelNum (maxNumInChannels, maxNumOutChannels); + ignoreUnused (success); - if (hostOnlySupportsStereo()) - { - maxNumInChannels = jmin (maxNumInChannels, 2); - maxNumOutChannels = jmin (maxNumOutChannels, 2); - } - - // try setting the number of channels - if (maxNumInChannels > 0) - filter->setPreferredBusArrangement (true, 0, busUtils.getDefaultLayoutForChannelNumAndBus (true, 0, maxNumInChannels)); - - if (maxNumOutChannels > 0) - filter->setPreferredBusArrangement (false, 0, busUtils.getDefaultLayoutForChannelNumAndBus (false, 0, maxNumOutChannels)); - - resetAuxChannelsToDefaultLayout (true); - resetAuxChannelsToDefaultLayout (false); - - maxNumInChannels = busUtils.findTotalNumChannels (true); - maxNumOutChannels = busUtils.findTotalNumChannels (false); - - if ((busUtils.getBusCount (true) > 0 && busUtils.getDefaultLayoutForBus (true, 0) .size() > maxNumInChannels) - || (busUtils.getBusCount (false) > 0 && busUtils.getDefaultLayoutForBus (false, 0).size() > maxNumOutChannels)) - busRestorer.release(); + // please file a bug if you hit this assertsion! + jassert (maxNumInChannels == busUtils.findTotalNumChannels (true) && success + && maxNumOutChannels == busUtils.findTotalNumChannels (false)); } filter->setRateAndBufferSizeDetails (0, 0); @@ -566,8 +553,15 @@ public: } } - if (i < numIn && chan != inputs[i]) - memcpy (chan, inputs[i], sizeof (FloatType) * (size_t) numSamples); + if (i < numIn) + { + if (chan != inputs[i]) + memcpy (chan, inputs[i], sizeof (FloatType) * (size_t) numSamples); + } + else + { + FloatVectorOperations::clear (chan, numSamples); + } tmpBuffers.channels[i] = chan; } @@ -923,73 +917,57 @@ public: bool setSpeakerArrangement (VstSpeakerArrangement* pluginInput, VstSpeakerArrangement* pluginOutput) override { - if (pluginInput != nullptr && filter->busArrangement.inputBuses.size() == 0) + const int numIns = busUtils.getBusCount (true); + const int numOuts = busUtils.getBusCount (false);; + + if (pluginInput != nullptr && numIns == 0) return false; - if (pluginOutput != nullptr && filter->busArrangement.outputBuses.size() == 0) + if (pluginOutput != nullptr && numOuts == 0) return false; - PluginBusUtilities::ScopedBusRestorer busRestorer (busUtils); - - resetAuxChannelsToDefaultLayout (true); - resetAuxChannelsToDefaultLayout (false); - - if (pluginInput != nullptr && pluginInput->numChannels >= 0) + if (numIns > 1 || numOuts > 1) { - AudioChannelSet newType; + int newNumInChannels = (pluginInput != nullptr && pluginInput-> numChannels >= 0) ? pluginInput-> numChannels + : busUtils.findTotalNumChannels (true); + int newNumOutChannels = (pluginOutput != nullptr && pluginOutput->numChannels >= 0) ? pluginOutput->numChannels + : busUtils.findTotalNumChannels (false); - // subtract the number of channels which are used by the aux channels - int mainNumChannels = pluginInput->numChannels - busUtils.findTotalNumChannels (true, 1); + newNumInChannels = jmin (newNumInChannels, maxNumInChannels); + newNumOutChannels = jmin (newNumOutChannels, maxNumOutChannels); - if (mainNumChannels <= 0) - return false; - - if (mainNumChannels > busUtils.getSupportedBusLayouts (true, 0).maxNumberOfChannels()) - return false; - - newType = SpeakerMappings::vstArrangementTypeToChannelSet (*pluginInput); - - if (mainNumChannels != newType.size()) - newType = AudioChannelSet::canonicalChannelSet(mainNumChannels); - - if (busUtils.getChannelSet (true, 0) != newType) - if (! filter->setPreferredBusArrangement (true, 0, newType)) - return false; - } - - if (pluginOutput != nullptr && pluginOutput->numChannels >= 0) - { - AudioChannelSet newType; - - // subtract the number of channels which are used by the aux channels - int mainNumChannels = pluginOutput->numChannels - busUtils.findTotalNumChannels (false, 1); - - if (mainNumChannels <= 0) - return false; - - if (mainNumChannels > busUtils.getSupportedBusLayouts (false, 0).maxNumberOfChannels()) - return false; - - newType = SpeakerMappings::vstArrangementTypeToChannelSet (*pluginOutput); - - if (mainNumChannels != newType.size()) - newType = AudioChannelSet::canonicalChannelSet(mainNumChannels); - - AudioChannelSet oldOutputLayout = busUtils.getChannelSet (false, 0); - AudioChannelSet oldInputLayout = busUtils.getChannelSet (true, 0); - - if (busUtils.getChannelSet (false, 0) != newType) - if (! filter->setPreferredBusArrangement (false, 0, newType)) - return false; - - // did this change the input layout? - if (oldInputLayout != busUtils.getChannelSet (true, 0) && pluginInput != nullptr) + if (! setBusArrangementFromTotalChannelNum (newNumInChannels, newNumOutChannels)) return false; } + else + { + PluginBusUtilities::ScopedBusRestorer busRestorer (busUtils); + AudioChannelSet inLayoutType; + + if (pluginInput != nullptr && pluginInput-> numChannels >= 0) + { + inLayoutType = SpeakerMappings::vstArrangementTypeToChannelSet (*pluginInput); + if (busUtils.getChannelSet (true, 0) != inLayoutType) + if (! filter->setPreferredBusArrangement (true, 0, inLayoutType)) + return false; + } + + if (pluginOutput != nullptr && pluginOutput->numChannels >= 0) + { + AudioChannelSet newType = SpeakerMappings::vstArrangementTypeToChannelSet (*pluginOutput); + if (busUtils.getChannelSet (false, 0) != newType) + if (! filter->setPreferredBusArrangement (false, 0, newType)) + return false; + + // re-check the input + if ((! inLayoutType.isDisabled()) && busUtils.getChannelSet (true, 0) != inLayoutType) + return false; + + busRestorer.release(); + } + } - busRestorer.release(); filter->setRateAndBufferSizeDetails(0, 0); - return true; } @@ -1008,23 +986,20 @@ public: return false; } - if (busUtils.getBusCount (true) > 1) + if (pluginHasSidechainsOrAuxs()) { - AudioChannelSet layout = AudioChannelSet::canonicalChannelSet (busUtils.findTotalNumChannels(true)); - SpeakerMappings::channelSetToVstArrangement (layout, **pluginInput); - } - else - { - SpeakerMappings::channelSetToVstArrangement (busUtils.getChannelSet (true, 0), **pluginInput); - } + int numIns = busUtils.findTotalNumChannels (true); + int numOuts = busUtils.findTotalNumChannels (false); - if (busUtils.getBusCount (false) > 1) - { - AudioChannelSet layout = AudioChannelSet::canonicalChannelSet (busUtils.findTotalNumChannels(false)); + AudioChannelSet layout = AudioChannelSet::canonicalChannelSet (numIns); + SpeakerMappings::channelSetToVstArrangement (layout, **pluginInput); + + layout = AudioChannelSet::canonicalChannelSet (numOuts); SpeakerMappings::channelSetToVstArrangement (layout, **pluginOutput); } else { + SpeakerMappings::channelSetToVstArrangement (busUtils.getChannelSet (true, 0), **pluginInput); SpeakerMappings::channelSetToVstArrangement (busUtils.getChannelSet (false, 0), **pluginOutput); } @@ -1045,6 +1020,12 @@ public: bool getPinProperties (VstPinProperties& properties, bool direction, int index) const { + // fill with default + properties.flags = kVstPinUseSpeaker; + properties.label[0] = 0; + properties.shortLabel[0] = 0; + properties.arrangementType = kSpeakerArrEmpty; + // index refers to the absolute index when combining all channels of every bus if (index >= (direction ? cEffect.numInputs : cEffect.numOutputs)) return false; @@ -1061,21 +1042,17 @@ public: } if (busIdx >= n) - { - properties.flags = kVstPinUseSpeaker; - properties.label[0] = 0; - properties.shortLabel[0] = 0; - properties.arrangementType = kSpeakerArrEmpty; - return true; - } const AudioProcessor::AudioProcessorBus& busInfo = busUtils.getFilterBus (direction).getReference (busIdx); - String channelName = busInfo.name; + #ifdef JucePlugin_PreferredChannelConfigurations + String abbvChannelName = String (index); + #else + String abbvChannelName = AudioChannelSet::getAbbreviatedChannelTypeName (busInfo.channels.getTypeOfChannel(index)); + #endif - channelName += - String (" ") + AudioChannelSet::getAbbreviatedChannelTypeName (busInfo.channels.getTypeOfChannel(index)); + String channelName = busInfo.name + String (" ") + abbvChannelName; channelName.copyToUTF8 (properties.label, (size_t) (kVstMaxLabelLen - 1)); channelName.copyToUTF8 (properties.shortLabel, (size_t) (kVstMaxShortLabelLen - 1)); @@ -1169,33 +1146,33 @@ public: { { kSpeakerArrMono, { centre, unknown } }, { kSpeakerArrStereo, { left, right, unknown } }, - { kSpeakerArrStereoSurround, { surroundLeft, surroundRight, unknown } }, - { kSpeakerArrStereoCenter, { centreLeft, centreRight, unknown } }, - { kSpeakerArrStereoSide, { sideLeft, sideRight, unknown } }, + { kSpeakerArrStereoSurround, { leftSurround, rightSurround, unknown } }, + { kSpeakerArrStereoCenter, { leftCentre, rightCentre, unknown } }, + { kSpeakerArrStereoSide, { leftRearSurround, rightRearSurround, unknown } }, { kSpeakerArrStereoCLfe, { centre, subbass, unknown } }, { kSpeakerArr30Cine, { left, right, centre, unknown } }, { kSpeakerArr30Music, { left, right, surround, unknown } }, { kSpeakerArr31Cine, { left, right, centre, subbass, unknown } }, { kSpeakerArr31Music, { left, right, subbass, surround, unknown } }, { kSpeakerArr40Cine, { left, right, centre, surround, unknown } }, - { kSpeakerArr40Music, { left, right, surroundLeft, surroundRight, unknown } }, + { kSpeakerArr40Music, { left, right, leftSurround, rightSurround, unknown } }, { kSpeakerArr41Cine, { left, right, centre, subbass, surround, unknown } }, - { kSpeakerArr41Music, { left, right, subbass, surroundLeft, surroundRight, unknown } }, - { kSpeakerArr50, { left, right, centre, surroundLeft, surroundRight, unknown } }, - { kSpeakerArr51, { left, right, centre, subbass, surroundLeft, surroundRight, unknown } }, - { kSpeakerArr60Cine, { left, right, centre, surroundLeft, surroundRight, surround, unknown } }, - { kSpeakerArr60Music, { left, right, surroundLeft, surroundRight, sideLeft, sideRight, unknown } }, - { kSpeakerArr61Cine, { left, right, centre, subbass, surroundLeft, surroundRight, surround, unknown } }, - { kSpeakerArr61Music, { left, right, subbass, surroundLeft, surroundRight, sideLeft, sideRight, unknown } }, - { kSpeakerArr70Cine, { left, right, centre, surroundLeft, surroundRight, topFrontLeft, topFrontRight, unknown } }, - { kSpeakerArr70Music, { left, right, centre, surroundLeft, surroundRight, sideLeft, sideRight, unknown } }, - { kSpeakerArr71Cine, { left, right, centre, subbass, surroundLeft, surroundRight, topFrontLeft, topFrontRight, unknown } }, - { kSpeakerArr71Music, { left, right, centre, subbass, surroundLeft, surroundRight, sideLeft, sideRight, unknown } }, - { kSpeakerArr80Cine, { left, right, centre, surroundLeft, surroundRight, topFrontLeft, topFrontRight, surround, unknown } }, - { kSpeakerArr80Music, { left, right, centre, surroundLeft, surroundRight, surround, sideLeft, sideRight, unknown } }, - { kSpeakerArr81Cine, { left, right, centre, subbass, surroundLeft, surroundRight, topFrontLeft, topFrontRight, surround, unknown } }, - { kSpeakerArr81Music, { left, right, centre, subbass, surroundLeft, surroundRight, surround, sideLeft, sideRight, unknown } }, - { kSpeakerArr102, { left, right, centre, subbass, surroundLeft, surroundRight, topFrontLeft, topFrontCentre, topFrontRight, topRearLeft, topRearRight, subbass2, unknown } }, + { kSpeakerArr41Music, { left, right, subbass, leftSurround, rightSurround, unknown } }, + { kSpeakerArr50, { left, right, centre, leftSurround, rightSurround, unknown } }, + { kSpeakerArr51, { left, right, centre, subbass, leftSurround, rightSurround, unknown } }, + { kSpeakerArr60Cine, { left, right, centre, leftSurround, rightSurround, surround, unknown } }, + { kSpeakerArr60Music, { left, right, leftSurround, rightSurround, leftRearSurround, rightRearSurround, unknown } }, + { kSpeakerArr61Cine, { left, right, centre, subbass, leftSurround, rightSurround, surround, unknown } }, + { kSpeakerArr61Music, { left, right, subbass, leftSurround, rightSurround, leftRearSurround, rightRearSurround, unknown } }, + { kSpeakerArr70Cine, { left, right, centre, leftSurround, rightSurround, topFrontLeft, topFrontRight, unknown } }, + { kSpeakerArr70Music, { left, right, centre, leftSurround, rightSurround, leftRearSurround, rightRearSurround, unknown } }, + { kSpeakerArr71Cine, { left, right, centre, subbass, leftSurround, rightSurround, topFrontLeft, topFrontRight, unknown } }, + { kSpeakerArr71Music, { left, right, centre, subbass, leftSurround, rightSurround, leftRearSurround, rightRearSurround, unknown } }, + { kSpeakerArr80Cine, { left, right, centre, leftSurround, rightSurround, topFrontLeft, topFrontRight, surround, unknown } }, + { kSpeakerArr80Music, { left, right, centre, leftSurround, rightSurround, surround, leftRearSurround, rightRearSurround, unknown } }, + { kSpeakerArr81Cine, { left, right, centre, subbass, leftSurround, rightSurround, topFrontLeft, topFrontRight, surround, unknown } }, + { kSpeakerArr81Music, { left, right, centre, subbass, leftSurround, rightSurround, surround, leftRearSurround, rightRearSurround, unknown } }, + { kSpeakerArr102, { left, right, centre, subbass, leftSurround, rightSurround, topFrontLeft, topFrontCentre, topFrontRight, topRearLeft, topRearRight, subbass2, unknown } }, { kSpeakerArrEmpty, { unknown } } }; @@ -1210,13 +1187,13 @@ public: case AudioChannelSet::right: return kSpeakerR; case AudioChannelSet::centre: return kSpeakerC; case AudioChannelSet::subbass: return kSpeakerLfe; - case AudioChannelSet::surroundLeft: return kSpeakerLs; - case AudioChannelSet::surroundRight: return kSpeakerRs; - case AudioChannelSet::centreLeft: return kSpeakerLc; - case AudioChannelSet::centreRight: return kSpeakerRc; + case AudioChannelSet::leftSurround: return kSpeakerLs; + case AudioChannelSet::rightSurround: return kSpeakerRs; + case AudioChannelSet::leftCentre: return kSpeakerLc; + case AudioChannelSet::rightCentre: return kSpeakerRc; case AudioChannelSet::surround: return kSpeakerS; - case AudioChannelSet::sideLeft: return kSpeakerSl; - case AudioChannelSet::sideRight: return kSpeakerSr; + case AudioChannelSet::leftRearSurround: return kSpeakerSl; + case AudioChannelSet::rightRearSurround: return kSpeakerSr; case AudioChannelSet::topMiddle: return kSpeakerTm; case AudioChannelSet::topFrontLeft: return kSpeakerTfl; case AudioChannelSet::topFrontCentre: return kSpeakerTfc; @@ -1239,13 +1216,13 @@ public: case kSpeakerR: return AudioChannelSet::right; case kSpeakerC: return AudioChannelSet::centre; case kSpeakerLfe: return AudioChannelSet::subbass; - case kSpeakerLs: return AudioChannelSet::surroundLeft; - case kSpeakerRs: return AudioChannelSet::surroundRight; - case kSpeakerLc: return AudioChannelSet::centreLeft; - case kSpeakerRc: return AudioChannelSet::centreRight; + case kSpeakerLs: return AudioChannelSet::leftSurround; + case kSpeakerRs: return AudioChannelSet::rightSurround; + case kSpeakerLc: return AudioChannelSet::leftCentre; + case kSpeakerRc: return AudioChannelSet::rightCentre; case kSpeakerS: return AudioChannelSet::surround; - case kSpeakerSl: return AudioChannelSet::sideLeft; - case kSpeakerSr: return AudioChannelSet::sideRight; + case kSpeakerSl: return AudioChannelSet::leftRearSurround; + case kSpeakerSr: return AudioChannelSet::rightRearSurround; case kSpeakerTm: return AudioChannelSet::topMiddle; case kSpeakerTfl: return AudioChannelSet::topFrontLeft; case kSpeakerTfc: return AudioChannelSet::topFrontCentre; @@ -1687,6 +1664,7 @@ private: bool shouldDeleteEditor, useNSView; VstTempBuffers floatTempBuffers; VstTempBuffers doubleTempBuffers; + int maxNumInChannels, maxNumOutChannels; #if JUCE_MAC void* hostWindow; @@ -1756,6 +1734,47 @@ private: deleteTempChannels (doubleTempBuffers); } + //============================================================================== + void findMaxTotalChannels (int& maxTotalIns, int& maxTotalOuts) + { + setMaxChannelsOnAllBuses (true); + setMaxChannelsOnAllBuses (false); + + maxTotalIns = busUtils.findTotalNumChannels (true); + maxTotalOuts = busUtils.findTotalNumChannels (false); + } + + void setMaxChannelsOnAllBuses (bool isInput) + { + const int n = busUtils.getBusCount (isInput); + + for (int i = 0; i < n; ++i) + { + int ch = busUtils.findMaxNumberOfChannelsForBus (isInput, i); + + if (ch == -1) + { + // VST-2 requires a maximum number of channels. If you are hitting this assertion + // then make sure that your setPreferredBusArrangement only accepts layouts + // up to a maximum number of channels + jassertfalse; + + // do something sensible if the above assertions was hit + ch = busUtils.getDefaultLayoutForBus (isInput, i).size(); + } + + AudioChannelSet set = + busUtils.getDefaultLayoutForChannelNumAndBus (isInput, i, ch); + + bool success = filter->setPreferredBusArrangement (isInput, i, set); + ignoreUnused (success); + + // If you are hitting this assertsion then please file bug! + jassert ((! set.isDisabled()) && success); + } + } + + //============================================================================== void resetAuxChannelsToDefaultLayout (bool isInput) const { @@ -1772,12 +1791,138 @@ private: } } - bool hostOnlySupportsStereo () const + bool setBusArrangementFromTotalChannelNum (const int numInChannels, const int numOutChannels) { - const PluginHostType host (getHostType ()); + PluginBusUtilities::ScopedBusRestorer busRestorer (busUtils); + const int numIns = busUtils.getBusCount (true); + const int numOuts = busUtils.getBusCount (false); - // there are probably more hosts that need listing here - return host.isAbletonLive(); + const int n = numIns + numOuts; + HeapBlock config (static_cast (n), true); + HeapBlock maxChans (static_cast (n), true); + + for (int i = 0; i < numIns; ++i) + maxChans[i] = busUtils.findMaxNumberOfChannelsForBus (true, i, numInChannels); + + for (int i = 0; i < numOuts; ++i) + maxChans[i + numIns] = busUtils.findMaxNumberOfChannelsForBus (false, i, numOutChannels); + + const int* inConfig = config.getData(); + const int* outConfig = config.getData() + numIns; + + #if JUCE_DEBUG + bool firstMatch = true; + AudioProcessor::AudioBusArrangement saveFirstMatch; + #endif + + for (int i = 0; i < n;) + { + if (sumOfConfig (inConfig, numIns) == numInChannels + && sumOfConfig (outConfig, numOuts) == numOutChannels) + { + if (applyConfiguration (inConfig, outConfig)) + { + #if JUCE_DEBUG + if (! firstMatch) + { + // Unfortunately, VST-2 requires that there is a unique plug-in bus + // arrangement for every x,y pair where x,y is the total number of + // input, output channels respectively. + jassertfalse; + + busUtils.restoreBusArrangement (saveFirstMatch); + return true; + } + + saveFirstMatch = filter->busArrangement; + firstMatch = false; + #else + busRestorer.release(); + return true; + #endif + } + } + + for (i = 0; i < n; ++i) + if ((config[i] = (config[i] + 1) % maxChans[i]) > 0) + break; + } + + #if JUCE_DEBUG + if (! firstMatch) + { + busRestorer.release(); + busUtils.restoreBusArrangement (saveFirstMatch); + return true; + } + #endif + + return false; + } + + bool setBusConfiguration (bool isInput, const int config[], const int n) + { + Array& busArray = isInput ? filter->busArrangement.inputBuses + : filter->busArrangement.outputBuses; + + int idx; + for (idx = 0; idx < n; ++idx) + { + if (busArray.getReference (idx).channels.size() == (config [idx] + 1)) + continue; + + AudioChannelSet set; + if ((set = busUtils.getDefaultLayoutForChannelNumAndBus (isInput, idx, config [idx] + 1)).isDisabled()) + break; + + if (! filter->setPreferredBusArrangement (isInput, idx, set)) + break; + } + + return (idx >= n); + } + + bool configurationMatches (bool isInput, const int config[], const int n) + { + Array& busArray = isInput ? filter->busArrangement.inputBuses + : filter->busArrangement.outputBuses; + + int idx; + for (idx = 0; idx < n; ++idx) + if (busArray.getReference (idx).channels.size() != (config [idx] + 1)) + break; + + return (idx >= n); + } + + bool applyConfiguration (const int inConfig[], const int outConfig[]) + { + const int numIns = busUtils.getBusCount (true); + const int numOuts = busUtils.getBusCount (false); + + if (! setBusConfiguration (true, inConfig, numIns)) + return false; + + if (! setBusConfiguration (false, outConfig, numOuts)) + return false; + + // re-check configuration + if (configurationMatches (true, inConfig, numIns) && configurationMatches (false, outConfig, numOuts)) + return true; + + return false; + } + + //============================================================================== + bool pluginHasSidechainsOrAuxs() const { return (busUtils.getBusCount (true) > 1 || busUtils.getBusCount (false) > 1); } + + static int sumOfConfig (const int config[], int num) noexcept + { + int retval = 0; + for (int i = 0; i < num; ++i) + retval += (config [i] + 1); + + return retval; } //============================================================================== JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (JuceVSTWrapper) @@ -1824,6 +1969,8 @@ namespace JUCE_EXPORTED_FUNCTION AEffect* VSTPluginMain (audioMasterCallback audioMaster); JUCE_EXPORTED_FUNCTION AEffect* VSTPluginMain (audioMasterCallback audioMaster) { + JUCE_DECLARE_WRAPPER_TYPE (wrapperType_VST); + initialiseMacVST(); return pluginEntryPoint (audioMaster); } @@ -1831,6 +1978,8 @@ namespace JUCE_EXPORTED_FUNCTION AEffect* main_macho (audioMasterCallback audioMaster); JUCE_EXPORTED_FUNCTION AEffect* main_macho (audioMasterCallback audioMaster) { + JUCE_DECLARE_WRAPPER_TYPE (wrapperType_VST); + initialiseMacVST(); return pluginEntryPoint (audioMaster); } @@ -1842,6 +1991,8 @@ namespace JUCE_EXPORTED_FUNCTION AEffect* VSTPluginMain (audioMasterCallback audioMaster); JUCE_EXPORTED_FUNCTION AEffect* VSTPluginMain (audioMasterCallback audioMaster) { + JUCE_DECLARE_WRAPPER_TYPE (wrapperType_VST); + SharedMessageThread::getInstance(); return pluginEntryPoint (audioMaster); } @@ -1849,6 +2000,8 @@ namespace JUCE_EXPORTED_FUNCTION AEffect* main_plugin (audioMasterCallback audioMaster) asm ("main"); JUCE_EXPORTED_FUNCTION AEffect* main_plugin (audioMasterCallback audioMaster) { + JUCE_DECLARE_WRAPPER_TYPE (wrapperType_VST); + return VSTPluginMain (audioMaster); } @@ -1862,12 +2015,16 @@ namespace extern "C" __declspec (dllexport) AEffect* VSTPluginMain (audioMasterCallback audioMaster) { + JUCE_DECLARE_WRAPPER_TYPE (wrapperType_VST); + return pluginEntryPoint (audioMaster); } #ifndef JUCE_64BIT // (can't compile this on win64, but it's not needed anyway with VST2.4) extern "C" __declspec (dllexport) int main (audioMasterCallback audioMaster) { + JUCE_DECLARE_WRAPPER_TYPE (wrapperType_VST); + return (int) pluginEntryPoint (audioMaster); } #endif diff --git a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.mm b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.mm index 21c654aac6..55370bc924 100644 --- a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.mm +++ b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.mm @@ -39,7 +39,7 @@ namespace juce { #if ! JUCE_64BIT -void updateEditorCompBoundsVST (Component*); +JUCE_API void updateEditorCompBoundsVST (Component*); void updateEditorCompBoundsVST (Component* comp) { HIViewRef dummyView = (HIViewRef) (void*) (pointer_sized_int) @@ -71,7 +71,7 @@ static bool shouldManuallyCloseHostWindow() #endif //============================================================================== -void initialiseMacVST(); +JUCE_API void initialiseMacVST(); void initialiseMacVST() { #if ! JUCE_64BIT @@ -79,7 +79,7 @@ void initialiseMacVST() #endif } -void* attachComponentToWindowRefVST (Component* comp, void* parentWindowOrView, bool isNSView); +JUCE_API void* attachComponentToWindowRefVST (Component* comp, void* parentWindowOrView, bool isNSView); void* attachComponentToWindowRefVST (Component* comp, void* parentWindowOrView, bool isNSView) { JUCE_AUTORELEASEPOOL @@ -184,7 +184,7 @@ void* attachComponentToWindowRefVST (Component* comp, void* parentWindowOrView, } } -void detachComponentFromWindowRefVST (Component* comp, void* window, bool isNSView); +JUCE_API void detachComponentFromWindowRefVST (Component* comp, void* window, bool isNSView); void detachComponentFromWindowRefVST (Component* comp, void* window, bool isNSView) { JUCE_AUTORELEASEPOOL @@ -242,7 +242,7 @@ void detachComponentFromWindowRefVST (Component* comp, void* window, bool isNSVi } } -void setNativeHostWindowSizeVST (void* window, Component* component, int newWidth, int newHeight, bool isNSView); +JUCE_API void setNativeHostWindowSizeVST (void* window, Component* component, int newWidth, int newHeight, bool isNSView); void setNativeHostWindowSizeVST (void* window, Component* component, int newWidth, int newHeight, bool isNSView) { JUCE_AUTORELEASEPOOL @@ -280,7 +280,7 @@ void setNativeHostWindowSizeVST (void* window, Component* component, int newWidt } } -void checkWindowVisibilityVST (void* window, Component* comp, bool isNSView); +JUCE_API void checkWindowVisibilityVST (void* window, Component* comp, bool isNSView); void checkWindowVisibilityVST (void* window, Component* comp, bool isNSView) { ignoreUnused (window, comp, isNSView); @@ -291,7 +291,7 @@ void checkWindowVisibilityVST (void* window, Component* comp, bool isNSView) #endif } -bool forwardCurrentKeyEventToHostVST (Component* comp, bool isNSView); +JUCE_API bool forwardCurrentKeyEventToHostVST (Component* comp, bool isNSView); bool forwardCurrentKeyEventToHostVST (Component* comp, bool isNSView) { #if ! JUCE_64BIT diff --git a/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp b/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp index 99cc210eda..b59e9e6bfe 100644 --- a/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp +++ b/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp @@ -55,6 +55,8 @@ #endif #endif +JUCE_DEFINE_WRAPPER_TYPE (wrapperType_VST3); + namespace juce { @@ -68,9 +70,9 @@ using namespace Steinberg; extern void updateEditorCompBoundsVST (Component*); #endif - extern void* attachComponentToWindowRefVST (Component*, void* parentWindowOrView, bool isNSView); - extern void detachComponentFromWindowRefVST (Component*, void* nsWindow, bool isNSView); - extern void setNativeHostWindowSizeVST (void* window, Component*, int newWidth, int newHeight, bool isNSView); + extern JUCE_API void* attachComponentToWindowRefVST (Component*, void* parentWindowOrView, bool isNSView); + extern JUCE_API void detachComponentFromWindowRefVST (Component*, void* nsWindow, bool isNSView); + extern JUCE_API void setNativeHostWindowSizeVST (void* window, Component*, int newWidth, int newHeight, bool isNSView); #endif //============================================================================== @@ -782,7 +784,12 @@ public: isMidiOutputBusEnabled = true; #endif - busUtils.findAllCompatibleLayouts(); + busUtils.init(); + + // VST-3 requires your default layout to be non-discrete! + // For example, your default layout must be mono, stereo, quadrophonic + // and not AudioChannelSet::discreteChannels (2) etc. + jassert (busUtils.checkBusFormatsAreNotDiscrete()); copyEnabledBuses (lastEnabledBusStates.inputBuses, pluginInstance->busArrangement.inputBuses, Vst::kInput); copyEnabledBuses (lastEnabledBusStates.outputBuses, pluginInstance->busArrangement.outputBuses, Vst::kOutput); @@ -1376,7 +1383,7 @@ public: info.channelCount = bus->channels.size(); toString128 (info.name, bus->name); info.busType = index == 0 ? Vst::kMain : Vst::kAux; - info.flags = busUtils.getSupportedBusLayouts (dir == Vst::kInput, index).isEnabledByDefault ? Vst::BusInfo::kDefaultActive : 0; + info.flags = busUtils.isBusEnabledByDefault (dir == Vst::kInput, index) ? Vst::BusInfo::kDefaultActive : 0; return kResultTrue; } } @@ -1390,7 +1397,7 @@ public: { info.mediaType = Vst::kEvent; info.direction = dir; - info.channelCount = 0; + info.channelCount = 1; toString128 (info.name, TRANS("MIDI Input")); info.busType = Vst::kMain; return kResultTrue; @@ -1402,7 +1409,7 @@ public: { info.mediaType = Vst::kEvent; info.direction = dir; - info.channelCount = 0; + info.channelCount = 1; toString128 (info.name, TRANS("MIDI Output")); info.busType = Vst::kMain; return kResultTrue; @@ -1733,7 +1740,10 @@ private: for (int i = 0; i < numChans; ++i) { if (totalOutputChans >= totalInputChans) + { + FloatVectorOperations::clear (busChannels[i], data.numSamples); channelList.set (totalOutputChans, busChannels[i]); + } ++totalOutputChans; } @@ -2211,6 +2221,8 @@ private: // The VST3 plugin entry point. JUCE_EXPORTED_FUNCTION IPluginFactory* PLUGIN_API GetPluginFactory() { + JUCE_DECLARE_WRAPPER_TYPE (wrapperType_VST3); + #if JUCE_WINDOWS // Cunning trick to force this function to be exported. Life's too short to // faff around creating .def files for this kind of thing. diff --git a/modules/juce_audio_plugin_client/juce_audio_plugin_client.h b/modules/juce_audio_plugin_client/juce_audio_plugin_client.h index cc9451252e..9f61c20484 100644 --- a/modules/juce_audio_plugin_client/juce_audio_plugin_client.h +++ b/modules/juce_audio_plugin_client/juce_audio_plugin_client.h @@ -22,12 +22,36 @@ ============================================================================== */ +/******************************************************************************* + The block below describes the properties of this module, and is read by + the Projucer to automatically generate project code that uses it. + For details about the syntax and how to create or use a module, see the + JUCE Module Format.txt file. + + + BEGIN_JUCE_MODULE_DECLARATION + + ID: juce_audio_plugin_client + vendor: juce + version: 4.2.0 + name: JUCE audio plugin wrapper classes + description: Classes for building VST, VST3, AudioUnit, AAX and RTAS plugins. + website: http://www.juce.com/juce + license: GPL/Commercial + + dependencies: juce_gui_basics, juce_audio_basics, juce_audio_processors + + END_JUCE_MODULE_DECLARATION + +*******************************************************************************/ + + #ifndef JUCE_AUDIO_PLUGIN_CLIENT_H_INCLUDED #define JUCE_AUDIO_PLUGIN_CLIENT_H_INCLUDED -#include "../juce_gui_basics/juce_gui_basics.h" -#include "../juce_audio_basics/juce_audio_basics.h" -#include "../juce_audio_processors/juce_audio_processors.h" +#include +#include +#include namespace juce { diff --git a/extras/Introjucer/Source/Application/jucer_Main.cpp b/modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.cpp similarity index 87% rename from extras/Introjucer/Source/Application/jucer_Main.cpp rename to modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.cpp index 78b0e7bfec..617f31e291 100644 --- a/extras/Introjucer/Source/Application/jucer_Main.cpp +++ b/modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.cpp @@ -22,7 +22,4 @@ ============================================================================== */ -#include "../jucer_Headers.h" -#include "jucer_Application.h" - -START_JUCE_APPLICATION (IntrojucerApp) +#include "AAX/juce_AAX_Wrapper.cpp" diff --git a/modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.mm b/modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.mm new file mode 100644 index 0000000000..617f31e291 --- /dev/null +++ b/modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.mm @@ -0,0 +1,25 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +#include "AAX/juce_AAX_Wrapper.cpp" diff --git a/modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_1.mm b/modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_1.mm new file mode 100644 index 0000000000..dcb8c58b11 --- /dev/null +++ b/modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_1.mm @@ -0,0 +1,25 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +#include "AU/juce_AU_Wrapper.mm" diff --git a/modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_2.mm b/modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_2.mm new file mode 100644 index 0000000000..b5af063feb --- /dev/null +++ b/modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_2.mm @@ -0,0 +1,66 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +#ifdef __clang__ + #pragma clang diagnostic push + #pragma clang diagnostic ignored "-Wparentheses" + #pragma clang diagnostic ignored "-Wextra-tokens" + #pragma clang diagnostic ignored "-Wcomment" + #pragma clang diagnostic ignored "-Wconversion" + #pragma clang diagnostic ignored "-Wunused-parameter" + #pragma clang diagnostic ignored "-Wunused" +#endif + +#ifdef _MSC_VER + #pragma warning (push) +// #pragma warning (disable : 4127) +#endif + +#include "AU/CoreAudioUtilityClasses/AUBase.cpp" +#include "AU/CoreAudioUtilityClasses/AUBuffer.cpp" +#include "AU/CoreAudioUtilityClasses/AUCarbonViewBase.cpp" +#include "AU/CoreAudioUtilityClasses/AUCarbonViewControl.cpp" +#include "AU/CoreAudioUtilityClasses/AUCarbonViewDispatch.cpp" +#include "AU/CoreAudioUtilityClasses/AUDispatch.cpp" +#include "AU/CoreAudioUtilityClasses/AUInputElement.cpp" +#include "AU/CoreAudioUtilityClasses/AUMIDIBase.cpp" +#include "AU/CoreAudioUtilityClasses/AUOutputBase.cpp" +#include "AU/CoreAudioUtilityClasses/AUOutputElement.cpp" +#include "AU/CoreAudioUtilityClasses/AUScopeElement.cpp" +#include "AU/CoreAudioUtilityClasses/CAAUParameter.cpp" +#include "AU/CoreAudioUtilityClasses/CAAudioChannelLayout.cpp" +#include "AU/CoreAudioUtilityClasses/CAMutex.cpp" +#include "AU/CoreAudioUtilityClasses/CAStreamBasicDescription.cpp" +#include "AU/CoreAudioUtilityClasses/CAVectorUnit.cpp" +#include "AU/CoreAudioUtilityClasses/CarbonEventHandler.cpp" +#include "AU/CoreAudioUtilityClasses/ComponentBase.cpp" +#include "AU/CoreAudioUtilityClasses/MusicDeviceBase.cpp" + +#ifdef __clang__ + #pragma clang diagnostic pop +#endif + +#ifdef _MSC_VER + #pragma warning (pop) +#endif diff --git a/modules/juce_audio_plugin_client/juce_audio_plugin_client_AUv3.mm b/modules/juce_audio_plugin_client/juce_audio_plugin_client_AUv3.mm new file mode 100644 index 0000000000..c9f3936fb4 --- /dev/null +++ b/modules/juce_audio_plugin_client/juce_audio_plugin_client_AUv3.mm @@ -0,0 +1,25 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +#include "AU/juce_AUv3_Wrapper.mm" diff --git a/modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_1.cpp b/modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_1.cpp new file mode 100644 index 0000000000..159bcdf7a9 --- /dev/null +++ b/modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_1.cpp @@ -0,0 +1,25 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +#include "RTAS/juce_RTAS_Wrapper.cpp" diff --git a/modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_2.cpp b/modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_2.cpp new file mode 100644 index 0000000000..cac48413ea --- /dev/null +++ b/modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_2.cpp @@ -0,0 +1,25 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +#include "RTAS/juce_RTAS_DigiCode1.cpp" diff --git a/modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_3.cpp b/modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_3.cpp new file mode 100644 index 0000000000..89e5234fb3 --- /dev/null +++ b/modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_3.cpp @@ -0,0 +1,25 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +#include "RTAS/juce_RTAS_DigiCode2.cpp" diff --git a/modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_4.cpp b/modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_4.cpp new file mode 100644 index 0000000000..0258dde127 --- /dev/null +++ b/modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_4.cpp @@ -0,0 +1,25 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +#include "RTAS/juce_RTAS_DigiCode3.cpp" diff --git a/modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_utils.cpp b/modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_utils.cpp new file mode 100644 index 0000000000..cabebd7eb6 --- /dev/null +++ b/modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_utils.cpp @@ -0,0 +1,25 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +#include "RTAS/juce_RTAS_WinUtilities.cpp" diff --git a/modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_utils.mm b/modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_utils.mm new file mode 100644 index 0000000000..c28a927e74 --- /dev/null +++ b/modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_utils.mm @@ -0,0 +1,25 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +#include "RTAS/juce_RTAS_MacUtilities.mm" diff --git a/modules/juce_audio_plugin_client/juce_audio_plugin_client_Standalone.cpp b/modules/juce_audio_plugin_client/juce_audio_plugin_client_Standalone.cpp new file mode 100644 index 0000000000..530924492e --- /dev/null +++ b/modules/juce_audio_plugin_client/juce_audio_plugin_client_Standalone.cpp @@ -0,0 +1,29 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +#if ! JUCE_MODULE_AVAILABLE_juce_audio_utils + #error To compile AudioUnitv3 and/or Standalone plug-ins, you need to add the juce_audio_utils module! +#endif + +#include "Standalone/juce_StandaloneFilterApp.cpp" diff --git a/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST2.cpp b/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST2.cpp new file mode 100644 index 0000000000..4029e89bcf --- /dev/null +++ b/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST2.cpp @@ -0,0 +1,25 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +#include "VST/juce_VST_Wrapper.cpp" diff --git a/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.cpp b/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.cpp new file mode 100644 index 0000000000..16ac57f75f --- /dev/null +++ b/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.cpp @@ -0,0 +1,25 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +#include "VST3/juce_VST3_Wrapper.cpp" diff --git a/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST_utils.mm b/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST_utils.mm new file mode 100644 index 0000000000..215b6b9abb --- /dev/null +++ b/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST_utils.mm @@ -0,0 +1,25 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +#include "VST/juce_VST_Wrapper.mm" diff --git a/modules/juce_audio_plugin_client/juce_audio_plugin_client_utils.cpp b/modules/juce_audio_plugin_client/juce_audio_plugin_client_utils.cpp new file mode 100644 index 0000000000..86d6c01e10 --- /dev/null +++ b/modules/juce_audio_plugin_client/juce_audio_plugin_client_utils.cpp @@ -0,0 +1,25 @@ +/* + ============================================================================== + + 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. + + ============================================================================== +*/ + +#include "utility/juce_PluginUtilities.cpp" diff --git a/modules/juce_audio_plugin_client/juce_module_info b/modules/juce_audio_plugin_client/juce_module_info deleted file mode 100644 index 0d8cd310bf..0000000000 --- a/modules/juce_audio_plugin_client/juce_module_info +++ /dev/null @@ -1,63 +0,0 @@ -{ - "id": "juce_audio_plugin_client", - "name": "JUCE audio plugin wrapper classes", - "version": "4.1.0", - "description": "Classes for building VST, VST3, RTAS, AAX and AU plugins.", - "website": "http://www.juce.com/juce", - "license": "GPL/Commercial", - - "dependencies": [ { "id": "juce_gui_basics", "version": "matching" }, - { "id": "juce_audio_basics", "version": "matching" }, - { "id": "juce_audio_processors", "version": "matching" } ], - - "include": "juce_audio_plugin_client.h", - - "compile": [ { "file": "VST/juce_VST_Wrapper.cpp" }, - { "file": "VST/juce_VST_Wrapper.mm", "target": "xcode" }, - { "file": "VST3/juce_VST3_Wrapper.cpp" }, - { "file": "RTAS/juce_RTAS_DigiCode1.cpp", "warnings": "disabled", "stdcall": "1", "target": "xcode, msvc" }, - { "file": "RTAS/juce_RTAS_DigiCode2.cpp", "warnings": "disabled", "stdcall": "1", "target": "xcode, msvc" }, - { "file": "RTAS/juce_RTAS_DigiCode3.cpp", "warnings": "disabled", "stdcall": "1", "target": "xcode, msvc" }, - { "file": "RTAS/juce_RTAS_MacResources.r", "target": "xcode", "RTASOnly": "1" }, - { "file": "RTAS/juce_RTAS_MacUtilities.mm", "target": "xcode" }, - { "file": "RTAS/juce_RTAS_WinResources.rsr", "target": "msvc" }, - { "file": "RTAS/juce_RTAS_WinUtilities.cpp", "target": "msvc", "warnings": "disabled", "stdcall": "1" }, - { "file": "RTAS/juce_RTAS_Wrapper.cpp", "warnings": "disabled", "stdcall": "1", "target": "xcode, msvc" }, - { "file": "AU/juce_AU_Resources.r", "target": "xcode", "AudioUnitOnly": "1" }, - { "file": "AU/juce_AU_Wrapper.mm", "target": "xcode" }, - { "file": "AU/CoreAudioUtilityClasses/AUBase.cpp", "warnings": "disabled", "target": "xcode", "AudioUnitOnly": "1" }, - { "file": "AU/CoreAudioUtilityClasses/AUBuffer.cpp", "warnings": "disabled", "target": "xcode", "AudioUnitOnly": "1" }, - { "file": "AU/CoreAudioUtilityClasses/AUCarbonViewBase.cpp", "warnings": "disabled", "target": "xcode", "AudioUnitOnly": "1" }, - { "file": "AU/CoreAudioUtilityClasses/AUCarbonViewControl.cpp", "warnings": "disabled", "target": "xcode", "AudioUnitOnly": "1" }, - { "file": "AU/CoreAudioUtilityClasses/AUCarbonViewDispatch.cpp", "warnings": "disabled", "target": "xcode", "AudioUnitOnly": "1" }, - { "file": "AU/CoreAudioUtilityClasses/AUDispatch.cpp", "warnings": "disabled", "target": "xcode", "AudioUnitOnly": "1" }, - { "file": "AU/CoreAudioUtilityClasses/AUInputElement.cpp", "warnings": "disabled", "target": "xcode", "AudioUnitOnly": "1" }, - { "file": "AU/CoreAudioUtilityClasses/AUMIDIBase.cpp", "warnings": "disabled", "target": "xcode", "AudioUnitOnly": "1" }, - { "file": "AU/CoreAudioUtilityClasses/AUOutputBase.cpp", "warnings": "disabled", "target": "xcode", "AudioUnitOnly": "1" }, - { "file": "AU/CoreAudioUtilityClasses/AUOutputElement.cpp", "warnings": "disabled", "target": "xcode", "AudioUnitOnly": "1" }, - { "file": "AU/CoreAudioUtilityClasses/AUScopeElement.cpp", "warnings": "disabled", "target": "xcode", "AudioUnitOnly": "1" }, - { "file": "AU/CoreAudioUtilityClasses/CAAUParameter.cpp", "warnings": "disabled", "target": "xcode", "AudioUnitOnly": "1" }, - { "file": "AU/CoreAudioUtilityClasses/CAAudioChannelLayout.cpp", "warnings": "disabled", "target": "xcode", "AudioUnitOnly": "1" }, - { "file": "AU/CoreAudioUtilityClasses/CAMutex.cpp", "warnings": "disabled", "target": "xcode", "AudioUnitOnly": "1" }, - { "file": "AU/CoreAudioUtilityClasses/CAStreamBasicDescription.cpp", "warnings": "disabled", "target": "xcode", "AudioUnitOnly": "1" }, - { "file": "AU/CoreAudioUtilityClasses/CAVectorUnit.cpp", "warnings": "disabled", "target": "xcode", "AudioUnitOnly": "1" }, - { "file": "AU/CoreAudioUtilityClasses/CarbonEventHandler.cpp", "warnings": "disabled", "target": "xcode", "AudioUnitOnly": "1" }, - { "file": "AU/CoreAudioUtilityClasses/ComponentBase.cpp", "warnings": "disabled", "target": "xcode", "AudioUnitOnly": "1" }, - { "file": "AU/CoreAudioUtilityClasses/MusicDeviceBase.cpp", "warnings": "disabled", "target": "xcode", "AudioUnitOnly": "1" }, - { "file": "AAX/juce_AAX_Wrapper.cpp", "target": "xcode, msvc" }, - { "file": "AAX/juce_AAX_Wrapper.mm", "target": "xcode" }, - { "file": "utility/juce_PluginUtilities.cpp" } - ], - - "browse": [ "AU/*.cpp", - "AU/*.mm", - "AU/*.h", - "RTAS/*.cpp", - "RTAS/*.mm", - "RTAS/*.h", - "VST/*", - "VST3/*", - "AAX/*", - "utility/*" - ] -} diff --git a/modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h b/modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h index 189f84f36f..42ff6bda5e 100644 --- a/modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h +++ b/modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h @@ -26,7 +26,8 @@ // define all your plugin settings properly.. #if ! (JucePlugin_Build_VST || JucePlugin_Build_VST3 \ - || JucePlugin_Build_AU || JucePlugin_Build_RTAS || JucePlugin_Build_AAX \ + || JucePlugin_Build_AU || JucePlugin_Build_AUv3 \ + ||JucePlugin_Build_RTAS || JucePlugin_Build_AAX \ || JucePlugin_Build_Standalone || JucePlugin_Build_LV2) #error "You need to enable at least one plugin format!" #endif diff --git a/modules/juce_audio_plugin_client/utility/juce_IncludeModuleHeaders.h b/modules/juce_audio_plugin_client/utility/juce_IncludeModuleHeaders.h index 3937ffb739..7f1d24de7a 100644 --- a/modules/juce_audio_plugin_client/utility/juce_IncludeModuleHeaders.h +++ b/modules/juce_audio_plugin_client/utility/juce_IncludeModuleHeaders.h @@ -46,6 +46,6 @@ namespace juce } } -extern AudioProcessor* JUCE_CALLTYPE createPluginFilterOfType (AudioProcessor::WrapperType); +extern AudioProcessor* JUCE_API JUCE_CALLTYPE createPluginFilterOfType (AudioProcessor::WrapperType); #endif // JUCE_INCLUDEMODULEHEADERS_H_INCLUDED diff --git a/modules/juce_audio_plugin_client/utility/juce_IncludeSystemHeaders.h b/modules/juce_audio_plugin_client/utility/juce_IncludeSystemHeaders.h index 0d8ae74ca5..f59b90eccb 100644 --- a/modules/juce_audio_plugin_client/utility/juce_IncludeSystemHeaders.h +++ b/modules/juce_audio_plugin_client/utility/juce_IncludeSystemHeaders.h @@ -51,10 +51,16 @@ #endif #ifdef __OBJC__ - #include + #if JUCE_MAC + #include + #elif JUCE_IOS + #include + #else + #error + #endif #endif - #if JUCE_SUPPORT_CARBON + #if JUCE_SUPPORT_CARBON && (! JUCE_IOS) #include #endif diff --git a/modules/juce_audio_plugin_client/utility/juce_PluginBusUtilities.h b/modules/juce_audio_plugin_client/utility/juce_PluginBusUtilities.h index e925e17ea4..1603529b7f 100644 --- a/modules/juce_audio_plugin_client/utility/juce_PluginBusUtilities.h +++ b/modules/juce_audio_plugin_client/utility/juce_PluginBusUtilities.h @@ -22,71 +22,26 @@ ============================================================================== */ - struct PluginBusUtilities { //============================================================================== typedef Array AudioBusArray; //============================================================================== - PluginBusUtilities (AudioProcessor& plugin, bool markDiscreteLayoutsAsSupported) + PluginBusUtilities (AudioProcessor& plugin, bool markDiscreteLayoutsAsSupported, int maxProbeChannels = kDefaultMaxChannels) : processor (plugin), dynamicInBuses (false), dynamicOutBuses (false), - addDiscreteLayouts (markDiscreteLayoutsAsSupported) + plugInFormatSupportsDiscreteLayouts (markDiscreteLayoutsAsSupported), + maxChannelsToProbe (maxProbeChannels) { } - //============================================================================== - // the first layout is the default layout - struct SupportedBusLayouts - { - enum - { - pseudoChannelBitNum = 90 // use this bit index to check if plug-in really doesn't care about layouts - }; - - //============================================================================== - SupportedBusLayouts() : defaultLayoutIndex (0), busIgnoresLayout (true), canBeDisabled (false) {} - AudioChannelSet& getDefault() noexcept { return supportedLayouts.getReference (defaultLayoutIndex); } - const AudioChannelSet& getDefault() const noexcept { return supportedLayouts.getReference (defaultLayoutIndex); } - void updateDefaultLayout (const AudioChannelSet& defaultLayout) noexcept { defaultLayoutIndex = jmax (supportedLayouts.indexOf (defaultLayout), 0); } - bool busSupportsNumChannels (int numChannels) const noexcept { return getDefaultLayoutForChannelNum (numChannels) != nullptr; } - - //============================================================================== - const AudioChannelSet* getDefaultLayoutForChannelNum (int channelNum) const noexcept - { - const AudioChannelSet& dflt = getDefault(); - - if (dflt.size() == channelNum) - return &dflt; - - for (int i = 0; i < supportedLayouts.size(); ++i) - { - const AudioChannelSet& layout = supportedLayouts.getReference (i); - - if (layout.size() == channelNum) - return &layout; - } - - return nullptr; - } - - int maxNumberOfChannels() const noexcept - { - int maxChannels = 0; - for (int i = 0; i < supportedLayouts.size(); ++i) - maxChannels = jmax (maxChannels, supportedLayouts.getReference (i).size()); - - return maxChannels; - } - - int defaultLayoutIndex; - bool busIgnoresLayout, canBeDisabled, isEnabledByDefault; - SortedSet supportedLayouts; - }; + // this will invoke setPreferredLayout many times + void init() { populateLayoutDetails(); } //============================================================================== + // Useful short-cuts AudioBusArray& getFilterBus (bool inputBus) noexcept { return inputBus ? processor.busArrangement.inputBuses : processor.busArrangement.outputBuses; } const AudioBusArray& getFilterBus (bool inputBus) const noexcept { return inputBus ? processor.busArrangement.inputBuses : processor.busArrangement.outputBuses; } int getBusCount (bool inputBus) const noexcept { return getFilterBus (inputBus).size(); } @@ -95,6 +50,11 @@ struct PluginBusUtilities bool isBusEnabled (bool inputBus, int bus) const noexcept { return (getNumChannels (inputBus, bus) > 0); } bool hasInputs (int bus) const noexcept { return isBusEnabled (true, bus); } bool hasOutputs (int bus) const noexcept { return isBusEnabled (false, bus); } + bool hasDynamicInBuses() const noexcept { return dynamicInBuses; } + bool hasDynamicOutBuses() const noexcept { return dynamicOutBuses; } + + //============================================================================== + // Channel Counters int getNumEnabledBuses (bool inputBus) const noexcept { int i; for (i = 0; i < getBusCount (inputBus); ++i) if (! isBusEnabled (inputBus, i)) break; return i; } int findTotalNumChannels (bool isInput, int busOffset = 0) const noexcept @@ -108,6 +68,149 @@ struct PluginBusUtilities return total; } + int getBusIdxForChannelIdx (bool isInput, int channelIdx, int& totalChannels, int startBusIdx) + { + const int numBuses = getBusCount (isInput); + + for (int busIdx = startBusIdx; busIdx < numBuses; ++busIdx) + { + const int numChannels = getNumChannels (isInput, busIdx); + if ((totalChannels + numChannels) > channelIdx) + return busIdx; + + totalChannels += numChannels; + } + + return -1; + } + + int getBusIdxForChannelIdx (bool isInput, int channelIdx) + { + int totalChannels = 0; + return getBusIdxForChannelIdx (isInput, channelIdx, totalChannels, 0); + } + + //============================================================================== + // Bus properties & defaults + bool busIgnoresLayout (bool inp, int bus) const noexcept + { + return isPositiveAndBelow (bus, getLayoutDetails (inp).size()) ? getBusLayoutDetails (inp, bus).busIgnoresLayout : true; + } + + bool busCanBeDisabled (bool inp, int bus) const noexcept + { + return isPositiveAndBelow (bus, getLayoutDetails (inp).size()) ? getBusLayoutDetails (inp, bus).canBeDisabled : false; + } + + bool isBusEnabledByDefault (bool inp, int bus) const noexcept + { + return isPositiveAndBelow (bus, getLayoutDetails (inp).size()) ? getBusLayoutDetails (inp, bus).isEnabledByDefault : true; + } + + bool checkBusFormatsAreNotDiscrete() const { return (checkBusFormatsAreNotDiscrete (true) && checkBusFormatsAreNotDiscrete (false)); } + + const AudioChannelSet& getDefaultLayoutForBus (bool isInput, int busIdx) const noexcept { return getBusLayoutDetails (isInput, busIdx).defaultLayout; } + + AudioChannelSet getDefaultLayoutForChannelNumAndBus (bool isInput, int busIdx, int channelNum) const noexcept + { + if (busIdx < 0 || busIdx >= getBusCount (isInput) || channelNum == 0) + return AudioChannelSet::disabled(); + + const BusLayoutDetails& layouts = getBusLayoutDetails (isInput, busIdx); + + const AudioChannelSet& dflt = layouts.defaultLayout; + const AudioChannelSet discreteChannels = AudioChannelSet::discreteChannels (channelNum); + + if (dflt.size() == channelNum && (plugInFormatSupportsDiscreteLayouts || (! dflt.isDiscreteLayout()))) + return dflt; + + Array potentialLayouts = layoutListCompatibleWithChannelCount (channelNum); + + ScopedBusRestorer busRestorer (*this); + + // prefer non-discrete layouts if no explicit default layout is given + const int n = potentialLayouts.size(); + for (int i = 0; i < n; ++i) + { + const AudioChannelSet& layout = potentialLayouts.getReference (i); + if (processor.setPreferredBusArrangement (isInput, busIdx, layout)) + return layout; + } + + + if (plugInFormatSupportsDiscreteLayouts && processor.setPreferredBusArrangement (isInput, busIdx, discreteChannels)) + return discreteChannels; + + // we are out of options, bail out + return AudioChannelSet(); + } + + //============================================================================== + // This function is quite heavy so please cache the return value + int findMaxNumberOfChannelsForBus (bool isInput, int busNr, int upperlimit = std::numeric_limits::max()) + { + int maxChannelsPreprocessorDefs = -1; + #ifdef JucePlugin_MaxNumInputChannels + if (isInput) + maxChannelsPreprocessorDefs = jmin (upperlimit, JucePlugin_MaxNumInputChannels); + #endif + + #ifdef JucePlugin_MaxNumOutputChannels + if (! isInput) + maxChannelsPreprocessorDefs = jmin (upperlimit, JucePlugin_MaxNumOutputChannels); + #endif + + #ifdef JucePlugin_PreferredChannelConfigurations + if (busNr == 0) + { + int maxChannelCount = 0; + const short channelConfigs[][2] = { JucePlugin_PreferredChannelConfigurations }; + const int numChannelConfigs = sizeof (channelConfigs) / sizeof (*channelConfigs); + + for (int i = 0; i < numChannelConfigs; ++i) + { + const int numChannels = channelConfigs [i][isInput ? 0 : 1]; + if (numChannels < 0) + return -1; + + maxChannelCount = jmax (maxChannelCount, numChannels); + } + + return jmin (upperlimit, maxChannelCount); + } + #endif + + ScopedBusRestorer busRestorer (*this); + + if (plugInFormatSupportsDiscreteLayouts && + processor.setPreferredBusArrangement(isInput, busNr, AudioChannelSet::discreteChannels (insaneNumberOfChannels))) + return -1; // no limit in channels + + int n = maxChannelsPreprocessorDefs > 0 ? maxChannelsPreprocessorDefs + : (plugInFormatSupportsDiscreteLayouts ? maxChannelsToProbe + : maxNumChannelsOfNonDiscreteLayouts); + + n = jmin (upperlimit, n); + + for (int i = n; i > 0; --i) + { + if (plugInFormatSupportsDiscreteLayouts && processor.setPreferredBusArrangement (isInput, busNr, AudioChannelSet::discreteChannels (i))) + return i; + + Array sets = layoutListCompatibleWithChannelCount (i); + + for (int j = 0; j < sets.size(); ++j) + { + const AudioChannelSet& layout = sets.getReference (j); + + if (processor.setPreferredBusArrangement (isInput, busNr, layout)) + return i; + } + } + + return 0; + } + //============================================================================== void restoreBusArrangement (const AudioProcessor::AudioBusArrangement& original) const { @@ -124,61 +227,6 @@ struct PluginBusUtilities processor.setPreferredBusArrangement (false, busNr, original.outputBuses.getReference (busNr).channels); } - //============================================================================== - Array& getSupportedLayouts (bool isInput) noexcept { return isInput ? inputLayouts : outputLayouts; } - const Array& getSupportedLayouts (bool isInput) const noexcept { return isInput ? inputLayouts : outputLayouts; } - - SupportedBusLayouts& getSupportedBusLayouts (bool isInput, int busNr) noexcept { return getSupportedLayouts (isInput).getReference (busNr); } - const SupportedBusLayouts& getSupportedBusLayouts (bool isInput, int busNr) const noexcept { return getSupportedLayouts (isInput).getReference (busNr); } - bool busIgnoresLayout (bool inp, int bus) const noexcept - { - return isPositiveAndBelow (bus, getSupportedLayouts (inp).size()) ? getSupportedBusLayouts (inp, bus).busIgnoresLayout : true; - } - - const AudioChannelSet& getDefaultLayoutForBus (bool isInput, int busIdx) const noexcept { return getSupportedBusLayouts (isInput, busIdx).getDefault(); } - bool hasDynamicInBuses() const noexcept { return dynamicInBuses; } - bool hasDynamicOutBuses() const noexcept { return dynamicOutBuses; } - - void clear (int inputCount, int outputCount) - { - inputLayouts.clear(); - inputLayouts.resize (inputCount); - outputLayouts.clear(); - outputLayouts.resize (outputCount); - } - - //============================================================================== - AudioChannelSet getDefaultLayoutForChannelNumAndBus (bool isInput, int busIdx, int channelNum) const noexcept - { - if (const AudioChannelSet* set = getSupportedBusLayouts (isInput, busIdx).getDefaultLayoutForChannelNum (channelNum)) - return *set; - - return AudioChannelSet::canonicalChannelSet (channelNum); - } - - void findAllCompatibleLayouts() - { - { - ScopedBusRestorer restorer (*this); - clear (getBusCount (true), getBusCount (false)); - - for (int i = 0; i < getBusCount (true); ++i) findAllCompatibleLayoutsForBus (true, i); - for (int i = 0; i < getBusCount (false); ++i) findAllCompatibleLayoutsForBus (false, i); - } - - // find the defaults - for (int i = 0; i < getBusCount (true); ++i) - updateDefaultLayout (true, i); - - for (int i = 0; i < getBusCount (false); ++i) - updateDefaultLayout (false, i); - - // can any of the buses be disabled/enabled - dynamicInBuses = doesPlugInHaveDynamicBuses (true); - dynamicOutBuses = doesPlugInHaveDynamicBuses (false); - } - - //============================================================================== void enableAllBuses() { for (int busIdx = 1; busIdx < getBusCount (true); ++busIdx) @@ -195,7 +243,7 @@ struct PluginBusUtilities class ScopedBusRestorer { public: - ScopedBusRestorer (PluginBusUtilities& bUtils) + ScopedBusRestorer (const PluginBusUtilities& bUtils) : busUtils (bUtils), originalArr (bUtils.processor.busArrangement), shouldRestore (true) @@ -210,7 +258,7 @@ struct PluginBusUtilities void release() noexcept { shouldRestore = false; } private: - PluginBusUtilities& busUtils; + const PluginBusUtilities& busUtils; const AudioProcessor::AudioBusArrangement originalArr; bool shouldRestore; @@ -220,12 +268,72 @@ struct PluginBusUtilities //============================================================================== AudioProcessor& processor; + enum + { + kDefaultMaxChannels = 64 + }; + private: friend class ScopedBusRestorer; + enum + { + maxNumChannelsOfNonDiscreteLayouts = 8, // surround 7.1 has the maximum amount of channels + pseudoChannelBitNum = 90, // use this bit index to check if plug-in really doesn't care about layouts + insaneNumberOfChannels = 512 + }; + //============================================================================== - Array inputLayouts, outputLayouts; - bool dynamicInBuses, dynamicOutBuses, addDiscreteLayouts; + // the first layout is the default layout + struct BusLayoutDetails + { + BusLayoutDetails() : busIgnoresLayout (true), canBeDisabled (false), isEnabledByDefault (false) {} + + AudioChannelSet defaultLayout; + bool busIgnoresLayout, canBeDisabled, isEnabledByDefault; + }; + + Array& getLayoutDetails (bool isInput) noexcept { return isInput ? inputLayouts : outputLayouts; } + const Array& getLayoutDetails (bool isInput) const noexcept { return isInput ? inputLayouts : outputLayouts; } + BusLayoutDetails& getBusLayoutDetails (bool isInput, int busNr) noexcept { return getLayoutDetails (isInput).getReference (busNr); } + const BusLayoutDetails& getBusLayoutDetails (bool isInput, int busNr) const noexcept { return getLayoutDetails (isInput).getReference (busNr); } + + //============================================================================== + Array inputLayouts, outputLayouts; + bool dynamicInBuses, dynamicOutBuses, plugInFormatSupportsDiscreteLayouts; + int maxChannelsToProbe; + + //============================================================================== + void populateLayoutDetails() + { + clear (getBusCount (true), getBusCount (false)); + + // save the default layouts + for (int i = 0; i < getBusCount (true); ++i) + getBusLayoutDetails (true, i).defaultLayout = getChannelSet (true, i); + + for (int i = 0; i < getBusCount (false); ++i) + getBusLayoutDetails (false, i).defaultLayout = getChannelSet (false, i); + + { + ScopedBusRestorer restorer (*this); + + + for (int i = 0; i < getBusCount (true); ++i) addLayoutDetails (true, i); + for (int i = 0; i < getBusCount (false); ++i) addLayoutDetails (false, i); + + // find the defaults + for (int i = 0; i < getBusCount (true); ++i) + updateDefaultLayout (true, i); + + for (int i = 0; i < getBusCount (false); ++i) + updateDefaultLayout (false, i); + } + + // can any of the buses be disabled/enabled + dynamicInBuses = doesPlugInHaveDynamicBuses (true); + dynamicOutBuses = doesPlugInHaveDynamicBuses (false); + } //============================================================================== bool busIgnoresLayoutForChannelNum (bool isInput, int busNr, int channelNum) @@ -235,27 +343,24 @@ private: // If the plug-in does not complain about setting it's layout to an undefined layout // then we assume that the plug-in ignores the layout alltogether for (int i = 0; i < channelNum; ++i) - set.addChannel (static_cast (SupportedBusLayouts::pseudoChannelBitNum + i)); + set.addChannel (static_cast (pseudoChannelBitNum + i)); return processor.setPreferredBusArrangement (isInput, busNr, set); } - void findAllCompatibleLayoutsForBus (bool isInput, int busNr) + void addLayoutDetails (bool isInput, int busNr) { - const int maxNumChannels = 9; - - SupportedBusLayouts& layouts = getSupportedBusLayouts (isInput, busNr); - layouts.supportedLayouts.clear(); + BusLayoutDetails& layouts = getBusLayoutDetails (isInput, busNr); // check if the plug-in bus can be disabled layouts.canBeDisabled = processor.setPreferredBusArrangement (isInput, busNr, AudioChannelSet()); layouts.busIgnoresLayout = true; - for (int i = 1; i <= maxNumChannels; ++i) + for (int i = 1; i <= maxNumChannelsOfNonDiscreteLayouts; ++i) { const bool ignoresLayoutForChannel = busIgnoresLayoutForChannelNum (isInput, busNr, i); - Array sets = layoutListCompatibleWithChannelCount (addDiscreteLayouts, i); + Array sets = layoutListCompatibleWithChannelCount (i); for (int j = 0; j < sets.size(); ++j) { @@ -264,84 +369,127 @@ private: if (processor.setPreferredBusArrangement (isInput, busNr, layout)) { if (! ignoresLayoutForChannel) + { layouts.busIgnoresLayout = false; - - layouts.supportedLayouts.add (layout); + return; + } } } } - - // You cannot add a bus in your processor wich does not support any layouts! It must at least support one. - jassert (layouts.supportedLayouts.size() > 0); } bool doesPlugInHaveDynamicBuses (bool isInput) const { for (int i = 0; i < getBusCount (isInput); ++i) - if (getSupportedBusLayouts (isInput, i).canBeDisabled) + if (getBusLayoutDetails (isInput, i).canBeDisabled) return true; return false; } + bool checkBusFormatsAreNotDiscrete (bool isInput) const + { + const int n = getBusCount (isInput); + const Array& bus = isInput ? processor.busArrangement.inputBuses + : processor.busArrangement.outputBuses; + + for (int busIdx = 0; busIdx < n; ++busIdx) + if (bus.getReference (busIdx).channels.isDiscreteLayout()) + return false; + + return true; + } + void updateDefaultLayout (bool isInput, int busIdx) { - SupportedBusLayouts& layouts = getSupportedBusLayouts (isInput, busIdx); - AudioChannelSet set = getChannelSet (isInput, busIdx); + BusLayoutDetails& layouts = getBusLayoutDetails (isInput, busIdx); + AudioChannelSet& dfltLayout = layouts.defaultLayout; - layouts.isEnabledByDefault = (set.size() > 0); - if (layouts.isEnabledByDefault) - layouts.supportedLayouts.add (set); + layouts.isEnabledByDefault = (dfltLayout.size() > 0); // If you hit this assertion then you are disabling the main bus by default // which is unsupported jassert (layouts.isEnabledByDefault || busIdx >= 0); - if (set == AudioChannelSet()) + if ((! plugInFormatSupportsDiscreteLayouts) && dfltLayout.isDiscreteLayout()) { - const bool mainBusHasInputs = hasInputs (0); - const bool mainBusHasOutputs = hasOutputs (0); + // The default layout is a discrete channel layout, yet some plug-in formats (VST-3) + // do not support this format. We need to find a different default with the same + // number of channels - if (busIdx != 0 && (mainBusHasInputs || mainBusHasOutputs)) - { - // the AudioProcessor does not give us any default layout - // for an aux bus. Use the same number of channels as the - // default layout on the main bus as a sensible default for - // the aux bus - - const bool useInput = mainBusHasInputs && mainBusHasOutputs ? isInput : mainBusHasInputs; - const AudioChannelSet& dfltLayout = getSupportedBusLayouts (useInput, 0).getDefault(); - - if ((layouts.defaultLayoutIndex = layouts.supportedLayouts.indexOf (dfltLayout)) >= 0) - return; - - // no exact match: try at least to match the number of channels - for (int i = 0; i < layouts.supportedLayouts.size(); ++i) - { - if (layouts.supportedLayouts.getReference (i).size() == dfltLayout.size()) - { - layouts.defaultLayoutIndex = i; - return; - } - } - } - - if (layouts.busIgnoresLayout) - set = AudioChannelSet::discreteChannels (set.size()); + dfltLayout = getDefaultLayoutForChannelNumAndBus (isInput, busIdx, dfltLayout.size()); } - layouts.updateDefaultLayout (set); + // are we done? + if (dfltLayout != AudioChannelSet()) + return; + + const bool mainBusHasInputs = hasInputs (0); + const bool mainBusHasOutputs = hasOutputs (0); + + if (busIdx != 0 && (mainBusHasInputs || mainBusHasOutputs)) + { + // the AudioProcessor does not give us any default layout + // for an aux bus. Use the same number of channels as the + // default layout on the main bus as a sensible default for + // the aux bus + + const bool useInput = mainBusHasInputs && mainBusHasOutputs ? isInput : mainBusHasInputs; + dfltLayout = getBusLayoutDetails (useInput, 0).defaultLayout; + + const int numChannels = dfltLayout.size(); + const AudioChannelSet discreteChannelLayout = AudioChannelSet::discreteChannels (numChannels); + + if ((plugInFormatSupportsDiscreteLayouts || dfltLayout != discreteChannelLayout) && + processor.setPreferredBusArrangement (isInput, busIdx, dfltLayout)) + return; + + // no exact match: try at least to match the number of channels + dfltLayout = getDefaultLayoutForChannelNumAndBus (isInput, busIdx, dfltLayout.size()); + if (dfltLayout != AudioChannelSet()) + return; + } + + // check stereo first as this is often the more sensible default than mono + if (processor.setPreferredBusArrangement (isInput, busIdx, (dfltLayout = AudioChannelSet::stereo()))) + return; + + if (plugInFormatSupportsDiscreteLayouts && + processor.setPreferredBusArrangement (isInput, busIdx, (dfltLayout = AudioChannelSet::discreteChannels (2)))) + return; + + // let's guess + for (int numChans = 1; numChans < findMaxNumberOfChannelsForBus (isInput, busIdx); ++numChans) + { + Array sets = layoutListCompatibleWithChannelCount (numChans); + for (int j = 0; j < sets.size(); ++j) + if (processor.setPreferredBusArrangement (isInput, busIdx, (dfltLayout = sets.getReference (j)))) + return; + + if (plugInFormatSupportsDiscreteLayouts && + processor.setPreferredBusArrangement (isInput, busIdx, (dfltLayout = AudioChannelSet::discreteChannels (numChans)))) + return; + } + + // Your bus must support at least a single possible layout + jassertfalse; } - static Array layoutListCompatibleWithChannelCount (bool addDiscrete, const int channelCount) noexcept + void clear (int inputCount, int outputCount) + { + inputLayouts.clear(); + inputLayouts.resize (inputCount); + outputLayouts.clear(); + outputLayouts.resize (outputCount); + } + + //============================================================================== + static Array layoutListCompatibleWithChannelCount (const int channelCount) noexcept { jassert (channelCount > 0); Array sets; - if (addDiscrete) - sets.add (AudioChannelSet::discreteChannels (channelCount)); - switch (channelCount) { case 1: @@ -352,6 +500,7 @@ private: break; case 3: sets.add (AudioChannelSet::createLCR()); + sets.add (AudioChannelSet::createLRS()); break; case 4: sets.add (AudioChannelSet::createLCRS()); @@ -366,15 +515,16 @@ private: sets.add (AudioChannelSet::hexagonal()); sets.add (AudioChannelSet::create5point1()); sets.add (AudioChannelSet::create6point0()); + sets.add (AudioChannelSet::create6point0Music()); break; case 7: sets.add (AudioChannelSet::create6point1()); sets.add (AudioChannelSet::create7point0()); - sets.add (AudioChannelSet::createFront7point0()); break; case 8: sets.add (AudioChannelSet::octagonal()); sets.add (AudioChannelSet::create7point1()); + sets.add (AudioChannelSet::create7point1AC3()); sets.add (AudioChannelSet::createFront7point1()); break; } diff --git a/modules/juce_audio_plugin_client/utility/juce_PluginHostType.h b/modules/juce_audio_plugin_client/utility/juce_PluginHostType.h index 4fab5c98c3..eb9d0628d7 100644 --- a/modules/juce_audio_plugin_client/utility/juce_PluginHostType.h +++ b/modules/juce_audio_plugin_client/utility/juce_PluginHostType.h @@ -22,6 +22,18 @@ ============================================================================== */ +#ifndef DOXYGEN + // @internal + extern JUCE_API int* jucePlugInClientCurrentWrapperType; + + // this is ugly hack is needed by juce_getExecutableFile to have a wrapper + // dependent symbol + #define JUCE_DEFINE_WRAPPER_TYPE(x) JUCE_API int jucePlugInClientCurrentWrapperType_ ## x = static_cast (AudioProcessor::x); + #define JUCE_DECLARE_WRAPPER_TYPE(x) jucePlugInClientCurrentWrapperType = &jucePlugInClientCurrentWrapperType_ ## x; + +#endif + + //============================================================================== class PluginHostType { @@ -169,6 +181,23 @@ public: return File::getSpecialLocation (File::hostApplicationPath).getFullPathName(); } + //============================================================================== + /** + Returns the plug-in format via which the plug-in file was loaded. This value is + identical to AudioProcessor::wrapperType of the main audio processor of this + plug-in. This function is useful for code that does not have access to the + plug-in's main audio processor. + + @see AudioProcessor::wrapperType + */ + static AudioProcessor::WrapperType getPluginLoadedAs() noexcept + { + if (jucePlugInClientCurrentWrapperType != nullptr) + return static_cast (*jucePlugInClientCurrentWrapperType); + + return AudioProcessor::wrapperType_Undefined; + } + //============================================================================== private: static HostType getHostType() @@ -249,7 +278,7 @@ private: #elif JUCE_LINUX if (hostFilename.containsIgnoreCase ("Ardour")) return Ardour; - + #elif JUCE_IOS #else #error #endif diff --git a/modules/juce_audio_plugin_client/utility/juce_PluginUtilities.cpp b/modules/juce_audio_plugin_client/utility/juce_PluginUtilities.cpp index 590e6c307e..d95c931191 100644 --- a/modules/juce_audio_plugin_client/utility/juce_PluginUtilities.cpp +++ b/modules/juce_audio_plugin_client/utility/juce_PluginUtilities.cpp @@ -30,6 +30,11 @@ #include "../utility/juce_CheckSettingMacros.h" #include "juce_IncludeModuleHeaders.h" +namespace juce +{ + int* jucePlugInClientCurrentWrapperType = nullptr; +} + #if _MSC_VER || JUCE_MINGW #if JucePlugin_Build_RTAS @@ -63,7 +68,7 @@ extern "C" BOOL WINAPI DllMain (HINSTANCE instance, DWORD reason, LPVOID reserve */ extern AudioProcessor* JUCE_CALLTYPE createPluginFilter(); -AudioProcessor* JUCE_CALLTYPE createPluginFilterOfType (AudioProcessor::WrapperType type) +AudioProcessor* JUCE_API JUCE_CALLTYPE createPluginFilterOfType (AudioProcessor::WrapperType type) { AudioProcessor::setTypeOfNextNewPlugin (type); AudioProcessor* const pluginInstance = createPluginFilter(); diff --git a/modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp b/modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp index 9b534a8b7b..903a6365cd 100644 --- a/modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp +++ b/modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp @@ -24,3 +24,181 @@ AudioPluginFormat::AudioPluginFormat() noexcept {} AudioPluginFormat::~AudioPluginFormat() {} + +AudioPluginInstance* AudioPluginFormat::createInstanceFromDescription (const PluginDescription& desc, + double initialSampleRate, + int initialBufferSize) +{ + String errorMessage; + return createInstanceFromDescription (desc, initialSampleRate, initialBufferSize, errorMessage); +} + +//============================================================================== +struct EventSignaler : public AudioPluginFormat::InstantiationCompletionCallback +{ + EventSignaler (WaitableEvent& inEvent, AudioPluginInstance*& inInstance, String& inErrorMessage) + : event (inEvent), outInstance (inInstance), outErrorMessage (inErrorMessage) + {} + + void completionCallback (AudioPluginInstance* newInstance, const String& result) override + { + outInstance = newInstance; + outErrorMessage = result; + event.signal(); + } + + static void staticCompletionCallback (void* userData, AudioPluginInstance* pluginInstance, const String& error) + { + reinterpret_cast (userData)->completionCallback (pluginInstance, error); + } + + WaitableEvent& event; + AudioPluginInstance*& outInstance; + String& outErrorMessage; + + JUCE_DECLARE_NON_COPYABLE (EventSignaler) +}; + +AudioPluginInstance* AudioPluginFormat::createInstanceFromDescription (const PluginDescription& desc, + double initialSampleRate, + int initialBufferSize, + String& errorMessage) +{ + if (MessageManager::getInstance()->isThisTheMessageThread() + && requiresUnblockedMessageThreadDuringCreation(desc)) + { + errorMessage = NEEDS_TRANS ("This plug-in cannot be instantiated synchronously"); + return nullptr; + } + + WaitableEvent waitForCreation; + AudioPluginInstance* instance = nullptr; + + ScopedPointer eventSignaler = new EventSignaler (waitForCreation, instance, errorMessage); + + if (requiresUnblockedMessageThreadDuringCreation (desc)) + createPluginInstanceAsync (desc, initialSampleRate, initialBufferSize, eventSignaler.release()); + else + createPluginInstance (desc, initialSampleRate, initialBufferSize, + eventSignaler, EventSignaler::staticCompletionCallback); + + + waitForCreation.wait(); + + return instance; +} + +void AudioPluginFormat::createPluginInstanceAsync (const PluginDescription& description, + double initialSampleRate, + int initialBufferSize, + AudioPluginFormat::InstantiationCompletionCallback* callback) +{ + if (MessageManager::getInstance()->isThisTheMessageThread()) + { + createPluginInstanceOnMessageThread (description, initialSampleRate, initialBufferSize, callback); + return; + } + + //============================================================================== + struct InvokeOnMessageThread : public CallbackMessage + { + InvokeOnMessageThread (AudioPluginFormat* myself, + const PluginDescription& descriptionParam, + double initialSampleRateParam, + int initialBufferSizeParam, + AudioPluginFormat::InstantiationCompletionCallback* callbackParam) + : owner (myself), descr (descriptionParam), sampleRate (initialSampleRateParam), + bufferSize (initialBufferSizeParam), call (callbackParam) + {} + + void messageCallback() override + { + owner->createPluginInstanceOnMessageThread (descr, sampleRate, bufferSize, call); + } + + AudioPluginFormat* owner; + PluginDescription descr; + double sampleRate; + int bufferSize; + AudioPluginFormat::InstantiationCompletionCallback* call; + }; + + (new InvokeOnMessageThread (this, description, initialSampleRate, initialBufferSize, callback))->post(); +} + +#if JUCE_COMPILER_SUPPORTS_LAMBDAS +void AudioPluginFormat::createPluginInstanceAsync (const PluginDescription& description, + double initialSampleRate, + int initialBufferSize, + std::function f) +{ + struct CallbackInvoker : public AudioPluginFormat::InstantiationCompletionCallback + { + CallbackInvoker (std::function inCompletion) + : completion (inCompletion) + {} + + void completionCallback (AudioPluginInstance* instance, const String& error) override + { + completion (instance, error); + } + + std::function completion; + }; + + createPluginInstanceAsync (description, initialSampleRate, initialBufferSize, new CallbackInvoker (f)); +} +#endif + +void AudioPluginFormat::createPluginInstanceOnMessageThread (const PluginDescription& description, + double initialSampleRate, + int initialBufferSize, + AudioPluginFormat::InstantiationCompletionCallback* callback) +{ + jassert (callback != nullptr); + jassert (MessageManager::getInstance()->isThisTheMessageThread()); + + //============================================================================== + struct CallbackInvoker + { + struct InvokeOnMessageThread : public CallbackMessage + { + InvokeOnMessageThread (AudioPluginInstance* inInstance, const String& inError, + AudioPluginFormat::InstantiationCompletionCallback* inCompletion, + CallbackInvoker* invoker = nullptr) + : instance (inInstance), error (inError), compCallback (inCompletion), owner (invoker) + {} + + void messageCallback() override { compCallback->completionCallback (instance, error); } + + //============================================================================== + AudioPluginInstance* instance; + String error; + ScopedPointer compCallback; + ScopedPointer owner; + }; + + //============================================================================== + CallbackInvoker (AudioPluginFormat::InstantiationCompletionCallback* cc) : completion (cc) + {} + + void completionCallback (AudioPluginInstance* instance, const String& error) + { + (new InvokeOnMessageThread (instance, error, completion, this))->post(); + } + + static void staticCompletionCallback (void* userData, AudioPluginInstance* instance, const String& error) + { + reinterpret_cast (userData)->completionCallback (instance, error); + } + + //============================================================================== + AudioPluginFormat::InstantiationCompletionCallback* completion; + }; + + //============================================================================== + CallbackInvoker* completion = new CallbackInvoker (callback); + + createPluginInstance (description, initialSampleRate, initialBufferSize, completion, + CallbackInvoker::staticCompletionCallback); +} diff --git a/modules/juce_audio_processors/format/juce_AudioPluginFormat.h b/modules/juce_audio_processors/format/juce_AudioPluginFormat.h index cf20f98640..e59b28c473 100644 --- a/modules/juce_audio_processors/format/juce_AudioPluginFormat.h +++ b/modules/juce_audio_processors/format/juce_AudioPluginFormat.h @@ -35,6 +35,15 @@ class JUCE_API AudioPluginFormat { public: + //============================================================================== + struct JUCE_API InstantiationCompletionCallback + { + virtual ~InstantiationCompletionCallback() {} + virtual void completionCallback (AudioPluginInstance* instance, const String& error) = 0; + + JUCE_LEAK_DETECTOR (InstantiationCompletionCallback) + }; + //============================================================================== /** Destructor. */ virtual ~AudioPluginFormat(); @@ -58,11 +67,36 @@ public: const String& fileOrIdentifier) = 0; /** Tries to recreate a type from a previously generated PluginDescription. - @see PluginDescription::createInstance + @see AudioPluginFormatManager::createInstance */ - virtual AudioPluginInstance* createInstanceFromDescription (const PluginDescription& desc, - double initialSampleRate, - int initialBufferSize) = 0; + AudioPluginInstance* createInstanceFromDescription (const PluginDescription&, + double initialSampleRate, + int initialBufferSize); + + /** Same as above but with the possibility of returning an error message. + + @see AudioPluginFormatManager::createInstance + */ + AudioPluginInstance* createInstanceFromDescription (const PluginDescription&, + double initialSampleRate, + int initialBufferSize, + String& errorMessage); + + /** Tries to recreate a type from a previously generated PluginDescription. + + @see AudioPluginFormatManager::createInstanceAsync + */ + void createPluginInstanceAsync (const PluginDescription& description, + double initialSampleRate, + int initialBufferSize, + InstantiationCompletionCallback* completionCallback); + + #if JUCE_COMPILER_SUPPORTS_LAMBDAS + void createPluginInstanceAsync (const PluginDescription& description, + double initialSampleRate, + int initialBufferSize, + std::function completionCallback); + #endif /** Should do a quick check to see if this file or directory might be a plugin of this format. @@ -82,7 +116,7 @@ public: It doesn't actually need to load it, just to check whether the file or component still exists. */ - virtual bool doesPluginStillExist (const PluginDescription& desc) = 0; + virtual bool doesPluginStillExist (const PluginDescription&) = 0; /** Returns true if this format needs to run a scan to find its list of plugins. */ virtual bool canScanForPlugins() const = 0; @@ -90,9 +124,17 @@ public: /** Searches a suggested set of directories for any plugins in this format. The path might be ignored, e.g. by AUs, which are found by the OS rather than manually. + + @param directoriesToSearch This specifies which directories shall be + searched for plug-ins. + @param recursive Should the search recursively traverse folders. + @param allowPluginsWhichRequireAsynchronousInstantiation + If this is false then plug-ins which require + asynchronous creation will be excluded. */ virtual StringArray searchPathsForPlugins (const FileSearchPath& directoriesToSearch, - bool recursive) = 0; + bool recursive, + bool allowPluginsWhichRequireAsynchronousInstantiation = false) = 0; /** Returns the typical places to look for this kind of plugin. @@ -103,8 +145,24 @@ public: protected: //============================================================================== + friend class AudioPluginFormatManager; + AudioPluginFormat() noexcept; + /** Implementors must override this function. This is guaranteed to be called on + the message thread. You may call the callback on any thread. + */ + virtual void createPluginInstance (const PluginDescription&, double initialSampleRate, + int initialBufferSize, void* userData, + void (*callback) (void*, AudioPluginInstance*, const String&)) = 0; + + virtual bool requiresUnblockedMessageThreadDuringCreation (const PluginDescription&) const noexcept = 0; + +private: + /** @internal */ + void createPluginInstanceOnMessageThread (const PluginDescription&, double rate, int size, + AudioPluginFormat::InstantiationCompletionCallback*); + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AudioPluginFormat) }; diff --git a/modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp b/modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp index f29e8adea8..36e75e9d59 100644 --- a/modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp +++ b/modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp @@ -22,6 +22,39 @@ ============================================================================== */ +namespace PluginFormatManagerHelpers +{ + struct ErrorCallbackOnMessageThread : public CallbackMessage + { + ErrorCallbackOnMessageThread (const String& inError, + AudioPluginFormat::InstantiationCompletionCallback* inCallback) + : error (inError), callback (inCallback) + { + } + + void messageCallback() override { callback->completionCallback (nullptr, error); } + + String error; + ScopedPointer callback; + }; + + #if JUCE_COMPILER_SUPPORTS_LAMBDAS + struct ErrorLambdaOnMessageThread : public CallbackMessage + { + ErrorLambdaOnMessageThread (const String& inError, + std::function f) + : error (inError), lambda (f) + { + } + + void messageCallback() override { lambda (nullptr, error); } + + String error; + std::function lambda; + }; + #endif +} + AudioPluginFormatManager::AudioPluginFormatManager() {} AudioPluginFormatManager::~AudioPluginFormatManager() {} @@ -40,7 +73,7 @@ void AudioPluginFormatManager::addDefaultFormats() jassert (dynamic_cast (formats[i]) == nullptr); #endif - #if JUCE_PLUGINHOST_AU && JUCE_MAC + #if JUCE_PLUGINHOST_AU && (JUCE_MAC || JUCE_IOS) jassert (dynamic_cast (formats[i]) == nullptr); #endif @@ -50,7 +83,7 @@ void AudioPluginFormatManager::addDefaultFormats() } #endif - #if JUCE_PLUGINHOST_AU && JUCE_MAC + #if JUCE_PLUGINHOST_AU && (JUCE_MAC || JUCE_IOS) formats.add (new AudioUnitPluginFormat()); #endif @@ -85,12 +118,55 @@ void AudioPluginFormatManager::addFormat (AudioPluginFormat* const format) AudioPluginInstance* AudioPluginFormatManager::createPluginInstance (const PluginDescription& description, double rate, int blockSize, String& errorMessage) const { - for (int i = 0; i < formats.size(); ++i) - if (AudioPluginInstance* result = formats.getUnchecked(i)->createInstanceFromDescription (description, rate, blockSize)) - return result; + if (AudioPluginFormat* format = findFormatForDescription (description, errorMessage)) + return format->createInstanceFromDescription (description, rate, blockSize, errorMessage); + + return nullptr; +} + +void AudioPluginFormatManager::createPluginInstanceAsync (const PluginDescription& description, + double initialSampleRate, + int initialBufferSize, + AudioPluginFormat::InstantiationCompletionCallback* callback) +{ + String error; + + if (AudioPluginFormat* format = findFormatForDescription (description, error)) + return format->createPluginInstanceAsync (description, initialSampleRate, initialBufferSize, callback); + + (new PluginFormatManagerHelpers::ErrorCallbackOnMessageThread (error, callback))->post(); +} + +#if JUCE_COMPILER_SUPPORTS_LAMBDAS +void AudioPluginFormatManager::createPluginInstanceAsync (const PluginDescription& description, + double initialSampleRate, + int initialBufferSize, + std::function f) +{ + String error; + + if (AudioPluginFormat* format = findFormatForDescription (description, error)) + return format->createPluginInstanceAsync (description, initialSampleRate, initialBufferSize, f); + + (new PluginFormatManagerHelpers::ErrorLambdaOnMessageThread (error, f))->post(); +} +#endif + +AudioPluginFormat* AudioPluginFormatManager::findFormatForDescription (const PluginDescription& description, String& errorMessage) const +{ + errorMessage = String(); + + for (int i = 0; i < formats.size(); ++i) + { + AudioPluginFormat* format; + + if ((format = formats.getUnchecked (i))->getName() == description.pluginFormatName + && format->fileMightContainThisPluginType (description.fileOrIdentifier)) + return format; + } + + errorMessage = NEEDS_TRANS ("No compatible plug-in format exists for this plug-in"); - errorMessage = doesPluginStillExist (description) ? TRANS ("This plug-in failed to load correctly") - : TRANS ("This plug-in file no longer exists"); return nullptr; } diff --git a/modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h b/modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h index f810f32f89..0ff4cec139 100644 --- a/modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h +++ b/modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h @@ -75,12 +75,51 @@ public: If it can't load the plugin, it returns nullptr and leaves a message in the errorMessage string. + + If you intend to instantiate a AudioUnit v3 plug-in then you must either + use the non-blocking asynchrous version below - or call this method from a + thread other than the message thread and without blocking the message + thread. */ AudioPluginInstance* createPluginInstance (const PluginDescription& description, double initialSampleRate, int initialBufferSize, String& errorMessage) const; + /** Tries to asynchronously load the type for this description, by trying + all the formats that this manager knows about. + + The caller must supply a callback object which will be called when + the instantantiation has completed. + + If it can't load the plugin then the callback function will be called + passing a nullptr as the instance argument along with an error message. + + The callback function will be called on the message thread so the caller + must not block the message thread. + + The callback object will be deleted automatically after it has been + invoked. + + The caller is responsible for deleting the instance that is passed to + the callback function. + + If you intend to instantiate a AudioUnit v3 plug-in then you must use + this non-blocking asynchrous version - or call the synchrous method + from an auxilliary thread. + */ + void createPluginInstanceAsync (const PluginDescription& description, + double initialSampleRate, + int initialBufferSize, + AudioPluginFormat::InstantiationCompletionCallback* callback); + + #if JUCE_COMPILER_SUPPORTS_LAMBDAS + void createPluginInstanceAsync (const PluginDescription& description, + double initialSampleRate, + int initialBufferSize, + std::function completionCallback); + #endif + /** Checks that the file or component for this plugin actually still exists. (This won't try to load the plugin) @@ -89,6 +128,9 @@ public: private: //============================================================================== + //@internal + AudioPluginFormat* findFormatForDescription (const PluginDescription&, String& errorMessage) const; + OwnedArray formats; JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AudioPluginFormatManager) diff --git a/modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h b/modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h index 21d575bea5..fcc90905c0 100644 --- a/modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h +++ b/modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h @@ -22,7 +22,7 @@ ============================================================================== */ -#if (JUCE_PLUGINHOST_AU && JUCE_MAC) || DOXYGEN +#if (JUCE_PLUGINHOST_AU && (JUCE_MAC || JUCE_IOS)) || DOXYGEN //============================================================================== /** @@ -38,16 +38,24 @@ public: //============================================================================== String getName() const override { return "AudioUnit"; } void findAllTypesForFile (OwnedArray&, const String& fileOrIdentifier) override; - AudioPluginInstance* createInstanceFromDescription (const PluginDescription& desc, double, int) override; bool fileMightContainThisPluginType (const String& fileOrIdentifier) override; String getNameOfPluginFromIdentifier (const String& fileOrIdentifier) override; bool pluginNeedsRescanning (const PluginDescription&) override; - StringArray searchPathsForPlugins (const FileSearchPath&, bool recursive) override; + StringArray searchPathsForPlugins (const FileSearchPath&, bool recursive, bool) override; bool doesPluginStillExist (const PluginDescription&) override; FileSearchPath getDefaultLocationsToSearch() override; bool canScanForPlugins() const override { return true; } private: + //============================================================================== + void createPluginInstance (const PluginDescription&, + double initialSampleRate, + int initialBufferSize, + void* userData, + void (*callback) (void*, AudioPluginInstance*, const String&)) override; + + bool requiresUnblockedMessageThreadDuringCreation (const PluginDescription&) const noexcept override; + //============================================================================== JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AudioUnitPluginFormat) }; diff --git a/modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm b/modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm index 62c3bcbcd4..046401b6da 100644 --- a/modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm +++ b/modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm @@ -22,14 +22,18 @@ ============================================================================== */ -#if JUCE_PLUGINHOST_AU && JUCE_MAC +#if JUCE_PLUGINHOST_AU && (JUCE_MAC || JUCE_IOS) } // (juce namespace) #include +#if JUCE_MAC #include #include #include +#endif + +#include #include #if JUCE_SUPPORT_CARBON @@ -45,6 +49,8 @@ namespace juce #include "../../juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h" #endif +#include "../../juce_core/native/juce_osx_ObjCHelpers.h" + // Change this to disable logging of various activities #ifndef AU_LOGGING #define AU_LOGGING 1 @@ -177,8 +183,13 @@ namespace AudioUnitFormatHelpers { zerostruct (desc); + #if JUCE_IOS + ignoreUnused (fileOrIdentifier, name, version, manufacturer); + + return false; + #else const File file (fileOrIdentifier); - if (! file.hasFileExtension (".component")) + if (! file.hasFileExtension (".component") && ! file.hasFileExtension (".appex")) return false; const char* const utf8 = fileOrIdentifier.toUTF8(); @@ -248,6 +259,7 @@ namespace AudioUnitFormatHelpers } return desc.componentType != 0 && desc.componentSubType != 0; + #endif } const char* getCategory (OSType type) noexcept @@ -274,44 +286,35 @@ class AudioUnitPluginWindowCocoa; class AudioUnitPluginInstance : public AudioPluginInstance { public: - AudioUnitPluginInstance (const String& fileOrId) - : fileOrIdentifier (fileOrId), + AudioUnitPluginInstance (AudioComponentInstance au) + : auComponent (AudioComponentInstanceGetComponent (au)), wantsMidiMessages (false), producesMidiMessages (false), wasPlaying (false), prepared (false), + isAUv3 (false), currentBuffer (nullptr), numInputBusChannels (0), numOutputBusChannels (0), numInputBusses (0), numOutputBusses (0), - audioUnit (nullptr), + audioUnit (au), + #if JUCE_MAC eventListenerRef (0), + #endif midiConcatenator (2048) { using namespace AudioUnitFormatHelpers; - #if JUCE_DEBUG - ++*insideCallback; - #endif + AudioComponentGetDescription (auComponent, &componentDesc); - JUCE_AU_LOG ("Opening AU: " + fileOrIdentifier); + isAUv3 = ((componentDesc.componentFlags & kAudioComponentFlag_IsV3AudioUnit) != 0); - if (getComponentDescFromIdentifier (fileOrIdentifier, componentDesc, pluginName, version, manufacturer) - || getComponentDescFromFile (fileOrIdentifier, componentDesc, pluginName, version, manufacturer)) - { - if (AudioComponent comp = AudioComponentFindNext (0, &componentDesc)) - { - AudioComponentInstanceNew (comp, &audioUnit); + wantsMidiMessages = componentDesc.componentType == kAudioUnitType_MusicDevice + || componentDesc.componentType == kAudioUnitType_MusicEffect; - wantsMidiMessages = componentDesc.componentType == kAudioUnitType_MusicDevice - || componentDesc.componentType == kAudioUnitType_MusicEffect; - } - } - - #if JUCE_DEBUG - --*insideCallback; - #endif + AudioComponentDescription ignore; + getComponentDescFromIdentifier (createPluginIdentifier (componentDesc), ignore, pluginName, version, manufacturer); } ~AudioUnitPluginInstance() @@ -324,25 +327,52 @@ public: jassert (AudioUnitFormatHelpers::insideCallback.get() == 0); #endif + #if JUCE_MAC if (eventListenerRef != 0) { AUListenerDispose (eventListenerRef); eventListenerRef = 0; } + #endif if (audioUnit != nullptr) { if (prepared) releaseResources(); - AudioComponentInstanceDispose (audioUnit); - audioUnit = nullptr; + struct AUDeleter : public CallbackMessage + { + AUDeleter (AudioComponentInstance& inInstance, WaitableEvent& inEvent) + : auInstance (inInstance), completionSignal (inEvent) + {} + + void messageCallback() override + { + AudioComponentInstanceDispose (auInstance); + auInstance = nullptr; + completionSignal.signal(); + } + + AudioComponentInstance& auInstance; + WaitableEvent& completionSignal; + }; + + if (MessageManager::getInstance()->isThisTheMessageThread()) + { + AudioComponentInstanceDispose (audioUnit); + audioUnit = nullptr; + } + else + { + WaitableEvent completionEvent; + (new AUDeleter (audioUnit, completionEvent))->post(); + completionEvent.wait(); + } } } - void initialise (double rate, int blockSize) + bool initialise (double rate, int blockSize) { - refreshParameterList(); updateNumChannels(); producesMidiMessages = canProduceMidiOutput(); setPlayConfigDetails ((int) (numInputBusChannels * numInputBusses), @@ -355,11 +385,14 @@ public: // some plugins crash if initialiseAudioUnit() is called too soon (sigh..), so we'll // only call it here if it seems like they it's one of the awkward plugins that can // only create their parameters after it has been initialised. - initialiseAudioUnit(); + if (! initialiseAudioUnit()) + return false; + refreshParameterList(); } setPluginCallbacks(); + return true; } //============================================================================== @@ -470,7 +503,7 @@ public: zerostruct (timeStamp); timeStamp.mSampleTime = 0; - timeStamp.mHostTime = AudioGetCurrentHostTime(); + timeStamp.mHostTime = GetCurrentHostTime (0, sr, isAUv3); timeStamp.mFlags = kAudioTimeStampSampleTimeValid | kAudioTimeStampHostTimeValid; currentBuffer = nullptr; @@ -519,7 +552,7 @@ public: if (prepared) { - timeStamp.mHostTime = AudioGetCurrentHostTime(); + timeStamp.mHostTime = GetCurrentHostTime (numSamples, getSampleRate(), isAUv3); for (AudioUnitElement i = 0; i < numOutputBusses; ++i) { @@ -647,6 +680,7 @@ public: void sendParameterChangeEvent (int index) { + #if JUCE_MAC jassert (audioUnit != nullptr); const ParamInfo& p = *parameters.getUnchecked (index); @@ -659,10 +693,14 @@ public: ev.mArgument.mParameter.mElement = 0; AUEventListenerNotify (nullptr, nullptr, &ev); + #else + ignoreUnused (index); + #endif } void sendAllParametersChangedEvents() { + #if JUCE_MAC jassert (audioUnit != nullptr); AudioUnitParameter param; @@ -670,6 +708,7 @@ public: param.mParameterID = kAUParameterListener_AnyParameter; AUParameterListenerNotify (nullptr, nullptr, ¶m); + #endif } const String getParameterName (int index) override @@ -904,10 +943,11 @@ private: friend class AudioUnitPluginFormat; AudioComponentDescription componentDesc; + AudioComponent auComponent; String pluginName, manufacturer, version; String fileOrIdentifier; CriticalSection lock; - bool wantsMidiMessages, producesMidiMessages, wasPlaying, prepared; + bool wantsMidiMessages, producesMidiMessages, wasPlaying, prepared, isAUv3; HeapBlock outputBufferList; AudioTimeStamp timeStamp; @@ -915,7 +955,9 @@ private: AudioUnitElement numInputBusChannels, numOutputBusChannels, numInputBusses, numOutputBusses; AudioUnit audioUnit; + #if JUCE_MAC AUEventListenerRef eventListenerRef; + #endif struct ParamInfo { @@ -947,6 +989,7 @@ private: kAudioUnitScope_Input, i, &info, sizeof (info)); } + #if JUCE_MAC if (producesMidiMessages) { AUMIDIOutputCallbackStruct info; @@ -958,6 +1001,7 @@ private: producesMidiMessages = (AudioUnitSetProperty (audioUnit, kAudioUnitProperty_MIDIOutputCallback, kAudioUnitScope_Global, 0, &info, sizeof (info)) == noErr); } + #endif { HostCallbackInfo info; @@ -971,7 +1015,7 @@ private: AudioUnitSetProperty (audioUnit, kAudioUnitProperty_HostCallbacks, kAudioUnitScope_Global, 0, &info, sizeof (info)); } - + #if JUCE_MAC AUEventListenerCreate (eventListenerCallback, this, CFRunLoopGetMain(), kCFRunLoopDefaultMode, 0, 0, &eventListenerRef); @@ -996,11 +1040,14 @@ private: addPropertyChangeListener (kAudioUnitProperty_PresentPreset); addPropertyChangeListener (kAudioUnitProperty_ParameterList); addPropertyChangeListener (kAudioUnitProperty_Latency); + #endif } } + #if JUCE_MAC void addPropertyChangeListener (AudioUnitPropertyID type) const { + AudioUnitEvent event; event.mEventType = kAudioUnitEvent_PropertyChange; event.mArgument.mProperty.mPropertyID = type; @@ -1055,6 +1102,7 @@ private: jassert (event != nullptr); static_cast (userRef)->eventCallback (*event, value); } + #endif //============================================================================== OSStatus renderGetInput (AudioUnitRenderActionFlags*, @@ -1229,6 +1277,28 @@ private: } //============================================================================== + static inline UInt64 GetCurrentHostTime (int numSamples, double sampleRate, bool isAUv3) noexcept + { + #if ! JUCE_IOS + if (! isAUv3) + return AudioGetCurrentHostTime(); + #else + ignoreUnused (isAUv3); + #endif + + UInt64 currentTime = mach_absolute_time(); + static mach_timebase_info_data_t sTimebaseInfo = {0, 0}; + + if (sTimebaseInfo.denom == 0) + mach_timebase_info (&sTimebaseInfo); + + double bufferNanos = static_cast (numSamples) * 1.0e9 / sampleRate; + UInt64 bufferTicks = static_cast (std::ceil (bufferNanos * (static_cast (sTimebaseInfo.denom) / static_cast (sTimebaseInfo.numer)))); + currentTime += bufferTicks; + + return currentTime; + } + size_t getAudioBufferSizeInBytes() const noexcept { return offsetof (AudioBufferList, mBuffers) + (sizeof (::AudioBuffer) * numOutputBusChannels); @@ -1257,11 +1327,14 @@ private: numOutputBusses = getElementCount (kAudioUnitScope_Output); AUChannelInfo supportedChannels [128]; - UInt32 supportedChannelsSize = sizeof (supportedChannels); + UInt32 supportedChannelsSize = 0; + Boolean writable; - if (AudioUnitGetProperty (audioUnit, kAudioUnitProperty_SupportedNumChannels, kAudioUnitScope_Global, - 0, supportedChannels, &supportedChannelsSize) == noErr - && supportedChannelsSize > 0) + if (AudioUnitGetPropertyInfo (audioUnit, kAudioUnitProperty_SupportedNumChannels, kAudioUnitScope_Global, + 0, &supportedChannelsSize, &writable) == noErr + && supportedChannelsSize > 0 + && AudioUnitGetProperty (audioUnit, kAudioUnitProperty_SupportedNumChannels, kAudioUnitScope_Global, + 0, supportedChannels, &supportedChannelsSize) == noErr) { int explicitNumIns = 0; int explicitNumOuts = 0; @@ -1312,6 +1385,7 @@ private: bool canProduceMidiOutput() { + #if JUCE_MAC UInt32 dataSize = 0; Boolean isWritable = false; @@ -1331,6 +1405,9 @@ private: } return false; + #else + return false; + #endif } bool supportsMPE() const override @@ -1363,10 +1440,15 @@ class AudioUnitPluginWindowCocoa : public AudioProcessorEditor public: AudioUnitPluginWindowCocoa (AudioUnitPluginInstance& p, bool createGenericViewIfNeeded) : AudioProcessorEditor (&p), - plugin (p) + plugin (p), waitingForViewCallback (false) { addAndMakeVisible (wrapper); + #if JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES + viewControllerCallback = + CreateObjCBlock (this, &AudioUnitPluginWindowCocoa::requestViewControllerCallback); + #endif + setOpaque (true); setVisible (true); setSize (100, 100); @@ -1376,7 +1458,7 @@ public: ~AudioUnitPluginWindowCocoa() { - if (isValid()) + if (wrapper.getView() != nil) { wrapper.setVisible (false); removeChildComponent (&wrapper); @@ -1385,7 +1467,24 @@ public: } } - bool isValid() const { return wrapper.getView() != nil; } + #if JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES + void embedViewController (IOS_MAC_VIEW* pluginView, const CGSize& size) + { + wrapper.setView (pluginView); + waitingForViewCallback = false; + + #if JUCE_MAC + ignoreUnused (size); + if (pluginView != nil) + wrapper.resizeToFitView(); + #else + [pluginView setBounds: CGRectMake (0.f, 0.f, static_cast (size.width), static_cast (size.height))]; + wrapper.setSize (static_cast (size.width), static_cast (size.height)); + #endif + } + #endif + + bool isValid() const { return wrapper.getView() != nil || waitingForViewCallback; } void paint (Graphics& g) override { @@ -1403,19 +1502,26 @@ public: } private: - AudioUnitPluginInstance& plugin; + AudioUnitPluginInstance& plugin; AutoResizingNSViewComponent wrapper; + #if JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES + typedef void (^ViewControllerCallbackBlock)(AUViewControllerBase *); + bool waitingForViewCallback; + ObjCBlock viewControllerCallback; + #endif + bool createView (const bool createGenericViewIfNeeded) { if (! plugin.initialiseAudioUnit()) return false; - NSView* pluginView = nil; + IOS_MAC_VIEW* pluginView = nil; UInt32 dataSize = 0; Boolean isWritable = false; + #if JUCE_MAC if (AudioUnitGetPropertyInfo (plugin.audioUnit, kAudioUnitProperty_CocoaUI, kAudioUnitScope_Global, 0, &dataSize, &isWritable) == noErr && dataSize != 0 @@ -1450,7 +1556,32 @@ private: CFRelease (info->mCocoaAUViewBundleLocation); } } + #endif + dataSize = 0; + isWritable = false; + + #if JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES + if (AudioUnitGetPropertyInfo (plugin.audioUnit, kAudioUnitProperty_RequestViewController, kAudioUnitScope_Global, + 0, &dataSize, &isWritable) == noErr + && dataSize == sizeof (ViewControllerCallbackBlock) + && AudioUnitGetPropertyInfo (plugin.audioUnit, kAudioUnitProperty_RequestViewController, kAudioUnitScope_Global, + 0, &dataSize, &isWritable) == noErr) + { + waitingForViewCallback = true; + ViewControllerCallbackBlock callback; + callback = viewControllerCallback; + + ViewControllerCallbackBlock* info = &callback; + + if (noErr == AudioUnitSetProperty (plugin.audioUnit, kAudioUnitProperty_RequestViewController, kAudioUnitScope_Global, 0, info, dataSize)) + return true; + + waitingForViewCallback = false; + } + #endif + + #if JUCE_MAC if (createGenericViewIfNeeded && (pluginView == nil)) { { @@ -1463,6 +1594,9 @@ private: pluginView = [[AUGenericView alloc] initWithAudioUnit: plugin.audioUnit]; } + #else + ignoreUnused (createGenericViewIfNeeded); + #endif wrapper.setView (pluginView); @@ -1471,6 +1605,38 @@ private: return pluginView != nil; } + + #if JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES + void requestViewControllerCallback (AUViewControllerBase* controller) + { + if (! MessageManager::getInstance()->isThisTheMessageThread()) + { + struct AsyncViewControllerCallback : public CallbackMessage + { + AudioUnitPluginWindowCocoa* owner; + IOS_MAC_VIEW* controllerView; + CGSize size; + + AsyncViewControllerCallback (AudioUnitPluginWindowCocoa* plugInWindow, IOS_MAC_VIEW* inView, + const CGSize& preferredSize) + : owner (plugInWindow), controllerView ([inView retain]), size (preferredSize) + {} + + void messageCallback() override + { + owner->embedViewController (controllerView, size); + [controllerView release]; + } + }; + + (new AsyncViewControllerCallback (this, [controller view], [controller preferredContentSize]))->post(); + } + else + { + embedViewController ([controller view], [controller preferredContentSize]); + } + } + #endif }; #if JUCE_SUPPORT_CARBON @@ -1654,6 +1820,10 @@ void AudioUnitPluginFormat::findAllTypesForFile (OwnedArray& desc.fileOrIdentifier = fileOrIdentifier; desc.uid = 0; + if (MessageManager::getInstance()->isThisTheMessageThread() + && requiresUnblockedMessageThreadDuringCreation (desc)) + return; + try { ScopedPointer createdInstance (createInstanceFromDescription (desc, 44100.0, 512)); @@ -1667,23 +1837,127 @@ void AudioUnitPluginFormat::findAllTypesForFile (OwnedArray& } } -AudioPluginInstance* AudioUnitPluginFormat::createInstanceFromDescription (const PluginDescription& desc, double rate, int blockSize) +void AudioUnitPluginFormat::createPluginInstance (const PluginDescription& desc, + double rate, + int blockSize, + void* userData, + void (*callback) (void*, AudioPluginInstance*, const String&)) { + using namespace AudioUnitFormatHelpers; + if (fileMightContainThisPluginType (desc.fileOrIdentifier)) { - ScopedPointer result (new AudioUnitPluginInstance (desc.fileOrIdentifier)); - if (result->audioUnit != nullptr) + String pluginName, version, manufacturer; + AudioComponentDescription componentDesc; + AudioComponent auComponent; + String errMessage = NEEDS_TRANS ("Cannot find AudioUnit from description"); + + if ((! getComponentDescFromIdentifier (desc.fileOrIdentifier, componentDesc, pluginName, version, manufacturer)) + && (! getComponentDescFromFile (desc.fileOrIdentifier, componentDesc, pluginName, version, manufacturer))) { - result->initialise (rate, blockSize); - return result.release(); + callback (userData, nullptr, errMessage); + return; } + + if ((auComponent = AudioComponentFindNext (0, &componentDesc)) == nullptr) + { + callback (userData, nullptr, errMessage); + return; + } + + if (AudioComponentGetDescription (auComponent, &componentDesc) != noErr) + { + callback (userData, nullptr, errMessage); + return; + } + + struct AUv3InitializationCallback + { + typedef void (^AUCompletionCallbackBlock)(AudioComponentInstance, OSStatus); + + AUv3InitializationCallback (double inSampleRate, int inFramesPerBuffer, + void* inUserData, void (*inOriginalCallback) (void*, AudioPluginInstance*, const String&)) + : sampleRate (inSampleRate), framesPerBuffer (inFramesPerBuffer), + passUserData (inUserData), originalCallback (inOriginalCallback) + { + block = CreateObjCBlock (this, &AUv3InitializationCallback::completion); + } + + AUCompletionCallbackBlock getBlock() noexcept { return block; } + + void completion (AudioComponentInstance audioUnit, OSStatus err) + { + if (err == noErr) + { + ScopedPointer instance = new AudioUnitPluginInstance (audioUnit); + + if (instance->initialise (sampleRate, framesPerBuffer)) + originalCallback (passUserData, instance.release(), StringRef()); + else + originalCallback (passUserData, nullptr, + NEEDS_TRANS ("Unable to initialise the AudioUnit plug-in")); + } + else + { + String errMsg = NEEDS_TRANS ("An OS error ocurred during initialisation of the plug-in (XXX)"); + originalCallback (passUserData, nullptr, errMsg.replace ("XXX", String (err))); + } + + delete this; + } + + double sampleRate; + int framesPerBuffer; + void* passUserData; + void (*originalCallback) (void*, AudioPluginInstance*, const String&); + + ObjCBlock block; + }; + + AUv3InitializationCallback* callbackBlock + = new AUv3InitializationCallback (rate, blockSize, userData, callback); + + //============================================================================== + bool isAUv3 = ((componentDesc.componentFlags & kAudioComponentFlag_IsV3AudioUnit) != 0); + + if (! isAUv3) + { + AudioComponentInstance audioUnit; + OSStatus err = AudioComponentInstanceNew(auComponent, &audioUnit); + callbackBlock->completion (err != noErr ? nullptr : audioUnit, err); + } + else + { + AudioComponentInstantiate (auComponent, kAudioComponentInstantiation_LoadOutOfProcess, + callbackBlock->getBlock()); + } + + return; } - return nullptr; + callback (userData, nullptr, NEEDS_TRANS ("Plug-in description is not an AudioUnit plug-in")); } -StringArray AudioUnitPluginFormat::searchPathsForPlugins (const FileSearchPath&, bool /*recursive*/) +bool AudioUnitPluginFormat::requiresUnblockedMessageThreadDuringCreation (const PluginDescription& desc) const noexcept +{ + String pluginName, version, manufacturer; + AudioComponentDescription componentDesc; + + if (AudioUnitFormatHelpers::getComponentDescFromIdentifier (desc.fileOrIdentifier, componentDesc, + pluginName, version, manufacturer) + || AudioUnitFormatHelpers::getComponentDescFromFile (desc.fileOrIdentifier, componentDesc, + pluginName, version, manufacturer)) + { + if (AudioComponent auComp = AudioComponentFindNext (0, &componentDesc)) + if (AudioComponentGetDescription (auComp, &componentDesc) == noErr) + return ((componentDesc.componentFlags & kAudioComponentFlag_IsV3AudioUnit) != 0); + } + + return false; +} + +StringArray AudioUnitPluginFormat::searchPathsForPlugins (const FileSearchPath&, bool /*recursive*/, bool allowPluginsWhichRequireAsynchronousInstantiation) { StringArray result; AudioComponent comp = nullptr; @@ -1698,7 +1972,8 @@ StringArray AudioUnitPluginFormat::searchPathsForPlugins (const FileSearchPath&, if (comp == nullptr) break; - AudioComponentGetDescription (comp, &desc); + if (AudioComponentGetDescription (comp, &desc) != noErr) + continue; if (desc.componentType == kAudioUnitType_MusicDevice || desc.componentType == kAudioUnitType_MusicEffect @@ -1706,7 +1981,10 @@ StringArray AudioUnitPluginFormat::searchPathsForPlugins (const FileSearchPath&, || desc.componentType == kAudioUnitType_Generator || desc.componentType == kAudioUnitType_Panner) { - result.add (AudioUnitFormatHelpers::createPluginIdentifier (desc)); + bool isAUv3 = ((desc.componentFlags & kAudioComponentFlag_IsV3AudioUnit) != 0); + + if (allowPluginsWhichRequireAsynchronousInstantiation || (! isAUv3)) + result.add (AudioUnitFormatHelpers::createPluginIdentifier (desc)); } } @@ -1723,7 +2001,7 @@ bool AudioUnitPluginFormat::fileMightContainThisPluginType (const String& fileOr const File f (File::createFileWithoutCheckingPath (fileOrIdentifier)); - return f.hasFileExtension (".component") + return (f.hasFileExtension (".component") || f.hasFileExtension (".appex")) && f.isDirectory(); } diff --git a/modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp b/modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp index eaa7e18e36..47eb9baf78 100644 --- a/modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp +++ b/modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp @@ -610,11 +610,14 @@ void LADSPAPluginFormat::findAllTypesForFile (OwnedArray & re } } -AudioPluginInstance* LADSPAPluginFormat::createInstanceFromDescription (const PluginDescription& desc, - double sampleRate, int blockSize) +void LADSPAPluginFormat::createPluginInstance (const PluginDescription& desc, + double sampleRate, int blockSize, + void* userData, + void (*callback) (void*, AudioPluginInstance*, const String&)) { ScopedPointer result; + if (fileMightContainThisPluginType (desc.fileOrIdentifier)) { File file (desc.fileOrIdentifier); @@ -639,7 +642,17 @@ AudioPluginInstance* LADSPAPluginFormat::createInstanceFromDescription (const Pl previousWorkingDirectory.setAsCurrentWorkingDirectory(); } - return result.release(); + String errorMsg; + + if (result == nullptr) + errorMsg = String (NEEDS_TRANS ("Unable to load XXX plug-in file")).replace ("XXX", "LADSPA"); + + callback (userData, result.release(), errorMsg); +} + +bool LADSPAPluginFormat::requiresUnblockedMessageThreadDuringCreation (const PluginDescription&) const noexcept override +{ + return false; } bool LADSPAPluginFormat::fileMightContainThisPluginType (const String& fileOrIdentifier) diff --git a/modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h b/modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h index 15c10957f5..f1a1b15564 100644 --- a/modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h +++ b/modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h @@ -38,7 +38,6 @@ public: //============================================================================== String getName() const override { return "LADSPA"; } void findAllTypesForFile (OwnedArray&, const String& fileOrIdentifier) override; - AudioPluginInstance* createInstanceFromDescription (const PluginDescription&, double, int) override; bool fileMightContainThisPluginType (const String& fileOrIdentifier) override; String getNameOfPluginFromIdentifier (const String& fileOrIdentifier) override; bool pluginNeedsRescanning (const PluginDescription&) override; @@ -47,6 +46,15 @@ public: FileSearchPath getDefaultLocationsToSearch() override; bool canScanForPlugins() const override { return true; } +private: + //============================================================================== + void createPluginInstance (const PluginDescription& description, + double initialSampleRate, + int initialBufferSize, + void* userData, + void (*callback) (void*, AudioPluginInstance*, const String&)) override; + bool requiresUnblockedMessageThreadDuringCreation (const PluginDescription&) const noexcept override; + private: void recursiveFileSearch (StringArray&, const File&, bool recursive); diff --git a/modules/juce_audio_processors/format_types/juce_VST3Common.h b/modules/juce_audio_processors/format_types/juce_VST3Common.h index 4f50acb57a..0636410086 100644 --- a/modules/juce_audio_processors/format_types/juce_VST3Common.h +++ b/modules/juce_audio_processors/format_types/juce_VST3Common.h @@ -147,13 +147,13 @@ static inline Steinberg::Vst::Speaker getSpeakerType (AudioChannelSet::ChannelTy case AudioChannelSet::right: return kSpeakerR; case AudioChannelSet::centre: return kSpeakerC; case AudioChannelSet::subbass: return kSpeakerLfe; - case AudioChannelSet::surroundLeft: return kSpeakerLs; - case AudioChannelSet::surroundRight: return kSpeakerRs; - case AudioChannelSet::centreLeft: return kSpeakerLc; - case AudioChannelSet::centreRight: return kSpeakerRc; + case AudioChannelSet::leftSurround: return kSpeakerLs; + case AudioChannelSet::rightSurround: return kSpeakerRs; + case AudioChannelSet::leftCentre: return kSpeakerLc; + case AudioChannelSet::rightCentre: return kSpeakerRc; case AudioChannelSet::surround: return kSpeakerS; - case AudioChannelSet::sideLeft: return kSpeakerSl; - case AudioChannelSet::sideRight: return kSpeakerSr; + case AudioChannelSet::leftRearSurround: return kSpeakerSl; + case AudioChannelSet::rightRearSurround: return kSpeakerSr; case AudioChannelSet::topMiddle: return kSpeakerTm; case AudioChannelSet::topFrontLeft: return kSpeakerTfl; case AudioChannelSet::topFrontCentre: return kSpeakerTfc; @@ -178,13 +178,13 @@ static inline AudioChannelSet::ChannelType getChannelType (Steinberg::Vst::Speak case kSpeakerR: return AudioChannelSet::right; case kSpeakerC: return AudioChannelSet::centre; case kSpeakerLfe: return AudioChannelSet::subbass; - case kSpeakerLs: return AudioChannelSet::surroundLeft; - case kSpeakerRs: return AudioChannelSet::surroundRight; - case kSpeakerLc: return AudioChannelSet::centreLeft; - case kSpeakerRc: return AudioChannelSet::centreRight; + case kSpeakerLs: return AudioChannelSet::leftSurround; + case kSpeakerRs: return AudioChannelSet::rightSurround; + case kSpeakerLc: return AudioChannelSet::leftCentre; + case kSpeakerRc: return AudioChannelSet::rightCentre; case kSpeakerS: return AudioChannelSet::surround; - case kSpeakerSl: return AudioChannelSet::sideLeft; - case kSpeakerSr: return AudioChannelSet::sideRight; + case kSpeakerSl: return AudioChannelSet::leftRearSurround; + case kSpeakerSr: return AudioChannelSet::rightRearSurround; case kSpeakerTm: return AudioChannelSet::topMiddle; case kSpeakerTfl: return AudioChannelSet::topFrontLeft; case kSpeakerTfc: return AudioChannelSet::topFrontCentre; @@ -201,6 +201,10 @@ static inline AudioChannelSet::ChannelType getChannelType (Steinberg::Vst::Speak static inline Steinberg::Vst::SpeakerArrangement getSpeakerArrangement (const AudioChannelSet& channels) noexcept { + // treat mono as special case as we do not have a designated mono speaker + if (channels == AudioChannelSet::mono()) + return Steinberg::Vst::kSpeakerM; + Steinberg::Vst::SpeakerArrangement result = 0; Array types (channels.getChannelTypes()); @@ -213,6 +217,10 @@ static inline Steinberg::Vst::SpeakerArrangement getSpeakerArrangement (const Au static inline AudioChannelSet getChannelSetForSpeakerArrangement (Steinberg::Vst::SpeakerArrangement arr) noexcept { + // treat mono as special case as we do not have a designated mono speaker + if (arr == Steinberg::Vst::kSpeakerM) + return AudioChannelSet::mono(); + AudioChannelSet result; for (Steinberg::Vst::Speaker speaker = 1; speaker <= Steinberg::Vst::kSpeakerRcs; speaker <<= 1) diff --git a/modules/juce_audio_processors/format_types/juce_VST3Headers.h b/modules/juce_audio_processors/format_types/juce_VST3Headers.h index c6571c1e3b..c5564db843 100644 --- a/modules/juce_audio_processors/format_types/juce_VST3Headers.h +++ b/modules/juce_audio_processors/format_types/juce_VST3Headers.h @@ -55,7 +55,7 @@ get them. Then, you'll need to make sure your include path contains your "VST3 SDK" - directory (or whatever you've named it on your machine). The Introjucer has + directory (or whatever you've named it on your machine). The Projucer has a special box for setting this path. */ #if JUCE_VST3HEADERS_INCLUDE_HEADERS_ONLY diff --git a/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp b/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp index fbd5935b15..279d9a30a2 100644 --- a/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp +++ b/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp @@ -1190,6 +1190,7 @@ private: if (library.open (filePath)) { typedef bool (PLUGIN_API *InitModuleProc) (); + if (InitModuleProc proc = (InitModuleProc) getFunction ("InitDll")) { if (proc()) @@ -2466,10 +2467,15 @@ void VST3PluginFormat::findAllTypesForFile (OwnedArray& resul VST3Classes::VST3ModuleHandle::getAllDescriptionsForFile (results, fileOrIdentifier); } -AudioPluginInstance* VST3PluginFormat::createInstanceFromDescription (const PluginDescription& description, double, int) +void VST3PluginFormat::createPluginInstance (const PluginDescription& description, + double, + int, + void* userData, + void (*callback) (void*, AudioPluginInstance*, const String&)) { ScopedPointer result; + if (fileMightContainThisPluginType (description.fileOrIdentifier)) { File file (description.fileOrIdentifier); @@ -2488,7 +2494,17 @@ AudioPluginInstance* VST3PluginFormat::createInstanceFromDescription (const Plug previousWorkingDirectory.setAsCurrentWorkingDirectory(); } - return result.release(); + String errorMsg; + + if (result == nullptr) + errorMsg = String (NEEDS_TRANS ("Unable to load XXX plug-in file")).replace ("XXX", "VST-3"); + + callback (userData, result.release(), errorMsg); +} + +bool VST3PluginFormat::requiresUnblockedMessageThreadDuringCreation (const PluginDescription&) const noexcept +{ + return false; } bool VST3PluginFormat::fileMightContainThisPluginType (const String& fileOrIdentifier) @@ -2518,7 +2534,7 @@ bool VST3PluginFormat::doesPluginStillExist (const PluginDescription& descriptio return File (description.fileOrIdentifier).exists(); } -StringArray VST3PluginFormat::searchPathsForPlugins (const FileSearchPath& directoriesToSearch, const bool recursive) +StringArray VST3PluginFormat::searchPathsForPlugins (const FileSearchPath& directoriesToSearch, const bool recursive, bool) { StringArray results; diff --git a/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h b/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h index ceabcbc59e..32744cf132 100644 --- a/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h +++ b/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h @@ -26,10 +26,11 @@ #define JUCE_VST3PLUGINFORMAT_H_INCLUDED #if JUCE_PLUGINHOST_VST3 + /** Implements a plugin format for VST3s. */ -class JUCE_API VST3PluginFormat : public AudioPluginFormat +class JUCE_API VST3PluginFormat : public AudioPluginFormat { public: /** Constructor */ @@ -40,31 +41,35 @@ public: //============================================================================== /** @internal */ - String getName() const override { return "VST3"; } + String getName() const override { return "VST3"; } /** @internal */ void findAllTypesForFile (OwnedArray& results, const String& fileOrIdentifier) override; /** @internal */ - AudioPluginInstance* createInstanceFromDescription (const PluginDescription& description, double, int) override; - /** @internal */ bool fileMightContainThisPluginType (const String& fileOrIdentifier) override; /** @internal */ String getNameOfPluginFromIdentifier (const String& fileOrIdentifier) override; /** @internal */ - bool pluginNeedsRescanning (const PluginDescription& description) override; + bool pluginNeedsRescanning (const PluginDescription&) override; /** @internal */ - StringArray searchPathsForPlugins (const FileSearchPath& searchPath, bool recursive) override; + StringArray searchPathsForPlugins (const FileSearchPath&, bool recursive, bool) override; /** @internal */ - bool doesPluginStillExist (const PluginDescription& description) override; + bool doesPluginStillExist (const PluginDescription&) override; /** @internal */ FileSearchPath getDefaultLocationsToSearch() override; /** @internal */ - bool canScanForPlugins() const override { return true; } + bool canScanForPlugins() const override { return true; } + +private: + void createPluginInstance (const PluginDescription&, double initialSampleRate, + int initialBufferSize, void* userData, + void (*callback) (void*, AudioPluginInstance*, const String&)) override; + + bool requiresUnblockedMessageThreadDuringCreation (const PluginDescription&) const noexcept override; private: //============================================================================== void recursiveFileSearch (StringArray&, const File&, bool recursive); - //============================================================================== JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (VST3PluginFormat) }; diff --git a/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp b/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp index b9d38ba94a..2bace6c9fb 100644 --- a/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp +++ b/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp @@ -2783,8 +2783,11 @@ void VSTPluginFormat::findAllTypesForFile (OwnedArray& result } } -AudioPluginInstance* VSTPluginFormat::createInstanceFromDescription (const PluginDescription& desc, - double sampleRate, int blockSize) +void VSTPluginFormat::createPluginInstance (const PluginDescription& desc, + double sampleRate, + int blockSize, + void* userData, + void (*callback) (void*, AudioPluginInstance*, const String&)) { ScopedPointer result; @@ -2807,15 +2810,23 @@ AudioPluginInstance* VSTPluginFormat::createInstanceFromDescription (const Plugi result->initialise (sampleRate, blockSize); } else - { result = nullptr; - } } previousWorkingDirectory.setAsCurrentWorkingDirectory(); } - return result.release(); + String errorMsg; + + if (result == nullptr) + errorMsg = String (NEEDS_TRANS ("Unable to load XXX plug-in file")).replace ("XXX", "VST-2"); + + callback (userData, result.release(), errorMsg); +} + +bool VSTPluginFormat::requiresUnblockedMessageThreadDuringCreation (const PluginDescription&) const noexcept +{ + return false; } bool VSTPluginFormat::fileMightContainThisPluginType (const String& fileOrIdentifier) @@ -2866,7 +2877,7 @@ bool VSTPluginFormat::doesPluginStillExist (const PluginDescription& desc) return File (desc.fileOrIdentifier).exists(); } -StringArray VSTPluginFormat::searchPathsForPlugins (const FileSearchPath& directoriesToSearch, const bool recursive) +StringArray VSTPluginFormat::searchPathsForPlugins (const FileSearchPath& directoriesToSearch, const bool recursive, bool) { StringArray results; diff --git a/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h b/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h index 400d75de51..6f19f4c397 100644 --- a/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h +++ b/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h @@ -87,11 +87,10 @@ public: //============================================================================== String getName() const override { return "VST"; } void findAllTypesForFile (OwnedArray&, const String& fileOrIdentifier) override; - AudioPluginInstance* createInstanceFromDescription (const PluginDescription&, double, int) override; bool fileMightContainThisPluginType (const String& fileOrIdentifier) override; String getNameOfPluginFromIdentifier (const String& fileOrIdentifier) override; bool pluginNeedsRescanning (const PluginDescription&) override; - StringArray searchPathsForPlugins (const FileSearchPath&, bool recursive) override; + StringArray searchPathsForPlugins (const FileSearchPath&, bool recursive, bool) override; bool doesPluginStillExist (const PluginDescription&) override; FileSearchPath getDefaultLocationsToSearch() override; bool canScanForPlugins() const override { return true; } @@ -103,6 +102,14 @@ public: */ virtual void aboutToScanVSTShellPlugin (const PluginDescription&); +private: + //============================================================================== + void createPluginInstance (const PluginDescription&, double initialSampleRate, + int initialBufferSize, void* userData, + void (*callback) (void*, AudioPluginInstance*, const String&)) override; + + bool requiresUnblockedMessageThreadDuringCreation (const PluginDescription&) const noexcept override; + private: void recursiveFileSearch (StringArray&, const File&, bool recursive); diff --git a/modules/juce_audio_processors/juce_audio_processors.cpp b/modules/juce_audio_processors/juce_audio_processors.cpp index 59db73571e..390689f453 100644 --- a/modules/juce_audio_processors/juce_audio_processors.cpp +++ b/modules/juce_audio_processors/juce_audio_processors.cpp @@ -34,7 +34,7 @@ #define JUCE_CORE_INCLUDE_NATIVE_HEADERS 1 #include "juce_audio_processors.h" -#include "../juce_gui_extra/juce_gui_extra.h" +#include //============================================================================== #if JUCE_MAC @@ -56,6 +56,12 @@ #define JUCE_PLUGINHOST_VST3 0 #endif +#if JUCE_IOS +#define IOS_MAC_VIEW UIView +#elif JUCE_MAC +#define IOS_MAC_VIEW NSView +#endif + //============================================================================== namespace juce { @@ -70,10 +76,15 @@ static inline bool arrayContainsPlugin (const OwnedArray& lis return false; } -#if JUCE_MAC +#if JUCE_MAC || JUCE_IOS //============================================================================== -struct AutoResizingNSViewComponent : public NSViewComponent, - private AsyncUpdater +struct AutoResizingNSViewComponent : +#if JUCE_MAC + public NSViewComponent, +#else + public UIViewComponent, +#endif + private AsyncUpdater { AutoResizingNSViewComponent() : recursive (false) {} @@ -102,16 +113,16 @@ struct AutoResizingNSViewComponentWithParent : public AutoResizingNSViewCompone { AutoResizingNSViewComponentWithParent() { - NSView* v = [[NSView alloc] init]; + IOS_MAC_VIEW* v = [[IOS_MAC_VIEW alloc] init]; setView (v); [v release]; startTimer (30); } - NSView* getChildView() const + IOS_MAC_VIEW* getChildView() const { - if (NSView* parent = (NSView*) getView()) + if (IOS_MAC_VIEW* parent = (IOS_MAC_VIEW*) getView()) if ([[parent subviews] count] > 0) return [[parent subviews] objectAtIndex: 0]; @@ -120,7 +131,7 @@ struct AutoResizingNSViewComponentWithParent : public AutoResizingNSViewCompone void timerCallback() override { - if (NSView* child = getChildView()) + if (IOS_MAC_VIEW* child = getChildView()) { stopTimer(); setView (child); diff --git a/modules/juce_audio_processors/juce_audio_processors.h b/modules/juce_audio_processors/juce_audio_processors.h index 16ab502ade..ff30e34a47 100644 --- a/modules/juce_audio_processors/juce_audio_processors.h +++ b/modules/juce_audio_processors/juce_audio_processors.h @@ -22,11 +22,37 @@ ============================================================================== */ +/******************************************************************************* + The block below describes the properties of this module, and is read by + the Projucer to automatically generate project code that uses it. + For details about the syntax and how to create or use a module, see the + JUCE Module Format.txt file. + + + BEGIN_JUCE_MODULE_DECLARATION + + ID: juce_audio_processors + vendor: juce + version: 4.2.0 + name: JUCE audio processor classes + description: Classes for loading and playing VST, AU, or internally-generated audio processors. + website: http://www.juce.com/juce + license: GPL/Commercial + + dependencies: juce_gui_extra, juce_audio_basics + OSXFrameworks: CoreAudio CoreMIDI AudioToolbox + iOSFrameworks: AudioToolbox + + END_JUCE_MODULE_DECLARATION + +*******************************************************************************/ + + #ifndef JUCE_AUDIO_PROCESSORS_H_INCLUDED #define JUCE_AUDIO_PROCESSORS_H_INCLUDED -#include "../juce_gui_basics/juce_gui_basics.h" -#include "../juce_audio_basics/juce_audio_basics.h" +#include +#include //============================================================================== diff --git a/modules/juce_audio_processors/juce_module_info b/modules/juce_audio_processors/juce_module_info deleted file mode 100644 index 8174f62284..0000000000 --- a/modules/juce_audio_processors/juce_module_info +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": "juce_audio_processors", - "name": "JUCE audio plugin hosting classes", - "version": "4.1.0", - "description": "Classes for loading and playing VST, AU, or internally-generated audio processors.", - "website": "http://www.juce.com/juce", - "license": "GPL/Commercial", - - "dependencies": [ { "id": "juce_gui_extra", "version": "matching" }, - { "id": "juce_audio_basics", "version": "matching" } ], - - "include": "juce_audio_processors.h", - - "compile": [ { "file": "juce_audio_processors.cpp", "target": "! xcode" }, - { "file": "juce_audio_processors.mm", "target": "xcode" } ], - - "browse": [ "processors/*", - "format/*", - "format_types/*", - "scanning/*", - "utilities/*" - ], - - "OSXFrameworks": "CoreAudio CoreMIDI AudioToolbox", - "iOSFrameworks": "AudioToolbox" -} diff --git a/modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp b/modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp index 9e028d4750..3873647d09 100644 --- a/modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp +++ b/modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp @@ -35,32 +35,34 @@ String AudioChannelSet::getChannelTypeName (AudioChannelSet::ChannelType type) switch (type) { - case left: return NEEDS_TRANS("Left"); - case right: return NEEDS_TRANS("Right"); - case centre: return NEEDS_TRANS("Centre"); - case subbass: return NEEDS_TRANS("Subbass"); - case surroundLeft: return NEEDS_TRANS("Left Surround"); - case surroundRight: return NEEDS_TRANS("Right Surround"); - case centreLeft: return NEEDS_TRANS("Centre Left"); - case centreRight: return NEEDS_TRANS("Centre Right"); - case surround: return NEEDS_TRANS("Surround"); - case sideLeft: return NEEDS_TRANS("Side Left"); - case sideRight: return NEEDS_TRANS("Side Right"); - case topMiddle: return NEEDS_TRANS("Top Middle"); - case topFrontLeft: return NEEDS_TRANS("Top Front Left"); - case topFrontCentre: return NEEDS_TRANS("Top Front Centre"); - case topFrontRight: return NEEDS_TRANS("Top Front Right"); - case topRearLeft: return NEEDS_TRANS("Top Rear Left"); - case topRearCentre: return NEEDS_TRANS("Top Rear Centre"); - case topRearRight: return NEEDS_TRANS("Top Rear Right"); - case wideLeft: return NEEDS_TRANS("Wide Left"); - case wideRight: return NEEDS_TRANS("Wide Right"); - case subbass2: return NEEDS_TRANS("Subbass 2"); - case ambisonicW: return NEEDS_TRANS("Ambisonic W"); - case ambisonicX: return NEEDS_TRANS("Ambisonic X"); - case ambisonicY: return NEEDS_TRANS("Ambisonic Y"); - case ambisonicZ: return NEEDS_TRANS("Ambisonic Z"); - default: break; + case left: return NEEDS_TRANS("Left"); + case right: return NEEDS_TRANS("Right"); + case centre: return NEEDS_TRANS("Centre"); + case subbass: return NEEDS_TRANS("Subbass"); + case leftSurround: return NEEDS_TRANS("Left Surround"); + case rightSurround: return NEEDS_TRANS("Right Surround"); + case leftCentre: return NEEDS_TRANS("Left Centre"); + case rightCentre: return NEEDS_TRANS("Right Centre"); + case surround: return NEEDS_TRANS("Surround"); + case leftRearSurround: return NEEDS_TRANS("Left Rear Surround"); + case rightRearSurround: return NEEDS_TRANS("Right Rear Surround"); + case topMiddle: return NEEDS_TRANS("Top Middle"); + case topFrontLeft: return NEEDS_TRANS("Top Front Left"); + case topFrontCentre: return NEEDS_TRANS("Top Front Centre"); + case topFrontRight: return NEEDS_TRANS("Top Front Right"); + case topRearLeft: return NEEDS_TRANS("Top Rear Left"); + case topRearCentre: return NEEDS_TRANS("Top Rear Centre"); + case topRearRight: return NEEDS_TRANS("Top Rear Right"); + case wideLeft: return NEEDS_TRANS("Wide Left"); + case wideRight: return NEEDS_TRANS("Wide Right"); + case subbass2: return NEEDS_TRANS("Subbass 2"); + case leftSurroundDirect: return NEEDS_TRANS ("Left Surround Direct"); + case rightSurroundDirect: return NEEDS_TRANS ("Right Surround Direct"); + case ambisonicW: return NEEDS_TRANS("Ambisonic W"); + case ambisonicX: return NEEDS_TRANS("Ambisonic X"); + case ambisonicY: return NEEDS_TRANS("Ambisonic Y"); + case ambisonicZ: return NEEDS_TRANS("Ambisonic Z"); + default: break; } return "Unknown"; @@ -73,32 +75,34 @@ String AudioChannelSet::getAbbreviatedChannelTypeName (AudioChannelSet::ChannelT switch (type) { - case left: return "L"; - case right: return "R"; - case centre: return "C"; - case subbass: return "Lfe"; - case surroundLeft: return "Ls"; - case surroundRight: return "Rs"; - case centreLeft: return "Lc"; - case centreRight: return "Rc"; - case surround: return "S"; - case sideLeft: return "Sl"; - case sideRight: return "Sr"; - case topMiddle: return "Tm"; - case topFrontLeft: return "Tfl"; - case topFrontCentre: return "Tfc"; - case topFrontRight: return "Tfr"; - case topRearLeft: return "Trl"; - case topRearCentre: return "Trc"; - case topRearRight: return "Trr"; - case wideLeft: return "Wl"; - case wideRight: return "Wr"; - case subbass2: return "Lfe2"; - case ambisonicW: return "W"; - case ambisonicX: return "X"; - case ambisonicY: return "Y"; - case ambisonicZ: return "Z"; - default: break; + case left: return "L"; + case right: return "R"; + case centre: return "C"; + case subbass: return "Lfe"; + case leftSurround: return "Ls"; + case rightSurround: return "Rs"; + case leftCentre: return "Lc"; + case rightCentre: return "Rc"; + case surround: return "S"; + case leftRearSurround: return "Lrs"; + case rightRearSurround: return "Rrs"; + case topMiddle: return "Tm"; + case topFrontLeft: return "Tfl"; + case topFrontCentre: return "Tfc"; + case topFrontRight: return "Tfr"; + case topRearLeft: return "Trl"; + case topRearCentre: return "Trc"; + case topRearRight: return "Trr"; + case wideLeft: return "Wl"; + case wideRight: return "Wr"; + case subbass2: return "Lfe2"; + case leftSurroundDirect: return "Lsd"; + case rightSurroundDirect: return "Rsd"; + case ambisonicW: return "W"; + case ambisonicX: return "X"; + case ambisonicY: return "Y"; + case ambisonicZ: return "Z"; + default: break; } return ""; @@ -120,6 +124,44 @@ String AudioChannelSet::getSpeakerArrangementAsString() const return speakerTypes.joinIntoString (" "); } +String AudioChannelSet::getDescription() const +{ + if (isDiscreteLayout()) return String ("Discrete #") + String (size()); + if (*this == disabled()) return "Disabled"; + if (*this == mono()) return "Mono"; + if (*this == stereo()) return "Stereo"; + if (*this == createLCR()) return "LCR"; + if (*this == createLRS()) return "LRS"; + if (*this == createLCRS()) return "LCRS"; + if (*this == quadraphonic()) return "Quadraphonic"; + if (*this == pentagonal()) return "Pentagonal"; + if (*this == hexagonal()) return "Hexagonal"; + if (*this == octagonal()) return "Octagonal"; + if (*this == ambisonic()) return "Ambisonic"; + if (*this == create5point0()) return "5.1 Surround"; + if (*this == create5point1()) return "5.1 Surround (+Lfe)"; + if (*this == create6point0()) return "6.1 Surround"; + if (*this == create6point0Music()) return "6.1 (Music) Surround"; + if (*this == create6point1()) return "6.1 Surround (+Lfe)"; + if (*this == create7point0()) return "7.1 Surround (Rear)"; + if (*this == create7point1()) return "7.1 Surround (Rear +Lfe)"; + if (*this == create7point1AC3()) return "7.1 AC3 Surround (Rear + Lfe)"; + if (*this == createFront7point0()) return "7.1 Surround (Front)"; + if (*this == createFront7point1()) return "7.1 Surround (Front +Lfe)"; + + return "Unknown"; +} + +bool AudioChannelSet::isDiscreteLayout() const noexcept +{ + Array speakers = getChannelTypes(); + for (int i = 0; i < speakers.size(); ++i) + if (speakers.getReference (i) > ambisonicZ) + return true; + + return false; +} + int AudioChannelSet::size() const noexcept { return channels.countNumberOfSetBits(); @@ -170,20 +212,23 @@ AudioChannelSet AudioChannelSet::disabled() { return AudioChannelSet() AudioChannelSet AudioChannelSet::mono() { return AudioChannelSet (1u << centre); } AudioChannelSet AudioChannelSet::stereo() { return AudioChannelSet ((1u << left) | (1u << right)); } AudioChannelSet AudioChannelSet::createLCR() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre)); } +AudioChannelSet AudioChannelSet::createLRS() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << surround)); } AudioChannelSet AudioChannelSet::createLCRS() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << surround)); } -AudioChannelSet AudioChannelSet::quadraphonic() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << surroundLeft) | (1u << surroundRight)); } -AudioChannelSet AudioChannelSet::pentagonal() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << surroundLeft) | (1u << surroundRight) | (1u << centre)); } -AudioChannelSet AudioChannelSet::hexagonal() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << surroundLeft) | (1u << surroundRight) | (1u << centre) | (1u << surround)); } -AudioChannelSet AudioChannelSet::octagonal() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << surroundLeft) | (1u << surroundRight) | (1u << centre) | (1u << surround) | (1u << wideLeft) | (1u << wideRight)); } +AudioChannelSet AudioChannelSet::quadraphonic() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << leftSurround) | (1u << rightSurround)); } +AudioChannelSet AudioChannelSet::pentagonal() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << leftRearSurround) | (1u << rightRearSurround) | (1u << centre)); } +AudioChannelSet AudioChannelSet::hexagonal() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << leftRearSurround) | (1u << rightRearSurround) | (1u << centre) | (1u << surround)); } +AudioChannelSet AudioChannelSet::octagonal() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << leftSurround) | (1u << rightSurround) | (1u << centre) | (1u << surround) | (1u << wideLeft) | (1u << wideRight)); } AudioChannelSet AudioChannelSet::ambisonic() { return AudioChannelSet ((1u << ambisonicW) | (1u << ambisonicX) | (1u << ambisonicY) | (1u << ambisonicZ)); } -AudioChannelSet AudioChannelSet::create5point0() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << sideLeft) | (1u << sideRight)); } -AudioChannelSet AudioChannelSet::create5point1() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << subbass) | (1u << sideLeft) | (1u << sideRight)); } -AudioChannelSet AudioChannelSet::create6point0() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << sideLeft) | (1u << sideRight) | (1u << surround)); } -AudioChannelSet AudioChannelSet::create6point1() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << subbass) | (1u << sideLeft) | (1u << sideRight) | (1u << surround)); } -AudioChannelSet AudioChannelSet::create7point0() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << sideLeft) | (1u << sideRight) | (1u << surroundLeft) | (1u << surroundRight)); } -AudioChannelSet AudioChannelSet::create7point1() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << subbass) | (1u << sideLeft) | (1u << sideRight) | (1u << surroundLeft) | (1u << surroundRight)); } -AudioChannelSet AudioChannelSet::createFront7point0() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << surroundLeft) | (1u << surroundRight) | (1u << centreLeft) | (1u << centreRight)); } -AudioChannelSet AudioChannelSet::createFront7point1() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << subbass) | (1u << surroundLeft) | (1u << surroundRight) | (1u << centreLeft) | (1u << centreRight)); } +AudioChannelSet AudioChannelSet::create5point0() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << leftSurround) | (1u << rightSurround)); } +AudioChannelSet AudioChannelSet::create5point1() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << subbass) | (1u << leftSurround) | (1u << rightSurround)); } +AudioChannelSet AudioChannelSet::create6point0() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << leftSurround) | (1u << rightSurround) | (1u << surround)); } +AudioChannelSet AudioChannelSet::create6point0Music() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << leftRearSurround) | (1u << rightRearSurround) | (1u << leftSurround) | (1u << rightSurround)); } +AudioChannelSet AudioChannelSet::create6point1() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << subbass) | (1u << leftSurround) | (1u << rightSurround) | (1u << surround)); } +AudioChannelSet AudioChannelSet::create7point0() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << leftSurround) | (1u << rightSurround) | (1u << leftRearSurround) | (1u << rightRearSurround)); } +AudioChannelSet AudioChannelSet::create7point1() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << subbass) | (1u << leftRearSurround) | (1u << rightRearSurround) | (1u << leftSurround) | (1u << rightSurround)); } +AudioChannelSet AudioChannelSet::create7point1AC3() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << subbass) | (1u << leftSurround) | (1u << rightSurround) | (1u << leftSurroundDirect) | (1u << rightSurroundDirect)); } +AudioChannelSet AudioChannelSet::createFront7point0() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << leftSurround) | (1u << rightSurround) | (1u << leftCentre) | (1u << rightCentre)); } +AudioChannelSet AudioChannelSet::createFront7point1() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << subbass) | (1u << leftSurround) | (1u << rightSurround) | (1u << leftCentre) | (1u << rightCentre)); } AudioChannelSet AudioChannelSet::discreteChannels (int numChannels) @@ -197,7 +242,12 @@ AudioChannelSet AudioChannelSet::canonicalChannelSet (int numChannels) { if (numChannels == 1) return AudioChannelSet::mono(); if (numChannels == 2) return AudioChannelSet::stereo(); + if (numChannels == 3) return AudioChannelSet::createLCR(); if (numChannels == 4) return AudioChannelSet::quadraphonic(); + if (numChannels == 5) return AudioChannelSet::create5point0(); + if (numChannels == 6) return AudioChannelSet::create5point1(); + if (numChannels == 7) return AudioChannelSet::create7point0(); + if (numChannels == 8) return AudioChannelSet::create7point1(); return discreteChannels (numChannels); } diff --git a/modules/juce_audio_processors/processors/juce_AudioChannelSet.h b/modules/juce_audio_processors/processors/juce_AudioChannelSet.h index 9475ddf5ec..3bfc2c626a 100644 --- a/modules/juce_audio_processors/processors/juce_AudioChannelSet.h +++ b/modules/juce_audio_processors/processors/juce_AudioChannelSet.h @@ -57,6 +57,9 @@ public: /** Creates a set containing a left, right and centre channels. */ static AudioChannelSet createLCR(); + /** Creates a set containing a left, right and centre channels. */ + static AudioChannelSet createLRS(); + /** Creates a set containing a left, right, centre and surround channels. */ static AudioChannelSet createLCRS(); @@ -81,9 +84,12 @@ public: /** Creates a set for a 5.1 surround setup. */ static AudioChannelSet create5point1(); - /** Creates a set for a 6.0 surround setup. */ + /** Creates a set for a 6.0 Cine surround setup. */ static AudioChannelSet create6point0(); + /** Creates a set for a 6.0 Music surround setup. */ + static AudioChannelSet create6point0Music(); + /** Creates a set for a 6.1 surround setup. */ static AudioChannelSet create6point1(); @@ -93,6 +99,9 @@ public: /** Creates a set for a 7.1 surround setup. */ static AudioChannelSet create7point1(); + /** Creates a set for a 7.1 AC3 C surround setup. */ + static AudioChannelSet create7point1AC3(); + /** Creates a set for a 7.0 surround setup (with side instead of rear speakers). */ static AudioChannelSet createFront7point0(); @@ -110,38 +119,41 @@ public: /** Represents different audio channel types. */ enum ChannelType { - unknown = 0, + unknown = 0, - left = 1, - right = 2, - centre = 3, + left = 1, + right = 2, + centre = 3, - subbass = 4, - surroundLeft = 5, - surroundRight = 6, - centreLeft = 7, - centreRight = 8, - surround = 9, - sideLeft = 10, - sideRight = 11, - topMiddle = 12, - topFrontLeft = 13, - topFrontCentre = 14, - topFrontRight = 15, - topRearLeft = 16, - topRearCentre = 17, - topRearRight = 18, - wideLeft = 19, - wideRight = 20, - subbass2 = 21, - - ambisonicW = 22, - ambisonicX = 23, - ambisonicY = 24, - ambisonicZ = 25, + subbass = 4, + leftSurround = 5, + rightSurround = 6, + leftCentre = 7, + rightCentre = 8, + surround = 9, + leftSurroundDirect = 10, // also known as "side left" + rightSurroundDirect = 11, // also known as "side right" + topMiddle = 12, + topFrontLeft = 13, + topFrontCentre = 14, + topFrontRight = 15, + topRearLeft = 16, + topRearCentre = 17, + topRearRight = 18, + subbass2 = 19, + leftRearSurround = 20, + rightRearSurround = 21, + wideLeft = 22, + wideRight = 23, - discreteChannel0 = 64 /**< Non-typed individual channels are indexed upwards from this value. */ + ambisonicW = 24, + ambisonicX = 25, + ambisonicY = 26, + ambisonicZ = 27, + + + discreteChannel0 = 64 /**< Non-typed individual channels are indexed upwards from this value. */ }; /** Returns the name of a given channel type. For example, this method may return "Surround Left". */ @@ -176,6 +188,13 @@ public: the returned string will be empty.*/ String getSpeakerArrangementAsString() const; + /** Returns the description of the current layout. For example, this method may return + "Quadraphonic". Note that the returned string may not be unique. */ + String getDescription() const; + + /** Returns if this is a channel layout made-up of discrete channels. */ + bool isDiscreteLayout() const noexcept; + //============================================================================== bool operator== (const AudioChannelSet&) const noexcept; bool operator!= (const AudioChannelSet&) const noexcept; diff --git a/modules/juce_audio_processors/processors/juce_AudioProcessor.cpp b/modules/juce_audio_processors/processors/juce_AudioProcessor.cpp index 90ee65c89a..a5f4a79db0 100644 --- a/modules/juce_audio_processors/processors/juce_AudioProcessor.cpp +++ b/modules/juce_audio_processors/processors/juce_AudioProcessor.cpp @@ -48,11 +48,31 @@ AudioProcessor::AudioProcessor() const short channelConfigs[][2] = { {2, 2} }; #endif + #ifdef JucePlugin_MaxNumInputChannels + const int maxInChannels = JucePlugin_MaxNumInputChannels; + #else + const int maxInChannels = std::numeric_limits::max(); + #endif + ignoreUnused (maxInChannels); + + #ifdef JucePlugin_MaxNumOutputChannels + const int maxOutChannels = JucePlugin_MaxNumOutputChannels; + #else + const int maxOutChannels = std::numeric_limits::max(); + #endif + ignoreUnused (maxOutChannels); + #if ! JucePlugin_IsMidiEffect #if ! JucePlugin_IsSynth - busArrangement.inputBuses.add (AudioProcessorBus ("Input", AudioChannelSet::canonicalChannelSet (channelConfigs[0][0]))); + const int numInChannels = jmin (maxInChannels, (int) channelConfigs[0][0]); + + if (numInChannels > 0) + busArrangement.inputBuses.add (AudioProcessorBus ("Input", AudioChannelSet::canonicalChannelSet (numInChannels))); #endif - busArrangement.outputBuses.add (AudioProcessorBus ("Output", AudioChannelSet::canonicalChannelSet (channelConfigs[0][1]))); + + const int numOutChannels = jmin (maxOutChannels, (int) channelConfigs[0][1]); + if (numOutChannels > 0) + busArrangement.outputBuses.add (AudioProcessorBus ("Output", AudioChannelSet::canonicalChannelSet (numOutChannels))); #ifdef JucePlugin_PreferredChannelConfigurations #if ! JucePlugin_IsSynth @@ -435,6 +455,16 @@ bool AudioProcessor::setPreferredBusArrangement (bool isInput, int busIndex, con if (! isPositiveAndBelow (busIndex, numBuses)) return false; + #ifdef JucePlugin_MaxNumInputChannels + if (isInput && preferredSet.size() > JucePlugin_MaxNumInputChannels) + return false; + #endif + + #ifdef JucePlugin_MaxNumOutputChannels + if (! isInput && preferredSet.size() > JucePlugin_MaxNumOutputChannels) + return false; + #endif + AudioProcessorBus& bus = buses.getReference (busIndex); #ifdef JucePlugin_PreferredChannelConfigurations diff --git a/modules/juce_audio_processors/processors/juce_AudioProcessor.h b/modules/juce_audio_processors/processors/juce_AudioProcessor.h index cf87071410..8f332fb581 100644 --- a/modules/juce_audio_processors/processors/juce_AudioProcessor.h +++ b/modules/juce_audio_processors/processors/juce_AudioProcessor.h @@ -319,11 +319,11 @@ public: For most basic plug-ins, which do not require side-chains, aux buses or detailed audio channel layout information, it is easier to specify the acceptable channel configurations - via the "PlugIn Channel Configurations" field in the Introjucer. In this case, you should + via the "PlugIn Channel Configurations" field in the Projucer. In this case, you should not override this method. If, on the other hand, you decide to override this method then you need to make sure that - "PlugIn Channel Configurations" field in the Introjucer is empty. + "PlugIn Channel Configurations" field in the Projucer is empty. Note, that you must not do any heavy allocations or calculations in this callback as it may be called several hundred times during initialization. If you require any layout specific @@ -904,6 +904,7 @@ public: wrapperType_VST, wrapperType_VST3, wrapperType_AudioUnit, + wrapperType_AudioUnitv3, wrapperType_RTAS, wrapperType_AAX, wrapperType_Standalone diff --git a/modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp b/modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp index 805f80930d..68405ded36 100644 --- a/modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp +++ b/modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp @@ -34,15 +34,17 @@ PluginDirectoryScanner::PluginDirectoryScanner (KnownPluginList& listToAddTo, AudioPluginFormat& formatToLookFor, FileSearchPath directoriesToSearch, const bool recursive, - const File& deadMansPedal) + const File& deadMansPedal, + bool allowPluginsWhichRequireAsynchronousInstantiation) : list (listToAddTo), format (formatToLookFor), deadMansPedalFile (deadMansPedal), - progress (0) + progress (0), + allowAsync (allowPluginsWhichRequireAsynchronousInstantiation) { directoriesToSearch.removeRedundantPaths(); - filesOrIdentifiersToScan = format.searchPathsForPlugins (directoriesToSearch, recursive); + filesOrIdentifiersToScan = format.searchPathsForPlugins (directoriesToSearch, recursive, allowAsync); // If any plugins have crashed recently when being loaded, move them to the // end of the list to give the others a chance to load correctly.. diff --git a/modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h b/modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h index 8087c1ccbd..9bbfdab889 100644 --- a/modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h +++ b/modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h @@ -57,12 +57,16 @@ public: settings file) for this. The file format it uses is just a list of filenames of the modules that failed. + @param allowPluginsWhichRequireAsynchronousInstantiation + If this is false then the scanner will exclude plug-ins + asynchronous creation - such as AUv3 plug-ins. */ PluginDirectoryScanner (KnownPluginList& listToAddResultsTo, AudioPluginFormat& formatToLookFor, FileSearchPath directoriesToSearch, bool searchRecursively, - const File& deadMansPedalFile); + const File& deadMansPedalFile, + bool allowPluginsWhichRequireAsynchronousInstantiation = false); /** Destructor. */ ~PluginDirectoryScanner(); @@ -116,6 +120,7 @@ private: StringArray failedFiles; Atomic nextIndex; float progress; + bool allowAsync; void updateProgress(); void setDeadMansPedalFile (const StringArray& newContents); diff --git a/modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp b/modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp index 8ff304ddfe..09ed67dd4f 100644 --- a/modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp +++ b/modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp @@ -123,13 +123,14 @@ public: //============================================================================== PluginListComponent::PluginListComponent (AudioPluginFormatManager& manager, KnownPluginList& listToEdit, - const File& deadMansPedal, PropertiesFile* const props) + const File& deadMansPedal, PropertiesFile* const props, + bool allowPluginsWhichRequireAsynchronousInstantiation) : formatManager (manager), list (listToEdit), deadMansPedalFile (deadMansPedal), optionsButton ("Options..."), propertiesToUse (props), - numThreads (0) + allowAsync (allowPluginsWhichRequireAsynchronousInstantiation) { tableModel = new TableModel (*this, listToEdit); @@ -177,11 +178,6 @@ void PluginListComponent::setScanDialogText (const String& title, const String& dialogText = content; } -void PluginListComponent::setNumberOfThreadsForScanning (int num) -{ - numThreads = num; -} - void PluginListComponent::resized() { Rectangle r (getLocalBounds().reduced (2)); @@ -327,15 +323,16 @@ void PluginListComponent::setLastSearchPath (PropertiesFile& properties, AudioPl } //============================================================================== -class PluginListComponent::Scanner : private Timer +class PluginListComponent::Scanner : private Timer, private Thread { public: Scanner (PluginListComponent& plc, AudioPluginFormat& format, PropertiesFile* properties, - int threads, const String& title, const String& text) - : owner (plc), formatToScan (format), propertiesToUse (properties), + bool allowPluginsWhichRequireAsynchronousInstantiation, const String& title, const String& text) + : Thread ("Plug-in Scanner"), + owner (plc), formatToScan (format), propertiesToUse (properties), pathChooserWindow (TRANS("Select folders to scan..."), String::empty, AlertWindow::NoIcon), progressWindow (title, text, AlertWindow::NoIcon), - progress (0.0), numThreads (threads), finished (false) + progress (0.0), allowAsync (allowPluginsWhichRequireAsynchronousInstantiation), finished (false) { FileSearchPath path (formatToScan.getDefaultLocationsToSearch()); @@ -364,10 +361,10 @@ public: ~Scanner() { - if (pool != nullptr) + if (allowAsync) { - pool->removeAllJobs (true, 60000); - pool = nullptr; + signalThreadShouldExit(); + waitForThreadToExit (-1); } } @@ -380,9 +377,7 @@ private: FileSearchPathListComponent pathList; String pluginBeingScanned; double progress; - int numThreads; - bool finished; - ScopedPointer pool; + bool allowAsync, finished; static void startScanCallback (int result, AlertWindow* alert, Scanner* scanner) { @@ -465,7 +460,7 @@ private: pathChooserWindow.setVisible (false); scanner = new PluginDirectoryScanner (owner.list, formatToScan, pathList.getPath(), - true, owner.deadMansPedalFile); + true, owner.deadMansPedalFile, allowAsync); if (propertiesToUse != nullptr) { @@ -477,13 +472,8 @@ private: progressWindow.addProgressBarComponent (progress); progressWindow.enterModalState(); - if (numThreads > 0) - { - pool = new ThreadPool (numThreads); - - for (int i = numThreads; --i >= 0;) - pool->addJob (new ScanJob (*this), true); - } + if (allowAsync) + startThread(); startTimer (20); } @@ -496,7 +486,7 @@ private: void timerCallback() override { - if (pool == nullptr) + if (! allowAsync) { if (doNextScan()) startTimer (20); @@ -523,29 +513,18 @@ private: return false; } - struct ScanJob : public ThreadPoolJob + void run() override { - ScanJob (Scanner& s) : ThreadPoolJob ("pluginscan"), scanner (s) {} - - JobStatus runJob() - { - while (scanner.doNextScan() && ! shouldExit()) - {} - - return jobHasFinished; - } - - Scanner& scanner; - - JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ScanJob) - }; + while (doNextScan() && ! threadShouldExit()) + {} + } JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (Scanner) }; void PluginListComponent::scanFor (AudioPluginFormat& format) { - currentScanner = new Scanner (*this, format, propertiesToUse, numThreads, + currentScanner = new Scanner (*this, format, propertiesToUse, allowAsync, dialogTitle.isNotEmpty() ? dialogTitle : TRANS("Scanning for plug-ins..."), dialogText.isNotEmpty() ? dialogText : TRANS("Searching for all possible plug-in files...")); } diff --git a/modules/juce_audio_processors/scanning/juce_PluginListComponent.h b/modules/juce_audio_processors/scanning/juce_PluginListComponent.h index a1d6f1d75f..c85bd7b463 100644 --- a/modules/juce_audio_processors/scanning/juce_PluginListComponent.h +++ b/modules/juce_audio_processors/scanning/juce_PluginListComponent.h @@ -47,7 +47,8 @@ public: PluginListComponent (AudioPluginFormatManager& formatManager, KnownPluginList& listToRepresent, const File& deadMansPedalFile, - PropertiesFile* propertiesToUse); + PropertiesFile* propertiesToUse, + bool allowPluginsWhichRequireAsynchronousInstantiation = false); /** Destructor. */ ~PluginListComponent(); @@ -59,11 +60,6 @@ public: void setScanDialogText (const String& textForProgressWindowTitle, const String& textForProgressWindowDescription); - /** Sets how many threads to simultaneously scan for plugins. - If this is 0, then all scanning happens on the message thread (this is the default) - */ - void setNumberOfThreadsForScanning (int numThreads); - /** Returns the last search path stored in a given properties file for the specified format. */ static FileSearchPath getLastSearchPath (PropertiesFile&, AudioPluginFormat&); @@ -96,7 +92,7 @@ private: TextButton optionsButton; PropertiesFile* propertiesToUse; String dialogTitle, dialogText; - int numThreads; + bool allowAsync; class TableModel; ScopedPointer tableModel; diff --git a/modules/juce_audio_processors/utilities/juce_AudioParameterBool.h b/modules/juce_audio_processors/utilities/juce_AudioParameterBool.h index 740f95c7ef..5989ab0124 100644 --- a/modules/juce_audio_processors/utilities/juce_AudioParameterBool.h +++ b/modules/juce_audio_processors/utilities/juce_AudioParameterBool.h @@ -2,7 +2,7 @@ ============================================================================== This file is part of the JUCE library. - Copyright (c) 2013 - Raw Material Software Ltd. + 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) @@ -22,7 +22,6 @@ ============================================================================== */ - /** Provides a class of AudioProcessorParameter that can be used as a boolean value. diff --git a/modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h b/modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h index 3ad01a88ae..09c1faa224 100644 --- a/modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h +++ b/modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h @@ -2,7 +2,7 @@ ============================================================================== This file is part of the JUCE library. - Copyright (c) 2013 - Raw Material Software Ltd. + 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) @@ -22,7 +22,6 @@ ============================================================================== */ - /** Provides a class of AudioProcessorParameter that can be used to select an indexed, named choice from a list. diff --git a/modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h b/modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h index 58498d4a86..519defdbbe 100644 --- a/modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h +++ b/modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h @@ -2,7 +2,7 @@ ============================================================================== This file is part of the JUCE library. - Copyright (c) 2013 - Raw Material Software Ltd. + 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) @@ -22,7 +22,6 @@ ============================================================================== */ - /** A subclass of AudioProcessorParameter that provides an easy way to create a parameter which maps onto a given NormalisableRange. diff --git a/modules/juce_audio_processors/utilities/juce_AudioParameterInt.h b/modules/juce_audio_processors/utilities/juce_AudioParameterInt.h index aa7e38f2d2..8e13e7d127 100644 --- a/modules/juce_audio_processors/utilities/juce_AudioParameterInt.h +++ b/modules/juce_audio_processors/utilities/juce_AudioParameterInt.h @@ -2,7 +2,7 @@ ============================================================================== This file is part of the JUCE library. - Copyright (c) 2013 - Raw Material Software Ltd. + 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) @@ -22,7 +22,6 @@ ============================================================================== */ - /** Provides a class of AudioProcessorParameter that can be used as an integer value with a given range. diff --git a/modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h b/modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h index 4687e18b17..a1d877a2cb 100644 --- a/modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h +++ b/modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h @@ -2,7 +2,7 @@ ============================================================================== This file is part of the JUCE library. - Copyright (c) 2013 - Raw Material Software Ltd. + 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) @@ -22,7 +22,6 @@ ============================================================================== */ - /** This abstract base class is used by some AudioProcessorParameter helper classes. diff --git a/modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp b/modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp index 858a396b98..9e5c67911c 100644 --- a/modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp +++ b/modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp @@ -2,7 +2,7 @@ ============================================================================== This file is part of the JUCE library. - Copyright (c) 2013 - Raw Material Software Ltd. + 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) diff --git a/modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp b/modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp index 27a4ac9fdb..3d242df344 100644 --- a/modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp +++ b/modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp @@ -2,7 +2,7 @@ ============================================================================== This file is part of the JUCE library. - Copyright (c) 2013 - Raw Material Software Ltd. + 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) @@ -22,7 +22,6 @@ ============================================================================== */ - #if JUCE_COMPILER_SUPPORTS_LAMBDAS //============================================================================== diff --git a/modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h b/modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h index 0f07d39bdd..d5e53d6a92 100644 --- a/modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h +++ b/modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h @@ -2,7 +2,7 @@ ============================================================================== This file is part of the JUCE library. - Copyright (c) 2013 - Raw Material Software Ltd. + 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) diff --git a/modules/juce_audio_utils/juce_audio_utils.cpp b/modules/juce_audio_utils/juce_audio_utils.cpp index 37a2dc3aae..7ab95e7964 100644 --- a/modules/juce_audio_utils/juce_audio_utils.cpp +++ b/modules/juce_audio_utils/juce_audio_utils.cpp @@ -36,6 +36,10 @@ #include "juce_audio_utils.h" +#if JUCE_MODULE_AVAILABLE_juce_gui_extra + #include +#endif + namespace juce { @@ -47,10 +51,6 @@ namespace juce #include "gui/juce_AudioAppComponent.cpp" #include "players/juce_AudioProcessorPlayer.cpp" -#if JUCE_MODULE_AVAILABLE_juce_gui_extra - #include "../juce_gui_extra/embedding/juce_UIViewComponent.h" -#endif - #if JUCE_MAC #include "native/juce_mac_BluetoothMidiDevicePairingDialogue.mm" #elif JUCE_IOS diff --git a/modules/juce_audio_utils/juce_audio_utils.h b/modules/juce_audio_utils/juce_audio_utils.h index 98d77a706b..9a93988d57 100644 --- a/modules/juce_audio_utils/juce_audio_utils.h +++ b/modules/juce_audio_utils/juce_audio_utils.h @@ -22,13 +22,38 @@ ============================================================================== */ +/******************************************************************************* + The block below describes the properties of this module, and is read by + the Projucer to automatically generate project code that uses it. + For details about the syntax and how to create or use a module, see the + JUCE Module Format.txt file. + + + BEGIN_JUCE_MODULE_DECLARATION + + ID: juce_audio_utils + vendor: juce + version: 4.2.0 + name: JUCE extra audio utility classes + description: Classes for audio-related GUI and miscellaneous tasks. + website: http://www.juce.com/juce + license: GPL/Commercial + + dependencies: juce_gui_extra, juce_audio_basics, juce_audio_processors, juce_audio_formats + iOSFrameworks: CoreAudioKit + + END_JUCE_MODULE_DECLARATION + +*******************************************************************************/ + + #ifndef JUCE_AUDIO_UTILS_H_INCLUDED #define JUCE_AUDIO_UTILS_H_INCLUDED -#include "../juce_gui_basics/juce_gui_basics.h" -#include "../juce_audio_devices/juce_audio_devices.h" -#include "../juce_audio_formats/juce_audio_formats.h" -#include "../juce_audio_processors/juce_audio_processors.h" +#include +#include +#include +#include //============================================================================== namespace juce diff --git a/modules/juce_audio_utils/juce_module_info b/modules/juce_audio_utils/juce_module_info deleted file mode 100644 index fcde54aa67..0000000000 --- a/modules/juce_audio_utils/juce_module_info +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": "juce_audio_utils", - "name": "JUCE extra audio utility classes", - "version": "4.1.0", - "description": "Classes for audio-related GUI and miscellaneous tasks.", - "website": "http://www.juce.com/juce", - "license": "GPL/Commercial", - - "dependencies": [ { "id": "juce_gui_basics", "version": "matching" }, - { "id": "juce_audio_devices", "version": "matching" }, - { "id": "juce_audio_processors", "version": "matching" }, - { "id": "juce_audio_formats", "version": "matching" } ], - - "include": "juce_audio_utils.h", - - "compile": [ { "file": "juce_audio_utils.cpp", "target": "! xcode" }, - { "file": "juce_audio_utils.mm", "target": "xcode" } ], - - "browse": [ "gui/*", - "players/*", - "native/*" ], - - "iOSFrameworks": "CoreAudioKit" -} diff --git a/modules/juce_audio_utils/native/juce_android_BluetoothMidiDevicePairingDialogue.cpp b/modules/juce_audio_utils/native/juce_android_BluetoothMidiDevicePairingDialogue.cpp index 05a8afe04a..d3d5831397 100644 --- a/modules/juce_audio_utils/native/juce_android_BluetoothMidiDevicePairingDialogue.cpp +++ b/modules/juce_audio_utils/native/juce_android_BluetoothMidiDevicePairingDialogue.cpp @@ -22,7 +22,6 @@ ============================================================================== */ - //============================================================================== #define JNI_CLASS_MEMBERS(METHOD, STATICMETHOD, FIELD, STATICFIELD) \ METHOD (getMidiBluetoothAddresses, "getMidiBluetoothAddresses", "()[Ljava/lang/String;") \ diff --git a/modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm b/modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm index 5179cabfc4..8e1288e329 100644 --- a/modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm +++ b/modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm @@ -87,7 +87,7 @@ public: void inputAttemptWhenModal() override { close(); } void mouseDrag (const MouseEvent&) override {} void mouseDown (const MouseEvent&) override { close(); } - void resized () override { update(); } + void resized() override { update(); } void parentSizeChanged() override { update(); } private: diff --git a/modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp b/modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp index 8d25c1a9f0..4227dfb6e5 100644 --- a/modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp +++ b/modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp @@ -45,7 +45,39 @@ void AudioProcessorPlayer::setProcessor (AudioProcessor* const processorToPlay) { if (processorToPlay != nullptr && sampleRate > 0 && blockSize > 0) { - processorToPlay->setPlayConfigDetails (numInputChans, numOutputChans, sampleRate, blockSize); + const int numInBuses = processorToPlay->busArrangement.inputBuses. size(); + const int numOutBuses = processorToPlay->busArrangement.outputBuses.size(); + + for (int i = 1; i < numInBuses; ++i) + { + bool success = processorToPlay->setPreferredBusArrangement (true, i, AudioChannelSet::disabled()); + + // if using in audio processor player, it must be possible to disable sidechains + jassert (success); + + ignoreUnused (success); + } + + for (int i = 1; i < numOutBuses; ++i) + { + bool success = processorToPlay->setPreferredBusArrangement (false, i, AudioChannelSet::disabled()); + + // if using in audio processor player, it must be possible to disable aux outputs + jassert (success); + + ignoreUnused(success); + } + + if (numInBuses > 0 && processorToPlay->busArrangement.inputBuses.getReference(0).channels.size() != numInputChans) + processorToPlay->setPreferredBusArrangement (true, 0, AudioChannelSet::canonicalChannelSet(numInputChans)); + + if (numOutBuses > 0 && processorToPlay->busArrangement.outputBuses.getReference(0).channels.size() != numOutputChans) + processorToPlay->setPreferredBusArrangement (false, 0, AudioChannelSet::canonicalChannelSet(numOutputChans)); + + jassert (processorToPlay->getTotalNumInputChannels() == numInputChans); + jassert (processorToPlay->getTotalNumOutputChannels() == numOutputChans); + + processorToPlay->setRateAndBufferSizeDetails (sampleRate, blockSize); const bool supportsDouble = processorToPlay->supportsDoublePrecisionProcessing() && isDoublePrecision; AudioProcessor::ProcessingPrecision precision = supportsDouble ? AudioProcessor::doublePrecision diff --git a/modules/juce_box2d/juce_box2d.h b/modules/juce_box2d/juce_box2d.h index 87409af75d..0a2886aa02 100644 --- a/modules/juce_box2d/juce_box2d.h +++ b/modules/juce_box2d/juce_box2d.h @@ -22,11 +22,35 @@ ============================================================================== */ +/******************************************************************************* + The block below describes the properties of this module, and is read by + the Projucer to automatically generate project code that uses it. + For details about the syntax and how to create or use a module, see the + JUCE Module Format.txt file. + + + BEGIN_JUCE_MODULE_DECLARATION + + ID: juce_box2d + vendor: juce + version: 4.2.0 + name: JUCE wrapper for the Box2D physics engine + description: The Box2D physics engine and some utility classes. + website: http://www.juce.com/juce + license: GPL/Commercial + + dependencies: juce_graphics + + END_JUCE_MODULE_DECLARATION + +*******************************************************************************/ + + #ifndef JUCE_BOX2D_H_INCLUDED #define JUCE_BOX2D_H_INCLUDED //============================================================================== -#include "../juce_graphics/juce_graphics.h" +#include #include "box2d/Box2D.h" diff --git a/modules/juce_box2d/juce_module_info b/modules/juce_box2d/juce_module_info deleted file mode 100644 index a91c16e21a..0000000000 --- a/modules/juce_box2d/juce_module_info +++ /dev/null @@ -1,16 +0,0 @@ -{ - "id": "juce_box2d", - "name": "JUCE wrapper for the Box2D physics engine", - "version": "4.1.0", - "description": "The Box2D physics engine and some utility classes.", - "website": "http://www.juce.com/juce", - "license": "GPL/Commercial", - - "dependencies": [ { "id": "juce_graphics", "version": "matching" } ], - - "include": "juce_box2d.h", - - "compile": [ { "file": "juce_box2d.cpp" } ], - - "browse": [ "box2d/*", "utils/*" ] -} diff --git a/modules/juce_core/juce_core.cpp b/modules/juce_core/juce_core.cpp index b052bf54eb..34d63a259b 100644 --- a/modules/juce_core/juce_core.cpp +++ b/modules/juce_core/juce_core.cpp @@ -43,6 +43,7 @@ #include #include +#include #if ! JUCE_ANDROID #include @@ -117,7 +118,7 @@ //============================================================================== #ifndef JUCE_STANDALONE_APPLICATION - JUCE_COMPILER_WARNING ("Please re-save your Introjucer project with the latest Introjucer version to avoid this warning") + JUCE_COMPILER_WARNING ("Please re-save your project with the latest Projucer version to avoid this warning") #define JUCE_STANDALONE_APPLICATION 0 #endif diff --git a/modules/juce_core/juce_core.h b/modules/juce_core/juce_core.h index 7f7523ed8e..ed908bb2c3 100644 --- a/modules/juce_core/juce_core.h +++ b/modules/juce_core/juce_core.h @@ -26,6 +26,35 @@ ============================================================================== */ + +/******************************************************************************* + The block below describes the properties of this module, and is read by + the Projucer to automatically generate project code that uses it. + For details about the syntax and how to create or use a module, see the + JUCE Module Format.txt file. + + + BEGIN_JUCE_MODULE_DECLARATION + + ID: juce_core + vendor: juce + version: 4.2.0 + name: JUCE core classes + description: The essential set of basic JUCE classes, as required by all the other JUCE modules. Includes text, container, memory, threading and i/o functionality. + website: http://www.juce.com/juce + license: GPL/Commercial + + dependencies: + OSXFrameworks: Cocoa IOKit + iOSFrameworks: Foundation + linuxLibs: rt dl pthread + mingwLibs: uuid wsock32 wininet version ole32 ws2_32 oleaut32 imm32 comdlg32 shlwapi rpcrt4 winmm + + END_JUCE_MODULE_DECLARATION + +*******************************************************************************/ + + #ifndef JUCE_CORE_H_INCLUDED #define JUCE_CORE_H_INCLUDED @@ -312,6 +341,11 @@ extern JUCE_API void JUCE_CALLTYPE logAssertion (const char* file, int line) noe #if JUCE_MSVC #pragma warning (pop) + + // In DLL builds, need to disable this warnings for other modules + #if defined (JUCE_DLL_BUILD) || defined (JUCE_DLL) + #pragma warning (disable: 4251) + #endif #endif #endif // JUCE_CORE_H_INCLUDED diff --git a/modules/juce_core/juce_module_info b/modules/juce_core/juce_module_info deleted file mode 100644 index 52b7dd9c92..0000000000 --- a/modules/juce_core/juce_module_info +++ /dev/null @@ -1,38 +0,0 @@ -{ - "id": "juce_core", - "name": "JUCE core classes", - "version": "4.1.0", - "description": "The essential set of basic JUCE classes, as required by all the other JUCE modules. Includes text, container, memory, threading and i/o functionality.", - "website": "http://www.juce.com/juce", - "license": "ISC Permissive", - - "dependencies": [], - - "include": "juce_core.h", - - "compile": [ { "file": "juce_core.cpp", "target": "! xcode" }, - { "file": "juce_core.mm", "target": "xcode" } ], - - "browse": [ "text/*", - "maths/*", - "memory/*", - "containers/*", - "threads/*", - "time/*", - "files/*", - "network/*", - "streams/*", - "logging/*", - "system/*", - "xml/*", - "javascript/*", - "zip/*", - "unit_tests/*", - "misc/*", - "native/*" ], - - "OSXFrameworks": "Cocoa IOKit", - "iOSFrameworks": "Foundation", - "LinuxLibs": "rt dl pthread", - "mingwLibs": "uuid wsock32 wininet version ole32 ws2_32 oleaut32 imm32 comdlg32 shlwapi rpcrt4 winmm" -} diff --git a/modules/juce_core/memory/juce_ReferenceCountedObject.h b/modules/juce_core/memory/juce_ReferenceCountedObject.h index fca745eba1..9a2e9c7fb9 100644 --- a/modules/juce_core/memory/juce_ReferenceCountedObject.h +++ b/modules/juce_core/memory/juce_ReferenceCountedObject.h @@ -369,42 +369,42 @@ private: //============================================================================== -/** Compares two ReferenceCountedObjectPointers. */ +/** Compares two ReferenceCountedObjectPtrs. */ template bool operator== (const ReferenceCountedObjectPtr& object1, ReferenceCountedObjectClass* const object2) noexcept { return object1.get() == object2; } -/** Compares two ReferenceCountedObjectPointers. */ +/** Compares two ReferenceCountedObjectPtrs. */ template bool operator== (const ReferenceCountedObjectPtr& object1, const ReferenceCountedObjectPtr& object2) noexcept { return object1.get() == object2.get(); } -/** Compares two ReferenceCountedObjectPointers. */ +/** Compares two ReferenceCountedObjectPtrs. */ template bool operator== (ReferenceCountedObjectClass* object1, const ReferenceCountedObjectPtr& object2) noexcept { return object1 == object2.get(); } -/** Compares two ReferenceCountedObjectPointers. */ +/** Compares two ReferenceCountedObjectPtrs. */ template bool operator!= (const ReferenceCountedObjectPtr& object1, const ReferenceCountedObjectClass* object2) noexcept { return object1.get() != object2; } -/** Compares two ReferenceCountedObjectPointers. */ +/** Compares two ReferenceCountedObjectPtrs. */ template bool operator!= (const ReferenceCountedObjectPtr& object1, const ReferenceCountedObjectPtr& object2) noexcept { return object1.get() != object2.get(); } -/** Compares two ReferenceCountedObjectPointers. */ +/** Compares two ReferenceCountedObjectPtrs. */ template bool operator!= (ReferenceCountedObjectClass* object1, const ReferenceCountedObjectPtr& object2) noexcept { diff --git a/modules/juce_core/misc/juce_RuntimePermissions.h b/modules/juce_core/misc/juce_RuntimePermissions.h index 814cecc690..c40a413ce7 100644 --- a/modules/juce_core/misc/juce_RuntimePermissions.h +++ b/modules/juce_core/misc/juce_RuntimePermissions.h @@ -68,7 +68,7 @@ class JUCE_API RuntimePermissions { public: - //========================================================================== + //============================================================================== enum PermissionID { /** Permission to access the microphone (required on Android). @@ -84,7 +84,7 @@ public: bluetoothMidi = 2, }; - //========================================================================== + //============================================================================== /** Function type of runtime permission request callbacks. */ #if JUCE_COMPILER_SUPPORTS_LAMBDAS typedef std::function Callback; @@ -92,7 +92,7 @@ public: typedef void (*Callback) (bool); #endif - //========================================================================== + //============================================================================== /** Call this method to request a runtime permission. @param permission The PermissionID of the permission you want to request. diff --git a/modules/juce_core/native/java/JuceAppActivity.java b/modules/juce_core/native/java/JuceAppActivity.java index c9abe257c7..8ece717ee6 100644 --- a/modules/juce_core/native/java/JuceAppActivity.java +++ b/modules/juce_core/native/java/JuceAppActivity.java @@ -59,7 +59,7 @@ import android.media.MediaScannerConnection.MediaScannerConnectionClient; import android.support.v4.content.ContextCompat; import android.support.v4.app.ActivityCompat; import android.Manifest; -$$JuceAndroidMidiImports$$ // If you get an error here, you need to re-save your project with the introjucer! +$$JuceAndroidMidiImports$$ // If you get an error here, you need to re-save your project with the Projucer! //============================================================================== @@ -138,7 +138,7 @@ public class JuceAppActivity extends Activity private native void androidRuntimePermissionsCallback (boolean permissionWasGranted, long ptrToCallback); - $$JuceAndroidRuntimePermissionsCode$$ // If you get an error here, you need to re-save your project with the introjucer! + $$JuceAndroidRuntimePermissionsCode$$ // If you get an error here, you need to re-save your project with the Projucer! //============================================================================== public static class MidiPortID extends Object @@ -189,7 +189,7 @@ public class JuceAppActivity extends Activity } //============================================================================== - $$JuceAndroidMidiCode$$ // If you get an error here, you need to re-save your project with the introjucer! + $$JuceAndroidMidiCode$$ // If you get an error here, you need to re-save your project with the Projucer! //============================================================================== @Override diff --git a/modules/juce_core/native/juce_android_RuntimePermissions.cpp b/modules/juce_core/native/juce_android_RuntimePermissions.cpp index d368415745..4b75fbc7a2 100644 --- a/modules/juce_core/native/juce_android_RuntimePermissions.cpp +++ b/modules/juce_core/native/juce_android_RuntimePermissions.cpp @@ -57,7 +57,7 @@ void RuntimePermissions::request (PermissionID permission, Callback callback) { // Error! If you want to be able to request this runtime permission, you // also need to declare it in your app's manifest. You can do so via - // the Introjucer. Otherwise this can't work. + // the Projucer. Otherwise this can't work. jassertfalse; callback (false); diff --git a/modules/juce_core/native/juce_mac_Files.mm b/modules/juce_core/native/juce_mac_Files.mm index a715e1fba8..c5614e6ba5 100644 --- a/modules/juce_core/native/juce_mac_Files.mm +++ b/modules/juce_core/native/juce_mac_Files.mm @@ -405,6 +405,10 @@ bool JUCE_CALLTYPE Process::openDocument (const String& fileName, const String& #if JUCE_IOS ignoreUnused (parameters); + + if (SystemStats::isRunningInAppExtensionSandbox()) + return false; + return [[UIApplication sharedApplication] openURL: filenameAsURL]; #else NSWorkspace* workspace = [NSWorkspace sharedWorkspace]; diff --git a/modules/juce_core/native/juce_mac_Threads.mm b/modules/juce_core/native/juce_mac_Threads.mm index b8b793b630..f24ce0ab31 100644 --- a/modules/juce_core/native/juce_mac_Threads.mm +++ b/modules/juce_core/native/juce_mac_Threads.mm @@ -38,6 +38,9 @@ bool isIOSAppActive = true; //============================================================================== JUCE_API bool JUCE_CALLTYPE Process::isForegroundProcess() { + if (SystemStats::isRunningInAppExtensionSandbox()) + return true; + #if JUCE_MAC return [NSApp isActive]; #else @@ -48,14 +51,16 @@ JUCE_API bool JUCE_CALLTYPE Process::isForegroundProcess() JUCE_API void JUCE_CALLTYPE Process::makeForegroundProcess() { #if JUCE_MAC - [NSApp activateIgnoringOtherApps: YES]; + if (! SystemStats::isRunningInAppExtensionSandbox()) + [NSApp activateIgnoringOtherApps: YES]; #endif } JUCE_API void JUCE_CALLTYPE Process::hide() { #if JUCE_MAC - [NSApp hide: nil]; + if (! SystemStats::isRunningInAppExtensionSandbox()) + [NSApp hide: nil]; #endif } diff --git a/modules/juce_core/native/juce_osx_ObjCHelpers.h b/modules/juce_core/native/juce_osx_ObjCHelpers.h index afd1d02289..9a164dd92f 100644 --- a/modules/juce_core/native/juce_osx_ObjCHelpers.h +++ b/modules/juce_core/native/juce_osx_ObjCHelpers.h @@ -65,12 +65,28 @@ namespace static_cast (r.getWidth()), static_cast (r.getHeight())); } + #endif + #if JUCE_MAC || JUCE_IOS + #if JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES + + // This is necessary as on iOS builds, some arguments may be passed on registers + // depending on the argument type. The re-cast objc_msgSendSuper to a function + // take the same arguments as the target method. + template + static inline ReturnValue ObjCMsgSendSuper (struct objc_super* s, SEL sel, Params... params) + { + typedef ReturnValue (*SuperFn)(struct objc_super*, SEL, Params...); + SuperFn fn = reinterpret_cast (objc_msgSendSuper); + return fn (s, sel, params...); + } + + #endif // These hacks are a workaround for newer Xcode builds which by default prevent calls to these objc functions.. typedef id (*MsgSendSuperFn) (struct objc_super*, SEL, ...); static inline MsgSendSuperFn getMsgSendSuperFn() noexcept { return (MsgSendSuperFn) (void*) objc_msgSendSuper; } - #if ! JUCE_PPC + #if ! JUCE_PPC && ! JUCE_IOS typedef double (*MsgSendFPRetFn) (id, SEL op, ...); static inline MsgSendFPRetFn getMsgSendFPRetFn() noexcept { return (MsgSendFPRetFn) (void*) objc_msgSend_fpret; } #endif @@ -149,7 +165,7 @@ struct ObjCClass jassert (b); ignoreUnused (b); } - #if JUCE_MAC + #if JUCE_MAC || JUCE_IOS static id sendSuperclassMessage (id self, SEL selector) { objc_super s = { self, [SuperclassType class] }; @@ -176,5 +192,37 @@ private: JUCE_DECLARE_NON_COPYABLE (ObjCClass) }; +#if JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES + +template +ReturnT (^CreateObjCBlock(Class* object, ReturnT (Class::*fn)(Params...))) (Params...) +{ + __block Class* _this = object; + __block ReturnT (Class::*_fn)(Params...) = fn; + + return [[^ReturnT (Params... params) { return (_this->*_fn) (params...); } copy] autorelease]; +} + +template +class ObjCBlock +{ +public: + ObjCBlock() { block = nullptr; } + template + ObjCBlock (C* _this, R (C::*fn)(P...)) : block (CreateObjCBlock (_this, fn)) {} + ObjCBlock (BlockType b) : block ([b copy]) {} + ObjCBlock& operator= (const BlockType& other) { if (block != nullptr) { [block release]; } block = [other copy]; return *this; } + bool operator== (std::nullptr_t) const { return (block == nullptr); } + bool operator!= (std::nullptr_t) const { return (block != nullptr); } + ~ObjCBlock() { if (block != nullptr) [block release]; } + + operator BlockType() { return block; } + +private: + BlockType block; +}; + +#endif + #endif // JUCE_OSX_OBJCHELPERS_H_INCLUDED diff --git a/modules/juce_core/native/juce_posix_SharedCode.h b/modules/juce_core/native/juce_posix_SharedCode.h index 04bf043c63..412c36a3d4 100644 --- a/modules/juce_core/native/juce_posix_SharedCode.h +++ b/modules/juce_core/native/juce_posix_SharedCode.h @@ -26,6 +26,10 @@ ============================================================================== */ +#ifdef JUCE_MODULE_AVAILABLE_juce_audio_plugin_client + extern int* jucePlugInClientCurrentWrapperType; +#endif + CriticalSection::CriticalSection() noexcept { pthread_mutexattr_t atts; @@ -629,12 +633,19 @@ File juce_getExecutableFile() static String getFilename() { Dl_info exeInfo; - dladdr ((void*) juce_getExecutableFile, &exeInfo); + + #ifdef JUCE_MODULE_AVAILABLE_juce_audio_plugin_client + void* localSymbol = jucePlugInClientCurrentWrapperType != nullptr ? (void*) jucePlugInClientCurrentWrapperType + : (void*) juce_getExecutableFile; + #else + void* localSymbol = (void*) juce_getExecutableFile; + #endif + dladdr (localSymbol, &exeInfo); return CharPointer_UTF8 (exeInfo.dli_fname); } }; - static String filename (DLAddrReader::getFilename()); + static String filename = DLAddrReader::getFilename(); return File::getCurrentWorkingDirectory().getChildFile (filename); #endif } diff --git a/modules/juce_core/network/juce_Socket.cpp b/modules/juce_core/network/juce_Socket.cpp index 2a46653497..c2db9bc580 100644 --- a/modules/juce_core/network/juce_Socket.cpp +++ b/modules/juce_core/network/juce_Socket.cpp @@ -1,743 +1,744 @@ -/* - ============================================================================== - - This file is part of the juce_core module of the JUCE library. - Copyright (c) 2015 - ROLI Ltd. - - Permission to use, copy, modify, and/or distribute this software for any purpose with - or without fee is hereby granted, provided that the above copyright notice and this - permission notice appear in all copies. - - THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD - TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN - NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL - DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER - IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN - CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - ------------------------------------------------------------------------------ - - NOTE! This permissive ISC license applies ONLY to files within the juce_core module! - All other JUCE modules are covered by a dual GPL/commercial license, so if you are - using any other modules, be sure to check that you also comply with their license. - - For more details, visit www.juce.com - - ============================================================================== -*/ - -#if JUCE_MSVC - #pragma warning (push) - #pragma warning (disable : 4127 4389 4018) -#endif - -#ifndef AI_NUMERICSERV // (missing in older Mac SDKs) - #define AI_NUMERICSERV 0x1000 -#endif - -#if JUCE_WINDOWS - typedef int juce_socklen_t; - typedef SOCKET SocketHandle; -#else - typedef socklen_t juce_socklen_t; - typedef int SocketHandle; -#endif - -//============================================================================== -namespace SocketHelpers -{ - static void initSockets() - { - #if JUCE_WINDOWS - static bool socketsStarted = false; - - if (! socketsStarted) - { - socketsStarted = true; - - WSADATA wsaData; - const WORD wVersionRequested = MAKEWORD (1, 1); - WSAStartup (wVersionRequested, &wsaData); - } - #endif - } - - inline bool isValidPortNumber (int port) noexcept - { - return isPositiveAndBelow (port, 65536); - } - - template - static bool setOption (const SocketHandle handle, int mode, int property, Type value) noexcept - { - return setsockopt (handle, mode, property, reinterpret_cast (&value), sizeof (value)) == 0; - } - - template - static bool setOption (const SocketHandle handle, int property, Type value) noexcept - { - return setOption (handle, SOL_SOCKET, property, value); - } - - static bool resetSocketOptions (const SocketHandle handle, const bool isDatagram, const bool allowBroadcast) noexcept - { - return handle > 0 - && setOption (handle, SO_RCVBUF, (int) 65536) - && setOption (handle, SO_SNDBUF, (int) 65536) - && (isDatagram ? ((! allowBroadcast) || setOption (handle, SO_BROADCAST, (int) 1)) - : setOption (handle, IPPROTO_TCP, TCP_NODELAY, (int) 1)); - } - - static void closeSocket (volatile int& handle, CriticalSection& readLock, - const bool isListener, int portNumber, bool& connected) noexcept - { - const SocketHandle h = handle; - handle = -1; - - #if JUCE_WINDOWS - ignoreUnused (portNumber, isListener, readLock); - - if (h != SOCKET_ERROR || connected) - closesocket (h); - - // make sure any read process finishes before we delete the socket - CriticalSection::ScopedLockType lock(readLock); - connected = false; - #else - if (connected) - { - connected = false; - - if (isListener) - { - // need to do this to interrupt the accept() function.. - StreamingSocket temp; - temp.connect (IPAddress::local().toString(), portNumber, 1000); - } - } - - if (h != -1) - { - // unblock any pending read requests - ::shutdown (h, SHUT_RDWR); - - { - // see man-page of recv on linux about a race condition where the - // shutdown command is lost if the receiving thread does not have - // a chance to process before close is called. On Mac OS X shutdown - // does not unblock a select call, so using a lock here will dead-lock - // both threads. - #if JUCE_LINUX - CriticalSection::ScopedLockType lock (readLock); - ::close (h); - #else - ::close (h); - CriticalSection::ScopedLockType lock (readLock); - #endif - } - } - #endif - } - - static bool bindSocket (const SocketHandle handle, int port, const String& address) noexcept - { - if (handle <= 0 || ! isValidPortNumber (port)) - return false; - - struct sockaddr_in addr; - zerostruct (addr); // (can't use "= { 0 }" on this object because it's typedef'ed as a C struct) - - addr.sin_family = PF_INET; - addr.sin_port = htons ((uint16) port); - addr.sin_addr.s_addr = address.isNotEmpty() ? ::inet_addr (address.toRawUTF8()) - : htonl (INADDR_ANY); - - return ::bind (handle, (struct sockaddr*) &addr, sizeof (addr)) >= 0; - } - - static int getBoundPort (const SocketHandle handle) noexcept - { - if (handle > 0) - { - struct sockaddr_in addr; - socklen_t len = sizeof (addr); - - if (getsockname (handle, (struct sockaddr*) &addr, &len) == 0) - return ntohs (addr.sin_port); - } - - return -1; - } - - static int readSocket (const SocketHandle handle, - void* const destBuffer, const int maxBytesToRead, - bool volatile& connected, - const bool blockUntilSpecifiedAmountHasArrived, - CriticalSection& readLock, - String* senderIP = nullptr, - int* senderPort = nullptr) noexcept - { - int bytesRead = 0; - - while (bytesRead < maxBytesToRead) - { - long bytesThisTime = -1; - char* const buffer = static_cast (destBuffer) + bytesRead; - const juce_socklen_t numToRead = (juce_socklen_t) (maxBytesToRead - bytesRead); - - { - // avoid race-condition - CriticalSection::ScopedTryLockType lock (readLock); - - if (lock.isLocked()) - { - if (senderIP == nullptr || senderPort == nullptr) - { - bytesThisTime = ::recv (handle, buffer, numToRead, 0); - } - else - { - sockaddr_in client; - socklen_t clientLen = sizeof (sockaddr); - - bytesThisTime = ::recvfrom (handle, buffer, numToRead, 0, (sockaddr*) &client, &clientLen); - - *senderIP = String::fromUTF8 (inet_ntoa (client.sin_addr), 16); - *senderPort = ntohs (client.sin_port); - } - } - } - - if (bytesThisTime <= 0 || ! connected) - { - if (bytesRead == 0 && blockUntilSpecifiedAmountHasArrived) - bytesRead = -1; - - break; - } - - bytesRead += bytesThisTime; - - if (! blockUntilSpecifiedAmountHasArrived) - break; - } - - return (int) bytesRead; - } - - static int waitForReadiness (const volatile int& handle, CriticalSection& readLock, - const bool forReading, const int timeoutMsecs) noexcept - { - // avoid race-condition - CriticalSection::ScopedTryLockType lock (readLock); - - if (! lock.isLocked()) - return -1; - - int h = handle; - - struct timeval timeout; - struct timeval* timeoutp; - - if (timeoutMsecs >= 0) - { - timeout.tv_sec = timeoutMsecs / 1000; - timeout.tv_usec = (timeoutMsecs % 1000) * 1000; - timeoutp = &timeout; - } - else - { - timeoutp = 0; - } - - fd_set rset, wset; - FD_ZERO (&rset); - FD_SET (h, &rset); - FD_ZERO (&wset); - FD_SET (h, &wset); - - fd_set* const prset = forReading ? &rset : nullptr; - fd_set* const pwset = forReading ? nullptr : &wset; - - #if JUCE_WINDOWS - if (select ((int) h + 1, prset, pwset, 0, timeoutp) < 0) - return -1; - #else - { - int result; - while ((result = select (h + 1, prset, pwset, 0, timeoutp)) < 0 - && errno == EINTR) - { - } - - if (result < 0) - return -1; - } - #endif - - // we are closing - if (handle < 0) - return -1; - - { - int opt; - juce_socklen_t len = sizeof (opt); - - if (getsockopt (h, SOL_SOCKET, SO_ERROR, (char*) &opt, &len) < 0 - || opt != 0) - return -1; - } - - return FD_ISSET (h, forReading ? &rset : &wset) ? 1 : 0; - } - - static bool setSocketBlockingState (const SocketHandle handle, const bool shouldBlock) noexcept - { - #if JUCE_WINDOWS - u_long nonBlocking = shouldBlock ? 0 : (u_long) 1; - return ioctlsocket (handle, FIONBIO, &nonBlocking) == 0; - #else - int socketFlags = fcntl (handle, F_GETFL, 0); - - if (socketFlags == -1) - return false; - - if (shouldBlock) - socketFlags &= ~O_NONBLOCK; - else - socketFlags |= O_NONBLOCK; - - return fcntl (handle, F_SETFL, socketFlags) == 0; - #endif - } - - static addrinfo* getAddressInfo (const bool isDatagram, const String& hostName, int portNumber) - { - struct addrinfo hints; - zerostruct (hints); - - hints.ai_family = AF_UNSPEC; - hints.ai_socktype = isDatagram ? SOCK_DGRAM : SOCK_STREAM; - hints.ai_flags = AI_NUMERICSERV; - - struct addrinfo* info = nullptr; - if (getaddrinfo (hostName.toUTF8(), String (portNumber).toUTF8(), &hints, &info) == 0) - return info; - - return nullptr; - } - - static bool connectSocket (int volatile& handle, - CriticalSection& readLock, - const String& hostName, - const int portNumber, - const int timeOutMillisecs) noexcept - { - bool success = false; - - if (struct addrinfo* info = getAddressInfo (false, hostName, portNumber)) - { - for (struct addrinfo* i = info; i != nullptr; i = i->ai_next) - { - const SocketHandle newHandle = socket (i->ai_family, i->ai_socktype, 0); - - if (newHandle >= 0) - { - setSocketBlockingState (newHandle, false); - const int result = ::connect (newHandle, i->ai_addr, (socklen_t) i->ai_addrlen); - success = (result >= 0); - - if (! success) - { - #if JUCE_WINDOWS - if (result == SOCKET_ERROR && WSAGetLastError() == WSAEWOULDBLOCK) - #else - if (errno == EINPROGRESS) - #endif - { - if (waitForReadiness (newHandle, readLock, false, timeOutMillisecs) == 1) - success = true; - } - } - - if (success) - { - handle = (int) newHandle; - break; - } - - #if JUCE_WINDOWS - closesocket (newHandle); - #else - ::close (newHandle); - #endif - } - } - - freeaddrinfo (info); - - if (success) - { - setSocketBlockingState (handle, true); - resetSocketOptions (handle, false, false); - } - } - - return success; - } - - static void makeReusable (int handle) noexcept - { - setOption (handle, SO_REUSEADDR, (int) 1); - } - - static bool multicast (int handle, const String& multicastIPAddress, - const String& interfaceIPAddress, bool join) noexcept - { - struct ip_mreq mreq; - - zerostruct (mreq); - mreq.imr_multiaddr.s_addr = inet_addr (multicastIPAddress.toRawUTF8()); - mreq.imr_interface.s_addr = INADDR_ANY; - - if (interfaceIPAddress.isNotEmpty()) - mreq.imr_interface.s_addr = inet_addr (interfaceIPAddress.toRawUTF8()); - - return setsockopt (handle, IPPROTO_IP, - join ? IP_ADD_MEMBERSHIP - : IP_DROP_MEMBERSHIP, - (const char*) &mreq, sizeof (mreq)) == 0; - } -} - -//============================================================================== -StreamingSocket::StreamingSocket() - : portNumber (0), - handle (-1), - connected (false), - isListener (false) -{ - SocketHelpers::initSockets(); -} - -StreamingSocket::StreamingSocket (const String& host, int portNum, int h) - : hostName (host), - portNumber (portNum), - handle (h), - connected (true), - isListener (false) -{ - jassert (SocketHelpers::isValidPortNumber (portNum)); - - SocketHelpers::initSockets(); - SocketHelpers::resetSocketOptions (h, false, false); -} - -StreamingSocket::~StreamingSocket() -{ - close(); -} - -//============================================================================== -int StreamingSocket::read (void* destBuffer, const int maxBytesToRead, bool shouldBlock) -{ - return (connected && ! isListener) ? SocketHelpers::readSocket (handle, destBuffer, maxBytesToRead, - connected, shouldBlock, readLock) - : -1; -} - -int StreamingSocket::write (const void* sourceBuffer, const int numBytesToWrite) -{ - if (isListener || ! connected) - return -1; - - return (int) ::send (handle, (const char*) sourceBuffer, (juce_socklen_t) numBytesToWrite, 0); -} - -//============================================================================== -int StreamingSocket::waitUntilReady (const bool readyForReading, - const int timeoutMsecs) const -{ - return connected ? SocketHelpers::waitForReadiness (handle, readLock, readyForReading, timeoutMsecs) - : -1; -} - -//============================================================================== -bool StreamingSocket::bindToPort (const int port) -{ - return bindToPort (port, String()); -} - -bool StreamingSocket::bindToPort (const int port, const String& addr) -{ - jassert (SocketHelpers::isValidPortNumber (port)); - - return SocketHelpers::bindSocket (handle, port, addr); -} - -int StreamingSocket::getBoundPort() const noexcept -{ - return SocketHelpers::getBoundPort (handle); -} - -bool StreamingSocket::connect (const String& remoteHostName, - const int remotePortNumber, - const int timeOutMillisecs) -{ - jassert (SocketHelpers::isValidPortNumber (remotePortNumber)); - - if (isListener) - { - jassertfalse; // a listener socket can't connect to another one! - return false; - } - - if (connected) - close(); - - hostName = remoteHostName; - portNumber = remotePortNumber; - isListener = false; - - connected = SocketHelpers::connectSocket (handle, readLock, remoteHostName, - remotePortNumber, timeOutMillisecs); - - if (! (connected && SocketHelpers::resetSocketOptions (handle, false, false))) - { - close(); - return false; - } - - return true; -} - -void StreamingSocket::close() -{ - SocketHelpers::closeSocket (handle, readLock, isListener, portNumber, connected); - - hostName.clear(); - portNumber = 0; - handle = -1; - isListener = false; -} - -//============================================================================== -bool StreamingSocket::createListener (const int newPortNumber, const String& localHostName) -{ - jassert (SocketHelpers::isValidPortNumber (newPortNumber)); - - if (connected) - close(); - - hostName = "listener"; - portNumber = newPortNumber; - isListener = true; - - handle = (int) socket (AF_INET, SOCK_STREAM, 0); - - if (handle < 0) - return false; - - #if ! JUCE_WINDOWS // on windows, adding this option produces behaviour different to posix - SocketHelpers::makeReusable (handle); - #endif - - if (SocketHelpers::bindSocket (handle, portNumber, localHostName) - && listen (handle, SOMAXCONN) >= 0) - { - connected = true; - return true; - } - - close(); - return false; -} - -StreamingSocket* StreamingSocket::waitForNextConnection() const -{ - // To call this method, you first have to use createListener() to - // prepare this socket as a listener. - jassert (isListener || ! connected); - - if (connected && isListener) - { - struct sockaddr_storage address; - juce_socklen_t len = sizeof (address); - const int newSocket = (int) accept (handle, (struct sockaddr*) &address, &len); - - if (newSocket >= 0 && connected) - return new StreamingSocket (inet_ntoa (((struct sockaddr_in*) &address)->sin_addr), - portNumber, newSocket); - } - - return nullptr; -} - -bool StreamingSocket::isLocal() const noexcept -{ - return hostName == "127.0.0.1"; -} - - -//============================================================================== -//============================================================================== -DatagramSocket::DatagramSocket (const bool canBroadcast) - : handle (-1), - isBound (false), - lastServerPort (-1), - lastServerAddress (nullptr) -{ - SocketHelpers::initSockets(); - - handle = (int) socket (AF_INET, SOCK_DGRAM, 0); - - if (handle >= 0) - { - SocketHelpers::resetSocketOptions (handle, true, canBroadcast); - SocketHelpers::makeReusable (handle); - } -} - -DatagramSocket::~DatagramSocket() -{ - if (lastServerAddress != nullptr) - freeaddrinfo (static_cast (lastServerAddress)); - - shutdown(); -} - -void DatagramSocket::shutdown() -{ - if (handle < 0) - return; - - int copyOfHandle = handle; - handle = -1; - bool connected = false; - SocketHelpers::closeSocket (copyOfHandle, readLock, false, 0, connected); -} - -bool DatagramSocket::bindToPort (const int port) -{ - return bindToPort (port, String()); -} - -bool DatagramSocket::bindToPort (const int port, const String& addr) -{ - jassert (SocketHelpers::isValidPortNumber (port)); - - if (SocketHelpers::bindSocket (handle, port, addr)) - { - isBound = true; - lastBindAddress = addr; - return true; - } - - return false; -} - -int DatagramSocket::getBoundPort() const noexcept -{ - if (handle < 0) - return -1; - - return isBound ? SocketHelpers::getBoundPort (handle) : -1; -} - -//============================================================================== -int DatagramSocket::waitUntilReady (const bool readyForReading, - const int timeoutMsecs) const -{ - if (handle < 0) - return -1; - - return SocketHelpers::waitForReadiness (handle, readLock, readyForReading, timeoutMsecs); -} - -int DatagramSocket::read (void* destBuffer, int maxBytesToRead, bool shouldBlock) -{ - if (handle < 0 || ! isBound) - return -1; - - bool connected = true; - - SocketHelpers::setSocketBlockingState (handle, shouldBlock); - return SocketHelpers::readSocket (handle, destBuffer, maxBytesToRead, - connected, shouldBlock, readLock); -} - -int DatagramSocket::read (void* destBuffer, int maxBytesToRead, bool shouldBlock, String& senderIPAddress, int& senderPort) -{ - if (handle < 0 || ! isBound) - return -1; - - bool connected = true; - - SocketHelpers::setSocketBlockingState (handle, shouldBlock); - return SocketHelpers::readSocket (handle, destBuffer, maxBytesToRead, connected, - shouldBlock, readLock, &senderIPAddress, &senderPort); -} - -int DatagramSocket::write (const String& remoteHostname, int remotePortNumber, - const void* sourceBuffer, int numBytesToWrite) -{ - jassert (SocketHelpers::isValidPortNumber (remotePortNumber)); - - if (handle < 0) - return -1; - - struct addrinfo*& info = reinterpret_cast (lastServerAddress); - - // getaddrinfo can be quite slow so cache the result of the address lookup - if (info == nullptr || remoteHostname != lastServerHost || remotePortNumber != lastServerPort) - { - if (info != nullptr) - freeaddrinfo (info); - - if ((info = SocketHelpers::getAddressInfo (true, remoteHostname, remotePortNumber)) == nullptr) - return -1; - - lastServerHost = remoteHostname; - lastServerPort = remotePortNumber; - } - - return (int) ::sendto (handle, (const char*) sourceBuffer, - (juce_socklen_t) numBytesToWrite, 0, - info->ai_addr, (socklen_t) info->ai_addrlen); -} - -bool DatagramSocket::joinMulticast (const String& multicastIPAddress) -{ - if (! isBound || handle < 0) - return false; - - return SocketHelpers::multicast (handle, multicastIPAddress, lastBindAddress, true); -} - -bool DatagramSocket::leaveMulticast (const String& multicastIPAddress) -{ - if (! isBound || handle < 0) - return false; - - return SocketHelpers::multicast (handle, multicastIPAddress, lastBindAddress, false); -} - -bool DatagramSocket::setEnablePortReuse (bool enabled) -{ - #if ! JUCE_ANDROID - if (handle >= 0) - return SocketHelpers::setOption (handle, - #if JUCE_WINDOWS || JUCE_LINUX - SO_REUSEADDR, // port re-use is implied by addr re-use on these platforms - #else - SO_REUSEPORT, - #endif - (int) (enabled ? 1 : 0)); - #endif - - return false; -} - -#if JUCE_MSVC - #pragma warning (pop) -#endif +/* + ============================================================================== + + This file is part of the juce_core module of the JUCE library. + Copyright (c) 2015 - ROLI Ltd. + + Permission to use, copy, modify, and/or distribute this software for any purpose with + or without fee is hereby granted, provided that the above copyright notice and this + permission notice appear in all copies. + + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD + TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN + NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL + DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER + IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + ------------------------------------------------------------------------------ + + NOTE! This permissive ISC license applies ONLY to files within the juce_core module! + All other JUCE modules are covered by a dual GPL/commercial license, so if you are + using any other modules, be sure to check that you also comply with their license. + + For more details, visit www.juce.com + + ============================================================================== +*/ + +#if JUCE_MSVC + #pragma warning (push) + #pragma warning (disable : 4127 4389 4018) +#endif + +#ifndef AI_NUMERICSERV // (missing in older Mac SDKs) + #define AI_NUMERICSERV 0x1000 +#endif + +#if JUCE_WINDOWS + typedef int juce_socklen_t; + typedef SOCKET SocketHandle; +#else + typedef socklen_t juce_socklen_t; + typedef int SocketHandle; +#endif + +//============================================================================== +namespace SocketHelpers +{ + static void initSockets() + { + #if JUCE_WINDOWS + static bool socketsStarted = false; + + if (! socketsStarted) + { + socketsStarted = true; + + WSADATA wsaData; + const WORD wVersionRequested = MAKEWORD (1, 1); + WSAStartup (wVersionRequested, &wsaData); + } + #endif + } + + inline bool isValidPortNumber (int port) noexcept + { + return isPositiveAndBelow (port, 65536); + } + + template + static bool setOption (const SocketHandle handle, int mode, int property, Type value) noexcept + { + return setsockopt (handle, mode, property, reinterpret_cast (&value), sizeof (value)) == 0; + } + + template + static bool setOption (const SocketHandle handle, int property, Type value) noexcept + { + return setOption (handle, SOL_SOCKET, property, value); + } + + static bool resetSocketOptions (const SocketHandle handle, const bool isDatagram, const bool allowBroadcast) noexcept + { + return handle > 0 + && setOption (handle, SO_RCVBUF, (int) 65536) + && setOption (handle, SO_SNDBUF, (int) 65536) + && (isDatagram ? ((! allowBroadcast) || setOption (handle, SO_BROADCAST, (int) 1)) + : setOption (handle, IPPROTO_TCP, TCP_NODELAY, (int) 1)); + } + + static void closeSocket (volatile int& handle, CriticalSection& readLock, + const bool isListener, int portNumber, bool& connected) noexcept + { + const SocketHandle h = handle; + handle = -1; + + #if JUCE_WINDOWS + ignoreUnused (portNumber, isListener, readLock); + + if (h != SOCKET_ERROR || connected) + closesocket (h); + + // make sure any read process finishes before we delete the socket + CriticalSection::ScopedLockType lock(readLock); + connected = false; + #else + if (connected) + { + connected = false; + + if (isListener) + { + // need to do this to interrupt the accept() function.. + StreamingSocket temp; + temp.connect (IPAddress::local().toString(), portNumber, 1000); + } + } + + if (h != -1) + { + // unblock any pending read requests + ::shutdown (h, SHUT_RDWR); + + { + // see man-page of recv on linux about a race condition where the + // shutdown command is lost if the receiving thread does not have + // a chance to process before close is called. On Mac OS X shutdown + // does not unblock a select call, so using a lock here will dead-lock + // both threads. + #if JUCE_LINUX + CriticalSection::ScopedLockType lock (readLock); + ::close (h); + #else + ::close (h); + CriticalSection::ScopedLockType lock (readLock); + #endif + } + } + #endif + } + + static bool bindSocket (const SocketHandle handle, int port, const String& address) noexcept + { + if (handle <= 0 || ! isValidPortNumber (port)) + return false; + + struct sockaddr_in addr; + zerostruct (addr); // (can't use "= { 0 }" on this object because it's typedef'ed as a C struct) + + addr.sin_family = PF_INET; + addr.sin_port = htons ((uint16) port); + addr.sin_addr.s_addr = address.isNotEmpty() ? ::inet_addr (address.toRawUTF8()) + : htonl (INADDR_ANY); + + return ::bind (handle, (struct sockaddr*) &addr, sizeof (addr)) >= 0; + } + + static int getBoundPort (const SocketHandle handle) noexcept + { + if (handle > 0) + { + struct sockaddr_in addr; + socklen_t len = sizeof (addr); + + if (getsockname (handle, (struct sockaddr*) &addr, &len) == 0) + return ntohs (addr.sin_port); + } + + return -1; + } + + static int readSocket (const SocketHandle handle, + void* const destBuffer, const int maxBytesToRead, + bool volatile& connected, + const bool blockUntilSpecifiedAmountHasArrived, + CriticalSection& readLock, + String* senderIP = nullptr, + int* senderPort = nullptr) noexcept + { + int bytesRead = 0; + + while (bytesRead < maxBytesToRead) + { + long bytesThisTime = -1; + char* const buffer = static_cast (destBuffer) + bytesRead; + const juce_socklen_t numToRead = (juce_socklen_t) (maxBytesToRead - bytesRead); + + { + // avoid race-condition + CriticalSection::ScopedTryLockType lock (readLock); + + if (lock.isLocked()) + { + if (senderIP == nullptr || senderPort == nullptr) + { + bytesThisTime = ::recv (handle, buffer, numToRead, 0); + } + else + { + sockaddr_in client; + socklen_t clientLen = sizeof (sockaddr); + + bytesThisTime = ::recvfrom (handle, buffer, numToRead, 0, (sockaddr*) &client, &clientLen); + + *senderIP = String::fromUTF8 (inet_ntoa (client.sin_addr), 16); + *senderPort = ntohs (client.sin_port); + } + } + } + + if (bytesThisTime <= 0 || ! connected) + { + if (bytesRead == 0 && blockUntilSpecifiedAmountHasArrived) + bytesRead = -1; + + break; + } + + bytesRead += bytesThisTime; + + if (! blockUntilSpecifiedAmountHasArrived) + break; + } + + return (int) bytesRead; + } + + static int waitForReadiness (const volatile int& handle, CriticalSection& readLock, + const bool forReading, const int timeoutMsecs) noexcept + { + // avoid race-condition + CriticalSection::ScopedTryLockType lock (readLock); + + if (! lock.isLocked()) + return -1; + + int h = handle; + + struct timeval timeout; + struct timeval* timeoutp; + + if (timeoutMsecs >= 0) + { + timeout.tv_sec = timeoutMsecs / 1000; + timeout.tv_usec = (timeoutMsecs % 1000) * 1000; + timeoutp = &timeout; + } + else + { + timeoutp = 0; + } + + fd_set rset, wset; + FD_ZERO (&rset); + FD_SET (h, &rset); + FD_ZERO (&wset); + FD_SET (h, &wset); + + fd_set* const prset = forReading ? &rset : nullptr; + fd_set* const pwset = forReading ? nullptr : &wset; + + #if JUCE_WINDOWS + if (select ((int) h + 1, prset, pwset, 0, timeoutp) < 0) + return -1; + #else + { + int result; + while ((result = select (h + 1, prset, pwset, 0, timeoutp)) < 0 + && errno == EINTR) + { + } + + if (result < 0) + return -1; + } + #endif + + // we are closing + if (handle < 0) + return -1; + + { + int opt; + juce_socklen_t len = sizeof (opt); + + if (getsockopt (h, SOL_SOCKET, SO_ERROR, (char*) &opt, &len) < 0 + || opt != 0) + return -1; + } + + return FD_ISSET (h, forReading ? &rset : &wset) ? 1 : 0; + } + + static bool setSocketBlockingState (const SocketHandle handle, const bool shouldBlock) noexcept + { + #if JUCE_WINDOWS + u_long nonBlocking = shouldBlock ? 0 : (u_long) 1; + return ioctlsocket (handle, FIONBIO, &nonBlocking) == 0; + #else + int socketFlags = fcntl (handle, F_GETFL, 0); + + if (socketFlags == -1) + return false; + + if (shouldBlock) + socketFlags &= ~O_NONBLOCK; + else + socketFlags |= O_NONBLOCK; + + return fcntl (handle, F_SETFL, socketFlags) == 0; + #endif + } + + static addrinfo* getAddressInfo (const bool isDatagram, const String& hostName, int portNumber) + { + struct addrinfo hints; + zerostruct (hints); + + hints.ai_family = AF_UNSPEC; + hints.ai_socktype = isDatagram ? SOCK_DGRAM : SOCK_STREAM; + hints.ai_flags = AI_NUMERICSERV; + + struct addrinfo* info = nullptr; + if (getaddrinfo (hostName.toUTF8(), String (portNumber).toUTF8(), &hints, &info) == 0) + return info; + + return nullptr; + } + + static bool connectSocket (int volatile& handle, + CriticalSection& readLock, + const String& hostName, + const int portNumber, + const int timeOutMillisecs) noexcept + { + bool success = false; + + if (struct addrinfo* info = getAddressInfo (false, hostName, portNumber)) + { + for (struct addrinfo* i = info; i != nullptr; i = i->ai_next) + { + const SocketHandle newHandle = socket (i->ai_family, i->ai_socktype, 0); + + if (newHandle >= 0) + { + setSocketBlockingState (newHandle, false); + const int result = ::connect (newHandle, i->ai_addr, (socklen_t) i->ai_addrlen); + success = (result >= 0); + + if (! success) + { + #if JUCE_WINDOWS + if (result == SOCKET_ERROR && WSAGetLastError() == WSAEWOULDBLOCK) + #else + if (errno == EINPROGRESS) + #endif + { + const volatile int cvHandle = (int) newHandle; + if (waitForReadiness (cvHandle, readLock, false, timeOutMillisecs) == 1) + success = true; + } + } + + if (success) + { + handle = (int) newHandle; + break; + } + + #if JUCE_WINDOWS + closesocket (newHandle); + #else + ::close (newHandle); + #endif + } + } + + freeaddrinfo (info); + + if (success) + { + setSocketBlockingState (handle, true); + resetSocketOptions (handle, false, false); + } + } + + return success; + } + + static void makeReusable (int handle) noexcept + { + setOption (handle, SO_REUSEADDR, (int) 1); + } + + static bool multicast (int handle, const String& multicastIPAddress, + const String& interfaceIPAddress, bool join) noexcept + { + struct ip_mreq mreq; + + zerostruct (mreq); + mreq.imr_multiaddr.s_addr = inet_addr (multicastIPAddress.toRawUTF8()); + mreq.imr_interface.s_addr = INADDR_ANY; + + if (interfaceIPAddress.isNotEmpty()) + mreq.imr_interface.s_addr = inet_addr (interfaceIPAddress.toRawUTF8()); + + return setsockopt (handle, IPPROTO_IP, + join ? IP_ADD_MEMBERSHIP + : IP_DROP_MEMBERSHIP, + (const char*) &mreq, sizeof (mreq)) == 0; + } +} + +//============================================================================== +StreamingSocket::StreamingSocket() + : portNumber (0), + handle (-1), + connected (false), + isListener (false) +{ + SocketHelpers::initSockets(); +} + +StreamingSocket::StreamingSocket (const String& host, int portNum, int h) + : hostName (host), + portNumber (portNum), + handle (h), + connected (true), + isListener (false) +{ + jassert (SocketHelpers::isValidPortNumber (portNum)); + + SocketHelpers::initSockets(); + SocketHelpers::resetSocketOptions (h, false, false); +} + +StreamingSocket::~StreamingSocket() +{ + close(); +} + +//============================================================================== +int StreamingSocket::read (void* destBuffer, const int maxBytesToRead, bool shouldBlock) +{ + return (connected && ! isListener) ? SocketHelpers::readSocket (handle, destBuffer, maxBytesToRead, + connected, shouldBlock, readLock) + : -1; +} + +int StreamingSocket::write (const void* sourceBuffer, const int numBytesToWrite) +{ + if (isListener || ! connected) + return -1; + + return (int) ::send (handle, (const char*) sourceBuffer, (juce_socklen_t) numBytesToWrite, 0); +} + +//============================================================================== +int StreamingSocket::waitUntilReady (const bool readyForReading, + const int timeoutMsecs) const +{ + return connected ? SocketHelpers::waitForReadiness (handle, readLock, readyForReading, timeoutMsecs) + : -1; +} + +//============================================================================== +bool StreamingSocket::bindToPort (const int port) +{ + return bindToPort (port, String()); +} + +bool StreamingSocket::bindToPort (const int port, const String& addr) +{ + jassert (SocketHelpers::isValidPortNumber (port)); + + return SocketHelpers::bindSocket (handle, port, addr); +} + +int StreamingSocket::getBoundPort() const noexcept +{ + return SocketHelpers::getBoundPort (handle); +} + +bool StreamingSocket::connect (const String& remoteHostName, + const int remotePortNumber, + const int timeOutMillisecs) +{ + jassert (SocketHelpers::isValidPortNumber (remotePortNumber)); + + if (isListener) + { + jassertfalse; // a listener socket can't connect to another one! + return false; + } + + if (connected) + close(); + + hostName = remoteHostName; + portNumber = remotePortNumber; + isListener = false; + + connected = SocketHelpers::connectSocket (handle, readLock, remoteHostName, + remotePortNumber, timeOutMillisecs); + + if (! (connected && SocketHelpers::resetSocketOptions (handle, false, false))) + { + close(); + return false; + } + + return true; +} + +void StreamingSocket::close() +{ + SocketHelpers::closeSocket (handle, readLock, isListener, portNumber, connected); + + hostName.clear(); + portNumber = 0; + handle = -1; + isListener = false; +} + +//============================================================================== +bool StreamingSocket::createListener (const int newPortNumber, const String& localHostName) +{ + jassert (SocketHelpers::isValidPortNumber (newPortNumber)); + + if (connected) + close(); + + hostName = "listener"; + portNumber = newPortNumber; + isListener = true; + + handle = (int) socket (AF_INET, SOCK_STREAM, 0); + + if (handle < 0) + return false; + + #if ! JUCE_WINDOWS // on windows, adding this option produces behaviour different to posix + SocketHelpers::makeReusable (handle); + #endif + + if (SocketHelpers::bindSocket (handle, portNumber, localHostName) + && listen (handle, SOMAXCONN) >= 0) + { + connected = true; + return true; + } + + close(); + return false; +} + +StreamingSocket* StreamingSocket::waitForNextConnection() const +{ + // To call this method, you first have to use createListener() to + // prepare this socket as a listener. + jassert (isListener || ! connected); + + if (connected && isListener) + { + struct sockaddr_storage address; + juce_socklen_t len = sizeof (address); + const int newSocket = (int) accept (handle, (struct sockaddr*) &address, &len); + + if (newSocket >= 0 && connected) + return new StreamingSocket (inet_ntoa (((struct sockaddr_in*) &address)->sin_addr), + portNumber, newSocket); + } + + return nullptr; +} + +bool StreamingSocket::isLocal() const noexcept +{ + return hostName == "127.0.0.1"; +} + + +//============================================================================== +//============================================================================== +DatagramSocket::DatagramSocket (const bool canBroadcast) + : handle (-1), + isBound (false), + lastServerPort (-1), + lastServerAddress (nullptr) +{ + SocketHelpers::initSockets(); + + handle = (int) socket (AF_INET, SOCK_DGRAM, 0); + + if (handle >= 0) + { + SocketHelpers::resetSocketOptions (handle, true, canBroadcast); + SocketHelpers::makeReusable (handle); + } +} + +DatagramSocket::~DatagramSocket() +{ + if (lastServerAddress != nullptr) + freeaddrinfo (static_cast (lastServerAddress)); + + shutdown(); +} + +void DatagramSocket::shutdown() +{ + if (handle < 0) + return; + + int copyOfHandle = handle; + handle = -1; + bool connected = false; + SocketHelpers::closeSocket (copyOfHandle, readLock, false, 0, connected); +} + +bool DatagramSocket::bindToPort (const int port) +{ + return bindToPort (port, String()); +} + +bool DatagramSocket::bindToPort (const int port, const String& addr) +{ + jassert (SocketHelpers::isValidPortNumber (port)); + + if (SocketHelpers::bindSocket (handle, port, addr)) + { + isBound = true; + lastBindAddress = addr; + return true; + } + + return false; +} + +int DatagramSocket::getBoundPort() const noexcept +{ + if (handle < 0) + return -1; + + return isBound ? SocketHelpers::getBoundPort (handle) : -1; +} + +//============================================================================== +int DatagramSocket::waitUntilReady (const bool readyForReading, + const int timeoutMsecs) const +{ + if (handle < 0) + return -1; + + return SocketHelpers::waitForReadiness (handle, readLock, readyForReading, timeoutMsecs); +} + +int DatagramSocket::read (void* destBuffer, int maxBytesToRead, bool shouldBlock) +{ + if (handle < 0 || ! isBound) + return -1; + + bool connected = true; + + SocketHelpers::setSocketBlockingState (handle, shouldBlock); + return SocketHelpers::readSocket (handle, destBuffer, maxBytesToRead, + connected, shouldBlock, readLock); +} + +int DatagramSocket::read (void* destBuffer, int maxBytesToRead, bool shouldBlock, String& senderIPAddress, int& senderPort) +{ + if (handle < 0 || ! isBound) + return -1; + + bool connected = true; + + SocketHelpers::setSocketBlockingState (handle, shouldBlock); + return SocketHelpers::readSocket (handle, destBuffer, maxBytesToRead, connected, + shouldBlock, readLock, &senderIPAddress, &senderPort); +} + +int DatagramSocket::write (const String& remoteHostname, int remotePortNumber, + const void* sourceBuffer, int numBytesToWrite) +{ + jassert (SocketHelpers::isValidPortNumber (remotePortNumber)); + + if (handle < 0) + return -1; + + struct addrinfo*& info = reinterpret_cast (lastServerAddress); + + // getaddrinfo can be quite slow so cache the result of the address lookup + if (info == nullptr || remoteHostname != lastServerHost || remotePortNumber != lastServerPort) + { + if (info != nullptr) + freeaddrinfo (info); + + if ((info = SocketHelpers::getAddressInfo (true, remoteHostname, remotePortNumber)) == nullptr) + return -1; + + lastServerHost = remoteHostname; + lastServerPort = remotePortNumber; + } + + return (int) ::sendto (handle, (const char*) sourceBuffer, + (juce_socklen_t) numBytesToWrite, 0, + info->ai_addr, (socklen_t) info->ai_addrlen); +} + +bool DatagramSocket::joinMulticast (const String& multicastIPAddress) +{ + if (! isBound || handle < 0) + return false; + + return SocketHelpers::multicast (handle, multicastIPAddress, lastBindAddress, true); +} + +bool DatagramSocket::leaveMulticast (const String& multicastIPAddress) +{ + if (! isBound || handle < 0) + return false; + + return SocketHelpers::multicast (handle, multicastIPAddress, lastBindAddress, false); +} + +bool DatagramSocket::setEnablePortReuse (bool enabled) +{ + #if ! JUCE_ANDROID + if (handle >= 0) + return SocketHelpers::setOption (handle, + #if JUCE_WINDOWS || JUCE_LINUX + SO_REUSEADDR, // port re-use is implied by addr re-use on these platforms + #else + SO_REUSEPORT, + #endif + (int) (enabled ? 1 : 0)); + #endif + + return false; +} + +#if JUCE_MSVC + #pragma warning (pop) +#endif diff --git a/modules/juce_core/system/juce_StandardHeader.h b/modules/juce_core/system/juce_StandardHeader.h index d11d8369b0..adf91c5ee8 100644 --- a/modules/juce_core/system/juce_StandardHeader.h +++ b/modules/juce_core/system/juce_StandardHeader.h @@ -35,7 +35,7 @@ See also SystemStats::getJUCEVersion() for a string version. */ #define JUCE_MAJOR_VERSION 4 -#define JUCE_MINOR_VERSION 1 +#define JUCE_MINOR_VERSION 2 #define JUCE_BUILDNUMBER 0 /** Current Juce version number. @@ -51,8 +51,13 @@ //============================================================================== #include -#include // included before platform defs to provide a definition of _LIBCPP_VERSION +#include +#include +#include +#include +#include +//============================================================================== #include "juce_CompilerSupport.h" #include "juce_PlatformDefs.h" @@ -63,20 +68,6 @@ #pragma warning (disable: 4514 4245 4100) #endif -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - #if JUCE_USE_MSVC_INTRINSICS #include #endif @@ -86,6 +77,8 @@ #endif #if JUCE_LINUX + #include + #include #include #if __INTEL_COMPILER @@ -106,10 +99,12 @@ #endif #if JUCE_MINGW + #include #include #endif #if JUCE_ANDROID + #include #include #include #endif @@ -135,7 +130,7 @@ #ifdef __INTEL_COMPILER #pragma warning (disable: 1125) // (virtual override warning) #endif -#elif defined (JUCE_DLL) || defined (JUCE_DLL_BUILD) +#elif defined (JUCE_DLL) || defined (JUCE_DLL_BUILD) || defined (JUCE_SHARED_CODE) #define JUCE_API __attribute__ ((visibility("default"))) #endif diff --git a/modules/juce_core/system/juce_SystemStats.cpp b/modules/juce_core/system/juce_SystemStats.cpp index 598fd871dd..9edbb16562 100644 --- a/modules/juce_core/system/juce_SystemStats.cpp +++ b/modules/juce_core/system/juce_SystemStats.cpp @@ -188,3 +188,21 @@ void SystemStats::setApplicationCrashHandler (CrashHandlerFunction handler) } #endif } + +bool SystemStats::isRunningInAppExtensionSandbox() noexcept +{ + #if JUCE_MAC || JUCE_IOS + File bundle = File::getSpecialLocation (File::invokedExecutableFile).getParentDirectory(); + + #if JUCE_MAC + bundle = bundle.getParentDirectory().getParentDirectory(); + #endif + + if (! bundle.isDirectory()) + return false; + + return (bundle.getFileExtension() == ".appex"); + #else + return false; + #endif +} diff --git a/modules/juce_core/system/juce_SystemStats.h b/modules/juce_core/system/juce_SystemStats.h index 28f4399f72..81e221f218 100644 --- a/modules/juce_core/system/juce_SystemStats.h +++ b/modules/juce_core/system/juce_SystemStats.h @@ -193,6 +193,12 @@ public: */ static void setApplicationCrashHandler (CrashHandlerFunction); + /** Returns true if this code is running inside an app extension sandbox. + + This function will always return false on windows, linux and android. + */ + static bool isRunningInAppExtensionSandbox() noexcept; + private: //============================================================================== SystemStats(); diff --git a/modules/juce_core/system/juce_TargetPlatform.h b/modules/juce_core/system/juce_TargetPlatform.h index 6b4c6f1730..2deabebe48 100644 --- a/modules/juce_core/system/juce_TargetPlatform.h +++ b/modules/juce_core/system/juce_TargetPlatform.h @@ -45,10 +45,16 @@ //============================================================================== #ifdef JUCE_APP_CONFIG_HEADER #include JUCE_APP_CONFIG_HEADER -#else - // Your project must contain an AppConfig.h file with your project-specific settings in it, - // and your header search path must make it accessible to the module's files. - #include "AppConfig.h" +#elif ! defined (JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED) + /* Most projects will want to contain a global header file containing settings that + should be applied to all the modules when building them. The projucer will set + this up automatically, but if you're doing things manually, you may want to set + the JUCE_APP_CONFIG_HEADER macro with the name of a file to include, or just include + one before all the module cpp files, and set JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED + in it to silence this error. (Or if you don't need a global header, then you can + just set JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED to stop this error) + */ + #error "No global header file was included!" #endif //============================================================================== diff --git a/modules/juce_core/text/juce_String.cpp b/modules/juce_core/text/juce_String.cpp index d48d56d522..a58fecb8db 100644 --- a/modules/juce_core/text/juce_String.cpp +++ b/modules/juce_core/text/juce_String.cpp @@ -319,7 +319,7 @@ String::String (const char* const t) because there's no other way to represent these strings in a way that isn't dependent on the compiler, source code editor and platform. - Note that the Introjucer has a handy string literal generator utility that will convert + Note that the Projucer has a handy string literal generator utility that will convert any unicode string to a valid C++ string literal, creating ascii escape sequences that will work in any compiler. */ @@ -342,7 +342,7 @@ String::String (const char* const t, const size_t maxChars) because there's no other way to represent these strings in a way that isn't dependent on the compiler, source code editor and platform. - Note that the Introjucer has a handy string literal generator utility that will convert + Note that the Projucer has a handy string literal generator utility that will convert any unicode string to a valid C++ string literal, creating ascii escape sequences that will work in any compiler. */ diff --git a/modules/juce_core/threads/juce_Thread.cpp b/modules/juce_core/threads/juce_Thread.cpp index 27ab0d5c5b..d529a6746f 100644 --- a/modules/juce_core/threads/juce_Thread.cpp +++ b/modules/juce_core/threads/juce_Thread.cpp @@ -163,6 +163,14 @@ void Thread::signalThreadShouldExit() shouldExit = true; } +bool Thread::currentThreadShouldExit() +{ + if (Thread* currentThread = getCurrentThread()) + return currentThread->threadShouldExit(); + + return false; +} + bool Thread::waitForThreadToExit (const int timeOutMilliseconds) const { // Doh! So how exactly do you expect this thread to wait for itself to stop?? diff --git a/modules/juce_core/threads/juce_Thread.h b/modules/juce_core/threads/juce_Thread.h index 88bcfe9a29..3925fdea2d 100644 --- a/modules/juce_core/threads/juce_Thread.h +++ b/modules/juce_core/threads/juce_Thread.h @@ -148,9 +148,17 @@ public: Threads need to check this regularly, and if it returns true, they should return from their run() method at the first possible opportunity. - @see signalThreadShouldExit + @see signalThreadShouldExit, currentThreadShouldExit */ - inline bool threadShouldExit() const { return shouldExit; } + bool threadShouldExit() const { return shouldExit; } + + /** Checks whether the current thread has been told to stop running. + On the message thread, this will always return false, otherwise + it will return threadShouldExit() called on the current thread. + + @see threadShouldExit + */ + static bool currentThreadShouldExit(); /** Waits for the thread to stop. diff --git a/modules/juce_core/time/juce_Time.cpp b/modules/juce_core/time/juce_Time.cpp index 2883e2f111..454dc75087 100644 --- a/modules/juce_core/time/juce_Time.cpp +++ b/modules/juce_core/time/juce_Time.cpp @@ -394,7 +394,8 @@ String Time::getTimeZone() const noexcept { String zone[2]; - #if JUCE_MSVC + #if JUCE_WINDOWS + #if JUCE_MSVC || JUCE_CLANG _tzset(); for (int i = 0; i < 2; ++i) @@ -404,12 +405,12 @@ String Time::getTimeZone() const noexcept _get_tzname (&length, name, 127, i); zone[i] = name; } - #else - #if JUCE_MINGW - #warning "Can't find a replacement for tzset on mingw - ideas welcome!" #else - tzset(); + #warning "Can't find a replacement for tzset on mingw - ideas welcome!" #endif + #else + tzset(); + const char** const zonePtr = (const char**) tzname; zone[0] = zonePtr[0]; zone[1] = zonePtr[1]; diff --git a/modules/juce_core/xml/juce_XmlElement.cpp b/modules/juce_core/xml/juce_XmlElement.cpp index 745dcd7866..5e636200d2 100644 --- a/modules/juce_core/xml/juce_XmlElement.cpp +++ b/modules/juce_core/xml/juce_XmlElement.cpp @@ -407,6 +407,11 @@ bool XmlElement::writeToFile (const File& file, return false; writeToStream (out, dtdToUse, false, true, encodingType, lineWrapLength); + + out.flush(); // (called explicitly to force an fsync on posix) + + if (out.getStatus().failed()) + return false; } return tempFile.overwriteTargetFileWithTemporary(); diff --git a/modules/juce_cryptography/juce_cryptography.h b/modules/juce_cryptography/juce_cryptography.h index 97ace8f659..532da81673 100644 --- a/modules/juce_cryptography/juce_cryptography.h +++ b/modules/juce_cryptography/juce_cryptography.h @@ -22,11 +22,35 @@ ============================================================================== */ +/******************************************************************************* + The block below describes the properties of this module, and is read by + the Projucer to automatically generate project code that uses it. + For details about the syntax and how to create or use a module, see the + JUCE Module Format.txt file. + + + BEGIN_JUCE_MODULE_DECLARATION + + ID: juce_cryptography + vendor: juce + version: 4.2.0 + name: JUCE cryptography classes + description: Classes for various basic cryptography functions, including RSA, Blowfish, MD5, SHA, etc. + website: http://www.juce.com/juce + license: GPL/Commercial + + dependencies: juce_core + + END_JUCE_MODULE_DECLARATION + +*******************************************************************************/ + + #ifndef JUCE_CRYPTOGRAPHY_H_INCLUDED #define JUCE_CRYPTOGRAPHY_H_INCLUDED //============================================================================== -#include "../juce_core/juce_core.h" +#include namespace juce { diff --git a/modules/juce_cryptography/juce_module_info b/modules/juce_cryptography/juce_module_info deleted file mode 100644 index e92f5ca557..0000000000 --- a/modules/juce_cryptography/juce_module_info +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": "juce_cryptography", - "name": "JUCE cryptography classes", - "version": "4.1.0", - "description": "Classes for various basic cryptography functions, including RSA, Blowfish, MD5, SHA, etc.", - "website": "http://www.juce.com/juce", - "license": "GPL/Commercial", - - "dependencies": [ { "id": "juce_core", "version": "matching" } ], - - "include": "juce_cryptography.h", - - "compile": [ { "file": "juce_cryptography.cpp", "target": "! xcode" }, - { "file": "juce_cryptography.mm", "target": "xcode" } ], - - "browse": [ "encryption/*", - "hashing/*" ] -} diff --git a/modules/juce_data_structures/juce_data_structures.h b/modules/juce_data_structures/juce_data_structures.h index 48d321a63b..193c433906 100644 --- a/modules/juce_data_structures/juce_data_structures.h +++ b/modules/juce_data_structures/juce_data_structures.h @@ -22,11 +22,35 @@ ============================================================================== */ +/******************************************************************************* + The block below describes the properties of this module, and is read by + the Projucer to automatically generate project code that uses it. + For details about the syntax and how to create or use a module, see the + JUCE Module Format.txt file. + + + BEGIN_JUCE_MODULE_DECLARATION + + ID: juce_data_structures + vendor: juce + version: 4.2.0 + name: JUCE data model helper classes + description: Classes for undo/redo management, and smart data structures. + website: http://www.juce.com/juce + license: GPL/Commercial + + dependencies: juce_events + + END_JUCE_MODULE_DECLARATION + +*******************************************************************************/ + + #ifndef JUCE_DATA_STRUCTURES_H_INCLUDED #define JUCE_DATA_STRUCTURES_H_INCLUDED //============================================================================== -#include "../juce_events/juce_events.h" +#include namespace juce { diff --git a/modules/juce_data_structures/juce_module_info b/modules/juce_data_structures/juce_module_info deleted file mode 100644 index 2ccf602526..0000000000 --- a/modules/juce_data_structures/juce_module_info +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": "juce_data_structures", - "name": "JUCE data model helper classes", - "version": "4.1.0", - "description": "Classes for undo/redo management, and smart data structures.", - "website": "http://www.juce.com/juce", - "license": "GPL/Commercial", - - "dependencies": [ { "id": "juce_core", "version": "matching" }, - { "id": "juce_events", "version": "matching" } ], - - "include": "juce_data_structures.h", - - "compile": [ { "file": "juce_data_structures.cpp", "target": "! xcode" }, - { "file": "juce_data_structures.mm", "target": "xcode" } ], - - "browse": [ "values/*", - "undomanager/*", - "app_properties/*" ] -} diff --git a/modules/juce_events/juce_events.h b/modules/juce_events/juce_events.h index 637e8623ff..518b21c773 100644 --- a/modules/juce_events/juce_events.h +++ b/modules/juce_events/juce_events.h @@ -22,11 +22,36 @@ ============================================================================== */ +/******************************************************************************* + The block below describes the properties of this module, and is read by + the Projucer to automatically generate project code that uses it. + For details about the syntax and how to create or use a module, see the + JUCE Module Format.txt file. + + + BEGIN_JUCE_MODULE_DECLARATION + + ID: juce_events + vendor: juce + version: 4.2.0 + name: JUCE message and event handling classes + description: Classes for running an application's main event loop and sending/receiving messages, timers, etc. + website: http://www.juce.com/juce + license: GPL/Commercial + + dependencies: juce_core + linuxLibs: X11 + + END_JUCE_MODULE_DECLARATION + +*******************************************************************************/ + + #ifndef JUCE_EVENTS_H_INCLUDED #define JUCE_EVENTS_H_INCLUDED //============================================================================== -#include "../juce_core/juce_core.h" +#include namespace juce { diff --git a/modules/juce_events/juce_module_info b/modules/juce_events/juce_module_info deleted file mode 100644 index 572449364c..0000000000 --- a/modules/juce_events/juce_module_info +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": "juce_events", - "name": "JUCE message and event handling classes", - "version": "4.1.0", - "description": "Classes for running an application's main event loop and sending/receiving messages, timers, etc.", - "website": "http://www.juce.com/juce", - "license": "GPL/Commercial", - - "dependencies": [ { "id": "juce_core", "version": "matching" } ], - - "include": "juce_events.h", - - "compile": [ { "file": "juce_events.cpp", "target": "! xcode" }, - { "file": "juce_events.mm", "target": "xcode" } ], - - "browse": [ "messages/*", - "timers/*", - "broadcasters/*", - "interprocess/*", - "native/*" ], - - "LinuxLibs": "X11" -} diff --git a/modules/juce_events/native/juce_ios_MessageManager.mm b/modules/juce_events/native/juce_ios_MessageManager.mm index 998cace300..b633c20224 100644 --- a/modules/juce_events/native/juce_ios_MessageManager.mm +++ b/modules/juce_events/native/juce_ios_MessageManager.mm @@ -38,7 +38,9 @@ void MessageManager::runDispatchLoop() void MessageManager::stopDispatchLoop() { - [[[UIApplication sharedApplication] delegate] applicationWillTerminate: [UIApplication sharedApplication]]; + if (! SystemStats::isRunningInAppExtensionSandbox()) + [[[UIApplication sharedApplication] delegate] applicationWillTerminate: [UIApplication sharedApplication]]; + exit (0); // iOS apps get no mercy.. } diff --git a/modules/juce_events/native/juce_linux_Messaging.cpp b/modules/juce_events/native/juce_linux_Messaging.cpp index 053c0e4b68..770a9aadcc 100644 --- a/modules/juce_events/native/juce_linux_Messaging.cpp +++ b/modules/juce_events/native/juce_linux_Messaging.cpp @@ -346,7 +346,6 @@ void MessageManager::doPlatformSpecificShutdown() if (display != nullptr && ! LinuxErrorHandling::errorOccurred) { XDestroyWindow (display, juce_messageWindowHandle); - XCloseDisplay (display); juce_messageWindowHandle = 0; display = nullptr; diff --git a/modules/juce_events/timers/juce_Timer.h b/modules/juce_events/timers/juce_Timer.h index 7a8b13f4f1..228e086539 100644 --- a/modules/juce_events/timers/juce_Timer.h +++ b/modules/juce_events/timers/juce_Timer.h @@ -99,9 +99,11 @@ public: No more timer callbacks will be triggered after this method returns. - Note that if you call this from a background thread at the same time as the - message-thread is already in mid-callback, then it won't wait for the current - callback to finish, but it will cancel any future callbacks. + Note that if you call this from a background thread while the message-thread + is already in the middle of your callback, then this method will cancel any + future timer callbacks, but it will return without waiting for the current one + to finish. The current callback will continue, possibly still running some of + your timer code after this method has returned. */ void stopTimer() noexcept; diff --git a/modules/juce_graphics/fonts/juce_CustomTypeface.h b/modules/juce_graphics/fonts/juce_CustomTypeface.h index 1d71834537..ff365fd66b 100644 --- a/modules/juce_graphics/fonts/juce_CustomTypeface.h +++ b/modules/juce_graphics/fonts/juce_CustomTypeface.h @@ -38,7 +38,7 @@ NOTE! For most people this class is almost certainly NOT the right tool to use! If what you want to do is to embed a font into your exe, then your best plan is - probably to embed your TTF/OTF font file into your binary using the Introjucer, + probably to embed your TTF/OTF font file into your binary using the Projucer, and then call Typeface::createSystemTypefaceFor() to load it from memory. @see Typeface, Font diff --git a/modules/juce_graphics/image_formats/juce_JPEGLoader.cpp b/modules/juce_graphics/image_formats/juce_JPEGLoader.cpp index ca01ff0581..cf32f3a546 100644 --- a/modules/juce_graphics/image_formats/juce_JPEGLoader.cpp +++ b/modules/juce_graphics/image_formats/juce_JPEGLoader.cpp @@ -135,7 +135,7 @@ namespace JPEGHelpers { using namespace jpeglibNamespace; - #if ! JUCE_MSVC + #if ! (JUCE_WINDOWS && (JUCE_MSVC || JUCE_CLANG)) using jpeglibNamespace::boolean; #endif diff --git a/modules/juce_graphics/juce_graphics.h b/modules/juce_graphics/juce_graphics.h index 9e334963a5..f9eb5484e3 100644 --- a/modules/juce_graphics/juce_graphics.h +++ b/modules/juce_graphics/juce_graphics.h @@ -22,11 +22,38 @@ ============================================================================== */ +/******************************************************************************* + The block below describes the properties of this module, and is read by + the Projucer to automatically generate project code that uses it. + For details about the syntax and how to create or use a module, see the + JUCE Module Format.txt file. + + + BEGIN_JUCE_MODULE_DECLARATION + + ID: juce_graphics + vendor: juce + version: 4.2.0 + name: JUCE graphics classes + description: Classes for 2D vector graphics, image loading/saving, font handling, etc. + website: http://www.juce.com/juce + license: GPL/Commercial + + dependencies: juce_events + OSXFrameworks: Cocoa QuartzCore + iOSFrameworks: CoreGraphics CoreText QuartzCore + linuxLibs: X11 Xinerama Xext freetype + + END_JUCE_MODULE_DECLARATION + +*******************************************************************************/ + + #ifndef JUCE_GRAPHICS_H_INCLUDED // %% #define JUCE_GRAPHICS_H_INCLUDED -#include "../juce_core/juce_core.h" -#include "../juce_events/juce_events.h" +#include +#include //============================================================================== /** Config: JUCE_USE_COREIMAGE_LOADER diff --git a/modules/juce_graphics/juce_module_info b/modules/juce_graphics/juce_module_info deleted file mode 100644 index 8af344ca63..0000000000 --- a/modules/juce_graphics/juce_module_info +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": "juce_graphics", - "name": "JUCE graphics classes", - "version": "4.1.0", - "description": "Classes for 2D vector graphics, image loading/saving, font handling, etc.", - "website": "http://www.juce.com/juce", - "license": "GPL/Commercial", - - "dependencies": [ { "id": "juce_core", "version": "matching" }, - { "id": "juce_events", "version": "matching" } ], - - "include": "juce_graphics.h", - - "compile": [ { "file": "juce_graphics.cpp", "target": "! xcode" }, - { "file": "juce_graphics.mm", "target": "xcode" } ], - - "browse": [ "colour/*", - "contexts/*", - "images/*", - "image_formats/*", - "geometry/*", - "placement/*", - "fonts/*", - "effects/*", - "native/*" ], - - "OSXFrameworks": "Cocoa QuartzCore", - "iOSFrameworks": "CoreGraphics CoreText QuartzCore", - "LinuxLibs": "X11 Xinerama Xext freetype" -} diff --git a/modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm b/modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm index 4da4d55110..3e806498c3 100644 --- a/modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm +++ b/modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm @@ -172,7 +172,7 @@ CoreGraphicsContext::CoreGraphicsContext (CGContextRef c, const float h, const f state (new SavedState()) { CGContextRetain (context); - CGContextSaveGState(context); + CGContextSaveGState (context); CGContextSetShouldSmoothFonts (context, true); CGContextSetAllowsFontSmoothing (context, true); CGContextSetShouldAntialias (context, true); diff --git a/modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp b/modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp index c03ed3721c..00e27bf670 100644 --- a/modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp +++ b/modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp @@ -22,7 +22,6 @@ ============================================================================== */ - #if JUCE_USE_DIRECTWRITE namespace DirectWriteTypeLayout { diff --git a/modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp b/modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp index f448a1e2d5..d2da022f96 100644 --- a/modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp +++ b/modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp @@ -34,7 +34,7 @@ HyperlinkButton::HyperlinkButton (const String& linkText, setTooltip (linkURL.toString (false)); } -HyperlinkButton::HyperlinkButton () +HyperlinkButton::HyperlinkButton() : Button (String::empty), font (14.0f, Font::underlined), resizeFont (true), diff --git a/modules/juce_gui_basics/juce_gui_basics.h b/modules/juce_gui_basics/juce_gui_basics.h index cf53565eb5..23a0b212d4 100644 --- a/modules/juce_gui_basics/juce_gui_basics.h +++ b/modules/juce_gui_basics/juce_gui_basics.h @@ -22,11 +22,38 @@ ============================================================================== */ +/******************************************************************************* + The block below describes the properties of this module, and is read by + the Projucer to automatically generate project code that uses it. + For details about the syntax and how to create or use a module, see the + JUCE Module Format.txt file. + + + BEGIN_JUCE_MODULE_DECLARATION + + ID: juce_gui_basics + vendor: juce + version: 4.2.0 + name: JUCE GUI core classes + description: Basic user-interface components and related classes. + website: http://www.juce.com/juce + license: GPL/Commercial + + dependencies: juce_events juce_graphics juce_data_structures + OSXFrameworks: Cocoa Carbon QuartzCore + iOSFrameworks: UIKit + linuxLibs: X11 Xinerama Xext + + END_JUCE_MODULE_DECLARATION + +*******************************************************************************/ + + #ifndef JUCE_GUI_BASICS_H_INCLUDED #define JUCE_GUI_BASICS_H_INCLUDED -#include "../juce_graphics/juce_graphics.h" -#include "../juce_data_structures/juce_data_structures.h" +#include +#include //============================================================================== /** Config: JUCE_ENABLE_REPAINT_DEBUGGING diff --git a/modules/juce_gui_basics/juce_module_info b/modules/juce_gui_basics/juce_module_info deleted file mode 100644 index 470b629cf0..0000000000 --- a/modules/juce_gui_basics/juce_module_info +++ /dev/null @@ -1,40 +0,0 @@ -{ - "id": "juce_gui_basics", - "name": "JUCE GUI core classes", - "version": "4.1.0", - "description": "Basic user-interface components and related classes.", - "website": "http://www.juce.com/juce", - "license": "GPL/Commercial", - - "dependencies": [ { "id": "juce_core", "version": "matching" }, - { "id": "juce_events", "version": "matching" }, - { "id": "juce_graphics", "version": "matching" }, - { "id": "juce_data_structures", "version": "matching" } ], - - "include": "juce_gui_basics.h", - - "compile": [ { "file": "juce_gui_basics.cpp", "target": "! xcode" }, - { "file": "juce_gui_basics.mm", "target": "xcode" } ], - - "browse": [ "components/*", - "mouse/*", - "keyboard/*", - "widgets/*", - "windows/*", - "menus/*", - "layout/*", - "buttons/*", - "positioning/*", - "drawables/*", - "properties/*", - "lookandfeel/*", - "filebrowser/*", - "commands/*", - "misc/*", - "application/*", - "native/*" ], - - "OSXFrameworks": "Cocoa Carbon QuartzCore", - "iOSFrameworks": "UIKit", - "LinuxLibs": "X11 Xinerama Xext" -} diff --git a/modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp b/modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp index 72f0933257..e81b1b0a24 100644 --- a/modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp +++ b/modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp @@ -28,6 +28,7 @@ LookAndFeel_V3::LookAndFeel_V3() const Colour textButtonColour (0xffeeeeff); setColour (TextButton::buttonColourId, textButtonColour); + setColour (TextButton::buttonOnColourId, textButtonColour); setColour (ComboBox::buttonColourId, textButtonColour); setColour (TextEditor::outlineColourId, Colours::transparentBlack); setColour (TabbedButtonBar::tabOutlineColourId, Colour (0x66000000)); diff --git a/modules/juce_gui_basics/menus/juce_PopupMenu.cpp b/modules/juce_gui_basics/menus/juce_PopupMenu.cpp index d630e8a7da..29606eb3ec 100644 --- a/modules/juce_gui_basics/menus/juce_PopupMenu.cpp +++ b/modules/juce_gui_basics/menus/juce_PopupMenu.cpp @@ -22,7 +22,6 @@ ============================================================================== */ - namespace PopupMenuSettings { const int scrollZone = 24; diff --git a/modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm b/modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm index b97105d83e..0e52b97463 100644 --- a/modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm +++ b/modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm @@ -211,7 +211,7 @@ public: static Rectangle rotatedScreenPosToReal (const Rectangle& r) { - if (isUsingOldRotationMethod()) + if (! SystemStats::isRunningInAppExtensionSandbox() && isUsingOldRotationMethod()) { const Rectangle screen (convertToRectInt ([UIScreen mainScreen].bounds)); @@ -241,7 +241,7 @@ public: static Rectangle realScreenPosToRotated (const Rectangle& r) { - if (isUsingOldRotationMethod()) + if (! SystemStats::isRunningInAppExtensionSandbox() && isUsingOldRotationMethod()) { const Rectangle screen (convertToRectInt ([UIScreen mainScreen].bounds)); @@ -363,28 +363,29 @@ static bool isKioskModeView (JuceUIViewController* c) - (void) viewDidLoad { sendScreenBoundsUpdate (self); + [super viewDidLoad]; } - (void) viewWillAppear: (BOOL) animated { - ignoreUnused (animated); - [self viewDidLoad]; + sendScreenBoundsUpdate (self); + [super viewWillAppear:animated]; } - (void) viewDidAppear: (BOOL) animated { - ignoreUnused (animated); - [self viewDidLoad]; + sendScreenBoundsUpdate (self); + [super viewDidAppear:animated]; } - (void) viewWillLayoutSubviews { - [self viewDidLoad]; + sendScreenBoundsUpdate (self); } - (void) viewDidLayoutSubviews { - [self viewDidLoad]; + sendScreenBoundsUpdate (self); } @end @@ -469,7 +470,7 @@ static bool isKioskModeView (JuceUIViewController* c) if (owner != nullptr) owner->viewFocusLoss(); - return true; + return [super resignFirstResponder]; } - (BOOL) canBecomeFirstResponder @@ -997,7 +998,10 @@ void UIViewComponentPeer::drawRect (CGRect r) CGContextClearRect (cg, CGContextGetClipBoundingBox (cg)); CGContextConcatCTM (cg, CGAffineTransformMake (1, 0, 0, -1, 0, getComponent().getHeight())); - CoreGraphicsContext g (cg, getComponent().getHeight(), static_cast ([UIScreen mainScreen].scale)); + + // NB the CTM on iOS already includes a factor for the display scale, so + // we'll tell the context that the scale is 1.0 to avoid it using it twice + CoreGraphicsContext g (cg, getComponent().getHeight(), 1.0f); insideDrawRect = true; handlePaint (g); diff --git a/modules/juce_gui_basics/native/juce_ios_Windowing.mm b/modules/juce_gui_basics/native/juce_ios_Windowing.mm index 86fdccccef..e0a90b4aaf 100644 --- a/modules/juce_gui_basics/native/juce_ios_Windowing.mm +++ b/modules/juce_gui_basics/native/juce_ios_Windowing.mm @@ -117,8 +117,7 @@ int juce_iOSMain (int argc, const char* argv[]) //============================================================================== void LookAndFeel::playAlertSound() { - //xxx - //AudioServicesPlaySystemSound (); + // TODO } //============================================================================== @@ -334,11 +333,15 @@ bool DragAndDropContainer::performExternalDragDropOfText (const String&) //============================================================================== void Desktop::setScreenSaverEnabled (const bool isEnabled) { - [[UIApplication sharedApplication] setIdleTimerDisabled: ! isEnabled]; + if (! SystemStats::isRunningInAppExtensionSandbox()) + [[UIApplication sharedApplication] setIdleTimerDisabled: ! isEnabled]; } bool Desktop::isScreenSaverEnabled() { + if (SystemStats::isRunningInAppExtensionSandbox()) + return true; + return ! [[UIApplication sharedApplication] isIdleTimerDisabled]; } @@ -394,7 +397,10 @@ double Desktop::getDefaultMasterScale() Desktop::DisplayOrientation Desktop::getCurrentOrientation() const { - return Orientations::convertToJuce ([[UIApplication sharedApplication] statusBarOrientation]); + UIInterfaceOrientation orientation = SystemStats::isRunningInAppExtensionSandbox() ? UIInterfaceOrientationPortrait + : [[UIApplication sharedApplication] statusBarOrientation]; + + return Orientations::convertToJuce (orientation); } void Desktop::Displays::findDisplays (float masterScale) diff --git a/modules/juce_gui_basics/native/juce_linux_Windowing.cpp b/modules/juce_gui_basics/native/juce_linux_Windowing.cpp index 4332f6aae9..752588d149 100644 --- a/modules/juce_gui_basics/native/juce_linux_Windowing.cpp +++ b/modules/juce_gui_basics/native/juce_linux_Windowing.cpp @@ -2308,7 +2308,7 @@ public: // if we have opengl contexts then just repaint them all // regardless if this is really necessary - repaintOpenGLContexts (); + repaintOpenGLContexts(); if (exposeEvent.window != windowH) { diff --git a/modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm b/modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm index 89cda33e0c..156677847f 100644 --- a/modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm +++ b/modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm @@ -393,15 +393,19 @@ public: && isPositiveAndBelow (localPos.getY(), (int) viewFrame.size.height))) return false; - if (NSWindow* const viewWindow = [view window]) + if (! SystemStats::isRunningInAppExtensionSandbox()) { - const NSRect windowFrame = [viewWindow frame]; - const NSPoint windowPoint = [view convertPoint: NSMakePoint (localPos.x, viewFrame.size.height - localPos.y) toView: nil]; - const NSPoint screenPoint = NSMakePoint (windowFrame.origin.x + windowPoint.x, - windowFrame.origin.y + windowPoint.y); + if (NSWindow* const viewWindow = [view window]) + { + const NSRect windowFrame = [viewWindow frame]; + const NSPoint windowPoint = [view convertPoint: NSMakePoint (localPos.x, viewFrame.size.height - localPos.y) toView: nil]; + const NSPoint screenPoint = NSMakePoint (windowFrame.origin.x + windowPoint.x, + windowFrame.origin.y + windowPoint.y); - if (! isWindowAtPoint (viewWindow, screenPoint)) - return false; + if (! isWindowAtPoint (viewWindow, screenPoint)) + return false; + + } } NSView* v = [view hitTest: NSMakePoint (viewFrame.origin.x + localPos.getX(), diff --git a/modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h b/modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h index fd29ce0e78..176e76362f 100644 --- a/modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h +++ b/modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h @@ -553,6 +553,7 @@ struct CppTokeniserFunctions { int charsOnLine = 0; bool lastWasHexEscapeCode = false; + bool trigraphDetected = false; for (int i = 0; i < numBytesToRead || numBytesToRead < 0; ++i) { @@ -561,11 +562,29 @@ struct CppTokeniserFunctions switch (c) { - case '\t': out << "\\t"; lastWasHexEscapeCode = false; charsOnLine += 2; break; - case '\r': out << "\\r"; lastWasHexEscapeCode = false; charsOnLine += 2; break; - case '\n': out << "\\n"; lastWasHexEscapeCode = false; charsOnLine += 2; startNewLine = breakAtNewLines; break; - case '\\': out << "\\\\"; lastWasHexEscapeCode = false; charsOnLine += 2; break; - case '\"': out << "\\\""; lastWasHexEscapeCode = false; charsOnLine += 2; break; + + case '\t': out << "\\t"; trigraphDetected = false; lastWasHexEscapeCode = false; charsOnLine += 2; break; + case '\r': out << "\\r"; trigraphDetected = false; lastWasHexEscapeCode = false; charsOnLine += 2; break; + case '\n': out << "\\n"; trigraphDetected = false; lastWasHexEscapeCode = false; charsOnLine += 2; startNewLine = breakAtNewLines; break; + case '\\': out << "\\\\"; trigraphDetected = false; lastWasHexEscapeCode = false; charsOnLine += 2; break; + case '\"': out << "\\\""; trigraphDetected = false; lastWasHexEscapeCode = false; charsOnLine += 2; break; + + case '?': + if (trigraphDetected) + { + out << "\\?"; + charsOnLine++; + trigraphDetected = false; + } + else + { + out << "?"; + trigraphDetected = true; + } + + lastWasHexEscapeCode = false; + charsOnLine++; + break; case 0: if (numBytesToRead < 0) @@ -573,6 +592,7 @@ struct CppTokeniserFunctions out << "\\0"; lastWasHexEscapeCode = true; + trigraphDetected = false; charsOnLine += 2; break; @@ -581,6 +601,7 @@ struct CppTokeniserFunctions { out << "\\\'"; lastWasHexEscapeCode = false; + trigraphDetected = false; charsOnLine += 2; break; } @@ -593,18 +614,21 @@ struct CppTokeniserFunctions { out << (char) c; lastWasHexEscapeCode = false; + trigraphDetected = false; ++charsOnLine; } else if (allowStringBreaks && lastWasHexEscapeCode && c >= 32 && c < 127) { out << "\"\"" << (char) c; lastWasHexEscapeCode = false; + trigraphDetected = false; charsOnLine += 3; } else { out << (c < 16 ? "\\x0" : "\\x") << String::toHexString ((int) c); lastWasHexEscapeCode = true; + trigraphDetected = false; charsOnLine += 4; } diff --git a/modules/juce_gui_extra/juce_gui_extra.h b/modules/juce_gui_extra/juce_gui_extra.h index 73aff33851..1f888b3040 100644 --- a/modules/juce_gui_extra/juce_gui_extra.h +++ b/modules/juce_gui_extra/juce_gui_extra.h @@ -22,11 +22,35 @@ ============================================================================== */ +/******************************************************************************* + The block below describes the properties of this module, and is read by + the Projucer to automatically generate project code that uses it. + For details about the syntax and how to create or use a module, see the + JUCE Module Format.txt file. + + + BEGIN_JUCE_MODULE_DECLARATION + + ID: juce_gui_extra + vendor: juce + version: 4.2.0 + name: JUCE extended GUI classes + description: Miscellaneous GUI classes for specialised tasks. + website: http://www.juce.com/juce + license: GPL/Commercial + + dependencies: juce_gui_basics + OSXFrameworks: WebKit + + END_JUCE_MODULE_DECLARATION + +*******************************************************************************/ + + #ifndef JUCE_GUI_EXTRA_H_INCLUDED #define JUCE_GUI_EXTRA_H_INCLUDED -#include "../juce_gui_basics/juce_gui_basics.h" - +#include //============================================================================== /** Config: JUCE_WEB_BROWSER diff --git a/modules/juce_gui_extra/juce_module_info b/modules/juce_gui_extra/juce_module_info deleted file mode 100644 index 48f9d97e05..0000000000 --- a/modules/juce_gui_extra/juce_module_info +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": "juce_gui_extra", - "name": "JUCE extended GUI classes", - "version": "4.1.0", - "description": "Miscellaneous GUI classes for specialised tasks.", - "website": "http://www.juce.com/juce", - "license": "GPL/Commercial", - - "dependencies": [ { "id": "juce_gui_basics", "version": "matching" } ], - - "include": "juce_gui_extra.h", - - "compile": [ { "file": "juce_gui_extra.cpp", "target": "! xcode" }, - { "file": "juce_gui_extra.mm", "target": "xcode" } ], - - "browse": [ "code_editor/*", - "documents/*", - "embedding/*", - "lookandfeel/*", - "misc/*", - "native/*" ], - - "OSXFrameworks": "WebKit" -} diff --git a/modules/juce_opengl/juce_module_info b/modules/juce_opengl/juce_module_info deleted file mode 100644 index cdc3495459..0000000000 --- a/modules/juce_opengl/juce_module_info +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": "juce_opengl", - "name": "JUCE OpenGL classes", - "version": "4.1.0", - "description": "Classes for rendering OpenGL in a JUCE window.", - "website": "http://www.juce.com/juce", - "license": "GPL/Commercial", - - "dependencies": [ { "id": "juce_gui_extra", "version": "matching" } ], - - "include": "juce_opengl.h", - - "compile": [ { "file": "juce_opengl.cpp", "target": "! xcode" }, - { "file": "juce_opengl.mm", "target": "xcode" } ], - - "browse": [ "opengl/*", - "geometry/*", - "utils/*", - "native/*" ], - - "OSXFrameworks": "OpenGL", - "iOSFrameworks": "OpenGLES", - "LinuxLibs": "GL", - "mingwLibs": "opengl32" -} diff --git a/modules/juce_opengl/juce_opengl.h b/modules/juce_opengl/juce_opengl.h index 556167b8b3..6bcaaa9377 100644 --- a/modules/juce_opengl/juce_opengl.h +++ b/modules/juce_opengl/juce_opengl.h @@ -22,10 +22,38 @@ ============================================================================== */ +/******************************************************************************* + The block below describes the properties of this module, and is read by + the Projucer to automatically generate project code that uses it. + For details about the syntax and how to create or use a module, see the + JUCE Module Format.txt file. + + + BEGIN_JUCE_MODULE_DECLARATION + + ID: juce_opengl + vendor: juce + version: 4.2.0 + name: JUCE OpenGL classes + description: Classes for rendering OpenGL in a JUCE window. + website: http://www.juce.com/juce + license: GPL/Commercial + + dependencies: juce_gui_extra + OSXFrameworks: OpenGL + iOSFrameworks: OpenGLES + linuxLibs: GL + mingwLibs: opengl32 + + END_JUCE_MODULE_DECLARATION + +*******************************************************************************/ + + #ifndef JUCE_OPENGL_H_INCLUDED #define JUCE_OPENGL_H_INCLUDED -#include "../juce_gui_extra/juce_gui_extra.h" +#include #undef JUCE_OPENGL #define JUCE_OPENGL 1 @@ -43,7 +71,13 @@ #define WINGDIAPI __declspec(dllimport) #define CLEAR_TEMP_WINGDIAPI 1 #endif - #include + + #if JUCE_MINGW + #include + #else + #include + #endif + #ifdef CLEAR_TEMP_WINGDIAPI #undef WINGDIAPI #undef CLEAR_TEMP_WINGDIAPI diff --git a/modules/juce_osc/juce_module_info b/modules/juce_osc/juce_module_info deleted file mode 100644 index 41ad0e6a13..0000000000 --- a/modules/juce_osc/juce_module_info +++ /dev/null @@ -1,16 +0,0 @@ -{ - "id": "juce_osc", - "name": "JUCE OSC classes", - "version": "4.1.0", - "description": "Open Sound Control implementation", - "website": "http://www.juce.com/juce", - "license": "GPL/Commercial", - - "dependencies": [ { "id": "juce_core", "version": "matching" } ], - - "include": "juce_osc.h", - - "compile": [ { "file": "juce_osc.cpp" } ], - - "browse": [ "osc/*" ] -} diff --git a/modules/juce_osc/juce_osc.cpp b/modules/juce_osc/juce_osc.cpp index 944b6a0124..702208819a 100644 --- a/modules/juce_osc/juce_osc.cpp +++ b/modules/juce_osc/juce_osc.cpp @@ -2,7 +2,7 @@ ============================================================================== This file is part of the JUCE library. - Copyright (c) 2013 - Raw Material Software Ltd. + 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) diff --git a/modules/juce_osc/juce_osc.h b/modules/juce_osc/juce_osc.h index c1eaa1c81d..d1e9b2f299 100644 --- a/modules/juce_osc/juce_osc.h +++ b/modules/juce_osc/juce_osc.h @@ -2,7 +2,7 @@ ============================================================================== This file is part of the JUCE library. - Copyright (c) 2013 - Raw Material Software Ltd. + 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) @@ -22,11 +22,35 @@ ============================================================================== */ +/******************************************************************************* + The block below describes the properties of this module, and is read by + the Projucer to automatically generate project code that uses it. + For details about the syntax and how to create or use a module, see the + JUCE Module Format.txt file. + + + BEGIN_JUCE_MODULE_DECLARATION + + ID: juce_osc + vendor: juce + version: 4.2.0 + name: JUCE OSC classes + description: Open Sound Control implementation. + website: http://www.juce.com/juce + license: GPL/Commercial + + dependencies: juce_core + + END_JUCE_MODULE_DECLARATION + +*******************************************************************************/ + + #ifndef JUCE_OSC_H_INCLUDED #define JUCE_OSC_H_INCLUDED -#include "../juce_core/juce_core.h" -#include "../juce_events/juce_events.h" +#include +#include //============================================================================== diff --git a/modules/juce_osc/osc/juce_OSCAddress.cpp b/modules/juce_osc/osc/juce_OSCAddress.cpp index 5d7b44a23a..67df6101c8 100644 --- a/modules/juce_osc/osc/juce_OSCAddress.cpp +++ b/modules/juce_osc/osc/juce_OSCAddress.cpp @@ -2,7 +2,7 @@ ============================================================================== This file is part of the JUCE library. - Copyright (c) 2013 - Raw Material Software Ltd. + 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) diff --git a/modules/juce_osc/osc/juce_OSCAddress.h b/modules/juce_osc/osc/juce_OSCAddress.h index bd44d487b9..443b83953b 100644 --- a/modules/juce_osc/osc/juce_OSCAddress.h +++ b/modules/juce_osc/osc/juce_OSCAddress.h @@ -2,7 +2,7 @@ ============================================================================== This file is part of the JUCE library. - Copyright (c) 2013 - Raw Material Software Ltd. + 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) diff --git a/modules/juce_osc/osc/juce_OSCArgument.cpp b/modules/juce_osc/osc/juce_OSCArgument.cpp index dcfe2c6781..de7b6741fc 100644 --- a/modules/juce_osc/osc/juce_OSCArgument.cpp +++ b/modules/juce_osc/osc/juce_OSCArgument.cpp @@ -2,7 +2,7 @@ ============================================================================== This file is part of the JUCE library. - Copyright (c) 2013 - Raw Material Software Ltd. + 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) @@ -22,7 +22,6 @@ ============================================================================== */ - OSCArgument::OSCArgument (int32 value) noexcept : type (OSCTypes::int32), intValue (value) { diff --git a/modules/juce_osc/osc/juce_OSCArgument.h b/modules/juce_osc/osc/juce_OSCArgument.h index 8633207284..62b1bb4ea4 100644 --- a/modules/juce_osc/osc/juce_OSCArgument.h +++ b/modules/juce_osc/osc/juce_OSCArgument.h @@ -2,7 +2,7 @@ ============================================================================== This file is part of the JUCE library. - Copyright (c) 2013 - Raw Material Software Ltd. + 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) diff --git a/modules/juce_osc/osc/juce_OSCBundle.cpp b/modules/juce_osc/osc/juce_OSCBundle.cpp index 49948063c0..ce74a07756 100644 --- a/modules/juce_osc/osc/juce_OSCBundle.cpp +++ b/modules/juce_osc/osc/juce_OSCBundle.cpp @@ -2,7 +2,7 @@ ============================================================================== This file is part of the JUCE library. - Copyright (c) 2013 - Raw Material Software Ltd. + 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) diff --git a/modules/juce_osc/osc/juce_OSCBundle.h b/modules/juce_osc/osc/juce_OSCBundle.h index 86ce106044..a257d50de2 100644 --- a/modules/juce_osc/osc/juce_OSCBundle.h +++ b/modules/juce_osc/osc/juce_OSCBundle.h @@ -2,7 +2,7 @@ ============================================================================== This file is part of the JUCE library. - Copyright (c) 2013 - Raw Material Software Ltd. + 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) diff --git a/modules/juce_osc/osc/juce_OSCMessage.cpp b/modules/juce_osc/osc/juce_OSCMessage.cpp index 443d07f5c6..8a8cdedf0c 100644 --- a/modules/juce_osc/osc/juce_OSCMessage.cpp +++ b/modules/juce_osc/osc/juce_OSCMessage.cpp @@ -2,7 +2,7 @@ ============================================================================== This file is part of the JUCE library. - Copyright (c) 2013 - Raw Material Software Ltd. + 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) diff --git a/modules/juce_osc/osc/juce_OSCMessage.h b/modules/juce_osc/osc/juce_OSCMessage.h index e4a61cf007..7fb96fb9d8 100644 --- a/modules/juce_osc/osc/juce_OSCMessage.h +++ b/modules/juce_osc/osc/juce_OSCMessage.h @@ -2,7 +2,7 @@ ============================================================================== This file is part of the JUCE library. - Copyright (c) 2013 - Raw Material Software Ltd. + 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) @@ -20,7 +20,7 @@ available: visit www.juce.com for more information. ============================================================================== - */ +*/ #ifndef JUCE_OSCMESSAGE_H_INCLUDED #define JUCE_OSCMESSAGE_H_INCLUDED diff --git a/modules/juce_osc/osc/juce_OSCReceiver.cpp b/modules/juce_osc/osc/juce_OSCReceiver.cpp index acd5568ba6..28b93b156d 100644 --- a/modules/juce_osc/osc/juce_OSCReceiver.cpp +++ b/modules/juce_osc/osc/juce_OSCReceiver.cpp @@ -2,7 +2,7 @@ ============================================================================== This file is part of the JUCE library. - Copyright (c) 2013 - Raw Material Software Ltd. + 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) diff --git a/modules/juce_osc/osc/juce_OSCReceiver.h b/modules/juce_osc/osc/juce_OSCReceiver.h index 7fcbecc6f8..94aa1ac047 100644 --- a/modules/juce_osc/osc/juce_OSCReceiver.h +++ b/modules/juce_osc/osc/juce_OSCReceiver.h @@ -2,7 +2,7 @@ ============================================================================== This file is part of the JUCE library. - Copyright (c) 2013 - Raw Material Software Ltd. + 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) diff --git a/modules/juce_osc/osc/juce_OSCSender.cpp b/modules/juce_osc/osc/juce_OSCSender.cpp index 5f88f718e0..1b0e14e3d5 100644 --- a/modules/juce_osc/osc/juce_OSCSender.cpp +++ b/modules/juce_osc/osc/juce_OSCSender.cpp @@ -2,7 +2,7 @@ ============================================================================== This file is part of the JUCE library. - Copyright (c) 2013 - Raw Material Software Ltd. + 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) diff --git a/modules/juce_osc/osc/juce_OSCSender.h b/modules/juce_osc/osc/juce_OSCSender.h index 205d889533..c30045446f 100644 --- a/modules/juce_osc/osc/juce_OSCSender.h +++ b/modules/juce_osc/osc/juce_OSCSender.h @@ -2,7 +2,7 @@ ============================================================================== This file is part of the JUCE library. - Copyright (c) 2013 - Raw Material Software Ltd. + 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) @@ -20,7 +20,7 @@ available: visit www.juce.com for more information. ============================================================================== - */ +*/ #ifndef JUCE_OSCSENDER_H_INCLUDED #define JUCE_OSCSENDER_H_INCLUDED diff --git a/modules/juce_osc/osc/juce_OSCTimeTag.cpp b/modules/juce_osc/osc/juce_OSCTimeTag.cpp index 5a56de96b5..81b8369d00 100644 --- a/modules/juce_osc/osc/juce_OSCTimeTag.cpp +++ b/modules/juce_osc/osc/juce_OSCTimeTag.cpp @@ -2,7 +2,7 @@ ============================================================================== This file is part of the JUCE library. - Copyright (c) 2013 - Raw Material Software Ltd. + 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) diff --git a/modules/juce_osc/osc/juce_OSCTimeTag.h b/modules/juce_osc/osc/juce_OSCTimeTag.h index 21998fd3c5..9750781db9 100644 --- a/modules/juce_osc/osc/juce_OSCTimeTag.h +++ b/modules/juce_osc/osc/juce_OSCTimeTag.h @@ -2,7 +2,7 @@ ============================================================================== This file is part of the JUCE library. - Copyright (c) 2013 - Raw Material Software Ltd. + 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) @@ -20,7 +20,7 @@ available: visit www.juce.com for more information. ============================================================================== - */ +*/ #ifndef JUCE_OSCTIMETAG_H_INCLUDED #define JUCE_OSCTIMETAG_H_INCLUDED diff --git a/modules/juce_osc/osc/juce_OSCTypes.cpp b/modules/juce_osc/osc/juce_OSCTypes.cpp index d9ae5bc960..1120252660 100644 --- a/modules/juce_osc/osc/juce_OSCTypes.cpp +++ b/modules/juce_osc/osc/juce_OSCTypes.cpp @@ -2,7 +2,7 @@ ============================================================================== This file is part of the JUCE library. - Copyright (c) 2013 - Raw Material Software Ltd. + 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) diff --git a/modules/juce_osc/osc/juce_OSCTypes.h b/modules/juce_osc/osc/juce_OSCTypes.h index 46a7239e03..fc8f64ff77 100644 --- a/modules/juce_osc/osc/juce_OSCTypes.h +++ b/modules/juce_osc/osc/juce_OSCTypes.h @@ -2,7 +2,7 @@ ============================================================================== This file is part of the JUCE library. - Copyright (c) 2013 - Raw Material Software Ltd. + 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) diff --git a/modules/juce_tracktion_marketplace/juce_module_info b/modules/juce_tracktion_marketplace/juce_module_info deleted file mode 100644 index 91729d62c2..0000000000 --- a/modules/juce_tracktion_marketplace/juce_module_info +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id": "juce_tracktion_marketplace", - "name": "JUCE Tracktion marketplace support", - "version": "4.1.0", - "description": "JUCE classes for online product authentication via the Tracktion marketplace.", - "website": "http://www.juce.com/juce", - "license": "GPL/Commercial", - - "dependencies": [ { "id": "juce_data_structures", "version": "matching" }, - { "id": "juce_cryptography", "version": "matching" } ], - - "include": "juce_tracktion_marketplace.h", - - "compile": [ { "file": "juce_tracktion_marketplace.cpp" } ], - - "browse": [ "marketplace/*" ] - -} diff --git a/modules/juce_tracktion_marketplace/juce_tracktion_marketplace.h b/modules/juce_tracktion_marketplace/juce_tracktion_marketplace.h index 4c2621864f..1bfb469170 100644 --- a/modules/juce_tracktion_marketplace/juce_tracktion_marketplace.h +++ b/modules/juce_tracktion_marketplace/juce_tracktion_marketplace.h @@ -22,6 +22,30 @@ ============================================================================== */ +/******************************************************************************* + The block below describes the properties of this module, and is read by + the Projucer to automatically generate project code that uses it. + For details about the syntax and how to create or use a module, see the + JUCE Module Format.txt file. + + + BEGIN_JUCE_MODULE_DECLARATION + + ID: juce_tracktion_marketplace + vendor: juce + version: 4.2.0 + name: JUCE Tracktion marketplace support + description: Classes for online product authentication via the Tracktion marketplace. + website: http://www.juce.com/juce + license: GPL/Commercial + + dependencies: juce_data_structures juce_cryptography + + END_JUCE_MODULE_DECLARATION + +*******************************************************************************/ + + #ifndef JUCE_TRACKTION_MARKETPLACE_H_INCLUDED #define JUCE_TRACKTION_MARKETPLACE_H_INCLUDED @@ -37,11 +61,11 @@ */ //============================================================================== -#include "../juce_cryptography/juce_cryptography.h" -#include "../juce_data_structures/juce_data_structures.h" +#include +#include #if JUCE_MODULE_AVAILABLE_juce_gui_extra - #include "../juce_gui_extra/juce_gui_extra.h" + #include #endif namespace juce diff --git a/modules/juce_tracktion_marketplace/marketplace/juce_OnlineUnlockStatus.cpp b/modules/juce_tracktion_marketplace/marketplace/juce_OnlineUnlockStatus.cpp index 655836cb23..739da1f653 100644 --- a/modules/juce_tracktion_marketplace/marketplace/juce_OnlineUnlockStatus.cpp +++ b/modules/juce_tracktion_marketplace/marketplace/juce_OnlineUnlockStatus.cpp @@ -245,7 +245,7 @@ void OnlineUnlockStatus::MachineIDUtilities::addMACAddressesToList (StringArray& ids.add (getEncodedIDString (addresses.getReference(i).toString())); } -StringArray OnlineUnlockStatus::getLocalMachineIDs() +StringArray OnlineUnlockStatus::MachineIDUtilities::getLocalMachineIDs() { StringArray ids; @@ -265,6 +265,11 @@ StringArray OnlineUnlockStatus::getLocalMachineIDs() return ids; } +StringArray OnlineUnlockStatus::getLocalMachineIDs() +{ + return MachineIDUtilities::getLocalMachineIDs(); +} + void OnlineUnlockStatus::setUserEmail (const String& usernameOrEmail) { status.setProperty (userNameProp, usernameOrEmail, nullptr); @@ -310,7 +315,8 @@ static bool canConnectToWebsite (const URL& url) static bool areMajorWebsitesAvailable() { - const char* urlsToTry[] = { "http://google.com", "http://bing.com", "http://amazon.com", nullptr}; + const char* urlsToTry[] = { "http://google.com", "http://bing.com", "http://amazon.com", + "https://google.com", "https://bing.com", "https://amazon.com", nullptr}; for (const char** url = urlsToTry; *url != nullptr; ++url) if (canConnectToWebsite (URL (*url))) diff --git a/modules/juce_tracktion_marketplace/marketplace/juce_OnlineUnlockStatus.h b/modules/juce_tracktion_marketplace/marketplace/juce_OnlineUnlockStatus.h index c991df77ed..2bf8193642 100644 --- a/modules/juce_tracktion_marketplace/marketplace/juce_OnlineUnlockStatus.h +++ b/modules/juce_tracktion_marketplace/marketplace/juce_OnlineUnlockStatus.h @@ -106,21 +106,9 @@ public: machine, this list of tokens is compared to the ones that were stored on the webserver. - The default implementation of this method will calculate some - machine IDs based on things like network MAC addresses, hard-disk - IDs, etc, but if you want, you can overload it to generate your - own list of IDs. - - The IDs that are returned should be short alphanumeric strings - without any punctuation characters. Since users may need to type - them, case is ignored when comparing them. - - Note that the first item in the list is considered to be the - "main" ID, and this will be the one that is displayed to the user - and registered with the marketplace webserver. Subsequent IDs are - just used as fallback to avoid false negatives when checking for - registration on machines which have had hardware added/removed - since the product was first registered. + The default implementation of this method will simply call + MachineIDUtilities::getLocalMachineIDs(), which provides a default + version of this functionality. */ virtual StringArray getLocalMachineIDs(); @@ -230,6 +218,23 @@ public: This adds some ID strings to the given array which represent each MAC address of the machine. */ static void addMACAddressesToList (StringArray& result); + + /** This method calculates some machine IDs based on things like network + MAC addresses, hard-disk IDs, etc, but if you want, you can overload + it to generate your own list of IDs. + + The IDs that are returned should be short alphanumeric strings + without any punctuation characters. Since users may need to type + them, case is ignored when comparing them. + + Note that the first item in the list is considered to be the + "main" ID, and this will be the one that is displayed to the user + and registered with the marketplace webserver. Subsequent IDs are + just used as fallback to avoid false negatives when checking for + registration on machines which have had hardware added/removed + since the product was first registered. + */ + static StringArray getLocalMachineIDs(); }; private: diff --git a/modules/juce_tracktion_marketplace/marketplace/juce_TracktionMarketplaceStatus.h b/modules/juce_tracktion_marketplace/marketplace/juce_TracktionMarketplaceStatus.h index daa739e7dc..24e8875a9a 100644 --- a/modules/juce_tracktion_marketplace/marketplace/juce_TracktionMarketplaceStatus.h +++ b/modules/juce_tracktion_marketplace/marketplace/juce_TracktionMarketplaceStatus.h @@ -22,7 +22,6 @@ ============================================================================== */ - /** An implementation of the OnlineUnlockStatus class which talks to the Tracktion Marketplace server. diff --git a/modules/juce_video/juce_module_info b/modules/juce_video/juce_module_info deleted file mode 100644 index 45009ce8f9..0000000000 --- a/modules/juce_video/juce_module_info +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id": "juce_video", - "name": "JUCE video playback and capture classes", - "version": "4.1.0", - "description": "Classes for playing video and capturing camera input.", - "website": "http://www.juce.com/juce", - "license": "GPL/Commercial", - - "dependencies": [ { "id": "juce_gui_extra", "version": "matching" } ], - - "include": "juce_video.h", - - "compile": [ { "file": "juce_video.cpp", "target": "! xcode" }, - { "file": "juce_video.mm", "target": "xcode" } ], - - "browse": [ "playback/*", - "capture/*", - "native/*" ], - - "OSXFrameworks": "QTKit QuickTime" -} diff --git a/modules/juce_video/juce_video.cpp b/modules/juce_video/juce_video.cpp index 2dcf036216..ca5b01da5e 100644 --- a/modules/juce_video/juce_video.cpp +++ b/modules/juce_video/juce_video.cpp @@ -35,7 +35,6 @@ #define JUCE_CORE_INCLUDE_COM_SMART_PTR 1 #define JUCE_CORE_INCLUDE_NATIVE_HEADERS 1 -#include "../juce_gui_extra/juce_gui_extra.h" #include "juce_video.h" #if JUCE_MAC diff --git a/modules/juce_video/juce_video.h b/modules/juce_video/juce_video.h index cd6997b792..1b503d8e92 100644 --- a/modules/juce_video/juce_video.h +++ b/modules/juce_video/juce_video.h @@ -22,11 +22,37 @@ ============================================================================== */ + +/******************************************************************************* + The block below describes the properties of this module, and is read by + the Projucer to automatically generate project code that uses it. + For details about the syntax and how to create or use a module, see the + JUCE Module Format.txt file. + + + BEGIN_JUCE_MODULE_DECLARATION + + ID: juce_video + vendor: juce + version: 4.2.0 + name: JUCE video playback and capture classes + description: Classes for playing video and capturing camera input. + website: http://www.juce.com/juce + license: GPL/Commercial + + dependencies: juce_data_structures juce_cryptography + OSXFrameworks: QTKit QuickTime + + END_JUCE_MODULE_DECLARATION + +*******************************************************************************/ + + #ifndef JUCE_VIDEO_H_INCLUDED #define JUCE_VIDEO_H_INCLUDED //============================================================================== -#include "../juce_gui_extra/juce_gui_extra.h" +#include //============================================================================== /** Config: JUCE_DIRECTSHOW